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 feed_edit_page($form, $feed_id) { // ensures valid credentials were entered in the settings page if ($this->login_api_fd() == false) { ?> <div><?php echo sprintf(__('We are unable to login to FacturaDirecta with the provided API key or URL is incorrect (it must finish with slash / ). Please make sure you have entered a valid API key in the %sSettings Page%s', 'gravityformsfd'), '<a href="' . $this->get_plugin_settings_url() . '">', '</a>'); ?> </div> <?php return; } echo '<script type="text/javascript">var form = ' . GFCommon::json_encode($form) . ';</script>'; parent::feed_edit_page($form, $feed_id); }
/** * Generate the script tags necessary for the Gravity Forms Merge Tag picker to work. * * @param mixed $curr_form Form ID * @return null|string Merge tags html; NULL if $curr_form isn't defined. */ public static function render_merge_tags_scripts($curr_form) { if (empty($curr_form)) { return NULL; } $form = gravityview_get_form($curr_form); $get_id_backup = isset($_GET['id']) ? $_GET['id'] : NULL; if (isset($form['id'])) { $form_script = 'var form = ' . GFCommon::json_encode($form) . ';'; // The `gf_vars()` method needs a $_GET[id] variable set with the form ID. $_GET['id'] = $form['id']; } else { $form_script = 'var form = new Form();'; } $output = '<script type="text/javascript" data-gv-merge-tags="1">' . $form_script . "\n" . GFCommon::gf_vars(false) . '</script>'; // Restore previous $_GET setting $_GET['id'] = $get_id_backup; return $output; }
public static function notification_page($form_id) { $form = RGFormsModel::get_form_meta($form_id); if ($_POST["save"]) { check_admin_referer('gforms_save_notification', 'gforms_save_notification'); $form["notification"]["to"] = stripslashes($_POST["form_notification_to"]); $form["notification"]["bcc"] = stripslashes($_POST["form_notification_bcc"]); $form["notification"]["subject"] = stripslashes($_POST["form_notification_subject"]); $form["notification"]["message"] = stripslashes($_POST["form_notification_message"]); $form["notification"]["from"] = empty($_POST["form_notification_from_field"]) ? stripslashes($_POST["form_notification_from"]) : ""; $form["notification"]["fromField"] = stripslashes($_POST["form_notification_from_field"]); $form["notification"]["fromName"] = empty($_POST["form_notification_from_name_field"]) ? stripslashes($_POST["form_notification_from_name"]) : ""; $form["notification"]["fromNameField"] = stripslashes($_POST["form_notification_from_name_field"]); $form["notification"]["replyTo"] = empty($_POST["form_notification_reply_to_field"]) ? stripslashes($_POST["form_notification_reply_to"]) : ""; $form["notification"]["replyToField"] = stripslashes($_POST["form_notification_reply_to_field"]); $form["notification"]["routing"] = !empty($_POST["gform_routing_meta"]) ? GFCommon::json_decode(stripslashes($_POST["gform_routing_meta"]), true) : null; $form["notification"]["disableAutoformat"] = $_POST["form_notification_disable_autoformat"]; $form["autoResponder"]["toField"] = stripslashes($_POST["form_autoresponder_to"]); $form["autoResponder"]["bcc"] = stripslashes($_POST["form_autoresponder_bcc"]); $form["autoResponder"]["fromName"] = stripslashes($_POST["form_autoresponder_from_name"]); $form["autoResponder"]["from"] = stripslashes($_POST["form_autoresponder_from"]); $form["autoResponder"]["replyTo"] = stripslashes($_POST["form_autoresponder_reply_to"]); $form["autoResponder"]["subject"] = stripslashes($_POST["form_autoresponder_subject"]); $form["autoResponder"]["message"] = stripslashes($_POST["form_autoresponder_message"]); $form["autoResponder"]["disableAutoformat"] = $_POST["form_autoresponder_disable_autoformat"]; //validating input... $invalid_tab = self::validate_notification(); if ($invalid_tab == 0) { //input valid, updating... //emptying notification email if it is supposed to be disabled if (empty($_POST["form_notification_enable_admin"]) || $_POST["notification_to"] == "routing") { $form["notification"]["to"] = ""; } //emptying notification routing if it is supposed to be disabled if (empty($_POST["form_notification_enable_admin"]) || $_POST["notification_to"] == "email") { $form["notification"]["routing"] = null; } //emptying autoResponder settings if it is supposed to be disabled if (empty($_POST["form_notification_enable_user"])) { $form["autoResponder"]["toField"] = ""; } RGFormsModel::update_form_meta($form_id, $form); } } $wp_email = get_bloginfo("admin_email"); $email_fields = GFCommon::get_email_fields($form); $name_fields = GFCommon::get_fields_by_type($form, array("name")); $has_admin_notification_fields = (!empty($form["notification"]["to"]) || !empty($form["notification"]["routing"])) && (!empty($form["notification"]["subject"]) || !empty($form["notification"]["message"])); $has_user_notification_fields = !empty($form["autoResponder"]["toField"]) && (!empty($form["autoResponder"]["subject"]) || !empty($form["autoResponder"]["message"])); $is_admin_notification_enabled = $has_admin_notification_fields && empty($_POST["save"]) || !empty($_POST["form_notification_enable_admin"]); $is_user_notification_enabled = $has_user_notification_fields && empty($_POST["save"]) || !empty($_POST["form_notification_enable_user"]); $is_routing_enabled = !empty($form["notification"]["routing"]) && $_POST["notification_to"] != "email"; ?> <link rel="stylesheet" href="<?php echo GFCommon::get_base_url(); ?> /css/admin.css?ver=<?php echo GFCommon::$version; ?> " /> <script type="text/javascript" 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.json-1.3.js?ver=<?php echo GFCommon::$version; ?> "></script> <script type="text/javascript"> var gform_has_unsaved_changes = false; jQuery(document).ready(function(){ jQuery("#entry_form input, #entry_form textarea, #entry_form select").change(function(){ gform_has_unsaved_changes = true; }); window.onbeforeunload = function(){ if (gform_has_unsaved_changes){ return "You have unsaved changes."; } } }); <?php if (empty($form["notification"])) { $form["notification"] = array(); } ?> var form = <?php echo GFCommon::json_encode($form); ?> ; function InsertVariable(element_id){ var 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; } function CreateRouting(routings){ var str = ""; for(var i=0; i< routings.length; i++){ var isSelected = routings[i].operator == "is" ? "selected='selected'" :""; var isNotSelected = routings[i].operator == "isnot" ? "selected='selected'" :""; var email = routings[i]["email"] ? routings[i]["email"] : ''; str += "<div style='width:99%'><?php _e("Send to", "gravityforms"); ?> <input type='text' id='routing_email_" + i +"' value='" + email + "' onkeyup='SetRouting(" + i + ");'/>"; str += " <?php _e("if", "gravityforms"); ?> " + GetRoutingFields(i, routings[i].fieldId); str += "<select id='routing_operator_" + i + "' onchange='SetRouting(" + i + ");'><option value='is' " + isSelected + "><?php _e("is", "gravityforms"); ?> </option><option value='isnot' " + isNotSelected + "><?php _e("is not", "gravityforms"); ?> </option></select>"; str += GetRoutingValues(i, routings[i].fieldId, routings[i].value); str += "<img src='<?php echo GFCommon::get_base_url(); ?> /images/add.png' class='add_field_choice' title='add another rule' alt='add another rule' style='cursor:pointer; margin:0 3px;' onclick=\"InsertRouting(" + (i+1) + ");\" />"; if(routings.length > 1 ) str += "<img src='<?php echo GFCommon::get_base_url(); ?> /images/remove.png' title='remove this rule' alt='remove this rule' class='delete_field_choice' style='cursor:pointer;' onclick=\"DeleteRouting(" + i + ");\" /></li>"; str += "</div>"; } jQuery("#notification_to_routing_container").html(str); } function GetRoutingValues(index, fieldId, selectedValue){ var str = "<select class='gfield_routing_select' id='routing_value_" + index + "' onchange='SetRouting(" + index + ");'>"; str += GetFieldValues(fieldId, selectedValue, 16); str += "</select>"; return str; } function GetRoutingFields(index, selectedItem){ var str = "<select id='routing_field_id_" + index + "' class='gfield_routing_select' onchange='jQuery(\"#routing_value_" + index + "\").replaceWith(GetRoutingValues(" + index + ", jQuery(this).val())); SetRouting(" + index + "); '>"; str += GetSelectableFields(selectedItem, 16); str += "</select>"; return str; } //---------------------- generic --------------- function GetSelectableFields(selectedFieldId, labelMaxCharacters){ var str = ""; var inputType; for(var i=0; i<form.fields.length; i++){ inputType = form.fields[i].inputType ? form.fields[i].inputType : form.fields[i].type; if(inputType == "checkbox" || inputType == "radio" || inputType == "select"){ var selected = form.fields[i].id == selectedFieldId ? "selected='selected'" : ""; str += "<option value='" + form.fields[i].id + "' " + selected + ">" + TruncateMiddle(form.fields[i].label, labelMaxCharacters) + "</option>"; } } return str; } function GetFirstSelectableField(){ var inputType; for(var i=0; i<form.fields.length; i++){ inputType = form.fields[i].inputType ? form.fields[i].inputType : form.fields[i].type; if(inputType == "checkbox" || inputType == "radio" || inputType == "select") return form.fields[i].id; } return 0; } 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 GetFieldValues(fieldId, selectedValue, labelMaxCharacters){ if(!fieldId) fieldId = GetFirstSelectableField(); if(!fieldId) return ""; var str = ""; var field = GetFieldById(fieldId); var isAnySelected = false; for(var i=0; i<field.choices.length; i++){ var choiceValue = field.choices[i].value ? field.choices[i].value : field.choices[i].text; var isSelected = choiceValue == selectedValue; var selected = isSelected ? "selected='selected'" : ""; if(isSelected) isAnySelected = true; str += "<option value='" + choiceValue.replace("'", "'") + "' " + selected + ">" + TruncateMiddle(field.choices[i].text, labelMaxCharacters) + "</option>"; } if(!isAnySelected && selectedValue){ str += "<option value='" + selectedValue.replace("'", "'") + "' selected='selected'>" + TruncateMiddle(selectedValue, labelMaxCharacters) + "</option>"; } 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 InsertRouting(index){ var routings = form.notification.routing; routings.splice(index, 0, new ConditionalRule()); CreateRouting(routings); SetRouting(index); } function SetRouting(ruleIndex){ if(!form.notification.routing && ruleIndex == 0) form.notification.routing = [new ConditionalRule()]; form.notification.routing[ruleIndex]["email"] = jQuery("#routing_email_" + ruleIndex).val(); form.notification.routing[ruleIndex]["fieldId"] = jQuery("#routing_field_id_" + ruleIndex).val(); form.notification.routing[ruleIndex]["operator"] = jQuery("#routing_operator_" + ruleIndex).val(); form.notification.routing[ruleIndex]["value"] =jQuery("#routing_value_" + ruleIndex).val(); var json = jQuery.toJSON(form.notification.routing); jQuery('#gform_routing_meta').val(json); } function DeleteRouting(ruleIndex){ form.notification.routing.splice(ruleIndex, 1); CreateRouting(form.notification.routing); } </script> <?php echo GFCommon::get_remote_message(); ?> <form method="post" id="entry_form" onsubmit="gform_has_unsaved_changes = false; jQuery('#gform_routing_meta').val(jQuery.toJSON(form.notification.routing));"> <?php wp_nonce_field('gforms_save_notification', 'gforms_save_notification'); ?> <input type="hidden" id="gform_routing_meta" name="gform_routing_meta" /> <div class="wrap"> <img alt="<?php _e("Gravity Forms", "gravityforms"); ?> " src="<?php echo GFCommon::get_base_url(); ?> /images/gravity-notification-icon-32.png" style="float:left; margin:15px 7px 0 0;"/> <h2><?php _e("Notifications", "gravityforms"); ?> : <?php echo esc_html($form["title"]); ?> </h2> <?php RGForms::top_toolbar(); ?> <div id="poststuff" class="metabox-holder"> <div id="submitdiv" class="stuffbox"> <h3><span class="hndle"><?php _e("Notification to Administrator", "gravityforms"); ?> </span></h3> <div class="inside"> <div id="submitcomment" class="submitbox"> <div id="minor-publishingx" style="padding:10px;"> <input type="checkbox" name="form_notification_enable_admin" id="form_notification_enable_admin" value="1" <?php echo $is_admin_notification_enabled ? "checked='checked'" : ""; ?> onclick="if(this.checked) {jQuery('#form_notification_admin_container').show('slow');} else {jQuery('#form_notification_to').val(''); jQuery('#form_notification_admin_container').hide('slow');}"/> <label for="form_notification_enable_admin"><?php _e("Enable email notification to administrators", "gravityforms"); ?> </label> <div id="form_notification_admin_container" style="display:<?php echo $is_admin_notification_enabled ? "block" : "none"; ?> ;"> <br/> <?php _e("Enter a message below to receive a notification email when users submit this form.", "gravityforms"); ?> <br/><br/><br/> <ul id="form_notification_container"> <?php $is_invalid_email_to = $invalid_tab == 1 && !self::is_valid_admin_to(); $class = $is_invalid_email_to ? "class='gfield_error'" : ""; ?> <li <?php echo $class; ?> > <label for="notification_to_email"> <?php _e("Send To Email", "gravityforms"); ?> <span class="gfield_required">*</span> <?php gform_tooltip("notification_send_to_email"); ?> </label> <input type="radio" id="notification_to_email" name="notification_to" <?php echo !$is_routing_enabled ? "checked='checked'" : ""; ?> value="email" onclick="jQuery('#notification_to_routing_container').hide(); jQuery('#notification_to_email_container').show('slow');"/> <label for="notification_to_email" class="inline"> <?php _e("Email", "gravityforms"); ?> </label> <input type="radio" id="notification_to_routing" name="notification_to" <?php echo $is_routing_enabled ? "checked='checked'" : ""; ?> value="routing" onclick="jQuery('#notification_to_email_container').hide(); jQuery('#notification_to_routing_container').show('slow');"/> <label for="form_button_image" class="inline"> <?php _e("Routing", "gravityforms"); ?> <?php gform_tooltip("notification_send_to_routing"); ?> </label> <div id="notification_to_email_container" style="margin-top:5px; display:<?php echo $is_routing_enabled ? "none" : "block"; ?> ;"> <input type="text" name="form_notification_to" id="form_notification_to" value="<?php echo esc_attr($form["notification"]["to"]); ?> " class="fieldwidth-1" /> <?php if ($_POST["notification_to"] == "email" && $is_invalid_email_to) { ?> <span class="validation_message"><?php _e("Please enter a valid email address"); ?> </span> <?php } ?> </div> <div id="notification_to_routing_container" style="margin-top:5px; display:<?php echo $is_routing_enabled ? "block" : "none"; ?> ;"> <div> <?php $routing_fields = self::get_routing_fields($form, "0"); if (empty($routing_fields)) { //if(empty(){ ?> <div class="gold_notice"> <p><?php _e("To use notification routing, your form must have a drop down, checkbox or multiple choice field.", "gravityforms"); ?> </p> </div> <?php } else { if (empty($form["notification"]["routing"])) { $form["notification"]["routing"] = array(array()); } $count = sizeof($form["notification"]["routing"]); $routing_list = ","; for ($i = 0; $i < $count; $i++) { $routing_list .= $i . ","; $routing = $form["notification"]["routing"][$i]; $is_invalid_rule = $invalid_tab == 1 && $_POST["notification_to"] == "routing" && !self::is_valid_notification_email($routing["email"]); $class = $is_invalid_rule ? "class='grouting_rule_error'" : ""; ?> <div style='width:99%' <?php echo $class; ?> > <?php _e("Send to", "gravityforms"); ?> <input type="text" id="routing_email_<?php echo $i; ?> " value="<?php echo $routing["email"]; ?> " onkeyup="SetRouting(<?php echo $i; ?> );"/> <?php _e("if", "gravityforms"); ?> <select id="routing_field_id_<?php echo $i; ?> " class='gfield_routing_select' onchange='jQuery("#routing_value_<?php echo $i; ?> ").replaceWith(GetRoutingValues(<?php echo $i; ?> , jQuery(this).val())); SetRouting(<?php echo $i; ?> ); '><?php echo self::get_routing_fields($form, $routing["fieldId"]); ?> </select> <select id="routing_operator_<?php echo $i; ?> " onchange="SetRouting(<?php echo $i; ?> );"/> <option value="is" <?php echo $routing["operator"] == "is" ? "selected='selected'" : ""; ?> ><?php _e("is", "gravityforms"); ?> </option> <option value="isnot" <?php echo $routing["operator"] == "isnot" ? "selected='selected'" : ""; ?> ><?php _e("is not", "gravityforms"); ?> </option> </select> <select id="routing_value_<?php echo $i; ?> " class='gfield_routing_select' onchange="SetRouting(<?php echo $i; ?> );"> <?php echo self::get_field_values($form, $routing["fieldId"], $routing["value"]); ?> </select> <img src='<?php echo GFCommon::get_base_url(); ?> /images/add.png' class='add_field_choice' title='add another email routing' alt='add another email routing' style='cursor:pointer; margin:0 3px;' onclick='SetRouting(<?php echo $i; ?> ); InsertRouting(<?php echo $i + 1; ?> );' /> <?php if ($count > 1) { ?> <img src='<?php echo GFCommon::get_base_url(); ?> /images/remove.png' id='routing_delete_<?php echo $i; ?> ' title='remove this email routing' alt='remove this email routing' class='delete_field_choice' style='cursor:pointer;' onclick='DeleteRouting(<?php echo $i; ?> );' /> <?php } ?> </div> <?php } if ($is_invalid_rule) { ?> <span class="validation_message"><?php _e("Please enter a valid email address for all highlighted routing rules above."); ?> </span> <?php } ?> <input type="hidden" name="routing_count" id="routing_count" value="<?php echo $routing_list; ?> "/> <?php } ?> </div> </div> </li> <li> <label for="form_notification_from"> <?php _e("From Name", "gravityforms"); ?> <?php gform_tooltip("notification_from_name"); ?> </label> <input type="text" class="fieldwidth-2" name="form_notification_from_name" id="form_notification_from_name" onkeydown="jQuery('#form_notification_from_name_field').val('');" onchange="jQuery('#form_notification_from_name_field').val('');" value="<?php echo esc_attr($form["notification"]["fromName"]); ?> "/> <?php if (!empty($name_fields)) { ?> <?php _e("OR", "gravityforms"); ?> <select name="form_notification_from_name_field" id="form_notification_from_name_field" onchange="if(jQuery(this).val().length > 0 ) jQuery('#form_notification_from_name').val('');"> <option value=""><?php _e("Select a name field", "gravityforms"); ?> </option> <?php foreach ($name_fields as $field) { $selected = $form["notification"]["fromNameField"] == $field["id"] ? "selected='selected'" : ""; ?> <option value="<?php echo $field["id"]; ?> " <?php echo $selected; ?> ><?php echo GFCommon::get_label($field); ?> </option> <?php } ?> </select> <?php } ?> </li> <li> <label for="form_notification_from"> <?php _e("From Email", "gravityforms"); ?> <?php gform_tooltip("notification_from_email"); ?> </label> <input type="text" class="fieldwidth-2" name="form_notification_from" id="form_notification_from" onkeydown="jQuery('#form_notification_from_field').val('');" onchange="jQuery('#form_notification_from_field').val('');" value="<?php echo empty($form["notification"]["from"]) && empty($form["notification"]["fromField"]) ? esc_attr($wp_email) : esc_attr($form["notification"]["from"]); ?> "/> <?php if (!empty($email_fields)) { ?> <?php _e("OR", "gravityforms"); ?> <select name="form_notification_from_field" id="form_notification_from_field" onchange="if(jQuery(this).val().length > 0 ) jQuery('#form_notification_from').val('');"> <option value=""><?php _e("Select an email field", "gravityforms"); ?> </option> <?php foreach ($email_fields as $field) { $selected = $form["notification"]["fromField"] == $field["id"] ? "selected='selected'" : ""; ?> <option value="<?php echo $field["id"]; ?> " <?php echo $selected; ?> ><?php echo GFCommon::get_label($field); ?> </option> <?php } ?> </select> <?php } ?> </li> <li> <label for="form_notification_reply_to"> <?php _e("Reply To", "gravityforms"); ?> <?php gform_tooltip("notification_reply_to"); ?> </label> <input type="text" name="form_notification_reply_to" id="form_notification_reply_to" onkeydown="jQuery('#form_notification_reply_to_field').val('');" onchange="jQuery('#form_notification_reply_to_field').val('');" value="<?php echo esc_attr($form["notification"]["replyTo"]); ?> " class="fieldwidth-2" /> <?php if (!empty($email_fields)) { ?> <?php _e("OR", "gravityforms"); ?> <select name="form_notification_reply_to_field" id="form_notification_reply_to_field" onchange="if(jQuery(this).val().length > 0 ) jQuery('#form_notification_reply_to').val('');"> <option value=""><?php _e("Select an email field", "gravityforms"); ?> </option> <?php foreach ($email_fields as $field) { $selected = $form["notification"]["replyToField"] == $field["id"] ? "selected='selected'" : ""; ?> <option value="<?php echo $field["id"]; ?> " <?php echo $selected; ?> ><?php echo GFCommon::get_label($field); ?> </option> <?php } ?> </select> <?php } ?> </li> <li> <label for="form_notification_bcc"> <?php _e("BCC", "gravityforms"); ?> <?php gform_tooltip("notification_bcc"); ?> </label> <input type="text" name="form_notification_bcc" id="form_notification_bcc" value="<?php echo esc_attr($form["notification"]["bcc"]); ?> " class="fieldwidth-1" /> </li> <?php $is_invalid_subject = $invalid_tab == 1 && empty($_POST["form_notification_subject"]); $class = $is_invalid_subject ? "class='gfield_error'" : ""; ?> <li <?php echo $class; ?> > <div> <label for="form_notification_subject"> <?php _e("Subject", "gravityforms"); ?> <span class="gfield_required">*</span> </label> <div> <?php GFCommon::insert_variables($form["fields"], "form_notification_subject", true); ?> </div> <input type="text" name="form_notification_subject" id="form_notification_subject" value="<?php echo esc_attr($form["notification"]["subject"]); ?> " class="fieldwidth-1" /> <?php if ($is_invalid_subject) { ?> <span class="validation_message"><?php _e("Please enter a subject for the notification email"); ?> </span> <?php } ?> </div> </li> <?php $is_invalid_message = $invalid_tab == 1 && empty($_POST["form_notification_message"]); $class = $is_invalid_message ? "class='gfield_error'" : ""; ?> <li <?php echo $class; ?> > <div> <label for="form_notification_message"> <?php _e("Message", "gravityforms"); ?> <span class="gfield_required">*</span> </label> <div> <?php GFCommon::insert_variables($form["fields"], "form_notification_message"); ?> </div> <textarea name="form_notification_message" id="form_notification_message" class="fieldwidth-1 fieldheight-1" ><?php echo esc_html($form["notification"]["message"]); ?> </textarea> <?php if ($is_invalid_message) { ?> <span class="validation_message"><?php _e("Please enter a message for the notification email"); ?> </span> <?php } ?> </div> </li> <li> <div> <input type="checkbox" name="form_notification_disable_autoformat" id="form_notification_disable_autoformat" value="1" <?php echo empty($form["notification"]["disableAutoformat"]) ? "" : "checked='checked'"; ?> /> <label for="form_notification_disable_autoformat" class="inline"> <?php _e("Disable Auto-formatting", "gravityforms"); ?> <?php gform_tooltip("notification_autoformat"); ?> </label> </div> </li> </ul> </div> </div> </div> </div> </div> <div id="submitdiv" class="stuffbox"> <h3><span class="hndle"><?php _e("Notification to User", "gravityforms"); ?> </span></h3> <div class="inside"> <div id="submitcomment" class="submitbox"> <div id="minor-publishingx" style="padding:10px;"> <?php if (empty($email_fields)) { ?> <div class="gold_notice"> <p><?php echo sprintf(__("Your form does not have any %semail%s field.", "gravityforms"), "<strong>", "</strong>"); ?> </p> <p> <?php echo sprintf(__("Sending notifications to users require that the form has at least one email field. %sEdit your form%s", "gravityforms"), '<a href="?page=gf_edit_forms&id=' . absint($form_id) . '">', '</a>'); ?> </p> </div> <?php } else { ?> <input type="checkbox" name="form_notification_enable_user" id="form_notification_enable_user" value="1" <?php echo $is_user_notification_enabled ? "checked='checked'" : ""; ?> onclick="if(this.checked) {jQuery('#form_notification_user_container').show('slow');} else {jQuery('#form_notification_user_container').hide('slow');}"/> <label for="form_notification_enable_user"><?php _e("Enable email notification to users", "gravityforms"); ?> </label> <div id="form_notification_user_container" style="display:<?php echo $is_user_notification_enabled ? "block" : "none"; ?> ;"> <br/> <?php _e("Enter a message below to send users an automatic response when they submit this form.", "gravityforms"); ?> <br/><br/><br/> <ul id="form_autoresponder_container"> <li> <label for="form_autoresponder_to"> <?php _e("Send To Field", "gravityforms"); ?> <span class="gfield_required">*</span> <?php gform_tooltip("autoresponder_send_to_email"); ?> </label> <select name="form_autoresponder_to" id="form_autoresponder_to"> <?php foreach ($email_fields as $field) { $selected = $form["autoResponder"]["toField"] == $field["id"] ? "selected='selected'" : ""; ?> <option value="<?php echo $field["id"]; ?> " <?php echo $selected; ?> ><?php echo esc_html(GFCommon::get_label($field)); ?> </option> <?php } ?> </select> </li> <li> <label for="form_autoresponder_from_name"> <?php _e("From Name", "gravityforms"); ?> <?php gform_tooltip("autoresponder_from_name"); ?> </label> <input type="text" name="form_autoresponder_from_name" id="form_autoresponder_from_name" value="<?php echo esc_attr($form["autoResponder"]["fromName"]); ?> " class="fieldwidth-2" /> </li> <li> <label for="form_autoresponder_from"> <?php _e("From Email", "gravityforms"); ?> <?php gform_tooltip("autoresponder_from"); ?> </label> <input type="text" name="form_autoresponder_from" id="form_autoresponder_from" value="<?php echo empty($form["autoResponder"]["from"]) ? esc_attr($wp_email) : esc_attr($form["autoResponder"]["from"]); ?> " class="fieldwidth-2" /> </li> <li> <label for="form_autoresponder_reply_to" style="display:block;"> <?php _e("Reply To (optional)", "gravityforms"); ?> <?php gform_tooltip("autoresponder_reply_to"); ?> </label> <input type="text" name="form_autoresponder_reply_to" id="form_autoresponder_reply_to" value="<?php echo esc_attr($form["autoResponder"]["replyTo"]); ?> " class="fieldwidth-2" /> </li> <li> <label for="form_autoresponder_bcc"> <?php _e("BCC", "gravityforms"); ?> <?php gform_tooltip("autoresponder_bcc"); ?> </label> <input type="text" name="form_autoresponder_bcc" id="form_autoresponder_bcc" value="<?php echo esc_attr($form["autoResponder"]["bcc"]); ?> " class="fieldwidth-1" /> </li> <?php $is_invalid_subject = $invalid_tab == 2 && empty($_POST["form_autoresponder_subject"]); $class = $is_invalid_subject ? "class='gfield_error'" : ""; ?> <li <?php echo $class; ?> > <label for="form_autoresponder_subject"> <?php _e("Subject", "gravityforms"); ?> <span class="gfield_required">*</span> </label> <div> <?php GFCommon::insert_variables($form["fields"], "form_autoresponder_subject", true); ?> </div> <input type="text" name="form_autoresponder_subject" id="form_autoresponder_subject" value="<?php echo esc_attr($form["autoResponder"]["subject"]); ?> " class="fieldwidth-1" /> <?php if ($is_invalid_subject) { ?> <span class="validation_message"><?php _e("Please enter a subject for the user notification email"); ?> </span> <?php } ?> </li> <?php $is_invalid_message = $invalid_tab == 2 && empty($_POST["form_autoresponder_message"]); $class = $is_invalid_message ? "class='gfield_error'" : ""; ?> <li <?php echo $class; ?> > <div> <label for="form_autoresponder_message"> <?php _e("Message", "gravityforms"); ?> <span class="gfield_required">*</span> </label> <div> <?php GFCommon::insert_variables($form["fields"], "form_autoresponder_message"); ?> </div> <textarea name="form_autoresponder_message" id="form_autoresponder_message" class="fieldwidth-1 fieldheight-1"><?php echo esc_html($form["autoResponder"]["message"]); ?> </textarea> <?php if ($is_invalid_message) { ?> <span class="validation_message"><?php _e("Please enter a message for the user notification email"); ?> </span> <?php } ?> </div> </li> <li> <div> <input type="checkbox" name="form_autoresponder_disable_autoformat" id="form_autoresponder_disable_autoformat" value="1" <?php echo empty($form["autoResponder"]["disableAutoformat"]) ? "" : "checked='checked'"; ?> /> <label for="form_notification_disable_autoformat" class="inline"> <?php _e("Disable Auto-formatting", "gravityforms"); ?> <?php gform_tooltip("notification_autoformat"); ?> </label> </div> </li> </ul> </div> <?php } ?> </div> </div> </div> </div> <br class="clear" /> <div> <?php $notification_button = '<input class="button-primary" type="submit" value="' . __("Save Settings", "gravityforms") . '" name="save"/>'; echo apply_filters("gform_save_notification_button", $notification_button); ?> </div> </div> </div> </form> <?php if ($_POST["save"]) { if ($invalid_tab == 0) { ?> <div class="updated fade" style="padding:6px;"> <?php _e("Notification Updated.", "gravityforms"); ?> </div> <?php } else { ?> <div class="error" style="padding:6px;"> <?php _e("Notification could not be updated. Please enter all required information below.", "gravityforms"); ?> </div> <?php } } }
private static function get_logic_event($field, $event) { if (empty($field["conditionalLogicFields"]) || IS_ADMIN) { return ""; } switch ($event) { case "keyup": return "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);'"; break; case "click": return "onclick='gf_apply_rules(" . $field["formId"] . "," . GFCommon::json_encode($field["conditionalLogicFields"]) . ");'"; break; case "change": return "onchange='gf_apply_rules(" . $field["formId"] . "," . GFCommon::json_encode($field["conditionalLogicFields"]) . ");'"; break; } }
public static function get_calculations_init_script($form) { require_once GFCommon::get_base_path() . '/currency.php'; $formula_fields = array(); foreach ($form['fields'] as $field) { if (!rgar($field, 'enableCalculation') || !rgar($field, 'calculationFormula')) { continue; } $formula_fields[] = array('field_id' => $field['id'], 'formula' => rgar($field, 'calculationFormula'), 'rounding' => rgar($field, 'calculationRounding'), 'numberFormat' => rgar($field, 'numberFormat')); } if (empty($formula_fields)) { return ''; } $script = 'new GFCalc(' . $form['id'] . ', ' . GFCommon::json_encode($formula_fields) . ');'; return $script; }
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); if (!field.choices) field.choices = new Array(new Choice("<?php _e('Column 1', 'gravityforms');
public static function add_paypal_user_registration_options($config, $form) { global $wp_roles; require_once self::get_base_path() . '/data.php'; // activate user registration tooltips for integration with PayPal plugin add_filter('gform_tooltips', array('GFUser', 'tooltips')); $id = rgget('id'); //$registration_config = $form ? self::get_active_config($form) : false; $registration_config = $form ? GFUserData::get_feeds_by_form($form["id"]) : false; $registration_feeds = GFUserData::get_feeds(); $registration_forms = array(); foreach ($registration_feeds as $feed) { $registration_forms[] = $feed['form_id']; } $json_registration_forms = GFCommon::json_encode($registration_forms); if (empty($json_registration_forms)) { $json_registration_forms = '[]'; } $roles = array_keys($wp_roles->roles); $display_registration_options = !empty($registration_config) ? '' : 'display:none;'; $display_multisite_options = is_multisite() && self::is_root_site() && rgars($config, 'meta/type') == 'subscription' ? '' : 'display:none;'; ?> <script type="text/javascript"> jQuery(document).ready(function($){ $(document).bind('paypalFormSelected', function(event, form) { var registration_form_ids = <?php echo $json_registration_forms; ?> ; var transaction_type = $("#gf_paypal_type").val(); var form = form; var has_registration = false; var display_multisite_options = <?php echo is_multisite() && self::is_root_site() ? 'true' : 'false'; ?> ; if($.inArray(String(form['id']), registration_form_ids) != -1) has_registration = true; if(has_registration == true) { $("#gf_paypal_user_registration_options").show(); } else { $("#gf_paypal_user_registration_options").hide(); } $("#gf_paypal_update_user_option, #gf_paypal_update_site_option").hide(); if(transaction_type == "subscription") $("#gf_paypal_update_user_option").show(); if(transaction_type == "subscription" && display_multisite_options) $("#gf_paypal_update_site_option").show(); }); }); </script> <div id="gf_paypal_user_registration_options" class="margin_vertical_10" style="<?php echo $display_registration_options; ?> "> <label class="left_header"><?php _e("User Registration", "gravityformsuserregistration"); ?> <?php gform_tooltip("user_registration_paypal_user_options"); ?> </label> <ul style="overflow:hidden;"> <!-- Standard Options --> <li> <input type="checkbox" name="gf_paypal_delay_registration" id="gf_paypal_delay_registration" value="1" <?php echo rgar($config['meta'], 'delay_registration') ? "checked='checked'" : ""; ?> /> <label class="inline" for="gf_paypal_delay_registration"> <?php if (!is_multisite()) { _e("Register user only when a payment is received.", "gravityformsuserregistration"); } else { _e("Register user and create site only when a payment is received.", "gravityformsuserregistration"); } ?> </label> </li> <li id="gf_paypal_update_user_option" <?php echo rgars($config, "meta/type") == "subscription" ? "" : "style='display:none;'"; ?> > <input type="checkbox" name="gf_paypal_update_user" id="gf_paypal_update_user" value="1" <?php echo rgars($config, "meta/update_user_action") ? "checked='checked'" : ""; ?> onclick="var action = this.checked ? '<?php echo $roles[0]; ?> ' : ''; jQuery('#gf_paypal_update_user_action').val(action);" /> <label class="inline" for="gf_paypal_update_user"><?php _e("Update <strong>user</strong> when subscription is cancelled.", "gravityformsuserregistration"); ?> </label> <select id="gf_paypal_update_user_action" name="gf_paypal_update_user_action" onchange="var checked = jQuery(this).val() ? 'checked' : false; jQuery('#gf_paypal_update_user').attr('checked', checked);"> <option value=""></option> <?php foreach ($roles as $role) { $role_name = ucfirst($role); ?> <option value="<?php echo $role; ?> " <?php echo rgars($config, "meta/update_user_action") == $role ? "selected='selected'" : ""; ?> ><?php echo sprintf(__("Set User as %s", "gravityformsuserregistration"), $role_name); ?> </option> <?php } ?> </select> </li> <!-- Multisite Options --> <li id="gf_paypal_update_site_option" style="<?php echo $display_multisite_options; ?> "> <input type="checkbox" name="gf_paypal_update_site" id="gf_paypal_update_site" value="1" <?php echo rgar($config["meta"], "update_site_action") ? "checked='checked'" : ""; ?> onclick="var action = this.checked ? 'deactivate' : ''; jQuery('#gf_paypal_update_site_action').val(action);" /> <label class="inline" for="gf_paypal_update_site"><?php _e("Update <strong>site</strong> when subscription is cancelled.", "gravityformsuserregistration"); ?> </label> <select id="gf_paypal_update_site_action" name="gf_paypal_update_site_action" onchange="var checked = jQuery(this).val() ? 'checked' : false; jQuery('#gf_paypal_update_site').attr('checked', checked);"> <option value=""></option> <?php $site_options = array('deactivate' => __('Deactivate', 'gravityformsuserregistration'), 'delete' => __('Delete', 'gravityformsuserregistration')); ?> <?php foreach ($site_options as $option_key => $option_label) { ?> <option value="<?php echo $option_key; ?> " <?php echo rgar($config["meta"], "update_site_action") == $option_key ? "selected='selected'" : ""; ?> ><?php echo sprintf(__("%s site", "gravityformsuserregistration"), $option_key); ?> </option> <?php } ?> </select> </li> </ul> </div> <?php }
public static function notification_edit_page($form_id, $notification_id) { if (!rgempty("gform_notification_id")) { $notification_id = rgpost("gform_notification_id"); } $form = RGFormsModel::get_form_meta($form_id); $form = apply_filters("gform_form_notification_page_{$form_id}", apply_filters("gform_form_notification_page", $form, $notification_id), $notification_id); $notification = !$notification_id ? array() : self::get_notification($form, $notification_id); // added second condition to account for new notifications with errors as notification ID will // be available in $_POST but the notification has not actually been saved yet $is_new_notification = empty($notification_id) || empty($notification); $is_valid = true; $is_update = false; if (rgpost("save")) { check_admin_referer('gforms_save_notification', 'gforms_save_notification'); //clear out notification because it could have legacy data populated $notification = array('isActive' => isset($notification['isActive']) ? rgar($notification, 'isActive') : true); $is_update = true; if ($is_new_notification) { $notification_id = uniqid(); $notification["id"] = $notification_id; } else { $notification["id"] = $notification_id; } $notification["name"] = rgpost("gform_notification_name"); $notification["event"] = rgpost("gform_notification_event"); $notification["to"] = rgpost("gform_notification_to_type") == "field" ? rgpost("gform_notification_to_field") : rgpost("gform_notification_to_email"); $notification["toType"] = rgpost("gform_notification_to_type"); $notification["bcc"] = rgpost("gform_notification_bcc"); $notification["subject"] = rgpost("gform_notification_subject"); $notification["message"] = rgpost("gform_notification_message"); $notification["from"] = rgpost("gform_notification_from"); $notification["fromName"] = rgpost("gform_notification_from_name"); $notification["replyTo"] = rgpost("gform_notification_reply_to"); $notification["routing"] = !rgempty("gform_routing_meta") ? GFCommon::json_decode(rgpost("gform_routing_meta"), true) : null; $notification["conditionalLogic"] = !rgempty("gform_conditional_logic_meta") ? GFCommon::json_decode(rgpost("gform_conditional_logic_meta"), true) : null; $notification["disableAutoformat"] = rgpost("gform_notification_disable_autoformat"); $notification = apply_filters('gform_pre_notification_save', apply_filters("gform_pre_notification_save{$form['id']}", $notification, $form), $form); //validating input... $is_valid = self::validate_notification(); if ($is_valid) { //input valid, updating... //emptying notification email if it is supposed to be disabled if ($_POST["gform_notification_to_type"] == "routing") { $notification["to"] = ""; } else { $notification["routing"] = null; } // trim values $notification = GFFormsModel::trim_conditional_logic_values_from_element($notification, $form); $form["notifications"][$notification_id] = $notification; RGFormsModel::save_form_notifications($form_id, $form['notifications']); } } if ($is_update && $is_valid) { GFCommon::add_message(sprintf(__('Notification saved successfully. %sBack to notifications.%s', 'gravityforms'), '<a href="' . remove_query_arg('nid') . '">', '</a>')); } else { if ($is_update && !$is_valid) { GFCommon::add_error_message(__('Notification could not be updated. Please enter all required information below.', 'gravityforms')); } } // moved page header loading here so the admin messages can be set upon saving and available for the header to print out GFFormSettings::page_header(__('Notifications', 'gravityforms')); $notification_ui_settings = self::get_notification_ui_settings($notification); ?> <link rel="stylesheet" href="<?php echo GFCommon::get_base_url(); ?> /css/admin.css?ver=<?php echo GFCommon::$version; ?> " /> <script type="text/javascript"> var gform_has_unsaved_changes = false; jQuery(document).ready(function(){ jQuery("#entry_form input, #entry_form textarea, #entry_form select").change(function(){ gform_has_unsaved_changes = true; }); window.onbeforeunload = function(){ if (gform_has_unsaved_changes){ return "You have unsaved changes."; } } ToggleConditionalLogic(true, 'notification'); jQuery(document).on('change', '.gfield_routing_value_dropdown', function(){ SetRoutingValueDropDown(jQuery(this)); }); }); <?php if (empty($form["notifications"])) { $form["notifications"] = array(); } $entry_meta = GFFormsModel::get_entry_meta($form_id); $entry_meta = apply_filters("gform_entry_meta_conditional_logic_notifications", $entry_meta, $form, $notification_id); ?> var form = <?php echo GFCommon::json_encode($form); ?> ; var current_notification = <?php echo GFCommon::json_encode($notification); ?> ; var entry_meta = <?php echo GFCommon::json_encode($entry_meta); ?> ; function SetRoutingValueDropDown(element){ //parsing ID to get routing Index var index = element.attr("id").replace("routing_value_", ""); SetRouting(index); } function CreateRouting(routings){ var str = ""; for(var i=0; i< routings.length; i++){ var isSelected = routings[i].operator == "is" ? "selected='selected'" :""; var isNotSelected = routings[i].operator == "isnot" ? "selected='selected'" :""; var greaterThanSelected = routings[i].operator == ">" ? "selected='selected'" :""; var lessThanSelected = routings[i].operator == "<" ? "selected='selected'" :""; var containsSelected = routings[i].operator == "contains" ? "selected='selected'" :""; var startsWithSelected = routings[i].operator == "starts_with" ? "selected='selected'" :""; var endsWithSelected = routings[i].operator == "ends_with" ? "selected='selected'" :""; var email = routings[i]["email"] ? routings[i]["email"] : ''; str += "<div style='width:99%'><?php _e("Send to", "gravityforms"); ?> <input type='text' id='routing_email_" + i +"' value='" + email + "' onkeyup='SetRouting(" + i + ");'/>"; str += " <?php _e("if", "gravityforms"); ?> " + GetRoutingFields(i, routings[i].fieldId); str += "<select id='routing_operator_" + i + "' onchange='SetRouting(" + i + ");' class='gform_routing_operator'>"; str += "<option value='is' " + isSelected + "><?php _e("is", "gravityforms"); ?> </option>"; str += "<option value='isnot' " + isNotSelected + "><?php _e("is not", "gravityforms"); ?> </option>"; str += "<option value='>' " + greaterThanSelected + "><?php _e("greater than", "gravityforms"); ?> </option>"; str += "<option value='<' " + lessThanSelected + "><?php _e("less than", "gravityforms"); ?> </option>"; str += "<option value='contains' " + containsSelected + "><?php _e("contains", "gravityforms"); ?> </option>"; str += "<option value='starts_with' " + startsWithSelected + "><?php _e("starts with", "gravityforms"); ?> </option>"; str += "<option value='ends_with' " + endsWithSelected + "><?php _e("ends with", "gravityforms"); ?> </option>"; str += "</select>"; str += GetRoutingValues(i, routings[i].fieldId, routings[i].value); str += "<a class='gf_insert_field_choice' title='add another rule' onclick=\"InsertRouting(" + (i+1) + ");\"><i class='fa fa-plus-square'></i></a>"; if(routings.length > 1 ) str += "<a class='gf_delete_field_choice' title='remove this rule' onclick=\"DeleteRouting(" + i + ");\"><i class='fa fa-minus-square'></i></a>"; str += "</div>"; } jQuery("#gform_notification_to_routing_rules").html(str); } function GetRoutingValues(index, fieldId, selectedValue){ str = GetFieldValues(index, fieldId, selectedValue, 16); return str; } function GetRoutingFields(index, selectedItem){ var str = "<select id='routing_field_id_" + index + "' class='gfield_routing_select' onchange='jQuery(\"#routing_value_" + index + "\").replaceWith(GetRoutingValues(" + index + ", jQuery(this).val())); SetRouting(" + index + "); '>"; str += GetSelectableFields(selectedItem, 16); str += "</select>"; return str; } //---------------------- generic --------------- function GetSelectableFields(selectedFieldId, labelMaxCharacters){ var str = ""; var inputType; for(var i=0; i<form.fields.length; i++){ inputType = form.fields[i].inputType ? form.fields[i].inputType : form.fields[i].type; //see if this field type can be used for conditionals if (IsNotificationConditionalLogicField(form.fields[i])) { var selected = form.fields[i].id == selectedFieldId ? "selected='selected'" : ""; str += "<option value='" + form.fields[i].id + "' " + selected + ">" + form.fields[i].label + "</option>"; } } return str; } function IsNotificationConditionalLogicField(field){ //this function is a duplicate of IsConditionalLogicField from form_editor.js 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; } function GetFirstSelectableField(){ var inputType; for(var i=0; i<form.fields.length; i++){ inputType = form.fields[i].inputType ? form.fields[i].inputType : form.fields[i].type; if (IsNotificationConditionalLogicField(form.fields[i])){ return form.fields[i].id; } } return 0; } function TruncateMiddle(text, maxCharacters){ if(!text) return ""; if(text.length <= maxCharacters) return text; var middle = parseInt(maxCharacters / 2); return text.substr(0, middle) + "..." + text.substr(text.length - middle, middle); } function GetFieldValues(index, fieldId, selectedValue, labelMaxCharacters){ if(!fieldId) fieldId = GetFirstSelectableField(); if(!fieldId) return ""; var str = ""; var field = GetFieldById(fieldId); var isAnySelected = false; if(!field) return ""; if(field["type"] == "post_category" && field["displayAllCategories"]){ var dropdown_id = "routing_value_" + index; var dropdown = jQuery('#' + dropdown_id + ".gfield_category_dropdown"); //don't load category drop down if it already exists (to avoid unecessary ajax requests) if(dropdown.length > 0){ var options = dropdown.html(); options = options.replace("value=\"" + selectedValue + "\"", "value=\"" + selectedValue + "\" selected=\"selected\""); str = "<select id='" + dropdown_id + "' class='gfield_routing_select gfield_category_dropdown gfield_routing_value_dropdown'>" + options + "</select>"; } else{ //loading categories via AJAX jQuery.post(ajaxurl,{ action:"gf_get_notification_post_categories", ruleIndex: index, selectedValue: selectedValue}, function(dropdown_string){ if(dropdown_string){ jQuery('#gfield_ajax_placeholder_' + index).replaceWith(dropdown_string.trim()); } } ); //will be replaced by real drop down during the ajax callback str = "<select id='gfield_ajax_placeholder_" + index + "' class='gfield_routing_select'><option><?php _e("Loading...", "gravityforms"); ?> </option></select>"; } } else if(field.choices){ //create a drop down for fields that have choices (i.e. drop down, radio, checkboxes, etc...) str = "<select class='gfield_routing_select gfield_routing_value_dropdown' id='routing_value_" + index + "'>"; for(var i=0; i<field.choices.length; i++){ var choiceValue = field.choices[i].value ? field.choices[i].value : field.choices[i].text; var isSelected = choiceValue == selectedValue; var selected = isSelected ? "selected='selected'" : ""; if(isSelected) isAnySelected = true; str += "<option value='" + choiceValue.replace(/'/g, "'") + "' " + selected + ">" + field.choices[i].text + "</option>"; } if(!isAnySelected && selectedValue){ str += "<option value='" + selectedValue.replace(/'/g, "'") + "' selected='selected'>" + selectedValue + "</option>"; } str += "</select>"; } else { selectedValue = selectedValue ? selectedValue.replace(/'/g, "'") : ""; //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"); ?> ' class='gfield_routing_select' id='routing_value_" + index + "' value='" + selectedValue.replace(/'/g, "'") + "' onchange='SetRouting(" + index + ");' onkeyup='SetRouting(" + index + ");'>"; } 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 InsertRouting(index){ var routings = current_notification.routing; routings.splice(index, 0, new ConditionalRule()); CreateRouting(routings); SetRouting(index); } function SetRouting(ruleIndex){ if(!current_notification.routing && ruleIndex == 0) current_notification.routing = [new ConditionalRule()]; current_notification.routing[ruleIndex]["email"] = jQuery("#routing_email_" + ruleIndex).val(); current_notification.routing[ruleIndex]["fieldId"] = jQuery("#routing_field_id_" + ruleIndex).val(); current_notification.routing[ruleIndex]["operator"] = jQuery("#routing_operator_" + ruleIndex).val(); current_notification.routing[ruleIndex]["value"] =jQuery("#routing_value_" + ruleIndex).val(); var json = jQuery.toJSON(current_notification.routing); jQuery('#gform_routing_meta').val(json); } function DeleteRouting(ruleIndex){ current_notification.routing.splice(ruleIndex, 1); CreateRouting(current_notification.routing); } function SetConditionalLogic(isChecked){ current_notification.conditionalLogic = isChecked ? new ConditionalLogic() : null; } function SaveJSMeta(){ jQuery('#gform_routing_meta').val(jQuery.toJSON(current_notification.routing)); jQuery('#gform_conditional_logic_meta').val(jQuery.toJSON(current_notification.conditionalLogic)); } </script> <form method="post" id="gform_notification_form" onsubmit="gform_has_unsaved_changes = false; SaveJSMeta();"> <?php wp_nonce_field('gforms_save_notification', 'gforms_save_notification'); ?> <input type="hidden" id="gform_routing_meta" name="gform_routing_meta" /> <input type="hidden" id="gform_conditional_logic_meta" name="gform_conditional_logic_meta" /> <input type="hidden" id="gform_notification_id" name="gform_notification_id" value="<?php echo $notification_id; ?> " /> <table class="form-table gform_nofification_edit"> <?php array_map(array('GFFormSettings', 'output'), $notification_ui_settings); ?> </table> <p class="submit"> <?php $button_label = $is_new_notification ? __("Save Notification", "gravityforms") : __("Update Notification", "gravityforms"); $notification_button = '<input class="button-primary" type="submit" value="' . $button_label . '" name="save"/>'; echo apply_filters("gform_save_notification_button", $notification_button); ?> </p> </form> <?php GFFormSettings::page_footer(); }
public static function select_export_form() { check_ajax_referer("rg_select_export_form", "rg_select_export_form"); $form_id = intval($_POST["form_id"]); $form = RGFormsModel::get_form_meta($form_id); $fields = array(); //Adding default fields array_push($form["fields"], array("id" => "id", "label" => __("Entry Id", "gravityforms"))); array_push($form["fields"], array("id" => "date_created", "label" => __("Entry Date", "gravityforms"))); array_push($form["fields"], array("id" => "ip", "label" => __("User IP", "gravityforms"))); array_push($form["fields"], array("id" => "source_url", "label" => __("Source Url", "gravityforms"))); array_push($form["fields"], array("id" => "payment_status", "label" => __("Payment Status", "gravityforms"))); array_push($form["fields"], array("id" => "payment_date", "label" => __("Payment Date", "gravityforms"))); array_push($form["fields"], array("id" => "transaction_id", "label" => __("Transaction Id", "gravityforms"))); if (is_array($form["fields"])) { foreach ($form["fields"] as $field) { if (is_array(rgar($field, "inputs"))) { foreach ($field["inputs"] as $input) { $fields[] = array($input["id"], GFCommon::get_label($field, $input["id"])); } } else { if (!rgar($field, "displayOnly")) { $fields[] = array($field["id"], GFCommon::get_label($field)); } } } } $field_json = GFCommon::json_encode($fields); die("EndSelectExportForm({$field_json});"); }
public static function select_form() { check_ajax_referer("gf_select_campaignmonitor_form", "gf_select_campaignmonitor_form"); $form_id = intval(rgpost("form_id")); list($list_id, $dummy) = explode("|:|", rgpost("list_id")); $setting_id = intval(rgpost("setting_id")); if (!self::is_valid_key()) { die("EndSelectForm();"); } $custom_fields = self::get_custom_fields($list_id); //getting configuration $config = GFCampaignMonitorData::get_feed($setting_id); //getting field map UI $str = self::get_field_mapping($config, $form_id, $custom_fields); //fields meta $form = RGFormsModel::get_form_meta($form_id); //$fields = $form["fields"]; die("EndSelectForm(\"{$str}\", " . GFCommon::json_encode($form) . ");"); }
public static function confirmations_edit_page($form_id, $confirmation_id) { $form = apply_filters("gform_admin_pre_render_{$form_id}", apply_filters("gform_admin_pre_render", GFFormsModel::get_form_meta($form_id))); $confirmation = self::handle_confirmation_edit_submission(rgar($form["confirmations"], $confirmation_id), $form); $confirmation_ui_settings = self::get_confirmation_ui_settings($confirmation); $entry_meta = GFFormsModel::get_entry_meta($form_id); $entry_meta = apply_filters("gform_entry_meta_conditional_logic_confirmations", $entry_meta, $form, $confirmation_id); self::page_header(__('Confirmations', 'gravityforms')); ?> <script type="text/javascript"> var confirmation = <?php echo $confirmation ? json_encode($confirmation) : 'new ConfirmationObj()'; ?> ; var form = <?php echo json_encode($form); ?> ; var entry_meta = <?php echo GFCommon::json_encode($entry_meta); ?> ; jQuery(document).ready(function($){ SetConfirmationConditionalLogic(); <?php if (!rgar($confirmation, 'isDefault')) { ?> ToggleConditionalLogic(true, 'confirmation'); <?php } ?> ToggleConfirmation(); }); </script> <style type="text/css"> #confirmation_action_type { display: none; } </style> <div id="confirmation-editor"> <form id="confirmation_edit_form" method="post"> <table class="form-table gforms_form_settings"> <?php array_map(array(__CLASS__, 'output'), $confirmation_ui_settings); ?> </table> <?php //DEPRECATED SINCE 1.7 - use gform_confirmation_ui_settings instead do_action("gform_confirmation_settings", 100, $form_id); do_action("gform_confirmation_settings", 200, $form_id); ?> <input type="hidden" id="confirmation_id" name="confirmation_id" value="<?php echo $confirmation_id; ?> " /> <input type="hidden" id="form_id" name="form_id" value="<?php echo $form_id; ?> " /> <input type="hidden" id="is_default" name="is_default" value="<?php echo rgget("isDefault", $confirmation); ?> " /> <input type="hidden" id="conditional_logic" name="conditional_logic" value='<?php echo json_encode(rgget('conditionalLogic', $confirmation)); ?> ' /> <p class="submit"> <input type="submit" name="save" value="<?php _e('Save Confirmation', 'gravityforms'); ?> " onclick="StashConditionalLogic(event);" class="button-primary"> </p> <?php wp_nonce_field('gform_confirmation_edit', 'gform_confirmation_edit'); ?> </form> </div> <!-- / confirmation-editor --> <?php self::page_footer(); }
public static function select_mailchimp_form() { check_ajax_referer("gf_select_mailchimp_form", "gf_select_mailchimp_form"); $form_id = intval(rgpost("form_id")); list($list_id, $list_name) = explode("|:|", rgpost("list_id")); $setting_id = intval(rgpost("setting_id")); $api = self::get_api(); if (!$api) { die("EndSelectForm();"); } //getting list of all MailChimp merge variables for the selected contact list self::log("Retrieving Merge_Vars for list {$list_id}", "debug"); $merge_vars = $api->listMergeVars($list_id); self::log("Merge_Vars retrieved: " . print_r($merge_vars, true), "debug"); //getting configuration $config = GFMailChimpData::get_feed($setting_id); //getting field map UI $str = self::get_field_mapping($config, $form_id, $merge_vars); //getting list of selection fields to be used by the optin $form_meta = RGFormsModel::get_form_meta($form_id); $selection_fields = GFCommon::get_selection_fields($form_meta, rgars($config, "meta/optin_field_id")); $group_condition = array(); $group_names = array(); $grouping = self::get_groupings($config, $list_id, $selection_fields, $group_condition, $group_names); //fields meta $form = RGFormsModel::get_form_meta($form_id); die("EndSelectForm('" . str_replace("'", "\\'", $str) . "', " . GFCommon::json_encode($form) . ", '" . str_replace("'", "\\'", $grouping) . "', " . json_encode($group_names) . " );"); }
/** * Builds the Notification Edit page. * * Called from GFNotification::notification_page * * @access public * @static * @see RGFormsModel::get_form_meta * @see GFNotification::get_notification * @see GFNotification::validate_notification * @see GFNotification::get_notification_ui_settings * @see GFFormsModel::sanitize_conditional_logic * * @param int $form_id The ID of the form that the notification belongs to * @param int $notification_id The ID of the notification being edited */ public static function notification_edit_page($form_id, $notification_id) { if (!rgempty('gform_notification_id')) { $notification_id = rgpost('gform_notification_id'); } $form = RGFormsModel::get_form_meta($form_id); /** * Filters the form to be used in the notification page * * @since 1.8.6 * * @param array $form The Form Object * @param int $notification_id The notification ID */ $form = gf_apply_filters(array('gform_form_notification_page', $form_id), $form, $notification_id); $notification = !$notification_id ? array() : self::get_notification($form, $notification_id); // added second condition to account for new notifications with errors as notification ID will // be available in $_POST but the notification has not actually been saved yet $is_new_notification = empty($notification_id) || empty($notification); $is_valid = true; $is_update = false; if (rgpost('save')) { check_admin_referer('gforms_save_notification', 'gforms_save_notification'); //clear out notification because it could have legacy data populated $notification = array('isActive' => isset($notification['isActive']) ? rgar($notification, 'isActive') : true); $is_update = true; if ($is_new_notification) { $notification_id = uniqid(); $notification['id'] = $notification_id; } else { $notification['id'] = $notification_id; } $notification['name'] = sanitize_text_field(rgpost('gform_notification_name')); $notification['service'] = sanitize_text_field(rgpost('gform_notification_service')); $notification['event'] = sanitize_text_field(rgpost('gform_notification_event')); $notification['to'] = rgpost('gform_notification_to_type') == 'field' ? rgpost('gform_notification_to_field') : rgpost('gform_notification_to_email'); $to_type = rgpost('gform_notification_to_type'); if (!in_array($to_type, array('email', 'field', 'routing', 'hidden'))) { $to_type = 'email'; } $notification['toType'] = $to_type; $notification['bcc'] = rgpost('gform_notification_bcc'); $notification['subject'] = sanitize_text_field(rgpost('gform_notification_subject')); $notification['message'] = rgpost('gform_notification_message'); $notification['from'] = sanitize_text_field(rgpost('gform_notification_from')); $notification['fromName'] = sanitize_text_field(rgpost('gform_notification_from_name')); $notification['replyTo'] = rgpost('gform_notification_reply_to'); $routing = !rgempty('gform_routing_meta') ? GFCommon::json_decode(rgpost('gform_routing_meta'), true) : null; if (!empty($routing)) { $routing_logic = array('rules' => $routing); $routing_logic = GFFormsModel::sanitize_conditional_logic($routing_logic); $notification['routing'] = $routing_logic['rules']; } $notification['routing'] = $routing; $conditional_logic = !rgempty('gform_conditional_logic_meta') ? GFCommon::json_decode(rgpost('gform_conditional_logic_meta'), true) : null; $notification['conditionalLogic'] = GFFormsModel::sanitize_conditional_logic($conditional_logic); $notification['disableAutoformat'] = (bool) rgpost('gform_notification_disable_autoformat'); if (rgpost('gform_is_default')) { $notification['isDefault'] = true; } /** * Filters the notification before it is saved * * @since 1.7 * * @param array $notification The Notification Object * @param array $form The Form Object * @param bool $is_new_notification True if it is a new notification. False otherwise. */ $notification = gf_apply_filters(array('gform_pre_notification_save', $form_id), $notification, $form, $is_new_notification); //validating input... $is_valid = self::validate_notification(); /** * Allows overriding of if the notification passes validation * * @since 1.9.16 * * @param bool $is_valid True if it is valid. False otherwise. * @param array $notification The Notification Object * @param array $form The Form Object */ $is_valid = gf_apply_filters(array('gform_notification_validation', $form_id), $is_valid, $notification, $form); if ($is_valid) { //input valid, updating... //emptying notification email if it is supposed to be disabled if ($_POST['gform_notification_to_type'] == 'routing') { $notification['to'] = ''; } else { $notification['routing'] = null; } // trim values $notification = GFFormsModel::trim_conditional_logic_values_from_element($notification, $form); $form['notifications'][$notification_id] = $notification; RGFormsModel::save_form_notifications($form_id, $form['notifications']); } } if ($is_update && $is_valid) { $url = remove_query_arg('nid'); GFCommon::add_message(sprintf(esc_html__('Notification saved successfully. %sBack to notifications.%s', 'gravityforms'), '<a href="' . esc_url($url) . '">', '</a>')); /** * Fires an action after a notification has been saved * * @since 1.9.16 * * @param array $notification The Notification Object * @param array $form The Form Object * @param bool $is_new_notification True if this is a new notification. False otherwise. */ gf_do_action(array('gform_post_notification_save', $form_id), $notification, $form, $is_new_notification); } else { if ($is_update && !$is_valid) { GFCommon::add_error_message(esc_html__('Notification could not be updated. Please enter all required information below.', 'gravityforms')); } } // moved page header loading here so the admin messages can be set upon saving and available for the header to print out GFFormSettings::page_header(esc_html__('Notifications', 'gravityforms')); $notification_ui_settings = self::get_notification_ui_settings($notification, $is_valid); $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG || isset($_GET['gform_debug']) ? '' : '.min'; ?> <link rel="stylesheet" href="<?php echo GFCommon::get_base_url(); ?> /css/admin<?php echo $min; ?> .css?ver=<?php echo GFCommon::$version; ?> " /> <script type="text/javascript"> var gform_has_unsaved_changes = false; jQuery(document).ready(function () { jQuery("#entry_form input, #entry_form textarea, #entry_form select").change(function () { gform_has_unsaved_changes = true; }); window.onbeforeunload = function () { if (gform_has_unsaved_changes) { return "You have unsaved changes."; } }; ToggleConditionalLogic(true, 'notification'); jQuery(document).on('change', '.gfield_routing_value_dropdown', function () { SetRoutingValueDropDown(jQuery(this)); }); }); gform.addFilter("gform_merge_tags", "MaybeAddSaveLinkMergeTag"); function MaybeAddSaveLinkMergeTag(mergeTags, elementId, hideAllFields, excludeFieldTypes, isPrepop, option){ var event = document.getElementById('gform_notification_event').value; if ( event == 'form_saved' || event == 'form_save_email_requested' ) { mergeTags["other"].tags.push({ tag: '{save_link}', label: <?php echo json_encode(esc_html__('Save & Continue Link', 'gravityforms')); ?> }); mergeTags["other"].tags.push({ tag: '{save_token}', label: <?php echo json_encode(esc_html__('Save & Continue Token', 'gravityforms')); ?> }); } return mergeTags; } <?php if (empty($form['notifications'])) { $form['notifications'] = array(); } $entry_meta = GFFormsModel::get_entry_meta($form_id); /** * Filters the entry meta when notification conditional logic is being edited * * @since 1.7.6 * * @param array $entry_meta The Entry meta * @param array $form The Form Object * @param int $notification_id The notification ID */ $entry_meta = apply_filters('gform_entry_meta_conditional_logic_notifications', $entry_meta, $form, $notification_id); ?> var form = <?php echo json_encode($form); ?> ; var current_notification = <?php echo GFCommon::json_encode($notification); ?> ; var entry_meta = <?php echo GFCommon::json_encode($entry_meta); ?> ; function SetRoutingValueDropDown(element) { //parsing ID to get routing Index var index = element.attr("id").replace("routing_value_", ''); SetRouting(index); } function CreateRouting(routings) { var str = ''; for (var i = 0; i < routings.length; i++) { var isSelected = routings[i].operator == 'is' ? "selected='selected'" : ''; var isNotSelected = routings[i].operator == 'isnot' ? "selected='selected'" : ''; var greaterThanSelected = routings[i].operator == '>' ? "selected='selected'" : ''; var lessThanSelected = routings[i].operator == '<' ? "selected='selected'" : ''; var containsSelected = routings[i].operator == 'contains' ? "selected='selected'" : ''; var startsWithSelected = routings[i].operator == 'starts_with' ? "selected='selected'" : ''; var endsWithSelected = routings[i].operator == 'ends_with' ? "selected='selected'" : ''; var email = routings[i]["email"] ? routings[i]["email"] : ''; str += "<div style='width:99%'>" + <?php echo json_encode(esc_html__('Send to', 'gravityforms')); ?> + " <input type='text' id='routing_email_" + i + "' value='" + email + "' onkeyup='SetRouting(" + i + ");'/>"; str += " " + <?php echo json_encode(esc_html__('if', 'gravityforms')); ?> + " " + GetRoutingFields(i, routings[i].fieldId); str += "<select id='routing_operator_" + i + "' onchange='SetRouting(" + i + ");' class='gform_routing_operator'>"; str += "<option value='is' " + isSelected + ">" + <?php echo json_encode(esc_html__('is', 'gravityforms')); ?> + "</option>"; str += "<option value='isnot' " + isNotSelected + ">" + <?php echo json_encode(esc_html__('is not', 'gravityforms')); ?> + "</option>"; str += "<option value='>' " + greaterThanSelected + ">" + <?php echo json_encode(esc_html__('greater than', 'gravityforms')); ?> + "</option>"; str += "<option value='<' " + lessThanSelected + ">" + <?php echo json_encode(esc_html__('less than', 'gravityforms')); ?> + "</option>"; str += "<option value='contains' " + containsSelected + ">" + <?php echo json_encode(esc_html__('contains', 'gravityforms')); ?> + "</option>"; str += "<option value='starts_with' " + startsWithSelected + ">" + <?php echo json_encode(esc_html__('starts with', 'gravityforms')); ?> + "</option>"; str += "<option value='ends_with' " + endsWithSelected + ">" + <?php echo json_encode(esc_html__('ends with', 'gravityforms')); ?> + "</option>"; str += "</select>"; str += GetRoutingValues(i, routings[i].fieldId, routings[i].value); str += "<a class='gf_insert_field_choice' title='add another rule' onclick=\"InsertRouting(" + (i + 1) + ");\" onkeypress=\"InsertRouting(" + (i + 1) + ");\"><i class='gficon-add'></i></a>"; if (routings.length > 1) str += "<a class='gf_delete_field_choice' title='remove this rule' onclick=\"DeleteRouting(" + i + ");\" onkeypress=\"DeleteRouting(" + i + ");\"><i class='gficon-subtract'></i></a>"; str += "</div>"; } jQuery("#gform_notification_to_routing_rules").html(str); } function GetRoutingValues(index, fieldId, selectedValue) { var str = GetFieldValues(index, fieldId, selectedValue, 16); return str; } function GetRoutingFields(index, selectedItem) { var str = "<select id='routing_field_id_" + index + "' class='gfield_routing_select' onchange='jQuery(\"#routing_value_" + index + "\").replaceWith(GetRoutingValues(" + index + ", jQuery(this).val())); SetRouting(" + index + "); '>"; str += GetSelectableFields(selectedItem, 16); str += "</select>"; return str; } //---------------------- generic --------------- function GetSelectableFields(selectedFieldId, labelMaxCharacters) { var str = ""; var inputType; for (var i = 0; i < form.fields.length; i++) { inputType = form.fields[i].inputType ? form.fields[i].inputType : form.fields[i].type; //see if this field type can be used for conditionals if (IsNotificationConditionalLogicField(form.fields[i])) { var selected = form.fields[i].id == selectedFieldId ? "selected='selected'" : ""; str += "<option value='" + form.fields[i].id + "' " + selected + ">" + form.fields[i].label + "</option>"; } } return str; } function IsNotificationConditionalLogicField(field) { //this function is a duplicate of IsConditionalLogicField from form_editor.js 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; } function GetFirstSelectableField() { var inputType; for (var i = 0; i < form.fields.length; i++) { inputType = form.fields[i].inputType ? form.fields[i].inputType : form.fields[i].type; if (IsNotificationConditionalLogicField(form.fields[i])) { return form.fields[i].id; } } return 0; } function TruncateMiddle(text, maxCharacters) { if (!text) return ""; if (text.length <= maxCharacters) return text; var middle = parseInt(maxCharacters / 2); return text.substr(0, middle) + "..." + text.substr(text.length - middle, middle); } function GetFieldValues(index, fieldId, selectedValue, labelMaxCharacters) { if (!fieldId) fieldId = GetFirstSelectableField(); if (!fieldId) return ""; var str = ''; var field = GetFieldById(fieldId); var isAnySelected = false; if (!field) return ""; if (field["type"] == 'post_category' && field["displayAllCategories"]) { var dropdown_id = 'routing_value_' + index; var dropdown = jQuery('#' + dropdown_id + ".gfield_category_dropdown"); //don't load category drop down if it already exists (to avoid unecessary ajax requests) if (dropdown.length > 0) { var options = dropdown.html(); options = options.replace("value=\"" + selectedValue + "\"", "value=\"" + selectedValue + "\" selected=\"selected\""); str = "<select id='" + dropdown_id + "' class='gfield_routing_select gfield_category_dropdown gfield_routing_value_dropdown'>" + options + "</select>"; } else { //loading categories via AJAX jQuery.post(ajaxurl, { action: "gf_get_notification_post_categories", ruleIndex : index, selectedValue : selectedValue}, function (dropdown_string) { if (dropdown_string) { jQuery('#gfield_ajax_placeholder_' + index).replaceWith(dropdown_string.trim()); } } ); //will be replaced by real drop down during the ajax callback str = "<select id='gfield_ajax_placeholder_" + index + "' class='gfield_routing_select'><option>" + <?php json_encode(esc_html__('Loading...', 'gravityforms')); ?> + "</option></select>"; } } else if (field.choices) { //create a drop down for fields that have choices (i.e. drop down, radio, checkboxes, etc...) str = "<select class='gfield_routing_select gfield_routing_value_dropdown' id='routing_value_" + index + "'>"; for (var i = 0; i < field.choices.length; i++) { var choiceValue = field.choices[i].value ? field.choices[i].value : field.choices[i].text; var isSelected = choiceValue == selectedValue; var selected = isSelected ? "selected='selected'" : ''; if (isSelected) isAnySelected = true; str += "<option value='" + choiceValue.replace(/'/g, "'") + "' " + selected + ">" + field.choices[i].text + "</option>"; } if (!isAnySelected && selectedValue) { str += "<option value='" + selectedValue.replace(/'/g, "'") + "' selected='selected'>" + selectedValue + "</option>"; } str += "</select>"; } else { selectedValue = selectedValue ? selectedValue.replace(/'/g, "'") : ""; //create a text field for fields that don't have choices (i.e text, textarea, number, email, etc...) str = "<input type='text' placeholder='" + <?php echo json_encode(esc_html__('Enter value', 'gravityforms')); ?> +"' class='gfield_routing_select' id='routing_value_" + index + "' value='" + selectedValue.replace(/'/g, "'") + "' onchange='SetRouting(" + index + ");' onkeyup='SetRouting(" + index + ");'>"; } return str; } //--------------------------------------------------------------------------------- function InsertRouting(index) { var routings = current_notification.routing; routings.splice(index, 0, new ConditionalRule()); CreateRouting(routings); SetRouting(index); } function SetRouting(ruleIndex) { if (!current_notification.routing && ruleIndex == 0) current_notification.routing = [new ConditionalRule()]; current_notification.routing[ruleIndex]["email"] = jQuery("#routing_email_" + ruleIndex).val(); current_notification.routing[ruleIndex]["fieldId"] = jQuery("#routing_field_id_" + ruleIndex).val(); current_notification.routing[ruleIndex]["operator"] = jQuery("#routing_operator_" + ruleIndex).val(); current_notification.routing[ruleIndex]["value"] = jQuery("#routing_value_" + ruleIndex).val(); var json = jQuery.toJSON(current_notification.routing); jQuery('#gform_routing_meta').val(json); } function DeleteRouting(ruleIndex) { current_notification.routing.splice(ruleIndex, 1); CreateRouting(current_notification.routing); } function SetConditionalLogic(isChecked) { current_notification.conditionalLogic = isChecked ? new ConditionalLogic() : null; } function SaveJSMeta() { jQuery('#gform_routing_meta').val(jQuery.toJSON(current_notification.routing)); jQuery('#gform_conditional_logic_meta').val(jQuery.toJSON(current_notification.conditionalLogic)); } <?php GFFormSettings::output_field_scripts(); ?> </script> <form method="post" id="gform_notification_form" onsubmit="gform_has_unsaved_changes = false; SaveJSMeta();"> <?php wp_nonce_field('gforms_save_notification', 'gforms_save_notification'); ?> <?php if (rgar($notification, 'isDefault')) { echo '<input type="hidden" id="gform_is_default" name="gform_is_default" value="1"/>'; } ?> <input type="hidden" id="gform_routing_meta" name="gform_routing_meta" /> <input type="hidden" id="gform_conditional_logic_meta" name="gform_conditional_logic_meta" /> <input type="hidden" id="gform_notification_id" name="gform_notification_id" value="<?php echo esc_attr($notification_id); ?> " /> <table class="form-table gform_nofification_edit"> <?php array_map(array('GFFormSettings', 'output'), $notification_ui_settings); ?> </table> <p class="submit"> <?php $button_label = $is_new_notification ? __('Save Notification', 'gravityforms') : __('Update Notification', 'gravityforms'); $notification_button = '<input class="button-primary" type="submit" value="' . esc_attr($button_label) . '" name="save"/>'; /** * Filters the "Save Notification" button * * @param string $notification_button The notification button HTML */ echo apply_filters('gform_save_notification_button', $notification_button); ?> </p> </form> <?php GFFormSettings::page_footer(); }
public static function get_calculations_init_script($form) { require_once GFCommon::get_base_path() . '/currency.php'; $formula_fields = array(); foreach ($form['fields'] as $field) { if (!$field->enableCalculation || !$field->calculationFormula) { continue; } $formula_fields[] = array('field_id' => $field->id, 'formula' => $field->calculationFormula, 'rounding' => $field->calculationRounding); } if (empty($formula_fields)) { return ''; } $script = self::get_number_formats_script($form); $script .= 'new GFCalc(' . $form['id'] . ', ' . GFCommon::json_encode($formula_fields) . ');'; return $script; }
public function feed_edit_page($form, $feed_id) { // getting MailChimp API $api = $this->get_api(); // ensures valid credentials were entered in the settings page if (!$api) { ?> <div><?php echo sprintf(__('We are unable to login to MailChimp with the provided credentials. Please make sure they are valid in the %sSettings Page%s', 'gravityformsmailchimp'), "<a href='" . $this->get_plugin_settings_url() . "'>", '</a>'); ?> </div> <?php return; } echo '<script type="text/javascript">var form = ' . GFCommon::json_encode($form) . ';</script>'; parent::feed_edit_page($form, $feed_id); }
public static function select_salesforce_form() { check_ajax_referer("gf_select_salesforce_form", "gf_select_salesforce_form"); $api = self::get_api(); if (!self::api_is_valid($api) || !isset($_POST["objectType"])) { exit("EndSelectForm();"); } $form_id = intval($_POST["form_id"]); $setting_id = 0; //getting list of all Salesforce merge variables for the selected contact list $merge_vars = @self::getFieldsForObject($_POST['objectType']); if (empty($merge_vars)) { echo sprintf("alert('There was an error retrieving fields for the %s Object');", esc_js($_POST['objectType'])); exit(" EndSelectForm();"); } //getting configuration $config = GFSalesforceData::get_feed($setting_id); //getting field map UI $str = self::get_field_mapping($config, $form_id, $merge_vars); //fields meta $form = RGFormsModel::get_form_meta($form_id); exit("EndSelectForm('" . str_replace("'", "\\'", $str) . "', " . GFCommon::json_encode($form) . ");"); }
public static function select_salesforce_form() { check_ajax_referer("gf_select_salesforce_form", "gf_select_salesforce_form"); $api = self::get_api(); if (!self::api_is_valid($api) || !isset($_POST["objectType"])) { die("EndSelectForm();"); } $form_id = intval($_POST["form_id"]); $setting_id = 0; //getting list of all Salesforce merge variables for the selected contact list $merge_vars = self::getFields($_POST['objectType']); //getting configuration $config = GFSalesforceData::get_feed($setting_id); //getting field map UI $str = self::get_field_mapping($config, $form_id, $merge_vars); //fields meta $form = RGFormsModel::get_form_meta($form_id); //$fields = $form["fields"]; die("EndSelectForm('" . str_replace("'", "\\'", $str) . "', " . GFCommon::json_encode($form) . ");"); }
public static function confirmations_edit_page($form_id, $confirmation_id) { $form = gf_apply_filters('gform_admin_pre_render', $form_id, GFFormsModel::get_form_meta($form_id)); $duplicated_cid = rgget('duplicatedcid'); $is_duplicate = empty($_POST) && !empty($duplicated_cid); if ($is_duplicate) { $confirmation_id = $duplicated_cid; } $confirmation = self::handle_confirmation_edit_submission(rgar($form['confirmations'], $confirmation_id), $form); if ($is_duplicate) { $count = 2; $name = $confirmation['name']; $new_name = $name . ' - Copy 1'; while (!self::is_unique_name($new_name, $form['confirmations'])) { $new_name = $name . " - Copy {$count}"; $count++; } $confirmation['name'] = $new_name; $confirmation['id'] = 'new'; if ($confirmation['isDefault']) { $confirmation['isDefault'] = false; $confirmation['conditionalLogic'] = ''; } } $confirmation_ui_settings = self::get_confirmation_ui_settings($confirmation); $entry_meta = GFFormsModel::get_entry_meta($form_id); $entry_meta = apply_filters('gform_entry_meta_conditional_logic_confirmations', $entry_meta, $form, $confirmation_id); self::page_header(__('Confirmations', 'gravityforms')); ?> <script type="text/javascript"> var confirmation = <?php echo $confirmation ? json_encode($confirmation) : 'new ConfirmationObj()'; ?> ; var form = <?php echo json_encode($form); ?> ; var entry_meta = <?php echo GFCommon::json_encode($entry_meta); ?> ; jQuery(document).ready(function ($) { if ( confirmation.event == 'form_saved' || confirmation.event == 'form_save_email_sent' ) { $('#form_confirmation_redirect, #form_confirmation_show_page').attr('disabled', true); } SetConfirmationConditionalLogic(); <?php if (!rgar($confirmation, 'isDefault')) { ?> ToggleConditionalLogic(true, 'confirmation'); <?php } ?> ToggleConfirmation(); <?php if ($is_duplicate) { ?> $('#confirmation_conditional_logic_container').pointer({ content : '<h3><?php _e('Important', 'gravityforms'); ?> </h3><p><?php _e('Ensure that the conditional logic for this confirmation is different from all the other confirmations for this form and then press save to create the new confirmation.', 'gravityforms'); ?> </p>', position : { edge : 'bottom', // arrow direction align: 'center' // vertical alignment }, pointerWidth: 300 }).pointer('open'); <?php } ?> }); gform.addFilter("gform_merge_tags", "MaybeAddSaveMergeTags"); function MaybeAddSaveMergeTags(mergeTags, elementId, hideAllFields, excludeFieldTypes, isPrepop, option){ var event = confirmation.event; if ( event == 'form_saved' || event == 'form_save_email_sent' ) { mergeTags["other"].tags.push({ tag: '{save_link}', label: '<?php _e('Save & Continue Link', 'gravityforms'); ?> ' }); mergeTags["other"].tags.push({ tag: '{save_token}', label: '<?php _e('Save & Continue Token', 'gravityforms'); ?> ' }); } if( event == 'form_saved' ) { mergeTags["other"].tags.push({ tag: '{save_email_input}', label: '<?php _e('Save & Continue Email Input', 'gravityforms'); ?> ' }); } return mergeTags; } <?php self::output_field_scripts(); ?> </script> <style type="text/css"> #confirmation_action_type { display: none; } </style> <div id="confirmation-editor"> <form id="confirmation_edit_form" method="post"> <table class="form-table gforms_form_settings"> <?php array_map(array(__CLASS__, 'output'), $confirmation_ui_settings); ?> </table> <?php //DEPRECATED SINCE 1.7 - use gform_confirmation_ui_settings instead do_action('gform_confirmation_settings', 100, $form_id); do_action('gform_confirmation_settings', 200, $form_id); ?> <input type="hidden" id="confirmation_id" name="confirmation_id" value="<?php echo $confirmation_id; ?> " /> <input type="hidden" id="form_id" name="form_id" value="<?php echo $form_id; ?> " /> <input type="hidden" id="is_default" name="is_default" value="<?php echo rgget('isDefault', $confirmation); ?> " /> <input type="hidden" id="conditional_logic" name="conditional_logic" value="<?php echo htmlentities(json_encode(rgget('conditionalLogic', $confirmation))); ?> " /> <p class="submit"> <input type="submit" name="save" value="<?php _e('Save Confirmation', 'gravityforms'); ?> " onclick="StashConditionalLogic(event);" class="button-primary"> </p> <?php wp_nonce_field('gform_confirmation_edit', 'gform_confirmation_edit'); ?> </form> </div> <!-- / confirmation-editor --> <?php self::page_footer(); }
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 (version_compare(get_bloginfo("version"), '3.3.dev1', '<')) { ?> <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("rg_currency", GFCommon::get_base_url() . "/js/gravityforms.js", null, GFCommon::$version); wp_print_scripts(array("jquery-ui-core", "jquery-ui-sortable", "jquery-ui-tabs", "sack", "rg_currency")); ?> <script src="<?php echo GFCommon::get_base_url(); ?> /js/jquery.dimensions.js?ver=<?php echo GFCommon::$version; ?> "></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> <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:100px; } .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; } </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"> </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_label_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> <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;"/> <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"/> <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"/> <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> <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> <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> <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> <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> </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> <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> </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> <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> <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> <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", 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> <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> <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> <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"><?php _e("enable values", "gravityforms"); gform_tooltip("form_field_choice_values"); ?> </label> </div> <?php _e("Choices", "gravityforms"); ?> <?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&width=600&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"); ?> " /> <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='';"> <a href="#" onclick="SaveCustomChoices();" class="button" id="bulk_save_button"><?php _e("Save", "gravityforms"); ?> </a> <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&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="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"); ?> <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> <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-primary gfbutton" 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"); ?> <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"; }
public function get_form_inline_script_on_page_render($form) { $field_id = "input_{$form['id']}_{$this->id}"; if ($this->forceSSL && !GFCommon::is_ssl() && !GFCommon::is_preview()) { $script = "document.location.href='" . esc_js(RGFormsModel::get_current_page_url(true)) . "';"; } else { $script = "jQuery(document).ready(function(){ { gformMatchCard(\"{$field_id}_1\"); } } );"; } $card_rules = $this->get_credit_card_rules(); $script = "if(!window['gf_cc_rules']){window['gf_cc_rules'] = new Array(); } window['gf_cc_rules'] = " . GFCommon::json_encode($card_rules) . "; {$script}"; return $script; }
public static function select_constantcontact_form() { check_ajax_referer("gf_select_constantcontact_form", "gf_select_constantcontact_form"); $form_id = intval(@$_POST["form_id"]); $list_id = !empty($_POST["list_id"]) ? self::get_constantcontact_list_endpoint($_POST["list_id"]) : ''; $setting_id = intval(@$_POST["setting_id"]); $api = self::get_api(); if (!$api) { die("EndSelectForm();"); } //getting list of all Constant Contact merge variables for the selected contact list $merge_vars = $api->listMergeVars($list_id); //getting configuration $config = GFConstantContactData::get_feed($setting_id); //getting field map UI $str = self::get_field_mapping($config, $form_id, $merge_vars); //fields meta $form = RGFormsModel::get_form_meta($form_id); //$fields = $form["fields"]; die("EndSelectForm('" . str_replace("'", "\\'", $str) . "', " . GFCommon::json_encode($form) . ");"); }
public static function select_paypal_form() { check_ajax_referer("gf_select_paypal_form", "gf_select_paypal_form"); $type = $_POST["type"]; $form_id = intval($_POST["form_id"]); $setting_id = intval($_POST["setting_id"]); //fields meta $form = RGFormsModel::get_form_meta($form_id); $customer_fields = self::get_customer_information($form); $recurring_amount_fields = self::get_product_options($form, ""); die("EndSelectForm(" . GFCommon::json_encode($form) . ", '" . str_replace("'", "\\'", $customer_fields) . "', '" . str_replace("'", "\\'", $recurring_amount_fields) . "');"); }
private static function get_conditional_logic($form) { $logics = ""; $dependents = ""; $fields_with_logic = array(); foreach ($form["fields"] as $field) { //use section's logic if one exists $section = RGFormsModel::get_section($form, $field["id"]); $section_logic = !empty($section) ? rgar($section, "conditionalLogic") : null; $field_logic = $field["type"] != "page" ? RGForms::get("conditionalLogic", $field) : null; //page break conditional logic will be handled during the next button click $next_button_logic = isset($field["nextButton"]) && isset($field["nextButton"]["conditionalLogic"]) ? $field["nextButton"]["conditionalLogic"] : null; if (!empty($field_logic) || !empty($next_button_logic)) { $field_section_logic = array("field" => $field_logic, "nextButton" => $next_button_logic, "section" => $section_logic); $logics .= $field["id"] . ": " . GFCommon::json_encode($field_section_logic) . ","; $fields_with_logic[] = $field["id"]; $peers = $field["type"] == "section" ? GFCommon::get_section_fields($form, $field["id"]) : array($field); $peer_ids = array(); foreach ($peers as $peer) { $peer_ids[] = $peer["id"]; } $dependents .= $field["id"] . ": " . GFCommon::json_encode($peer_ids) . ","; } } $button_conditional_script = ""; //adding form button conditional logic if enabled if (isset($form["button"]["conditionalLogic"])) { $logics .= "0: " . GFCommon::json_encode(array("field" => $form["button"]["conditionalLogic"], "section" => null)) . ","; $dependents .= "0: " . GFCommon::json_encode(array(0)) . ","; $fields_with_logic[] = 0; $button_conditional_script = "jQuery('#gform_{$form['id']}').submit(" . "function(event, isButtonPress){" . " var visibleButton = jQuery('.gform_next_button:visible, .gform_button:visible, .gform_image_button:visible');" . " return visibleButton.length > 0 || isButtonPress == true;" . "}" . ");"; } if (!empty($logics)) { $logics = substr($logics, 0, strlen($logics) - 1); } //removing last comma; if (!empty($dependents)) { $dependents = substr($dependents, 0, strlen($dependents) - 1); } //removing last comma; $animation = rgar($form, "enableAnimation") ? "1" : "0"; $chosen_init = self::has_enhanced_dropdown($form) ? self::get_chosen_init_script($form) : ''; $str = "<script type='text/javascript'>//<![CDATA[\n" . "if(window['jQuery']){" . "jQuery(document).ready(function(){" . "gf_apply_rules({$form['id']}, " . GFCommon::json_encode($fields_with_logic) . ", true);" . "jQuery('#gform_wrapper_{$form['id']}').show(0, function(){" . $chosen_init . "if(window['gformCalculateTotalPrice']){" . "window['gformCalculateTotalPrice']({$form['id']});} " . "});" . $button_conditional_script . "});" . "if(!window['gf_form_conditional_logic'])" . "window['gf_form_conditional_logic'] = new Array();" . "window['gf_form_conditional_logic'][{$form['id']}] = {'logic' : {" . $logics . " }, 'dependents' : {" . $dependents . " }, 'animation' : " . $animation . " }; " . "} \n//]]></script>"; return $str; }
/** * Maybe return the input attribute which will trigger evaluation of conditional logic rules which depend on this field. * * @param string $event The event attribute which should be returned. Possible values: keyup, click, or change. * * @return string */ public function get_conditional_logic_event($event) { if (empty($this->conditionalLogicFields) || $this->is_entry_detail() || $this->is_form_editor()) { return ''; } switch ($event) { case 'keyup': return "onchange='gf_apply_rules(" . $this->formId . ',' . GFCommon::json_encode($this->conditionalLogicFields) . ");' onkeyup='clearTimeout(__gf_timeout_handle); __gf_timeout_handle = setTimeout(\"gf_apply_rules(" . $this->formId . ',' . GFCommon::json_encode($this->conditionalLogicFields) . ")\", 300);'"; break; case 'click': return "onclick='gf_apply_rules(" . $this->formId . ',' . GFCommon::json_encode($this->conditionalLogicFields) . ");'"; break; case 'change': return "onchange='gf_apply_rules(" . $this->formId . ',' . GFCommon::json_encode($this->conditionalLogicFields) . ");'"; break; } }
public static function get_field_input($field, $value = "", $lead_id = 0, $form_id = 0) { $id = $field["id"]; $field_id = IS_ADMIN || $form_id == 0 ? "input_{$id}" : "input_" . $form_id . "_{$id}"; $form_id = IS_ADMIN && empty($form_id) ? $_GET["id"] : $form_id; $size = $field["size"]; $disabled_text = IS_ADMIN && RG_CURRENT_VIEW != "entry" ? "disabled='disabled'" : ""; $class_suffix = RG_CURRENT_VIEW == "entry" ? "_admin" : ""; $class = $size . $class_suffix; $currency = ""; if (RG_CURRENT_VIEW == "entry") { $lead = RGFormsModel::get_lead($lead_id); $post_id = $lead["post_id"]; $post_link = ""; if (is_numeric($post_id) && self::is_post_field($field)) { $post_link = "You can <a href='post.php?action=edit&post={$post_id}'>edit this post</a> from the post page."; } $currency = $lead["currency"]; } $field_input = apply_filters("gform_field_input", "", $field, $value, $lead_id, $form_id); if ($field_input) { return $field_input; } //product fields are not editable if (RG_CURRENT_VIEW == "entry" && self::is_product_field($field["type"])) { return "<div class='ginput_container'>" . _e("Product fields are not editable", "gravityforms") . "</div>"; } else { if (RG_CURRENT_VIEW == "entry" && $field["type"] == "donation") { return "<div class='ginput_container'>" . _e("Donations are not editable", "gravityforms") . "</div>"; } } $max_length = ""; $html5_attributes = ""; switch (RGFormsModel::get_input_type($field)) { case "total": if (RG_CURRENT_VIEW == "entry") { return "<div class='ginput_container'><input type='text' name='input_{$id}' value='{$value}' /></div>"; } else { return "<div class='ginput_container'><span class='ginput_total ginput_total_{$form_id}'>" . self::to_money("0") . "</span><input type='hidden' name='input_{$id}' id='{$field_id}' class='gform_hidden'/></div>"; } break; case "singleproduct": $product_name = !is_array($value) || empty($value[$field["id"] . ".1"]) ? esc_attr($field["label"]) : esc_attr($value[$field["id"] . ".1"]); $price = !is_array($value) || empty($value[$field["id"] . ".2"]) ? $field["basePrice"] : esc_attr($value[$field["id"] . ".2"]); $quantity = is_array($value) ? esc_attr($value[$field["id"] . ".3"]) : ""; if (empty($price)) { $price = 0; } $form = RGFormsModel::get_form_meta($form_id); $has_quantity = sizeof(GFCommon::get_product_fields_by_type($form, array("quantity"), $field["id"])) > 0; if ($has_quantity) { $field["disableQuantity"] = true; } $quantity_field = ""; if (IS_ADMIN) { $style = $field["disableQuantity"] ? "style='display:none;'" : ""; $quantity_field = " <span class='ginput_quantity_label' {$style}>" . __("Quantity:", "gravityformspaypal") . "</span> <input type='text' name='input_{$id}.3' value='{$quantity}' id='ginput_quantity_{$form_id}_{$field["id"]}' class='ginput_quantity' size='10' />"; } else { if (!$field["disableQuantity"]) { $tabindex = self::get_tabindex(); $quantity_field .= " <span class='ginput_quantity_label'>" . __("Quantity:", "gravityformspaypal") . "</span> <input type='text' name='input_{$id}.3' value='{$quantity}' id='ginput_quantity_{$form_id}_{$field["id"]}' class='ginput_quantity' size='10' {$tabindex}/>"; } else { if (!is_numeric($quantity)) { $quantity = 1; } if (!$has_quantity) { $quantity_field .= "<input type='hidden' name='input_{$id}.3' value='{$quantity}' class='ginput_quantity_{$form_id}_{$field["id"]} gform_hidden' />"; } } } return "<div class='ginput_container'><input type='hidden' name='input_{$id}.1' value='{$product_name}' class='gform_hidden' /><span class='ginput_product_price_label'>" . __("Price:", "gravityformspaypal") . "</span> <span class='ginput_product_price' id='{$field_id}'>" . GFCommon::to_money($price, $currency) . "</span><input type='hidden' name='input_{$id}.2' id='ginput_base_price_{$form_id}_{$field["id"]}' class='gform_hidden' value='{$price}'/>{$quantity_field}</div>"; break; case "singleshipping": $price = !empty($value) ? $value : $field["basePrice"]; if (empty($price)) { $price = 0; } return "<div class='ginput_container'><input type='hidden' name='input_{$id}' value='{$price}' class='gform_hidden'/><span class='ginput_shipping_price' id='{$field_id}'>" . GFCommon::to_money($price, $currency) . "</span></div>"; break; case "website": $is_html5 = RGFormsModel::is_html5_enabled(); $value = empty($value) && !$is_html5 ? "http://" : $value; $html_input_type = $is_html5 ? "url" : "text"; $html5_attributes = $is_html5 ? "placeholder='http://'" : ""; case "text": if (empty($html_input_type)) { $html_input_type = "text"; } if ($field["enablePasswordInput"] && RG_CURRENT_VIEW != "entry") { $html_input_type = "password"; } if (is_numeric($field["maxLength"])) { $max_length = "maxlength='{$field["maxLength"]}'"; } if (!empty($post_link)) { return $post_link; } $tabindex = self::get_tabindex(); return sprintf("<div class='ginput_container'><input name='input_%d' id='%s' type='%s' value='%s' class='%s' {$max_length} {$tabindex} {$html5_attributes} %s/></div>", $id, $field_id, $html_input_type, esc_attr($value), esc_attr($class), $disabled_text); break; case "email": if (!empty($post_link)) { return $post_link; } $html_input_type = RGFormsModel::is_html5_enabled() ? "email" : "text"; if (IS_ADMIN && RG_CURRENT_VIEW != "entry") { $single_style = $field["emailConfirmEnabled"] ? "style='display:none;'" : ""; $confirm_style = $field["emailConfirmEnabled"] ? "" : "style='display:none;'"; return "<div class='ginput_container ginput_single_email' {$single_style}><input name='input_{$id}' type='{$html_input_type}' class='" . esc_attr($class) . "' disabled='disabled' /></div><div class='ginput_complex ginput_container ginput_confirm_email' {$confirm_style} id='{$field_id}_container'><span id='{$field_id}_1_container' class='ginput_left'><input type='text' name='input_{$id}' id='{$field_id}' disabled='disabled' /><label for='{$field_id}'>" . apply_filters("gform_email_{$form_id}", apply_filters("gform_email", __("Enter Email", "gravityforms"), $form_id), $form_id) . "</label></span><span id='{$field_id}_2_container' class='ginput_right'><input type='text' name='input_{$id}_2' id='{$field_id}_2' disabled='disabled' /><label for='{$field_id}_2'>" . apply_filters("gform_email_confirm_{$form_id}", apply_filters("gform_email_confirm", __("Confirm Email", "gravityforms"), $form_id), $form_id) . "</label></span></div>"; } else { if ($field["emailConfirmEnabled"] && RG_CURRENT_VIEW != "entry") { $first_tabindex = self::get_tabindex(); $last_tabindex = self::get_tabindex(); return "<div class='ginput_complex ginput_container' id='{$field_id}_container'><span id='{$field_id}_1_container' class='ginput_left'><input type='{$html_input_type}' name='input_{$id}' id='{$field_id}' value='" . esc_attr($value) . "' {$first_tabindex} {$disabled_text}/><label for='{$field_id}'>" . apply_filters("gform_email_{$form_id}", apply_filters("gform_email", __("Enter Email", "gravityforms"), $form_id), $form_id) . "</label></span><span id='{$field_id}_2_container' class='ginput_right'><input type='{$html_input_type}' name='input_{$id}_2' id='{$field_id}_2' value='{$_POST["input_" . $id . "_2"]}' {$last_tabindex} {$disabled_text}/><label for='{$field_id}_2'>" . apply_filters("gform_email_confirm_{$form_id}", apply_filters("gform_email_confirm", __("Confirm Email", "gravityforms"), $form_id), $form_id) . "</label></span></div>"; } else { $tabindex = self::get_tabindex(); return sprintf("<div class='ginput_container'><input name='input_%d' id='%s' type='%s' value='%s' class='%s' {$max_length} {$tabindex} {$html5_attributes} %s/></div>", $id, $field_id, $html_input_type, esc_attr($value), esc_attr($class), $disabled_text); } } break; case "honeypot": return "<div class='ginput_container'><input name='input_{$id}' id='{$field_id}' type='text' value=''/></div>"; break; case "hidden": if (!empty($post_link)) { return $post_link; } $field_type = IS_ADMIN ? "text" : "hidden"; $class_attribute = IS_ADMIN ? "" : "class='gform_hidden'"; return sprintf("<input name='input_%d' id='%s' type='{$field_type}' {$class_attribute} value='%s' %s/>", $id, $field_id, esc_attr($value), $disabled_text); break; case "html": $content = IS_ADMIN ? "<img class='gfield_html_block' src='" . self::get_base_url() . "/images/gf_html_admin_placeholder.jpg' alt='HTML Block'/>" : $field["content"]; return do_shortcode($content); break; case "adminonly_hidden": if (!is_array($field["inputs"])) { return sprintf("<input name='input_%d' id='%s' class='gform_hidden' type='hidden' value='%s'/>", $id, $field_id, esc_attr($value)); } $fields = ""; foreach ($field["inputs"] as $input) { $fields .= sprintf("<input name='input_%s' class='gform_hidden' type='hidden' value='%s'/>", $input["id"], esc_attr($value[$input["id"]])); } return $fields; break; case "number": if (!empty($post_link)) { return $post_link; } $instruction = ""; if (!IS_ADMIN) { $min = $field["rangeMin"]; $max = $field["rangeMax"]; $validation_class = $field["failed_validation"] ? "validation_message" : ""; $message = self::get_range_message($field); if (!$field["failed_validation"] && !empty($message) && empty($field["errorMessage"])) { $instruction = "<div class='instruction {$validation_class}'>" . $message . "</div>"; } } $html_input_type = RGFormsModel::is_html5_enabled() ? "number" : "text"; $tabindex = self::get_tabindex(); return sprintf("<div class='ginput_container'><input name='input_%d' id='%s' type='{$html_input_type}' value='%s' class='%s' {$tabindex} %s/>%s</div>", $id, $field_id, esc_attr($value), esc_attr($class), $disabled_text, $instruction); case "donation": $tabindex = self::get_tabindex(); return sprintf("<div class='ginput_container'><input name='input_%d' id='%s' type='text' value='%s' class='%s' {$tabindex} %s/></div>", $id, $field_id, esc_attr($value), esc_attr($class), $disabled_text); case "price": $tabindex = self::get_tabindex(); return sprintf("<div class='ginput_container'><input name='input_%d' id='%s' type='text' value='%s' class='%s ginput_amount' {$tabindex} %s/></div>", $id, $field_id, esc_attr($value), esc_attr($class), $disabled_text); case "phone": if (!empty($post_link)) { return $post_link; } $instruction = $field["phoneFormat"] == "standard" ? __("Phone format:", "gravityforms") . " (###)###-####" : ""; $instruction_div = $field["failed_validation"] ? "<div class='instruction validation_message'>{$instruction}</div>" : ""; $html_input_type = RGFormsModel::is_html5_enabled() ? "tel" : "text"; $tabindex = self::get_tabindex(); return sprintf("<div class='ginput_container'><input name='input_%d' id='%s' type='{$html_input_type}' value='%s' class='%s' {$tabindex} %s/>{$instruction_div}</div>", $id, $field_id, esc_attr($value), esc_attr($class), $disabled_text); case "textarea": if (!IS_ADMIN && !empty($field["maxLength"]) && is_numeric($field["maxLength"])) { $max_chars = self::get_counter_script($form_id, $field_id, $field["maxLength"]); } $tabindex = self::get_tabindex(); return sprintf("<div class='ginput_container'><textarea name='input_%d' id='%s' class='textarea %s' {$tabindex} %s rows='10' cols='50'>%s</textarea></div>{$max_chars}", $id, $field_id, esc_attr($class), $disabled_text, esc_html($value)); case "post_title": case "post_tags": case "post_custom_field": $tabindex = self::get_tabindex(); return !empty($post_link) ? $post_link : sprintf("<div class='ginput_container'><input name='input_%d' id='%s' type='text' value='%s' class='%s' {$tabindex} %s/></div>", $id, $field_id, esc_attr($value), esc_attr($class), $disabled_text); break; case "post_content": case "post_excerpt": if (!IS_ADMIN && !empty($field["maxLength"]) && is_numeric($field["maxLength"])) { $max_chars = self::get_counter_script($form_id, $field_id, $field["maxLength"]); } $tabindex = self::get_tabindex(); return !empty($post_link) ? $post_link : sprintf("<div class='ginput_container'><textarea name='input_%d' id='%s' class='textarea %s' {$tabindex} %s rows='10' cols='50'>%s</textarea></div>{$max_chars}", $id, $field_id, esc_attr($class), $disabled_text, esc_html($value)); break; case "post_category": if (!empty($post_link)) { return $post_link; } if ($field["displayAllCategories"] && !IS_ADMIN) { $default_category = $field["categoryInitialItemEnabled"] ? "-1" : get_option('default_category'); $selected = empty($value) ? $default_category : $value; $args = array('echo' => 0, 'selected' => $selected, "class" => esc_attr($class) . " gfield_select", 'hide_empty' => 0, 'name' => "input_{$id}", 'orderby' => 'name', 'hierarchical' => true); if (self::$tab_index > 0) { $args["tab_index"] = self::$tab_index++; } if ($field["categoryInitialItemEnabled"]) { $args["show_option_none"] = empty($field["categoryInitialItem"]) ? " " : $field["categoryInitialItem"]; } return "<div class='ginput_container'>" . wp_dropdown_categories($args) . "</div>"; } else { $tabindex = self::get_tabindex(); $choices = self::get_select_choices($field, $value); //Adding first option if ($field["categoryInitialItemEnabled"]) { $selected = empty($value) ? "selected='selected'" : ""; $choices = "<option value='-1' {$selected}>{$field["categoryInitialItem"]}</option>" . $choices; } return sprintf("<div class='ginput_container'><select name='input_%d' id='%s' class='%s gfield_select' {$tabindex} %s>%s</select></div>", $id, $field_id, esc_attr($class), $disabled_text, $choices); } break; case "post_image": if (!empty($post_link)) { return $post_link; } $title = esc_attr($value[$field["id"] . ".1"]); $caption = esc_attr($value[$field["id"] . ".4"]); $description = esc_attr($value[$field["id"] . ".7"]); //hidding meta fields for admin $hidden_style = "style='display:none;'"; $title_style = !$field["displayTitle"] && IS_ADMIN ? $hidden_style : ""; $caption_style = !$field["displayCaption"] && IS_ADMIN ? $hidden_style : ""; $description_style = !$field["displayDescription"] && IS_ADMIN ? $hidden_style : ""; $file_label_style = IS_ADMIN && !($field["displayTitle"] || $field["displayCaption"] || $field["displayDescription"]) ? $hidden_style : ""; $hidden_class = ""; $file_info = RGFormsModel::get_temp_filename($form_id, "input_{$id}"); if ($file_info) { $hidden_class = " gform_hidden"; $file_label_style = $hidden_style; $preview = "<span class='ginput_preview'><strong>{$file_info["uploaded_filename"]}</strong> | <a href='javascript:;' onclick='gformDeleteUploadedFile({$form_id}, {$id});'>" . __("delete", "gravityforms") . "</a></span>"; } //in admin, render all meta fields to allow for immediate feedback, but hide the ones not selected $file_label = IS_ADMIN || $field["displayTitle"] || $field["displayCaption"] || $field["displayDescription"] ? "<label for='{$field_id}' class='ginput_post_image_file' {$file_label_style}>" . apply_filters("gform_postimage_file_{$form_id}", apply_filters("gform_postimage_file", __("File", "gravityforms"), $form_id), $form_id) . "</label>" : ""; $tabindex = self::get_tabindex(); $upload = sprintf("<span class='ginput_full{$class_suffix}'>{$preview}<input name='input_%d' id='%s' type='file' value='%s' class='%s' {$tabindex} %s/>{$file_label}</span>", $id, $field_id, esc_attr($value), esc_attr($class . $hidden_class), $disabled_text); $tabindex = self::get_tabindex(); $title_field = $field["displayTitle"] || IS_ADMIN ? sprintf("<span class='ginput_full{$class_suffix} ginput_post_image_title' {$title_style}><input type='text' name='input_%d.1' id='%s.1' value='%s' {$tabindex} %s/><label for='%s.1'>" . apply_filters("gform_postimage_title_{$form_id}", apply_filters("gform_postimage_title", __("Title", "gravityforms"), $form_id), $form_id) . "</label></span>", $id, $field_id, $title, $disabled_text, $field_id) : ""; $tabindex = self::get_tabindex(); $caption_field = $field["displayCaption"] || IS_ADMIN ? sprintf("<span class='ginput_full{$class_suffix} ginput_post_image_caption' {$caption_style}><input type='text' name='input_%d.4' id='%s.4' value='%s' {$tabindex} %s/><label for='%s.4'>" . apply_filters("gform_postimage_caption_{$form_id}", apply_filters("gform_postimage_caption", __("Caption", "gravityforms"), $form_id), $form_id) . "</label></span>", $id, $field_id, $caption, $disabled_text, $field_id) : ""; $tabindex = self::get_tabindex(); $description_field = $field["displayDescription"] || IS_ADMIN ? sprintf("<span class='ginput_full{$class_suffix} ginput_post_image_description' {$description_style}><input type='text' name='input_%d.7' id='%s.7' value='%s' {$tabindex} %s/><label for='%s.7'>" . apply_filters("gform_postimage_description_{$form_id}", apply_filters("gform_postimage_description", __("Description", "gravityforms"), $form_id), $form_id) . "</label></span>", $id, $field_id, $description, $disabled_text, $field_id) : ""; return "<div class='ginput_complex{$class_suffix} ginput_container'>" . $upload . $title_field . $caption_field . $description_field . "</div>"; break; case "select": if (!empty($post_link)) { return $post_link; } $logic_event = empty($field["conditionalLogicFields"]) || IS_ADMIN ? "" : "onchange='gf_apply_rules(" . $field["formId"] . "," . GFCommon::json_encode($field["conditionalLogicFields"]) . ");'"; $css_class = trim(esc_attr($class) . " gfield_select"); $tabindex = self::get_tabindex(); return sprintf("<div class='ginput_container'><select name='input_%d' id='%s' {$logic_event} class='%s' {$tabindex} %s>%s</select></div>", $id, $field_id, $css_class, $disabled_text, self::get_select_choices($field, $value)); case "checkbox": return sprintf("<div class='ginput_container'><ul class='gfield_checkbox' id='%s'>%s</ul></div>", $field_id, self::get_checkbox_choices($field, $value, $disabled_text)); case "radio": if (!empty($post_link)) { return $post_link; } return sprintf("<div class='ginput_container'><ul class='gfield_radio' id='%s'>%s</ul></div>", $field_id, self::get_radio_choices($field, $value, $disabled_text)); case "password": $first_tabindex = self::get_tabindex(); $last_tabindex = self::get_tabindex(); $strength_style = !$field["passwordStrengthEnabled"] ? "style='display:none;'" : ""; $strength = $field["passwordStrengthEnabled"] || IS_ADMIN ? "<div id='{$field_id}_strength_indicator' class='gfield_password_strength' {$strength_style}>" . __("Strength indicator", "gravityforms") . "</div><input type='hidden' class='gform_hidden' id='{$field_id}_strength' name='input_{$id}_strength' />" : ""; $action = "gformShowPasswordStrength(\"{$field_id}\");"; $onchange = $field["passwordStrengthEnabled"] ? "onchange='{$action}'" : ""; $onkeyup = $field["passwordStrengthEnabled"] ? "onkeyup='{$action}'" : ""; $script = $field["passwordStrengthEnabled"] && !IS_ADMIN ? "<script type=\"text/javascript\">if(window[\"gformShowPasswordStrength\"]) jQuery(document).ready(function(){{$action}});</script>" : ""; $pass = RGForms::post("input_" . $id . "_2"); return sprintf("<div class='ginput_complex{$class_suffix} ginput_container' id='{$field_id}_container'><span id='" . $field_id . "_1_container' class='ginput_left'><input type='password' name='input_%d' id='%s' {$onkeyup} {$onchange} value='%s' {$first_tabindex} %s/><label for='%s'>" . apply_filters("gform_password_{$form_id}", apply_filters("gform_password", __("Enter Password", "gravityforms"), $form_id), $form_id) . "</label></span><span id='" . $field_id . "_2_container' class='ginput_right'><input type='password' name='input_%d_2' id='%s_2' {$onkeyup} {$onchange} value='%s' {$last_tabindex} %s/><label for='%s_2'>" . apply_filters("gform_password_confirm_{$form_id}", apply_filters("gform_password_confirm", __("Confirm Password", "gravityforms"), $form_id), $form_id) . "</label></span>{$script}</div>{$strength}", $id, $field_id, $value, $disabled_text, $field_id, $id, $field_id, $pass, $disabled_text, $field_id); case "name": $prefix = ""; $first = ""; $last = ""; $suffix = ""; if (is_array($value)) { $prefix = esc_attr(RGForms::get($field["id"] . ".2", $value)); $first = esc_attr(RGForms::get($field["id"] . ".3", $value)); $last = esc_attr(RGForms::get($field["id"] . ".6", $value)); $suffix = esc_attr(RGForms::get($field["id"] . ".8", $value)); } switch ($field["nameFormat"]) { case "extended": $prefix_tabindex = self::get_tabindex(); $first_tabindex = self::get_tabindex(); $last_tabindex = self::get_tabindex(); $suffix_tabindex = self::get_tabindex(); return sprintf("<div class='ginput_complex{$class_suffix} ginput_container' id='{$field_id}'><span id='" . $field_id . "_2_container' class='name_prefix'><input type='text' name='input_%d.2' id='%s.2' value='%s' {$prefix_tabindex} %s/><label for='%s.2'>" . apply_filters("gform_name_prefix_{$form_id}", apply_filters("gform_name_prefix", __("Prefix", "gravityforms"), $form_id), $form_id) . "</label></span><span id='" . $field_id . "_3_container' class='name_first'><input type='text' name='input_%d.3' id='%s.3' value='%s' {$first_tabindex} %s/><label for='%s.3'>" . apply_filters("gform_name_first_{$form_id}", apply_filters("gform_name_first", __("First", "gravityforms"), $form_id), $form_id) . "</label></span><span id='" . $field_id . "_6_container' class='name_last'><input type='text' name='input_%d.6' id='%s.6' value='%s' {$last_tabindex} %s/><label for='%s.6'>" . apply_filters("gform_name_last_{$form_id}", apply_filters("gform_name_last", __("Last", "gravityforms"), $form_id), $form_id) . "</label></span><span id='" . $field_id . "_8_container' class='name_suffix'><input type='text' name='input_%d.8' id='%s.8' value='%s' {$suffix_tabindex} %s/><label for='%s.8'>" . apply_filters("gform_name_suffix_{$form_id}", apply_filters("gform_name_suffix", __("Suffix", "gravityforms"), $form_id), $form_id) . "</label></span></div>", $id, $field_id, $prefix, $disabled_text, $field_id, $id, $field_id, $first, $disabled_text, $field_id, $id, $field_id, $last, $disabled_text, $field_id, $id, $field_id, $suffix, $disabled_text, $field_id); case "simple": $tabindex = self::get_tabindex(); return sprintf("<div class='ginput_container'><input name='input_%d' id='%s' type='text' value='%s' class='%s' {$tabindex} %s/></div>", $id, $field_id, esc_attr($value), esc_attr($class), $disabled_text); default: $first_tabindex = self::get_tabindex(); $last_tabindex = self::get_tabindex(); return sprintf("<div class='ginput_complex{$class_suffix} ginput_container' id='{$field_id}'><span id='" . $field_id . "_3_container' class='ginput_left'><input type='text' name='input_%d.3' id='%s.3' value='%s' {$first_tabindex} %s/><label for='%s.3'>" . apply_filters("gform_name_first_{$form_id}", apply_filters("gform_name_first", __("First", "gravityforms"), $form_id), $form_id) . "</label></span><span id='" . $field_id . "_6_container' class='ginput_right'><input type='text' name='input_%d.6' id='%s.6' value='%s' {$last_tabindex} %s/><label for='%s.6'>" . apply_filters("gform_name_last_{$form_id}", apply_filters("gform_name_last", __("Last", "gravityforms"), $form_id), $form_id) . "</label></span></div>", $id, $field_id, $first, $disabled_text, $field_id, $id, $field_id, $last, $disabled_text, $field_id); } case "address": $street_value = ""; $street2_value = ""; $city_value = ""; $state_value = ""; $zip_value = ""; $country_value = ""; if (is_array($value)) { $street_value = esc_attr($value[$field["id"] . ".1"]); $street2_value = esc_attr($value[$field["id"] . ".2"]); $city_value = esc_attr($value[$field["id"] . ".3"]); $state_value = esc_attr($value[$field["id"] . ".4"]); $zip_value = esc_attr($value[$field["id"] . ".5"]); $country_value = esc_attr($value[$field["id"] . ".6"]); } $address_types = self::get_address_types($form_id); $addr_type = empty($field["addressType"]) ? "international" : $field["addressType"]; $address_type = $address_types[$addr_type]; $state_label = empty($address_type["state_label"]) ? __("State", "gravityforms") : $address_type["state_label"]; $zip_label = empty($address_type["zip_label"]) ? __("Zip Code", "gravityforms") : $address_type["zip_label"]; $hide_country = !empty($address_type["country"]) || $field["hideCountry"]; if (empty($country_value)) { $country_value = $field["defaultCountry"]; } if (empty($state_value)) { $state_value = $field["defaultState"]; } $country_list = self::get_country_dropdown($country_value); //address field $tabindex = self::get_tabindex(); $street_address = sprintf("<span class='ginput_full{$class_suffix}' id='" . $field_id . "_1_container'><input type='text' name='input_%d.1' id='%s_1' value='%s' {$tabindex} %s/><label for='%s_1' id='" . $field_id . "_1_label'>" . apply_filters("gform_address_street_{$form_id}", apply_filters("gform_address_street", __("Street Address", "gravityforms"), $form_id), $form_id) . "</label></span>", $id, $field_id, $street_value, $disabled_text, $field_id); //address line 2 field $style = IS_ADMIN && $field["hideAddress2"] ? "style='display:none;'" : ""; if (IS_ADMIN || !$field["hideAddress2"]) { $tabindex = self::get_tabindex(); $street_address2 = sprintf("<span class='ginput_full{$class_suffix}' id='" . $field_id . "_2_container' {$style}><input type='text' name='input_%d.2' id='%s_2' value='%s' {$tabindex} %s/><label for='%s_2' id='" . $field_id . "_2_label'>" . apply_filters("gform_address_street2_{$form_id}", apply_filters("gform_address_street2", __("Address Line 2", "gravityforms"), $form_id), $form_id) . "</label></span>", $id, $field_id, $street2_value, $disabled_text, $field_id); } //city field $tabindex = self::get_tabindex(); $city = sprintf("<span class='ginput_left{$class_suffix}' id='" . $field_id . "_3_container'><input type='text' name='input_%d.3' id='%s_3' value='%s' {$tabindex} %s/><label for='%s_3' id='{$field_id}.3_label'>" . apply_filters("gform_address_city_{$form_id}", apply_filters("gform_address_city", __("City", "gravityforms"), $form_id), $form_id) . "</label></span>", $id, $field_id, $city_value, $disabled_text, $field_id); //state field $style = IS_ADMIN && $field["hideState"] ? "style='display:none;'" : ""; if (IS_ADMIN || !$field["hideState"]) { $state_field = self::get_state_field($field, $id, $field_id, $state_value, $disabled_text, $form_id); $state = sprintf("<span class='ginput_right{$class_suffix}' id='" . $field_id . "_4_container' {$style}>{$state_field}<label for='%s.4' id='" . $field_id . "_4_label'>" . apply_filters("gform_address_state_{$form_id}", apply_filters("gform_address_state", $state_label, $form_id), $form_id) . "</label></span>", $field_id); } else { $state = sprintf("<input type='hidden' class='gform_hidden' name='input_%d.4' id='%s_4' value='%s'/>", $id, $field_id, $state_value); } //zip field $tabindex = self::get_tabindex(); $zip = sprintf("<span class='ginput_left{$class_suffix}' id='" . $field_id . "_5_container'><input type='text' name='input_%d.5' id='%s_5' value='%s' {$tabindex} %s/><label for='%s_5' id='" . $field_id . "_5_label'>" . apply_filters("gform_address_zip_{$form_id}", apply_filters("gform_address_zip", $zip_label, $form_id), $form_id) . "</label></span>", $id, $field_id, $zip_value, $disabled_text, $field_id); if (IS_ADMIN || !$hide_country) { $style = $hide_country ? "style='display:none;'" : ""; $tabindex = self::get_tabindex(); $country = sprintf("<span class='ginput_right{$class_suffix}' id='" . $field_id . "_6_container' {$style}><select name='input_%d.6' id='%s_6' {$tabindex} %s>%s</select><label for='%s_6' id='" . $field_id . "_6_label'>" . apply_filters("gform_address_country_{$form_id}", apply_filters("gform_address_country", __("Country", "gravityforms"), $form_id), $form_id) . "</label></span>", $id, $field_id, $disabled_text, $country_list, $field_id); } else { $country = sprintf("<input type='hidden' class='gform_hidden' name='input_%d.6' id='%s_6' value='%s'/>", $id, $field_id, $country_value); } return "<div class='ginput_complex{$class_suffix} ginput_container' id='{$field_id}'>" . $street_address . $street_address2 . $city . $state . $zip . $country . "</div>"; case "date": if (!empty($post_link)) { return $post_link; } $format = empty($field["dateFormat"]) ? "mdy" : esc_attr($field["dateFormat"]); if (IS_ADMIN && RG_CURRENT_VIEW != "entry") { $datepicker_display = $field["dateType"] == "datefield" ? "none" : "inline"; $dropdown_display = $field["dateType"] == "datefield" ? "inline" : "none"; $icon_display = $field["calendarIconType"] == "calendar" ? "inline" : "none"; $month_field = "<div class='gfield_date_month ginput_date' id='gfield_input_date_month' style='display:{$dropdown_display}'><input name='ginput_month' type='text' disabled='disabled'/><label>" . __("MM", "gravityforms") . "</label></div>"; $day_field = "<div class='gfield_date_day ginput_date' id='gfield_input_date_day' style='display:{$dropdown_display}'><input name='ginput_day' type='text' disabled='disabled'/><label>" . __("DD", "gravityforms") . "</label></div>"; $year_field = "<div class='gfield_date_year ginput_date' id='gfield_input_date_year' style='display:{$dropdown_display}'><input type='text' name='ginput_year' disabled='disabled'/><label>" . __("YYYY", "gravityforms") . "</label></div>"; $field_string = "<div class='ginput_container' id='gfield_input_datepicker' style='display:{$datepicker_display}'><input name='ginput_datepicker' type='text' /><img src='" . GFCommon::get_base_url() . "/images/calendar.png' id='gfield_input_datepicker_icon' style='display:{$icon_display}'/></div>"; $field_string .= $field["dateFormat"] == "dmy" ? $day_field . $month_field . $year_field : $month_field . $day_field . $year_field; return $field_string; } else { $date_info = GFCommon::parse_date($value, $format); if ($field["dateType"] == "datefield") { if ($format == "mdy") { $tabindex = self::get_tabindex(); $field_str = sprintf("<div class='clear-multi'><div class='gfield_date_month ginput_container' id='%s'><input type='text' maxlength='2' name='input_%d[]' id='%s.1' value='%s' {$tabindex} %s/><label for='%s.1'>" . __("MM", "gravityforms") . "</label></div>", $field_id, $id, $field_id, $date_info["month"], $disabled_text, $field_id); $tabindex = self::get_tabindex(); $field_str .= sprintf("<div class='gfield_date_day ginput_container' id='%s'><input type='text' maxlength='2' name='input_%d[]' id='%s.2' value='%s' {$tabindex} %s/><label for='%s.2'>" . __("DD", "gravityforms") . "</label></div>", $field_id, $id, $field_id, $date_info["day"], $disabled_text, $field_id); } else { $tabindex = self::get_tabindex(); $field_str = sprintf("<div class='clear-multi'><div class='gfield_date_day ginput_container' id='%s'><input type='text' maxlength='2' name='input_%d[]' id='%s.2' value='%s' {$tabindex} %s/><label for='%s.2'>" . __("DD", "gravityforms") . "</label></div>", $field_id, $id, $field_id, $date_info["day"], $disabled_text, $field_id); $tabindex = self::get_tabindex(); $field_str .= sprintf("<div class='gfield_date_month ginput_container' id='%s'><input type='text' maxlength='2' name='input_%d[]' id='%s.1' value='%s' {$tabindex} %s/><label for='%s.1'>" . __("MM", "gravityforms") . "</label></div>", $field_id, $id, $field_id, $date_info["month"], $disabled_text, $field_id); } $tabindex = self::get_tabindex(); $field_str .= sprintf("<div class='gfield_date_year ginput_container' id='%s'><input type='text' maxlength='4' name='input_%d[]' id='%s.3' value='%s' {$tabindex} %s/><label for='%s.3'>" . __("YYYY", "gravityforms") . "</label></div></div>", $field_id, $id, $field_id, $date_info["year"], $disabled_text, $field_id); return $field_str; } else { $value = GFCommon::date_display($value, $format); $icon_class = $field["calendarIconType"] == "none" ? "datepicker_no_icon" : "datepicker_with_icon"; $icon_url = empty($field["calendarIconUrl"]) ? GFCommon::get_base_url() . "/images/calendar.png" : $field["calendarIconUrl"]; $tabindex = self::get_tabindex(); return sprintf("<div class='ginput_container'><input name='input_%d' id='%s' type='text' value='%s' class='datepicker %s %s %s' {$tabindex} %s/> </div><input type='hidden' id='gforms_calendar_icon_{$field_id}' class='gform_hidden' value='{$icon_url}'/>", $id, $field_id, esc_attr($value), esc_attr($class), $format, $icon_class, $disabled_text); } } case "time": if (!empty($post_link)) { return $post_link; } if (!is_array($value) && !empty($value)) { preg_match('/^(\\d*):(\\d*) (.*)$/', $value, $matches); $hour = esc_attr($matches[1]); $minute = esc_attr($matches[2]); $am_selected = $matches[3] == "am" ? "selected='selected'" : ""; $pm_selected = $matches[3] == "pm" ? "selected='selected'" : ""; } else { $hour = esc_attr($value[0]); $minute = esc_attr($value[1]); $am_selected = $value[2] == "am" ? "selected='selected'" : ""; $pm_selected = $value[2] == "pm" ? "selected='selected'" : ""; } $hour_tabindex = self::get_tabindex(); $minute_tabindex = self::get_tabindex(); $ampm_tabindex = self::get_tabindex(); return sprintf("<div class='clear-multi'><div class='gfield_time_hour ginput_container' id='%s'><input type='text' maxlength='2' name='input_%d[]' id='%s.1' value='%s' {$hour_tabindex} %s/> : <label for='%s.1'>" . __("HH", "gravityforms") . "</label></div><div class='gfield_time_minute ginput_container'><input type='text' maxlength='2' name='input_%d[]' id='%s.2' value='%s' {$minute_tabindex} %s/><label for='%s.2'>" . __("MM", "gravityforms") . "</label></div><div class='gfield_time_ampm ginput_container'><select name='input_%d[]' id='%s.3' {$ampm_tabindex} %s><option value='am' %s>" . __("AM", "gravityforms") . "</option><option value='pm' %s>" . __("PM", "gravityforms") . "</option></select></div></div>", $field_id, $id, $field_id, $hour, $disabled_text, $field_id, $id, $field_id, $minute, $disabled_text, $field_id, $id, $field_id, $disabled_text, $am_selected, $pm_selected); case "fileupload": $tabindex = self::get_tabindex(); $upload = sprintf("<input name='input_%d' id='%s' type='file' value='%s' size='20' class='%s' {$tabindex} %s/>", $id, $field_id, esc_attr($value), esc_attr($class), $disabled_text); if (IS_ADMIN && !empty($value)) { $value = esc_attr($value); $preview = sprintf("<div id='preview_%d'><a href='%s' target='_blank' alt='%s' title='%s'>%s</a><a href='%s' target='_blank' alt='" . __("Download file", "gravityforms") . "' title='" . __("Download file", "gravityforms") . "'><img src='%s' style='margin-left:10px;'/></a><a href='javascript:void(0);' alt='" . __("Delete file", "gravityforms") . "' title='" . __("Delete file", "gravityforms") . "' onclick='DeleteFile(%d,%d);' ><img src='%s' style='margin-left:10px;'/></a></div>", $id, $value, $value, $value, GFCommon::truncate_url($value), $value, GFCommon::get_base_url() . "/images/download.png", $lead_id, $id, GFCommon::get_base_url() . "/images/delete.png"); return $preview . "<div id='upload_{$id}' style='display:none;'>{$upload}</div>"; } else { $file_info = RGFormsModel::get_temp_filename($form_id, "input_{$id}"); if ($file_info && !$field["failed_validation"]) { $preview = "<span class='ginput_preview'><strong>{$file_info["uploaded_filename"]}</strong> | <a href='javascript:;' onclick='gformDeleteUploadedFile({$form_id}, {$id});'>" . __("delete", "gravityforms") . "</a></span>"; return "<div class='ginput_container'>" . str_replace(" class='", " class='gform_hidden ", $upload) . " {$preview}</div>"; } else { return "<div class='ginput_container'>{$upload}</div>"; } } case "captcha": switch ($field["captchaType"]) { case "simple_captcha": $size = empty($field["simpleCaptchaSize"]) ? "medium" : $field["simpleCaptchaSize"]; $captcha = self::get_captcha($field); $tagindex = self::get_tabindex(); $dimensions = IS_ADMIN ? "" : "width='{$captcha["width"]}' height='{$captcha["height"]}'"; return "<div class='gfield_captcha_container'><img class='gfield_captcha' src='{$captcha["url"]}' alt='' {$dimensions} /><div class='gfield_captcha_input_container simple_captcha_{$size}'><input type='text' name='input_{$id}' id='input_{$field_id}' /><input type='hidden' name='input_captcha_prefix_{$id}' value='{$captcha["prefix"]}' /></div></div>"; break; case "math": $size = empty($field["simpleCaptchaSize"]) ? "medium" : $field["simpleCaptchaSize"]; $captcha_1 = self::get_math_captcha($field, 1); $captcha_2 = self::get_math_captcha($field, 2); $captcha_3 = self::get_math_captcha($field, 3); $tagindex = self::get_tabindex(); $dimensions = IS_ADMIN ? "" : "width='{$captcha_1["width"]}' height='{$captcha_1["height"]}'"; return "<div class='gfield_captcha_container'><img class='gfield_captcha' src='{$captcha_1["url"]}' alt='' {$dimensions} /><img class='gfield_captcha' src='{$captcha_2["url"]}' alt='' {$dimensions} /><img class='gfield_captcha' src='{$captcha_3["url"]}' alt='' {$dimensions} /><div class='gfield_captcha_input_container math_{$size}'><input type='text' name='input_{$id}' id='input_{$field_id}' /><input type='hidden' name='input_captcha_prefix_{$id}' value='{$captcha_1["prefix"]},{$captcha_2["prefix"]},{$captcha_3["prefix"]}' /></div></div>"; break; default: if (!function_exists("recaptcha_get_html")) { require_once GFCommon::get_base_path() . '/recaptchalib.php'; } $theme = empty($field["captchaTheme"]) ? "red" : esc_attr($field["captchaTheme"]); $publickey = get_option("rg_gforms_captcha_public_key"); $privatekey = get_option("rg_gforms_captcha_private_key"); if (IS_ADMIN) { if (empty($publickey) || empty($privatekey)) { return "<div class='captcha_message'>" . __("To use the reCaptcha field you must first do the following:", "gravityforms") . "</div><div class='captcha_message'>1 - <a href='https://admin.recaptcha.net/recaptcha/createsite/?app=php' target='_blank'>" . __(sprintf("Sign up%s for a free reCAPTCHA account", "</a>"), "gravityforms") . "</div><div class='captcha_message'>2 - " . __(sprintf("Enter your reCAPTCHA keys in the %ssettings page%s", "<a href='?page=gf_settings'>", "</a>"), "gravityforms") . "</div>"; } else { return "<div class='ginput_container'><img class='gfield_captcha' src='" . GFCommon::get_base_url() . "/images/captcha_{$theme}.jpg' alt='reCAPTCHA' title='reCAPTCHA'/></div>"; } } else { $language = empty($field["captchaLanguage"]) ? "en" : esc_attr($field["captchaLanguage"]); $options = "<script type='text/javascript'>var RecaptchaOptions = {theme : '{$theme}', lang : '{$language}'}; if(parseInt('" . self::$tab_index . "') > 0) {RecaptchaOptions.tabindex = " . self::$tab_index++ . ";}</script>"; $is_ssl = !empty($_SERVER['HTTPS']); return $options . "<div class='ginput_container' id='{$field_id}'>" . recaptcha_get_html($publickey, null, $is_ssl) . "</div>"; } } break; } }
public static function forms_page($form_id) { global $wpdb; if (!GFCommon::ensure_wp_version()) { return; } $update_result = ''; if (rgpost('operation') == 'trash') { check_admin_referer('gforms_trash_form', 'gforms_trash_form'); GFFormsModel::trash_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)); } } require_once GFCommon::get_base_path() . '/currency.php'; wp_print_styles(array('thickbox')); /* @var GF_Field_Address $gf_address_field */ $gf_address_field = GF_Fields::get('address'); ?> <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"> <?php GFCommon::gf_global(); ?> <?php GFCommon::gf_vars(); ?> </script> <script type="text/javascript"> function has_entry(fieldNumber) { var submitted_fields = [<?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 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); } function IsValidFormula(formula) { if (formula == '') return true; var patt = /{([^}]+)}/i, exprPatt = /^[0-9 -/*\(\)]+$/i, expr = formula.replace(/(\r\n|\n|\r)/gm, ''), match; while (match = patt.exec(expr)) { expr = expr.replace(match[0], 1); } if (exprPatt.test(expr)) { try { var r = eval(expr); return !isNaN(parseFloat(r)) && isFinite(r); } catch (e) { return false; } } else { return false; } } </script> <?php $form = !rgempty('meta', $update_result) ? rgar($update_result, 'meta') : GFFormsModel::get_form_meta($form_id); if (!isset($form['fields']) || !is_array($form['fields'])) { $form['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 = " . 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(); ?> "> <?php if (empty($form_id)) { ?> <h2 class="gf_admin_page_title"><?php _e('New Form', 'gravityforms'); ?> </h2> <?php } else { ?> <h2 class="gf_admin_page_title"> <span><?php _e('Form Editor', 'gravityforms'); ?> </span><span class="gf_admin_page_subtitle"><span class="gf_admin_page_formid">ID: <?php echo absint($form['id']); ?> </span><span class="gf_admin_page_formname"><?php _e('Form Name', 'gravityforms'); ?> : <?php echo esc_html($form['title']); ?> </span></span> </h2> <?php } ?> <?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 a 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; } ?> <?php // link to the google webfont library ?> <style type="text/css"> @import url('//fonts.googleapis.com/css?family=Shadows+Into+Light+Two'); </style> <form method="post" id="form_trash"> <?php wp_nonce_field('gforms_trash_form', 'gforms_trash_form'); ?> <input type="hidden" value="trash" name="operation" /> </form> <table width="100%"> <tr> <td class="pad_top" valign="top"> <?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('click to edit page options', 'gravityforms'); ?> "><i class='fa fa-caret-down fa-lg'></i></a> </div> <div class="gf-pagebreak-first gf-pagebreak-container"> <div class="gf-pagebreak-text-before"><?php _e('begin form', 'gravityforms'); ?> </div> <div class="gf-pagebreak-text-main"><span><?php _e('START PAGING', 'gravityforms'); ?> </span></div> <div class="gf-pagebreak-text-after"><?php _e('top of the first page', 'gravityforms'); ?> </div> </div> <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> <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> <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> <ul id="gform_fields" class="<?php echo GFCommon::get_ul_classes($form); ?> " style="position: relative;"> <?php if (empty($form['fields'])) { ?> <?php // link to the google webfont library ?> <style type="text/css"> @import url('//fonts.googleapis.com/css?family=Shadows+Into+Light+Two'); </style> <li id="no-fields"> <div class="newform_notice"><?php _e("This form doesn't have any fields yet. Follow the steps below to get started.", 'gravityforms'); ?> <span></span></div> <?php // first step ?> <h4 class="gf_nofield_header gf_nofield_1">1. <?php _e('Select A Field Type', 'gravityforms'); ?> </h4> <p><?php _e('Start by seleting a field type from the nifty floating panels on the right.', 'gravityforms'); ?> </p> <div id="gf_nofield_1_instructions"> <span class="gf_nofield_1_instructions_heading gf_tips"><?php _e('Start Over There', 'gravityforms'); ?> </span> <span class="gf_nofield_1_instructions_copy gf_tips"><?php _e('Pick a field.. any field. Don\'t be shy.', 'gravityforms'); ?> </span> </div> <?php // second step ?> <h4 class="gf_nofield_header gf_nofield_2">2. <?php _e('Click to Add A Field', 'gravityforms'); ?> </h4> <p><?php _e('Once you've found the field type you want, click to add it to the form editor here on the left side of your screen.', 'gravityforms'); ?> </p> <div id="gf_nofield_2_instructions"> <span class="gf_nofield_2_instructions_copy gf_tips"><?php _e('Now your new field magically appears over here.', 'gravityforms'); ?> </span> </div> <?php // third step ?> <h4 class="gf_nofield_header gf_nofield_3">3. <?php _e('Edit Field Options', 'gravityforms'); ?> </h4> <p><?php _e('Click on the edit link to configure the various field options', 'gravityforms'); ?> </p> <div id="gf_nofield_3_instructions"> <span class="gf_nofield_3_instructions_copy_top gf_tips"><?php _e('Preview your changes up here.', 'gravityforms'); ?> </span> <span class="gf_nofield_3_instructions_copy_mid gf_tips"><?php _e('Edit the field options. Go ahead.. go crazy.', 'gravityforms'); ?> </span> <span class="gf_nofield_3_instructions_copy_bottom gf_tips"><?php _e('If you get stuck, mouseover the tool tips for a little help.', 'gravityforms'); ?> </span> </div> <?php // fourth step ?> <h4 class="gf_nofield_header gf_nofield_4">4. <?php _e('Drag to Arrange Fields', 'gravityforms'); ?> </h4> <p><?php _e('Drag the fields to arrange them the way you prefer', 'gravityforms'); ?> </p> <div id="gf_nofield_4_instructions"> <span class="gf_nofield_4_instructions_copy_top gf_tips"><?php _e('Grab here with your cursor.', 'gravityforms'); ?> </span> <span class="gf_nofield_4_instructions_copy_bottom gf_tips"><?php _e('Drag up or down to arrange your fields.', 'gravityforms'); ?> </span> </div> <?php // fifth step ?> <h4 class="gf_nofield_header gf_nofield_5">5. <?php _e('Save Your Form', 'gravityforms'); ?> </h4> <p><?php _e('Once you're happy with your form, remember to click on the "update form" button to save all your hard work.', 'gravityforms'); ?> </p> <div id="gf_nofield_5_instructions"> <span class="gf_nofield_5_instructions_heading gf_tips"><?php _e('Save Your New Form', 'gravityforms'); ?> </span> <span class="gf_nofield_5_instructions_copy gf_tips"><?php _e('You\'re done. That\'s it.', 'gravityforms'); ?> </span> </div> </li> <?php } ?> <?php if (is_array(rgar($form, 'fields'))) { require_once GFCommon::get_base_path() . '/form_display.php'; foreach ($form['fields'] as $field) { echo GFFormDisplay::get_field($field, '', true, $form); } } ?> </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'); ?> "><i class='fa fa-caret-down fa-lg'></i></a> </div> <div class="gf-pagebreak-end gf-pagebreak-container"> <div class="gf-pagebreak-text-before"><?php _e('end of last page', 'gravityforms'); ?> </div> <div class="gf-pagebreak-text-main"><span><?php _e('END PAGING', 'gravityforms'); ?> </span></div> <div class="gf-pagebreak-text-after"><?php _e('end of form', 'gravityforms'); ?> </div> </div> <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> <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 trailingslashit(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('General', 'gravityforms'); ?> </a> </li> <li style="width:100px; padding:0px; "> <a href="#gform_tab_3"><?php _e('Appearance', '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" size="35" /> </li> <?php do_action('gform_field_standard_settings', 10, $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"></textarea> </li> <?php do_action('gform_field_standard_settings', 20, $form_id); ?> <li class="product_field_setting field_setting"> <label for="product_field"> <?php _e('Product Field Mapping', '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> <textarea id="field_content" class="fieldwidth-3 fieldheight-1 merge-tag-support mt-position-right mt-prepopulate"></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> <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" /> </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" /> </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> <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" /> </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" /> </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());});"> <optgroup class="option_header" label="<?php _e('Standard Fields', 'gravityforms'); ?> "> <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> </optgroup> <optgroup class="option_header" label="<?php _e('Advanced Fields', 'gravityforms'); ?> "> <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> </optgroup> </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" /> <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"> <?php $post_stati = apply_filters('gform_post_status_options', array('draft' => 'Draft', 'pending' => 'Pending Review', 'publish' => 'Published')); foreach ($post_stati as $value => $label) { ?> <option value="<?php echo esc_attr($value); ?> "><?php echo esc_html($label); ?> </option> <?php } ?> </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_format_val = esc_attr($post_format); $post_format_text = esc_html($post_format); $post_formats_dropdown .= "<option value='{$post_format_val}'>" . ucfirst($post_format_text) . '</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> <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"> <input type="text" id="field_post_title_template" class="fieldwidth-3 merge-tag-support mt-position-right mt-hide_all_fields mt-exclude-post_image-fileupload" /> </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"></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 = $gf_address_field->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="ChangeAddressType();"> <?php foreach ($addressTypes as $key => $addressType) { ?> <option value="<?php echo esc_attr($key); ?> "><?php echo esc_html($addressType['label']); ?> </option> <?php } ?> </select> <div class="custom_inputs_sub_setting gfield_sub_setting"> <label for="field_address_fields" class="inline"> <?php _e('Address Fields', 'gravityforms'); ?> <?php gform_tooltip('form_field_address_fields'); ?> </label> <div id="field_address_fields_container" style="padding-top:10px;"> <!-- content dynamically created from js.php --> </div> </div> <?php foreach ($addressTypes as $key => $addressType) { $state_label = isset($addressType['state_label']) ? esc_attr($addressType['state_label']) : __('State', 'gravityforms'); ?> <div id="address_type_container_<?php echo esc_attr($key); ?> " class="gfield_sub_setting gfield_address_type_container"> <input type="hidden" id="field_address_country_<?php echo esc_attr($key); ?> " value="<?php echo isset($addressType['country']) ? esc_attr($addressType['country']) : ''; ?> " /> <input type="hidden" id="field_address_zip_label_<?php echo esc_attr($key); ?> " value="<?php echo isset($addressType['zip_label']) ? esc_attr($addressType['zip_label']) : __('Postal Code', 'gravityforms'); ?> " /> <input type="hidden" id="field_address_state_label_<?php echo esc_attr($key); ?> " value="<?php echo $state_label; ?> " /> <input type="hidden" id="field_address_has_states_<?php echo esc_attr($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 esc_attr($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 esc_attr($key); ?> " class="field_address_default_state" onchange="SetAddressProperties();"> <?php echo $gf_address_field->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 $gf_address_field->get_country_dropdown(); ?> </select> <?php } ?> </div> <?php } ?> </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="extended"><?php _e('Extended', 'gravityforms'); ?> </option> <option value="advanced"><?php _e('Advanced', 'gravityforms'); ?> </option> </select> </li> <?php do_action('gform_field_standard_settings', 1125, $form_id); ?> <li class="name_setting field_setting"> <div class="custom_inputs_setting gfield_sub_setting"> <label for="field_name_fields" class="inline"> <?php _e('Name Fields', 'gravityforms'); ?> <?php gform_tooltip('form_field_name_fields'); ?> </label> <div id="field_name_fields_container" style="padding-top:10px;"> <!-- content dynamically created from js.php --> </div> </div> </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> <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> <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" /> <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', 1225, $form_id); ?> <li class="customize_inputs_setting field_setting"> <label for="field_enable_customize_inputs" class="inline"> <?php _e('Customize Fields', 'gravityforms'); ?> </label> <?php gform_tooltip('form_field_customize_inputs'); ?> <div id="field_customize_inputs_container" style="padding-top:10px;"> <!-- content dynamically created from js.php --> </div> </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" /> <div> <small><?php _e('Separated with commas (i.e. jpg, gif, png, pdf)', 'gravityforms'); ?> </small> </div> </li> <?php do_action('gform_field_standard_settings', 1260, $form_id); ?> <li class="multiple_files_setting field_setting"> <input type="checkbox" id="field_multiple_files" onclick="ToggleMultiFile();" /> <label for="field_multiple_files" class="inline"> <?php _e('Enable Multi-File Upload', 'gravityforms'); ?> <?php gform_tooltip('form_field_multiple_files'); ?> </label> <div id="gform_multiple_files_options"> <br /> <div> <label for="field_max_files"> <?php _e('Maximum Number of Files', 'gravityforms'); ?> <?php gform_tooltip('form_field_max_files'); ?> </label> <input type="text" id="field_max_files" size="10" /> </div> <br /> </div> </li> <?php do_action('gform_field_standard_settings', 1267, $form_id); ?> <li class="file_size_setting field_setting"> <label for="field_max_file_size"> <?php _e('Maximum File Size', 'gravityforms'); ?> <?php gform_tooltip('form_field_max_file_size'); ?> </label> <input type="text" id="field_max_file_size" size="10" placeholder="<?php $max_upload_size = wp_max_upload_size() / 1048576; echo $max_upload_size; ?> MB" /> <div> <small><?php echo __(sprintf('Maximum allowed on this server: %sMB', $max_upload_size), '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" /> </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 echo apply_filters('gform_choices_setting_title', __('Choices', 'gravityforms')); ?> <?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&width=600&inlineId=gfield_bulk_add', '');" class="button" /> <div id="gfield_bulk_add" style="display:none;"> <div> <?php $predefined_choices = array(__('Countries', 'gravityforms') => $gf_address_field->get_countries(), __('U.S. States', 'gravityforms') => $gf_address_field->get_us_states(), __('Canadian Province/Territory', 'gravityforms') => $gf_address_field->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 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="javascript:void(0);" 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'); ?> " /> <input type="button" onclick="tb_remove();" class="button" value="<?php _e('Cancel', 'gravityforms'); ?> " /> </div> <div class="panel-custom" style=""> <a href="javascript:void(0);" 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='';"> <a href="javascript:void(0);" onclick="SaveCustomChoices();" class="button" id="bulk_save_button"><?php _e('Save', 'gravityforms'); ?> </a> <a href="javascript:void(0);" onclick="CloseCustomChoicesPanel('slow');" id="bulk_cancel_link"><?php _e('Cancel', 'gravityforms'); ?> </a> <a href="javascript:void(0);" 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 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);jQuery('.field_calculation_rounding').toggle(this.value != 'currency');"> <option value="decimal_dot">9,999.99</option> <option value="decimal_comma">9.999,99</option> <option value="currency"><?php _e('Currency', 'gravityforms'); ?> </option> </select> </li> <?php do_action('gform_field_standard_settings', 1415, $form_id); ?> <li class="sub_labels_setting field_setting"> <label for="field_sub_labels"> <?php _e('Sub-Labels', 'gravityforms'); ?> <?php gform_tooltip('form_field_sub_labels'); ?> </label> <div id="field_sub_labels_container"> <!-- content dynamically created from js.php --> </div> </li> <?php do_action('gform_field_standard_settings', 1425, $form_id); ?> <?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 esc_attr($card['slug']); ?> " value="<?php echo esc_attr($card['slug']); ?> " onclick="SetCardType(this, this.value);" /> <label for="field_credit_card_<?php echo esc_attr($card['slug']); ?> " class="inline"><?php echo esc_html($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" /> <p class="mask_text_description" style="margin:5px 0 0;"> <?php _e('Enter a custom mask', 'gravityforms'); ?> . <a href="javascript:void(0);" onclick="tb_show('<?php _e('Custom Mask Instructions', 'gravityforms'); ?> ', '#TB_inline?width=350&inlineId=custom_mask_instructions', '');"><?php _e('Help', 'gravityforms'); ?> </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 esc_attr($mask_value); ?> "><?php echo esc_html($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" /></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" /> <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" /> <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" class="fieldwidth-3 fieldheight-2"></textarea> <br /> <a href="javascript:void(0)" onclick="var field = GetSelectedField(); alert(IsValidFormula(field.calculationFormula) ? '<?php _e('The formula appears to be valid.', 'gravityforms'); ?> ' : '<?php _e('There appears to be a problem with the formula.', 'gravityforms'); ?> ');"><?php _e('Validate Formula', 'gravityforms'); ?> </a> <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_3"> <ul> <?php do_action('gform_field_appearance_settings', 0, $form_id); ?> <li class="placeholder_setting field_setting"> <label for="field_placeholder"> <?php _e('Placeholder', 'gravityforms'); ?> <?php gform_tooltip('form_field_placeholder'); ?> </label> <input type="text" id="field_placeholder" class="field_placeholder fieldwidth-2 merge-tag-support mt-position-right mt-prepopulate" /> </li> <?php do_action('gform_field_appearance_settings', 20, $form_id); ?> <li class="placeholder_textarea_setting field_setting"> <label for="field_placeholder_textarea"> <?php _e('Placeholder', 'gravityforms'); ?> <?php gform_tooltip('form_field_placeholder'); ?> </label> <textarea id="field_placeholder_textarea" class="field_placeholder fieldwidth-3 merge-tag-support mt-position-right mt-prepopulate"></textarea> </li> <?php do_action('gform_field_appearance_settings', 50, $form_id); ?> <li class="input_placeholders_setting field_setting"> <label> <?php _e('Placeholders', 'gravityforms'); ?> <?php gform_tooltip('form_field_input_placeholders'); ?> </label> <div id="field_input_placeholders_container"> <!-- content dynamically created from js.php --> </div> </li> <?php do_action('gform_field_appearance_settings', 100, $form_id); $label_placement_form_setting = rgar($form, 'labelPlacement'); switch ($label_placement_form_setting) { case 'left_label': $label_placement_form_setting_label = __('Left aligned', 'gravityforms'); break; case 'right_label': $label_placement_form_setting_label = __('Right aligned', 'gravityforms'); break; case 'top_label': default: $label_placement_form_setting_label = __('Top aligned', 'gravityforms'); } $enable_label_visiblity_settings = apply_filters('gform_enable_field_label_visibility_settings', false); $description_placement_form_setting = rgar($form, 'descriptionPlacement'); $description_placement_form_setting_label = $description_placement_form_setting == 'above' ? $description_placement_form_setting_label = __('Above inputs', 'gravityforms') : ($description_placement_form_setting_label = __('Below inputs', 'gravityforms')); ?> <li class="label_placement_setting field_setting"> <?php if ($enable_label_visiblity_settings) { ?> <label for="field_label_placement"> <?php _e('Field Label Visibility', 'gravityforms'); ?> <?php gform_tooltip('form_field_label_placement'); ?> </label> <select id="field_label_placement" onchange="SetFieldLabelPlacement(jQuery(this).val());"> <option value=""><?php printf(__('Visible (%s)', 'gravityforms'), esc_html($label_placement_form_setting_label)); ?> </option> <option value="hidden_label"><?php _e('Hidden', 'gravityforms'); ?> </option> </select> <?php } ?> <div id="field_description_placement_container" style="display:none; padding-top:10px;"> <label for="field_description_placement"> <?php _e('Description Placement', 'gravityforms'); ?> <?php gform_tooltip('form_field_description_placement'); ?> </label> <select id="field_description_placement" onchange="SetFieldDescriptionPlacement(jQuery(this).val());"> <option value=""><?php printf(__('Use Form Setting (%s)', 'gravityforms'), esc_html($description_placement_form_setting_label)); ?> </option> <option value="below"><?php _e('Below inputs', 'gravityforms'); ?> </option> <option value="above"><?php _e('Above inputs', 'gravityforms'); ?> </option> </select> </div> </li> <?php do_action('gform_field_appearance_settings', 150, $form_id); $sub_label_placement_form_setting = rgar($form, 'subLabelPlacement'); $sub_label_placement_form_setting_label = $sub_label_placement_form_setting == 'above' ? $sub_label_placement_form_setting_label = __('Above inputs', 'gravityforms') : ($sub_label_placement_form_setting_label = __('Below inputs', 'gravityforms')); ?> <li class="sub_label_placement_setting field_setting"> <label for="field_sub_label_placement"> <?php _e('Sub-Label Placement', 'gravityforms'); ?> <?php gform_tooltip('form_field_sub_label_placement'); ?> </label> <select id="field_sub_label_placement" onchange="SetFieldSubLabelPlacement(jQuery(this).val());"> <option value=""><?php printf(__('Use Form Setting (%s)', 'gravityforms'), esc_html($sub_label_placement_form_setting_label)); ?> </option> <option value="below"><?php _e('Below inputs', 'gravityforms'); ?> </option> <option value="above"><?php _e('Above inputs', 'gravityforms'); ?> </option> <?php if ($enable_label_visiblity_settings) { ?> <option value="hidden_label"><?php _e('Hidden', 'gravityforms'); ?> </option> <?php } ?> </select> </li> <?php do_action('gform_field_appearance_settings', 200, $form_id); ?> <li class="error_message_setting field_setting"> <label for="field_error_message"> <?php _e('Custom Validation Message', 'gravityforms'); ?> <?php gform_tooltip('form_field_validation_message'); ?> </label> <input type="text" id="field_error_message" class="fieldwidth-2" /> </li> <?php do_action('gform_field_appearance_settings', 250, $form_id); ?> <li class="css_class_setting field_setting"> <label for="field_css_class"> <?php _e('Custom CSS Class', 'gravityforms'); ?> <?php gform_tooltip('form_field_css_class'); ?> </label> <input type="text" id="field_css_class" size="30" /> </li> <?php do_action('gform_field_appearance_settings', 300, $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> <?php do_action('gform_field_appearance_settings', 400, $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> </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 Field Label', 'gravityforms'); ?> <?php gform_tooltip('form_field_admin_label'); ?> </label> <input type="text" id="field_admin_label" size="35" /> </li> <?php do_action('gform_field_advanced_settings', 25, $form_id); do_action('gform_field_advanced_settings', 35, $form_id); do_action('gform_field_advanced_settings', 50, $form_id); do_action('gform_field_advanced_settings', 100, $form_id); do_action('gform_field_advanced_settings', 125, $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> <input type="text" id="field_default_value" class="field_default_value fieldwidth-2 merge-tag-support mt-position-right mt-prepopulate" /> </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" class="field_default_value fieldwidth-3 merge-tag-support mt-position-right mt-prepopulate"></textarea> </li> <?php do_action('gform_field_advanced_settings', 155, $form_id); ?> <li class="name_prefix_choices_setting field_setting" style="display:none;"> <?php _e('Prefix Choices', 'gravityforms'); ?> <?php gform_tooltip('form_field_name_prefix_choices'); ?> <br /> <div id="gfield_settings_prefix_input_choices_container" class="gfield_settings_input_choices_container"> <label class="gfield_choice_header_label"><?php _e('Label', 'gravityforms'); ?> </label><label class="gfield_choice_header_value"><?php _e('Value', 'gravityforms'); ?> </label> <ul id="field_prefix_choices" class="field_input_choices"> <!-- content dynamically created from js.php --> </ul> </div> </li> <?php do_action('gform_field_advanced_settings', 175, $form_id); ?> <li class="default_input_values_setting field_setting"> <label> <?php _e('Default Values', 'gravityforms'); ?> <?php gform_tooltip('form_field_default_input_values'); ?> </label> <div id="field_default_input_values_container"> <!-- content dynamically created from js.php --> </div> </li> <?php do_action('gform_field_advanced_settings', 185, $form_id); ?> <li class="copy_values_option field_setting"> <input type="checkbox" id="field_enable_copy_values_option" /> <label for="field_enable_copy_values_option" class="inline"> <?php _e('Display option to use the values submitted in different field', 'gravityforms'); ?> <?php gform_tooltip('form_field_enable_copy_values_option'); ?> </label> <div id="field_copy_values_disabled" style="display:none;padding-top: 10px;"> <span class="instruction" style="margin-left:0"> <?php _e('To activate this option, please add a field to be used as the source.', 'gravityforms'); ?> <?php gform_tooltip('form_field_enable_copy_values_disabled'); ?> </span> </div> <div id="field_copy_values_container" style="display:none;" class="gfield_sub_setting"> <label for="field_copy_values_option_label"> <?php _e('Option Label', 'gravityforms'); ?> <?php gform_tooltip('form_field_copy_values_option_label'); ?> </label> <input id="field_copy_values_option_label" type="text" class="fieldwidth-2" /> <label for="field_copy_values_option_field" style="padding-top: 10px;"> <?php _e('Source Field', 'gravityforms'); ?> <?php gform_tooltip('form_field_copy_values_option_field'); ?> </label> <select id="field_copy_values_option_field"> <!-- content dynamically created --> </select> <div style="padding-top: 10px;"> <input type="checkbox" id="field_copy_values_option_default" /> <label for="field_copy_values_option_default" class="inline"> <?php _e('Activated by default', 'gravityforms'); ?> <?php gform_tooltip('form_field_copy_values_option_default'); ?> </label> </div> </div> </li> <?php do_action('gform_field_advanced_settings', 200, $form_id); 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 esc_attr($card['slug']); ?> " value="<?php echo esc_attr($card['slug']); ?> " onclick="SetCardType(this, this.value);" /> <label for="field_credit_card_<?php echo esc_attr($card['slug']); ?> " class="inline"><?php echo esc_html($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); 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" /> </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" /> </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> <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'); ?> <?php 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'); ?> <?php 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'); ?> <?php 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'); ?> <?php 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', 'data-type' => 'text', 'value' => GFCommon::get_field_type_title('text')), array('class' => 'button', 'data-type' => 'textarea', 'value' => GFCommon::get_field_type_title('textarea')), array('class' => 'button', 'data-type' => 'select', 'value' => GFCommon::get_field_type_title('select')), array('class' => 'button', 'data-type' => 'multiselect', 'value' => GFCommon::get_field_type_title('multiselect')), array('class' => 'button', 'data-type' => 'number', 'value' => GFCommon::get_field_type_title('number')), array('class' => 'button', 'data-type' => 'checkbox', 'value' => GFCommon::get_field_type_title('checkbox')), array('class' => 'button', 'data-type' => 'radio', 'value' => GFCommon::get_field_type_title('radio')), array('class' => 'button', 'data-type' => 'hidden', 'value' => GFCommon::get_field_type_title('hidden')), array('class' => 'button', 'data-type' => 'html', 'value' => GFCommon::get_field_type_title('html')), array('class' => 'button', 'data-type' => 'section', 'value' => GFCommon::get_field_type_title('section')), array('class' => 'button', 'data-type' => 'page', 'value' => GFCommon::get_field_type_title('page'))); $advanced_fields = array(array('class' => 'button', 'data-type' => 'name', 'value' => GFCommon::get_field_type_title('name')), array('class' => 'button', 'data-type' => 'date', 'value' => GFCommon::get_field_type_title('date')), array('class' => 'button', 'data-type' => 'time', 'value' => GFCommon::get_field_type_title('time')), array('class' => 'button', 'data-type' => 'phone', 'value' => GFCommon::get_field_type_title('phone')), array('class' => 'button', 'data-type' => 'address', 'value' => GFCommon::get_field_type_title('address')), array('class' => 'button', 'data-type' => 'website', 'value' => GFCommon::get_field_type_title('website')), array('class' => 'button', 'data-type' => 'email', 'value' => GFCommon::get_field_type_title('email'))); if (apply_filters('gform_enable_password_field', false)) { $advanced_fields[] = array('class' => 'button', 'data-type' => 'password', 'value' => GFCommon::get_field_type_title('password')); } $advanced_fields[] = array('class' => 'button', 'data-type' => 'fileupload', 'value' => GFCommon::get_field_type_title('fileupload')); $advanced_fields[] = array('class' => 'button', 'data-type' => 'captcha', 'value' => GFCommon::get_field_type_title('captcha')); $advanced_fields[] = array('class' => 'button', 'data-type' => 'list', 'value' => GFCommon::get_field_type_title('list')); $post_fields = array(array('class' => 'button', 'data-type' => 'post_title', 'value' => GFCommon::get_field_type_title('post_title')), array('class' => 'button', 'data-type' => 'post_content', 'value' => GFCommon::get_field_type_title('post_content')), array('class' => 'button', 'data-type' => 'post_excerpt', 'value' => GFCommon::get_field_type_title('post_excerpt')), array('class' => 'button', 'data-type' => 'post_tags', 'value' => GFCommon::get_field_type_title('post_tags')), array('class' => 'button', 'data-type' => 'post_category', 'value' => GFCommon::get_field_type_title('post_category')), array('class' => 'button', 'data-type' => 'post_image', 'value' => GFCommon::get_field_type_title('post_image')), array('class' => 'button', 'data-type' => 'post_custom_field', 'value' => GFCommon::get_field_type_title('post_custom_field'))); $pricing_fields = array(array('class' => 'button', 'data-type' => 'product', 'value' => GFCommon::get_field_type_title('product')), array('class' => 'button', 'data-type' => 'quantity', 'value' => GFCommon::get_field_type_title('quantity')), array('class' => 'button', 'data-type' => 'option', 'value' => GFCommon::get_field_type_title('option')), array('class' => 'button', 'data-type' => 'shipping', 'value' => GFCommon::get_field_type_title('shipping')), array('class' => 'button', 'data-type' => 'total', 'value' => GFCommon::get_field_type_title('total'))); if (apply_filters('gform_enable_credit_card_field', false)) { $pricing_fields[] = array('class' => 'button', 'data-type' => 'creditcard', 'value' => GFCommon::get_field_type_title('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); foreach (GF_Fields::get_all() as $gf_field) { $field_groups = $gf_field->add_button($field_groups); } $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 esc_attr($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 esc_html($group['label']); ?> <?php gform_tooltip("form_{$group['name']}", $tooltip_class); ?> </div> </div> <ul> <li class="add-buttons"> <ol class="field_type"> <?php 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')) { $trash_link = '<a class="submitdelete" title="' . __('Move this form to the trash', 'gravityforms') . '" onclick="if(confirm(\'' . __("Would you like to move this form to the trash? \\'Cancel\\' to stop. \\'OK\\' to continue", 'gravityforms') . '\')){ gf_vars.isFormTrash = true; jQuery(\'#form_trash\')[0].submit();} else{return false;}">' . __('Move to Trash', 'gravityforms') . '</a>'; $trash_link = apply_filters('gform_form_delete_link', $trash_link); // deprecated echo apply_filters('gform_form_trash_link', $trash_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-large button-primary 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;"><i class='gficon-gravityforms-spinner-icon gficon-spin'></i></span> <div class="updated_base" id="after_update_dialog" style="display:none;"> <strong><?php _e('Form updated successfully.', 'gravityforms'); ?> <a title="<?php _e('Preview this form', 'gravityforms'); ?> " href="<?php echo trailingslashit(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> <!-- this field allows us to force onblur events for field setting inputs that are otherwise not triggered when closing the field settings UI --> <input type="text" id="gform_force_focus" style="position:absolute;left:-9999em;" /> <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> <!-- // including form setting hooks as a temporary fix to prevent issues where users using the "gform_before_update" hook are expecting form settings to be included on the form editor page --> <div style="display:none;"> <!--form settings--> <?php do_action('gform_properties_settings', 100, $form_id); ?> <?php do_action('gform_properties_settings', 200, $form_id); ?> <?php do_action('gform_properties_settings', 300, $form_id); ?> <?php do_action('gform_properties_settings', 400, $form_id); ?> <?php do_action('gform_properties_settings', 500, $form_id); ?> <!--advanced settings--> <?php do_action('gform_advanced_settings', 100, $form_id); ?> <?php do_action('gform_advanced_settings', 200, $form_id); ?> <?php do_action('gform_advanced_settings', 300, $form_id); ?> <?php do_action('gform_advanced_settings', 400, $form_id); ?> <?php do_action('gform_advanced_settings', 500, $form_id); ?> <?php do_action('gform_advanced_settings', 600, $form_id); ?> <?php do_action('gform_advanced_settings', 700, $form_id); ?> <?php do_action('gform_advanced_settings', 800, $form_id); ?> </div> <?php self::inline_scripts($form); require_once GFCommon::get_base_path() . '/js.php'; }
public static function select_export_form() { check_ajax_referer("rg_select_export_form", "rg_select_export_form"); $form_id = intval($_POST["form_id"]); $form = RGFormsModel::get_form_meta($form_id); $fields = array(); $form = GFExport::add_default_export_fields($form); if (is_array($form["fields"])) { foreach ($form["fields"] as $field) { if (is_array(rgar($field, "inputs"))) { foreach ($field["inputs"] as $input) { $fields[] = array($input["id"], GFCommon::get_label($field, $input["id"])); } } else { if (!rgar($field, "displayOnly")) { $fields[] = array($field["id"], GFCommon::get_label($field)); } } } } $field_json = GFCommon::json_encode($fields); die("EndSelectExportForm({$field_json});"); }
public static function select_export_form() { check_ajax_referer('rg_select_export_form', 'rg_select_export_form'); $form_id = intval($_POST['form_id']); $form = RGFormsModel::get_form_meta($form_id); /** * Filters through the Form Export Page * * @param int $form_id The ID of the form to export * @param int $form The Form Object of the form to export */ $form = gf_apply_filters('gform_form_export_page', $form_id, $form); $filter_settings = GFCommon::get_field_filter_settings($form); $filter_settings_json = json_encode($filter_settings); $fields = array(); $form = GFExport::add_default_export_fields($form); if (is_array($form['fields'])) { /* @var GF_Field $field */ foreach ($form['fields'] as $field) { $inputs = $field->get_entry_inputs(); if (is_array($inputs)) { foreach ($inputs as $input) { $fields[] = array($input['id'], GFCommon::get_label($field, $input['id'])); } } else { if (!$field->displayOnly) { $fields[] = array($field->id, GFCommon::get_label($field)); } } } } $field_json = GFCommon::json_encode($fields); die("EndSelectExportForm({$field_json}, {$filter_settings_json});"); }
public static function confirmations_edit_page($form_id, $confirmation_id) { $form = apply_filters("gform_admin_pre_render_{$form_id}", apply_filters("gform_admin_pre_render", GFFormsModel::get_form_meta($form_id))); $duplicated_cid = rgget("duplicatedcid"); $is_duplicate = empty($_POST) && !empty($duplicated_cid); if ($is_duplicate) { $confirmation_id = $duplicated_cid; } $confirmation = self::handle_confirmation_edit_submission(rgar($form["confirmations"], $confirmation_id), $form); if ($is_duplicate) { $count = 2; $name = $confirmation["name"]; $new_name = $name . " - Copy 1"; while (!self::is_unique_name($new_name, $form['confirmations'])) { $new_name = $name . " - Copy {$count}"; $count++; } $confirmation["name"] = $new_name; $confirmation["id"] = "new"; if ($confirmation["isDefault"]) { $confirmation["isDefault"] = false; $confirmation["conditionalLogic"] = ""; } } $confirmation_ui_settings = self::get_confirmation_ui_settings($confirmation); $entry_meta = GFFormsModel::get_entry_meta($form_id); $entry_meta = apply_filters("gform_entry_meta_conditional_logic_confirmations", $entry_meta, $form, $confirmation_id); self::page_header(__('Confirmations', 'gravityforms')); ?> <script type="text/javascript"> var confirmation = <?php echo $confirmation ? json_encode($confirmation) : 'new ConfirmationObj()'; ?> ; var form = <?php echo json_encode($form); ?> ; var entry_meta = <?php echo GFCommon::json_encode($entry_meta); ?> ; jQuery(document).ready(function($){ SetConfirmationConditionalLogic(); <?php if (!rgar($confirmation, 'isDefault')) { ?> ToggleConditionalLogic(true, 'confirmation'); <?php } ?> ToggleConfirmation(); <?php if ($is_duplicate) { ?> $('#confirmation_conditional_logic_container').pointer({ content: '<h3><?php _e("Important", "gravityforms"); ?> </h3><p><?php _e("Ensure that the conditional logic for this confirmation is different from all the other confirmations for this form and then press save to create the new confirmation.", "gravityforms"); ?> </p>', position: { edge: 'bottom', // arrow direction align: 'center' // vertical alignment }, pointerWidth: 300 }).pointer('open'); <?php } ?> }); </script> <style type="text/css"> #confirmation_action_type { display: none; } </style> <div id="confirmation-editor"> <form id="confirmation_edit_form" method="post"> <table class="form-table gforms_form_settings"> <?php array_map(array(__CLASS__, 'output'), $confirmation_ui_settings); ?> </table> <?php //DEPRECATED SINCE 1.7 - use gform_confirmation_ui_settings instead do_action("gform_confirmation_settings", 100, $form_id); do_action("gform_confirmation_settings", 200, $form_id); ?> <input type="hidden" id="confirmation_id" name="confirmation_id" value="<?php echo $confirmation_id; ?> " /> <input type="hidden" id="form_id" name="form_id" value="<?php echo $form_id; ?> " /> <input type="hidden" id="is_default" name="is_default" value="<?php echo rgget("isDefault", $confirmation); ?> " /> <input type="hidden" id="conditional_logic" name="conditional_logic" value="<?php echo htmlentities(json_encode(rgget('conditionalLogic', $confirmation))); ?> " /> <p class="submit"> <input type="submit" name="save" value="<?php _e('Save Confirmation', 'gravityforms'); ?> " onclick="StashConditionalLogic(event);" class="button-primary"> </p> <?php wp_nonce_field('gform_confirmation_edit', 'gform_confirmation_edit'); ?> </form> </div> <!-- / confirmation-editor --> <?php self::page_footer(); }