function bb_click_array_field_input($input, $field, $value, $lead_id, $form_id)
{
    if ($field["type"] == "bb_click_array") {
        $field_id = IS_ADMIN || $form_id == 0 ? "input_{$id}" : "input_" . $form_id . "_{$id}";
        $input_name = $form_id . '_' . $field["id"];
        $css = isset($field['cssClass']) ? $field['cssClass'] : "";
        $disabled_text = IS_ADMIN && RG_CURRENT_VIEW != "entry" ? "disabled='disabled'" : "";
        $amount = '';
        $clicked = '';
        if (is_array($value)) {
            $amount = esc_attr(rgget($field["id"] . ".1", $value));
            $clicked = rgget($field["id"] . ".5", $value);
        }
        $html = "<div id='{$field_id}' class='ginput_container bb-click-array-" . count($field['choices']) . " " . esc_attr($css) . "'>" . "\n";
        if (is_array($field["choices"])) {
            $choice_id = 0;
            $tabindex = GFCommon::get_tabindex();
            foreach ($field["choices"] as $choice) {
                $id = $field["id"] . '_' . $choice_id;
                $field_value = !empty($choice["value"]) || rgar($field, "enableChoiceValue") ? $choice["value"] : $choice["text"];
                if (rgblank($amount) && RG_CURRENT_VIEW != "entry") {
                    $active = rgar($choice, "isSelected") ? "checked='checked'" : "";
                } else {
                    $active = RGFormsModel::choice_value_match($field, $choice, $amount) ? "checked='checked'" : "";
                }
                if ($active) {
                    $amount = $field_value;
                }
                $field_class = $active ? 's-active' : 's-passive';
                if (rgar($field, 'field_bb_click_array_is_product')) {
                    require_once GFCommon::get_base_path() . '/currency.php';
                    $currency = new RGCurrency(GFCommon::get_currency());
                    $field_value = $currency->to_money($field_value);
                    $field_class .= ' s-currency';
                }
                $html .= sprintf('<div data-clickarray-value="%s" data-choice-id="%s" class="s-html-wrapper %s" id="%s">', esc_attr($field_value), $choice_id, $field_class, $id);
                $html .= sprintf('<div class="s-html-value">%s</div>', $field_value);
                $html .= sprintf("<label for='choice_%s' id='label_%s'>%s</label>", $id, $id, $choice["text"]);
                $html .= '</div>';
                $choice_id++;
            }
            $onblur = !IS_ADMIN ? 'if(jQuery(this).val().replace(" ", "") == "") { jQuery(this).val("' . $other_default_value . '"); }' : '';
            $onkeyup = empty($field["conditionalLogicFields"]) || IS_ADMIN ? '' : "onchange='gf_apply_rules(" . $field["formId"] . "," . GFCommon::json_encode($field["conditionalLogicFields"]) . ");' onkeyup='clearTimeout(__gf_timeout_handle); __gf_timeout_handle = setTimeout(\"gf_apply_rules(" . $field["formId"] . "," . GFCommon::json_encode($field["conditionalLogicFields"]) . ")\", 300);'";
            $value_exists = RGFormsModel::choices_value_match($field, $field["choices"], $value);
            $other_label = empty($field['field_bb_click_array_other_label']) ? 'My Best Gift' : $field['field_bb_click_array_other_label'];
            $other_class = rgar($field, 'enableOtherChoice') ? '' : 'hide';
            $html .= "<label for='input_{$field["formId"]}_{$field["id"]}_1' class='ginput_bb_click_array_other_label " . $other_class . "'>" . $other_label . "</label>";
            $other_class .= rgar($field, 'field_bb_click_array_is_product') ? ' ginput_amount gfield_price gfield_price_' . $field['formId'] . '_' . $field['id'] . '_1 gfield_product_' . $field['formId'] . '_' . $field['id'] . '_1' : '';
            $html .= "<input id='input_{$field["formId"]}_{$field["id"]}_1' name='input_{$field["id"]}_1' type='text' value='" . esc_attr($amount) . "' class='ginput_bb ginput_click_array_other " . $other_class . " " . $field['size'] . "' onblur='{$onblur}' {$tabindex} {$onkeyup} {$disabled_text}>";
            $html .= "<input id='input_{$field["formId"]}_{$field["id"]}_5' name='input_{$field["id"]}_5' type='hidden' value='" . esc_attr($clicked) . "' class='ginput_bb ginput_click_array_clicked'>";
        }
        $html .= "</div>";
        return $html;
    }
    return $input;
}
 public function get_value_save_entry($value, $form, $input_name, $lead_id, $lead)
 {
     // ignore submitted value and recalculate price in backend
     list($prefix, $field_id, $input_id) = rgexplode('_', $input_name, 3);
     if ($input_id == 2) {
         require_once GFCommon::get_base_path() . '/currency.php';
         $currency = new RGCurrency(GFCommon::get_currency());
         $lead = empty($lead) ? RGFormsModel::get_lead($lead_id) : $lead;
         $value = $currency->to_money(GFCommon::calculate($this, $form, $lead));
     }
     return $value;
 }
 public function get_value_submission($field_values, $get_from_post_global_var = true)
 {
     $value = $this->get_input_value_submission('input_' . $this->id, $this->inputName, $field_values, $get_from_post_global_var);
     $value = trim($value);
     if ($this->numberFormat == 'currency') {
         require_once GFCommon::get_base_path() . '/currency.php';
         $currency = new RGCurrency(GFCommon::get_currency());
         $value = $currency->to_number($value);
     } else {
         if ($this->numberFormat == 'decimal_comma') {
             $value = GFCommon::clean_number($value, 'decimal_comma');
         } else {
             if ($this->numberFormat == 'decimal_dot') {
                 $value = GFCommon::clean_number($value, 'decimal_dot');
             }
         }
     }
     return $value;
 }
示例#4
0
    public static function gravityforms_settings_page()
    {
        global $wpdb;
        if (!GFCommon::ensure_wp_version()) {
            return;
        }
        if (isset($_GET['setup'])) {
            //forcing setup
            RGForms::setup(true);
        }
        require_once 'currency.php';
        if (isset($_POST['submit'])) {
            check_admin_referer('gforms_update_settings', 'gforms_update_settings');
            if (!GFCommon::current_user_can_any('gravityforms_edit_settings')) {
                die(esc_html__("You don't have adequate permission to edit settings.", 'gravityforms'));
            }
            RGFormsModel::save_key(sanitize_text_field($_POST['gforms_key']));
            update_option('rg_gforms_disable_css', (bool) rgpost('gforms_disable_css'));
            update_option('rg_gforms_enable_html5', (bool) rgpost('gforms_enable_html5'));
            update_option('gform_enable_noconflict', (bool) rgpost('gform_enable_noconflict'));
            update_option('gform_enable_background_updates', (bool) rgpost('gform_enable_background_updates'));
            update_option('rg_gforms_enable_akismet', self::get_posted_akismet_setting());
            // do not cast to bool, option is enabled by default; need a "1" or a "0"
            update_option('rg_gforms_captcha_public_key', sanitize_text_field(rgpost('gforms_captcha_public_key')));
            update_option('rg_gforms_captcha_private_key', sanitize_text_field(rgpost('gforms_captcha_private_key')));
            if (!rgempty('gforms_currency') && in_array(rgpost('gforms_currency'), array_keys(RGCurrency::get_currencies()))) {
                update_option('rg_gforms_currency', rgpost('gforms_currency'));
            }
            //Updating message because key could have been changed
            GFCommon::cache_remote_message();
            //Re-caching version info
            $version_info = GFCommon::get_version_info(false);
            ?>
			<div class="updated fade" style="padding:6px;">
				<?php 
            esc_html_e('Settings Updated', 'gravityforms');
            ?>
.
			</div>
		<?php 
        }
        if (!isset($version_info)) {
            $version_info = GFCommon::get_version_info();
        }
        self::page_header(__('General Settings', 'gravityforms'), '');
        ?>
		<form method="post">
			<?php 
        wp_nonce_field('gforms_update_settings', 'gforms_update_settings');
        ?>
			<h3><span><i class="fa fa-cogs"></i> <?php 
        esc_html_e('General Settings', 'gravityforms');
        ?>
</span></h3>
			<table class="form-table">
				<tr valign="top">
					<th scope="row">
						<label for="gforms_key"><?php 
        esc_html_e('Support License Key', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_license_key');
        ?>
					</th>
					<td>
						<?php 
        $key = GFCommon::get_key();
        $key_field = '<input type="password" name="gforms_key" id="gforms_key" style="width:350px;" value="' . $key . '" />';
        if (!rgempty('is_error', $version_info)) {
            $key_field .= "&nbsp;<img src='" . GFCommon::get_base_url() . "/images/exclamation.png' class='gf_keystatus_error gf_tooltip' alt='There was an error validating your key' title='<h6>" . esc_attr__('Validation Error', 'gravityforms') . '</h6>' . esc_attr__('There was an error while validating your license key. Gravity Forms will continue to work, but automatic upgrades will not be available. Please contact support to resolve this issue.', 'gravityforms') . "'/>";
        } else {
            if (rgar($version_info, 'is_valid_key')) {
                $key_field .= "&nbsp;<i class='fa fa-check gf_keystatus_valid'></i> <span class='gf_keystatus_valid_text'>" . esc_html__('Valid Key : Your license key has been successfully validated.', 'gravityforms') . '</span>';
            } else {
                if (!empty($key)) {
                    $key_field .= "&nbsp;<i class='fa fa-times gf_keystatus_invalid'></i> <span class='gf_keystatus_invalid_text'>" . esc_html__('Invalid or Expired Key : Please make sure you have entered the correct value and that your key is not expired.', 'gravityforms') . '</span>';
                }
            }
        }
        echo apply_filters('gform_settings_key_field', $key_field);
        ?>
						<br />
						<span class="gf_settings_description"><?php 
        esc_html_e('The license key is used for access to automatic upgrades and support.', 'gravityforms');
        ?>
</span>
					</td>
				</tr>
				<tr valign="top">
					<th scope="row">
						<label for="gforms_disable_css"><?php 
        esc_html_e('Output CSS', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_output_css');
        ?>
					</th>
					<td>
						<input type="radio" name="gforms_disable_css" value="0" id="gforms_css_output_enabled" <?php 
        echo get_option('rg_gforms_disable_css') == 1 ? '' : "checked='checked'";
        ?>
 /> <?php 
        esc_html_e('Yes', 'gravityforms');
        ?>
&nbsp;&nbsp;
						<input type="radio" name="gforms_disable_css" value="1" id="gforms_css_output_disabled" <?php 
        echo get_option('rg_gforms_disable_css') == 1 ? "checked='checked'" : '';
        ?>
 /> <?php 
        esc_html_e('No', 'gravityforms');
        ?>
						<br />
						<span class="gf_settings_description"><?php 
        esc_html_e('Set this to No if you would like to disable the plugin from outputting the form CSS.', 'gravityforms');
        ?>
</span>
					</td>
				</tr>
				<tr valign="top">
					<th scope="row">
						<label for="gforms_enable_html5"><?php 
        esc_html_e('Output HTML5', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_html5');
        ?>
					</th>
					<td>
						<input type="radio" name="gforms_enable_html5" value="1" <?php 
        echo get_option('rg_gforms_enable_html5') == 1 ? "checked='checked'" : '';
        ?>
 id="gforms_enable_html5" /> <?php 
        esc_html_e('Yes', 'gravityforms');
        ?>
&nbsp;&nbsp;
						<input type="radio" name="gforms_enable_html5" value="0" <?php 
        echo get_option('rg_gforms_enable_html5') == 1 ? '' : "checked='checked'";
        ?>
 /> <?php 
        esc_html_e('No', 'gravityforms');
        ?>
						<br />
						<span class="gf_settings_description"><?php 
        esc_html_e('Set this to No if you would like to disable the plugin from outputting HTML5 form fields.', 'gravityforms');
        ?>
</span>
					</td>
				</tr>

				<tr valign="top">
					<th scope="row">
						<label for="gform_enable_noconflict"><?php 
        esc_html_e('No-Conflict Mode', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_noconflict');
        ?>
					</th>
					<td>
						<input type="radio" name="gform_enable_noconflict" value="1" <?php 
        echo get_option('gform_enable_noconflict') == 1 ? "checked='checked'" : '';
        ?>
 id="gform_enable_noconflict" /> <?php 
        esc_html_e('On', 'gravityforms');
        ?>
&nbsp;&nbsp;
						<input type="radio" name="gform_enable_noconflict" value="0" <?php 
        echo get_option('gform_enable_noconflict') == 1 ? '' : "checked='checked'";
        ?>
 id="gform_disable_noconflict" /> <?php 
        esc_html_e('Off', 'gravityforms');
        ?>
						<br />
						<span class="gf_settings_description"><?php 
        esc_html_e('Set this to ON to prevent extraneous scripts and styles from being printed on Gravity Forms admin pages, reducing conflicts with other plugins and themes.', 'gravityforms');
        ?>
</span>
					</td>
				</tr>

				<?php 
        if (GFCommon::has_akismet()) {
            ?>
					<tr valign="top">
						<th scope="row">
							<label for="gforms_enable_akismet"><?php 
            esc_html_e('Akismet Integration', 'gravityforms');
            ?>
</label>  <?php 
            gform_tooltip('settings_akismet');
            ?>
						</th>
						<td>
							<?php 
            $akismet_setting = get_option('rg_gforms_enable_akismet');
            $is_akismet_enabled = $akismet_setting === false || !empty($akismet_setting);
            //Akismet is enabled by default.
            ?>
							<input type="radio" name="gforms_enable_akismet" value="1" <?php 
            checked($is_akismet_enabled, true);
            ?>
 id="gforms_enable_akismet" /> <?php 
            esc_html_e('Yes', 'gravityforms');
            ?>
&nbsp;&nbsp;
							<input type="radio" name="gforms_enable_akismet" value="0" <?php 
            checked($is_akismet_enabled, false);
            ?>
 /> <?php 
            esc_html_e('No', 'gravityforms');
            ?>
							<br />
							<span class="gf_settings_description"><?php 
            esc_html_e('Protect your form entries from spam using Akismet.', 'gravityforms');
            ?>
</span>
						</td>
					</tr>
				<?php 
        }
        ?>

				<tr valign="top">
					<th scope="row">
						<label for="gforms_currency"><?php 
        esc_html_e('Currency', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_currency');
        ?>
					</th>
					<td>
						<?php 
        $disabled = apply_filters('gform_currency_disabled', false) ? "disabled='disabled'" : '';
        ?>

						<select id="gforms_currency" name="gforms_currency" <?php 
        echo $disabled;
        ?>
>
							<option><?php 
        esc_html_e('Select a Currency', 'gravityforms');
        ?>
</option>
							<?php 
        $current_currency = GFCommon::get_currency();
        foreach (RGCurrency::get_currencies() as $code => $currency) {
            ?>
								<option value="<?php 
            echo esc_attr($code);
            ?>
" <?php 
            echo $current_currency == $code ? "selected='selected'" : '';
            ?>
><?php 
            echo esc_html($currency['name']);
            ?>
</option>
							<?php 
        }
        ?>
						</select>
						<?php 
        do_action('gform_currency_setting_message', '');
        ?>
					</td>
				</tr>

				<tr valign="top">
					<th scope="row">
						<label for="gform_enable_background_updates"><?php 
        esc_html_e('Background updates', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_background_updates');
        ?>
					</th>
					<td>
						<input type="radio" name="gform_enable_background_updates" value="1" <?php 
        echo get_option('gform_enable_background_updates') == 1 ? "checked='checked'" : '';
        ?>
 id="gform_enable_background_updates" /> <?php 
        esc_html_e('On', 'gravityforms');
        ?>
&nbsp;&nbsp;
						<input type="radio" name="gform_enable_background_updates" value="0" <?php 
        echo get_option('gform_enable_background_updates') == 1 ? '' : "checked='checked'";
        ?>
 id="gform_disable_background_updates" /> <?php 
        esc_html_e('Off', 'gravityforms');
        ?>
						<br />
						<span class="gf_settings_description"><?php 
        esc_html_e('Set this to ON to allow Gravity Forms to download and install bug fixes and security updates automatically in the background. Requires a valid license key.', 'gravityforms');
        ?>
</span>
					</td>
				</tr>
			</table>

			<div class="hr-divider"></div>

			<h3><span><i class="fa fa-cogs"></i> <?php 
        esc_html_e('reCAPTCHA Settings', 'gravityforms');
        ?>
</span></h3>

			<p style="text-align: left;"><?php 
        esc_html_e('Gravity Forms integrates with reCAPTCHA, a free CAPTCHA service that helps to digitize books while protecting your forms from spam bots. ', 'gravityforms');
        ?>
				<a href="http://www.google.com/recaptcha/" target="_blank"><?php 
        esc_html_e('Read more about reCAPTCHA', 'gravityforms');
        ?>
</a>.
			</p>

			<table class="form-table">

				<tr valign="top">
					<th scope="row">
						<label for="gforms_captcha_public_key"><?php 
        esc_html_e('reCAPTCHA Public Key', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_recaptcha_public');
        ?>
					</th>
					<td>
						<input type="text" name="gforms_captcha_public_key" style="width:350px;" value="<?php 
        echo esc_attr(get_option('rg_gforms_captcha_public_key'));
        ?>
" /><br />
						<span class="gf_settings_description"><?php 
        esc_html_e('Required only if you decide to use the reCAPTCHA field.', 'gravityforms');
        ?>
 <?php 
        printf(esc_html__('%sSign up%s for a free account to get the key.', 'gravityforms'), '<a target="_blank" href="http://www.google.com/recaptcha">', '</a>');
        ?>
</span>
					</td>
				</tr>
				<tr valign="top">
					<th scope="row">
						<label for="gforms_captcha_private_key"><?php 
        esc_html_e('reCAPTCHA Private Key', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_recaptcha_private');
        ?>
					</th>
					<td>
						<input type="text" name="gforms_captcha_private_key" style="width:350px;" value="<?php 
        echo esc_attr(get_option('rg_gforms_captcha_private_key'));
        ?>
" /><br />
						<span class="gf_settings_description"><?php 
        esc_html_e('Required only if you decide to use the reCAPTCHA field.', 'gravityforms');
        ?>
 <?php 
        printf(esc_html__('%sSign up%s for a free account to get the key.', 'gravityforms'), '<a target="_blank" href="http://www.google.com/recaptcha">', '</a>');
        ?>
</span>
					</td>
				</tr>

			</table>

			<?php 
        if (GFCommon::current_user_can_any('gravityforms_edit_settings')) {
            ?>
				<p class="submit" style="text-align: left;">
					<?php 
            $save_button = '<input type="submit" name="submit" value="' . esc_html__('Save Settings', 'gravityforms') . '" class="button-primary gfbutton"/>';
            /**
             * Filters through and allows modification of the Settings save button HTML in a Form
             *
             * @param string $save_button
             */
            echo apply_filters('gform_settings_save_button', $save_button);
            ?>
				</p>
			<?php 
        }
        ?>
		</form>

		<div id='gform_upgrade_license' style="display:none;"></div>
		<script type="text/javascript">
			jQuery(document).ready(function () {
				jQuery.post(ajaxurl, {
						action            : 'gf_upgrade_license',
						gf_upgrade_license: "<?php 
        echo wp_create_nonce('gf_upgrade_license');
        ?>
"},

					function (data) {
						if (data.trim().length > 0)
							jQuery("#gform_upgrade_license").replaceWith(data);
					}
				);
			});
		</script>
		<?php 
        if (!apply_filters('gform_disable_installation_status', false)) {
            ?>
			<div class="hr-divider"></div>

			<h3><span><i class="fa fa-dashboard"></i> <?php 
            esc_html_e('Installation Status', 'gravityforms');
            ?>
<span></h3>
			<table class="form-table">

				<tr valign="top">
					<th scope="row"><label><?php 
            esc_html_e('PHP Version', 'gravityforms');
            ?>
</label></th>
					<td class="installation_item_cell">
						<strong><?php 
            echo phpversion();
            ?>
</strong>
					</td>
					<td>
						<?php 
            if (version_compare(phpversion(), '5.0.0', '>')) {
                ?>
							<i class="fa fa-check gf_valid"></i>
						<?php 
            } else {
                ?>
							<i class="fa fa-times gf_invalid"></i>
							<span class="installation_item_message"><?php 
                esc_html_e('Gravity Forms requires PHP 5 or above.', 'gravityforms');
                ?>
</span>
						<?php 
            }
            ?>
					</td>
				</tr>
				<tr valign="top">
					<th scope="row"><label><?php 
            esc_html_e('MySQL Version', 'gravityforms');
            ?>
</label></th>
					<td class="installation_item_cell">
						<strong><?php 
            echo esc_html($wpdb->db_version());
            ?>
</strong>
					</td>
					<td>
						<?php 
            if (version_compare($wpdb->db_version(), '5.0.0', '>')) {
                ?>
							<i class="fa fa-check gf_valid"></i>
						<?php 
            } else {
                ?>
							<i class="fa fa-times gf_invalid"></i>
							<span class="installation_item_message"><?php 
                esc_html_e('Gravity Forms requires MySQL 5 or above.', 'gravityforms');
                ?>
</span>
						<?php 
            }
            ?>
					</td>
				</tr>
				<tr valign="top">
					<th scope="row"><label><?php 
            esc_html_e('WordPress Version', 'gravityforms');
            ?>
</label></th>
					<td class="installation_item_cell">
						<strong><?php 
            echo esc_html(get_bloginfo('version'));
            ?>
</strong>
					</td>
					<td>
						<?php 
            if (version_compare(get_bloginfo('version'), '3.0', '>')) {
                ?>
							<i class="fa fa-check gf_valid"></i>
						<?php 
            } else {
                ?>
							<i class="fa fa-times gf_invalid"></i>
							<span class="installation_item_message"><?php 
                printf(esc_html__('Gravity Forms requires WordPress v%s or greater. You must upgrade WordPress in order to use this version of Gravity Forms.', 'gravityforms'), GF_MIN_WP_VERSION);
                ?>
</span>
						<?php 
            }
            ?>
					</td>
				</tr>
				<tr valign="top">
					<th scope="row"><label><?php 
            esc_html_e('Gravity Forms Version', 'gravityforms');
            ?>
</label></th>
					<td class="installation_item_cell">
						<strong><?php 
            echo esc_html(GFCommon::$version);
            ?>
</strong>
					</td>
					<td>
						<?php 
            if (version_compare(GFCommon::$version, $version_info['version'], '>=')) {
                ?>
							<i class="fa fa-check gf_valid"></i>
						<?php 
            } else {
                echo sprintf(esc_html__('New version %s available. Automatic upgrade available on the %splugins page%s', 'gravityforms'), esc_html($version_info['version']), '<a href="plugins.php">', '</a>');
            }
            ?>
					</td>
				</tr>
			</table>
		<?php 
        }
        self::page_footer();
    }
 public static function get_form($form_id, $display_title = true, $display_description = true, $force_display = false, $field_values = null, $ajax = false, $tabindex = 1)
 {
     //looking up form id by form name
     if (!is_numeric($form_id)) {
         $form_id = RGFormsModel::get_form_id($form_id);
     }
     //reading form metadata
     $form = RGFormsModel::get_form_meta($form_id, true);
     $form = RGFormsModel::add_default_properties($form);
     //disable ajax if form has a reCAPTCHA field (not supported).
     if ($ajax && self::has_recaptcha_field($form)) {
         $ajax = false;
     }
     $is_postback = false;
     $is_valid = true;
     $confirmation_message = "";
     $page_number = 1;
     //If form was submitted, read variables set during form submission procedure
     $submission_info = isset(self::$submission[$form_id]) ? self::$submission[$form_id] : false;
     if ($submission_info) {
         $is_postback = true;
         $is_valid = $submission_info["is_valid"] || rgget("is_confirmation", $submission_info);
         $form = $submission_info["form"];
         $lead = $submission_info["lead"];
         $confirmation_message = rgget("confirmation_message", $submission_info);
         if ($is_valid && !RGForms::get("is_confirmation", $submission_info)) {
             if ($submission_info["page_number"] == 0) {
                 //post submission hook
                 do_action("gform_post_submission", $lead, $form);
                 do_action("gform_post_submission_{$form["id"]}", $lead, $form);
             } else {
                 //change page hook
                 do_action("gform_post_paging", $form, $submission_info["source_page_number"], $submission_info["page_number"]);
                 do_action("gform_post_paging_{$form["id"]}", $form, $submission_info["source_page_number"], $submission_info["page_number"]);
             }
         }
     } else {
         if (!current_user_can("administrator")) {
             RGFormsModel::insert_form_view($form_id, $_SERVER['REMOTE_ADDR']);
         }
     }
     if (rgar($form, "enableHoneypot")) {
         $form["fields"][] = self::get_honeypot_field($form);
     }
     //Fired right before the form rendering process. Allow users to manipulate the form object before it gets displayed in the front end
     $form = apply_filters("gform_pre_render_{$form_id}", apply_filters("gform_pre_render", $form));
     if ($form == null) {
         return "<p>" . __("Oops! We could not locate your form.", "gravityforms") . "</p>";
     }
     $has_pages = self::has_pages($form);
     //calling tab index filter
     GFCommon::$tab_index = apply_filters("gform_tabindex_{$form_id}", apply_filters("gform_tabindex", $tabindex, $form), $form);
     //Don't display inactive forms
     if (!$force_display && !$is_postback) {
         $form_info = RGFormsModel::get_form($form_id);
         if (!$form_info->is_active) {
             return "";
         }
         //If form has a schedule, make sure it is within the configured start and end dates
         if (rgar($form, "scheduleForm")) {
             $local_time_start = sprintf("%s %02d:%02d %s", $form["scheduleStart"], $form["scheduleStartHour"], $form["scheduleStartMinute"], $form["scheduleStartAmpm"]);
             $local_time_end = sprintf("%s %02d:%02d %s", $form["scheduleEnd"], $form["scheduleEndHour"], $form["scheduleEndMinute"], $form["scheduleEndAmpm"]);
             $timestamp_start = strtotime($local_time_start . ' +0000');
             $timestamp_end = strtotime($local_time_end . ' +0000');
             $now = current_time("timestamp");
             if (!empty($form["scheduleStart"]) && $now < $timestamp_start || !empty($form["scheduleEnd"]) && $now > $timestamp_end) {
                 return empty($form["scheduleMessage"]) ? "<p>" . __("Sorry. This form is no longer available.", "gravityforms") . "</p>" : "<p>" . GFCommon::gform_do_shortcode($form["scheduleMessage"]) . "</p>";
             }
         }
         //If form has a limit of entries, check current entry count
         if (rgar($form, "limitEntries")) {
             $period = rgar($form, "limitEntriesPeriod");
             $range = self::get_limit_period_dates($period);
             $entry_count = RGFormsModel::get_lead_count($form_id, "", null, null, $range["start_date"], $range["end_date"]);
             if ($entry_count >= $form["limitEntriesCount"]) {
                 return empty($form["limitEntriesMessage"]) ? "<p>" . __("Sorry. This form is no longer accepting new submissions.", "gravityforms") . "</p>" : "<p>" . GFCommon::gform_do_shortcode($form["limitEntriesMessage"]) . "</p>";
             }
         }
         // If form requires login, check if user is logged in
         if (rgar($form, "requireLogin")) {
             if (!is_user_logged_in()) {
                 return empty($form["requireLoginMessage"]) ? "<p>" . __("Sorry. You must be logged in to view this form.", "gravityforms") . "</p>" : "<p>" . GFCommon::gform_do_shortcode($form["requireLoginMessage"]) . "</p>";
             }
         }
     }
     $form_string = "";
     //When called via a template, this will enqueue the proper scripts
     //When called via a shortcode, this will be ignored (too late to enqueue), but the scripts will be enqueued via the enqueue_scripts event
     self::enqueue_form_scripts($form, $ajax);
     if (empty($confirmation_message)) {
         $wrapper_css_class = GFCommon::get_browser_class() . " gform_wrapper";
         if (!$is_valid) {
             $wrapper_css_class .= " gform_validation_error";
         }
         //Hidding entire form if conditional logic is on to prevent "hidden" fields from blinking. Form will be set to visible in the conditional_logic.php after the rules have been applied.
         $style = self::has_conditional_logic($form) ? "style='display:none'" : "";
         $form_string .= "\n                <div class='{$wrapper_css_class}' id='gform_wrapper_{$form_id}' " . $style . ">";
         $action = add_query_arg(array());
         $default_anchor = $has_pages || $ajax ? true : false;
         $use_anchor = apply_filters("gform_confirmation_anchor_{$form["id"]}", apply_filters("gform_confirmation_anchor", $default_anchor));
         if ($use_anchor !== false) {
             $form_string .= "<a name='gf_{$form_id}' class='gform_anchor' ></a>";
             $action .= "#gf_{$form_id}";
         }
         $target = $ajax ? "target='gform_ajax_frame_{$form_id}'" : "";
         $form_css_class = !empty($form["cssClass"]) ? "class='{$form["cssClass"]}'" : "";
         $action = esc_attr($action);
         $form_string .= apply_filters("gform_form_tag_{$form_id}", apply_filters("gform_form_tag", "<form method='post' enctype='multipart/form-data' {$target} id='gform_{$form_id}' {$form_css_class} action='{$action}'>", $form), $form);
         if ($display_title || $display_description) {
             $form_string .= "\n                        <div class='gform_heading'>";
             if ($display_title) {
                 $form_string .= "\n                            <h3 class='gform_title'>" . $form['title'] . "</h3>";
             }
             if ($display_description) {
                 $form_string .= "\n                            <span class='gform_description'>" . rgar($form, 'description') . "</span>";
             }
             $form_string .= "\n                        </div>";
         }
         if ($has_pages && !IS_ADMIN) {
             $page_count = self::get_max_page_number($form);
             $current_page = self::get_current_page($form_id);
             if ($form["pagination"]["type"] == "percentage") {
                 $percent = floor($current_page / $page_count * 100) . "%";
                 $page_name = rgar(rgar($form["pagination"], "pages"), $current_page - 1);
                 $page_name = !empty($page_name) ? " - " . $page_name : "";
                 $style = $form["pagination"]["style"];
                 $color = $style == "custom" ? " color:{$form["pagination"]["color"]};" : "";
                 $bgcolor = $style == "custom" ? " background-color:{$form["pagination"]["backgroundColor"]};" : "";
                 $form_string .= "\n                        <div id='gf_progressbar_wrapper_{$form_id}' class='gf_progressbar_wrapper'>\n                            <h3 class='gf_progressbar_title'>" . __("Step", "gravityforms") . " {$current_page} " . __("of", "gravityforms") . " {$page_count}{$page_name}</h3>\n                            <div class='gf_progressbar'>\n                                <div class='gf_progressbar_percentage percentbar_{$style}' style='width:{$percent};{$color}{$bgcolor}'><span>{$percent}</span></div>\n                            </div>\n                        </div>";
             } else {
                 if ($form["pagination"]["type"] == "steps") {
                     $form_string .= "\n                    <div id='gf_page_steps_{$form_id}' class='gf_page_steps'>";
                     for ($i = 0, $count = sizeof($form["pagination"]["pages"]); $i < $count; $i++) {
                         $step_number = $i + 1;
                         $active_class = $step_number == $current_page ? " gf_step_active" : "";
                         $first_class = $i == 0 ? " gf_step_first" : "";
                         $last_class = $i + 1 == $count ? " gf_step_last" : "";
                         $complete_class = $step_number < $current_page ? " gf_step_completed" : "";
                         $previous_class = $step_number + 1 == $current_page ? " gf_step_previous" : "";
                         $next_class = $step_number - 1 == $current_page ? " gf_step_next" : "";
                         $pending_class = $step_number > $current_page ? " gf_step_pending" : "";
                         $classes = "gf_step" . $active_class . $first_class . $last_class . $complete_class . $previous_class . $next_class . $pending_class;
                         $classes = GFCommon::trim_all($classes);
                         $form_string .= "\n                        <div id='gf_step_{$form_id}_{$step_number}' class='{$classes}'><span class='gf_step_number'>{$step_number}</span>&nbsp;{$form["pagination"]["pages"][$i]}</div>";
                     }
                     $form_string .= "\n                        <div class='gf_step_clear'></div>\n                    </div>";
                 }
             }
         }
         if ($is_postback && !$is_valid) {
             $validation_message = "<div class='validation_error'>" . __("There was a problem with your submission.", "gravityforms") . " " . __("Errors have been highlighted below.", "gravityforms") . "</div>";
             $form_string .= apply_filters("gform_validation_message_{$form["id"]}", apply_filters("gform_validation_message", $validation_message, $form), $form);
         }
         $form_string .= "\n                        <div class='gform_body'>";
         //add first page if this form has any page fields
         if ($has_pages) {
             $style = self::is_page_active($form_id, 1) ? "" : "style='display:none;'";
             $class = !empty($form["firstPageCssClass"]) ? " {$form["firstPageCssClass"]}" : "";
             $form_string .= "<div id='gform_page_{$form_id}_1' class='gform_page{$class}' {$style}>\n                                    <div class='gform_page_fields'>";
         }
         $description_class = rgar($form, "descriptionPlacement") == "above" ? "description_above" : "description_below";
         $form_string .= "\n                            <ul id='gform_fields_{$form_id}' class='gform_fields {$form['labelPlacement']} {$description_class}'>";
         if (is_array($form['fields'])) {
             foreach ($form['fields'] as $field) {
                 $field["conditionalLogicFields"] = self::get_conditional_logic_fields($form, $field["id"]);
                 $form_string .= self::get_field($field, RGFormsModel::get_field_value($field, $field_values), false, $form, $field_values);
             }
         }
         $form_string .= "\n                            </ul>";
         if ($has_pages) {
             $previous_button = self::get_form_button($form["id"], "gform_previous_button_{$form["id"]}", $form["lastPageButton"], __("Previous", "gravityforms"), "button gform_previous_button", __("Previous Page", "gravityforms"), self::get_current_page($form_id) - 1);
             $form_string .= "</div>" . self::gform_footer($form, "gform_page_footer " . $form['labelPlacement'], $ajax, $field_values, $previous_button, $display_title, $display_description, $is_postback) . "\n                            </div>";
             //closes gform_page
         }
         $form_string .= "</div>";
         //closes gform_body
         //suppress form footer for multi-page forms (footer will be included on the last page
         if (!$has_pages) {
             $form_string .= self::gform_footer($form, "gform_footer " . $form['labelPlacement'], $ajax, $field_values, "", $display_title, $display_description, $is_postback);
         }
         $form_string .= "\n                </form>\n                </div>";
         //adding conditional logic script if conditional logic is configured for this form.
         //get_conditional_logic also adds the chosen script for the enhanced dropdown option.
         //if this form does not have conditional logic, add chosen script separately
         if (self::has_conditional_logic($form)) {
             $form_string .= self::get_conditional_logic($form);
         } else {
             if (self::has_enhanced_dropdown($form)) {
                 $form_string .= "<script type='text/javascript'>//<![CDATA[\n" . self::get_chosen_init_script($form) . "\n//]]></script>";
             }
         }
         //adding currency config if there are any product fields in the form
         if (self::has_price_field($form)) {
             if (!class_exists("RGCurrency")) {
                 require_once "currency.php";
             }
             $form_string .= "<script type='text/javascript'>//<![CDATA[\n if(window[\"gformInitPriceFields\"]) jQuery(document).ready(function(){gformInitPriceFields();}); window['gf_currency_config'] = " . GFCommon::json_encode(RGCurrency::get_currency(GFCommon::get_currency())) . "; \n//]]></script>";
         }
         if (self::has_password_strength($form)) {
             $form_string .= "<script type='text/javascript'>//<![CDATA[\nif(!window['gf_text']){window['gf_text'] = new Array();} window['gf_text']['password_blank'] = '" . __("Strength indicator", "gravityforms") . "'; window['gf_text']['password_mismatch'] = '" . __("Mismatch", "gravityforms") . "';window['gf_text']['password_bad'] = '" . __("Bad", "gravityforms") . "'; window['gf_text']['password_short'] = '" . __("Short", "gravityforms") . "'; window['gf_text']['password_good'] = '" . __("Good", "gravityforms") . "'; window['gf_text']['password_strong'] = '" . __("Strong", "gravityforms") . "';\n//]]></script>";
         }
         if (GFCommon::has_credit_card_field($form)) {
             $card_rules = self::get_credit_card_rules();
             $form_string .= "<script type='text/javascript'>//<![CDATA[\n if(!window['gf_cc_rules']){window['gf_cc_rules'] = new Array(); } window['gf_cc_rules'] = " . GFCommon::json_encode($card_rules) . "; \n//]]></script>";
         }
         if ($ajax && $is_postback) {
             global $wp_scripts;
             $form_string = "<!DOCTYPE html><html><head>" . "<script type='text/javascript' src='" . $wp_scripts->base_url . $wp_scripts->registered["jquery"]->src . "'></script>" . "<script type='text/javascript' src='" . GFCommon::get_base_url() . "/js/conditional_logic.js'></script>" . "<meta charset='UTF-8' /></head><body>" . $form_string . "</body></html>";
         }
         if ($ajax && !$is_postback) {
             $spinner_url = apply_filters("gform_ajax_spinner_url_{$form_id}", apply_filters("gform_ajax_spinner_url", GFCommon::get_base_url() . "/images/spinner.gif", $form), $form);
             $scroll_position = array('default' => '', 'confirmation' => '');
             if ($use_anchor !== false) {
                 $scroll_position['default'] = is_numeric($use_anchor) ? "jQuery(document).scrollTop(" . intval($use_anchor) . ");" : "jQuery(document).scrollTop(jQuery('#gform_wrapper_{$form_id}').offset().top);";
                 $scroll_position['confirmation'] = is_numeric($use_anchor) ? "jQuery(document).scrollTop(" . intval($use_anchor) . ");" : "jQuery(document).scrollTop(jQuery('#gforms_confirmation_message').offset().top);";
             }
             $form_string .= "\n                <iframe style='display:none;width:0px; height:0px;' src='about:blank' name='gform_ajax_frame_{$form_id}' id='gform_ajax_frame_{$form_id}'></iframe>\n                <script type='text/javascript'>//<![CDATA[\n" . "function gformInitSpinner(){" . "jQuery('#gform_{$form_id}').submit(function(){" . "jQuery('#gform_submit_button_{$form_id}').attr('disabled', true).after('<' + 'img id=\"gform_ajax_spinner_{$form_id}\"  class=\"gform_ajax_spinner\" src=\"{$spinner_url}\" alt=\"\" />');" . "jQuery('#gform_wrapper_{$form_id} .gform_previous_button').attr('disabled', true); " . "jQuery('#gform_wrapper_{$form_id} .gform_next_button').attr('disabled', true).after('<' + 'img id=\"gform_ajax_spinner_{$form_id}\"  class=\"gform_ajax_spinner\" src=\"{$spinner_url}\" alt=\"\" />');" . "});" . "}" . "jQuery(document).ready(function(\$){" . "gformInitSpinner();" . "jQuery('#gform_ajax_frame_{$form_id}').load( function(){" . "var form_content = jQuery(this).contents().find('#gform_wrapper_{$form_id}');" . "var confirmation_content = jQuery(this).contents().find('#gforms_confirmation_message');" . "jQuery('#gform_submit_button_{$form_id}').removeAttr('disabled');" . "if(form_content.length > 0){" . "jQuery('#gform_wrapper_{$form_id}').html(form_content.html());" . "{$scroll_position['default']}" . "if(window['gformInitDatepicker']) {gformInitDatepicker();}" . "if(window['gformInitPriceFields']) {gformInitPriceFields();}" . "var current_page = jQuery('#gform_source_page_number_{$form_id}').val();" . "gformInitSpinner();" . "jQuery(document).trigger('gform_page_loaded', [{$form_id}, current_page]);" . "}" . "else if(confirmation_content.length > 0){" . "setTimeout(function(){" . "jQuery('#gform_wrapper_{$form_id}').replaceWith('<' + 'div id=\\'gforms_confirmation_message\\' class=\\'gform_confirmation_message_{$form_id}\\'' + '>' + confirmation_content.html() + '<' + '/div' + '>');" . "{$scroll_position['confirmation']}" . "jQuery(document).trigger('gform_confirmation_loaded', [{$form_id}]);" . "}, 50);" . "}" . "else{" . "jQuery('#gform_{$form_id}').append(jQuery(this).contents().find('*').html());" . "if(window['gformRedirect']) gformRedirect();" . "}" . "jQuery(document).trigger('gform_post_render', [{$form_id}, current_page]);" . "});" . "});" . "\n//]]></script>";
         }
         return apply_filters('gform_get_form_filter', $form_string);
     } else {
         if ($ajax) {
             $confirmation_message = "<!DOCTYPE html><html><head><meta charset='UTF-8' /></head><body>" . $confirmation_message . "</body></html>";
         }
         return $confirmation_message;
     }
 }
 public function sanitize_settings()
 {
     parent::sanitize_settings();
     $this->enableCalculation = (bool) $this->enableCalculation;
     if ($this->numberFormat == 'currency') {
         require_once GFCommon::get_base_path() . '/currency.php';
         $currency = new RGCurrency(GFCommon::get_currency());
         $this->rangeMin = $currency->to_number($this->rangeMin);
         $this->rangeMax = $currency->to_number($this->rangeMax);
     } elseif ($this->numberFormat == 'decimal_comma') {
         $this->rangeMin = GFCommon::clean_number($this->rangeMin, 'decimal_comma');
         $this->rangeMax = GFCommon::clean_number($this->rangeMax, 'decimal_comma');
     } elseif ($this->numberFormat == 'decimal_dot') {
         $this->rangeMin = GFCommon::clean_number($this->rangeMin, 'decimal_dot');
         $this->rangeMin = GFCommon::clean_number($this->rangeMin, 'decimal_dot');
     }
 }
    public static function gravityforms_settings_page()
    {
        global $wpdb;
        if (!GFCommon::ensure_wp_version()) {
            return;
        }
        if (isset($_GET["setup"])) {
            //forcing setup
            RGForms::setup(true);
        }
        if (isset($_POST["submit"])) {
            check_admin_referer('gforms_update_settings', 'gforms_update_settings');
            if (!GFCommon::current_user_can_any("gravityforms_edit_settings")) {
                die(__("You don't have adequate permission to edit settings.", "gravityforms"));
            }
            RGFormsModel::save_key($_POST["gforms_key"]);
            update_option("rg_gforms_disable_css", rgpost("gforms_disable_css"));
            update_option("rg_gforms_enable_html5", rgpost("gforms_enable_html5"));
            update_option("gform_enable_noconflict", rgpost("gform_enable_noconflict"));
            update_option("rg_gforms_enable_akismet", rgpost("gforms_enable_akismet"));
            update_option("rg_gforms_captcha_public_key", rgpost("gforms_captcha_public_key"));
            update_option("rg_gforms_captcha_private_key", rgpost("gforms_captcha_private_key"));
            if (!rgempty("gforms_currency")) {
                update_option("rg_gforms_currency", rgpost("gforms_currency"));
            }
            //Updating message because key could have been changed
            GFCommon::cache_remote_message();
            //Re-caching version info
            $version_info = GFCommon::get_version_info(false);
            ?>
            <div class="updated fade" style="padding:6px;">
                <?php 
            _e("Settings Updated", "gravityforms");
            ?>
.
             </div>
             <?php 
        }
        if (!isset($version_info)) {
            $version_info = GFCommon::get_version_info();
        }
        self::page_header(__("General Settings", "gravityforms"), "");
        ?>
        <form method="post">
            <?php 
        wp_nonce_field('gforms_update_settings', 'gforms_update_settings');
        ?>
            <h3><?php 
        _e("General Settings", "gravityforms");
        ?>
</h3>
            <table class="form-table">
              <tr valign="top">
                   <th scope="row"><label for="gforms_key"><?php 
        _e("Support License Key", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_license_key");
        ?>
</th>
                    <td>
                        <?php 
        $key = GFCommon::get_key();
        $key_field = '<input type="password" name="gforms_key" id="gforms_key" style="width:350px;" value="' . $key . '" />';
        if ($version_info["is_valid_key"]) {
            $key_field .= "&nbsp;<img src='" . GFCommon::get_base_url() . "/images/tick.png' class='gf_keystatus_valid' alt='valid key' title='valid key'/>";
        } else {
            if (!empty($key)) {
                $key_field .= "&nbsp;<img src='" . GFCommon::get_base_url() . "/images/cross.png' class='gf_keystatus_invalid' alt='invalid key' title='invalid key'/>";
            }
        }
        echo apply_filters('gform_settings_key_field', $key_field);
        ?>
                        <br />
                        <?php 
        _e("The license key is used for access to automatic upgrades and support.", "gravityforms");
        ?>
                    </td>
                </tr>
               <tr valign="top">
                    <th scope="row"><label for="gforms_disable_css"><?php 
        _e("Output CSS", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_output_css");
        ?>
</th>
                    <td>
                        <input type="radio" name="gforms_disable_css" value="0" id="gforms_css_output_enabled" <?php 
        echo get_option('rg_gforms_disable_css') == 1 ? "" : "checked='checked'";
        ?>
 /> <?php 
        _e("Yes", "gravityforms");
        ?>
&nbsp;&nbsp;
                        <input type="radio" name="gforms_disable_css" value="1" id="gforms_css_output_disabled" <?php 
        echo get_option('rg_gforms_disable_css') == 1 ? "checked='checked'" : "";
        ?>
 /> <?php 
        _e("No", "gravityforms");
        ?>
<br />
                        <?php 
        _e("Set this to No if you would like to disable the plugin from outputting the form CSS.", "gravityforms");
        ?>
                    </td>
                </tr>
                <tr valign="top">
                     <th scope="row"><label for="gforms_enable_html5"><?php 
        _e("Output HTML5", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_html5");
        ?>
</th>
                    <td>
                        <input type="radio" name="gforms_enable_html5" value="1" <?php 
        echo get_option('rg_gforms_enable_html5') == 1 ? "checked='checked'" : "";
        ?>
 id="gforms_enable_html5"/> <?php 
        _e("Yes", "gravityforms");
        ?>
&nbsp;&nbsp;
                        <input type="radio" name="gforms_enable_html5" value="0" <?php 
        echo get_option('rg_gforms_enable_html5') == 1 ? "" : "checked='checked'";
        ?>
 /> <?php 
        _e("No", "gravityforms");
        ?>
<br />
                        <?php 
        _e("Set this to No if you would like to disable the plugin from outputting HTML5 form fields.", "gravityforms");
        ?>
                    </td>
                </tr>

                <tr valign="top">
                     <th scope="row"><label for="gform_enable_noconflict"><?php 
        _e("No-Conflict Mode", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_noconflict");
        ?>
</th>
                    <td>
                        <input type="radio" name="gform_enable_noconflict" value="1" <?php 
        echo get_option('gform_enable_noconflict') == 1 ? "checked='checked'" : "";
        ?>
 id="gform_enable_noconflict"/> <?php 
        _e("On", "gravityforms");
        ?>
&nbsp;&nbsp;
                        <input type="radio" name="gform_enable_noconflict" value="0" <?php 
        echo get_option('gform_enable_noconflict') == 1 ? "" : "checked='checked'";
        ?>
 id="gform_disable_noconflict"/> <?php 
        _e("Off", "gravityforms");
        ?>
<br />
                        <?php 
        _e("Set this to On to prevent extraneous scripts and styles from being printed on Gravity Forms admin pages, reducing conflicts with other plugins and themes.", "gravityforms");
        ?>
                    </td>
                </tr>

                <?php 
        if (GFCommon::has_akismet()) {
            ?>
                <tr valign="top">
                     <th scope="row"><label for="gforms_enable_akismet"><?php 
            _e("Akismet Integration", "gravityforms");
            ?>
</label>  <?php 
            gform_tooltip("settings_akismet");
            ?>
</th>
                    <td>
                        <input type="radio" name="gforms_enable_akismet" value="1" <?php 
            echo get_option('rg_gforms_enable_akismet') == 1 ? "checked='checked'" : "";
            ?>
 id="gforms_enable_akismet"/> <?php 
            _e("Yes", "gravityforms");
            ?>
&nbsp;&nbsp;
                        <input type="radio" name="gforms_enable_akismet" value="0" <?php 
            echo get_option('rg_gforms_enable_akismet') == 1 ? "" : "checked='checked'";
            ?>
 /> <?php 
            _e("No", "gravityforms");
            ?>
<br />
                        <?php 
            _e("Protect your form entries from spam using Akismet.", "gravityforms");
            ?>
                    </td>
                </tr>
                <?php 
        }
        ?>

                <tr valign="top">
                    <th scope="row"><label for="gforms_currency"><?php 
        _e("Currency", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_currency");
        ?>
</th>
                    <td>
                        <?php 
        $disabled = apply_filters("gform_currency_disabled", false) ? "disabled='disabled'" : "";
        ?>

                        <select id="gforms_currency" name="gforms_currency" <?php 
        echo $disabled;
        ?>
>
                            <?php 
        require_once "currency.php";
        $current_currency = GFCommon::get_currency();
        foreach (RGCurrency::get_currencies() as $code => $currency) {
            ?>
                                    <option value="<?php 
            echo $code;
            ?>
" <?php 
            echo $current_currency == $code ? "selected='selected'" : "";
            ?>
><?php 
            echo $currency["name"];
            ?>
</option>
                                    <?php 
        }
        ?>
                        </select>
                        <?php 
        do_action("gform_currency_setting_message", "");
        ?>
                    </td>
                </tr>
            </table>

            <div class="hr-divider"></div>

              <h3><?php 
        _e("reCAPTCHA Settings", "gravityforms");
        ?>
</h3>

              <p style="text-align: left;"><?php 
        _e("Gravity Forms integrates with reCAPTCHA, a free CAPTCHA service that helps to digitize books while protecting your forms from spam bots. ", "gravityforms");
        ?>
<a href="http://www.google.com/recaptcha/" target="_blank"><?php 
        _e("Read more about reCAPTCHA", "gravityforms");
        ?>
</a>.</p>

              <table class="form-table">


                <tr valign="top">
                   <th scope="row"><label for="gforms_captcha_public_key"><?php 
        _e("reCAPTCHA Public Key", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_recaptcha_public");
        ?>
</th>
                    <td>
                        <input type="text" name="gforms_captcha_public_key" style="width:350px;" value="<?php 
        echo get_option("rg_gforms_captcha_public_key");
        ?>
" /><br />
                        <?php 
        _e("Required only if you decide to use the reCAPTCHA field.", "gravityforms");
        ?>
 <?php 
        printf(__("%sSign up%s for a free account to get the key.", "gravityforms"), '<a target="_blank" href="http://www.google.com/recaptcha/whyrecaptcha">', '</a>');
        ?>
                    </td>
                </tr>
                <tr valign="top">
                   <th scope="row"><label for="gforms_captcha_private_key"><?php 
        _e("reCAPTCHA Private Key", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_recaptcha_private");
        ?>
</th>
                    <td>
                        <input type="text" name="gforms_captcha_private_key" style="width:350px;" value="<?php 
        echo esc_attr(get_option("rg_gforms_captcha_private_key"));
        ?>
" /><br />
                        <?php 
        _e("Required only if you decide to use the reCAPTCHA field.", "gravityforms");
        ?>
 <?php 
        printf(__("%sSign up%s for a free account to get the key.", "gravityforms"), '<a target="_blank" href="http://www.google.com/recaptcha/whyrecaptcha">', '</a>');
        ?>
                    </td>
                </tr>

              </table>

           <?php 
        if (GFCommon::current_user_can_any("gravityforms_edit_settings")) {
            ?>
                <br/><br/>
                <p class="submit" style="text-align: left;">
                <?php 
            $save_button = '<input type="submit" name="submit" value="' . __("Save Settings", "gravityforms") . '" class="button-primary gfbutton"/>';
            echo apply_filters("gform_settings_save_button", $save_button);
            ?>
                </p>
           <?php 
        }
        ?>
        </form>

              <div id='gform_upgrade_license' style="display:none;"></div>
              <script type="text/javascript">
                jQuery(document).ready(function(){
                    jQuery.post(ajaxurl,{
                            action:"gf_upgrade_license",
                            gf_upgrade_license: "<?php 
        echo wp_create_nonce("gf_upgrade_license");
        ?>
"},

                            function(data){
                                if(data.trim().length > 0)
                                    jQuery("#gform_upgrade_license").replaceWith(data);
                            }
                    );
                });
              </script>

              <div class="hr-divider"></div>

              <h3><?php 
        _e("Installation Status", "gravityforms");
        ?>
</h3>
              <table class="form-table">

                <tr valign="top">
                   <th scope="row"><label><?php 
        _e("PHP Version", "gravityforms");
        ?>
</label></th>
                    <td class="installation_item_cell">
                        <strong><?php 
        echo phpversion();
        ?>
</strong>
                    </td>
                    <td>
                        <?php 
        if (version_compare(phpversion(), '5.0.0', '>')) {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/tick.png"/>
                                <?php 
        } else {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/cross.png"/>
                                <span class="installation_item_message"><?php 
            _e("Gravity Forms requires PHP 5 or above.", "gravityforms");
            ?>
</span>
                                <?php 
        }
        ?>
                    </td>
                </tr>
                <tr valign="top">
                   <th scope="row"><label><?php 
        _e("MySQL Version", "gravityforms");
        ?>
</label></th>
                    <td class="installation_item_cell">
                        <strong><?php 
        echo $wpdb->db_version();
        ?>
</strong>
                    </td>
                    <td>
                        <?php 
        if (version_compare($wpdb->db_version(), '5.0.0', '>')) {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/tick.png"/>
                                <?php 
        } else {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/cross.png"/>
                                <span class="installation_item_message"><?php 
            _e("Gravity Forms requires MySQL 5 or above.", "gravityforms");
            ?>
</span>
                                <?php 
        }
        ?>
                    </td>
                </tr>
                <tr valign="top">
                   <th scope="row"><label><?php 
        _e("WordPress Version", "gravityforms");
        ?>
</label></th>
                    <td class="installation_item_cell">
                        <strong><?php 
        echo get_bloginfo("version");
        ?>
</strong>
                    </td>
                    <td>
                        <?php 
        if (version_compare(get_bloginfo("version"), '3.0', '>')) {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/tick.png"/>
                                <?php 
        } else {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/cross.png"/>
                                <span class="installation_item_message"><?php 
            printf(__("Gravity Forms requires WordPress v%s or greater. You must upgrade WordPress in order to use this version of Gravity Forms.", "gravityforms"), GF_MIN_WP_VERSION);
            ?>
</span>
                                <?php 
        }
        ?>
                    </td>
                </tr>
                 <tr valign="top">
                   <th scope="row"><label><?php 
        _e("Gravity Forms Version", "gravityforms");
        ?>
</label></th>
                    <td class="installation_item_cell">
                        <strong><?php 
        echo GFCommon::$version;
        ?>
</strong>
                    </td>
                    <td>
                        <?php 
        if (version_compare(GFCommon::$version, $version_info["version"], '>=')) {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/tick.png"/>
                                <?php 
        } else {
            echo sprintf(__("New version %s available. Automatic upgrade available on the %splugins page%s", "gravityforms"), $version_info["version"], '<a href="plugins.php">', '</a>');
        }
        ?>
                    </td>
                </tr>
            </table>
        <?php 
        self::page_footer();
    }
示例#8
0
 /**
  * Generates a map of fields IDs and their corresponding number formats used by the GFCalc JS object for correctly
  * converting field values to clean numbers.
  *
  * - Number fields have a 'numberFormat' setting (w/ UI).
  * - Single-input product fields (i.e. 'singleproduct', 'calculation', 'price' and 'hiddenproduct') should default to
  *   the number format of the configured currency.
  * - All other product fields will default to 'decimal_dot' for the number format.
  * - All other fields will have no format (false) and inherit the format of the formula field when the formula is
  *   calculated.
  *
  * @param mixed $form
  * @return string
  */
 public static function get_number_formats_script($form)
 {
     require_once GFCommon::get_base_path() . '/currency.php';
     $number_formats = array();
     $currency = RGCurrency::get_currency(GFCommon::get_currency());
     foreach ($form['fields'] as $field) {
         // default format is false, fields with no format will inherit the format of the formula field when calculated
         $format = false;
         switch (GFFormsModel::get_input_type($field)) {
             case 'number':
                 $format = $field->numberFormat ? $field->numberFormat : 'decimal_dot';
                 break;
             case 'singleproduct':
             case 'calculation':
             case 'price':
             case 'hiddenproduct':
             case 'singleshipping':
                 $format = $currency['decimal_separator'] == ',' ? 'decimal_comma' : 'decimal_dot';
                 break;
             default:
                 // we check above for all single-input product types, for all other products, assume decimal format
                 if (in_array($field->type, array('product', 'option', 'shipping'))) {
                     $format = 'decimal_dot';
                 }
         }
         $number_formats[$field->id] = $format;
     }
     return 'gf_global["number_formats"][' . $form['id'] . '] = ' . json_encode($number_formats) . ';';
 }
示例#9
0
 /**
  * Prepare the value before saving it to the lead.
  *
  * @param mixed $form
  * @param mixed $field
  * @param mixed $value
  * @param mixed $input_name
  * @param mixed $lead_id the current lead ID, used for fields that are processed after other fields have been saved (ie Total, Calculations)
  * @param mixed $lead passed by the RGFormsModel::create_lead() method, lead ID is not available for leads created by this function
  */
 public static function prepare_value($form, $field, $value, $input_name, $lead_id, $lead = array())
 {
     $form_id = $form["id"];
     $input_type = self::get_input_type($field);
     switch ($input_type) {
         case "total":
             $lead = empty($lead) ? RGFormsModel::get_lead($lead_id) : $lead;
             $value = GFCommon::get_order_total($form, $lead);
             break;
         case "calculation":
             // ignore submitted value and recalculate price in backend
             list(, , $input_id) = rgexplode("_", $input_name, 3);
             if ($input_id == 2) {
                 require_once GFCommon::get_base_path() . '/currency.php';
                 $currency = new RGCurrency(GFCommon::get_currency());
                 $lead = empty($lead) ? RGFormsModel::get_lead($lead_id) : $lead;
                 $value = $currency->to_money(GFCommon::calculate($field, $form, $lead));
             }
             break;
         case "phone":
             if ($field["phoneFormat"] == "standard" && preg_match('/^\\D?(\\d{3})\\D?\\D?(\\d{3})\\D?(\\d{4})$/', $value, $matches)) {
                 $value = sprintf("(%s)%s-%s", $matches[1], $matches[2], $matches[3]);
             }
             break;
         case "time":
             if (!is_array($value) && !empty($value)) {
                 preg_match('/^(\\d*):(\\d*) ?(.*)$/', $value, $matches);
                 $value = array();
                 $value[0] = $matches[1];
                 $value[1] = $matches[2];
                 $value[2] = rgar($matches, 3);
             }
             $hour = empty($value[0]) ? "0" : strip_tags($value[0]);
             $minute = empty($value[1]) ? "0" : strip_tags($value[1]);
             $ampm = strip_tags(rgar($value, 2));
             if (!empty($ampm)) {
                 $ampm = " {$ampm}";
             }
             if (!(empty($hour) && empty($minute))) {
                 $value = sprintf("%02d:%02d%s", $hour, $minute, $ampm);
             } else {
                 $value = "";
             }
             break;
         case "date":
             $value = self::prepare_date($field["dateFormat"], $value);
             break;
         case "post_image":
             $url = self::get_fileupload_value($form_id, $input_name);
             $image_title = isset($_POST["{$input_name}_1"]) ? strip_tags($_POST["{$input_name}_1"]) : "";
             $image_caption = isset($_POST["{$input_name}_4"]) ? strip_tags($_POST["{$input_name}_4"]) : "";
             $image_description = isset($_POST["{$input_name}_7"]) ? strip_tags($_POST["{$input_name}_7"]) : "";
             $value = !empty($url) ? $url . "|:|" . $image_title . "|:|" . $image_caption . "|:|" . $image_description : "";
             break;
         case "fileupload":
             $value = self::get_fileupload_value($form_id, $input_name);
             break;
         case "number":
             $lead = empty($lead) ? RGFormsModel::get_lead($lead_id) : $lead;
             $value = GFCommon::has_field_calculation($field) ? GFCommon::round_number(GFCommon::calculate($field, $form, $lead), rgar($field, "calculationRounding")) : GFCommon::clean_number($value, rgar($field, "numberFormat"));
             //return the value as a string when it is zero and a calc so that the "==" comparison done when checking if the field has changed isn't treated as false
             if (GFCommon::has_field_calculation($field) && $value == 0) {
                 $value = "0";
             }
             break;
         case "website":
             if ($value == "http://") {
                 $value = "";
             }
             break;
         case "list":
             if (GFCommon::is_empty_array($value)) {
                 $value = "";
             } else {
                 $value = self::create_list_array($field, $value);
                 $value = serialize($value);
             }
             break;
         case "radio":
             if (rgar($field, 'enableOtherChoice') && $value == 'gf_other_choice') {
                 $value = rgpost("input_{$field['id']}_other");
             }
             break;
         case "multiselect":
             $value = empty($value) ? "" : implode(",", $value);
             break;
         case "creditcard":
             //saving last 4 digits of credit card
             list($input_token, $field_id_token, $input_id) = rgexplode("_", $input_name, 3);
             if ($input_id == "1") {
                 $value = str_replace(" ", "", $value);
                 $card_number_length = strlen($value);
                 $value = substr($value, -4, 4);
                 $value = str_pad($value, $card_number_length, "X", STR_PAD_LEFT);
             } else {
                 if ($input_id == "4") {
                     $card_number = rgpost("input_{$field_id_token}_1");
                     $card_type = GFCommon::get_card_type($card_number);
                     $value = $card_type ? $card_type["name"] : "";
                 } else {
                     $value = "";
                 }
             }
             break;
         default:
             //allow HTML for certain field types
             $allow_html = in_array($field["type"], array("post_custom_field", "post_title", "post_content", "post_excerpt", "post_tags")) || in_array($input_type, array("checkbox", "radio")) ? true : false;
             $allowable_tags = apply_filters("gform_allowable_tags_{$form_id}", apply_filters("gform_allowable_tags", $allow_html, $field, $form_id), $field, $form_id);
             if ($allowable_tags !== true) {
                 $value = strip_tags($value, $allowable_tags);
             }
             break;
     }
     // special format for Post Category fields
     if ($field['type'] == 'post_category') {
         $full_values = array();
         if (!is_array($value)) {
             $value = explode(',', $value);
         }
         foreach ($value as $cat_id) {
             $cat = get_term($cat_id, 'category');
             $full_values[] = !is_wp_error($cat) && is_object($cat) ? $cat->name . ":" . $cat_id : "";
         }
         $value = implode(',', $full_values);
     }
     //do not save price fields with blank price
     if (rgar($field, "enablePrice")) {
         $ary = explode("|", $value);
         $label = count($ary) > 0 ? $ary[0] : "";
         $price = count($ary) > 1 ? $ary[1] : "";
         $is_empty = strlen(trim($price)) <= 0;
         if ($is_empty) {
             $value = "";
         }
     }
     return $value;
 }
 /**
  * Add backwards compatibility to users running Gravity Forms 1.8.3 or below 
  * which don't have this function built in.
  * Once support is dropped for Gravity Forms 1.8.x this function can be removed.
  * Added in v3.7.1
  * @param  Array  $currency A currency type
  * @return String           Whether currency should be displayed as 'decimal_dot' or 'decimal_comma'
  */
 public static function is_currency_decimal_dot($currency = null)
 {
     if ($currency == null) {
         $code = GFCommon::get_currency();
         if (empty($code)) {
             $code = "USD";
         }
         $currency = RGCurrency::get_currency($code);
     }
     return rgar($currency, "decimal_separator") == ".";
 }
 /**
  * Register scripts and init the gperk object
  *
  */
 public static function register_scripts()
 {
     wp_register_style('gwp-admin', self::get_base_url() . '/styles/admin.css');
     wp_register_script('gwp-common', self::get_base_url() . '/scripts/common.js', array('jquery'), GravityPerks::$version);
     wp_register_script('gwp-admin', self::get_base_url() . '/scripts/admin.js', array('jquery', 'gwp-common'), GravityPerks::$version);
     wp_register_script('gwp-frontend', self::get_base_url() . '/scripts/frontend.js', array('jquery', 'gwp-common'), GravityPerks::$version);
     wp_register_script('gwp-repeater', self::get_base_url() . '/scripts/repeater.js', array('jquery'), GravityPerks::$version);
     // register our scripts with Gravity Forms so they are not blocked when noconflict mode is enabled
     add_filter('gform_noconflict_scripts', create_function('$scripts', 'return array_merge($scripts, array("gwp-admin", "gwp-frontend", "gwp-common"));'));
     add_filter('gform_noconflict_styles', create_function('$styles', 'return array_merge($styles, array("gwp-admin"));'));
     require_once GFCommon::get_base_path() . '/currency.php';
     wp_localize_script('gwp-common', 'gperk', array('baseUrl' => self::get_base_url(), 'gformBaseUrl' => GFCommon::get_base_url(), 'currency' => RGCurrency::get_currency(GFCommon::get_currency())));
     add_action('admin_enqueue_scripts', array('GWPerks', 'enqueue_scripts'));
 }
    function display()
    {
        $disabled = apply_filters('gform_currency_disabled', false) ? "disabled='disabled'" : '';
        ?>
		<table class="form-table">
			<tr valign="top">
				<th scope="row">
					<label for="gforms_currency"><?php 
        esc_html_e('Currency', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_currency');
        ?>
				</th>
				<td>
					<?php 
        $disabled = apply_filters('gform_currency_disabled', false) ? "disabled='disabled'" : '';
        ?>

					<select id="gforms_currency" name="currency" <?php 
        echo $disabled;
        ?>
>
						<option value=""><?php 
        esc_html_e('Select a Currency', 'gravityforms');
        ?>
</option>
						<?php 
        require_once GFCommon::get_base_path() . '/currency.php';
        $current_currency = $this->currency;
        foreach (RGCurrency::get_currencies() as $code => $currency) {
            ?>
							<option value="<?php 
            echo esc_attr($code);
            ?>
" <?php 
            echo $current_currency == $code ? "selected='selected'" : '';
            ?>
><?php 
            echo esc_html($currency['name']);
            ?>
</option>
						<?php 
        }
        ?>
					</select>
					<?php 
        do_action('gform_currency_setting_message', '');
        ?>
				</td>
			</tr>
			<tr valign="top">
				<th scope="row">
					<label for="gform_enable_noconflict"><?php 
        esc_html_e('No-Conflict Mode', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_noconflict');
        ?>
				</th>
				<td>
					<input type="radio" name="enable_noconflict" value="1" <?php 
        echo $this->enable_noconflict == 1 ? "checked='checked'" : '';
        ?>
 id="gform_enable_noconflict" /> <?php 
        esc_html_e('On', 'gravityforms');
        ?>
&nbsp;&nbsp;
					<input type="radio" name="enable_noconflict" value="0" <?php 
        echo $this->enable_noconflict == 1 ? '' : "checked='checked'";
        ?>
 id="gform_disable_noconflict" /> <?php 
        esc_html_e('Off', 'gravityforms');
        ?>
					<br />
					<span class="gf_settings_description"><?php 
        esc_html_e('Set this to ON to prevent extraneous scripts and styles from being printed on Gravity Forms admin pages, reducing conflicts with other plugins and themes.', 'gravityforms');
        ?>
</span>
				</td>
			</tr>
			<tr valign="top">
				<th scope="row">
					<label for="gform_enable_toolbar_menu"><?php 
        esc_html_e('Toolbar Menu', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_toolbar_menu');
        ?>
				</th>
				<td>
					<input type="radio" name="enable_toolbar_menu" value="1" <?php 
        checked($this->enable_toolbar_menu, true);
        ?>
 id="gform_enable_toolbar_menu" /> <?php 
        esc_html_e('On', 'gravityforms');
        ?>
&nbsp;&nbsp;
					<input type="radio" name="enable_toolbar_menu" value="0" <?php 
        checked($this->enable_toolbar_menu, false);
        ?>
 id="gform_disable_toolbar_menu" /> <?php 
        esc_html_e('Off', 'gravityforms');
        ?>
					<br />
					<span class="gf_settings_description"><?php 
        esc_html_e('Set this to ON to display the Forms menu in the WordPress top toolbar. The Forms menu will display the latest ten forms recently opened in the form editor.', 'gravityforms');
        ?>
</span>
				</td>
			</tr>

			<?php 
        if (GFCommon::has_akismet()) {
            ?>
				<tr valign="top">
					<th scope="row">
						<label for="gforms_enable_akismet"><?php 
            esc_html_e('Akismet Integration', 'gravityforms');
            ?>
</label>  <?php 
            gform_tooltip('settings_akismet');
            ?>
					</th>
					<td>
						<input type="radio" name="enable_akismet" value="1" <?php 
            checked($this->enable_akismet, true);
            ?>
 id="gforms_enable_akismet" /> <?php 
            esc_html_e('Yes', 'gravityforms');
            ?>
&nbsp;&nbsp;
						<input type="radio" name="enable_akismet" value="0" <?php 
            checked($this->enable_akismet, false);
            ?>
 /> <?php 
            esc_html_e('No', 'gravityforms');
            ?>
						<br />
						<span class="gf_settings_description"><?php 
            esc_html_e('Protect your form entries from spam using Akismet.', 'gravityforms');
            ?>
</span>
					</td>
				</tr>
			<?php 
        }
        ?>
		</table>

	<?php 
    }
示例#13
0
 /**
  * Prepare the value before saving it to the lead.
  *
  * @param mixed $form
  * @param mixed $field
  * @param mixed $value
  * @param mixed $input_name
  * @param mixed $lead_id the current lead ID, used for fields that are processed after other fields have been saved (ie Total, Calculations)
  * @param mixed $lead passed by the RGFormsModel::create_lead() method, lead ID is not available for leads created by this function
  */
 public static function prepare_value($form, $field, $value, $input_name, $lead_id, $lead = array())
 {
     $form_id = $form["id"];
     $input_type = self::get_input_type($field);
     switch ($input_type) {
         case "total":
             $lead = empty($lead) ? RGFormsModel::get_lead($lead_id) : $lead;
             $value = GFCommon::get_order_total($form, $lead);
             break;
         case "calculation":
             // ignore submitted value and recalculate price in backend
             list(, , $input_id) = rgexplode("_", $input_name, 3);
             if ($input_id == 2) {
                 require_once GFCommon::get_base_path() . '/currency.php';
                 $currency = new RGCurrency(GFCommon::get_currency());
                 $lead = empty($lead) ? RGFormsModel::get_lead($lead_id) : $lead;
                 $value = $currency->to_money(GFCommon::calculate($field, $form, $lead));
             }
             break;
         case "phone":
             if ($field["phoneFormat"] == "standard" && preg_match('/^\\D?(\\d{3})\\D?\\D?(\\d{3})\\D?(\\d{4})$/', $value, $matches)) {
                 $value = sprintf("(%s)%s-%s", $matches[1], $matches[2], $matches[3]);
             }
             break;
         case "time":
             if (!is_array($value) && !empty($value)) {
                 preg_match('/^(\\d*):(\\d*) ?(.*)$/', $value, $matches);
                 $value = array();
                 $value[0] = $matches[1];
                 $value[1] = $matches[2];
                 $value[2] = rgar($matches, 3);
             }
             $hour = empty($value[0]) ? "0" : strip_tags($value[0]);
             $minute = empty($value[1]) ? "0" : strip_tags($value[1]);
             $ampm = strip_tags(rgar($value, 2));
             if (!empty($ampm)) {
                 $ampm = " {$ampm}";
             }
             if (!(empty($hour) && empty($minute))) {
                 $value = sprintf("%02d:%02d%s", $hour, $minute, $ampm);
             } else {
                 $value = "";
             }
             break;
         case "date":
             $value = self::prepare_date(rgar($field, 'dateFormat'), $value);
             break;
         case "post_image":
             $url = self::get_fileupload_value($form_id, $input_name);
             $image_title = isset($_POST["{$input_name}_1"]) ? strip_tags($_POST["{$input_name}_1"]) : "";
             $image_caption = isset($_POST["{$input_name}_4"]) ? strip_tags($_POST["{$input_name}_4"]) : "";
             $image_description = isset($_POST["{$input_name}_7"]) ? strip_tags($_POST["{$input_name}_7"]) : "";
             $value = !empty($url) ? $url . "|:|" . $image_title . "|:|" . $image_caption . "|:|" . $image_description : "";
             break;
         case "fileupload":
             if (rgar($field, "multipleFiles")) {
                 global $_gf_uploaded_files;
                 if (isset($_gf_uploaded_files[$input_name])) {
                     $value = $_gf_uploaded_files[$input_name];
                 } else {
                     if (isset(GFFormsModel::$uploaded_files[$form_id][$input_name])) {
                         $uploaded_temp_files = GFFormsModel::$uploaded_files[$form_id][$input_name];
                         $uploaded_files = array();
                         foreach ($uploaded_temp_files as $i => $file_info) {
                             $temp_filepath = self::get_upload_path($form_id) . '/tmp/' . $file_info['temp_filename'];
                             if ($file_info && file_exists($temp_filepath)) {
                                 $uploaded_files[$i] = self::move_temp_file($form_id, $file_info);
                             }
                         }
                         if (!empty($value)) {
                             // merge with existing files (admin edit entry)
                             $value = json_decode($value, true);
                             $value = array_merge($value, $uploaded_files);
                             $value = json_encode($value);
                         } else {
                             $value = json_encode($uploaded_files);
                         }
                     } else {
                         $value = '';
                     }
                     $_gf_uploaded_files[$input_name] = $value;
                 }
             } else {
                 $value = self::get_fileupload_value($form_id, $input_name);
             }
             break;
         case "number":
             $value = GFCommon::maybe_add_leading_zero($value);
             $is_hidden = RGFormsModel::is_field_hidden($form, $field, array());
             $lead = empty($lead) ? RGFormsModel::get_lead($lead_id) : $lead;
             $value = GFCommon::has_field_calculation($field) ? GFCommon::round_number(GFCommon::calculate($field, $form, $lead), rgar($field, "calculationRounding")) : GFCommon::clean_number($value, rgar($field, "numberFormat"));
             //return the value as a string when it is zero and a calc so that the "==" comparison done when checking if the field has changed isn't treated as false
             if (GFCommon::has_field_calculation($field) && $value == 0) {
                 $value = "0";
             }
             break;
         case "website":
             if ($value == "http://") {
                 $value = "";
             }
             break;
         case "list":
             if (rgar($field, "adminOnly") && rgar($field, "allowsPrepopulate")) {
                 $value = json_decode($value);
             }
             if (GFCommon::is_empty_array($value)) {
                 $value = "";
             } else {
                 foreach ($value as &$val) {
                     $val = self::sanitize_entry_value($field, $val, $input_type, $form_id);
                 }
                 $value = self::create_list_array($field, $value);
                 $value = serialize($value);
             }
             break;
         case "radio":
             if (rgar($field, 'enableOtherChoice') && $value == 'gf_other_choice') {
                 $value = rgpost("input_{$field['id']}_other");
             }
             $value = self::sanitize_entry_value($field, $value, $input_type, $form_id);
             break;
         case "multiselect":
             $value = empty($value) ? "" : is_array($value) ? implode(",", $value) : $value;
             $value = self::sanitize_entry_value($field, $value, $input_type, $form_id);
             break;
         case "creditcard":
             //saving last 4 digits of credit card
             list($input_token, $field_id_token, $input_id) = rgexplode("_", $input_name, 3);
             if ($input_id == "1") {
                 $value = str_replace(" ", "", $value);
                 $card_number_length = strlen($value);
                 $value = substr($value, -4, 4);
                 $value = str_pad($value, $card_number_length, "X", STR_PAD_LEFT);
             } else {
                 if ($input_id == '4') {
                     $value = rgpost("input_{$field_id_token}_4");
                     if (!$value) {
                         $card_number = rgpost("input_{$field_id_token}_1");
                         $card_type = GFCommon::get_card_type($card_number);
                         $value = $card_type ? $card_type['name'] : '';
                     }
                 } else {
                     $value = "";
                 }
             }
             break;
         case 'password':
             $encrypt_password = apply_filters('gform_encrypt_password', false, $field, $form);
             if ($encrypt_password) {
                 $value = GFCommon::encrypt($value);
                 self::set_encrypted_fields($lead_id, $field['id']);
             }
             break;
         default:
             // only filter HTML on non-array based values
             if (!is_array($value)) {
                 $value = self::sanitize_entry_value($field, $value, $input_type, $form_id);
             }
             break;
     }
     // special format for Post Category fields
     if ($field['type'] == 'post_category') {
         $full_values = array();
         if (!is_array($value)) {
             $value = explode(',', $value);
         }
         foreach ($value as $cat_id) {
             $cat = get_term($cat_id, 'category');
             $full_values[] = !is_wp_error($cat) && is_object($cat) ? $cat->name . ":" . $cat_id : "";
         }
         $value = implode(',', $full_values);
     }
     //do not save price fields with blank price
     if (rgar($field, "enablePrice")) {
         $ary = explode("|", $value);
         $label = count($ary) > 0 ? $ary[0] : "";
         $price = count($ary) > 1 ? $ary[1] : "";
         $is_empty = strlen(trim($price)) <= 0;
         if ($is_empty) {
             $value = "";
         }
     }
     return $value;
 }
    /**
     * Renders the couponAmountType setting.
     *
     * @param array $field The setting properties.
     * @param bool|true $echo
     *
     * @return string
     */
    public function settings_coupon_amount_type($field, $echo = true)
    {
        require_once GFCommon::get_base_path() . '/currency.php';
        $currency = RGCurrency::get_currency(GFCommon::get_currency());
        $currency_symbol = !empty($currency['symbol_left']) ? $currency['symbol_left'] : $currency['symbol_right'];
        wp_enqueue_script(array('jquery-ui-datepicker'));
        $styles = '<style type="text/css">
						td img.ui-datepicker-trigger {
						position: relative;
						top: 4px;
						}
					</style>';
        $js_script = '<script type="text/javascript">
							var currency_config = ' . json_encode(RGCurrency::get_currency(GFCommon::get_currency())) . ';
							var form = Array();
								jQuery(document).on(\'change\', \'.gf_format_money\', function(){
									var cur = new Currency(currency_config)
									jQuery(this).val(cur.toMoney(jQuery(this).val()));
								});
								jQuery(document).on(\'change\', \'.gf_format_percentage\', function(event){
									var cur = new Currency(currency_config)
									var value = cur.toNumber(jQuery(this).val()) ? cur.toNumber(jQuery(this).val()) + \'%\' : \'\';
									jQuery(this).val( value );
								});

							function SetCouponType(elem) {
								var type = elem.val();
								var formatClass = type == \'flat\' ? \'gf_format_money\' : \'gf_format_percentage\';
								jQuery(\'#couponAmount\').removeClass(\'gf_format_money gf_format_percentage\').addClass(formatClass).trigger(\'change\');
								var placeholderText = type == \'flat\' ? \'' . html_entity_decode(GFCommon::to_money(1)) . '\' : \'1%\';
								jQuery(\'#couponAmount\').attr("placeholder",placeholderText);
							}

							jQuery(document).ready(function($){
								//set placeholder text for initial load
								var type = jQuery(\'#couponAmountType\').val();
								var placeholderText = type == \'flat\' ? \'' . html_entity_decode(GFCommon::to_money(1)) . '\' : \'1%\';
								jQuery(\'#couponAmount\').attr("placeholder",placeholderText);

								//format initial coupon amount value when there is one and it is currency
								var currency_config = ' . json_encode(RGCurrency::get_currency(GFCommon::get_currency())) . ';
								var cur = new Currency(currency_config);
								couponAmount = jQuery(\'#couponAmount\').val();
								if ( couponAmount ){
									if (type == \'flat\'){
										couponAmount = cur.toMoney(couponAmount);
									}
									else{
										couponAmount = cur.toNumber(couponAmount) + \'%\';
									}
									jQuery(\'#couponAmount\').val(couponAmount);
								}

								jQuery(\'.datepicker\').each(
									function (){
										var image = "' . $this->get_base_url() . '/images/calendar.png";
										jQuery(this).datepicker({showOn: "both", buttonImage: image, buttonImageOnly: true, dateFormat: "mm/dd/yy" });
									}
								);

							});

						</script>';
        $field['type'] = 'select';
        $field['choices'] = array(array('label' => esc_html__('Flat', 'gravityformscoupons') . '(' . $currency_symbol . ')', 'name' => 'flat', 'value' => 'flat'), array('label' => esc_html__('Percentage(%)', 'gravityformscoupons'), 'name' => 'percentage', 'value' => 'percentage'));
        $field['onchange'] = 'SetCouponType(jQuery(this))';
        $html = $this->settings_select($field, false);
        $field2 = array();
        $field2['type'] = 'text';
        $field2['name'] = 'couponAmount';
        $field2['required'] = true;
        $field2['class'] = $this->get_setting('couponAmountType') == 'percentage' ? 'gf_format_percentage' : 'gf_format_money';
        $html2 = $this->settings_text($field2, false);
        if ($echo) {
            echo $styles . $js_script . $html . $html2;
        }
        return $styles . $js_script . $html . $html2;
    }
示例#15
0
 public static function gf_vars($echo = true)
 {
     if (!class_exists("RGCurrency")) {
         require_once "currency.php";
     }
     $gf_vars = array();
     $gf_vars["active"] = __("Active", "gravityforms");
     $gf_vars["inactive"] = __("Inactive", "gravityforms");
     $gf_vars["save"] = __("Save", "gravityforms");
     $gf_vars["update"] = __("Update", "gravityforms");
     $gf_vars["previousLabel"] = __("Previous", "gravityforms");
     $gf_vars["selectFormat"] = __("Select a format", "gravityforms");
     $gf_vars["editToViewAll"] = __("5 of %d items shown. Edit field to view all", "gravityforms");
     $gf_vars["enterValue"] = __("Enter a value", "gravityforms");
     $gf_vars["formTitle"] = __("Untitled Form", "gravityforms");
     $gf_vars["formDescription"] = __("We would love to hear from you! Please fill out this form and we will get in touch with you shortly.", "gravityforms");
     $gf_vars["formConfirmationMessage"] = __("Thanks for contacting us! We will get in touch with you shortly.", "gravityforms");
     $gf_vars["buttonText"] = __("Submit", "gravityforms");
     $gf_vars["loading"] = __("Loading...", "gravityforms");
     $gf_vars["thisFieldIf"] = __('this field if', 'gravityforms');
     $gf_vars["thisPage"] = __("this page", "gravityforms");
     $gf_vars["thisFormButton"] = __('this form button', 'gravityforms');
     $gf_vars["show"] = __('Show', 'gravityforms');
     $gf_vars["hide"] = __('Hide', 'gravityforms');
     $gf_vars["all"] = __('All', 'gravityforms');
     $gf_vars["any"] = __('Any', 'gravityforms');
     $gf_vars["ofTheFollowingMatch"] = __('of the following match:', 'gravityforms');
     $gf_vars["is"] = __('is', 'gravityforms');
     $gf_vars["isNot"] = __('is not', 'gravityforms');
     $gf_vars["greaterThan"] = __('greater than', 'gravityforms');
     $gf_vars["lessThan"] = __('less than', 'gravityforms');
     $gf_vars["contains"] = __('contains', 'gravityforms');
     $gf_vars["startsWith"] = __('starts with', 'gravityforms');
     $gf_vars["endsWith"] = __('ends with', 'gravityforms');
     $gf_vars["thisConfirmation"] = __('Use this confirmation if', 'gravityforms');
     $gf_vars["thisNotification"] = __('Send this notification if', 'gravityforms');
     $gf_vars["confirmationSave"] = __('Save', 'gravityforms');
     $gf_vars["confirmationSaving"] = __('Saving...', 'gravityforms');
     $gf_vars["confirmationAreYouSure"] = __('Are you sure you wish to cancel these changes?', 'gravityforms');
     $gf_vars["confirmationIssueSaving"] = __('There was an issue saving this confirmation.', 'gravityforms');
     $gf_vars["confirmationConfirmDelete"] = __('Are you sure you wish to delete this confirmation?', 'gravityforms');
     $gf_vars["confirmationIssueDeleting"] = __('There was an issue deleting this confirmation.', 'gravityforms');
     $gf_vars["confirmationConfirmDiscard"] = __('There are unsaved changes to the current confirmation. Would you like to discard these changes?', 'gravityforms');
     $gf_vars["confirmationDefaultName"] = __('Untitled Confirmation', 'gravityforms');
     $gf_vars["confirmationDefaultMessage"] = __('Thanks for contacting us! We will get in touch with you shortly.', 'gravityforms');
     $gf_vars["confirmationInvalidPageSelection"] = __('Please select a page.', "gravityforms");
     $gf_vars["confirmationInvalidRedirect"] = __('Please enter a URL.', "gravityforms");
     $gf_vars["confirmationInvalidName"] = __('Please enter a confirmation name.', "gravityforms");
     $gf_vars["conditionalLogicDependency"] = __('This form contains conditional logic dependent upon this field. Are you sure you want to delete this field? \'OK\' to delete, \'Cancel\' to abort.', 'gravityforms');
     $gf_vars["conditionalLogicDependencyChoice"] = __('This form contains conditional logic dependent upon this choice. Are you sure you want to delete this choice? \'OK\' to delete, \'Cancel\' to abort.', 'gravityforms');
     $gf_vars["conditionalLogicDependencyChoiceEdit"] = __('This form contains conditional logic dependent upon this choice. Are you sure you want to modify this choice? \'OK\' to delete, \'Cancel\' to abort.', 'gravityforms');
     $gf_vars["mergeTagsTooltip"] = __('<h6>Merge Tags</h6>Merge tags allow you to dynamically populate submitted field values in your form content wherever this merge tag icon is present.', 'gravityforms');
     $gf_vars["baseUrl"] = GFCommon::get_base_url();
     $gf_vars["gf_currency_config"] = RGCurrency::get_currency(GFCommon::get_currency());
     $gf_vars["otherChoiceValue"] = GFCommon::get_other_choice_value();
     $gf_vars["isFormDelete"] = false;
     if (is_admin() && rgget('id')) {
         $form = RGFormsModel::get_form_meta(rgget('id'));
         $gf_vars["mergeTags"] = GFCommon::get_merge_tags($form['fields'], '', false);
     }
     $gf_vars_json = 'var gf_vars = ' . json_encode($gf_vars) . ';';
     if (!$echo) {
         return $gf_vars_json;
     } else {
         echo $gf_vars_json;
     }
 }
示例#16
0
 public static function to_number($text, $currency_code = "")
 {
     if (!class_exists("RGCurrency")) {
         require_once "currency.php";
     }
     if (empty($currency_code)) {
         $currency_code = self::get_currency();
     }
     $currency = new RGCurrency($currency_code);
     return $currency->to_number($text);
 }
    private static function edit_page()
    {
        require_once GFCommon::get_base_path() . "/currency.php";
        ?>
        <style>
            #authorizenet_submit_container{clear:both;}
            .authorizenet_col_heading{padding-bottom:2px; border-bottom: 1px solid #ccc; font-weight:bold; width:120px;}
            .authorizenet_field_cell {padding: 6px 17px 0 0; margin-right:15px;}

            .authorizenet_validation_error{ background-color:#FFDFDF; margin-top:4px; margin-bottom:6px; padding-top:6px; padding-bottom:6px; border:1px dotted #C89797;}
            .authorizenet_validation_error span {color: red;}
            .left_header{float:left; width:200px;}
            .margin_vertical_10{margin: 10px 0; padding-left:5px;}
            .margin_vertical_30{margin: 30px 0; padding-left:5px;}
            .width-1{width:300px;}
            .gf_authorizenet_invalid_form{margin-top:30px; background-color:#FFEBE8;border:1px solid #CC0000; padding:10px; width:600px;}
        </style>

        <script type="text/javascript" src="<?php 
        echo GFCommon::get_base_url();
        ?>
/js/gravityforms.js"> </script>
        <script type="text/javascript">
            var form = Array();

            window['gf_currency_config'] = <?php 
        echo json_encode(RGCurrency::get_currency("USD"));
        ?>
;
            function FormatCurrency(element){
                var val = jQuery(element).val();
                jQuery(element).val(gformFormatMoney(val));
            }

            function ToggleSetupFee(){
                if(jQuery('#gf_authorizenet_setup_fee').is(':checked')){
                    jQuery('#authorizenet_setup_fee_container').show('slow');
                    jQuery('#authorizenet_enable_trial_container, #authorizenet_trial_period_container').slideUp();
                }
                else{
                    jQuery('#authorizenet_setup_fee_container').hide('slow');
                    jQuery('#authorizenet_enable_trial_container').slideDown();
                    ToggleTrial();
                }
            }

            function ToggleTrial(){
                if(jQuery('#gf_authorizenet_trial_period').is(':checked'))
                    jQuery('#authorizenet_trial_period_container').show('slow');
                else
                    jQuery('#authorizenet_trial_period_container').hide('slow');
            }

        </script>

        <div class="wrap">
            <img alt="<?php 
        _e("Authorize.Net", "gravityformsauthorizenet");
        ?>
" style="margin: 15px 7px 0pt 0pt; float: left;" src="<?php 
        echo self::get_base_url();
        ?>
/images/authorizenet_wordpress_icon_32.png"/>
            <h2><?php 
        _e("Authorize.Net Transaction Settings", "gravityformsauthorizenet");
        ?>
</h2>

        <?php 
        //getting setting id (0 when creating a new one)
        $id = !empty($_POST["authorizenet_setting_id"]) ? $_POST["authorizenet_setting_id"] : absint($_GET["id"]);
        $config = empty($id) ? array("meta" => array(), "is_active" => true) : GFAuthorizeNetData::get_feed($id);
        $setup_fee_field_conflict = false;
        //initialize variable
        //updating meta information
        if (rgpost("gf_authorizenet_submit")) {
            $config["form_id"] = absint(rgpost("gf_authorizenet_form"));
            $config["meta"]["type"] = rgpost("gf_authorizenet_type");
            $config["meta"]["enable_receipt"] = rgpost('gf_authorizenet_enable_receipt');
            $config["meta"]["update_post_action"] = rgpost('gf_authorizenet_update_action');
            // authorizenet conditional
            $config["meta"]["authorizenet_conditional_enabled"] = rgpost('gf_authorizenet_conditional_enabled');
            $config["meta"]["authorizenet_conditional_field_id"] = rgpost('gf_authorizenet_conditional_field_id');
            $config["meta"]["authorizenet_conditional_operator"] = rgpost('gf_authorizenet_conditional_operator');
            $config["meta"]["authorizenet_conditional_value"] = rgpost('gf_authorizenet_conditional_value');
            //recurring fields
            $config["meta"]["recurring_amount_field"] = rgpost("gf_authorizenet_recurring_amount");
            $config["meta"]["billing_cycle_number"] = rgpost("gf_authorizenet_billing_cycle_number");
            $config["meta"]["billing_cycle_type"] = rgpost("gf_authorizenet_billing_cycle_type");
            $config["meta"]["recurring_times"] = rgpost("gf_authorizenet_recurring_times");
            $config["meta"]["recurring_retry"] = rgpost('gf_authorizenet_recurring_retry');
            $config["meta"]["setup_fee_enabled"] = rgpost('gf_authorizenet_setup_fee');
            $config["meta"]["setup_fee_amount_field"] = rgpost('gf_authorizenet_setup_fee_amount');
            $has_setup_fee = $config["meta"]["setup_fee_enabled"];
            $config["meta"]["trial_period_enabled"] = $has_setup_fee ? false : rgpost('gf_authorizenet_trial_period');
            $config["meta"]["trial_amount"] = $has_setup_fee ? "" : rgpost('gf_authorizenet_trial_amount');
            $config["meta"]["trial_period_number"] = "1";
            //$has_setup_fee ? "" : rgpost('gf_authorizenet_trial_period_number');
            //api settings fields
            $config["meta"]["api_settings_enabled"] = rgpost('gf_authorizenet_api_settings');
            $config["meta"]["api_mode"] = rgpost('gf_authorizenet_api_mode');
            $config["meta"]["api_login"] = rgpost('gf_authorizenet_api_login');
            $config["meta"]["api_key"] = rgpost('gf_authorizenet_api_key');
            if (!empty($config["meta"]["api_settings_enabled"])) {
                $is_valid = self::is_valid_key(self::get_local_api_settings($config));
                if ($is_valid) {
                    $config["meta"]["api_valid"] = true;
                    $config["meta"]["api_message"] = "Valid PayPal Payments Pro credentials.";
                } else {
                    $config["meta"]["api_valid"] = false;
                    $config["meta"]["api_message"] = "Invalid PayPal Payments Pro credentials.";
                }
            }
            //-----------------
            $customer_fields = self::get_customer_fields();
            $config["meta"]["customer_fields"] = array();
            foreach ($customer_fields as $field) {
                $config["meta"]["customer_fields"][$field["name"]] = $_POST["authorizenet_customer_field_{$field["name"]}"];
            }
            $config = apply_filters('gform_authorizenet_save_config', $config);
            $setup_fee_field_conflict = $has_setup_fee && $config["meta"]["recurring_amount_field"] == $config["meta"]["setup_fee_amount_field"];
            if (!$setup_fee_field_conflict) {
                $id = GFAuthorizeNetData::update_feed($id, $config["form_id"], $config["is_active"], $config["meta"]);
                ?>
                <div class="updated fade" style="padding:6px"><?php 
                echo sprintf(__("Feed Updated. %sback to list%s", "gravityformsauthorizenet"), "<a href='?page=gf_authorizenet'>", "</a>");
                ?>
</div>
                <?php 
            } else {
                $setup_fee_field_conflict = true;
            }
        }
        $form = isset($config["form_id"]) && $config["form_id"] ? $form = RGFormsModel::get_form_meta($config["form_id"]) : array();
        $settings = get_option("gf_authorizenet_settings");
        ?>
        <form method="post" action="">
            <input type="hidden" name="authorizenet_setting_id" value="<?php 
        echo $id;
        ?>
" />

            <div style="padding: 15px; margin:15px 0px" class="<?php 
        echo $setup_fee_field_conflict ? "error" : "";
        ?>
">
                <?php 
        if ($setup_fee_field_conflict) {
            ?>
                    <span><?php 
            _e('There was an issue saving your feed.', 'gravityformsauthorizenet');
            ?>
</span>
                    <span><?php 
            _e('Recurring Amount and Setup Fee must be assigned to different fields.', 'gravityformsauthorizenet');
            ?>
</span>
                    <?php 
        }
        ?>
            </div> <!-- / validation message -->

            <?php 
        if ($settings["arb_configured"] == "on") {
            ?>
            <div class="margin_vertical_10">
                <label class="left_header" for="gf_authorizenet_type"><?php 
            _e("Transaction Type", "gravityformsauthorizenet");
            ?>
 <?php 
            gform_tooltip("authorizenet_transaction_type");
            ?>
</label>

                <select id="gf_authorizenet_type" name="gf_authorizenet_type" onchange="SelectType(jQuery(this).val());">
                    <option value=""><?php 
            _e("Select a transaction type", "gravityformsauthorizenet");
            ?>
</option>
                    <option value="product" <?php 
            echo rgar($config['meta'], 'type') == "product" ? "selected='selected'" : "";
            ?>
><?php 
            _e("Products and Services", "gravityformsauthorizenet");
            ?>
</option>
                    <option value="subscription" <?php 
            echo rgar($config['meta'], 'type') == "subscription" ? "selected='selected'" : "";
            ?>
><?php 
            _e("Subscriptions", "gravityformsauthorizenet");
            ?>
</option>
                </select>
            </div>
            <?php 
        } else {
            $config["meta"]["type"] = "product";
            ?>

                  <input id="gf_authorizenet_type" type="hidden" name="gf_authorizenet_type" value="product">


            <?php 
        }
        ?>
            <div id="authorizenet_form_container" valign="top" class="margin_vertical_10" <?php 
        echo empty($config["meta"]["type"]) ? "style='display:none;'" : "";
        ?>
>
                <label for="gf_authorizenet_form" class="left_header"><?php 
        _e("Gravity Form", "gravityformsauthorizenet");
        ?>
 <?php 
        gform_tooltip("authorizenet_gravity_form");
        ?>
</label>

                <select id="gf_authorizenet_form" name="gf_authorizenet_form" onchange="SelectForm(jQuery('#gf_authorizenet_type').val(), jQuery(this).val(), '<?php 
        echo rgar($config, 'id');
        ?>
');">
                    <option value=""><?php 
        _e("Select a form", "gravityformsauthorizenet");
        ?>
 </option>
                    <?php 
        $active_form = rgar($config, 'form_id');
        $available_forms = GFAuthorizeNetData::get_available_forms($active_form);
        foreach ($available_forms as $current_form) {
            $selected = absint($current_form->id) == rgar($config, 'form_id') ? 'selected="selected"' : '';
            ?>

                            <option value="<?php 
            echo absint($current_form->id);
            ?>
" <?php 
            echo $selected;
            ?>
><?php 
            echo esc_html($current_form->title);
            ?>
</option>

                        <?php 
        }
        ?>
                </select>
                &nbsp;&nbsp;
                <img src="<?php 
        echo GFAuthorizeNet::get_base_url();
        ?>
/images/loading.gif" id="authorizenet_wait" style="display: none;"/>

                <div id="gf_authorizenet_invalid_product_form" class="gf_authorizenet_invalid_form"  style="display:none;">
                    <?php 
        _e("The form selected does not have any Product fields. Please add a Product field to the form and try again.", "gravityformsauthorizenet");
        ?>
                </div>
                <div id="gf_authorizenet_invalid_creditcard_form" class="gf_authorizenet_invalid_form" style="display:none;">
                    <?php 
        _e("The form selected does not have a credit card field. Please add a credit card field to the form and try again.", "gravityformsauthorizenet");
        ?>
                </div>
            </div>
            <div id="authorizenet_field_group" valign="top" <?php 
        echo strlen(rgars($config, "meta/type")) == 0 || empty($config["form_id"]) ? "style='display:none;'" : "";
        ?>
>

                <div id="authorizenet_field_container_subscription" class="authorizenet_field_container" valign="top" <?php 
        echo rgars($config, "meta/type") != "subscription" ? "style='display:none;'" : "";
        ?>
>
                    <div class="margin_vertical_10">
                        <label class="left_header" for="gf_authorizenet_recurring_amount"><?php 
        _e("Recurring Amount", "gravityformsauthorizenet");
        ?>
 <?php 
        gform_tooltip("authorizenet_recurring_amount");
        ?>
</label>
                        <select id="gf_authorizenet_recurring_amount" name="gf_authorizenet_recurring_amount">
                            <?php 
        echo self::get_product_options($form, rgar($config["meta"], "recurring_amount_field"), true);
        ?>
                        </select>
                    </div>

                    <div class="margin_vertical_10">
                        <label class="left_header" for="gf_authorizenet_billing_cycle_number"><?php 
        _e("Billing Cycle", "gravityformsauthorizenet");
        ?>
 <?php 
        gform_tooltip("authorizenet_billing_cycle");
        ?>
</label>
                        <select id="gf_authorizenet_billing_cycle_number" name="gf_authorizenet_billing_cycle_number">
                            <?php 
        for ($i = 1; $i <= 100; $i++) {
            ?>
                                <option value="<?php 
            echo $i;
            ?>
" <?php 
            echo rgar($config["meta"], "billing_cycle_number") == $i ? "selected='selected'" : "";
            ?>
><?php 
            echo $i;
            ?>
</option>
                            <?php 
        }
        ?>
                        </select>&nbsp;
                        <select id="gf_authorizenet_billing_cycle_type" name="gf_authorizenet_billing_cycle_type" onchange="SetPeriodNumber('#gf_authorizenet_billing_cycle_number', jQuery(this).val());">
                            <option value="D" <?php 
        echo rgars($config, "meta/billing_cycle_type") == "D" ? "selected='selected'" : "";
        ?>
><?php 
        _e("day(s)", "gravityformsauthorizenet");
        ?>
</option>
                            <option value="M" <?php 
        echo rgars($config, "meta/billing_cycle_type") == "M" || strlen(rgars($config, "meta/billing_cycle_type")) == 0 ? "selected='selected'" : "";
        ?>
><?php 
        _e("month(s)", "gravityformsauthorizenet");
        ?>
</option>
                        </select>
                    </div>

                    <div class="margin_vertical_10">
                        <label class="left_header" for="gf_authorizenet_recurring_times"><?php 
        _e("Recurring Times", "gravityformsauthorizenet");
        ?>
 <?php 
        gform_tooltip("authorizenet_recurring_times");
        ?>
</label>
                        <select id="gf_authorizenet_recurring_times" name="gf_authorizenet_recurring_times">
                            <option><?php 
        _e("Infinite", "gravityformsauthorizenet");
        ?>
</option>
                            <?php 
        for ($i = 2; $i <= 100; $i++) {
            $selected = $i == rgar($config["meta"], "recurring_times") ? 'selected="selected"' : '';
            ?>
                                <option value="<?php 
            echo $i;
            ?>
" <?php 
            echo $selected;
            ?>
><?php 
            echo $i;
            ?>
</option>
                                <?php 
        }
        ?>
                        </select>&nbsp;&nbsp;

                    </div>

                    <div class="margin_vertical_10">
                        <label class="left_header" for="gf_authorizenet_setup_fee"><?php 
        _e("Setup Fee", "gravityformsauthorizenet");
        ?>
 <?php 
        gform_tooltip("authorizenet_setup_fee_enable");
        ?>
</label>
                        <input type="checkbox" onchange="if(this.checked) {jQuery('#gf_paypalpro_setup_fee_amount').val('Select a field');}" name="gf_authorizenet_setup_fee" id="gf_authorizenet_setup_fee" value="1" onclick="ToggleSetupFee();" <?php 
        echo rgars($config, "meta/setup_fee_enabled") ? "checked='checked'" : "";
        ?>
 />
                        <label class="inline" for="gf_authorizenet_setup_fee"><?php 
        _e("Enable", "gravityformsauthorizenet");
        ?>
</label>
                        &nbsp;&nbsp;&nbsp;
                        <span id="authorizenet_setup_fee_container" <?php 
        echo rgars($config, "meta/setup_fee_enabled") ? "" : "style='display:none;'";
        ?>
>
                            <select id="gf_authorizenet_setup_fee_amount" name="gf_authorizenet_setup_fee_amount">
                                <?php 
        echo self::get_product_options($form, rgar($config["meta"], "setup_fee_amount_field"), false);
        ?>
                            </select>
                        </span>
                    </div>

                    <div id="authorizenet_enable_trial_container" class="margin_vertical_10" <?php 
        echo rgars($config, "meta/setup_fee_enabled") ? "style='display:none;'" : "";
        ?>
>
                        <label class="left_header" for="gf_authorizenet_trial_period"><?php 
        _e("Trial Period", "gravityformsauthorizenet");
        ?>
 <?php 
        gform_tooltip("authorizenet_trial_period_enable");
        ?>
</label>
                        <input type="checkbox" name="gf_authorizenet_trial_period" id="gf_authorizenet_trial_period" value="1" onclick="ToggleTrial();" <?php 
        echo rgars($config, "meta/trial_period_enabled") ? "checked='checked'" : "";
        ?>
 />
                        <label class="inline" for="gf_authorizenet_trial_period"><?php 
        _e("Enable", "gravityformsauthorizenet");
        ?>
</label>
                    </div>

                    <div id="authorizenet_trial_period_container" <?php 
        echo rgars($config, "meta/trial_period_enabled") && !rgars($config, "meta/setup_fee_enabled") ? "" : "style='display:none;'";
        ?>
>
                        <div class="margin_vertical_10">
                            <label class="left_header" for="gf_authorizenet_trial_amount"><?php 
        _e("Trial Amount", "gravityformsauthorizenet");
        ?>
 <?php 
        gform_tooltip("authorizenet_trial_amount");
        ?>
</label>
                            <input type="text" name="gf_authorizenet_trial_amount" id="gf_authorizenet_trial_amount" value="<?php 
        echo rgar($config["meta"], "trial_amount");
        ?>
" onchange="FormatCurrency(this);"/>
                        </div>
                        <!--<div class="margin_vertical_10">
                            <label class="left_header" for="gf_authorizenet_trial_period_number"><?php 
        _e("Trial Recurring Times", "gravityformsauthorizenet");
        ?>
 <?php 
        gform_tooltip("authorizenet_trial_period");
        ?>
</label>
                            <select id="gf_authorizenet_trial_period_number" name="gf_authorizenet_trial_period_number">
                                <?php 
        for ($i = 1; $i <= 99; $i++) {
            ?>
                                    <option value="<?php 
            echo $i;
            ?>
" <?php 
            echo rgars($config, "meta/trial_period_number") == $i ? "selected='selected'" : "";
            ?>
><?php 
            echo $i;
            ?>
</option>
                                <?php 
        }
        ?>
                            </select>
                        </div>-->

                    </div>

                </div>

                <div class="margin_vertical_10">
                    <label class="left_header"><?php 
        _e("Billing Information", "gravityformsauthorizenet");
        ?>
 <?php 
        gform_tooltip("authorizenet_customer");
        ?>
</label>

                    <div id="authorizenet_customer_fields">
                        <?php 
        if (!empty($form)) {
            echo self::get_customer_information($form, $config);
        }
        ?>
                    </div>
                </div>


                <div class="margin_vertical_10">
                    <label class="left_header"><?php 
        _e("Options", "gravityformsauthorizenet");
        ?>
 <?php 
        gform_tooltip("authorizenet_options");
        ?>
</label>

                    <ul style="overflow:hidden;">
                        <li id="authorizenet_enable_receipt">
                            <input type="checkbox" name="gf_authorizenet_enable_receipt" id="gf_authorizenet_enable_receipt" value="1" <?php 
        echo rgar($config["meta"], 'enable_receipt') ? "checked='checked'" : "";
        ?>
 />
                            <label class="inline" for="gf_authorizenet_enable_receipt"><?php 
        _e("Send Authorize.Net email receipt.", "gravityformsauthorizenet");
        ?>
 <?php 
        gform_tooltip("authorizenet_disable_user_notification");
        ?>
</label>
                        </li>
                        <?php 
        $display_post_fields = !empty($form) ? GFCommon::has_post_field($form["fields"]) : false;
        ?>
                        <li id="authorizenet_post_update_action" <?php 
        echo $display_post_fields && $config["meta"]["type"] == "subscription" ? "" : "style='display:none;'";
        ?>
>
                            <input type="checkbox" name="gf_authorizenet_update_post" id="gf_authorizenet_update_post" value="1" <?php 
        echo rgar($config["meta"], "update_post_action") ? "checked='checked'" : "";
        ?>
 onclick="var action = this.checked ? 'draft' : ''; jQuery('#gf_authorizenet_update_action').val(action);" />
                            <label class="inline" for="gf_authorizenet_update_post"><?php 
        _e("Update Post when subscription is cancelled.", "gravityformsauthorizenet");
        ?>
 <?php 
        gform_tooltip("authorizenet_update_post");
        ?>
</label>
                            <select id="gf_authorizenet_update_action" name="gf_authorizenet_update_action" onchange="var checked = jQuery(this).val() ? 'checked' : false; jQuery('#gf_authorizenet_update_post').attr('checked', checked);">
                                <option value=""></option>
                                <option value="draft" <?php 
        echo rgar($config["meta"], "update_post_action") == "draft" ? "selected='selected'" : "";
        ?>
><?php 
        _e("Mark Post as Draft", "gravityformsauthorizenet");
        ?>
</option>
                                <option value="delete" <?php 
        echo rgar($config["meta"], "update_post_action") == "delete" ? "selected='selected'" : "";
        ?>
><?php 
        _e("Delete Post", "gravityformsauthorizenet");
        ?>
</option>
                            </select>
                        </li>

                        <?php 
        do_action("gform_authorizenet_action_fields", $config, $form);
        ?>
                    </ul>
                </div>

                <?php 
        do_action("gform_authorizenet_add_option_group", $config, $form);
        ?>

                <div id="gf_authorizenet_conditional_section" valign="top" class="margin_vertical_10">
                    <label for="gf_authorizenet_conditional_optin" class="left_header"><?php 
        _e("Authorize.Net Condition", "gravityformsauthorizenet");
        ?>
 <?php 
        gform_tooltip("authorizenet_conditional");
        ?>
</label>

                    <div id="gf_authorizenet_conditional_option">
                        <table cellspacing="0" cellpadding="0">
                            <tr>
                                <td>
                                    <input type="checkbox" id="gf_authorizenet_conditional_enabled" name="gf_authorizenet_conditional_enabled" value="1" onclick="if(this.checked){jQuery('#gf_authorizenet_conditional_container').fadeIn('fast');} else{ jQuery('#gf_authorizenet_conditional_container').fadeOut('fast'); }" <?php 
        echo rgar($config['meta'], 'authorizenet_conditional_enabled') ? "checked='checked'" : "";
        ?>
/>
                                    <label for="gf_authorizenet_conditional_enable"><?php 
        _e("Enable", "gravityformsauthorizenet");
        ?>
</label>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <div id="gf_authorizenet_conditional_container" <?php 
        echo !rgar($config['meta'], 'authorizenet_conditional_enabled') ? "style='display:none'" : "";
        ?>
>
                                        <div id="gf_authorizenet_conditional_fields" style="display:none">
                                            <?php 
        _e("Send to Authorize.Net if ", "gravityformsauthorizenet");
        ?>
                                            <select id="gf_authorizenet_conditional_field_id" name="gf_authorizenet_conditional_field_id" class="optin_select" onchange='jQuery("#gf_authorizenet_conditional_value_container").html(GetFieldValues(jQuery(this).val(), "", 20));'></select>
                                            <select id="gf_authorizenet_conditional_operator" name="gf_authorizenet_conditional_operator">
                                                <option value="is" <?php 
        echo rgar($config['meta'], 'authorizenet_conditional_operator') == "is" ? "selected='selected'" : "";
        ?>
><?php 
        _e("is", "gravityformsauthorizenet");
        ?>
</option>
                                                <option value="isnot" <?php 
        echo rgar($config['meta'], 'authorizenet_conditional_operator') == "isnot" ? "selected='selected'" : "";
        ?>
><?php 
        _e("is not", "gravityformsauthorizenet");
        ?>
</option>
                                                <option value=">" <?php 
        echo rgar($config['meta'], 'authorizenet_conditional_operator') == ">" ? "selected='selected'" : "";
        ?>
><?php 
        _e("greater than", "gravityformsauthorizenet");
        ?>
</option>
                                                <option value="<" <?php 
        echo rgar($config['meta'], 'authorizenet_conditional_operator') == "<" ? "selected='selected'" : "";
        ?>
><?php 
        _e("less than", "gravityformsauthorizenet");
        ?>
</option>
                                                <option value="contains" <?php 
        echo rgar($config['meta'], 'authorizenet_conditional_operator') == "contains" ? "selected='selected'" : "";
        ?>
><?php 
        _e("contains", "gravityformsauthorizenet");
        ?>
</option>
                                                <option value="starts_with" <?php 
        echo rgar($config['meta'], 'authorizenet_conditional_operator') == "starts_with" ? "selected='selected'" : "";
        ?>
><?php 
        _e("starts with", "gravityformsauthorizenet");
        ?>
</option>
                                                <option value="ends_with" <?php 
        echo rgar($config['meta'], 'authorizenet_conditional_operator') == "ends_with" ? "selected='selected'" : "";
        ?>
><?php 
        _e("ends with", "gravityformsauthorizenet");
        ?>
</option>
                                            </select>
                                            <div id="gf_authorizenet_conditional_value_container" name="gf_authorizenet_conditional_value_container" style="display:inline;"></div>
                                        </div>
                                        <div id="gf_authorizenet_conditional_message" style="display:none">
                                            <?php 
        _e("To create a registration condition, your form must have a field supported by conditional logic.", "gravityform");
        ?>
                                        </div>
                                    </div>
                                </td>
                            </tr>
                        </table>
                    </div>

                </div> <!-- / authorizenet conditional -->

                <div class="margin_vertical_10">
                        <label class="left_header" for="gf_authorizenet_api_settings"><?php 
        _e("API Settings", "gravityformsauthorizenet");
        ?>
 <?php 
        gform_tooltip("authorizenet_api_settings_enable");
        ?>
</label>
                        <input type="checkbox" name="gf_authorizenet_api_settings" id="gf_authorizenet_api_settings" value="1" onclick="if(jQuery(this).is(':checked')) jQuery('#authorizenet_api_settings_container').show('slow'); else jQuery('#authorizenet_api_settings_container').hide('slow');" <?php 
        echo rgars($config, "meta/api_settings_enabled") ? "checked='checked'" : "";
        ?>
 />
                        <label class="inline" for="gf_authorizenet_api_settings"><?php 
        _e("Override Default Settings", "gravityformsauthorizenet");
        ?>
</label>
                </div>

                <div id="authorizenet_api_settings_container" <?php 
        echo rgars($config, "meta/api_settings_enabled") ? "" : "style='display:none;'";
        ?>
>

                    <div class="margin_vertical_10">
                        <label class="left_header" for="gf_authorizenet_api_mode"><?php 
        _e("Mode", "gravityformsauthorizenet");
        ?>
 <?php 
        gform_tooltip("authorizenet_api_mode");
        ?>
</label>
                        <input type="radio" name="gf_authorizenet_api_mode" value="production" <?php 
        echo rgar($config["meta"], "api_mode") != "test" ? "checked='checked'" : "";
        ?>
/>
                        <label class="inline" for="gf_authorizenet_api_mode_production"><?php 
        _e("Production", "gravityformsauthorizenet");
        ?>
</label>
                        &nbsp;&nbsp;&nbsp;
                        <input type="radio" name="gf_authorizenet_api_mode" value="test" <?php 
        echo rgar($config["meta"], "api_mode") == "test" ? "checked='checked'" : "";
        ?>
/>
                        <label class="inline" for="gf_authorizenet_api_mode_test"><?php 
        _e("Test", "gravityformsauthorizenet");
        ?>
</label>
                    </div>

                    <div class="margin_vertical_10">
                        <label class="left_header" for="gf_authorizenet_api_login"><?php 
        _e("API Login ID", "gravityformsauthorizenet");
        ?>
 <?php 
        gform_tooltip("authorizenet_api_login");
        ?>
</label>
                        <input class="size-1" id="gf_authorizenet_api_login" name="gf_authorizenet_api_login" value="<?php 
        echo rgar($config["meta"], "api_login");
        ?>
" />
                        <img src="<?php 
        echo self::get_base_url();
        ?>
/images/<?php 
        echo $config["meta"]["api_valid"] ? "tick.png" : "stop.png";
        ?>
" border="0" alt="<?php 
        echo $config["meta"]["api_message"];
        ?>
" title="<?php 
        echo $config["meta"]["api_message"];
        ?>
" style="display:<?php 
        echo empty($config["meta"]["api_message"]) ? 'none;' : 'inline;';
        ?>
" />
                    </div>

                    <div class="margin_vertical_10">
                        <label class="left_header" for="gf_authorizenet_api_key"><?php 
        _e("Transaction Key", "gravityformsauthorizenet");
        ?>
 <?php 
        gform_tooltip("paypalpro_api_key");
        ?>
</label>
                        <input class="size-1" id="gf_authorizenet_api_key" name="gf_authorizenet_api_key" value="<?php 
        echo rgar($config["meta"], "api_key");
        ?>
" />
                        <img src="<?php 
        echo self::get_base_url();
        ?>
/images/<?php 
        echo $config["meta"]["api_valid"] ? "tick.png" : "stop.png";
        ?>
" border="0" alt="<?php 
        echo $config["meta"]["api_message"];
        ?>
" title="<?php 
        echo $config["meta"]["api_message"];
        ?>
" style="display:<?php 
        echo empty($config["meta"]["api_message"]) ? 'none;' : 'inline;';
        ?>
" />
                    </div>

                </div>

                <div id="authorizenet_submit_container" class="margin_vertical_30">
                    <input type="submit" name="gf_authorizenet_submit" value="<?php 
        echo empty($id) ? __("  Save  ", "gravityformsauthorizenet") : __("Update", "gravityformsauthorizenet");
        ?>
" class="button-primary"/>
                    <input type="button" value="<?php 
        _e("Cancel", "gravityformsauthorizenet");
        ?>
" class="button" onclick="javascript:document.location='admin.php?page=gf_authorizenet'" />
                </div>
            </div>
        </form>
        </div>

        <script type="text/javascript">
            jQuery(document).ready(function(){
                SetPeriodNumber('#gf_authorizenet_billing_cycle_number', jQuery("#gf_authorizenet_billing_cycle_type").val());
            });

            <?php 
        if (!empty($config["form_id"])) {
            ?>

                // initiliaze form object
                form = <?php 
            echo GFCommon::json_encode($form);
            ?>
 ;

                // initializing registration condition drop downs
                jQuery(document).ready(function(){
                    var selectedField = "<?php 
            echo str_replace('"', '\\"', $config["meta"]["authorizenet_conditional_field_id"]);
            ?>
";
                    var selectedValue = "<?php 
            echo str_replace('"', '\\"', $config["meta"]["authorizenet_conditional_value"]);
            ?>
";
                    SetAuthorizeNetCondition(selectedField, selectedValue);
                });

                <?php 
        }
        ?>

            function SelectType(type){
                jQuery("#authorizenet_field_group").slideUp();

                jQuery("#authorizenet_field_group input[type=\"text\"], #authorizenet_field_group select").val("");
                jQuery("#gf_authorizenet_trial_period_type, #gf_authorizenet_billing_cycle_type").val("M");

                jQuery("#authorizenet_field_group input:checked").attr("checked", false);

                if(type){
                    jQuery("#authorizenet_form_container").slideDown();
                    jQuery("#gf_authorizenet_form").val("");
                }
                else{
                    jQuery("#authorizenet_form_container").slideUp();
                }
            }

            function SelectForm(type, formId, settingId){
                if(!formId){
                    jQuery("#authorizenet_field_group").slideUp();
                    return;
                }

                jQuery("#authorizenet_wait").show();
                jQuery("#authorizenet_field_group").slideUp();

                var mysack = new sack(ajaxurl);
                mysack.execute = 1;
                mysack.method = 'POST';
                mysack.setVar( "action", "gf_select_authorizenet_form" );
                mysack.setVar( "gf_select_authorizenet_form", "<?php 
        echo wp_create_nonce("gf_select_authorizenet_form");
        ?>
" );
                mysack.setVar( "type", type);
                mysack.setVar( "form_id", formId);
                mysack.setVar( "setting_id", settingId);
                mysack.encVar( "cookie", document.cookie, false );
                mysack.onError = function() {jQuery("#authorizenet_wait").hide(); alert('<?php 
        _e("Ajax error while selecting a form", "gravityformsauthorizenet");
        ?>
' )};
                mysack.runAJAX();

                return true;
            }

            function EndSelectForm(form_meta, customer_fields, recurring_amount_options, product_field_options){
                //setting global form object
                form = form_meta;

                var type = jQuery("#gf_authorizenet_type").val();

                jQuery(".gf_authorizenet_invalid_form").hide();
                if( (type == "product" || type =="subscription") && GetFieldsByType(["product"]).length == 0){
                    jQuery("#gf_authorizenet_invalid_product_form").show();
                    jQuery("#authorizenet_wait").hide();
                    return;
                }
                else if( (type == "product" || type =="subscription") && GetFieldsByType(["creditcard"]).length == 0){
                    jQuery("#gf_authorizenet_invalid_creditcard_form").show();
                    jQuery("#authorizenet_wait").hide();
                    return;
                }

                jQuery(".authorizenet_field_container").hide();
                jQuery("#authorizenet_customer_fields").html(customer_fields);
                jQuery("#gf_authorizenet_recurring_amount").html(recurring_amount_options);

                jQuery("#gf_authorizenet_setup_fee_amount").html(product_field_options);

                var post_fields = GetFieldsByType(["post_title", "post_content", "post_excerpt", "post_category", "post_custom_field", "post_image", "post_tag"]);
                if(type == "subscription" && post_fields.length > 0){
                    jQuery("#authorizenet_post_update_action").show();
                }
                else{
                    jQuery("#gf_authorizenet_update_post").attr("checked", false);
                    jQuery("#authorizenet_post_update_action").hide();
                }

                SetPeriodNumber('#gf_authorizenet_billing_cycle_number', jQuery("#gf_authorizenet_billing_cycle_type").val());

                //Calling callback functions
                jQuery(document).trigger('authorizenetFormSelected', [form]);

                jQuery("#gf_authorizenet_conditional_enabled").attr('checked', false);
                SetAuthorizeNetCondition("","");

                jQuery("#authorizenet_field_container_" + type).show();
                jQuery("#authorizenet_field_group").slideDown();
                jQuery("#authorizenet_wait").hide();
            }

            function SetPeriodNumber(element, type){
                var prev = jQuery(element).val();

                var min = 1;
                var max = 0;
                switch(type){
                    case "D" :
                        min = 7;
                        max = 365;
                    break;
                    case "M" :
                        max = 12;
                    break;
                }
                var str="";
                for(var i=min; i<=max; i++){
                    var selected = prev == i ? "selected='selected'" : "";
                    str += "<option value='" + i + "' " + selected + ">" + i + "</option>";
                }
                jQuery(element).html(str);
            }

            function GetFieldsByType(types){
                var fields = new Array();
                for(var i=0; i<form["fields"].length; i++){
                    if(IndexOf(types, form["fields"][i]["type"]) >= 0)
                        fields.push(form["fields"][i]);
                }
                return fields;
            }

            function IndexOf(ary, item){
                for(var i=0; i<ary.length; i++)
                    if(ary[i] == item)
                        return i;

                return -1;
            }

            function SetAuthorizeNetCondition(selectedField, selectedValue){
                // load form fields
                jQuery("#gf_authorizenet_conditional_field_id").html(GetSelectableFields(selectedField, 20));
                var optinConditionField = jQuery("#gf_authorizenet_conditional_field_id").val();
                var checked = jQuery("#gf_authorizenet_conditional_enabled").attr('checked');

                if(optinConditionField){
                    jQuery("#gf_authorizenet_conditional_message").hide();
                    jQuery("#gf_authorizenet_conditional_fields").show();
                    jQuery("#gf_authorizenet_conditional_value_container").html(GetFieldValues(optinConditionField, selectedValue, 20));
                    jQuery("#gf_authorizenet_conditional_value").val(selectedValue);
                }
                else{
                    jQuery("#gf_authorizenet_conditional_message").show();
                    jQuery("#gf_authorizenet_conditional_fields").hide();
                }

                if(!checked) jQuery("#gf_authorizenet_conditional_container").hide();

            }

            function GetFieldValues(fieldId, selectedValue, labelMaxCharacters){
                if(!fieldId)
                    return "";

                var str = "";
                var field = GetFieldById(fieldId);
                if(!field)
                    return "";

                var isAnySelected = false;

                if(field["type"] == "post_category" && field["displayAllCategories"]){
                    str += '<?php 
        $dd = wp_dropdown_categories(array("class" => "optin_select", "orderby" => "name", "id" => "gf_authorizenet_conditional_value", "name" => "gf_authorizenet_conditional_value", "hierarchical" => true, "hide_empty" => 0, "echo" => false));
        echo str_replace("\n", "", str_replace("'", "\\'", $dd));
        ?>
';
                }
                else if(field.choices){
                    str += '<select id="gf_authorizenet_conditional_value" name="gf_authorizenet_conditional_value" class="optin_select">'

                    for(var i=0; i<field.choices.length; i++){
                        var fieldValue = field.choices[i].value ? field.choices[i].value : field.choices[i].text;
                        var isSelected = fieldValue == selectedValue;
                        var selected = isSelected ? "selected='selected'" : "";
                        if(isSelected)
                            isAnySelected = true;

                        str += "<option value='" + fieldValue.replace(/'/g, "&#039;") + "' " + selected + ">" + TruncateMiddle(field.choices[i].text, labelMaxCharacters) + "</option>";
                    }

                    if(!isAnySelected && selectedValue){
                        str += "<option value='" + selectedValue.replace(/'/g, "&#039;") + "' selected='selected'>" + TruncateMiddle(selectedValue, labelMaxCharacters) + "</option>";
                    }
                    str += "</select>";
                }
                else
                {
                    selectedValue = selectedValue ? selectedValue.replace(/'/g, "&#039;") : "";
                    //create a text field for fields that don't have choices (i.e text, textarea, number, email, etc...)
                    str += "<input type='text' placeholder='<?php 
        _e("Enter value", "gravityforms");
        ?>
' id='gf_authorizenet_conditional_value' name='gf_authorizenet_conditional_value' value='" + selectedValue.replace(/'/g, "&#039;") + "'>";
                }

                return str;
            }

            function GetFieldById(fieldId){
                for(var i=0; i<form.fields.length; i++){
                    if(form.fields[i].id == fieldId)
                        return form.fields[i];
                }
                return null;
            }

            function TruncateMiddle(text, maxCharacters){
                if(text.length <= maxCharacters)
                    return text;
                var middle = parseInt(maxCharacters / 2);
                return text.substr(0, middle) + "..." + text.substr(text.length - middle, middle);
            }

            function GetSelectableFields(selectedFieldId, labelMaxCharacters){
                var str = "";
                var inputType;
                for(var i=0; i<form.fields.length; i++){
                    fieldLabel = form.fields[i].adminLabel ? form.fields[i].adminLabel : form.fields[i].label;
                    fieldLabel = typeof fieldLabel == 'undefined' ? '' : fieldLabel;
                    inputType = form.fields[i].inputType ? form.fields[i].inputType : form.fields[i].type;
                    if (IsConditionalLogicField(form.fields[i])) {
                        var selected = form.fields[i].id == selectedFieldId ? "selected='selected'" : "";
                        str += "<option value='" + form.fields[i].id + "' " + selected + ">" + TruncateMiddle(fieldLabel, labelMaxCharacters) + "</option>";
                    }
                }
                return str;
            }

            function IsConditionalLogicField(field){
                inputType = field.inputType ? field.inputType : field.type;
                var supported_fields = ["checkbox", "radio", "select", "text", "website", "textarea", "email", "hidden", "number", "phone", "multiselect", "post_title",
                                        "post_tags", "post_custom_field", "post_content", "post_excerpt"];

                var index = jQuery.inArray(inputType, supported_fields);

                return index >= 0;
            }

        </script>

        <?php 
    }
示例#18
0
    private static function stats_page()
    {
        ?>
        <style>
          .paypal_graph_container{clear:both; padding-left:5px; min-width:789px; margin-right:50px;}
        .paypal_message_container{clear: both; padding-left:5px; text-align:center; padding-top:120px; border: 1px solid #CCC; background-color: #FFF; width:100%; height:160px;}
        .paypal_summary_container {margin:30px 60px; text-align: center; min-width:740px; margin-left:50px;}
        .paypal_summary_item {width:160px; background-color: #FFF; border: 1px solid #CCC; padding:14px 8px; margin:6px 3px 6px 0; display: -moz-inline-stack; display: inline-block; zoom: 1; *display: inline; text-align:center;}
        .paypal_summary_value {font-size:20px; margin:5px 0; font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif}
        .paypal_summary_title {}
        #paypal_graph_tooltip {border:4px solid #b9b9b9; padding:11px 0 0 0; background-color: #f4f4f4; text-align:center; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; -khtml-border-radius: 4px;}
        #paypal_graph_tooltip .tooltip_tip {width:14px; height:14px; background-image:url(<?php 
        echo self::get_base_url();
        ?>
/images/tooltip_tip.png); background-repeat: no-repeat; position: absolute; bottom:-14px; left:68px;}

        .paypal_tooltip_date {line-height:130%; font-weight:bold; font-size:13px; color:#21759B;}
        .paypal_tooltip_sales {line-height:130%;}
        .paypal_tooltip_revenue {line-height:130%;}
            .paypal_tooltip_revenue .paypal_tooltip_heading {}
            .paypal_tooltip_revenue .paypal_tooltip_value {}
            .paypal_trial_disclaimer {clear:both; padding-top:20px; font-size:10px;}
        </style>
        <script type="text/javascript" src="<?php 
        echo self::get_base_url();
        ?>
/flot/jquery.flot.min.js"></script>
        <script type="text/javascript" src="<?php 
        echo self::get_base_url();
        ?>
/js/currency.js"></script>

        <div class="wrap">
            <img alt="<?php 
        _e("PayPal", "gravityformspaypal");
        ?>
" style="margin: 15px 7px 0pt 0pt; float: left;" src="<?php 
        echo self::get_base_url();
        ?>
/images/paypal_wordpress_icon_32.png"/>
            <h2><?php 
        _e("PayPal Stats", "gravityformspaypal");
        ?>
</h2>

            <form method="post" action="">
                <ul class="subsubsub">
                    <li><a class="<?php 
        echo !RGForms::get("tab") || RGForms::get("tab") == "daily" ? "current" : "";
        ?>
" href="?page=gf_paypal&view=stats&id=<?php 
        echo $_GET["id"];
        ?>
"><?php 
        _e("Daily", "gravityforms");
        ?>
</a> | </li>
                    <li><a class="<?php 
        echo RGForms::get("tab") == "weekly" ? "current" : "";
        ?>
" href="?page=gf_paypal&view=stats&id=<?php 
        echo $_GET["id"];
        ?>
&tab=weekly"><?php 
        _e("Weekly", "gravityforms");
        ?>
</a> | </li>
                    <li><a class="<?php 
        echo RGForms::get("tab") == "monthly" ? "current" : "";
        ?>
" href="?page=gf_paypal&view=stats&id=<?php 
        echo $_GET["id"];
        ?>
&tab=monthly"><?php 
        _e("Monthly", "gravityforms");
        ?>
</a></li>
                </ul>
                <?php 
        $config = GFPayPalData::get_feed(RGForms::get("id"));
        switch (RGForms::get("tab")) {
            case "monthly":
                $chart_info = self::monthly_chart_info($config);
                break;
            case "weekly":
                $chart_info = self::weekly_chart_info($config);
                break;
            default:
                $chart_info = self::daily_chart_info($config);
                break;
        }
        if (!$chart_info["series"]) {
            ?>
                    <div class="paypal_message_container"><?php 
            _e("No payments have been made yet.", "gravityformspaypal");
            ?>
 <?php 
            echo $config["meta"]["trial_period_enabled"] && empty($config["meta"]["trial_amount"]) ? " **" : "";
            ?>
</div>
                    <?php 
        } else {
            ?>
                    <div class="paypal_graph_container">
                        <div id="graph_placeholder" style="width:100%;height:300px;"></div>
                    </div>

                    <script type="text/javascript">
                        var paypal_graph_tooltips = <?php 
            echo $chart_info["tooltips"];
            ?>
;

                        jQuery.plot(jQuery("#graph_placeholder"), <?php 
            echo $chart_info["series"];
            ?>
, <?php 
            echo $chart_info["options"];
            ?>
);
                        jQuery(window).resize(function(){
                            jQuery.plot(jQuery("#graph_placeholder"), <?php 
            echo $chart_info["series"];
            ?>
, <?php 
            echo $chart_info["options"];
            ?>
);
                        });

                        var previousPoint = null;
                        jQuery("#graph_placeholder").bind("plothover", function (event, pos, item) {
                            startShowTooltip(item);
                        });

                        jQuery("#graph_placeholder").bind("plotclick", function (event, pos, item) {
                            startShowTooltip(item);
                        });

                        function startShowTooltip(item){
                            if (item) {
                                if (!previousPoint || previousPoint[0] != item.datapoint[0]) {
                                    previousPoint = item.datapoint;

                                    jQuery("#paypal_graph_tooltip").remove();
                                    var x = item.datapoint[0].toFixed(2),
                                        y = item.datapoint[1].toFixed(2);

                                    showTooltip(item.pageX, item.pageY, paypal_graph_tooltips[item.dataIndex]);
                                }
                            }
                            else {
                                jQuery("#paypal_graph_tooltip").remove();
                                previousPoint = null;
                            }
                        }

                        function showTooltip(x, y, contents) {
                            jQuery('<div id="paypal_graph_tooltip">' + contents + '<div class="tooltip_tip"></div></div>').css( {
                                position: 'absolute',
                                display: 'none',
                                opacity: 0.90,
                                width:'150px',
                                height:'<?php 
            echo $config["meta"]["type"] == "subscription" ? "75px" : "60px";
            ?>
',
                                top: y - <?php 
            echo $config["meta"]["type"] == "subscription" ? "100" : "89";
            ?>
,
                                left: x - 79
                            }).appendTo("body").fadeIn(200);
                        }


                        function convertToMoney(number){
                            var currency = getCurrentCurrency();
                            return currency.toMoney(number);
                        }
                        function formatWeeks(number){
                            number = number + "";
                            return "<?php 
            _e("Week ", "gravityformspaypal");
            ?>
" + number.substring(number.length-2);
                        }

                        function getCurrentCurrency(){
                            <?php 
            if (!class_exists("RGCurrency")) {
                require_once ABSPATH . "/" . PLUGINDIR . "/gravityforms/currency.php";
            }
            $current_currency = RGCurrency::get_currency(GFCommon::get_currency());
            ?>
                            var currency = new Currency(<?php 
            echo GFCommon::json_encode($current_currency);
            ?>
);
                            return currency;
                        }
                    </script>
                <?php 
        }
        $payment_totals = RGFormsModel::get_form_payment_totals($config["form_id"]);
        $transaction_totals = GFPayPalData::get_transaction_totals($config["form_id"]);
        switch ($config["meta"]["type"]) {
            case "product":
                $total_sales = $payment_totals["orders"];
                $sales_label = __("Total Orders", "gravityformspaypal");
                break;
            case "donation":
                $total_sales = $payment_totals["orders"];
                $sales_label = __("Total Donations", "gravityformspaypal");
                break;
            case "subscription":
                $total_sales = $payment_totals["active"];
                $sales_label = __("Active Subscriptions", "gravityformspaypal");
                break;
        }
        $total_revenue = empty($transaction_totals["payment"]["revenue"]) ? 0 : $transaction_totals["payment"]["revenue"];
        ?>
                <div class="paypal_summary_container">
                    <div class="paypal_summary_item">
                        <div class="paypal_summary_title"><?php 
        _e("Total Revenue", "gravityformspaypal");
        ?>
</div>
                        <div class="paypal_summary_value"><?php 
        echo GFCommon::to_money($total_revenue);
        ?>
</div>
                    </div>
                    <div class="paypal_summary_item">
                        <div class="paypal_summary_title"><?php 
        echo $chart_info["revenue_label"];
        ?>
</div>
                        <div class="paypal_summary_value"><?php 
        echo $chart_info["revenue"];
        ?>
</div>
                    </div>
                    <div class="paypal_summary_item">
                        <div class="paypal_summary_title"><?php 
        echo $sales_label;
        ?>
</div>
                        <div class="paypal_summary_value"><?php 
        echo $total_sales;
        ?>
</div>
                    </div>
                    <div class="paypal_summary_item">
                        <div class="paypal_summary_title"><?php 
        echo $chart_info["sales_label"];
        ?>
</div>
                        <div class="paypal_summary_value"><?php 
        echo $chart_info["sales"];
        ?>
</div>
                    </div>
                </div>
                <?php 
        if (!$chart_info["series"] && $config["meta"]["trial_period_enabled"] && empty($config["meta"]["trial_amount"])) {
            ?>
                    <div class="paypal_trial_disclaimer"><?php 
            _e("** Free trial transactions will only be reflected in the graph after the first payment is made (i.e. after trial period ends)", "gravityformspaypal");
            ?>
</div>
                    <?php 
        }
        ?>
            </form>
        </div>
        <?php 
    }
    public static function gravityforms_settings_page()
    {
        global $wpdb;
        if (!GFCommon::ensure_wp_version()) {
            return;
        }
        if (isset($_GET["setup"])) {
            //forcing setup
            RGForms::setup(true);
        }
        if (isset($_POST["submit"])) {
            check_admin_referer('gforms_update_settings', 'gforms_update_settings');
            if (!GFCommon::current_user_can_any("gravityforms_edit_settings")) {
                die(__("You don't have adequate permission to edit settings.", "gravityforms"));
            }
            RGFormsModel::save_key($_POST["gforms_key"]);
            update_option("rg_gforms_disable_css", $_POST["gforms_disable_css"]);
            update_option("rg_gforms_enable_html5", $_POST["gforms_enable_html5"]);
            update_option("rg_gforms_captcha_public_key", $_POST["gforms_captcha_public_key"]);
            update_option("rg_gforms_captcha_private_key", $_POST["gforms_captcha_private_key"]);
            if (!rgempty("gforms_currency")) {
                update_option("rg_gforms_currency", rgpost("gforms_currency"));
            }
            //Updating message because key could have been changed
            GFCommon::cache_remote_message();
            //Re-caching version info
            $version_info = GFCommon::get_version_info(false);
            ?>
            <div class="updated fade" style="padding:6px;">
                <?php 
            _e("Settings Updated", "gravityforms");
            ?>
.
             </div>
             <?php 
        } else {
            if (isset($_POST["uninstall"])) {
                if (!GFCommon::current_user_can_any("gravityforms_uninstall") || function_exists("is_multisite") && is_multisite() && !is_super_admin()) {
                    die(__("You don't have adequate permission to uninstall Gravity Forms.", "gravityforms"));
                }
                //droping all tables
                RGFormsModel::drop_tables();
                //removing options
                delete_option("rg_form_version");
                delete_option("rg_gforms_key");
                delete_option("rg_gforms_disable_css");
                delete_option("rg_gforms_enable_html5");
                delete_option("rg_gforms_captcha_public_key");
                delete_option("rg_gforms_captcha_private_key");
                delete_option("rg_gforms_message");
                delete_option("gf_dismissed_upgrades");
                delete_option("rg_gforms_currency");
                //removing gravity forms upload folder
                GFCommon::delete_directory(RGFormsModel::get_upload_root());
                //Deactivating plugin
                $plugin = "gravityforms/gravityforms.php";
                deactivate_plugins($plugin);
                update_option('recently_activated', array($plugin => time()) + (array) get_option('recently_activated'));
                ?>
            <div class="updated fade" style="padding:20px;"><?php 
                echo sprintf(__("Gravity Forms have been successfully uninstalled. It can be re-activated from the %splugins page%s.", "gravityforms"), "<a href='plugins.php'>", "</a>");
                ?>
</div>
            <?php 
                return;
            }
        }
        if (!isset($version_info)) {
            $version_info = GFCommon::get_version_info();
        }
        ?>
        <form method="post">
            <?php 
        wp_nonce_field('gforms_update_settings', 'gforms_update_settings');
        ?>
            <h3><?php 
        _e("General Settings", "gravityforms");
        ?>
</h3>
            <table class="form-table">
              <tr valign="top">
                   <th scope="row"><label for="gforms_key"><?php 
        _e("Support License Key", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_license_key");
        ?>
</th>
                    <td>
                        <?php 
        $key = GFCommon::get_key();
        $key_field = '<input type="password" name="gforms_key" id="gforms_key" style="width:350px;" value="' . $key . '" />';
        if ($version_info["is_valid_key"]) {
            $key_field .= "&nbsp;<img src='" . GFCommon::get_base_url() . "/images/tick.png' class='gf_keystatus_valid' alt='valid key' title='valid key'/>";
        } else {
            if (!empty($key)) {
                $key_field .= "&nbsp;<img src='" . GFCommon::get_base_url() . "/images/cross.png' class='gf_keystatus_invalid' alt='invalid key' title='invalid key'/>";
            }
        }
        echo apply_filters('gform_settings_key_field', $key_field);
        ?>
                        <br />
                        <?php 
        _e("The license key is used for access to automatic upgrades and support.", "gravityforms");
        ?>
                    </td>
                </tr>
               <tr valign="top">
                    <th scope="row"><label for="gforms_disable_css"><?php 
        _e("Output CSS", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_output_css");
        ?>
</th>
                    <td>
                        <input type="radio" name="gforms_disable_css" value="0" id="gforms_css_output_enabled" <?php 
        echo get_option('rg_gforms_disable_css') == 1 ? "" : "checked='checked'";
        ?>
 /> <?php 
        _e("Yes", "gravityforms");
        ?>
&nbsp;&nbsp;
                        <input type="radio" name="gforms_disable_css" value="1" id="gforms_css_output_disabled" <?php 
        echo get_option('rg_gforms_disable_css') == 1 ? "checked='checked'" : "";
        ?>
 /> <?php 
        _e("No", "gravityforms");
        ?>
<br />
                        <?php 
        _e("Set this to No if you would like to disable the plugin from outputting the form CSS.", "gravityforms");
        ?>
                    </td>
                </tr>
                <tr valign="top">
                     <th scope="row"><label for="gforms_enable_html5"><?php 
        _e("Output HTML5", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_html5");
        ?>
</th>
                    <td>
                        <input type="radio" name="gforms_enable_html5" value="1" <?php 
        echo get_option('rg_gforms_enable_html5') == 1 ? "checked='checked'" : "";
        ?>
 id="gforms_enable_html5"/> <?php 
        _e("Yes", "gravityforms");
        ?>
&nbsp;&nbsp;
                        <input type="radio" name="gforms_enable_html5" value="0" <?php 
        echo get_option('rg_gforms_enable_html5') == 1 ? "" : "checked='checked'";
        ?>
 /> <?php 
        _e("No", "gravityforms");
        ?>
<br />
                        <?php 
        _e("Set this to No if you would like to disable the plugin from outputting HTML5 form fields.", "gravityforms");
        ?>
                    </td>
                </tr>
                <tr valign="top">
                    <th scope="row"><label for="gforms_currency"><?php 
        _e("Currency", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_currency");
        ?>
</th>
                    <td>
                        <?php 
        $disabled = apply_filters("gform_currency_disabled", false) ? "disabled='disabled'" : "";
        ?>

                        <select id="gforms_currency" name="gforms_currency" <?php 
        echo $disabled;
        ?>
>
                            <?php 
        require_once "currency.php";
        $current_currency = GFCommon::get_currency();
        foreach (RGCurrency::get_currencies() as $code => $currency) {
            ?>
                                    <option value="<?php 
            echo $code;
            ?>
" <?php 
            echo $current_currency == $code ? "selected='selected'" : "";
            ?>
><?php 
            echo $currency["name"];
            ?>
</option>
                                    <?php 
        }
        ?>
                        </select>
                        <?php 
        do_action("gform_currency_setting_message", "");
        ?>
                    </td>
                </tr>
            </table>

            <div class="hr-divider"></div>

              <h3><?php 
        _e("reCAPTCHA Settings", "gravityforms");
        ?>
</h3>

              <p style="text-align: left;"><?php 
        _e("Gravity Forms integrates with reCAPTCHA, a free CAPTCHA service that helps to digitize books while protecting your forms from spam bots. ", "gravityforms");
        ?>
<a href="http://www.google.com/recaptcha/" target="_blank"><?php 
        _e("Read more about reCAPTCHA", "gravityforms");
        ?>
</a>.</p>

              <table class="form-table">


                <tr valign="top">
                   <th scope="row"><label for="gforms_captcha_public_key"><?php 
        _e("reCAPTCHA Public Key", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_recaptcha_public");
        ?>
</th>
                    <td>
                        <input type="text" name="gforms_captcha_public_key" style="width:350px;" value="<?php 
        echo get_option("rg_gforms_captcha_public_key");
        ?>
" /><br />
                        <?php 
        _e("Required only if you decide to use the reCAPTCHA field.", "gravityforms");
        ?>
 <?php 
        printf(__("%sSign up%s for a free account to get the key.", "gravityforms"), '<a target="_blank" href="http://www.google.com/recaptcha/whyrecaptcha">', '</a>');
        ?>
                    </td>
                </tr>
                <tr valign="top">
                   <th scope="row"><label for="gforms_captcha_private_key"><?php 
        _e("reCAPTCHA Private Key", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_recaptcha_private");
        ?>
</th>
                    <td>
                        <input type="text" name="gforms_captcha_private_key" style="width:350px;" value="<?php 
        echo esc_attr(get_option("rg_gforms_captcha_private_key"));
        ?>
" /><br />
                        <?php 
        _e("Required only if you decide to use the reCAPTCHA field.", "gravityforms");
        ?>
 <?php 
        printf(__("%sSign up%s for a free account to get the key.", "gravityforms"), '<a target="_blank" href="http://www.google.com/recaptcha/whyrecaptcha">', '</a>');
        ?>
                    </td>
                </tr>

              </table>

           <?php 
        if (GFCommon::current_user_can_any("gravityforms_edit_settings")) {
            ?>
                <br/><br/>
                <p class="submit" style="text-align: left;">
                <?php 
            $save_button = '<input type="submit" name="submit" value="' . __("Save Settings", "gravityforms") . '" class="button-primary gf_settings_savebutton"/>';
            echo apply_filters("gform_settings_save_button", $save_button);
            ?>
                </p>
           <?php 
        }
        ?>
        </form>

              <div id='gform_upgrade_license' style="display:none;"></div>
              <script type="text/javascript">
                jQuery(document).ready(function(){
                    jQuery.post(ajaxurl,{
                            action:"gf_upgrade_license",
                            gf_upgrade_license: "<?php 
        echo wp_create_nonce("gf_upgrade_license");
        ?>
",
                            cookie: encodeURIComponent(document.cookie)},

                            function(data){
                                if(data.trim().length > 0)
                                    jQuery("#gform_upgrade_license").replaceWith(data);
                            }
                    );
                });
              </script>

              <div class="hr-divider"></div>

              <h3><?php 
        _e("Installation Status", "gravityforms");
        ?>
</h3>
              <table class="form-table">

                <tr valign="top">
                   <th scope="row"><label><?php 
        _e("PHP Version", "gravityforms");
        ?>
</label></th>
                    <td class="installation_item_cell">
                        <strong><?php 
        echo phpversion();
        ?>
</strong>
                    </td>
                    <td>
                        <?php 
        if (version_compare(phpversion(), '5.0.0', '>')) {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/tick.png"/>
                                <?php 
        } else {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/cross.png"/>
                                <span class="installation_item_message"><?php 
            _e("Gravity Forms requires PHP 5 or above.", "gravityforms");
            ?>
</span>
                                <?php 
        }
        ?>
                    </td>
                </tr>
                <tr valign="top">
                   <th scope="row"><label><?php 
        _e("MySQL Version", "gravityforms");
        ?>
</label></th>
                    <td class="installation_item_cell">
                        <strong><?php 
        echo $wpdb->db_version();
        ?>
</strong>
                    </td>
                    <td>
                        <?php 
        if (version_compare($wpdb->db_version(), '5.0.0', '>')) {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/tick.png"/>
                                <?php 
        } else {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/cross.png"/>
                                <span class="installation_item_message"><?php 
            _e("Gravity Forms requires MySQL 5 or above.", "gravityforms");
            ?>
</span>
                                <?php 
        }
        ?>
                    </td>
                </tr>
                <tr valign="top">
                   <th scope="row"><label><?php 
        _e("WordPress Version", "gravityforms");
        ?>
</label></th>
                    <td class="installation_item_cell">
                        <strong><?php 
        echo get_bloginfo("version");
        ?>
</strong>
                    </td>
                    <td>
                        <?php 
        if (version_compare(get_bloginfo("version"), '2.8.0', '>')) {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/tick.png"/>
                                <?php 
        } else {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/cross.png"/>
                                <span class="installation_item_message"><?php 
            _e("Gravity Forms requires WordPress 2.8 or above.", "gravityforms");
            ?>
</span>
                                <?php 
        }
        ?>
                    </td>
                </tr>
                 <tr valign="top">
                   <th scope="row"><label><?php 
        _e("Gravity Forms Version", "gravityforms");
        ?>
</label></th>
                    <td class="installation_item_cell">
                        <strong><?php 
        echo GFCommon::$version;
        ?>
</strong>
                    </td>
                    <td>
                        <?php 
        if (version_compare(GFCommon::$version, $version_info["version"], '>=')) {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/tick.png"/>
                                <?php 
        } else {
            echo sprintf(__("New version %s available. Automatic upgrade available on the %splugins page%s", "gravityforms"), $version_info["version"], '<a href="plugins.php">', '</a>');
        }
        ?>
                    </td>
                </tr>
            </table>



        <form action="" method="post">
            <?php 
        if (GFCommon::current_user_can_any("gravityforms_uninstall") && (!function_exists("is_multisite") || !is_multisite() || is_super_admin())) {
            ?>
                <div class="hr-divider"></div>

                <h3><?php 
            _e("Uninstall Gravity Forms", "gravityforms");
            ?>
</h3>
                <div class="delete-alert alert_red"><h3><?php 
            _e("Warning", "gravityforms");
            ?>
</h3><p><?php 
            _e("This operation deletes ALL Gravity Forms data. If you continue, You will not be able to retrieve or restore your forms or entries.", "gravityforms");
            ?>
</p>
                    <?php 
            $uninstall_button = '<input type="submit" name="uninstall" value="' . __("Uninstall Gravity Forms", "gravityforms") . '" class="button" onclick="return confirm(\'' . __("Warning! ALL Gravity Forms data, including form entries will be deleted. This cannot be undone. \\'OK\\' to delete, \\'Cancel\\' to stop", "gravityforms") . '\');"/>';
            echo apply_filters("gform_uninstall_button", $uninstall_button);
            ?>

                </div>
            <?php 
        }
        ?>
        </form>

        <?php 
    }
示例#20
0
 public static function get_form_init_scripts($form)
 {
     $script_string = '';
     // temporary solution for output gf_global obj until wp min version raised to 3.3
     if (wp_script_is("gforms_gravityforms")) {
         require_once GFCommon::get_base_path() . '/currency.php';
         $gf_global_script = "if(typeof gf_global == 'undefined') var gf_global = {gf_currency_config: " . json_encode(RGCurrency::get_currency(GFCommon::get_currency())) . " };";
     }
     /* rendering initialization scripts */
     $init_scripts = rgar(self::$init_scripts, $form["id"]);
     if (!empty($init_scripts)) {
         $script_string = "<script type='text/javascript'>" . apply_filters("gform_cdata_open", "") . " ";
         $script_string .= isset($gf_global_script) ? $gf_global_script : '';
         $script_string .= "jQuery(document).bind('gform_post_render', function(event, formId, currentPage){" . "if(formId == {$form['id']}) {";
         foreach ($init_scripts as $init_script) {
             if ($init_script["location"] == self::ON_PAGE_RENDER) {
                 $script_string .= $init_script["script"];
             }
         }
         $script_string .= "} " . "} );" . "jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){";
         foreach ($init_scripts as $init_script) {
             if ($init_script["location"] == self::ON_CONDITIONAL_LOGIC) {
                 $script_string .= $init_script["script"];
             }
         }
         $script_string .= "} );" . apply_filters("gform_cdata_close", "") . "</script>";
     }
     return $script_string;
 }
示例#21
0
 public static function gf_vars($echo = true)
 {
     if (!class_exists('RGCurrency')) {
         require_once 'currency.php';
     }
     $gf_vars = array();
     $gf_vars['active'] = esc_attr__('Active', 'gravityforms');
     $gf_vars['inactive'] = esc_attr__('Inactive', 'gravityforms');
     $gf_vars['save'] = esc_html__('Save', 'gravityforms');
     $gf_vars['update'] = esc_html__('Update', 'gravityforms');
     $gf_vars['previousLabel'] = esc_html__('Previous', 'gravityforms');
     $gf_vars['selectFormat'] = esc_html__('Select a format', 'gravityforms');
     $gf_vars['editToViewAll'] = esc_html__('5 of %d items shown. Edit field to view all', 'gravityforms');
     $gf_vars['enterValue'] = esc_html__('Enter a value', 'gravityforms');
     $gf_vars['formTitle'] = esc_html__('Untitled Form', 'gravityforms');
     $gf_vars['formDescription'] = esc_html__('We would love to hear from you! Please fill out this form and we will get in touch with you shortly.', 'gravityforms');
     $gf_vars['formConfirmationMessage'] = esc_html__('Thanks for contacting us! We will get in touch with you shortly.', 'gravityforms');
     $gf_vars['buttonText'] = esc_html__('Submit', 'gravityforms');
     $gf_vars['loading'] = esc_html__('Loading...', 'gravityforms');
     $gf_vars['thisFieldIf'] = esc_html__('this field if', 'gravityforms');
     $gf_vars['thisPage'] = esc_html__('this page', 'gravityforms');
     $gf_vars['thisFormButton'] = esc_html__('this form button if', 'gravityforms');
     $gf_vars['show'] = esc_html__('Show', 'gravityforms');
     $gf_vars['hide'] = esc_html__('Hide', 'gravityforms');
     $gf_vars['all'] = esc_html(_x('All', 'Conditional Logic', 'gravityforms'));
     $gf_vars['any'] = esc_html(_x('Any', 'Conditional Logic', 'gravityforms'));
     $gf_vars['ofTheFollowingMatch'] = esc_html('of the following match:', 'gravityforms');
     $gf_vars['is'] = esc_html('is', 'gravityforms');
     $gf_vars['isNot'] = esc_html('is not', 'gravityforms');
     $gf_vars['greaterThan'] = esc_html('greater than', 'gravityforms');
     $gf_vars['lessThan'] = esc_html('less than', 'gravityforms');
     $gf_vars['contains'] = esc_html('contains', 'gravityforms');
     $gf_vars['startsWith'] = esc_html('starts with', 'gravityforms');
     $gf_vars['endsWith'] = esc_html('ends with', 'gravityforms');
     $gf_vars['thisConfirmation'] = esc_html('Use this confirmation if', 'gravityforms');
     $gf_vars['thisNotification'] = esc_html('Send this notification if', 'gravityforms');
     $gf_vars['confirmationSave'] = esc_html('Save', 'gravityforms');
     $gf_vars['confirmationSaving'] = esc_html('Saving...', 'gravityforms');
     $gf_vars['confirmationAreYouSure'] = __('Are you sure you wish to cancel these changes?', 'gravityforms');
     $gf_vars['confirmationIssueSaving'] = __('There was an issue saving this confirmation.', 'gravityforms');
     $gf_vars['confirmationConfirmDelete'] = __('Are you sure you wish to delete this confirmation?', 'gravityforms');
     $gf_vars['confirmationIssueDeleting'] = __('There was an issue deleting this confirmation.', 'gravityforms');
     $gf_vars['confirmationConfirmDiscard'] = __('There are unsaved changes to the current confirmation. Would you like to discard these changes?', 'gravityforms');
     $gf_vars['confirmationDefaultName'] = __('Untitled Confirmation', 'gravityforms');
     $gf_vars['confirmationDefaultMessage'] = __('Thanks for contacting us! We will get in touch with you shortly.', 'gravityforms');
     $gf_vars['confirmationInvalidPageSelection'] = __('Please select a page.', 'gravityforms');
     $gf_vars['confirmationInvalidRedirect'] = __('Please enter a URL.', 'gravityforms');
     $gf_vars['confirmationInvalidName'] = __('Please enter a confirmation name.', 'gravityforms');
     $gf_vars['conditionalLogicDependency'] = __("This form contains conditional logic dependent upon this field. Are you sure you want to delete this field? 'OK' to delete, 'Cancel' to abort.", 'gravityforms');
     $gf_vars['conditionalLogicDependencyChoice'] = __("This form contains conditional logic dependent upon this choice. Are you sure you want to delete this choice? 'OK' to delete, 'Cancel' to abort.", 'gravityforms');
     $gf_vars['conditionalLogicDependencyChoiceEdit'] = __("This form contains conditional logic dependent upon this choice. Are you sure you want to modify this choice? 'OK' to delete, 'Cancel' to abort.", 'gravityforms');
     $gf_vars['mergeTagsTooltip'] = '<h6>' . esc_html__('Merge Tags', 'gravityforms') . '</h6>' . esc_html__('Merge tags allow you to dynamically populate submitted field values in your form content wherever this merge tag icon is present.', 'gravityforms');
     $gf_vars['baseUrl'] = GFCommon::get_base_url();
     $gf_vars['gf_currency_config'] = RGCurrency::get_currency(GFCommon::get_currency());
     $gf_vars['otherChoiceValue'] = GFCommon::get_other_choice_value();
     $gf_vars['isFormTrash'] = false;
     $gf_vars['currentlyAddingField'] = false;
     $gf_vars['addFieldFilter'] = esc_html__('Add a condition', 'gravityforms');
     $gf_vars['removeFieldFilter'] = esc_html__('Remove a condition', 'gravityforms');
     $gf_vars['filterAndAny'] = esc_html__('Include results if {0} match:', 'gravityforms');
     $gf_vars['customChoices'] = esc_html__('Custom Choices', 'gravityforms');
     $gf_vars['predefinedChoices'] = esc_html__('Predefined Choices', 'gravityforms');
     if (is_admin() && rgget('id')) {
         $form = RGFormsModel::get_form_meta(rgget('id'));
         $gf_vars['mergeTags'] = GFCommon::get_merge_tags($form['fields'], '', false);
     }
     $gf_vars_json = 'var gf_vars = ' . json_encode($gf_vars) . ';';
     if (!$echo) {
         return $gf_vars_json;
     } else {
         echo $gf_vars_json;
     }
 }
示例#22
0

		}
		else {
			jQuery("#" + objectType + "_conditional_logic").prop("disabled", true).prop("checked", false);
			jQuery("#" + objectType + "_conditional_logic_container").show().html("<span class='instruction' style='margin-left:0'><?php 
_e('To use conditional logic, please create a field that supports conditional logic.', 'gravityforms');
?>
</span>");
		}
	}

	function GetCurrentCurrency() {
		<?php 
require_once 'currency.php';
$current_currency = RGCurrency::get_currency(GFCommon::get_currency());
?>
		var currency = new Currency(<?php 
echo GFCommon::json_encode($current_currency);
?>
);
		return currency;
	}

	function ToggleColumns(isInit) {
		var speed = isInit ? "" : "slow";
		var field = GetSelectedField();

		if (jQuery('#field_columns_enabled').is(":checked")) {
			jQuery('#gfield_settings_columns_container').show(speed);
示例#23
0
    public static function forms_page($form_id)
    {
        global $wpdb;
        if (!GFCommon::ensure_wp_version()) {
            return;
        }
        $update_result = "";
        if (rgpost("operation") == "delete") {
            check_admin_referer('gforms_delete_form', 'gforms_delete_form');
            RGFormsModel::delete_form($form_id);
            ?>
                <script type="text/javascript">
                jQuery(document).ready(
                    function(){document.location.href="?page=gf_edit_forms";}
                );
                </script>
            <?php 
            exit;
        } else {
            if (!rgempty("gform_meta")) {
                check_admin_referer("gforms_update_form_{$form_id}", 'gforms_update_form');
                $update_result = self::save_form_info($form_id, rgpost("gform_meta", false));
            }
        }
        if (!GFCommon::is_wp_version("3.3")) {
            ?>
            <script type='text/javascript'>
                /* <![CDATA[
                *Needed for custom version of thickbox
                */
                var thickboxL10n = {
                    loadingAnimation: "<?php 
            echo includes_url();
            ?>
js/thickbox/loadingAnimation.gif",
                    closeImage: "<?php 
            echo includes_url();
            ?>
js/thickbox/tb-close.png"
                };
                try{convertEntities(thickboxL10n);}catch(e){};
                /* ]]> */
            </script>
            <?php 
            wp_register_script("gf_thickbox", GFCommon::get_base_url() . "/js/thickbox.js", null, GFCommon::$version);
            wp_register_style("gf_thickbox", GFCommon::get_base_url() . "/js/thickbox.css", null, GFCommon::$version);
            wp_print_scripts(array("gf_thickbox"));
            wp_print_styles(array("gf_thickbox"));
        } else {
            wp_print_scripts(array("thickbox"));
            wp_print_styles(array("thickbox"));
        }
        wp_register_script("gforms_gravityforms", GFCommon::get_base_url() . "/js/gravityforms.js", null, GFCommon::$version);
        wp_print_scripts(array("jquery-ui-core", "jquery-ui-sortable", "jquery-ui-tabs", "sack", "gforms_gravityforms"));
        require_once GFCommon::get_base_path() . '/currency.php';
        ?>
        <script type="text/javascript">
            var gf_global = {
                "gf_currency_config" : <?php 
        echo json_encode(RGCurrency::get_currency(GFCommon::get_currency()));
        ?>
            };

            var gf_vars = {
                "save": "<?php 
        _e("Save", "gravityforms");
        ?>
",
                "update": "<?php 
        _e("Update", "gravityforms");
        ?>
",
                "baseUrl": "<?php 
        echo GFCommon::get_base_url();
        ?>
",
                "previousLabel" : "<?php 
        _e("Previous", "gravityforms");
        ?>
",
                "selectFormat" : "<?php 
        _e("Select a format", "gravityforms");
        ?>
",
                "otherChoiceValue" : "<?php 
        echo GFCommon::get_other_choice_value();
        ?>
",
                "editToViewAll" : "<?php 
        _e("5 of %d items shown. Edit field to view all", "gravityforms");
        ?>
",
                "enterValue" : "<?php 
        _e("Enter a value", "gravityforms");
        ?>
",
                "formTitle" : "<?php 
        _e("Untitled Form", "gravityforms");
        ?>
",
                "formDescription" : "<?php 
        _e("We would love to hear from you! Please fill out this form and we will get in touch with you shortly.", "gravityforms");
        ?>
",
                "formConfirmationMessage" : "<?php 
        _e("Thanks for contacting us! We will get in touch with you shortly.", "gravityforms");
        ?>
",
                "buttonText" : "<?php 
        _e("Submit", "gravityforms");
        ?>
",
                /*"showValues" : "<?php 
        _e("show values", "gravityforms");
        ?>
",
                "hideValues" : "<?php 
        _e(" hide values", "gravityforms");
        ?>
",*/
                "loading" : "<?php 
        _e("Loading...", "gravityforms");
        ?>
"
            };
        </script>

        <script src="<?php 
        echo GFCommon::get_base_url();
        ?>
/js/floatmenu_init.js?ver=<?php 
        echo GFCommon::$version;
        ?>
"></script>
        <script src="<?php 
        echo GFCommon::get_base_url();
        ?>
/js/menu.js?ver=<?php 
        echo GFCommon::$version;
        ?>
"></script>
        <script src="<?php 
        echo GFCommon::get_base_url();
        ?>
/js/jquery.json-1.3.js?ver=<?php 
        echo GFCommon::$version;
        ?>
"></script>
        <script src="<?php 
        echo GFCommon::get_base_url();
        ?>
/js/jquery.simplemodal-1.3.min.js?ver=<?php 
        echo GFCommon::$version;
        ?>
"></script>
        <script src="<?php 
        echo GFCommon::get_base_url();
        ?>
/js/forms.js?ver=<?php 
        echo GFCommon::$version;
        ?>
"></script>
        <script src="<?php 
        echo GFCommon::get_base_url();
        ?>
/js/jquery-ui/ui.datepicker.js?ver=<?php 
        echo GFCommon::$version;
        ?>
"></script>
        <script src="<?php 
        echo GFCommon::get_base_url();
        ?>
/js/jquery.placeholder.1.2.min.js?ver=<?php 
        echo GFCommon::$version;
        ?>
"></script>

        <link rel="stylesheet" href="<?php 
        echo GFCommon::get_base_url();
        ?>
/css/jquery-ui-1.7.2.custom.css?ver=<?php 
        echo GFCommon::$version;
        ?>
" type="text/css" />
        <link rel="stylesheet" href="<?php 
        echo GFCommon::get_base_url();
        ?>
/css/admin.css?ver=<?php 
        echo GFCommon::$version;
        ?>
" type="text/css" />
        <script type="text/javascript">
            jQuery(document).ready(
                function() {
                    jQuery('.datepicker').datepicker({showOn: "both", buttonImage: "<?php 
        echo GFCommon::get_base_url();
        ?>
/images/calendar.png", buttonImageOnly: true} );
                }
            );

            function has_entry(fieldNumber){
                var submitted_fields = new Array(<?php 
        echo RGFormsModel::get_submitted_fields($form_id);
        ?>
);
                for(var i=0; i<submitted_fields.length; i++){
                    if(submitted_fields[i] == fieldNumber)
                        return true;
                }
                return false;
            }

            function InsertVariable(element_id, callback, variable){

                if(!variable)
                    variable = jQuery('#' + element_id + '_variable_select').val();

                var messageElement = jQuery("#" + element_id);

                if(document.selection) {
                    // Go the IE way
                    messageElement[0].focus();
                    document.selection.createRange().text=variable;
                }
                else if(messageElement[0].selectionStart) {
                    // Go the Gecko way
                    obj = messageElement[0]
                    obj.value = obj.value.substr(0, obj.selectionStart) + variable + obj.value.substr(obj.selectionEnd, obj.value.length);
                }
                else {
                    messageElement.val(variable + messageElement.val());
                }

                jQuery('#' + element_id + '_variable_select')[0].selectedIndex = 0;


                if(callback && window[callback]){
                    window[callback].call();
                }
            }

            function InsertPostImageVariable(element_id, callback){
                var variable = jQuery('#' + element_id + '_image_size_select').attr("variable");
                var size = jQuery('#' + element_id + '_image_size_select').val();
                if(size){
                    variable = "{" + variable + ":" + size + "}";
                    InsertVariable(element_id, callback, variable);
                    jQuery('#' + element_id + '_image_size_select').hide();
                    jQuery('#' + element_id + '_image_size_select')[0].selectedIndex = 0;
                }
            }

            function InsertPostContentVariable(element_id, callback){
                var variable = jQuery('#' + element_id + '_variable_select').val();
                var regex=/{([^{]*?: *(\d+\.?\d*).*?)}/;
                matches = regex.exec(variable);
                if(!matches){
                    InsertVariable(element_id, callback);
                    return;
                }

                variable = matches[1];
                field_id = matches[2];

                for(var i=0; i<form["fields"].length; i++){
                    if(form["fields"][i]["id"] == field_id){
                        if(form["fields"][i]["type"] == "post_image"){
                            jQuery('#' + element_id + '_image_size_select').attr("variable", variable);
                            jQuery('#' + element_id + '_image_size_select').show();
                            return;
                        }
                    }
                }

                InsertVariable(element_id, callback);
            }
        </script>

        <style>
            .field_type li {
                float:left;
                width:50%;
            }
            .field_type input {
                width: 120px;
                padding: 0 10px 2px !important;
            }

            .description-list { margin: 10px 0; padding: 0 20px; }
            .description-list li { padding: 0; list-style: disc; overflow: visible; }
            .custom_mask_instructions h5 { margin: 0 0 4px; font-size: 11px; }
            .custom_mask_instructions span.label { font-size: 11px; display: -moz-inline-stack; display: inline-block; zoom: 1; *display: inline;
                width: 80px; }
            .custom_mask_instructions li { margin: 0 0 14px; }

            .gf_calculation_buttons { float: right; margin-right: 55px; }
            .gf_calculation_buttons input[type=button]{ width: 22px; float: left; }
            #field_calculation_formula_variable_select { width: 150px; }
            #calculation_options p { margin: 0 0 14px; padding: 0; }

        </style>

        <?php 
        $form = !rgempty("meta", $update_result) ? rgar($update_result, "meta") : RGFormsModel::get_form_meta($form_id);
        $form = RGFormsModel::add_default_properties($form);
        if ($form == null) {
            $form = array("fields" => array());
        }
        $form = apply_filters("gform_admin_pre_render_" . $form_id, apply_filters("gform_admin_pre_render", $form));
        if (isset($form['id'])) {
            echo "<script type=\"text/javascript\">var form = " . GFCommon::json_encode($form) . ";</script>";
        } else {
            echo "<script type=\"text/javascript\">var form = new Form();</script>";
        }
        ?>

        <?php 
        echo GFCommon::get_remote_message();
        ?>
        <div class="wrap gforms_edit_form <?php 
        echo GFCommon::get_browser_class();
        ?>
">


            <div class="icon32" id="gravity-edit-icon"><br></div>


            <h2><?php 
        echo empty($form_id) ? __("New Form", "gravityforms") : __("Form Editor :", "gravityforms") . " " . esc_html($form["title"]);
        ?>
</h2>

            <?php 
        RGForms::top_toolbar();
        ?>

            <?php 
        switch (rgar($update_result, "status")) {
            case "invalid_json":
                ?>
                    <div class="error_base gform_editor_status" id="after_update_error_dialog">
                        <?php 
                _e("There was an error while saving your form.", "gravityforms");
                ?>
                        <?php 
                printf(__("Please %scontact our support team%s.", "gravityforms"), '<a href="http://www.gravityhelp.com">', '</a>');
                ?>
                    </div>
                    <?php 
                break;
            case "duplicate_title":
                ?>
                    <div class="error_base gform_editor_status" id="after_update_error_dialog">
                        <?php 
                _e("The form title you have entered is already taken. Please enter an unique form title.", "gravityforms");
                ?>
                    </div>
                    <?php 
                break;
            default:
                if (!empty($update_result)) {
                    ?>
                        <div class="updated_base gform_editor_status" id="after_update_dialog">
                            <strong><?php 
                    _e("Form updated successfully.", "gravityforms");
                    ?>
</strong>
                        </div>
                        <?php 
                }
                break;
        }
        ?>

            <table width="100%">
            <tr>
                <td class="pad_top" valign="top">

                    <div id="gform_heading" class="selectable">
                        <form method="post" id="form_delete">
                            <?php 
        wp_nonce_field('gforms_delete_form', 'gforms_delete_form');
        ?>


                            <div class="gform_admin_icons">
                                <div class="gform_admin_header_title"><?php 
        _e("Form Settings", "gravityforms");
        if (!rgempty("id", $_GET)) {
            echo " : " . __("Form ID", "gravityforms") . " " . rgget("id");
        }
        ?>
                                </div>
                                <a href="javascript:void(0);" class="form_edit_icon edit_icon_collapsed" title="<?php 
        _e("Edit Form's properties", "gravityforms");
        ?>
"><?php 
        _e("Edit", "gravityforms");
        ?>
</a>
                            </div>

                            <input type="hidden" value="delete" name="operation"/>
                        </form>
                        <h3 id="gform_title"></h3>
                        <span id="gform_description">&nbsp;</span>

                        <div id="form_settings" style="display:none;">
                            <ul>
                                <li style="width:100px; padding:0px;"><a href="#gform_settings_tab_1"><?php 
        _e("Properties", "gravityforms");
        ?>
</a></li>
                                <li style="width:100px; padding:0px; "><a href="#gform_settings_tab_2"><?php 
        _e("Advanced", "gravityforms");
        ?>
</a></li>
                                <li style="width:120px; padding:0px; "><a href="#gform_settings_tab_3"><?php 
        _e("Confirmation", "gravityforms");
        ?>
</a></li>
                            </ul>
                            <div id="gform_settings_tab_1">
                                <ul class="gforms_form_settings">
                                    <?php 
        do_action("gform_properties_settings", 100, $form_id);
        ?>
                                    <li>
                                        <label for="form_title_input" style="display:block;">
                                            <?php 
        _e("Title", "gravityforms");
        ?>
                                            <?php 
        gform_tooltip("form_tile");
        ?>
                                        </label>
                                        <input type="text" id="form_title_input" class="fieldwidth-3" onkeyup="UpdateFormProperty('title', this.value);" />
                                    </li>
                                    <?php 
        do_action("gform_properties_settings", 200, $form_id);
        ?>
                                    <li>
                                        <label for="form_description_input" style="display:block;">
                                            <?php 
        _e("Description", "gravityforms");
        ?>
                                            <?php 
        gform_tooltip("form_description");
        ?>
                                        </label>
                                        <textarea id="form_description_input" class="fieldwidth-3 fieldheight-2" onkeyup="UpdateFormProperty('description', this.value);"></textarea>
                                    </li>
                                    <?php 
        do_action("gform_properties_settings", 300, $form_id);
        ?>
                                    <li class="gform_setting_left_half">
                                        <label for="form_label_placement" style="display:block;">
                                            <?php 
        _e("Label Placement", "gravityforms");
        ?>
                                            <?php 
        gform_tooltip("form_label_placement");
        ?>
                                        </label>
                                        <select id="form_label_placement" onchange="UpdateLabelPlacement();">
                                            <option value="top_label"><?php 
        _e("Top aligned", "gravityforms");
        ?>
</option>
                                            <option value="left_label"><?php 
        _e("Left aligned", "gravityforms");
        ?>
</option>
                                            <option value="right_label"><?php 
        _e("Right aligned", "gravityforms");
        ?>
</option>
                                        </select>
                                    </li>
                                    <?php 
        do_action("gform_properties_settings", 400, $form_id);
        ?>
                                    <li id='description_placement_setting' class="gform_setting_right_half">
                                        <label for="form_description_placement" style="display:block;">
                                            <?php 
        _e("Description Placement", "gravityforms");
        ?>
                                            <?php 
        gform_tooltip("form_description_placement");
        ?>
                                        </label>
                                        <select id="form_description_placement" onchange="UpdateDescriptionPlacement();">
                                            <option value="below"><?php 
        _e("Below inputs", "gravityforms");
        ?>
</option>
                                            <option value="above"><?php 
        _e("Above inputs", "gravityforms");
        ?>
</option>
                                        </select>
                                    </li>
                                    <?php 
        do_action("gform_properties_settings", 500, $form_id);
        ?>
                                </ul>
                            </div>
                            <div id="gform_settings_tab_2">
                                <ul class="gforms_form_settings">
                                    <?php 
        do_action("gform_advanced_settings", 100, $form_id);
        ?>
                                    <li>
                                        <label><?php 
        _e("Form Button", "gravityforms");
        ?>
</label>
                                        <div class="form_button_options">
                                            <input type="radio" id="form_button_text" name="form_button" value="text" onclick="ToggleButton();"/>
                                            <label for="form_button_text" class="inline">
                                                <?php 
        _e("Default", "gravityforms");
        ?>
                                                <?php 
        gform_tooltip("form_button_text");
        ?>
                                            </label>
                                            &nbsp;&nbsp;
                                            <input type="radio" id="form_button_image" name="form_button" value="image" onclick="ToggleButton();"/>
                                            <label for="form_button_image" class="inline">
                                                <?php 
        _e("Image", "gravityforms");
        ?>
                                                <?php 
        gform_tooltip("form_button_image");
        ?>
                                            </label>

                                            <div id="form_button_text_container" style="margin-top:5px;">
                                            <label for="form_button_text_input" class="float_label">
                                                    <?php 
        _e("Text:", "gravityforms");
        ?>
                                                </label>
                                                <input type="text" id="form_button_text_input" class="input_size_b" size="40" />
                                            </div>

                                            <div id="form_button_image_container" style="margin-top:5px;">
                                                <label for="form_button_image_url" class="inline">
                                                    <?php 
        _e("Image Path:", "gravityforms");
        ?>
                                                </label>
                                                <input type="text" id="form_button_image_url" size="45"/>
                                            </div>

                                            <div style="margin-top:9px;">

                                                <input type="checkbox" id="form_button_conditional_logic" onclick="SetButtonConditionalLogic(this.checked); ToggleConditionalLogic(false, 'form_button');"/>
                                                <label for="form_button_conditional_logic" class="inline"><?php 
        _e("Enable Conditional Logic", "gravityforms");
        gform_tooltip("form_button_conditional_logic");
        ?>
</label>
                                                <br/>
                                                <div id="form_button_conditional_logic_container" style="display:none; padding-top:10px;">
                                                    <!-- content dynamically created from js.php -->
                                                </div>
                                            </div>
                                        </div>
                                    </li>
                                    <?php 
        do_action("gform_advanced_settings", 200, $form_id);
        ?>
                                    <li>
                                        <label for="form_css_class" style="display:block;">
                                            <?php 
        _e("CSS Class Name", "gravityforms");
        ?>
                                            <?php 
        gform_tooltip("form_css_class");
        ?>
                                        </label>
                                        <input type="text" id="form_css_class" class="fieldwidth-3"/>
                                    </li>
                                    <?php 
        do_action("gform_advanced_settings", 300, $form_id);
        ?>
                                    <li>
                                        <input type="checkbox" id="gform_limit_entries" onclick="ToggleLimitEntry();"/> <label for="gform_limit_entries"><?php 
        _e("Limit number of entries", "gravityforms");
        ?>
 <?php 
        gform_tooltip("form_limit_entries");
        ?>
</label>

                                        <br/>
                                        <div id="gform_limit_entries_container" style="display:none;">
                                            <br/>
                                            <label for="gform_limit_entries_count" style="display:block;">
                                                <?php 
        _e("Number of Entries", "gravityforms");
        ?>
                                            </label>
                                            <input type="text" id="gform_limit_entries_count" style="width:70px;"/>
                                            &nbsp;
                                            <select id="gform_limit_entries_period" style="height:22px;">
                                                <option value=""><?php 
        _e("total entries", "gravityforms");
        ?>
</option>
                                                <option value="day"><?php 
        _e("per day", "gravityforms");
        ?>
</option>
                                                <option value="week"><?php 
        _e("per week", "gravityforms");
        ?>
</option>
                                                <option value="month"><?php 
        _e("per month", "gravityforms");
        ?>
</option>
                                                <option value="year"><?php 
        _e("per year", "gravityforms");
        ?>
</option>
                                            </select>
                                            <br/><br/>
                                            <label for="form_limit_entries_message" style="display:block;">
                                                <?php 
        _e("Entry Limit Reached Message", "gravityforms");
        ?>
                                            </label>
                                            <textarea id="form_limit_entries_message" class="fieldwidth-3"></textarea>
                                        </div>
                                    </li>
                                    <?php 
        do_action("gform_advanced_settings", 400, $form_id);
        ?>
                                    <li>
                                        <input type="checkbox" id="gform_schedule_form" onclick="ToggleSchedule();"/> <label for="gform_schedule_form"><?php 
        _e("Schedule form", "gravityforms");
        ?>
 <?php 
        gform_tooltip("form_schedule_form");
        ?>
</label>
                                        <br/>
                                        <div id="gform_schedule_form_container" style="display:none;">
                                            <br/>
                                            <label for="gform_schedule_start" style="display:block;">
                                                <?php 
        _e("Start Date/Time", "gravityforms");
        ?>
                                            </label>
                                            <input type="text" id="gform_schedule_start" name="gform_schedule_start" class="datepicker"/>
                                            &nbsp;&nbsp;
                                            <select id="gform_schedule_start_hour">
                                                <option value="1">1</option>
                                                <option value="2">2</option>
                                                <option value="3">3</option>
                                                <option value="4">4</option>
                                                <option value="5">5</option>
                                                <option value="6">6</option>
                                                <option value="7">7</option>
                                                <option value="8">8</option>
                                                <option value="9">9</option>
                                                <option value="10">10</option>
                                                <option value="11">11</option>
                                                <option value="12">12</option>
                                            </select>
                                            :
                                            <select id="gform_schedule_start_minute">
                                                <option value="00">00</option>
                                                <option value="15">15</option>
                                                <option value="30">30</option>
                                                <option value="45">45</option>
                                            </select>
                                            <select id="gform_schedule_start_ampm">
                                                <option value="am">AM</option>
                                                <option value="pm">PM</option>
                                            </select>
                                            <br/><br/>
                                            <label for="gform_schedule_end" style="display:block;">
                                                <?php 
        _e("End Date/Time", "gravityforms");
        ?>
                                            </label>
                                            <input type="text" id="gform_schedule_end" class="datepicker"/>
                                            &nbsp;&nbsp;
                                            <select id="gform_schedule_end_hour">
                                                <option value="1">1</option>
                                                <option value="2">2</option>
                                                <option value="3">3</option>
                                                <option value="4">4</option>
                                                <option value="5">5</option>
                                                <option value="6">6</option>
                                                <option value="7">7</option>
                                                <option value="8">8</option>
                                                <option value="9">9</option>
                                                <option value="10">10</option>
                                                <option value="11">11</option>
                                                <option value="12">12</option>
                                            </select>
                                            :
                                            <select id="gform_schedule_end_minute">
                                                <option value="00">00</option>
                                                <option value="15">15</option>
                                                <option value="30">30</option>
                                                <option value="45">45</option>
                                            </select>
                                            <select id="gform_schedule_end_ampm">
                                                <option value="am">AM</option>
                                                <option value="pm">PM</option>
                                            </select>

                                            <br/><br/>
                                            <label for="gform_schedule_message" style="display:block;">
                                                <?php 
        _e("Form Expired Message", "gravityforms");
        ?>
                                            </label>
                                            <textarea id="gform_schedule_message" class="fieldwidth-3"></textarea>
                                        </div>
                                    </li>
                                    <?php 
        do_action("gform_advanced_settings", 500, $form_id);
        ?>
                                    <li>
                                        <input type="checkbox" id="gform_enable_honeypot" /> <label for="gform_enable_honeypot"><?php 
        _e("Enable anti-spam honeypot", "gravityforms");
        ?>
 <?php 
        gform_tooltip("form_honeypot");
        ?>
</label>
                                    </li>
                                    <?php 
        do_action("gform_advanced_settings", 600, $form_id);
        ?>
                                    <li>
                                        <input type="checkbox" id="gform_enable_animation" /> <label for="gform_enable_animation"><?php 
        _e("Enable animation", "gravityforms");
        ?>
 <?php 
        gform_tooltip("form_animation");
        ?>
</label>
                                    </li>
                                    <?php 
        do_action("gform_advanced_settings", 700, $form_id);
        ?>
                                    <li>
                                        <input type="checkbox" id="gform_require_login" onclick="ToggleRequireLogin();"/> <label for="gform_require_login"><?php 
        _e("Require user to be logged in", "gravityforms");
        ?>
 <?php 
        gform_tooltip("form_require_login");
        ?>
</label>
                                        <br/>
                                        <div id="gform_require_login_container" style="display:none;">
                                            <br/>
                                            <label for="gform_require_login_message" style="display:block;">
                                                <?php 
        _e("Require Login Message", "gravityforms");
        ?>
 <?php 
        gform_tooltip("form_require_login_message");
        ?>
                                            </label>
                                            <textarea id="gform_require_login_message" class="fieldwidth-3"></textarea>
                                        </div>
                                    </li>
                                    <?php 
        do_action("gform_advanced_settings", 800, $form_id);
        ?>
                                </ul>
                            </div>
                            <div id="gform_settings_tab_3">
                                <ul class="gforms_form_settings">
                                    <?php 
        do_action("gform_confirmation_settings", 100, $form_id);
        ?>
                                    <li>
                                        <label><?php 
        _e("Confirmation Message", "gravityforms");
        ?>
</label>
                                        <div style="margin:4px 0;">
                                            <input type="radio" id="form_confirmation_show_message" name="form_confirmation" value="message" onclick="ToggleConfirmation();" />
                                            <label for="form_confirmation_show_message" class="inline">
                                                <?php 
        _e("Text", "gravityforms");
        ?>
                                                <?php 
        gform_tooltip("form_confirmation_message");
        ?>
                                            </label>
                                            &nbsp;&nbsp;
                                            <input type="radio" id="form_confirmation_show_page" name="form_confirmation" value="page" onclick="ToggleConfirmation();" />
                                            <label for="form_confirmation_show_page" class="inline">
                                                <?php 
        _e("Page", "gravityforms");
        ?>
                                                <?php 
        gform_tooltip("form_redirect_to_webpage");
        ?>
                                            </label>
                                            &nbsp;&nbsp;
                                            <input type="radio" id="form_confirmation_redirect" name="form_confirmation" value="redirect" onclick="ToggleConfirmation();" />
                                            <label for="form_confirmation_redirect" class="inline">
                                                <?php 
        _e("Redirect", "gravityforms");
        ?>
                                                <?php 
        gform_tooltip("form_redirect_to_url");
        ?>
                                            </label>

                                            <div id="form_confirmation_message_container" style="padding-top:10px;">
                                                <div>
                                                    <?php 
        GFCommon::insert_variables($form["fields"], "form_confirmation_message");
        ?>
                                                </div>
                                                <textarea id="form_confirmation_message" style="width:400px; height:300px;" ></textarea>
                                                <div style="margin-top:5px;">
                                                    <input type="checkbox" id="form_disable_autoformatting" /> <label for="form_disable_autoformatting"><?php 
        _e("Disable Auto-formatting", "gravityforms");
        ?>
 <?php 
        gform_tooltip("form_confirmation_autoformat");
        ?>
</label>
                                                </div>
                                            </div>

                                            <div id="form_confirmation_page_container" style="margin-top:5px;">
                                                <div>
                                                    <?php 
        wp_dropdown_pages(array("name" => "form_confirmation_page", "show_option_none" => __("Select a page", "gravityforms")));
        ?>
                                                </div>
                                            </div>

                                            <div id="form_confirmation_redirect_container" style="margin-top:5px;">
                                                <div>
                                                    <input type="text" id="form_confirmation_url" style="width:98%;"/>
                                                </div>
                                                <div style="margin-top:15px;">
                                                    <input type="checkbox" id="form_redirect_use_querystring" onclick="ToggleQueryString()"/> <label for="form_redirect_use_querystring"><?php 
        _e("Pass Field Data Via Query String", "gravityforms");
        ?>
 <?php 
        gform_tooltip("form_redirect_querystring");
        ?>
</label>
                                                    <br/>
                                                    <div id="form_redirect_querystring_container" style="display:none;">
                                                        <div style="margin-top:6px;">
                                                            <?php 
        GFCommon::insert_variables($form["fields"], "form_redirect_querystring", true, "", "", 40, null, "url");
        ?>
                                                        </div>
                                                        <textarea name="form_redirect_querystring" id="form_redirect_querystring" style="width:98%; height:100px;"></textarea><br/>
                                                        <div class="instruction"><?php 
        _e("Sample: phone={Phone:1}&email{Email:2}", "gravityforms");
        ?>
</div>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </li>
                                    <?php 
        do_action("gform_confirmation_settings", 200, $form_id);
        ?>
                                </ul>
                            </div>
                        </div>
                    </div>
                    <?php 
        $has_pages = GFCommon::has_pages($form);
        ?>
                    <div id="gform_pagination" class="selectable gform_settings_container" style="display:<?php 
        echo $has_pages ? "block" : "none";
        ?>
;">
                        <div class="settings_control_container">
                            <a href="javascript:void(0);" class="form_edit_icon edit_icon_collapsed" title="<?php 
        _e("Edit Last Page", "gravityforms");
        ?>
"><?php 
        _e("Edit", "gravityforms");
        ?>
</a>
                        </div>
                        <img src="<?php 
        echo GFCommon::get_base_url() . "/images/gf_pagebreak_first.png";
        ?>
" alt="<?php 
        __("First Page Options", "gravityforms");
        ?>
" title="<?php 
        __("First Page Options", "gravityforms");
        ?>
" />
                        <div id="pagination_settings" style="display: none;">
                            <ul>
                                <li style="width:100px; padding:0px;"><a href="#gform_pagination_settings_tab_1"><?php 
        _e("Properties", "gravityforms");
        ?>
</a></li>
                                <li style="width:100px; padding:0px;"><a href="#gform_pagination_settings_tab_2"><?php 
        _e("Advanced", "gravityforms");
        ?>
</a></li>
                            </ul>

                            <div id="gform_pagination_settings_tab_1">
                                <ul class="gforms_form_settings">
                                    <li>
                                        <label for="pagination_type_container">
                                            <?php 
        _e("Progress Indicator", "gravityforms");
        ?>
                                            <?php 
        gform_tooltip("form_progress_indicator");
        ?>
                                        </label>
                                        <div id="pagination_type_container" class="pagination_container" >
                                            <input type="radio" id="pagination_type_percentage" name="pagination_type" value="percentage" onclick='InitPaginationOptions();'/>
                                            <label for="pagination_type_percentage" class="inline">
                                                <?php 
        _e("Progress Bar", "gravityforms");
        ?>
                                            </label>
                                            &nbsp;&nbsp;
                                            <input type="radio" id="pagination_type_steps" name="pagination_type" value="steps" onclick='InitPaginationOptions();'/>
                                            <label for="pagination_type_steps" class="inline">
                                                <?php 
        _e("Steps", "gravityforms");
        ?>
                                            </label>
                                            &nbsp;&nbsp;
                                            <input type="radio" id="pagination_type_none" name="pagination_type" value="none" onclick='InitPaginationOptions();'/>
                                            <label for="pagination_type_none" class="inline">
                                                <?php 
        _e("None", "gravityforms");
        ?>
                                            </label>
                                        </div>
                                    </li>

                                    <li id="percentage_style_setting">

                                        <div class="percentage_style_setting" style="float:left; z-index: 99;">
                                             <label for="percentage_style" style="display:block;">
                                                <?php 
        _e("Style", "gravityforms");
        ?>
                                                <?php 
        gform_tooltip("form_percentage_style");
        ?>
                                            </label>
                                            <select id="percentage_style" onchange="TogglePercentageStyle();">
                                                <option value="blue">  <?php 
        _e("Blue", "gravityforms");
        ?>
  </option>
                                                <option value="gray">  <?php 
        _e("Gray", "gravityforms");
        ?>
  </option>
                                                <option value="green">  <?php 
        _e("Green", "gravityforms");
        ?>
  </option>
                                                <option value="orange">  <?php 
        _e("Orange", "gravityforms");
        ?>
  </option>
                                                <option value="red">  <?php 
        _e("Red", "gravityforms");
        ?>
  </option>
                                                <option value="custom">  <?php 
        _e("Custom", "gravityforms");
        ?>
  </option>
                                            </select>
                                        </div>

                                        <div class="percentage_custom_container" style="float:left; padding-left:20px;">
                                            <label for="percentage_background_color" style="display:block;">
                                                <?php 
        _e("Text Color", "gravityforms");
        ?>
                                            </label>
                                            <?php 
        self::color_picker("percentage_style_custom_color", "");
        ?>
                                        </div>

                                        <div class="percentage_custom_container" style="float:left; padding-left:20px;">
                                            <label for="percentage_background_bgcolor" style="display:block;">
                                                <?php 
        _e("Background Color", "gravityforms");
        ?>
                                            </label>
                                            <?php 
        self::color_picker("percentage_style_custom_bgcolor", "");
        ?>
                                        </div>
                                    </li>
                                    <li id="page_names_setting">
                                        <label for="page_names_container">
                                            <?php 
        _e("Page Names", "gravityforms");
        ?>
                                            <?php 
        gform_tooltip("form_page_names");
        ?>
                                        </label>
                                        <div id="page_names_container" style="margin-top:5px;">
                                            <!-- Populated dynamically from js.php -->
                                        </div>
                                    </li>
                                     <li id="percentage_confirmation_display_setting">
                                        <div class="percentage_confirmation_display_setting">
                                            <input type="checkbox" id="percentage_confirmation_display" onclick="TogglePercentageConfirmationText()">
                                            <label for="percentage_confirmation_display" class="inline">
                                                <?php 
        _e("Display completed progress bar on confirmation", "gravityforms");
        ?>
                                                <?php 
        gform_tooltip("form_percentage_confirmation_display");
        ?>
                                            </label>
                                        </div>
                                    </li>
                                    <li id="percentage_confirmation_page_name_setting">
                                        <div class="percentage_confirmation_page_name_setting">
                                            <label for="percentage_confirmation_page_name" style="display:block;">
                                                <?php 
        _e("Completion Text", "gravityforms");
        ?>
 <?php 
        gform_tooltip("percentage_confirmation_page_name");
        ?>
                                            </label>
                                            <input type="text" id="percentage_confirmation_page_name" class="fieldwidth-3"/>
                                        </div>
                                    </li>
                                </ul>
                            </div>

                            <div id="gform_pagination_settings_tab_2">
                                <ul class="gforms_form_settings">
                                    <li>
                                        <label for="first_page_css_class" style="display:block;">
                                            <?php 
        _e("CSS Class Name", "gravityforms");
        ?>
                                            <?php 
        gform_tooltip("form_field_css_class");
        ?>
                                        </label>
                                        <input type="text" id="first_page_css_class" size="30"/>
                                    </li>
                                </ul>
                            </div>
                        </div>
                    </div>
                    <?php 
        $description_class = rgar($form, "descriptionPlacement") == "above" ? "description_above" : "description_below";
        ?>
                    <ul id="gform_fields" class="<?php 
        echo rgar($form, "labelPlacement") . " " . $description_class;
        ?>
" style="position: relative;">

                        <?php 
        if (is_array($form["fields"])) {
            require_once GFCommon::get_base_path() . "/form_display.php";
            foreach ($form["fields"] as $field) {
                echo GFFormDisplay::get_field($field, "", true);
            }
        }
        ?>
                    </ul>

                    <div id="gform_last_page_settings" class="selectable gform_settings_container" style="display:<?php 
        echo $has_pages ? "block" : "none";
        ?>
;">
                        <div class="settings_control_container">
                            <a href="javascript:void(0);" class="form_edit_icon edit_icon_collapsed" title="<?php 
        _e("Edit Last Page", "gravityforms");
        ?>
"><?php 
        _e("Edit", "gravityforms");
        ?>
</a>
                        </div>
                        <img src="<?php 
        echo GFCommon::get_base_url() . "/images/gf_pagebreak_end.png";
        ?>
" alt="<?php 
        __("Last Page Options", "gravityforms");
        ?>
" title="<?php 
        __("Last Page Options", "gravityforms");
        ?>
" />
                        <div id="last_page_settings" style="display:none;">
                            <ul>
                                <li style="width:100px; padding:0px;"><a href="#gform_last_page_settings_tab_1"><?php 
        _e("Properties", "gravityforms");
        ?>
</a></li>
                            </ul>
                            <div id="gform_last_page_settings_tab_1">
                                <ul class="gforms_form_settings">
                                    <li>
                                        <label for="last_page_button_container">
                                            <?php 
        _e("Previous Button", "gravityforms");
        ?>
                                            <?php 
        gform_tooltip("form_field_last_page_button");
        ?>
                                        </label>
                                        <div class="last_page_button_options" id="last_page_button_container">
                                            <input type="radio" id="last_page_button_text" name="last_page_button" value="text" onclick="TogglePageButton('last_page');"/>
                                            <label for="last_page_button_text" class="inline">
                                                <?php 
        _e("Default", "gravityforms");
        ?>
                                                <?php 
        gform_tooltip("previous_button_text");
        ?>
                                            </label>
                                            &nbsp;&nbsp;
                                            <input type="radio" id="last_page_button_image" name="last_page_button" value="image" onclick="TogglePageButton('last_page');"/>
                                            <label for="last_page_button_image" class="inline">
                                                <?php 
        _e("Image", "gravityforms");
        ?>
                                                <?php 
        gform_tooltip("previous_button_image");
        ?>
                                            </label>

                                            <div id="last_page_button_text_container" style="margin-top:5px;">
                                                <label for="last_page_button_text_input" class="inline">
                                                    <?php 
        _e("Text:", "gravityforms");
        ?>
                                                </label>
                                                <input type="text" id="last_page_button_text_input" class="input_size_b" size="40" />
                                            </div>

                                            <div id="last_page_button_image_container" style="margin-top:5px;">
                                                <label for="last_page_button_image_url" class="inline">
                                                    <?php 
        _e("Image Path:", "gravityforms");
        ?>
                                                </label>
                                                <input type="text" id="last_page_button_image_url" size="45"/>
                                            </div>
                                        </div>
                                    </li>
                                </ul>
                            </div>
                        </div>
                    </div>

                    <div>

                        <div id="after_insert_dialog" style="display:none;">
                            <h3><?php 
        _e("You have successfully saved your form!", "gravityforms");
        ?>
</h3>
                            <p><?php 
        _e("What would you like to do next?", "gravityforms");
        ?>
</p>
                            <div class="new-form-option"><a title="<?php 
        _e("Preview this form", "gravityforms");
        ?>
" id="preview_form_link" href="<?php 
        echo site_url();
        ?>
/?gf_page=preview&id={formid}" target="_blank"><?php 
        _e("Preview this Form", "gravityforms");
        ?>
</a></div>

                            <?php 
        if (GFCommon::current_user_can_any("gravityforms_edit_forms")) {
            ?>
                                <div class="new-form-option"><a title="<?php 
            _e("Setup email notifications for this form", "gravityforms");
            ?>
" id="notification_form_link" href="#"><?php 
            _e("Setup Email Notifications for this Form", "gravityforms");
            ?>
</a></div>
                            <?php 
        }
        ?>

                            <div class="new-form-option"><a title="<?php 
        _e("Continue editing this form", "gravityforms");
        ?>
" id="edit_form_link" href="#"><?php 
        _e("Continue Editing this Form", "gravityforms");
        ?>
</a></div>

                            <div class="new-form-option"><a title="<?php 
        _e("I am done. Take me back to form list", "gravityforms");
        ?>
" href="?page=gf_edit_forms"><?php 
        _e("Return to Form List", "gravityforms");
        ?>
</a></div>

                        </div>


                    </div>
                    <div id="field_settings" style="display: none;">
                        <ul>
                            <li style="width:100px; padding:0px;"><a href="#gform_tab_1"><?php 
        _e("Properties", "gravityforms");
        ?>
</a></li>
                            <li style="width:100px; padding:0px; "><a href="#gform_tab_2"><?php 
        _e("Advanced", "gravityforms");
        ?>
</a></li>
                        </ul>
                        <div id="gform_tab_1">
                            <ul>
                            <?php 
        do_action("gform_field_standard_settings", 0, $form_id);
        ?>
                            <li class="label_setting field_setting">
                                <label for="field_label">
                                    <?php 
        _e("Field Label", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_label");
        ?>
                                    <?php 
        gform_tooltip("form_field_label_html");
        ?>
                                </label>
                                <input type="text" id="field_label" class="fieldwidth-3" onkeyup="SetFieldLabel(this.value)" size="35"/>
                            </li>
                            <li class="product_field_setting field_setting">
                                <label for="product_field">
                                    <?php 
        _e("Product Field", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_product");
        ?>
                                </label>
                               <select id="product_field" onchange="SetFieldProperty('productField', jQuery(this).val());">
                                   <!-- will be populated when field is selected (js.php) -->
                               </select>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 25, $form_id);
        ?>
                            <li class="product_field_type_setting field_setting">
                                <label for="product_field_type">
                                    <?php 
        _e("Field Type", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_type");
        ?>
                                </label>
                                <select id="product_field_type" onchange="if(jQuery(this).val() == '') return; jQuery('#field_settings').slideUp(function(){StartChangeProductType(jQuery('#product_field_type').val());});">
                                    <option value="singleproduct"><?php 
        _e("Single Product", "gravityforms");
        ?>
</option>
                                    <option value="select"><?php 
        _e("Drop Down", "gravityforms");
        ?>
</option>
                                    <option value="radio"><?php 
        _e("Radio Buttons", "gravityforms");
        ?>
</option>
                                    <option value="price"><?php 
        _e("User Defined Price", "gravityforms");
        ?>
</option>
                                    <option value="hiddenproduct"><?php 
        _e("Hidden", "gravityforms");
        ?>
</option>
                                    <option value="calculation"><?php 
        _e("Calculation", "gravityforms");
        ?>
</option>
                                </select>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 37, $form_id);
        ?>
                            <li class="shipping_field_type_setting field_setting">
                                <label for="shipping_field_type">
                                    <?php 
        _e("Field Type", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_type");
        ?>
                                </label>
                                <select id="shipping_field_type" onchange="if(jQuery(this).val() == '') return; jQuery('#field_settings').slideUp(function(){StartChangeShippingType(jQuery('#shipping_field_type').val());});">
                                    <option value="singleshipping"><?php 
        _e("Single Method", "gravityforms");
        ?>
</option>
                                    <option value="select"><?php 
        _e("Drop Down", "gravityforms");
        ?>
</option>
                                    <option value="radio"><?php 
        _e("Radio Buttons", "gravityforms");
        ?>
</option>
                                </select>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 50, $form_id);
        ?>
                            <li class="base_price_setting field_setting">
                                <label for="field_base_price">
                                    <?php 
        _e("Price", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_base_price");
        ?>
                                </label>
                                <input type="text" id="field_base_price" onchange="SetBasePrice(this.value)"/>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 75, $form_id);
        ?>
                            <li class="disable_quantity_setting field_setting">
                                <input type="checkbox" name="field_disable_quantity" id="field_disable_quantity" onclick="SetDisableQuantity(jQuery(this).is(':checked'));"/>
                                <label for="field_disable_quantity" class="inline">
                                    <?php 
        _e("Disable quantity field", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_disable_quantity");
        ?>
                                </label>

                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 100, $form_id);
        ?>
                            <li class="option_field_type_setting field_setting">
                                <label for="option_field_type">
                                    <?php 
        _e("Field Type", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_type");
        ?>
                                </label>
                                <select id="option_field_type" onchange="if(jQuery(this).val() == '') return; jQuery('#field_settings').slideUp(function(){StartChangeInputType(jQuery('#option_field_type').val());});">
                                    <option value="select"><?php 
        _e("Drop Down", "gravityforms");
        ?>
</option>
                                    <option value="checkbox"><?php 
        _e("Checkboxes", "gravityforms");
        ?>
</option>
                                    <option value="radio"><?php 
        _e("Radio Buttons", "gravityforms");
        ?>
</option>
                                </select>
                            </li>
                             <?php 
        do_action("gform_field_standard_settings", 125, $form_id);
        ?>
                            <li class="donation_field_type_setting field_setting">
                                <label for="donation_field_type">
                                    <?php 
        _e("Field Type", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_type");
        ?>
                                </label>
                                <select id="donation_field_type" onchange="if(jQuery(this).val() == '') return; jQuery('#field_settings').slideUp(function(){StartChangeDonationType(jQuery('#donation_field_type').val());});">
                                    <option value="select"><?php 
        _e("Drop Down", "gravityforms");
        ?>
</option>
                                    <option value="donation"><?php 
        _e("User Defined Price", "gravityforms");
        ?>
</option>
                                    <option value="radio"><?php 
        _e("Radio Buttons", "gravityforms");
        ?>
</option>
                                </select>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 150, $form_id);
        ?>
                            <li class="quantity_field_type_setting field_setting">
                                <label for="quantity_field_type">
                                    <?php 
        _e("Field Type", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_type");
        ?>
                                </label>
                                <select id="quantity_field_type" onchange="if(jQuery(this).val() == '') return; jQuery('#field_settings').slideUp(function(){StartChangeInputType(jQuery('#quantity_field_type').val());});">
                                    <option value="number"><?php 
        _e("Number", "gravityforms");
        ?>
</option>
                                    <option value="select"><?php 
        _e("Drop Down", "gravityforms");
        ?>
</option>
                                    <option value="hidden"><?php 
        _e("Hidden", "gravityforms");
        ?>
</option>
                                </select>
                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 200, $form_id);
        ?>
                            <li class="content_setting field_setting">
                                <label for="field_content">
                                    <?php 
        _e("Content", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_content");
        ?>
                                </label>
                                <?php 
        self::insert_variable_prepopulate("field_content", "HtmlContentCallback");
        ?>
<br/>
                                <textarea id="field_content" class="fieldwidth-3 fieldheight-1" onkeyup="SetFieldProperty('content', this.value);"></textarea>

                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 225, $form_id);
        ?>
                            <li class="next_button_setting field_setting">
                                <label for="next_button_container">
                                    <?php 
        _e("Next Button", "gravityforms");
        ?>
                                </label>
                                <div class="next_button_options" id="next_button_container">
                                    <input type="radio" id="next_button_text" name="next_button" value="text" onclick="TogglePageButton('next'); SetPageButton('next');"/>
                                    <label for="next_button_text" class="inline">
                                        <?php 
        _e("Default", "gravityforms");
        ?>
                                        <?php 
        gform_tooltip("next_button_text");
        ?>
                                    </label>
                                    &nbsp;&nbsp;
                                    <input type="radio" id="next_button_image" name="next_button" value="image" onclick="TogglePageButton('next'); SetPageButton('next');"/>
                                    <label for="next_button_image" class="inline">
                                        <?php 
        _e("Image", "gravityforms");
        ?>
                                        <?php 
        gform_tooltip("next_button_image");
        ?>
                                    </label>

                                    <div id="next_button_text_container" style="margin-top:5px;">
                                    <label for="next_button_text_input" class="inline">
                                            <?php 
        _e("Text:", "gravityforms");
        ?>
                                        </label>
                                        <input type="text" id="next_button_text_input" class="input_size_b" size="40" onkeyup="SetPageButton('next');"/>
                                    </div>

                                    <div id="next_button_image_container" style="margin-top:5px;">
                                        <label for="next_button_image_url" class="inline">
                                            <?php 
        _e("Image Path:", "gravityforms");
        ?>
                                        </label>
                                        <input type="text" id="next_button_image_url" size="45" onkeyup="SetPageButton('next');"/>
                                    </div>
                                </div>
                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 237, $form_id);
        ?>
                            <li class="previous_button_setting field_setting">
                                <label for="previous_button_container">
                                    <?php 
        _e("Previous Button", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_previous_button");
        ?>
                                </label>
                                <div class="previous_button_options" id="previous_button_container">
                                    <input type="radio" id="previous_button_text" name="previous_button" value="text" onclick="TogglePageButton('previous'); SetPageButton('previous');"/>
                                    <label for="previous_button_text" class="inline">
                                        <?php 
        _e("Default", "gravityforms");
        ?>
                                        <?php 
        gform_tooltip("previous_button_text");
        ?>
                                    </label>
                                    &nbsp;&nbsp;
                                    <input type="radio" id="previous_button_image" name="previous_button" value="image" onclick="TogglePageButton('previous'); SetPageButton('previous');"/>
                                    <label for="previous_button_image" class="inline">
                                        <?php 
        _e("Image", "gravityforms");
        ?>
                                        <?php 
        gform_tooltip("previous_button_image");
        ?>
                                    </label>

                                    <div id="previous_button_text_container" style="margin-top:5px;">
                                        <label for="previous_button_text_input" class="inline">
                                            <?php 
        _e("Text:", "gravityforms");
        ?>
                                        </label>
                                        <input type="text" id="previous_button_text_input" class="input_size_b" size="40" onkeyup="SetPageButton('previous');" />
                                    </div>

                                    <div id="previous_button_image_container" style="margin-top:5px;">
                                        <label for="previous_button_image_url" class="inline">
                                            <?php 
        _e("Image Path:", "gravityforms");
        ?>
                                        </label>
                                        <input type="text" id="previous_button_image_url" size="45" onkeyup="SetPageButton('previous');"/>
                                    </div>
                                </div>
                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 250, $form_id);
        ?>
                            <li class="disable_margins_setting field_setting">
                                <input type="checkbox" id="field_margins" onclick="SetFieldProperty('disableMargins', this.checked);"/>
                                <label for="field_disable_margins" class="inline">
                                    <?php 
        _e("Disable default margins", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_disable_margins");
        ?>
                                </label><br/>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 300, $form_id);
        ?>
                            <li class="post_custom_field_type_setting field_setting">
                                <label for="post_custom_field_type">
                                    <?php 
        _e("Field Type", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_type");
        ?>
                                </label>
                                <select id="post_custom_field_type" onchange="if(jQuery(this).val() == '') return; jQuery('#field_settings').slideUp(function(){StartChangeInputType(jQuery('#post_custom_field_type').val());});">
                                    <option value="" class="option_header"><?php 
        _e("Standard Fields", "gravityforms");
        ?>
</option>
                                    <option value="text"><?php 
        _e("Single line text", "gravityforms");
        ?>
</option>
                                    <option value="textarea"><?php 
        _e("Paragraph Text", "gravityforms");
        ?>
</option>
                                    <option value="select"><?php 
        _e("Drop Down", "gravityforms");
        ?>
</option>
                                    <option value="multiselect"><?php 
        _e("Multi Select", "gravityforms");
        ?>
</option>
                                    <option value="number"><?php 
        _e("Number", "gravityforms");
        ?>
</option>
                                    <option value="checkbox"><?php 
        _e("Checkboxes", "gravityforms");
        ?>
</option>
                                    <option value="radio"><?php 
        _e("Radio Buttons", "gravityforms");
        ?>
</option>
                                    <option value="hidden"><?php 
        _e("Hidden", "gravityforms");
        ?>
</option>

                                    <option value="" class="option_header"><?php 
        _e("Advanced Fields", "gravityforms");
        ?>
</option>
                                    <option value="date"><?php 
        _e("Date", "gravityforms");
        ?>
</option>
                                    <option value="time"><?php 
        _e("Time", "gravityforms");
        ?>
</option>
                                    <option value="phone"><?php 
        _e("Phone", "gravityforms");
        ?>
</option>
                                    <option value="website"><?php 
        _e("Website", "gravityforms");
        ?>
</option>
                                    <option value="email"><?php 
        _e("Email", "gravityforms");
        ?>
</option>
                                    <option value="fileupload"><?php 
        _e("File Upload", "gravityforms");
        ?>
</option>
                                    <option value="list"><?php 
        _e("List", "gravityforms");
        ?>
</option>
                                </select>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 350, $form_id);
        ?>
                            <li class="post_tag_type_setting field_setting">
                                <label for="post_tag_type">
                                    <?php 
        _e("Field Type", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_type");
        ?>
                                </label>
                                <select id="post_tag_type" onchange="if(jQuery(this).val() == '') return; jQuery('#field_settings').slideUp(function(){StartChangeInputType(jQuery('#post_tag_type').val());});">
                                    <option value="text"><?php 
        _e("Single line text", "gravityforms");
        ?>
</option>
                                    <option value="select"><?php 
        _e("Drop Down", "gravityforms");
        ?>
</option>
                                    <option value="multiselect"><?php 
        _e("Multi Select", "gravityforms");
        ?>
</option>
                                    <option value="checkbox"><?php 
        _e("Checkboxes", "gravityforms");
        ?>
</option>
                                    <option value="radio"><?php 
        _e("Radio Buttons", "gravityforms");
        ?>
</option>
                                </select>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 400, $form_id);
        ?>
                            <?php 
        if (class_exists("ReallySimpleCaptcha")) {
            ?>
                                <li class="captcha_type_setting field_setting">
                                    <label for="field_captcha_type">
                                        <?php 
            _e("Type", "gravityforms");
            ?>
                                        <?php 
            gform_tooltip("form_field_captcha_type");
            ?>
                                    </label>
                                    <select id="field_captcha_type" onchange="StartChangeCaptchaType(jQuery(this).val())">
                                        <option value="captcha"><?php 
            _e("reCAPTCHA", "gravityforms");
            ?>
</option>
                                        <option value="simple_captcha"><?php 
            _e("Really Simple CAPTCHA", "gravityforms");
            ?>
</option>
                                        <option value="math"><?php 
            _e("Math Challenge", "gravityforms");
            ?>
</option>
                                    </select>
                                </li>
                                <?php 
            do_action("gform_field_standard_settings", 450, $form_id);
            ?>
                                <li class="captcha_size_setting field_setting">
                                    <label for="field_captcha_size">
                                        <?php 
            _e("Size", "gravityforms");
            ?>
                                    </label>
                                    <select id="field_captcha_size" onchange="SetCaptchaSize(jQuery(this).val());">
                                        <option value="small"><?php 
            _e("Small", "gravityforms");
            ?>
</option>
                                        <option value="medium"><?php 
            _e("Medium", "gravityforms");
            ?>
</option>
                                        <option value="large"><?php 
            _e("Large", "gravityforms");
            ?>
</option>
                                    </select>
                                </li>
                                <?php 
            do_action("gform_field_standard_settings", 500, $form_id);
            ?>
                                <li class="captcha_fg_setting field_setting">
                                    <label for="field_captcha_fg">
                                        <?php 
            _e("Font Color", "gravityforms");
            ?>
                                    </label>
                                    <?php 
            self::color_picker("field_captcha_fg", "SetCaptchaFontColor");
            ?>
                                </li>
                                <?php 
            do_action("gform_field_standard_settings", 550, $form_id);
            ?>
                                <li class="captcha_bg_setting field_setting">
                                    <label for="field_captcha_bg">
                                        <?php 
            _e("Background Color", "gravityforms");
            ?>
                                    </label>
                                    <?php 
            self::color_picker("field_captcha_bg", "SetCaptchaBackgroundColor");
            ?>
                                </li>
                                <?php 
        }
        do_action("gform_field_standard_settings", 600, $form_id);
        ?>
                            <li class="captcha_theme_setting field_setting">
                                <label for="field_captcha_theme">
                                    <?php 
        _e("Theme", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_recaptcha_theme");
        ?>
                                </label>
                                <select id="field_captcha_theme" onchange="SetCaptchaTheme(this.value, '<?php 
        echo GFCommon::get_base_url();
        ?>
/images/captcha_' + this.value + '.jpg')">
                                    <option value="red"><?php 
        _e("Red", "gravityforms");
        ?>
</option>
                                    <option value="white"><?php 
        _e("White", "gravityforms");
        ?>
</option>
                                    <option value="blackglass"><?php 
        _e("Black Glass", "gravityforms");
        ?>
</option>
                                    <option value="clean"><?php 
        _e("Clean", "gravityforms");
        ?>
</option>
                                </select>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 650, $form_id);
        ?>
                            <li class="post_custom_field_setting field_setting">
                                <label for="field_custom_field_name">
                                    <?php 
        _e("Custom Field Name", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_custom_field_name");
        ?>
                                </label>
                                <div style="width:100px; float:left;">
                                    <input type="radio" name="field_custom" id="field_custom_existing" size="10" onclick="ToggleCustomField();" />
                                    <label for="field_custom_existing" class="inline">
                                        <?php 
        _e("Existing", "gravityforms");
        ?>
                                    </label>
                                </div>
                                <div style="width:100px; float:left;">
                                    <input type="radio" name="field_custom" id="field_custom_new" size="10" onclick="ToggleCustomField();" />
                                    <label for="field_custom_new" class="inline">
                                        <?php 
        _e("New", "gravityforms");
        ?>
                                    </label>
                                </div>
                                <div class="clear">
                                   <input type="text" id="field_custom_field_name_text" size="35" onkeyup="SetFieldProperty('postCustomFieldName', this.value);"/>
                                   <select id="field_custom_field_name_select" onchange="SetFieldProperty('postCustomFieldName', jQuery(this).val());">
                                        <option value=""><?php 
        _e("Select an existing custom field", "gravityforms");
        ?>
</option>
                                        <?php 
        $custom_field_names = RGFormsModel::get_custom_field_names();
        foreach ($custom_field_names as $name) {
            ?>
                                                <option value="<?php 
            echo $name;
            ?>
"><?php 
            echo $name;
            ?>
</option>
                                                <?php 
        }
        ?>
                                    </select>
                                </div>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 700, $form_id);
        ?>
                            <li class="post_status_setting field_setting">
                                <label for="field_post_status">
                                    <?php 
        _e("Post Status", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_post_status");
        ?>
                                </label>
                                <select id="field_post_status" name="field_post_status">
                                    <option value="draft"><?php 
        _e("Draft", "gravityforms");
        ?>
</option>
                                    <option value="pending"><?php 
        _e("Pending Review", "gravityforms");
        ?>
</option>
                                    <option value="publish"><?php 
        _e("Published", "gravityforms");
        ?>
</option>
                                </select>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 750, $form_id);
        ?>
                            <li class="post_author_setting field_setting">
                                <label for="field_post_author">
                                    <?php 
        _e("Default Post Author", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_post_author");
        ?>
                                </label>
                                <?php 
        $args = array('name' => 'field_post_author');
        $args = apply_filters("gform_author_dropdown_args_" . rgar($form, "id"), apply_filters("gform_author_dropdown_args", $args));
        wp_dropdown_users($args);
        ?>
                                <div>
                                    <input type="checkbox" id="gfield_current_user_as_author"/>
                                    <label for="gfield_current_user_as_author" class="inline"><?php 
        _e("Use logged in user as author", "gravityforms");
        ?>
 <?php 
        gform_tooltip("form_field_current_user_as_author");
        ?>
</label>
                                </div>
                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 775, $form_id);
        ?>

                            <?php 
        if (current_theme_supports('post-formats')) {
            ?>

                            <li class="post_format_setting field_setting">
                                <label for="field_post_format">
                                    <?php 
            _e("Post Format", "gravityforms");
            ?>
                                    <?php 
            gform_tooltip("form_field_post_format");
            ?>
                                </label>

                                <?php 
            $post_formats = get_theme_support('post-formats');
            $post_formats_dropdown = '<option value="0">Standard</option>';
            foreach ($post_formats[0] as $post_format) {
                $post_formats_dropdown .= "<option value='{$post_format}'>" . ucfirst($post_format) . "</option>";
            }
            echo '<select name="field_post_format" id="field_post_format">' . $post_formats_dropdown . '</select>';
            ?>

                            </li>

                            <?php 
        }
        // if theme supports post formats
        ?>

                            <?php 
        do_action("gform_field_standard_settings", 800, $form_id);
        ?>

                            <li class="post_category_setting field_setting">
                                <label for="field_post_category">
                                    <?php 
        _e("Post Category", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_post_category");
        ?>
                                </label>
                                <?php 
        wp_dropdown_categories(array('selected' => get_option('default_category'), 'hide_empty' => 0, 'id' => 'field_post_category', 'name' => 'field_post_category', 'orderby' => 'name', 'selected' => 'field_post_category', 'hierarchical' => true));
        ?>
                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 825, $form_id);
        ?>

                            <li class="post_category_field_type_setting field_setting">
                                <label for="post_category_field_type">
                                    <?php 
        _e("Field Type", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_type");
        ?>
                                </label>
                                <select id="post_category_field_type" onchange="jQuery('#field_settings').slideUp(function(){StartChangeInputType( jQuery('#post_category_field_type').val() );});">
                                    <option value="select"><?php 
        _e("Drop Down", "gravityforms");
        ?>
</option>
                                    <option value="checkbox"><?php 
        _e("Checkboxes", "gravityforms");
        ?>
</option>
                                    <option value="radio"><?php 
        _e("Radio Buttons", "gravityforms");
        ?>
</option>
                                    <option value="multiselect"><?php 
        _e("Multi Select", "gravityforms");
        ?>
</option>
                                </select>
                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 850, $form_id);
        ?>
                            <li class="post_category_checkbox_setting field_setting">
                                <label for="field_post_category">
                                    <?php 
        _e("Category", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_post_category_selection");
        ?>
                                </label>

                                <input type="radio" id="gfield_category_all" name="gfield_category" value="all" onclick="ToggleCategory();"/>
                                <label for="gfield_category_all" class="inline">
                                    <?php 
        _e("All Categories", "gravityforms");
        ?>

                                </label>
                                &nbsp;&nbsp;
                                <input type="radio" id="gfield_category_select" name="gfield_category" value="select" onclick="ToggleCategory();"/>
                                <label for="form_button_image" class="inline">
                                    <?php 
        _e("Select Categories", "gravityforms");
        ?>
                                </label>

                                <div id="gfield_settings_category_container">
                                    <table cellpadding="0" cellspacing="5">
                                    <?php 
        $categories = get_categories(array('hide_empty' => 0));
        $count = 0;
        $category_rows = '';
        self::_cat_rows($categories, $count, $category_rows);
        echo $category_rows;
        ?>
                                    </table>
                                </div>
                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 875, $form_id);
        ?>
                            <li class="post_category_initial_item_setting field_setting">
                                <input type="checkbox" id="gfield_post_category_initial_item_enabled" onclick="TogglePostCategoryInitialItem(); SetCategoryInitialItem();"/>
                                <label for="gfield_post_category_initial_item_enabled" class="inline">
                                    <?php 
        _e("Display placeholder", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_post_category_initial_item");
        ?>
                                </label>
                            </li>
                            <li id="gfield_post_category_initial_item_container">
                                <label for="field_post_category_initial_item">
                                    <?php 
        _e("Placeholder Label", "gravityforms");
        ?>
                                </label>
                                <input type="text" id="field_post_category_initial_item" onchange="SetCategoryInitialItem();" class="fieldwidth-3" size="35"/>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 900, $form_id);
        ?>
                            <li class="post_content_template_setting field_setting">
                                <input type="checkbox" id="gfield_post_content_enabled" onclick="TogglePostContentTemplate();"/>
                                <label for="gfield_post_content_enabled" class="inline">
                                    <?php 
        _e("Create content template", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_post_content_template_enable");
        ?>
                                </label>

                                <div id="gfield_post_content_container">
                                    <div>
                                        <?php 
        GFCommon::insert_post_content_variables($form["fields"], "field_post_content_template", '', 25);
        ?>
                                    </div>
                                    <textarea id="field_post_content_template" class="fieldwidth-3 fieldheight-1"></textarea>
                                </div>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 950, $form_id);
        ?>
                            <li class="post_title_template_setting field_setting">
                                <input type="checkbox" id="gfield_post_title_enabled" onclick="TogglePostTitleTemplate();" />
                                <label for="gfield_post_title_enabled" class="inline">
                                    <?php 
        _e("Create content template", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_post_title_template_enable");
        ?>
                                </label>

                                <div id="gfield_post_title_container">
                                    <div>
                                        <?php 
        GFCommon::insert_variables($form["fields"], "field_post_title_template", true, '', '', 25, array("post_image", "fileupload"));
        ?>
                                    </div>
                                    <input type="text" id="field_post_title_template" class="fieldwidth-3"/>
                                </div>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 975, $form_id);
        ?>
                            <li class="customfield_content_template_setting field_setting">
                                <input type="checkbox" id="gfield_customfield_content_enabled" onclick="ToggleCustomFieldTemplate(); SetCustomFieldTemplate();"/>
                                <label for="gfield_customfield_content_enabled" class="inline">
                                    <?php 
        _e("Create content template", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_customfield_content_template_enable");
        ?>
                                </label>

                                <div id="gfield_customfield_content_container">
                                    <div>
                                        <?php 
        GFCommon::insert_post_content_variables($form["fields"], "field_customfield_content_template", 'SetCustomFieldTemplate', 25);
        ?>
                                    </div>
                                    <textarea id="field_customfield_content_template" class="fieldwidth-3 fieldheight-1" onkeyup="SetCustomFieldTemplate();"></textarea>
                                </div>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 1000, $form_id);
        ?>
                            <li class="post_image_setting field_setting">
                                <label><?php 
        _e("Image Metadata", "gravityforms");
        ?>
 <?php 
        gform_tooltip("form_field_image_meta");
        ?>
</label>
                                <input type="checkbox" id="gfield_display_title" onclick="SetPostImageMeta();" />
                                <label for="gfield_display_title" class="inline">
                                    <?php 
        _e("Title", "gravityforms");
        ?>
                                </label>
                                <br/>
                                <input type="checkbox" id="gfield_display_caption"  onclick="SetPostImageMeta();" />
                                <label for="gfield_display_caption" class="inline">
                                    <?php 
        _e("Caption", "gravityforms");
        ?>
                                </label>
                                <br/>
                                <input type="checkbox" id="gfield_display_description"  onclick="SetPostImageMeta();"/>
                                <label for="gfield_display_description" class="inline">
                                    <?php 
        _e("Description", "gravityforms");
        ?>
                                </label>
                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 1025, $form_id);
        ?>

                            <li class="post_image_featured_image field_setting">
                                <input type="checkbox" id="gfield_featured_image" onclick="SetFeaturedImage();" />
                                <label for="gfield_featured_image" class="inline"><?php 
        _e('Set as Featured Image', 'gravityforms');
        ?>
 <?php 
        gform_tooltip("form_field_featured_image");
        ?>
</label>
                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 1050, $form_id);
        ?>
                            <li class="address_setting field_setting">
                                <?php 
        $addressTypes = GFCommon::get_address_types(rgar($form, "id"));
        ?>
                                <label for="field_address_type">
                                    <?php 
        _e("Address Type", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_address_type");
        ?>
                                </label>
                                <select id="field_address_type" onchange="SetAddressType();">
                                    <?php 
        foreach ($addressTypes as $key => $addressType) {
            ?>
                                        <option value="<?php 
            echo $key;
            ?>
"><?php 
            echo $addressType["label"];
            ?>
</option>
                                        <?php 
        }
        ?>
                                </select>

                                <?php 
        foreach ($addressTypes as $key => $addressType) {
            $state_label = isset($addressType["state_label"]) ? $addressType["state_label"] : __("State", "gravityforms");
            ?>
                                    <div id="address_type_container_<?php 
            echo $key;
            ?>
" class="gfield_sub_setting gfield_address_type_container">
                                        <input type="hidden" id="field_address_country_<?php 
            echo $key;
            ?>
" value="<?php 
            echo isset($addressType["country"]) ? $addressType["country"] : "";
            ?>
" />
                                        <input type="hidden" id="field_address_zip_label_<?php 
            echo $key;
            ?>
" value="<?php 
            echo isset($addressType["zip_label"]) ? $addressType["zip_label"] : __("Postal Code", "gravityforms");
            ?>
" />
                                        <input type="hidden" id="field_address_state_label_<?php 
            echo $key;
            ?>
" value="<?php 
            echo $state_label;
            ?>
" />
                                        <input type="hidden" id="field_address_has_states_<?php 
            echo $key;
            ?>
" value="<?php 
            echo is_array(rgget("states", $addressType)) ? "1" : "";
            ?>
" />

                                        <?php 
            if (isset($addressType["states"]) && is_array($addressType["states"])) {
                ?>
                                            <label for="field_address_default_state_<?php 
                echo $key;
                ?>
">
                                                <?php 
                echo sprintf(__("Default %s", "gravityforms"), $state_label);
                ?>
                                                <?php 
                gform_tooltip("form_field_address_default_state_{$key}");
                ?>
                                            </label>

                                            <select id="field_address_default_state_<?php 
                echo $key;
                ?>
" class="field_address_default_state" onchange="SetAddressProperties();">
                                                <?php 
                echo GFCommon::get_state_dropdown($addressType["states"]);
                ?>
                                            </select>
                                            <?php 
            }
            ?>

                                        <?php 
            if (!isset($addressType["country"])) {
                ?>
                                             <label for="field_address_default_country_<?php 
                echo $key;
                ?>
">
                                                <?php 
                _e("Default Country", "gravityforms");
                ?>
                                                <?php 
                gform_tooltip("form_field_address_default_country");
                ?>
                                            </label>
                                            <select id="field_address_default_country_<?php 
                echo $key;
                ?>
" class="field_address_default_country" onchange="SetAddressProperties();">
                                                <?php 
                echo GFCommon::get_country_dropdown();
                ?>
                                            </select>

                                            <div class="gfield_sub_setting">
                                                <input type="checkbox" id="field_address_hide_country_<?php 
                echo $key;
                ?>
" onclick="SetAddressProperties();"/>
                                                <label for="field_address_hide_country" class="inline">
                                                    <?php 
                _e("Hide Country Field", "gravityforms");
                ?>
                                                    <?php 
                gform_tooltip("form_field_address_hide_country");
                ?>
                                                </label>
                                            </div>
                                            <?php 
            }
            ?>

                                        <div class="gfield_sub_setting">
                                            <input type="checkbox" id="field_address_hide_state_<?php 
            echo $key;
            ?>
" onclick="SetAddressProperties();"/>
                                            <label for="field_address_hide_state_<?php 
            echo $key;
            ?>
" class="inline">
                                                <?php 
            echo sprintf(__("Hide %s Field", "gravityforms"), $addressType["state_label"]);
            ?>
                                                <?php 
            gform_tooltip("form_field_address_hide_state_{$key}");
            ?>
                                            </label>
                                        </div>
                                    </div>
                                    <?php 
        }
        ?>

                                <div class="gfield_sub_setting">
                                    <input type="checkbox" id="field_address_hide_address2" onclick="SetAddressProperties();"/>
                                    <label for="field_address_hide_address2" class="inline">
                                        <?php 
        _e("Hide Address Line 2 Field", "gravityforms");
        ?>
                                        <?php 
        gform_tooltip("form_field_address_hide_address2");
        ?>
                                    </label>
                                </div>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 1100, $form_id);
        ?>
                            <li class="name_format_setting field_setting">
                                <label for="field_name_format">
                                    <?php 
        _e("Name Format", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_name_format");
        ?>
                                </label>
                                <select id="field_name_format" onchange="StartChangeNameFormat(jQuery(this).val());">
                                    <option value="normal"><?php 
        _e("Normal", "gravityforms");
        ?>
</option>
                                    <option value="extended"><?php 
        _e("Extended", "gravityforms");
        ?>
</option>
                                    <option value="simple"><?php 
        _e("Simple", "gravityforms");
        ?>
</option>
                                </select>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 1150, $form_id);
        ?>
                            <li class="date_input_type_setting field_setting">
                                <label for="field_date_input_type">
                                    <?php 
        _e("Date Input Type", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_date_input_type");
        ?>
                                </label>
                                <select id="field_date_input_type" onchange="SetDateInputType(jQuery(this).val());">
                                    <option value="datefield"><?php 
        _e("Date Field", "gravityforms");
        ?>
</option>
                                    <option value="datepicker"><?php 
        _e("Date Picker", "gravityforms");
        ?>
</option>
                                    <option value="datedropdown"><?php 
        _e("Date Drop Down", "gravityforms");
        ?>
</option>
                                </select>
                                <div id="date_picker_container">

                                    <input type="radio" id="gsetting_icon_none" name="gsetting_icon" value="none" onclick="SetCalendarIconType(this.value);"/>
                                    <label for="gsetting_icon_none" class="inline">
                                        <?php 
        _e("No Icon", "gravityforms");
        ?>
                                    </label>
                                    &nbsp;&nbsp;
                                    <input type="radio" id="gsetting_icon_calendar" name="gsetting_icon" value="calendar" onclick="SetCalendarIconType(this.value);"/>
                                    <label for="gsetting_icon_calendar" class="inline">
                                        <?php 
        _e("Calendar Icon", "gravityforms");
        ?>
                                    </label>
                                    &nbsp;&nbsp;
                                    <input type="radio" id="gsetting_icon_custom" name="gsetting_icon" value="custom" onclick="SetCalendarIconType(this.value);"/>
                                    <label for="gsetting_icon_custom" class="inline">
                                        <?php 
        _e("Custom Icon", "gravityforms");
        ?>
                                    </label>

                                    <div id="gfield_icon_url_container">
                                        <label for="gfield_calendar_icon_url" class="inline">
                                            <?php 
        _e("Image Path: ", "gravityforms");
        ?>
                                        </label>
                                        <input type="text" id="gfield_calendar_icon_url" size="45" onkeyup="SetFieldProperty('calendarIconUrl', this.value);"/>
                                        <div class="instruction"><?php 
        _e("Preview this form to see your custom icon.", "gravityforms");
        ?>
</div>
                                    </div>
                                </div>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 1200, $form_id);
        ?>
                            <li class="date_format_setting field_setting">
                                <label for="field_date_format">
                                    <?php 
        _e("Date Format", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_date_format");
        ?>
                                </label>
                                <select id="field_date_format" onchange="SetDateFormat(jQuery(this).val());">
                                    <option value="mdy">mm/dd/yyyy</option>
                                    <option value="dmy">dd/mm/yyyy</option>
                                    <option value="dmy_dash">dd-mm-yyyy</option>
                                    <option value="dmy_dot">dd.mm.yyyy</option>
                                    <option value="ymd_slash">yyyy/mm/dd</option>
                                    <option value="ymd_dash">yyyy-mm-dd</option>
                                    <option value="ymd_dot">yyyy.mm.dd</option>
                                </select>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 1250, $form_id);
        ?>
                            <li class="file_extensions_setting field_setting">
                                <label for="field_file_extension">
                                    <?php 
        _e("Allowed file extensions", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_fileupload_allowed_extensions");
        ?>
                                </label>
                               <input type="text" id="field_file_extension" size="40" onkeyup="SetFieldProperty('allowedExtensions', this.value);"/>
                               <div><small><?php 
        _e("Separated with commas (i.e. jpg, gif, png, pdf)", "gravityforms");
        ?>
</small></div>
                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 1275, $form_id);
        ?>
                            <li class="columns_setting field_setting">

                                <input type="checkbox" id="field_columns_enabled" onclick="SetFieldProperty('enableColumns', this.checked); ToggleColumns();"/>
                                <label for="field_columns_enabled" class="inline"><?php 
        _e("Enable multiple columns", "gravityforms");
        gform_tooltip("form_field_columns");
        ?>
</label>
                                <br />
                                <div id="gfield_settings_columns_container">
                                    <ul id="field_columns"></ul>
                                </div>
                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 1287, $form_id);
        ?>
                            <li class="maxrows_setting field_setting">
                                <label for="field_maxrows">
                                    <?php 
        _e("Maximum Rows", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_maxrows");
        ?>
                                </label>
                                <input type="text" id="field_maxrows" onkeyup="SetFieldProperty('maxRows', this.value);"/></input>
                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 1300, $form_id);
        ?>

                            <li class="time_format_setting field_setting">
                                <label for="field_time_format">
                                    <?php 
        _e("Time Format", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_time_format");
        ?>
                                </label>
                                <select id="field_time_format" onchange="SetTimeFormat(this.value);">
                                    <option value="12"><?php 
        _e("12 hour", "gravityforms");
        ?>
</option>
                                    <option value="24"><?php 
        _e("24 hour", "gravityforms");
        ?>
</option>
                                </select>

                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 1325, $form_id);
        ?>

                            <li class="phone_format_setting field_setting">
                                <label for="field_phone_format">
                                    <?php 
        _e("Phone Format", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_phone_format");
        ?>
                                </label>
                                <select id="field_phone_format" onchange="SetFieldPhoneFormat(jQuery(this).val());">
                                    <option value="standard">(###)### - ####</option>
                                    <option value="international"><?php 
        _e("International", "gravityforms");
        ?>
</option>
                                </select>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 1350, $form_id);
        ?>
                            <li class="choices_setting field_setting">
                                <div style="float:right;">
                                    <input type="checkbox" id="field_choice_values_enabled" onclick="SetFieldProperty('enableChoiceValue', this.checked); ToggleChoiceValue(); SetFieldChoices();"/>
                                    <label for="field_choice_values_enabled" class="inline gfield_value_label"><?php 
        _e("show values", "gravityforms");
        ?>
</label>
                                </div>
                                <?php 
        $field_title = __("Choices", "gravityforms");
        echo apply_filters("gform_choices_setting_title", $field_title);
        ?>
 <?php 
        gform_tooltip("form_field_choices");
        ?>
<br />

                                <div id="gfield_settings_choices_container">
                                    <label class="gfield_choice_header_label"><?php 
        _e("Label", "gravityforms");
        ?>
</label><label class="gfield_choice_header_value"><?php 
        _e("Value", "gravityforms");
        ?>
</label><label class="gfield_choice_header_price"><?php 
        _e("Price", "gravityforms");
        ?>
</label>
                                    <ul id="field_choices"></ul>
                                </div>

                                <?php 
        $window_title = __("Bulk Add / Predefined Choices", "gravityforms");
        ?>
                                <input type='button' value='<?php 
        echo esc_attr($window_title);
        ?>
' onclick="tb_show('<?php 
        echo esc_js($window_title);
        ?>
', '#TB_inline?height=500&amp;width=600&amp;inlineId=gfield_bulk_add', '');" class="button"/>

                                <div id="gfield_bulk_add" style="display:none;">
                                    <div>
                                        <?php 
        $predefined_choices = array(__("Countries", "gravityforms") => GFCommon::get_countries(), __("U.S. States", "gravityforms") => GFCommon::get_us_states(), __("Canadian Province/Territory", "gravityforms") => GFCommon::get_canadian_provinces(), __("Continents", "gravityforms") => array(__("Africa", "gravityforms"), __("Antarctica", "gravityforms"), __("Asia", "gravityforms"), __("Australia", "gravityforms"), __("Europe", "gravityforms"), __("North America", "gravityforms"), __("South America", "gravityforms")), __("Gender", "gravityforms") => array(__("Male", "gravityforms"), __("Female", "gravityforms"), __("Prefer Not to Answer", "gravityforms")), __("Age", "gravityforms") => array(__("Under 18", "gravityforms"), __("18-24", "gravityforms"), __("25-34", "gravityforms"), __("35-44", "gravityforms"), __("45-54", "gravityforms"), __("55-64", "gravityforms"), __("65 or Above", "gravityforms"), __("Prefer Not to Answer", "gravityforms")), __("Marital Status", "gravityforms") => array(__("Single", "gravityforms"), __("Married", "gravityforms"), __("Divorced", "gravityforms"), __("Widowed", "gravityforms")), __("Employment", "gravityforms") => array(__("Employed Full-Time", "gravityforms"), __("Employed Part-Time", "gravityforms"), __("Self-employed", "gravityforms"), __("Not employed", "gravityforms"), __(" but looking for work", "gravityforms"), __("Not employed and not looking for work", "gravityforms"), __("Homemaker", "gravityforms"), __("Retired", "gravityforms"), __("Student", "gravityforms"), __("Prefer Not to Answer", "gravityforms")), __("Job Type", "gravityforms") => array(__("Full-Time", "gravityforms"), __("Part-Time", "gravityforms"), __("Per Diem", "gravityforms"), __("Employee", "gravityforms"), __("Temporary", "gravityforms"), __("Contract", "gravityforms"), __("Intern", "gravityforms"), __("Seasonal", "gravityforms")), __("Industry", "gravityforms") => array(__("Accounting/Finance", "gravityforms"), __("Advertising/Public Relations", "gravityforms"), __("Aerospace/Aviation", "gravityforms"), __("Arts/Entertainment/Publishing", "gravityforms"), __("Automotive", "gravityforms"), __("Banking/Mortgage", "gravityforms"), __("Business Development", "gravityforms"), __("Business Opportunity", "gravityforms"), __("Clerical/Administrative", "gravityforms"), __("Construction/Facilities", "gravityforms"), __("Consumer Goods", "gravityforms"), __("Customer Service", "gravityforms"), __("Education/Training", "gravityforms"), __("Energy/Utilities", "gravityforms"), __("Engineering", "gravityforms"), __("Government/Military", "gravityforms"), __("Green", "gravityforms"), __("Healthcare", "gravityforms"), __("Hospitality/Travel", "gravityforms"), __("Human Resources", "gravityforms"), __("Installation/Maintenance", "gravityforms"), __("Insurance", "gravityforms"), __("Internet", "gravityforms"), __("Job Search Aids", "gravityforms"), __("Law Enforcement/Security", "gravityforms"), __("Legal", "gravityforms"), __("Management/Executive", "gravityforms"), __("Manufacturing/Operations", "gravityforms"), __("Marketing", "gravityforms"), __("Non-Profit/Volunteer", "gravityforms"), __("Pharmaceutical/Biotech", "gravityforms"), __("Professional Services", "gravityforms"), __("QA/Quality Control", "gravityforms"), __("Real Estate", "gravityforms"), __("Restaurant/Food Service", "gravityforms"), __("Retail", "gravityforms"), __("Sales", "gravityforms"), __("Science/Research", "gravityforms"), __("Skilled Labor", "gravityforms"), __("Technology", "gravityforms"), __("Telecommunications", "gravityforms"), __("Transportation/Logistics", "gravityforms"), __("Other", "gravityforms")), __("Income", "gravityforms") => array(__("Under \$20,000", "gravityforms"), __("\$20,000 - \$30,000", "gravityforms"), __("\$30,000 - \$40,000", "gravityforms"), __("\$40,000 - \$50,000", "gravityforms"), __("\$50,000 - \$75,000", "gravityforms"), __("\$75,000 - \$100,000", "gravityforms"), __("\$100,000 - \$150,000", "gravityforms"), __("\$150,000 or more", "gravityforms"), __("Prefer Not to Answer", "gravityforms")), __("Education", "gravityforms") => array(__("High School", "gravityforms"), __("Associate Degree", "gravityforms"), __("Bachelor's Degree", "gravityforms"), __("Graduate of Professional Degree", "gravityforms"), __("Some College", "gravityforms"), __("Other", "gravityforms"), __("Prefer Not to Answer", "gravityforms")), __("Days of the Week", "gravityforms") => array(__("Sunday", "gravityforms"), __("Monday", "gravityforms"), __("Tuesday", "gravityforms"), __("Wednesday", "gravityforms"), __("Thursday", "gravityforms"), __("Friday", "gravityforms"), __("Saturday", "gravityforms")), __("Months of the Year", "gravityforms") => array(__("January", "gravityforms"), __("February", "gravityforms"), __("March", "gravityforms"), __("April", "gravityforms"), __("May", "gravityforms"), __("June", "gravityforms"), __("July", "gravityforms"), __("August", "gravityforms"), __("September", "gravityforms"), __("October", "gravityforms"), __("November", "gravityforms"), __("December", "gravityforms")), __("How Often", "gravityforms") => array(__("Everyday", "gravityforms"), __("Once a week", "gravityforms"), __("2 to 3 times a week", "gravityforms"), __("Once a month", "gravityforms"), __(" 2 to 3 times a month", "gravityforms"), __("Less than once a month", "gravityforms")), __("How Long", "gravityforms") => array(__("Less than a month", "gravityforms"), __("1-6 months", "gravityforms"), __("1-3 years", "gravityforms"), __("Over 3 Years", "gravityforms"), __("Never used", "gravityforms")), __("Satisfaction", "gravityforms") => array(__("Very Satisfied", "gravityforms"), __("Satisfied", "gravityforms"), __("Neutral", "gravityforms"), __("Unsatisfied", "gravityforms"), __("Very Unsatisfied", "gravityforms")), __("Importance", "gravityforms") => array(__("Very Important", "gravityforms"), __("Important", "gravityforms"), __("Somewhat Important", "gravityforms"), __("Not Important", "gravityforms")), __("Agreement", "gravityforms") => array(__("Strongly Agree", "gravityforms"), __("Agree", "gravityforms"), __("Disagree", "gravityforms"), __("Strongly Disagree", "gravityforms")), __("Comparison", "gravityforms") => array(__("Much Better", "gravityforms"), __("Somewhat Better", "gravityforms"), __("About the Same", "gravityforms"), __("Somewhat Worse", "gravityforms"), __("Much Worse", "gravityforms")), __("Would You", "gravityforms") => array(__("Definitely", "gravityforms"), __("Probably", "gravityforms"), __("Not Sure", "gravityforms"), __("Probably Not", "gravityforms"), __("Definitely Not", "gravityforms")), __("Size", "gravityforms") => array(__("Extra Small", "gravityforms"), __("Small", "gravityforms"), __("Medium", "gravityforms"), __("Large", "gravityforms"), __("Extra Large", "gravityforms")));
        $predefined_choices = apply_filters("gform_predefined_choices_" . rgar($form, "id"), apply_filters("gform_predefined_choices", $predefined_choices));
        $custom_choices = RGFormsModel::get_custom_choices();
        ?>

                                        <div class="panel-instructions"><?php 
        _e("Select a category and customize the predefined choices or paste your own list to bulk add choices.", "gravityforms");
        ?>
</div>

                                        <div class="bulk-left-panel">
                                            <ul id="bulk_items">
                                            <?php 
        foreach (array_keys($predefined_choices) as $name) {
            $key = str_replace("'", "\\'", $name);
            ?>
                                                <li><a href="#" onclick="SelectPredefinedChoice('<?php 
            echo $key;
            ?>
');" class="bulk-choice"><?php 
            echo $name;
            ?>
</a>
                                            <?php 
        }
        ?>
                                            </ul>
                                        </div>
                                        <div class="bulk-arrow-mid"></div>
                                        <textarea id="gfield_bulk_add_input"></textarea>
                                        <br style="clear:both;"/>
                                        <div class="panel-buttons" style="">
                                            <input type="button" onclick="InsertBulkChoices(jQuery('#gfield_bulk_add_input').val().split('\n')); tb_remove();" class="button-primary" value="<?php 
        _e("Insert Choices", "gravityforms");
        ?>
" />&nbsp;
                                            <input type="button" onclick="tb_remove();" class="button" value="Cancel" />
                                        </div>

                                        <div class="panel-custom" style="">
                                            <a href="#" onclick="LoadCustomChoicesPanel(true, 'slow');" id="bulk_save_as"><?php 
        _e("Save as new custom choice", "gravityforms");
        ?>
</a>
                                            <div id="bulk_custom_edit" style="display:none;">
                                                <?php 
        _e("Save as", "gravityforms");
        ?>
 <input type="text" id="custom_choice_name" value="<?php 
        _e("Enter name", "gravityforms");
        ?>
" onfocus="if(this.value == '<?php 
        _e("enter name", "gravityforms");
        ?>
') this.value='';">&nbsp;&nbsp;
                                                <a href="#" onclick="SaveCustomChoices();" class="button" id="bulk_save_button"><?php 
        _e("Save", "gravityforms");
        ?>
</a>&nbsp;
                                                <a href="#" onclick="CloseCustomChoicesPanel('slow');" id="bulk_cancel_link"><?php 
        _e("Cancel", "gravityforms");
        ?>
</a>
                                                <a href="#" onclick="DeleteCustomChoice();" id="bulk_delete_link"><?php 
        _e("Delete", "gravityforms");
        ?>
</a>
                                            </div>
                                            <div id="bulk_custom_message" class="alert_yellow" style="display:none; margin-top:8px; padding: 8px;">
                                                <!--Message will be added via javascript-->
                                            </div>
                                        </div>

                                        <script type="text/javascript">
                                            var gform_selected_custom_choice = "";
                                            var gform_custom_choices = <?php 
        echo GFCommon::json_encode($custom_choices);
        ?>
;
                                            var gform_predefined_choices = <?php 
        echo GFCommon::json_encode($predefined_choices);
        ?>
;
                                        </script>

                                    </div>
                                </div>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 1362, $form_id);
        ?>

                            <li class="other_choice_setting field_setting">

                                <input type="checkbox" id="field_other_choice" onclick="var value = jQuery(this).is(':checked'); SetFieldProperty('enableOtherChoice', value); UpdateFieldChoices(GetInputType(field));" />
                                <label for="field_other_choice" class="inline">
                                    <?php 
        _e('Enable "other" choice', "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_other_choice");
        ?>
                                </label>

                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 1368, $form_id);
        ?>

                            <li class="email_confirm_setting field_setting">
                                <input type="checkbox" id="gfield_email_confirm_enabled" onclick="SetEmailConfirmation(this.checked);"/>
                                <label for="gfield_email_confirm_enabled" class="inline">
                                    <?php 
        _e("Enable Email Confirmation", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_email_confirm_enable");
        ?>
                                </label>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 1375, $form_id);
        ?>
                            <li class="password_strength_setting field_setting">
                                <input type="checkbox" id="gfield_password_strength_enabled" onclick="TogglePasswordStrength(); SetPasswordStrength(this.checked);"/>
                                <label for="gfield_password_strength_enabled" class="inline">
                                    <?php 
        _e("Enable Password Strength", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_password_strength_enable");
        ?>
                                </label>
                            </li>

                             <?php 
        do_action("gform_field_standard_settings", 1387, $form_id);
        ?>
                            <li class="enable_enhanced_ui_setting field_setting">
                                <input type="checkbox" id="gfield_enable_enhanced_ui" onclick="SetFieldProperty('enableEnhancedUI', jQuery(this).is(':checked') ? 1 : 0);"/>
                                <label for="gfield_enable_enhanced_ui" class="inline">
                                    <?php 
        _e("Enable enhanced user interface", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_enable_enhanced_ui");
        ?>
                                </label>
                            </li>

                            <li id="gfield_min_strength_container">
                                <label for="gfield_min_strength">
                                    <?php 
        _e("Minimum Strength", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_password_strength_enable");
        ?>
                                </label>
                                <select id="gfield_min_strength" onchange="SetFieldProperty('minPasswordStrength', jQuery(this).val());">
                                    <option value=""><?php 
        _e("None", "gravityforms");
        ?>
</option>
                                    <option value="short"><?php 
        _e("Short", "gravityforms");
        ?>
</option>
                                    <option value="bad"><?php 
        _e("Bad", "gravityforms");
        ?>
</option>
                                    <option value="good"><?php 
        _e("Good", "gravityforms");
        ?>
</option>
                                    <option value="strong"><?php 
        _e("Strong", "gravityforms");
        ?>
</option>
                                </select>
                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 1400, $form_id);
        ?>

                            <li class="number_format_setting field_setting">
                                <label for="field_number_format">
                                    <?php 
        _e("Number Format", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_number_format");
        ?>
                                </label>
                                <select id="field_number_format" onchange="SetFieldProperty('numberFormat', this.value);">
                                    <option value="decimal_dot">9,999.99</option>
                                    <option value="decimal_comma">9.999,99</option>
                                </select>

                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 1425, $form_id);
        ?>

                            <li class="description_setting field_setting">
                                <label for="field_description">
                                    <?php 
        _e("Description", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_description");
        ?>
                                </label>
                                <textarea id="field_description" class="fieldwidth-3 fieldheight-2" onkeyup="SetFieldDescription(this.value);"></textarea>
                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 1430, $form_id);
        ?>
                            <li class="credit_card_setting field_setting">
                                <label>
                                    <?php 
        _e("Supported Credit Cards", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_credit_cards");
        ?>
                                </label>
                                <ul>
                                <?php 
        $cards = GFCommon::get_card_types();
        foreach ($cards as $card) {
            ?>

                                    <li>
                                        <input type="checkbox" id="field_credit_card_<?php 
            echo $card['slug'];
            ?>
" value="<?php 
            echo $card['slug'];
            ?>
" onclick="SetCardType(this, this.value);" />
                                        <label for="field_credit_card_<?php 
            echo $card['slug'];
            ?>
" class="inline"><?php 
            echo $card['name'];
            ?>
</label>
                                    </li>

                                <?php 
        }
        ?>
                                </ul>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 1435, $form_id);
        ?>
                            <li class="credit_card_style_setting field_setting">
                                <label for="credit_card_style">
                                    <?php 
        _e("Card Icon Style", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_card_style");
        ?>
                                </label>
                                <select id="credit_card_style" onchange="SetFieldProperty('creditCardStyle', this.value);">
                                    <option value="style1"><?php 
        _e("Standard", "gravityforms");
        ?>
</option>
                                    <option value="style2"><?php 
        _e("3D", "gravityforms");
        ?>
</option>
                                </select>
                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 1440, $form_id);
        ?>

                            <li class="input_mask_setting field_setting">

                                <input type="checkbox" id="field_input_mask" onclick="ToggleInputMask();"/>
                                <label for="field_input_mask" class="inline">
                                    <?php 
        _e("Input Mask", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_mask");
        ?>
                                </label><br />

                                <div id="gform_input_mask">

                                    <br />

                                    <div style="width:100px; float:left;">
                                        <input type="radio" name="field_mask_option" id="field_mask_standard" size="10" onclick="ToggleInputMaskOptions();" />
                                        <label for="field_mask_standard" class="inline">
                                            <?php 
        _e("Standard", "gravityforms");
        ?>
                                        </label>
                                    </div>
                                    <div style="width:100px; float:left;">
                                        <input type="radio" name="field_mask_option" id="field_mask_custom" size="10" onclick="ToggleInputMaskOptions();" />
                                        <label for="field_mask_custom" class="inline">
                                            <?php 
        _e("Custom", "gravityforms");
        ?>
                                        </label>
                                    </div>

                                    <div class="clear"></div>

                                    <input type="text" id="field_mask_text" size="35" onkeyup="SetFieldProperty('inputMaskValue', this.value);" />
                                    <p class="mask_text_description" style="margin:5px 0 0;">
                                        <?php 
        _e("Enter a custom mask", "gravityforms");
        ?>
.
                                        <a href="#" onclick="tb_show('<?php 
        _e("Custom Mask Instructions", "gravityforms");
        ?>
', '#TB_inline?width=350&amp;inlineId=custom_mask_instructions', '');"><?php 
        _e("Help", "gravityhelp");
        ?>
</a>
                                    </p>
                                    <div id="custom_mask_instructions" style="display:none;">
                                        <div class="custom_mask_instructions">

                                            <h4><?php 
        _e("Usage", "gravityforms");
        ?>
</h4>
                                            <ul class="description-list">
                                                <li><?php 
        _e("Use a <em>'9'</em> to indicate a numerical character.", "gravityforms");
        ?>
</li>
                                                <li><?php 
        _e("Use a lower case <em>'a'</em> to indicate an alphabetical character.", "gravityforms");
        ?>
</li>
                                                <li><?php 
        _e("Use an asterick <em>'*'</em> to indicate any alphanumeric character.", "gravityforms");
        ?>
</li>
                                                <li><?php 
        _e("Use a question mark <em>'?'</em> to indicate optional characters. <em>Note:</em> All characters after the question mark will be optional.", "gravityforms");
        ?>
</li>
                                                <li><?php 
        _e("All other characters are literal values and will be displayed automatically.", "gravityforms");
        ?>
</li>
                                            </ul>

                                            <h4><?php 
        _e("Examples", "gravityforms");
        ?>
</h4>
                                            <ul class="examples-list">
                                                <li>
                                                    <h5><?php 
        _e("Date", "gravityforms");
        ?>
</h5>
                                                    <span class="label"><?php 
        _e("Mask", "gravityforms");
        ?>
</span> <code>99/99/9999</code><br />
                                                    <span class="label"><?php 
        _e("Valid Input", "gravityforms");
        ?>
</span> <code>10/21/2011</code>
                                                </li>
                                                <li>
                                                    <h5><?php 
        _e("Social Security Number", "gravityforms");
        ?>
</h5>
                                                    <span class="label"><?php 
        _e("Mask", "gravityforms");
        ?>
</span> <code>999-99-9999</code><br />
                                                    <span class="label"><?php 
        _e("Valid Input", "gravityforms");
        ?>
</span> <code>987-65-4329</code>
                                                </li>
                                                <li>
                                                    <h5><?php 
        _e("Course Code", "gravityforms");
        ?>
</h5>
                                                    <span class="label"><?php 
        _e("Mask", "gravityforms");
        ?>
</span> <code>aaa 999</code><br />
                                                    <span class="label"><?php 
        _e("Valid Input", "gravityforms");
        ?>
</span> <code>BIO 101</code>
                                                </li>
                                                <li>
                                                    <h5><?php 
        _e("License Key", "gravityforms");
        ?>
</h5>
                                                    <span class="label"><?php 
        _e("Mask", "gravityforms");
        ?>
</span> <code>***-***-***</code><br />
                                                    <span class="label"><?php 
        _e("Valid Input", "gravityforms");
        ?>
</span> <code>a9a-f0c-28Q</code>
                                                </li>
                                                <li>
                                                    <h5><?php 
        _e("Zip Code w/ Optional Plus Four", "gravityforms");
        ?>
</h5>
                                                    <span class="label"><?php 
        _e("Mask", "gravityforms");
        ?>
</span> <code>99999?-9999</code><br />
                                                    <span class="label"><?php 
        _e("Valid Input", "gravityforms");
        ?>
</span> <code>23462</code> or <code>23462-4062</code>
                                                </li>
                                            </ul>

                                        </div>
                                    </div>

                                    <select id="field_mask_select" onchange="SetFieldProperty('inputMaskValue', jQuery(this).val());">
                                        <option value=""><?php 
        _e("Select a Mask", "gravityforms");
        ?>
</option>
                                        <?php 
        $masks = RGFormsModel::get_input_masks();
        foreach ($masks as $mask_name => $mask_value) {
            ?>
                                                <option value="<?php 
            echo $mask_value;
            ?>
"><?php 
            echo $mask_name;
            ?>
</option>
                                                <?php 
        }
        ?>
                                    </select>

                                </div>

                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 1450, $form_id);
        ?>

                            <li class="maxlen_setting field_setting">
                                <label for="field_maxlen">
                                    <?php 
        _e("Maximum Characters", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_maxlength");
        ?>
                                </label>
                                <input type="text" id="field_maxlen" onkeyup="SetFieldProperty('maxLength', this.value);"/></input>
                            </li>
                            <?php 
        do_action("gform_field_standard_settings", 1500, $form_id);
        ?>

                            <li class="range_setting field_setting">
                                <div style="clear:both;"><?php 
        _e("Range", "gravityforms");
        ?>
                                <?php 
        gform_tooltip("form_field_number_range");
        ?>
                                </div>
                                <div style="width:90px; float:left;">
                                <input type="text" id="field_range_min" size="10" onkeyup="SetFieldProperty('rangeMin', this.value);" />
                                    <label for="field_range_min" >
                                        <?php 
        _e("Min", "gravityforms");
        ?>
                                    </label>
                                </div>
                                <div style="width:90px; float:left;">
                                <input type="text" id="field_range_max" size="10" onkeyup="SetFieldProperty('rangeMax', this.value);" />
                                    <label for="field_range_max">
                                        <?php 
        _e("Max", "gravityforms");
        ?>
                                    </label>

                                </div>
                                <br class="clear" />
                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 1550, $form_id);
        ?>

                            <li class="calculation_setting field_setting">

                                <div class="field_enable_calculation">
                                    <input type="checkbox" id="field_enable_calculation" onclick="ToggleCalculationOptions(this.checked, field);" />
                                    <label for="field_enable_calculation" class="inline">
                                        <?php 
        _e("Enable Calculation", "gravityforms");
        ?>
                                        <?php 
        gform_tooltip("form_field_enable_calculation");
        ?>
                                    </label>
                                </div>

                                <div id="calculation_options" style="display:none;margin-top:10px;">

                                    <label for="field_calculation_formula">
                                        <?php 
        _e("Formula", "gravityforms");
        ?>
                                        <?php 
        gform_tooltip("form_field_calculation_formula");
        ?>
                                    </label>
                                    <div>
                                        <?php 
        GFCommon::insert_calculation_variables($form["fields"], "field_calculation_formula", '', 'FormulaContentCallback', 40);
        ?>
                                        <div class="gf_calculation_buttons">
                                            <?php 
        foreach (array('+', '-', '/', '*', '(', ')', '.') as $button) {
            ?>
                                                <input type="button" value="<?php 
            echo in_array($button, array('.')) ? $button : " {$button} ";
            ?>
" onclick="InsertVariable('field_calculation_formula', 'FormulaContentCallback', this.value);" />
                                            <?php 
        }
        ?>
                                        </div>
                                    </div>
                                    <textarea id="field_calculation_formula" onkeyup="SetFieldProperty('calculationFormula', this.value);" class="fieldwidth-3 fieldheight-2"></textarea>

                                    <div id="forumla_instructions" style="display:none;">
                                        <div class="forumla_instructions">

                                            <h4><?php 
        _e("Usage", "gravityforms");
        ?>
</h4>
                                            <ul class="description-list">
                                                <li><?php 
        _e("Use a <em>'9'</em> to indicate a numerical character.", "gravityforms");
        ?>
</li>
                                                <li><?php 
        _e("Use a lower case <em>'a'</em> to indicate an alphabetical character.", "gravityforms");
        ?>
</li>
                                                <li><?php 
        _e("Use an asterick <em>'*'</em> to indicate any alphanumeric character.", "gravityforms");
        ?>
</li>
                                                <li><?php 
        _e("Use a question mark <em>'?'</em> to indicate optional characters. <em>Note:</em> All characters after the question mark will be optional.", "gravityforms");
        ?>
</li>
                                                <li><?php 
        _e("All other characters are literal values and will be displayed automatically.", "gravityforms");
        ?>
</li>
                                            </ul>

                                        </div>
                                    </div>

                                    <div class="field_calculation_rounding">
                                        <label for="field_calculation_rounding" style="margin-top:10px;">
                                            <?php 
        _e("Rounding", "gravityforms");
        ?>
                                            <?php 
        gform_tooltip("form_field_calculation_rounding");
        ?>
                                        </label>
                                        <select id="field_calculation_rounding" onchange="SetFieldProperty('calculationRounding', this.value);">
                                            <option value="0">0</option>
                                            <option value="1">1</option>
                                            <option value="2">2</option>
                                            <option value="3">3</option>
                                            <option value="4">4</option>
                                            <option value="norounding">Do not round</option>
                                        </select>
                                    </div>

                                </div>

                                <br class="clear" />

                            </li>

                            <?php 
        do_action("gform_field_standard_settings", 1600, $form_id);
        ?>

                            <li class="rules_setting field_setting">
                                <?php 
        _e("Rules", "gravityforms");
        ?>
<br/>
                                <input type="checkbox" id="field_required" onclick="SetFieldRequired(this.checked);"/>
                                <label for="field_required" class="inline">
                                    <?php 
        _e("Required", "gravityforms");
        ?>
                                    <?php 
        gform_tooltip("form_field_required");
        ?>
                                </label><br/>
                                <div class="duplicate_setting field_setting">
                                    <input type="checkbox" id="field_no_duplicates" onclick="SetFieldProperty('noDuplicates', this.checked);"/>
                                    <label for="field_no_duplicates" class="inline">
                                        <?php 
        _e("No Duplicates", "gravityforms");
        ?>
                                        <?php 
        gform_tooltip("form_field_no_duplicate");
        ?>
                                    </label>
                                </div>
                            </li>

                            <?php 
        do_action("gform_field_standard_settings", -1, $form_id);
        ?>
                        </ul>
                        </div>
                        <div id="gform_tab_2">
                            <ul>
                                <?php 
        do_action("gform_field_advanced_settings", 0, $form_id);
        ?>
                                <li class="admin_label_setting field_setting">
                                    <label for="field_admin_label">
                                        <?php 
        _e("Admin Label", "gravityforms");
        ?>
                                        <?php 
        gform_tooltip("form_field_admin_label");
        ?>
                                    </label>
                                    <input type="text" id="field_admin_label" size="35" onkeyup="SetFieldProperty('adminLabel', this.value);"/>
                                </li>
                                <?php 
        do_action("gform_field_advanced_settings", 50, $form_id);
        ?>
                                <li class="size_setting field_setting">
                                    <label for="field_size">
                                        <?php 
        _e("Field Size", "gravityforms");
        ?>
                                        <?php 
        gform_tooltip("form_field_size");
        ?>
                                    </label>
                                    <select id="field_size" onchange="SetFieldSize(jQuery(this).val());">
                                        <option value="small"><?php 
        _e("Small", "gravityforms");
        ?>
</option>
                                        <option value="medium"><?php 
        _e("Medium", "gravityforms");
        ?>
</option>
                                        <option value="large"><?php 
        _e("Large", "gravityforms");
        ?>
</option>
                                    </select>
                                </li>
                                <?php 
        do_action("gform_field_advanced_settings", 100, $form_id);
        ?>
                                <li class="default_value_setting field_setting">
                                    <label for="field_default_value">
                                        <?php 
        _e("Default Value", "gravityforms");
        ?>
                                        <?php 
        gform_tooltip("form_field_default_value");
        ?>
                                    </label>
                                    <?php 
        self::insert_variable_prepopulate("field_default_value", "DefaultValueCallback");
        ?>
<br/>
                                    <input type="text" id="field_default_value" class="fieldwidth-2" onkeyup="SetFieldDefaultValue(this.value);"/>
                                </li>
                                <?php 
        do_action("gform_field_advanced_settings", 150, $form_id);
        ?>
                                <li class="default_value_textarea_setting field_setting">
                                    <label for="field_default_value_textarea">
                                        <?php 
        _e("Default Value", "gravityforms");
        ?>
                                        <?php 
        gform_tooltip("form_field_default_value");
        ?>
                                    </label>
                                    <textarea id="field_default_value_textarea" onkeyup="SetFieldDefaultValue(this.value);" class="fieldwidth-3"></textarea>
                                </li>
                                <?php 
        do_action("gform_field_advanced_settings", 200, $form_id);
        ?>
                                <li class="error_message_setting field_setting">
                                    <label for="field_error_message">
                                        <?php 
        _e("Validation Message", "gravityforms");
        ?>
                                        <?php 
        gform_tooltip("form_field_validation_message");
        ?>
                                    </label>
                                    <input type="text" id="field_error_message" class="fieldwidth-2" onkeyup="SetFieldProperty('errorMessage', this.value);"/>
                                </li>

                                <?php 
        do_action("gform_field_advanced_settings", 225, $form_id);
        ?>

                                <li class="credit_card_icon_style_setting field_setting">
                                    <label>
                                        <?php 
        _e("Credit Card Icon Style", "gravityforms");
        ?>
                                        <?php 
        gform_tooltip("form_field_credit_card_icon_style");
        ?>
                                    </label>
                                    <ul>
                                    <?php 
        $cards = GFCommon::get_card_types();
        foreach ($cards as $card) {
            ?>
                                        <li>
                                            <input type="checkbox" id="field_credit_card_<?php 
            echo $card['slug'];
            ?>
" value="<?php 
            echo $card['slug'];
            ?>
" onclick="SetCardType(this, this.value);" />
                                            <label for="field_credit_card_<?php 
            echo $card['slug'];
            ?>
" class="inline"><?php 
            echo $card['name'];
            ?>
</label>
                                        </li>

                                    <?php 
        }
        ?>
                                    </ul>
                                </li>

                                <?php 
        do_action("gform_field_advanced_settings", 250, $form_id);
        ?>
                                <li class="captcha_language_setting field_setting">
                                    <label for="field_captcha_language">
                                        <?php 
        _e("Language", "gravityforms");
        ?>
                                        <?php 
        gform_tooltip("form_field_recaptcha_language");
        ?>
                                    </label>
                                    <select id="field_captcha_language" onchange="SetFieldProperty('captchaLanguage', this.value);">
                                        <option value="en"><?php 
        _e("English", "gravityforms");
        ?>
</option>
                                        <option value="nl"><?php 
        _e("Dutch", "gravityforms");
        ?>
</option>
                                        <option value="fr"><?php 
        _e("French", "gravityforms");
        ?>
</option>
                                        <option value="de"><?php 
        _e("German", "gravityforms");
        ?>
</option>
                                        <option value="pt"><?php 
        _e("Portuguese", "gravityforms");
        ?>
</option>
                                        <option value="ru"><?php 
        _e("Russian", "gravityforms");
        ?>
</option>
                                        <option value="es"><?php 
        _e("Spanish", "gravityforms");
        ?>
</option>
                                        <option value="tr"><?php 
        _e("Turkish", "gravityforms");
        ?>
</option>
                                    </select>
                                </li>
                                <?php 
        do_action("gform_field_advanced_settings", 300, $form_id);
        ?>
                                <li class="css_class_setting field_setting">
                                    <label for="field_css_class">
                                        <?php 
        _e("CSS Class Name", "gravityforms");
        ?>
                                        <?php 
        gform_tooltip("form_field_css_class");
        ?>
                                    </label>
                                    <input type="text" id="field_css_class" size="30" onkeyup="SetFieldProperty('cssClass', this.value);"/>
                                </li>
                                <?php 
        do_action("gform_field_advanced_settings", 325, $form_id);
        ?>
                                <li class="add_icon_url_setting field_setting">
                                    <label for="field_add_icon_url">
                                        <?php 
        _e("Add Icon URL", "gravityforms");
        ?>
                                        <?php 
        gform_tooltip("form_field_add_icon_url");
        ?>
                                    </label>
                                    <input type="text" id="field_add_icon_url" class="fieldwidth-2" onkeyup="SetFieldProperty('addIconUrl', this.value);"/>
                                </li>
                                <?php 
        do_action("gform_field_advanced_settings", 337, $form_id);
        ?>
                                <li class="delete_icon_url_setting field_setting">
                                    <label for="field_delete_icon_url">
                                        <?php 
        _e("Delete Icon URL", "gravityforms");
        ?>
                                        <?php 
        gform_tooltip("form_field_delete_icon_url");
        ?>
                                    </label>
                                    <input type="text" id="field_delete_icon_url" class="fieldwidth-2" onkeyup="SetFieldProperty('deleteIconUrl', this.value);"/>
                                </li>
                                <?php 
        do_action("gform_field_advanced_settings", 350, $form_id);
        ?>
                                <li class="password_field_setting field_setting">
                                    <input type="checkbox" id="field_password" onclick="SetPasswordProperty(this.checked);"/> <label for="field_password" class="inline"><?php 
        _e("Enable Password Input", "gravityforms");
        gform_tooltip("form_field_password");
        ?>
</label>
                                </li>

                                <?php 
        do_action("gform_field_advanced_settings", 375, $form_id);
        ?>
                                <li class="force_ssl_field_setting field_setting">
                                    <input type="checkbox" id="field_force_ssl" onclick="SetFieldProperty('forceSSL', this.checked);"/> <label for="field_force_ssl" class="inline"><?php 
        _e("Force SSL", "gravityforms");
        gform_tooltip("form_field_force_ssl");
        ?>
</label>
                                </li>

                                <?php 
        do_action("gform_field_advanced_settings", 400, $form_id);
        ?>
                                <li class="visibility_setting field_setting">
                                    <label><?php 
        _e("Visibility", "gravityforms");
        ?>
 <?php 
        gform_tooltip("form_field_visibility");
        ?>
</label>
                                    <div>
                                        <input type="radio" name="field_visibility" id="field_visibility_everyone" size="10" onclick="SetFieldAdminOnly(!this.checked);" />
                                        <label for="field_visibility_everyone" class="inline">
                                            <?php 
        _e("Everyone", "gravityforms");
        ?>
                                        </label>
                                        &nbsp;&nbsp;
                                        <input type="radio" name="field_visibility" id="field_visibility_admin" size="10" onclick="SetFieldAdminOnly(this.checked);" />
                                        <label for="field_visibility_admin" class="inline">
                                            <?php 
        _e("Admin Only", "gravityforms");
        ?>
                                        </label>
                                    </div>
                                    <br class="clear" />
                                </li>
                                <?php 
        do_action("gform_field_advanced_settings", 450, $form_id);
        ?>
                                <li class="prepopulate_field_setting field_setting">
                                    <input type="checkbox" id="field_prepopulate" onclick="SetFieldProperty('allowsPrepopulate', this.checked); ToggleInputName()"/> <label for="field_prepopulate" class="inline"><?php 
        _e("Allow field to be populated dynamically", "gravityforms");
        gform_tooltip("form_field_prepopulate");
        ?>
</label>
                                    <br/>
                                    <div id="field_input_name_container" style="display:none; padding-top:10px;">
                                        <!-- content dynamically created from js.php -->
                                    </div>
                                </li>
                                <?php 
        do_action("gform_field_advanced_settings", 500, $form_id);
        ?>
                                <li class="conditional_logic_field_setting field_setting">
                                    <input type="checkbox" id="field_conditional_logic" onclick="SetFieldProperty('conditionalLogic', this.checked ? new ConditionalLogic() : null); ToggleConditionalLogic(false, 'field');"/> <label for="field_conditional_logic" class="inline"><?php 
        _e("Enable Conditional Logic", "gravityforms");
        gform_tooltip("form_field_conditional_logic");
        ?>
</label>
                                    <br/>
                                    <div id="field_conditional_logic_container" style="display:none; padding-top:10px;">
                                        <!-- content dynamically created from js.php -->
                                    </div>
                                </li>

                                <?php 
        do_action("gform_field_advanced_settings", 525, $form_id);
        ?>
                                <li class="conditional_logic_page_setting field_setting">
                                    <input type="checkbox" id="page_conditional_logic" onclick="SetFieldProperty('conditionalLogic', this.checked ? new ConditionalLogic() : null); ToggleConditionalLogic(false, 'page');"/> <label for="page_conditional_logic" class="inline"><?php 
        _e("Enable Page Conditional Logic", "gravityforms");
        gform_tooltip("form_page_conditional_logic");
        ?>
</label>
                                    <br/>
                                    <div id="page_conditional_logic_container" style="display:none; padding-top:10px;">
                                        <!-- content dynamically created from js.php -->
                                    </div>
                                </li>

                                <?php 
        do_action("gform_field_advanced_settings", 550, $form_id);
        ?>
                                <li class="conditional_logic_nextbutton_setting field_setting">
                                    <input type="checkbox" id="next_button_conditional_logic" onclick="SetNextButtonConditionalLogic(this.checked); ToggleConditionalLogic(false, 'next_button');"/>
                                    <label for="next_button_conditional_logic" class="inline"><?php 
        _e("Enable Next Button Conditional Logic", "gravityforms");
        gform_tooltip("form_nextbutton_conditional_logic");
        ?>
</label>
                                    <br/>
                                    <div id="next_button_conditional_logic_container" style="display:none; padding-top:10px;">
                                        <!-- content dynamically created from js.php -->
                                    </div>
                                </li>

                                <?php 
        do_action("gform_field_advanced_settings", -1, $form_id);
        ?>
                            </ul>
                        </div>
                    </div>
                </td>
                <td valign="top" align="right">
                    <div id="add_fields">
                        <div id="floatMenu">

                            <!-- begin add button boxes -->
                            <ul id="sidebarmenu1" class="menu collapsible expandfirst">

                            <?php 
        $standard_fields = array(array("class" => "button", "value" => GFCommon::get_field_type_title("text"), "onclick" => "StartAddField('text');"), array("class" => "button", "value" => GFCommon::get_field_type_title("textarea"), "onclick" => "StartAddField('textarea');"), array("class" => "button", "value" => GFCommon::get_field_type_title("select"), "onclick" => "StartAddField('select');"), array("class" => "button", "value" => GFCommon::get_field_type_title("multiselect"), "onclick" => "StartAddField('multiselect');"), array("class" => "button", "value" => GFCommon::get_field_type_title("number"), "onclick" => "StartAddField('number');"), array("class" => "button", "value" => GFCommon::get_field_type_title("checkbox"), "onclick" => "StartAddField('checkbox');"), array("class" => "button", "value" => GFCommon::get_field_type_title("radio"), "onclick" => "StartAddField('radio');"), array("class" => "button", "value" => GFCommon::get_field_type_title("hidden"), "onclick" => "StartAddField('hidden');"), array("class" => "button", "value" => GFCommon::get_field_type_title("html"), "onclick" => "StartAddField('html');"), array("class" => "button", "value" => GFCommon::get_field_type_title("section"), "onclick" => "StartAddField('section');"), array("class" => "button", "value" => GFCommon::get_field_type_title("page"), "onclick" => "StartAddField('page');"));
        $advanced_fields = array(array("class" => "button", "value" => GFCommon::get_field_type_title("name"), "onclick" => "StartAddField('name');"), array("class" => "button", "value" => GFCommon::get_field_type_title("date"), "onclick" => "StartAddField('date');"), array("class" => "button", "value" => GFCommon::get_field_type_title("time"), "onclick" => "StartAddField('time');"), array("class" => "button", "value" => GFCommon::get_field_type_title("phone"), "onclick" => "StartAddField('phone');"), array("class" => "button", "value" => GFCommon::get_field_type_title("address"), "onclick" => "StartAddField('address');"), array("class" => "button", "value" => GFCommon::get_field_type_title("website"), "onclick" => "StartAddField('website');"), array("class" => "button", "value" => GFCommon::get_field_type_title("email"), "onclick" => "StartAddField('email');"));
        if (apply_filters("gform_enable_password_field", false)) {
            $advanced_fields[] = array("class" => "button", "value" => GFCommon::get_field_type_title("password"), "onclick" => "StartAddField('password');");
        }
        $advanced_fields[] = array("class" => "button", "value" => GFCommon::get_field_type_title("fileupload"), "onclick" => "StartAddField('fileupload');");
        $advanced_fields[] = array("class" => "button", "value" => GFCommon::get_field_type_title("captcha"), "onclick" => "AddCaptchaField();");
        $advanced_fields[] = array("class" => "button", "value" => GFCommon::get_field_type_title("list"), "onclick" => "StartAddField('list');");
        $post_fields = array(array("class" => "button", "value" => GFCommon::get_field_type_title("post_title"), "onclick" => "StartAddField('post_title');"), array("class" => "button", "value" => GFCommon::get_field_type_title("post_content"), "onclick" => "StartAddField('post_content');"), array("class" => "button", "value" => GFCommon::get_field_type_title("post_excerpt"), "onclick" => "StartAddField('post_excerpt');"), array("class" => "button", "value" => GFCommon::get_field_type_title("post_tags"), "onclick" => "StartAddField('post_tags');"), array("class" => "button", "value" => GFCommon::get_field_type_title("post_category"), "onclick" => "StartAddField('post_category');"), array("class" => "button", "value" => GFCommon::get_field_type_title("post_image"), "onclick" => "StartAddField('post_image');"), array("class" => "button", "value" => GFCommon::get_field_type_title("post_custom_field"), "onclick" => "StartAddField('post_custom_field');"));
        $pricing_fields = array(array("class" => "button", "value" => GFCommon::get_field_type_title("product"), "onclick" => "StartAddField('product');"), array("class" => "button", "value" => GFCommon::get_field_type_title("quantity"), "onclick" => "StartAddField('quantity');"), array("class" => "button", "value" => GFCommon::get_field_type_title("option"), "onclick" => "StartAddField('option');"), array("class" => "button", "value" => GFCommon::get_field_type_title("shipping"), "onclick" => "StartAddField('shipping');"), array("class" => "button", "value" => GFCommon::get_field_type_title("total"), "onclick" => "StartAddField('total');"));
        if (apply_filters("gform_enable_credit_card_field", false)) {
            $pricing_fields[] = array("class" => "button", "value" => GFCommon::get_field_type_title("creditcard"), "onclick" => "StartAddField('creditcard');");
        }
        $field_groups = array(array("name" => "standard_fields", "label" => __("Standard Fields", "gravityforms"), "fields" => $standard_fields, "tooltip_class" => "tooltip_bottomleft"), array("name" => "advanced_fields", "label" => __("Advanced Fields", "gravityforms"), "fields" => $advanced_fields), array("name" => "post_fields", "label" => __("Post Fields", "gravityforms"), "fields" => $post_fields));
        $field_groups[] = array("name" => "pricing_fields", "label" => __("Pricing Fields", "gravityforms"), "fields" => $pricing_fields);
        $field_groups = apply_filters("gform_add_field_buttons", $field_groups);
        foreach ($field_groups as $group) {
            $tooltip_class = empty($group["tooltip_class"]) ? "tooltip_left" : $group["tooltip_class"];
            ?>
                                    <li id="add_<?php 
            echo $group["name"];
            ?>
" class="add_field_button_container">
                                        <div class="button-title-link <?php 
            echo $group["name"] == "standard_fields" ? "gf_button_title_active" : "";
            ?>
"><div class="add-buttons-title"><?php 
            echo $group["label"];
            ?>
 <?php 
            gform_tooltip("form_{$group["name"]}", $tooltip_class);
            ?>
</div></div>
                                        <ul>
                                            <li class="add-buttons">
                                                <ol class="field_type">
                                                    <?php 
            echo self::display_buttons($group["fields"]);
            ?>
                                                </ol>
                                            </li>
                                        </ul>
                                    </li>
                                    <?php 
        }
        ?>
                            </ul>
                            <br style="clear:both;"/>
                            <!--end add button boxes -->

                            <?php 
        if (GFCommon::current_user_can_any("gravityforms_delete_forms")) {
            $delete_link = '<a class="submitdelete" title="' . __("Delete this Form", "gravityforms") . '" onclick="if(confirm(\'' . __("Would you like to delete this form and ALL entries associated with it? \\'Cancel\\' to stop. \\'OK\\' to delete", "gravityforms") . '\')){jQuery(\'#form_delete\')[0].submit();} else{return false;}">' . __("Delete Form", "gravityforms") . '</a>';
            echo apply_filters("gform_form_delete_link", $delete_link);
        }
        $button_text = rgar($form, "id") > 0 ? __("Update Form", "gravityforms") : __("Save Form", "gravityforms");
        $isNew = rgar($form, "id") > 0 ? 0 : 1;
        $save_button = '<input type="button" class="button button-primary button-large update-form" value="' . $button_text . '" onclick="SaveForm(' . $isNew . ');" />';
        $save_button = apply_filters("gform_save_form_button", $save_button);
        echo $save_button;
        ?>

                            <span id="please_wait_container" style="display:none;"><img src="<?php 
        echo GFCommon::get_base_url();
        ?>
/images/loading.gif"></span>

                            <div class="updated_base" id="after_update_dialog" style="display:none;">
                                <strong><?php 
        _e("Form updated successfully.", "gravityforms");
        ?>
                                &nbsp;<a title="<?php 
        _e("Preview this form", "gravityforms");
        ?>
" href="<?php 
        echo site_url();
        ?>
/?gf_page=preview&id=<?php 
        echo absint(rgar($form, "id"));
        ?>
" target="_blank"><?php 
        _e("Preview", "gravityforms");
        ?>
</a></strong>
                            </div>
                            <div class="error_base" id="after_update_error_dialog" style="padding:10px 10px 16px 10px; display:none;">
                                <?php 
        _e("There was an error while saving your form.", "gravityforms");
        ?>
                                <?php 
        printf(__("Please %scontact our support team%s.", "gravityforms"), '<a href="http://www.gravityhelp.com">', '</a>');
        ?>
                            </div>

                            <form method="post" id="gform_update">
                                <?php 
        wp_nonce_field("gforms_update_form_{$form_id}", "gforms_update_form");
        ?>
                                <input type="hidden" id="gform_meta" name="gform_meta" />
                            </form>

                        </div>
                    </div>
                </td>
            </tr>
        </table>
        </div>

        <?php 
        require_once GFCommon::get_base_path() . "/js.php";
    }