public static function leads_page($form_id) { global $wpdb; //quit if version of wp is not supported if (!GFCommon::ensure_wp_version()) { return; } $form_id = absint($form_id); echo GFCommon::get_remote_message(); $action = RGForms::post('action'); $filter = rgget('filter'); $search = stripslashes(rgget('s')); $page_index = empty($_GET['paged']) ? 0 : intval($_GET['paged']) - 1; $star = $filter == 'star' ? 1 : null; $read = $filter == 'unread' ? 0 : null; $status = in_array($filter, array('trash', 'spam')) ? $filter : 'active'; $form = RGFormsModel::get_form_meta($form_id); $search_criteria['status'] = $status; if ($star) { $search_criteria['field_filters'][] = array('key' => 'is_starred', 'value' => (bool) $star); } if (!is_null($read)) { $search_criteria['field_filters'][] = array('key' => 'is_read', 'value' => (bool) $read); } $search_field_id = rgget('field_id'); $search_operator = rgget('operator'); if (isset($_GET['field_id']) && $_GET['field_id'] !== '') { $key = $search_field_id; $val = stripslashes(rgget('s')); $strpos_row_key = strpos($search_field_id, '|'); if ($strpos_row_key !== false) { //multi-row likert $key_array = explode('|', $search_field_id); $key = $key_array[0]; $val = $key_array[1] . ':' . $val; } if ('entry_id' == $key) { $key = 'id'; } $filter_operator = empty($search_operator) ? 'is' : $search_operator; $field = GFFormsModel::get_field($form, $key); if ($field) { $input_type = GFFormsModel::get_input_type($field); if ($field->type == 'product' && in_array($input_type, array('radio', 'select'))) { $filter_operator = 'contains'; } } $search_criteria['field_filters'][] = array('key' => $key, 'operator' => $filter_operator, 'value' => $val); } $update_message = ''; switch ($action) { case 'delete': check_admin_referer('gforms_entry_list', 'gforms_entry_list'); $lead_id = $_POST['action_argument']; if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { RGFormsModel::delete_lead($lead_id); $update_message = esc_html__('Entry deleted.', 'gravityforms'); } else { $update_message = esc_html__("You don't have adequate permission to delete entries.", 'gravityforms'); } break; case 'bulk': check_admin_referer('gforms_entry_list', 'gforms_entry_list'); $bulk_action = !empty($_POST['bulk_action']) ? $_POST['bulk_action'] : $_POST['bulk_action2']; $select_all = rgpost('all_entries'); $leads = empty($select_all) ? $_POST['lead'] : GFFormsModel::search_lead_ids($form_id, $search_criteria); $entry_count = count($leads) > 1 ? sprintf(esc_html__('%d entries', 'gravityforms'), count($leads)) : esc_html__('1 entry', 'gravityforms'); switch ($bulk_action) { case 'delete': if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { RGFormsModel::delete_leads($leads); $update_message = sprintf(esc_html__('%s deleted.', 'gravityforms'), $entry_count); } else { $update_message = esc_html__("You don't have adequate permission to delete entries.", 'gravityforms'); } break; case 'trash': RGFormsModel::update_leads_property($leads, 'status', 'trash'); $update_message = sprintf(esc_html__('%s moved to Trash.', 'gravityforms'), $entry_count); break; case 'restore': RGFormsModel::update_leads_property($leads, 'status', 'active'); $update_message = sprintf(esc_html__('%s restored from the Trash.', 'gravityforms'), $entry_count); break; case 'unspam': RGFormsModel::update_leads_property($leads, 'status', 'active'); $update_message = sprintf(esc_html__('%s restored from the spam.', 'gravityforms'), $entry_count); break; case 'spam': RGFormsModel::update_leads_property($leads, 'status', 'spam'); $update_message = sprintf(esc_html__('%s marked as spam.', 'gravityforms'), $entry_count); break; case 'mark_read': RGFormsModel::update_leads_property($leads, 'is_read', 1); $update_message = sprintf(esc_html__('%s marked as read.', 'gravityforms'), $entry_count); break; case 'mark_unread': RGFormsModel::update_leads_property($leads, 'is_read', 0); $update_message = sprintf(esc_html__('%s marked as unread.', 'gravityforms'), $entry_count); break; case 'add_star': RGFormsModel::update_leads_property($leads, 'is_starred', 1); $update_message = sprintf(esc_html__('%s starred.', 'gravityforms'), $entry_count); break; case 'remove_star': RGFormsModel::update_leads_property($leads, 'is_starred', 0); $update_message = sprintf(esc_html__('%s unstarred.', 'gravityforms'), $entry_count); break; } break; case 'change_columns': check_admin_referer('gforms_entry_list', 'gforms_entry_list'); $columns = GFCommon::json_decode(stripslashes($_POST['grid_columns']), true); RGFormsModel::update_grid_column_meta($form_id, $columns); break; } if (rgpost('button_delete_permanently')) { if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { RGFormsModel::delete_leads_by_form($form_id, $filter); } } $sort_field = empty($_GET['sort']) ? 0 : $_GET['sort']; $sort_direction = empty($_GET['dir']) ? 'DESC' : $_GET['dir']; $sort_field_meta = RGFormsModel::get_field($form, $sort_field); $is_numeric = $sort_field_meta['type'] == 'number'; $page_size = gf_apply_filters('gform_entry_page_size', $form_id, 20, $form_id); $first_item_index = $page_index * $page_size; if (!empty($sort_field)) { $sorting = array('key' => $_GET['sort'], 'direction' => $sort_direction, 'is_numeric' => $is_numeric); } else { $sorting = array(); } $paging = array('offset' => $first_item_index, 'page_size' => $page_size); $total_count = 0; $leads = GFAPI::get_entries($form_id, $search_criteria, $sorting, $paging, $total_count); $summary = RGFormsModel::get_form_counts($form_id); $active_lead_count = $summary['total']; $unread_count = $summary['unread']; $starred_count = $summary['starred']; $spam_count = $summary['spam']; $trash_count = $summary['trash']; $columns = RGFormsModel::get_grid_columns($form_id, true); $search_qs = empty($search) ? '' : '&s=' . esc_attr(urlencode($search)); $sort_qs = empty($sort_field) ? '' : '&sort=' . esc_attr($sort_field); $dir_qs = empty($sort_direction) ? '' : '&dir=' . esc_attr($sort_direction); $star_qs = $star !== null ? '&star=' . esc_attr($star) : ''; $read_qs = $read !== null ? '&read=' . esc_attr($read) : ''; $filter_qs = '&filter=' . esc_attr($filter); $search_field_id_qs = !isset($_GET['field_id']) ? '' : '&field_id=' . esc_attr($search_field_id); $search_operator_urlencoded = urlencode($search_operator); $search_operator_qs = empty($search_operator_urlencoded) ? '' : '&operator=' . esc_attr($search_operator_urlencoded); $display_total = ceil($total_count / $page_size); $page_links = paginate_links(array('base' => admin_url('admin.php') . "?page=gf_entries&view=entries&id={$form_id}&%_%" . $search_qs . $sort_qs . $dir_qs . $star_qs . $read_qs . $filter_qs . $search_field_id_qs . $search_operator_qs, 'format' => 'paged=%#%', 'prev_text' => esc_html__('«', 'gravityforms'), 'next_text' => esc_html__('»', 'gravityforms'), 'total' => $display_total, 'current' => $page_index + 1, 'show_all' => false)); wp_print_styles(array('thickbox')); $field_filters = GFCommon::get_field_filter_settings($form); $init_field_id = empty($search_field_id) ? 0 : $search_field_id; $init_field_operator = empty($search_operator) ? 'contains' : $search_operator; $init_filter_vars = array('mode' => 'off', 'filters' => array(array('field' => $init_field_id, 'operator' => $init_field_operator, 'value' => $search))); $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG || isset($_GET['gform_debug']) ? '' : '.min'; ?> <script type="text/javascript"> var messageTimeout = false, gformFieldFilters = <?php echo json_encode($field_filters); ?> , gformInitFilter = <?php echo json_encode($init_filter_vars); ?> function ChangeColumns(columns) { jQuery("#action").val("change_columns"); jQuery("#grid_columns").val(jQuery.toJSON(columns)); tb_remove(); jQuery("#lead_form")[0].submit(); } function Search(sort_field_id, sort_direction, form_id, search, star, read, filter, field_id, operator) { var search_qs = search == "" ? "" : "&s=" + encodeURIComponent(search); var star_qs = star == "" ? "" : "&star=" + star; var read_qs = read == "" ? "" : "&read=" + read; var filter_qs = filter == "" ? "" : "&filter=" + filter; var field_id_qs = field_id == "" ? "" : "&field_id=" + field_id; var operator_qs = operator == "" ? "" : "&operator=" + operator; var location = "?page=gf_entries&view=entries&id=" + form_id + "&sort=" + sort_field_id + "&dir=" + sort_direction + search_qs + star_qs + read_qs + filter_qs + field_id_qs + operator_qs; document.location = location; } function ToggleStar(img, lead_id, filter) { var is_starred = img.src.indexOf("star1.png") >= 0; if (is_starred) img.src = img.src.replace("star1.png", "star0.png"); else img.src = img.src.replace("star0.png", "star1.png"); jQuery("#lead_row_" + lead_id).toggleClass("lead_starred"); //if viewing the starred entries, hide the row and adjust the paging counts if (filter == "star") { var title = jQuery("#lead_row_" + lead_id); title.css("display", 'none'); UpdatePagingCounts(1); } UpdateCount("star_count", is_starred ? -1 : 1); UpdateLeadProperty(lead_id, "is_starred", is_starred ? 0 : 1); } function ToggleRead(lead_id, filter) { var title = jQuery("#lead_row_" + lead_id); var marking_read = title.hasClass("lead_unread"); jQuery("#mark_read_" + lead_id).css("display", marking_read ? "none" : "inline"); jQuery("#mark_unread_" + lead_id).css("display", marking_read ? "inline" : "none"); jQuery("#is_unread_" + lead_id).css("display", marking_read ? "inline" : "none"); title.toggleClass("lead_unread"); //if viewing the unread entries, hide the row and adjust the paging counts if (filter == "unread") { title.css("display", "none"); UpdatePagingCounts(1); } UpdateCount("unread_count", marking_read ? -1 : 1); UpdateLeadProperty(lead_id, "is_read", marking_read ? 1 : 0); } function UpdateLeadProperty(lead_id, name, value) { var mysack = new sack("<?php echo admin_url('admin-ajax.php'); ?> "); mysack.execute = 1; mysack.method = 'POST'; mysack.setVar("action", "rg_update_lead_property"); mysack.setVar("rg_update_lead_property", "<?php echo wp_create_nonce('rg_update_lead_property'); ?> "); mysack.setVar("lead_id", lead_id); mysack.setVar("name", name); mysack.setVar("value", value); mysack.onError = function () { alert(<?php echo json_encode(__('Ajax error while setting lead property', 'gravityforms')); ?> ) }; mysack.runAJAX(); return true; } function UpdateCount(element_id, change) { var element = jQuery("#" + element_id); var count = parseInt(element.html()) + change element.html(count + ""); } function UpdatePagingCounts(change) { //update paging header/footer Displaying # - # of #, use counts from header, no need to use footer since they are the same, just update footer paging with header info var paging_range_max_header = jQuery("#paging_range_max_header"); var paging_range_max_footer = jQuery("#paging_range_max_footer"); var range_change_max = parseInt(paging_range_max_header.html()) - change; var paging_total_header = jQuery("#paging_total_header"); var paging_total_footer = jQuery("#paging_total_footer"); var total_change = parseInt(paging_total_header.html()) - change; var paging_range_min_header = jQuery("#paging_range_min_header"); var paging_range_min_footer = jQuery("#paging_range_min_footer"); //if min and max are the same, this is the last entry item on the page, clear out the displaying # - # of # text if (parseInt(paging_range_min_header.html()) == parseInt(paging_range_max_header.html())) { var paging_header = jQuery("#paging_header"); paging_header.html(""); var paging_footer = jQuery("#paging_footer"); paging_footer.html(""); } else { paging_range_max_header.html(range_change_max + ""); paging_range_max_footer.html(range_change_max + ""); paging_total_header.html(total_change + ""); paging_total_footer.html(total_change + ""); } gformVars.countAllEntries = gformVars.countAllEntries - change; setSelectAllText(); } function DeleteLead(lead_id) { jQuery("#action").val("delete"); jQuery("#action_argument").val(lead_id); jQuery("#lead_form")[0].submit(); return true; } function handleBulkApply(actionElement) { var action = jQuery("#" + actionElement).val(); var defaultModalOptions = ''; var leadIds = getLeadIds(); if (leadIds.length == 0) { alert(<?php echo json_encode(__('Please select at least one entry.', 'gravityforms')); ?> ); return false; } switch (action) { case 'resend_notifications': resetResendNotificationsUI(); tb_show(<?php echo json_encode(esc_html__('Resend Notifications', 'gravityforms')); ?> , '#TB_inline?width=350&inlineId=notifications_modal_container', ''); return false; break; case 'print': resetPrintUI(); tb_show(<?php echo json_encode(esc_html__('Print Entries', 'gravityforms')); ?> , '#TB_inline?width=350&height=250&inlineId=print_modal_container', ''); return false; break; default: jQuery('#action').val('bulk'); } } function getLeadIds() { var all = jQuery("#all_entries").val(); //compare string, the boolean isn't correct, even when casting to a boolean the 0 is set to true if (all == "1") return 0; var leads = jQuery(".check-column input[name='lead[]']:checked"); var leadIds = new Array(); jQuery(leads).each(function (i) { leadIds[i] = jQuery(leads[i]).val(); }); return leadIds; } function BulkResendNotifications() { var selectedNotifications = new Array(); jQuery(".gform_notifications:checked").each(function () { selectedNotifications.push(jQuery(this).val()); }); var leadIds = getLeadIds(); var sendTo = jQuery('#notification_override_email').val(); if (selectedNotifications.length <= 0) { displayMessage(<?php echo json_encode(esc_html__('You must select at least one type of notification to resend.', 'gravityforms')); ?> , "error", "#notifications_container"); return; } jQuery('#please_wait_container').fadeIn(); jQuery.post(ajaxurl, { action : "gf_resend_notifications", gf_resend_notifications: '<?php echo wp_create_nonce('gf_resend_notifications'); ?> ', notifications : jQuery.toJSON(selectedNotifications), sendTo : sendTo, leadIds : leadIds, filter : <?php echo json_encode(rgget('filter')); ?> , search : <?php echo json_encode(rgget('s')); ?> , operator : <?php echo json_encode(rgget('operator')); ?> , fieldId : <?php echo json_encode(rgget('field_id')); ?> , formId : <?php echo json_encode($form['id']); ?> }, function (response) { jQuery('#please_wait_container').hide(); if (response) { displayMessage(response, 'error', '#notifications_container'); } else { var message = <?php echo json_encode(__('Notifications for %s were resent successfully.', 'gravityforms')); ?> ; var c = leadIds == 0 ? gformVars.countAllEntries : leadIds.length; displayMessage(message.replace('%s', c + ' ' + getPlural(c, <?php echo json_encode(__('entry', 'gravityforms')); ?> , <?php echo json_encode(__('entries', 'gravityforms')); ?> )), "updated", "#lead_form"); closeModal(true); } } ); } function resetResendNotificationsUI() { jQuery(".gform_notifications").attr('checked', false); jQuery('#notifications_container .message, #notifications_override_settings').hide(); } function BulkPrint() { var leadIds = getLeadIds(); if (leadIds != 0) leadIds = leadIds.join(','); var leadsQS = '&lid=' + leadIds; var notesQS = jQuery('#gform_print_notes').is(':checked') ? '¬es=1' : ''; var pageBreakQS = jQuery('#gform_print_page_break').is(':checked') ? '&page_break=1' : ''; var filterQS = '&filter=' + <?php echo json_encode(rgget('filter')); ?> ; var searchQS = '&s=' + <?php echo json_encode(rgget('s')); ?> ; var searchFieldIdQS = '&field_id=' + <?php echo json_encode(rgget('field_id')); ?> ; var searchOperatorQS = '&operator=' + <?php echo json_encode(rgget('operator')); ?> ; var url = '<?php echo trailingslashit(site_url()); ?> ?gf_page=print-entry&fid=<?php echo absint($form['id']); ?> ' + leadsQS + notesQS + pageBreakQS + filterQS + searchQS + searchFieldIdQS + searchOperatorQS; window.open(url, 'printwindow'); closeModal(true); hideMessage('#lead_form', false); } function resetPrintUI() { jQuery('#print_options input[type="checkbox"]').attr('checked', false); } function displayMessage(message, messageClass, container) { hideMessage(container, true); var messageBox = jQuery('<div class="message ' + messageClass + '" style="display:none;"><p>' + message + '</p></div>'); jQuery(messageBox).prependTo(container).slideDown(); if (messageClass == 'updated') messageTimeout = setTimeout(function () { hideMessage(container, false); }, 10000); } function hideMessage(container, messageQueued) { if (messageTimeout) clearTimeout(messageTimeout); var messageBox = jQuery(container).find('.message'); if (messageQueued) jQuery(messageBox).remove(); else jQuery(messageBox).slideUp(function () { jQuery(this).remove(); }); } function closeModal(isSuccess) { if (isSuccess) jQuery('.check-column input[type="checkbox"]').attr('checked', false); tb_remove(); } function getPlural(count, singular, plural) { return count > 1 ? plural : singular; } function toggleNotificationOverride(isInit) { if (isInit) jQuery('#notification_override_email').val(''); if (jQuery(".gform_notifications:checked").length > 0) { jQuery('#notifications_override_settings').slideDown(); } else { jQuery('#notifications_override_settings').slideUp(function () { jQuery('#notification_override_email').val(''); }); } } // Select All var gformStrings = { "allEntriesOnPageAreSelected": <?php echo json_encode(sprintf(esc_html__('All %s{0}%s entries on this page are selected.', 'gravityforms'), '<strong>', '</strong>')); ?> , "selectAll" : <?php echo json_encode(sprintf(esc_html__('Select all %s{0}%s entries.', 'gravityforms'), '<strong>', '</strong>')); ?> , "allEntriesSelected" : <?php echo json_encode(sprintf(esc_html__('All %s{0}%s entries have been selected.', 'gravityforms'), '<strong>', '</strong>')); ?> , "clearSelection" : <?php echo json_encode(__('Clear selection', 'gravityforms')); ?> } var gformVars = { "countAllEntries": <?php echo intval($total_count); ?> , "perPage" : <?php echo intval($page_size); ?> } function setSelectAllText() { var tr = getSelectAllText(); jQuery("#gform-select-all-message td").html(tr); } function getSelectAllText() { var count; count = jQuery("#gf_entry_list tr:visible:not('#gform-select-all-message')").length; return gformStrings.allEntriesOnPageAreSelected.format(count) + " <a href='javascript:void(0)' onclick='selectAllEntriesOnAllPages();'>" + gformStrings.selectAll.format(gformVars.countAllEntries) + "</a>"; } function getSelectAllTr() { var t = getSelectAllText(); var colspan = jQuery("#gf_entry_list").find("tr:first td").length + 1; return "<tr id='gform-select-all-message' style='display:none;background-color:lightyellow;text-align:center;'><td colspan='{0}'>{1}</td></tr>".format(colspan, t); } function toggleSelectAll(visible) { if (gformVars.countAllEntries <= gformVars.perPage) { jQuery('#gform-select-all-message').hide(); return; } if (visible) setSelectAllText(); jQuery('#gform-select-all-message').toggle(visible); } function clearSelectAllEntries() { jQuery(".check-column input[type=checkbox]").prop('checked', false); clearSelectAllMessage(); } function clearSelectAllMessage() { jQuery("#all_entries").val("0"); jQuery("#gform-select-all-message").hide(); jQuery("#gform-select-all-message td").html(''); } function selectAllEntriesOnAllPages() { var trHtmlClearSelection; trHtmlClearSelection = gformStrings.allEntriesSelected.format(gformVars.countAllEntries) + " <a href='javascript:void(0);' onclick='clearSelectAllEntries();'>" + gformStrings.clearSelection + "</a>"; jQuery("#all_entries").val("1"); jQuery("#gform-select-all-message td").html(trHtmlClearSelection); } function initSelectAllEntries() { if (gformVars.countAllEntries > gformVars.perPage) { var tr = getSelectAllTr(); jQuery("#gf_entry_list").prepend(tr); jQuery(".headercb").click(function () { toggleSelectAll(jQuery(this).prop('checked')); }); jQuery("#gf_entry_list .check-column input[type=checkbox]").click(function () { clearSelectAllMessage(); }) } } String.prototype.format = function () { var args = arguments; return this.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] != 'undefined' ? args[number] : match; }); }; // end Select All jQuery(document).ready(function () { var action = <?php echo json_encode($action); ?> ; var message = <?php echo json_encode($update_message); ?> ; if (action && message) displayMessage(message, 'updated', '#lead_form'); var list = jQuery("#gf_entry_list").wpList({ alt: <?php echo json_encode(esc_html__('Entry List', 'gravityforms')); ?> }); list.bind('wpListDelEnd', function (e, s, list) { var currentStatus = <?php echo json_encode($filter == 'trash' || $filter == 'spam' ? $filter : 'active'); ?> ; var filter = <?php echo json_encode($filter); ?> ; var movingTo = "active"; if (s.data.status == "trash") movingTo = "trash"; else if (s.data.status == "spam") movingTo = "spam"; else if (s.data.status == "delete") movingTo = "delete"; var id = s.data.entry; var title = jQuery("#lead_row_" + id); var isUnread = title.hasClass("lead_unread"); var isStarred = title.hasClass("lead_starred"); if (movingTo != "delete") { //Updating All count var allCount = currentStatus == "active" ? -1 : 1; UpdateCount("all_count", allCount); //Updating Unread count if (isUnread) { var unreadCount = currentStatus == "active" ? -1 : 1; UpdateCount("unread_count", unreadCount); } //Updating Starred count if (isStarred) { var starCount = currentStatus == "active" ? -1 : 1; UpdateCount("star_count", starCount); } } //Updating Spam count if (currentStatus == "spam" || movingTo == "spam") { var spamCount = movingTo == "spam" ? 1 : -1; UpdateCount("spam_count", spamCount); //adjust paging counts if (filter == "spam") { UpdatePagingCounts(1); } else { UpdatePagingCounts(spamCount); } } //Updating trash count if (currentStatus == "trash" || movingTo == "trash") { var trashCount = movingTo == "trash" ? 1 : -1; UpdateCount("trash_count", trashCount); //adjust paging counts if (filter == "trash") { UpdatePagingCounts(1); } else { UpdatePagingCounts(trashCount); } } }); initSelectAllEntries(); jQuery('#entry_filters').gfFilterUI(gformFieldFilters, gformInitFilter, false); jQuery("#entry_filters").on("keypress", ".gform-filter-value", (function (event) { if (event.keyCode == 13) { Search(<?php echo json_encode($sort_field); ?> , <?php echo json_encode($sort_direction); ?> , <?php echo absint($form_id); ?> , jQuery('.gform-filter-value').val(), <?php echo json_encode($star); ?> , <?php echo json_encode($read); ?> , <?php echo json_encode($filter); ?> , jQuery('.gform-filter-field').val(), jQuery('.gform-filter-operator').val()); event.preventDefault(); } })); }); </script> <link rel="stylesheet" href="<?php echo GFCommon::get_base_url(); ?> /css/admin<?php echo $min; ?> .css" type="text/css" /> <style> /*#TB_window { height: 400px !important; } #TB_ajaxContent[style] { height: 370px !important; }*/ .lead_unread a, .lead_unread td { font-weight: bold; } .lead_spam_trash a, .lead_spam_trash td { font-weight: normal; } .row-actions a { font-weight: normal; } .entry_nowrap { overflow: hidden; white-space: nowrap; } .gform-filter-operator { width: 100px } </style> <div class="wrap <?php echo GFCommon::get_browser_class(); ?> "> <h2 class="gf_admin_page_title"> <span><?php esc_html_e('Entries', '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 esc_html_e('Form Name', 'gravityforms'); ?> : <?php echo esc_html($form['title']); ?> </span></span> </h2> <?php RGForms::top_toolbar(); ?> <form id="lead_form" method="post"> <?php wp_nonce_field('gforms_entry_list', 'gforms_entry_list'); ?> <input type="hidden" value="" name="grid_columns" id="grid_columns" /> <input type="hidden" value="" name="action" id="action" /> <input type="hidden" value="" name="action_argument" id="action_argument" /> <input type="hidden" value="" name="all_entries" id="all_entries" /> <ul class="subsubsub"> <li> <a class="<?php echo empty($filter) ? 'current' : ''; ?> " href="?page=gf_entries&view=entries&id=<?php echo absint($form_id); ?> "><?php _ex('All', 'Entry List', 'gravityforms'); ?> <span class="count">(<span id="all_count"><?php echo $active_lead_count; ?> </span>)</span></a> | </li> <li> <a class="<?php echo $read !== null ? 'current' : ''; ?> " href="?page=gf_entries&view=entries&id=<?php echo absint($form_id); ?> &filter=unread"><?php _ex('Unread', 'Entry List', 'gravityforms'); ?> <span class="count">(<span id="unread_count"><?php echo $unread_count; ?> </span>)</span></a> | </li> <li> <a class="<?php echo $star !== null ? 'current' : ''; ?> " href="?page=gf_entries&view=entries&id=<?php echo absint($form_id); ?> &filter=star"><?php _ex('Starred', 'Entry List', 'gravityforms'); ?> <span class="count">(<span id="star_count"><?php echo $starred_count; ?> </span>)</span></a> | </li> <?php if (GFCommon::spam_enabled($form_id)) { ?> <li> <a class="<?php echo $filter == 'spam' ? 'current' : ''; ?> " href="?page=gf_entries&view=entries&id=<?php echo absint($form_id); ?> &filter=spam"><?php esc_html_e('Spam', 'gravityforms'); ?> <span class="count">(<span id="spam_count"><?php echo esc_html($spam_count); ?> </span>)</span></a> | </li> <?php } ?> <li> <a class="<?php echo $filter == 'trash' ? 'current' : ''; ?> " href="?page=gf_entries&view=entries&id=<?php echo absint($form_id); ?> &filter=trash"><?php esc_html_e('Trash', 'gravityforms'); ?> <span class="count">(<span id="trash_count"><?php echo esc_html($trash_count); ?> </span>)</span></a></li> </ul> <div style="margin-top:12px;float:right;"> <a style="float:right;" class="button" id="lead_search_button" href="javascript:Search('<?php echo esc_js($sort_field); ?> ', '<?php echo esc_js($sort_direction); ?> ', <?php echo absint($form_id); ?> , jQuery('.gform-filter-value').val(), '<?php echo esc_js($star); ?> ', '<?php echo esc_js($read); ?> ', '<?php echo esc_js($filter); ?> ', jQuery('.gform-filter-field').val(), jQuery('.gform-filter-operator').val());"><?php esc_html_e('Search', 'gravityforms'); ?> </a> <div id="entry_filters" style="float:right"></div> </div> <div class="tablenav"> <div class="alignleft actions" style="padding:8px 0 7px 0;"> <label class="hidden" for="bulk_action"> <?php esc_html_e('Bulk action', 'gravityforms'); ?> </label> <select name="bulk_action" id="bulk_action"> <option value=''><?php esc_html_e(' Bulk action ', 'gravityforms'); ?> </option> <?php switch ($filter) { case 'trash': ?> <option value='restore'><?php esc_html_e('Restore', 'gravityforms'); ?> </option> <?php if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { ?> <option value='delete'><?php esc_html_e('Delete Permanently', 'gravityforms'); ?> </option> <?php } break; case 'spam': ?> <option value='unspam'><?php esc_html_e('Not Spam', 'gravityforms'); ?> </option> <?php if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { ?> <option value='delete'><?php esc_html_e('Delete Permanently', 'gravityforms'); ?> </option> <?php } break; default: ?> <option value='mark_read'><?php esc_html_e('Mark as Read', 'gravityforms'); ?> </option> <option value='mark_unread'><?php esc_html_e('Mark as Unread', 'gravityforms'); ?> </option> <option value='add_star'><?php esc_html_e('Add Star', 'gravityforms'); ?> </option> <option value='remove_star'><?php esc_html_e('Remove Star', 'gravityforms'); ?> </option> <option value='resend_notifications'><?php esc_html_e('Resend Notifications', 'gravityforms'); ?> </option> <option value='print'><?php esc_html_e('Print', 'gravityforms'); ?> </option> <?php if (GFCommon::spam_enabled($form_id)) { ?> <option value='spam'><?php esc_html_e('Spam', 'gravityforms'); ?> </option> <?php } if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { ?> <option value='trash'><?php esc_html_e('Trash', 'gravityforms'); ?> </option> <?php } } ?> </select> <?php $apply_button = '<input type="submit" class="button" value="' . esc_attr__('Apply', 'gravityforms') . '" onclick="return handleBulkApply(\'bulk_action\');" />'; /** * Allows for the modification of the Entry apply button HTML (When modifying entries) * * @param string $apply_button The Entry apply button HTML */ echo apply_filters('gform_entry_apply_button', $apply_button); if (in_array($filter, array('trash', 'spam'))) { $message = $filter == 'trash' ? esc_html__("WARNING! This operation cannot be undone. Empty trash? 'Ok' to empty trash. 'Cancel' to abort.", 'gravityforms') : esc_html__("WARNING! This operation cannot be undone. Permanently delete all spam? 'Ok' to delete. 'Cancel' to abort.", 'gravityforms'); $button_label = $filter == 'trash' ? __('Empty Trash', 'gravityforms') : __('Delete All Spam', 'gravityforms'); ?> <input type="submit" class="button" name="button_delete_permanently" value="<?php echo esc_attr($button_label); ?> " onclick="return confirm('<?php echo esc_js($message); ?> ');" /> <?php } ?> <div id="notifications_modal_container" style="display:none;"> <div id="notifications_container"> <div id="post_tag" class="tagsdiv"> <div id="resend_notifications_options"> <?php $notifications = GFCommon::get_notifications('resend_notifications', $form); if (!is_array($notifications) || count($form['notifications']) <= 0) { ?> <p class="description"><?php esc_html_e('You cannot resend notifications for these entries because this form does not currently have any notifications configured.', 'gravityforms'); ?> </p> <a href="<?php echo esc_url(admin_url("admin.php?page=gf_edit_forms&view=settings&subview=notification&id={$form['id']}")); ?> " class="button"><?php esc_html_e('Configure Notifications', 'gravityforms'); ?> </a> <?php } else { ?> <p class="description"><?php esc_html_e('Specify which notifications you would like to resend for the selected entries.', 'gravityforms'); ?> </p> <?php foreach ($notifications as $notification) { ?> <input type="checkbox" class="gform_notifications" value="<?php echo esc_attr($notification['id']); ?> " id="notification_<?php echo esc_attr($notification['id']); ?> " onclick="toggleNotificationOverride();" /> <label for="notification_<?php echo esc_attr($notification['id']); ?> "><?php echo esc_html($notification['name']); ?> </label> <br /><br /> <?php } ?> <div id="notifications_override_settings" style="display:none;"> <p class="description" style="padding-top:0; margin-top:0;"> <?php esc_html_e('You may override the default notification settings by entering a comma delimited list of emails to which the selected notifications should be sent.', 'gravityforms'); ?> </p> <label for="notification_override_email"><?php esc_html_e('Send To', 'gravityforms'); ?> <?php gform_tooltip('notification_override_email'); ?> </label><br /> <input type="text" name="notification_override_email" id="notification_override_email" style="width:99%;" /><br /><br /> </div> <input type="button" name="notification_resend" id="notification_resend" value="<?php esc_attr_e('Resend Notifications', 'gravityforms'); ?> " class="button" style="" onclick="BulkResendNotifications();" /> <span id="please_wait_container" style="display:none; margin-left: 5px;"> <i class='gficon-gravityforms-spinner-icon gficon-spin'></i> <?php esc_html_e('Resending...', 'gravityforms'); ?> </span> <?php } ?> </div> <div id="resend_notifications_close" style="display:none;margin:10px 0 0;"> <input type="button" name="resend_notifications_close_button" value="<?php esc_attr_e('Close Window', 'gravityforms'); ?> " class="button" style="" onclick="closeModal(true);" /> </div> </div> </div> </div> <!-- / Resend Notifications --> <div id="print_modal_container" style="display:none;"> <div id="print_container"> <div class="tagsdiv"> <div id="print_options"> <p class="description"><?php esc_html_e('Print all of the selected entries at once.', 'gravityforms'); ?> </p> <?php if (GFCommon::current_user_can_any('gravityforms_view_entry_notes')) { ?> <input type="checkbox" name="gform_print_notes" value="print_notes" checked="checked" id="gform_print_notes" /> <label for="gform_print_notes"><?php esc_html_e('Include notes', 'gravityforms'); ?> </label> <br /><br /> <?php } ?> <input type="checkbox" name="gform_print_page_break" value="print_notes" checked="checked" id="gform_print_page_break" /> <label for="gform_print_page_break"><?php esc_html_e('Add page break between entries', 'gravityforms'); ?> </label> <br /><br /> <input type="button" value="<?php esc_attr_e('Print', 'gravityforms'); ?> " class="button" onclick="BulkPrint();" /> </div> </div> </div> </div> <!-- / Print --> </div> <?php echo self::display_paging_links('header', $page_links, $first_item_index, $page_size, $total_count); ?> <div class="clear"></div> </div> <table class="widefat fixed" cellspacing="0"> <thead> <tr> <th scope="col" id="cb" class="manage-column column-cb check-column"> <input type="checkbox" class="headercb" /></th> <?php if (!in_array($filter, array('spam', 'trash'))) { ?> <th scope="col" id="cb" class="manage-column column-cb check-column"> </th> <?php } foreach ($columns as $field_id => $field_info) { $dir = $field_id == 0 ? 'DESC' : 'ASC'; //default every field so ascending sorting except date_created (id=0) if ($field_id == $sort_field) { //reverting direction if clicking on the currently sorted field $dir = $sort_direction == 'ASC' ? 'DESC' : 'ASC'; } ?> <th scope="col" class="manage-column entry_nowrap" onclick="Search('<?php echo esc_js($field_id); ?> ', '<?php echo esc_js($dir); ?> ', <?php echo absint($form_id); ?> , '<?php echo esc_js($search); ?> ', '<?php echo esc_js($star); ?> ', '<?php echo esc_js($read); ?> ', '<?php echo esc_js($filter); ?> ', '<?php echo esc_js($search_field_id); ?> ', '<?php echo esc_js($search_operator); ?> ');" style="cursor:pointer;"><?php echo esc_html($field_info['label']); ?> </th> <?php } ?> <th scope="col" align="right" width="50"> <a title="<?php esc_attr_e('click to select columns to display', 'gravityforms'); ?> " href="<?php echo trailingslashit(site_url(null, 'admin')); ?> ?gf_page=select_columns&id=<?php echo absint($form_id); ?> &TB_iframe=true&height=365&width=600" class="thickbox entries_edit_icon"><i class="fa fa-cog"></i></a> </th> </tr> </thead> <tfoot> <tr> <th scope="col" id="cb" class="manage-column column-cb check-column" style=""><input type="checkbox" /></th> <?php if (!in_array($filter, array('spam', 'trash'))) { ?> <th scope="col" id="cb" class="manage-column column-cb check-column"> </th> <?php } foreach ($columns as $field_id => $field_info) { $dir = $field_id == 0 ? 'DESC' : 'ASC'; //default every field so ascending sorting except date_created (id=0) if ($field_id == $sort_field) { //reverting direction if clicking on the currently sorted field $dir = $sort_direction == 'ASC' ? 'DESC' : 'ASC'; } ?> <th scope="col" class="manage-column entry_nowrap" onclick="Search('<?php echo esc_js($field_id); ?> ', '<?php echo esc_js($dir); ?> ', <?php echo absint($form_id); ?> , '<?php echo esc_js($search); ?> ', '<?php echo esc_js($star); ?> ', '<?php echo esc_js($read); ?> ', '<?php echo esc_js($filter); ?> ', '<?php echo esc_js($search_field_id); ?> ', '<?php echo esc_js($search_operator); ?> ');" style="cursor:pointer;"><?php echo esc_html($field_info['label']); ?> </th> <?php } ?> <th scope="col" style="width:15px;"> <a title="<?php esc_attr_e('click to select columns to display', 'gravityforms'); ?> " href="<?php echo trailingslashit(site_url()); ?> ?gf_page=select_columns&id=<?php echo absint($form_id); ?> &TB_iframe=true&height=365&width=600" class="thickbox entries_edit_icon"><i class=fa-cog"></i></a> </th> </tr> </tfoot> <tbody data-wp-lists="list:gf_entry" class="user-list" id="gf_entry_list"> <?php if (sizeof($leads) > 0) { $field_ids = array_keys($columns); $gf_entry_locking = new GFEntryLocking(); $alternate_row = false; foreach ($leads as $position => $lead) { $position = $page_size * $page_index + $position; ?> <tr id="lead_row_<?php echo esc_attr($lead['id']); ?> " class='author-self status-inherit <?php echo $lead['is_read'] ? '' : 'lead_unread'; ?> <?php echo $lead['is_starred'] ? 'lead_starred' : ''; ?> <?php echo in_array($filter, array('trash', 'spam')) ? 'lead_spam_trash' : ''; ?> <?php $gf_entry_locking->list_row_class($lead['id']); ?> <?php echo ($alternate_row = !$alternate_row) ? 'alternate' : ''; ?> ' valign="top" data-id="<?php echo esc_attr($lead['id']); ?> "> <th scope="row" class="check-column"> <input type="checkbox" name="lead[]" value="<?php echo esc_attr($lead['id']); ?> " /> <?php $gf_entry_locking->lock_indicator(); ?> </th> <?php if (!in_array($filter, array('spam', 'trash'))) { ?> <td> <img id="star_image_<?php echo esc_attr($lead['id']); ?> " src="<?php echo GFCommon::get_base_url(); ?> /images/star<?php echo intval($lead['is_starred']); ?> .png" onclick="ToggleStar(this, '<?php echo esc_js($lead['id']); ?> ','<?php echo esc_js($filter); ?> ');" /> </td> <?php } $is_first_column = true; $nowrap_class = 'entry_nowrap'; foreach ($field_ids as $field_id) { $field = RGFormsModel::get_field($form, $field_id); $value = rgar($lead, $field_id); if (!empty($field) && $field->type == 'post_category') { $value = GFCommon::prepare_post_category_value($value, $field, 'entry_list'); } //filtering lead value $value = apply_filters('gform_get_field_value', $value, $lead, $field); $input_type = !empty($columns[$field_id]['inputType']) ? $columns[$field_id]['inputType'] : $columns[$field_id]['type']; switch ($input_type) { case 'source_url': $value = "<a href='" . esc_attr($lead['source_url']) . "' target='_blank' alt='" . esc_attr($lead['source_url']) . "' title='" . esc_attr($lead['source_url']) . "'>.../" . esc_attr(GFCommon::truncate_url($lead['source_url'])) . '</a>'; break; case 'date_created': case 'payment_date': $value = GFCommon::format_date($value, false); break; case 'payment_amount': $value = GFCommon::to_money($value, $lead['currency']); break; case 'created_by': if (!empty($value)) { $userdata = get_userdata($value); if (!empty($userdata)) { $value = $userdata->user_login; } } break; default: if ($field !== null) { $value = $field->get_value_entry_list($value, $lead, $field_id, $columns, $form); } else { $value = esc_html($value); } } $value = apply_filters('gform_entries_field_value', $value, $form_id, $field_id, $lead); /* ^ maybe move to function */ $query_string = "gf_entries&view=entry&id={$form_id}&lid={$lead['id']}{$search_qs}{$sort_qs}{$dir_qs}{$filter_qs}&paged=" . ($page_index + 1); if ($is_first_column) { ?> <td class="column-title"> <a href="admin.php?page=gf_entries&view=entry&id=<?php echo absint($form_id); ?> &lid=<?php echo esc_attr($lead['id'] . $search_qs . $sort_qs . $dir_qs . $filter_qs); ?> &paged=<?php echo $page_index + 1; ?> &pos=<?php echo $position; ?> &field_id=<?php echo esc_attr($search_field_id); ?> &operator=<?php echo esc_attr($search_operator); ?> "><?php echo $value; ?> </a> <?php $gf_entry_locking->lock_info($lead['id']); ?> <div class="row-actions"> <?php switch ($filter) { case 'trash': ?> <span class="edit"> <a title="<?php esc_attr_e('View this entry', 'gravityforms'); ?> " href="admin.php?page=gf_entries&view=entry&id=<?php echo absint($form_id); ?> &lid=<?php echo esc_attr($lead['id'] . $search_qs . $sort_qs . $dir_qs . $filter_qs); ?> &paged=<?php echo $page_index + 1; ?> &pos=<?php echo $position; ?> &field_id=<?php echo esc_attr($search_field_id); ?> &operator=<?php echo esc_attr($search_operator); ?> "><?php esc_html_e('View', 'gravityforms'); ?> </a> | </span> <span class="edit"> <a data-wp-lists='delete:gf_entry_list:lead_row_<?php echo esc_attr($lead['id']); ?> ::status=active&entry=<?php echo esc_attr($lead['id']); ?> ' title="<?php esc_attr_e('Restore this entry', 'gravityforms'); ?> " href="<?php echo wp_nonce_url('?page=gf_entries', 'gf_delete_entry'); ?> "><?php esc_html_e('Restore', 'gravityforms'); ?> </a> <?php echo GFCommon::current_user_can_any('gravityforms_delete_entries') ? '|' : ''; ?> </span> <?php if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { ?> <span class="delete"> <?php $delete_link = '<a data-wp-lists="delete:gf_entry_list:lead_row_' . esc_attr($lead['id']) . '::status=delete&entry=' . esc_attr($lead['id']) . '" title="' . esc_attr__('Delete this entry permanently', 'gravityforms') . '" href="' . wp_nonce_url('?page=gf_entries', 'gf_delete_entry') . '">' . esc_html__('Delete Permanently', 'gravityforms') . '</a>'; /** * Allows for modification of a Form entry "delete" link * * @param string $delete_link The Entry Delete Link (Formatted in HTML) */ echo apply_filters('gform_delete_entry_link', $delete_link); ?> </span> <?php } break; case 'spam': ?> <span class="edit"> <a title="<?php esc_attr_e('View this entry', 'gravityforms'); ?> " href="admin.php?page=gf_entries&view=entry&id=<?php echo absint($form_id); ?> &lid=<?php echo esc_attr($lead['id'] . $search_qs . $sort_qs . $dir_qs . $filter_qs); ?> &paged=<?php echo $page_index + 1; ?> &pos=<?php echo $position; ?> "><?php esc_html_e('View', 'gravityforms'); ?> </a> | </span> <span class="unspam"> <a data-wp-lists='delete:gf_entry_list:lead_row_<?php echo esc_attr($lead['id']); ?> ::status=unspam&entry=<?php echo esc_attr($lead['id']); ?> ' title="<?php esc_attr_e('Mark this entry as not spam', 'gravityforms'); ?> " href="<?php echo wp_nonce_url('?page=gf_entries', 'gf_delete_entry'); ?> "><?php esc_html_e('Not Spam', 'gravityforms'); ?> </a> <?php echo GFCommon::current_user_can_any('gravityforms_delete_entries') ? '|' : ''; ?> </span> <?php if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { ?> <span class="delete"> <?php $delete_link = '<a data-wp-lists="delete:gf_entry_list:lead_row_' . esc_attr($lead['id']) . '::status=delete&entry=' . esc_attr($lead['id']) . '" title="' . esc_attr__('Delete this entry permanently', 'gravityforms') . '" href="' . wp_nonce_url('?page=gf_entries', 'gf_delete_entry') . '">' . esc_html__('Delete Permanently', 'gravityforms') . '</a>'; /** * Allows for modification of a Form entry "delete" link * * @param string $delete_link The Entry Delete Link (Formatted in HTML) */ echo apply_filters('gform_delete_entry_link', $delete_link); ?> </span> <?php } break; default: ?> <span class="edit"> <a title="<?php esc_attr_e('View this entry', 'gravityforms'); ?> " href="admin.php?page=gf_entries&view=entry&id=<?php echo absint($form_id); ?> &lid=<?php echo esc_attr($lead['id'] . $search_qs . $sort_qs . $dir_qs . $filter_qs); ?> &paged=<?php echo $page_index + 1; ?> &pos=<?php echo $position; ?> &field_id=<?php echo esc_attr($search_field_id); ?> &operator=<?php echo esc_attr($search_operator); ?> "><?php esc_html_e('View', 'gravityforms'); ?> </a> | </span> <span class="edit"> <a id="mark_read_<?php echo esc_attr($lead['id']); ?> " title="Mark this entry as read" href="javascript:ToggleRead('<?php echo esc_js($lead['id']); ?> ', '<?php echo esc_js($filter); ?> ');" style="display:<?php echo $lead['is_read'] ? 'none' : 'inline'; ?> ;"><?php esc_html_e('Mark read', 'gravityforms'); ?> </a><a id="mark_unread_<?php echo absint($lead['id']); ?> " title="<?php esc_attr_e('Mark this entry as unread', 'gravityforms'); ?> " href="javascript:ToggleRead('<?php echo esc_js($lead['id']); ?> ', '<?php echo esc_js($filter); ?> ');" style="display:<?php echo $lead['is_read'] ? 'inline' : 'none'; ?> ;"><?php esc_html_e('Mark unread', 'gravityforms'); ?> </a> <?php echo GFCommon::current_user_can_any('gravityforms_delete_entries') || GFCommon::akismet_enabled($form_id) ? '|' : ''; ?> </span> <?php if (GFCommon::spam_enabled($form_id)) { ?> <span class="spam"> <a data-wp-lists='delete:gf_entry_list:lead_row_<?php echo esc_attr($lead['id']); ?> ::status=spam&entry=<?php echo esc_attr($lead['id']); ?> ' title="<?php esc_attr_e('Mark this entry as spam', 'gravityforms'); ?> " href="<?php echo wp_nonce_url('?page=gf_entries', 'gf_delete_entry'); ?> "><?php esc_html_e('Spam', 'gravityforms'); ?> </a> <?php echo GFCommon::current_user_can_any('gravityforms_delete_entries') ? '|' : ''; ?> </span> <?php } if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { ?> <span class="trash"> <a data-wp-lists='delete:gf_entry_list:lead_row_<?php echo esc_attr($lead['id']); ?> ::status=trash&entry=<?php echo esc_attr($lead['id']); ?> ' title="<?php esc_attr_e('Move this entry to the trash', 'gravityforms'); ?> " href="<?php echo wp_nonce_url('?page=gf_entries', 'gf_delete_entry'); ?> "><?php esc_html_e('Trash', 'gravityforms'); ?> </a> </span> <?php } break; } do_action('gform_entries_first_column_actions', $form_id, $field_id, $value, $lead, $query_string); ?> </div> <?php do_action('gform_entries_first_column', $form_id, $field_id, $value, $lead, $query_string); ?> </td> <?php } else { ?> <td class="<?php echo $nowrap_class; ?> "> <?php echo apply_filters('gform_entries_column_filter', $value, $form_id, $field_id, $lead, $query_string); ?> <?php do_action('gform_entries_column', $form_id, $field_id, $value, $lead, $query_string); ?> </td> <?php } $is_first_column = false; } ?> <td> </td> </tr> <?php } } else { $column_count = sizeof($columns) + 3; switch ($filter) { case 'unread': $message = isset($_GET['field_id']) ? esc_html__('This form does not have any unread entries matching the search criteria.', 'gravityforms') : esc_html__('This form does not have any unread entries.', 'gravityforms'); break; case 'star': $message = isset($_GET['field_id']) ? esc_html__('This form does not have any starred entries matching the search criteria.', 'gravityforms') : esc_html__('This form does not have any starred entries.', 'gravityforms'); break; case 'spam': $message = esc_html__('This form does not have any spam.', 'gravityforms'); $column_count = sizeof($columns) + 2; break; case 'trash': $message = isset($_GET['field_id']) ? esc_html__('This form does not have any entries in the trash matching the search criteria.', 'gravityforms') : esc_html__('This form does not have any entries in the trash.', 'gravityforms'); $column_count = sizeof($columns) + 2; break; default: $message = isset($_GET['field_id']) ? esc_html__('This form does not have any entries matching the search criteria.', 'gravityforms') : esc_html__('This form does not have any entries yet.', 'gravityforms'); } ?> <tr> <td colspan="<?php echo esc_attr($column_count); ?> " style="padding:20px;"><?php echo esc_html($message); ?> </td> </tr> <?php } ?> </tbody> </table> <div class="clear"></div> <div class="tablenav"> <div class="alignleft actions" style="padding:8px 0 7px 0;"> <label class="hidden" for="bulk_action2"> <?php esc_html_e('Bulk action', 'gravityforms'); ?> </label> <select name="bulk_action2" id="bulk_action2"> <option value=''><?php esc_html_e(' Bulk action ', 'gravityforms'); ?> </option> <?php switch ($filter) { case 'trash': ?> <option value='restore'><?php esc_html_e('Restore', 'gravityforms'); ?> </option> <?php if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { ?> <option value='delete'><?php esc_html_e('Delete Permanently', 'gravityforms'); ?> </option> <?php } break; case 'spam': ?> <option value='unspam'><?php esc_html_e('Not Spam', 'gravityforms'); ?> </option> <?php if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { ?> <option value='delete'><?php esc_html_e('Delete Permanently', 'gravityforms'); ?> </option> <?php } break; default: ?> <option value='mark_read'><?php esc_html_e('Mark as Read', 'gravityforms'); ?> </option> <option value='mark_unread'><?php esc_html_e('Mark as Unread', 'gravityforms'); ?> </option> <option value='add_star'><?php esc_html_e('Add Star', 'gravityforms'); ?> </option> <option value='remove_star'><?php esc_html_e('Remove Star', 'gravityforms'); ?> </option> <option value='resend_notifications'><?php esc_html_e('Resend Notifications', 'gravityforms'); ?> </option> <option value='print'><?php esc_html_e('Print Entries', 'gravityforms'); ?> </option> <?php if (GFCommon::spam_enabled($form_id)) { ?> <option value='spam'><?php esc_html_e('Spam', 'gravityforms'); ?> </option> <?php } if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { ?> <option value='trash'><?php esc_html_e('Move to Trash', 'gravityforms'); ?> </option> <?php } } ?> </select> <?php $apply_button = '<input type="submit" class="button" value="' . esc_attr__('Apply', 'gravityforms') . '" onclick="return handleBulkApply(\'bulk_action2\');" />'; /** * Allows for the modification of the Entry apply button HTML (When modifying entries) * * @param string $apply_button The Entry apply button HTML */ echo apply_filters('gform_entry_apply_button', $apply_button); ?> </div> <?php echo self::display_paging_links('footer', $page_links, $first_item_index, $page_size, $total_count); ?> <div class="clear"></div> </div> </form> </div> <?php }
public function page_header($title = '') { // register admin styles wp_register_style('gform_admin', GFCommon::get_base_url() . '/css/admin.css'); wp_print_styles(array('jquery-ui-styles', 'gform_admin', 'wp-pointer')); // get view details $subviews = $this->get_subviews(); ?> <div class="wrap <?php echo GFCommon::get_browser_class(); ?> "> <?php GFCommon::display_admin_message(); ?> <div id="gform_tab_group" class="gform_tab_group vertical_tabs"> <ul id="gform_tabs" class="gform_tabs"> <?php foreach ($subviews as $view) { $query = array('subview' => $view['name']); if (isset($view['query'])) { $query = array_merge($query, $view['query']); } ?> <li <?php echo $this->get_current_subview() == $view['name'] ? 'class="active"' : ''; ?> > <a href="<?php echo add_query_arg($query); ?> "><?php echo $view['label']; ?> </a> </li> <?php } ?> </ul> <div id="gform_tab_container" class="gform_tab_container"> <div class="gform_tab_content" id="tab_<?php echo $this->get_current_subview(); ?> "> <?php }
public static function add_mce_popup() { ?> <script> function InsertForm() { var form_id = jQuery("#add_form_id").val(); if (form_id == "") { alert(<?php echo json_encode(__('Please select a form', 'gravityforms')); ?> ); return; } var form_name = jQuery("#add_form_id option[value='" + form_id + "']").text().replace(/[\[\]]/g, ''); var display_title = jQuery("#display_title").is(":checked"); var display_description = jQuery("#display_description").is(":checked"); var ajax = jQuery("#gform_ajax").is(":checked"); var title_qs = !display_title ? " title=\"false\"" : ""; var description_qs = !display_description ? " description=\"false\"" : ""; var ajax_qs = ajax ? " ajax=\"true\"" : ""; window.send_to_editor("[gravityform id=\"" + form_id + "\" name=\"" + form_name + "\"" + title_qs + description_qs + ajax_qs + "]"); } </script> <div id="select_gravity_form" style="display:none;"> <div id="gform-shortcode-ui-wrap" class="wrap <?php echo GFCommon::get_browser_class(); ?> "> <div id="gform-shortcode-ui-container"></div> </div> </div> <?php }
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 handle_save_confirmation($form, $resume_token, $confirmation_message, $ajax) { $resume_email = isset($_POST['gform_resume_email']) ? $_POST['gform_resume_email'] : null; $confirmation_message = self::replace_save_variables($confirmation_message, $form, $resume_token, $resume_email); $confirmation_message = GFCommon::gform_do_shortcode($confirmation_message); $confirmation_message = "<div class='form_saved_message'><span>" . $confirmation_message . '</span></div>'; $form_id = absint($form['id']); $has_pages = self::has_pages($form); $default_anchor = $has_pages || $ajax ? true : false; $use_anchor = gf_apply_filters(array('gform_confirmation_anchor', $form_id), $default_anchor); if ($use_anchor !== false) { $confirmation_message = "<a id='gf_{$form_id}' class='gform_anchor' ></a>" . $confirmation_message; } $wrapper_css_class = GFCommon::get_browser_class() . ' gform_wrapper'; $confirmation_message = "<div class='{$wrapper_css_class}' id='gform_wrapper_{$form_id}'>" . $confirmation_message . '</div>'; if ($ajax) { $confirmation_message = "<!DOCTYPE html><html><head><meta charset='UTF-8' /></head><body class='GF_AJAX_POSTBACK'>" . $confirmation_message . '</body></html>'; } GFCommon::log_debug('GFFormDisplay::handle_save_confirmation(): Confirmation => ' . print_r($confirmation_message, true)); return $confirmation_message; }
public static function help_page() { if (!GFCommon::ensure_wp_version()) { return; } echo GFCommon::get_remote_message(); ?> <link rel="stylesheet" href="<?php echo GFCommon::get_base_url(); ?> /css/admin.css"/> <div class="wrap <?php echo GFCommon::get_browser_class(); ?> "> <h2><?php _e("Gravity Forms Help", "gravityforms"); ?> </h2> <div style="margin-top:10px;"> <div class="gforms_help_alert alert_yellow"><?php _e("<strong>IMPORTANT NOTICE:</strong> We do not provide support via e-mail. Please <a href='http://www.gravityhelp.com/support/' target='_blank'>open a support ticket</a>.", "gravityforms"); ?> </div> <div><?php _e("Please review the plugin documentation and <a href='http://www.gravityhelp.com/frequently-asked-questions/'>frequently asked questions (FAQ)</a> first. If you still can't find the answer <a href='http://www.gravityhelp.com/support/' target='_blank'>open a support ticket</a> and we will be happy to answer your questions and assist you with any problems. <strong>Please note:</strong> If you have not <a href='http://www.gravityforms.com/purchase-gravity-forms/'>purchased a license</a> from us, you won't have access to these help resources.", "gravityforms"); ?> </div> <div class="hr-divider"></div> <h3><?php _e("Gravity Forms Documentation", "gravityforms"); ?> </h3> <ul style="margin-top:15px;"> <li> <div class="gforms_helpbox"> <form name="jump"> <select name="menu"> <!-- begin documentation listing --> <option selected><?php _e("Documentation (please select a topic)", "gravityforms"); ?> </option> <option value="http://gravityhelp.com/documentation/page/Getting_Started"><?php _e("Getting Started", "gravityforms"); ?> </option> <option value="http://gravityhelp.com/documentation/page/Using_Gravity_Forms"><?php _e("Using Gravity Forms", "gravityforms"); ?> </option> <option value="http://gravityhelp.com/documentation/page/Design_and_Layout"><?php _e("Design and Layout", "gravityforms"); ?> </option> <option value="http://gravityhelp.com/documentation/page/Developer_Docs"><?php _e("Developer Docs", "gravityforms"); ?> </option> <option value="http://gravityhelp.com/documentation/page/Add-ons"><?php _e("Add-Ons", "gravityforms"); ?> </option> <option value="http://gravityhelp.com/documentation/page/How_To"><?php _e("How To", "gravityforms"); ?> </option> <!-- end documentation listing --> </select> <input type="button" class="button" onClick="window.open(document.jump.menu.options[document.jump.menu.selectedIndex].value);" value="<?php _e("GO", "gravityforms"); ?> "> </form> </div> </li> </ul> <div class="hr-divider"></div> <h3><?php _e("Gravity Forms FAQ", "gravityforms"); ?> </h3> <ul style="margin-top:15px;"> <li> <div class="gforms_helpbox"> <form name="jump1"> <select name="menu1"> <!-- begin faq listing --> <option selected><?php _e("FAQ (please select a topic)", "gravityforms"); ?> </option> <option value="http://www.gravityhelp.com/frequently-asked-questions/#faq_installation"><?php _e("Installation Questions", "gravityforms"); ?> </option> <option value="http://www.gravityhelp.com/frequently-asked-questions/#faq_styling"><?php _e("Formatting/Styling Questions", "gravityforms"); ?> </option> <option value="http://www.gravityhelp.com/frequently-asked-questions/#faq_notifications"><?php _e("Notification Questions", "gravityforms"); ?> </option> <option value="http://www.gravityhelp.com/frequently-asked-questions/#faq_general"><?php _e("General Questions", "gravityforms"); ?> </option> <!-- end faq listing --> </select> <input type="button" class="button" onClick="window.open(document.jump1.menu1.options[document.jump1.menu1.selectedIndex].value);" value="<?php _e("GO", "gravityforms"); ?> "> </form> </div> </li> </ul> <div class="hr-divider"></div> <h3><?php _e("Gravity Forms Downloads", "gravityforms"); ?> </h3> <?php _e("<strong>Please Note:</strong> Only licensed Gravity Forms customers are granted access to the downloads section.", "gravityforms"); ?> <ul style="margin-top:15px;"> <li> <div class="gforms_helpbox"> <form name="jump3"> <select name="menu3"> <!-- begin downloads listing --> <option selected><?php _e("Downloads (please select a product)", "gravityforms"); ?> </option> <option value="http://www.gravityhelp.com/downloads/"><?php _e("Gravity Forms", "gravityforms"); ?> </option> <option value="http://www.gravityhelp.com/downloads/add-ons/"><?php _e("Gravity Forms Add-Ons", "gravityforms"); ?> </option> <!-- end downloads listing --> </select> <input type="button" class="button" onClick="window.open(document.jump3.menu3.options[document.jump3.menu3.selectedIndex].value);" value="<?php _e("GO", "gravityforms"); ?> "> </form> </div> </li> </ul> <div class="hr-divider"></div> <h3><?php _e("Gravity Forms Tutorials & Resources", "gravityforms"); ?> </h3> <?php _e("<strong>Please note:</strong> The Gravity Forms support team does not provide support for third party scripts, widgets, etc.", "gravityforms"); ?> <div class="gforms_helpbox" style="margin:15px 0;"> <ul class="resource_list"> <li><a href="http://www.gravityhelp.com/">Gravity Forms Blog</a></li> <li><a target="_blank" href="http://www.gravityhelp.com/gravity-forms-css-visual-guide/">Gravity Forms Visual CSS Guide</a></li> <li><a target="_blank" href="http://www.rocketgenius.com/gravity-forms-css-targeting-specific-elements/">Gravity Forms CSS: Targeting Specific Elements</a></li> <li><a target="_blank" href="http://www.gravityhelp.com/creating-a-modal-form-with-gravity-forms-and-fancybox/">Creating a Modal Form with Gravity Forms and FancyBox</a></li> <li><a target="_blank" href="http://yoast.com/gravity-forms-widget-update/">Gravity Forms Widget (Third Party Release)</a></li> <li><a target="_blank" href="http://wordpress.org/extend/plugins/wp-mail-smtp/">WP Mail SMTP Plugin</a></li> <li><a target="_blank" href="http://wordpress.org/extend/plugins/members/">Members Plugin (Role Management - Integrates with Gravity Forms)</a></li> <li><a target="_blank" href="http://wordpress.org/extend/plugins/really-simple-captcha/">Really Simple Captcha Plugin (Integrates with Gravity Forms)</a></li> </ul> </div> </div> </div> <?php }
public static function help_page() { if (!GFCommon::ensure_wp_version()) { return; } echo GFCommon::get_remote_message(); $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" /> <div class="wrap <?php echo GFCommon::get_browser_class(); ?> "> <h2><?php esc_html_e('Gravity Forms Help', 'gravityforms'); ?> </h2> <div style="margin-top:10px;"> <div class="gforms_help_alert alert_yellow"><?php printf(esc_html__('%sIMPORTANT NOTICE:%s We do not provide support via e-mail. Please %sopen a support ticket%s.', 'gravityforms'), '<strong>', '</strong>', '<a href="https://www.gravityhelp.com/support/" target="_blank">', '</a>'); ?> </div> <div><?php printf(esc_html__("Please review the plugin documentation and %sfrequently asked questions (FAQ)%s first. If you still can't find the answer %sopen a support ticket%s and we will be happy to answer your questions and assist you with any problems. %sPlease note:%s If you have not %spurchased a license%s from us, you won't have access to these help resources.", 'gravityforms'), '<a href="https://www.gravityhelp.com/frequently-asked-questions/">', '</a>', '<a href="https://www.gravityhelp.com/support/" target="_blank">', '</a>', '<strong>', '</strong>', '<a href="http://www.gravityforms.com/purchase-gravity-forms/">', '</a>'); ?> </div> <div class="hr-divider"></div> <h3><?php esc_html_e('Gravity Forms Documentation', 'gravityforms'); ?> </h3> <ul style="margin-top:15px;"> <li> <div class="gforms_helpbox"> <form name="jump"> <select name="menu"> <!-- begin documentation listing --> <option selected> <?php esc_html_e('Documentation (please select a topic)', 'gravityforms'); ?> </option> <option value="https://www.gravityhelp.com/documentation/article/getting-started/"> <?php esc_html_e('Getting Started', 'gravityforms'); ?> </option> <option value="https://www.gravityhelp.com/documentation/article/design-and-layout/"> <?php esc_html_e('Design and Layout', 'gravityforms'); ?> </option> <option value="https://www.gravityhelp.com/documentation/category/extending-gravity-forms/"> <?php esc_html_e('Developer Docs', 'gravityforms'); ?> </option> <option value="https://www.gravityhelp.com/documentation/category/add-ons-gravity-forms/"> <?php esc_html_e('Add-Ons', 'gravityforms'); ?> </option> <option value="https://www.gravityhelp.com/documentation/category/how-to/"> <?php esc_html_e('How To', 'gravityforms'); ?> </option> <!-- end documentation listing --> </select> <input type="button" class="button" onClick="window.open(document.jump.menu.options[document.jump.menu.selectedIndex].value);" value="<?php esc_attr_e('GO', 'gravityforms'); ?> "> </form> </div> </li> </ul> <div class="hr-divider"></div> <h3><?php esc_html_e('Gravity Forms FAQ', 'gravityforms'); ?> </h3> <ul style="margin-top:15px;"> <li> <div class="gforms_helpbox"> <form name="jump1"> <select name="menu1"> <!-- begin faq listing --> <option selected> <?php esc_html_e('FAQ (please select a topic)', 'gravityforms'); ?> </option> <option value="https://www.gravityhelp.com/frequently-asked-questions/faq-installation/"> <?php esc_html_e('Installation Questions', 'gravityforms'); ?> </option> <option value="https://www.gravityhelp.com/frequently-asked-questions/faq-styling-formatting/"> <?php esc_html_e('Formatting/Styling Questions', 'gravityforms'); ?> </option> <option value="https://www.gravityhelp.com/frequently-asked-questions/faq-notifications/"> <?php esc_html_e('Notification Questions', 'gravityforms'); ?> </option> <option value="https://www.gravityhelp.com/frequently-asked-questions/faq-general-questions/"> <?php esc_html_e('General Questions', 'gravityforms'); ?> </option> <!-- end faq listing --> </select> <input type="button" class="button" onClick="window.open(document.jump1.menu1.options[document.jump1.menu1.selectedIndex].value);" value="<?php esc_attr_e('GO', 'gravityforms'); ?> "> </form> </div> </li> </ul> <div class="hr-divider"></div> <h3><?php esc_html_e('Gravity Forms Downloads', 'gravityforms'); ?> </h3> <?php printf(esc_html__('%sPlease Note:%s Only licensed Gravity Forms customers are granted access to the downloads section.', 'gravityforms'), '<strong>', '</strong>'); ?> <ul style="margin-top:15px;"> <li> <div class="gforms_helpbox"> <form name="jump3"> <select name="menu3"> <!-- begin downloads listing --> <option selected> <?php esc_html_e('Downloads (please select a product)', 'gravityforms'); ?> </option> <option value="https://www.gravityhelp.com/downloads/"> <?php esc_html_e('Gravity Forms', 'gravityforms'); ?> </option> <option value="https://www.gravityhelp.com/downloads/add-ons/"> <?php esc_html_e('Gravity Forms Add-Ons', 'gravityforms'); ?> </option> <!-- end downloads listing --> </select> <input type="button" class="button" onClick="window.open(document.jump3.menu3.options[document.jump3.menu3.selectedIndex].value);" value="<?php esc_attr_e('GO', 'gravityforms'); ?> "> </form> </div> </li> </ul> <div class="hr-divider"></div> <h3><?php esc_html_e('Gravity Forms Tutorials & Resources', 'gravityforms'); ?> </h3> <?php printf(esc_html__('%sPlease note:%s The Gravity Forms support team does not provide support for third party scripts, widgets, etc.', 'gravityforms'), '<strong>', '</strong>'); ?> <div class="gforms_helpbox" style="margin:15px 0;"> <ul class="resource_list"> <li> <a href="http://www.gravityhelp.com/"><?php esc_html_e('Gravity Forms Blog', 'gravityforms'); ?> </a> </li> <li> <a target="_blank" href="https://www.gravityhelp.com/gravity-forms-css-visual-guide/"> <?php esc_html_e('Gravity Forms Visual CSS Guide', 'gravityforms'); ?> </a> </li> <li> <a target="_blank" href="http://www.rocketgenius.com/gravity-forms-css-targeting-specific-elements/"> <?php esc_html_e('Gravity Forms CSS: Targeting Specific Elements', 'gravityforms'); ?> </a> </li> <li> <a target="_blank" href="https://www.gravityhelp.com/creating-a-modal-form-with-gravity-forms-and-fancybox/"> <?php esc_html_e('Creating a Modal Form with Gravity Forms and FancyBox', 'gravityforms'); ?> </a> </li> <li> <a target="_blank" href="http://yoast.com/gravity-forms-widget-update/"> <?php esc_html_e('Gravity Forms Widget (Third Party Release)', 'gravityforms'); ?> </a> </li> <li> <a target="_blank" href="http://wordpress.org/extend/plugins/wp-mail-smtp/"> <?php esc_html_e('WP Mail SMTP Plugin', 'gravityforms'); ?> </a> </li> <li> <a target="_blank" href="http://wordpress.org/extend/plugins/members/"> <?php esc_html_e('Members Plugin (Role Management - Integrates with Gravity Forms)', 'gravityforms'); ?> </a> </li> <li> <a target="_blank" href="http://wordpress.org/extend/plugins/really-simple-captcha/"> <?php esc_html_e('Really Simple Captcha Plugin (Integrates with Gravity Forms)', 'gravityforms'); ?> </a> </li> </ul> </div> </div> </div> <?php }
/** * Renders the header for the tabs UI. * * @param $tabs * @param $current_tab * @param $title * @param string $message */ public function app_tab_page_header($tabs, $current_tab, $title, $message = '') { $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG || isset($_GET['gform_debug']) ? '' : '.min'; // register admin styles wp_register_style('gform_admin', GFCommon::get_base_url() . "/css/admin{$min}.css"); wp_print_styles(array('jquery-ui-styles', 'gform_admin')); ?> <div class="wrap <?php echo GFCommon::get_browser_class(); ?> "> <?php if ($message) { ?> <div id="message" class="updated"><p><?php echo $message; ?> </p></div> <?php } ?> <h2><?php echo esc_html($title); ?> </h2> <div id="gform_tab_group" class="gform_tab_group vertical_tabs"> <ul id="gform_tabs" class="gform_tabs"> <?php foreach ($tabs as $tab) { if (isset($tab['permission']) && !$this->current_user_can_any($tab['permission'])) { continue; } $label = isset($tab['label']) ? $tab['label'] : $tab['name']; ?> <li <?php echo urlencode($current_tab) == $tab['name'] ? "class='active'" : ''; ?> > <a href="<?php echo esc_url(add_query_arg(array('view' => $tab['name']))); ?> "><?php echo esc_html($label); ?> </a> </li> <?php } ?> </ul> <div id="gform_tab_container" class="gform_tab_container"> <div class="gform_tab_content" id="tab_<?php echo $current_tab; ?> "> <?php }
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 static function page_header($title = '', $message = '') { // register admin styles wp_register_style('gform_admin', GFCommon::get_base_url() . '/css/admin.css'); wp_print_styles(array('jquery-ui-styles', 'gform_admin')); $current_tab = self::get_subview(); //build left side options, always have GF Settings first and Uninstall last, put add-ons in the middle $setting_tabs = array("10" => array("name" => "settings", "label" => __("Settings", "gravityforms"))); if (!empty(self::$addon_pages)) { $sorted_addons = self::$addon_pages; asort($sorted_addons); //add add-ons to menu foreach ($sorted_addons as $sorted_addon) { $setting_tabs[] = array("name" => urlencode($sorted_addon["name"]), "label" => __(esc_html($sorted_addon["tab_label"]), "gravityforms")); } } $setting_tabs[] = array("name" => "uninstall", "label" => __("Uninstall", "gravityforms")); $setting_tabs = apply_filters("gform_settings_menu", $setting_tabs); ksort($setting_tabs, SORT_NUMERIC); // kind of boring having to pass the title, optionally get it from the settings tab if (!$title) { foreach ($setting_tabs as $tab) { if ($tab['name'] == $current_tab) { $title = $tab['label']; } } } ?> <div class="wrap <?php echo GFCommon::get_browser_class(); ?> "> <?php if ($message) { ?> <div id="message" class="updated"><p><?php echo $message; ?> </p></div> <?php } ?> <h2><?php echo esc_html($title); ?> </h2> <div id="gform_tab_group" class="gform_tab_group vertical_tabs"> <ul id="gform_tabs" class="gform_tabs"> <?php foreach ($setting_tabs as $tab) { $name = $tab["label"]; ?> <li <?php echo urlencode($current_tab) == $tab["name"] ? "class='active'" : ""; ?> > <a href="<?php echo esc_url(add_query_arg(array("subview" => $tab["name"]))); ?> "><?php echo esc_html($tab["label"]); ?> </a> </li> <?php } ?> </ul> <div id="gform_tab_container" class="gform_tab_container"> <div class="gform_tab_content" id="tab_<?php echo $current_tab; ?> "> <?php }
private static function get_progress_bar($form, $form_id, $confirmation_message) { $progress_complete = false; $progress_bar = ''; $page_count = self::get_max_page_number($form); $current_page = self::get_current_page($form_id); $page_name = rgar(rgar($form['pagination'], 'pages'), $current_page - 1); $page_name = !empty($page_name) ? ' - ' . $page_name : ''; $style = $form['pagination']['style']; $color = $style == 'custom' ? " color:{$form['pagination']['color']};" : ''; $bgcolor = $style == 'custom' ? " background-color:{$form['pagination']['backgroundColor']};" : ''; if (!empty($confirmation_message)) { $progress_complete = true; } //check admin setting for whether the progress bar should start at zero $start_at_zero = rgars($form, 'pagination/display_progressbar_on_confirmation'); //check for filter $start_at_zero = apply_filters('gform_progressbar_start_at_zero', $start_at_zero, $form); $progressbar_page_count = $start_at_zero ? $current_page - 1 : $current_page; $percent = !$progress_complete ? floor($progressbar_page_count / $page_count * 100) . '%' : '100%'; $percent_number = !$progress_complete ? floor($progressbar_page_count / $page_count * 100) . '' : '100'; if ($progress_complete) { $wrapper_css_class = GFCommon::get_browser_class() . ' gform_wrapper'; //add on surrounding wrapper class when confirmation page $progress_bar = "<div class='{$wrapper_css_class}' id='gform_wrapper_{$form_id}' >"; $page_name = !empty($form['pagination']['progressbar_completion_text']) ? $form['pagination']['progressbar_completion_text'] : ''; } $progress_bar .= "\n <div id='gf_progressbar_wrapper_{$form_id}' class='gf_progressbar_wrapper'>\n <h3 class='gf_progressbar_title'>"; $progress_bar .= !$progress_complete ? __('Step', 'gravityforms') . " {$current_page} " . __('of', 'gravityforms') . " {$page_count}{$page_name}" : "{$page_name}"; $progress_bar .= "\n </h3>\n <div class='gf_progressbar'>\n <div class='gf_progressbar_percentage percentbar_{$style} percentbar_{$percent_number}' style='width:{$percent};{$color}{$bgcolor}'><span>{$percent}</span></div>\n </div></div>"; //close div for surrounding wrapper class when confirmation page $progress_bar .= $progress_complete ? $confirmation_message . '</div>' : ''; return $progress_bar; }
public function display_updates() { ?> <div class="wrap <?php echo GFCommon::get_browser_class(); ?> "> <h2><?php esc_html_e($this->_title); ?> </h2> <?php $force_check = rgget('force-check') == 1; $version_info = $this->get_version_info($this->_slug, !$force_check); if (!rgar($version_info, 'is_valid_key')) { ?> <div class="gf_update_expired alert_red"> <?php printf(esc_html__('%sRegister%s your copy of Gravity Forms to receive access to automatic updates and support. Need a license key? %sPurchase one now%s.', 'gravityforms'), '<a href="admin.php?page=gf_settings">', '</a>', '<a href="http://www.gravityforms.com">', '</a>'); ?> </div> <?php } elseif (version_compare($this->_version, $version_info['version'], '<')) { if (rgar($version_info, 'is_valid_key')) { $plugin_file = $this->_path; $upgrade_url = wp_nonce_url('update.php?action=upgrade-plugin&plugin=' . urlencode($plugin_file), 'upgrade-plugin_' . $plugin_file); $details_url = self_admin_url('plugin-install.php?tab=plugin-information&plugin=' . urlencode($this->_slug) . '§ion=changelog&TB_iframe=true&width=600&height=800'); $message_link_text = sprintf(esc_html__('View version %s details', 'gravityforms'), $version_info['version']); $message_link = sprintf('<a href="%s" class="thickbox" title="%s">%s</a>', esc_url($details_url), esc_attr($this->_title), $message_link_text); $message = sprintf(esc_html__('There is a new version of %1$s available. %s.', 'gravityforms'), $this->_title, $message_link); ?> <div class="gf_update_outdated alert_yellow"> <?php echo $message . ' <p>' . sprintf(esc_html__('You can update to the latest version automatically or download the update and install it manually. %sUpdate Automatically%s %sDownload Update%s', 'gravityforms'), "</p><a class='button-primary' href='{$upgrade_url}'>", '</a>', " <a class='button' href='{$version_info['url']}'>", '</a>'); ?> </div> <?php } } else { ?> <div class="gf_update_current alert_green"> <?php printf(esc_html__('Your version of %s is up to date.', 'gravityforms'), $this->_title); ?> </div> <?php } ?> </div> <?php }
public static function leads_page($form_id) { global $wpdb; //quit if version of wp is not supported if (!GFCommon::ensure_wp_version()) { return; } $form = GFFormsModel::get_form_meta($form_id); $table = new GF_Entry_List_Table(array('form_id' => $form_id, 'form' => $form)); $table->prepare_items(); $table->output_styles(); $table->output_scripts(); wp_print_styles(array('thickbox')); echo GFCommon::get_remote_message(); ?> <div class="wrap <?php echo GFCommon::get_browser_class(); ?> "> <?php GFCommon::form_page_title($form); ?> <?php GFCommon::display_dismissible_message(); ?> <?php GFForms::top_toolbar(); if ($table->has_items()) { ?> <div id="entry_search_container"> <div id="entry_filters" style=""></div> <a style="" class="button" id="entry_search_button" href="javascript:Search('<?php echo esc_js($table->get_orderby()); ?> ', '<?php echo esc_js($table->get_order()); ?> ', <?php echo absint($form_id); ?> , jQuery('.gform-filter-value').val(), '<?php echo esc_js($table->get_filter()); ?> ', jQuery('.gform-filter-field').val(), jQuery('.gform-filter-operator').val());"><?php esc_html_e('Search', 'gravityforms'); ?> </a> </div> <?php } ?> <form id="entry_list_form" method="post"> <?php $table->views(); $table->display(); ?> </form> </div> <?php }
public static function page_header($title = '') { // register admin styles $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG || isset($_GET['gform_debug']) ? '' : '.min'; wp_register_style('gform_admin', GFCommon::get_base_url() . "/css/admin{$min}.css"); wp_print_styles(array('jquery-ui-styles', 'gform_admin', 'wp-pointer')); $form = GFFormsModel::get_form_meta(rgget('id')); $current_tab = rgempty('subview', $_GET) ? 'settings' : rgget('subview'); $setting_tabs = GFFormSettings::get_tabs($form['id']); // kind of boring having to pass the title, optionally get it from the settings tab if (!$title) { foreach ($setting_tabs as $tab) { if ($tab['name'] == $current_tab) { $title = $tab['label']; } } } ?> <div class="wrap gforms_edit_form gforms_form_settings_wrap <?php echo GFCommon::get_browser_class(); ?> "> <?php GFCommon::form_page_title($form); ?> <?php GFCommon::display_dismissible_message(); ?> <?php GFCommon::display_admin_message(); ?> <?php RGForms::top_toolbar(); ?> <div id="gform_tab_group" class="gform_tab_group vertical_tabs"> <ul id="gform_tabs" class="gform_tabs"> <?php foreach ($setting_tabs as $tab) { $query = array('subview' => $tab['name']); if (isset($tab['query'])) { $query = array_merge($query, $tab['query']); } $url = add_query_arg($query); ?> <li <?php echo $current_tab == $tab['name'] ? "class='active'" : ''; ?> > <a href="<?php echo esc_url($url); ?> "><?php echo esc_html($tab['label']); ?> </a><span></span> </li> <?php } ?> </ul> <div id="gform_tab_container_1" class="gform_tab_container"> <div class="gform_tab_content" id="tab_<?php echo esc_attr($current_tab); ?> "> <?php }
public static function form_list_page() { global $wpdb; // todo: hook up bulk action confirmation js // todo: apply button filter if (!GFCommon::ensure_wp_version()) { return; } echo GFCommon::get_remote_message(); wp_print_styles(array('thickbox')); add_action('admin_print_footer_scripts', array(__CLASS__, 'output_form_list_script_block'), 20); $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG || isset($_GET['gform_debug']) ? '' : '.min'; ?> <script type="text/javascript"> // checked by the ToggleActive method to prevent errors when form status icon is clicked before page has fully loaded var gfPageLoaded = false; </script> <style type="text/css"> body div#TB_window[style] { width: 405px !important; height: 340px !important; margin-left: -202px !important; } body #TB_ajaxContent { height: 290px !important; overflow: hidden; } .gf_new_form_modal_container { padding: 30px; } .gf_new_form_modal_container .setting-row { margin: 0 0 10px; } .gf_new_form_modal_container .setting-row label { line-height: 24px; } .gf_new_form_modal_container .setting-row input, .gf_new_form_modal_container .setting-row textarea { display: block; width: 100%; } .gf_new_form_modal_container .setting-row textarea { height: 110px; } .gf_new_form_modal_container .submit-row { margin-top: 18px; } .gf_new_form_modal_container #gf_new_form_error_message { margin: 0 0 18px 5px !important; color: #BC0B0B; } .gf_new_form_modal_container img.gfspinner { position: relative; top: 5px; left: 5px; } .gf_not_ready { opacity: 0.25; } </style> <?php if (GFCommon::current_user_can_any('gravityforms_create_form')) { ?> <div id="gf_new_form_modal" style="display:none;"> <div class="gf_new_form_modal_container"> <div class="setting-row"> <label for="new_form_title"><?php esc_html_e('Form Title', 'gravityforms'); ?> <span class="gfield_required">*</span></label><br /> <input type="text" class="regular-text" value="" id="new_form_title" tabindex="9000"> </div> <div class="setting-row"> <label for="new_form_description"><?php esc_html_e('Form Description', 'gravityforms'); ?> </label><br /> <textarea class="regular-text" id="new_form_description" tabindex="9001"></textarea> </div> <div class="submit-row"> <?php /** * Allows for modification of the "New Form" button HTML * * @param string The HTML rendered for the "New Form" button. */ echo apply_filters('gform_new_form_button', '<input id="save_new_form" type="button" class="button button-large button-primary" value="' . esc_html__('Create Form', 'gravityforms') . '" onclick="saveNewForm();" onkeypress="saveNewForm();" tabindex="9002" />'); ?> <div id="gf_new_form_error_message" style="display:inline-block;"></div> </div> </div> </div> <?php } // - end of new form modal - // ?> <script text="text/javascript"> function TrashForm(form_id) { jQuery("#single_action_argument").val(form_id); jQuery("#single_action").val("trash"); jQuery("#form_list_form")[0].submit(); } function RestoreForm(form_id) { jQuery("#single_action_argument").val(form_id); jQuery("#single_action").val("restore"); jQuery("#form_list_form")[0].submit(); } function DeleteForm(form_id) { jQuery("#single_action_argument").val(form_id); jQuery("#single_action").val("delete"); jQuery("#form_list_form")[0].submit(); } function ConfirmDeleteForm(form_id){ if( confirm(<?php echo json_encode(__('WARNING: You are about to delete this form and ALL entries associated with it. ', 'gravityforms') . esc_html__('Cancel to stop, OK to delete.', 'gravityforms')); ?> ) ){ DeleteForm(form_id); } } function DuplicateForm(form_id) { jQuery("#single_action_argument").val(form_id); jQuery("#single_action").val("duplicate"); jQuery("#form_list_form")[0].submit(); } function ToggleActive(img, form_id) { if( ! gfPageLoaded ) { return; } var is_active = img.src.indexOf("active1.png") >= 0 if (is_active) { img.src = img.src.replace("active1.png", 'active0.png'); jQuery(img).attr('title', <?php echo json_encode(esc_attr__('Inactive', 'gravityforms')); ?> ).attr('alt', <?php echo json_encode(esc_attr__('Inactive', 'gravityforms')); ?> ); } else { img.src = img.src.replace("active0.png", 'active1.png'); jQuery(img).attr('title', <?php echo json_encode(esc_attr__('Active', 'gravityforms')); ?> ).attr('alt', <?php echo json_encode(esc_attr__('Active', 'gravityforms')); ?> ); } UpdateCount("active_count", is_active ? -1 : 1); UpdateCount("inactive_count", is_active ? 1 : -1); var mysack = new sack(<?php echo json_encode(admin_url('admin-ajax.php')); ?> ); mysack.execute = 1; mysack.method = 'POST'; mysack.setVar("action", "rg_update_form_active"); mysack.setVar("rg_update_form_active", <?php echo json_encode(wp_create_nonce('rg_update_form_active')); ?> ); mysack.setVar("form_id", form_id); mysack.setVar("is_active", is_active ? 0 : 1); mysack.onError = function () { alert(<?php echo json_encode(__('Ajax error while updating form', 'gravityforms')); ?> ) }; mysack.runAJAX(); return true; } function UpdateCount(element_id, change) { var element = jQuery("#" + element_id); var count = parseInt(element.html()) + change element.html(count + ""); } function gfConfirmBulkAction(element_id) { var element = "#" + element_id; if (jQuery(element).val() == 'delete') return confirm(<?php echo json_encode(__('WARNING: You are about to delete these forms and ALL entries associated with them. ', 'gravityforms') . __("'Cancel' to stop, 'OK' to delete.", 'gravityforms')); ?> ); else if (jQuery(element).val() == 'reset_views') return confirm(<?php echo json_encode(__('Are you sure you would like to reset the Views for the selected forms? ', 'gravityforms') . __("'Cancel' to stop, 'OK' to reset.", 'gravityforms')); ?> ); else if (jQuery(element).val() == 'delete_entries') return confirm(<?php echo json_encode(__('WARNING: You are about to delete ALL entries associated with the selected forms. ', 'gravityforms') . __("'Cancel' to stop, 'OK' to delete.", 'gravityforms')); ?> ); return true; } </script> <link rel="stylesheet" href="<?php echo esc_url(GFCommon::get_base_url()); ?> /css/admin<?php echo $min; ?> .css?ver=<?php echo GFForms::$version; ?> "/> <div class="wrap <?php echo sanitize_html_class(GFCommon::get_browser_class()); ?> "> <h2> <?php esc_html_e('Forms', 'gravityforms'); if (GFCommon::current_user_can_any('gravityforms_create_form')) { echo '<a class="add-new-h2" href="" onclick="return loadNewFormModal();" onkeypress="return loadNewFormModal();">' . esc_html__('Add New', 'gravityforms') . '</a>'; } ?> </h2> <?php GFCommon::display_dismissible_message(); ?> <form id="form_list_form" method="post"> <?php $table = new GF_Form_List_Table(); $table->process_action(); $table->views(); $table->prepare_items(); $table->display(); ?> </form> <?php }
public static function page_header($title = '') { // register admin styles wp_register_style('gform_admin', GFCommon::get_base_url() . '/css/admin.css'); wp_print_styles(array('jquery-ui-styles', 'gform_admin', 'wp-pointer')); $form = GFFormsModel::get_form_meta(rgget('id')); $current_tab = rgempty('subview', $_GET) ? 'settings' : rgget('subview'); $setting_tabs = GFFormSettings::get_tabs($form['id']); // kind of boring having to pass the title, optionally get it from the settings tab if (!$title) { foreach ($setting_tabs as $tab) { if ($tab['name'] == $current_tab) { $title = $tab['label']; } } } ?> <div class="wrap gforms_edit_form <?php echo GFCommon::get_browser_class(); ?> "> <h2 class="gf_admin_page_title"> <span><?php echo $title; ?> </span><span class="gf_admin_page_subtitle"><span class="gf_admin_page_formid">ID: <?php echo $form['id']; ?> </span><span class="gf_admin_page_formname"><?php _e('Form Name', 'gravityforms'); ?> : <?php echo $form['title']; ?> </span></span> </h2> <?php GFCommon::display_admin_message(); ?> <?php RGForms::top_toolbar(); ?> <div id="gform_tab_group" class="gform_tab_group vertical_tabs"> <ul id="gform_tabs" class="gform_tabs"> <?php foreach ($setting_tabs as $tab) { $query = array('subview' => $tab['name']); if (isset($tab['query'])) { $query = array_merge($query, $tab['query']); } $url = add_query_arg($query); ?> <li <?php echo $current_tab == $tab['name'] ? "class='active'" : ''; ?> > <a href="<?php echo esc_url($url); ?> "><?php echo esc_html($tab['label']); ?> </a><span></span> </li> <?php } ?> </ul> <div id="gform_tab_container_1" class="gform_tab_container"> <div class="gform_tab_content" id="tab_<?php echo $current_tab; ?> "> <?php }
public static function form_list_page() { global $wpdb; if (!GFCommon::ensure_wp_version()) { return; } echo GFCommon::get_remote_message(); $action = RGForms::post("action"); $bulk_action = RGForms::post("bulk_action"); $bulk_action = !empty($bulk_action) ? $bulk_action : RGForms::post("bulk_action2"); if ($action == "trash") { check_admin_referer('gforms_update_forms', 'gforms_update_forms'); $form_id = RGForms::post("action_argument"); RGFormsModel::trash_form($form_id); $message = __('Form moved to the trash.', 'gravityforms'); } else { if ($action == "restore") { check_admin_referer('gforms_update_forms', 'gforms_update_forms'); $form_id = RGForms::post("action_argument"); RGFormsModel::restore_form($form_id); $message = __('Form restored.', 'gravityforms'); } else { if ($action == "delete") { check_admin_referer('gforms_update_forms', 'gforms_update_forms'); $form_id = RGForms::post("action_argument"); if (GFCommon::current_user_can_any("gravityforms_delete_forms")) { RGFormsModel::delete_form($form_id); $message = __('Form deleted.', 'gravityforms'); } else { $message = __("You don't have adequate permissions to delete forms.", 'gravityforms'); } } else { if ($action == "duplicate") { check_admin_referer('gforms_update_forms', 'gforms_update_forms'); $form_id = RGForms::post("action_argument"); RGFormsModel::duplicate_form($form_id); $message = __('Form duplicated.', 'gravityforms'); } } } } if ($bulk_action) { check_admin_referer('gforms_update_forms', 'gforms_update_forms'); $form_ids = is_array(rgpost('form')) ? rgpost('form') : array(); $form_count = count($form_ids); switch ($bulk_action) { case 'trash': GFFormsModel::trash_forms($form_ids); $message = _n('%s form moved to the trash.', '%s forms moved to the trash.', $form_count, 'gravityforms'); break; case 'restore': GFFormsModel::restore_forms($form_ids); $message = _n('%s form restored.', '%s forms restored.', $form_count, 'gravityforms'); break; case 'delete': if (GFCommon::current_user_can_any("gravityforms_delete_forms")) { GFFormsModel::delete_forms($form_ids); $message = _n('%s form deleted.', '%s forms deleted.', $form_count, 'gravityforms'); } else { $message = __("You don't have adequate permissions to delete forms.", 'gravityforms'); } break; case 'reset_views': foreach ($form_ids as $form_id) { GFFormsModel::delete_views($form_id); } $message = _n('Views for %s form have been reset.', 'Views for %s forms have been reset.', $form_count, 'gravityforms'); break; case 'delete_entries': if (GFCommon::current_user_can_any("gravityforms_delete_entries")) { foreach ($form_ids as $form_id) { GFFormsModel::delete_leads_by_form($form_id); } $message = _n('Entries for %s form have been deleted.', 'Entries for %s forms have been deleted.', $form_count, 'gravityforms'); } else { $message = __("You don't have adequate permissions to delete entries.", "gravityforms"); } break; case 'activate': foreach ($form_ids as $form_id) { GFFormsModel::update_form_active($form_id, 1); } $message = _n('%s form has been marked as active.', '%s forms have been marked as active.', $form_count, 'gravityforms'); break; case 'deactivate': foreach ($form_ids as $form_id) { GFFormsModel::update_form_active($form_id, 0); } $message = _n('%s form has been marked as inactive.', '%s forms have been marked as inactive.', $form_count, 'gravityforms'); break; } if (isset($message)) { $message = sprintf($message, $form_count); } } $sort_column = empty($_GET["sort"]) ? "title" : $_GET["sort"]; $sort_direction = empty($_GET["dir"]) ? "ASC" : $_GET["dir"]; $active = RGForms::get("active") == "" ? null : RGForms::get("active"); $trash = RGForms::get("trash") == "" ? false : RGForms::get("trash"); $trash = esc_attr($trash); $forms = RGFormsModel::get_forms($active, $sort_column, $sort_direction, $trash); $form_count = RGFormsModel::get_form_count(); // - new form modal - // wp_print_styles(array('thickbox')); /*wp_enqueue_script( 'form_admin' ); wp_print_scripts( array( 'form_admin' ) );*/ ?> <script type="text/javascript"> jQuery(document).ready(function($) { <?php if (rgget('page') == 'gf_new_form') { ?> loadNewFormModal(); <?php } ?> $('.gf_form_action_has_submenu').hover(function(){ var l = jQuery(this).offset().left; jQuery(this).find('.gf_submenu') .toggle() .offset({ left: l }); }, function(){ jQuery(this).find('.gf_submenu').hide(); }); }); function loadNewFormModal() { resetNewFormModal(); tb_show('<?php _e('Create a New Form', 'gravityforms'); ?> ', '#TB_inline?width=375&inlineId=gf_new_form_modal'); jQuery('#new_form_title').focus(); return false; } function saveNewForm() { var createButton = jQuery('#save_new_form'); var spinner = new gfAjaxSpinner(createButton, gf_vars.baseUrl + '/images/spinner.gif'); // clear error message jQuery('#gf_new_form_error_message').html(''); var origVal = createButton.val(); createButton.val('<?php _e('Creating Form...', 'gravityforms'); ?> '); var form = { title: jQuery('#new_form_title').val(), description: jQuery('#new_form_description').val(), labelPlacement:'top_label', descriptionPlacement:'below', button: { type: 'text', text: '<?php _e("Submit", "gravityforms"); ?> ', imageUrl : '' }, fields:[] } jQuery.post(ajaxurl, { form: jQuery.toJSON(form), action: 'gf_save_new_form', gf_save_new_form: '<?php echo wp_create_nonce('gf_save_new_form'); ?> ' }, function(response){ spinner.destroy(); var respData = jQuery.parseJSON(response); if(respData['error']) { // adding class later otherwise WP moves box up to the top of the page jQuery('#gf_new_form_error_message').html( respData.error ); addInputErrorIcon( '#new_form_title' ); createButton.val(origVal); } else { location.href = respData.redirect; createButton.val('<?php _e('Saved! Redirecting...', 'gravityforms'); ?> '); } }); } function resetNewFormModal() { jQuery('#new_form_title').val(''); jQuery('#new_form_description').val(''); jQuery('#gf_new_form_error_message').html(''); removeInputErrorIcons( '.gf_new_form_modal_container' ); } function addInputErrorIcon( elem ) { var elem = jQuery(elem); elem.before( '<span class="gf_input_error_icon"></span>'); } function removeInputErrorIcons( elem ) { var elem = jQuery(elem); elem.find('span.gf_input_error_icon').remove(); } </script> <style type="text/css"> body div#TB_window[style] { width: 405px !important; height:340px !important; margin-left: -202px !important; } body #TB_ajaxContent { height: 290px !important; overflow: hidden; } .gf_new_form_modal_container { padding: 30px; } .gf_new_form_modal_container .setting-row { margin: 0 0 10px; } .gf_new_form_modal_container .setting-row label { line-height: 24px; } .gf_new_form_modal_container .setting-row input, .gf_new_form_modal_container .setting-row textarea { display: block; width: 100%; } .gf_new_form_modal_container .setting-row textarea { height: 110px; } .gf_new_form_modal_container .submit-row { margin-top: 18px; } .gf_new_form_modal_container #gf_new_form_error_message { margin: 0 0 18px 5px !important; color: #BC0B0B; } .gf_new_form_modal_container img.gfspinner { position: relative; top: 5px; left: 5px; } </style> <div id="gf_new_form_modal" style="display:none;"> <div class="gf_new_form_modal_container"> <div class="setting-row"> <label for="new_form_title"><?php _e('Form Title', 'gravityforms'); ?> <span class="gfield_required">*</span></label><br /> <input type="text" class="regular-text" value="" id="new_form_title" tabindex="9000"> </div> <div class="setting-row"> <label for="new_form_description"><?php _e('Form Description', 'gravityforms'); ?> </label><br /> <textarea class="regular-text" id="new_form_description" tabindex="9001"></textarea> </div> <div class="submit-row"> <?php echo apply_filters("gform_new_form_button", '<input id="save_new_form" type="button" class="button button-large button-primary" value="' . __('Create Form', 'gravityforms') . '" onclick="saveNewForm();" tabindex="9002" />'); ?> <div id="gf_new_form_error_message" style="display:inline-block;"></div> </div> </div> </div> <?php // - end of new form modal - // ?> <script text="text/javascript"> function TrashForm(form_id){ jQuery("#action_argument").val(form_id); jQuery("#action").val("trash"); jQuery("#forms_form")[0].submit(); } function RestoreForm(form_id){ jQuery("#action_argument").val(form_id); jQuery("#action").val("restore"); jQuery("#forms_form")[0].submit(); } function DeleteForm(form_id){ jQuery("#action_argument").val(form_id); jQuery("#action").val("delete"); jQuery("#forms_form")[0].submit(); } function DuplicateForm(form_id){ jQuery("#action_argument").val(form_id); jQuery("#action").val("duplicate"); jQuery("#forms_form")[0].submit(); } function ToggleActive(img, form_id){ var is_active = img.src.indexOf("active1.png") >=0 if(is_active){ img.src = img.src.replace("active1.png", "active0.png"); jQuery(img).attr('title','<?php _e("Inactive", "gravityforms"); ?> ').attr('alt', '<?php _e("Inactive", "gravityforms"); ?> '); } else{ img.src = img.src.replace("active0.png", "active1.png"); jQuery(img).attr('title','<?php _e("Active", "gravityforms"); ?> ').attr('alt', '<?php _e("Active", "gravityforms"); ?> '); } UpdateCount("active_count", is_active ? -1 : 1); UpdateCount("inactive_count", is_active ? 1 : -1); var mysack = new sack("<?php echo admin_url("admin-ajax.php"); ?> " ); mysack.execute = 1; mysack.method = 'POST'; mysack.setVar( "action", "rg_update_form_active" ); mysack.setVar( "rg_update_form_active", "<?php echo wp_create_nonce("rg_update_form_active"); ?> " ); mysack.setVar( "form_id", form_id); mysack.setVar( "is_active", is_active ? 0 : 1); mysack.onError = function() { alert('<?php echo esc_js(__("Ajax error while updating form", "gravityforms")); ?> ' )}; mysack.runAJAX(); return true; } function UpdateCount(element_id, change){ var element = jQuery("#" + element_id); var count = parseInt(element.html()) + change element.html(count + ""); } function gfConfirmBulkAction(element_id){ var element = "#" + element_id; if(jQuery(element).val() == 'delete') return confirm('<?php echo __("WARNING: You are about to delete these forms and ALL entries associated with them. ", "gravityforms") . __("\\'Cancel\\' to stop, \\'OK\\' to delete.", "gravityforms"); ?> '); else if(jQuery(element).val() == 'reset_views') return confirm('<?php echo __("Are you sure you would like to reset the Views for the selected forms? ", "gravityforms") . __("\\'Cancel\\' to stop, \\'OK\\' to reset.", "gravityforms"); ?> '); else if(jQuery(element).val() == 'delete_entries') return confirm('<?php echo __("WARNING: You are about to delete ALL entries associated with the selected forms. ", "gravityforms") . __("\\'Cancel\\' to stop, \\'OK\\' to delete.", "gravityforms"); ?> '); return true; } </script> <link rel="stylesheet" href="<?php echo GFCommon::get_base_url(); ?> /css/admin.css" /> <div class="wrap <?php echo GFCommon::get_browser_class(); ?> "> <h2> <?php _e("Forms", "gravityforms"); ?> <a class="add-new-h2" href="" onclick="return loadNewFormModal();"><?php _e("Add New", "gravityforms"); ?> </a> </h2> <?php if (isset($message)) { ?> <div class="updated below-h2" id="message"><p><?php echo $message; ?> </p></div> <?php } ?> <form id="forms_form" method="post"> <?php wp_nonce_field('gforms_update_forms', 'gforms_update_forms'); ?> <input type="hidden" id="action" name="action"/> <input type="hidden" id="action_argument" name="action_argument"/> <ul class="subsubsub"> <li><a class="<?php echo $active === null ? "current" : ""; ?> " href="?page=gf_edit_forms"><?php _e("All", "gravityforms"); ?> <span class="count">(<span id="all_count"><?php echo $form_count["total"]; ?> </span>)</span></a> | </li> <li><a class="<?php echo $active == "1" ? "current" : ""; ?> " href="?page=gf_edit_forms&active=1"><?php _e("Active", "gravityforms"); ?> <span class="count">(<span id="active_count"><?php echo $form_count["active"]; ?> </span>)</span></a> | </li> <li><a class="<?php echo $active == "0" ? "current" : ""; ?> " href="?page=gf_edit_forms&active=0"><?php _e("Inactive", "gravityforms"); ?> <span class="count">(<span id="inactive_count"><?php echo $form_count["inactive"]; ?> </span>)</span></a> | </li> <li><a class="<?php echo $active == "0" ? "current" : ""; ?> " href="?page=gf_edit_forms&trash=1"><?php _e("Trash", "gravityforms"); ?> <span class="count">(<span id="trash_count"><?php echo $form_count["trash"]; ?> </span>)</span></a></li> </ul> <?php if (GFCommon::current_user_can_any("gravityforms_delete_forms")) { ?> <div class="tablenav"> <div class="alignleft actions" style="padding:8px 0 7px 0;"> <label class="hidden" for="bulk_action"><?php _e("Bulk action", "gravityforms"); ?> </label> <select name="bulk_action" id="bulk_action"> <option value=''> <?php _e("Bulk action", "gravityforms"); ?> </option> <?php if ($trash) { ?> <option value='restore'><?php _e("Restore", "gravityforms"); ?> </option> <option value='delete'><?php _e("Delete permanently", "gravityforms"); ?> </option> <?php } else { ?> <option value='activate'><?php _e("Mark as Active", "gravityforms"); ?> </option> <option value='deactivate'><?php _e("Mark as Inactive", "gravityforms"); ?> </option> <option value='reset_views'><?php _e("Reset Views", "gravityforms"); ?> </option> <option value='delete_entries'><?php _e("Permanently Delete Entries", "gravityforms"); ?> </option> <option value='trash'><?php _e("Move to trash", "gravityforms"); ?> </option> <?php } ?> </select> <?php $apply_button = '<input type="submit" class="button" value="' . __("Apply", "gravityforms") . '" onclick="return gfConfirmBulkAction(\'bulk_action\');"/>'; echo apply_filters("gform_form_apply_button", $apply_button); ?> <br class="clear" /> </div> </div> <?php } ?> <table class="widefat fixed" cellspacing="0"> <thead> <tr> <?php if (GFCommon::current_user_can_any("gravityforms_delete_forms")) { ?> <th scope="col" id="cb" class="manage-column column-cb check-column" style=""><input type="checkbox" name="form_bulk_check_all" onclick="jQuery('.gform_list_checkbox').attr('checked', this.checked);" /></th> <?php } $dir = $sort_column == "is_active" && $sort_direction == "ASC" ? "DESC" : "ASC"; $url_active = admin_url("admin.php?page=gf_edit_forms&sort=is_active&dir={$dir}&trash={$trash}"); ?> <th scope="col" id="active" class="manage-column column-cb check-column" style="width:50px;cursor:pointer;" onclick="document.location='<?php echo $url_active; ?> '"></th> <?php $dir = $sort_column == "id" && $sort_direction == "ASC" ? "DESC" : "ASC"; $url_id = admin_url("admin.php?page=gf_edit_forms&sort=id&dir={$dir}&trash={$trash}"); ?> <th scope="col" id="id" class="manage-column" style="width:50px;cursor:pointer;" onclick="document.location='<?php echo $url_id; ?> '"><?php _e("Id", "gravityforms"); ?> </th> <?php $dir = $sort_column == "title" && $sort_direction == "ASC" ? "DESC" : "ASC"; $url_title = admin_url("admin.php?page=gf_edit_forms&sort=title&dir={$dir}&trash={$trash}"); ?> <th width="410" scope="col" id="title" class="manage-column column-title" style="cursor:pointer;" onclick="document.location='<?php echo $url_title; ?> '"><?php _e("Title", "gravityforms"); ?> </th> <th scope="col" id="author" class="manage-column column-author" style=""><?php _e("Views", "gravityforms"); ?> </th> <th scope="col" id="template" class="manage-column" style=""><?php _e("Entries", "gravityforms"); ?> </th> <th scope="col" id="template" class="manage-column" style=""><?php _e("Conversion", "gravityforms"); ?> <?php gform_tooltip("entries_conversion", "tooltip_left"); ?> </th> </tr> </thead> <tfoot> <tr> <?php if (GFCommon::current_user_can_any("gravityforms_delete_forms")) { ?> <th scope="col" id="cb" class="manage-column column-cb check-column" style=""><input type="checkbox" name="form_bulk_check_all" onclick="jQuery('.gform_list_checkbox').attr('checked', this.checked);" /></th> <?php } ?> <th scope="col" id="active" class="manage-column column-cb check-column"></th> <th scope="col" id="id" class="manage-column" style="cursor:pointer;" onclick="document.location='<?php echo $url_id; ?> '"><?php _e("Id", "gravityforms"); ?> </th> <th width="410" scope="col" id="title" style="cursor:pointer;" class="manage-column column-title" onclick="document.location='<?php echo $url_title; ?> '"><?php _e("Title", "gravityforms"); ?> </th> <th scope="col" id="author" class="manage-column column-author" style=""><?php _e("Views", "gravityforms"); ?> </th> <th scope="col" id="template" class="manage-column" style=""><?php _e("Entries", "gravityforms"); ?> </th> <th scope="col" id="template" class="manage-column" style=""><?php _e("Conversion", "gravityforms"); ?> </th> </tr> </tfoot> <tbody class="list:user user-list"> <?php if (sizeof($forms) > 0) { $alternate_row = false; foreach ($forms as $form) { $conversion = "0%"; if ($form->view_count > 0) { $conversion = number_format($form->lead_count / $form->view_count, 3) * 100 . "%"; } $gf_form_locking = new GFFormLocking(); ?> <tr class='author-self status-inherit <?php $gf_form_locking->list_row_class($form->id); ?> <?php echo ($alternate_row = !$alternate_row) ? 'alternate' : ''; ?> ' valign="top" data-id="<?php echo esc_attr($form->id); ?> "> <?php if (GFCommon::current_user_can_any("gravityforms_delete_forms")) { ?> <th scope="row" class="check-column"><input type="checkbox" name="form[]" value="<?php echo $form->id; ?> " class="gform_list_checkbox"/><?php $gf_form_locking->lock_indicator(); ?> </th> <?php } ?> <td> <?php if (!$trash) { ?> <img class="gform_active_icon" src="<?php echo GFCommon::get_base_url(); ?> /images/active<?php echo intval($form->is_active); ?> .png" style="cursor: pointer;" alt="<?php echo $form->is_active ? __("Active", "gravityforms") : __("Inactive", "gravityforms"); ?> " title="<?php echo $form->is_active ? __("Active", "gravityforms") : __("Inactive", "gravityforms"); ?> " onclick="ToggleActive(this, <?php echo $form->id; ?> ); " /> <?php } ?> </td> <td class="column-id"><?php echo $form->id; ?> </td> <td class="column-title"> <?php if ($trash) { echo $form->title; } else { ?> <strong><a class="row-title" disabled="<?php disabled(true, $trash); ?> " href="admin.php?page=gf_edit_forms&id=<?php echo $form->id; ?> " title="<?php _e("Edit", "gravityforms"); ?> "><?php echo $form->title; ?> </a></strong> <?php $gf_form_locking->lock_info($form->id); } ?> <div class="row-actions"> <?php if ($trash) { $form_actions['restore'] = array('label' => __("Restore", "gravityforms"), 'title' => __("Restore", "gravityforms"), 'url' => 'javascript:RestoreForm(' . $form->id . ');', 'capabilities' => "gravityforms_delete_forms", 'priority' => 600); $form_actions['delete'] = array('label' => __("Delete permanently", "gravityforms"), 'title' => __("Delete permanently", "gravityforms"), 'menu_class' => 'delete', 'url' => 'javascript: if(confirm("' . __("WARNING: You are about to delete this form and ALL entries associated with it. ", "gravityforms") . __('\\"Cancel\\" to stop, \\"OK\\" to delete.', "gravityforms") . '")){ DeleteForm(' . $form->id . ');}', 'capabilities' => "gravityforms_delete_forms", 'priority' => 500); } else { require_once GFCommon::get_base_path() . '/form_settings.php'; $form_actions = GFForms::get_toolbar_menu_items($form->id, true); $form_actions['duplicate'] = array('label' => __("Duplicate", "gravityforms"), 'title' => __("Duplicate this form", "gravityforms"), 'url' => 'javascript:DuplicateForm(' . $form->id . ');', 'capabilities' => "gravityforms_create_form", 'priority' => 600); $form_actions['trash'] = array('label' => __("Trash", "gravityforms"), 'title' => __("Move this form to the trash", "gravityforms"), 'url' => 'javascript:TrashForm(' . $form->id . ');', 'capabilities' => "gravityforms_delete_forms", 'menu_class' => 'trash', 'priority' => 500); } $form_actions = apply_filters("gform_form_actions", $form_actions, $form->id); echo GFForms::format_toolbar_menu_items($form_actions, true); ?> </div> </td> <td class="column-date"><strong><?php echo $form->view_count; ?> </strong></td> <td class="column-date"> <strong> <?php if ($form->lead_count > 0 && !$trash) { ?> <a href="<?php echo admin_url("admin.php?page=gf_entries&view=entries&id={$form->id}"); ?> "><?php echo $form->lead_count; ?> </a> <?php } else { echo $form->lead_count; } ?> </strong> </td> <td class="column-date"><?php echo $conversion; ?> </td> </tr> <?php } } else { ?> <tr> <td colspan="6" style="padding:20px;"> <?php if ($trash) { echo __("There are no forms in the trash.", "gravityforms"); } else { echo sprintf(__("You don't have any forms. Let's go %screate one%s!", "gravityforms"), '<a href="admin.php?page=gf_new_form">', "</a>"); } ?> </td> </tr> <?php } ?> </tbody> </table> <div class="tablenav"> <div class="alignleft actions" style="padding:8px 0 7px 0;"> <?php if (GFCommon::current_user_can_any("gravityforms_delete_forms")) { ?> <label class="hidden" for="bulk_action2"><?php _e("Bulk action", "gravityforms"); ?> </label> <select name="bulk_action2" id="bulk_action2"> <option value=''> <?php _e("Bulk action", "gravityforms"); ?> </option> <?php if ($trash) { ?> <option value='restore'><?php _e("Restore", "gravityforms"); ?> </option> <option value='delete'><?php _e("Delete permanently", "gravityforms"); ?> </option> <?php } else { ?> <option value='activate'><?php _e("Mark as Active", "gravityforms"); ?> </option> <option value='deactivate'><?php _e("Mark as Inactive", "gravityforms"); ?> </option> <option value='reset_views'><?php _e("Reset Views", "gravityforms"); ?> </option> <option value='delete_entries'><?php _e("Permanently Delete Entries", "gravityforms"); ?> </option> <option value='trash'><?php _e("Move to trash", "gravityforms"); ?> </option> <?php } ?> </select> <?php $apply_button = '<input type="submit" class="button" value="' . __("Apply", "gravityforms") . '" onclick="return gfConfirmBulkAction(\'bulk_action2\');"/>'; echo apply_filters("gform_form_apply_button", $apply_button); } ?> <br class="clear" /> </div> </div> </form> </div> <?php }
public static function form_list_page() { global $wpdb; if (!GFCommon::ensure_wp_version()) { return; } echo GFCommon::get_remote_message(); $action = RGForms::post('action'); $bulk_action = RGForms::post('bulk_action'); $bulk_action = !empty($bulk_action) ? $bulk_action : RGForms::post('bulk_action2'); if ($action == 'trash') { check_admin_referer('gforms_update_forms', 'gforms_update_forms'); $form_id = RGForms::post('action_argument'); RGFormsModel::trash_form($form_id); $message = __('Form moved to the trash.', 'gravityforms'); } else { if ($action == 'restore') { check_admin_referer('gforms_update_forms', 'gforms_update_forms'); $form_id = RGForms::post('action_argument'); RGFormsModel::restore_form($form_id); $message = __('Form restored.', 'gravityforms'); } else { if ($action == 'delete') { check_admin_referer('gforms_update_forms', 'gforms_update_forms'); $form_id = RGForms::post('action_argument'); if (GFCommon::current_user_can_any('gravityforms_delete_forms')) { RGFormsModel::delete_form($form_id); $message = __('Form deleted.', 'gravityforms'); } else { $message = __("You don't have adequate permission to delete forms.", 'gravityforms'); } } else { if ($action == 'duplicate') { check_admin_referer('gforms_update_forms', 'gforms_update_forms'); $form_id = RGForms::post('action_argument'); RGFormsModel::duplicate_form($form_id); $message = __('Form duplicated.', 'gravityforms'); } } } } if ($bulk_action) { check_admin_referer('gforms_update_forms', 'gforms_update_forms'); $form_ids = is_array(rgpost('form')) ? rgpost('form') : array(); $form_count = count($form_ids); switch ($bulk_action) { case 'trash': GFFormsModel::trash_forms($form_ids); $message = _n('%s form moved to the trash.', '%s forms moved to the trash.', $form_count, 'gravityforms'); break; case 'restore': GFFormsModel::restore_forms($form_ids); $message = _n('%s form restored.', '%s forms restored.', $form_count, 'gravityforms'); break; case 'delete': if (GFCommon::current_user_can_any('gravityforms_delete_forms')) { GFFormsModel::delete_forms($form_ids); $message = _n('%s form deleted.', '%s forms deleted.', $form_count, 'gravityforms'); } else { $message = __("You don't have adequate permissions to delete forms.", 'gravityforms'); } break; case 'reset_views': foreach ($form_ids as $form_id) { GFFormsModel::delete_views($form_id); } $message = _n('Views for %s form have been reset.', 'Views for %s forms have been reset.', $form_count, 'gravityforms'); break; case 'delete_entries': if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { foreach ($form_ids as $form_id) { GFFormsModel::delete_leads_by_form($form_id); } $message = _n('Entries for %s form have been deleted.', 'Entries for %s forms have been deleted.', $form_count, 'gravityforms'); } else { $message = __("You don't have adequate permission to delete entries.", 'gravityforms'); } break; case 'activate': foreach ($form_ids as $form_id) { GFFormsModel::update_form_active($form_id, 1); } $message = _n('%s form has been marked as active.', '%s forms have been marked as active.', $form_count, 'gravityforms'); break; case 'deactivate': foreach ($form_ids as $form_id) { GFFormsModel::update_form_active($form_id, 0); } $message = _n('%s form has been marked as inactive.', '%s forms have been marked as inactive.', $form_count, 'gravityforms'); break; } if (isset($message)) { $message = sprintf($message, $form_count); } } $sort_column = empty($_GET['sort']) ? 'title' : $_GET['sort']; $db_columns = GFFormsModel::get_form_db_columns(); if (!in_array(strtolower($sort_column), $db_columns)) { $sort_column = 'title'; } $sort_direction = empty($_GET['dir']) ? 'ASC' : $_GET['dir']; $active = RGForms::get('active') == '' ? null : (bool) RGForms::get('active'); $trash = RGForms::get('trash') == '' ? false : (bool) RGForms::get('trash'); $forms = RGFormsModel::get_forms($active, $sort_column, $sort_direction, $trash); $form_count = RGFormsModel::get_form_count(); wp_print_styles(array('thickbox')); add_action('admin_print_footer_scripts', array(__CLASS__, 'output_form_list_script_block'), 20); $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG || isset($_GET['gform_debug']) ? '' : '.min'; ?> <script type="text/javascript"> // checked by the ToggleActive method to prevent errors when form status icon is clicked before page has fully loaded var gfPageLoaded = false; </script> <style type="text/css"> body div#TB_window[style] { width: 405px !important; height: 340px !important; margin-left: -202px !important; } body #TB_ajaxContent { height: 290px !important; overflow: hidden; } .gf_new_form_modal_container { padding: 30px; } .gf_new_form_modal_container .setting-row { margin: 0 0 10px; } .gf_new_form_modal_container .setting-row label { line-height: 24px; } .gf_new_form_modal_container .setting-row input, .gf_new_form_modal_container .setting-row textarea { display: block; width: 100%; } .gf_new_form_modal_container .setting-row textarea { height: 110px; } .gf_new_form_modal_container .submit-row { margin-top: 18px; } .gf_new_form_modal_container #gf_new_form_error_message { margin: 0 0 18px 5px !important; color: #BC0B0B; } .gf_new_form_modal_container img.gfspinner { position: relative; top: 5px; left: 5px; } .gf_not_ready { opacity: 0.25; } </style> <?php if (GFCommon::current_user_can_any('gravityforms_create_form')) { ?> <div id="gf_new_form_modal" style="display:none;"> <div class="gf_new_form_modal_container"> <div class="setting-row"> <label for="new_form_title"><?php esc_html_e('Form Title', 'gravityforms'); ?> <span class="gfield_required">*</span></label><br /> <input type="text" class="regular-text" value="" id="new_form_title" tabindex="9000"> </div> <div class="setting-row"> <label for="new_form_description"><?php esc_html_e('Form Description', 'gravityforms'); ?> </label><br /> <textarea class="regular-text" id="new_form_description" tabindex="9001"></textarea> </div> <div class="submit-row"> <?php /** * Allows for modification of the "New Form" button HTML * * @param string The HTML rendered for the "New Form" button. */ echo apply_filters('gform_new_form_button', '<input id="save_new_form" type="button" class="button button-large button-primary" value="' . esc_html__('Create Form', 'gravityforms') . '" onclick="saveNewForm();" tabindex="9002" />'); ?> <div id="gf_new_form_error_message" style="display:inline-block;"></div> </div> </div> </div> <?php } // - end of new form modal - // ?> <script text="text/javascript"> function TrashForm(form_id) { jQuery("#action_argument").val(form_id); jQuery("#action").val("trash"); jQuery("#forms_form")[0].submit(); } function RestoreForm(form_id) { jQuery("#action_argument").val(form_id); jQuery("#action").val("restore"); jQuery("#forms_form")[0].submit(); } function DeleteForm(form_id) { jQuery("#action_argument").val(form_id); jQuery("#action").val("delete"); jQuery("#forms_form")[0].submit(); } function ConfirmDeleteForm(form_id){ if( confirm(<?php echo json_encode(__('WARNING: You are about to delete this form and ALL entries associated with it. ', 'gravityforms') . esc_html__('Cancel to stop, OK to delete.', 'gravityforms')); ?> ) ){ DeleteForm(form_id); } } function DuplicateForm(form_id) { jQuery("#action_argument").val(form_id); jQuery("#action").val("duplicate"); jQuery("#forms_form")[0].submit(); } function ToggleActive(img, form_id) { if( ! gfPageLoaded ) { return; } var is_active = img.src.indexOf("active1.png") >= 0 if (is_active) { img.src = img.src.replace("active1.png", 'active0.png'); jQuery(img).attr('title', <?php echo json_encode(esc_attr__('Inactive', 'gravityforms')); ?> ).attr('alt', <?php echo json_encode(esc_attr__('Inactive', 'gravityforms')); ?> ); } else { img.src = img.src.replace("active0.png", 'active1.png'); jQuery(img).attr('title', <?php echo json_encode(esc_attr__('Active', 'gravityforms')); ?> ).attr('alt', <?php echo json_encode(esc_attr__('Active', 'gravityforms')); ?> ); } UpdateCount("active_count", is_active ? -1 : 1); UpdateCount("inactive_count", is_active ? 1 : -1); var mysack = new sack(<?php echo json_encode(admin_url('admin-ajax.php')); ?> ); mysack.execute = 1; mysack.method = 'POST'; mysack.setVar("action", "rg_update_form_active"); mysack.setVar("rg_update_form_active", <?php echo json_encode(wp_create_nonce('rg_update_form_active')); ?> ); mysack.setVar("form_id", form_id); mysack.setVar("is_active", is_active ? 0 : 1); mysack.onError = function () { alert(<?php echo json_encode(__('Ajax error while updating form', 'gravityforms')); ?> ) }; mysack.runAJAX(); return true; } function UpdateCount(element_id, change) { var element = jQuery("#" + element_id); var count = parseInt(element.html()) + change element.html(count + ""); } function gfConfirmBulkAction(element_id) { var element = "#" + element_id; if (jQuery(element).val() == 'delete') return confirm(<?php echo json_encode(__('WARNING: You are about to delete these forms and ALL entries associated with them. ', 'gravityforms') . __("'Cancel' to stop, 'OK' to delete.", 'gravityforms')); ?> ); else if (jQuery(element).val() == 'reset_views') return confirm(<?php echo json_encode(__('Are you sure you would like to reset the Views for the selected forms? ', 'gravityforms') . __("'Cancel' to stop, 'OK' to reset.", 'gravityforms')); ?> ); else if (jQuery(element).val() == 'delete_entries') return confirm(<?php echo json_encode(__('WARNING: You are about to delete ALL entries associated with the selected forms. ', 'gravityforms') . __("'Cancel' to stop, 'OK' to delete.", 'gravityforms')); ?> ); return true; } </script> <link rel="stylesheet" href="<?php echo esc_url(GFCommon::get_base_url()); ?> /css/admin<?php echo $min; ?> .css"/> <div class="wrap <?php echo sanitize_html_class(GFCommon::get_browser_class()); ?> "> <h2> <?php esc_html_e('Forms', 'gravityforms'); if (GFCommon::current_user_can_any('gravityforms_create_form')) { echo '<a class="add-new-h2" href="" onclick="return loadNewFormModal();">' . esc_html__('Add New', 'gravityforms') . '</a>'; } ?> </h2> <?php if (isset($message)) { ?> <div class="updated below-h2" id="message"><p><?php echo esc_html($message); ?> </p></div> <?php } ?> <form id="forms_form" method="post"> <?php wp_nonce_field('gforms_update_forms', 'gforms_update_forms'); ?> <input type="hidden" id="action" name="action" /> <input type="hidden" id="action_argument" name="action_argument" /> <ul class="subsubsub"> <li> <a class="<?php echo $active === null ? 'current' : ''; ?> " href="?page=gf_edit_forms"><?php echo esc_html(_x('All', 'Form List', 'gravityforms')); ?> <span class="count">(<span id="all_count"><?php echo $form_count['total']; ?> </span>)</span></a> | </li> <li> <a class="<?php echo $active == '1' ? 'current' : ''; ?> " href="?page=gf_edit_forms&active=1"><?php echo esc_html(_x('Active', 'Form List', 'gravityforms')); ?> <span class="count">(<span id="active_count"><?php echo $form_count['active']; ?> </span>)</span></a> | </li> <li> <a class="<?php echo $active == '0' ? 'current' : ''; ?> " href="?page=gf_edit_forms&active=0"><?php echo esc_html(_x('Inactive', 'Form List', 'gravityforms')); ?> <span class="count">(<span id="inactive_count"><?php echo $form_count['inactive']; ?> </span>)</span></a> | </li> <li> <a class="<?php echo $active == '0' ? 'current' : ''; ?> " href="?page=gf_edit_forms&trash=1"><?php esc_html_e('Trash', 'gravityforms'); ?> <span class="count">(<span id="trash_count"><?php echo $form_count['trash']; ?> </span>)</span></a> </li> </ul> <?php if (GFCommon::current_user_can_any('gravityforms_delete_forms')) { ?> <div class="tablenav"> <div class="alignleft actions" style="padding:8px 0 7px 0;"> <label class="hidden" for="bulk_action"><?php esc_html_e('Bulk action', 'gravityforms'); ?> </label> <select name="bulk_action" id="bulk_action"> <option value=''> <?php esc_html_e('Bulk action', 'gravityforms'); ?> </option> <?php if ($trash) { ?> <option value='restore'><?php esc_html_e('Restore', 'gravityforms'); ?> </option> <option value='delete'><?php esc_html_e('Delete permanently', 'gravityforms'); ?> </option> <?php } else { ?> <option value='activate'><?php esc_html_e('Mark as Active', 'gravityforms'); ?> </option> <option value='deactivate'><?php esc_html_e('Mark as Inactive', 'gravityforms'); ?> </option> <option value='reset_views'><?php esc_html_e('Reset Views', 'gravityforms'); ?> </option> <option value='delete_entries'><?php esc_html_e('Permanently Delete Entries', 'gravityforms'); ?> </option> <option value='trash'><?php esc_html_e('Move to trash', 'gravityforms'); ?> </option> <?php } ?> </select> <?php $apply_button = '<input type="submit" class="button" value="' . __('Apply', 'gravityforms') . '" onclick="return gfConfirmBulkAction(\'bulk_action\');"/>'; /** * A filter that allows for modification of the form "Apply" button * * @param string $apply_button The HTML for the "Apply" Button */ echo apply_filters('gform_form_apply_button', $apply_button); ?> <br class="clear" /> </div> </div> <?php } ?> <table class="widefat fixed" cellspacing="0"> <thead> <tr> <?php if (GFCommon::current_user_can_any('gravityforms_delete_forms')) { ?> <th scope="col" id="cb" class="manage-column column-cb check-column" style=""> <input type="checkbox" name="form_bulk_check_all" onclick="jQuery('.gform_list_checkbox').attr('checked', this.checked);" /> </th> <?php } $dir = $sort_column == 'is_active' && $sort_direction == 'ASC' ? 'DESC' : 'ASC'; $url_active = admin_url("admin.php?page=gf_edit_forms&sort=is_active&dir={$dir}&trash={$trash}"); ?> <th scope="col" id="active" class="manage-column column-cb check-column" style="width:50px;cursor:pointer;" onclick="document.location='<?php echo esc_url($url_active); ?> '"></th> <?php $dir = $sort_column == 'id' && $sort_direction == 'ASC' ? 'DESC' : 'ASC'; $url_id = admin_url("admin.php?page=gf_edit_forms&sort=id&dir={$dir}&trash={$trash}"); ?> <th scope="col" id="id" class="manage-column" style="width:50px;cursor:pointer;" onclick="document.location='<?php echo $url_id; ?> '"><?php esc_html_e('Id', 'gravityforms'); ?> </th> <?php $dir = $sort_column == 'title' && $sort_direction == 'ASC' ? 'DESC' : 'ASC'; $url_title = admin_url("admin.php?page=gf_edit_forms&sort=title&dir={$dir}&trash={$trash}"); ?> <th width="410" scope="col" id="title" class="manage-column column-title" style="cursor:pointer;" onclick="document.location='<?php echo $url_title; ?> '"><?php esc_html_e('Title', 'gravityforms'); ?> </th> <th scope="col" id="author" class="manage-column column-author" style=""><?php esc_html_e('Views', 'gravityforms'); ?> </th> <th scope="col" id="template" class="manage-column" style=""><?php esc_html_e('Entries', 'gravityforms'); ?> </th> <th scope="col" id="template" class="manage-column" style=""><?php esc_html_e('Conversion', 'gravityforms'); ?> <?php gform_tooltip('entries_conversion', 'tooltip_left'); ?> </th> </tr> </thead> <tfoot> <tr> <?php if (GFCommon::current_user_can_any('gravityforms_delete_forms')) { ?> <th scope="col" id="cb" class="manage-column column-cb check-column" style=""> <input type="checkbox" name="form_bulk_check_all" onclick="jQuery('.gform_list_checkbox').attr('checked', this.checked);" /> </th> <?php } ?> <th scope="col" id="active" class="manage-column column-cb check-column"></th> <th scope="col" id="id" class="manage-column" style="cursor:pointer;" onclick="document.location='<?php echo $url_id; ?> '"><?php esc_html_e('Id', 'gravityforms'); ?> </th> <th width="410" scope="col" id="title" style="cursor:pointer;" class="manage-column column-title" onclick="document.location='<?php echo $url_title; ?> '"><?php esc_html_e('Title', 'gravityforms'); ?> </th> <th scope="col" id="author" class="manage-column column-author" style=""><?php esc_html_e('Views', 'gravityforms'); ?> </th> <th scope="col" id="template" class="manage-column" style=""><?php esc_html_e('Entries', 'gravityforms'); ?> </th> <th scope="col" id="template" class="manage-column" style=""><?php esc_html_e('Conversion', 'gravityforms'); ?> </th> </tr> </tfoot> <tbody class="list:user user-list"> <?php if (sizeof($forms) > 0) { $alternate_row = false; foreach ($forms as $form) { $conversion = '0%'; if ($form->view_count > 0) { $conversion = number_format($form->lead_count / $form->view_count, 3) * 100 . '%'; } $gf_form_locking = new GFFormLocking(); ?> <tr class='author-self status-inherit <?php $gf_form_locking->list_row_class($form->id); ?> <?php echo ($alternate_row = !$alternate_row) ? 'alternate' : ''; ?> ' valign="top" data-id="<?php echo absint($form->id); ?> "> <?php if (GFCommon::current_user_can_any('gravityforms_delete_forms')) { ?> <th scope="row" class="check-column"> <input type="checkbox" name="form[]" value="<?php echo absint($form->id); ?> " class="gform_list_checkbox" /><?php $gf_form_locking->lock_indicator(); ?> </th> <?php } ?> <td> <?php if (!$trash) { ?> <img class="gform_active_icon gf_not_ready" src="<?php echo esc_url(GFCommon::get_base_url()); ?> /images/active<?php echo intval($form->is_active); ?> .png" style="cursor: pointer;" alt="<?php echo $form->is_active ? esc_attr__('Active', 'gravityforms') : esc_attr__('Inactive', 'gravityforms'); ?> " title="<?php echo $form->is_active ? esc_attr__('Active', 'gravityforms') : esc_attr__('Inactive', 'gravityforms'); ?> " onclick="ToggleActive(this, <?php echo absint($form->id); ?> ); " /> <?php } ?> </td> <td class="column-id"><?php echo absint($form->id); ?> </td> <td class="column-title"> <?php if ($trash) { echo esc_html($form->title); } else { ?> <strong><a class="row-title" disabled="<?php disabled(true, $trash); ?> " href="admin.php?page=gf_edit_forms&id=<?php echo absint($form->id); ?> " title="<?php esc_attr_e('Edit', 'gravityforms'); ?> "><?php echo esc_html($form->title); ?> </a></strong> <?php $gf_form_locking->lock_info($form->id); } ?> <div class="row-actions"> <?php if ($trash) { $form_actions['restore'] = array('label' => __('Restore', 'gravityforms'), 'title' => __('Restore', 'gravityforms'), 'url' => '#', 'onclick' => 'RestoreForm(' . absint($form->id) . ');', 'capabilities' => 'gravityforms_delete_forms', 'priority' => 600); $form_actions['delete'] = array('label' => __('Delete permanently', 'gravityforms'), 'title' => __('Delete permanently', 'gravityforms'), 'menu_class' => 'delete', 'url' => '#', 'onclick' => 'ConfirmDeleteForm(' . absint($form->id) . ');', 'capabilities' => 'gravityforms_delete_forms', 'priority' => 500); } else { require_once GFCommon::get_base_path() . '/form_settings.php'; $form_actions = GFForms::get_toolbar_menu_items($form->id, true); $form_actions['duplicate'] = array('label' => __('Duplicate', 'gravityforms'), 'title' => __('Duplicate this form', 'gravityforms'), 'url' => '#', 'onclick' => 'DuplicateForm(' . absint($form->id) . ');return false;', 'capabilities' => 'gravityforms_create_form', 'priority' => 600); $form_actions['trash'] = array('label' => __('Trash', 'gravityforms'), 'title' => __('Move this form to the trash', 'gravityforms'), 'url' => '#', 'onclick' => 'TrashForm(' . absint($form->id) . ');return false;', 'capabilities' => 'gravityforms_delete_forms', 'menu_class' => 'trash', 'priority' => 500); } $form_actions = apply_filters('gform_form_actions', $form_actions, $form->id); echo GFForms::format_toolbar_menu_items($form_actions, true); ?> </div> </td> <td class="column-date"><strong><?php echo absint($form->view_count); ?> </strong></td> <td class="column-date"> <strong> <?php if ($form->lead_count > 0 && !$trash) { ?> <a href="<?php echo esc_url(admin_url('admin.php?page=gf_entries&view=entries&id=' . absint($form->id))); ?> "><?php echo absint($form->lead_count); ?> </a> <?php } else { echo absint($form->lead_count); } ?> </strong> </td> <td class="column-date"><?php echo esc_html($conversion); ?> </td> </tr> <?php } } else { ?> <tr> <td colspan="6" style="padding:20px;"> <?php if ($trash) { esc_html_e('There are no forms in the trash.', 'gravityforms'); } else { printf(esc_html__("You don't have any forms. Let's go %screate one%s!", 'gravityforms'), '<a href="admin.php?page=gf_new_form">', '</a>'); } ?> </td> </tr> <?php } ?> </tbody> </table> <div class="tablenav"> <div class="alignleft actions" style="padding:8px 0 7px 0;"> <?php if (GFCommon::current_user_can_any('gravityforms_delete_forms')) { ?> <label class="hidden" for="bulk_action2"><?php esc_html_e('Bulk action', 'gravityforms'); ?> </label> <select name="bulk_action2" id="bulk_action2"> <option value=''> <?php esc_html_e('Bulk action', 'gravityforms'); ?> </option> <?php if ($trash) { ?> <option value='restore'><?php esc_html_e('Restore', 'gravityforms'); ?> </option> <option value='delete'><?php esc_html_e('Delete permanently', 'gravityforms'); ?> </option> <?php } else { ?> <option value='activate'><?php esc_html_e('Mark as Active', 'gravityforms'); ?> </option> <option value='deactivate'><?php esc_html_e('Mark as Inactive', 'gravityforms'); ?> </option> <option value='reset_views'><?php esc_html_e('Reset Views', 'gravityforms'); ?> </option> <option value='delete_entries'><?php esc_html_e('Permanently Delete Entries', 'gravityforms'); ?> </option> <option value='trash'><?php esc_html_e('Move to trash', 'gravityforms'); ?> </option> <?php } ?> </select> <?php $apply_button = '<input type="submit" class="button" value="' . esc_attr__('Apply', 'gravityforms') . '" onclick="return gfConfirmBulkAction(\'bulk_action2\');"/>'; /** * A filter that allows for modification of the form "Apply" button * * @param string $apply_button The HTML for the "Apply" Button */ echo apply_filters('gform_form_apply_button', $apply_button); } ?> <br class="clear" /> </div> </div> </form> </div> <?php }
public static function get_form($form_id, $display_title = true, $display_description = true, $force_display = false, $field_values = null, $ajax = false, $tabindex = 1) { //looking up form id by form name if (!is_numeric($form_id)) { $form_id = RGFormsModel::get_form_id($form_id); } //reading form metadata $form = RGFormsModel::get_form_meta($form_id, true); $form = RGFormsModel::add_default_properties($form); //disable ajax if form has a reCAPTCHA field (not supported). if ($ajax && self::has_recaptcha_field($form)) { $ajax = false; } $is_postback = false; $is_valid = true; $confirmation_message = ""; $page_number = 1; //If form was submitted, read variables set during form submission procedure $submission_info = isset(self::$submission[$form_id]) ? self::$submission[$form_id] : false; if ($submission_info) { $is_postback = true; $is_valid = $submission_info["is_valid"] || rgget("is_confirmation", $submission_info); $form = $submission_info["form"]; $lead = $submission_info["lead"]; $confirmation_message = rgget("confirmation_message", $submission_info); if ($is_valid && !RGForms::get("is_confirmation", $submission_info)) { if ($submission_info["page_number"] == 0) { //post submission hook do_action("gform_post_submission", $lead, $form); do_action("gform_post_submission_{$form["id"]}", $lead, $form); } else { //change page hook do_action("gform_post_paging", $form, $submission_info["source_page_number"], $submission_info["page_number"]); do_action("gform_post_paging_{$form["id"]}", $form, $submission_info["source_page_number"], $submission_info["page_number"]); } } } else { if (!current_user_can("administrator")) { RGFormsModel::insert_form_view($form_id, $_SERVER['REMOTE_ADDR']); } } if (rgar($form, "enableHoneypot")) { $form["fields"][] = self::get_honeypot_field($form); } //Fired right before the form rendering process. Allow users to manipulate the form object before it gets displayed in the front end $form = apply_filters("gform_pre_render_{$form_id}", apply_filters("gform_pre_render", $form)); if ($form == null) { return "<p>" . __("Oops! We could not locate your form.", "gravityforms") . "</p>"; } $has_pages = self::has_pages($form); //calling tab index filter GFCommon::$tab_index = apply_filters("gform_tabindex_{$form_id}", apply_filters("gform_tabindex", $tabindex, $form), $form); //Don't display inactive forms if (!$force_display && !$is_postback) { $form_info = RGFormsModel::get_form($form_id); if (!$form_info->is_active) { return ""; } //If form has a schedule, make sure it is within the configured start and end dates if (rgar($form, "scheduleForm")) { $local_time_start = sprintf("%s %02d:%02d %s", $form["scheduleStart"], $form["scheduleStartHour"], $form["scheduleStartMinute"], $form["scheduleStartAmpm"]); $local_time_end = sprintf("%s %02d:%02d %s", $form["scheduleEnd"], $form["scheduleEndHour"], $form["scheduleEndMinute"], $form["scheduleEndAmpm"]); $timestamp_start = strtotime($local_time_start . ' +0000'); $timestamp_end = strtotime($local_time_end . ' +0000'); $now = current_time("timestamp"); if (!empty($form["scheduleStart"]) && $now < $timestamp_start || !empty($form["scheduleEnd"]) && $now > $timestamp_end) { return empty($form["scheduleMessage"]) ? "<p>" . __("Sorry. This form is no longer available.", "gravityforms") . "</p>" : "<p>" . GFCommon::gform_do_shortcode($form["scheduleMessage"]) . "</p>"; } } //If form has a limit of entries, check current entry count if (rgar($form, "limitEntries")) { $period = rgar($form, "limitEntriesPeriod"); $range = self::get_limit_period_dates($period); $entry_count = RGFormsModel::get_lead_count($form_id, "", null, null, $range["start_date"], $range["end_date"]); if ($entry_count >= $form["limitEntriesCount"]) { return empty($form["limitEntriesMessage"]) ? "<p>" . __("Sorry. This form is no longer accepting new submissions.", "gravityforms") . "</p>" : "<p>" . GFCommon::gform_do_shortcode($form["limitEntriesMessage"]) . "</p>"; } } // If form requires login, check if user is logged in if (rgar($form, "requireLogin")) { if (!is_user_logged_in()) { return empty($form["requireLoginMessage"]) ? "<p>" . __("Sorry. You must be logged in to view this form.", "gravityforms") . "</p>" : "<p>" . GFCommon::gform_do_shortcode($form["requireLoginMessage"]) . "</p>"; } } } $form_string = ""; //When called via a template, this will enqueue the proper scripts //When called via a shortcode, this will be ignored (too late to enqueue), but the scripts will be enqueued via the enqueue_scripts event self::enqueue_form_scripts($form, $ajax); if (empty($confirmation_message)) { $wrapper_css_class = GFCommon::get_browser_class() . " gform_wrapper"; if (!$is_valid) { $wrapper_css_class .= " gform_validation_error"; } //Hidding entire form if conditional logic is on to prevent "hidden" fields from blinking. Form will be set to visible in the conditional_logic.php after the rules have been applied. $style = self::has_conditional_logic($form) ? "style='display:none'" : ""; $form_string .= "\n <div class='{$wrapper_css_class}' id='gform_wrapper_{$form_id}' " . $style . ">"; $action = add_query_arg(array()); $default_anchor = $has_pages || $ajax ? true : false; $use_anchor = apply_filters("gform_confirmation_anchor_{$form["id"]}", apply_filters("gform_confirmation_anchor", $default_anchor)); if ($use_anchor !== false) { $form_string .= "<a name='gf_{$form_id}' class='gform_anchor' ></a>"; $action .= "#gf_{$form_id}"; } $target = $ajax ? "target='gform_ajax_frame_{$form_id}'" : ""; $form_css_class = !empty($form["cssClass"]) ? "class='{$form["cssClass"]}'" : ""; $action = esc_attr($action); $form_string .= apply_filters("gform_form_tag_{$form_id}", apply_filters("gform_form_tag", "<form method='post' enctype='multipart/form-data' {$target} id='gform_{$form_id}' {$form_css_class} action='{$action}'>", $form), $form); if ($display_title || $display_description) { $form_string .= "\n <div class='gform_heading'>"; if ($display_title) { $form_string .= "\n <h3 class='gform_title'>" . $form['title'] . "</h3>"; } if ($display_description) { $form_string .= "\n <span class='gform_description'>" . rgar($form, 'description') . "</span>"; } $form_string .= "\n </div>"; } if ($has_pages && !IS_ADMIN) { $page_count = self::get_max_page_number($form); $current_page = self::get_current_page($form_id); if ($form["pagination"]["type"] == "percentage") { $percent = floor($current_page / $page_count * 100) . "%"; $page_name = rgar(rgar($form["pagination"], "pages"), $current_page - 1); $page_name = !empty($page_name) ? " - " . $page_name : ""; $style = $form["pagination"]["style"]; $color = $style == "custom" ? " color:{$form["pagination"]["color"]};" : ""; $bgcolor = $style == "custom" ? " background-color:{$form["pagination"]["backgroundColor"]};" : ""; $form_string .= "\n <div id='gf_progressbar_wrapper_{$form_id}' class='gf_progressbar_wrapper'>\n <h3 class='gf_progressbar_title'>" . __("Step", "gravityforms") . " {$current_page} " . __("of", "gravityforms") . " {$page_count}{$page_name}</h3>\n <div class='gf_progressbar'>\n <div class='gf_progressbar_percentage percentbar_{$style}' style='width:{$percent};{$color}{$bgcolor}'><span>{$percent}</span></div>\n </div>\n </div>"; } else { if ($form["pagination"]["type"] == "steps") { $form_string .= "\n <div id='gf_page_steps_{$form_id}' class='gf_page_steps'>"; for ($i = 0, $count = sizeof($form["pagination"]["pages"]); $i < $count; $i++) { $step_number = $i + 1; $active_class = $step_number == $current_page ? " gf_step_active" : ""; $first_class = $i == 0 ? " gf_step_first" : ""; $last_class = $i + 1 == $count ? " gf_step_last" : ""; $complete_class = $step_number < $current_page ? " gf_step_completed" : ""; $previous_class = $step_number + 1 == $current_page ? " gf_step_previous" : ""; $next_class = $step_number - 1 == $current_page ? " gf_step_next" : ""; $pending_class = $step_number > $current_page ? " gf_step_pending" : ""; $classes = "gf_step" . $active_class . $first_class . $last_class . $complete_class . $previous_class . $next_class . $pending_class; $classes = GFCommon::trim_all($classes); $form_string .= "\n <div id='gf_step_{$form_id}_{$step_number}' class='{$classes}'><span class='gf_step_number'>{$step_number}</span> {$form["pagination"]["pages"][$i]}</div>"; } $form_string .= "\n <div class='gf_step_clear'></div>\n </div>"; } } } if ($is_postback && !$is_valid) { $validation_message = "<div class='validation_error'>" . __("There was a problem with your submission.", "gravityforms") . " " . __("Errors have been highlighted below.", "gravityforms") . "</div>"; $form_string .= apply_filters("gform_validation_message_{$form["id"]}", apply_filters("gform_validation_message", $validation_message, $form), $form); } $form_string .= "\n <div class='gform_body'>"; //add first page if this form has any page fields if ($has_pages) { $style = self::is_page_active($form_id, 1) ? "" : "style='display:none;'"; $class = !empty($form["firstPageCssClass"]) ? " {$form["firstPageCssClass"]}" : ""; $form_string .= "<div id='gform_page_{$form_id}_1' class='gform_page{$class}' {$style}>\n <div class='gform_page_fields'>"; } $description_class = rgar($form, "descriptionPlacement") == "above" ? "description_above" : "description_below"; $form_string .= "\n <ul id='gform_fields_{$form_id}' class='gform_fields {$form['labelPlacement']} {$description_class}'>"; if (is_array($form['fields'])) { foreach ($form['fields'] as $field) { $field["conditionalLogicFields"] = self::get_conditional_logic_fields($form, $field["id"]); $form_string .= self::get_field($field, RGFormsModel::get_field_value($field, $field_values), false, $form, $field_values); } } $form_string .= "\n </ul>"; if ($has_pages) { $previous_button = self::get_form_button($form["id"], "gform_previous_button_{$form["id"]}", $form["lastPageButton"], __("Previous", "gravityforms"), "button gform_previous_button", __("Previous Page", "gravityforms"), self::get_current_page($form_id) - 1); $form_string .= "</div>" . self::gform_footer($form, "gform_page_footer " . $form['labelPlacement'], $ajax, $field_values, $previous_button, $display_title, $display_description, $is_postback) . "\n </div>"; //closes gform_page } $form_string .= "</div>"; //closes gform_body //suppress form footer for multi-page forms (footer will be included on the last page if (!$has_pages) { $form_string .= self::gform_footer($form, "gform_footer " . $form['labelPlacement'], $ajax, $field_values, "", $display_title, $display_description, $is_postback); } $form_string .= "\n </form>\n </div>"; //adding conditional logic script if conditional logic is configured for this form. //get_conditional_logic also adds the chosen script for the enhanced dropdown option. //if this form does not have conditional logic, add chosen script separately if (self::has_conditional_logic($form)) { $form_string .= self::get_conditional_logic($form); } else { if (self::has_enhanced_dropdown($form)) { $form_string .= "<script type='text/javascript'>//<![CDATA[\n" . self::get_chosen_init_script($form) . "\n//]]></script>"; } } //adding currency config if there are any product fields in the form if (self::has_price_field($form)) { if (!class_exists("RGCurrency")) { require_once "currency.php"; } $form_string .= "<script type='text/javascript'>//<![CDATA[\n if(window[\"gformInitPriceFields\"]) jQuery(document).ready(function(){gformInitPriceFields();}); window['gf_currency_config'] = " . GFCommon::json_encode(RGCurrency::get_currency(GFCommon::get_currency())) . "; \n//]]></script>"; } if (self::has_password_strength($form)) { $form_string .= "<script type='text/javascript'>//<![CDATA[\nif(!window['gf_text']){window['gf_text'] = new Array();} window['gf_text']['password_blank'] = '" . __("Strength indicator", "gravityforms") . "'; window['gf_text']['password_mismatch'] = '" . __("Mismatch", "gravityforms") . "';window['gf_text']['password_bad'] = '" . __("Bad", "gravityforms") . "'; window['gf_text']['password_short'] = '" . __("Short", "gravityforms") . "'; window['gf_text']['password_good'] = '" . __("Good", "gravityforms") . "'; window['gf_text']['password_strong'] = '" . __("Strong", "gravityforms") . "';\n//]]></script>"; } if (GFCommon::has_credit_card_field($form)) { $card_rules = self::get_credit_card_rules(); $form_string .= "<script type='text/javascript'>//<![CDATA[\n if(!window['gf_cc_rules']){window['gf_cc_rules'] = new Array(); } window['gf_cc_rules'] = " . GFCommon::json_encode($card_rules) . "; \n//]]></script>"; } if ($ajax && $is_postback) { global $wp_scripts; $form_string = "<!DOCTYPE html><html><head>" . "<script type='text/javascript' src='" . $wp_scripts->base_url . $wp_scripts->registered["jquery"]->src . "'></script>" . "<script type='text/javascript' src='" . GFCommon::get_base_url() . "/js/conditional_logic.js'></script>" . "<meta charset='UTF-8' /></head><body>" . $form_string . "</body></html>"; } if ($ajax && !$is_postback) { $spinner_url = apply_filters("gform_ajax_spinner_url_{$form_id}", apply_filters("gform_ajax_spinner_url", GFCommon::get_base_url() . "/images/spinner.gif", $form), $form); $scroll_position = array('default' => '', 'confirmation' => ''); if ($use_anchor !== false) { $scroll_position['default'] = is_numeric($use_anchor) ? "jQuery(document).scrollTop(" . intval($use_anchor) . ");" : "jQuery(document).scrollTop(jQuery('#gform_wrapper_{$form_id}').offset().top);"; $scroll_position['confirmation'] = is_numeric($use_anchor) ? "jQuery(document).scrollTop(" . intval($use_anchor) . ");" : "jQuery(document).scrollTop(jQuery('#gforms_confirmation_message').offset().top);"; } $form_string .= "\n <iframe style='display:none;width:0px; height:0px;' src='about:blank' name='gform_ajax_frame_{$form_id}' id='gform_ajax_frame_{$form_id}'></iframe>\n <script type='text/javascript'>//<![CDATA[\n" . "function gformInitSpinner(){" . "jQuery('#gform_{$form_id}').submit(function(){" . "jQuery('#gform_submit_button_{$form_id}').attr('disabled', true).after('<' + 'img id=\"gform_ajax_spinner_{$form_id}\" class=\"gform_ajax_spinner\" src=\"{$spinner_url}\" alt=\"\" />');" . "jQuery('#gform_wrapper_{$form_id} .gform_previous_button').attr('disabled', true); " . "jQuery('#gform_wrapper_{$form_id} .gform_next_button').attr('disabled', true).after('<' + 'img id=\"gform_ajax_spinner_{$form_id}\" class=\"gform_ajax_spinner\" src=\"{$spinner_url}\" alt=\"\" />');" . "});" . "}" . "jQuery(document).ready(function(\$){" . "gformInitSpinner();" . "jQuery('#gform_ajax_frame_{$form_id}').load( function(){" . "var form_content = jQuery(this).contents().find('#gform_wrapper_{$form_id}');" . "var confirmation_content = jQuery(this).contents().find('#gforms_confirmation_message');" . "jQuery('#gform_submit_button_{$form_id}').removeAttr('disabled');" . "if(form_content.length > 0){" . "jQuery('#gform_wrapper_{$form_id}').html(form_content.html());" . "{$scroll_position['default']}" . "if(window['gformInitDatepicker']) {gformInitDatepicker();}" . "if(window['gformInitPriceFields']) {gformInitPriceFields();}" . "var current_page = jQuery('#gform_source_page_number_{$form_id}').val();" . "gformInitSpinner();" . "jQuery(document).trigger('gform_page_loaded', [{$form_id}, current_page]);" . "}" . "else if(confirmation_content.length > 0){" . "setTimeout(function(){" . "jQuery('#gform_wrapper_{$form_id}').replaceWith('<' + 'div id=\\'gforms_confirmation_message\\' class=\\'gform_confirmation_message_{$form_id}\\'' + '>' + confirmation_content.html() + '<' + '/div' + '>');" . "{$scroll_position['confirmation']}" . "jQuery(document).trigger('gform_confirmation_loaded', [{$form_id}]);" . "}, 50);" . "}" . "else{" . "jQuery('#gform_{$form_id}').append(jQuery(this).contents().find('*').html());" . "if(window['gformRedirect']) gformRedirect();" . "}" . "jQuery(document).trigger('gform_post_render', [{$form_id}, current_page]);" . "});" . "});" . "\n//]]></script>"; } return apply_filters('gform_get_form_filter', $form_string); } else { if ($ajax) { $confirmation_message = "<!DOCTYPE html><html><head><meta charset='UTF-8' /></head><body>" . $confirmation_message . "</body></html>"; } return $confirmation_message; } }
public static function page_header($title = '', $message = '') { $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG || isset($_GET['gform_debug']) ? '' : '.min'; // register admin styles wp_register_style('gform_admin', GFCommon::get_base_url() . "/css/admin{$min}.css"); wp_print_styles(array('jquery-ui-styles', 'gform_admin')); $current_tab = self::get_subview(); //build left side options, always have GF Settings first and Uninstall last, put add-ons in the middle $setting_tabs = array('10' => array('name' => 'settings', 'label' => __('Settings', 'gravityforms'))); if (!empty(self::$addon_pages)) { $sorted_addons = self::$addon_pages; asort($sorted_addons); //add add-ons to menu foreach ($sorted_addons as $sorted_addon) { $setting_tabs[] = array('name' => urlencode($sorted_addon['name']), 'label' => esc_html($sorted_addon['tab_label']), 'title' => esc_html(rgar($sorted_addon, 'title'))); } } $setting_tabs[] = array('name' => 'uninstall', 'label' => __('Uninstall', 'gravityforms')); $setting_tabs = apply_filters('gform_settings_menu', $setting_tabs); ksort($setting_tabs, SORT_NUMERIC); // kind of boring having to pass the title, optionally get it from the settings tab if (!$title) { foreach ($setting_tabs as $tab) { if ($tab['name'] == urlencode($current_tab)) { $title = !empty($tab['title']) ? $tab['title'] : $tab['label']; } } } ?> <div class="wrap <?php echo GFCommon::get_browser_class(); ?> "> <?php if ($message) { ?> <div id="message" class="updated"><p><?php echo $message; ?> </p></div> <?php } ?> <h2><?php echo esc_html($title); ?> </h2> <div id="gform_tab_group" class="gform_tab_group vertical_tabs"> <ul id="gform_tabs" class="gform_tabs"> <?php foreach ($setting_tabs as $tab) { $name = $tab['label']; ?> <li <?php echo urlencode($current_tab) == $tab['name'] ? "class='active'" : ''; ?> > <a href="<?php echo esc_url(add_query_arg(array('subview' => $tab['name']))); ?> "><?php echo esc_html($tab['label']); ?> </a> </li> <?php } ?> </ul> <div id="gform_tab_container" class="gform_tab_container"> <div class="gform_tab_content" id="tab_<?php echo $current_tab; ?> "> <?php }
/** * Renders the header for the tabs UI. * * @param $tabs * @param $current_tab * @param $title * @param string $message */ protected function app_tab_page_header($tabs, $current_tab, $title, $message = '') { // register admin styles wp_register_style('gform_admin', GFCommon::get_base_url() . '/css/admin.css'); wp_print_styles(array('jquery-ui-styles', 'gform_admin')); ?> <div class="wrap <?php echo GFCommon::get_browser_class(); ?> "> <?php if ($message) { ?> <div id="message" class="updated"><p><?php echo $message; ?> </p></div> <?php } ?> <h2><?php echo esc_html($title); ?> </h2> <div id="gform_tab_group" class="gform_tab_group vertical_tabs"> <ul id="gform_tabs" class="gform_tabs"> <?php foreach ($tabs as $tab) { if (isset($tab["permission"]) && !$this->current_user_can_any($tab["permission"])) { continue; } $label = isset($tab["label"]) ? $tab['label'] : $tab['name']; ?> <li <?php echo urlencode($current_tab) == $tab["name"] ? "class='active'" : ""; ?> > <a href="<?php echo esc_url(add_query_arg(array("view" => $tab["name"]))); ?> "><?php echo esc_html($label); ?> </a> </li> <?php } ?> </ul> <div id="gform_tab_container" class="gform_tab_container"> <div class="gform_tab_content" id="tab_<?php echo $current_tab; ?> "> <?php }
public static function help_page() { if (!GFCommon::ensure_wp_version()) { return; } echo GFCommon::get_remote_message(); $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" /> <div class="wrap <?php echo GFCommon::get_browser_class(); ?> "> <h2><?php esc_html_e('Gravity Forms Help', 'gravityforms'); ?> </h2> <div style="margin-top:10px;"> <div class="gf_admin_notice"><?php printf(esc_html__('%sIMPORTANT NOTICE:%s We do not provide support via telephone or e-mail. Please %sopen a support ticket%s.', 'gravityforms'), '<strong>', '</strong>', '<a href="https://www.gravityhelp.com/support/" target="_blank">', '</a>'); ?> </div> <div class="gf_help_content"><p><?php printf(esc_html__("Please review the plugin documentation and %sfrequently asked questions (FAQ)%s first. If you still can't find the answer %sopen a support ticket%s and we will be happy to answer your questions and assist you with any problems. %sPlease note:%s If you have not %spurchased a license%s from us, you will not have access to these help resources.", 'gravityforms'), '<a href="https://www.gravityhelp.com/frequently-asked-questions/">', '</a>', '<a href="https://www.gravityhelp.com/support/" target="_blank">', '</a>', '<strong>', '</strong>', '<a href="http://www.gravityforms.com/purchase-gravity-forms/">', '</a>'); ?> </p></div> <div class="hr-divider"></div> <h3><?php esc_html_e('User Documentation', 'gravityforms'); ?> </h3> <div class="gforms_helpbox" style="margin:15px 0;"> <ul class="resource_list"> <li> <i class="fa fa-book"></i> <a href="https://www.gravityhelp.com/documentation/article/creating-a-form/"> <?php esc_html_e('Creating a Form', 'gravityforms'); ?> </a> </li> <li> <i class="fa fa-book"></i> <a target="_blank" href="https://www.gravityhelp.com/documentation/article/embedding-a-form/"> <?php esc_html_e('Embedding a Form', 'gravityforms'); ?> </a> </li> <li> <i class="fa fa-book"></i> <a target="_blank" href="https://www.gravityhelp.com/documentation/article/reviewing-form-submissions/"> <?php esc_html_e('Reviewing Form Submissions', 'gravityforms'); ?> </a> </li> <li> <i class="fa fa-book"></i> <a target="_blank" href="https://www.gravityhelp.com/documentation/article/configuring-confirmations-in-gravity-forms/"> <?php esc_html_e('Configuring Confirmations', 'gravityforms'); ?> </a> </li> <li> <i class="fa fa-book"></i> <a target="_blank" href="https://www.gravityhelp.com/documentation/article/configuring-notifications-in-gravity-forms/"> <?php esc_html_e('Configuring Notifications', 'gravityforms'); ?> </a> </li> </ul> </div> <div class="hr-divider"></div> <h3><?php esc_html_e('Developer Documentation', 'gravityforms'); ?> </h3> <div class="gforms_helpbox" style="margin:15px 0;"> <ul class="resource_list"> <li> <i class="fa fa-book"></i> <a href="https://www.gravityhelp.com/documentation/article/getting-started-with-the-gravity-forms-api-gfapi/"> <?php esc_html_e('Getting Started with the Gravity Forms API', 'gravityforms'); ?> </a> </li> <li> <i class="fa fa-book"></i> <a target="_blank" href="https://www.gravityhelp.com/documentation/article/api-functions/"> <?php esc_html_e('API Functions', 'gravityforms'); ?> </a> </li> <li> <i class="fa fa-book"></i> <a target="_blank" href="https://www.gravityhelp.com/documentation/article/web-api/"> <?php esc_html_e('Web API', 'gravityforms'); ?> </a> </li> <li> <i class="fa fa-book"></i> <a target="_blank" href="https://www.gravityhelp.com/documentation/article/add-on-framework/"> <?php esc_html_e('Add-On Framework', 'gravityforms'); ?> </a> </li> <li> <i class="fa fa-book"></i> <a target="_blank" href="https://www.gravityhelp.com/documentation/article/gfaddon/"> <?php esc_html_e('GFAddOn', 'gravityforms'); ?> </a> </li> </ul> </div> <div class="hr-divider"></div> <h3><?php esc_html_e('Designer Documentation', 'gravityforms'); ?> </h3> <div class="gforms_helpbox" style="margin:15px 0;"> <ul class="resource_list"> <li> <i class="fa fa-book"></i> <a href="http://www.gravityhelp.com/"> <?php esc_html_e('CSS Selectors', 'gravityforms'); ?> </a> </li> <li> <i class="fa fa-book"></i> <a target="_blank" href="https://www.gravityhelp.com/gravity-forms-css-visual-guide/"> <?php esc_html_e('CSS Targeting Samples', 'gravityforms'); ?> </a> </li> <li> <i class="fa fa-book"></i> <a target="_blank" href="http://www.rocketgenius.com/gravity-forms-css-targeting-specific-elements/"> <?php esc_html_e('CSS Ready Classes', 'gravityforms'); ?> </a> </li> <li> <i class="fa fa-book"></i> <a target="_blank" href="https://www.gravityhelp.com/creating-a-modal-form-with-gravity-forms-and-fancybox/"> <?php esc_html_e('gform_field_css_class', 'gravityforms'); ?> </a> </li> <li> <i class="fa fa-book"></i> <a target="_blank" href="http://yoast.com/gravity-forms-widget-update/"> <?php esc_html_e('gform_noconflict_styles', 'gravityforms'); ?> </a> </li> </ul> </div> </div> </div> <?php }
public function results_page($form_id, $page_title, $gf_page, $gf_view) { if (empty($form_id)) { $forms = RGFormsModel::get_forms(); if (!empty($forms)) { $form_id = $forms[0]->id; } } $form = GFFormsModel::get_form_meta($form_id); $form = apply_filters("gform_form_pre_results_{$form_id}", apply_filters("gform_form_pre_results", $form)); // set up filter vars $start_date = rgget("start"); $end_date = rgget("end"); $all_fields = $form["fields"]; $filter_settings = GFCommon::get_field_filter_settings($form); $filter_settings = apply_filters("gform_filters_pre_results", $filter_settings, $form); $filter_settings = array_values($filter_settings); // reset the numeric keys in case some filters have been unset $filter_fields = rgget("f"); $filter_operators = rgget("o"); $filter_values = rgget("v"); $filters = array(); $init_vars = array(); if (!empty($filter_fields)) { $init_vars["mode"] = rgget("mode"); foreach ($filter_fields as $i => $filter_field) { $filters[$i]["field"] = $filter_field; $filters[$i]["operator"] = $filter_operators[$i]; $filters[$i]["value"] = $filter_values[$i]; } $init_vars["filters"] = $filters; } ?> <script type="text/javascript"> var gresultsFields = <?php echo json_encode($all_fields); ?> ; var gresultsFilterSettings = <?php echo json_encode($filter_settings); ?> ; var gresultsInitVars = <?php echo json_encode($init_vars); ?> ; <?php GFCommon::gf_global(); ?> <?php GFCommon::gf_vars(); ?> </script> <link rel="stylesheet" href="<?php echo GFCommon::get_base_url(); ?> /css/admin.css?ver=<?php echo GFCommon::$version; ?> " type="text/css"/> <div class="wrap gforms_edit_form <?php echo GFCommon::get_browser_class(); ?> "> <div class="icon32" id="gravity-entry-icon"><br></div> <h2><?php echo empty($form_id) ? $page_title : $page_title . " : " . esc_html($form["title"]); ?> </h2> <?php RGForms::top_toolbar(); ?> <?php if (false === empty($all_fields)) { ?> <div id="poststuff" class="metabox-holder has-right-sidebar"> <div id="side-info-column" class="inner-sidebar"> <div id="gresults-results-filter" class="postbox"> <h3 style="cursor: default;"><?php echo $this->_search_title; ?> </h3> <div id="gresults-results-filter-content"> <form id="gresults-results-filter-form" action="" method="GET"> <input type="hidden" id="gresults-page-slug" name="page" value="<?php echo esc_attr($gf_page); ?> "> <input type="hidden" id="gresults-view-slug" name="view" value="<?php echo esc_attr($gf_view); ?> "> <input type="hidden" id="gresults-form-id" name="id" value="<?php echo esc_attr($form_id); ?> "> <?php $filter_ui = array("fields" => array("label" => __("Filters", "gravityforms"), "tooltip" => "gresults_filters", "markup" => '<div id="gresults-results-field-filters-container"> <!-- placeholder populated by js --> </div>'), "date_range" => array("label" => __("Date Range", "gravityforms"), "tooltip" => "gresults_date_range", "markup" => '<div style="width:90px; float:left; "> <label for="gresults-results-filter-date-start">' . __("Start", "gravityforms") . '</label> <input type="text" id="gresults-results-filter-date-start" name="start" style="width:80px" class="gresults-datepicker" value="' . $start_date . '"/> </div> <div style="width:90px; float:left; "> <label for="gresults-results-filter-date-end">' . __("End", "gravityforms") . '</label> <input type="text" id="gresults-results-filter-date-end" name="end" style="width:80px" class="gresults-datepicker" value="' . $end_date . '"/> </div>')); $filter_ui = apply_filters("gform_filter_ui", $filter_ui, $form_id, $page_title, $gf_page, $gf_view); foreach ($filter_ui as $name => $filter) { ?> <div class='gresults-results-filter-section-label'> <?php echo $filter["label"]; ?> <?php gform_tooltip(rgar($filter, "tooltip"), "tooltip_bottomleft"); ?> </div> <?php echo $filter["markup"]; } ?> <br style="clear:both"/> <div id="gresults-results-filter-buttons"> <input type="submit" id="gresults-results-filter-submit-button" class="button button-primary button-large" value="<?php _e('Apply filters', 'gravityforms'); ?> "> <input type="button" id="gresults-results-filter-clear-button" class="button button-secondary button-large" value="<?php _e('Clear', 'gravityforms'); ?> " onclick="gresults.clearFilterForm();"> <div class="gresults-filter-loading" style="display:none; float:right; margin-top:5px;"> <img src="<?php echo GFCommon::get_base_url(); ?> /images/spinner.gif" alt="loading..."/> </div> </div> </form> </div> </div> </div> </div> <div class="gresults-filter-loading" style="display:none;margin:0 5px 10px 0;"> <img style="vertical-align:middle;" src="<?php echo GFCommon::get_base_url(); ?> /images/spinner.gif" alt="loading..."/> <a href="javascript:void(0);" onclick="javascript:gresultsAjaxRequest.abort()">Cancel</a> </div> <div id="gresults-results-wrapper"> <div id="gresults-results"> </div> </div> <?php } else { _e("This form does not have any fields that can be used for results", "gravityforms"); } ?> </div> <?php }
public function results_page($form_id, $page_title, $gf_page, $gf_view) { if (empty($form_id)) { $forms = RGFormsModel::get_forms(); if (!empty($forms)) { $form_id = $forms[0]->id; } } $form = GFFormsModel::get_form_meta($form_id); $form = apply_filters("gform_form_pre_results_{$form_id}", apply_filters("gform_form_pre_results", $form)); // set up filter vars $start_date = rgget("start"); $end_date = rgget("end"); $all_fields = $form["fields"]; // set up filters $fields = $all_fields; $exclude_types = array("rank", "page"); for ($i = 0; $i < count($all_fields); $i++) { $field_type = GFFormsmodel::get_input_type($all_fields[$i]); if (in_array($field_type, $exclude_types)) { unset($fields[$i]); } } $fields = array_values($fields); $field_filters = array(); foreach ($fields as $field) { $operators = array(); $field_type = GFFormsmodel::get_input_type($field); $operators[] = "is"; if ($field_type != "checkbox") { $operators[] = "isnot"; } $field_filter = array(); $key = $field["id"]; if ($field_type == "likert" && rgar($field, "gsurveyLikertEnableMultipleRows")) { $field_filter["key"] = $key; $field_filter["type"] = "group"; $field_filter["text"] = rgar($field, "label"); $sub_filters = array(); $rows = rgar($field, "gsurveyLikertRows"); foreach ($rows as $row) { $sub_filter = array(); $sub_filter["key"] = $key . "|" . rgar($row, "value"); $sub_filter["text"] = rgar($row, "text"); $sub_filter["type"] = "field"; $sub_filter["preventMultiple"] = false; $sub_filter["operators"] = $operators; $sub_filter["values"] = $field["choices"]; $sub_filters[] = $sub_filter; } $field_filter["filters"] = $sub_filters; } else { $field_filter["key"] = $key; $field_filter["type"] = "field"; $field_filter["preventMultiple"] = false; $field_filter["text"] = rgar($field, "label"); if (isset($field["choices"])) { $field_filter["values"] = $field["choices"]; } else { $operators[] = "contains"; } $field_filter["operators"] = $operators; } $field_filters[] = $field_filter; } $entry_meta_filters = self::get_entry_meta_filters($form_id); $field_filters = array_merge($field_filters, $entry_meta_filters); $field_filters = apply_filters("gform_filters_pre_results", $field_filters, $form); $field_filters = array_values($field_filters); // reset the numeric keys in case some filters have been unset ?> <script type="text/javascript"> var gresultsFields = <?php echo json_encode($all_fields); ?> ; var gresultsFilters = <?php echo json_encode($field_filters); ?> ; </script> <link rel="stylesheet" href="<?php echo GFCommon::get_base_url(); ?> /css/admin.css?ver=<?php echo GFCommon::$version; ?> " type="text/css"/> <div class="wrap gforms_edit_form <?php echo GFCommon::get_browser_class(); ?> "> <div class="icon32" id="gravity-entry-icon"><br></div> <h2><?php echo empty($form_id) ? $page_title : $page_title . " : " . esc_html($form["title"]); ?> </h2> <?php RGForms::top_toolbar(); ?> <?php if (false === empty($all_fields)) { ?> <div class="gresults-filter-loading" style="display:none;float:left;margin-right:5px;"> <img style="vertical-align:middle;" src="<?php echo GFCommon::get_base_url(); ?> /images/spinner.gif" alt="loading..."/> <a href="javascript:void(0);" onclick="javascript:gresultsAjaxRequest.abort()">Cancel</a> </div> <div id="poststuff" class="metabox-holder has-right-sidebar"> <div id="gresults-results-wrapper"> <div id="gresults-results"> </div> </div> <div id="gresults-results-filter" class="postbox"> <h3 style="cursor: default;"><?php _e("Results Filters", "gravityforms"); ?> </h3> <div id="gresults-results-filter-content"> <form id="gresults-results-filter-form" action="" method="GET"> <input type="hidden" id="gresults-page-slug" name="page" value="<?php echo esc_attr($gf_page); ?> "> <input type="hidden" id="gresults-view-slug" name="view" value="<?php echo esc_attr($gf_view); ?> "> <input type="hidden" id="gresults-form-id" name="id" value="<?php echo esc_attr($form_id); ?> "> <div class='gresults-results-filter-section-label'> <?php _e("Filters", "gravityforms"); ?> <?php gform_tooltip("gresults_filters", "tooltip_bottomleft"); ?> </div> <div id="gresults-results-field-filters-container"> <div id="gresults-results-field-filters"> <!-- placeholder populated by js --> </div> </div> <div class='gresults-results-filter-section-label'> <?php _e("Date Range", "gravityforms"); ?> <?php gform_tooltip("gresults_date_range", "tooltip_left"); ?> </div> <div style="width:90px; float:left; "> <label for="gresults-results-filter-date-start"><?php _e("Start", "gravityforms"); ?> </label> <input type="text" id="gresults-results-filter-date-start" name="start" style="width:80px" class="gresults-datepicker" value="<?php echo $start_date; ?> "/> </div> <div style="width:90px; float:left; "> <label for="gresults-results-filter-date-end"><?php _e("End", "gravityforms"); ?> </label> <input type="text" id="gresults-results-filter-date-end" name="end" style="width:80px" class="gresults-datepicker" value="<?php echo $end_date; ?> "/> </div> <br style="clear:both"/> <div id="gresults-results-filter-buttons"> <input type="submit" id="gresults-results-filter-submit-button" class="button button-primary button-large" value="Apply filters"> <input type="button" id="gresults-results-filter-clear-button" class="button button-secondary button-large" value="Clear" onclick="gresults.clearFilterForm();"> <div class="gresults-filter-loading" style="display:none; float:right; margin-top:5px;"> <img src="<?php echo GFCommon::get_base_url(); ?> /images/spinner.gif" alt="loading..."/> </div> </div> </form> </div> </div> </div> <?php } else { _e("This form does not have any fields that can be used for results", "gravityforms"); } ?> </div> <?php }
private static function get_progress_bar($form, $form_id, $confirmation_message) { $progress_complete = false; $progress_bar = ""; $page_count = self::get_max_page_number($form); $current_page = self::get_current_page($form_id); $page_name = rgar(rgar($form["pagination"], "pages"), $current_page - 1); $page_name = !empty($page_name) ? " - " . $page_name : ""; $style = $form["pagination"]["style"]; $color = $style == "custom" ? " color:{$form["pagination"]["color"]};" : ""; $bgcolor = $style == "custom" ? " background-color:{$form["pagination"]["backgroundColor"]};" : ""; if (!empty($confirmation_message)) { $progress_complete = true; } //check admin setting for whether the progress bar should start at zero $start_at_zero = rgars($form, "pagination/display_progressbar_on_confirmation"); //check for filter $start_at_zero = apply_filters("gform_progressbar_start_at_zero", $start_at_zero, $form); $progressbar_page_count = $start_at_zero ? $current_page - 1 : $current_page; $percent = !$progress_complete ? floor($progressbar_page_count / $page_count * 100) . "%" : "100%"; $percent_number = !$progress_complete ? floor($progressbar_page_count / $page_count * 100) . "" : "100"; if ($progress_complete) { $wrapper_css_class = GFCommon::get_browser_class() . " gform_wrapper"; //add on surrounding wrapper class when confirmation page $progress_bar = "<div class='{$wrapper_css_class}' id='gform_wrapper_{$form_id}' >"; $page_name = !empty($form["pagination"]["progressbar_completion_text"]) ? $form["pagination"]["progressbar_completion_text"] : ""; } $progress_bar .= "\n <div id='gf_progressbar_wrapper_{$form_id}' class='gf_progressbar_wrapper'>\n <h3 class='gf_progressbar_title'>"; $progress_bar .= !$progress_complete ? __("Step", "gravityforms") . " {$current_page} " . __("of", "gravityforms") . " {$page_count}{$page_name}" : "{$page_name}"; $progress_bar .= "\n </h3>\n <div class='gf_progressbar'>\n <div class='gf_progressbar_percentage percentbar_{$style} percentbar_{$percent_number}' style='width:{$percent};{$color}{$bgcolor}'><span>{$percent}</span></div>\n </div></div>"; //close div for surrounding wrapper class when confirmation page $progress_bar .= $progress_complete ? "</div>" : ""; return $progress_bar; }
public static function add_mce_popup() { ?> <script> function InsertForm(){ var form_id = jQuery("#add_form_id").val(); if(form_id == ""){ alert("<?php _e("Please select a form", "gravityforms"); ?> "); return; } var form_name = jQuery("#add_form_id option[value='" + form_id + "']").text().replace(/[\[\]]/g, ''); var display_title = jQuery("#display_title").is(":checked"); var display_description = jQuery("#display_description").is(":checked"); var ajax = jQuery("#gform_ajax").is(":checked"); var title_qs = !display_title ? " title=\"false\"" : ""; var description_qs = !display_description ? " description=\"false\"" : ""; var ajax_qs = ajax ? " ajax=\"true\"" : ""; window.send_to_editor("[gravityform id=\"" + form_id + "\" name=\"" + form_name + "\"" + title_qs + description_qs + ajax_qs + "]"); } </script> <div id="select_gravity_form" style="display:none;"> <div class="wrap <?php echo GFCommon::get_browser_class(); ?> "> <div> <div style="padding:15px 15px 0 15px;"> <h3 style="color:#5A5A5A!important; font-family:Georgia,Times New Roman,Times,serif!important; font-size:1.8em!important; font-weight:normal!important;"><?php _e("Insert A Form", "gravityforms"); ?> </h3> <span> <?php _e("Select a form below to add it to your post or page.", "gravityforms"); ?> </span> </div> <div style="padding:15px 15px 0 15px;"> <select id="add_form_id"> <option value=""> <?php _e("Select a Form", "gravityforms"); ?> </option> <?php $forms = RGFormsModel::get_forms(1, "title"); foreach ($forms as $form) { ?> <option value="<?php echo absint($form->id); ?> "><?php echo esc_html($form->title); ?> </option> <?php } ?> </select> <br/> <div style="padding:8px 0 0 0; font-size:11px; font-style:italic; color:#5A5A5A"><?php _e("Can't find your form? Make sure it is active.", "gravityforms"); ?> </div> </div> <div style="padding:15px 15px 0 15px;"> <input type="checkbox" id="display_title" checked='checked' /> <label for="display_title"><?php _e("Display form title", "gravityforms"); ?> </label> <input type="checkbox" id="display_description" checked='checked' /> <label for="display_description"><?php _e("Display form description", "gravityforms"); ?> </label> <input type="checkbox" id="gform_ajax" /> <label for="gform_ajax"><?php _e("Enable AJAX", "gravityforms"); ?> </label> </div> <div style="padding:15px;"> <input type="button" class="button-primary" value="<?php _e("Insert Form", "gravityforms"); ?> " onclick="InsertForm();"/> <a class="button" style="color:#bbb;" href="#" onclick="tb_remove(); return false;"><?php _e("Cancel", "gravityforms"); ?> </a> </div> </div> </div> </div> <?php }
public static function update_page() { if (!GFCommon::current_user_can_any('gravityforms_view_updates')) { wp_die(__("You don't have permissions to view this page", 'gravityforms')); } if (!GFCommon::ensure_wp_version()) { return; } GFCommon::cache_remote_message(); echo GFCommon::get_remote_message(); wp_print_styles(array('thickbox')); ?> <link rel="stylesheet" href="<?php echo GFCommon::get_base_url() . '/css/admin.css'; ?> " /> <div class="wrap <?php echo GFCommon::get_browser_class(); ?> "> <h2><?php _e('Gravity Forms Updates', 'gravityforms'); ?> </h2> <?php $version_info = GFCommon::get_version_info(false); do_action('gform_after_check_update'); if (version_compare(GFCommon::$version, $version_info['version'], '<')) { $plugin_file = 'gravityforms/gravityforms.php'; $upgrade_url = wp_nonce_url('update.php?action=upgrade-plugin&plugin=' . urlencode($plugin_file), 'upgrade-plugin_' . $plugin_file); $message = __('There is a new version of Gravity Forms available.', 'gravityforms'); if (rgar($version_info, 'is_valid_key')) { ?> <div class="gf_update_outdated alert_yellow"> <?php echo $message . ' ' . sprintf(__('<p>You can update to the latest version automatically or download the update and install it manually. %sUpdate Automatically%s %sDownload Update%s', 'gravityforms'), "</p><a class='button-primary' href='{$upgrade_url}'>", '</a>', " <a class='button' href='{$version_info["url"]}'>", '</a>'); ?> </div> <?php } else { ?> <div class="gf_update_expired alert_red"> <?php echo $message . ' ' . __(sprintf('%sRegister%s your copy of Gravity Forms to receive access to automatic updates and support. Need a license key? %sPurchase one now%s.', '<a href="admin.php?page=gf_settings">', '</a>', '<a href="http://www.gravityforms.com">', '</a>'), 'gravityforms'); ?> </div> <?php } echo '<br/><br/>'; $changelog = RGForms::get_changelog(); echo $changelog; } else { ?> <div class="gf_update_current alert_green"> <?php _e('Your version of Gravity Forms is up to date.', 'gravityforms'); ?> </div> <?php } do_action('gform_updates'); ?> <div id='gform_upgrade_license' style="display:none;"></div> <script type="text/javascript"> jQuery(document).ready(function () { jQuery.post(ajaxurl, { action : "gf_upgrade_license", gf_upgrade_license: "<?php echo wp_create_nonce('gf_upgrade_license'); ?> "}, function (data) { if (data.trim().length > 0) jQuery("#gform_upgrade_license").replaceWith(data); } ); }); </script> </div> <?php }
public static function get_form($form_id, $display_title = true, $display_description = true, $force_display = false, $field_values = null, $ajax = false, $tabindex = 1) { //looking up form id by form name global $gform_id; if (!is_numeric($form_id)) { $form_id = RGFormsModel::get_form_id($form_id); } $gform_id = $form_id; //reading form metadata $form = RGFormsModel::get_form_meta($form_id, true); $form = RGFormsModel::add_default_properties($form); //disable ajax if form has a reCAPTCHA field (not supported). if ($ajax && self::has_recaptcha_field($form)) { $ajax = false; } $is_postback = false; $is_valid = true; $confirmation_message = ""; $page_number = 1; //If form was submitted, read variables set during form submission procedure $submission_info = isset(self::$submission[$form_id]) ? self::$submission[$form_id] : false; if ($submission_info) { $is_postback = true; $is_valid = rgar($submission_info, "is_valid") || rgar($submission_info, "is_confirmation"); $form = $submission_info["form"]; $lead = $submission_info["lead"]; $confirmation_message = rgget("confirmation_message", $submission_info); if ($is_valid && !RGForms::get("is_confirmation", $submission_info)) { if ($submission_info["page_number"] == 0) { //post submission hook do_action("gform_post_submission", $lead, $form); do_action("gform_post_submission_{$form["id"]}", $lead, $form); } else { //change page hook do_action("gform_post_paging", $form, $submission_info["source_page_number"], $submission_info["page_number"]); do_action("gform_post_paging_{$form["id"]}", $form, $submission_info["source_page_number"], $submission_info["page_number"]); } } } else { if (!current_user_can("administrator")) { RGFormsModel::insert_form_view($form_id, $_SERVER['REMOTE_ADDR']); } } if (rgar($form, "enableHoneypot")) { $form["fields"][] = self::get_honeypot_field($form); } //Fired right before the form rendering process. Allow users to manipulate the form object before it gets displayed in the front end $form = apply_filters("gform_pre_render_{$form_id}", apply_filters("gform_pre_render", $form, $ajax), $ajax); if ($form == null) { return "<p>" . __("Oops! We could not locate your form.", "gravityforms") . "</p>"; } $has_pages = self::has_pages($form); //calling tab index filter GFCommon::$tab_index = apply_filters("gform_tabindex_{$form_id}", apply_filters("gform_tabindex", $tabindex, $form), $form); //Don't display inactive forms if (!$force_display && !$is_postback) { $form_info = RGFormsModel::get_form($form_id); if (!$form_info->is_active) { return ""; } // If form requires login, check if user is logged in if (rgar($form, "requireLogin")) { if (!is_user_logged_in()) { return empty($form["requireLoginMessage"]) ? "<p>" . __("Sorry. You must be logged in to view this form.", "gravityforms") . "</p>" : "<p>" . GFCommon::gform_do_shortcode($form["requireLoginMessage"]) . "</p>"; } } } // show the form regardless of the following validations when force display is set to true if (!$force_display || $is_postback) { $form_schedule_validation = self::validate_form_schedule($form); // if form schedule validation fails AND this is not a postback, display the validation error // if form schedule validation fails AND this is a postback, make sure is not a valid submission (enables display of confirmation message) if ($form_schedule_validation && !$is_postback || $form_schedule_validation && $is_postback && !$is_valid) { return $form_schedule_validation; } $entry_limit_validation = self::validate_entry_limit($form); // refer to form schedule condition notes above if ($entry_limit_validation && !$is_postback || $entry_limit_validation && $is_postback && !$is_valid) { return $entry_limit_validation; } } $form_string = ""; //When called via a template, this will enqueue the proper scripts //When called via a shortcode, this will be ignored (too late to enqueue), but the scripts will be enqueued via the enqueue_scripts event self::enqueue_form_scripts($form, $ajax); if (empty($confirmation_message)) { $wrapper_css_class = GFCommon::get_browser_class() . " form-container"; if (!$is_valid) { $wrapper_css_class .= " gform_validation_error"; } //Hidding entire form if conditional logic is on to prevent "hidden" fields from blinking. Form will be set to visible in the conditional_logic.php after the rules have been applied. $style = self::has_conditional_logic($form) ? "style='display:none'" : ""; $custom_wrapper_css_class = !empty($form["cssClass"]) ? " {$form["cssClass"]}_wrapper" : ""; $form_string .= "\n <div class='{$wrapper_css_class}{$custom_wrapper_css_class}' id='gform_wrapper_{$form_id}' " . $style . ">"; $action = add_query_arg(array()); $default_anchor = $has_pages || $ajax ? true : false; $use_anchor = apply_filters("gform_confirmation_anchor_{$form["id"]}", apply_filters("gform_confirmation_anchor", $default_anchor)); if ($use_anchor !== false) { $form_string .= "<a id='gf_{$form_id}' name='gf_{$form_id}' class='gform_anchor' ></a>"; $action .= "#gf_{$form_id}"; } $target = $ajax ? "target='gform_ajax_frame_{$form_id}'" : ""; $form_css_class = !empty($form["cssClass"]) ? "class='{$form["cssClass"]} {$form['labelPlacement']}'" : "class='{$form['labelPlacement']}'"; $action = esc_attr($action); $form_string .= apply_filters("gform_form_tag_{$form_id}", apply_filters("gform_form_tag", "<form method='post' role='form' data-toggle='validator' enctype='multipart/form-data' {$target} id='gform_{$form_id}' {$form_css_class} action='{$action}'>", $form), $form); if ($display_title || $display_description) { $form_string .= "\n <div class='section'>"; if ($display_title) { $form_string .= "\n <h3 class='gform_title'>" . $form['title'] . "</h3>"; } if ($display_description) { $form_string .= "\n <span class='gform_description'>" . rgar($form, 'description') . "</span>"; } $form_string .= "\n </div>"; } $current_page = self::get_current_page($form_id); if ($has_pages && !IS_ADMIN) { $page_count = self::get_max_page_number($form); if ($form["pagination"]["type"] == "percentage") { $form_string .= self::get_progress_bar($form, $form_id, $confirmation_message); } else { if ($form["pagination"]["type"] == "steps") { $form_string .= "\n <div id='gf_page_steps_{$form_id}' class='gf_page_steps'>"; for ($i = 0, $count = sizeof($form["pagination"]["pages"]); $i < $count; $i++) { $step_number = $i + 1; $active_class = $step_number == $current_page ? " gf_step_active" : ""; $first_class = $i == 0 ? " gf_step_first" : ""; $last_class = $i + 1 == $count ? " gf_step_last" : ""; $complete_class = $step_number < $current_page ? " gf_step_completed" : ""; $previous_class = $step_number + 1 == $current_page ? " gf_step_previous" : ""; $next_class = $step_number - 1 == $current_page ? " gf_step_next" : ""; $pending_class = $step_number > $current_page ? " gf_step_pending" : ""; $classes = "gf_step" . $active_class . $first_class . $last_class . $complete_class . $previous_class . $next_class . $pending_class; $classes = GFCommon::trim_all($classes); $form_string .= "\n <div id='gf_step_{$form_id}_{$step_number}' class='{$classes}'><span class='gf_step_number'>{$step_number}</span> {$form["pagination"]["pages"][$i]}</div>"; } $form_string .= "\n <div class='gf_step_clear'></div>\n </div>"; } } } if ($is_postback && !$is_valid) { $validation_message = "<div class='validation_error alert alert-danger alert-dismissible fade in'><button type='button' class='close' data-dismiss='alert' aria-label='Close'><span aria-hidden='true'>×</span></button>" . __("There was a problem with your submission.", "gravityforms", "gravityforms") . "</div>"; $form_string .= apply_filters("gform_validation_message_{$form["id"]}", apply_filters("gform_validation_message", $validation_message, $form), $form); } //add first page if this form has any page fields if ($has_pages) { $style = self::is_page_active($form_id, 1) ? "" : "style='display:none;'"; $class = !empty($form["firstPageCssClass"]) ? " {$form["firstPageCssClass"]}" : ""; $form_string .= "<div id='gform_page_{$form_id}_1' class='gform_page{$class}' {$style}>\n <div class='gform_page_fields'>"; } $description_class = rgar($form, "descriptionPlacement") == "above" ? "description_above" : "description_below"; $footer_class = ''; if (!IS_ADMIN) { $form_string .= "\n <div id='gform_fields_{$form_id}' class='row'>"; $footer_class = 'col-md-12'; } else { $form_string .= "\n <div id='gform_fields_{$form_id}'>"; } if (is_array($form['fields'])) { foreach ($form['fields'] as $field) { $field["conditionalLogicFields"] = self::get_conditional_logic_fields($form, $field["id"]); $form_string .= self::get_field($field, RGFormsModel::get_field_value($field, $field_values), false, $form, $field_values); } } if ($has_pages) { $previous_button = self::get_form_button($form["id"], "gform_previous_button_{$form["id"]}", $form["lastPageButton"], __("Previous", "gravityforms"), "button gform_previous_button", __("Previous Page", "gravityforms"), self::get_current_page($form_id) - 1); $form_string .= "</div>" . self::gform_footer($form, $footer_class . " gform_page_footer " . $form['labelPlacement'], $ajax, $field_values, $previous_button, $display_title, $display_description, $is_postback) . "\n </div>"; //closes gform_page } //suppress form footer for multi-page forms (footer will be included on the last page if (!$has_pages) { $form_string .= self::gform_footer($form, $footer_class . " gform_footer " . $form['labelPlacement'], $ajax, $field_values, "", $display_title, $display_description, $is_postback); } $form_string .= "\n </div>\n </form>\n </div>"; if ($ajax && $is_postback) { global $wp_scripts; $form_string = "<!DOCTYPE html><html><head>" . "<meta charset='UTF-8' /></head><body class='GF_AJAX_POSTBACK'>" . $form_string . "</body></html>"; } if ($ajax && !$is_postback) { $spinner_url = apply_filters("gform_ajax_spinner_url_{$form_id}", apply_filters("gform_ajax_spinner_url", GFCommon::get_base_url() . "/images/spinner.gif", $form), $form); $scroll_position = array('default' => '', 'confirmation' => ''); if ($use_anchor !== false) { $scroll_position['default'] = is_numeric($use_anchor) ? "jQuery(document).scrollTop(" . intval($use_anchor) . ");" : "jQuery(document).scrollTop(jQuery('#gform_wrapper_{$form_id}').offset().top);"; $scroll_position['confirmation'] = is_numeric($use_anchor) ? "jQuery(document).scrollTop(" . intval($use_anchor) . ");" : "jQuery(document).scrollTop(jQuery('#gforms_confirmation_message').offset().top);"; } } $is_first_load = !$is_postback; if (!$ajax || $is_first_load) { self::register_form_init_scripts($form, $field_values); add_action('wp_footer', create_function('', 'GFFormDisplay::ajaxJquery(' . $form['id'] . ');'), 110); add_action("wp_footer", create_function('', 'GFFormDisplay::footer_init_scripts(' . $form['id'] . ');'), 120); add_action("gform_preview_footer", create_function('', 'GFFormDisplay::footer_init_scripts(' . $form['id'] . ');')); } return preg_replace('~[\\r\\n]+~', '', apply_filters("gform_get_form_filter_{$form["id"]}", apply_filters('gform_get_form_filter', $form_string, $form), $form)); } else { $progress_confirmation = ""; //check admin setting for whether the progress bar should start at zero $start_at_zero = rgars($form, "pagination/display_progressbar_on_confirmation"); //check for filter $start_at_zero = apply_filters("gform_progressbar_start_at_zero", $start_at_zero, $form); //show progress bar on confirmation if ($start_at_zero && $has_pages && !IS_ADMIN && ($form["confirmation"]["type"] == "message" && $form["pagination"]["type"] == "percentage") && $form["pagination"]["display_progressbar_on_confirmation"]) { $progress_confirmation = self::get_progress_bar($form, $form_id, $confirmation_message); if ($ajax) { $progress_confirmation = "<!DOCTYPE html><html><head><meta charset='UTF-8' /></head><body class='GF_AJAX_POSTBACK'>" . $progress_confirmation . $confirmation_message . "</body></html>"; } } else { //return regular confirmation message if ($ajax) { $progress_confirmation = "<!DOCTYPE html><html><head><meta charset='UTF-8' /></head><body class='GF_AJAX_POSTBACK'>" . $confirmation_message . "</body></html>"; } else { $progress_confirmation = $confirmation_message; } } return $progress_confirmation; } }
public function results_page($form_id, $page_title, $gf_page, $gf_view) { if (empty($form_id)) { $forms = RGFormsModel::get_forms(); if (!empty($forms)) { $form_id = $forms[0]->id; } } $form = GFFormsModel::get_form_meta($form_id); $form = gf_apply_filters(array('gform_form_pre_results', $form_id), $form); // set up filter vars $start_date = rgget('start'); $end_date = rgget('end'); $all_fields = $form['fields']; $filter_settings = GFCommon::get_field_filter_settings($form); $filter_settings = apply_filters('gform_filters_pre_results', $filter_settings, $form); $filter_settings = array_values($filter_settings); // reset the numeric keys in case some filters have been unset $filter_fields = rgget('f'); $filter_operators = rgget('o'); $filter_values = rgget('v'); $filters = array(); $init_vars = array(); if (!empty($filter_fields)) { $init_vars['mode'] = rgget('mode'); foreach ($filter_fields as $i => $filter_field) { $filters[$i]['field'] = $filter_field; $filters[$i]['operator'] = $filter_operators[$i]; $filters[$i]['value'] = $filter_values[$i]; } $init_vars['filters'] = $filters; } ?> <script type="text/javascript"> var gresultsFields = <?php echo json_encode($all_fields); ?> ; var gresultsFilterSettings = <?php echo json_encode($filter_settings); ?> ; var gresultsInitVars = <?php echo json_encode($init_vars); ?> ; <?php GFCommon::gf_global(); ?> <?php GFCommon::gf_vars(); ?> </script> <link rel="stylesheet" href="<?php echo GFCommon::get_base_url(); ?> /css/admin.css?ver=<?php echo GFCommon::$version; ?> " type="text/css"/> <div class="wrap gforms_edit_form <?php echo GFCommon::get_browser_class(); ?> "> <h2 class="gf_admin_page_title"> <span><?php echo empty($form_id) ? $page_title : $page_title . ' : ' . esc_html($form['title']); ?> </span><span class="gf_admin_page_subtitle"><span class="gf_admin_page_formid">ID: <?php echo $form['id']; ?> </span><span class="gf_admin_page_formname"><?php esc_html_e('Form Name', 'gravityforms'); ?> : <?php echo $form['title']; ?> </span></span> </h2> <?php RGForms::top_toolbar(); ?> <?php if (false === empty($all_fields)) { ?> <div id="poststuff" class="metabox-holder has-right-sidebar"> <div id="side-info-column" class="inner-sidebar"> <div id="gresults-results-filter" class="postbox"> <h3 style="cursor: default;"><?php echo $this->_search_title; ?> </h3> <div id="gresults-results-filter-content"> <form id="gresults-results-filter-form" action="" method="GET"> <input type="hidden" id="gresults-page-slug" name="page" value="<?php echo esc_attr($gf_page); ?> "> <input type="hidden" id="gresults-view-slug" name="view" value="<?php echo esc_attr($gf_view); ?> "> <input type="hidden" id="gresults-form-id" name="id" value="<?php echo esc_attr($form_id); ?> "> <?php $filter_ui = array('fields' => array('label' => esc_attr__('Filters', 'gravityforms'), 'tooltip' => 'gresults_filters', 'markup' => '<div id="gresults-results-field-filters-container"> <!-- placeholder populated by js --> </div>'), 'date_range' => array('label' => esc_attr__('Date Range', 'gravityforms'), 'tooltip' => 'gresults_date_range', 'markup' => '<div style="width:90px; float:left; "> <label for="gresults-results-filter-date-start">' . esc_html__('Start', 'gravityforms') . '</label> <input type="text" id="gresults-results-filter-date-start" name="start" style="width:80px" class="gresults-datepicker" value="' . $start_date . '"/> </div> <div style="width:90px; float:left; "> <label for="gresults-results-filter-date-end">' . esc_html__('End', 'gravityforms') . '</label> <input type="text" id="gresults-results-filter-date-end" name="end" style="width:80px" class="gresults-datepicker" value="' . $end_date . '"/> </div>')); $filter_ui = apply_filters('gform_filter_ui', $filter_ui, $form_id, $page_title, $gf_page, $gf_view); foreach ($filter_ui as $name => $filter) { ?> <div class='gresults-results-filter-section-label'> <?php echo $filter['label']; ?> <?php gform_tooltip(rgar($filter, 'tooltip'), 'tooltip_bottomleft'); ?> </div> <?php echo $filter['markup']; } ?> <br style="clear:both"/> <div id="gresults-results-filter-buttons"> <input type="submit" id="gresults-results-filter-submit-button" class="button button-primary button-large" value="<?php esc_attr_e('Apply filters', 'gravityforms'); ?> "> <input type="button" id="gresults-results-filter-clear-button" class="button button-secondary button-large" value="<?php esc_attr_e('Clear', 'gravityforms'); ?> " onclick="gresults.clearFilterForm();"> <div class="gresults-filter-loading" style="display:none; float:right; margin-top:5px;"> <i class='gficon-gravityforms-spinner-icon gficon-spin'></i> <?php esc_html_e('Loading', 'gravityforms'); ?> </div> </div> </form> </div> </div> </div> </div> <div class="gresults-filter-loading" style="display:none;margin:0 5px 10px 0;"> <i class='gficon-gravityforms-spinner-icon gficon-spin'></i> <a href="javascript:void(0);" onclick="javascript:gresultsAjaxRequest.abort()"><?php esc_html_e('Cancel', 'gravityforms'); ?> </a> </div> <div id="gresults-results-wrapper"> <div id="gresults-results"> </div> </div> <?php } else { _e('This form does not have any fields that can be used for results', 'gravityforms'); } ?> </div> <?php }
/** * Shortcode to display the list of completed entries */ function shortcode_gravitylistcompleted($atts) { global $wpdb; $id = $atts['id']; /** * Only do something if we have a form-id */ if ($id) { /** * Get the form data */ $form = $this->gravitylist_form[$id]; /** * Get the Attributes with the defaults from the form-settings * * id : id of the form * rows : number of rows to display * title : display the form title * debug : display field-id and field-type * tquery : enabled tQuery support * gfediturl : destination-url to edit this record * showtoall : show the records to all users or only to form-admin and the record-creator * description : display the form description * displaylead : display lead-id as first column * requirelogin: the user must be logged-in to see the entry-list * */ extract(shortcode_atts(array('id' => $id, 'rows' => $form['spgfle_rows'], 'debug' => 'false', 'title' => 'true', 'tquery' => $form['spgfle_tquery'], 'showtoall' => $form['spgfle_showtoall'], 'description' => 'true', 'displaylead' => $form['spgfle_displaylead'], 'requirelogin' => $form['spgfle_requirelogin']), $atts)); $rows = intval($rows); $debug = strtolower($debug) == "true" ? true : false; $title = strtolower($title) == "true" ? true : false; $tquery = strtolower($tquery) == "true" ? true : false; $showtoall = strtolower($showtoall) == "true" ? true : false; $displaylead = strtolower($displaylead) == "true" ? true : false; $description = strtolower($description) == "true" ? true : false; $requirelogin = strtolower($requirelogin) == "true" ? true : false; /** * Check if it's possible to edit * and build the gfediturl */ $gfediturl = $form['spgfle_gfediturl']; if (!$form['spgfle_enableedit']) { unset($gfediturl); } if (!is_user_logged_in()) { unset($gfediturl); } if ($gfediturl) { $gfediturl = get_permalink($gfediturl); } /** * if requirelogin is set, check if an user is logged in */ if (!$requirelogin || $requirelogin && is_user_logged_in()) { $cssclass = $form['spgfle_cssclass']; $classes = GFCommon::get_browser_class(); $html .= "\t<div class=\"{$classes} gform_wrapper {$cssclass}\" id=\"gform_wrapper_{$id}\" >\n"; /** * Display title and description if needed */ $html .= "\t<div class=\"gform_body {$cssclass}\">\n"; $html .= "\t<br />\n"; /** * Add tQuery support if needed */ if ($tquery) { $tableid = " id=\"gravitylist{$id}\""; if ($form['spgfle_tquerysearch']) { $html .= "<div class=\"gform_tquery_search\">\n"; $html .= "\t" . __("Search", 'spgfle') . ": <input id=\"searchinput{$id}\" type=\"text\" class=\"filter\" />\n"; $html .= "</div>\n"; $html .= "<br />"; } } $html .= "\t<form name=\"gravitylist\" action=\"{$gfediturl}\" method=\"post\">\n"; $html .= "\t\t<input type=\"hidden\" id=\"gform_edit_id\" name=\"gform_edit_id\" value=\"\" />\n"; $html .= "\t\t<input type=\"hidden\" id=\"gform_edit_mode\" name=\"gform_edit_mode\" value=\"\" />\n"; $html .= "\t\t<table class=\"table table-striped table-bordered table-advance table-hover\" {$tableid} cellspacing=\"0\" itemscope=\"itemscope\" itemtype=\"http://schema.org/Table\">\n"; $html .= "\t\t\t<thead>\n"; $html .= "\t\t\t\t<tr>\n"; /** * Add a column to display the lead-id */ if ($displaylead) { $html .= "\t\t\t\t\t<th scope=\"col\">" . esc_html('Order ID') . "</th>\n"; } /** * Loop through the Fields */ foreach ((array) $form['fields'] as $field) { /** * Display 'adminOnly' fields only to form admins */ if (!$field['adminOnly'] || GFCommon::current_user_can_any('gravityforms_edit_entries')) { /** * Only display fields that are checked at the field-settings */ if ($field['spgfle_showinlist']) { $html .= "\t\t\t\t\t<th scope=\"col\">" . esc_html($field['label']); if ($debug == true) { $html .= "\t\t\t\t\t<br />{$field['id']}<br />{$field['type']}"; } $html .= "\t\t\t\t\t</th>\n"; } } } /** * Add a blank column if we need to link to an edit, view or delete url */ if ($gfediturl) { $html .= "\t\t\t\t\t<th scope=\"col\"> </th>\n"; } $html .= "\t\t\t\t</tr>\n"; $html .= "\t\t\t</thead>\n"; $html .= "\t\t\t<tbody>\n"; /** * Create the LIMIT statement */ if (!empty($rows)) { $sqlLimit = "LIMIT {$rows}"; } /** * Support for SpGfMySQL-Connect * If we connected the record to a mysql-table and set 'delete lead' to true * we have to retrieve the values from the mysql-table */ if ($form['spgfmc_tablename'] && $form['spgfmc_deletelead']) { $leads = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$form['spgfmc_tablename']} ORDER BY lead_id DESC {$sqlLimit}"), ARRAY_A); } else { $lead_table_name = RGFormsModel::get_lead_table_name(); if (GFCommon::current_user_can_any('gravityforms_edit_entries') || $showtoall) { $leads = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$lead_table_name} WHERE form_id = {$id} AND status = 'active' AND orderStatus = 'complete' ORDER BY id DESC {$sqlLimit}"), ARRAY_A); } else { $leads = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$lead_table_name} WHERE form_id = {$id} AND created_by = %d AND created_by <> 0 AND status = 'active' AND orderStatus = 'complete' ORDER BY id DESC {$sqlLimit}", wp_get_current_user()->ID), ARRAY_A); } } //echo print_r($leads, true); /** * Loop through the Leads */ foreach ($leads as $lead) { if (is_null($lead['id'])) { $lead['id'] = $lead['lead_id']; } if (is_null($lead['lead_id'])) { $lead['lead_id'] = $lead['id']; } //echo print_r($lead, true); /** * Support for Sp-Gf-MySQL-Connect * If we connected the record to a mysql-table and deleted the data * we have to retrieve the values from the mysql-table */ if ($form['spgfmc_tablename'] && $form['spgfmc_deletefield']) { if (!$form['spgfmc_spgfmc_deletelead']) { /** * If the lead was not deleted we use the 'lead_id' to * connect the MySQL record with the GF lead */ $data = $wpdb->get_row("SELECT * FROM {$form['spgfmc_tablename']} WHERE {$form['spgfmc_field_leadid']} = {$lead['lead_id']}", ARRAY_A); $lead['gform_edit_id'] = $lead['lead_id']; } elseif ($form['spgfmc_spgfmc_deletelead']) { /** * If the lead was deleted we use the already loaded data * But we have to setup some lead values */ $data = $lead; $lead['created_by'] = 0; $lead['gform_edit_id'] = $data[$form['spgfmc_primarykey']]; } else { /** * We can't load any data */ unset($data); } if ($data) { foreach ((array) $form['fields'] as $field) { switch ($field['type']) { case 'address': if ($field['spgfmc_fieldname_address1']) { $lead[$field['id'] . '.1'] = $data[$field['spgfmc_fieldname_address1']]; } if ($field['spgfmc_fieldname_address1']) { $lead[$field['id'] . '.2'] = $data[$field['spgfmc_fieldname_address2']]; } if ($field['spgfmc_fieldname_city']) { $lead[$field['id'] . '.3'] = $data[$field['spgfmc_fieldname_city']]; } if ($field['spgfmc_fieldname_state']) { $lead[$field['id'] . '.4'] = $data[$field['spgfmc_fieldname_state']]; } if ($field['spgfmc_fieldname_zip']) { $lead[$field['id'] . '.5'] = $data[$field['spgfmc_fieldname_zip']]; } if ($field['spgfmc_fieldname_country']) { $lead[$field['id'] . '.6'] = $data[$field['spgfmc_fieldname_country']]; } break; case 'name': if ($field['spgfmc_fieldname_firstname']) { $lead[$field['id'] . '.3'] = $data[$field['spgfmc_fieldname_firstname']]; } if ($field['spgfmc_fieldname_lastname']) { $lead[$field['id'] . '.6'] = $data[$field['spgfmc_fieldname_lastname']]; } default: if ($field['spgfmc_fieldname']) { $lead[$field['id']] = $data[$field['spgfmc_fieldname']]; } break; } } } } else { /** * Retrieve the lead */ $lead = RGFormsModel::get_lead($lead['id']); $lead['gform_edit_id'] = $lead['id']; if (is_null($lead['lead_id'])) { $lead['lead_id'] = $lead['id']; } } $i = 0; $html .= "\t\t\t\t<tr>\n"; //echo print_r($lead, true); /** * Add a column to display the lead-id */ if ($displaylead) { $html .= "\t\t\t\t\t<td scope=\"col\" class=\"col{$i}\" width=\"10%\">{$lead['lead_id']}</td>\n"; } /** * Loop through the Fields */ foreach ($form['fields'] as $field) { /** * Display 'adminOnly' fields only to form admins */ if (!$field['adminOnly'] || GFCommon::current_user_can_any('gravityforms_edit_entries')) { /** * Only display fields that are checked at the field-settings */ if ($field['spgfle_showinlist']) { $i++; unset($value, $display_value); $value = RGFormsModel::get_lead_field_value($lead, $field); /** * Only the value is stored, but we need to display * the display-data for this value */ if ($field['enableChoiceValue'] == '1') { if (!empty($value)) { unset($item, $items, $itemcount); foreach ((array) $value as $single_value) { if (!empty($single_value)) { foreach ($field['choices'] as $choices) { if ($choices['value'] == $single_value) { $items .= '<li>' . $choices['text'] . '</li>'; $item = $choices['text']; $itemcount++; break; } } } } if ($itemcount == 1) { $display_value = $item; } elseif ($itemcount > 0) { $display_value = "<ul class='bulleted'>{$items}</ul>"; } else { $display_value = ""; } } } else { $display_value = GFCommon::get_lead_field_display($field, $value, $lead["currency"]); } $html .= "\t\t\t\t\t<td scope=\"col\" class=\"col{$i}\">{$display_value}</td>\n"; } } } /** * Display Button to the gfEdit Destination */ if ($gfediturl || $gfdeleteurl) { $i++; $html .= "\t\t\t\t\t<td scope=\"col\" class=\"col{$i}\" width=\"25%\">\n"; /** * Display the view button */ if ($form['spgfle_enableview']) { $html .= "\t\t\t\t\t\t<button class=\"btn default btn-xs blue\" onClick=\"SetHiddenFormSettings({$lead['gform_edit_id']}, 'view')\"><i class=\"fa fa-share\"></i>" . __("PDF", 'spgfle') . "</button>\n"; } $html .= "\t\t\t\t\t</td>\n"; } $html .= "\t\t\t\t</tr>\n"; } $html .= "\t\t\t</tbody>\n"; $html .= "\t\t</table>\n"; if (empty($leads)) { $html .= "<p>No Completed Orders Found</p>\n"; } $html .= "\t</form>\n"; $html .= "\t</div>\n"; } else { $html = '<p>' . __("You must be logged in.", 'spgfle') . '</p>'; } } return $html; }