From 3d26e67d6f5b73d07ff1527e61e2dcfbadbfc2a4 Mon Sep 17 00:00:00 2001 From: bgermann Date: Wed, 15 Oct 2014 22:51:20 +0000 Subject: [PATCH] tag version 10.4 git-svn-id: https://plugins.svn.wordpress.org/cforms2/tags/10.4@1008191 b8457f37-d9ea-0310-8a92-e5e31aec5664 --- ____HISTORY.txt | 64 +- ____INSTALL_UPDATE_NOTE.txt | 57 +- ____LICENSE_CREDITS.txt | 18 +- .../____LANGUAGE-SUPPORT.txt | 0 .../cforms.pot | 1827 +++++++++-------- cforms-admin.css | 25 +- cforms-database.php | 31 +- cforms-global-settings.php | 47 +- cforms-help.php | 11 +- cforms-options.php | 139 +- cforms.chk | 10 +- cforms.php | 308 +-- images/donate.png | Bin 0 -> 5472 bytes js/cforms.js | 2 +- js/cformsadmin.js | 2 +- js/include/data.tmp | 0 js/include/lib_database_dlentries.php | 202 +- js/include/lib_database_getentries.php | 13 +- js/include/lib_database_loaddata.php | 1 - js/insertdialog.php | 2 + js/insertdialog25.php | 2 + js/src/js_src.zip | Bin 139508 -> 139646 bytes lib_WPcomment.php | 23 +- lib_activate.php | 2 +- lib_ajax.php | 190 +- lib_aux.php | 367 +++- lib_dashboard.php | 1 - editor.php => lib_editor.php | 139 +- lib_functions.php | 176 +- lib_nonajax.php | 289 +-- lib_options_sub.php | 26 +- lib_validate.php | 33 +- my-functions.php | 84 +- phpmailer/cforms_phpmailer.php | 4 +- 34 files changed, 2367 insertions(+), 1728 deletions(-) rename 00_Plugin_Localization/LANGUAGE-SUPPORT.txt => ____Plugin_Localization/____LANGUAGE-SUPPORT.txt (100%) rename {00_Plugin_Localization => ____Plugin_Localization}/cforms.pot (75%) create mode 100644 images/donate.png create mode 100644 js/include/data.tmp rename editor.php => lib_editor.php (55%) diff --git a/____HISTORY.txt b/____HISTORY.txt index 907e3d2..19d01db 100644 --- a/____HISTORY.txt +++ b/____HISTORY.txt @@ -19,25 +19,73 @@ ===================================================================================== Donation Page: ===================================================================================== - http://www.deliciousdays.com/cforms-donation + http://www.deliciousdays.com/cforms-donation ===================================================================================== Version History: ===================================================================================== - v9.0 introduces a completely new method of storing its settings, - ***** please make a WP database backup first (!) ***** - and then migrate your settings (cforms will guide you!) - -WHAT's NEW in cformsII - v10.2 + v9.0+ introduces a completely new method of storing its settings, + ***** please make a WP database backup first (!) ***** + and then migrate your settings (cforms will provide guidance!) + + +WHAT's NEW in cformsII - v10.4 + +*) feature: new my_cforms_logic() features: + "adminEmailTXT" & "adminEmailHTML", "autoConfTXT" & "autoConfHTML" + to support run-time changes in the email message part(s), + e.g. {user_variable} substitution supporting custom/one-off messages +*) feature: tracking / download: revised and fixed downloads that include field headers + in several areas +*) feature: tracking / download: added optional inclusion of attachment/file URLs +*) feature: tracking / download: added optional inclusion of IP address in report +*) feature: tracking / download: completely revised the tracking download function to + accommodate very large numbers of records, make sure that js/include/data.tmp + is writable! +*) bugfix: fixed access to $subID from within my-functions.php for Ajax post method +*) bugfix: file uploads/attachments: revised, better internal handling +*) bugfix: file uploads/attachments: fixed link/URL issue for MP forms +*) bugfix: file uploads/attachments: all files are now being attached to admin email for + MP forms +*) bugfix: WP comment form: fixed email to author in non Ajax mode +*) bugfix: Fixed "extra variables" (e.g. {Title}) to display again in admin email etc. +*) bugfix: success message: fixed buggy message display ('*$#..') in special cases +*) other: Javascript Date Picker updated to latest release +*) other: admin emails: turned upper case HTML tags to lower case +*) other: admin emails: swapped LF for CRLF (according to RFC822 Section 3) + +WHAT's NEW in cformsII - v10.3 + +*) feature: RSS feed: revised and enhanced feeds (all & indivudal form feeds) + supporting inclusion of form fields in the feed +*) feature: new API function: cf_extra_comment_data( $id ) + will retrieve all extra fields per given comment ID in a data [array] + see tutorial online (troubleshooting forum) +*) feature: enhanced option to keep input field data (no reset) after submission + (both ajax & nonajax) +*) feature: cforms allows now to optionally turn off the admin email (and only track via DB) +*) feature: "redirect on success" can now be used to jump to any location on your page after + form submission +*) feature: threaded comment support for cforms' WP comment feature + note: nonAjax will work as is, for the Ajax method you need to adjust your WP theme to + work nicely with cforms (dynamically set the parent container!) +*) bugfix: multi-part forms: no more session resets / jumping to first form +*) bugfix: multi-part forms: confusion of prev. entered field values when going to previous form +*) bugfix: escaped '<' & '>' in input fields, which allows to properly send code in a form as well +*) bugfix: a few admin CSS fixed (e.g. resizable text areas) +*) other: smaller cosmetic fixes +*) other: input field default values will now remain actual values and not be cleared! + +WHAT's NEW in cformsII - v10.2 GPL compliance! -*) other: buttonsnap has been removed *) bugfix: WP comment form : fixed issues when form #1 was enabled as WP comment form replacement *) bugfix: fixed Cross-site_scripting security hole (rarely to be exploited but anyway) *) bugfix: multi-part form: fixed issue, when first form is the default form (#1) *) bugfix: multi-part form: fixed escaped quotes when going back *) bugfix: textarea fields: fixed carriage returns in HTML part of admin email +*) other: buttonsnap has been removed WHAT's NEW in cformsII - v10.1 @@ -680,7 +728,7 @@ cforms II - v5.0 *) feature: full [additional] HTML formatting support for email messages *) bugfix: BACKUP & RESTORE fixed (not all fields were backed-up prev.) -*) bugfix: "spacing between labels & data" error when number < than length(field name) +*) bugfix: "spacing between labels & data" error when number smaller than length(field name) *) bugfix: more CSS corrections *) bugfix: the use of single & double quotes fixed in FIELDSETS *) bugfix: one more single quote bug remedied in form labels diff --git a/____INSTALL_UPDATE_NOTE.txt b/____INSTALL_UPDATE_NOTE.txt index cc61eb8..75f9ccc 100644 --- a/____INSTALL_UPDATE_NOTE.txt +++ b/____INSTALL_UPDATE_NOTE.txt @@ -1,40 +1,37 @@ -Installing the plugin ---------------------- -Please upload the complete plugin folder /cforms/, contained in -this zip file, to your WP plugin directory! + ====================================================================================== + Installing the plugin: + ====================================================================================== + Please upload the complete plugin folder /cforms/, contained in this zip file, to + your WP plugin directory! -If there is no /cforms/ root folder in this zip file, please create -one in your WordPress plugins/ folder. + If there is no /cforms/ root folder in this zip file, please create one in your + WordPress plugins/ folder. + ====================================================================================== + Upgrading the plugin: + ====================================================================================== + v9.0+ introduces a completely new method of storing its settings, + ***** please make a WP database backup first (!) ***** + and then migrate your settings (cforms will provide guidance!) -!!!!! Upgrading the plugin --------------------------- -cforms v9.0+ comes with a new and cleaner method of storing all settings. -Before you upgrade and migrate your existing settings, - **** make sure you've made a backup of your current WP database! **** + Then commence with a manual upgrade, including proper plugin deactivation and + reactivation, followed by the guided data migration. -Then commence with a manual upgrade, including proper plugin deactivation -and re-activation, followed by the guided data migration. + ====================================================================================== + Did you modify any cforms theme (CSS) files, images etc? + ====================================================================================== + Create a custom folder under /plugins/ & call it "/cforms-custom/". Move all your + custom files into it. This folder will protect your changes going forward. + Also note that it is always advisable to make or keep a backup of your + current plugin directory just in case you need to revert back to a + previous release! -Did you modify any cforms theme (CSS) files, images etc? --------------------------------------------------------- -Create a custom folder under /plugins/ & call it "cforms-custom". -Move all your custom files into it, this folder will protect your -changes going forward, WP's auto update can not overwrite these. -If you update maually, please deactivate the plugin before you install -the update (replacing the current cforms dir with the new one) - -Also note that it is always advisable to make or keep a backup of your -current plugin directory just in case you need to revert back to a -previous release! - - - -Localization: -------------- -Please read: 00_Plugin_Localization/Language-Support.txt \ No newline at end of file + ====================================================================================== + Localization: + ====================================================================================== + Please see: ____Plugin_Localization/____LANGUAGE-SUPPORT.txt \ No newline at end of file diff --git a/____LICENSE_CREDITS.txt b/____LICENSE_CREDITS.txt index 3111b42..ab3771a 100644 --- a/____LICENSE_CREDITS.txt +++ b/____LICENSE_CREDITS.txt @@ -1,8 +1,8 @@ - ===================================================================================== + ====================================================================================== License: - ===================================================================================== - Copyright 2007, 2008, 2009 OLIVER SEIDEL (email : oliver.seidel @ deliciousdays.com) + ====================================================================================== + Copyright 2007, 2008, 2009 OLIVER SEIDEL (email : oliver.seidel @ deliciousdays.com) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, @@ -16,14 +16,14 @@ program. If not, see . - ===================================================================================== + ====================================================================================== Donation Page: - ===================================================================================== - http://www.deliciousdays.com/cforms-donation + ====================================================================================== + http://www.deliciousdays.com/cforms-donation - ===================================================================================== + ====================================================================================== Link Love / Credits line under the form: - ===================================================================================== + ====================================================================================== I believe in good karma, so I leave it up to you to either leave the link love - active & in place or hide it. \ No newline at end of file + active / in place or hide it. Thanks for the consideration. \ No newline at end of file diff --git a/00_Plugin_Localization/LANGUAGE-SUPPORT.txt b/____Plugin_Localization/____LANGUAGE-SUPPORT.txt similarity index 100% rename from 00_Plugin_Localization/LANGUAGE-SUPPORT.txt rename to ____Plugin_Localization/____LANGUAGE-SUPPORT.txt diff --git a/00_Plugin_Localization/cforms.pot b/____Plugin_Localization/cforms.pot similarity index 75% rename from 00_Plugin_Localization/cforms.pot rename to ____Plugin_Localization/cforms.pot index 81034b1..b9afc07 100644 --- a/00_Plugin_Localization/cforms.pot +++ b/____Plugin_Localization/cforms.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-01-26 20:06+0100\n" +"POT-Creation-Date: 2009-03-07 17:59+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -59,15 +59,15 @@ msgstr "" msgid "FIX and save data" msgstr "" -#: cforms-css.php:33 cforms-css.php:96 cforms-help.php:37 +#: cforms-css.php:33 cforms-css.php:96 cforms-help.php:44 msgid "Styling your forms" msgstr "" -#: cforms-css.php:35 lib_functions.php:304 +#: cforms-css.php:35 lib_functions.php:310 msgid "All cforms data has been erased!" msgstr "" -#: cforms-css.php:36 lib_functions.php:305 +#: cforms-css.php:36 lib_functions.php:311 msgid "" "Please go to your Plugins tab and either disable the " "plugin, or toggle its status (disable/enable) to revive cforms!" @@ -98,24 +98,24 @@ msgid "" msgstr "" #: cforms-css.php:104 cforms-css.php:221 cforms-global-settings.php:246 -#: cforms-global-settings.php:332 cforms-global-settings.php:348 -#: cforms-global-settings.php:408 cforms-global-settings.php:495 -#: cforms-global-settings.php:551 cforms-global-settings.php:572 -#: cforms-global-settings.php:698 cforms-global-settings.php:738 -#: cforms-global-settings.php:794 cforms-global-settings.php:811 -#: cforms-help.php:42 cforms-help.php:64 cforms-help.php:82 -#: cforms-help.php:113 cforms-help.php:143 cforms-help.php:178 -#: cforms-help.php:212 cforms-help.php:252 cforms-help.php:292 -#: cforms-help.php:328 cforms-help.php:369 cforms-help.php:400 -#: cforms-help.php:428 cforms-help.php:457 cforms-help.php:493 -#: cforms-help.php:528 cforms-help.php:554 cforms-help.php:675 -#: cforms-help.php:758 cforms-help.php:802 cforms-help.php:871 -#: cforms-help.php:909 cforms-help.php:990 cforms-help.php:1132 -#: cforms-help.php:1350 cforms-help.php:1415 cforms-help.php:1425 -#: cforms-options.php:429 cforms-options.php:477 cforms-options.php:555 -#: cforms-options.php:728 cforms-options.php:780 cforms-options.php:797 -#: cforms-options.php:848 cforms-options.php:917 cforms-options.php:960 -#: cforms-options.php:993 +#: cforms-global-settings.php:331 cforms-global-settings.php:347 +#: cforms-global-settings.php:407 cforms-global-settings.php:494 +#: cforms-global-settings.php:550 cforms-global-settings.php:571 +#: cforms-global-settings.php:697 cforms-global-settings.php:737 +#: cforms-global-settings.php:797 cforms-global-settings.php:814 +#: cforms-help.php:49 cforms-help.php:71 cforms-help.php:89 +#: cforms-help.php:120 cforms-help.php:150 cforms-help.php:185 +#: cforms-help.php:219 cforms-help.php:259 cforms-help.php:299 +#: cforms-help.php:335 cforms-help.php:376 cforms-help.php:407 +#: cforms-help.php:435 cforms-help.php:464 cforms-help.php:500 +#: cforms-help.php:535 cforms-help.php:561 cforms-help.php:682 +#: cforms-help.php:765 cforms-help.php:809 cforms-help.php:878 +#: cforms-help.php:916 cforms-help.php:997 cforms-help.php:1139 +#: cforms-help.php:1357 cforms-help.php:1422 cforms-help.php:1432 +#: cforms-options.php:433 cforms-options.php:481 cforms-options.php:559 +#: cforms-options.php:761 cforms-options.php:813 cforms-options.php:830 +#: cforms-options.php:881 cforms-options.php:950 cforms-options.php:993 +#: cforms-options.php:1026 msgid "top" msgstr "" @@ -137,7 +137,7 @@ msgstr "" msgid "custom css files" msgstr "" -#: cforms-css.php:146 cforms-global-settings.php:848 +#: cforms-css.php:146 cforms-global-settings.php:851 msgid "cform css files" msgstr "" @@ -184,7 +184,7 @@ msgstr "" msgid "Theme is disabled" msgstr "" -#: cforms-css.php:190 cforms-help.php:1421 +#: cforms-css.php:190 cforms-help.php:1428 #, php-format msgid "" "You might also want to study the PDF guide on cforms CSS " @@ -236,19 +236,19 @@ msgid "" "strong>: Fields with a grey background can be clicked on and edited!" msgstr "" -#: cforms-database.php:51 cforms-database.php:63 cforms-options.php:214 +#: cforms-database.php:51 cforms-database.php:64 cforms-options.php:214 msgid "Form Name" msgstr "" -#: cforms-database.php:52 cforms-database.php:64 +#: cforms-database.php:52 cforms-database.php:65 msgid "e-mail Address" msgstr "" -#: cforms-database.php:53 cforms-database.php:65 +#: cforms-database.php:53 cforms-database.php:66 msgid "Date" msgstr "" -#: cforms-database.php:54 cforms-database.php:66 +#: cforms-database.php:54 cforms-database.php:67 msgid "IP" msgstr "" @@ -264,59 +264,82 @@ msgstr "" msgid "Download records" msgstr "" -#: cforms-database.php:71 -msgid "Form Submissions" +#: cforms-database.php:63 +msgid "# Number(s)" msgstr "" #: cforms-database.php:72 -msgid "Connection Error" +msgid "Form Submissions" msgstr "" #: cforms-database.php:73 -msgid "Displaying {from} to {to} of {total} items" +msgid "Connection Error" msgstr "" #: cforms-database.php:74 -msgid "Processing, please wait ..." +msgid "Displaying {from} to {to} of {total} items" msgstr "" #: cforms-database.php:75 -msgid "No items" +msgid "Processing, please wait ..." msgstr "" #: cforms-database.php:76 +msgid "No items" +msgstr "" + +#: cforms-database.php:77 msgid "Page {%1} of" msgstr "" -#: cforms-database.php:103 cforms-database.php:112 +#: cforms-database.php:107 cforms-database.php:116 msgid "Please Confirm" msgstr "" -#: cforms-database.php:106 +#: cforms-database.php:110 msgid "Are you sure you want to delete the record(s)?" msgstr "" -#: cforms-database.php:107 cforms-database.php:124 cforms-options.php:1031 +#: cforms-database.php:111 cforms-database.php:135 cforms-options.php:1064 msgid "Install" msgstr "" -#: cforms-database.php:107 cforms-database.php:124 cforms-options.php:1023 -#: cforms-options.php:1031 +#: cforms-database.php:111 cforms-database.php:135 cforms-options.php:1056 +#: cforms-options.php:1064 msgid "OK" msgstr "" -#: cforms-database.php:107 cforms-database.php:124 cforms-options.php:1023 -#: cforms-options.php:1031 editor.php:165 js\insertdialog.php:78 -#: js\insertdialog25.php:80 +#: cforms-database.php:111 cforms-database.php:135 cforms-options.php:1056 +#: cforms-options.php:1064 lib_editor.php:172 js\insertdialog.php:80 +#: js\insertdialog25.php:82 msgid "Cancel" msgstr "" -#: cforms-database.php:120 +#: cforms-database.php:125 msgid "Please pick a format!" msgstr "" -#: cforms-database.php:122 -msgid "Include field names/header." +#: cforms-database.php:127 +msgid "Include field names / header" +msgstr "" + +#: cforms-database.php:128 +msgid "Include IP address of submitting user" +msgstr "" + +#: cforms-database.php:129 +msgid "Add URL for upload fields" +msgstr "" + +#: cforms-database.php:132 js\include\lib_database_dlentries.php:83 +#, php-format +msgid "" +"File (data.tmp) in %s not writable! %sPlease adjust its file permissions/" +"ownership!" +msgstr "" + +#: cforms-database.php:133 +msgid "...and reload this page afterwards." msgstr "" #: cforms-global-settings.php:39 @@ -324,7 +347,7 @@ msgid "All cforms related data has been deleted." msgstr "" #: cforms-global-settings.php:42 cforms-global-settings.php:225 -#: lib_functions.php:99 +#: lib_functions.php:101 msgid "Global Settings" msgstr "" @@ -380,29 +403,29 @@ msgstr "" msgid "All settings and configuration options on this page apply to all forms." msgstr "" -#: cforms-global-settings.php:246 cforms-global-settings.php:332 -#: cforms-global-settings.php:348 cforms-global-settings.php:408 -#: cforms-global-settings.php:496 cforms-global-settings.php:551 -#: cforms-global-settings.php:572 cforms-global-settings.php:698 -#: cforms-global-settings.php:738 cforms-options.php:220 -#: cforms-options.php:429 cforms-options.php:477 cforms-options.php:555 -#: cforms-options.php:728 cforms-options.php:797 cforms-options.php:848 -#: cforms-options.php:917 cforms-options.php:960 cforms-options.php:993 +#: cforms-global-settings.php:246 cforms-global-settings.php:331 +#: cforms-global-settings.php:347 cforms-global-settings.php:407 +#: cforms-global-settings.php:495 cforms-global-settings.php:550 +#: cforms-global-settings.php:571 cforms-global-settings.php:697 +#: cforms-global-settings.php:737 cforms-options.php:220 +#: cforms-options.php:433 cforms-options.php:481 cforms-options.php:559 +#: cforms-options.php:761 cforms-options.php:830 cforms-options.php:881 +#: cforms-options.php:950 cforms-options.php:993 cforms-options.php:1026 msgid "Update Settings »" msgstr "" -#: cforms-global-settings.php:246 cforms-global-settings.php:332 -#: cforms-global-settings.php:348 cforms-global-settings.php:408 -#: cforms-global-settings.php:496 cforms-global-settings.php:551 -#: cforms-global-settings.php:572 cforms-global-settings.php:698 -#: cforms-global-settings.php:738 cforms-global-settings.php:794 -#: cforms-global-settings.php:811 cforms-help.php:42 cforms-help.php:64 -#: cforms-help.php:82 cforms-help.php:871 cforms-help.php:909 -#: cforms-help.php:990 cforms-help.php:1132 cforms-help.php:1350 -#: cforms-help.php:1415 cforms-help.php:1425 cforms-options.php:429 -#: cforms-options.php:477 cforms-options.php:555 cforms-options.php:728 -#: cforms-options.php:780 cforms-options.php:797 cforms-options.php:848 -#: cforms-options.php:917 cforms-options.php:960 cforms-options.php:993 +#: cforms-global-settings.php:246 cforms-global-settings.php:331 +#: cforms-global-settings.php:347 cforms-global-settings.php:407 +#: cforms-global-settings.php:495 cforms-global-settings.php:550 +#: cforms-global-settings.php:571 cforms-global-settings.php:697 +#: cforms-global-settings.php:737 cforms-global-settings.php:797 +#: cforms-global-settings.php:814 cforms-help.php:49 cforms-help.php:71 +#: cforms-help.php:89 cforms-help.php:878 cforms-help.php:916 +#: cforms-help.php:997 cforms-help.php:1139 cforms-help.php:1357 +#: cforms-help.php:1422 cforms-help.php:1432 cforms-options.php:433 +#: cforms-options.php:481 cforms-options.php:559 cforms-options.php:761 +#: cforms-options.php:813 cforms-options.php:830 cforms-options.php:881 +#: cforms-options.php:950 cforms-options.php:993 cforms-options.php:1026 msgid "Expand/Collapse" msgstr "" @@ -430,9 +453,9 @@ msgstr "" msgid "Parent Comment Container" msgstr "" -#: cforms-global-settings.php:269 cforms-global-settings.php:356 -#: cforms-global-settings.php:430 cforms-global-settings.php:711 -#: cforms-global-settings.php:746 +#: cforms-global-settings.php:269 cforms-global-settings.php:355 +#: cforms-global-settings.php:429 cforms-global-settings.php:710 +#: cforms-global-settings.php:745 msgid "Note »" msgstr "" @@ -442,7 +465,7 @@ msgid "" ">all comments, for example:" msgstr "" -#: cforms-global-settings.php:280 cforms-global-settings.php:293 +#: cforms-global-settings.php:280 cforms-global-settings.php:292 msgid "Comment in moderation" msgstr "" @@ -458,67 +481,67 @@ msgstr "" msgid "Default Template »" msgstr "" -#: cforms-global-settings.php:294 +#: cforms-global-settings.php:293 msgid "New comment ID" msgstr "" -#: cforms-global-settings.php:295 +#: cforms-global-settings.php:294 msgid "Comment Text" msgstr "" -#: cforms-global-settings.php:296 cforms-help.php:687 cforms-help.php:1031 -#: cforms-options.php:349 +#: cforms-global-settings.php:295 cforms-help.php:694 cforms-help.php:1038 +#: cforms-options.php:353 msgid "Comment Author" msgstr "" -#: cforms-global-settings.php:297 +#: cforms-global-settings.php:296 msgid "The author's website" msgstr "" -#: cforms-global-settings.php:298 +#: cforms-global-settings.php:297 msgid "Current date." msgstr "" -#: cforms-global-settings.php:299 +#: cforms-global-settings.php:298 msgid "Current time." msgstr "" -#: cforms-global-settings.php:300 +#: cforms-global-settings.php:299 msgid "User avatar." msgstr "" -#: cforms-global-settings.php:319 +#: cforms-global-settings.php:318 msgid "Avatar Settings" msgstr "" -#: cforms-global-settings.php:323 +#: cforms-global-settings.php:322 msgid "Size (in pixel)" msgstr "" -#: cforms-global-settings.php:332 +#: cforms-global-settings.php:331 msgid "Include cforms header data only on specific pages" msgstr "" -#: cforms-global-settings.php:335 +#: cforms-global-settings.php:334 msgid "" "Specify the ID(s) of pages or posts separated by comma on " "which you'd like to show cforms. The cforms header will only be included " "specifically on those pages, helping to maintain all other pages neat." msgstr "" -#: cforms-global-settings.php:339 +#: cforms-global-settings.php:338 msgid "Page/Post ID(s)" msgstr "" -#: cforms-global-settings.php:340 +#: cforms-global-settings.php:339 msgid "Leave empty to enable for your entire blog" msgstr "" -#: cforms-global-settings.php:348 +#: cforms-global-settings.php:347 msgid "Popup Date Picker" msgstr "" -#: cforms-global-settings.php:351 +#: cforms-global-settings.php:350 #, php-format msgid "" "If you'd like to offer a Javascript based date picker for more convenient " @@ -527,167 +550,167 @@ msgid "" "for more info and date formats." msgstr "" -#: cforms-global-settings.php:356 +#: cforms-global-settings.php:355 msgid "Enable Javascript date picker" msgstr "" -#: cforms-global-settings.php:358 +#: cforms-global-settings.php:357 msgid "" "Note that turning on this feature will result in loading an additional " "Javascript file to support the date picker." msgstr "" -#: cforms-global-settings.php:361 +#: cforms-global-settings.php:360 msgid "Date Format" msgstr "" -#: cforms-global-settings.php:365 +#: cforms-global-settings.php:364 msgid "Days (Columns)" msgstr "" -#: cforms-global-settings.php:369 +#: cforms-global-settings.php:368 msgid "Months" msgstr "" -#: cforms-global-settings.php:374 lib_activate.php:145 +#: cforms-global-settings.php:373 lib_activate.php:145 msgid "Previous Year" msgstr "" -#: cforms-global-settings.php:378 lib_activate.php:146 +#: cforms-global-settings.php:377 lib_activate.php:146 msgid "Previous Month" msgstr "" -#: cforms-global-settings.php:382 lib_activate.php:147 +#: cforms-global-settings.php:381 lib_activate.php:147 msgid "Next Year" msgstr "" -#: cforms-global-settings.php:386 lib_activate.php:148 +#: cforms-global-settings.php:385 lib_activate.php:148 msgid "Next Month" msgstr "" -#: cforms-global-settings.php:390 lib_activate.php:149 +#: cforms-global-settings.php:389 lib_activate.php:149 msgid "Close" msgstr "" -#: cforms-global-settings.php:394 lib_activate.php:150 +#: cforms-global-settings.php:393 lib_activate.php:150 msgid "Choose Date" msgstr "" -#: cforms-global-settings.php:398 +#: cforms-global-settings.php:397 msgid "Week start day" msgstr "" -#: cforms-global-settings.php:399 +#: cforms-global-settings.php:398 msgid "0=Sunday, 1=Monday, etc." msgstr "" -#: cforms-global-settings.php:408 +#: cforms-global-settings.php:407 msgid "SMTP Server Settings" msgstr "" -#: cforms-global-settings.php:411 +#: cforms-global-settings.php:410 msgid "In a normal WP environment you do not need to configure these settings!" msgstr "" -#: cforms-global-settings.php:412 +#: cforms-global-settings.php:411 msgid "" "In case your web hosting provider doesn't support the native PHP mail" "() command feel free to configure cforms to " "utilize an external SMTP mail server to deliver the emails." msgstr "" -#: cforms-global-settings.php:421 cforms-help.php:723 cforms-help.php:828 -#: cforms-help.php:1261 +#: cforms-global-settings.php:420 cforms-help.php:730 cforms-help.php:835 +#: cforms-help.php:1268 msgid "Important:" msgstr "" -#: cforms-global-settings.php:421 +#: cforms-global-settings.php:420 msgid "" "If you require SSL / TLS make sure your webserver/PHP environment permits " "it! If in doubt, check with your web hosting company regarding " "openssl support." msgstr "" -#: cforms-global-settings.php:422 lib_options_err.php:76 +#: cforms-global-settings.php:421 lib_options_err.php:76 msgid "Remove Message" msgstr "" -#: cforms-global-settings.php:430 +#: cforms-global-settings.php:429 msgid "Enable an external SMTP server" msgstr "" -#: cforms-global-settings.php:432 +#: cforms-global-settings.php:431 msgid "" "To avoid additional sources of error, cformsII v6.4 and beyond includes the " "PHPmailer 2.0 scripts, now supporting both SSL and TLS for authentication." msgstr "" -#: cforms-global-settings.php:435 +#: cforms-global-settings.php:434 msgid "SMTP server address" msgstr "" -#: cforms-global-settings.php:439 +#: cforms-global-settings.php:438 msgid "Secure Connection" msgstr "" -#: cforms-global-settings.php:441 +#: cforms-global-settings.php:440 msgid "No" msgstr "" -#: cforms-global-settings.php:442 +#: cforms-global-settings.php:441 msgid "SSL (e.g. gmail)" msgstr "" -#: cforms-global-settings.php:443 +#: cforms-global-settings.php:442 msgid "TLS" msgstr "" -#: cforms-global-settings.php:447 +#: cforms-global-settings.php:446 msgid "Port" msgstr "" -#: cforms-global-settings.php:448 +#: cforms-global-settings.php:447 msgid "Usually 465 (e.g. gmail) or 587" msgstr "" -#: cforms-global-settings.php:452 +#: cforms-global-settings.php:451 msgid "SMTP Authentication (leave blank if not needed!):" msgstr "" -#: cforms-global-settings.php:455 +#: cforms-global-settings.php:454 msgid "Username" msgstr "" -#: cforms-global-settings.php:459 +#: cforms-global-settings.php:458 msgid "Password" msgstr "" -#: cforms-global-settings.php:467 +#: cforms-global-settings.php:466 msgid "POP before SMTP" msgstr "" -#: cforms-global-settings.php:472 +#: cforms-global-settings.php:471 msgid "POP server address" msgstr "" -#: cforms-global-settings.php:476 +#: cforms-global-settings.php:475 msgid "POP Port" msgstr "" -#: cforms-global-settings.php:480 +#: cforms-global-settings.php:479 msgid "POP Login" msgstr "" -#: cforms-global-settings.php:484 +#: cforms-global-settings.php:483 msgid "POP Password" msgstr "" -#: cforms-global-settings.php:496 +#: cforms-global-settings.php:495 msgid "Global File Upload Settings" msgstr "" -#: cforms-global-settings.php:500 cforms-options.php:433 +#: cforms-global-settings.php:499 cforms-options.php:437 #, php-format msgid "" "Configure and double-check these settings in case you are adding a " @@ -695,76 +718,76 @@ msgid "" "s>Help! for further information)." msgstr "" -#: cforms-global-settings.php:501 +#: cforms-global-settings.php:500 #, php-format msgid "" "Form specific settings (directory path etc.) have been moved to here." msgstr "" -#: cforms-global-settings.php:505 +#: cforms-global-settings.php:504 msgid "" "Also, note that by adding a File Upload Box to your form, the Ajax " "(if enabled) submission method will (automatically) gracefully " "degrade to the standard method, due to general HTML limitations." msgstr "" -#: cforms-global-settings.php:506 +#: cforms-global-settings.php:505 msgid "Below, error messages shown in case something goes awry:" msgstr "" -#: cforms-global-settings.php:511 +#: cforms-global-settings.php:510 msgid "File type not allowed" msgstr "" -#: cforms-global-settings.php:518 +#: cforms-global-settings.php:517 msgid "Generic (unknown) error" msgstr "" -#: cforms-global-settings.php:525 +#: cforms-global-settings.php:524 msgid "File is empty" msgstr "" -#: cforms-global-settings.php:532 +#: cforms-global-settings.php:531 msgid "File size too big" msgstr "" -#: cforms-global-settings.php:539 +#: cforms-global-settings.php:538 msgid "Error during upload" msgstr "" -#: cforms-global-settings.php:551 +#: cforms-global-settings.php:550 msgid "WP Editor Button support" msgstr "" -#: cforms-global-settings.php:554 +#: cforms-global-settings.php:553 msgid "" "If you would like to use editor buttons to insert your cforms please enable " "them below." msgstr "" -#: cforms-global-settings.php:559 +#: cforms-global-settings.php:558 msgid "Enable TinyMCE" msgstr "" -#: cforms-global-settings.php:559 +#: cforms-global-settings.php:558 msgid "& Code editor buttons" msgstr "" -#: cforms-global-settings.php:563 +#: cforms-global-settings.php:562 msgid "Fix TinyMCE error" msgstr "" -#: cforms-global-settings.php:564 +#: cforms-global-settings.php:563 msgid "" "Select in case you experience a TinyMCE editor error caused by other plugins." msgstr "" -#: cforms-global-settings.php:572 +#: cforms-global-settings.php:571 msgid "CAPTCHA Image Settings" msgstr "" -#: cforms-global-settings.php:575 +#: cforms-global-settings.php:574 msgid "" "Below you can find a few switches and options to change the default look of " "the captcha image. Feel free to upload your own backgrounds and fonts to the " @@ -773,91 +796,91 @@ msgid "" "code> )." msgstr "" -#: cforms-global-settings.php:614 +#: cforms-global-settings.php:613 msgid "Preview Image" msgstr "" -#: cforms-global-settings.php:614 +#: cforms-global-settings.php:613 msgid "Don't forget to save your changes!" msgstr "" -#: cforms-global-settings.php:616 +#: cforms-global-settings.php:615 msgid "Reload Captcha Image" msgstr "" -#: cforms-global-settings.php:621 cforms-global-settings.php:705 +#: cforms-global-settings.php:620 cforms-global-settings.php:704 msgid "Force display" msgstr "" -#: cforms-global-settings.php:622 +#: cforms-global-settings.php:621 msgid "Force CAPTCHA display for logged in users" msgstr "" -#: cforms-global-settings.php:626 +#: cforms-global-settings.php:625 msgid "Width" msgstr "" -#: cforms-global-settings.php:629 +#: cforms-global-settings.php:628 msgid "Height" msgstr "" -#: cforms-global-settings.php:633 +#: cforms-global-settings.php:632 msgid "Border Color" msgstr "" -#: cforms-global-settings.php:639 +#: cforms-global-settings.php:638 msgid "Background Image" msgstr "" -#: cforms-global-settings.php:646 +#: cforms-global-settings.php:645 msgid "Font Type" msgstr "" -#: cforms-global-settings.php:652 +#: cforms-global-settings.php:651 msgid "Min Size" msgstr "" -#: cforms-global-settings.php:655 +#: cforms-global-settings.php:654 msgid "Max Size" msgstr "" -#: cforms-global-settings.php:659 +#: cforms-global-settings.php:658 msgid "Min Angle" msgstr "" -#: cforms-global-settings.php:662 +#: cforms-global-settings.php:661 msgid "Max Angle" msgstr "" -#: cforms-global-settings.php:666 +#: cforms-global-settings.php:665 msgid "Color" msgstr "" -#: cforms-global-settings.php:674 +#: cforms-global-settings.php:673 msgid "Number of shown characters" msgstr "" -#: cforms-global-settings.php:677 +#: cforms-global-settings.php:676 msgid "Minimum" msgstr "" -#: cforms-global-settings.php:680 +#: cforms-global-settings.php:679 msgid "Maximum" msgstr "" -#: cforms-global-settings.php:684 +#: cforms-global-settings.php:683 msgid "Allowed characters" msgstr "" -#: cforms-global-settings.php:689 +#: cforms-global-settings.php:688 msgid "User response is treated case insensitive" msgstr "" -#: cforms-global-settings.php:698 +#: cforms-global-settings.php:697 msgid "Visitor Verification Settings (Q&A)" msgstr "" -#: cforms-global-settings.php:701 +#: cforms-global-settings.php:700 msgid "" "Getting a lot of SPAM? Use these Q&A's to counteract " "spam and ensure it's a human submitting the form. To use in your form, add " @@ -865,17 +888,17 @@ msgid "" "preferably in its own FIELDSET!" msgstr "" -#: cforms-global-settings.php:706 +#: cforms-global-settings.php:705 msgid "Force Q&A display for logged in users" msgstr "" -#: cforms-global-settings.php:714 +#: cforms-global-settings.php:713 msgid "" "The below error/failure message is also used for captcha " "verification!" msgstr "" -#: cforms-global-settings.php:715 +#: cforms-global-settings.php:714 #, php-format msgid "" "Depending on your personal preferences and level of SPAM security you intend " @@ -883,26 +906,26 @@ msgid "" "a>!" msgstr "" -#: cforms-global-settings.php:719 +#: cforms-global-settings.php:718 msgid "Failure message
(for a wrong answer)" msgstr "" -#: cforms-global-settings.php:728 +#: cforms-global-settings.php:727 msgid "Questions & Answers
format: Q=A" msgstr "" -#: cforms-global-settings.php:738 +#: cforms-global-settings.php:737 msgid "Database Input Tracking" msgstr "" -#: cforms-global-settings.php:741 +#: cforms-global-settings.php:740 msgid "" "If you like to track your form submissions also via the database, please " "enable this feature below. If required, two new tables will be created and " "you'll see a new sub tab \"Tracking\" under the cforms menu." msgstr "" -#: cforms-global-settings.php:748 +#: cforms-global-settings.php:747 #, php-format msgid "" "If you've enabled the auto confirmation message " @@ -911,138 +934,138 @@ msgid "" "form tracking ID by using the variable {ID}." msgstr "" -#: cforms-global-settings.php:751 +#: cforms-global-settings.php:750 msgid "Enable Database Tracking" msgstr "" -#: cforms-global-settings.php:752 +#: cforms-global-settings.php:751 msgid "Will create two new tables in your WP database." msgstr "" -#: cforms-global-settings.php:756 +#: cforms-global-settings.php:755 msgid "Show on dashboard" msgstr "" -#: cforms-global-settings.php:757 +#: cforms-global-settings.php:756 msgid "Make sure to enable your forms individually as well!" msgstr "" -#: cforms-global-settings.php:761 +#: cforms-global-settings.php:760 msgid "Enable global RSS" msgstr "" -#: cforms-global-settings.php:762 +#: cforms-global-settings.php:761 msgid "Enables an RSS feed to track all new submissions across all forms." msgstr "" -#: cforms-global-settings.php:767 cforms-options.php:709 -msgid "RSS entries" +#: cforms-global-settings.php:770 cforms-options.php:722 +msgid "Number of shown RSS entries" msgstr "" -#: cforms-global-settings.php:771 cforms-options.php:713 +#: cforms-global-settings.php:774 cforms-options.php:743 msgid "RSS Feed Security Key" msgstr "" -#: cforms-global-settings.php:774 cforms-options.php:716 +#: cforms-global-settings.php:777 cforms-options.php:746 msgid "Reset RSS Key" msgstr "" -#: cforms-global-settings.php:775 cforms-options.php:717 +#: cforms-global-settings.php:778 cforms-options.php:751 msgid "The complete RSS URL »" msgstr "" -#: cforms-global-settings.php:783 +#: cforms-global-settings.php:786 msgid "Wipe out all collected data and drop tables." msgstr "" -#: cforms-global-settings.php:784 +#: cforms-global-settings.php:787 msgid "Be careful with this one!" msgstr "" -#: cforms-global-settings.php:784 +#: cforms-global-settings.php:787 msgid "Delete cforms Tracking Tables" msgstr "" -#: cforms-global-settings.php:784 +#: cforms-global-settings.php:787 msgid "Do you really want to erase all collected data?" msgstr "" -#: cforms-global-settings.php:794 +#: cforms-global-settings.php:797 msgid "Backup All cforms Settings" msgstr "" -#: cforms-global-settings.php:797 +#: cforms-global-settings.php:800 msgid "" "Individual form configurations can be backup up on the respective form admin " "page." msgstr "" -#: cforms-global-settings.php:798 +#: cforms-global-settings.php:801 msgid "" "Restoring all settings will overwrite all form settings & global " "settings!" msgstr "" -#: cforms-global-settings.php:800 +#: cforms-global-settings.php:803 msgid "Backup all settings now!" msgstr "" -#: cforms-global-settings.php:801 +#: cforms-global-settings.php:804 msgid "Restore all settings now!" msgstr "" -#: cforms-global-settings.php:801 +#: cforms-global-settings.php:804 msgid "" "With a broken backup file, this action may erase all your settings! Do you " "want to continue?" msgstr "" -#: cforms-global-settings.php:803 +#: cforms-global-settings.php:806 msgid "For debug purposes, you can view your cforms settings array here " msgstr "" -#: cforms-global-settings.php:804 +#: cforms-global-settings.php:807 msgid "View all cforms settings" msgstr "" -#: cforms-global-settings.php:804 +#: cforms-global-settings.php:807 msgid "Debug Output" msgstr "" -#: cforms-global-settings.php:811 +#: cforms-global-settings.php:814 msgid "Uninstalling / Removing cforms" msgstr "" -#: cforms-global-settings.php:814 +#: cforms-global-settings.php:817 msgid "" "Generally, deactivating this plugin does not erase any of " "its data, if you like to quit using cforms for good, please erase all data " "before deactivating the plugin." msgstr "" -#: cforms-global-settings.php:816 +#: cforms-global-settings.php:819 msgid "" "This erases all cforms data (form & plugin settings). " "This is irrevocable! Be careful." msgstr "" -#: cforms-global-settings.php:817 +#: cforms-global-settings.php:820 msgid "Are you sure you want to do this?!" msgstr "" -#: cforms-global-settings.php:817 +#: cforms-global-settings.php:820 msgid "DELETE *ALL* CFORMS DATA" msgstr "" -#: cforms-global-settings.php:817 +#: cforms-global-settings.php:820 msgid "Do you really want to erase all of the plugin config data?" msgstr "" -#: cforms-global-settings.php:838 +#: cforms-global-settings.php:841 msgid "custom files" msgstr "" -#: cforms-global-settings.php:860 js\include\installpreset.php:67 +#: cforms-global-settings.php:863 js\include\installpreset.php:67 msgid "Not available" msgstr "" @@ -1050,109 +1073,119 @@ msgstr "" msgid "Help" msgstr "" -#: cforms-help.php:16 +#: cforms-help.php:17 msgid "" "Here you'll find plenty of examples and documentation that should help you " "configure cforms." msgstr "" -#: cforms-help.php:17 +#: cforms-help.php:18 #, php-format msgid "" "This manual/help page is also available as a %shttp://www.deliciousdays.com/" "download/cforms-manual.pdf%sPDF document%s." msgstr "" -#: cforms-help.php:19 +#: cforms-help.php:21 +msgid "" +"If cforms provides great services to you and/or your business, please " +"consider making a donation to support future development." +msgstr "" + +#: cforms-help.php:22 cforms-help.php:23 +msgid "Thank you!" +msgstr "" + +#: cforms-help.php:26 msgid "Table of Contents" msgstr "" -#: cforms-help.php:21 cforms-help.php:42 +#: cforms-help.php:28 cforms-help.php:49 msgid "Basic steps, a small guide" msgstr "" -#: cforms-help.php:22 cforms-help.php:64 +#: cforms-help.php:29 cforms-help.php:71 msgid "Inserting a form" msgstr "" -#: cforms-help.php:23 cforms-help.php:82 +#: cforms-help.php:30 cforms-help.php:89 msgid "Configuring form input fields" msgstr "" -#: cforms-help.php:25 cforms-help.php:104 +#: cforms-help.php:32 cforms-help.php:111 msgid "Special Tell A Friend input fields" msgstr "" -#: cforms-help.php:26 cforms-help.php:105 +#: cforms-help.php:33 cforms-help.php:112 msgid "Special WP Comment Feature input fields" msgstr "" -#: cforms-help.php:27 +#: cforms-help.php:34 msgid "SPAM protection: Q & A" msgstr "" -#: cforms-help.php:28 +#: cforms-help.php:35 msgid "SPAM protection: Captcha" msgstr "" -#: cforms-help.php:29 cforms-help.php:759 +#: cforms-help.php:36 cforms-help.php:766 msgid "Fieldsets" msgstr "" -#: cforms-help.php:30 cforms-help.php:803 +#: cforms-help.php:37 cforms-help.php:810 msgid "Using regular expressions with form fields" msgstr "" -#: cforms-help.php:32 cforms-help.php:871 +#: cforms-help.php:39 cforms-help.php:878 msgid "Custom error messages & input field titles" msgstr "" -#: cforms-help.php:33 cforms-help.php:909 +#: cforms-help.php:40 cforms-help.php:916 msgid "Advanced: cforms APIs & (Post-)Processing of submitted data" msgstr "" -#: cforms-help.php:34 cforms-help.php:990 +#: cforms-help.php:41 cforms-help.php:997 msgid "Advanced: Real-time creation of dynamic forms" msgstr "" -#: cforms-help.php:35 +#: cforms-help.php:42 msgid "Using variables in email subjects & messages" msgstr "" -#: cforms-help.php:36 cforms-help.php:1350 +#: cforms-help.php:43 cforms-help.php:1357 msgid "Multi page forms" msgstr "" -#: cforms-help.php:38 cforms-help.php:1425 +#: cforms-help.php:45 cforms-help.php:1432 msgid "Need more help?" msgstr "" -#: cforms-help.php:45 +#: cforms-help.php:52 msgid "" "Admittedly, cforms is not the easiest form mailer plugin " "but it may be the most flexible. The below outline should help you get " "started with the default form." msgstr "" -#: cforms-help.php:47 +#: cforms-help.php:54 #, php-format msgid "First take a look at the default form" msgstr "" -#: cforms-help.php:49 +#: cforms-help.php:56 msgid "" "Verify that it contains all the fields you need, are they in the right order" msgstr "" -#: cforms-help.php:50 +#: cforms-help.php:57 msgid "Check the field labels (field names), if needed make your adjustments" msgstr "" -#: cforms-help.php:51 +#: cforms-help.php:58 msgid "Check the flags for each field (check boxes to the right)." msgstr "" -#: cforms-help.php:52 +#: cforms-help.php:59 #, php-format msgid "" "Want to include SPAM protection? Choose between Q&Ahere." msgstr "" -#: cforms-help.php:55 +#: cforms-help.php:62 #, php-format msgid "" "Check if the email admin for your form is configured " "correctly." msgstr "" -#: cforms-help.php:56 +#: cforms-help.php:63 #, php-format msgid "" "Decide if you want the visitor to receive an auto " "confirmation message upon form submission." msgstr "" -#: cforms-help.php:57 +#: cforms-help.php:64 #, php-format msgid "" "Would you like to track form submission via the " "database?" msgstr "" -#: cforms-help.php:58 +#: cforms-help.php:65 #, php-format msgid "Add the default form to a post or page." msgstr "" -#: cforms-help.php:59 +#: cforms-help.php:66 msgid "Give it a whirl." msgstr "" -#: cforms-help.php:67 +#: cforms-help.php:74 msgid "Editing posts and pages:" msgstr "" -#: cforms-help.php:69 +#: cforms-help.php:76 msgid "TinyMCE Support" msgstr "" -#: cforms-help.php:70 +#: cforms-help.php:77 #, php-format msgid "" "If you like to do it the 'code' way, make sure to use %1s to include them in " "your Pages/Posts. With %2s being your form NAME." msgstr "" -#: cforms-help.php:71 +#: cforms-help.php:78 #, php-format msgid "" "A more elegant and safer way is to use the TinyMCE Button " "(double check if Button Support is enabled!)." msgstr "" -#: cforms-help.php:72 +#: cforms-help.php:79 #, php-format msgid "" "For backwards compatibility, the old-fashioned way is still supported: %1s " "for the first form and/or %2s for your other forms." msgstr "" -#: cforms-help.php:75 +#: cforms-help.php:82 msgid "Via PHP function call:" msgstr "" -#: cforms-help.php:76 +#: cforms-help.php:83 #, php-format msgid "" "Alternatively, you can specifically insert a form (into the sidebar for " @@ -1231,19 +1264,19 @@ msgid "" "default/first form and/or %2s for any other form." msgstr "" -#: cforms-help.php:78 cforms-help.php:402 cforms-help.php:609 -#: cforms-help.php:897 cforms-help.php:1293 cforms-help.php:1319 -#: cforms-options.php:611 cforms-options.php:772 +#: cforms-help.php:85 cforms-help.php:409 cforms-help.php:616 +#: cforms-help.php:904 cforms-help.php:1300 cforms-help.php:1326 +#: cforms-options.php:620 cforms-options.php:805 msgid "Note:" msgstr "" -#: cforms-help.php:78 +#: cforms-help.php:85 #, php-format msgid "" "\"%1s\" represents the number of the form, starting with %2s ..and so forth." msgstr "" -#: cforms-help.php:85 +#: cforms-help.php:92 #, php-format msgid "" "All supported input fields are listed below, highlighting the expected " @@ -1252,7 +1285,7 @@ msgid "" "see examples below." msgstr "" -#: cforms-help.php:87 +#: cforms-help.php:94 msgid "" "While the Field Names are usually just the label of a field (e.g. " "\"Your Name\"), they can contain additional information to support special " @@ -1260,155 +1293,155 @@ msgid "" "validation etc.)" msgstr "" -#: cforms-help.php:88 +#: cforms-help.php:95 msgid "" "A new wizard like mode allows you to configure more complex " "settings in case all the pipes \"|\" and pounds \"#\" are overwhelming." msgstr "" -#: cforms-help.php:91 +#: cforms-help.php:98 msgid "Text only elements" msgstr "" -#: cforms-help.php:92 +#: cforms-help.php:99 msgid "Javascript Date Picker input field" msgstr "" -#: cforms-help.php:93 +#: cforms-help.php:100 msgid "Single-, Password & Multi-line fields" msgstr "" -#: cforms-help.php:94 +#: cforms-help.php:101 msgid "Select / drop down box & radio buttons" msgstr "" -#: cforms-help.php:95 +#: cforms-help.php:102 msgid "Multi-select box" msgstr "" -#: cforms-help.php:96 cforms-help.php:293 cforms-help.php:1031 +#: cforms-help.php:103 cforms-help.php:300 cforms-help.php:1038 msgid "Check boxes" msgstr "" -#: cforms-help.php:97 cforms-help.php:329 +#: cforms-help.php:104 cforms-help.php:336 msgid "Check box groups" msgstr "" -#: cforms-help.php:98 +#: cforms-help.php:105 msgid "CC:me check box" msgstr "" -#: cforms-help.php:99 +#: cforms-help.php:106 msgid "Multiple recipients drop down box" msgstr "" -#: cforms-help.php:100 +#: cforms-help.php:107 msgid "Hidden fields" msgstr "" -#: cforms-help.php:101 +#: cforms-help.php:108 msgid "SPAM protection: Q&A input field" msgstr "" -#: cforms-help.php:102 +#: cforms-help.php:109 msgid "SPAM protection: Captcha input field" msgstr "" -#: cforms-help.php:103 +#: cforms-help.php:110 msgid "File attachments / upload" msgstr "" -#: cforms-help.php:112 cforms-help.php:142 cforms-help.php:177 -#: cforms-help.php:211 cforms-help.php:251 cforms-help.php:291 -#: cforms-help.php:327 cforms-help.php:368 cforms-help.php:399 -#: cforms-help.php:427 cforms-help.php:456 cforms-help.php:492 -#: cforms-help.php:527 cforms-help.php:553 cforms-help.php:674 -#: cforms-help.php:757 cforms-help.php:801 +#: cforms-help.php:119 cforms-help.php:149 cforms-help.php:184 +#: cforms-help.php:218 cforms-help.php:258 cforms-help.php:298 +#: cforms-help.php:334 cforms-help.php:375 cforms-help.php:406 +#: cforms-help.php:434 cforms-help.php:463 cforms-help.php:499 +#: cforms-help.php:534 cforms-help.php:560 cforms-help.php:681 +#: cforms-help.php:764 cforms-help.php:808 msgid "form
field" msgstr "" -#: cforms-help.php:114 +#: cforms-help.php:121 msgid "Text only elements (no input)" msgstr "" -#: cforms-help.php:119 cforms-help.php:149 cforms-help.php:184 -#: cforms-help.php:218 cforms-help.php:258 cforms-help.php:298 -#: cforms-help.php:334 cforms-help.php:375 cforms-help.php:409 -#: cforms-help.php:433 cforms-help.php:463 cforms-help.php:499 -#: cforms-help.php:534 cforms-help.php:560 cforms-help.php:696 -#: cforms-help.php:707 cforms-help.php:767 cforms-help.php:811 +#: cforms-help.php:126 cforms-help.php:156 cforms-help.php:191 +#: cforms-help.php:225 cforms-help.php:265 cforms-help.php:305 +#: cforms-help.php:341 cforms-help.php:382 cforms-help.php:416 +#: cforms-help.php:440 cforms-help.php:470 cforms-help.php:506 +#: cforms-help.php:541 cforms-help.php:567 cforms-help.php:703 +#: cforms-help.php:714 cforms-help.php:774 cforms-help.php:818 msgid "Entry format for Field Name" msgstr "" -#: cforms-help.php:119 cforms-help.php:149 cforms-help.php:184 -#: cforms-help.php:218 cforms-help.php:258 cforms-help.php:298 -#: cforms-help.php:334 cforms-help.php:375 cforms-help.php:409 -#: cforms-help.php:433 cforms-help.php:463 cforms-help.php:499 -#: cforms-help.php:534 cforms-help.php:707 cforms-help.php:767 -#: cforms-help.php:811 cforms-help.php:880 +#: cforms-help.php:126 cforms-help.php:156 cforms-help.php:191 +#: cforms-help.php:225 cforms-help.php:265 cforms-help.php:305 +#: cforms-help.php:341 cforms-help.php:382 cforms-help.php:416 +#: cforms-help.php:440 cforms-help.php:470 cforms-help.php:506 +#: cforms-help.php:541 cforms-help.php:714 cforms-help.php:774 +#: cforms-help.php:818 cforms-help.php:887 msgid "Format:" msgstr "" -#: cforms-help.php:120 +#: cforms-help.php:127 #, php-format msgid "text paragraph %1$s css class %1$s optional style" msgstr "" -#: cforms-help.php:123 cforms-help.php:126 cforms-help.php:153 -#: cforms-help.php:188 cforms-help.php:192 cforms-help.php:196 -#: cforms-help.php:222 cforms-help.php:262 cforms-help.php:266 -#: cforms-help.php:302 cforms-help.php:338 cforms-help.php:379 -#: cforms-help.php:413 cforms-help.php:437 cforms-help.php:441 -#: cforms-help.php:467 cforms-help.php:503 cforms-help.php:507 -#: cforms-help.php:538 cforms-help.php:711 cforms-help.php:771 -#: cforms-help.php:1251 +#: cforms-help.php:130 cforms-help.php:133 cforms-help.php:160 +#: cforms-help.php:195 cforms-help.php:199 cforms-help.php:203 +#: cforms-help.php:229 cforms-help.php:269 cforms-help.php:273 +#: cforms-help.php:309 cforms-help.php:345 cforms-help.php:386 +#: cforms-help.php:420 cforms-help.php:444 cforms-help.php:448 +#: cforms-help.php:474 cforms-help.php:510 cforms-help.php:514 +#: cforms-help.php:545 cforms-help.php:718 cforms-help.php:778 +#: cforms-help.php:1258 msgid "Example:" msgstr "" -#: cforms-help.php:123 +#: cforms-help.php:130 msgid "Please make sure..." msgstr "" -#: cforms-help.php:126 +#: cforms-help.php:133 #, php-format msgid "Check %s here %s for more info. %s" msgstr "" -#: cforms-help.php:129 +#: cforms-help.php:136 msgid "" "HTML: the text paragraph supports HTML. If you need actual " "<, > in your text please use the proper HTML entity." msgstr "" -#: cforms-help.php:132 +#: cforms-help.php:139 msgid "" "The above expression applies the custom class \"mytextclass\" " "AND the specific styles \"font-size:9x; font-weight:" "bold;\" to the paragraph." msgstr "" -#: cforms-help.php:135 +#: cforms-help.php:142 #, php-format msgid "" "If you specify a css class, you also need to define it in your " "current form theme file, here." msgstr "" -#: cforms-help.php:144 +#: cforms-help.php:151 msgid "Javascript Date Picker" msgstr "" -#: cforms-help.php:150 cforms-help.php:185 +#: cforms-help.php:157 cforms-help.php:192 #, php-format msgid "" "field name %1$s default value %1$s regular expression" msgstr "" -#: cforms-help.php:154 +#: cforms-help.php:161 msgid "Arrival Date" msgstr "" -#: cforms-help.php:158 +#: cforms-help.php:165 #, php-format msgid "" "The example above will set a default value of \"mm/dd/yyyy\" so " @@ -1418,108 +1451,108 @@ msgid "" "date format (\"mm/dd/yyyy\" !)" msgstr "" -#: cforms-help.php:164 +#: cforms-help.php:171 msgid "Supported Date Formats (see \"Plugin Settings\" tab)" msgstr "" -#: cforms-help.php:165 +#: cforms-help.php:172 msgid "Field" msgstr "" -#: cforms-help.php:165 +#: cforms-help.php:172 msgid "Full Form" msgstr "" -#: cforms-help.php:165 +#: cforms-help.php:172 msgid "Short Form" msgstr "" -#: cforms-help.php:166 +#: cforms-help.php:173 msgid "Year" msgstr "" -#: cforms-help.php:166 +#: cforms-help.php:173 msgid "yyyy (4 digits)" msgstr "" -#: cforms-help.php:166 +#: cforms-help.php:173 msgid "yy (2 digits)" msgstr "" -#: cforms-help.php:167 +#: cforms-help.php:174 msgid "Month" msgstr "" -#: cforms-help.php:167 +#: cforms-help.php:174 msgid "mmm (name)" msgstr "" -#: cforms-help.php:167 +#: cforms-help.php:174 msgid "mm (2 digits)" msgstr "" -#: cforms-help.php:168 +#: cforms-help.php:175 msgid "Day of Month" msgstr "" -#: cforms-help.php:168 +#: cforms-help.php:175 msgid "dd (2 digits)" msgstr "" -#: cforms-help.php:179 +#: cforms-help.php:186 msgid "Single, Password & Multi line input fields" msgstr "" -#: cforms-help.php:189 +#: cforms-help.php:196 msgid "Reference" msgstr "" -#: cforms-help.php:193 +#: cforms-help.php:200 msgid "Your <u>Full</u> Name" msgstr "" -#: cforms-help.php:197 +#: cforms-help.php:204 #, php-format msgid "We need your email address for confirmation.\"%sYour EMail" msgstr "" -#: cforms-help.php:201 +#: cforms-help.php:208 msgid "You can of course omit the default value as in Example 2." msgstr "" -#: cforms-help.php:213 +#: cforms-help.php:220 msgid "Select boxes & radio buttons" msgstr "" -#: cforms-help.php:219 cforms-help.php:259 +#: cforms-help.php:226 cforms-help.php:266 #, php-format msgid "" "field name %1$s option1 %2$s value1 %1$s option2 %2$s value2 %1$s option3..." msgstr "" -#: cforms-help.php:223 cforms-help.php:893 +#: cforms-help.php:230 cforms-help.php:900 msgid "Your age#12-18|kiddo#19 to 30|young#31 to 45#45+ |older" msgstr "" -#: cforms-help.php:227 +#: cforms-help.php:234 msgid "" "Omitting the field name will result in not showing a label to " "the left of the field." msgstr "" -#: cforms-help.php:232 +#: cforms-help.php:239 msgid "" "The option parameter determines the text displayed to the " "visitor, value what is being sent in the email." msgstr "" -#: cforms-help.php:237 +#: cforms-help.php:244 msgid "" "Is no value explicitly given, then the shown option text is " "the value sent in the email." msgstr "" -#: cforms-help.php:242 +#: cforms-help.php:249 #, php-format msgid "" "Select box marked \"Required\": Using a minus symbol %1$s " @@ -1529,83 +1562,83 @@ msgid "" "considered a valid value." msgstr "" -#: cforms-help.php:253 cforms-help.php:1034 +#: cforms-help.php:260 cforms-help.php:1041 msgid "Multi select boxes" msgstr "" -#: cforms-help.php:263 +#: cforms-help.php:270 msgid "Pick#red#blue#green#yellow#orange" msgstr "" -#: cforms-help.php:267 +#: cforms-help.php:274 msgid "" "<strong>Select</strong>#Today#Tomorrow#This Week#Next Month#Never" msgstr "" -#: cforms-help.php:271 +#: cforms-help.php:278 msgid "" "Multi select fields can be set to Required. If so and " "unless at least one option is selected the form won't validate." msgstr "" -#: cforms-help.php:276 +#: cforms-help.php:283 msgid "" "If value1,2,.. are not specified, the values delivered in the " "email default to option1,2,...." msgstr "" -#: cforms-help.php:281 +#: cforms-help.php:288 msgid "" "Examples for specific values could be the matching color codes: e.g. " "red|#ff0000" msgstr "" -#: cforms-help.php:299 cforms-help.php:376 +#: cforms-help.php:306 cforms-help.php:383 #, php-format msgid "field name left %s field name right" msgstr "" -#: cforms-help.php:303 +#: cforms-help.php:310 msgid "#please check if you'd like more information" msgstr "" -#: cforms-help.php:307 +#: cforms-help.php:314 msgid "" "You can freely choose on which side of the check box the label appears (e.g. " "#label-right-only)." msgstr "" -#: cforms-help.php:312 +#: cforms-help.php:319 msgid "" "If both left and right labels are provided, only the " "right one will be considered." msgstr "" -#: cforms-help.php:317 +#: cforms-help.php:324 msgid "" "Check boxes can be flagged \"Required\" to support special " "use cases, e.g.: when you require the visitor to confirm that he/she has " "read term & conditions, before submitting the form." msgstr "" -#: cforms-help.php:335 +#: cforms-help.php:342 #, php-format msgid "" "field name %1$s chk box1 label%2$schk box1 value %1$s chk box2 label %3$s " "chk box3..." msgstr "" -#: cforms-help.php:339 +#: cforms-help.php:346 msgid "Select Color#green|00ff00 #red|ff0000 #purple|8726ac #yellow|fff90f" msgstr "" -#: cforms-help.php:343 +#: cforms-help.php:350 msgid "" "Two # (##) in a row will force a new line! This helps to better " "structure your check box group." msgstr "" -#: cforms-help.php:348 +#: cforms-help.php:355 msgid "" "Similar to multi-select boxes (see above), Check " "box groups allow you to deploy several check boxes (with their " @@ -1613,56 +1646,56 @@ msgid "" "submitted via the form email is a single line including all checked options." msgstr "" -#: cforms-help.php:353 +#: cforms-help.php:360 #, php-format msgid "" "If no explicit value (text after the pipe symbol '%1$s') is " "specified, the provided check box label is both label & submitted value." msgstr "" -#: cforms-help.php:358 +#: cforms-help.php:365 msgid "None of the check boxes within a group can be made \"Required\"." msgstr "" -#: cforms-help.php:370 +#: cforms-help.php:377 msgid "CC: option for visitors" msgstr "" -#: cforms-help.php:380 +#: cforms-help.php:387 msgid "#please cc: me" msgstr "" -#: cforms-help.php:384 +#: cforms-help.php:391 #, php-format msgid "" "If the visitor chooses to be CC'ed, no additional auto " "confirmation email (if configured) is sent out!" msgstr "" -#: cforms-help.php:389 +#: cforms-help.php:396 msgid "Please also see check boxes above." msgstr "" -#: cforms-help.php:401 +#: cforms-help.php:408 msgid "Multiple form mail recipients" msgstr "" -#: cforms-help.php:402 +#: cforms-help.php:409 #, php-format msgid "" "This requires corresponding email addresses here!!" msgstr "" -#: cforms-help.php:410 +#: cforms-help.php:417 #, php-format msgid "field name %1$s Name1 %1$s Name2 %1$s Name3..." msgstr "" -#: cforms-help.php:414 +#: cforms-help.php:421 msgid "Send to#Joe#Pete#Hillary" msgstr "" -#: cforms-help.php:418 +#: cforms-help.php:425 #, php-format msgid "" "The order of the names (1,2,3...) provided in the input field " @@ -1670,38 +1703,38 @@ msgid "" "configured here." msgstr "" -#: cforms-help.php:429 +#: cforms-help.php:436 msgid "Hidden input fields" msgstr "" -#: cforms-help.php:434 +#: cforms-help.php:441 #, php-format msgid "field name %1$s default value" msgstr "" -#: cforms-help.php:438 +#: cforms-help.php:445 msgid "extra-data" msgstr "" -#: cforms-help.php:442 +#: cforms-help.php:449 msgid "post-data-meta" msgstr "" -#: cforms-help.php:446 +#: cforms-help.php:453 msgid "" "Hidden fields can contain fixed/preset values or {variables} which reference custom fields of posts or pages." msgstr "" -#: cforms-help.php:458 cforms-options.php:337 +#: cforms-help.php:465 cforms-options.php:341 msgid "Visitor verification (Q&A)" msgstr "" -#: cforms-help.php:464 cforms-help.php:468 +#: cforms-help.php:471 cforms-help.php:475 msgid "--" msgstr "" -#: cforms-help.php:472 +#: cforms-help.php:479 #, php-format msgid "" "No field name required, the field has no configurable label per " @@ -1709,56 +1742,56 @@ msgid "" "Answers provided here." msgstr "" -#: cforms-help.php:477 +#: cforms-help.php:484 msgid "" "It makes sense to encapsulate this field inside a FIELDSET, to do that " "simply add a New Fieldset field before this one." msgstr "" -#: cforms-help.php:482 cforms-help.php:517 +#: cforms-help.php:489 cforms-help.php:524 msgid "" "PLEASE NOTE that by default the captcha and visitor " "verification (Q&A) field are not shown for logged in " "users! This can be changed under global settings." msgstr "" -#: cforms-help.php:494 +#: cforms-help.php:501 msgid "Captcha" msgstr "" -#: cforms-help.php:500 cforms-help.php:1007 +#: cforms-help.php:507 cforms-help.php:1014 msgid "field name" msgstr "" -#: cforms-help.php:504 +#: cforms-help.php:511 msgid "Enter code" msgstr "" -#: cforms-help.php:508 +#: cforms-help.php:515 msgid "" "Spam Protection|title:We don't like spam bots|err:Please enter the CAPTCHA " "code correctly! If text is unreadable, try reloading." msgstr "" -#: cforms-help.php:512 +#: cforms-help.php:519 msgid "" "Alternatively or in addition to the above Visitor verification feature, you can have the visitor provide a captcha response." msgstr "" -#: cforms-help.php:529 +#: cforms-help.php:536 msgid "Attachments / File Upload Box" msgstr "" -#: cforms-help.php:535 +#: cforms-help.php:542 msgid "form label" msgstr "" -#: cforms-help.php:539 +#: cforms-help.php:546 msgid "Please select a file" msgstr "" -#: cforms-help.php:543 +#: cforms-help.php:550 #, php-format msgid "" "Please double-check the general settings for proper " @@ -1766,46 +1799,46 @@ msgid "" "extensions, file size etc.)." msgstr "" -#: cforms-help.php:555 +#: cforms-help.php:562 msgid "Tell a Friend input fields" msgstr "" -#: cforms-help.php:560 +#: cforms-help.php:567 msgid "Format:
of all 4 fields" msgstr "" -#: cforms-help.php:561 +#: cforms-help.php:568 #, php-format msgid "" "field name %1$s default value %1$s regular expression" msgstr "" -#: cforms-help.php:564 +#: cforms-help.php:571 msgid "Fields:" msgstr "" -#: cforms-help.php:565 cforms-help.php:1025 cforms-options.php:342 +#: cforms-help.php:572 cforms-help.php:1032 cforms-options.php:346 msgid "T-A-F * Your Name" msgstr "" -#: cforms-help.php:566 +#: cforms-help.php:573 msgid "T-A-F * Your Email (make sure it's checked 'Email')" msgstr "" -#: cforms-help.php:567 cforms-help.php:1027 cforms-help.php:1028 -#: cforms-options.php:344 +#: cforms-help.php:574 cforms-help.php:1034 cforms-help.php:1035 +#: cforms-options.php:348 msgid "T-A-F * Friend's Name" msgstr "" -#: cforms-help.php:568 +#: cforms-help.php:575 msgid "T-A-F * Friend's Email (make sure it's checked 'Email')" msgstr "" -#: cforms-help.php:573 cforms-help.php:717 +#: cforms-help.php:580 cforms-help.php:724 msgid "To get it working:" msgstr "" -#: cforms-help.php:575 +#: cforms-help.php:582 #, php-format msgid "" "The Tell A Friend feature needs to be enabled " @@ -1814,56 +1847,56 @@ msgid "" "select box." msgstr "" -#: cforms-help.php:576 +#: cforms-help.php:583 #, php-format msgid "" "The auto confirmation message will be used as a " "message template and needs to be defined. See example below." msgstr "" -#: cforms-help.php:577 +#: cforms-help.php:584 #, php-format msgid "" "There are three additional, predefined variables that can be used in the message template." msgstr "" -#: cforms-help.php:578 +#: cforms-help.php:585 msgid "" "Add the form to your post/page php templates (see " "deployment options further below)." msgstr "" -#: cforms-help.php:579 +#: cforms-help.php:586 msgid "" "Tell-A-Friend enable your posts/pages by checking the T-A-F " "field in the WP post (page) editor." msgstr "" -#: cforms-help.php:589 +#: cforms-help.php:596 #, php-format msgid "" "Here is an example of how to setup the TXT part of the auto confirmation message as a Tell-A-friend template:" msgstr "" -#: cforms-help.php:596 +#: cforms-help.php:603 msgid "Hello {Friend's Name}" msgstr "" -#: cforms-help.php:597 +#: cforms-help.php:604 msgid "{Your Name} left you this message:" msgstr "" -#: cforms-help.php:598 +#: cforms-help.php:605 msgid "{Optional Comment}" msgstr "" -#: cforms-help.php:599 +#: cforms-help.php:606 msgid "The message was sent in reference to" msgstr "" -#: cforms-help.php:603 +#: cforms-help.php:610 msgid "" "This email is sent, as a courtesy of website.com, located at http://website." "com. The person who sent this email to you, {Your Name}, gave an email " @@ -1871,23 +1904,23 @@ msgid "" "and sent the email at {Time}." msgstr "" -#: cforms-help.php:609 +#: cforms-help.php:616 msgid "" "In addition to the above TXT message you can, of course, add an HTML " "counterpart." msgstr "" -#: cforms-help.php:617 +#: cforms-help.php:624 msgid "Recommended Implementation Options:" msgstr "" -#: cforms-help.php:622 +#: cforms-help.php:629 msgid "" "Alternative 1: The actual form will not show on the WP front page, " "but in the individual post/page view." msgstr "" -#: cforms-help.php:624 +#: cforms-help.php:631 #, php-format msgid "" "Simply add a <?php insert_cform(#); ?> (# = page.php template, e.g:" msgstr "" -#: cforms-help.php:633 +#: cforms-help.php:640 msgid "" "Suggestion: For a less crowded layout, optionally add some Javascript code " "to show/hide the form." msgstr "" -#: cforms-help.php:639 +#: cforms-help.php:646 msgid "" "Alternative 2: A Tell-A-Friend link is shown under every eligible " "post/page, displayed both on the blog's front page & individual post " "& page view." msgstr "" -#: cforms-help.php:642 +#: cforms-help.php:649 msgid "" "This requires a new WP page created (make note of the page ID or permalink), " "with its own page template (a clone of page.php will do). Add the following " "code to the new page template:" msgstr "" -#: cforms-help.php:652 +#: cforms-help.php:659 msgid "" "In single.php & index.php and/or page.php add beneath " "the \"the_content()\" call the link to the new page created above, e.g.:" msgstr "" -#: cforms-help.php:664 +#: cforms-help.php:671 msgid "" "Replace [your-new-page] with the permalink " "of your newly created page." msgstr "" -#: cforms-help.php:676 +#: cforms-help.php:683 msgid "WP Comment Feature input fields" msgstr "" -#: cforms-help.php:678 +#: cforms-help.php:685 msgid "" "The beauty is, using one form, you can now offer your readers to either " "leave a comment behind or simply send a note to the post editor while being " "able to fully utilize all security aspects of cforms." msgstr "" -#: cforms-help.php:682 +#: cforms-help.php:689 msgid "Example Configuration" msgstr "" -#: cforms-help.php:686 +#: cforms-help.php:693 msgid "Special Fields:" msgstr "" -#: cforms-help.php:688 cforms-help.php:1032 cforms-options.php:350 +#: cforms-help.php:695 cforms-help.php:1039 cforms-options.php:354 msgid "Author's Email" msgstr "" -#: cforms-help.php:689 cforms-help.php:1033 cforms-options.php:351 +#: cforms-help.php:696 cforms-help.php:1040 cforms-options.php:355 msgid "Author's URL" msgstr "" -#: cforms-help.php:690 cforms-help.php:1034 cforms-options.php:352 +#: cforms-help.php:697 cforms-help.php:1041 cforms-options.php:356 msgid "Author's Comment" msgstr "" -#: cforms-help.php:691 cforms-help.php:692 +#: cforms-help.php:698 cforms-help.php:699 msgid "(if plugin installed)" msgstr "" -#: cforms-help.php:696 +#: cforms-help.php:703 msgid "Format:
for top 4 fields" msgstr "" -#: cforms-help.php:697 +#: cforms-help.php:704 #, php-format msgid "" "field name %1$s default value %1$s
regular " "expression" msgstr "" -#: cforms-help.php:702 +#: cforms-help.php:709 msgid "Special Field" msgstr "" -#: cforms-help.php:703 cforms-help.php:1035 cforms-options.php:353 +#: cforms-help.php:710 cforms-help.php:1042 cforms-options.php:357 msgid "Select: Email/Comment" msgstr "" -#: cforms-help.php:708 +#: cforms-help.php:715 #, php-format msgid "" "field name %1$s text comment %2$s 0 %1$s text to author %2" "$s 1" msgstr "" -#: cforms-help.php:712 +#: cforms-help.php:719 msgid "Send as#regular comment|0#email to post author|1" msgstr "" -#: cforms-help.php:719 +#: cforms-help.php:726 #, php-format msgid "" "Turn on the WP Comment feature for the given form. " @@ -2000,7 +2033,7 @@ msgid "" "input fields in the [Field Type] select box." msgstr "" -#: cforms-help.php:720 +#: cforms-help.php:727 msgid "" "Modify this form to include all the necessary (new) input fields, make them " "required or not, add regexp, anti SPAM fields or even custom err messages. " @@ -2008,7 +2041,7 @@ msgid "" "\"Advanced: WP comment...\" form." msgstr "" -#: cforms-help.php:721 +#: cforms-help.php:728 #, php-format msgid "" "Edit your WP Theme template for comments. Remove the current form " @@ -2020,31 +2053,31 @@ msgid "" "subsequent form #. %sSee example comments.php here!%s" msgstr "" -#: cforms-help.php:722 +#: cforms-help.php:729 #, php-format msgid "" "Double check the extended WP comment feature settings " "here (especially the Ajax specific ones!). " msgstr "" -#: cforms-help.php:723 +#: cforms-help.php:730 msgid "" "To make Ajax work in case there are no comments yet, make sure that the " "comment container is always being rendered." msgstr "" -#: cforms-help.php:733 +#: cforms-help.php:740 msgid "Suggestions:" msgstr "" -#: cforms-help.php:735 +#: cforms-help.php:742 #, php-format msgid "" "I recommend you choose the wide_form.css theme under the Styling menu. And adjust to your liking." msgstr "" -#: cforms-help.php:736 +#: cforms-help.php:743 msgid "" "If you intend to make certain fields \"required\", I further recommend you " "add the text \"required\" to the input field label and set this " @@ -2053,19 +2086,19 @@ msgid "" "the Styling page)" msgstr "" -#: cforms-help.php:742 +#: cforms-help.php:749 msgid "Other comment plugins?" msgstr "" -#: cforms-help.php:742 cforms-options.php:986 +#: cforms-help.php:749 cforms-options.php:1019 msgid "cforms' WP comment feature supports the following comment plugins:" msgstr "" -#: cforms-help.php:747 +#: cforms-help.php:754 msgid "Tutorial:" msgstr "" -#: cforms-help.php:747 +#: cforms-help.php:754 #, php-format msgid "" "Here you'll find a comprehensive write up by Erum Munir " @@ -2074,46 +2107,46 @@ msgid "" "for the default WP comment functionality." msgstr "" -#: cforms-help.php:762 +#: cforms-help.php:769 msgid "" "Fieldsets are definitely part of good form design, they are form elements " "that are used to create individual sections of content within a given form." msgstr "" -#: cforms-help.php:768 +#: cforms-help.php:775 msgid "fieldset name" msgstr "" -#: cforms-help.php:772 lib_activate.php:40 lib_options_add.php:22 +#: cforms-help.php:779 lib_activate.php:40 lib_options_add.php:22 msgid "My Fieldset" msgstr "" -#: cforms-help.php:776 +#: cforms-help.php:783 msgid "" "Fieldsets can begin anywhere, simply add a New Fieldset " "field between or before your form elements." msgstr "" -#: cforms-help.php:781 +#: cforms-help.php:788 msgid "" "Fieldsets do not need to explicitly be closed, a New Fieldset element will automatically close the existing (if there is one to " "close) and reopen a new one." msgstr "" -#: cforms-help.php:786 +#: cforms-help.php:793 msgid "" "End Fieldset can be used, but it works without just " "as well." msgstr "" -#: cforms-help.php:791 +#: cforms-help.php:798 msgid "" "If there is no closing End Fieldset element, the plugin " "assumes that it needs to close the set just before the submit button" msgstr "" -#: cforms-help.php:806 +#: cforms-help.php:813 msgid "" "A regular expression (regex or regexp for short) is a special text string " "for describing a search pattern, according to certain syntax rules. Many " @@ -2121,36 +2154,36 @@ msgid "" "you can use them here to validate user input. Single/Multi line input fields:" msgstr "" -#: cforms-help.php:812 +#: cforms-help.php:819 #, php-format msgid "field name %1$s default value %1$s regular expression" msgstr "" -#: cforms-help.php:815 +#: cforms-help.php:822 msgid "Example:
US zip code" msgstr "" -#: cforms-help.php:816 +#: cforms-help.php:823 msgid "zip code" msgstr "" -#: cforms-help.php:819 +#: cforms-help.php:826 msgid "Example:
US phone #" msgstr "" -#: cforms-help.php:820 +#: cforms-help.php:827 msgid "phone" msgstr "" -#: cforms-help.php:823 +#: cforms-help.php:830 msgid "Special Example:
comparing two input fields" msgstr "" -#: cforms-help.php:824 +#: cforms-help.php:831 msgid "please repeat email" msgstr "" -#: cforms-help.php:829 +#: cforms-help.php:836 msgid "" "If you need to compare two input fields (e.g. email verification): simply use the regexp field (see special example above, to point to " @@ -2159,53 +2192,53 @@ msgid "" "source code of the form (e.g." msgstr "" -#: cforms-help.php:834 +#: cforms-help.php:841 msgid "GENERAL:" msgstr "" -#: cforms-help.php:839 +#: cforms-help.php:846 msgid "" "Ensure that the input field in question is tagged 'Required'!" msgstr "" -#: cforms-help.php:844 +#: cforms-help.php:851 msgid "and" msgstr "" -#: cforms-help.php:844 +#: cforms-help.php:851 msgid "define the start and the end of the input" msgstr "" -#: cforms-help.php:849 +#: cforms-help.php:856 msgid "" "...matches a string that has an \"a\" followed by zero or more \"b's\" (\"a" "\", \"ab\", \"abbb\", etc.);" msgstr "" -#: cforms-help.php:854 +#: cforms-help.php:861 msgid "...same, but there's at least one b (\"ab\", \"abbb\", etc.);" msgstr "" -#: cforms-help.php:859 +#: cforms-help.php:866 msgid "...a string that has lowercase letters \"a\" through \"d\"" msgstr "" -#: cforms-help.php:864 +#: cforms-help.php:871 #, php-format msgid "" "More information can be found here, a great regexp " "repository here." msgstr "" -#: cforms-help.php:874 +#: cforms-help.php:881 #, php-format msgid "" "On top of their labels, input fields can have titles, too. Simply append a %" "s to a given field configuration string." msgstr "" -#: cforms-help.php:875 +#: cforms-help.php:882 #, php-format msgid "" "If you like to add custom error messages (next to your generic Custom error messages can be applied to any input field " "that can be flagged \"Required\", titles " "to any input field." msgstr "" -#: cforms-help.php:913 +#: cforms-help.php:920 msgid "" "cforms currently supports one API call to retrieve stored form data from the " "cforms database tables." msgstr "" -#: cforms-help.php:916 +#: cforms-help.php:923 msgid "API Function" msgstr "" -#: cforms-help.php:920 +#: cforms-help.php:927 msgid "" "This function will return a set of stored form submissions in a multi-" "dimensional array." msgstr "" -#: cforms-help.php:924 +#: cforms-help.php:931 msgid "text string (regexp pattern) :: e.g. the form name" msgstr "" -#: cforms-help.php:928 +#: cforms-help.php:935 msgid "" "DATETIME string (format: Y-m-d H:i:s) :: date & time defining the target " "period, e.g." msgstr "" -#: cforms-help.php:932 +#: cforms-help.php:939 msgid "text ::" msgstr "" -#: cforms-help.php:932 +#: cforms-help.php:939 msgid "or" msgstr "" -#: cforms-help.php:936 +#: cforms-help.php:943 msgid "number :: limits the number of results, '' (empty) = no limits!" msgstr "" -#: cforms-help.php:940 +#: cforms-help.php:947 msgid "Examples" msgstr "" -#: cforms-help.php:961 +#: cforms-help.php:968 msgid "" "(Post-)Processing of submitted data is really for hard core deployments, " "where real-time manipulation of a form & fields are required." msgstr "" -#: cforms-help.php:962 +#: cforms-help.php:969 msgid "" "If you require the submitted data to be manipulated, and or sent to a 3rd " "party or would like to make use of the data otherwise, here is how:" msgstr "" -#: cforms-help.php:967 +#: cforms-help.php:974 msgid "Custom functions to (post-)process user input" msgstr "" -#: cforms-help.php:967 +#: cforms-help.php:974 msgid "Available Functions" msgstr "" -#: cforms-help.php:967 +#: cforms-help.php:974 msgid "" "(see my-functions.php file (plugin root directory), " "including examples)" msgstr "" -#: cforms-help.php:971 +#: cforms-help.php:978 msgid "" "function gets triggered after user input validation and " "cforms processing" msgstr "" -#: cforms-help.php:975 +#: cforms-help.php:982 msgid "" "function gets called after input validation, but " "before\t further processing" msgstr "" -#: cforms-help.php:975 +#: cforms-help.php:982 msgid "(nonAjax)" msgstr "" -#: cforms-help.php:979 +#: cforms-help.php:986 msgid "" "function gets called after input validation, but " "before further processing" msgstr "" -#: cforms-help.php:979 +#: cforms-help.php:986 msgid "(Ajax)" msgstr "" -#: cforms-help.php:983 +#: cforms-help.php:990 msgid "" "function gets called at various stages of input processing" msgstr "" -#: cforms-help.php:986 +#: cforms-help.php:993 #, php-format msgid "" "%s can reside in your /plugins/cforms-custom folder to protect it from " "future (auto) upgrades." msgstr "" -#: cforms-help.php:993 +#: cforms-help.php:1000 msgid "" "Again, this is for the advanced user who requires ad-hoc creation of forms." msgstr "" -#: cforms-help.php:995 +#: cforms-help.php:1002 msgid "A few things to note on dynamic forms:" msgstr "" -#: cforms-help.php:997 +#: cforms-help.php:1004 msgid "Dynamic forms only work in non-Ajax mode." msgstr "" -#: cforms-help.php:998 +#: cforms-help.php:1005 msgid "" "Each dynamic form references and thus requires a base form defined in the cforms form settings. All its settings will be used, except " "the form (&field) definition." msgstr "" -#: cforms-help.php:999 +#: cforms-help.php:1006 msgid "" "Any of the form fields described in the plugins' HELP! " "section can be dynamically generated." msgstr "" -#: cforms-help.php:1000 +#: cforms-help.php:1007 #, php-format msgid "Function call to generate dynamic forms: %s with" msgstr "" -#: cforms-help.php:1003 +#: cforms-help.php:1010 msgid "" "empty string for the first (default) form and 2,3,4... for " "any subsequent form" msgstr "" -#: cforms-help.php:1007 +#: cforms-help.php:1014 msgid "field name format described above" msgstr "" -#: cforms-help.php:1020 +#: cforms-help.php:1027 msgid "Form input field types ('type'):" msgstr "" -#: cforms-help.php:1024 +#: cforms-help.php:1031 msgid "Basic fields" msgstr "" -#: cforms-help.php:1024 +#: cforms-help.php:1031 msgid "Special T-A-F fields" msgstr "" -#: cforms-help.php:1025 +#: cforms-help.php:1032 msgid "Text paragraph" msgstr "" -#: cforms-help.php:1026 +#: cforms-help.php:1033 msgid "Single input field" msgstr "" -#: cforms-help.php:1026 cforms-options.php:343 +#: cforms-help.php:1033 cforms-options.php:347 msgid "T-A-F * Your Email" msgstr "" -#: cforms-help.php:1027 +#: cforms-help.php:1034 msgid "Multi line field" msgstr "" -#: cforms-help.php:1028 +#: cforms-help.php:1035 msgid "Hidden field" msgstr "" -#: cforms-help.php:1029 +#: cforms-help.php:1036 msgid "Password field" msgstr "" -#: cforms-help.php:1030 +#: cforms-help.php:1037 msgid "Date picker field" msgstr "" -#: cforms-help.php:1030 cforms-options.php:960 +#: cforms-help.php:1037 cforms-options.php:993 msgid "WP Comment Feature" msgstr "" -#: cforms-help.php:1032 +#: cforms-help.php:1039 msgid "Check boxes groups" msgstr "" -#: cforms-help.php:1033 +#: cforms-help.php:1040 msgid "Drop down fields" msgstr "" -#: cforms-help.php:1035 +#: cforms-help.php:1042 msgid "Radio buttons" msgstr "" -#: cforms-help.php:1036 +#: cforms-help.php:1043 msgid "'CC' check box" msgstr "" -#: cforms-help.php:1036 cforms-options.php:356 +#: cforms-help.php:1043 cforms-options.php:360 msgid "Subscribe To Comments" msgstr "" -#: cforms-help.php:1037 +#: cforms-help.php:1044 msgid "Multi-recipients field" msgstr "" -#: cforms-help.php:1037 cforms-options.php:359 +#: cforms-help.php:1044 cforms-options.php:363 msgid "Comment Luv" msgstr "" -#: cforms-help.php:1038 +#: cforms-help.php:1045 msgid "Spam/Q&A verification" msgstr "" -#: cforms-help.php:1039 +#: cforms-help.php:1046 msgid "Spam/captcha verification" msgstr "" -#: cforms-help.php:1040 +#: cforms-help.php:1047 msgid "File upload fields" msgstr "" -#: cforms-help.php:1041 +#: cforms-help.php:1048 msgid "Begin of a fieldset" msgstr "" -#: cforms-help.php:1042 +#: cforms-help.php:1049 msgid "End of a fieldset" msgstr "" -#: cforms-help.php:1045 +#: cforms-help.php:1052 msgid "Should only be used once per generated form!" msgstr "" -#: cforms-help.php:1051 +#: cforms-help.php:1058 msgid "Simple example:" msgstr "" -#: cforms-help.php:1058 cforms-help.php:1085 lib_activate.php:41 +#: cforms-help.php:1065 cforms-help.php:1092 lib_activate.php:41 #: lib_options_add.php:23 msgid "Your Name|Your Name" msgstr "" -#: cforms-help.php:1059 +#: cforms-help.php:1066 msgid "Your Email" msgstr "" -#: cforms-help.php:1060 +#: cforms-help.php:1067 msgid "Your Message" msgstr "" -#: cforms-help.php:1074 +#: cforms-help.php:1081 msgid "Call default form with two defined fields" msgstr "" -#: cforms-help.php:1081 +#: cforms-help.php:1088 msgid "More advanced example (file access)" msgstr "" -#: cforms-help.php:1090 lib_activate.php:42 lib_options_add.php:24 +#: cforms-help.php:1097 lib_activate.php:42 lib_options_add.php:24 msgid "Email" msgstr "" -#: cforms-help.php:1094 +#: cforms-help.php:1101 msgid "Please pick a month for delivery:" msgstr "" -#: cforms-help.php:1097 +#: cforms-help.php:1104 msgid "Deliver on#Please pick a month" msgstr "" -#: cforms-help.php:1099 +#: cforms-help.php:1106 msgid "Need to put this file into your themes dir!" msgstr "" -#: cforms-help.php:1106 +#: cforms-help.php:1113 msgid "Remove the last '#'" msgstr "" -#: cforms-help.php:1111 +#: cforms-help.php:1118 msgid "Call form #5 with new fields" msgstr "" -#: cforms-help.php:1115 +#: cforms-help.php:1122 msgid "With month.txt containing all 12 months of a year:" msgstr "" -#: cforms-help.php:1119 +#: cforms-help.php:1126 msgid "January" msgstr "" -#: cforms-help.php:1121 +#: cforms-help.php:1128 msgid "February" msgstr "" -#: cforms-help.php:1123 +#: cforms-help.php:1130 msgid "March" msgstr "" -#: cforms-help.php:1132 +#: cforms-help.php:1139 msgid "Using variables in email subject and messages" msgstr "" -#: cforms-help.php:1136 +#: cforms-help.php:1143 #, php-format msgid "" "Subjects and messages for emails both to the Nickname
)." msgstr "" -#: cforms-help.php:1215 +#: cforms-help.php:1222 msgid "Inserts the WP post or page title." msgstr "" -#: cforms-help.php:1219 +#: cforms-help.php:1226 msgid "Inserts the WP post or page excerpt." msgstr "" -#: cforms-help.php:1228 +#: cforms-help.php:1235 msgid "Custom variables (referencing input fields):" msgstr "" -#: cforms-help.php:1233 +#: cforms-help.php:1240 msgid "" "Alternatively to the cforms predefined variables, you can also reference " "data of any of your form's input fields by one of the 3 ways described below." msgstr "" -#: cforms-help.php:1237 +#: cforms-help.php:1244 msgid "field label" msgstr "" -#: cforms-help.php:1238 +#: cforms-help.php:1245 msgid "" "With field label being the exact field label as it is being " "tracked and sent in the admin email!" msgstr "" -#: cforms-help.php:1241 +#: cforms-help.php:1248 msgid "XYZ" msgstr "" -#: cforms-help.php:1242 +#: cforms-help.php:1249 msgid "" "In case you're using the custom input field NAMES & ID's, the " "reference is the id: of the field." msgstr "" -#: cforms-help.php:1246 +#: cforms-help.php:1253 msgid "" "With NN being the position of the field on the form configuration " "page." msgstr "" -#: cforms-help.php:1252 +#: cforms-help.php:1259 #, php-format msgid "Suppose this is the input field definition string: %sYour Website%s" msgstr "" -#: cforms-help.php:1253 +#: cforms-help.php:1260 msgid "The corresponding variables would be:" msgstr "" -#: cforms-help.php:1254 +#: cforms-help.php:1261 #, php-format msgid "" "%1$s{Your Website}%2$s , %1$s{homepage}%2$s, or %1$s%3$s%2$s (assuming it is " "on the 4th position) respectively." msgstr "" -#: cforms-help.php:1261 +#: cforms-help.php:1268 msgid "" "If you are using multiple input fields with the same " "recorded field label (you can always check the \"Tracking\" menu tab for how " "the fields are stored), e.g:" msgstr "" -#: cforms-help.php:1269 +#: cforms-help.php:1276 #, php-format msgid "" "Results in the first field labeled %1$s to be addressed with %2$s. The " "second instance of %1$s can be addressed by %3$s, and so on..." msgstr "" -#: cforms-help.php:1276 +#: cforms-help.php:1283 #, php-format msgid "" "Here is an example for a simple Admin HTML message " "(you can copy and paste the below code or change to your liking):" msgstr "" -#: cforms-help.php:1281 cforms-help.php:1305 cforms-help.php:1331 +#: cforms-help.php:1288 cforms-help.php:1312 cforms-help.php:1338 msgid "HTML code:" msgstr "" -#: cforms-help.php:1282 +#: cforms-help.php:1289 #, php-format msgid "a form has been submitted on %s, via: %s [IP %s]" msgstr "" -#: cforms-help.php:1287 cforms-help.php:1311 cforms-help.php:1340 +#: cforms-help.php:1294 cforms-help.php:1318 cforms-help.php:1347 msgid "Output:" msgstr "" -#: cforms-help.php:1288 +#: cforms-help.php:1295 msgid "" "a form has been submitted on June 13, 2007 @ 9:38 pm, via: / [IP " "184.153.91.231]" msgstr "" -#: cforms-help.php:1293 +#: cforms-help.php:1300 msgid "" "With this limited message you'd want to enable the option \"Include pre " "formatted form data table in HTML part\"" msgstr "" -#: cforms-help.php:1300 +#: cforms-help.php:1307 #, php-format msgid "" "Here is another example for a more detailed Admin HTML " "message:" msgstr "" -#: cforms-help.php:1306 +#: cforms-help.php:1313 msgid "" "{Your Name} just submitted {Form Name}. You can get in touch with him/her " "via <a href=\"mailto:{Email}\">{Email}</a> and might want to " "check out his/her web page at <a href=\"{Website}\">{Website}</a>" msgstr "" -#: cforms-help.php:1306 cforms-help.php:1313 +#: cforms-help.php:1313 cforms-help.php:1320 msgid "The message is:" msgstr "" -#: cforms-help.php:1306 +#: cforms-help.php:1313 msgid "{Message}" msgstr "" -#: cforms-help.php:1312 +#: cforms-help.php:1319 msgid "" "John Doe just submitted MY NEW FORM. You can get in touch with him/her via " "john.doe@doe.com and might want to check out his/" "her web page at http://website.com" msgstr "" -#: cforms-help.php:1314 +#: cforms-help.php:1321 msgid "Hey there! Just wanted to get in touch. Give me a ring at 555-..." msgstr "" -#: cforms-help.php:1319 +#: cforms-help.php:1326 msgid "" "With this more detailed message you can disable the option \"Include pre " "formatted form data table in HTML part\" since you already have all fields " "covered in the actual message/header." msgstr "" -#: cforms-help.php:1326 +#: cforms-help.php:1333 #, php-format msgid "" "And a final example for a HTML auto confirmation message:" msgstr "" -#: cforms-help.php:1332 cforms-help.php:1341 +#: cforms-help.php:1339 cforms-help.php:1348 msgid "auto confirmation message" msgstr "" -#: cforms-help.php:1333 lib_activate.php:53 lib_activate.php:55 +#: cforms-help.php:1340 lib_activate.php:53 lib_activate.php:55 #: lib_options_add.php:35 lib_options_add.php:37 msgid "Dear {Your Name}," msgstr "" -#: cforms-help.php:1334 cforms-help.php:1343 lib_activate.php:53 +#: cforms-help.php:1341 cforms-help.php:1350 lib_activate.php:53 #: lib_activate.php:55 lib_options_add.php:35 lib_options_add.php:37 msgid "Thank you for your note!" msgstr "" -#: cforms-help.php:1335 cforms-help.php:1344 lib_activate.php:53 +#: cforms-help.php:1342 cforms-help.php:1351 lib_activate.php:53 #: lib_activate.php:55 lib_options_add.php:35 lib_options_add.php:37 msgid "We will get back to you as soon as possible." msgstr "" -#: cforms-help.php:1342 +#: cforms-help.php:1349 msgid "Dear John Doe," msgstr "" -#: cforms-help.php:1353 +#: cforms-help.php:1360 #, php-format msgid "" "Multi-page-forms support chaining of several forms and gather user input " @@ -2851,93 +2884,93 @@ msgid "" "the %s first form %s of the series into your post or page." msgstr "" -#: cforms-help.php:1358 +#: cforms-help.php:1365 msgid "Multi-part/-page form features:" msgstr "" -#: cforms-help.php:1361 +#: cforms-help.php:1368 msgid "Defining first, next and last form via configuration" msgstr "" -#: cforms-help.php:1364 +#: cforms-help.php:1371 msgid "Overriding \"next form\" at run-time (dynamically) via my-functions.php" msgstr "" -#: cforms-help.php:1367 +#: cforms-help.php:1374 msgid "Optionally send/suppress partial admin emails on a per form basis" msgstr "" -#: cforms-help.php:1370 +#: cforms-help.php:1377 msgid "A form reset button" msgstr "" -#: cforms-help.php:1373 +#: cforms-help.php:1380 msgid "A form back button" msgstr "" -#: cforms-help.php:1379 +#: cforms-help.php:1386 msgid "Example (eg. using 3 forms):" msgstr "" -#: cforms-help.php:1382 +#: cforms-help.php:1389 msgid "form 1,2,3:" msgstr "" -#: cforms-help.php:1383 +#: cforms-help.php:1390 msgid "select main check box to enable as multi-part forms" msgstr "" -#: cforms-help.php:1386 +#: cforms-help.php:1393 msgid "form 1:" msgstr "" -#: cforms-help.php:1387 cforms-help.php:1391 +#: cforms-help.php:1394 cforms-help.php:1398 msgid "(a) check \"Suppress admin email..\"" msgstr "" -#: cforms-help.php:1387 +#: cforms-help.php:1394 msgid "(b) check \"This is the first form..\"" msgstr "" -#: cforms-help.php:1387 +#: cforms-help.php:1394 msgid "(c) select \"form 2\" as next form" msgstr "" -#: cforms-help.php:1390 +#: cforms-help.php:1397 msgid "form 2:" msgstr "" -#: cforms-help.php:1391 +#: cforms-help.php:1398 msgid "(b) select \"form 3\" as next form" msgstr "" -#: cforms-help.php:1394 +#: cforms-help.php:1401 msgid "form 3:" msgstr "" -#: cforms-help.php:1395 +#: cforms-help.php:1402 msgid "(a) make sure to not! have \"Suppress admin email..\" selected" msgstr "" -#: cforms-help.php:1395 +#: cforms-help.php:1402 msgid "(b) select \"last form\" to stop further routing" msgstr "" -#: cforms-help.php:1398 +#: cforms-help.php:1405 msgid "Optionally add Reset & Back buttons where appropriate." msgstr "" -#: cforms-help.php:1401 +#: cforms-help.php:1408 msgid "" "Further, it makes sense to change \"Submit Button\" text (to e.g. \"Continue" "\") & the \"success message\" to rather announce the next form." msgstr "" -#: cforms-help.php:1405 +#: cforms-help.php:1412 msgid "Important Notes:" msgstr "" -#: cforms-help.php:1407 +#: cforms-help.php:1414 #, php-format msgid "" "Accessing %1$s {custom variables} %2$s in the final form differs from how " @@ -2946,32 +2979,32 @@ msgid "" "2$s would become %1$s{cf_form_Email}%2$s (for the first form of the series)." msgstr "" -#: cforms-help.php:1408 +#: cforms-help.php:1415 #, php-format msgid "" "%1s File attachments %2s will not be included in the admin email unless the " "upload fields are on the last form. However, they will be stored and tracked." msgstr "" -#: cforms-help.php:1409 +#: cforms-help.php:1416 #, php-format msgid "" "Once the multi page form support is enabled, %1$sAjax is being disabled%2$s " "for this form." msgstr "" -#: cforms-help.php:1415 +#: cforms-help.php:1422 msgid "Styling Your Forms (CSS theme files)" msgstr "" -#: cforms-help.php:1418 +#: cforms-help.php:1425 #, php-format msgid "" "Please see the Styling page for theme selection and " "editing options." msgstr "" -#: cforms-help.php:1419 +#: cforms-help.php:1426 msgid "" "cforms comes with a few theme examples (some of them may require adjustments " "to work with your forms!) but you can of course create your " @@ -2979,7 +3012,7 @@ msgid "" "put it in the /styling directory." msgstr "" -#: cforms-help.php:1420 +#: cforms-help.php:1427 #, php-format msgid "" "With v8.5+ cforms supports a separate custom user folder to store your " @@ -2988,7 +3021,7 @@ msgid "" "image files (CAPTCHA) to it." msgstr "" -#: cforms-help.php:1422 +#: cforms-help.php:1429 msgid "" "Your form doesn't look like the preview image, or your " "individual changes don't take effect, check your global WP theme CSS! It may " @@ -2997,14 +3030,14 @@ msgid "" "excellent CSS troubleshooting tool!" msgstr "" -#: cforms-help.php:1428 +#: cforms-help.php:1435 #, php-format msgid "" "For up-to-date information first check the %sFAQs%s & %scforms forum%s " "and comment section on the plugin homepage." msgstr "" -#: cforms-options.php:171 lib_functions.php:98 +#: cforms-options.php:171 lib_functions.php:100 msgid "Form Settings" msgstr "" @@ -3155,7 +3188,7 @@ msgstr "" msgid "Grey's out a form field (field will be completely disabled)." msgstr "" -#: cforms-options.php:242 cforms-options.php:387 +#: cforms-options.php:242 cforms-options.php:391 msgid "disabled" msgstr "" @@ -3163,221 +3196,225 @@ msgstr "" msgid "Form field will be readonly!" msgstr "" -#: cforms-options.php:243 cforms-options.php:393 +#: cforms-options.php:243 cforms-options.php:397 msgid "read-only" msgstr "" -#: cforms-options.php:275 cforms-options.php:293 +#: cforms-options.php:279 cforms-options.php:297 msgid "New Field" msgstr "" -#: cforms-options.php:314 +#: cforms-options.php:318 msgid "Drag me" msgstr "" -#: cforms-options.php:317 +#: cforms-options.php:321 msgid "Please enter field definition" msgstr "" -#: cforms-options.php:317 +#: cforms-options.php:321 msgid "Edit" msgstr "" -#: cforms-options.php:317 +#: cforms-options.php:321 msgid "Pick a field type" msgstr "" -#: cforms-options.php:319 +#: cforms-options.php:323 msgid "New Fieldset" msgstr "" -#: cforms-options.php:320 +#: cforms-options.php:324 msgid "Text only (no input)" msgstr "" -#: cforms-options.php:321 +#: cforms-options.php:325 msgid "Single line of text" msgstr "" -#: cforms-options.php:322 +#: cforms-options.php:326 msgid "Multiple lines of text" msgstr "" -#: cforms-options.php:323 +#: cforms-options.php:327 msgid "Check Box" msgstr "" -#: cforms-options.php:324 +#: cforms-options.php:328 msgid "Check Box Group" msgstr "" -#: cforms-options.php:325 +#: cforms-options.php:329 msgid "Radio Buttons" msgstr "" -#: cforms-options.php:326 +#: cforms-options.php:330 msgid "Select Box" msgstr "" -#: cforms-options.php:327 +#: cforms-options.php:331 msgid "Multi Select Box" msgstr "" -#: cforms-options.php:328 +#: cforms-options.php:332 msgid "File Upload Box" msgstr "" -#: cforms-options.php:329 +#: cforms-options.php:333 msgid "Date Entry/Dialog" msgstr "" -#: cforms-options.php:330 +#: cforms-options.php:334 msgid "Password Field" msgstr "" -#: cforms-options.php:331 +#: cforms-options.php:335 msgid "Hidden Field" msgstr "" -#: cforms-options.php:332 +#: cforms-options.php:336 msgid "End Fieldset" msgstr "" -#: cforms-options.php:334 +#: cforms-options.php:338 msgid "--------- Special ------------" msgstr "" -#: cforms-options.php:335 +#: cforms-options.php:339 msgid "CC: option for user" msgstr "" -#: cforms-options.php:336 +#: cforms-options.php:340 msgid "Multiple Recipients" msgstr "" -#: cforms-options.php:338 +#: cforms-options.php:342 msgid "Captcha verification (image)" msgstr "" -#: cforms-options.php:341 +#: cforms-options.php:345 msgid "----- T-A-F form fields ------" msgstr "" -#: cforms-options.php:345 +#: cforms-options.php:349 msgid "T-A-F * Friend's Email" msgstr "" -#: cforms-options.php:348 +#: cforms-options.php:352 msgid "--- WP comment form fields ---" msgstr "" -#: cforms-options.php:364 +#: cforms-options.php:368 msgid "Remove input field" msgstr "" -#: cforms-options.php:367 cforms-options.php:373 cforms-options.php:379 -#: cforms-options.php:385 cforms-options.php:391 +#: cforms-options.php:371 cforms-options.php:377 cforms-options.php:383 +#: cforms-options.php:389 cforms-options.php:395 msgid "n/a" msgstr "" -#: cforms-options.php:367 cforms-options.php:373 cforms-options.php:379 -#: cforms-options.php:385 cforms-options.php:391 +#: cforms-options.php:371 cforms-options.php:377 cforms-options.php:383 +#: cforms-options.php:389 cforms-options.php:395 msgid "Not available." msgstr "" -#: cforms-options.php:369 +#: cforms-options.php:373 msgid "input required" msgstr "" -#: cforms-options.php:375 +#: cforms-options.php:379 msgid "email required" msgstr "" -#: cforms-options.php:381 +#: cforms-options.php:385 msgid "clear field" msgstr "" -#: cforms-options.php:406 +#: cforms-options.php:410 msgid "Add more input field(s)" msgstr "" -#: cforms-options.php:406 +#: cforms-options.php:410 msgid "Add" msgstr "" -#: cforms-options.php:407 +#: cforms-options.php:411 msgid "new field(s) @ position" msgstr "" -#: cforms-options.php:419 +#: cforms-options.php:423 msgid "Backup This Form" msgstr "" -#: cforms-options.php:420 +#: cforms-options.php:424 msgid " or restore previously saved settings:" msgstr "" -#: cforms-options.php:422 +#: cforms-options.php:426 msgid "Restore Settings" msgstr "" -#: cforms-options.php:429 +#: cforms-options.php:433 msgid "File Upload Settings" msgstr "" -#: cforms-options.php:434 +#: cforms-options.php:438 #, php-format msgid "" "You may also want to verify the global, file upload specific error messages." msgstr "" -#: cforms-options.php:442 +#: cforms-options.php:446 msgid "" "Can't find the specified Upload Directory ! Please verify " "that it exists!" msgstr "" -#: cforms-options.php:447 cforms-options.php:452 -msgid "Upload directory" +#: cforms-options.php:451 +msgid "Upload directory (absolute path)" msgstr "" -#: cforms-options.php:448 -msgid "[make sure the dir exists!]" +#: cforms-options.php:452 +msgid "e.g. /home/user/www/wp-content/my-upload-dir" msgstr "" -#: cforms-options.php:453 -msgid "[if outside of ../wp-content/..]" +#: cforms-options.php:456 +msgid "Upload directory URL (relative path/URL)" msgstr "" #: cforms-options.php:457 +msgid "e.g. /wp-content/my-upload-dir" +msgstr "" + +#: cforms-options.php:461 msgid "Allowed file extensions" msgstr "" -#: cforms-options.php:458 +#: cforms-options.php:462 msgid "[empty=all files are allowed]" msgstr "" -#: cforms-options.php:462 +#: cforms-options.php:466 msgid "Maximum file size
in kilobyte" msgstr "" -#: cforms-options.php:467 +#: cforms-options.php:471 msgid "Do not email attachments" msgstr "" -#: cforms-options.php:468 +#: cforms-options.php:472 #, php-format msgid "" "Note: Attachments are stored on the server & can be accessed via " "the cforms tracking tables." msgstr "" -#: cforms-options.php:477 +#: cforms-options.php:481 msgid "Messages, Text and Button Label" msgstr "" -#: cforms-options.php:480 +#: cforms-options.php:484 #, php-format msgid "" "These are the messages displayed to the user on successful (or failed) form " @@ -3386,77 +3423,77 @@ msgid "" "\" %s>here." msgstr "" -#: cforms-options.php:484 +#: cforms-options.php:488 msgid "Submit button text" msgstr "" -#: cforms-options.php:489 +#: cforms-options.php:493 msgid "Waiting message" msgstr "" -#: cforms-options.php:493 +#: cforms-options.php:497 msgid "\"required\" label" msgstr "" -#: cforms-options.php:497 +#: cforms-options.php:501 msgid "\"email required\" label" msgstr "" -#: cforms-options.php:502 +#: cforms-options.php:506 msgid "Success message
when form filled out correctly" msgstr "" -#: cforms-options.php:506 cforms-options.php:516 +#: cforms-options.php:510 cforms-options.php:520 msgid "Opt. Popup Msg" msgstr "" -#: cforms-options.php:512 +#: cforms-options.php:516 msgid "" "Failure message
when missing fields or wrong field
formats (regular expr.)" msgstr "" -#: cforms-options.php:521 +#: cforms-options.php:525 msgid "Show messages" msgstr "" -#: cforms-options.php:523 +#: cforms-options.php:527 msgid "Above form" msgstr "" -#: cforms-options.php:524 +#: cforms-options.php:528 msgid "Below form" msgstr "" -#: cforms-options.php:531 +#: cforms-options.php:535 msgid "Jump to Error" msgstr "" -#: cforms-options.php:533 +#: cforms-options.php:537 msgid "(Only Javascript)" msgstr "" -#: cforms-options.php:537 +#: cforms-options.php:541 msgid "Fancy Error messages" msgstr "" -#: cforms-options.php:539 +#: cforms-options.php:543 msgid "Enhanced display of errors (see also new theme CSS classes)" msgstr "" -#: cforms-options.php:543 +#: cforms-options.php:547 msgid "Embedded Custom Error
Messages" msgstr "" -#: cforms-options.php:545 +#: cforms-options.php:549 msgid "Field specific error messages will be shown above input field" msgstr "" -#: cforms-options.php:555 +#: cforms-options.php:559 msgid "Core Form Admin / Email Options" msgstr "" -#: cforms-options.php:558 +#: cforms-options.php:562 #, php-format msgid "" "These settings determine basic cforms behaviour and the form email recipient" @@ -3464,7 +3501,7 @@ msgid "" "accept the format of choice!" msgstr "" -#: cforms-options.php:559 +#: cforms-options.php:563 msgid "" "The default FROM: address is based on your blog's name and the WP default " "address. It can be changed, but I highly recommend you do not, as it may " @@ -3472,19 +3509,19 @@ msgid "" "if all admin emails are being sent/received! " msgstr "" -#: cforms-options.php:563 +#: cforms-options.php:567 msgid "FROM: email address" msgstr "" -#: cforms-options.php:568 +#: cforms-options.php:572 msgid "Admin email address(es)" msgstr "" -#: cforms-options.php:569 +#: cforms-options.php:573 msgid "More than one \"form admin\"? »" msgstr "" -#: cforms-options.php:572 +#: cforms-options.php:576 #, php-format msgid "" "Simply add additional email addresses separated by a every address listed!" msgstr "" -#: cforms-options.php:575 +#: cforms-options.php:579 msgid "BCC" msgstr "" -#: cforms-options.php:579 +#: cforms-options.php:583 msgid "Subject admin email" msgstr "" -#: cforms-options.php:580 cforms-options.php:740 cforms-options.php:763 -#: cforms-options.php:788 cforms-options.php:815 cforms-options.php:822 -#: cforms-options.php:835 +#: cforms-options.php:584 cforms-options.php:773 cforms-options.php:796 +#: cforms-options.php:821 cforms-options.php:848 cforms-options.php:855 +#: cforms-options.php:868 #, php-format msgid "Variables allowed." msgstr "" -#: cforms-options.php:586 -msgid "Include in last 5 entries shown on the dashboard." +#: cforms-options.php:590 +msgid "Core options" +msgstr "" + +#: cforms-options.php:591 +#, php-format +msgid "%sTurn off%s admin email" msgstr "" -#: cforms-options.php:593 -msgid "Exclude this form from tracking" +#: cforms-options.php:597 +#, php-format +msgid "Show new entries on %sdashboard%s" msgstr "" -#: cforms-options.php:600 -msgid "Use custom input
field NAMES & ID's" +#: cforms-options.php:604 +#, php-format +msgid "%sExclude this form%s from database tracking" msgstr "" -#: cforms-options.php:601 cforms-options.php:608 cforms-options.php:694 -#: cforms-options.php:807 cforms-options.php:947 -msgid "Please read note »" +#: cforms-options.php:610 +#, php-format +msgid "Use %scustom input field NAMES & ID's%s" msgstr "" -#: cforms-options.php:604 +#: cforms-options.php:610 cforms-options.php:617 +msgid "Read note »" +msgstr "" + +#: cforms-options.php:613 msgid "" "This feature replaces the default NAMEs/IDs (e.g. cf_field_12) with custom ones, either derived from the field label you " @@ -3539,103 +3587,102 @@ msgid "" "$_POST variable)." msgstr "" -#: cforms-options.php:607 -msgid "Extra variables
e.g. {Title}" +#: cforms-options.php:617 +#, php-format +msgid "%sExtra variables%s e.g. {Title}" msgstr "" -#: cforms-options.php:611 +#: cforms-options.php:620 #, php-format msgid "" -"There a three additional, predefined variablesthree additional, predefined variables that belong to the Tell-A-Friend feature but can be enabled here without " "actually turning on T-A-F." msgstr "" -#: cforms-options.php:611 +#: cforms-options.php:620 msgid "" "This will add two more hidden fields to your form to ensure that all data is " "available also in AJAX mode." msgstr "" -#: cforms-options.php:616 -msgid "Limit" +#: cforms-options.php:625 +#, php-format +msgid "%sDo not reset%s input fields after submission" msgstr "" -#: cforms-options.php:617 +#: cforms-options.php:632 +msgid "Submission Limit" +msgstr "" + +#: cforms-options.php:633 msgid "" "total # of submissions accepted [empty or 0 (zero) = off] (tracking must be enabled!)" msgstr "" -#: cforms-options.php:621 +#: cforms-options.php:637 msgid "Start Date" msgstr "" -#: cforms-options.php:625 cforms-options.php:646 +#: cforms-options.php:641 cforms-options.php:662 msgid "Time entry." msgstr "" -#: cforms-options.php:631 +#: cforms-options.php:647 msgid "The form will be available in " msgstr "" -#: cforms-options.php:633 +#: cforms-options.php:649 msgid "The form is available now." msgstr "" -#: cforms-options.php:642 +#: cforms-options.php:658 msgid "End Date" msgstr "" -#: cforms-options.php:651 +#: cforms-options.php:667 msgid "The form will be available for another " msgstr "" -#: cforms-options.php:653 +#: cforms-options.php:669 msgid "The form is not available anymore." msgstr "" -#: cforms-options.php:662 +#: cforms-options.php:678 msgid "Limit text" msgstr "" -#: cforms-options.php:670 +#: cforms-options.php:686 msgid "Redirect
options:" msgstr "" -#: cforms-options.php:672 -msgid "Disabled (default setting)" +#: cforms-options.php:688 +msgid "Do nothing (default setting)" msgstr "" -#: cforms-options.php:673 +#: cforms-options.php:689 msgid "Hide form after successful submission" msgstr "" -#: cforms-options.php:674 +#: cforms-options.php:690 msgid "Enable alternative success page (redirect)" msgstr "" -#: cforms-options.php:682 -msgid "Don't reset fields" -msgstr "" - -#: cforms-options.php:684 -msgid "Re-display user input after form submission." -msgstr "" - -#: cforms-options.php:684 -msgid "(currently not available for Ajax submissions)" -msgstr "" - -#: cforms-options.php:691 +#: cforms-options.php:698 msgid "Send form data
to an alternative page:" msgstr "" -#: cforms-options.php:693 +#: cforms-options.php:700 msgid "Enable alternative form action!" msgstr "" -#: cforms-options.php:698 +#: cforms-options.php:701 cforms-options.php:711 cforms-options.php:840 +#: cforms-options.php:980 +msgid "Please read note »" +msgstr "" + +#: cforms-options.php:705 msgid "" "If you enable an alternative form action you will loose " "any cforms application logic (spam security, field validation, DB " @@ -3644,26 +3691,38 @@ msgid "" "turn cforms into a front-end only, a \"form builder\" so to speak." msgstr "" -#: cforms-options.php:703 -msgid "Enable RSS" +#: cforms-options.php:710 +msgid "RSS feed" +msgstr "" + +#: cforms-options.php:711 +msgid "Enable RSS feed to track new submissions" msgstr "" -#: cforms-options.php:704 -msgid "Enables an RSS feed to track new submissions." +#: cforms-options.php:714 +#, php-format +msgid "" +"For the RSS feed to work you must have %sDatabase Tracking%s turned on under " +"Global-Settings! In order to pick & include input fields in your " +"feed you must have at least on submission in the database for reference." msgstr "" -#: cforms-options.php:728 +#: cforms-options.php:729 +msgid "Form fields included in feed:" +msgstr "" + +#: cforms-options.php:761 msgid "Admin Email Message Options" msgstr "" -#: cforms-options.php:731 +#: cforms-options.php:764 msgid "" "Generally, emails sent to the admin and the submitting user can be both in " "plain text and HTML. The TXT part is required, HTML is " "optional." msgstr "" -#: cforms-options.php:732 +#: cforms-options.php:765 #, php-format msgid "" "Below you'll find the settings for both the TXT part of the " @@ -3674,42 +3733,42 @@ msgid "" "message examples!)." msgstr "" -#: cforms-options.php:736 +#: cforms-options.php:769 msgid "Admin TEXT message
(Header)" msgstr "" -#: cforms-options.php:745 cforms-options.php:768 +#: cforms-options.php:778 cforms-options.php:801 msgid "(Footer)" msgstr "" -#: cforms-options.php:746 +#: cforms-options.php:779 msgid "Include user input at the bottom of the admin email" msgstr "" -#: cforms-options.php:750 +#: cforms-options.php:783 msgid "" "(# characters) : spacing between labels & data, for plain txt version " "only" msgstr "" -#: cforms-options.php:754 cforms-options.php:827 +#: cforms-options.php:787 cforms-options.php:860 msgid "Enable HTML" msgstr "" -#: cforms-options.php:759 +#: cforms-options.php:792 msgid "Admin HTML message
(Header)" msgstr "" -#: cforms-options.php:769 +#: cforms-options.php:802 msgid "Include user input at the bottom of the admin email" msgstr "" -#: cforms-options.php:771 +#: cforms-options.php:804 msgid "" "'Don't like the default (blue) form data block in your admin email? »" msgstr "" -#: cforms-options.php:772 +#: cforms-options.php:805 msgid "" "To avoid sending ALL of the submitted user data (especially for very long " "forms) to the form admin simply uncheck \"Include user " @@ -3717,26 +3776,26 @@ msgid "" "the use of custom variables." msgstr "" -#: cforms-options.php:780 +#: cforms-options.php:813 msgid "CC Settings" msgstr "" -#: cforms-options.php:783 +#: cforms-options.php:816 msgid "" "This is the subject of the CC email that goes out the user submitting the " "form and as such requires the CC: field in your form " "definition above." msgstr "" -#: cforms-options.php:787 +#: cforms-options.php:820 msgid "Subject CC" msgstr "" -#: cforms-options.php:797 +#: cforms-options.php:830 msgid "Auto Confirmation" msgstr "" -#: cforms-options.php:800 +#: cforms-options.php:833 msgid "" "These settings apply to an auto response/confirmation sent to the visitor. " "If enabled AND your form contains a \"CC me\" field " @@ -3744,11 +3803,11 @@ msgid "" "sent!" msgstr "" -#: cforms-options.php:806 +#: cforms-options.php:839 msgid "Activate auto confirmation" msgstr "" -#: cforms-options.php:810 +#: cforms-options.php:843 msgid "" "For the auto confirmation feature to work, make sure to mark at " "least one field Email, otherwise NO auto " @@ -3756,145 +3815,145 @@ msgid "" "\", only the first in the list will receive a notification." msgstr "" -#: cforms-options.php:814 +#: cforms-options.php:847 msgid "Subject auto confirmation" msgstr "" -#: cforms-options.php:818 +#: cforms-options.php:851 msgid "TEXT message" msgstr "" -#: cforms-options.php:831 +#: cforms-options.php:864 msgid "HTML message" msgstr "" -#: cforms-options.php:848 +#: cforms-options.php:881 msgid "Multi-Part / Multi-Page Forms" msgstr "" -#: cforms-options.php:851 +#: cforms-options.php:884 msgid "If enabled, new options will be shown below." msgstr "" -#: cforms-options.php:851 +#: cforms-options.php:884 msgid "Mark this form to belong to a series of forms:" msgstr "" -#: cforms-options.php:857 +#: cforms-options.php:890 msgid "Email & Tracking" msgstr "" -#: cforms-options.php:858 +#: cforms-options.php:891 msgid "Suppress admin email and DB tracking for *this* form" msgstr "" -#: cforms-options.php:862 +#: cforms-options.php:895 msgid "First Form" msgstr "" -#: cforms-options.php:863 +#: cforms-options.php:896 msgid "This is the *first* form of a series of forms" msgstr "" -#: cforms-options.php:869 +#: cforms-options.php:902 msgid "Reset Button" msgstr "" -#: cforms-options.php:870 +#: cforms-options.php:903 msgid "Add a reset button to this form (reset to the first form in a series)" msgstr "" -#: cforms-options.php:874 cforms-options.php:886 +#: cforms-options.php:907 cforms-options.php:919 msgid "Text" msgstr "" -#: cforms-options.php:875 +#: cforms-options.php:908 msgid "Text for reset button" msgstr "" -#: cforms-options.php:881 +#: cforms-options.php:914 msgid "Back Button" msgstr "" -#: cforms-options.php:882 +#: cforms-options.php:915 msgid "Add a back button to this form (back to the previous form)" msgstr "" -#: cforms-options.php:887 +#: cforms-options.php:920 msgid "Text for back button" msgstr "" -#: cforms-options.php:902 +#: cforms-options.php:935 msgid "* stop here (last form) *" msgstr "" -#: cforms-options.php:906 +#: cforms-options.php:939 msgid "Please choose the next form after this" msgstr "" -#: cforms-options.php:917 +#: cforms-options.php:950 msgid "Tell-A-Friend Form Support" msgstr "" -#: cforms-options.php:922 +#: cforms-options.php:955 msgid "posts and pages processed and tell-a-friend enabled." msgstr "" -#: cforms-options.php:924 +#: cforms-options.php:957 msgid "" "All posts & pages processed and tell-a-friend disabled." msgstr "" -#: cforms-options.php:927 +#: cforms-options.php:960 #, php-format msgid "" "BEFORE turning on this feature, please see the Help section for more details." msgstr "" -#: cforms-options.php:928 +#: cforms-options.php:961 msgid "" "If enabled, new field types will be made available to cover tell-a-friend " "requirements." msgstr "" -#: cforms-options.php:933 +#: cforms-options.php:966 msgid "Enable Tell-A-Friend" msgstr "" -#: cforms-options.php:939 +#: cforms-options.php:972 msgid "T-A-F enable new posts/pages by default" msgstr "" -#: cforms-options.php:943 +#: cforms-options.php:976 msgid "Batch T-A-F dis-/enable
all your previous posts." msgstr "" -#: cforms-options.php:945 +#: cforms-options.php:978 msgid "This will add a T-A-F custom field per post/page." msgstr "" -#: cforms-options.php:945 +#: cforms-options.php:978 msgid "Enable all" msgstr "" -#: cforms-options.php:945 +#: cforms-options.php:978 msgid "Do you really want to enable all previous posts and pages for T-A-F?" msgstr "" -#: cforms-options.php:946 +#: cforms-options.php:979 msgid "This will remove the T-A-F custom field on all posts/pages." msgstr "" -#: cforms-options.php:946 +#: cforms-options.php:979 msgid "Disable all" msgstr "" -#: cforms-options.php:946 +#: cforms-options.php:979 msgid "Do you really want to disable all previous posts and pages for T-A-F?" msgstr "" -#: cforms-options.php:950 +#: cforms-options.php:983 msgid "" "You will find a cforms Tell-A-Friend checkbox on your " "admin/edit page (typically under \"Post/Author\")!
default Wordpress comment form
" "(on posts & pages), allowing your readers to either comment on " @@ -3910,7 +3969,7 @@ msgid "" "strong>!" msgstr "" -#: cforms-options.php:965 +#: cforms-options.php:998 #, php-format msgid "" "There will be additional, comment specific input field types " @@ -3918,28 +3977,28 @@ msgid "" "comment form preset
. Configuration details." msgstr "" -#: cforms-options.php:969 +#: cforms-options.php:1002 msgid "WP comment form" msgstr "" -#: cforms-options.php:970 +#: cforms-options.php:1003 msgid "" "Enable this form to optionally (user determined) act as a WP comment form" msgstr "" -#: cforms-options.php:973 +#: cforms-options.php:1006 msgid "Comment notification" msgstr "" -#: cforms-options.php:974 +#: cforms-options.php:1007 msgid "Extra comment notification (check your autoresponder setting, too!)" msgstr "" -#: cforms-options.php:978 +#: cforms-options.php:1011 msgid "Tell a friend or WP comment? »" msgstr "" -#: cforms-options.php:979 +#: cforms-options.php:1012 #, php-format msgid "" "This feature and T-A-F (above) are mutually exclusive. If you need both " @@ -3947,11 +4006,11 @@ msgid "" "s\" %s>help section on proper use." msgstr "" -#: cforms-options.php:980 +#: cforms-options.php:1013 msgid "Important additional configuration requirements »" msgstr "" -#: cforms-options.php:981 +#: cforms-options.php:1014 #, php-format msgid "" "Please see the extended WP comment options under " @@ -3961,88 +4020,76 @@ msgid "" "want to thank the user for his/her comment ;-) !" msgstr "" -#: cforms-options.php:993 +#: cforms-options.php:1026 msgid "3rd Party Read-Notification Support" msgstr "" -#: cforms-options.php:996 +#: cforms-options.php:1029 #, php-format msgid "" "If you'd like to utilize 3rd party email tracking such as %s or %s, add the " "respective suffix (e.g.: %s) here:" msgstr "" -#: cforms-options.php:1000 +#: cforms-options.php:1033 msgid "Suffix for email tracking" msgstr "" -#: cforms-options.php:1020 +#: cforms-options.php:1053 msgid "Input Field Settings" msgstr "" -#: cforms-options.php:1027 +#: cforms-options.php:1060 msgid "cforms out-of-the-box-form repository" msgstr "" -#: cforms.php:41 +#: cforms.php:48 #, php-format msgid "" "Please go to the cforms admin page and run the update " "process." msgstr "" -#: cforms.php:63 cforms.php:67 lib_functions.php:91 lib_functions.php:94 +#: cforms.php:71 cforms.php:75 lib_functions.php:93 lib_functions.php:96 msgid "cformsII" msgstr "" -#: cforms.php:64 +#: cforms.php:72 msgid "Corrupted Settings" msgstr "" -#: cforms.php:607 +#: cforms.php:667 msgid "reset captcha image" msgstr "" -#: cforms.php:937 +#: cforms.php:999 msgid "Note: This will reset all your input!" msgstr "" -#: cforms.php:1177 cforms.php:1178 cforms.php:1187 cforms.php:1194 +#: cforms.php:1243 cforms.php:1244 cforms.php:1254 cforms.php:1261 msgid "cforms Tell-A-Friend" msgstr "" -#: cforms.php:1248 +#: cforms.php:1317 msgid "Title" msgstr "" -#: cforms.php:1263 +#: cforms.php:1332 msgid "Add cforms default form" msgstr "" -#: cforms.php:1263 +#: cforms.php:1332 msgid "Add form" msgstr "" -#: cforms.php:1320 +#: cforms.php:1392 msgid "Latest version available:" msgstr "" -#: cforms.php:1378 +#: cforms.php:1450 msgid "T-A-F enable this post/page" msgstr "" -#: editor.php:48 editor.php:116 -msgid "placeholder for:" -msgstr "" - -#: editor.php:162 js\insertdialog.php:66 js\insertdialog25.php:68 -msgid "Your forms:" -msgstr "" - -#: editor.php:164 js\insertdialog.php:75 js\insertdialog25.php:77 -msgid "Insert" -msgstr "" - #: lib_activate.php:43 msgid "Website" msgstr "" @@ -4177,103 +4224,111 @@ msgid "" "\"August\",\"September\",\"October\",\"November\",\"December\"" msgstr "" -#: lib_ajax.php:260 lib_nonajax.php:194 +#: lib_ajax.php:266 lib_nonajax.php:192 msgid "Q&A" msgstr "" -#: lib_ajax.php:549 lib_nonajax.php:535 +#: lib_ajax.php:558 lib_nonajax.php:593 msgid "Error occurred while sending the auto confirmation message: " msgstr "" -#: lib_ajax.php:580 lib_nonajax.php:554 +#: lib_ajax.php:589 lib_nonajax.php:612 msgid "Error occurred while sending the message: " msgstr "" -#: lib_aux.php:25 +#: lib_aux.php:38 msgid "hour(s)" msgstr "" -#: lib_aux.php:26 +#: lib_aux.php:39 msgid "minute(s)" msgstr "" -#: lib_aux.php:463 -msgid "Form submitted on" -msgstr "" - -#: lib_aux.php:463 +#: lib_aux.php:537 msgid "View details" msgstr "" -#: lib_aux.php:471 lib_dashboard.php:43 +#: lib_aux.php:550 lib_dashboard.php:42 msgid "No entries yet" msgstr "" -#: lib_aux.php:471 +#: lib_aux.php:550 msgid "You might want to check back in a little while..." msgstr "" -#: lib_aux.php:481 +#: lib_aux.php:560 msgid "New submissions for >>" msgstr "" -#: lib_aux.php:481 +#: lib_aux.php:560 msgid "All new form submissions" msgstr "" -#: lib_aux.php:484 +#: lib_aux.php:563 msgid "This RSS feed provides you with the most recent form submissions." msgstr "" -#: lib_dashboard.php:4 lib_dashboard.php:30 lib_dashboard.php:34 +#: lib_dashboard.php:4 lib_dashboard.php:29 lib_dashboard.php:33 msgid "Recent cforms entries" msgstr "" +#: lib_editor.php:52 lib_editor.php:123 +msgid "placeholder for:" +msgstr "" + +#: lib_editor.php:169 js\insertdialog.php:68 js\insertdialog25.php:70 +msgid "Your forms:" +msgstr "" + +#: lib_editor.php:171 js\insertdialog.php:77 js\insertdialog25.php:79 +msgid "Insert" +msgstr "" + #: lib_functions.php:74 msgid "You do not have the proper privileges to access this page." msgstr "" -#: lib_functions.php:101 +#: lib_functions.php:103 msgid "Tracking" msgstr "" -#: lib_functions.php:102 +#: lib_functions.php:104 msgid "Styling" msgstr "" -#: lib_functions.php:103 +#: lib_functions.php:105 msgid "Help!" msgstr "" -#: lib_functions.php:168 +#: lib_functions.php:166 msgid "" "It appears that cforms was not able to create abspath.php " "in your cforms plugin folder. Please check file/folder permissions (plugins/" "cforms), then re-activate cforms." msgstr "" -#: lib_functions.php:170 +#: lib_functions.php:168 msgid "" "If the problem persists, please create a file (using your preferred text " "editor) manually with the following content:" msgstr "" -#: lib_functions.php:172 +#: lib_functions.php:170 msgid "Save the file as abspath.php and ftp to your cforms folder." msgstr "" -#: lib_functions.php:289 +#: lib_functions.php:294 #, php-format msgid "For more information and support, visit the %s support forum %s. " msgstr "" -#: lib_functions.php:290 +#: lib_functions.php:295 msgid "" "Translation provided by Oliver Seidel, for updates check here." msgstr "" -#: lib_functions.php:306 +#: lib_functions.php:312 msgid "" "In case disabling/enabling doesn't seem to properly set the plugin defaults, " "try login out and back in and don't select the checkbox for " @@ -4380,37 +4435,37 @@ msgstr "" msgid "TAF feature" msgstr "" -#: lib_options_sub.php:28 +#: lib_options_sub.php:31 msgid "" "WP comment form fields only supported when WP comment feature " "turned on!" msgstr "" -#: lib_options_sub.php:33 +#: lib_options_sub.php:36 msgid "TAF fields only supported when TAF feature turned on!" msgstr "" -#: lib_options_sub.php:39 +#: lib_options_sub.php:42 msgid "Only one Visitor verification field is permitted!" msgstr "" -#: lib_options_sub.php:44 +#: lib_options_sub.php:47 msgid "Only one captcha field is permitted!" msgstr "" -#: lib_options_sub.php:49 +#: lib_options_sub.php:52 msgid "Only one CC: field is permitted!" msgstr "" -#: lib_options_sub.php:54 +#: lib_options_sub.php:57 msgid "Only one Multiple Recipients field is permitted!" msgstr "" -#: lib_options_sub.php:54 +#: lib_options_sub.php:57 msgid "" msgstr "" -#: lib_options_sub.php:219 +#: lib_options_sub.php:231 msgid "Form settings updated." msgstr "" @@ -4434,7 +4489,7 @@ msgstr "" msgid "Comment ID not found." msgstr "" -#: lib_WPcomment.php:59 lib_WPcomment.php:208 +#: lib_WPcomment.php:59 lib_WPcomment.php:213 msgid "Sorry, comments are closed for this item." msgstr "" @@ -4442,15 +4497,15 @@ msgstr "" msgid "Comment is on draft." msgstr "" -#: lib_WPcomment.php:93 lib_WPcomment.php:232 +#: lib_WPcomment.php:93 lib_WPcomment.php:237 msgid "Sorry, you must be logged in to post a comment." msgstr "" -#: lib_WPcomment.php:103 +#: lib_WPcomment.php:105 msgid "You've said that before. No need to repeat yourself." msgstr "" -#: lib_WPcomment.php:114 +#: lib_WPcomment.php:116 msgid "You are posting comments too quickly. Slow down." msgstr "" @@ -4498,7 +4553,7 @@ msgstr "" msgid "Migrate now!" msgstr "" -#: js\insertdialog.php:59 js\insertdialog25.php:61 +#: js\insertdialog.php:61 js\insertdialog25.php:63 msgid "Pick a form" msgstr "" @@ -4578,7 +4633,7 @@ msgstr "" msgid "Entry successfully removed" msgstr "" -#: js\include\lib_database_dlentries.php:148 +#: js\include\lib_database_dlentries.php:171 msgid "Form" msgstr "" @@ -4594,31 +4649,27 @@ msgstr "" msgid "close this entry" msgstr "" -#: js\include\lib_database_getentries.php:123 -msgid "Attached file:" -msgstr "" - -#: js\include\lib_database_getentries.php:125 +#: js\include\lib_database_getentries.php:124 msgid "-" msgstr "" -#: js\include\lib_database_getentries.php:133 +#: js\include\lib_database_getentries.php:132 msgid "Submitted via page" msgstr "" -#: js\include\lib_database_getentries.php:137 +#: js\include\lib_database_getentries.php:136 msgid "IP address" msgstr "" -#: js\include\lib_database_getentries.php:138 +#: js\include\lib_database_getentries.php:137 msgid "IP Lookup" msgstr "" -#: js\include\lib_database_getentries.php:149 +#: js\include\lib_database_getentries.php:148 msgid "edit this field" msgstr "" -#: js\include\lib_database_getentries.php:158 +#: js\include\lib_database_getentries.php:157 msgid "Sorry, data not found. Please refresh your data table." msgstr "" diff --git a/cforms-admin.css b/cforms-admin.css index 0d0e9d2..d613cc2 100644 --- a/cforms-admin.css +++ b/cforms-admin.css @@ -12,6 +12,10 @@ font-size:12px; font-family:"Lucida Grande",Arial,Verdana,"Bitstream Vera Sans",sans-serif; } +.corruptedsettings h3 { +margin:2em 0 0; +} + .wrap h2 { /*preWP2.7*/ clear:none; @@ -696,6 +700,7 @@ width:4em; text-align:center; } +input#cforms_rssfields, input#cforms_mp_backtext,input#cforms_mp_resettext { width:15em; } @@ -704,6 +709,18 @@ width:15em; width:auto; } +select#cforms_rsscount{ +width:5em; +text-align:center; +} +select#cforms_rssfields{ +width:330px; +height:8em; +overflow:auto; +display:block; +} + + /**************************************************************** GLOBAL SETTINGS *****************************************************************/ @@ -867,10 +884,6 @@ font-weight:bold; margin:5px 0 2px 0; } -#header { -width:22px; -} - .dataheader, .showformfield { display:inline-block; @@ -1133,6 +1146,10 @@ padding:4px 3px 2px; width:16px; } +.jqmWindow input.chkBoxW { +width:22px; +} + .jqmWindow input:focus { background:#fff2ec; } diff --git a/cforms-database.php b/cforms-database.php index 7ba4818..52d8e36 100644 --- a/cforms-database.php +++ b/cforms-database.php @@ -4,7 +4,7 @@ please see cforms.php for more information */ -### db settings +### DB settings global $wpdb; $wpdb->cformssubmissions = $wpdb->prefix . 'cformssubmissions'; $wpdb->cformsdata = $wpdb->prefix . 'cformsdata'; @@ -12,7 +12,7 @@ ### Check Whether User Can Manage Database check_access_priv('track_cforms'); -### new global settings container, will eventually be the only one! +### New global settings container, will eventually be the only one! $cformsSettings = get_option('cforms_settings'); $plugindir = $cformsSettings['global']['plugindir']; @@ -60,6 +60,7 @@ {separator: true} ], searchitems : [ + {display: '', name : 'id'}, {display: '', name : 'form_id'}, {display: '', name : 'email', isdefault: true}, {display: '', name : 'sub_date'}, @@ -98,6 +99,9 @@ add_action('admin_footer', 'insert_cfmodal_tracking'); function insert_cfmodal_tracking(){ global $cforms_root,$noDISP; + + ### Temp storage for download data + $tempfile = dirname(__FILE__)."/js/include/data.tmp"; ?>
@@ -112,16 +116,23 @@ function insert_cfmodal_tracking(){
+
- -
- + +
+
+
+
-
<?php _e('Install', 'cforms') ?><?php _e('Cancel', 'cforms') ?>
+ '.sprintf( __('File (data.tmp) in %s not writable! %sPlease adjust its file permissions/ownership!','cforms'),'
   '.dirname(__FILE__).'/js/include
','
').'

'; + echo '

'.sprintf( __('...and reload this page afterwards.','cforms')).'

'; + endif; ?> +
<?php _e('Install', 'cforms') ?><?php _e('Cancel', 'cforms') ?>
diff --git a/cforms-global-settings.php b/cforms-global-settings.php index f000dbb..fc39af3 100644 --- a/cforms-global-settings.php +++ b/cforms-global-settings.php @@ -111,6 +111,8 @@ $cformsSettings['global']['cforms_commentInMod'] = $_REQUEST['cforms_commentInMod']; $cformsSettings['global']['cforms_avatar'] = $_REQUEST['cforms_avatar']; + $cformsSettings['global']['cforms_crlf'] = $_REQUEST['cforms_crlf']?'1':'0'; + $smtpsettings[0] = $_REQUEST['cforms_smtp_onoff']?'1':'0'; $smtpsettings[1] = $_REQUEST['cforms_smtp_host']; $smtpsettings[2] = $_REQUEST['cforms_smtp_user']; @@ -251,7 +253,7 @@ - + @@ -284,8 +286,7 @@
-     -
+
   
  @@ -405,11 +406,21 @@
-

+

-

- phpmailerV2native PHP mail() command feel free to configure cforms to utilize an external SMTP mail server to deliver the emails.', 'cforms') ?>

+ +

+ + + + + + +
 />
+ +

phpmailerV2 + native PHP mail() command feel free to configure cforms to utilize an external SMTP mail server to deliver the emails.', 'cforms') ?>

'' && ($userconfirm&32)==0 ){ @@ -510,35 +521,35 @@
- +
- +
- +
- +
- +
@@ -718,7 +729,7 @@

(for a wrong answer)', 'cforms'); ?> - +
@@ -726,7 +737,7 @@

format: Q=A', 'cforms') ?> - +
@@ -764,11 +775,15 @@ - - + + + 20 ? 20:(int)abs($j); ?> + + + - + diff --git a/cforms-help.php b/cforms-help.php index a53606f..d0568ad 100644 --- a/cforms-help.php +++ b/cforms-help.php @@ -13,8 +13,15 @@

-

cforms.', 'cforms'); ?>

-

',' '); ?>

+

+ cforms.', 'cforms'); ?> + ',' '); ?> +

+

+ + <?php _e('Thank you!', 'cforms'); ?> + +

    diff --git a/cforms-options.php b/cforms-options.php index be4bc92..68573c6 100644 --- a/cforms-options.php +++ b/cforms-options.php @@ -248,6 +248,10 @@
    '')?' altmove':''; ?>" title="">  - name="field__name" id="field__name" size="30" value="" /> name="field__name" id="field__name" size="30" value="" />'; + echo ''; if( in_array($field_type,array('hidden','checkboxgroup', 'radiobuttons','fieldsetstart','fieldsetend','ccbox','captcha','verification','textonly')) ) echo ''.__('n/a', 'cforms').''; else - echo ''; + echo ''; if( ! in_array($field_type,array('textfield','youremail','friendsemail','email')) ) echo ''.__('n/a', 'cforms').''; else - echo ''; + echo ''; if( ! in_array($field_type,array('pwfield','textarea','textfield','datepicker','yourname','youremail','friendsname','friendsemail','email','author','url','comment')) ) echo ''.__('n/a', 'cforms').''; else - echo ''; + echo ''; if( ! in_array($field_type,array('pwfield','textarea','textfield','datepicker','checkbox','checkboxgroup','selectbox','multiselectbox','radiobuttons','upload')) ) echo ''.__('n/a', 'cforms').''; else - echo ''; + echo ''; if( ! in_array($field_type,array('pwfield','textarea','textfield','datepicker','checkbox','checkboxgroup','selectbox','multiselectbox','radiobuttons','upload')) ) echo ''.__('n/a', 'cforms').''; else - echo ''; + echo ''; ?>
    @@ -403,9 +407,9 @@

- - - + +

- + - - + +

@@ -444,13 +448,13 @@ ?> - - + + - - + + @@ -580,40 +584,52 @@ + + + + + + + - + - + - + - + - - - - + + - - - + + + - + + + + + + - + @@ -660,7 +676,7 @@ '' || $cformsSettings['form'.$no]['cforms'.$no.'_startdate'] <> '' || $cformsSettings['form'.$no]['cforms'.$no.'_enddate'] <> '' ) : ?> - + @@ -669,7 +685,7 @@ - - - - - - - - - + + + + - - + + + + + + + + + + + + +
Variables allowed.', 'cforms'),'?page='. $plugindir.'/cforms-help.php#variables','onclick="setshow(23)"'); ?>
/>
/>/>
/>/>
/> />
 cf_field_12) with custom ones, either derived from the field label you have provided or by specifically declaring it via [id:XYZ],e.g. Your Name[id:the-name]. This will for instance help to feed data to third party systems (requiring certain input field names in the $_POST variable).', 'cforms') ?>
/>
type="checkbox" id="cforms_taftrick" name="cforms_taftrick" />
 three additional, predefined variables that belong to the Tell-A-Friend feature but can be enabled here without actually turning on T-A-F.', 'cforms'),'?page='. $plugindir.'/cforms-help.php#tafvariables','onclick="setshow(23)"'); ?>
 three additional, predefined variables that belong to the Tell-A-Friend feature but can be enabled here without actually turning on T-A-F.', 'cforms'),'?page='. $plugindir.'/cforms-help.php#tafvariables','onclick="setshow(23)"'); ?>
+ /> +
- />
+ />
/>
/>
@@ -678,15 +694,6 @@
- /> -
@@ -700,22 +707,48 @@
/> />
 Global-Settings! In order to pick & include input fields in your feed you must have at least on submission in the database for reference.', 'cforms'),'',''); ?>
+ 20 ? 20:(int)abs($j); ?> + + +
+ + +
-
'.get_option('siteurl').'?cformsRSS='.$no.urlencode('$#$').$cformsSettings['form'.$no]['cforms'.$no.'_rsskey']; ?> -
'.get_option('siteurl').'?cformsRSS='.$no.urlencode('$#$').$cformsSettings['form'.$no]['cforms'.$no.'_rsskey']; ?>
@@ -930,10 +963,10 @@ - + - + @@ -967,14 +1000,14 @@
 />/>
  />
- + - + diff --git a/cforms.chk b/cforms.chk index 50c0659..5fd6a40 100644 --- a/cforms.chk +++ b/cforms.chk @@ -1,6 +1,8 @@ -Version@10.2@ -Message@GPL Compliance / Maintenance Release
(adding GPL compliance and a few bugfixes) +Version@10.4.1@ +Message@Feature & Maintenance Release - +
Patch 1 available (highly recommended!)
addressing Email/MIME boundary issue and Ajax related tracking issue
-
MUST READ BEFORE UPDATING: BACKUP YOUR WP DATABASE! Do a manual upgrade with proper plugin deactivation and reactivation! Of course as usual, also backup *any* custom files you don't wan't to be overwritten (or leave them in your plugins/cforms-custom/ dir)!
\ No newline at end of file + + +
NOTE: Please deactivate cforms before upgrading! Of course as usual, also backup *any* custom files you don't wan't to be overwritten (or leave them in your personal plugins/cforms-custom/ dir)!
diff --git a/cforms.php b/cforms.php index ac3996f..518d679 100644 --- a/cforms.php +++ b/cforms.php @@ -1,46 +1,56 @@ VERSION HISTORY for what's new and current bugfixes. +Description: cformsII offers unparalleled flexibility in deploying contact forms across your blog. Features include: comprehensive SPAM protection, Ajax support, Backup & Restore, Multi-Recipients, Role Manager support, Database tracking and many more. Please see ____HISTORY.txt for what's new and current bugfixes. Author: Oliver Seidel -Version: 10.2 +Version: 10.4.1 Author URI: http://www.deliciousdays.com + + */ -$localversion = '10.2'; +$localversion = '10.4.1'; +### debug messages +$cfdebug = false; +$cfdebugmsg = ''; ### db settings -global $wpdb, $wp_db_version; +global $wpdb, $wp_db_version, $cformsSettings; + +$cformsSettings = get_option('cforms_settings'); $wpdb->cformssubmissions = $wpdb->prefix . 'cformssubmissions'; $wpdb->cformsdata = $wpdb->prefix . 'cformsdata'; +### admin functions require_once(dirname(__FILE__) . '/lib_functions.php'); -### new global settings container, will eventually be the only one! -global $cformsSettings; -$cformsSettings = get_option('cforms_settings'); -### do a couple of things necessary as part of plugin activation +### update 9x notice? $dummy = __('Please go to the cforms admin page and run the update process.', 'cforms'); add_action('admin_notices', create_function('', 'global $plugindir, $cformsSettings; if (is_array($cformsSettings) && $cformsSettings[\'global\'][\'update\']) echo \'

\' . sprintf( __(\'Please go to the cforms admin page and run the update process.\', \'cforms\') ,\'admin.php?page=\'.$plugindir.\'/cforms-global-settings.php\') . \'

\';') ); + + +### activate cforms function cforms_activate() { cforms_init(); require_once(dirname(__FILE__) . '/lib_activate.php'); @@ -48,14 +58,12 @@ function cforms_activate() { add_action('activate_' . plugin_basename(__FILE__), 'cforms_activate' ); + ### settings corrputed? if ( !is_array($cformsSettings) ){ add_action('admin_menu', 'settings_corrupted'); return; } - - -### if all data has been erased quit function settings_corrupted() { $tmp = basename(dirname(__FILE__)); @@ -73,14 +81,19 @@ function cforms_scripts_corrupted(){ } +### load add'l files require_once (dirname(__FILE__) . '/lib_aux.php'); -require_once (dirname(__FILE__) . '/editor.php'); +require_once (dirname(__FILE__) . '/lib_editor.php'); + + ### http://trac.wordpress.org/ticket/3002 $plugindir = $cformsSettings['global']['plugindir']; $cforms_root = $cformsSettings['global']['cforms_root']; -### multi-page forms + + +### session control for multi-page form add_action('template_redirect', 'start_cforms_session'); function start_cforms_session() { @session_cache_limiter('private, must-revalidate'); @@ -101,9 +114,17 @@ function cforms($args = '',$no = '') { $oldno = ($no=='1')?'':$no; ### remeber old val, to reset session when in new MP form + ##debug + db("Original form on page #$oldno"); + ### multi page form: overwrite $no $isWPcommentForm = (substr($cformsSettings['form'.$oldno]['cforms'.$oldno.'_tellafriend'],0,1)=='2'); $isMPform = $cformsSettings['form'.$oldno]['mp']['cforms'.$oldno.'_mp_form']; + $isTAF = substr($cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'],0,1); + + ##debug + db("Comment form = $isWPcommentForm"); + db("Multi-page form = $isMPform"); if( $isMPform && is_array($_SESSION['cforms']) && $_SESSION['cforms']['current']>0 && !$isWPcommentForm ) $no = $_SESSION['cforms']['current']; @@ -111,41 +132,45 @@ function cforms($args = '',$no = '') { ### Safety, in case someone uses '1' for the default form $no = ($no=='1')?'':$no; + ##debug + db("Switch to form #$no"); + $moveBack=false; ### multi page form: reset button if( isset($_REQUEST['resetbutton'.$no]) && is_array($_SESSION['cforms']) ){ - $no = $_SESSION['cforms']['first']; + $no = $oldno; unset($_SESSION['cforms']); $_SESSION['cforms']['current']=0; - $_SESSION['cforms']['first']=$no; + $_SESSION['cforms']['first']=$oldno; $_SESSION['cforms']['pos']=1; + ##debug + db("Reset-Button pressed"); } - else - ### multi page form: back button + else ### multi page form: back button if( isset($_REQUEST['backbutton'.$no]) && isset($_SESSION['cforms']) && ($_SESSION['cforms']['pos']-1)>=0){ $no = $_SESSION['cforms']['list'][($_SESSION['cforms']['pos']--)-1]; $_SESSION['cforms']['current']=$no; $moveBack=true; + ##debug + db("Back-Button pressed"); } - else ### must be else otherwise back would also trigger reset! - ### multi page form: init, no session active - if( $isMPform && $cformsSettings['form'.$oldno]['mp']['cforms'.$oldno.'_mp_first'] ){ - - if ( is_array($_SESSION['cforms']) && $_SESSION['cforms']['first']<>$oldno ){ - $no = ($oldno=='1')?'':$oldno; ### restore old val - unset($_SESSION['cforms']); + else ### mp init: must be mp, first & not submitted! + if( $isMPform && $cformsSettings['form'.$oldno]['mp']['cforms'.$oldno.'_mp_first'] && !isset($_REQUEST['sendbutton'.$no]) ){ + ##debug + db("Current form is *first* MP-form"); + db("Session found, you're on the first form and session is reset!"); - $_SESSION['cforms']['current']=0; - $_SESSION['cforms']['first']=$no; - $_SESSION['cforms']['pos']=1; - } - $moveBack=true; + $no = ($oldno=='1')?'':$oldno; ### restore old val + unset($_SESSION['cforms']); + $_SESSION['cforms']['current']=0; + $_SESSION['cforms']['first']=$no; + $_SESSION['cforms']['pos']=1; } -##debug -##echo "
 request( current: $no) ".print_r($_REQUEST,1)."

"; -##echo "
".print_r($_SESSION,1)."

"; + ##debug + db(print_r($_SESSION,1)); + ### custom fields support if ( !(strpos($no,'+') === false) ) { @@ -158,10 +183,11 @@ function cforms($args = '',$no = '') { $field_count = $cformsSettings['form'.$no]['cforms'.$no.'_count_fields']; } + $content = ''; $err=0; - $filefield=0; ### for multiple file upload fields + $filefield=0; $validations = array(); $all_valid = 1; @@ -172,28 +198,34 @@ function cforms($args = '',$no = '') { $custom_error=''; $usermessage_class=''; - ### ??? check for WP2.0.2 - if ( $wp_db_version >= 3440 && function_exists('wp_get_current_user') ) + + ### get user credentials + if ( function_exists('wp_get_current_user') ) $user = wp_get_current_user(); - if( isset($_REQUEST['sendbutton'.$no]) ) { /* alternative sending: both events r ok! */ + ### non Ajax method + if( isset($_REQUEST['sendbutton'.$no]) ) { require_once (dirname(__FILE__) . '/lib_nonajax.php'); - $usermessage_class = $all_valid?' success':' failure'; - } - - if ( $isWPcommentForm && $send2author ) ### called from lib_WPcomments ? + ### called from lib_WPcomments ? + if ( $isWPcommentForm && $send2author ) return $all_valid; + + + ### ### ### paint form ### + ### $success=false; - if ( isset($_GET['cfemail']) && $isWPcommentForm ){ ### fix for WP Comment (loading after redirect) + + ### fix for WP Comment (loading after redirect) + if ( isset($_GET['cfemail']) && $isWPcommentForm ){ $usermessage_class = ' success'; $success=true; if ( $_GET['cfemail']=='sent' ) @@ -210,11 +242,15 @@ function cforms($args = '',$no = '') { $ntt="\n\t\t"; $nttt="\n\t\t\t"; - ### either show message above or below + ### either show info message above or below $usermessage_text = check_default_vars($usermessage_text,$no); $usermessage_text = check_cust_vars($usermessage_text,$track,$no); $umc = ($usermessage_class<>''&&$no>1)?' '.$usermessage_class.$no:''; + ##debug + db("User info for form #$no"); + + ### where to show message if( substr($cformsSettings['form'.$no]['cforms'.$no.'_showpos'],0,1)=='y' ) { $content .= $ntt . '
' . $usermessage_text . '
'; $actiontarget = 'a'; @@ -222,14 +258,20 @@ function cforms($args = '',$no = '') { $actiontarget = 'b'; - ### multi page form: overwrite $no + ### multi page form: overwrite $no, move on to next form if( $all_valid && isset($_REQUEST['sendbutton'.$no]) ){ - $oldcurrent = $no; ### default - if( isset($_SESSION['cforms']) && $_SESSION['cforms']['current']>0 && $cformsSettings['form'.$no]['mp']['cforms'.$no.'_mp_next']<>-1 ){ + $isMPformNext=false; ### default + $oldcurrent = $no; + if( $isMPform && isset($_SESSION['cforms']) && $_SESSION['cforms']['current']>0 && $cformsSettings['form'.$no]['mp']['cforms'.$no.'_mp_next']<>-1 ){ + + $isMPformNext=true; $no = check_form_name( $cformsSettings['form'.$no]['mp']['cforms'.$no.'_mp_next'] ); + ##debug + db("Session active and now moving on to form #$no"); + ### logic: possibly change next form if ( function_exists('my_cforms_logic') ) $no = my_cforms_logic($trackf, $no,"nextForm"); ### use trackf! @@ -239,7 +281,10 @@ function cforms($args = '',$no = '') { $field_count = $cformsSettings['form'.$no]['cforms'.$no.'_count_fields']; - }elseif( $cformsSettings['form'.$no]['mp']['cforms'.$no.'_mp_next']==-1 ){ + }elseif( $isMPform && $cformsSettings['form'.$no]['mp']['cforms'.$no.'_mp_next']==-1 ){ + + ##debug + db("Session was active but is being reset now"); $oldcurrent = $no; @@ -256,13 +301,19 @@ function cforms($args = '',$no = '') { } -##debug -## echo "
".print_r($_SESSION,1)."

"; -## echo "
".print_r($track,1)."

"; + ##debug + db("All good, currently on form #$no"); + + ##debug: optional + ## db(print_r($_SESSION,1)); + ## db(print_r($track,1)); ### redirect == 2 : hide form? || or if max entries reached! w/ SESSION support if#2 - if ( ($cformsSettings['form'.$no]['cforms'.$no.'_redirect']==2 && isset($_REQUEST['sendbutton'.$no]) && $all_valid) || - ($cformsSettings['form'.$oldcurrent]['cforms'.$oldcurrent.'_redirect']==2 && isset($_REQUEST['sendbutton'.$oldcurrent]) && $all_valid) ) + if ( $all_valid && ( + ( $cformsSettings['form'.$no]['cforms'.$no.'_redirect']==2 && isset($_REQUEST['sendbutton'.$no]) ) || + ( $cformsSettings['form'.$oldcurrent]['cforms'.$oldcurrent.'_redirect']==2 && isset($_REQUEST['sendbutton'.$oldcurrent]) ) + ) + ) return $content; else if ( ($cformsSettings['form'.$no]['cforms'.$no.'_maxentries']<>'' && get_cforms_submission_left($no)<=0) || !cf_check_time($no) ){ @@ -273,6 +324,8 @@ function cforms($args = '',$no = '') { } + + ### alternative form action $alt_action=false; if( $cformsSettings['form'.$no]['cforms'.$no.'_action']=='1' ) { @@ -285,7 +338,9 @@ function cforms($args = '',$no = '') { $action = get_current_page(false) . '#usermessage'. $no . $actiontarget; - $content .= $ntt . '' . $nl; + + ### start with form tag + $content .= $ntt . '' . $nl; ### Session item counter (for default values) $sItem=1; @@ -325,9 +380,7 @@ function cforms($args = '',$no = '') { $fielderr = $obj[1]; if ( $fielderr <> '') { - switch ( $field_type ) { - case 'upload': $custom_error .= 'cf_uploadfile' . $no . '-'. $i . '$#$'.$fielderr.'|'; break; @@ -356,13 +409,14 @@ function cforms($args = '',$no = '') { $custom_error .= '$#$'.$fielderr.'|'; break; } - } + ### check for title attrib $obj = explode('|title:', $obj[0],2); $fieldTitle = ($obj[1]<>'')?' title="'.str_replace('"','"',stripslashes($obj[1])).'"':''; + ### special treatment for selectboxes if ( in_array($field_type,array('multiselectbox','selectbox','radiobuttons','send2author','luv','subscribe','checkbox','checkboxgroup','ccbox','emailtobox')) ){ @@ -413,7 +467,8 @@ function cforms($args = '',$no = '') { $field_name = $obj[0]; } - ### Label ID's + + ### label ID's $labelIDx = ''; $labelID = ($cformsSettings['global']['cforms_labelID']=='1')?' id="label-'.$no.'-'.$i.'"':''; @@ -438,7 +493,9 @@ function cforms($args = '',$no = '') { } else $input_id = $input_name = 'cf'.$no.'_field_'.$i; + $field_class = ''; + $field_value = ''; switch ($field_type){ case 'luv': @@ -488,6 +545,7 @@ function cforms($args = '',$no = '') { } + ### additional field classes if ( $field_disabled ) $field_class .= ' disabled'; if ( $field_readonly ) $field_class .= ' readonly'; @@ -495,17 +553,14 @@ function cforms($args = '',$no = '') { if ( $field_required ) $field_class .= ' fldrequired'; - $field_value = ''; - - ### an error ocurred: + ### error ? $liERR = $insertErr = ''; ### only for mp forms - if( $moveBack ){ - if( ! in_array($field_type,array('textonly')) ) + if( $moveBack || $isMPformNext ) $field_value = htmlspecialchars( stripslashes( $_SESSION['cforms']['cf_form'.$no][ $_SESSION['cforms']['cf_form'.$no]['$$$'.($sItem++)] ] ) ); - } + if( !$all_valid ){ ### errors... @@ -538,18 +593,23 @@ function cforms($args = '',$no = '') { } + ### print label only for non "textonly" fields! Skip some others too, and handle them below indiv. if( ! in_array($field_type,array('hidden','textonly','fieldsetstart','fieldsetend','ccbox','luv','subscribe','checkbox','checkboxgroup','send2author','radiobuttons')) ) $content .= $nttt . ''.$insertErr.'' . stripslashes(($field_name)) . ''; - if ( $field_value=='' && $defaultvalue<>'' ) ### if not reloaded (due to err) then use default values + ### if not reloaded (due to err) then use default values + if ( $field_value=='' && $defaultvalue<>'' ) $field_value=$defaultvalue; + ### field disabled or readonly, greyed out? $disabled = $field_disabled?' disabled="disabled"':''; $readonly = $field_readonly?' readonly="readonly"':''; + + ### add input field $dp = ''; $naming = false; $field = ''; @@ -653,15 +713,7 @@ function cforms($args = '',$no = '') { break; case "comment": - $onfocus = $field_clear?' onfocus="clearField(this)" onblur="setField(this)"' : ''; - - $field = '' . $field_value . ''; - if ( $reg_exp<>'' ) - $field .= ''; - break; - case "textarea": - $onfocus = $field_clear?' onfocus="clearField(this)" onblur="setField(this)"' : ''; $field = '' . $field_value . ''; @@ -730,7 +782,7 @@ function cforms($args = '',$no = '') { $id=1; $j=0; ### mp session support - if ( $moveBack ) + if ( $moveBack || $isMPformNext ) $field_value = explode(',',$field_value); foreach( $options as $option ) { @@ -741,7 +793,7 @@ function cforms($args = '',$no = '') { if ( $opt[1]=='' ) $opt[1] = $opt[0]; $checked = ''; - if( $moveBack ){ + if( $moveBack || $isMPformNext ){ if ( in_array($opt[1],array_values($field_value)) ) $checked = 'checked="checked"'; } elseif ( is_array($field_value) ){ @@ -774,7 +826,7 @@ function cforms($args = '',$no = '') { $j=0; ### mp session support - if ( $moveBack ) + if ( $moveBack || $isMPformNext ) $field_value = explode(',',$field_value); foreach( $options as $option ) { @@ -785,7 +837,7 @@ function cforms($args = '',$no = '') { if ( $opt[1]=='' ) $opt[1] = $opt[0]; $checked = ''; - if( $moveBack ){ + if( $moveBack || $isMPformNext ){ if ( in_array($opt[1],array_values($field_value)) ) $checked = 'selected="selected"'; } elseif ( is_array($field_value) ){ @@ -891,6 +943,7 @@ function cforms($args = '',$no = '') { } ### all fields + ### close any open tags if ( $ol ) $content .= $ntt . ''; if ( $fieldsetopen ) @@ -906,23 +959,31 @@ function cforms($args = '',$no = '') { $ajaxenabled = ''; - ### just to appease "strict" + ### just to appease html "strict" $content .= $ntt . '
'.$nttt.' '; + ### if visitor verification turned on: if ( $verification ) $content .= $nttt .''; + ### custom error $custom_error=substr($cformsSettings['form'.$no]['cforms'.$no.'_showpos'],2,1).substr($cformsSettings['form'.$no]['cforms'.$no.'_showpos'],3,1).substr($cformsSettings['form'.$no]['cforms'.$no.'_showpos'],4,1).$custom_error; - if ( $cformsSettings['form'.$no]['cforms'.$no.'_tellafriend']>0 ){ + + ### TAF or WP comment or Extra Fields + if ( (int)$isTAF > 0 ){ + + $nono = $isWPcommentForm?'':$no; + if ( $isWPcommentForm ) - $nono = ''; else $nono = $no; + $content .= $nttt . ''; $content .= $nttt . '' . $nttt . ''; } + $content .= $nttt . ''. $nttt . ''. $nttt . ''. @@ -931,23 +992,27 @@ function cforms($args = '',$no = '') { $content .= $ntt . '
'; + ### multi page form: reset $reset=''; if( $cformsSettings['form'.$no]['mp']['cforms'.$no.'_mp_form'] && $cformsSettings['form'.$no]['mp']['cforms'.$no.'_mp_reset'] ) $reset = ''; + ### multi page form: back $back=''; if( $cformsSettings['form'.$no]['mp']['cforms'.$no.'_mp_form'] && $cformsSettings['form'.$no]['mp']['cforms'.$no.'_mp_back'] ) $back = ''; + $content .= $ntt . '

'.$reset.$back.'

'; $content .= $ntt . ''; - ### link love? you bet ;) - $content .= $ntt . '

cforms contact form by delicious:days

'; + + ### Thank you for leaving this in place + $content .= $ntt . '

cforms contact form by delicious:days

'; ### either show message above or below @@ -957,10 +1022,14 @@ function cforms($args = '',$no = '') { if( substr($cformsSettings['form'.$no]['cforms'.$no.'_showpos'],1,1)=='y' && !($success&&$cformsSettings['form'.$no]['cforms'.$no.'_redirect']==2)) $content .= $tt . '
' . $usermessage_text . '
' . $nl; + ### flush debug messages + dbflush(); + return $content; } + ### some css for positioning the form elements function cforms_style() { global $wp_query, $cforms_root, $localversion, $cformsSettings; @@ -997,18 +1066,21 @@ function cforms_style() { 'TEXT_CLOSE:"'.stripslashes($nav[4]).'",'. 'TEXT_CHOOSE_DATE:"'.stripslashes($nav[5]).'",'. 'ROOT:"'.$cforms_root.'"};'."\n". - "\t".'cforms(function() { Date.format = "dd/mm/yyyy"; cforms(".cf_date").datePicker( {startDate:"01/01/1899",verticalOffset:5,horizontalOffset:5} ); Date.format = "'.$dformat.'"; });'."\n". + "\t".'cforms(function() { Date.format = "dd/mm/yyyy"; cforms(".cf_date").datePicker( {startDate:"01/01/1899",verticalOffset:10,horizontalOffset:5,horizontalPosition:1 } ); Date.format = "'.$dformat.'"; });'."\n". ''."\n"; } echo ''."\n\n"; } } + +### custom routine to find last item function findlast( $haystack,$needle,$offset=NULL ){ if( ($pos = strpos( strrev($haystack) , strrev($needle) , $offset)) === false ) return false; return strlen($haystack) - $pos - strlen($needle); } + ### replace placeholder by generated code function cforms_insert( $content ) { global $post, $cformsSettings; $newcontent=''; @@ -1078,24 +1150,26 @@ function cforms_insert( $content ) { return $content; } + ### build field_stat string from array (for custom forms) -function build_fstat($fields) { +function build_fstat($f) { $cfarray = array(); - for($i=0; $iID; if ( !$pid ) - echo cforms('',$no); + echo cforms($custom,$no.$c); else - echo check_for_taf($no,$pid)?cforms('',$no):''; + echo check_for_taf($no,$pid)?cforms($custom,$no.$c):''; } + ### inserts a custom cform anywhere you want function insert_custom_cform($fields='',$no='') { - global $post; - - $no = ($no=='0')?'':$no; ### safety net - $no = check_form_name($no); - - if ( isset($_GET['pid']) ) - $pid = $_GET['pid']; - else if ($post->ID == 0) - $pid = false; - else - $pid = $post->ID; - - if ( !$pid ) - echo cforms($fields,$no.'+'); - else - echo check_for_taf($no,$pid)?cforms($fields,$no.'+'):''; + insert_cform($no, $fields, '+'); } + ### check form names/id's function check_form_name($no) { @@ -1151,6 +1212,7 @@ function check_form_name($no) { return ''; } + ### check if t-f-a is set function check_for_taf($no,$pid) { global $cformsSettings; @@ -1162,22 +1224,27 @@ function check_for_taf($no,$pid) { return ( $tmp["tell-a-friend"][0] == '1' )?true:false; } + ### public function: check if post is t-f-a enabled function is_tellafriend($pid) { $tmp = get_post_custom($pid); return ($tmp["tell-a-friend"][0]=='1')?true:false; } + ### WP 2.7 admin menu hook function cforms_post_box(){ global $tafstring; echo $tafstring; } + + function add_cforms_post_boxes(){ add_meta_box('cformspostbox', __('cforms Tell-A-Friend', 'cforms'), 'cforms_post_box', 'post', 'normal', 'high'); add_meta_box('cformspostbox', __('cforms Tell-A-Friend', 'cforms'), 'cforms_post_box', 'page', 'normal', 'high'); } + ### up to WP 2.7 and lower function taf_admin() { global $wp_db_version, $tafstring; @@ -1198,6 +1265,7 @@ function taf_admin() { } } + ### Add Tell A Friend processing function enable_tellafriend($post_ID) { global $wpdb; @@ -1213,6 +1281,7 @@ function enable_tellafriend($post_ID) { delete_post_meta($post_ID, 'tell-a-friend'); } + ### cforms widget function widget_cforms_init() { @@ -1265,6 +1334,7 @@ function widget_cforms_options($no) { } + ### get # of submission left (max subs) function get_cforms_submission_left($no='') { global $wpdb, $cformsSettings; @@ -1283,6 +1353,7 @@ function get_cforms_submission_left($no='') { return 0; } + ### get current page function get_request_uri() { $request_uri = $_SERVER['REQUEST_URI']; @@ -1295,6 +1366,7 @@ function get_request_uri() { return $request_uri; } + ### PLUGIN VERSION CHECK ON PLUGINS PAGE add_action( 'after_plugin_row', 'cf_check_plugin_version' ); function cf_check_plugin_version($plugin) @@ -1317,9 +1389,8 @@ function cf_check_plugin_version($plugin) if( (version_compare(strval($theVersion), strval($version), '>') == 1) ) { - $msg = __("Latest version available:", "sforum").' '.$theVersion.'
'.$theMessage; - $msg.= '
cforms by delicious:days'; - echo '
'; + $msg = __("Latest version available:", "sforum").' '.$theVersion.' - '.$theMessage; + echo ''; } else { return; } @@ -1327,6 +1398,7 @@ function cf_check_plugin_version($plugin) } } + ### add actions global $tafstring; if (function_exists('add_action')){ @@ -1395,6 +1467,8 @@ function cf_check_plugin_version($plugin) } + +### attaching to filters add_filter('wp_head', 'cforms_style'); add_filter('the_content', 'cforms_insert',10); -?> \ No newline at end of file +?> diff --git a/images/donate.png b/images/donate.png new file mode 100644 index 0000000000000000000000000000000000000000..57093b21f6d5ebd8fbd4b35733a94205a4e5a5e4 GIT binary patch literal 5472 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.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('B 1p(3L){f(7H)2i(3L)}B 3i(){1p("3i() 58..");h A;h 33=1c 1u(\'3x.2J.6.0\',\'3x.2J.3.0\',\'3x.2J\',\'59.2J\');L(h i=0;i<33.C;i++){2s{A=1c 5b(33[i])}2t(e){A=1Z}}f(!A&&2Y 3N!="4l")A=1c 3N();f(!A)1p("4U 3V 82 5d 3D.");v A}h 29=1c 1u();B 5e(){L(h i=0;i<29.C;i++)29[i].6V()}B 2x(1Q,1a){h i,x,n;h 1d;h 1l;h 2Q;1p("5g 2x().."+1o+"/"+2W);2Q=2W;f(2Y(1o)=="4l"||1o=="")1o="4h";1d=5h;f(1o=="4h"){f(1d.1M("?")==-1)1d+="?3c="+1J(1Q);u 1d+="&3c="+1J(1Q);1d+="&3Q="+1J(2W);1d+="&49="+1c 4c().43();L(i=0;i<1a.C-1;i++)1d+="&46[]="+1J(1a[i]);1l=1Z}u f(1o=="3j"){1l="3c="+1J(1Q);1l+="&3Q="+1J(2W);1l+="&49="+1c 4c().43();L(i=0;i<1a.C-1;i++)1l=1l+"&46[]="+1J(1a[i])}u{2i("5m 5n 2r: "+1o)}x=3i();f(x==1Z){f(40!=""){2H.2m=40;v J}u{1p("5o 5T 3D L 51 5p:\\n"+5r.5s);v J}}u{x.5t(1o,1d,1b);29[29.C]=x;f(1o=="3j"){x.3T("5u","3j "+1d+" 5j/1.1");x.3T("5x-83","5y/x-81-1w-5B")}x.5C=B(){f(x.5D!=4)v;1p("5E "+x.4Z);h 2T;h V;h 2S=x.4Z.K(/^\\s*|\\s*$/g,"");h 1H=(2S.3U(0)>5G)?1:0;2T=2S.1v(0+1H);V=2S.1m(2+1H);f(2T==""){}u f(2T=="-")2i("5J: "+V);u{f(2Q!="")k.o(2Q).25=3z(V);u{2s{h 2p;h 2v=J;f(2Y 1a[1a.C-1]=="3D"){2p=1a[1a.C-1].2p;2v=1a[1a.C-1].2v}u{2p=1a[1a.C-1]}2p(3z(V),2v)}2t(e){1p("7L 5O "+e+": 4U 3V 3z "+V)}}}}}1p(1Q+" 1d = "+1d+"*/5R = "+1l);x.5U(1l);1p(1Q+" 1L..");5W x;v 1b}B 3G(){2x("3w",3G.4N)}B 34(){2x("3X",34.4N)}B 3X(m){34(m,3Y)}B 3Y(4O){m=4O.1X(\'|\');k.o(\'5Y\'+m[1]).60=m[2]+\'&61=\'+4K.62(4K.7n()*65)}B 3k(m,U,M,4G){k.o(\'1C\'+m).1F.2U="3M";k.o(\'1C\'+m).3y=J;f(M!=\'\')M=\'<4H>\'+M+\'\';U=3o(41(U.E))+M;P=U.K(/(\\r\\n)/g,\'<4A />\');1e=\'1y\'+m;1O=(4V(m)>1)?\' 2C\'+m:\'\';f(k.o(1e+\'a\'))k.o(1e+\'a\').F="1W 2C"+1O;f(k.o(1e+\'b\'))k.o(1e+\'b\').F="1W 2C"+1O;2u(1e,P.K(/\\\\/g,""),\'\');U=U.K(/\\\\/g,"");f(k.o(\'66\'+m).E.1v(4G)==\'y\'){U=U.K(/<1i>/g,"\\r\\n");U=U.K(/<.?4a>/g,\'*\');U=U.K(/(<([^>]+)>)/38,\'\');U=U.K(/&4J;/38,\'\');2i(U)}}B 68(1x){f(1x.4I==1x.E)1x.E=\'\'};B 69(1x){f(1x.E==\'\')1x.E=1x.4I};B 6c(m,3h){f(!m)m=\'\';1e=\'1y\'+m;f(k.o(1e+\'a\')){k.o(1e+\'a\').F="1W 1L"}f(k.o(1e+\'b\')){k.o(1e+\'b\').F="1W 1L"}1L=3o(41(k.o(\'6d\'+m).E));1L=1L.K(/\\\\/g,"");B 47(2G,2g){h 1j="";2s{f(k.3n&&k.3n.4F){1j=k.3n.4F(2G,"").6e(2g)}u f(2G.44){2g=2g.K(/\\-(\\w)/g,B(6f,4E){v 4E.6i()});1j=2G.44[2g]}}2t(4P){1j=""}f(1j&&(1j.D(/6j/)||1j.D(/6k/)))v 1j.1m(0,1j.C-2);u v 1j}B 4b(37,1g){f(1g){h 48=47(1g,\'6m-6n\');f(48==37)v 1b;u f(1g.1B&&1g.1B.3S.1h()!="6o")v 4b(37,1g.1B)}v J}h 3t=1c 1u();h 1R=1c 1u();h 3q=0;h 2w=1c 1u();4u=k.o(\'2A\'+m).E.1V(3);4B=k.o(\'2A\'+m).E.1V(0,1);3m=k.o(\'2A\'+m).E.1V(1,1);4w=k.o(\'2A\'+m).E.1V(2,1);h 2e=6p(4u);2e=2e.1X(\'|\');L(i=0;i<2e.C;i++){3e=2e[i].1X(\'$#$\');2w[3e[0]]=3e[1]}M=\'\';h 6r=1c 2N(\'^.*6s([0-9]{1,3})$\');f(2u(1e,1L)){h 19=1b;h 2y=J;h 4q=1c 2N(\'^[\\\\w+-3b\\.]+@[\\\\w-3b]+[\\.][\\\\w-3b\\.]+$\');l=k.o(\'1K\'+m+\'1w\').2O(\'1i\');L(h i=0;i0)l[0].1B.6H(l[0]);l=k.o(\'1K\'+m+\'1w\').2O(\'*\');N=J;L(h i=0,j=l.C;i\'+2M+\' &4J;\';u v M+\'<1i>\'+2M+\'\'}u v M}B 4L(){L(n=0;n<1R.C;n++){f(k.o(1R[n]))k.o(1R[n]).7k(3t[n],k.o(1R[n]).7o)}}}B 4M(I){I=I.K(/\\\\\'/g,\'\\\'\');I=I.K(/\\\\"/g,\'"\');I=I.K(/\\\\\\\\/g,\'\\\\\');I=I.K(/\\\\0/g,\'\\0\');v I}B 2u(2j,P,7q){2s{f(k.o(2j+\'a\'))k.o(2j+\'a\').25=P;f(k.o(2j+\'b\'))k.o(2j+\'b\').25=P;v 1b}2t(4P){v J}}B 3w(m){h 1s=1c 2N(\'[$][#][$]\',[\'g\']);h 1r=\'$#$\';f(m==\'\')H=\'1\';u H=m;l=k.o(\'1K\'+m+\'1w\').2O(\'*\');L(h i=0,j=l.C;i1)H=H+1r+Y.1m(0,Y.C-1);u H=H+1r+"-"}u H=H+1r+(l[i].28?((l[i].E!="")?l[i].E:"X"):"-")}u f(18=="2R"){Y=l[i].28?((l[i].E!="")?l[i].E:"X"):\'\';2d(i=0;i--){h 2P=k.o(1S).1U[i];f(2P.5k!=\'3\'&&2P.3S.1h()==\'1i\'){f(2P.F.D(/1G/))1G=\'1G\';i=-1}}f(1G==\'1G\')2q=2q.K(\'3W="1G"\',\'\');k.o(1S).25=k.o(1S).25+2q;f(5v.45)45.5z()}h 27=2q.D(/5F-5H-(51|5K)-5M(s|-)[^" ]+/);f(27!=1Z&&27[0]!=\'\'&&k.o(27[0])){k.o(27[0]).1F.3F=\'5P\'}}36=J;1O=(4V(m)>1)?\' \'+1E+m:\'\';f(k.o(\'1y\'+m+\'a\')){k.o(\'1y\'+m+\'a\').F="1W "+1E+1O;36=1b}f(k.o(\'1y\'+m+\'b\')&&!(2L&&36))k.o(\'1y\'+m+\'b\').F="1W "+1E+1O;2u(\'1y\'+m,P,\'\');f(2L){k.o(\'1K\'+m+\'1w\').1F.3F=\'42\';k.o(\'6a\'+m).1F.3F=\'42\';2H.2m=\'#1y\'+m+\'a\'}f(4z==\'y\'){P=P.K(/<4A.?\\/>/g,\'\\r\\n\');P=P.K(/(<.?4a>|<.?b>)/g,\'*\');P=P.K(/(<([^>]+)>)/38,\'\');2i(P)}}h 4i=0;h 50="";h 1f=8;B 2B(s){v 3g(1I(26(s),s.C*1f))}B 6t(s){v 3l(1I(26(s),s.C*1f))}B 6v(s){v 3C(1I(26(s),s.C*1f))}B 6w(1n,V){v 3g(2I(1n,V))}B 6x(1n,V){v 3l(2I(1n,V))}B 6A(1n,V){v 3C(2I(1n,V))}B 6B(){v 2B("6D")=="6E"}B 1I(x,2h){x[2h>>5]|=6G<<((2h)%32);x[(((2h+64)>>>9)<<4)+14]=2h;h a=6J;h b=-6L;h c=-6N;h d=6O;L(h i=0;i16)24=1I(24,1n.C*1f);h 3v=1u(16),3B=1u(16);L(h i=0;i<16;i++){3v[i]=24[i]^7i;3B[i]=24[i]^7s}h 4W=1I(3v.4T(26(V)),4Y+V.C*1f);v 1I(3B.4T(4W),4Y+7R)}B 1q(x,y){h 3r=(x&2Z)+(y&2Z);h 3J=(x>>16)+(y>>16)+(3r>>16);v(3J<<16)|(3r&2Z)}B 3O(30,31){v(30<<31)|(30>>>(32-31))}B 26(I){h 1Y=1u();h 2z=(1<<1f)-1;L(h i=0;i>5]|=(I.3U(i/1f)&2z)<<(i%32);v 1Y}B 3C(1Y){h I="";h 2z=(1<<1f)-1;L(h i=0;i<1Y.C*32;i+=1f)I+=5Z.6b((1Y[i>>5]>>>(i%32))&2z);v I}B 3g(1k){h 3s=4i?"6C":"6I";h I="";L(h i=0;i<1k.C*4;i++){I+=3s.1v((1k[i>>2]>>((i%4)*8+4))&4y)+3s.1v((1k[i>>2]>>((i%4)*8))&4y)}v I}B 3l(1k){h 3R="7a+/";h I="";L(h i=0;i<1k.C*4;i+=3){h 3Z=(((1k[i>>2]>>8*(i%4))&3u)<<16)|(((1k[i+1>>2]>>8*((i+1)%4))&3u)<<8)|((1k[i+2>>2]>>8*((i+2)%4))&3u);L(h j=0;j<4;j++){f(i*8+j*6>1k.C*32)I+=50;u I+=3R.1v((3Z>>6*(3-j))&6h)}}v I}B 4s(m){h 3E="6U"+m+"=";h 35=k.7z.1X(\';\');L(h i=0;i<35.C;i++){h c=35[i];2d(c.1v(0)==\' \')c=c.1m(1,c.C);f(c.1M(3E)==0)v 3o(c.1m(3E.C,c.C))}v\'\'}',62,500,'|||||||||||||||if||var|||document|objColl|no||getElementById||||||else|return||||||function|length|match|value|className|newclass|params|str|false|replace|for|custom_error|last_one|md5_gg|stringXHTML|md5_hh|md5_ii|md5_ff|temp|err|data|message||group|id|||||||||typ|all_valid|args|true|new|uri|msgbox|chrsz|el|toLowerCase|li|strValue|binarray|post_data|substring|key|sajax_request_type|sajax_debug|safe_add|prefix|regexp|name|Array|charAt|form|thefield|usermessage|check_for_customerr|fld|parentNode|sendbutton|nodeName|result|style|alt|offset|core_md5|encodeURIComponent|cforms|waiting|indexOf|cf_error|ucm|cf_errortxt|func_name|insert_err_p|commentParent|obj_regexp|childNodes|substr|cf_info|split|bin|null|||||bkey|innerHTML|str2binl|dEl|checked|sajax_requests|parent_el|ul|cforms_captcha|while|error_container|cforms_q|strCssRule|len|alert|elementId|all_child_obj|md5_cmn|href|end|hidden|callback|newcommentText|type|try|catch|doInnerXHTML|extra_data|all_custom_error|sajax_do_call|code_err|mask|cf_customerr|hex_md5|failure|label|newcomment|secinput|oElm|location|core_hmac_md5|XMLHTTP|INPval|hide|gotone|RegExp|getElementsByTagName|elLi|target_id|radio|txt|status|cursor|cf|sajax_target_id|box|typeof|0xFFFF|num|cnt||msxmlhttp|x_reset_captcha|ca|isA|col|ig|cformselect|single|_|rs|fldrequired|keyvalue|cookie_part|binl2hex|upload|sajax_init_object|POST|call_err|binl2b64|show_err_ins|defaultView|unescape|cl|insert_err_count|lsw|hex_tab|insert_err|0xFF|ipad|cforms_submitcomment|Msxml2|disabled|eval|select|opad|binl2str|object|nameEQ|display|x_cforms_submitcomment|isParentChkBoxGroup|cforms_setsuccessmessage|msw|success|text|auto|XMLHttpRequest|bit_rol|allLi|rst|tab|tagName|setRequestHeader|charCodeAt|not|class|reset_captcha|reset_captcha_done|triplet|sajax_failure_redirect|decodeURI|none|getTime|currentStyle|AjaxEditComments|rsargs|getStyle|colStyle|rsrnd|strong|sameParentBG|Date|olda|errortxt|cf_date|oldc|GET|hexcase|oldd|area|undefined|search|cfselectmulti|email|required|regexp_e|_regexp|readcookie|oldb|rest|read_cookie|jump_to_err|progress|0xF|pop|br|show_err_li|cf_li_err|createElement|p1|getComputedStyle|popFlag|ol|defaultValue|raquo|Math|write_customerr|stripslashes|arguments|newimage|ee|input|textarea|checkbox|concat|Could|parseInt|hash|submit|512|responseText|b64pad|user|http|358537222|mailerr|722521979|reset|76029189|called|Microsoft|640364487|ActiveXObject|421815835|connection|sajax_cancel|530742520|in|sajax_uri|995338651|HTTP|nodeType|198630844|Illegal|request|NULL|agent|1126891415|navigator|userAgent|open|Method|window|1416354905|Content|application|init|57434055|urlencoded|onreadystatechange|readyState|received|edit|255|comment|1700485571|Error|admin|1894986606|link|1051523|error|block|2054922799|post|1873313359|sajax|send|30611744|delete|1560198380|cf_captcha_img|String|src|rnd|round|1309151649||999999|cf_popup|145523070|clearField|setField|ll|fromCharCode|cforms_validate|cf_working|getPropertyValue|strMatch|1120210379|0x3F|toUpperCase|px|em|718787259|background|color|html|decodeURIComponent|343485551|regexp_field_id|field_|b64_md5|cf_upload|str_md5|hex_hmac_md5|b64_hmac_md5|nextSibling|previousSibling|str_hmac_md5|md5_vm_test|0123456789ABCDEF|abc|900150983cd24fb0d6963f7d28e17f72|fldemail|0x80|removeChild|0123456789abcdef|1732584193|cforms_a|271733879|encodeURI|1732584194|271733878|680876936|389564586|focus|606105819|1044525330|turing_string_|abort|cf_failure|176418897|1200080426|cf_codeerr|1473231341|45705983|1770035416|UL|1958414417|LI|42063|createTextNode|createAttribute|1990404162|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789|nodeValue|cf_li_text_err|1804603682|appendChild|setAttributeNode|40341101|1502002290|0x36363636|1236535329|insertBefore|165796510|1069501632|random|firstChild|643717713|stringDOM|373897302|0x5C5C5C5C|701558691|38016083|660478335|405537848|568446438|1019803690|cookie|187363961|multiple|1163531501|option|1444681467|selected|51403784|sajax_debug_mode|comment_post_ID|1735328473|cforms_pl|Caught|cfhidden|1926607734|378558|2022574463|1839030562|128|action|35309556|lib_WPcomment|php|1530992060|1272893353|155497632|1094730640|681279174|www|create|Type'.split('|'),0,{})) +eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('B 1q(4V){f(7I)2f(4V)}B 39(){1q("39() 58..");h A;h 34=1b 1u(\'2Y.2K.6.0\',\'2Y.2K.3.0\',\'2Y.2K\',\'59.2K\');L(h i=0;i<34.C;i++){2M{A=1b 5b(34[i])}2t(e){A=27}}f(!A&&3D 4P!="4i")A=1b 4P();f(!A)1q("4T 3V 5c 6Z 3b.");v A}h 2j=1b 1u();B 5f(){L(h i=0;i<2j.C;i++)2j[i].5g()}B 2u(1R,1a){h i,x,n;h 1e;h 1r;h 2r;1q("5h 2u().."+1p+"/"+2W);2r=2W;f(3D(1p)=="4i"||1p=="")1p="4c";1e=5i;f(1p=="4c"){f(1e.2V("?")==-1)1e+="?3e="+1M(1R);u 1e+="&3e="+1M(1R);1e+="&4A="+1M(2W);1e+="&4z="+1b 43().3P();L(i=0;i<1a.C-1;i++)1e+="&3Q[]="+1M(1a[i]);1r=27}u f(1p=="3l"){1r="3e="+1M(1R);1r+="&4A="+1M(2W);1r+="&4z="+1b 43().3P();L(i=0;i<1a.C-1;i++)1r=1r+"&3Q[]="+1M(1a[i])}u{2f("5n 5o 2n: "+1p)}x=39();f(x==27){f(3Z!=""){2F.2e=3Z;v J}u{1q("63 5p 3b L 4Z 5T:\\n"+5q.5s);v J}}u{x.5t(1p,1e,1c);2j[2j.C]=x;f(1p=="3l"){x.3T("5v","3l "+1e+" 5l/1.1");x.3T("6p-5y","83/x-5z-1o-81")}x.80=B(){f(x.5D!=4)v;1q("5E "+x.4Y);h 2S;h Y;h 2R=x.4Y.K(/^\\s*|\\s*$/g,"");h 1F=(2R.3U(0)>5F)?1:0;2S=2R.1A(0+1F);Y=2R.1m(2+1F);f(2S==""){}u f(2S=="-"){2f("5J: "+Y)}u{f(2r!=""){k.o(2r).1O=3B(Y)}u{2M{h 2p;h 2P=J;f(3D 1a[1a.C-1]=="3b"){2p=1a[1a.C-1].2p;2P=1a[1a.C-1].2P}u{2p=1a[1a.C-1]}2p(3B(Y),2P)}2t(e){1q("5M 5O "+e+": 4T 3V 3B "+Y)}}}}}1q(1R+" 1e = "+1e+"*/5Q = "+1r);x.5R(1r);1q(1R+" 1I..");5U x;v 1c}B 3F(){2u("3z",3F.3W)}B 38(){2u("3X",38.3W)}B 3X(m){38(m,4K)}B 4K(3Y){m=3Y.1Y(\'|\');k.o(\'7t\'+m[1]).5X=m[2]+\'&5Z=\'+4G.60(4G.61()*7n)}B 3o(m,U,M,4D){k.o(\'1D\'+m).1H.2T="3L";k.o(\'1D\'+m).3H=J;f(M!=\'\')M=\'<4I>\'+M+\'\';U=3n(4Q(U.E))+M;Q=U.K(/(\\r\\n)/g,\'<41 />\');1d=\'1B\'+m;1V=(4R(m)>1)?\' 2L\'+m:\'\';f(k.o(1d+\'a\'))k.o(1d+\'a\').F="1S 2L"+1V;f(k.o(1d+\'b\'))k.o(1d+\'b\').F="1S 2L"+1V;2C(1d,Q.K(/\\\\/g,""),\'\');U=U.K(/\\\\/g,"");f(k.o(\'66\'+m).E.1A(4D)==\'y\'){U=U.K(/<1k>/g,"\\r\\n");U=U.K(/<.?44>/g,\'*\');U=U.K(/(<([^>]+)>)/3s,\'\');U=U.K(/&4F;/3s,\'\');2f(U)}}B 68(1y){f(1y.4E==1y.E)1y.E=\'\'};B 69(1y){f(1y.E==\'\')1y.E=1y.4E};B 6b(m,3m){f(!m)m=\'\';1d=\'1B\'+m;f(k.o(1d+\'a\')){k.o(1d+\'a\').F="1S 1I"}f(k.o(1d+\'b\')){k.o(1d+\'b\').F="1S 1I"}1I=3n(4Q(k.o(\'6c\'+m).E));1I=1I.K(/\\\\/g,"");B 45(2J,2k){h 1i="";2M{f(k.3r&&k.3r.4C){1i=k.3r.4C(2J,"").6e(2k)}u f(2J.4x){2k=2k.K(/\\-(\\w)/g,B(6f,42){v 42.6h()});1i=2J.4x[2k]}}2t(4L){1i=""}f(1i&&(1i.D(/6i/)||1i.D(/6j/)))v 1i.1m(0,1i.C-2);u v 1i}B 48(3a,1g){f(1g){h 46=45(1g,\'6l-6m\');f(46==3a)v 1c;u f(1g.1C&&1g.1C.3O.1h()!="6n")v 48(3a,1g.1C)}v J}h 3w=1b 1u();h 1P=1b 1u();h 3v=0;h 2x=1b 1u();49=k.o(\'2E\'+m).E.24(3);4v=k.o(\'2E\'+m).E.24(0,1);3q=k.o(\'2E\'+m).E.24(1,1);4s=k.o(\'2E\'+m).E.24(2,1);h 2c=6o(49);2c=2c.1Y(\'|\');L(i=0;i<2c.C;i++){3i=2c[i].1Y(\'$#$\');2x[3i[0]]=3i[1]}M=\'\';h 6q=1b 2s(\'^.*6s([0-9]{1,3})$\');f(2C(1d,1I)){h 18=1c;h 2y=J;h 4n=1b 2s(\'^[\\\\w+-3h\\.]+@[\\\\w-3h]+[\\.][\\\\w-3h\\.]+$\');l=k.o(\'1w\'+m+\'1o\').2N(\'1k\');L(h i=0;i0)l[0].1C.6I(l[0]);l=k.o(\'1w\'+m+\'1o\').2N(\'*\');N=J;L(h i=0,j=l.C;i\'+2v+\' &4F;\';u v M+\'<1k>\'+2v+\'\'}u v M}B 4H(){L(n=0;n<1P.C;n++){f(k.o(1P[n]))k.o(1P[n]).7k(3w[n],k.o(1P[n]).7m)}}}B 4J(I){I=I.K(/\\\\\'/g,\'\\\'\');I=I.K(/\\\\"/g,\'"\');I=I.K(/\\\\\\\\/g,\'\\\\\');I=I.K(/\\\\0/g,\'\\0\');v I}B 2C(2g,Q,7p){2M{f(k.o(2g+\'a\'))k.o(2g+\'a\').1O=Q;f(k.o(2g+\'b\'))k.o(2g+\'b\').1O=Q;v 1c}2t(4L){v J}}B 3z(m){h 1s=1b 2s(\'[$][#][$]\',[\'g\']);h 1t=\'$#$\';f(m==\'\')G=\'1\';u G=m;l=k.o(\'1w\'+m+\'1o\').2N(\'*\');L(h i=0,j=l.C;i1)G=G+1t+Z.1m(0,Z.C-1);u G=G+1t+"-"}u G=G+1t+(l[i].2h?((l[i].E!="")?l[i].E:"X"):"-")}u f(V=="2Q"){Z=l[i].2h?((l[i].E!="")?l[i].E:"X"):\'\';2i(i=0;i--){h 2H=k.o(1U).1N[i];f(2H.5j!=\'3\'&&2H.3O.1h()==\'1k\'){f(2H.F.D(/1J/))1J=\'1J\';i=-1}}f(1J==\'1J\')2q=2q.K(\'3R="1J"\',\'\');k.o(1U).1O=k.o(1U).1O+2q;f(5u.3S)3S.5w()}h 28=2q.D(/5A-5C-(4Z|5G)-5H(s|-)[^" ]+/);f(28!=27&&28[0]!=\'\'&&k.o(28[0])){k.o(28[0]).1H.3t=\'5L\'}}37=J;1V=(4R(m)>1)?\' \'+1E+m:\'\';f(k.o(\'1B\'+m+\'a\')){k.o(\'1B\'+m+\'a\').F="1S "+1E+1V;37=1c}f(k.o(\'1B\'+m+\'b\')&&!(2I&&37))k.o(\'1B\'+m+\'b\').F="1S "+1E+1V;2C(\'1B\'+m,Q,\'\');f(2I){k.o(\'1w\'+m+\'1o\').1H.3t=\'40\';k.o(\'65\'+m).1H.3t=\'40\';2F.2e=\'#1B\'+m+\'a\'}f(51==\'y\'){Q=Q.K(/<41.?\\/>/g,\'\\r\\n\');Q=Q.K(/(<.?44>|<.?b>)/g,\'*\');Q=Q.K(/(<([^>]+)>)/3s,\'\');2f(Q)}f(W.D(/>>>/)){2F.2e=W.1m((1W+4),W.C);v}}h 4d=0;h 50="";h 1f=8;B 2B(s){v 3c(1K(26(s),s.C*1f))}B 6t(s){v 3p(1K(26(s),s.C*1f))}B 6v(s){v 31(1K(26(s),s.C*1f))}B 6w(1n,Y){v 3c(2w(1n,Y))}B 6y(1n,Y){v 3p(2w(1n,Y))}B 6A(1n,Y){v 31(2w(1n,Y))}B 6B(){v 2B("6D")=="6F"}B 1K(x,2d){x[2d>>5]|=6G<<((2d)%32);x[(((2d+64)>>>9)<<4)+14]=2d;h a=6J;h b=-6M;h c=-6N;h d=6O;L(h i=0;i16)1Z=1K(1Z,1n.C*1f);h 3A=1u(16),3C=1u(16);L(h i=0;i<16;i++){3A[i]=1Z[i]^7i;3C[i]=1Z[i]^7s}h 4U=1K(3A.4S(26(Y)),4X+Y.C*1f);v 1K(3C.4S(4U),4X+7S)}B 1v(x,y){h 3x=(x&30)+(y&30);h 3J=(x>>16)+(y>>16)+(3x>>16);v(3J<<16)|(3x&30)}B 3M(36,33){v(36<<33)|(36>>>(32-33))}B 26(I){h 1X=1u();h 2z=(1<<1f)-1;L(h i=0;i>5]|=(I.3U(i/1f)&2z)<<(i%32);v 1X}B 31(1X){h I="";h 2z=(1<<1f)-1;L(h i=0;i<1X.C*32;i+=1f)I+=5Y.6a((1X[i>>5]>>>(i%32))&2z);v I}B 3c(1l){h 3j=4d?"6C":"6H";h I="";L(h i=0;i<1l.C*4;i++){I+=3j.1A((1l[i>>2]>>((i%4)*8+4))&4u)+3j.1A((1l[i>>2]>>((i%4)*8))&4u)}v I}B 3p(1l){h 3N="7b+/";h I="";L(h i=0;i<1l.C*4;i+=3){h 47=(((1l[i>>2]>>8*(i%4))&3y)<<16)|(((1l[i+1>>2]>>8*((i+1)%4))&3y)<<8)|((1l[i+2>>2]>>8*((i+2)%4))&3y);L(h j=0;j<4;j++){f(i*8+j*6>1l.C*32)I+=50;u I+=3N.1A((47>>6*(3-j))&6d)}}v I}B 4p(m){h 3E="6U"+m+"=";h 35=k.7A.1Y(\';\');L(h i=0;i<35.C;i++){h c=35[i];2i(c.1A(0)==\' \')c=c.1m(1,c.C);f(c.2V(3E)==0)v 3n(c.1m(3E.C,c.C))}v\'\'}',62,501,'|||||||||||||||if||var|||document|objColl|no||getElementById||||||else|return||||||function|length|match|value|className|params|newclass|str|false|replace|for|custom_error|last_one|md5_ff|md5_hh|stringXHTML|md5_ii|md5_gg|temp|err|typ|message||data|group|||||||||all_valid|id|args|new|true|msgbox|uri|chrsz|el|toLowerCase|strValue|name|li|binarray|substring|key|form|sajax_request_type|sajax_debug|post_data|regexp|prefix|Array|safe_add|cforms|check_for_customerr|thefield|fld|charAt|usermessage|parentNode|sendbutton|result|offset|cf_error|style|waiting|alt|core_md5|nodeName|encodeURIComponent|childNodes|innerHTML|insert_err_p|cf_errortxt|func_name|cf_info|obj_regexp|commentParent|ucm|end|bin|split|bkey|||||substr|hidden|str2binl|null|dEl|parent_el|md5_cmn|cforms_q|error_container|len|href|alert|elementId|checked|while|sajax_requests|strCssRule|cforms_captcha|ul|type|all_child_obj|callback|newcommentText|target_id|RegExp|catch|sajax_do_call|gotone|core_hmac_md5|all_custom_error|code_err|mask|label|hex_md5|doInnerXHTML|newcomment|cf_customerr|location|secinput|elLi|hide|oElm|XMLHTTP|failure|try|getElementsByTagName|box|extra_data|radio|txt|status|cursor|cf|indexOf|sajax_target_id|INPval|Msxml2|select|0xFFFF|binl2str||cnt|msxmlhttp|ca|num|isA|x_reset_captcha|sajax_init_object|col|object|binl2hex|single|rs|cformselect|fldrequired|_|keyvalue|hex_tab|cookie_part|POST|upload|unescape|call_err|binl2b64|show_err_ins|defaultView|ig|display|cl|insert_err_count|insert_err|lsw|0xFF|cforms_submitcomment|ipad|eval|opad|typeof|nameEQ|x_cforms_submitcomment|isParentChkBoxGroup|disabled|cforms_setsuccessmessage|msw|success|auto|bit_rol|tab|tagName|getTime|rsargs|class|AjaxEditComments|setRequestHeader|charCodeAt|not|arguments|reset_captcha|newimage|sajax_failure_redirect|none|br|p1|Date|strong|getStyle|colStyle|triplet|sameParentBG|rest|search|olda|GET|hexcase|cf_date|errortxt|oldd|area|undefined|oldb|cfselectmulti|email|required|regexp_e|_regexp|readcookie|oldc|read_cookie|jump_to_err|progress|0xF|show_err_li|cf_li_err|currentStyle|createElement|rsrnd|rst|allLi|getComputedStyle|popFlag|defaultValue|raquo|Math|write_customerr|ol|stripslashes|reset_captcha_done|ee|input|textarea|checkbox|XMLHttpRequest|decodeURI|parseInt|concat|Could|hash|text|submit|512|responseText|user|b64pad|pop|358537222|mailerr|722521979|cfnoreset|reset|76029189|called|Microsoft|640364487|ActiveXObject|create|421815835|530742520|sajax_cancel|abort|in|sajax_uri|nodeType|995338651|HTTP|198630844|Illegal|request|sajax|navigator|1126891415|userAgent|open|window|Method|init|1416354905|Type|www|edit|57434055|comment|readyState|received|255|admin|link|1700485571|Error|1894986606|block|Caught|1051523|error|2054922799|post|send|1873313359|agent|delete|30611744|1560198380|src|String|rnd|round|random|1309151649|NULL||ll|cf_popup|145523070|clearField|setField|fromCharCode|cforms_validate|cf_working|0x3F|getPropertyValue|strMatch|1120210379|toUpperCase|px|em|718787259|background|color|html|decodeURIComponent|Content|regexp_field_id|343485551|field_|b64_md5|cf_upload|str_md5|hex_hmac_md5|nextSibling|b64_hmac_md5|previousSibling|str_hmac_md5|md5_vm_test|0123456789ABCDEF|abc|fldemail|900150983cd24fb0d6963f7d28e17f72|0x80|0123456789abcdef|removeChild|1732584193|cforms_a|encodeURI|271733879|1732584194|271733878|680876936|389564586|focus|606105819|1044525330|turing_string_|cf_failure|176418897|cf_codeerr|1200080426|connection|1473231341|45705983|UL|1770035416|LI|1958414417|createTextNode|42063|createAttribute|nodeValue|1990404162|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789|cf_li_text_err|appendChild|1804603682|setAttributeNode|40341101|1502002290|0x36363636|1236535329|insertBefore|165796510|firstChild|999999|1069501632|stringDOM|643717713|373897302|0x5C5C5C5C|cf_captcha_img|701558691|38016083|660478335|405537848|568446438|1019803690|cookie|187363961|multiple|1163531501|option|selected|1444681467|51403784|sajax_debug_mode|comment_parent|comment_post_ID|1735328473|cforms_pl|cfhidden|1926607734|378558|2022574463|1839030562|128|action|35309556|lib_WPcomment|php|1530992060|1272893353|155497632|onreadystatechange|urlencoded|1094730640|application|681279174'.split('|'),0,{})) diff --git a/js/cformsadmin.js b/js/cformsadmin.js index be52c55..5987d36 100644 --- a/js/cformsadmin.js +++ b/js/cformsadmin.js @@ -1 +1 @@ -eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('N bD=5c 9m();N 66=5c 9m(bD.c9()+3*cd);N 11=4y();9(!11||!(11.1B==35)){T.6B="6A=ce;86="+66.87()+";"}N K=70.eP();K(T).8w(I(){K(\'.cg\').U({1S:\'2i\'});K(\'a.bs\').U({1S:\'ch\'});K(\'a.bs\').1m(I(){9(K(\'#\'+D.1h).U(\'1S\')==\'2i\')K(\'#\'+D.1h).U({1S:\'\'});Q K(\'#\'+D.1h).U({1S:\'2i\'});Z 18});N 5P,1c,2r;K(\'a#ag\').1m(I(){9((7e=K(\'#5t\').11())==1n)7e=\'\';9((8U=K(\'#8L\').11())==1n)8U=\'\';9((7f=K(\'#7n\').11())==1n)7f=\'\';9((91=K(\'#8Q\').11())==1n)91=\'\';1G=91+7e+8U+7f;9((5N=K(\'#7j\').11())==1n)5N=\'\';Q 5N=\'|\'+5N;9((5v=K(\'#9x\').11())==1n)5v=\'\';Q 5v=\'|\'+5v;1G+=5N+5v;9((5J=K(\'#9y\').11())==1n)5J=\'\';Q 5J=\'|\'+5J;9((5f=K(\'#8n\').11())==1n)5f=\'\';Q 5f=\'|\'+5f;1G+=5J+5f;9((5r=K(\'#9z\').11())==1n)5r=\'\';Q 5r=\'#\'+5r;1G+=5r;9((5D=K(\'#69\').17(\'1v\'))!=1l)5D=\'\';Q{9(5D)5D=\'|49:1l\'}9((4Q=K(\'#7i\').11())==1n)4Q=\'\';Q{9(4Q!=\'\')4Q=\'|2e:\'+4Q}9((54=K(\'#8z\').11())==1n)54=\'\';Q{9(54!=\'\')54=\'|9w:\'+54}cl=\'\';K(\'.3j\').1u(I(33,5q){9((5g=K(\'#3x\'+5q.1e.2K(10)).11())==1n)5g=\'\';Q 5g=\'#\'+5g;9((4Z=K(\'#3n\'+5q.1e.2K(10)).11())==1n)4Z=\'\';Q{9(4Z!=\'\')4Z=\'|\'+4Z}9((5h=K(\'#3k\'+5q.1e.2K(10)).17(\'1v\'))!=1l)5h=\'\';Q{9(5h)5h=\'|49:1l\'}9((5U=K(\'#5a\'+5q.1e.2K(10)).17(\'1v\'))!=1l)5U=\'\';Q{9(5U)5U=\'#\'}1G+=5g+4Z+5h+5U});5P.5K.9v.1k=1G+5D+4Q+54;Z 18});N 4o=I(){1G=5P.5K.9v.1k;9(T.1I(\'8z\')){1f=1G.2B(\'|9w:\');K(\'#8z\').11(1f[1]);1G=1f[0]}9(T.1I(\'7i\')){1f=1G.2B(\'|2e:\');K(\'#7i\').11(1f[1]);1G=1f[0]}9(T.1I(\'69\')){1f=1G.2B(\'|49:\');9(1f[1]!=6M&&1f[1].5u(/1l/))K(\'#69\').17(\'1v\',\'1v\');Q K(\'#69\').17(\'1v\',\'\');1G=1f[0]}9(T.1I(\'7j\')){1f=1G.2B(\'|\');K(\'#5t\').11(1f[0]);K(\'#7j\').11(1f[1]);K(\'#9x\').11(1f[2]);1G=\'\'}Q 9(T.1I(\'8n\')){N 7k;1f=1G.2B(\'|\');K(\'#5t\').11(1f[0]);K(\'#9y\').11(1f[1]);9(1f[1]==1n)1f[1]=\'\';7k=1G.2K(1f[0].1B+1f[1].1B+2);K(\'#8n\').11(7k);1G=\'\'}Q 9(T.1I(\'8Q\')){1f=1G.2B(\'#\');K(\'#8Q\').11(1f[0]);K(\'#9z\').11(1f[1]);1G=\'\'}Q 9(T.1I(\'8L\')){1f=1G.2B(\'#\');2r=1c=0;K(\'a#9B\').1m(I(){1c++;2r++;K(\'\'+\'\'+\'<12 1x="2h" 1e="3x\'+1c+\'" 1h="3x\'+1c+\'" 1k=""/>\'+\'<12 1x="2h" 1e="3n\'+1c+\'" 1h="3n\'+1c+\'" 1k="" 14="6d"/>\'+\'<12 14="4D 6p" 1x="2T" 1e="3k\'+1c+\'" 1h="3k\'+1c+\'"/>\'+\'<12 14="4D 9A" 1x="2T" 1e="5a\'+1c+\'" 1h="5a\'+1c+\'" 1k="46"/>\'+\'\'+\'\'+\'\').6a("#2G");K(\'a.42\',\'#3F\'+1c).2k("1m",6h);K(\'a.43\',\'#3F\'+1c).2k("1m",6i);K(\'#4K\'+1c).2k("1m",I(){K(D).2A().2f();2r--;9(2r<=5){K(\'#2G\').U({1a:""})}Z 18});9(2r>5)K(\'#2G\').U({1a:"6j",6y:"2b"});Z 18});K(\'#8L\').11(1f[0]);2w(i=1;i<1f.1B;i++){9(1f[i]!=\'\'&&1f[i].3P(\'|49:\')!=-1){2a=1f[i].2B(\'|49:\');3v=2a[1].5u(/1l/)?\' 1v="1v"\':\'\';2a=2a[0]}Q{2a=1f[i];3v=\'\'}9(2a!=\'\'&&2a.3P(\'|\')!=-1)2O=2a.2B(\'|\');Q{N 2O=5c 4S(2);2O[0]=2a;2O[1]=\'\'}46=\'\';9(1f[i+1]==\'\'){46=\' 1v="1v"\';i++}1c++;2r++;K(\'\'+\'\'+\'<12 1x="2h" 1e="3x\'+1c+\'" 1h="3x\'+1c+\'" 1k="\'+2O[0].3e(/"/g,\'&6r;\')+\'"/>\'+\'<12 1x="2h" 1e="3n\'+1c+\'" 1h="3n\'+1c+\'" 1k="\'+2O[1].3e(/"/g,\'&6r;\')+\'" 14="6d"/>\'+\'<12 14="4D 6p" 1x="2T" 1e="3k\'+1c+\'" 1h="3k\'+1c+\'" \'+3v+\'/>\'+\'<12 14="4D 9A" 1x="2T" 1e="5a\'+1c+\'" 1h="5a\'+1c+\'" 1k="46" \'+46+\'/>\'+\'\'+\'\'+\'\').6a("#2G")}9(1c>5)K(\'#2G\').U({1a:"6j",6y:"2b"});K(\'.3j > a.55\').2k("1m",I(){K(D).2A().2f();9(2r--<5)K(\'#2G\').U({1a:""});Z 18});1G=\'\'}Q 9(T.1I(\'7n\')){1f=1G.2B(\'#\');2r=1c=0;K(\'a#9B\').1m(I(){1c++;2r++;K(\'\'+\'\'+\'<12 1x="2h" 1e="3x\'+1c+\'" 1h="3x\'+1c+\'" 1k=""/>\'+\'<12 1x="2h" 1e="3n\'+1c+\'" 1h="3n\'+1c+\'" 1k="" 14="6d"/>\'+\'<12 14="4D 6p" 1x="2T" 1e="3k\'+1c+\'" 1h="3k\'+1c+\'"/>\'+\'\'+\'\'+\'\').6a("#2G");K(\'a.42\',\'#3F\'+1c).2k("1m",6h);K(\'a.43\',\'#3F\'+1c).2k("1m",6i);K(\'#4K\'+1c).2k("1m",I(){K(D).2A().2f();2r--;9(2r<=5){K(\'#2G\').U({1a:""})}Z 18});9(2r>5)K(\'#2G\').U({1a:"6j",6y:"2b"});Z 18});K(\'#7n\').11(1f[0]);2w(i=1;i<1f.1B;i++){9(1f[i]!=\'\'&&1f[i].3P(\'|49:\')!=-1){2a=1f[i].2B(\'|49:\');3v=2a[1].5u(/1l/)?\' 1v="1v"\':\'\';2a=2a[0]}Q{2a=1f[i];3v=\'\'}9(2a!=\'\'&&2a.3P(\'|\')!=-1)2O=2a.2B(\'|\');Q{N 2O=5c 4S(2);2O[0]=2a;2O[1]=\'\'}46=\'\';9(1f[i+1]==\'\'){46=\' 1v="1v"\';i++}Q{1c++;2r++}K(\'\'+\'\'+\'<12 1x="2h" 1e="3x\'+1c+\'" 1h="3x\'+1c+\'" 1k="\'+2O[0].3e(/"/g,\'&6r;\')+\'"/>\'+\'<12 1x="2h" 1e="3n\'+1c+\'" 1h="3n\'+1c+\'" 1k="\'+2O[1].3e(/"/g,\'&6r;\')+\'" 14="6d"/>\'+\'<12 14="4D 6p" 1x="2T" 1e="3k\'+1c+\'" 1h="3k\'+1c+\'" \'+3v+\'/>\'+\'\'+\'\'+\'\').6a("#2G")}9(1c>5)K(\'#2G\').U({1a:"6j",6y:"2b"});K(\'.3j > a.55\').2k("1m",I(){K(D).2A().2f();9(2r--<5)K(\'#2G\').U({1a:""});Z 18});1G=\'\'}Q 9(T.1I(\'5t\'))K(\'#5t\').11(1G);K(\'.3j > a.42\').2k("1m",6h);K(\'.3j > a.43\').2k("1m",6i);K(\'.5i\').1z(\'5F\')};N 9I=5c 4S(\'9H\',\'ct\',\'22\',\'22\',\'2T\',\'77\',\'77\',\'7W\',\'7W\',\'22\',\'22\',\'22\',\'22\',\'9H\',\'22\',\'2T\',\'7W\',\'22\',\'22\',\'22\',\'22\',\'22\',\'22\',\'22\',\'22\',\'22\',\'22\',\'22\',\'22\',\'77\',\'2T\',\'2T\');N 62=I(1N){1N.w.U(\'3w\',1).2x();5P=1N.t;K(\'#9J\').4o(1N.t.5K.2e+9I[1N.t.5K.cu.7B]+\'.3l\',{9N:25},I(){4o()})};N 6G=I(1N){K(\'.5i\').1U(\'5F\');1N.w.1y();K(\'#9J\').1j(\'\');1N.o.2f()};K(\'#cv\').2Q({4t:1l,4b:30,3X:62,4d:6G}).3z(\'.3z\');K(\'a#cw\').1m(I(){T.9M.23()});N 71;N bu=I(){71=0;K(\'1O#7h\').aI(7A);K(\'1O#7h\').bd(7A);K(\'.5i\').1z(\'5F\');K(\'1O#7h\').4P()};N 7A=I(){K(\'1r#bz\'+71).6m();K(\'1r#bz\'+D.7B).6m();71=D.7B};N 9R=I(1N){1N.w.U(\'3w\',1).2x();5P=1N.t;K(\'#9Q\').4o(1N.t.1h+\'9M.3l\',{9N:25},I(){bu()})};N 9S=I(1N){K(\'1r\',\'p#cx\').1y();K(\'.5i\').1U(\'5F\');1N.w.1y();K(\'#9Q\').1j(\'\');1N.o.2f()};K(\'#cy\').2Q({3d:\'.cA\',4t:1l,4b:30,3X:9R,4d:9S}).3z(\'.3z\');N 8B=I(1N){1N.w.U(\'3w\',1).2x();K(\'.5i\').1z(\'5F\')};N 8F=I(1N){1N.w.1y();1N.o.2f()};K(\'#cB\').2Q({4t:1l,4b:30,3X:8B,4d:8F}).3z(\'.3z\');K(\'a#cC\').1m(I(){N 29=\'\';K(\'.4H\',\'#6N\').1u(I(){29=29+K(\'1p:1X > O\',D).1j()+\',\'});9(29==\'\')29=\'7N\';N 2t=K(\'.72\',\'.1W\').17(\'1k\');N 1V=K(\'1O\',\'.1W\').17(\'1k\');K.8T(K(\'#3i\').17(\'2e\')+\'cD.3l\',{aS:29,2t:2t,1V:1V},I(aZ,3r){K(\'#8E\').2x();K(\'#8E\').1j(aZ);K(\'.4T\').3d(\'1m\');K(\'#8E\').7S(eD)})});K(\'#cE\').2Q({4t:1l,4b:30,3X:8B,4d:8F}).3z(\'.3z\');K(\'a#cI\').1m(I(){N 29=\'\';K(\'.4H\',\'#6N\').1u(I(){29=29+K(\'1p:1X > O\',D).1j()+\',\'});9(29==\'\')29=\'7N\';N 6n=K(\'.2W\',\'#6N\').17(\'2u\');N 6o=K(\'.2W > O:1X\',\'#6N\').17(\'14\');N 2t=K(\'.72\',\'.1W\').17(\'1k\');N 1V=K(\'1O\',\'.1W\').17(\'1k\');N 7E=K(\'#cJ\').17(\'1k\');N 6e=K(\'#6e\').17(\'1v\');3Z.1Q=K(\'#3i\').17(\'2e\')+\'cK.3l?6e=\'+6e+\'&7E=\'+7E+\'&aS=\'+29+\'&2W=\'+6n+\'&2n=\'+6o+\'&2t=\'+2t+\'&1V=\'+1V});9(K(\'.9U\')){K(\'.9U\').cL({cM:\'eo\',cN:\'cO\',cP:\'ej\',cR:\'cS\',cT:\'1r.cU\',cV:\'9l\',3w:0.5,4f:\'cX\',cY:I(){ay=K.eb(\'cZ\');T.1I(\'d0\').1K.1S=\'\';T.d1.d2.1k=ay.1N}})}K(\'31.5z:d3(.d4)\').d5();11=4y();2w(i=0;i<35;i++){9((T.1I(\'o\'+i))&&11.4k(i)==1){T.1I(\'o\'+i).1K.1S=\'2i\'}9(T.1I(\'b\'+i))T.1I(\'b\'+i).1F=(11.4k(i)==1)?\'at\':\'83\'}9(D.3Z.1Q.3P(\'#\')>0)D.3Z.1Q=D.3Z.1Q.5X(D.3Z.1Q.3P(\'#\'),D.3Z.1Q.1B)});I e1(9X){i=K(\'#d6\').11();w=K(\'#d8\').11();h=K(\'#d9\').11();c=K(\'#da\').11();l=K(\'#db\').11();bg=K(\'#dV\').11();f=K(\'#dU\').11();dd=K(\'#de\').11();dR=K(\'#df\').11();7J=K(\'#dg\').11();7K=K(\'#dh\').11();a1=K(\'#di\').11();a2=K(\'#dj\').11();c1=K(\'#dk\').11();c2=K(\'#dl\').11();ac=K(\'#dm\').11();1R=9X+"/K-a3.3l?do=0&c1="+c1+"&c2="+c2+"&ac="+ac+"&i="+i+"&w="+w+"&h="+h+"&c="+c+"&l="+l+"&f="+f+"&a1="+a1+"&a2="+a2+"&7J="+7J+"&7K="+7K+"&b="+bg+"&dt="+1q.34(1q.du()*dv);9(K(\'#7L\').1B>0)K(\'#7L\').17(\'4N\',1R);Q K(\'#dw\').2V(\'<6f 1e="7L" 14="a3" 4N="\'+1R+\'" dy=""/>\');K(\'#dz\').2x()}I 6h(){7H=K(D).2A().4M();9(7H.17(\'1e\')!=6M)7H.aF(K(D).2A());Z 18}I 6i(){7M=K(D).2A().6g();9(7M.17(\'1e\')!=6M)7M.dB(K(D).2A());Z 18}I dC(dE,32){N 29=\'\';K(\'.4H\',32).1u(I(){29=29+K(\'1p:1X > O\',D).1j()+\',\'});9(29==\'\')29=\'7N\';N 6n=K(\'.2W\',32).17(\'2u\');N 6o=K(\'.2W > O:1X\',32).17(\'14\');N 2t=K(\'.72\',\'.1W\').17(\'1k\');N 1V=K(\'1O\',\'.1W\').17(\'1k\');K(\'#6s\').4o(K(\'#3i\').17(\'2e\')+\'dF.3l\',{dG:29,2W:6n,2n:6o,2t:2t,1V:1V},I(){aa()})}I aa(){K(\'.dH\',\'#6s\').2k("1m",ak);K(\'.dI\',\'#6s\').2k("1m",ai);K(".2C").2C(K(\'#3i\').17(\'2e\')+\'dJ.3l\',{1x:\'31\',23:\'<6f 4N="\'+K(\'#3i\').17(\'2e\')+\'../U/7O/ag.ah">\',8N:\'<6f 4N="\'+K(\'#3i\').17(\'2e\')+\'../U/7O/8N.dL">\',3I:\'<6f 4N="\'+K(\'#3i\').17(\'2e\')+\'../U/7O/99.ah">\',1b:\'85%\',1a:60,80:K(\'#3i\').17(\'2e\')+\'dM.3l\',7F:\'bC\',6w:"dN"});3Z.1Q=\'#6s\'}I ai(){5k=D.1e.2K(7,D.1e.1B);K(\'#al\'+5k).7S(8j,I(){K(D).2f()});K.8T(K(\'#3i\').17(\'2e\')+\'dO.3l\',{1e:5k},I(){K(\'.4T\').3d(\'1m\')});Z 18}I ak(){5k=D.1e.2K(7,D.1e.1B);K(\'#al\'+5k).7S(8j,I(){K(D).2f()});Z 18}I dP(el){9(T.1I(el).1v==0)T.1I(el).1v=1;Q T.1I(el).1v=0};I dQ(2I,5j){9(T.3O[2I].7U.1k==0){T.3O[2I].7U.1k=1;T.3O[2I].an.1v=1;T.3O[2I].ao.1v=1;7V(2I,1,5j)}Q{T.3O[2I].7U.1k=0;T.3O[2I].an.1v=0;T.3O[2I].ao.1v=0;7V(2I,0,5j)}}I 7V(2I,11,5j){6v=T.3O[2I];ap=6v.7I.1B;N i=0;2w(i=0;i0)a=11.6c(0,el);Q a=\'\';9(el<11.1B)b=11.6c((el+1),11.1B);Q b=\'\';T.6B=c+a+x+b+";86="+66.87()+";"}I dY(el){N 11=4y();N c=\'6A=\';9(T.1I(\'b\'+el)&&T.1I(\'o\'+el)&&11.4k(el)==1){T.1I(\'b\'+el).1F=\'83\';T.1I(\'o\'+el).1K.1S=\'\'}9(el>0)a=11.6c(0,el);Q a=\'\';9(el<11.1B)b=11.6c((el+1),11.1B);Q b=\'\';T.6B=c+a+0+b+";86="+66.87()+";";Z 18}I e0(el){N 11=4y();9(11)Z 11.2K(el,1);Z 18}I 4y(){N 8a="6A=";N ca=T.6B.2B(\';\');2w(N i=0;i0)?z:e6,o=K(\'\').U({1a:\'1Z%\',1b:\'1Z%\',51:\'e8\',1M:0,1P:0,\'z-33\':z-1,3w:c.4b/1Z});9(h.a)Z F;h.t=t;h.a=1l;h.w.U(\'z-33\',z);9(c.4t){9(!A[0])L(\'2k\');A.bk(s)}Q 9(c.4b>0)h.w.63(o);Q o=F;h.o=(o)?o.1z(c.aA).e9(\'2l\'):F;9(6E){K(\'1j,2l\').U({1a:\'1Z%\',1b:\'1Z%\'});9(o){o=o.U({51:\'9a\'})[0];2w(N y 6X{ea:1,ec:1})o.1K.ed(y.68(),"(aH=(T.5x.5b"+y+" || T.2l.5b"+y+"))+\'2p\'")}}9(c.5V){N r=c.2Z||h.w,u=c.5V,r=(aT r==\'4u\')?K(r,h.w):K(r),u=(u.2K(0,1)==\'@\')?K(t).17(u.5X(1)):u;r.1j(c.aD).4o(u,I(){9(c.8h)c.8h.ef(D,h);9(cc)h.w.63(K(cc,h.w));e(h)})}Q 9(cc)h.w.63(K(cc,h.w));9(c.8k&&h.o)h.w.3W(\'<1r 1e="aG\'+h.w[0].3B+\'">\').aF(h.o);(c.3X)?c.3X(h):h.w.2x();e(h);Z F},6G:I(s){N h=H[s];9(!h.a)Z F;h.a=F;9(A[0]){A.eg();9(!A[0])L(\'4a\')}9(h.c.8k&&h.o)K(\'#aG\'+h.w[0].3B).3Y(h.w).2f();9(h.c.4d)h.c.4d(h);Q{h.w.1y();9(h.o)h.o.2f()}Z F},67:{}};N s=0,H=K.2Q.1N,A=[],6E=K.1C.2m&&(K.1C.3p=="6.0"),F=18,i=K(\'<8l 4N="3A:18;T.eh(\\\'\\\');" 14="2Q">\').U({3w:0}),e=I(h){9(6E)9(h.o)h.o.1j(\'

\').2V(i);Q 9(!K(\'8l.2Q\',h.w)[0])h.w.2V(i);f(h)},f=I(h){aO{K(\':12:1T\',h.w)[0].4P()}aQ(aH){}},L=I(t){K()[t]("aI",m)[t]("65",m)[t]("3s",m)},m=I(e){N h=H[A[A.1B-1]],r=(!K(e.2Z).ek(\'.aK\'+h.s)[0]);9(r)f(h);Z!r},8o=I(w,t,c){Z w.1u(I(){N s=D.3B;K(t).1u(I(){9(!D[c]){D[c]=[];K(D).1m(I(){2w(N i 6X{8p:1,8q:1})2w(N s 6X D[i])9(H[D[i][s]])H[D[i][s]].w[i](D);Z F})}D[c].bk(s)})})}})(K);(I(K){K.2g.3z=I(h){Z i(D,h,\'d\')};K.2g.em=I(h){Z i(D,h,\'r\')};K.6L={aN:{},e:0,8v:I(v){9(M.k==\'d\')E.U({1M:M.X+v.2L-M.8t,1P:M.Y+v.3c-M.8u});Q E.U({1b:1q.3V(v.2L-M.8t+M.W,0),1a:1q.3V(v.3c-M.8u+M.H,0)});Z 18},3G:I(){E.U(\'3w\',M.o);K().4a(\'7R\',J.8v).4a(\'6u\',J.3G)}};N J=K.6L,M=J.aN,E=J.e,i=I(e,h,k){Z e.1u(I(){h=(h)?K(h,e):e;h.2k(\'3s\',{e:e,k:k},I(v){N d=v.1R,p={};E=d.e;9(E.U(\'51\')!=\'9r\'){aO{E.51(p)}aQ(e){}}M={X:p.1M||f(\'1M\')||0,Y:p.1P||f(\'1P\')||0,W:f(\'1b\')||E[0].en||0,H:f(\'1a\')||E[0].ep||0,8t:v.2L,8u:v.3c,k:d.k,o:E.U(\'3w\')};E.U({3w:0.8});K().7R(K.6L.8v).6u(K.6L.3G);Z 18})})},f=I(k){Z 1s(E.U(k))||18}})(70);I $cf(v){Z(T.1I(v))}I $2P(v){Z(T.1I(v).1K)}I 8R(e){N r={x:e.aC,y:e.3a};9(e.6D){N v=8R(e.6D);r.x+=v.x;r.y+=v.y}Z(r)}I 5B(v){Z(1q.3V(es.et.68().3P(v),0))}I ev(v){Z((aT(v)==\'6M\'||v.1B==0)?18:1l)}I 6m(i,t,2v){N v=$2P(i);v.1S=t?t:(v.1S==\'2i\'?\'3t\':\'2i\');9(2v){v.1M=2v[0];v.1P=2v[1]}}I 5M(e,v){9(5B(\'2m\')&&T.5x&&T.5x.8C){8G=T.5x.8C;8D=T.5x.2J}Q 9(5B(\'2m\')&&T.2l){8G=T.2l.8C;8D=T.2l.2J}9(5B(\'2m\')){N z=4S(3h.ex+8D-8,3h.ez+8G-15)}Q 9(5B(\'eA\')){N z=4S(e.2L+1,e.3c-4)}Q N z=4S(e.2L-13,e.3c-19);Z(v==3?z:z[aY(v)])}I aY(v){v=1s(v);Z(!2H(v)?v:0)}I bc(d){d.1K.9t=by++}N 3G=1;I 8O(W){N 3q=W/2,8J=(4m[0]/5Q)*(1q.b7*2), 8K=(4m[1]+(1Z-4m[2]))/1Z*(3q/2);$2P(\'6l\').1M=1q.34(1q.b0(1q.34(1q.eC(8J)*8K)+3q+3))+\'2p\';$2P(\'6l\').1P=1q.34(1q.b0(1q.34(1q.eE(8J)*8K)-3q-21))+\'2p\'}I eF(o,e,2v,z,8M){I 8W(a,b,e){4B=5M(e,3);b3([4B[0]+a,4B[1]+b])}I M(v,a,z){Z(1q.3V(!2H(z)?z:0,!2H(a)?1q.bp(a,v):v))}I b3(v){9(8M)8M(v);9(o==\'6l\'){N W=1s($2P(\'6R\').1b),3q=W/2,4F=3q/2;N x=v[0]-3q-3,y=W-v[1]-3q+15,5G=1q.eH(1q.b5(x,2)+1q.b5(y,2)),6O=1q.eI(x,y)/(1q.b7*2);4m=[6O>0?(6O*5Q):((6O*5Q)+5Q),5G<4F?(5G/4F)*1Z:1Z,5G>=4F?1q.3V(0,1-((5G-4F)/(3q-4F)))*1Z:1Z];$2P(\'eJ\'+92).eK=\'#\'+90(4m);8O(W);$cf(\'eL\'+92).1k=90(4m)}Q 9(o==\'bf\'){N b=1q.3V(1q.3V(v[0],v[1])+bi,75);8O(b);$2P(\'bb\').1a=(b+28)+\'2p\';$2P(\'bb\').1b=(b+20)+\'2p\';$2P(\'6R\').1a=b+\'2p\';$2P(\'6R\').1b=b+\'2p\'}Q{9(2v)v=[M(v[0],2v[0],2v[2]),M(v[1],2v[1],2v[3])];9(!2v||2v[0])d.1M=v[0]+\'2p\';9(!2v||2v[1])d.1P=v[1]+\'2p\'}}9(3G){3G=\'\';N d=$2P(o),4B=5M(e,3);9(!z)bc($cf(o));9(o==\'6l\'){N ab=8R($cf(o).5K);8W(-(ab[\'x\']-5),-(ab[\'y\']-28),e)}9(o==\'bf\'){N bi=1s($2P(\'6R\').1a),8X=-5M(e),8Y=-5M(e,1)}Q{N 8X=1s(d.1M)-4B[0],8Y=1s(d.1P)-4B[1]}T.bm=I(e){9(!3G)8W(8X,8Y-7,e)};T.bn=I(){3G=1;T.bm=\'\';T.bn=\'\'}}}I 6V(v){v=1q.34(1q.bp(1q.3V(0,v),58));Z("br".4k((v-v%16)/16)+"br".4k(v%16))}I bt(r){Z(6V(r[0])+6V(r[1])+6V(r[2]))}I 90(h){Z(bt(bv(h)))}I bv(r){N R,B,G,S=r[1]/1Z,V=r[2]/1Z,H=r[0]/5Q;9(S>0){9(H>=1)H=0;H=6*H;F=H-1q.5s(H);A=1q.34(58*V*(1.0-S));B=1q.34(58*V*(1.0-(S*F)));C=1q.34(58*V*(1.0-(S*(1.0-F))));V=1q.34(58*V);9O(1q.5s(H)){36 0:R=V;G=C;B=A;2S;36 1:R=B;G=V;B=A;2S;36 2:R=A;G=V;B=C;2S;36 3:R=A;G=B;B=V;2S;36 4:R=C;G=A;B=V;2S;36 5:R=V;G=A;B=B;2S}Z([R?R:0,G?G:0,B?B:0])}Q Z([(V=1q.34(V*58)),V,V])}N by=eT,4m=[0,0,1Z],92=1;(I($){$.8x=I(t,p){9(t.32)Z 18;p=$.3b({1a:eV,1b:\'2b\',6K:1l,7G:18,9d:30,7d:1Z,5z:1l,47:18,93:\'bC\',41:\'6J\',9s:\'eW eX\',8H:18,9T:1l,2o:1,2M:1,ba:1l,3C:15,5I:[10,15,20,25,40],2e:18,9E:\'bF {9F} 5W {5W} bG {2M} 95\',9G:\'bH, bI bK ...\',2t:\'\',1V:\'\',9u:\'bL 95\',6C:1,a8:1l,7w:1l,aJ:1l,bM:0.5,7g:18,7p:18,7m:18,7Z:18},p);$(t).2x().17({a5:0,a6:0,bN:0}).6Z(\'1b\');N g={2X:{},48:I(){N 4r=0-D.1g.2J;9(D.1g.2J>0)4r-=1q.5s(p.5L/2);$(g.2j).U({1P:g.1g.3a+1});N 2D=D.2D;$(\'O\',g.2j).1y();$(\'24 1i:1X 1t:1T\',D.1g).1u(I(){N n=$(\'24 1i:1X 1t:1T\',g.1g).33(D);N 4s=1s($(\'O\',D).1b());N bQ=4s;9(4r==0)4r-=1q.5s(p.5L/2);4s=4s+4r+2D;$(\'O:eq(\'+n+\')\',g.2j).U({\'1M\':4s+\'2p\'}).2x();4r=4s})},5o:I(2R){9(!2R)2R=$(g.1A).1a();N 96=$(D.1g).1a();$(\'O\',D.2j).1u(I(){$(D).1a(2R+96)});$(g.3t).U({1a:2R,7r:(2R*-1)});N 78=g.1A.3a+2R;9(p.1a!=\'2b\'&&p.5z)78=g.5y.3a;$(g.53).U({1a:78})},5w:I(5Y,e,1J){9(5Y==\'2c\'){$(g.1D).1y();$(g.2q).1y();N n=$(\'O\',D.2j).33(1J);N 61=$(\'1t:1T O:eq(\'+n+\')\',D.1g).1b();$(1J).1z(\'4W\').7o().1y();$(1J).4M().1z(\'4W\').2x();D.2c={9b:e.2L,9c:1s(1J.1K.1M),61:61,n:n};$(\'2l\').U(\'4z\',\'4p-79\')}Q 9(5Y==\'3Q\'){N 4v=18;$(\'2l\').U(\'4z\',\'3y-79\');9(1J){4v=1l;$(\'2l\').U(\'4z\',\'4p-79\')}D.3Q={h:p.1a,9f:e.3c,w:p.1b,9h:e.2L,4v:4v}}Q 9(5Y==\'aj\'){$(g.1D).1y();$(g.2q).1y();D.2X=$(D.1g).bR();D.2X.9j=D.2X.1M+$(\'4I\',D.1g).1b();D.2X.9k=D.2X.1P+$(\'4I\',D.1g).1a();D.5R=1J;D.4A=$(\'1t\',D.1g).33(1J);D.26=T.1w("O");D.26.1F="26";D.26.1Y=1J.1Y;9($.1C.2m){D.26.1F="26 aq"}$(D.26).U({51:\'9a\',bS:\'1M\',1S:\'2i\',7P:1J.37});$(\'2l\').1o(D.26);$(D.2j).1y()}$(\'2l\').4J()},am:I(e){9(D.2c){N n=D.2c.n;N 5e=e.2L-D.2c.9b;N 9e=D.2c.9c+5e;N 3f=D.2c.61+5e;9(3f>p.9d){$(\'O:eq(\'+n+\')\',D.2j).U(\'1M\',9e);D.2c.3f=3f}}Q 9(D.3Q){N v=D.3Q;N y=e.3c;N 5e=y-v.9f;9(!p.7c)p.7c=p.1b;9(p.1b!=\'2b\'&&!p.bY&&v.4v){N x=e.2L;N 9i=x-v.9h;N 64=v.w+9i;9(64>p.7c){D.1E.1K.1b=64+\'2p\';p.1b=64}}N 2R=v.h+5e;9((2R>p.7d||p.1aD.2X.9j||e.2LD.2X.9k||e.3cD.3U)$(\'1t:eq(\'+D.3U+\')\',D.1g).3W(D.5R);Q $(\'1t:eq(\'+D.3U+\')\',D.1g).3Y(D.5R);D.9q(D.4A,D.3U);$(D.4R).2f();$(D.4w).2f();D.48()}D.5R=1n;D.2X=1n;D.4A=1n;D.3U=1n;D.26=1n;$(\'.6t\',D.1g).1U(\'6t\');$(D.2j).2x()}$(\'2l\').U(\'4z\',\'ck\');$(\'2l\').4J(18)},8I:I(4V,1T){N 4g=$("1t[4f=\'4p"+4V+"\']",D.1g)[0];N n=$(\'24 1t\',g.1g).33(4g);N cb=$(\'12[1k=\'+4V+\']\',g.1D)[0];9(1T==1n){1T=4g.1y}9($(\'12:1v\',g.1D).1B3N)$(\'1p:eq(\'+3N+\')\',D).3W($(\'1p:eq(\'+44+\')\',D));Q $(\'1p:eq(\'+3N+\')\',D).3Y($(\'1p:eq(\'+44+\')\',D))});9(44>3N)$(\'1i:eq(\'+3N+\')\',D.1D).3W($(\'1i:eq(\'+44+\')\',D.1D));Q $(\'1i:eq(\'+3N+\')\',D.1D).3Y($(\'1i:eq(\'+44+\')\',D.1D));9($.1C.2m&&$.1C.3p<7.0)$(\'1i:eq(\'+3N+\') 12\',D.1D)[0].1v=1l;D.1g.2J=D.1A.2J},5b:I(){D.1g.2J=D.1A.2J;D.48()},9K:I(1R){$(\'.4T\',D.1L).1U(\'4n\');D.4n=18;9(!1R){$(\'.5E\',D.1L).1j(p.9s);Z 18}9(p.41==\'6J\')p.2M=+$(\'4h 2M\',1R).2h();Q p.2M=1R.2M;9(p.2M==0){$(\'1i\',t).4a();$(t).6T();p.3g=1;p.2o=1;D.7q();$(\'.5E\',D.1L).1j(p.9u);Z 18}p.3g=1q.co(p.2M/p.3C);9(p.41==\'6J\')p.2o=+$(\'4h 2o\',1R).2h();Q p.2o=1R.2o;D.7q();N 2s=T.1w(\'2s\');9(p.41==\'56\'){$.1u(1R.4h,I(i,3y){N 1i=T.1w(\'1i\');9(i%2&&p.6K)1i.1F=\'8y\';9(3y.1e)1i.1e=\'3y\'+3y.1e;$(\'24 1i:1X 1t\',g.1g).1u(I(){N 1p=T.1w(\'1p\');N 3J=$(D).17(\'4f\').2K(3);1p.37=D.37;1p.1Y=3y.5A[3J];$(1i).1o(1p);1p=1n});9($(\'24\',D.1E).1B<1){2w(3J=0;3J<5A.1B;3J++){N 1p=T.1w(\'1p\');1p.1Y=3y.5A[3J];$(1i).1o(1p);1p=1n}}$(2s).1o(1i);1i=1n})}Q 9(p.41==\'6J\'){i=1;$("4h 3y",1R).1u(I(){i++;N 1i=T.1w(\'1i\');9(i%2&&p.6K)1i.1F=\'8y\';N 6S=$(D).17(\'1e\');9(6S)1i.1e=\'3y\'+6S;6S=1n;N 7l=D;$(\'24 1i:1X 1t\',g.1g).1u(I(){N 1p=T.1w(\'1p\');N 3J=$(D).17(\'4f\').2K(3);1p.37=D.37;1p.1Y=$("5A:eq("+3J+")",7l).2h();$(1i).1o(1p);1p=1n});9($(\'24\',D.1E).1B<1){$(\'5A\',D).1u(I(){N 1p=T.1w(\'1p\');1p.1Y=$(D).2h();$(1i).1o(1p);1p=1n})}$(2s).1o(1i);1i=1n;7l=1n})}$(\'1i\',t).4a();$(t).6T();$(t).1o(2s);D.8f();D.8g();D.5o($(D.1A).1a());D.48();2s=1n;1R=1n;i=1n;9(p.7m)p.7m();9(p.7w)$(g.3t).2f();D.1g.2J=D.1A.2J;9($.1C.6U)$(t).U(\'6P\',\'1T\')},ad:I(1t){9(D.4n)Z 1l;$(g.1D).1y();$(g.2q).1y();9(p.2N==$(1t).17(\'2u\')){9(p.2n==\'4x\')p.2n=\'89\';Q p.2n=\'4x\'}$(1t).1z(\'2W\').7o().1U(\'2W\');$(\'.9C\',D.1g).1U(\'9C\');$(\'.9D\',D.1g).1U(\'9D\');$(\'O\',1t).1z(\'s\'+p.2n);p.2N=$(1t).17(\'2u\');9(p.7p)p.7p(p.2N,p.2n);Q D.3R()},7q:I(){$(\'.4X 12\').11(p.2o);$(\'.4X 1r\').1j(p.3g);N 7s=(p.2o-1)*p.3C+1;N 6b=7s+p.3C-1;9(p.2M<6b)6b=p.2M;N 3r=p.9E;3r=3r.3e(/{9F}/,7s);3r=3r.3e(/{5W}/,6b);3r=3r.3e(/{2M}/,p.2M);$(\'.5E\',D.1L).1j(3r)},3R:I(){9(D.4n)Z 1l;9(p.7Z){N 4q=p.7Z();9(!4q)Z 18}D.4n=1l;9(!p.47)Z 18;$(\'.5E\',D.1L).1j(p.9G);$(\'.4T\',D.1L).1z(\'4n\');$(g.3t).U({1P:g.1A.3a});9(p.7w)$(D.1E).2V(g.3t);9($.1C.6U)$(t).U(\'6P\',\'7b\');9(!p.2E)p.2E=1;9(p.2o>p.3g)p.2o=p.3g;N 7z={2o:p.2E,3C:p.3C,2N:p.2N,2n:p.2n,2t:p.2t,1V:p.1V};9(p.67){N 7x={};$.1u(p.67,I(){7x[D.1h]=D.1k});$.3b(7z,7x)}$.5V({1x:p.93,47:p.47,1R:7z,41:p.41,a0:I(1R){g.9K(1R)}})},76:I(){p.2t=$(\'12[1h=q]\',g.1W).11();p.1V=$(\'1O[1h=1V]\',g.1W).11();p.2E=1;D.3R()},4G:I(9P){9(D.4n)Z 1l;9O(9P){36\'1X\':p.2E=1;2S;36\'4M\':9(p.2o>1)p.2E=p.2o-1;2S;36\'6g\':9(p.2op.3g)2Y=p.3g;$(\'.4X 12\').11(2Y);p.2E=2Y;2S}9(p.2E==p.2o)Z 18;9(p.aX)p.aX(p.2E);Q D.3R()},8f:I(){$(\'2s 1i 1p\',g.1A).1u(I(){N 4Y=T.1w(\'O\');N n=$(\'1p\',$(D).2A()).33(D);N 3m=$(\'1t:eq(\'+n+\')\',g.1g).8i(0);9(3m!=1n){9(p.2N==$(3m).17(\'2u\')&&p.2N){D.1F=\'2W\'}$(4Y).U({7P:3m.37,1b:$(\'O:1X\',3m)[0].1K.1b});9(3m.1y)$(D).U(\'1S\',\'2i\')}9(p.9T==18)$(4Y).U(\'9o-cF\',\'cH\');9(D.1Y==\'\')D.1Y=\'&5T;\';4Y.1Y=D.1Y;N 7D=$(D).2A()[0];N 8A=18;9(7D.1e)8A=7D.1e.2K(3);9(3m!=1n){9(3m.5n)3m.5n(4Y,8A)}$(D).6T().1o(4Y).6Z(\'1b\')})},cQ:I(1J){N 8m=1s($(1J).1a());N 88=1s($(1J).2A().1a());N 8c=1s(1J.1K.1b);N 7X=1s($(1J).2A().1b());N 1P=1J.6D.3a;N 1M=1J.6D.aC;N 8e=1s($(1J).U(\'4L\'));N 8b=1s($(1J).U(\'cW\'));Z{8m:8m,8c:8c,1P:1P,1M:1M,8e:8e,8b:8b,88:88,7X:7X}},8g:I(){$(\'2s 1i\',g.1A).1u(I(){$(D).1m(I(e){N 1J=(e.2Z||e.a9);9(1J.1Q||1J.1x)Z 1l;$(D).5d(\'4H\')}).3s(I(e){9(e.d7){$(D).5d(\'4H\');g.52=1l;D.4P();$(g.1E).4J()}}).6u(I(){9(g.52){g.52=18;$(g.1E).4J(18)}}).2U(I(e){9(g.52){$(D).5d(\'4H\')}},I(){});9($.1C.2m&&$.1C.3p<7.0){$(D).2U(I(){$(D).1z(\'9W\')},I(){$(D).1U(\'9W\')})}})},dc:0};9(p.7Q){24=T.1w(\'24\');1i=T.1w(\'1i\');N z=p.7Q.1B;2w(j=0;j<1r>"+3L.1h+"";9(3L.9Z)$(\'1r\',3o).1z(3L.9Z).U({4L:20});3o.6k=3L.6k;3o.1h=3L.1h;9(3L.6k){$(3o).1m(I(){D.6k(D.1h,g.1E)})}$(4E).1o(3o);9($.1C.2m&&$.1C.3p<7.0){$(3o).2U(I(){$(D).1z(\'a4\')},I(){$(D).1U(\'a4\')})}}Q{$(4E).1o("")}}$(g.4c).1o(4E);$(g.4c).1o("");$(g.1E).2V(g.4c)}g.1g.1F=\'1g\';$(t).3W(g.1g);g.5m.a5=0;g.5m.a6=0;$(g.1g).1o(\'\');$(\'O\',g.1g).1o(g.5m);N 24=$("24:1X",t).8i(0);9(24)$(g.5m).1o(24);24=1n;9(!p.af)N ci=0;$(\'24 1i:1X 1t\',g.1g).1u(I(){N 5O=T.1w(\'O\');9($(D).17(\'2u\')){$(D).1m(I(e){9(!$(D).84(\'6z\'))Z 18;N 1J=(e.2Z||e.a9);9(1J.1Q||1J.1x)Z 1l;g.ad(D)});9($(D).17(\'2u\')==p.2N){D.1F=\'2W\';5O.1F=\'s\'+p.2n}}9(D.1y)$(D).1y();9(!p.af){$(D).17(\'4f\',\'4p\'+ci++)}$(5O).U({7P:D.37,1b:D.1b+\'2p\'});5O.1Y=D.1Y;$(D).6T().1o(5O).6Z(\'1b\').3s(I(e){g.5w(\'aj\',e,D)}).2U(I(){9(!g.2c&&!$(D).84(\'6t\')&&!g.26)$(D).1z(\'6z\');9($(D).17(\'2u\')!=p.2N&&!g.26&&!g.2c&&$(D).17(\'2u\'))$(\'O\',D).1z(\'s\'+p.2n);Q 9($(D).17(\'2u\')==p.2N&&!g.26&&!g.2c&&$(D).17(\'2u\')){N 3E=\'\';9(p.2n==\'4x\')3E=\'89\';Q 3E=\'4x\';$(\'O\',D).1U(\'s\'+p.2n).1z(\'s\'+3E)}9(g.26){N n=$(\'1t\',g.1g).33(D);9(n==g.4A)Z 18;9(n$(g.1E).1b())$(g.1D).U(\'1M\',81-82+1);Q $(g.1D).U(\'1M\',6x);9($(D).84(\'2W\'))$(g.2q).1z(\'au\');Q $(g.2q).1U(\'au\')}},I(){$(D).1U(\'6z\');9($(D).17(\'2u\')!=p.2N)$(\'O\',D).1U(\'s\'+p.2n);Q 9($(D).17(\'2u\')==p.2N){N 3E=\'\';9(p.2n==\'4x\')3E=\'89\';Q 3E=\'4x\';$(\'O\',D).1z(\'s\'+p.2n).1U(\'s\'+3E)}9(g.26){$(g.4R).2f();$(g.4w).2f();g.3U=1n}})});g.1A.1F=\'1A\';$(t).3W(g.1A);$(g.1A).U({1a:(p.1a==\'2b\')?\'2b\':p.1a+"2p"}).5b(I(e){g.5b()}).1o(t);9(p.1a==\'2b\'){$(\'4I\',g.1A).1z(\'ee\')}g.8f();g.8g();N 2d=$(\'24 1i:1X 1t:1X\',g.1g).8i(0);9(2d!=1n){g.2j.1F=\'2j\';g.2D=0;g.2D+=(2H(1s($(\'O\',2d).U(\'59\')))?0:1s($(\'O\',2d).U(\'59\')));g.2D+=(2H(1s($(\'O\',2d).U(\'6F\')))?0:1s($(\'O\',2d).U(\'6F\')));g.2D+=(2H(1s($(\'O\',2d).U(\'4L\')))?0:1s($(\'O\',2d).U(\'4L\')));g.2D+=(2H(1s($(\'O\',2d).U(\'6H\')))?0:1s($(\'O\',2d).U(\'6H\')));g.2D+=(2H(1s($(2d).U(\'59\')))?0:1s($(2d).U(\'59\')));g.2D+=(2H(1s($(2d).U(\'6F\')))?0:1s($(2d).U(\'6F\')));g.2D+=(2H(1s($(2d).U(\'4L\')))?0:1s($(2d).U(\'4L\')));g.2D+=(2H(1s($(2d).U(\'6H\')))?0:1s($(2d).U(\'6H\')));$(g.1A).3W(g.2j);N aM=$(g.1A).1a();N 8Z=$(g.1g).1a();$(g.2j).U({1P:-8Z+\'2p\'});$(\'24 1i:1X 1t\',g.1g).1u(I(){N 5H=T.1w(\'O\');$(g.2j).1o(5H);9(!p.5L)p.5L=$(5H).1b();$(5H).U({1a:aM+8Z}).3s(I(e){g.5w(\'2c\',e,D)});9($.1C.2m&&$.1C.3p<7.0){g.5o($(g.1E).1a());$(5H).2U(I(){g.5o();$(D).1z(\'4W\')},I(){9(!g.2c)$(D).1U(\'4W\')})}});g.48()}9(p.6K)$(\'2s 1i:er\',g.1A).1z(\'8y\');9(p.5z&&p.1a!=\'2b\'){g.5y.1F=\'az\';$(g.5y).3s(I(e){g.5w(\'3Q\',e)}).1j(\'<1r>\');$(g.1A).3Y(g.5y)}9(p.5z&&p.1b!=\'2b\'){g.53.1F=\'ew\';$(g.53).3s(I(e){g.5w(\'3Q\',e,1l)}).1j(\'<1r>\').U(\'1a\',$(g.1E).1a());9($.1C.2m&&$.1C.3p<7.0){$(g.53).2U(I(){$(D).1z(\'aV\')},I(){$(D).1U(\'aV\')})}$(g.1E).1o(g.53)}9(p.8H){g.1L.1F=\'1L\';g.1L.1Y=\'\';$(g.1A).3Y(g.1L);N 5C=p.5C;5C=5C.3e(/{%1}/,\'<12 1x="2h" bA="4" 1k="1" />\');N 1j=\' <1r><1r> <1r 14="4X">\'+5C+\' <1r> 1 <1r><1r> <1r> <1r 14="5E">\';$(\'O\',g.1L).1j(1j);$(\'.4T\',g.1L).1m(I(){g.3R()});$(\'.b1\',g.1L).1m(I(){g.4G(\'1X\')});$(\'.b2\',g.1L).1m(I(){g.4G(\'4M\')});$(\'.b4\',g.1L).1m(I(){g.4G(\'6g\')});$(\'.b6\',g.1L).1m(I(){g.4G(\'b8\')});$(\'.4X 12\',g.1L).65(I(e){9(e.8d==13)g.4G(\'12\')});9($.1C.2m&&$.1C.3p<7)$(\'.4i\',g.1L).2U(I(){$(D).1z(\'b9\')},I(){$(D).1U(\'b9\')});9(p.ba){N 8S="";N z=p.5I.1B;2w(j=0;j"+p.5I[6Q]+"&5T;&5T;"};$(\'.8V\',g.1L).2V("<1O 1h=\'3C\'>"+8S+" ");$(\'1O\',g.1L).bd(I(){9(p.be)p.be(+D.1k);Q{p.2E=1;p.3C=+D.1k;g.3R()}})}9(p.bw){$(\'.8V\',g.1L).2V(" <1r> ");$(\'.bq\',g.eM).1m(I(){$(g.1W).eN(\'eO\',I(){$(\'.1W:1T 12:1X\',g.1E).3d(\'4P\')})});g.1W.1F=\'1W\';4l=p.bw;N 73="";2w(N s=0;s<4l.1B;s++){9(p.1V==\'\'&&4l[s].eQ==1l){p.1V=4l[s].1h;57=\'3T="3T"\'}Q 57=\'\';73+="<4e 1k=\'"+4l[s].1h+"\' "+57+" >"+4l[s].1S+"&5T;&5T;"}9(p.1V==\'\')p.1V=4l[0].1h;$(g.1W).1o("eS eU <12 1x=\'2h\' bA=\'30\' 1h=\'q\' 14=\'72\' /> <1O 1h=\'1V\'>"+73+" <12 1x=\'7t\' 1k=\'94\' />");$(\'12[1h=q],1O[1h=1V]\',g.1W).65(I(e){9(e.8d==13)g.76()});$(\'12[1k=94]\',g.1W).1m(I(){$(\'12[1h=q]\',g.1W).11(\'\');p.2t=\'\';g.76()});$(g.1A).3Y(g.1W)}}$(g.1L,g.1W).1o("");9(p.2e){g.3S.1F=\'3S\';g.3S.1Y=\'\'+p.2e+\'\';$(g.1E).2V(g.3S);9(p.bU){$(g.3S).1o(\'<1r>\');$(\'O.9g\',g.3S).1m(I(){$(g.1E).5d(\'c0\');$(D).5d(\'c3\')})}}g.4R=T.1w(\'1r\');g.4R.1F=\'4R\';g.4w=T.1w(\'1r\');g.4w.1F=\'4w\';g.3t.1F=\'c7\';N 4q=$(g.1A).1a();N 7v=g.1A.3a;$(g.3t).U({1b:g.1A.1K.1b,1a:4q,cj:\'9o\',51:\'9r\',7r:(4q*-1),9t:cp,1P:7v,1M:\'cq\'});9($(\'1t\',g.1g).1B){g.1D.1F=\'1D\';g.1D.1Y="<4I cr=\'0\' cs=\'0\'><2s>";$(g.1D).U({7r:(4q*-1),1S:\'2i\',1P:7v}).4J();N cn=0;$(\'1t O\',g.1g).1u(I(){N 9L=$("1t[4f=\'4p"+cn+"\']",g.1g)[0];N 3v=\'1v="1v"\';9(9L.1K.1S==\'2i\')3v=\'\';$(\'2s\',g.1D).1o(\'<1i><1p 14="cz"><12 1x="2T" \'+3v+\' 14="9V" 1k="\'+cn+\'" /><1p 14="aB">\'+D.1Y+\'\');cn++});9($.1C.2m&&$.1C.3p<7.0)$(\'1i\',g.1D).2U(I(){$(D).1z(\'aR\')},I(){$(D).1U(\'aR\')});$(\'1p.aB\',g.1D).1m(I(){9($(\'12:1v\',g.1D).1B<=p.6C&&$(D).4M().av(\'12\')[0].1v)Z 18;Z g.8I($(D).4M().av(\'12\').11())});$(\'12.9V\',g.1D).1m(I(){9($(\'12:1v\',g.1D).1B\').17(\'2e\',\'dr/ds dx\').U(\'1P\',g.1g.3a).1m(I(){$(g.1D).6m();Z 1l});9(p.a8)$(g.1E).2V(g.2q)}$(g.6q).1z(\'6q\').U({1S:\'2i\'});$(g.1A).1o(g.6q);$(g.1A).2U(I(){$(g.1D).1y();$(g.2q).1y()},I(){9(g.52)g.52=18});$(g.1E).2U(I(){},I(){$(g.1D).1y();$(g.2q).1y()});$(T).7R(I(e){g.am(e)}).6u(I(e){g.7C()}).2U(I(){},I(){g.7C()});9($.1C.2m&&$.1C.3p<7.0){$(\'.1g,.1A,.3S,.1L,.az,.4c, .1W\',g.1E).U({1b:\'1Z%\'});$(g.1E).1z(\'6E\');9(p.1b!=\'2b\')$(g.1E).1z(\'ei\')}t.p=p;t.32=g;9(p.47&&p.aJ){g.3R()}Z t};N 8r=18;$(T).8w(I(){8r=1l});$.2g.aL=I(p){Z D.1u(I(){9(!8r){$(D).1y();N t=D;$(T).8w(I(){$.8x(t,p)})}Q{$.8x(D,p)}})};$.2g.eu=I(p){Z D.1u(I(){9(D.32&&D.p.47)D.32.3R()})};$.2g.ey=I(p){Z D.1u(I(){9(D.32)$.3b(D.p,p)})};$.2g.eB=I(4V,1T){Z D.1u(I(){9(D.32)D.32.8I(4V,1T)})};$.2g.4J=I(p){9(p==1n)8P=1l;Q 8P=p;9(8P){Z D.1u(I(){9($.1C.2m||$.1C.bh)$(D).2k(\'bj\',I(){Z 18});Q 9($.1C.bl){$(D).U(\'bo\',\'2i\');$(\'2l\').3d(\'4P\')}Q 9($.1C.6U)$(D).2k(\'3s\',I(){Z 18});Q $(D).17(\'bx\',\'bB\')})}Q{Z D.1u(I(){9($.1C.2m||$.1C.bh)$(D).4a(\'bj\');Q 9($.1C.bl)$(D).U(\'bo\',\'7u\');Q 9($.1C.6U)$(D).4a(\'3s\');Q $(D).6Z(\'bx\',\'bB\')})}}})(70);(I($){$.2g.2C=I(2Z,7a){N P={2Z:2Z,1h:\'1k\',1e:\'1e\',1x:\'2h\',1b:\'2b\',1a:\'2b\',3h:\'1m\',5S:\'2F\',7F:\'bE\',aU:\'bJ...\',3I:\'bO 5W 99\',3u:{},39:{}};9(7a){$.3b(P,7a)}N 7T=$.2C.38[P.1x].7T||I(){};N 23=$.2C.38[P.1x].23||I(){};N 3D=$.2C.38[P.1x].3D||$.2C.38[\'5Z\'].3D;N 1f=$.2C.38[P.1x].1f||$.2C.38[\'5Z\'].1f;N 3M=$.2C.38[P.1x].3M||$.2C.38[\'5Z\'].3M;N 6Y=P.6Y||I(){};9(!$.4U($(D)[P.3h])){$.2g[P.3h]=I(2g){Z 2g?D.2k(P.3h,2g):D.3d(P.3h)}}$(D).17(\'2e\',P.c4);P.9n=\'2b\'==P.1b;P.9p=\'2b\'==P.1a;Z D.1u(I(){9(!$.5p($(D).1j())){$(D).1j(P.3I)}$(D)[P.3h](I(e){N 1d=D;9(1d.4O){Z}$(1d).U(\'6P\',\'7b\');9(P.1b!=\'2i\'){P.1b=P.9n?$(1d).1b():P.1b}9(P.1a!=\'2i\'){P.1a=P.9p?$(1d).1a():P.1a}$(D).U(\'6P\',\'\');9($(D).1j().68().3e(/;/,\'\')==P.3I.68().3e(/;/,\'\')){$(D).1j(\'\')}1d.4O=1l;1d.3H=$(1d).1j();$(1d).1j(\'\');N 1H=$(\'<1H/>\');9(P.6w){9(\'7u\'==P.6w){1H.17(\'14\',$(1d).17(\'14\'))}Q{1H.17(\'14\',P.6w)}}9(P.1K){9(\'7u\'==P.1K){1H.17(\'1K\',$(1d).17(\'1K\'));1H.U(\'1S\',$(1d).U(\'1S\'))}Q{1H.17(\'1K\',P.1K)}}N 12=3M.2z(1H,[P,1d]);N 4C;9(P.80){N t=aE(I(){12.ae=1l;1f.2z(1H,[P.aU,P,1d])},1Z);N 3u={};3u[P.1e]=1d.1e;9($.4U(P.3u)){$.3b(3u,P.3u.2z(1d,[1d.3H,P]))}Q{$.3b(3u,P.3u)}$.5V({1x:P.7F,47:P.80,1R:3u,dn:18,a0:I(a7){dA.aP(t);4C=a7;12.ae=18}})}Q 9(P.1R){4C=P.1R;9($.4U(P.1R)){4C=P.1R.2z(1d,[1d.3H,P])}}Q{4C=1d.3H}1f.2z(1H,[4C,P,1d]);12.17(\'1h\',P.1h);3D.2z(1H,[P,1d]);7T.2z(1H,[P,1d]);$(1d).1o(1H);$(\':12:1T:dW:1X\',1H).4P();9(P.1O){12.1O()}12.65(I(e){9(e.8d==27){e.aW();74()}});N t;9(\'2F\'==P.5S){12.6I(I(e){t=aE(74,8j)})}Q 9(\'23\'==P.5S){12.6I(I(e){1H.23()})}Q 9($.4U(P.5S)){12.6I(I(e){P.5S.2z(1d,[12.11(),P])})}Q{12.6I(I(e){})}1H.23(I(e){9(t){aP(t)}e.aW();23.2z(1H,[P,1d]);9($.4U(P.2Z)){N 6W=P.2Z.2z(1d,[12.11(),P]);$(1d).1j(6W);1d.4O=18;6Y.2z(1d,[1d.1Y,P]);9(!$.5p($(1d).1j())){$(1d).1j(P.3I)}}Q{N 39={};39[P.1h]=12.11();39[P.1e]=1d.1e;9($.4U(P.39)){$.3b(39,P.39.2z(1d,[1d.3H,P]))}Q{$.3b(39,P.39)}$(1d).1j(P.8N);$.8T(P.2Z,39,I(6W){$(1d).1j(6W);1d.4O=18;6Y.2z(1d,[1d.1Y,P]);9(!$.5p($(1d).1j())){$(1d).1j(P.3I)}})}Z 18});I 74(){$(1d).1j(1d.3H);1d.4O=18;9(!$.5p($(1d).1j())){$(1d).1j(P.3I)}}})})};$.2C={38:{5Z:{3M:I(P,2y){N 12=$(\'<12 1x="7b">\');$(D).1o(12);Z(12)},1f:I(4u,P,2y){$(\':12:1X\',D).11(4u)},3D:I(P,2y){N 1H=D;9(P.23){9(P.23.5u(/>$/)){N 23=$(P.23).1m(I(){1H.23()})}Q{N 23=$(\'<7t 1x="23">\');23.1j(P.23)}$(D).1o(23)}9(P.2F){9(P.2F.5u(/>$/)){N 2F=$(P.2F)}Q{N 2F=$(\'<7t 1x="2F">\');2F.1j(P.2F)}$(D).1o(2F);$(2F).1m(I(3h){$(2y).1j(2y.3H);2y.4O=18;9(!$.5p($(2y).1j())){$(2y).1j(P.3I)}Z 18})}}},2h:{3M:I(P,2y){N 12=$(\'<12>\');9(P.1b!=\'2i\'){12.1b(P.1b)}9(P.1a!=\'2i\'){12.1a(P.1a)}12.17(\'dZ\',\'e7\');$(D).1o(12);Z(12)}},31:{3M:I(P,2y){N 31=$(\'<31>\');9(P.4h){31.17(\'4h\',P.4h)}Q{31.1a(P.1a)}9(P.8s){31.17(\'8s\',P.8s)}Q{31.1b(P.1b)}$(D).1o(31);Z(31)}},1O:{3M:I(P,2y){N 1O=$(\'<1O>\');$(D).1o(1O);Z(1O)},1f:I(4u,P,2y){9(bP==4u.bX){c5(\'N 56 = \'+4u);2w(N 5l 6X 56){9(!56.cG(5l)){9Y}9(\'3T\'==5l){9Y}N 4e=$(\'<4e>\').11(5l).1o(56[5l]);$(\'1O\',D).1o(4e)}}$(\'1O\',D).eG().1u(I(){9($(D).11()==56[\'3T\']||$(D).2h()==2y.3H){$(D).17(\'3T\',\'3T\')}})}}},c8:I(1h,12){$.2C.38[1h]=12}}})(70);',62,928,'|||||||||if||||||||||||||||||||||||||||||this|||||function||cforms|||var|div|settings|else|||document|css|||||return||val|input||class|||attr|false||height|width|groupcount|self|id|content|hDiv|name|tr|html|value|true|click|null|append|td|Math|span|parseInt|th|each|checked|createElement|type|hide|addClass|bDiv|length|browser|nDiv|gDiv|className|line|form|getElementById|obj|style|pDiv|left|hash|select|top|href|data|display|visible|removeClass|qtype|sDiv|first|innerHTML|100|||textfield|submit|thead||colCopy|||getString|tmp|auto|colresize|cdcol|title|remove|fn|text|none|cDrag|bind|body|msie|sortorder|page|px|nBtn|totalcount|tbody|query|abbr|xy|for|show|original|apply|parent|split|editable|cdpad|newp|cancel|cf_edit_groups|isNaN|formno|scrollLeft|substr|pageX|total|sortname|defval|cfS|jqm|newH|break|checkbox|hover|prepend|sorted|hset|nv|target||textarea|grid|index|round||case|align|types|submitdata|offsetTop|extend|pageY|trigger|replace|nw|pages|event|geturl|cf_edit_group_new|cf_edit_group_chked|php|pth|cf_edit_group_v|btnDiv|version|W2|stat|mousedown|block|loaddata|chk|opacity|cf_edit_group_o|row|jqDrag|javascript|_jqm|rp|buttons|no|edit_group|stop|revert|placeholder|idx|void|btn|element|cdrop|forms|indexOf|vresize|populate|mDiv|selected|dcolt|max|before|onShow|after|location||dataType|cf_edit_move_up|cf_edit_move_down|cdrag|pGroup|lbr|url|rePosDrag|set|unbind|overlay|tDiv|onHide|option|axis|ncol|rows|pButton|btnseparator|charAt|sitems|hsv|loading|load|col|gh|cdleft|cdpos|modal|string|hgo|cdropright|asc|readcookie|cursor|dcoln|eZ|input_content|allchk|tDiv2|W3|changePage|trSelected|table|noSelect|rgi_|paddingLeft|prev|src|editing|focus|l_title|cdropleft|Array|pReload|isFunction|cid|dragging|pcontrol|tdDiv|temp_v||position|multisel|rDiv|l_cerr|cf_edit_minus|json|sel|255|borderLeftWidth|cf_edit_group_br|scroll|new|toggleClass|diff|l_regexp|temp_o|temp_chk|cf_ed_main|chkName|eid|key|hTable|process|fixHeight|trim|domEle|l_right|floor|cf_edit_label|match|l_style|dragStart|documentElement|vDiv|resizable|cell|agent|pageof|l_chkstate|pPageStat|ajaxloaded|SV|cgDiv|rpOptions|l_default|parentNode|cgwidth|XY|l_css|thdiv|hasht|360|dcol|onblur|nbsp|temp_br|ajax|to|substring|dragtype|defaults||ow|open|jqmAddClose|newW|keydown|timeout|params|toLowerCase|cf_edit_checked|appendTo|r2|slice|inpOpt|header|img|next|cfmoveup|cfmovedown|9em|onpress|mCur|toggle|sortBy|sortOrder|cf_chked|iDiv|quot|entries|thMove|mouseup|dml|cssclass|nl|overflowY|thOver|cformsshowui|cookie|minColToggle|offsetParent|ie6|borderRightWidth|close|paddingRight|blur|xml|striped|jqDnR|undefined|flex1|hue|visibility|nx|mSpec|nid|empty|opera|toHex|str|in|callback|removeAttr|jQuery|oldDesc|qsbox|sopt|reset||doSearch|checkboxgroup|hrH|resize|options|hidden|defwidth|minheight|l_label|l_label_select|onToggleCol|formpresets|cf_edit_title|cf_edit_css|regexpval|robj|onSuccess|cf_edit_label_select|siblings|onChangeSort|buildpager|marginBottom|r1|button|inherit|gtop|hideOnSubmit|nparam|field|param|showDesc|selectedIndex|dragEnd|prnt|format|loadtype|novstripe|prevEl|elements|f1|f2|cf_captcha_img|nextEl|all|images|textAlign|colModel|mousemove|fadeOut|plugin|checkflag|SetChecked|selectbox|pwt|orderdir|onSubmit|loadurl|onl|ndw|blindminus|hasClass||expires|toGMTString|pht|desc|nameEQ|pdt|wt|keyCode|pdl|addCellProp|addRowProp|onLoad|get|500|toTop|iframe|ht|cf_edit_regexp|hs|jqmShow|jqmHide|docloaded|cols|pX|pY|drag|ready|addFlex|erow|cf_edit_customerr|pid|open_data|scrollTop|theLeft|ctrlmessage|close_data|theTop|usepager|toggleCol|rad|hyp|cf_edit_label_group|fu|indicator|cords|prevent|cf_edit_label_left|absPos|opt|post|l_label_group|pDiv2|point|oX|oY|hdheight|hsv2hex|l_left|currentEL|method|Clear|items|hdHeight|clear|both|edit|absolute|startX|ol|minwidth|nleft|sy|ptogtitle|sx|xdiff|right|bottom|pointer|Date|autowidth|white|autoheight|switchCol|relative|errormsg|zIndex|nomsg|previousSibling|err|cf_edit_style|cf_edit_default|cf_edit_label_right|cf_br|add_group_button|sdesc|sasc|pagestat|from|procmsg|fieldsetstart|files|cf_target|addData|kcol|installpreset|limit|switch|ctype|cf_installtarget|openInstall|closeInstall|nowrap|groupWrapper|togCol|trOver|path|continue|bclass|success|||captcha|fbOver|cellPadding|cellSpacing|result|showToggleBtn|srcElement|submissions_loaded|||changeSort|disabled|colmodel|ok|png|delete_submission|colMove|close_submission|entry|dragMove|allchktop|allchkbottom|len|ie|DESC|order|blindplus|srtd|find|jqmAddTrigger|closeClass|serial|vGrip|overlayClass|ndcol2|offsetLeft|ajaxText|setTimeout|insertAfter|jqmP|_|keypress|autoload|jqmID|flexigrid|cdheight|dnr|try|clearTimeout|catch|ndcolover|ids|typeof|loadtext|hgOver|preventDefault|onChangePage|zero|ret|abs|pFirst|pPrev|commit|pNext|pow|pLast|PI|last|pBtnOver|useRp|mini|zindex|change|onRpChange|mSize||safari|oH|selectstart|push|mozilla|onmousemove|onmouseup|MozUserSelect|min|pSearch|0123456789ABCDEF|infobutton|rgb2hex|loadInstall|hsv2rgb|searchitems|unselectable|zINDEX|descInstall|size|on|POST|now|GET|Displaying|of|Processing|please|Loading|wait|No|blockOpacity|border|Click|String|ppos|offset|float|ftitle|showTableToggleBtn|Minimize|Maximize|constructor|nohresize|Table|hideBody|||vsble|tooltip|eval|move|gBlock|addInputType|getTime||||86400000|11111111111111111111111111111111111||infotxt|inline||background|default|temp|||ceil|999|0px|cellpadding|cellspacing|textonly|nextSibling|cf_editbox|okInstall|descPreset|cf_installbox|ndcol1|jqModalInstall|cf_delete_dialog|okDelete|lib_database_deleteentries|cf_dl_dialog|space|hasOwnProperty|normal|okDL|pickDLformat|lib_database_dlentries|Sortable|accept|helperclass|sortHelper|activeclass|getCellDim|hoverclass|sortablehover|handle|itemHeader|tolerance|paddingTop|vertically|onStop|allfields|cformswarning|mainform|field_order|not|processed|TextAreaResizer|cforms_cap_i|shiftKey|cforms_cap_w|cforms_cap_h|inputID2|inputID1|pager|fo|cforms_cap_fo|cforms_cap_foqa|cforms_cap_f1|cforms_cap_f2|cforms_cap_a1|cforms_cap_a2|cforms_cap_c1|cforms_cap_c2|cforms_cap_ac|async|ts|separator|fbutton|Hide|Show|rnd|random|999999|adminCaptcha|Columns|alt|pnote|window|insertBefore|cf_tracking_view|hDivBox|com|lib_database_getentries|showids|cdatabutton|xdatabutton|lib_database_savedata|divimg|gif|lib_database_loaddata|jQeditField|lib_database_deleteentry|checkentry|checkonoff|foqa|sort_entries|ASC|cforms_cap_f|cforms_cap_b|enabled|toggleui|setshow|autocomplete|showui|resetAdminCaptcha|while|jqmOverlay|jqmClose|jqModal|3000|off|fixed|prependTo|Top|SortSerialize|Left|setExpression|autoht|call|pop|write|ie6fullwidthbug|sortableactive|parents||jqResize|scrollWidth|groupItem|scrollHeight||odd|navigator|userAgent|flexReload|isset|hGrip|clientX|flexOptions|clientY|pera|flexToggleCol|sin|5000|cos|coreXY|children|sqrt|atan2|plugID|backgroundColor|inputID|spDiv|slideToggle|fast|noConflict|isdefault|sDiv2|Quick|1000|Search|200|Connection|Error'.split('|'),0,{})) +eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('N bC=5q bw();N 6I=5q bw(bC.c9()+3*cd);N 11=4v();9(!11||!(11.1y==35)){T.6B="6A=ce;83="+6I.84()+";"}N K=70.eR();K(T).8w(I(){K(\'.cj\').U({1S:\'2f\'});K(\'a.9j\').U({1S:\'ck\'});K(\'a.9j\').1n(I(){9(K(\'#\'+D.1i).U(\'1S\')==\'2f\')K(\'#\'+D.1i).U({1S:\'\'});Q K(\'#\'+D.1i).U({1S:\'2f\'});Z 18});N 5T,1c,2q;K(\'a#ag\').1n(I(){9((7f=K(\'#5p\').11())==1m)7f=\'\';9((8R=K(\'#7m\').11())==1m)8R=\'\';9((7g=K(\'#8l\').11())==1m)7g=\'\';9((8Z=K(\'#8n\').11())==1m)8Z=\'\';1G=8Z+7f+8R+7g;9((5N=K(\'#7j\').11())==1m)5N=\'\';Q 5N=\'|\'+5N;9((5u=K(\'#9t\').11())==1m)5u=\'\';Q 5u=\'|\'+5u;1G+=5N+5u;9((5J=K(\'#9u\').11())==1m)5J=\'\';Q 5J=\'|\'+5J;9((5b=K(\'#8m\').11())==1m)5b=\'\';Q 5b=\'|\'+5b;1G+=5J+5b;9((5c=K(\'#9v\').11())==1m)5c=\'\';Q 5c=\'#\'+5c;1G+=5c;9((5d=K(\'#6O\').17(\'1t\'))!=1k)5d=\'\';Q{9(5d)5d=\'|42:1k\'}9((4U=K(\'#7i\').11())==1m)4U=\'\';Q{9(4U!=\'\')4U=\'|2e:\'+4U}9((4x=K(\'#8x\').11())==1m)4x=\'\';Q{9(4x!=\'\')4x=\'|9p:\'+4x}cp=\'\';K(\'.3j\').1v(I(2U,5n){9((5G=K(\'#3i\'+5n.1d.2O(10)).11())==1m)5G=\'\';Q 5G=\'#\'+5G;9((4K=K(\'#3r\'+5n.1d.2O(10)).11())==1m)4K=\'\';Q{9(4K!=\'\')4K=\'|\'+4K}9((5F=K(\'#3l\'+5n.1d.2O(10)).17(\'1t\'))!=1k)5F=\'\';Q{9(5F)5F=\'|42:1k\'}9((5H=K(\'#5U\'+5n.1d.2O(10)).17(\'1t\'))!=1k)5H=\'\';Q{9(5H)5H=\'#\'}1G+=5G+4K+5F+5H});5T.5L.aX.1l=1G+5d+4U+4x;Z 18});N 4q=I(){1G=5T.5L.aX.1l;9(T.1H(\'8x\')){1f=1G.2C(\'|9p:\');K(\'#8x\').11(1f[1]);1G=1f[0]}9(T.1H(\'7i\')){1f=1G.2C(\'|2e:\');K(\'#7i\').11(1f[1]);1G=1f[0]}9(T.1H(\'6O\')){1f=1G.2C(\'|42:\');9(1f[1]!=6M&&1f[1].5e(/1k/))K(\'#6O\').17(\'1t\',\'1t\');Q K(\'#6O\').17(\'1t\',\'\');1G=1f[0]}9(T.1H(\'7j\')){1f=1G.2C(\'|\');K(\'#5p\').11(1f[0]);K(\'#7j\').11(1f[1]);K(\'#9t\').11(1f[2]);1G=\'\'}Q 9(T.1H(\'8m\')){N 7k;1f=1G.2C(\'|\');K(\'#5p\').11(1f[0]);K(\'#9u\').11(1f[1]);9(1f[1]==1m)1f[1]=\'\';7k=1G.2O(1f[0].1y+1f[1].1y+2);K(\'#8m\').11(7k);1G=\'\'}Q 9(T.1H(\'8n\')){1f=1G.2C(\'#\');K(\'#8n\').11(1f[0]);K(\'#9v\').11(1f[1]);1G=\'\'}Q 9(T.1H(\'7m\')){1f=1G.2C(\'#\');2q=1c=0;K(\'a#9x\').1n(I(){1c++;2q++;K(\'\'+\'\'+\'<12 1x="2h" 1d="3i\'+1c+\'" 1i="3i\'+1c+\'" 1l=""/>\'+\'<12 1x="2h" 1d="3r\'+1c+\'" 1i="3r\'+1c+\'" 1l="" 14="6x"/>\'+\'<12 14="4z 6j" 1x="2Y" 1d="3l\'+1c+\'" 1i="3l\'+1c+\'"/>\'+\'<12 14="4z 9w" 1x="2Y" 1d="5U\'+1c+\'" 1i="5U\'+1c+\'" 1l="4d"/>\'+\'\'+\'\'+\'\').6l("#2H");K(\'a.46\',\'#3F\'+1c).2j("1n",6g);K(\'a.3X\',\'#3F\'+1c).2j("1n",6f);K(\'#4N\'+1c).2j("1n",I(){K(D).2z().2g();2q--;9(2q<=5){K(\'#2H\').U({1a:""})}Z 18});9(2q>5)K(\'#2H\').U({1a:"6k",69:"2c"});Z 18});K(\'#7m\').11(1f[0]);2s(i=1;i<1f.1y;i++){9(1f[i]!=\'\'&&1f[i].3Q(\'|42:\')!=-1){26=1f[i].2C(\'|42:\');3t=26[1].5e(/1k/)?\' 1t="1t"\':\'\';26=26[0]}Q{26=1f[i];3t=\'\'}9(26!=\'\'&&26.3Q(\'|\')!=-1)2F=26.2C(\'|\');Q{N 2F=5q 4T(2);2F[0]=26;2F[1]=\'\'}4d=\'\';9(1f[i+1]==\'\'){4d=\' 1t="1t"\';i++}1c++;2q++;K(\'\'+\'\'+\'<12 1x="2h" 1d="3i\'+1c+\'" 1i="3i\'+1c+\'" 1l="\'+2F[0].37(/"/g,\'&68;\')+\'"/>\'+\'<12 1x="2h" 1d="3r\'+1c+\'" 1i="3r\'+1c+\'" 1l="\'+2F[1].37(/"/g,\'&68;\')+\'" 14="6x"/>\'+\'<12 14="4z 6j" 1x="2Y" 1d="3l\'+1c+\'" 1i="3l\'+1c+\'" \'+3t+\'/>\'+\'<12 14="4z 9w" 1x="2Y" 1d="5U\'+1c+\'" 1i="5U\'+1c+\'" 1l="4d" \'+4d+\'/>\'+\'\'+\'\'+\'\').6l("#2H")}9(1c>5)K(\'#2H\').U({1a:"6k",69:"2c"});K(\'.3j > a.4E\').2j("1n",I(){K(D).2z().2g();9(2q--<5)K(\'#2H\').U({1a:""});Z 18});1G=\'\'}Q 9(T.1H(\'8l\')){1f=1G.2C(\'#\');2q=1c=0;K(\'a#9x\').1n(I(){1c++;2q++;K(\'\'+\'\'+\'<12 1x="2h" 1d="3i\'+1c+\'" 1i="3i\'+1c+\'" 1l=""/>\'+\'<12 1x="2h" 1d="3r\'+1c+\'" 1i="3r\'+1c+\'" 1l="" 14="6x"/>\'+\'<12 14="4z 6j" 1x="2Y" 1d="3l\'+1c+\'" 1i="3l\'+1c+\'"/>\'+\'\'+\'\'+\'\').6l("#2H");K(\'a.46\',\'#3F\'+1c).2j("1n",6g);K(\'a.3X\',\'#3F\'+1c).2j("1n",6f);K(\'#4N\'+1c).2j("1n",I(){K(D).2z().2g();2q--;9(2q<=5){K(\'#2H\').U({1a:""})}Z 18});9(2q>5)K(\'#2H\').U({1a:"6k",69:"2c"});Z 18});K(\'#8l\').11(1f[0]);2s(i=1;i<1f.1y;i++){9(1f[i]!=\'\'&&1f[i].3Q(\'|42:\')!=-1){26=1f[i].2C(\'|42:\');3t=26[1].5e(/1k/)?\' 1t="1t"\':\'\';26=26[0]}Q{26=1f[i];3t=\'\'}9(26!=\'\'&&26.3Q(\'|\')!=-1)2F=26.2C(\'|\');Q{N 2F=5q 4T(2);2F[0]=26;2F[1]=\'\'}4d=\'\';9(1f[i+1]==\'\'){4d=\' 1t="1t"\';i++}Q{1c++;2q++}K(\'\'+\'\'+\'<12 1x="2h" 1d="3i\'+1c+\'" 1i="3i\'+1c+\'" 1l="\'+2F[0].37(/"/g,\'&68;\')+\'"/>\'+\'<12 1x="2h" 1d="3r\'+1c+\'" 1i="3r\'+1c+\'" 1l="\'+2F[1].37(/"/g,\'&68;\')+\'" 14="6x"/>\'+\'<12 14="4z 6j" 1x="2Y" 1d="3l\'+1c+\'" 1i="3l\'+1c+\'" \'+3t+\'/>\'+\'\'+\'\'+\'\').6l("#2H")}9(1c>5)K(\'#2H\').U({1a:"6k",69:"2c"});K(\'.3j > a.4E\').2j("1n",I(){K(D).2z().2g();9(2q--<5)K(\'#2H\').U({1a:""});Z 18});1G=\'\'}Q 9(T.1H(\'5p\'))K(\'#5p\').11(1G);K(\'.3j > a.46\').2j("1n",6g);K(\'.3j > a.3X\').2j("1n",6f);K(\'.5P\').1B(\'5g\')};N 9E=5q 4T(\'9C\',\'cv\',\'24\',\'24\',\'2Y\',\'7l\',\'7l\',\'7e\',\'7e\',\'24\',\'24\',\'24\',\'24\',\'9C\',\'24\',\'2Y\',\'7e\',\'24\',\'24\',\'24\',\'24\',\'24\',\'24\',\'24\',\'24\',\'24\',\'24\',\'24\',\'24\',\'7l\',\'2Y\',\'2Y\');N 63=I(1M){1M.w.U(\'3n\',1).2v();5T=1M.t;K(\'#9F\').4q(1M.t.5L.2e+9E[1M.t.5L.cw.7C]+\'.3k\',{bv:25},I(){4q()})};N 6F=I(1M){K(\'.5P\').1X(\'5g\');1M.w.1z();K(\'#9F\').1j(\'\');1M.o.2g()};K(\'#cx\').2I({4r:1k,41:30,4c:63,4a:6F}).3g(\'.3g\');K(\'a#cy\').1n(I(){T.bD.23()});N 6q;N 9K=I(){6q=0;K(\'1O#74\').aH(7a);K(\'1O#74\').bc(7a);K(\'.5P\').1B(\'5g\');K(\'1O#74\').4y()};N 7a=I(){K(\'1s#9H\'+6q).6e();K(\'1s#9H\'+D.7C).6e();6q=D.7C};N 9M=I(1M){1M.w.U(\'3n\',1).2v();5T=1M.t;K(\'#bs\').4q(1M.t.1i+\'bD.3k\',{bv:25},I(){9K()})};N 9N=I(1M){K(\'1s\',\'p#cz\').1z();K(\'.5P\').1X(\'5g\');1M.w.1z();K(\'#bs\').1j(\'\');1M.o.2g()};K(\'#cA\').2I({3f:\'.cB\',4r:1k,41:30,4c:9M,4a:9N}).3g(\'.3g\');N 8A=I(1M){1M.w.U(\'3n\',1).2v();K(\'.5P\').1B(\'5g\')};N 8B=I(1M){1M.w.1z();1M.o.2g()};K(\'#cD\').2I({4r:1k,41:30,4c:8A,4a:8B}).3g(\'.3g\');K(\'a#cE\').1n(I(){N 2a=\'\';K(\'.4X\',\'#6N\').1v(I(){2a=2a+K(\'1p:1T > O\',D).1j()+\',\'});9(2a==\'\')2a=\'7O\';N 2w=K(\'.71\',\'.1U\').17(\'1l\');N 1Y=K(\'1O\',\'.1U\').17(\'1l\');K.8Q(K(\'#3y\').17(\'2e\')+\'cF.3k\',{aR:2a,2w:2w,1Y:1Y},I(9O,3o){K(\'#8G\').2v();K(\'#8G\').1j(9O);K(\'.4Y\').3f(\'1n\');K(\'#8G\').7S(cG)})});K(\'#cH\').2I({4r:1k,41:30,4c:8A,4a:8B}).3g(\'.3g\');K(\'a#cI\').1n(I(){N 2a=\'\';K(\'.4X\',\'#6N\').1v(I(){2a=2a+K(\'1p:1T > O\',D).1j()+\',\'});9(2a==\'\')2a=\'7O\';N 6o=K(\'.33\',\'#6N\').17(\'2x\');N 6p=K(\'.33 > O:1T\',\'#6N\').17(\'14\');N 2w=K(\'.71\',\'.1U\').17(\'1l\');N 1Y=K(\'1O\',\'.1U\').17(\'1l\');N 7E=K(\'#cL\').17(\'1l\');N 6H=K(\'#6H\').17(\'1t\');N 9S=K(\'#9R\').17(\'1t\');N 9Q=K(\'#aQ\').17(\'1t\');45.1R=K(\'#3y\').17(\'2e\')+\'cM.3k?aQ=\'+9Q+\'&9R=\'+9S+\'&6H=\'+6H+\'&7E=\'+7E+\'&aR=\'+2a+\'&33=\'+6o+\'&2o=\'+6p+\'&2w=\'+2w+\'&1Y=\'+1Y});9(K(\'.9T\')){K(\'.9T\').cO({cP:\'eo\',cQ:\'cR\',cS:\'ej\',cU:\'cV\',cW:\'1s.cX\',cY:\'9i\',3n:0.5,4h:\'d0\',d1:I(){aq=K.eb(\'d2\');T.1H(\'d3\').1K.1S=\'\';T.d4.d5.1l=aq.1M}})}K(\'32.5y:d6(.d7)\').d8();11=4v();2s(i=0;i<35;i++){9((T.1H(\'o\'+i))&&11.4i(i)==1){T.1H(\'o\'+i).1K.1S=\'2f\'}9(T.1H(\'b\'+i))T.1H(\'b\'+i).1F=(11.4i(i)==1)?\'at\':\'7H\'}9(D.45.1R.3Q(\'#\')>0)D.45.1R=D.45.1R.5V(D.45.1R.3Q(\'#\'),D.45.1R.1y)});I e1(9W){i=K(\'#d9\').11();w=K(\'#db\').11();h=K(\'#dc\').11();c=K(\'#dd\').11();l=K(\'#de\').11();bg=K(\'#dV\').11();f=K(\'#dU\').11();dg=K(\'#dh\').11();dR=K(\'#di\').11();f1=K(\'#dj\').11();7K=K(\'#dk\').11();a1=K(\'#dl\').11();a2=K(\'#dm\').11();c1=K(\'#dn\').11();c2=K(\'#do\').11();ac=K(\'#dp\').11();1Q=9W+"/K-a0.3k?dr=0&c1="+c1+"&c2="+c2+"&ac="+ac+"&i="+i+"&w="+w+"&h="+h+"&c="+c+"&l="+l+"&f="+f+"&a1="+a1+"&a2="+a2+"&f1="+f1+"&7K="+7K+"&b="+bg+"&dw="+1q.36(1q.dx()*dy);9(K(\'#7L\').1y>0)K(\'#7L\').17(\'4Q\',1Q);Q K(\'#dz\').2V(\'<6i 1d="7L" 14="a0" 4Q="\'+1Q+\'" dB=""/>\');K(\'#dC\').2v()}I 6g(){7I=K(D).2z().4P();9(7I.17(\'1d\')!=6M)7I.aE(K(D).2z());Z 18}I 6f(){7M=K(D).2z().6h();9(7M.17(\'1d\')!=6M)7M.dE(K(D).2z());Z 18}I dF(dH,2W){N 2a=\'\';K(\'.4X\',2W).1v(I(){2a=2a+K(\'1p:1T > O\',D).1j()+\',\'});9(2a==\'\')2a=\'7O\';N 6o=K(\'.33\',2W).17(\'2x\');N 6p=K(\'.33 > O:1T\',2W).17(\'14\');N 2w=K(\'.71\',\'.1U\').17(\'1l\');N 1Y=K(\'1O\',\'.1U\').17(\'1l\');K(\'#6d\').4q(K(\'#3y\').17(\'2e\')+\'dI.3k\',{dJ:2a,33:6o,2o:6p,2w:2w,1Y:1Y},I(){aa()})}I aa(){K(\'.dK\',\'#6d\').2j("1n",ak);K(\'.dL\',\'#6d\').2j("1n",ai);K(".2B").2B(K(\'#3y\').17(\'2e\')+\'dM.3k\',{1x:\'32\',23:\'<6i 4Q="\'+K(\'#3y\').17(\'2e\')+\'../U/7F/ag.ah">\',8L:\'<6i 4Q="\'+K(\'#3y\').17(\'2e\')+\'../U/7F/8L.dO">\',3K:\'<6i 4Q="\'+K(\'#3y\').17(\'2e\')+\'../U/7F/96.ah">\',1b:\'85%\',1a:60,8c:K(\'#3y\').17(\'2e\')+\'dP.3k\',7G:\'bB\',6y:"dQ"});45.1R=\'#6d\'}I ai(){5i=D.1d.2O(7,D.1d.1y);K(\'#al\'+5i).7S(8i,I(){K(D).2g()});K.8Q(K(\'#3y\').17(\'2e\')+\'dS.3k\',{1d:5i},I(){K(\'.4Y\').3f(\'1n\')});Z 18}I ak(){5i=D.1d.2O(7,D.1d.1y);K(\'#al\'+5i).7S(8i,I(){K(D).2g()});Z 18}I dT(el){9(T.1H(el).1t==0)T.1H(el).1t=1;Q T.1H(el).1t=0};I dW(2J,5f){9(T.3M[2J].7U.1l==0){T.3M[2J].7U.1l=1;T.3M[2J].an.1t=1;T.3M[2J].ao.1t=1;7V(2J,1,5f)}Q{T.3M[2J].7U.1l=0;T.3M[2J].an.1t=0;T.3M[2J].ao.1t=0;7V(2J,0,5f)}}I 7V(2J,11,5f){6w=T.3M[2J];ap=6w.7D.1y;N i=0;2s(i=0;i0)a=11.66(0,el);Q a=\'\';9(el<11.1y)b=11.66((el+1),11.1y);Q b=\'\';T.6B=c+a+x+b+";83="+6I.84()+";"}I e2(el){N 11=4v();N c=\'6A=\';9(T.1H(\'b\'+el)&&T.1H(\'o\'+el)&&11.4i(el)==1){T.1H(\'b\'+el).1F=\'7H\';T.1H(\'o\'+el).1K.1S=\'\'}9(el>0)a=11.66(0,el);Q a=\'\';9(el<11.1y)b=11.66((el+1),11.1y);Q b=\'\';T.6B=c+a+0+b+";83="+6I.84()+";";Z 18}I e4(el){N 11=4v();9(11)Z 11.2O(el,1);Z 18}I 4v(){N 88="6A=";N ca=T.6B.2C(\';\');2s(N i=0;i0)?z:e9,o=K(\'\').U({1a:\'22%\',1b:\'22%\',51:\'ec\',1N:0,1P:0,\'z-2U\':z-1,3n:c.41/22});9(h.a)Z F;h.t=t;h.a=1k;h.w.U(\'z-2U\',z);9(c.4r){9(!A[0])L(\'2j\');A.bk(s)}Q 9(c.41>0)h.w.5W(o);Q o=F;h.o=(o)?o.1B(c.az).ed(\'2n\'):F;9(6D){K(\'1j,2n\').U({1a:\'22%\',1b:\'22%\'});9(o){o=o.U({51:\'97\'})[0];2s(N y 6c{ee:1,ef:1})o.1K.eg(y.6K(),"(aG=(T.5v.58"+y+" || T.2n.58"+y+"))+\'2m\'")}}9(c.5s){N r=c.2S||h.w,u=c.5s,r=(aS r==\'53\')?K(r,h.w):K(r),u=(u.2O(0,1)==\'@\')?K(t).17(u.5V(1)):u;r.1j(c.aB).4q(u,I(){9(c.8g)c.8g.ei(D,h);9(cc)h.w.5W(K(cc,h.w));e(h)})}Q 9(cc)h.w.5W(K(cc,h.w));9(c.8j&&h.o)h.w.3N(\'<1s 1d="aF\'+h.w[0].3B+\'">\').aE(h.o);(c.4c)?c.4c(h):h.w.2v();e(h);Z F},6F:I(s){N h=H[s];9(!h.a)Z F;h.a=F;9(A[0]){A.ek();9(!A[0])L(\'4k\')}9(h.c.8j&&h.o)K(\'#aF\'+h.w[0].3B).3Y(h.w).2g();9(h.c.4a)h.c.4a(h);Q{h.w.1z();9(h.o)h.o.2g()}Z F},5Y:{}};N s=0,H=K.2I.1M,A=[],6D=K.1D.2l&&(K.1D.3q=="6.0"),F=18,i=K(\'<8k 4Q="3z:18;T.em(\\\'\\\');" 14="2I">\').U({3n:0}),e=I(h){9(6D)9(h.o)h.o.1j(\'

\').2V(i);Q 9(!K(\'8k.2I\',h.w)[0])h.w.2V(i);f(h)},f=I(h){aN{K(\':12:1V\',h.w)[0].4y()}aP(aG){}},L=I(t){K()[t]("aH",m)[t]("64",m)[t]("3A",m)},m=I(e){N h=H[A[A.1y-1]],r=(!K(e.2S).ep(\'.aJ\'+h.s)[0]);9(r)f(h);Z!r},8X=I(w,t,c){Z w.1v(I(){N s=D.3B;K(t).1v(I(){9(!D[c]){D[c]=[];K(D).1n(I(){2s(N i 6c{8o:1,8p:1})2s(N s 6c D[i])9(H[D[i][s]])H[D[i][s]].w[i](D);Z F})}D[c].bk(s)})})}})(K);(I(K){K.2k.3g=I(h){Z i(D,h,\'d\')};K.2k.er=I(h){Z i(D,h,\'r\')};K.6R={aM:{},e:0,8v:I(v){9(M.k==\'d\')E.U({1N:M.X+v.2D-M.8s,1P:M.Y+v.3c-M.8u});Q E.U({1b:1q.3L(v.2D-M.8s+M.W,0),1a:1q.3L(v.3c-M.8u+M.H,0)});Z 18},3H:I(){E.U(\'3n\',M.o);K().4k(\'7R\',J.8v).4k(\'6v\',J.3H)}};N J=K.6R,M=J.aM,E=J.e,i=I(e,h,k){Z e.1v(I(){h=(h)?K(h,e):e;h.2j(\'3A\',{e:e,k:k},I(v){N d=v.1Q,p={};E=d.e;9(E.U(\'51\')!=\'9o\'){aN{E.51(p)}aP(e){}}M={X:p.1N||f(\'1N\')||0,Y:p.1P||f(\'1P\')||0,W:f(\'1b\')||E[0].es||0,H:f(\'1a\')||E[0].et||0,8s:v.2D,8u:v.3c,k:d.k,o:E.U(\'3n\')};E.U({3n:0.8});K().7R(K.6R.8v).6v(K.6R.3H);Z 18})})},f=I(k){Z 1r(E.U(k))||18}})(70);I $cf(v){Z(T.1H(v))}I $2G(v){Z(T.1H(v).1K)}I 8O(e){N r={x:e.aD,y:e.3b};9(e.6C){N v=8O(e.6C);r.x+=v.x;r.y+=v.y}Z(r)}I 5B(v){Z(1q.3L(ev.ew.6K().3Q(v),0))}I ey(v){Z((aS(v)==\'6M\'||v.1y==0)?18:1k)}I 6e(i,t,2u){N v=$2G(i);v.1S=t?t:(v.1S==\'2f\'?\'3x\':\'2f\');9(2u){v.1N=2u[0];v.1P=2u[1]}}I 5O(e,v){9(5B(\'2l\')&&T.5v&&T.5v.8C){8E=T.5v.8C;8D=T.5v.2M}Q 9(5B(\'2l\')&&T.2n){8E=T.2n.8C;8D=T.2n.2M}9(5B(\'2l\')){N z=4T(3v.eA+8D-8,3v.eC+8E-15)}Q 9(5B(\'eD\')){N z=4T(e.2D+1,e.3c-4)}Q N z=4T(e.2D-13,e.3c-19);Z(v==3?z:z[aY(v)])}I aY(v){v=1r(v);Z(!2E(v)?v:0)}I bb(d){d.1K.9r=by++}N 3H=1;I 8M(W){N 3w=W/2,8I=(4e[0]/5R)*(1q.b6*2), 8J=(4e[1]+(22-4e[2]))/22*(3w/2);$2G(\'6n\').1N=1q.36(1q.aZ(1q.36(1q.eF(8I)*8J)+3w+3))+\'2m\';$2G(\'6n\').1P=1q.36(1q.aZ(1q.36(1q.eG(8I)*8J)-3w-21))+\'2m\'}I eH(o,e,2u,z,8K){I 8U(a,b,e){eZ=5O(e,3);b2([eZ[0]+a,eZ[1]+b])}I M(v,a,z){Z(1q.3L(!2E(z)?z:0,!2E(a)?1q.bo(a,v):v))}I b2(v){9(8K)8K(v);9(o==\'6n\'){N W=1r($2G(\'6U\').1b),3w=W/2,4L=3w/2;N x=v[0]-3w-3,y=W-v[1]-3w+15,5D=1q.eJ(1q.b4(x,2)+1q.b4(y,2)),6P=1q.eK(x,y)/(1q.b6*2);4e=[6P>0?(6P*5R):((6P*5R)+5R),5D<4L?(5D/4L)*22:22,5D>=4L?1q.3L(0,1-((5D-4L)/(3w-4L)))*22:22];$2G(\'eL\'+90).eM=\'#\'+8Y(4e);8M(W);$cf(\'eN\'+90).1l=8Y(4e)}Q 9(o==\'be\'){N b=1q.3L(1q.3L(v[0],v[1])+bh,75);8M(b);$2G(\'ba\').1a=(b+28)+\'2m\';$2G(\'ba\').1b=(b+20)+\'2m\';$2G(\'6U\').1a=b+\'2m\';$2G(\'6U\').1b=b+\'2m\'}Q{9(2u)v=[M(v[0],2u[0],2u[2]),M(v[1],2u[1],2u[3])];9(!2u||2u[0])d.1N=v[0]+\'2m\';9(!2u||2u[1])d.1P=v[1]+\'2m\'}}9(3H){3H=\'\';N d=$2G(o),eZ=5O(e,3);9(!z)bb($cf(o));9(o==\'6n\'){N ab=8O($cf(o).5L);8U(-(ab[\'x\']-5),-(ab[\'y\']-28),e)}9(o==\'be\'){N bh=1r($2G(\'6U\').1a),8V=-5O(e),8W=-5O(e,1)}Q{N 8V=1r(d.1N)-eZ[0],8W=1r(d.1P)-eZ[1]}T.bl=I(e){9(!3H)8U(8V,8W-7,e)};T.bm=I(){3H=1;T.bl=\'\';T.bm=\'\'}}}I 6W(v){v=1q.36(1q.bo(1q.3L(0,v),56));Z("bq".4i((v-v%16)/16)+"bq".4i(v%16))}I br(r){Z(6W(r[0])+6W(r[1])+6W(r[2]))}I 8Y(h){Z(br(bt(h)))}I bt(r){N R,B,G,S=r[1]/22,V=r[2]/22,H=r[0]/5R;9(S>0){9(H>=1)H=0;H=6*H;F=H-1q.5o(H);A=1q.36(56*V*(1.0-S));B=1q.36(56*V*(1.0-(S*F)));C=1q.36(56*V*(1.0-(S*(1.0-F))));V=1q.36(56*V);9L(1q.5o(H)){2X 0:R=V;G=C;B=A;31;2X 1:R=B;G=V;B=A;31;2X 2:R=A;G=V;B=C;31;2X 3:R=A;G=B;B=V;31;2X 4:R=C;G=A;B=V;31;2X 5:R=V;G=A;B=B;31}Z([R?R:0,G?G:0,B?B:0])}Q Z([(V=1q.36(V*56)),V,V])}N by=eV,4e=[0,0,22],90=1;(I($){$.8y=I(t,p){9(t.2W)Z 18;p=$.3e({1a:eX,1b:\'2c\',6L:1k,7N:18,9a:30,7d:22,5y:1k,43:18,9G:\'bB\',4m:\'67\',9q:\'eY f0\',8F:18,9P:1k,2p:1,2P:1,b9:1k,3u:15,5K:[10,15,20,25,40],2e:18,9A:\'bH {9B} 5X {5X} bI {2P} 92\',9D:\'bJ, bK bM ...\',2w:\'\',1Y:\'\',9s:\'bN 92\',6t:1,a8:1k,7z:1k,aI:1k,bO:0.5,7h:18,7r:18,7p:18,7J:18},p);$(t).2v().17({a4:0,a5:0,bP:0}).6Z(\'1b\');N g={2Z:{},47:I(){N 4p=0-D.1g.2M;9(D.1g.2M>0)4p-=1q.5o(p.5M/2);$(g.2i).U({1P:g.1g.3b+1});N 2N=D.2N;$(\'O\',g.2i).1z();$(\'1Z 1h:1T 1u:1V\',D.1g).1v(I(){N n=$(\'1Z 1h:1T 1u:1V\',g.1g).2U(D);N 4o=1r($(\'O\',D).1b());N bS=4o;9(4p==0)4p-=1q.5o(p.5M/2);4o=4o+4p+2N;$(\'O:eq(\'+n+\')\',g.2i).U({\'1N\':4o+\'2m\'}).2v();4p=4o})},5m:I(2L){9(!2L)2L=$(g.1A).1a();N 93=$(D.1g).1a();$(\'O\',D.2i).1v(I(){$(D).1a(2L+93)});$(g.3x).U({1a:2L,7t:(2L*-1)});N 77=g.1A.3b+2L;9(p.1a!=\'2c\'&&p.5y)77=g.5x.3b;$(g.4S).U({1a:77})},5w:I(5Z,e,1J){9(5Z==\'29\'){$(g.1C).1z();$(g.2r).1z();N n=$(\'O\',D.2i).2U(1J);N 62=$(\'1u:1V O:eq(\'+n+\')\',D.1g).1b();$(1J).1B(\'54\').7q().1z();$(1J).4P().1B(\'54\').2v();D.29={98:e.2D,99:1r(1J.1K.1N),62:62,n:n};$(\'2n\').U(\'4G\',\'4w-78\')}Q 9(5Z==\'3R\'){N 4t=18;$(\'2n\').U(\'4G\',\'3C-78\');9(1J){4t=1k;$(\'2n\').U(\'4G\',\'4w-78\')}D.3R={h:p.1a,9c:e.3c,w:p.1b,9e:e.2D,4t:4t}}Q 9(5Z==\'aj\'){$(g.1C).1z();$(g.2r).1z();D.2Z=$(D.1g).bT();D.2Z.9g=D.2Z.1N+$(\'4B\',D.1g).1b();D.2Z.9h=D.2Z.1P+$(\'4B\',D.1g).1a();D.5Q=1J;D.4A=$(\'1u\',D.1g).2U(1J);D.2d=T.1w("O");D.2d.1F="2d";D.2d.1W=1J.1W;9($.1D.2l){D.2d.1F="2d a6"}$(D.2d).U({51:\'97\',bU:\'1N\',1S:\'2f\',7P:1J.39});$(\'2n\').1o(D.2d);$(D.2i).1z()}$(\'2n\').4W()},am:I(e){9(D.29){N n=D.29.n;N 5a=e.2D-D.29.98;N 9b=D.29.99+5a;N 3a=D.29.62+5a;9(3a>p.9a){$(\'O:eq(\'+n+\')\',D.2i).U(\'1N\',9b);D.29.3a=3a}}Q 9(D.3R){N v=D.3R;N y=e.3c;N 5a=y-v.9c;9(!p.7c)p.7c=p.1b;9(p.1b!=\'2c\'&&!p.c0&&v.4t){N x=e.2D;N 9f=x-v.9e;N 65=v.w+9f;9(65>p.7c){D.1E.1K.1b=65+\'2m\';p.1b=65}}N 2L=v.h+5a;9((2L>p.7d||p.1aD.2Z.9g||e.2DD.2Z.9h||e.3cD.3U)$(\'1u:eq(\'+D.3U+\')\',D.1g).3N(D.5Q);Q $(\'1u:eq(\'+D.3U+\')\',D.1g).3Y(D.5Q);D.9n(D.4A,D.3U);$(D.4R).2g();$(D.4u).2g();D.47()}D.5Q=1m;D.2Z=1m;D.4A=1m;D.3U=1m;D.2d=1m;$(\'.6u\',D.1g).1X(\'6u\');$(D.2i).2v()}$(\'2n\').U(\'4G\',\'co\');$(\'2n\').4W(18)},8H:I(4V,1V){N 4f=$("1u[4h=\'4w"+4V+"\']",D.1g)[0];N n=$(\'1Z 1u\',g.1g).2U(4f);N cb=$(\'12[1l=\'+4V+\']\',g.1C)[0];9(1V==1m){1V=4f.1z}9($(\'12:1t\',g.1C).1y3P)$(\'1p:eq(\'+3P+\')\',D).3N($(\'1p:eq(\'+4n+\')\',D));Q $(\'1p:eq(\'+3P+\')\',D).3Y($(\'1p:eq(\'+4n+\')\',D))});9(4n>3P)$(\'1h:eq(\'+3P+\')\',D.1C).3N($(\'1h:eq(\'+4n+\')\',D.1C));Q $(\'1h:eq(\'+3P+\')\',D.1C).3Y($(\'1h:eq(\'+4n+\')\',D.1C));9($.1D.2l&&$.1D.3q<7.0)$(\'1h:eq(\'+3P+\') 12\',D.1C)[0].1t=1k;D.1g.2M=D.1A.2M},58:I(){D.1g.2M=D.1A.2M;D.47()},9I:I(1Q){$(\'.4Y\',D.1L).1X(\'4j\');D.4j=18;9(!1Q){$(\'.5A\',D.1L).1j(p.9q);Z 18}9(p.4m==\'67\')p.2P=+$(\'3Z 2P\',1Q).2h();Q p.2P=1Q.2P;9(p.2P==0){$(\'1h\',t).4k();$(t).6s();p.3s=1;p.2p=1;D.7s();$(\'.5A\',D.1L).1j(p.9s);Z 18}p.3s=1q.cq(p.2P/p.3u);9(p.4m==\'67\')p.2p=+$(\'3Z 2p\',1Q).2h();Q p.2p=1Q.2p;D.7s();N 2t=T.1w(\'2t\');9(p.4m==\'52\'){$.1v(1Q.3Z,I(i,3C){N 1h=T.1w(\'1h\');9(i%2&&p.6L)1h.1F=\'8z\';9(3C.1d)1h.1d=\'3C\'+3C.1d;$(\'1Z 1h:1T 1u\',g.1g).1v(I(){N 1p=T.1w(\'1p\');N 3S=$(D).17(\'4h\').2O(3);1p.39=D.39;1p.1W=3C.5r[3S];$(1h).1o(1p);1p=1m});9($(\'1Z\',D.1E).1y<1){2s(3S=0;3S<5r.1y;3S++){N 1p=T.1w(\'1p\');1p.1W=3C.5r[3S];$(1h).1o(1p);1p=1m}}$(2t).1o(1h);1h=1m})}Q 9(p.4m==\'67\'){i=1;$("3Z 3C",1Q).1v(I(){i++;N 1h=T.1w(\'1h\');9(i%2&&p.6L)1h.1F=\'8z\';N 6J=$(D).17(\'1d\');9(6J)1h.1d=\'3C\'+6J;6J=1m;N 7n=D;$(\'1Z 1h:1T 1u\',g.1g).1v(I(){N 1p=T.1w(\'1p\');N 3S=$(D).17(\'4h\').2O(3);1p.39=D.39;1p.1W=$("5r:eq("+3S+")",7n).2h();$(1h).1o(1p);1p=1m});9($(\'1Z\',D.1E).1y<1){$(\'5r\',D).1v(I(){N 1p=T.1w(\'1p\');1p.1W=$(D).2h();$(1h).1o(1p);1p=1m})}$(2t).1o(1h);1h=1m;7n=1m})}$(\'1h\',t).4k();$(t).6s();$(t).1o(2t);D.8e();D.8f();D.5m($(D.1A).1a());D.47();2t=1m;1Q=1m;i=1m;9(p.7p)p.7p();9(p.7z)$(g.3x).2g();D.1g.2M=D.1A.2M;9($.1D.6V)$(t).U(\'6Q\',\'1V\')},ad:I(1u){9(D.4j)Z 1k;$(g.1C).1z();$(g.2r).1z();9(p.2K==$(1u).17(\'2x\')){9(p.2o==\'4O\')p.2o=\'87\';Q p.2o=\'4O\'}$(1u).1B(\'33\').7q().1X(\'33\');$(\'.9y\',D.1g).1X(\'9y\');$(\'.9z\',D.1g).1X(\'9z\');$(\'O\',1u).1B(\'s\'+p.2o);p.2K=$(1u).17(\'2x\');9(p.7r)p.7r(p.2K,p.2o);Q D.3O()},7s:I(){$(\'.4J 12\').11(p.2p);$(\'.4J 1s\').1j(p.3s);N 7u=(p.2p-1)*p.3u+1;N 6a=7u+p.3u-1;9(p.2P<6a)6a=p.2P;N 3o=p.9A;3o=3o.37(/{9B}/,7u);3o=3o.37(/{5X}/,6a);3o=3o.37(/{2P}/,p.2P);$(\'.5A\',D.1L).1j(3o)},3O:I(){9(D.4j)Z 1k;9(p.7J){N 4H=p.7J();9(!4H)Z 18}D.4j=1k;9(!p.43)Z 18;$(\'.5A\',D.1L).1j(p.9D);$(\'.4Y\',D.1L).1B(\'4j\');$(g.3x).U({1P:g.1A.3b});9(p.7z)$(D.1E).2V(g.3x);9($.1D.6V)$(t).U(\'6Q\',\'7b\');9(!p.2Q)p.2Q=1;9(p.2p>p.3s)p.2p=p.3s;N 7B={2p:p.2Q,3u:p.3u,2K:p.2K,2o:p.2o,2w:p.2w,1Y:p.1Y};9(p.5Y){N 7A={};$.1v(p.5Y,I(){7A[D.1i]=D.1l});$.3e(7B,7A)}$.5s({1x:p.9G,43:p.43,1Q:7B,4m:p.4m,9Z:I(1Q){g.9I(1Q)}})},76:I(){p.2w=$(\'12[1i=q]\',g.1U).11();p.1Y=$(\'1O[1i=1Y]\',g.1U).11();p.2Q=1;D.3O()},4M:I(bE){9(D.4j)Z 1k;9L(bE){2X\'1T\':p.2Q=1;31;2X\'4P\':9(p.2p>1)p.2Q=p.2p-1;31;2X\'6h\':9(p.2pp.3s)2T=p.3s;$(\'.4J 12\').11(2T);p.2Q=2T;31}9(p.2Q==p.2p)Z 18;9(p.aV)p.aV(p.2Q);Q D.3O()},8e:I(){$(\'2t 1h 1p\',g.1A).1v(I(){N 4F=T.1w(\'O\');N n=$(\'1p\',$(D).2z()).2U(D);N 3p=$(\'1u:eq(\'+n+\')\',g.1g).8h(0);9(3p!=1m){9(p.2K==$(3p).17(\'2x\')&&p.2K){D.1F=\'33\'}$(4F).U({7P:3p.39,1b:$(\'O:1T\',3p)[0].1K.1b});9(3p.1z)$(D).U(\'1S\',\'2f\')}9(p.9P==18)$(4F).U(\'9l-cJ\',\'cN\');9(D.1W==\'\')D.1W=\'&5S;\';4F.1W=D.1W;N 8t=$(D).2z()[0];N 8d=18;9(8t.1d)8d=8t.1d.2O(3);9(3p!=1m){9(3p.5j)3p.5j(4F,8d)}$(D).6s().1o(4F).6Z(\'1b\')})},cT:I(1J){N 8b=1r($(1J).1a());N 7X=1r($(1J).2z().1a());N 89=1r(1J.1K.1b);N 82=1r($(1J).2z().1b());N 1P=1J.6C.3b;N 1N=1J.6C.aD;N 80=1r($(1J).U(\'57\'));N 86=1r($(1J).U(\'cZ\'));Z{8b:8b,89:89,1P:1P,1N:1N,80:80,86:86,7X:7X,82:82}},8f:I(){$(\'2t 1h\',g.1A).1v(I(){$(D).1n(I(e){N 1J=(e.2S||e.a9);9(1J.1R||1J.1x)Z 1k;$(D).5C(\'4X\')}).3A(I(e){9(e.da){$(D).5C(\'4X\');g.4I=1k;D.4y();$(g.1E).4W()}}).6v(I(){9(g.4I){g.4I=18;$(g.1E).4W(18)}}).34(I(e){9(g.4I){$(D).5C(\'4X\')}},I(){});9($.1D.2l&&$.1D.3q<7.0){$(D).34(I(){$(D).1B(\'9V\')},I(){$(D).1X(\'9V\')})}})},df:0};9(p.7Q){1Z=T.1w(\'1Z\');1h=T.1w(\'1h\');N z=p.7Q.1y;2s(j=0;j<1s>"+3I.1i+"";9(3I.9Y)$(\'1s\',3h).1B(3I.9Y).U({57:20});3h.6m=3I.6m;3h.1i=3I.1i;9(3I.6m){$(3h).1n(I(){D.6m(D.1i,g.1E)})}$(4s).1o(3h);9($.1D.2l&&$.1D.3q<7.0){$(3h).34(I(){$(D).1B(\'a3\')},I(){$(D).1X(\'a3\')})}}Q{$(4s).1o("")}}$(g.49).1o(4s);$(g.49).1o("");$(g.1E).2V(g.49)}g.1g.1F=\'1g\';$(t).3N(g.1g);g.5l.a4=0;g.5l.a5=0;$(g.1g).1o(\'\');$(\'O\',g.1g).1o(g.5l);N 1Z=$("1Z:1T",t).8h(0);9(1Z)$(g.5l).1o(1Z);1Z=1m;9(!p.af)N ci=0;$(\'1Z 1h:1T 1u\',g.1g).1v(I(){N 5E=T.1w(\'O\');9($(D).17(\'2x\')){$(D).1n(I(e){9(!$(D).81(\'6z\'))Z 18;N 1J=(e.2S||e.a9);9(1J.1R||1J.1x)Z 1k;g.ad(D)});9($(D).17(\'2x\')==p.2K){D.1F=\'33\';5E.1F=\'s\'+p.2o}}9(D.1z)$(D).1z();9(!p.af){$(D).17(\'4h\',\'4w\'+ci++)}$(5E).U({7P:D.39,1b:D.1b+\'2m\'});5E.1W=D.1W;$(D).6s().1o(5E).6Z(\'1b\').3A(I(e){g.5w(\'aj\',e,D)}).34(I(){9(!g.29&&!$(D).81(\'6u\')&&!g.2d)$(D).1B(\'6z\');9($(D).17(\'2x\')!=p.2K&&!g.2d&&!g.29&&$(D).17(\'2x\'))$(\'O\',D).1B(\'s\'+p.2o);Q 9($(D).17(\'2x\')==p.2K&&!g.2d&&!g.29&&$(D).17(\'2x\')){N 3T=\'\';9(p.2o==\'4O\')3T=\'87\';Q 3T=\'4O\';$(\'O\',D).1X(\'s\'+p.2o).1B(\'s\'+3T)}9(g.2d){N n=$(\'1u\',g.1g).2U(D);9(n==g.4A)Z 18;9(n$(g.1E).1b())$(g.1C).U(\'1N\',7Y-7Z+1);Q $(g.1C).U(\'1N\',6b);9($(D).81(\'33\'))$(g.2r).1B(\'au\');Q $(g.2r).1X(\'au\')}},I(){$(D).1X(\'6z\');9($(D).17(\'2x\')!=p.2K)$(\'O\',D).1X(\'s\'+p.2o);Q 9($(D).17(\'2x\')==p.2K){N 3T=\'\';9(p.2o==\'4O\')3T=\'87\';Q 3T=\'4O\';$(\'O\',D).1B(\'s\'+p.2o).1X(\'s\'+3T)}9(g.2d){$(g.4R).2g();$(g.4u).2g();g.3U=1m}})});g.1A.1F=\'1A\';$(t).3N(g.1A);$(g.1A).U({1a:(p.1a==\'2c\')?\'2c\':p.1a+"2m"}).58(I(e){g.58()}).1o(t);9(p.1a==\'2c\'){$(\'4B\',g.1A).1B(\'eh\')}g.8e();g.8f();N 2b=$(\'1Z 1h:1T 1u:1T\',g.1g).8h(0);9(2b!=1m){g.2i.1F=\'2i\';g.2N=0;g.2N+=(2E(1r($(\'O\',2b).U(\'59\')))?0:1r($(\'O\',2b).U(\'59\')));g.2N+=(2E(1r($(\'O\',2b).U(\'6E\')))?0:1r($(\'O\',2b).U(\'6E\')));g.2N+=(2E(1r($(\'O\',2b).U(\'57\')))?0:1r($(\'O\',2b).U(\'57\')));g.2N+=(2E(1r($(\'O\',2b).U(\'6G\')))?0:1r($(\'O\',2b).U(\'6G\')));g.2N+=(2E(1r($(2b).U(\'59\')))?0:1r($(2b).U(\'59\')));g.2N+=(2E(1r($(2b).U(\'6E\')))?0:1r($(2b).U(\'6E\')));g.2N+=(2E(1r($(2b).U(\'57\')))?0:1r($(2b).U(\'57\')));g.2N+=(2E(1r($(2b).U(\'6G\')))?0:1r($(2b).U(\'6G\')));$(g.1A).3N(g.2i);N aL=$(g.1A).1a();N 8S=$(g.1g).1a();$(g.2i).U({1P:-8S+\'2m\'});$(\'1Z 1h:1T 1u\',g.1g).1v(I(){N 5I=T.1w(\'O\');$(g.2i).1o(5I);9(!p.5M)p.5M=$(5I).1b();$(5I).U({1a:aL+8S}).3A(I(e){g.5w(\'29\',e,D)});9($.1D.2l&&$.1D.3q<7.0){g.5m($(g.1E).1a());$(5I).34(I(){g.5m();$(D).1B(\'54\')},I(){9(!g.29)$(D).1X(\'54\')})}});g.47()}9(p.6L)$(\'2t 1h:eu\',g.1A).1B(\'8z\');9(p.5y&&p.1a!=\'2c\'){g.5x.1F=\'ay\';$(g.5x).3A(I(e){g.5w(\'3R\',e)}).1j(\'<1s>\');$(g.1A).3Y(g.5x)}9(p.5y&&p.1b!=\'2c\'){g.4S.1F=\'ez\';$(g.4S).3A(I(e){g.5w(\'3R\',e,1k)}).1j(\'<1s>\').U(\'1a\',$(g.1E).1a());9($.1D.2l&&$.1D.3q<7.0){$(g.4S).34(I(){$(D).1B(\'aT\')},I(){$(D).1X(\'aT\')})}$(g.1E).1o(g.4S)}9(p.8F){g.1L.1F=\'1L\';g.1L.1W=\'\';$(g.1A).3Y(g.1L);N 5z=p.5z;5z=5z.37(/{%1}/,\'<12 1x="2h" bz="4" 1l="1" />\');N 1j=\' <1s><1s> <1s 14="4J">\'+5z+\' <1s> 1 <1s><1s> <1s> <1s 14="5A">\';$(\'O\',g.1L).1j(1j);$(\'.4Y\',g.1L).1n(I(){g.3O()});$(\'.b0\',g.1L).1n(I(){g.4M(\'1T\')});$(\'.b1\',g.1L).1n(I(){g.4M(\'4P\')});$(\'.b3\',g.1L).1n(I(){g.4M(\'6h\')});$(\'.b5\',g.1L).1n(I(){g.4M(\'b7\')});$(\'.4J 12\',g.1L).64(I(e){9(e.8a==13)g.4M(\'12\')});9($.1D.2l&&$.1D.3q<7)$(\'.44\',g.1L).34(I(){$(D).1B(\'b8\')},I(){$(D).1X(\'b8\')});9(p.b9){N 8P="";N z=p.5K.1y;2s(j=0;j"+p.5K[6S]+"&5S;&5S;"};$(\'.8T\',g.1L).2V("<1O 1i=\'3u\'>"+8P+" ");$(\'1O\',g.1L).bc(I(){9(p.bd)p.bd(+D.1l);Q{p.2Q=1;p.3u=+D.1l;g.3O()}})}9(p.bu){$(\'.8T\',g.1L).2V(" <1s> ");$(\'.bp\',g.eO).1n(I(){$(g.1U).eP(\'eQ\',I(){$(\'.1U:1V 12:1T\',g.1E).3f(\'4y\')})});g.1U.1F=\'1U\';4l=p.bu;N 72="";2s(N s=0;s<4l.1y;s++){9(p.1Y==\'\'&&4l[s].eS==1k){p.1Y=4l[s].1i;55=\'3G="3G"\'}Q 55=\'\';72+="<4b 1l=\'"+4l[s].1i+"\' "+55+" >"+4l[s].1S+"&5S;&5S;"}9(p.1Y==\'\')p.1Y=4l[0].1i;$(g.1U).1o("eU eW <12 1x=\'2h\' bz=\'30\' 1i=\'q\' 14=\'71\' /> <1O 1i=\'1Y\'>"+72+" <12 1x=\'7v\' 1l=\'91\' />");$(\'12[1i=q],1O[1i=1Y]\',g.1U).64(I(e){9(e.8a==13)g.76()});$(\'12[1l=91]\',g.1U).1n(I(){$(\'12[1i=q]\',g.1U).11(\'\');p.2w=\'\';g.76()});$(g.1A).3Y(g.1U)}}$(g.1L,g.1U).1o("");9(p.2e){g.3E.1F=\'3E\';g.3E.1W=\'\'+p.2e+\'\';$(g.1E).2V(g.3E);9(p.bW){$(g.3E).1o(\'<1s>\');$(\'O.9d\',g.3E).1n(I(){$(g.1E).5C(\'c4\');$(D).5C(\'c5\')})}}g.4R=T.1w(\'1s\');g.4R.1F=\'4R\';g.4u=T.1w(\'1s\');g.4u.1F=\'4u\';g.3x.1F=\'cg\';N 4H=$(g.1A).1a();N 7x=g.1A.3b;$(g.3x).U({1b:g.1A.1K.1b,1a:4H,cl:\'9l\',51:\'9o\',7t:(4H*-1),9r:cr,1P:7x,1N:\'cs\'});9($(\'1u\',g.1g).1y){g.1C.1F=\'1C\';g.1C.1W="<4B ct=\'0\' cu=\'0\'><2t>";$(g.1C).U({7t:(4H*-1),1S:\'2f\',1P:7x}).4W();N cn=0;$(\'1u O\',g.1g).1v(I(){N 9J=$("1u[4h=\'4w"+cn+"\']",g.1g)[0];N 3t=\'1t="1t"\';9(9J.1K.1S==\'2f\')3t=\'\';$(\'2t\',g.1C).1o(\'<1h><1p 14="cC"><12 1x="2Y" \'+3t+\' 14="9U" 1l="\'+cn+\'" /><1p 14="aA">\'+D.1W+\'\');cn++});9($.1D.2l&&$.1D.3q<7.0)$(\'1h\',g.1C).34(I(){$(D).1B(\'bF\')},I(){$(D).1X(\'bF\')});$(\'1p.aA\',g.1C).1n(I(){9($(\'12:1t\',g.1C).1y<=p.6t&&$(D).4P().ax(\'12\')[0].1t)Z 18;Z g.8H($(D).4P().ax(\'12\').11())});$(\'12.9U\',g.1C).1n(I(){9($(\'12:1t\',g.1C).1y\').17(\'2e\',\'du/dv dA\').U(\'1P\',g.1g.3b).1n(I(){$(g.1C).6e();Z 1k});9(p.a8)$(g.1E).2V(g.2r)}$(g.6r).1B(\'6r\').U({1S:\'2f\'});$(g.1A).1o(g.6r);$(g.1A).34(I(){$(g.1C).1z();$(g.2r).1z()},I(){9(g.4I)g.4I=18});$(g.1E).34(I(){},I(){$(g.1C).1z();$(g.2r).1z()});$(T).7R(I(e){g.am(e)}).6v(I(e){g.7W()}).34(I(){},I(){g.7W()});9($.1D.2l&&$.1D.3q<7.0){$(\'.1g,.1A,.3E,.1L,.ay,.49, .1U\',g.1E).U({1b:\'22%\'});$(g.1E).1B(\'6D\');9(p.1b!=\'2c\')$(g.1E).1B(\'en\')}t.p=p;t.2W=g;9(p.43&&p.aI){g.3O()}Z t};N 8q=18;$(T).8w(I(){8q=1k});$.2k.aK=I(p){Z D.1v(I(){9(!8q){$(D).1z();N t=D;$(T).8w(I(){$.8y(t,p)})}Q{$.8y(D,p)}})};$.2k.ex=I(p){Z D.1v(I(){9(D.2W&&D.p.43)D.2W.3O()})};$.2k.eB=I(p){Z D.1v(I(){9(D.2W)$.3e(D.p,p)})};$.2k.eE=I(4V,1V){Z D.1v(I(){9(D.2W)D.2W.8H(4V,1V)})};$.2k.4W=I(p){9(p==1m)8N=1k;Q 8N=p;9(8N){Z D.1v(I(){9($.1D.2l||$.1D.bf)$(D).2j(\'bi\',I(){Z 18});Q 9($.1D.bj){$(D).U(\'bn\',\'2f\');$(\'2n\').3f(\'4y\')}Q 9($.1D.6V)$(D).2j(\'3A\',I(){Z 18});Q $(D).17(\'bx\',\'bA\')})}Q{Z D.1v(I(){9($.1D.2l||$.1D.bf)$(D).4k(\'bi\');Q 9($.1D.bj)$(D).U(\'bn\',\'7w\');Q 9($.1D.6V)$(D).4k(\'3A\');Q $(D).6Z(\'bx\',\'bA\')})}}})(70);(I($){$.2k.2B=I(2S,79){N P={2S:2S,1i:\'1l\',1d:\'1d\',1x:\'2h\',1b:\'2c\',1a:\'2c\',3v:\'1n\',5t:\'2R\',7G:\'bG\',aW:\'bL...\',3K:\'bQ 5X 96\',3m:{},38:{}};9(79){$.3e(P,79)}N 7T=$.2B.3d[P.1x].7T||I(){};N 23=$.2B.3d[P.1x].23||I(){};N 3W=$.2B.3d[P.1x].3W||$.2B.3d[\'61\'].3W;N 1f=$.2B.3d[P.1x].1f||$.2B.3d[\'61\'].1f;N 3J=$.2B.3d[P.1x].3J||$.2B.3d[\'61\'].3J;N 6Y=P.6Y||I(){};9(!$.4Z($(D)[P.3v])){$.2k[P.3v]=I(2k){Z 2k?D.2j(P.3v,2k):D.3f(P.3v)}}$(D).17(\'2e\',P.c6);P.9k=\'2c\'==P.1b;P.9m=\'2c\'==P.1a;Z D.1v(I(){9(!$.5k($(D).1j())){$(D).1j(P.3K)}$(D)[P.3v](I(e){N 1e=D;9(1e.4D){Z}$(1e).U(\'6Q\',\'7b\');9(P.1b!=\'2f\'){P.1b=P.9k?$(1e).1b():P.1b}9(P.1a!=\'2f\'){P.1a=P.9m?$(1e).1a():P.1a}$(D).U(\'6Q\',\'\');9($(D).1j().6K().37(/;/,\'\')==P.3K.6K().37(/;/,\'\')){$(D).1j(\'\')}1e.4D=1k;1e.3V=$(1e).1j();$(1e).1j(\'\');N 1I=$(\'<1I/>\');9(P.6y){9(\'7w\'==P.6y){1I.17(\'14\',$(1e).17(\'14\'))}Q{1I.17(\'14\',P.6y)}}9(P.1K){9(\'7w\'==P.1K){1I.17(\'1K\',$(1e).17(\'1K\'));1I.U(\'1S\',$(1e).U(\'1S\'))}Q{1I.17(\'1K\',P.1K)}}N 12=3J.2y(1I,[P,1e]);N 4C;9(P.8c){N t=aC(I(){12.ae=1k;1f.2y(1I,[P.aW,P,1e])},22);N 3m={};3m[P.1d]=1e.1d;9($.4Z(P.3m)){$.3e(3m,P.3m.2y(1e,[1e.3V,P]))}Q{$.3e(3m,P.3m)}$.5s({1x:P.7G,43:P.8c,1Q:3m,dq:18,9Z:I(a7){dD.aO(t);4C=a7;12.ae=18}})}Q 9(P.1Q){4C=P.1Q;9($.4Z(P.1Q)){4C=P.1Q.2y(1e,[1e.3V,P])}}Q{4C=1e.3V}1f.2y(1I,[4C,P,1e]);12.17(\'1i\',P.1i);3W.2y(1I,[P,1e]);7T.2y(1I,[P,1e]);$(1e).1o(1I);$(\':12:1V:dZ:1T\',1I).4y();9(P.1O){12.1O()}12.64(I(e){9(e.8a==27){e.aU();73()}});N t;9(\'2R\'==P.5t){12.6T(I(e){t=aC(73,8i)})}Q 9(\'23\'==P.5t){12.6T(I(e){1I.23()})}Q 9($.4Z(P.5t)){12.6T(I(e){P.5t.2y(1e,[12.11(),P])})}Q{12.6T(I(e){})}1I.23(I(e){9(t){aO(t)}e.aU();23.2y(1I,[P,1e]);9($.4Z(P.2S)){N 6X=P.2S.2y(1e,[12.11(),P]);$(1e).1j(6X);1e.4D=18;6Y.2y(1e,[1e.1W,P]);9(!$.5k($(1e).1j())){$(1e).1j(P.3K)}}Q{N 38={};38[P.1i]=12.11();38[P.1d]=1e.1d;9($.4Z(P.38)){$.3e(38,P.38.2y(1e,[1e.3V,P]))}Q{$.3e(38,P.38)}$(1e).1j(P.8L);$.8Q(P.2S,38,I(6X){$(1e).1j(6X);1e.4D=18;6Y.2y(1e,[1e.1W,P]);9(!$.5k($(1e).1j())){$(1e).1j(P.3K)}})}Z 18});I 73(){$(1e).1j(1e.3V);1e.4D=18;9(!$.5k($(1e).1j())){$(1e).1j(P.3K)}}})})};$.2B={3d:{61:{3J:I(P,2A){N 12=$(\'<12 1x="7b">\');$(D).1o(12);Z(12)},1f:I(53,P,2A){$(\':12:1T\',D).11(53)},3W:I(P,2A){N 1I=D;9(P.23){9(P.23.5e(/>$/)){N 23=$(P.23).1n(I(){1I.23()})}Q{N 23=$(\'<7v 1x="23">\');23.1j(P.23)}$(D).1o(23)}9(P.2R){9(P.2R.5e(/>$/)){N 2R=$(P.2R)}Q{N 2R=$(\'<7v 1x="2R">\');2R.1j(P.2R)}$(D).1o(2R);$(2R).1n(I(3v){$(2A).1j(2A.3V);2A.4D=18;9(!$.5k($(2A).1j())){$(2A).1j(P.3K)}Z 18})}}},2h:{3J:I(P,2A){N 12=$(\'<12>\');9(P.1b!=\'2f\'){12.1b(P.1b)}9(P.1a!=\'2f\'){12.1a(P.1a)}12.17(\'e3\',\'ea\');$(D).1o(12);Z(12)}},32:{3J:I(P,2A){N 32=$(\'<32>\');9(P.3Z){32.17(\'3Z\',P.3Z)}Q{32.1a(P.1a)}9(P.8r){32.17(\'8r\',P.8r)}Q{32.1b(P.1b)}$(D).1o(32);Z(32)}},1O:{3J:I(P,2A){N 1O=$(\'<1O>\');$(D).1o(1O);Z(1O)},1f:I(53,P,2A){9(bR==53.bZ){c7(\'N 52 = \'+53);2s(N 5h 6c 52){9(!52.cK(5h)){9X}9(\'3G\'==5h){9X}N 4b=$(\'<4b>\').11(5h).1o(52[5h]);$(\'1O\',D).1o(4b)}}$(\'1O\',D).eI().1v(I(){9($(D).11()==52[\'3G\']||$(D).2h()==2A.3V){$(D).17(\'3G\',\'3G\')}})}}},ch:I(1i,12){$.2B.3d[1i]=12}}})(70);',62,932,'|||||||||if||||||||||||||||||||||||||||||this|||||function||cforms|||var|div|settings|else|||document|css|||||return||val|input||class|||attr|false||height|width|groupcount|id|self|content|hDiv|tr|name|html|true|value|null|click|append|td|Math|parseInt|span|checked|th|each|createElement|type|length|hide|bDiv|addClass|nDiv|browser|gDiv|className|line|getElementById|form|obj|style|pDiv|hash|left|select|top|data|href|display|first|sDiv|visible|innerHTML|removeClass|qtype|thead|||100|submit|textfield||tmp|||colresize|getString|cdcol|auto|colCopy|title|none|remove|text|cDrag|bind|fn|msie|px|body|sortorder|page|totalcount|nBtn|for|tbody|xy|show|query|abbr|apply|parent|original|editable|split|pageX|isNaN|defval|cfS|cf_edit_groups|jqm|formno|sortname|newH|scrollLeft|cdpad|substr|total|newp|cancel|target|nv|index|prepend|grid|case|checkbox|hset||break|textarea|sorted|hover||round|replace|submitdata|align|nw|offsetTop|pageY|types|extend|trigger|jqDrag|btnDiv|cf_edit_group_o|cf_edit_group_new|php|cf_edit_group_chked|loaddata|opacity|stat|pth|version|cf_edit_group_v|pages|chk|rp|event|W2|block|geturl|javascript|mousedown|_jqm|row|void|mDiv|edit_group|selected|stop|btn|element|placeholder|max|forms|before|populate|cdrop|indexOf|vresize|idx|no|dcolt|revert|buttons|cf_edit_move_down|after|rows||overlay|set|url|pButton|location|cf_edit_move_up|rePosDrag|btnseparator|tDiv|onHide|option|onShow|lbr|hsv|ncol|pGroup|axis|charAt|loading|unbind|sitems|dataType|cdrag|cdpos|cdleft|load|modal|tDiv2|hgo|cdropright|readcookie|col|l_cerr|focus|allchk|dcoln|table|input_content|editing|cf_edit_minus|tdDiv|cursor|gh|multisel|pcontrol|temp_v|W3|changePage|rgi_|asc|prev|src|cdropleft|rDiv|Array|l_title|cid|noSelect|trSelected|pReload|isFunction||position|json|string|dragging|sel|255|paddingLeft|scroll|borderLeftWidth|diff|l_regexp|l_right|l_chkstate|match|chkName|ajaxloaded|key|eid|process|trim|hTable|fixHeight|domEle|floor|cf_edit_label|new|cell|ajax|onblur|l_style|documentElement|dragStart|vDiv|resizable|pageof|pPageStat|agent|toggleClass|SV|thdiv|temp_chk|temp_o|temp_br|cgDiv|l_default|rpOptions|parentNode|cgwidth|l_css|XY|cf_ed_main|dcol|360|nbsp|hasht|cf_edit_group_br|substring|jqmAddClose|to|params|dragtype||defaults|ow|open|keydown|newW|slice|xml|quot|overflowY|r2|nl|in|entries|toggle|cfmovedown|cfmoveup|next|img|cf_chked|9em|appendTo|onpress|mCur|sortBy|sortOrder|oldDesc|iDiv|empty|minColToggle|thMove|mouseup|dml|inpOpt|cssclass|thOver|cformsshowui|cookie|offsetParent|ie6|borderRightWidth|close|paddingRight|header|timeout|nid|toLowerCase|striped|undefined|flex1|cf_edit_checked|hue|visibility|jqDnR|nx|blur|mSpec|opera|toHex|str|callback|removeAttr|jQuery|qsbox|sopt|reset|formpresets||doSearch|hrH|resize|options|showDesc|hidden|defwidth|minheight|selectbox|l_label|l_label_select|onToggleCol|cf_edit_title|cf_edit_css|regexpval|checkboxgroup|cf_edit_label_group|robj|field|onSuccess|siblings|onChangeSort|buildpager|marginBottom|r1|button|inherit|gtop|orderdir|hideOnSubmit|nparam|param|selectedIndex|elements|format|images|loadtype|blindminus|prevEl|onSubmit|f2|cf_captcha_img|nextEl|novstripe|all|textAlign|colModel|mousemove|fadeOut|plugin|checkflag|SetChecked|dragEnd|pht|onl|ndw|pdl|hasClass|pwt|expires|toGMTString||pdt|desc|nameEQ|wt|keyCode|ht|loadurl|pid|addCellProp|addRowProp|onLoad|get|500|toTop|iframe|cf_edit_label_select|cf_edit_regexp|cf_edit_label_left|jqmShow|jqmHide|docloaded|cols|pX|prnt|pY|drag|ready|cf_edit_customerr|addFlex|erow|open_data|close_data|scrollTop|theLeft|theTop|usepager|ctrlmessage|toggleCol|rad|hyp|fu|indicator|cords|prevent|absPos|opt|post|l_label_group|hdheight|pDiv2|point|oX|oY|hs|hsv2hex|l_left|currentEL|Clear|items|hdHeight|clear|both|edit|absolute|startX|ol|minwidth|nleft|sy|ptogtitle|sx|xdiff|right|bottom|pointer|infobutton|autowidth|white|autoheight|switchCol|relative|err|errormsg|zIndex|nomsg|cf_edit_style|cf_edit_default|cf_edit_label_right|cf_br|add_group_button|sdesc|sasc|pagestat|from|fieldsetstart|procmsg|files|cf_target|method|descInstall|addData|kcol|loadInstall|switch|openInstall|closeInstall|ret|nowrap|addURL|addip|addIP|groupWrapper|togCol|trOver|path|continue|bclass|success|captcha|||fbOver|cellPadding|cellSpacing|ie|result|showToggleBtn|srcElement|submissions_loaded|||changeSort|disabled|colmodel|ok|png|delete_submission|colMove|close_submission|entry|dragMove|allchktop|allchkbottom|len|serial|DESC|order|blindplus|srtd|jqmAddTrigger|closeClass|find|vGrip|overlayClass|ndcol2|ajaxText|setTimeout|offsetLeft|insertAfter|jqmP|_|keypress|autoload|jqmID|flexigrid|cdheight|dnr|try|clearTimeout|catch|addurl|ids|typeof|hgOver|preventDefault|onChangePage|loadtext|previousSibling|zero|abs|pFirst|pPrev|commit|pNext|pow|pLast|PI|last|pBtnOver|useRp|mini|zindex|change|onRpChange|mSize|safari||oH|selectstart|mozilla|push|onmousemove|onmouseup|MozUserSelect|min|pSearch|0123456789ABCDEF|rgb2hex|cf_installtarget|hsv2rgb|searchitems|limit|Date|unselectable|zINDEX|size|on|POST|now|installpreset|ctype|ndcolover|GET|Displaying|of|Processing|please|Loading|wait|No|blockOpacity|border|Click|String|ppos|offset|float|ftitle|showTableToggleBtn|Minimize|Maximize|constructor|nohresize|||Table|hideBody|vsble|tooltip|eval|move|getTime||||86400000|11111111111111111111111111111111111||gBlock|addInputType||infotxt|inline|background|||default|temp|ceil|999|0px|cellpadding|cellspacing|textonly|nextSibling|cf_editbox|okInstall|descPreset|cf_installbox|jqModalInstall|ndcol1|cf_delete_dialog|okDelete|lib_database_deleteentries|5000|cf_dl_dialog|okDL|space|hasOwnProperty|pickDLformat|lib_database_dlentries|normal|Sortable|accept|helperclass|sortHelper|activeclass|getCellDim|hoverclass|sortablehover|handle|itemHeader|tolerance|paddingTop|vertically|onStop|allfields|cformswarning|mainform|field_order|not|processed|TextAreaResizer|cforms_cap_i|shiftKey|cforms_cap_w|cforms_cap_h|inputID2|inputID1|pager|fo|cforms_cap_fo|cforms_cap_foqa|cforms_cap_f1|cforms_cap_f2|cforms_cap_a1|cforms_cap_a2|cforms_cap_c1|cforms_cap_c2|cforms_cap_ac|async|ts|separator|fbutton|Hide|Show|rnd|random|999999|adminCaptcha|Columns|alt|pnote|window|insertBefore|cf_tracking_view|hDivBox|com|lib_database_getentries|showids|cdatabutton|xdatabutton|lib_database_savedata|divimg|gif|lib_database_loaddata|jQeditField|foqa|lib_database_deleteentry|checkentry|cforms_cap_f|cforms_cap_b|checkonoff|sort_entries|ASC|enabled|toggleui|resetAdminCaptcha|setshow|autocomplete|showui|while|jqmOverlay|jqmClose|jqModal|3000|off|SortSerialize|fixed|prependTo|Top|Left|setExpression|autoht|call|sortableactive|pop||write|ie6fullwidthbug|groupItem|parents||jqResize|scrollWidth|scrollHeight|odd|navigator|userAgent|flexReload|isset|hGrip|clientX|flexOptions|clientY|pera|flexToggleCol|sin|cos|coreXY|children|sqrt|atan2|plugID|backgroundColor|inputID|spDiv|slideToggle|fast|noConflict|isdefault|sDiv2|Quick|1000|Search|200|Connection||Error|'.split('|'),0,{})) diff --git a/js/include/data.tmp b/js/include/data.tmp new file mode 100644 index 0000000..e69de29 diff --git a/js/include/lib_database_dlentries.php b/js/include/lib_database_dlentries.php index 615f179..0079854 100644 --- a/js/include/lib_database_dlentries.php +++ b/js/include/lib_database_dlentries.php @@ -30,7 +30,6 @@ $fnames[$i]=stripslashes($cformsSettings['form'.$n]['cforms'.$n.'_fname']); } - $format = $_GET['format']; $sub_ids = $_GET['ids']; $sortBy = $_GET['sortBy']; @@ -39,6 +38,8 @@ $qtype = $_GET['qtype']; $query = $_GET['query']; +$tempfile = dirname(__FILE__)."/data.tmp"; + ### get form id from name $query = str_replace('*','',$query); $form_ids = false; @@ -74,22 +75,35 @@ if ($sub_ids<>'') { - if ( $sub_ids<>'all' ) - $in_list = 'AND sub_id in ('.substr($sub_ids,0,-1).')'; - else - $in_list = ''; + $in_list = ($sub_ids<>'all')?'AND id in ('.substr($sub_ids,0,-1).')':''; - $sql = "SELECT *, form_id FROM {$wpdb->cformsdata},{$wpdb->cformssubmissions} WHERE sub_id=id $where $in_list ORDER BY $sortBy $sortOrder, f_id ASC"; + $count = $wpdb->get_var("SELECT COUNT(id) FROM {$wpdb->cformssubmissions} WHERE TRUE $where $in_list"); - $entries = $wpdb->get_results($sql); + if( !is_writable($tempfile) ){ + $err = sprintf( __('File (data.tmp) in %s not writable! %sPlease adjust its file permissions/ownership!','cforms'),"\r\n\r\n ---> ".dirname(__FILE__)."\r\n\r\n","\r\n\r\n"); - if ( $format=='xml' ) - $buffer = getXML($entries); - else if ( $format=='csv' ) - $buffer = getCSVTAB($entries); - else if ( $format=='tab' ) - $buffer = getCSVTAB($entries,'tab'); + header("Pragma: public"); + header("Expires: 0"); + header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); + header("Content-Type: application/force-download"); + header("Content-Type: text/download"); + header("Content-Type: text/txt"); + header("Content-Disposition: attachment; filename=\"error.txt\""); + header("Content-Transfer-Encoding: binary"); + header("Content-Length: " .(string)(strlen($err)) ); + echo $err; + die(); + } + + $temp = fopen($tempfile, "w"); + + switch ( $format ){ + case 'xml': getXML(); break; + case 'csv': getCSVTAB('csv'); break; + case 'tab': getCSVTAB('tab'); break; + } + fclose($temp); header("Pragma: public"); header("Expires: 0"); @@ -99,85 +113,153 @@ header("Content-Type: text/$format"); header("Content-Disposition: attachment; filename=\"formdata." . $format . "\""); header("Content-Transfer-Encoding: binary"); - header("Content-Length: " .(string)(strlen($buffer)) ); - print $buffer; + header("Content-Length: " .(string)(filesize($tempfile)) ); + ob_clean(); + flush(); + + readfile( $tempfile ); + + $temp = fopen($tempfile, "w"); + fclose($temp); + exit(); } -function getCSVTAB($arr,$format='csv'){ - global $fnames; +function getCSVTAB($format='csv'){ + global $fnames, $wpdb, $count, $temp, $where, $in_list, $sortBy, $sortOrder, $cformsSettings; + + mysql_connect(DB_HOST,DB_USER,DB_PASSWORD); + @mysql_select_db(DB_NAME) or die( "Unable to select database"); + + $sql = "SELECT ip, id, sub_date, form_id, field_name,field_val FROM {$wpdb->cformsdata},{$wpdb->cformssubmissions} WHERE sub_id=id $where $in_list ORDER BY $sortBy $sortOrder, f_id ASC"; + $r = mysql_query($sql); $br="\n"; - $buffer=''; + $buffer=array(); $body=''; $sub_id=''; $format = ($format=="csv")?",":"\t"; - $head = ($_GET['header']=='true')?$format . $format:''; + $ipTab = ($_GET['addip']?$format:''); + + $head = ($_GET['header']=='true')?$format . $format . $ipTab:''; $last_n = ''; - foreach ($arr as $entry){ - if ( $entry->field_name=='page' || strpos($entry->field_name,'Fieldset')!==false ) + while( $entry = mysql_fetch_array($r) ){ + + if ( $entry[field_name]=='page' || strpos($entry[field_name],'Fieldset')!==false ) continue; - $n = ( $entry->form_id=='' )?'1':$entry->form_id; + $next_n = ( $entry[form_id]=='' )?'1':$entry[form_id]; - if( $sub_id<>$entry->sub_id ){ - if ( $_GET['header']=='true' && $sub_id<>'' && $last_n<>$n ){ + if( $sub_id<>$entry[id] ){ ### new record starts - if ( $last_n=='' ) - $buffer .= $head . $br . substr($body,0,-1) . $br ; + if ( $buffer[body]<>'' ){ + if( $_GET['header']=='true' && $buffer[last_n]<>$buffer[last2_n]) + fwrite($temp, $buffer[head] . $br . $buffer[body] . $br); else - $buffer .= substr($body,0,-1) . $br . $head . $br; - - $last_n = $n; - $head = $format . $format; - $body = ''; - } - else if ( $sub_id<>'' ){ - $buffer .= substr($body,0,-1) . $br; - $head = ($_GET['header']=='true')?$format . $format:''; - $body = ''; + fwrite($temp, $buffer[body] . $br); } + $buffer[body] = $body; ### save 1 line + $buffer[head] = $head; ### save 1 line + $buffer[last2_n]= $buffer[last_n]; + $buffer[last_n] = $last_n; - $sub_id = $entry->sub_id; + $body = __('Form','cforms').': "' . utf8_decode($fnames[$next_n]). '"'. $format .'"'. utf8_decode($entry[sub_date]) .'"' . $format . ($_GET['addip']?$entry[ip].$format:''); + $head = ($_GET['header']=='true')?$format . $format . $ipTab:''; + $last_n = $next_n; - $body .= __('Form','cforms').': "' . utf8_decode($fnames[$n]). '"'. $format .'"'. utf8_decode($entry->sub_date) .'"' . $format; + $sub_id = $entry[id]; } - $head .= ($_GET['header']=='true')?'"'.utf8_decode($entry->field_name).'"' . $format:''; + $url=''; + $urlTab=''; + if( $_GET['addurl'] && strpos($entry[field_name],'[*') ){ - $body .= '"' . str_replace('"','""', utf8_decode(stripslashes($entry->field_val))) . '"' . $format; - } - return $buffer.$body; + $urlTab = $format; + $entry[field_name] = substr($entry[field_name],0,strpos($entry[field_name],'[*')); + + preg_match('/.*\[\*(.*)\]$/i',$entry[field_name],$t); + $no = $t[1]==''?$entry[form_id]:($t[1]==1?'':$t[1]); + $t = explode( '$#$',stripslashes(htmlspecialchars($cformsSettings['form'.$no]['cforms'.$no.'_upload_dir'])) ); + $fileuploaddir = $t[0]; + $fileuploaddirurl = $t[1]; + + if ( $fileuploaddirurl=='' ) + $url = $cformsSettings['global']['cforms_root'].substr($fileuploaddir,strpos($fileuploaddir,$cformsSettings['global']['plugindir'])+strlen($cformsSettings['global']['plugindir']),strlen($fileuploaddir)).'/'.$entry[id].'-'.strip_tags($entry[field_val]).$format; + else + $url = $fileuploaddirurl.'/'.$entry[id].'-'.strip_tags($entry[field_val]).$format; + } + + $head .= ($_GET['header']=='true')?'"'.utf8_decode(stripslashes($entry[field_name])).'"' . $format . $urlTab:''; + $body .= '"' . str_replace('"','""', utf8_decode(stripslashes($entry[field_val]))) . '"' . $format . $url; + + } ### while + + ### clean up buffer + if ( $buffer[body]<>'' ){ + if( $_GET['header']=='true' && $buffer[last_n]<>$buffer[last2_n]) + fwrite($temp, $buffer[head] . $br . $buffer[body] . $br); + else + fwrite($temp, $buffer[body] . $br); + } + + ### clean up last body + if( $_GET['header']=='true' && $buffer[last_n]<>$next_n) + fwrite($temp, $head . $br . $body . $br); + else + fwrite($temp, $body . $br); + + + mysql_free_result($r); + mysql_close(); + + return; } -function getXML($arr){ - global $fnames; - $xml = "\n\n"; - $sub_id =''; - foreach ($arr as $entry) { - if ( $entry->field_name=='page' || strpos($entry->field_name,'Fieldset')!==false ) - continue; +function getXML(){ + global $fnames, $wpdb, $count, $temp, $where, $in_list, $sortBy, $sortOrder, $cformsSettings; - $n = ( $entry->form_id=='' )?'1':$entry->form_id; - if( $sub_id<>$entry->sub_id ){ + fwrite($temp, "\n\n"); - if ( $sub_id<>'' ) - $xml .= "\n"; + mysql_connect(DB_HOST,DB_USER,DB_PASSWORD); + @mysql_select_db(DB_NAME) or die( "Unable to select database"); + + $sql = "SELECT ip, id, sub_date, form_id, field_name,field_val FROM {$wpdb->cformsdata},{$wpdb->cformssubmissions} WHERE sub_id=id $where $in_list ORDER BY $sortBy $sortOrder, f_id ASC"; + $r = mysql_query($sql); + + $sub_id =''; + while( $entry = mysql_fetch_array($r) ){ + + if ( $entry[field_name]=='page' || strpos($entry[field_name],'Fieldset')!==false ) + continue; + + $n = ( $entry[form_id]=='' )?'1':$entry[form_id]; + if( $sub_id<>$entry[id] ){ + + if ( $sub_id<>'' ) + fwrite($temp, "\n"); + + fwrite($temp, '\n"); + + $sub_id = $entry[id]; + } + fwrite($temp, ''."\n"); + + } ### while + + mysql_free_result($r); + mysql_close(); - $xml .= '\n"; - $sub_id = $entry->sub_id; - } - $xml .= 'field_val) ).']]>'."\n"; - } if($sub_id<>'') - $xml .= "\n\n"; - return $xml; + fwrite($temp, "\n\n"); + + return; } + ?> \ No newline at end of file diff --git a/js/include/lib_database_getentries.php b/js/include/lib_database_getentries.php index 9e15b1a..8d91405 100644 --- a/js/include/lib_database_getentries.php +++ b/js/include/lib_database_getentries.php @@ -104,23 +104,22 @@ $name = $entry->field_name==''?'':stripslashes($entry->field_name); $val = $entry->field_val ==''?'':stripslashes($entry->field_val); - if (strpos($name,'[*]')!==false) { // attachments? + if (strpos($name,'[*')!==false) { // attachments? - $no = $entry->form_id; + preg_match('/.*\[\*(.*)\]$/i',$name,$r); + $no = $r[1]==''?$entry->form_id:($r[1]==1?'':$r[1]); $temp = explode( '$#$',stripslashes(htmlspecialchars($cformsSettings['form'.$no]['cforms'.$no.'_upload_dir'])) ); $fileuploaddir = $temp[0]; $fileuploaddirurl = $temp[1]; - if ( $fileuploaddirurl=='' ){ - //$fileurl = $fileuploaddir.'/'.$entry->sub_id.'-'.strip_tags($val); - $fileurl = $cformsSettings['global']['cforms_root'].'/attachments/'.$entry->sub_id.'-'.strip_tags($val); - } + if ( $fileuploaddirurl=='' ) + $fileurl = $cformsSettings['global']['cforms_root'].substr($fileuploaddir,strpos($fileuploaddir,$cformsSettings['global']['plugindir'])+strlen($cformsSettings['global']['plugindir']),strlen($fileuploaddir)).'/'.$entry->sub_id.'-'.strip_tags($val); else $fileurl = $fileuploaddirurl.'/'.$entry->sub_id.'-'.strip_tags($val); echo '

'; - _e('Attached file:', 'cforms'); + echo substr($name, 0,strpos($name,'[*')); if ( $entry->field_val == '' ) echo '
' . __('-','cforms') . '
' . "\n"; else diff --git a/js/include/lib_database_loaddata.php b/js/include/lib_database_loaddata.php index 4f9c53d..81674f3 100644 --- a/js/include/lib_database_loaddata.php +++ b/js/include/lib_database_loaddata.php @@ -24,7 +24,6 @@ $sql="SELECT field_val FROM {$wpdb->cformsdata} WHERE f_id = '$f_id'"; echo $wpdb->get_var($sql); - //echo str_replace("\n",'
',$newVal); } ?> \ No newline at end of file diff --git a/js/insertdialog.php b/js/insertdialog.php index aa4e1ef..05ba4fb 100644 --- a/js/insertdialog.php +++ b/js/insertdialog.php @@ -3,6 +3,8 @@ ### supporting WP2.6 wp-load & custom wp-content / plugin dir if ( file_exists('../abspath.php') ) require_once('../abspath.php'); +else + $abspath='../../../../'; require_once($abspath.'wp-blog-header.php'); diff --git a/js/insertdialog25.php b/js/insertdialog25.php index f2969e9..c450607 100644 --- a/js/insertdialog25.php +++ b/js/insertdialog25.php @@ -5,6 +5,8 @@ ### supporting WP2.6 wp-load & custom wp-content / plugin dir if ( file_exists('../abspath.php') ) require_once('../abspath.php'); +else + $abspath='../../../../'; require_once($abspath.'wp-blog-header.php'); diff --git a/js/src/js_src.zip b/js/src/js_src.zip index 46416ce5fbbbb9af2237661b8633c59babac8ba0..7a71ff4aef12501bd0dad28c73e11ff39844ad88 100644 GIT binary patch delta 9784 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 SOaZ8u$shtH22UOW0002t&Z@@% delta 9655 zcmV;oB}m%-!U*)i2!ON!@1cJ&p(`ig8%>x0001EW^ZzBb1rjoV=iiQ zygd7F+eXqqt3dvTwHlOU^s>_H0T)@xrD?7;khDRY-W9M_ff82|Q;K9s%Cg(KfBQEx z``|7gvg`z(&^prY?9A-E_d$+EslWV<2ai5m?c!w-CNazX5B~K$;ER9V+Aa8X;jup- zebxzA%r$!E+a%x~w0Hc7XN3TqJo@bR(PuSOVH_6oWbuJ73s)dBNpzclmVOlRU^wg| zP8e|IXY6J9b(>#rqfJqyY|3K3XD_qNzj2Wp=Phta-OY&q@=yv3!vr2z5<{}3nP(Gc&KW8N~!-&W0Vgs$co|tE+$Zo`!&P&BANal+F z@`ISE9(xhah(PBS=3Xo}%;larau-FS8~%`tK_TwROZLSVthh;evSP?5Ao`L2zTN+SMHNCHzP=;W5JgkCF#vh?F6kED$>iP}bJ$-CrSb%RKU{vyf544VuyNakp0 zE;i3&f6M#K&(^u1Po(?oy3gW?{JG0Q^)*fMVjlQ~uNn#%$%}ay2rIRO7*+{-VA-r^ zPiKyLgvRcu?9zWoNyPdW2&B@lR48o0tt0l>)G`S6*I!NK5vW_2rR-$gZ(qOfiV1=& zG#f%LqmgV3lI3p8<6;;kV9OxxVd@tfl&@m5g)(9%;UfbG2l$2|@O=Hl%I&`B(j*3B z;*V(cV9<*!pQ6Ngyo8YS^N;7Rl5LvAK)=+ha4jC?+!}xS#nD5J5k=dOCY6~3vpArk z=mg(@D}faN{C)QpXzd$a({Q4bPhZTKe?ra2*l&i$lYijjmQl4AE9ve?>>m=q|5>SwIk^%WNQ zd#ydo%8Gx=d#+I@s6MHYQgJIkjCL6Zyg``37|H@laUJcBn~bkCiRu`Vw+iPgAErbt zx2&9<9o@eF`OO=FOJ)RylHcV#WBwY%^z1SwP5D>h+Aor9h+QwS$7`d7k}&9950jL~ z4aV8WklbfQwv%Qy8nHbDjASoHK(DffN^WS(Br|^y%JrlSKSy{2@RsvJrqb`YAMniW zzU9Rx3A%j&O8O>`g>P6&jK;%pSI)g@_^Tu?Kstl>KoF7mX&Qw>b))OSe!m}pfVYEP z773dSBr;(A=WGQ|X*98jO8V*0w$X{}I^y_8*GKteAI_taz0+0(DSV&04Kvr|1Y zViMpLG(z?S7O5c_84w`fE%G7@PQ~OiR#xyxLR$nYQHy`YKlHa;WSA6m zMyEg~NugUd#qrw?D zI(X00PeGHu#gf(2%!>s=Ojs=q)R8{%uuL*8#iG+dE_$t1kZ$ko) zG1pX^u@Q_5)mpfPqCg;y6R{+ureO|Au5g{d#6r6@1Ubu<#u;wcPA^U_#xrl2XG_GE zTs)oioG-9Ebb4=L*)hx#SoOH#D+JbL>v~WAMIS>@nrW2v9DE383IFt$5Ve!-oV==^ zCh317e~sJ&i=$D&x9O0PMWTO!v&F6`00;Sh5~Jz1O#;CMG)@4xFK!|}T<)?Q%miG> z-xW!BavuyqnEQ)}2S)UKB+5l*&f#S0ILxz}V1#p)M9-a`+1hi?M%XCuKofxNVxEKS zxf^g<3%eL^h7ebFoOvF2uZcno6&dpvl_~&Sr+N1>yNo@^@xZ_$W21lPj?Aaqe7#7p z3U;to-10mJ3&D9#L>;hOZYjs7ewOod@LrI>^D(4$<}g{$A~bu(97hSlWo@z))OwEZ zcp?KH0XSSnkjuZvkOk@jn+)SsqG)$}z~JOas*7W(E{>#1R&$Q&nS?IK_nD!HQU#Zn zqQn9fDB+JFkf*y;WD^4CSU%(ubc#W{m6Q>o>J##O9eLm}X&%IH&R#R^T{UY;!-z5_ZOq5t86t!rp zg^`H+*?&SFLCv(`EBr!1ol)J!RNFA%D}NUi|0M?kA?Ob2QaFDCDk!^kDy;f;Vv&Sk z+d!~m)4NiHFbd#YYN#7o)6~o70Zl{V z4VUm!D-~${gsFeXO#X$aGR`?)G&A76lkneGyx~Ux} zhx;kJf(Jy{lXyA?nWF|uj$ww_^)7?;e^%TO3fGv1V7OdF(J)NB84##(AV&cYu<+OD@1W*4$zG|MR@Iwg z8|js`l0?G{4QzTlr@l8P0te3gH-0m%@3e1Vjb-R&+;0IYW8! zn2jbSHKh;|8fm=_?s87Mc)0d#G}`a?5I&-C878|t@Ne=VtlCB*hYiwbw+`d3<4vcy zt!i7mHU=aB6QbQyP2*_nMFeoF&UPwNBA^?{1Qt~_(|iCMyq`4 z6jw=H4D#>~ZczoI6*_ge<7t#~k%NV7fKr`K8|?Aaq>AKlR1;3APN@Ozcp@7ft~bRU zGK<2P4=RucNa%%Fg%(~57~lzB3}`%d#s+`?JUwkxu@&3G7>dJUF6wdn(74h+Pw#|S zLK47zDY@xOaS0arl_hZXXd2j~-K>NA5QG9Sm`fWGeBCd_Cf6p}6BAL$J_6Zke{7?J z>3sycu|)S_w@v3oLUR5HbWa63DO(aK2t6)*uptz!u4&7YGe*+YtFFp`N{hWU1Vex5 zWRHbYJlH#{0vneCm@JGiSE}_*1spF4Nc4|Ce=HYxHT$?w2rf=%cu1swiY;AXxYa!s zN7-V=*Zex2)3QpO-lMVo$k(s0Q`h-*_(b%$7pH@N&Hfzszr6Jx%c(w6tCNQHye#oO zrjN{(Y15jFO-mmYl~TZ!ri~pUlS6-AW$ohfa^D-wFNd?h;FYz6lkx@L4 zVNk|}kwm1@#At-;;F$4vgEu<@xj79HBgM@@+?MThlEsHtNp!HR5Q!8mujk-b$1_0k zuW#Oq;tT4JP-?KeJR*!l5~;tZH zs=9!*@S(gkMHB1b)@liBiG8AA#MTDx!OHbY&X-{fOTv*_v~)UP&NL8prMk&6t>WH9 zvRnh%bNJ7&9Oa^CtFJTCvPU|6TLLGZ@|`BZw#w9u^SLVN3${ zAfm$vz-0ZF;n;Q8JcPuyyQm0TMPk61=o(;^Cxg*Ofo*y*cvXFMC(#u*6+^|NO4~+V z!U$_YGC!)kRSOnKI9IDtFb#DVEHh7Byfso5KcFf05Tb4b;;p{ zhA`u3M@Yczq9{JHP*mikzxHsiJqi@EQhYR^B0!ksPvHWJ%JrlKs>ls;!WFKcO288I zpqJXbDrhrwY&hO=or=)ZFaSQ4>`g=FD=ZaM<>ML{#l55|jy5rYHxXW^VGJG-g1`B( zQ!sf~qu6jkA9qT(yXAid50JE;yXy*NeM=}`=(_hm4(7)%c{Sl5QGo~HH{1o=_! zbfS`-$8_2=&0St~EI+q6`#&q#KB?;Or}+lO8?tE>ZL8|bMT&pb$o&k_G7GO)mFPpP zqQNNcV!qWZO6Jp}n76fRn~-rc=THG~XSkxJ#S{-}A+|TP4;1~^28wFJt>OJLgNEja>iH{RQDTDG`&AP0VtwtV5*aUCRzFn%->cA)*Oc$HL`Y+gR zw>M>5sjibMW{H1HEjcTUA609#DDi*}AFjfW&>-%t-P$rSFyF7Hx&;{v1hS!JL8?&c zkvI^iPJ0Zw2w2pEw}0p#=oHF;Re5p+sU^V6yDThDOgITLWn&@Niq%*Le3iANC7+%% z7pUZcs^Ahp=9)qq9@c_LUu8T0{vGJwt}3tOiIad(Tq}QKz;*dco`Ii;({UrB(5M5m zv&MTyaHfHhtCRML)lihj|I%2rZ1jUbomx>*AtvSk+E1>)NOuu`#$w1r&`GAySHA@6 zK8yIOVBqY9;l?G|a#yIvEV{pqtO0@G%kq7r7EoSN33F<+n6@F;@Um;tS;c5SqByG8&icRO_!F*iU>o$LKi zV_)=OUa**&DD53*3-*L)@U7CbyuJ9*3YK_;n#+H1CCrM+UJ=8^9|lrTgoS6(@X<>aW{$WQ(?{8NtAV## zc(Z?rA7$ePdlNHU-N)9=DJp5*T9&`h!h$n;!U4j$z#z^9a$)r@Gf%iccQ>dz8fFkw z*heFL)?)>d&smYsqzGHg6KD}arCg_7O3nL3R=36hm?S1-Y&|J8bv}1`YNU`(o3^!t zhs2dz@qC>1I!S^Tq>!%Itpye%-W7}j)60Ko2NhT!ya2Zaf`s8c3_XET^}xLx@7)nw z@49OYRo^<}c`og)dcI34EbIBYL4GR2N8>TBI+teNc&T4UHmL%!BC&*cqMb&{(YyhE z=tR`GXYAS6#K)c`Npexc4ysJtlP>bhqL*#b9NoENC=WS-M%qE&3k_z zv=jiyBEuW*_>>Y*&p3IraAUTMix7Uq=yT;&(T1oI>T9AMadb83ht8w$k)!g6Yf=jr zQ79dlB%m?YZeofPz3#+NMeVRR3}`vyu9E^|WK%z0k#d}J0n-w?WW+YFD_m4>Cd{TK zx9aI}`0S#NAr0~Hy%dP+{QSmI1!jK~9)NpuuHk@Q9T1qbGVn6`na{-aGDv?7CW4;R zeeM8|kQA*+r+zmKD#zsXbl$>-}HeKGtfn;tixAnzNGDx=1@-(F9 z3n3Yso?1(_BF57(Zj49i@tJAN>I^sT^`xyItX!>oI~Vbc>3yW*M+`;F*Bp4_uA%aH z)*3b&u$1=^J*LwfiHrV}cTs;$`-dO$(X1ky!vE&&Y6qV=xRid>(BH-WZfiGP&vpP! z8^9^`pNjtSLhYo=uys|03n82b*3%#A$2UK`RWVrI;AUhe;t^7MG>=g*pgXMMq6f7i zBs;8YP1<;_rd7>0a4i5yz9;u1ySNY8#bL75stB#6a{IdRrmjxC)yID(YITZ0QeMWf zH(i{I$FqyiXYkkQvkPbK$hXDNom>b+Aw5!oH<%_yW{VTKISwJp-_j}f*qMmEblpT1 zKMqMg`K1sYI_`f11Q#vGpTpx$>k;Sh4?Bjp4;Kg#(ZYg49@SM~YFp~Daa47AaXA~A zn}nSX-cwJf#tj7gsLOvp;n@eQM#5ZNqkXmc?d#I1DNrNOZH$p?u}>WsX#dc6QZl)N~O3TK}LU~-nStJ&_W1HCVV4}2v?#*fl;jg1Iold&MaesAy}-JFYNk5zaY&V zEp zWA$KF6fWlfd#B#4k#165%r|KC$&)9lc4~RMhk)(t>YEq&Zn@-nE}uZg$=K_traUDd zL!^vWeIkEQJ)p=c9hEEPbZe19vq}!t{Z_4L+7GjEVLuADved8{Z=0g4rmC|42Hz}X zo*)qO5=y^z&w29rb9{DfFh+Ayz0%6@@wbuJv}q2ACG5mVBgSi`R9j_xxk6wt7#JRu z@f`9K!&l6xcOD2M#FuYO>#VDHi5#YJa&pp4122Ed$j!o!rSbRQe>c*QDmspY(pbaR z{C)7sBrFl&Kh~SGnhjv0;OM0-3dT%2=1a508!}S^Qr1NRsQ0C~G(d$K+lNryOOwXC z3#%;IGVpkM7t4vYoTaL7j4N8>l>&F2y;)I)UP>d+WgdKRq2JE(k*{Y#48}%7qhO`P z{?UI2gq|J+!aL7#|ITOsd&gvyE02y1qb8@7ndFo(PFVPy9xECQ^b&)fe0v}@NV9*Eipn2vLMn9e1%M}0=SxRCZw{@^kC~%a zM4@9=8YQAyX##?>F7UzcsRMt?dOn<%%UW5H>Xi^ZQw$@-5bLRn7X4eV_7jH!(=H6| zI>t+9I_J-~_U5*2B>w-++;>2Ila`7l8vwyq9lPT?Nt=JP zxjx+XuGeca6eZhqBvB=)*lwME_S;HEp%B`3%$U zZPx27FKfsqtK>1%cm@?tG>f9b-@dVjnLF)C0xLXRTg4`<?o^DW5o)Jmof?Ez{L#vPf5No#KCXGWzB94*PZ2zKx{)=-J{U{n|O6&wGZif!V$9 zI~U7!HCB7qgEhBbFh?((!erp>Cl&gwJxFsvWtxG5nRo{m*K>Uapg3-XNIOZmFW=KA zyL#B$t@AxSxJukkKGRGqb9YSdBkE7}vSa&X@<3T!TO;>>-$`82#w}}yCIWx7m~#Bk z8h0<3LA^${Te}HuR;^8i+Ls9y^>N_AudN}vV@&jZ`@#KuOy-GuiQ5y@PyW`UQL7${ zgQhWub#|)OfZZH9>qJ!3eDAY=?^7BoOj%_I(gCDSoy6)Eeol`@&0JQ)IP@pCvT3WD zEVj3F5O(FK`;Wo>9$}`TriW5oTV%F{qqwhTq*Xb_D}P?z((Yr zU?+0V08oR8VpSy4hiO4HH8Y%$LmW=zis=I5tR+1F_@Ulkh8 z>3q&i`j2&dd6B^Yo8{+wo45N(ezPw3motyz+!9Ynpnp;K_AAMrWUI6Ee3Rp}5azvk zia&}y_H(v@CyyH#2B3fWGGpb{JbsHkfN4HlPB8`lat#_lI-ENbH+n5-p1+&t6MQ>p zT)j7BawZiFb4H<DYo{ds@B$94{PNJ=R2q$C?a zc#9NY7;o@PF7o1cnly&Gf728&VPZ{lc&=s{LcfkrPhPx$F8c8M$5o1FX6pVK1^hrF zg((8bsmhDVZn6!86SgTfFx$IfS22v#Ab5Nlv2-`AjNi_UE3qo`CLM_}PcrkA?2yEm zSLjW`WYHUQu@q`S1h!Mv$67?A(ZTx$Lr_C6 zLn!|+hETVcA(Vd@Lxg;>j1!xDXsq)UvpWRPQx&smwIDytuoA$-3=#6f3@ZWL$EScDpalf9$e&(eifEJSt!;lP(7>B_%Qq!`z~irf`2*)l zraRV%cH(KGbGPh7oC}Xfp_|O4I-ByDANlTCFq7e21ZRQ7huOM^C-EZLEHEQDb_2sW zW?o)_o#zmj;5R%VmW%lWo=Cw>v4^u_Otv4RTQaThc8@FTxW;!4R<_gN%KEeqMur)> z6H+mD{R@9oVn;{J`<2~7RJsm1d-8-i4$`tm%%vn_SkIv{nA-bl1O!Jc8evU^Ywkkf zxgWSqb?KQ9u9*m2>4i!}ZdHz_eJ3)2J8l?6RWT-&omACTRgMqx%vKMn7_{2{UdeT1 zi+lGF!qEsT{-GzfwCb{$QMT!Wts**-yj_I-NVb2AunRL&giO#R&d!_|V*i*WV0vQ^ zPP)tZuVWUlF`M`y4+B4P{gI)X)l^WqA|xsSR6+uk8%Cb5ys)B5YAW4|CL}6}RKb`r zpZkJ)p@=Niw5F=M7aJ-Us3f)}xKf_ z0icAa^c6*1ap;~L087XU7D(Oat{=()u!L)2DGovxTnquFDs_1r=Y}%kLy&m}88qnn zp6j_XY9l*8?bmid{?%i0a*tcd8R@iQ!WIc zKy-8lR2@S^ElZC69Dqj$F7K$U5140x1u%d>42Z-4U}RAUjJYA8;)1t5@)B?4K$gZUJv+=#o} ztHay0ChOoLQ*^O|p35W8^M{}k7L|WMq6i{zCv@~7QwABtsX&GiILi=ZT4O%7=BX%X z1f2VTaSKfF2z1PS)ft|9pphveGzMlUgGdBw2r_PU=6WGGw3MBg*aytDz<|J$A__Y5 zjvinXfDsrAd@dsqc4B>>#v-dR5QFP06?Pn~2NoGU!BSF$!VBx@cAq7B))IfgI06O8 zI)hjrENS%>MKF~LVK{2zO4I&nqED6>g}%!nF1B$2RYzT9Q94XXKa7MD9biD#0Y>)g zQJBK;rXt>n_CVG_M#D2o5uDk@h(7=riQd<s|0+GOsb_g*F#WG5o_!4ejhj~Fpfn-ph*Lb1t7;T zkX|Qt^yw_JI&;Ai!Kk*KtccI%Z{T?rq2V)LlVf#nO82JCK34Y%a}%2uoGXN=x+&*=y*W}|kGd)j|!&#@kEV@7Qx@XPsgHX71Kdz87ijVXH#mh!q`!*?@oyVkvo zktuM$y|3H73q)VOIzE}adI}zd%S4zPRlgdTE$6iS)i#*BR>@4aXfXzv(Ef&AN5rJ$ zWbG+Dv%y8o~{^ zGoTz&NATBc#;;+fPydVqXT6oY6aBCDWLk@li;E^6Y+x_RR!LmeORIWe5hnXWGW|ub zUbObbFv}}z@WOT~4nl_8N@Jyn?aDm}CuurP`RkVe?Jk_<=&{Jrs6JDCp;HGIKi{c7|1XPubL8bkm|`3s&uO>H96OE`aCVKQV6VhMjug(nJY;g ztIcwXTSpl=31(O6V6&kRs)CQM+MbE!*af_UeZWgx-*kUm$tG0Va?5P>Zl2?rAhR(6 zZ9lMVOLQ;J%=QW>lr~Pr^>#|Zj_{+27x6oC_7to$olI{^OhO0tRxWN>dcFednsqf- z?E;kfmUE}8%F`N3iVOT`o+Ah`8L&Bi)9Z)8vt{pQja8Fsr-PP$Nso^73Nm)1`9a8( z?b~)frq+LH)!0cN*@vQfb-!QA_e++9ZxqqhyV)>+A5FVHyILr&?2!nz z07a+Ntvx(xcVZ;sIJLCM$Wpz?UP-4Zlfu4u_#raEEio;Z9)~b{J@A7VHKl|58f9#< za?qaRXKaTH=_=0;!sz((lc&#~@32psh4D0*&Ch>ofo@5-UxL(bEk@Oe_eO@MJN9H_ z)n$~SL>aQiR|E@kaA7f5Uk&R`I9@i~ol#B=zxw*s-@p0xyYEkb`0=NI{PX93Y3ZL|q?d0O%T>1iEicN=yQ}M)-)jx+?*Fga zL1llq?Tr;cvtH;g!8XMTcR{FHv?0(t42vFB3VJ>=F@H-<^mn_>X;-v3IZ!lea|&56 zC$_~&b~(u{PG$~aC32}HatRUv{FlZ$EBG`^N`X-bquV9?--mfpS9IXp)|B;T{edN? z6UF9M(>kq8p`ZR^$DLf79=cTz-`{DPTi<_$w5f-x_g)bdzRvONJJdf=f+@by7Wrle z59aI~(s^6jk=x2Sw4IyiK%aG~Oy`gvpxq>PZgh}VFCN*=y(G5BFU^Z;$<{ku%zX8N zs&2iZm2AD8g-3;w>ddspLVK@#>y&@>ov$V@UE8p$`4VG1C}wE&N8kPfP)h>@6aben tAp#h;#>W9OSq(9vUOB!$;&cur006O<1|b4W0UnoAAp#`^#T^0w002NBZSMd8 diff --git a/lib_WPcomment.php b/lib_WPcomment.php index 75eeb93..d3f89e6 100644 --- a/lib_WPcomment.php +++ b/lib_WPcomment.php @@ -95,8 +95,10 @@ } + $comment_parent = ($commentparent<>'')?absint($commentparent):0; + $comment_type = ''; - $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'user_ID'); + $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'comment_parent', 'user_ID'); // Simple duplicate check if($wpdb->get_var("SELECT comment_ID FROM {$wpdb->comments} WHERE comment_post_ID = '".$wpdb->escape($comment_post_ID)."' AND ( comment_author = '".$wpdb->escape($comment_author)."' " .($comment_author_email?" OR comment_author_email = '".$wpdb->escape($comment_author_email)."'" : ""). ") AND comment_content = '".$wpdb->escape($comment_content)."' LIMIT 1;")){ @@ -125,6 +127,9 @@ setcookie('comment_author_url_' . COOKIEHASH, clean_url($comment->comment_author_url), time() + 30000000, COOKIEPATH, COOKIE_DOMAIN); } + ### keep track of custom comment fields + write_tracking_record($no,$comment_author_email,$comment_id); + $template = stripslashes($cformsSettings['global']['cforms_commentHTML']); $comment_in_mod = $comment->comment_approved?'':stripslashes($cformsSettings['global']['cforms_commentInMod']); @@ -170,8 +175,8 @@ require_once (dirname(__FILE__) . '/lib_validate.php'); - $comment_post_ID = (int) $_POST['comment_post_ID']; - $cfpre = ( strpos( get_permalink($_POST['comment_post_ID']) ,'?')!==false ) ? '&':'?'; + $comment_post_ID = (int) $_POST['comment_post_ID'.$no]; + $cfpre = ( strpos( get_permalink($_POST['comment_post_ID'.$no]) ,'?')!==false ) ? '&':'?'; if ( $all_valid ) { @@ -232,8 +237,11 @@ wp_die( __('Sorry, you must be logged in to post a comment.','cforms') ); } - $comment_type = ''; - $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'user_ID'); + $comment_parent = isset($_POST['comment_parent']) ? absint($_POST['comment_parent']) : 0; + + $comment_type = ''; + $commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'comment_parent', 'user_ID'); + $comment_id = wp_new_comment( $commentdata ); $comment = get_comment( $comment_id ); @@ -247,7 +255,10 @@ if ( $cformsSettings['form'.$no]['cforms'.$no.'_tellafriend']=='21' ) cforms( '',$no ); - $location = ( empty($_POST['redirect_to'] ) ? get_permalink($_POST['comment_post_ID']).$cfpre.'cfemail=posted'.'#cforms'.$no.'form' : $_POST['redirect_to'] ); + ### keep track of custom comment fields + write_tracking_record($no,$comment_author_email,$comment_id); + + $location = ( empty($_POST['redirect_to'] ) ? get_permalink($_POST['comment_post_ID'.$no]).$cfpre.'cfemail=posted'.'#cforms'.$no.'form' : $_POST['redirect_to'] ); $location = apply_filters('comment_post_redirect', $location, $comment); wp_redirect($location); diff --git a/lib_activate.php b/lib_activate.php index f901fea..5bf5e3d 100644 --- a/lib_activate.php +++ b/lib_activate.php @@ -82,7 +82,7 @@ setINI('form','cforms_tracking', ''); setINI('form','cforms_showdashboard', '1'); setINI('form','cforms_maxentries', ''); -setINI('form','cforms_tellafriend', '0'); +setINI('form','cforms_tellafriend', '01'); setINI('form','cforms_dashboard', '0'); $cformsSettings['form'.$no]['mp']['cforms'.$no.'_mp_resettext']; diff --git a/lib_ajax.php b/lib_ajax.php index eaeb909..231d075 100644 --- a/lib_ajax.php +++ b/lib_ajax.php @@ -41,12 +41,20 @@ function cforms_submitcomment($content) { global $cformsSettings, $wpdb, $subID, $styles, $smtpsettings, $track, $trackf, $Ajaxpid, $AjaxURL, $wp_locale, $abspath; $isAjaxWPcomment = strpos($content,'***');### WP comment feature + $content = explode('***', $content); $content = $content[0]; $content = explode('+++', $content); ### Added special fields - $Ajaxpid = $content[1]; - $AjaxURL = $content[2]; + + if ( count($content) > 3 ){ + $commentparent = $content[1]; + $Ajaxpid = $content[2]; + $AjaxURL = $content[3]; + }else { + $Ajaxpid = $content[1]; + $AjaxURL = $content[2]; + } $segments = explode('$#$', $content[0]); $params = array(); @@ -74,6 +82,10 @@ function cforms_submitcomment($content) { if ( $segments[0]=='1' ) $params['id'] = $no = ''; else $params['id'] = $no = $segments[0]; + ### general flags + $isTAF = substr($cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'],0,1); + + ### user filter ? if( function_exists('my_cforms_ajax_filter') ) $params = my_cforms_ajax_filter($params); @@ -178,11 +190,8 @@ function cforms_submitcomment($content) { $customTrackingID=''; - ### check if fields needs to be cleared + ### dissect field $obj = explode('|', $field_name,3); - $defaultval = stripslashes($obj[1]); - if ( $params ['field_' . $i] == $defaultval && $field_stat[4]=='1') - $params ['field_' . $i] = ''; ### strip out default value $field_name = $obj[0]; @@ -260,7 +269,7 @@ function cforms_submitcomment($content) { $field_name = __('Q&A','cforms'); - ### for db tracking + ### determine tracked field name $inc=''; $trackname=trim($field_name); if ( array_key_exists($trackname, $track) ){ @@ -283,13 +292,11 @@ function cforms_submitcomment($content) { $htmlformdata = $r['html']; - ### multi-form session - /* - $_SESSION['cforms']['count']++; - $_SESSION['cforms']['pos']++; - $_SESSION['cforms']['current']=$no; - $_SESSION['cforms']['cf_form'.$no] = $track; - */ + ### + ### record: + ### + $subID = ( $isTAF=='2' && $track['send2author']<>'1' )?'noid':write_tracking_record($no,$field_email); + ### ### allow the user to use form data for other apps @@ -300,7 +307,6 @@ function cforms_submitcomment($content) { my_cforms_action($trackf); - ### Catch WP-Comment function if ( $isAjaxWPcomment!==false && $track['send2author']=='0' ){ @@ -316,9 +322,9 @@ function cforms_submitcomment($content) { ### redirect to a different page on suceess? if ( $cformsSettings['form'.$no]['cforms'.$no.'_redirect']==1 ){ if ( function_exists('my_cforms_logic') ) - return my_cforms_logic($trackf, $cformsSettings['form'.$no]['cforms'.$no.'_redirect_page'],'redirection'); ### use trackf! + return $pre . $WPresp . '|>>>' . my_cforms_logic($trackf, $cformsSettings['form'.$no]['cforms'.$no.'_redirect_page'],'redirection'); ### use trackf! else - return $cformsSettings['form'.$no]['cforms'.$no.'_redirect_page']; + return $pre . $WPresp . '|>>>' . $cformsSettings['form'.$no]['cforms'.$no.'_redirect_page']; } else if ( $cformsSettings['form'.$no]['cforms'.$no.'_redirect']==2 ) $hide = '|~~~'; $pre = $segments[0].'*$#'.substr($cformsSettings['form'.$no]['cforms'.$no.'_popup'],0,1); @@ -357,16 +363,11 @@ function ajaxMail($isAjaxWPcomment,$no,$field_email,$formdata,$htmlformdata,$taf $to = $replyto; ### T-A-F override? - if ( substr($cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'],0,1)=='1' && $taf_youremail && $taf_friendsemail ) + if ( $isTAF=='1' && $taf_youremail && $taf_friendsemail ) $replyto = "\"{$taf_yourname}\" <{$taf_youremail}>"; - ### - ### FIRST write into the cforms tables! - ### - $subID = write_tracking_record($no,$field_email); - ### ### ready to send email ### email header @@ -377,33 +378,36 @@ function ajaxMail($isAjaxWPcomment,$no,$field_email,$formdata,$htmlformdata,$taf $fmessage=''; $htmlmessage=''; - $eol = "\n"; + $eolH = "\n"; + $eol = ($cformsSettings['global']['cforms_crlf']!=1)?"\r\n":"\n"; $frommail = check_cust_vars(stripslashes($cformsSettings['form'.$no]['cforms'.$no.'_fromemail']),$track,$no); if ( $frommail=='' ) $frommail = '"'.get_option('blogname').'" '; - $headers = "From: ". $frommail . $eol; - $headers.= "Reply-To: " . $field_email . $eol; + $headers = 'From: '. $frommail . $eolH; + $headers.= 'Reply-To: ' . $field_email . $eolH; - if ( ($tempBcc = stripslashes($cformsSettings['form'.$no]['cforms'.$no.'_bcc'])) != "") - $headers.= "Bcc: " . $tempBcc . $eol; + if ( ($tempBcc = stripslashes($cformsSettings['form'.$no]['cforms'.$no.'_bcc'])) != '') + $headers.= 'Bcc: ' . $tempBcc . $eolH; - $headers.= "MIME-Version: 1.0" .$eol; + $headers.= 'MIME-Version: 1.0' .$eolH; if ($html_show) { - $headers.= "Content-Type: multipart/alternative; boundary=\"----MIME_BOUNDRY_main_message\""; - $fmessage = "This is a multi-part message in MIME format." . $eol; - $fmessage .= "------MIME_BOUNDRY_main_message" . $eol; - $fmessage .= "Content-Type: text/plain; charset=\"" . get_option('blog_charset') . "\"" . $eol; - $fmessage .= "Content-Transfer-Encoding: quoted-printable" . $eol . $eol; + $headers.= 'Content-Type: multipart/alternative; boundary="----MIME_BOUNDRY_main_message"'; + $fmessage = 'This is a multi-part message in MIME format.' . $eol; + $fmessage .= '------MIME_BOUNDRY_main_message' . $eol; + $fmessage .= 'Content-Type: text/plain; charset="' . get_option('blog_charset') . '"; format=flowed' . $eol; + $fmessage .= 'Content-Transfer-Encoding: quoted-printable' . $eol . $eol; } else - $headers.= "Content-Type: text/plain; charset=\"" . get_option('blog_charset') . "\""; + $headers.= 'Content-Type: text/plain; charset="' . get_option('blog_charset') . '"; format=flowed'; ### prep message text, replace variables - $message = $cformsSettings['form'.$no]['cforms'.$no.'_header']; + $message = stripslashes($cformsSettings['form'.$no]['cforms'.$no.'_header']); + if ( function_exists('my_cforms_logic') ) + $message = my_cforms_logic($trackf, $message,'adminEmailTXT'); $message = check_default_vars($message,$no); - $message = stripslashes( check_cust_vars($message,$track,$no) ); + $message = check_cust_vars($message,$track,$no); ### text text $fmessage .= $message . $eol; @@ -417,17 +421,18 @@ function ajaxMail($isAjaxWPcomment,$no,$field_email,$formdata,$htmlformdata,$taf if ($html_show) { ### actual user message - $htmlmessage = $cformsSettings['form'.$no]['cforms'.$no.'_header_html']; + $htmlmessage = stripslashes($cformsSettings['form'.$no]['cforms'.$no.'_header_html']); + if ( function_exists('my_cforms_logic') ) + $htmlmessage = my_cforms_logic($trackf, $htmlmessage,'adminEmailHTML'); $htmlmessage = check_default_vars($htmlmessage,$no); - $htmlmessage = str_replace(array("=","\n"),array("=3D","
\n"), stripslashes( check_cust_vars($htmlmessage,$track,$no) ) ); + $htmlmessage = str_replace(array("=","\n"),array("=3D","
\r\n"), check_cust_vars($htmlmessage,$track,$no) ); - $fmessage .= "------MIME_BOUNDRY_main_message" . $eol; - $fmessage .= "Content-Type: text/html; charset=\"" . get_option('blog_charset') . "\"". $eol; - $fmessage .= "Content-Transfer-Encoding: quoted-printable" . $eol . $eol; + $fmessage .= '------MIME_BOUNDRY_main_message' . $eol; + $fmessage .= 'Content-Type: text/html; charset="' . get_option('blog_charset') . '"'. $eol; + $fmessage .= 'Content-Transfer-Encoding: quoted-printable' . $eol . $eol; - $fmessage .= "" . $eol; - $fmessage .= "" . $eol; - $fmessage .= "" . $eol; + $fmessage .= '' . $eol; + $fmessage .= '' . $eol; $fmessage .= $htmlmessage; @@ -435,22 +440,25 @@ function ajaxMail($isAjaxWPcomment,$no,$field_email,$formdata,$htmlformdata,$taf if(substr($cformsSettings['form'.$no]['cforms'.$no.'_formdata'],1,1)=='1') $fmessage .= $eol . $htmlformdata; - $fmessage .= "" . $eol . $eol; + $fmessage .= '' . $eol . $eol; + $fmessage .= '------MIME_BOUNDRY_main_message--'; } ### either use configured subject or user determined - $vsubject = $cformsSettings['form'.$no]['cforms'.$no.'_subject']; + $vsubject = stripslashes($cformsSettings['form'.$no]['cforms'.$no.'_subject']); $vsubject = check_default_vars($vsubject,$no); - $vsubject = stripslashes( check_cust_vars($vsubject,$track,$no) ); + $vsubject = check_cust_vars($vsubject,$track,$no); ### logic: dynamic admin email address if ( function_exists('my_cforms_logic') ) $to = my_cforms_logic($trackf, $to,'adminTO'); ### use trackf! ### SMTP server or native PHP mail() ? - if ( $smtpsettings[0]=='1' ) + if( $cformsSettings['form'.$no]['cforms'.$no.'_emailoff']=='1' ) + $sentadmin = 1; + else if ( $smtpsettings[0]=='1' ) $sentadmin = cforms_phpmailer( $no, $frommail, $field_email, $to, $vsubject, $message, $formdata, $htmlmessage, $htmlformdata ); else $sentadmin = @mail($to, encode_header($vsubject), $fmessage, $headers); @@ -470,26 +478,28 @@ function ajaxMail($isAjaxWPcomment,$no,$field_email,$formdata,$htmlformdata,$taf $automessage = ''; - $headers2 = "From: ". $frommail . $eol; - $headers2.= "Reply-To: " . $replyto . $eol; + $headers2 = 'From: '. $frommail . $eolH; + $headers2.= 'Reply-To: ' . $replyto . $eolH; - if ( $taf_youremail && $taf_friendsemail && substr($cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'],0,1)=='1' ) ### TAF: add CC - $headers2.= "CC: " . $replyto . $eol; + if ( $taf_youremail && $taf_friendsemail && $isTAF=='1' ) ### TAF: add CC + $headers2.= 'CC: ' . $replyto . $eolH; - $headers2.= "MIME-Version: 1.0" .$eol; + $headers2.= 'MIME-Version: 1.0' .$eolH; if( $html_show_ac || ($html_show && ($ccme&&$trackf[$ccme]<>'-')) ){ - $headers2.= "Content-Type: multipart/alternative; boundary=\"----MIME_BOUNDRY_main_message\""; - $automessage = "This is a multi-part message in MIME format." . $eol; - $automessage .= "------MIME_BOUNDRY_main_message" . $eol; - $automessage .= "Content-Type: text/plain; charset=\"" . get_option('blog_charset') . "\"" . $eol; - $automessage .= "Content-Transfer-Encoding: quoted-printable" . $eol . $eol; + $headers2.= 'Content-Type: multipart/alternative; boundary="----MIME_BOUNDRY_main_message"'; + $automessage = 'This is a multi-part message in MIME format.' . $eol; + $automessage .= '------MIME_BOUNDRY_main_message' . $eol; + $automessage .= 'Content-Type: text/plain; charset="' . get_option('blog_charset') . '"; format=flowed' . $eol; + $automessage .= 'Content-Transfer-Encoding: quoted-printable' . $eol . $eol; } else - $headers2.= "Content-Type: text/plain; charset=\"" . get_option('blog_charset') . "\""; + $headers2.= 'Content-Type: text/plain; charset="' . get_option('blog_charset') . '"; format=flowed'; ### actual user message - $cmsg = $cformsSettings['form'.$no]['cforms'.$no.'_cmsg']; + $cmsg = stripslashes($cformsSettings['form'.$no]['cforms'.$no.'_cmsg']); + if ( function_exists('my_cforms_logic') ) + $cmsg = my_cforms_logic($trackf, $cmsg,'autoConfTXT'); $cmsg = check_default_vars($cmsg,$no); $cmsg = check_cust_vars($cmsg,$track,$no); @@ -500,22 +510,26 @@ function ajaxMail($isAjaxWPcomment,$no,$field_email,$formdata,$htmlformdata,$taf if ( $html_show_ac ) { ### actual user message - $cmsghtml = $cformsSettings['form'.$no]['cforms'.$no.'_cmsg_html']; + $cmsghtml = stripslashes($cformsSettings['form'.$no]['cforms'.$no.'_cmsg_html']); + if ( function_exists('my_cforms_logic') ) + $cmsghtml = my_cforms_logic($trackf, $cmsghtml,'autoConfHTML'); $cmsghtml = check_default_vars($cmsghtml,$no); $cmsghtml = str_replace(array("=","\n"),array("=3D","
\n"), check_cust_vars($cmsghtml,$track,$no) ); - $automessage .= "------MIME_BOUNDRY_main_message" . $eol; - $automessage .= "Content-Type: text/html; charset=\"" . get_option('blog_charset') . "\"". $eol; - $automessage .= "Content-Transfer-Encoding: quoted-printable" . $eol . $eol;; + $automessage .= $eol . '------MIME_BOUNDRY_main_message' . $eol; + $automessage .= 'Content-Type: text/html; charset="' . get_option('blog_charset') . '"'. $eol; + $automessage .= 'Content-Transfer-Encoding: quoted-printable' . $eol . $eol; + + $automessage .= '' . $eol; + $automessage .= '' . $eol; + $automessage .= $cmsghtml; + $automessage .= '' . $eol . $eol; - $automessage .= "" . $eol; - $automessage .= "" . $eol; - $automessage .= $cmsghtml; - $automessage .= "" . $eol . $eol; + $automessage .= '------MIME_BOUNDRY_main_message--' . $eol; } ### replace variables - $subject2 = $cformsSettings['form'.$no]['cforms'.$no.'_csubject']; + $subject2 = stripslashes($cformsSettings['form'.$no]['cforms'.$no.'_csubject']); $subject2 = check_default_vars($subject2,$no); $subject2 = check_cust_vars($subject2,$track,$no); @@ -528,21 +542,21 @@ function ajaxMail($isAjaxWPcomment,$no,$field_email,$formdata,$htmlformdata,$taf $field_email = ($cformsSettings['form'.$no]['cforms'.$no.'_tracking']<>'')?$field_email.$cformsSettings['form'.$no]['cforms'.$no.'_tracking']:$field_email; ### if in Tell-A-Friend Mode, then overwrite header stuff... - if ( $taf_youremail && $taf_friendsemail && substr($cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'],0,1)=='1' ) + if ( $taf_youremail && $taf_friendsemail && $isTAF=='1' ) $field_email = "\"{$taf_friendsname}\" <{$taf_friendsemail}>"; if ( $ccme&&$trackf[$ccme]<>'-' ) { if ( $smtpsettings[0]=='1' ) - $sent = cforms_phpmailer( $no, $frommail, $replyto, $field_email, stripslashes($t[1]), $message, $formdata, $htmlmessage, $htmlformdata,'ac' ); + $sent = cforms_phpmailer( $no, $frommail, $replyto, $field_email, $t[1], $message, $formdata, $htmlmessage, $htmlformdata,'ac' ); else - $sent = @mail($field_email, encode_header(stripslashes($t[1])), $fmessage, $headers2); ### takes $message!! + $sent = @mail($field_email, encode_header($t[1]), $fmessage, $headers2); ### takes $message!! } else { if ( $smtpsettings[0]=='1' ) - $sent = cforms_phpmailer( $no, $frommail, $replyto, $field_email, stripslashes($t[0]) , $cmsg , '', $cmsghtml, '','ac' ); + $sent = cforms_phpmailer( $no, $frommail, $replyto, $field_email, $t[0] , $cmsg , '', $cmsghtml, '','ac' ); else - $sent = @mail($field_email, encode_header(stripslashes($t[0])), stripslashes($automessage), $headers2); + $sent = @mail($field_email, encode_header($t[0]), $automessage, $headers2); } if( $sent<>'1' ) { @@ -553,28 +567,28 @@ function ajaxMail($isAjaxWPcomment,$no,$field_email,$formdata,$htmlformdata,$taf } } ### cc + + ### return success msg + $pre = $segments[0].'*$#'.substr($cformsSettings['form'.$no]['cforms'.$no.'_popup'],0,1); + $successMsg = check_default_vars(stripslashes($cformsSettings['form'.$no]['cforms'.$no.'_success']),$no); + $successMsg = check_cust_vars($successMsg,$track,$no); + $successMsg = preg_replace ( '|\r\n|', '
', $successMsg); + $hide=''; ### redirect to a different page on suceess? if ( $cformsSettings['form'.$no]['cforms'.$no.'_redirect']==1 ) { if ( function_exists('my_cforms_logic') ) - return my_cforms_logic($trackf, $cformsSettings['form'.$no]['cforms'.$no.'_redirect_page'],'redirection'); ### use trackf! + return $pre . $successMsg . '|>>>' . my_cforms_logic($trackf, $cformsSettings['form'.$no]['cforms'.$no.'_redirect_page'],'redirection'); ### use trackf! else - return $cformsSettings['form'.$no]['cforms'.$no.'_redirect_page']; + return $pre . $successMsg . '|>>>' . $cformsSettings['form'.$no]['cforms'.$no.'_redirect_page']; } else if ( $cformsSettings['form'.$no]['cforms'.$no.'_redirect']==2 || get_cforms_submission_left($no)==0 ) $hide = '|~~~'; - ### return success msg - $pre = $segments[0].'*$#'.substr($cformsSettings['form'.$no]['cforms'.$no.'_popup'],0,1); + return $pre.$successMsg.$hide; - $successMsg = check_default_vars(stripslashes($cformsSettings['form'.$no]['cforms'.$no.'_success']),$no); - $successMsg = check_cust_vars($successMsg,$track,$no); - - return $pre . preg_replace ( '|\r\n|', '
', $successMsg) . $hide; - - } ### no admin mail sent! - - else { + } + else { ### no admin mail sent! ### return error msg $err = __('Error occurred while sending the message: ','cforms') . ($smtpsettings[0]?'
'.$sentadmin:''); @@ -743,4 +757,4 @@ function sajax_get_javascript() sajax_export("cforms_submitcomment"); sajax_export("reset_captcha"); sajax_handle_client_request(); -?> \ No newline at end of file +?> diff --git a/lib_aux.php b/lib_aux.php index f688c33..2eef667 100644 --- a/lib_aux.php +++ b/lib_aux.php @@ -1,10 +1,13 @@ '' ) $smtpsettings=explode('$#$',$cformsSettings['global']['cforms_smtp']); @@ -16,17 +19,32 @@ $smtpsettings[0]=='0'; } + + +### debug message handling +function db($m){ + global $cfdebug,$cfdebugmsg; + if ( $cfdebug ) $cfdebugmsg .= "$m\n"; +} +function dbflush(){ + global $cfdebug,$cfdebugmsg; + if ( $cfdebug ) echo ''."\ndebug:\n$cfdebugmsg\n".''; +} + + + ### make time function sec2hms($s){ $t=''; $h = intval(intval($s) / 3600); $m = intval(($s / 60) % 60); - //$s = intval($s % 60); if ($h>0) $t .= " $h ".__('hour(s)', 'cforms').' &'; if ($m>0) $t .= " $m ".__('minute(s)', 'cforms'); return $t; } + + ### make time function cf_make_time($t) { $dh = explode(' ',$t); @@ -35,6 +53,8 @@ function cf_make_time($t) { return mktime($h[0], $h[1], '0', $d[1], $d[0], $d[2]); } + + ### check time constraints function cf_check_time($no) { global $cformsSettings; @@ -54,6 +74,8 @@ function cf_check_time($no) { return ( ($t1f || $t1 <= time()) && ($t2f || $t2 >= time()) )?true:false; } + + ### prep captcha get call function get_captcha_uri() { global $cformsSettings; @@ -76,32 +98,37 @@ function get_captcha_uri() { } + ### sanitize label ID's -function cf_sanitize_ids($title) { +function cf_sanitize_ids($t) { - $title = strip_tags($title); - $title = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '---$1---', $title); - $title = str_replace('%', '', $title); - $title = preg_replace('|---([a-fA-F0-9][a-fA-F0-9])---|', '%$1', $title); + $t = strip_tags($t); + $t = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '---$1---', $t); + $t = str_replace('%', '', $t); + $t = preg_replace('|---([a-fA-F0-9][a-fA-F0-9])---|', '%$1', $t); - $title = remove_accents($title); - if (seems_utf8($title)) { - $title = utf8_uri_encode($title, 200); + $t = remove_accents($t); + if (seems_utf8($t)) { + $t = utf8_uri_encode($t, 200); } - $title = preg_replace('/&.+?;/', '', $title); // kill entities - $title = preg_replace('/\s+/', '-', $title); - $title = preg_replace('|-+|', '-', $title); - $title = trim($title, '-'); + $t = preg_replace('/&.+?;/', '', $t); // kill entities + $t = preg_replace('/\s+/', '-', $t); + $t = preg_replace('|-+|', '-', $t); + $t = trim($t, '-'); - return $title; + return $t; } + + ### strip stuff function prep($v,$d) { return ($v<>'') ? stripslashes(htmlspecialchars($v)) : $d; } + + ### Special Character Suppoer in subject lines function encode_header ($str) { $x = preg_match_all('/[\000-\010\013\014\016-\037\177-\377]/', $str, $matches); @@ -121,6 +148,8 @@ function encode_header ($str) { return $encoded; } + + ### formatEmail data function allTracks($session){ $t = array(); $i = array(); @@ -135,15 +164,20 @@ function allTracks($session){ return $t; } + + ### formatEmail data function formatEmail($track,$no){ global $cformsSettings; $customspace = (int)($cformsSettings['form'.$no]['cforms'.$no.'_space']>0) ? $cformsSettings['form'.$no]['cforms'.$no.'_space'] : 30; $t = $h = ''; + + $eol = ($cformsSettings['global']['cforms_crlf']!=1)?"\r\n":"\n"; + foreach( array_keys($track) as $k){ - $v = $track[$k]; + $v = stripslashes($track[$k]); ### fix labels if ( preg_match('/\$\$\$/',$k) ) continue; @@ -151,8 +185,8 @@ function formatEmail($track,$no){ ### fieldsets if ( strpos($k,'FieldsetEnd')!==false ){ - $t .= "\n"; - $h .= '
' . "\n"; + $t .= $eol; + $h .= '' . $eol; continue; } elseif ( strpos($k,'Fieldset')!==false ){ @@ -162,20 +196,25 @@ function formatEmail($track,$no){ if ( strlen($v) < (($customspace*2)-2) ) $space = str_repeat("-", $n ); - $t .= substr("\n$space".stripslashes($v)."$space",0,($customspace*2)) . "\n\n"; - $h .= '' . "\n"; + $t .= substr($eol."$space".stripslashes($v)."$space",0,($customspace*2)) . $eol . $eol; + $h .= '' . $eol; continue; } + ### Upload fields? + if ( strpos($k,'[*')!==false ) { + $k = substr($k,0,strpos($k,'[*')); + } + ### HTML = TEXT (key, value) $hk = $k; - $hv = str_replace("=","=3D",$v); + $hv = str_replace("=","=3D",htmlspecialchars($v)); ### CRs for textareas - if ( strpos($v,"\n")!==false ) { - $k = "\n" . $k; - $hv = str_replace(array("=","\n"),array("=3D","
\n"),$v); - $v = "\n" . $v . "\n"; + if ( strpos($v,$eol)!==false ) { + $k = $eol . $k; + $hv = str_replace(array("=",$eol),array("=3D","
".$eol),$v); + $v = $eol . $v . $eol; } ### TEXT: spacing @@ -184,24 +223,48 @@ function formatEmail($track,$no){ $space = str_repeat(" ",$customspace-strlen(stripslashes($k))); ### create formdata block for email - $t .= stripslashes( $k ). ': '. $space . $v . "\n"; - $h .= '
' . "\n"; + $t .= stripslashes( $k ). ': '. $space . $v . $eol; + $h .= '' . $eol; } $r['text'] = $t; - $r['html'] = '

'.$cformsSettings['form'.$no]['cforms'.$no.'_fname'].'

/>/>
/>
 Tell a friend or WP comment? »', 'cforms'); ?>
 Again, see the help section on proper use.', 'cforms'),'?page='. $plugindir.'/cforms-help.php#commentrep','onclick="setshow(19)"'); ?>
 
'.$msg.''.$msg.'
 
 
' . $v . '
' . $v . '
' . $hk . '' . $hv . '
' . $hk . '' . $hv . '
'.stripslashes($h).'
powered by cformsII'; + $r['html'] = '

'.$cformsSettings['form'.$no]['cforms'.$no.'_fname'].'

'.stripslashes($h).'
powered by cformsII'; return $r; } + + ### write DB record -function write_tracking_record($no,$field_email){ +function write_tracking_record($no,$field_email,$c=''){ global $wpdb, $track, $cformsSettings; if ( $cformsSettings['form'.$no]['cforms'.$no.'_notracking'] || ($cformsSettings['form'.$no]['mp']['cforms'.$no.'_mp_form'] && $cformsSettings['form'.$no]['mp']['cforms'.$no.'_mp_email']) ) - return; ### bail out + return -1; ### bail out if ( $cformsSettings['global']['cforms_database'] == '1' ) { + ### first process fields, perhaps need to bail out + $sql=''; + $dosave=false; + foreach ( $track as $k => $v ){ + if( $c <> '' ){ + if( !preg_match('/\$\$\$custom/',$k) ) + continue; + else{ + $k = $v; + $v = $track[$k]; + } + } + + ### clean up keys + if ( preg_match('/\$\$\$/',$k) ) continue; + if ( preg_match('/(cf_form\d*_){0,1}([^(___)]*)(___\d+){0,1}/',$k, $r) ) $k = $r[2]; + $sql .= "('-XXX-','".addslashes($k)."','".addslashes($v)."'),"; + $dosave=true; + } + if( !$dosave ) return; + + ### good to go: $page = (substr($cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'],0,1)=='2')?$_POST['cforms_pl'.$no]:get_current_page(); // WP comment fix $wpdb->query("INSERT INTO $wpdb->cformssubmissions (form_id,email,ip,sub_date) VALUES ". @@ -210,17 +273,12 @@ function write_tracking_record($no,$field_email){ $subID = $wpdb->get_row("select LAST_INSERT_ID() as number from $wpdb->cformssubmissions;"); $subID = ($subID->number=='')?'1':$subID->number; - $sql = "INSERT INTO $wpdb->cformsdata (sub_id,field_name,field_val) VALUES " . - "('$subID','page','$page'),"; - - foreach ( $track as $k => $v ){ - ### clean up keys - if ( preg_match('/\$\$\$/',$k) ) continue; - if ( preg_match('/(cf_form\d*_){0,1}([^(___)]*)(___\d+){0,1}/',$k, $r) ) $k = $r[2]; - $sql .= "('$subID','".addslashes($k)."','".addslashes($v)."'),"; - } + if( $c <> '' ) + $sql = "INSERT INTO $wpdb->cformsdata (sub_id,field_name,field_val) VALUES ('$subID','commentID','$c'),('$subID','email','$field_email'),".$sql; + else + $sql = "INSERT INTO $wpdb->cformsdata (sub_id,field_name,field_val) VALUES ('$subID','page','$page'),".$sql; - $wpdb->query(substr($sql,0,-1)); + $wpdb->query( substr(str_replace('-XXX-',$subID,$sql) ,0,-1)); } else $subID = 'noid'; @@ -228,28 +286,65 @@ function write_tracking_record($no,$field_email){ return $subID; } + + ### move uploaded files to local dir -function cf_move_files($no, $subID, $file){ - global $cformsSettings; +function cf_move_files($no, $subID){ + global $cformsSettings,$file; $temp = explode( '$#$',stripslashes(htmlspecialchars($cformsSettings['form'.$no]['cforms'.$no.'_upload_dir'])) ); $fileuploaddir = $temp[0]; - $filefield=0; - if ( is_array($file) && isset($file[tmp_name]) ) { - foreach( $file[tmp_name] as $tmpfile ) { + $file2 = $file; + $i=0; + if ( is_array($file2) && isset($file2[tmp_name]) ) { + foreach( $file2[tmp_name] as $tmpfile ) { ### copy attachment to local server dir if ( is_uploaded_file($tmpfile) ){ - $destfile = $fileuploaddir.'/'.$subID.'-'.str_replace(' ','_',$file['name'][$filefield]); + + $destfile = $fileuploaddir.'/'.$subID.'-'.str_replace(' ','_',$file2['name'][$i]); move_uploaded_file($tmpfile,$destfile ); + $file[tmp_name][$i] = $destfile; + if($subID=='xx') $_SESSION['cforms']['upload'][$no][] = $destfile; + } - $filefield++; + $i++; } } } + + +### base64 encode attached files +function cf_base64($fn){ + global $fdata, $fpointer; + if( file_exists($fn) ){ + $fp = fopen($fn, "rb"); + $d = fread($fp, filesize($fn)); + $fdata[$fpointer][name] = $fn; + $fdata[$fpointer][data] = chunk_split(base64_encode($d)); + fclose($fp); + $fpointer++; + } + return; +} + + +### MIME / extensions +function getMIME ($ext){ + $all_mime = array('txt'=>'text/plain', 'htm'=>'text/html', 'html'=>'text/html', 'gif'=>'image/gif', 'png'=>'image/x-png', + 'jpeg'=>'image/jpeg', 'jpg'=>'image/jpeg', 'tif'=>'image/tiff', 'bmp'=>'image/x-ms-bmp', 'wav'=>'audio/x-wav', + 'mpeg'=>'video/mpeg', 'mpg'=>'video/mpeg', 'mov'=>'video/quicktime', 'avi'=>'video/x-msvideo', + 'rtf'=>'application/rtf', 'pdf'=>'application/pdf', 'zip'=>'application/zip', 'hqx'=>'application/mac-binhex40', + 'sit'=>'application/x-stuffit', 'exe'=>'application/octet-stream', 'ppz'=>'application/mspowerpoint', + 'ppt'=>'application/vnd.ms-powerpoint', 'ppj'=>'application/vnd.ms-project', 'xls'=>'application/vnd.ms-excel', + 'doc'=>'application/msword'); + return (!$all_mime[$ext])?'application/octet-stream':$all_mime[$ext]; +} + + ### replace standard & custom variables in message/subject text function get_current_page($clean=false){ global $Ajaxpid; @@ -264,6 +359,8 @@ function get_current_page($clean=false){ } + + ### look for default/system variables function check_default_vars($m,$no) { global $subID, $Ajaxpid, $AjaxURL, $post, $wpdb, $wp_db_version, $cformsSettings; @@ -324,6 +421,8 @@ function check_default_vars($m,$no) { return $m; } + + ### look for custom variables function check_cust_vars($m,$t,$no) { @@ -351,13 +450,15 @@ function check_cust_vars($m,$t,$no) { ### check if label name is tracked... if( in_array( $fTrackedVar,$allvars ) ) - $m = str_replace('{'.$fvar.'}', $t[$fTrackedVar], $m); + $m = str_replace('{'.$fvar.'}', stripslashes($t[$fTrackedVar]), $m); } } return $m; } + + ### Can't use WP's function here, so lets use our own if ( !function_exists('cf_getip') ) : function cf_getip() { @@ -374,55 +475,7 @@ function cf_getip() { } endif; -### API call to get all entries -function get_cforms_entries($fname=false,$from=false,$to=false,$sort=false,$limit=false) { - global $wpdb, $cformsSettings; - $data = array(); - - $fname_in = ''; - $where = false; - - for ($i=1; $i <= $cformsSettings['global']['cforms_formcount']; $i++){ - $n = ( $i==1 )?'':$i; - $fnames[$i]=stripslashes($cformsSettings['form'.$n]['cforms'.$n.'_fname']); - if ( $fname && preg_match('/'.$fname.'/i',$fnames[$i]) ) - $fname_in = "'$n'" . $fname_in . ','; - } - - $where = ($fname<>'' && $fname_in<>'')?' form_id IN ('.substr($fname_in,0,-1).')':''; - $where .= $from?($where?' AND':'')." sub_date > '$from'":''; - $where .= $to?($where?' AND':'')." sub_date < '$to'":''; - $where = $where?'WHERE'.$where:''; - - $sort = $sort?'ORDER BY '.$sort:'ORDER BY id'; - $limit = ($limit && $limit<>'')?'LIMIT 0,'.$limit:''; - //$where = ($fname<>''||$from<>''||$to<>'')?'':' WHERE 0,'.$limit; - - $in = ''; - $sql = "SELECT * FROM {$wpdb->cformssubmissions} $where $sort $limit"; - $all = $wpdb->get_results($sql); -// echo $sql."
"; - - foreach ( $all as $d ){ - $in = $in . $d->id . ','; - $n = ( $d->form_id=='' )?1:$d->form_id; - $data[$d->id]['id'] = $d->id; - $data[$d->id]['form'] = $fnames[$n]; - $data[$d->id]['date'] = $d->sub_date; - $data[$d->id]['email'] = $d->email; - $data[$d->id]['ip'] = $d->ip; - } - - $where = 'sub_id IN ('.substr($in,0,-1).')'; - $sql = "SELECT * FROM {$wpdb->cformsdata} WHERE $where"; - $all = $wpdb->get_results($sql); - - foreach ( $all as $d ) - $data[$d->sub_id]['data'][$d->field_name] = $d->field_val; - - return $data; -} class cformsRSS { function vars($public_query_vars) { @@ -455,12 +508,28 @@ function outputRSS() { $entries = $wpdb->get_results("SELECT * FROM {$wpdb->cformssubmissions} $WHERE ORDER BY sub_date DESC LIMIT 0,".$rsscount); $content = ''; - if( count($entries)>0 ){ + if( count($entries)>0 ){ foreach($entries as $entry){ + + $f = $cformsSettings['form'.$entry->form_id]['cforms'.$entry->form_id.'_rss_fields']; + $date = mysql2date(get_option('date_format'), $entry->sub_date); + $time = mysql2date(get_option('time_format'), $entry->sub_date); + $title = '['.$entry->id.'] '.$entry->email; + + $description = '#'.$entry->id.' '. "$date $time" .( $single?'':'  "'.$cformsSettings['form'.$entry->form_id]['cforms'.$entry->form_id.'_fname'].'":' ).''; + $data = $wpdb->get_results("SELECT * FROM {$wpdb->cformsdata} WHERE sub_id='{$entry->id}'"); + if( is_array($f) && array_count_values($f)>0 ){ + foreach( $data as $e ){ + if( array_search($e->field_name,$f)!==false ) + $description .= '
'.$e->field_name.':
'.$e->field_val.'
'; + } + } + $description .= ' ]]>'; + $entrylink = get_option('siteurl').'/wp-admin/admin.php?page='.$plugindir.'/cforms-database.php&d-id='.$entry->id.'#entry'.$entry->id; $content.= "\t".''."\n". - "\t\t".''.$entry->email.''."\n". - "\t\t".'sub_date.($single?'':' via "'.$cformsSettings['form'.$entry->form_id]['cforms'.$entry->form_id.'_fname'].'"').'. '.__('View details','cforms').'.]]>'."\n". + "\t\t".''.$title.''."\n". + "\t\t".''.$description.''."\n". "\t\t".''.$entrylink.''."\n". "\t\t".''.$entrylink.''."\n". "\t\t".''.mysql2date('D, d M Y H:i:s +0000', $entry->sub_date, false).''."\n". @@ -495,4 +564,104 @@ function outputRSS() { } add_filter('query_vars', array('cformsRSS', 'vars')); add_action('template_redirect', array('cformsRSS', 'outputRSS')); + + +### +### +### API functions +### +### + + +### API function #1 : get tracked entries +global $cfdata, $cfsort, $cfsortdir; +$cfdata = array(); +function get_cforms_entries($fname=false,$from=false,$to=false,$s=false,$limit=false,$sd='asc') { + global $wpdb, $cformsSettings, $cfdata, $cfsort, $cfsortdir; + + $cfsort=$s; + $cfsortdir=$sd; + + $fname_in = ''; + $where = false; + + for ($i=1; $i <= $cformsSettings['global']['cforms_formcount']; $i++){ + $n = ( $i==1 )?'':$i; + $fnames[$i]=stripslashes($cformsSettings['form'.$n]['cforms'.$n.'_fname']); + if ( $fname && preg_match('/'.$fname.'/i',$fnames[$i]) ) + $fname_in .= "'$n'".','; + } + + if ( $fname<>'' ) + $where = ($fname_in<>'')?' form_id IN ('.substr($fname_in,0,-1).')':" form_id='-1'"; + $where .= $from?($where?' AND':'')." sub_date > '$from'":''; + $where .= $to?($where?' AND':'')." sub_date < '$to'":''; + $where = $where?'WHERE'.$where:''; + + $limit = ($limit && $limit<>'')?'LIMIT 0,'.$limit:''; + + $in = ''; + $sql = "SELECT * FROM {$wpdb->cformssubmissions} $where $limit"; + $all = $wpdb->get_results($sql); + + foreach ( $all as $d ){ + $in = $in . $d->id . ','; + $n = ( $d->form_id=='' )?1:$d->form_id; + $cfdata[$d->id]['id'] = $d->id; + $cfdata[$d->id]['form'] = $fnames[$n]; + $cfdata[$d->id]['date'] = $d->sub_date; + $cfdata[$d->id]['email'] = $d->email; + $cfdata[$d->id]['ip'] = $d->ip; + } + + if ( $in=='' ) + return false; + + $where = 'sub_id IN ('.substr($in,0,-1).')'; + $sql = "SELECT * FROM {$wpdb->cformsdata} WHERE $where"; + $all = $wpdb->get_results($sql); + + foreach ( $all as $d ) + $cfdata[$d->sub_id]['data'][$d->field_name] = $d->field_val; + + if ( $cfsort <> '' ) ; + uksort ($cfdata, "cf_sort"); + + return $cfdata; +} + + + +function cf_sort( $a,$b ){ + global $cfdata, $cfsort, $cfsortdir; + if (!is_array($a) && !is_array($b)){ + + if( $cfdata[$a][$cfsort]<>'' && $cfdata[$b][$cfsort]<>'' ){ + $a = $cfdata[$a][$cfsort]; + $b = $cfdata[$b][$cfsort]; + }else if ( $cfdata[$a]['data'][$cfsort]<>'' && $cfdata[$b]['data'][$cfsort]<>'' ){ + $a = $cfdata[$a]['data'][$cfsort]; + $b = $cfdata[$b]['data'][$cfsort]; + } + else + return 0; + + } + if ( stristr($cfsortdir,'asc')===false ) + return strcasecmp($b, $a); + else + return strcasecmp($a, $b); +} + + + +### API functions #2 : get tracked entries +function cf_extra_comment_data( $id ) { + global $wpdb; + $all = $wpdb->get_results("SELECT * FROM {$wpdb->cformsdata} WHERE sub_id = (SELECT sub_id FROM {$wpdb->cformsdata} WHERE field_name='commentID' AND field_val='$id')"); + foreach( $all as $a ) + $r[$a->field_name]=$a->field_val; + return $r; +} + ?> \ No newline at end of file diff --git a/lib_dashboard.php b/lib_dashboard.php index 4fd71d1..f3ecdb5 100644 --- a/lib_dashboard.php +++ b/lib_dashboard.php @@ -7,7 +7,6 @@ function cforms_dashboard_27_setup() { ### Show entries on dashboard function cforms_dashboard() { - // Daten lesen von Funktion fs_getfeeds() global $wpdb, $plugindir, $wp_db_version, $cformsSettings; if (!current_user_can('track_cforms')) return; diff --git a/editor.php b/lib_editor.php similarity index 55% rename from editor.php rename to lib_editor.php index c190315..7718ebc 100644 --- a/editor.php +++ b/lib_editor.php @@ -1,31 +1,33 @@ = 6846 && 'true' == get_user_option('rich_editing') ) { add_filter( 'mce_external_plugins', 'cforms_plugin'); add_filter( 'mce_buttons', 'cforms_button'); } - ### Check for WordPress 2.1+ and activated RTE + ### WordPress 2.1+ elseif ( 3664 <= $wp_db_version && 'true' == get_user_option('rich_editing') ) { add_filter("mce_plugins", "cforms_plugin"); add_filter('mce_buttons', 'cforms_button'); add_action('tinymce_before_init','cforms_button_script'); } - } + ### used to insert button in wordpress 2.1x & 2.5x editor function cforms_button($buttons) { array_push($buttons, "separator", "cforms"); return $buttons; } -### Tell TinyMCE that there is a plugin (wp2.1) + + +### adding to TinyMCE function cforms_plugin($plugins) { global $cforms_root,$wp_db_version; @@ -37,6 +39,8 @@ function cforms_plugin($plugins) { return $plugins; } + + ### Load the TinyMCE plugin : editor_plugin.js (wp2.1) function cforms_button_script() { @@ -49,10 +53,12 @@ function cforms_button_script() { echo 'var formnames=new Array('.$fns.');'; echo 'tinyMCE.loadPlugin("cforms", "'.$pluginURL.'");'."\n"; echo 'var purl="'.$pluginURL.'";'."\n"; - return; } + + +### retrieve all form names function getAllformNames() { global $cformsSettings; $fns = ''; @@ -64,6 +70,8 @@ function getAllformNames() { return substr($fns,0,-1); } + + ### Load the Script for the Button(wp2.1) function insert_cforms_script() { global $cforms_root, $wp_db_version, $cformsSettings; @@ -98,7 +106,6 @@ function insert_cforms_script() { padding-right:10px; line-height:25px; } - #cfselect { font-size:12px; width:210px; @@ -111,81 +118,81 @@ function insert_cforms_script() { } \ No newline at end of file diff --git a/lib_functions.php b/lib_functions.php index 7de7809..471f4db 100644 --- a/lib_functions.php +++ b/lib_functions.php @@ -1,7 +1,9 @@

'.__('cforms error','cforms').'

'.__('You do not have the proper privileges to access this page.','cforms').'

'; @@ -77,33 +77,38 @@ function check_access_priv($r='manage_cforms'){ } -### Add cforms menu to admin + +### add cforms menu function cforms_menu() { global $wpdb, $submenu; $cformsSettings = get_option('cforms_settings'); + $p = $cformsSettings['global']['plugindir']; $tablesup = ($wpdb->get_var("show tables like '$wpdb->cformssubmissions'") == $wpdb->cformssubmissions)?true:false; - $optfile = $cformsSettings['global']['plugindir'].'/cforms-options.php'; + $o = $p.'/cforms-options.php'; if (function_exists('add_menu_page')) { - add_menu_page(__('cformsII', 'cforms'), __('cformsII', 'cforms'), 'manage_cforms', $optfile, '', $cformsSettings['global']['cforms_root'].'/images/cformsicon.gif'); + add_menu_page(__('cformsII', 'cforms'), __('cformsII', 'cforms'), 'manage_cforms', $o, '', $cformsSettings['global']['cforms_root'].'/images/cformsicon.gif'); } elseif (function_exists('add_management_page')) { - add_management_page(__('cformsII', 'cforms'), __('cformsII', 'cforms'), 'manage_cforms', $optfile); + add_management_page(__('cformsII', 'cforms'), __('cformsII', 'cforms'), 'manage_cforms', $o); } if (function_exists('add_submenu_page')) { - add_submenu_page($optfile, __('Form Settings', 'cforms'), __('Form Settings', 'cforms'), 'manage_cforms', $optfile); - add_submenu_page($optfile, __('Global Settings', 'cforms'), __('Global Settings', 'cforms'), 'manage_cforms', $cformsSettings['global']['plugindir'].'/cforms-global-settings.php'); + add_submenu_page($o, __('Form Settings', 'cforms'), __('Form Settings', 'cforms'), 'manage_cforms', $o); + add_submenu_page($o, __('Global Settings', 'cforms'), __('Global Settings', 'cforms'), 'manage_cforms', $p.'/cforms-global-settings.php'); if ( ($tablesup || isset($_REQUEST['cforms_database'])) && !isset($_REQUEST['deletetables']) ) - add_submenu_page($optfile, __('Tracking', 'cforms'), __('Tracking', 'cforms'), 'track_cforms', $cformsSettings['global']['plugindir'].'/cforms-database.php'); - add_submenu_page($optfile, __('Styling', 'cforms'), __('Styling', 'cforms'), 'manage_cforms', $cformsSettings['global']['plugindir'].'/cforms-css.php'); - add_submenu_page($optfile, __('Help!', 'cforms'), __('Help!', 'cforms'), 'manage_cforms', $cformsSettings['global']['plugindir'].'/cforms-help.php'); + add_submenu_page($o, __('Tracking', 'cforms'), __('Tracking', 'cforms'), 'track_cforms', $p.'/cforms-database.php'); + add_submenu_page($o, __('Styling', 'cforms'), __('Styling', 'cforms'), 'manage_cforms', $p.'/cforms-css.php'); + add_submenu_page($o, __('Help!', 'cforms'), __('Help!', 'cforms'), 'manage_cforms', $p.'/cforms-help.php'); } } + + +### cforms init function cforms_init() { global $wpdb; @@ -118,15 +123,6 @@ function cforms_init() { $role->add_cap('track_cforms'); } - ### alter tracking tables if needed - $tables = $wpdb->get_col("SHOW TABLES FROM `" . DB_NAME . "` LIKE '$wpdb->cformssubmissions'",0); - - if( $tables[0]==$wpdb->cformssubmissions ) { - $columns = $wpdb->get_results("SHOW COLUMNS FROM {$wpdb->cformssubmissions}"); - if ( $columns[2]->Field == 'date' ) - $result = $wpdb->query("ALTER TABLE `{$wpdb->cformssubmissions}` CHANGE `date` `sub_date` TIMESTAMP"); - } - ### try to adjust cforms.js automatically $jsContent = $jsContentNew = ''; if ( $fhandle = fopen(dirname(__FILE__).'/js/cforms.js', "r") ) { @@ -160,6 +156,8 @@ function cforms_init() { } + + ### check for abspath.php function abspath_check() { global $cformsSettings; @@ -173,6 +171,8 @@ function abspath_check() { } } + + ### get WP plugin dir function get_cf_plugindir(){ $cr = defined('PLUGINDIR') ? get_option('siteurl') .'/'. PLUGINDIR . '/' : get_option('siteurl') . '/wp-content/plugins/'; @@ -181,41 +181,44 @@ function get_cf_plugindir(){ return $cr; } + + ### cforms JS scripts function cforms_scripts() { - global $wp_scripts, $localversion; ### get options $cformsSettings = get_option('cforms_settings'); + $r=$cformsSettings['global']['cforms_root']; ### global settings $request_uri = get_request_uri(); if ( version_compare(strval($wp_scripts->registered['jquery']->ver), strval("1.2.6") ) === -1 ){ wp_deregister_script('jquery'); - wp_register_script('jquery',$cformsSettings['global']['cforms_root'].'/js/jquery.js',false,'1.2.6'); + wp_register_script('jquery',$r.'/js/jquery.js',false,'1.2.6'); wp_enqueue_script('jquery'); } - echo '' . "\n"; + echo '' . "\n"; if ( strpos($request_uri,'cforms-options')!==false ){ - echo '' . "\n"; - wp_register_script('cforms_admin_cal',$cformsSettings['global']['cforms_root'].'/js/cformsadmincal.js',false,$localversion); + echo '' . "\n"; + wp_register_script('cforms_admin_cal',$r.'/js/cformsadmincal.js',false,$localversion); wp_enqueue_script('cforms_admin_cal'); } wp_deregister_script('prototype'); - wp_register_script('cforms_interface',$cformsSettings['global']['cforms_root'].'/js/interface.js',false,$localversion); - wp_register_script('cforms_admin',$cformsSettings['global']['cforms_root'].'/js/cformsadmin.js',false,$localversion); + wp_register_script('cforms_interface',$r.'/js/interface.js',false,$localversion); + wp_register_script('cforms_admin',$r.'/js/cformsadmin.js',false,$localversion); wp_enqueue_script('cforms_interface'); wp_enqueue_script('cforms_admin'); } + ### some css for arranging the table fields in wp-admin function cforms_options_page_style() { @@ -223,65 +226,67 @@ function cforms_options_page_style() { $cformsSettings = get_option('cforms_settings'); $nav = $cformsSettings['global']['cforms_dp_nav']; - echo "\n\n"; + echo "\n\n"; echo ''."\n"; - echo ''."\n\n"; + echo "/* ]]> */\n".''."\n"; + echo ''."\n\n"; } -### footer unbder all options pages + + +### footer function cforms_footer() { global $localversion; ?>

@@ -290,20 +295,21 @@ function cforms_footer() { check here.', 'cforms') ?>

-

Version v

-
-

-

Plugins tab and either disable the plugin, or toggle its status (disable/enable) to revive cforms!', 'cforms') ?>

-

don\'t select the checkbox for activation on the plugin page.', 'cforms') ?>

+
+

+

Plugins tab and either disable the plugin, or toggle its status (disable/enable) to revive cforms!', 'cforms') ?>

+

don\'t select the checkbox for activation on the plugin page.', 'cforms') ?>

'' ) - $track['$$$'.$customTrackingID] = $trackname.$inc; + ### determine tracked field name + $inc=''; + $trackname = trim( ($field_type == "upload")?$field_name.'[*'.($no==''?1:$no).']':$field_name ); + if ( array_key_exists($trackname, $track) ){ + if ( $trackinstance[$trackname]=='' ) + $trackinstance[$trackname]=2; + $inc = '___'.($trackinstance[$trackname]++); + } + $track['$$$'.$i] = $trackname.$inc; + $track[$trackname.$inc] = $value; + if( $customTrackingID<>'' ) + $track['$$$'.$customTrackingID] = $trackname.$inc; } ### for all fields @@ -266,8 +263,8 @@ $inSession = '0'; } - $r = formatEmail($track,$no); + $r = formatEmail($track,$no); $formdata = $r['text']; $htmlformdata = $r['html']; @@ -275,7 +272,7 @@ ### ### FIRST into the database is required! ### - $subID = ( substr($cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'],0,1)=='2' && !$send2author )?'noid':write_tracking_record($no,$field_email); + $subID = ( $isTAF =='2' && !$send2author )?'noid':write_tracking_record($no,$field_email); ### @@ -287,69 +284,92 @@ my_cforms_action($trackf); + ### ### set reply-to & watch out for T-A-F ### $replyto = preg_replace( array('/;|#|\|/'), array(','), stripslashes($cformsSettings['form'.$no]['cforms'.$no.'_email']) ); - ### multiple recipients? and to whom is the email sent? - if ( substr($cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'],0,1)=='2' && $track['send2author']=='1'){ - $to = $wpdb->get_results("SELECT U.user_email FROM $wpdb->users as U, $wpdb->posts as P WHERE P.ID = {$_POST['comment_post_ID']} AND U.ID=P.post_author"); + ### WP comment form > email to author + if ( $isTAF=='2' && $track['send2author']=='1'){ + $to = $wpdb->get_results("SELECT U.user_email FROM $wpdb->users as U, $wpdb->posts as P WHERE P.ID = ".($_POST['comment_post_ID'.$no])." AND U.ID=P.post_author"); $to = $replyto = ($to[0]->user_email<>'')?$to[0]->user_email:$replyto; } + ### multiple recipients? and to whom is the email sent? else if ( $to_one <> "-1" ) { $all_to_email = explode(',', $replyto); $replyto = $to = $all_to_email[ $to_one ]; } else $to = $replyto; - ### T-A-F? then overwrite - if ( $taf_youremail && $taf_friendsemail && substr($cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'],0,1)=='1' ) + ### T-A-F overwrite + if ( $taf_youremail && $taf_friendsemail && $isTAF=='1' ) $replyto = "\"{$taf_yourname}\" <{$taf_youremail}>"; + ### + ### Files attached?? + ### + if(is_array($file)){ + if( $subID<>-1 && $inSession!='0' ) + cf_move_files($no, $subID); + else + cf_move_files($no, 'xx'); + } + if( $inSession=='0' && is_array($_SESSION['cforms']['upload']) ){ + foreach ( array_keys($_SESSION['cforms']['upload']) as $n ) + foreach ( array_keys($_SESSION['cforms']['upload'][$n]) as $m ) + if( file_exists($_SESSION['cforms']['upload'][$n][$m]) ) + rename($_SESSION['cforms']['upload'][$n][$m],str_replace('xx',$subID,$_SESSION['cforms']['upload'][$n][$m])); + } + + + ### ### ready to send email ### email header ### - $eol = "\n"; + $eolH = "\r\n"; + $eol = ($cformsSettings['global']['cforms_crlf']!=1)?"\r\n":"\n"; $frommail = check_cust_vars(stripslashes($cformsSettings['form'.$no]['cforms'.$no.'_fromemail']),$track,$no); if ( $frommail=='' ) $frommail = '"'.get_option('blogname').'" '; - $headers = "From: ". $frommail . $eol; - $headers.= "Reply-To: " . $field_email . $eol; + $headers = 'From: '. $frommail . $eolH; + $headers.= 'Reply-To: ' . $field_email . $eolH; if ( ($tempBcc=stripslashes($cformsSettings['form'.$no]['cforms'.$no.'_bcc'])) != "") - $headers.= "Bcc: " . $tempBcc . $eol; + $headers.= 'Bcc: ' . $tempBcc . $eolH; - $headers.= "MIME-Version: 1.0" .$eol; - $headers.= "Content-Type: multipart/mixed; boundary=\"----MIME_BOUNDRY_main_message\""; + $headers.= 'MIME-Version: 1.0' .$eolH; + $headers.= 'Content-Type: multipart/mixed; boundary="----MIME_BOUNDRY_main_message"'; ### prep message text, replace variables - $message = $cformsSettings['form'.$no]['cforms'.$no.'_header']; + $message = stripslashes($cformsSettings['form'.$no]['cforms'.$no.'_header']); + if ( function_exists('my_cforms_logic') ) + $message = my_cforms_logic($trackf, $message,'adminEmailTXT'); $message = check_default_vars($message,$no); $message = check_cust_vars($message,$track,$no); ### text & html message - $fmessage = "This is a multi-part message in MIME format." . $eol; - $fmessage .= "------MIME_BOUNDRY_main_message" . $eol; + $fmessage = 'This is a multi-part message in MIME format.' . $eol; + $fmessage .= '------MIME_BOUNDRY_main_message' . $eol; ### HTML message part? $html_show = ( substr($cformsSettings['form'.$no]['cforms'.$no.'_formdata'],2,1)=='1' )?true:false; $htmlmessage = ''; - if ($html_show) { - $fmessage .= "Content-Type: multipart/alternative; boundary=\"----MIME_BOUNDRY_sub_message\"" . $eol . $eol; - $fmessage .= "------MIME_BOUNDRY_sub_message" . $eol; - $fmessage .= "Content-Type: text/plain; charset=\"" . get_option('blog_charset') . "\"" . $eol; - $fmessage .= "Content-Transfer-Encoding: quoted-printable" . $eol . $eol; - } + if ( $html_show ) { + $fmessage .= 'Content-Type: multipart/alternative; boundary="----MIME_BOUNDRY_sub_message"' . $eol . $eol; + $fmessage .= '------MIME_BOUNDRY_sub_message' . $eol; + $fmessage .= 'Content-Type: text/plain; charset="' . get_option('blog_charset') . '"; format=flowed' . $eol; + $fmessage .= 'Content-Transfer-Encoding: quoted-printable' . $eol . $eol; + } else - $fmessage .= "Content-Type: text/plain; charset=\"" . get_option('blog_charset') . "\"" . $eol . $eol; + $fmessage .= 'Content-Type: text/plain; charset="' . get_option('blog_charset') . '"; format=flowed' . $eol . $eol; $fmessage .= $message . $eol; @@ -362,19 +382,18 @@ if ( $html_show ) { ### actual user message - $htmlmessage = $cformsSettings['form'.$no]['cforms'.$no.'_header_html']; + $htmlmessage = stripslashes($cformsSettings['form'.$no]['cforms'.$no.'_header_html']); + if ( function_exists('my_cforms_logic') ) + $htmlmessage = my_cforms_logic($trackf, $htmlmessage,'adminEmailHTML'); $htmlmessage = check_default_vars($htmlmessage,$no); - $htmlmessage = str_replace('=','=3D', stripslashes( check_cust_vars($htmlmessage,$track,$no) ) ); + $htmlmessage = str_replace('=','=3D', check_cust_vars($htmlmessage,$track,$no) ); + $fmessage .= '------MIME_BOUNDRY_sub_message' . $eol; + $fmessage .= 'Content-Type: text/html; charset="' . get_option('blog_charset') . '"' . $eol; + $fmessage .= 'Content-Transfer-Encoding: quoted-printable' . $eol . $eol; - $fmessage .= "------MIME_BOUNDRY_sub_message" . $eol; - $fmessage .= "Content-Type: text/html; charset=\"" . get_option('blog_charset') . "\"". $eol; - $fmessage .= "Content-Transfer-Encoding: quoted-printable" . $eol . $eol;; - - $fmessage .= "" . $eol; - - $fmessage .= "" . $eol; - $fmessage .= "" . $eol; + $fmessage .= '' . $eol; + $fmessage .= '' . $eol; $fmessage .= $htmlmessage; @@ -382,43 +401,12 @@ if(substr($cformsSettings['form'.$no]['cforms'.$no.'_formdata'],1,1)=='1') $fmessage .= $eol . $htmlformdata; - $fmessage .= "" . $eol . $eol; - } + $fmessage .= '' . $eol . $eol; - ### end of sub message - - $attached=''; - ### possibly add attachment - if ( isset($_FILES['cf_uploadfile'.$no]) && !$cformsSettings['form'.$no]['cforms'.$no.'_noattachments'] ) { - - ### different header for attached files - ### - $all_mime = array("txt"=>"text/plain", "htm"=>"text/html", "html"=>"text/html", "gif"=>"image/gif", "png"=>"image/x-png", - "jpeg"=>"image/jpeg", "jpg"=>"image/jpeg", "tif"=>"image/tiff", "bmp"=>"image/x-ms-bmp", "wav"=>"audio/x-wav", - "mpeg"=>"video/mpeg", "mpg"=>"video/mpeg", "mov"=>"video/quicktime", "avi"=>"video/x-msvideo", - "rtf"=>"application/rtf", "pdf"=>"application/pdf", "zip"=>"application/zip", "hqx"=>"application/mac-binhex40", - "sit"=>"application/x-stuffit", "exe"=>"application/octet-stream", "ppz"=>"application/mspowerpoint", - "ppt"=>"application/vnd.ms-powerpoint", "ppj"=>"application/vnd.ms-project", "xls"=>"application/vnd.ms-excel", - "doc"=>"application/msword"); - - if ( $html_show ) - $fmessage .= "------MIME_BOUNDRY_sub_message--" . $eol; - - for ( $filefield=0; $filefield < count($_FILES['cf_uploadfile'.$no][name]); $filefield++) { - - if ( $filedata[$filefield] <> '' ){ - $mime = (!$all_mime[$fileext[$filefield]])?'application/octet-stream':$all_mime[$fileext[$filefield]]; - - $attached .= "------MIME_BOUNDRY_main_message" . $eol; - $attached .= "Content-Type: $mime;\n\tname=\"" . $file['name'][$filefield] . "\"" . $eol; - $attached .= "Content-Transfer-Encoding: base64" . $eol; - $attached .= "Content-Disposition: inline;\n\tfilename=\"" . $file['name'][$filefield] . "\"\n" . $eol; - $attached .= $eol . $filedata[$filefield]; ### The base64 encoded message - } - - } + $fmessage .= '------MIME_BOUNDRY_sub_message--' . $eol; } + ### end of sub message ### @@ -427,21 +415,72 @@ ### either use configured subject or user determined ### now replace the left over {xyz} variables with the input data - $vsubject = $cformsSettings['form'.$no]['cforms'.$no.'_subject']; + $vsubject = stripslashes($cformsSettings['form'.$no]['cforms'.$no.'_subject']); $vsubject = check_default_vars($vsubject,$no); - $vsubject = stripslashes( check_cust_vars($vsubject,$track,$no) ); + $vsubject = check_cust_vars($vsubject,$track,$no); ### logic: dynamic admin email address if ( function_exists('my_cforms_logic') ) $to = my_cforms_logic($trackf, $to,'adminTO'); ### use trackf! - ### SMTP server or native PHP mail() ? + + ### Skip admin email when MP form $MPok = !$cformsSettings['form'.$no]['mp']['cforms'.$no.'_mp_form'] || ($cformsSettings['form'.$no]['mp']['cforms'.$no.'_mp_form'] && !$cformsSettings['form'.$no]['mp']['cforms'.$no.'_mp_email']); if ( $MPok ){ - if ( $smtpsettings[0]=='1' ) - $sentadmin = cforms_phpmailer( $no, $frommail, $field_email, $to, $vsubject, $message, $formdata, $htmlmessage, $htmlformdata, $fileext ); + + + ### + ### adding attachments now + ### + $attached=''; + global $fdata,$fpointer; + $fdata = array(); + $fpointer = 0; + + ### attachments wanted? + if ( !$cformsSettings['form'.$no]['cforms'.$no.'_noattachments'] ) { + + ### no session, single form w/ files + if ( $inSession!='0' && is_array($file) ){ + foreach( $file[tmp_name] as $fn ){ + cf_base64($fn); + } + } + ### session w/ files + if( $inSession=='0' && is_array($_SESSION['cforms']['upload']) ){ + foreach ( array_keys($_SESSION['cforms']['upload']) as $n ) + foreach ( array_keys($_SESSION['cforms']['upload'][$n]) as $m ) + cf_base64(str_replace('xx',$subID,$_SESSION['cforms']['upload'][$n][$m])); + } + + foreach ( $fdata as $file ) { + if ( $file[name] <> '' ){ + + $n = substr( $file[name], strrpos($file[name],$cformsSettings['global']['cforms_IIS'])+1, strlen($file[name]) ); + $m = getMIME( strtolower( substr($n,strrpos($n, '.')+1,strlen($n)) ) ); + + $attached .= $eol . '------MIME_BOUNDRY_main_message' . $eol; + $attached .= 'Content-Type: '.$m.';'.$eol."\t".'name="' . $n . '"' . $eol; + $attached .= 'Content-Transfer-Encoding: base64' . $eol; + $attached .= 'Content-Disposition: inline;'.$eol."\t".'filename="' . $n . '"' . $eol; + $attached .= $eol . $file[data] . $eol; ### The base64 encoded message + + } + } ### for + + } + ### end adding attachments + else + $fmessage .= '------MIME_BOUNDRY_main_message--'; + + + ### SMTP server or native PHP mail() ? + if( $cformsSettings['form'.$no]['cforms'.$no.'_emailoff']=='1' ) + $sentadmin = 1; + else if ( $smtpsettings[0]=='1' ) + $sentadmin = cforms_phpmailer( $no, $frommail, $field_email, $to, $vsubject, $message, $formdata, $htmlmessage, $htmlformdata, '1' ); else $sentadmin = @mail($to, encode_header($vsubject), $fmessage.$attached, $headers); @@ -457,27 +496,29 @@ $html_show_ac = ( substr($cformsSettings['form'.$no]['cforms'.$no.'_formdata'],3,1)=='1' )?true:false; $automsg = ''; - $headers2 = "From: ". $frommail . $eol; - $headers2.= "Reply-To: " . $replyto . $eol; + $headers2 = 'From: '. $frommail . $eolH; + $headers2.= 'Reply-To: ' . $replyto . $eolH; - if ( $taf_youremail && $taf_friendsemail && substr($cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'],0,1)=='1' ) ### TAF: add CC - $headers2.= "CC: " . $replyto . $eol; + if ( $taf_youremail && $taf_friendsemail && $isTAF=='1' ) ### TAF: add CC + $headers2.= 'CC: ' . $replyto . $eolH; - $headers2.= "MIME-Version: 1.0" .$eol; + $headers2.= 'MIME-Version: 1.0' .$eolH; if( $html_show_ac || ($html_show && ($ccme&&$trackf[$ccme]<>'-')) ){ - $headers2.= "Content-Type: multipart/alternative; boundary=\"----MIME_BOUNDRY_main_message\""; - $automsg .= "This is a multi-part message in MIME format." . $eol; - $automsg .= "------MIME_BOUNDRY_main_message" . $eol; - $automsg .= "Content-Type: text/plain; charset=\"" . get_option('blog_charset') . "\"; format=flowed" . $eol; - $automsg .= "Content-Transfer-Encoding: quoted-printable" . $eol . $eol; + $headers2.= 'Content-Type: multipart/alternative; boundary="----MIME_BOUNDRY_main_message"'; + $automsg .= 'This is a multi-part message in MIME format.' . $eol; + $automsg .= '------MIME_BOUNDRY_main_message' . $eol; + $automsg .= 'Content-Type: text/plain; charset="' . get_option('blog_charset') . '"; format=flowed' . $eol; + $automsg .= 'Content-Transfer-Encoding: quoted-printable' . $eol . $eol; } else - $headers2.= "Content-Type: text/plain; charset=\"" . get_option('blog_charset') . "\"; format=flowed"; + $headers2.= 'Content-Type: text/plain; charset="' . get_option('blog_charset') . '"; format=flowed'; ### actual user message - $cmsg = $cformsSettings['form'.$no]['cforms'.$no.'_cmsg']; + $cmsg = stripslashes($cformsSettings['form'.$no]['cforms'.$no.'_cmsg']); + if ( function_exists('my_cforms_logic') ) + $cmsg = my_cforms_logic($trackf, $cmsg,'autoConfTXT'); $cmsg = check_default_vars($cmsg,$no); $cmsg = check_cust_vars($cmsg,$track,$no); @@ -489,21 +530,25 @@ if ( $html_show_ac ) { ### actual user message - $cmsghtml = $cformsSettings['form'.$no]['cforms'.$no.'_cmsg_html']; + $cmsghtml = stripslashes($cformsSettings['form'.$no]['cforms'.$no.'_cmsg_html']); + if ( function_exists('my_cforms_logic') ) + $cmsghtml = my_cforms_logic($trackf, $cmsghtml,'autoConfHTML'); $cmsghtml = check_default_vars($cmsghtml,$no); - $cmsghtml = str_replace(array("=","\n"),array("=3D","
\n"), check_cust_vars($cmsghtml,$track,$no) ); + $cmsghtml = str_replace(array("=","\n"),array("=3D","
\r\n"), check_cust_vars($cmsghtml,$track,$no) ); - $automsg .= "------MIME_BOUNDRY_main_message" . $eol; - $automsg .= "Content-Type: text/html; charset=\"" . get_option('blog_charset') . "\"". $eol; - $automsg .= "Content-Transfer-Encoding: quoted-printable" . $eol . $eol;; + $automsg .= $eol . '------MIME_BOUNDRY_main_message' . $eol; + $automsg .= 'Content-Type: text/html; charset="' . get_option('blog_charset') . '"' . $eol; + $automsg .= 'Content-Transfer-Encoding: quoted-printable' . $eol . $eol; - $automsg .= "" . $eol; - $automsg .= "" . $eol; + $automsg .= '' . $eol; + $automsg .= '' . $eol; $automsg .= $cmsghtml; - $automsg .= "" . $eol . $eol; + $automsg .= '' . $eol . $eol; + + $automsg .= '------MIME_BOUNDRY_main_message--'; } - $subject2 = $cformsSettings['form'.$no]['cforms'.$no.'_csubject']; + $subject2 = stripslashes($cformsSettings['form'.$no]['cforms'.$no.'_csubject']); $subject2 = check_default_vars($subject2,$no); $subject2 = check_cust_vars($subject2,$track,$no); @@ -515,20 +560,20 @@ $field_email = ($cformsSettings['form'.$no]['cforms'.$no.'_tracking']<>'')?$field_email.$cformsSettings['form'.$no]['cforms'.$no.'_tracking']:$field_email; ### if in Tell-A-Friend Mode, then overwrite header stuff... - if ( $taf_youremail && $taf_friendsemail && substr($cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'],0,1)=='1' ) + if ( $taf_youremail && $taf_friendsemail && $isTAF=='1' ) $field_email = "\"{$taf_friendsname}\" <{$taf_friendsemail}>"; if ( $ccme&&$trackf[$ccme]<>'-' ) { if ( $smtpsettings[0]=='1' ) - $sent = cforms_phpmailer( $no, $frommail, $replyto, $field_email, stripslashes($t[1]), $message, $formdata, $htmlmessage, $htmlformdata, 'ac' ); + $sent = cforms_phpmailer( $no, $frommail, $replyto, $field_email, $t[1], $message, $formdata, $htmlmessage, $htmlformdata, 'ac' ); else - $sent = @mail($field_email, encode_header(stripslashes($t[1])), $fmessage, $headers2); ### the admin one + $sent = @mail($field_email, encode_header($t[1]), $fmessage, $headers2); ### the admin one } else { if ( $smtpsettings[0]=='1' ) - $sent = cforms_phpmailer( $no, $frommail, $replyto, $field_email, stripslashes($t[0]) , $cmsg , '', $cmsghtml, '', 'ac' ); + $sent = cforms_phpmailer( $no, $frommail, $replyto, $field_email, $t[0] , $cmsg , '', $cmsghtml, '', 'ac' ); else - $sent = @mail($field_email, encode_header(stripslashes($t[0])), stripslashes($automsg), $headers2); ### takes the above + $sent = @mail($field_email, encode_header($t[0]), $automsg, $headers2); ### takes the above } if( $sent<>'1' ) @@ -536,7 +581,7 @@ } ### redirect to a different page on suceess? - if ( $cformsSettings['form'.$no]['cforms'.$no.'_redirect']==1 ) { + if ( $cformsSettings['form'.$no]['cforms'.$no.'_redirect']==1 && !$isWPcommentForm ) { if ( function_exists('my_cforms_logic') ) $rp = my_cforms_logic($trackf, $cformsSettings['form'.$no]['cforms'.$no.'_redirect_page'],'redirection'); ### use trackf! else @@ -554,20 +599,6 @@ $usermessage_text = __('Error occurred while sending the message: ','cforms') . '
'. $smtpsettings[0]?'
'.$sentadmin:''; } ### if $MPok - ### - ### Files attached?? - ### - if( $inSession=='noSess' ) - cf_move_files($no, $subID, $file); - else if( $inSession=='1' && is_array($_FILES['cf_uploadfile'.$no]) ) - cf_move_files($no, 'xx', $file); - else if( $inSession=='0' && is_array($_SESSION['cforms']['upload'] ) ){ - foreach ( array_keys($_SESSION['cforms']['upload']) as $n ) - foreach ( array_keys($_SESSION['cforms']['upload'][$n]) as $m ) - if( file_exists($_SESSION['cforms']['upload'][$n][$m]) ) - rename($_SESSION['cforms']['upload'][$n][$m],str_replace('xx',$subID,$_SESSION['cforms']['upload'][$n][$m])); - } - } ### if isset & valid sendbutton diff --git a/lib_options_sub.php b/lib_options_sub.php index a13673b..56a65ff 100644 --- a/lib_options_sub.php +++ b/lib_options_sub.php @@ -23,12 +23,15 @@ $disabled = 0; $readonly = 0; - if( in_array($type, array('cauthor','email','url','comment','send2author')) && !(substr($cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'],0,1)=='2') ){ + $isTAF = (int)substr($cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'],0,1); + + + if( in_array($type, array('cauthor','email','url','comment','send2author')) && !($isTAF==2) ){ $allgood = $WPc?false:true; $usermsg .= ''.__('WP comment form fields only supported when WP comment feature turned on!', 'cforms').''; $WPc=true; } - if( in_array($type, array('yourname','youremail','friendsname','friendsemail')) && !(substr($cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'],0,1)=='1') ){ + if( in_array($type, array('yourname','youremail','friendsname','friendsemail')) && !($isTAF==1) ){ $allgood = $taf?false:true; $usermsg .= ''.__('TAF fields only supported when TAF feature turned on!', 'cforms').''; $taf=true; @@ -103,6 +106,12 @@ $cformsSettings['form'.$no]['cforms'.$no.'_rss'] = $_REQUEST['cforms_rss']?true:false; $cformsSettings['form'.$no]['cforms'.$no.'_rss_count'] = $_REQUEST['cforms_rsscount']; + if( isset($_REQUEST['cforms_rssfields']) ){ + $i=1; + foreach($_REQUEST['cforms_rssfields'] as $e) + $cformsSettings['form'.$no]['cforms'.$no.'_rss_fields'][$i++] = $e; + } + $cformsSettings['form'.$no]['cforms'.$no.'_dontclear'] = $_REQUEST['cforms_dontclear']?true:false; $cformsSettings['form'.$no]['cforms'.$no.'_upload_dir'] = $_REQUEST['cforms_upload_dir'].'$#$'.$_REQUEST['cforms_upload_dir_url']; @@ -153,15 +162,18 @@ $cformsSettings['form'.$no]['cforms'.$no.'_action_page'] = preg_replace("/\\\+/", "\\",$_REQUEST['cforms_action_page']); $cformsSettings['form'.$no]['cforms'.$no.'_tracking'] = preg_replace("/\\\+/", "\\",$_REQUEST['cforms_tracking']); - if ( isset($_REQUEST['cforms_taftrick']) && ($cformsSettings['form'.$no]['cforms'.$no.'_tellafriend']==0 || $cformsSettings['form'.$no]['cforms'.$no.'_tellafriend']==3) ) - $cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'] = '3'; - else - $cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'] = ($_REQUEST['cforms_tellafriend']?'1':'0').($_REQUEST['cforms_tafdefault']?'1':'0') ; + $cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'] = '01'; ### default + if ( isset($_REQUEST['cforms_taftrick']) ) + $cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'] = '31'; + + if ( isset($_REQUEST['cforms_tellafriend']) ) + $cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'] = '1'.($_REQUEST['cforms_tafdefault']?'1':'0') ; if ( isset($_REQUEST['cforms_commentrep']) ) - $cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'] = ($_REQUEST['cforms_commentrep']?'2':'0').($_REQUEST['cforms_commentXnote']?'1':'0') ; + $cformsSettings['form'.$no]['cforms'.$no.'_tellafriend'] = '2'.($_REQUEST['cforms_commentXnote']?'1':'0') ; $cformsSettings['form'.$no]['cforms'.$no.'_dashboard'] = ($_REQUEST['cforms_dashboard']?'1':'0') ; + $cformsSettings['form'.$no]['cforms'.$no.'_emailoff'] = ($_REQUEST['cforms_emailoff']?'1':'0') ; $cformsSettings['form'.$no]['cforms'.$no.'_maxentries'] = ($_REQUEST['cforms_maxentries']==''?'':(int)$_REQUEST['cforms_maxentries']) ; $cformsSettings['form'.$no]['cforms'.$no.'_customnames'] = ($_REQUEST['cforms_customnames']?'1':'0') ; diff --git a/lib_validate.php b/lib_validate.php index 9afaf56..7718211 100644 --- a/lib_validate.php +++ b/lib_validate.php @@ -5,6 +5,7 @@ ### $cflimit = ''; +$filefield = 0; $captchaopt = $cformsSettings['global']['cforms_captcha_def']; @@ -216,7 +217,9 @@ ### have to upload a file? ### -$filefield=0; ### for multiple file upload fields +global $file; +$file=''; +$i=0; if( isset($_FILES['cf_uploadfile'.$no]) && $all_valid){ @@ -227,31 +230,31 @@ if(!empty($value)){ ### this will check if any blank field is entered if ( function_exists('my_cforms_logic') ) - $file[name][$filefield] = my_cforms_logic($_REQUEST,$_FILES['cf_uploadfile'.$no][name][$filefield],"filename"); + $file[name][$i] = my_cforms_logic($_REQUEST,$_FILES['cf_uploadfile'.$no][name][$i],"filename"); $fileerr = ''; ### A successful upload will pass this test. It makes no sense to override this one. - if ( $file['error'][$filefield] > 0 ) + if ( $file['error'][$i] > 0 ) $fileerr = $cformsSettings['global']['cforms_upload_err1']; ### A successful upload will pass this test. It makes no sense to override this one. - $fileext[$filefield] = strtolower( substr($value,strrpos($value, '.')+1,strlen($value)) ); + $fileext[$i] = strtolower( substr($value,strrpos($value, '.')+1,strlen($value)) ); $allextensions = explode(',' , preg_replace('/\s/', '', strtolower($cformsSettings['form'.$no]['cforms'.$no.'_upload_ext'])) ); - if ( $cformsSettings['form'.$no]['cforms'.$no.'_upload_ext']<>'' && !in_array($fileext[$filefield], $allextensions) ) + if ( $cformsSettings['form'.$no]['cforms'.$no.'_upload_ext']<>'' && !in_array($fileext[$i], $allextensions) ) $fileerr = $cformsSettings['global']['cforms_upload_err5']; ### A non-empty file will pass this test. - if ( !( $file['size'][$filefield] > 0 ) ) + if ( !( $file['size'][$i] > 0 ) ) $fileerr = $cformsSettings['global']['cforms_upload_err2']; ### A non-empty file will pass this test. - if ( $file['size'][$filefield] >= (int)$cformsSettings['form'.$no]['cforms'.$no.'_upload_size'] * 1024 ) + if ( $file['size'][$i] >= (int)$cformsSettings['form'.$no]['cforms'.$no.'_upload_size'] * 1024 ) $fileerr = $cformsSettings['global']['cforms_upload_err3']; ### A properly uploaded file will pass this test. There should be no reason to override this one. - if (! @ is_uploaded_file( $file['tmp_name'][$filefield] ) ) + if (! @ is_uploaded_file( $file['tmp_name'][$i] ) ) $fileerr = $cformsSettings['global']['cforms_upload_err4']; if ( $fileerr <> '' ){ @@ -259,22 +262,10 @@ $err = 3; $all_valid = false; - } else { - - ### cool, got the file! - if ( !$cformsSettings['form'.$no]['cforms'.$no.'_noattachments'] ) { - ### $uploadedfile = file($file['tmp_name'][$filefield]); ### what's that for?? - - $fp = fopen($file['tmp_name'][$filefield], "rb"); ### Open it - $fdata = fread($fp, filesize($file['tmp_name'][$filefield])); ### Read it - $filedata[$filefield] = chunk_split(base64_encode($fdata)); ### Chunk it up and encode it as base64 so it can emailed - fclose($fp); - } - } ### file uploaded } ### if !empty - $filefield++; + $i++; } ### while all file diff --git a/my-functions.php b/my-functions.php index d0038e4..98b3a88 100644 --- a/my-functions.php +++ b/my-functions.php @@ -1,34 +1,69 @@ >> uncomment the code below if you require custom processing and modify +### >>> the below examples to meet your requirements -### un-comment if you require custom processing and modify the below examples -### to meet your requirements +/* <--- move or remove this line to uncomment functions below! (and check the end as well) ! -/* ### -### Your custom application logic +### Your custom application logic features ### -### Settings supported for now: +### "redirection" $cformsdata = cforms datablock +### "filename" $cformsdata = $_REQUEST +### "adminTO" $cformsdata = cforms datablock +### "nextForm" $cformsdata = cforms datablock ### -### "redirection" $cformsdata = cforms datablock -### "filename" $cformsdata = $_REQUEST -### "adminTO" $cformsdata = cforms datablock -### "nextForm" $cformsdata = cforms datablock +### "adminEmailTXT" $cformsdata = cforms datablock +### "adminEmailHTML" $cformsdata = cforms datablock +### "autoConfTXT" $cformsdata = cforms datablock +### "autoConfHTML" $cformsdata = cforms datablock ### function my_cforms_logic($cformsdata,$oldvalue,$setting) { - ### example: changes the next form to be form ID 5 (which is multi form page enabled) + ### If you're unsure how to reference $cformsdata use the below @mail call to send you the data array + ### @mail('your@email.com', 'cforms my_action test', print_r($cformsdata,1), 'From: your@email.com'); + + + + ### example: the below code changes a user-variable in both the Text & HTML part of + ### the admin email & auto confirmation email + + if ( $setting == "adminEmailTXT" || $setting == "adminEmailHTML" || $setting == "autoConfTXT" || $setting == "autoConfHTML" ){ + + ### it's only changed though for form #2 + ### and requires "{CustomSalutation}" to be in the message(s) + if ( $cformsdata['id']==2 ){ + + ### Returned message depends on user choosing the radio option "Mrs" or "Mr" (field value!) + if( $cformsdata['data']['Salutation']=='Mrs' ) + return str_replace('{CustomSalutation}','Dear Mrs. ',$oldvalue); + else + return str_replace('{CustomSalutation}','Dear Mr. ',$oldvalue); + + } + + } + + + + ### example: changes the next form to be form ID 5 (which is multi form page enabled) + if ( $setting == "nextForm" ){ ### the below only triggers when the configured "next form" would have been 4 @@ -38,6 +73,8 @@ function my_cforms_logic($cformsdata,$oldvalue,$setting) { } + + ### example: changes the admin email address to "test123 \ No newline at end of file diff --git a/phpmailer/cforms_phpmailer.php b/phpmailer/cforms_phpmailer.php index 6201dad..4862c76 100644 --- a/phpmailer/cforms_phpmailer.php +++ b/phpmailer/cforms_phpmailer.php @@ -94,9 +94,9 @@ function cforms_phpmailer( $no, $frommail, $field_email, $to, $vsubject, $messag $htmlmessage = str_replace('=3D','=',$htmlmessage); //remove 3D's $htmlformdata = str_replace('=3D','=',$htmlformdata); //remove 3D's, $mail->IsHTML(true); - $mail->Body = "\n".$styles."".stripslashes($htmlmessage). + $mail->Body = "\r\n".$styles."".stripslashes($htmlmessage). ( (substr($cformsSettings['form'.$no]['cforms'.$no.'_formdata'],1,1)=='1' && $htmlformdata<>'') ? $eol.$htmlformdata : '' ). - "\n\n"; + "\r\n\r\n"; $mail->AltBody = stripslashes($message).((substr($cformsSettings['form'.$no]['cforms'.$no.'_formdata'],0,1)=='1'&&$formdata<>'')?$eol.$formdata:''); } else