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 }
/** * Add form settings page with schedule export options. * * TODO: Add default email address - admin email if empty? * * @since 1.0.0 * */ public function form_settings_fields($form) { if (!GFCommon::current_user_can_any('gravityforms_edit_forms')) { wp_die('You do not have permission to access this page'); } //collect the form id from the schedule export settings page url for the current form $form_id = $_REQUEST['id']; $form = apply_filters("gform_form_export_page_{$form_id}", apply_filters('gform_form_export_page', $form)); //collect filter settings TODO: these are currently not used. $filter_settings = GFCommon::get_field_filter_settings($form); $filter_settings_json = json_encode($filter_settings); //collect and add the default export fields $form = GFExport::add_default_export_fields($form); $form_fields = $form['fields']; $choices[] = array('label' => 'Select All', 'name' => '', 'default_value' => 1); //loop through the fields and format all the inputs in to an array to be rendered as checkboxes foreach ($form_fields as $field) { $inputs = $field->get_entry_inputs(); if (is_array($inputs)) { foreach ($inputs as $input) { $choices[] = array('label' => GFCommon::get_label($field, $input['id']), 'name' => $input['id'], 'default_value' => 1); } } else { if (!$field->displayOnly) { $choices[] = array('label' => GFCommon::get_label($field), 'name' => $field->id, 'default_value' => 1); } } } $inputs = array(array('title' => "Scheduled Entries Export", 'description' => "The settings below will automatically export new entries and send them to the emails below based on the set time frame.", 'fields' => array(array('label' => "Activate the Schedule", 'type' => "checkbox", 'name' => "enabled", 'tooltip' => "Enabling the schedule based on the sets below. This runs off WP Cron.", 'choices' => array(array('label' => "", 'name' => "enabled"))), array('label' => "Time Frame", 'type' => "select", 'name' => "time_frame", 'tooltip' => "Set how frequently it the entries are exported and emailed", 'choices' => array(array('label' => "Hourly", 'value' => "hourly"), array('label' => "Twice Daily", 'value' => "twicedaily"), array('label' => "Daily", 'value' => "daily"), array('label' => "Weekly", 'value' => "weekly"), array('label' => "Monthly - Every 30 Days", 'value' => "monthly"))), array('type' => "text", 'name' => "email", 'label' => "Email Address", 'class' => "medium", 'tooltip' => "Enter a comma separated list of emails you would like to receive the exported entries file."), array('label' => "Form Fields", 'type' => "checkbox", 'name' => "fields", 'tooltip' => "Select the fields you would like to include in the export. Caution: Make sure you are not sending any sensitive information.", 'choices' => $choices)))); return $inputs; }
public function init() { if (!GFCommon::current_user_can_any($this->_capabilities)) { return; } //add top toolbar menu item add_filter("gform_toolbar_menu", array($this, 'add_toolbar_menu_item'), 10, 2); //add custom form action add_filter("gform_form_actions", array($this, 'add_form_action'), 10, 2); //add the results view add_action("gform_entries_view", array($this, 'add_view'), 10, 2); add_action('admin_enqueue_scripts', array($this, 'enqueue_admin_scripts')); require_once GFCommon::get_base_path() . "/tooltips.php"; add_filter('gform_tooltips', array($this, 'add_tooltips')); }
public static function query($query) { if (method_exists('RGFormsModel', 'get_lead_table_name') && isset($_POST['gform_lead_id']) && preg_match('/^INSERT INTO ' . RGFormsModel::get_lead_table_name() . '/i', $query)) { $lid = (int) $_POST['gform_lead_id']; if ($lid) { $lead = RGFormsModel::get_lead($lid); if (GFCommon::current_user_can_any("gravityforms_edit_entries") || $lead['created_by'] == wp_get_current_user()->ID) { global $wpdb; $wpdb->insert_id = $lid; $query = 'SELECT 1'; } } } return $query; }
/** * Add Edit View link when in embedded View * * @since 1.13 * @return void */ function add_edit_view_link() { /** @var WP_Admin_Bar $wp_admin_bar */ global $wp_admin_bar; if (GFCommon::current_user_can_any('edit_pages')) { $view_data = GravityView_View_Data::getInstance(); $views = $view_data->get_views(); // If there is a View embed, shor Edit View link. // todo: Support multiple View embeds with a drop-down menu if (!$this->gravityview_view->isGravityviewPostType() && !empty($views) && !$view_data->has_multiple_views()) { $view = reset($views); $wp_admin_bar->add_menu(array('id' => 'edit-view', 'title' => __('Edit View', 'gravityview'), 'href' => esc_url_raw(admin_url(sprintf('post.php?post=%d&action=edit', $view['id']))))); } } }
/** * @since 3.6.3 * @return void */ function load() { // Does GF exist? Can the user edit entries? if (!class_exists('GFCommon')) { return; } if (!GFCommon::current_user_can_any("gravityforms_edit_entries")) { return; } // If screen mode isn't set, then we're in the wrong place. if (empty($_REQUEST['screen_mode'])) { return; } // Now, no validation is required in the methods; let's hook in. add_action('admin_init', array(&$this, 'set_screen_mode')); add_action("gform_entry_info", array(&$this, 'add_select'), 10, 2); add_action("gform_after_update_entry", array(&$this, 'update_entry_creator'), 10, 2); }
public function init() { if (!GFCommon::current_user_can_any($this->_capabilities)) { return; } // is any GF page if (GFForms::is_gravity_page()) { // add top toolbar menu item add_filter('gform_toolbar_menu', array($this, 'add_toolbar_menu_item'), 10, 2); // add custom form action add_filter('gform_form_actions', array($this, 'add_form_action'), 10, 2); } // is results page if (rgget('view') == "gf_results_{$this->_slug}") { // add the results view add_action('gform_entries_view', array($this, 'add_view'), 10, 2); add_action('admin_enqueue_scripts', array($this, 'enqueue_admin_scripts')); // tooltips require_once GFCommon::get_base_path() . '/tooltips.php'; add_filter('gform_tooltips', array($this, 'add_tooltips')); } }
/** * Checks whether the current user is assigned to a capability or role. * * @param string|array $caps An string or array of capabilities to check * @return bool Returns true if the current user is assigned to any of the capabilities. */ protected function current_user_can_any($caps) { return GFCommon::current_user_can_any($caps); }
public function authorize($caps = array()) { if (GFCommon::current_user_can_any($caps)) { GFCommon::add_api_call(); return true; } $this->die_permission_denied(); }
/** * Hooked into the 'admin_head' action. * * Outputs the styles for the Forms Toolbar menu. * Outputs gf vars if required. * * @since 2.0.1.2 */ public static function load_admin_bar_styles() { if (!get_option('gform_enable_toolbar_menu')) { return; } if (!GFCommon::current_user_can_any(array('gravityforms_edit_forms', 'gravityforms_create_form', 'gravityforms_preview_forms', 'gravityforms_view_entries'))) { // The current user can't use anything on the menu so bail. return; } ?> <style> .gforms-menu-icon{ float: left; width: 26px!important; height: 30px!important; background-repeat: no-repeat; background-position: 0 6px; background-size: 20px; } @media screen and ( max-width: 782px ) { #wpadminbar #wp-admin-bar-gform-forms .ab-item { line-height: 53px; height: 46px !important; width: 52px !important; display: block; background-size: 36px 36px; background-position: 7px 6px; } #wpadminbar li#wp-admin-bar-gform-forms { display: block; } } </style> <?php }
public static function settings_page() { if (rgpost("uninstall")) { check_admin_referer("uninstall", "gf_paypal_uninstall"); self::uninstall(); ?> <div class="updated fade" style="padding:20px;"><?php _e(sprintf("Gravity Forms PayPal Add-On have been successfully uninstalled. It can be re-activated from the %splugins page%s.", "<a href='plugins.php'>", "</a>"), "gravityformspaypal"); ?> </div> <?php return; } $is_configured = get_option("gf_paypal_configured"); ?> <form action="" method="post"> <?php wp_nonce_field("update", "gf_paypal_update"); ?> <h3><?php _e("PayPal Settings", "gravityformspaypal"); ?> </h3> <p style="text-align: left;"> <?php _e("Gravity Forms requires IPN to be enabled on your PayPal account. Follow the following steps to confirm IPN is enabled.", "gravityformspaypal"); ?> </p> <ul> <li><?php echo sprintf(__("Navigate to your PayPal %sIPN Settings page.%s", "gravityformspaypal"), "<a href='https://www.paypal.com/us/cgi-bin/webscr?cmd=_profile-ipn-notify' target='_blank'>", "</a>"); ?> </li> <li><?php _e("If IPN is already enabled, you will see your current IPN settings along with a button to turn off IPN. If that is the case, just check the confirmation box below and you are ready to go!", "gravityformspaypal"); ?> </li> <li><?php _e("If IPN is not enabled, click the 'Choose IPN Settings' button.", "gravityformspaypal"); ?> </li> <li><?php echo sprintf(__("Click the box to enable IPN and enter the following Notification URL: %s", "gravityformspaypal"), "<strong>" . add_query_arg("page", "gf_paypal_ipn", get_bloginfo("url") . "/") . "</strong>"); ?> </li> </ul> <br/> <input type="checkbox" name="gf_paypal_configured" id="gf_paypal_configured" onclick="confirm_settings()" <?php echo $is_configured ? "checked='checked'" : ""; ?> /> <label for="gf_paypal_configured" class="inline"><?php _e("Confirm that your have configured your PayPal account to enable IPN", "gravityformspaypal"); ?> </label> <script type="text/javascript"> function confirm_settings(){ var confirmed = jQuery("#gf_paypal_configured").is(":checked") ? 1 : 0; jQuery.post(ajaxurl, {action:"gf_paypal_confirm_settings", is_confirmed: confirmed}); } </script> </form> <form action="" method="post"> <?php wp_nonce_field("uninstall", "gf_paypal_uninstall"); ?> <?php if (GFCommon::current_user_can_any("gravityforms_paypal_uninstall")) { ?> <div class="hr-divider"></div> <h3><?php _e("Uninstall PayPal Add-On", "gravityformspaypal"); ?> </h3> <div class="delete-alert"><?php _e("Warning! This operation deletes ALL PayPal Feeds.", "gravityformspaypal"); ?> <?php $uninstall_button = '<input type="submit" name="uninstall" value="' . __("Uninstall PayPal Add-On", "gravityformspaypal") . '" class="button" onclick="return confirm(\'' . __("Warning! ALL PayPal Feeds will be deleted. This cannot be undone. \\'OK\\' to delete, \\'Cancel\\' to stop", "gravityformspaypal") . '\');"/>'; echo apply_filters("gform_paypal_uninstall_button", $uninstall_button); ?> </div> <?php } ?> </form> <?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 admin_bar() { global $wp_admin_bar; if (!GFCommon::current_user_can_any('gravityforms_create_form')) { return; } $wp_admin_bar->add_menu(array('id' => 'gravityforms-new-form', 'parent' => 'new-content', 'title' => esc_attr__('Form', 'gravityforms'), 'href' => admin_url('admin.php?page="gf_new_form'))); }
/** * Returns the parent menu item * * @param $menu_items * @param $addon_menus * * @return array|bool The parent menu araray or false if none */ private function get_parent_menu($menu_items, $addon_menus) { $parent = false; if (GFCommon::current_user_can_any($this->_capabilities_app_menu)) { foreach ($menu_items as $menu_item) { if ($this->current_user_can_any($menu_item['permission'])) { $parent = $menu_item; break; } } } elseif (is_array($addon_menus) && sizeof($addon_menus) > 0) { foreach ($addon_menus as $addon_menu) { if ($this->current_user_can_any($addon_menu['permission'])) { $parent = array('name' => $addon_menu['name'], 'callback' => $addon_menu['callback']); break; } } } elseif ($this->has_app_settings() && $this->current_user_can_any($this->_capabilities_app_settings)) { $parent = array('name' => $this->_slug . '_settings', 'callback' => array($this, 'app_settings')); } return $parent; }
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 settings_page() { $message = $validimage = false; global $plugin_page; if (!empty($_POST["uninstall"])) { check_admin_referer("uninstall", "gf_salesforce_uninstall"); self::uninstall(); ?> <div class="updated fade" style="padding:20px;"><?php _e(sprintf("Gravity Forms Salesforce Add-On have been successfully uninstalled. It can be re-activated from the %splugins page%s.", "<a href='plugins.php'>", "</a>"), "gravityformssalesforce"); ?> </div> <?php return; } else { if (!empty($_POST["gf_salesforce_submit"])) { check_admin_referer("update", "gf_salesforce_update"); $settings = stripslashes($_POST["gf_salesforce_org_id"]); update_option("gf_salesforce_oid", $settings); } else { $settings = get_option("gf_salesforce_oid"); } } $api = self::test_api(true); if (is_array($api) && empty($api)) { $message = "<p>" . __('Salesforce.com is temporarily unavailable. Please try again in a few minutes.', "gravityformssalesforce") . "</p>"; $class = "error"; $validimage = ''; $valid = true; } elseif ($api) { $class = "updated"; $validimage = '<img src="' . GFCommon::get_base_url() . '/images/tick.png"/>'; $valid = true; } elseif (!empty($settings)) { $message = "<p>" . __('Invalid Salesforce Organization ID.', "gravityformssalesforce") . "</p>"; $class = "error"; $valid = false; $validimage = '<img src="' . GFCommon::get_base_url() . '/images/cross.png"/>'; } ?> <style type="text/css"> .ul-square li { list-style: square!important; } .ol-decimal li { list-style: decimal!important; } </style> <div class="wrap"> <?php if ($plugin_page !== 'gf_settings') { echo '<h2>' . __('Gravity Forms Salesforce Add-on', "gravityformssalesforce") . '</h2>'; } if ($message) { echo "<div class='fade below-h2 {$class}'>" . wpautop($message) . "</div>"; } ?> <form method="post" action=""> <?php wp_nonce_field("update", "gf_salesforce_update"); ?> <h3><?php _e("Salesforce Account Information", "gravityformssalesforce"); ?> </h3> <p style="text-align: left;"> <?php _e(sprintf("If you don't have a Salesforce account, you can %ssign up for one here%s", "<a href='http://www.salesforce.com' target='_blank'>", "</a>"), "gravityformssalesforce"); ?> </p> <table class="form-table"> <tr> <th scope="row"><label for="gf_salesforce_org_id"><?php _e("Salesforce Org. ID", "gravityformssalesforce"); ?> </label> </th> <td><input type="text" size="75" id="gf_salesforce_org_id" class="code pre" style="font-size:1.1em; margin-right:.5em;" name="gf_salesforce_org_id" value="<?php echo esc_attr($settings); ?> "/> <?php echo $validimage; ?> <?php echo '<small style="display:block;">' . __('To find your Salesforce.com Organization ID, in your Salesforce.com account, go to [Your Name] » Setup » Company Profile (near the bottom of the left sidebar) » Company Information', 'gravityformssalesforce') . '</small>'; ?> </td> </tr> <tr> <td colspan="2" ><input type="submit" name="gf_salesforce_submit" class="submit button-primary" value="<?php _e("Save Settings", "gravityformssalesforce"); ?> " /></td> </tr> </table> </form> <?php if (isset($valid) && $valid) { ?> <div class="hr-divider"></div> <h3>Usage Instructions</h3> <div class="delete-alert alert_gray"> <h4>To integrate a form with Salesforce:</h4> <ol class="ol-decimal"> <li>Edit the form you would like to integrate (choose from the <a href="<?php _e(admin_url('admin.php?page=gf_edit_forms')); ?> ">Edit Forms page</a>).</li> <li>Click "Form Settings"</li> <li>Click the "Advanced" tab</li> <li><strong>Check the box "Enable Salesforce integration"</strong></li> <li>Save the form</li> </ol> </div> <h4><?php _e('Custom Fields', "gravityformssalesforce"); ?> </h4> <?php echo wpautop(sprintf(__('When you are trying to map a custom field, you need to set either the "Admin Label" for the input (in the Advanced tab of each field in the Gravity Forms form editor) or the Parameter Name (in Advanced tab, visible after checking "Allow field to be populated dynamically") to be the API Name of the Custom Field as shown in Salesforce. For example, a Custom Field with a Field Label "Web Source" could have an API Name of `SFGA__Web_Source__c`. You can find your Custom Fields under [Your Name] → Setup → Leads → Fields, then at the bottom of the page, there’s a list of "Lead Custom Fields & Relationships". This is where you will find the "API Name" to use in the Admin Label or Parameter Name. For more information on custom fields, %sread this Salesforce.com Help Article%s', "gravityformssalesforce"), '<a href="https://help.salesforce.com/apex/htviewhelpdoc?id=customize_customfields.htm&language=en" target="_blank">', '</a>')); ?> <h4><?php _e('Form Fields', "gravityformssalesforce"); ?> </h4> <p><?php _e('Fields will be automatically mapped by Salesforce using the default Gravity Forms labels.', "gravityformssalesforce"); ?> </p> <p><?php _e('If you have issues with data being mapped, make sure to use the following keywords in the label to match and send data to Salesforce.', "gravityformssalesforce"); ?> </p> <ul class="ul-square"> <li><?php _e(sprintf('%sname%s (use to auto-split names into First Name and Last Name fields)', '<code>', '</code>'), "gravityformssalesforce"); ?> </li> <li><?php _e(sprintf('%sfirst name%s', '<code>', '</code>'), "gravityformssalesforce"); ?> </li> <li><?php _e(sprintf('%slast name%s', '<code>', '</code>'), "gravityformssalesforce"); ?> </li> <li><?php _e(sprintf('%scompany%s', '<code>', '</code>'), "gravityformssalesforce"); ?> </li> <li><?php _e(sprintf('%semail%s', '<code>', '</code>'), "gravityformssalesforce"); ?> </li> <li><?php _e(sprintf('%sphone%s', '<code>', '</code>'), "gravityformssalesforce"); ?> </li> <li><?php _e(sprintf('%scity%s', '<code>', '</code>'), "gravityformssalesforce"); ?> </li> <li><?php _e(sprintf('%scountry%s', '<code>', '</code>'), "gravityformssalesforce"); ?> </li> <li><?php _e(sprintf('%szip%s', '<code>', '</code>'), "gravityformssalesforce"); ?> </li> <li><?php _e(sprintf('%ssubject%s', '<code>', '</code>'), "gravityformssalesforce"); ?> </li> <li><?php _e(sprintf('%sdescription%s, %squestion%s, %smessage%s, or %scomments%s for Description', '<code>', '</code>', '<code>', '</code>', '<code>', '</code>', '<code>', '</code>'), "gravityformssalesforce"); ?> </li> </ul> <form action="" method="post"> <?php wp_nonce_field("uninstall", "gf_salesforce_uninstall"); ?> <?php if (GFCommon::current_user_can_any("gravityforms_salesforce_uninstall")) { ?> <div class="hr-divider"></div> <h3><?php _e("Uninstall Salesforce Add-On", "gravityformssalesforce"); ?> </h3> <div class="delete-alert alert_red"> <h3><?php _e('Warning', 'gravityformssalesforce'); ?> </h3> <p><?php _e("This operation deletes ALL Salesforce Feeds. ", "gravityformssalesforce"); ?> </p> <?php $uninstall_button = '<input type="submit" name="uninstall" value="' . __("Uninstall Salesforce Add-On", "gravityformssalesforce") . '" class="button" onclick="return confirm(\'' . __("Warning! ALL Salesforce Feeds will be deleted. This cannot be undone. \\'OK\\' to delete, \\'Cancel\\' to stop", "gravityformssalesforce") . '\');"/>'; echo apply_filters("gform_salesforce_uninstall_button", $uninstall_button); ?> </div> <?php } ?> </form> <?php } // end if($api) ?> </div> <?php }
public static function save_lead($form, &$lead) { global $wpdb; if (IS_ADMIN && !GFCommon::current_user_can_any("gravityforms_edit_entries")) { die(__("You don't have adequate permission to edit entries.", "gravityforms")); } $lead_detail_table = self::get_lead_details_table_name(); //Inserting lead if null if ($lead == null) { global $current_user; $user_id = $current_user && $current_user->ID ? $current_user->ID : 'NULL'; $lead_table = RGFormsModel::get_lead_table_name(); $user_agent = strlen($_SERVER["HTTP_USER_AGENT"]) > 250 ? substr($_SERVER["HTTP_USER_AGENT"], 0, 250) : $_SERVER["HTTP_USER_AGENT"]; $currency = GFCommon::get_currency(); $wpdb->query($wpdb->prepare("INSERT INTO {$lead_table}(form_id, ip, source_url, date_created, user_agent, currency, created_by) VALUES(%d, %s, %s, utc_timestamp(), %s, %s, {$user_id})", $form["id"], self::get_ip(), self::get_current_page_url(), $user_agent, $currency)); //reading newly created lead id $lead_id = $wpdb->insert_id; $lead = array("id" => $lead_id); } $current_fields = $wpdb->get_results($wpdb->prepare("SELECT id, field_number FROM {$lead_detail_table} WHERE lead_id=%d", $lead["id"])); $original_post_id = rgget("post_id", $lead); $total_field = null; $calculation_fields = array(); $recalculate_total = false; foreach ($form["fields"] as $field) { //Ignore fields that are marked as display only if (rgget("displayOnly", $field) && $field["type"] != "password") { continue; } //ignore pricing fields in the entry detail if (RG_CURRENT_VIEW == "entry" && GFCommon::is_pricing_field($field["type"])) { continue; } //process total field after all fields have been saved if ($field["type"] == "total") { $total_field = $field; continue; } //only save fields that are not hidden (except on entry screen) if (RG_CURRENT_VIEW == "entry" || !RGFormsModel::is_field_hidden($form, $field, array())) { // process calculation fields after all fields have been saved if (GFCommon::has_field_calculation($field)) { $calculation_fields[] = $field; continue; } if ($field['type'] == 'post_category') { $field = GFCommon::add_categories_as_choices($field, ''); } if (isset($field["inputs"]) && is_array($field["inputs"])) { foreach ($field["inputs"] as $input) { self::save_input($form, $field, $lead, $current_fields, $input["id"]); } } else { self::save_input($form, $field, $lead, $current_fields, $field["id"]); } } } if (!empty($calculation_fields)) { foreach ($calculation_fields as $calculation_field) { if (isset($calculation_field["inputs"]) && is_array($calculation_field["inputs"])) { foreach ($calculation_field["inputs"] as $input) { self::save_input($form, $calculation_field, $lead, $current_fields, $input["id"]); } } else { self::save_input($form, $calculation_field, $lead, $current_fields, $calculation_field["id"]); } } self::refresh_product_cache($form, $lead = RGFormsModel::get_lead($lead['id'])); } //saving total field as the last field of the form. if ($total_field) { self::save_input($form, $total_field, $lead, $current_fields, $total_field["id"]); } }
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 settings_page() { if (rgpost("uninstall")) { check_admin_referer("uninstall", "gf_paypal_uninstall"); self::uninstall(); ?> <div class="updated fade" style="padding:20px;"><?php _e(sprintf("Gravity Forms PayPal Add-On have been successfully uninstalled. It can be re-activated from the %splugins page%s.", "<a href='plugins.php'>", "</a>"), "gravityformspaypal"); ?> </div> <?php return; } else { if (isset($_POST["gf_debug_submit"])) { check_admin_referer("update", "gf_paypal_update"); $settings = array("log_level" => rgpost("gf_paypal_log_level")); update_option("gf_paypal_settings", $settings); } } $settings = get_option("gf_paypal_settings"); $is_configured = get_option("gf_paypal_configured"); ?> <form action="" method="post"> <?php wp_nonce_field("update", "gf_paypal_update"); ?> <h3><?php _e("PayPal Settings", "gravityformspaypal"); ?> </h3> <p style="text-align: left;"> <?php _e("Gravity Forms requires IPN to be enabled on your PayPal account. Follow the following steps to confirm IPN is enabled.", "gravityformspaypal"); ?> </p> <ul> <li><?php echo sprintf(__("Navigate to your PayPal %sIPN Settings page.%s", "gravityformspaypal"), "<a href='https://www.paypal.com/us/cgi-bin/webscr?cmd=_profile-ipn-notify' target='_blank'>", "</a>"); ?> </li> <li><?php _e("If IPN is already enabled, you will see your current IPN settings along with a button to turn off IPN. If that is the case, just check the confirmation box below and you are ready to go!", "gravityformspaypal"); ?> </li> <li><?php _e("If IPN is not enabled, click the 'Choose IPN Settings' button.", "gravityformspaypal"); ?> </li> <li><?php echo sprintf(__("Click the box to enable IPN and enter the following Notification URL: %s", "gravityformspaypal"), "<strong>" . add_query_arg("page", "gf_paypal_ipn", get_bloginfo("url") . "/") . "</strong>"); ?> </li> </ul> <br/> <input type="checkbox" name="gf_paypal_configured" id="gf_paypal_configured" onclick="confirm_settings()" <?php echo $is_configured ? "checked='checked'" : ""; ?> /> <label for="gf_paypal_configured" class="inline"><?php _e("Confirm that your have configured your PayPal account to enable IPN", "gravityformspaypal"); ?> </label> <div style="display:<?php echo rgempty("debug", $_GET) ? "none" : "block"; ?> ;"> <div class="hr-divider"></div> <h3><?php _e("Debugging Settings", "gravityformspaypal"); ?> </h3> <label for="gf_paypal_log_level" class="inline"><?php _e("Logging", "gravityformspaypal"); ?> </label> <select id="gf_paypal_log_level" name="gf_paypal_log_level"> <option value="<?php echo KLogger::OFF; ?> " <?php echo rgempty("log_level", $settings) ? "selected='selected'" : ""; ?> ><?php _e("Off", "gravityformspaypal"); ?> </option> <option value="<?php echo KLogger::DEBUG; ?> " <?php echo rgar($settings, "log_level") == KLogger::DEBUG ? "selected='selected'" : ""; ?> ><?php _e("Log all messages", "gravityformspaypal"); ?> </option> <option value="<?php echo KLogger::ERROR; ?> " <?php echo rgar($settings, "log_level") == KLogger::ERROR ? "selected='selected'" : ""; ?> ><?php _e("Log errors only", "gravityformspaypal"); ?> </option> </select> <?php if (file_exists(self::get_base_path() . "/log.txt")) { ?> <a href="<?php echo self::get_base_url() . "/log.txt"; ?> " target="_blank"><?php _e("view log", "gravityformspaypal"); ?> </a> <?php } ?> <div style="margin-top: 15px;"><input type="submit" name="gf_debug_submit" class="button-primary" value="<?php _e("Save", "gravityformspaypal"); ?> " /></div> </div> <script type="text/javascript"> function confirm_settings(){ var confirmed = jQuery("#gf_paypal_configured").is(":checked") ? 1 : 0; jQuery.post(ajaxurl, {action:"gf_paypal_confirm_settings", is_confirmed: confirmed, cookie: encodeURIComponent(document.cookie)}); } </script> </form> <form action="" method="post"> <?php wp_nonce_field("uninstall", "gf_paypal_uninstall"); ?> <?php if (GFCommon::current_user_can_any("gravityforms_paypal_uninstall")) { ?> <div class="hr-divider"></div> <h3><?php _e("Uninstall PayPal Add-On", "gravityformspaypal"); ?> </h3> <div class="delete-alert"><?php _e("Warning! This operation deletes ALL PayPal Feeds.", "gravityformspaypal"); ?> <?php $uninstall_button = '<input type="submit" name="uninstall" value="' . __("Uninstall PayPal Add-On", "gravityformspaypal") . '" class="button" onclick="return confirm(\'' . __("Warning! ALL PayPal Feeds will be deleted. This cannot be undone. \\'OK\\' to delete, \\'Cancel\\' to stop", "gravityformspaypal") . '\');"/>'; echo apply_filters("gform_paypal_uninstall_button", $uninstall_button); ?> </div> <?php } ?> </form> <?php }
public static function top_toolbar() { $forms = RGFormsModel::get_forms(null, "title"); $id = rgempty("id", $_GET) ? count($forms) > 0 ? $forms[0]->id : "0" : rgget("id"); ?> <script type="text/javascript"> function GF_ReplaceQuery(key, newValue){ var new_query = ""; var query = document.location.search.substring(1); var ary = query.split("&"); var has_key=false; for (i=0; i < ary.length; i++) { var key_value = ary[i].split("="); if (key_value[0] == key){ new_query += key + "=" + newValue + "&"; has_key = true; } else if(key_value[0] != "display_settings"){ new_query += key_value[0] + "=" + key_value[1] + "&"; } } if(new_query.length > 0) new_query = new_query.substring(0, new_query.length-1); if(!has_key) new_query += new_query.length > 0 ? "&" + key + "=" + newValue : "?" + key + "=" + newValue; return new_query; } function GF_SwitchForm(id){ if(id.length > 0){ query = GF_ReplaceQuery("id", id); query = query.replace("gf_new_form", "gf_edit_forms"); document.location = "?" + query; } } function ToggleFormSettings(){ FieldClick(jQuery('#gform_heading')[0]); } jQuery(document).ready(function(){ if(document.location.search.indexOf("display_settings") > 0) ToggleFormSettings() jQuery('a.gf_toolbar_disabled').click(function(event){ event.preventDefault(); }); }); </script> <div id="gf_form_toolbar"> <ul id="gf_form_toolbar_links"> <?php if (GFCommon::current_user_can_any("gravityforms_edit_forms")) { ?> <li class="gf_form_toolbar_editor"><a href="?page=gf_edit_forms&id=<?php echo $id; ?> " <?php echo self::toolbar_class("editor"); ?> ><?php _e("Form Editor", "gravityforms"); ?> </a></li> <li class="gf_form_toolbar_settings"><a href="javascript: if(jQuery('#gform_heading.selectable').length > 0){FieldClick(jQuery('#gform_heading')[0]);} else{document.location = '?page=gf_edit_forms&id=<?php echo $id; ?> &display_settings';}" <?php echo self::toolbar_class("settings"); ?> ><?php _e("Form Settings", "gravityforms"); ?> </a></li> <li class="gf_form_toolbar_notifications"><a href="?page=gf_edit_forms&view=notification&id=<?php echo $id; ?> " <?php echo self::toolbar_class("notifications"); ?> ><?php _e("Notifications", "gravityforms"); ?> </a></li> <?php } if (GFCommon::current_user_can_any(array('gravityforms_view_entries', 'gravityforms_edit_entries', 'gravityforms_delete_entries'))) { ?> <li class="gf_form_toolbar_entries"><a href="?page=gf_entries&id=<?php echo $id; ?> " <?php echo self::toolbar_class("entries"); ?> > <?php echo RG_CURRENT_VIEW != 'entry' ? __("Entries", "gravityforms") : __("Entries", "gravityforms"); ?> </a></li> <?php } if (GFCommon::current_user_can_any(array("gravityforms_edit_forms", "gravityforms_create_form", "gravityforms_preview_forms"))) { ?> <li class="gf_form_toolbar_preview"><a href="<?php echo site_url(); ?> /?gf_page=preview&id=<?php echo $id; ?> " target="_blank" <?php echo self::toolbar_class("preview"); ?> ><?php _e("Preview", "gravityforms"); ?> </a></li> <?php } ?> <li class="gf_form_switcher"> <label for="export_form"><?php _e("Select A Form", "gravityforms"); ?> </label> <?php if (RG_CURRENT_VIEW != 'entry') { ?> <select name="form_switcher" id="form_switcher" onchange="GF_SwitchForm(jQuery(this).val());"> <option value=""><?php _e("Switch Form", "gravityforms"); ?> </option> <?php foreach ($forms as $form_info) { ?> <option value="<?php echo $form_info->id; ?> "><?php echo $form_info->title; ?> </option> <?php } ?> </select> <?php } // end view check ?> </li> </ul> </div> <?php }
/** * Returns the parent menu item * * @param $menu_items * @param $addon_menus * * @return array|bool The parent menu araray or false if none */ private function get_parent_menu($menu_items, $addon_menus) { $parent = false; if (GFCommon::current_user_can_any($this->_capabilities_app_menu)) { foreach ($menu_items as $menu_item) { if ($this->current_user_can_any($menu_item["permission"])) { $parent = $menu_item; break; } } } elseif (is_array($addon_menus) && sizeof($addon_menus) > 0) { foreach ($addon_menus as $addon_menu) { if ($this->current_user_can_any($addon_menu["permission"])) { $parent = array("name" => $addon_menu["name"], "callback" => $addon_menu["callback"]); break; } } } elseif ($this->has_app_settings() && $this->current_user_can_any($this->_capabilities_app_settings)) { $parent = array("name" => $this->_slug . "_settings", "callback" => array($this, "app_settings")); } return $parent; }
public static function toolbar_sub_menu_items($menu_items, $compact = false) { if (empty($menu_items)) { return ""; } $sub_menu_items_string = ""; foreach ($menu_items as $menu_item) { if (GFCommon::current_user_can_any(rgar($menu_item, "capabilities"))) { $menu_class = rgar($menu_item, "menu_class"); $link_class = rgar($menu_item, "link_class"); $url = rgar($menu_item, "url"); $label = rgar($menu_item, "label"); $target = rgar($menu_item, "target"); $sub_menu_items_string .= "<li class='{$menu_class}'><a href='{$url}' class='{$link_class}' target='{$target}'>{$label}</a></li>"; } } if ($compact) { $sub_menu_items_string = ' <a class="gf_toggle_submenu" onclick="toggleSubMenu(this);"></a> <div class="gf_submenu"><ul>' . $sub_menu_items_string . '</ul></div>'; } else { $sub_menu_items_string = '<div class="gf_submenu"><ul>' . $sub_menu_items_string . '</ul></div>'; } return $sub_menu_items_string; }
public static function get_tabs() { $setting_tabs = array(); if (GFCommon::current_user_can_any('gravityforms_export_entries')) { $setting_tabs['10'] = array('name' => 'export_entry', 'label' => __('Export Entries', 'gravityforms')); } if (GFCommon::current_user_can_any('gravityforms_edit_forms')) { $setting_tabs['20'] = array('name' => 'export_form', 'label' => __('Export Forms', 'gravityforms')); $setting_tabs['30'] = array('name' => 'import_form', 'label' => __('Import Forms', 'gravityforms')); } $setting_tabs = apply_filters('gform_export_menu', $setting_tabs); ksort($setting_tabs, SORT_NUMERIC); return $setting_tabs; }
public static function settings_page() { $ur_settings = get_option('gf_userregistration_settings') ? get_option('gf_userregistration_settings') : array(); $uninstall = RGForms::post("uninstall"); if ($uninstall) { check_admin_referer("uninstall", "gf_user_registration_uninstall"); self::uninstall(); ?> <div class="updated fade" style="padding:20px;"> <?php echo sprintf(__("Gravity Forms User Registration Add-On has been successfully uninstalled. It can be re-activated from the %splugins page%s.", "gravityformsuserregistration"), "<a href='plugins.php'>", "</a>"); ?> </div> <?php return; } $is_submit = rgpost('gf_userregistration_settings_submit'); if ($is_submit) { $ur_settings['enable_custom_reg_page'] = rgpost('gf_userregistration_enable_custom_reg_page'); $ur_settings['custom_reg_page'] = rgpost('gf_userregistration_custom_reg_page'); update_option('gf_userregistration_settings', $ur_settings); } ?> <form method="post"> <?php wp_nonce_field("update", "gf_userregistration_update"); ?> <input type="hidden" value="1" name="gf_userregistration_settings_submit" /> <h3><?php _e("User Registration Settings", "gravityformsuserregistration"); ?> </h3> <table width="100%"> <tr> <td valign="top" width="260"><?php _e("Custom Registration Page", "gravityformsuserregistration"); ?> </td> <td valign="top"> <input type="checkbox" name="gf_userregistration_enable_custom_reg_page" id="gf_userregistration_enable_custom_reg_page" <?php echo rgar($ur_settings, 'enable_custom_reg_page') ? "checked='checked'" : ""; ?> onclick="if(jQuery(this).is(':checked')) { jQuery('#gf_userregistration_custom_reg_page_options').slideDown(); } else { jQuery('#gf_userregistration_custom_reg_page_options').slideUp(); }" /> <label for="gf_userregistration_enable_custom_reg_page" class="inline"><?php _e("Enable Custom Registration Page", "gravityformsuserregistration"); ?> <?php gform_tooltip("user_registration_username"); ?> </label> <div id="gf_userregistration_custom_reg_page_options" style="<?php echo !rgar($ur_settings, 'enable_custom_reg_page') ? 'display:none;' : ''; ?> margin: 10px 0;"> <?php $pages = get_posts('post_type=page&numberposts=-1&order=asc&orderby=title'); ?> <select id="gf_userregistration_custom_reg_page" name="gf_userregistration_custom_reg_page"> <?php foreach ($pages as $page) { $selected = $page->ID == rgar($ur_settings, 'custom_reg_page') ? "selected='selected'" : ""; ?> <option value="<?php echo $page->ID; ?> " <?php echo $selected; ?> ><?php echo $page->post_title; ?> </option> <?php } ?> </select> </div> </td> </tr> </table> <input type="submit" name="save" value="<?php _e("Save Settings", "gravityformsuserregistration"); ?> " class="button-primary" style="margin-top:40px;" /> </form> <form action="" method="post"> <?php wp_nonce_field("uninstall", "gf_user_registration_uninstall"); ?> <?php if (GFCommon::current_user_can_any("gravityforms_user_registration_uninstall")) { ?> <div class="hr-divider"></div> <h3><?php _e("Uninstall User Registration Add-On", "gravityformsuserregistration"); ?> </h3> <div class="delete-alert alert_red"> <h3><i class="fa fa-exclamation-triangle gf_invalid"></i> Warning</h3> <div class="gf_delete_notice" "=""><strong><?php _e("Warning! This operation deletes ALL user registration feeds.", "gravityformsuserregistration"); ?> </strong><?php _e("If you continue, you will not be able to recover any User Registration data.", "gravityformsuserregistration"); ?> </div> <input type="submit" name="uninstall" value="Uninstall User Registration Add-on" class="button" onclick="return confirm('<?php _e("Warning! ALL settings will be deleted. This cannot be undone. \\'OK\\' to delete, \\'Cancel\\' to stop", "gravityformsuserregistration"); ?> ');"> </div> <?php } ?> </form> <?php }
public static function save_lead($form, &$lead) { global $wpdb; GFCommon::log_debug(__METHOD__ . '(): Saving entry.'); $is_form_editor = GFCommon::is_form_editor(); $is_entry_detail = GFCommon::is_entry_detail(); $is_admin = $is_form_editor || $is_entry_detail; if ($is_admin && !GFCommon::current_user_can_any('gravityforms_edit_entries')) { die(esc_html__("You don't have adequate permission to edit entries.", 'gravityforms')); } $lead_detail_table = self::get_lead_details_table_name(); $is_new_lead = $lead == null; //Inserting lead if null if ($is_new_lead) { global $current_user; $user_id = $current_user && $current_user->ID ? $current_user->ID : 'NULL'; $lead_table = RGFormsModel::get_lead_table_name(); $user_agent = self::truncate($_SERVER['HTTP_USER_AGENT'], 250); $currency = GFCommon::get_currency(); $source_url = self::truncate(self::get_current_page_url(), 200); $wpdb->query($wpdb->prepare("INSERT INTO {$lead_table}(form_id, ip, source_url, date_created, user_agent, currency, created_by) VALUES(%d, %s, %s, utc_timestamp(), %s, %s, {$user_id})", $form['id'], self::get_ip(), $source_url, $user_agent, $currency)); //reading newly created lead id $lead_id = $wpdb->insert_id; $lead = array('id' => $lead_id); GFCommon::log_debug(__METHOD__ . "(): Entry record created in the database. ID: {$lead_id}."); } $current_fields = $wpdb->get_results($wpdb->prepare("SELECT id, field_number FROM {$lead_detail_table} WHERE lead_id=%d", $lead['id'])); $total_fields = array(); /* @var $calculation_fields GF_Field[] */ $calculation_fields = array(); $recalculate_total = false; GFCommon::log_debug(__METHOD__ . '(): Saving entry fields.'); foreach ($form['fields'] as $field) { /* @var $field GF_Field */ // ignore the honeypot field if ($field->type == 'honeypot') { continue; } //Ignore fields that are marked as display only if ($field->displayOnly && $field->type != 'password') { continue; } //ignore pricing fields in the entry detail if (RG_CURRENT_VIEW == 'entry' && GFCommon::is_pricing_field($field->type)) { continue; } //process total field after all fields have been saved if ($field->type == 'total') { $total_fields[] = $field; continue; } $is_entry_update = RG_CURRENT_VIEW == 'entry' || !$is_new_lead; $read_value_from_post = $is_new_lead || !isset($lead['date_created']); //only save fields that are not hidden (except when updating an entry) if ($is_entry_update || !GFFormsModel::is_field_hidden($form, $field, array(), $read_value_from_post ? null : $lead)) { // process calculation fields after all fields have been saved (moved after the is hidden check) if ($field->has_calculation()) { $calculation_fields[] = $field; continue; } if ($field->type == 'post_category') { $field = GFCommon::add_categories_as_choices($field, ''); } $inputs = $field->get_entry_inputs(); if (is_array($inputs)) { foreach ($inputs as $input) { self::save_input($form, $field, $lead, $current_fields, $input['id']); } } else { self::save_input($form, $field, $lead, $current_fields, $field->id); } } } if (!empty($calculation_fields)) { foreach ($calculation_fields as $calculation_field) { $inputs = $calculation_field->get_entry_inputs(); if (is_array($inputs)) { foreach ($inputs as $input) { self::save_input($form, $calculation_field, $lead, $current_fields, $input['id']); self::refresh_lead_field_value($lead['id'], $input['id']); } } else { self::save_input($form, $calculation_field, $lead, $current_fields, $calculation_field->id); self::refresh_lead_field_value($lead['id'], $calculation_field->id); } } self::refresh_product_cache($form, $lead = RGFormsModel::get_lead($lead['id'])); } //saving total field as the last field of the form. if (!empty($total_fields)) { foreach ($total_fields as $total_field) { self::save_input($form, $total_field, $lead, $current_fields, $total_field->id); self::refresh_lead_field_value($lead['id'], $total_field['id']); } } GFCommon::log_debug(__METHOD__ . '(): Finished saving entry fields.'); }
/** * Checks the permissions for the current user. Returns true if the current user has any of the specified capabilities. * IMPORTANT: Call this before calling any of the other API Functions as permission checks are not performed at lower levels. * * @since 1.8.5.10 * @access public * @static * * @param array|string $capabilities An array of capabilities, or a single capability * @return bool Returns true if the current user has any of the specified capabilities */ public static function current_user_can_any($capabilities) { return GFCommon::current_user_can_any($capabilities); }
public static function notes_grid($notes, $is_editable, $emails = null, $subject = '') { if (sizeof($notes) > 0 && $is_editable && GFCommon::current_user_can_any('gravityforms_edit_entry_notes')) { ?> <div class="alignleft actions" style="padding:3px 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> <option value='delete'><?php esc_html_e('Delete', 'gravityforms'); ?> </option> </select> <?php $apply_button = '<input type="submit" class="button" value="' . esc_attr__('Apply', 'gravityforms') . '" onclick="jQuery(\'#action\').val(\'bulk\');" style="width: 50px;" />'; echo apply_filters('gform_notes_apply_button', $apply_button); ?> </div> <?php } ?> <table class="widefat fixed entry-detail-notes" cellspacing="0"> <?php if (!$is_editable) { ?> <thead> <tr> <th id="notes">Notes</th> </tr> </thead> <?php } ?> <tbody id="the-comment-list" class="list:comment"> <?php $count = 0; $notes_count = sizeof($notes); foreach ($notes as $note) { $count++; $is_last = $count >= $notes_count ? true : false; ?> <tr valign="top"> <?php if ($is_editable && GFCommon::current_user_can_any('gravityforms_edit_entry_notes')) { ?> <th class="check-column" scope="row" style="padding:9px 3px 0 0"> <input type="checkbox" value="<?php echo $note->id; ?> " name="note[]" /> </th> <td colspan="2"> <?php } else { ?> <td class="entry-detail-note<?php echo $is_last ? ' lastrow' : ''; ?> "> <?php } $class = $note->note_type ? " gforms_note_{$note->note_type}" : ''; ?> <div style="margin-top:4px;"> <div class="note-avatar"><?php echo apply_filters('gform_notes_avatar', get_avatar($note->user_id, 48), $note); ?> </div> <h6 class="note-author"><?php echo esc_html($note->user_name); ?> </h6> <p class="note-email"> <a href="mailto:<?php echo esc_attr($note->user_email); ?> "><?php echo esc_html($note->user_email); ?> </a><br /> <?php esc_html_e('added on', 'gravityforms'); ?> <?php echo esc_html(GFCommon::format_date($note->date_created, false)); ?> </p> </div> <div class="detail-note-content<?php echo $class; ?> "><?php echo esc_html($note->value); ?> </div> </td> </tr> <?php } if ($is_editable && GFCommon::current_user_can_any('gravityforms_edit_entry_notes')) { ?> <tr> <td colspan="3" style="padding:10px;" class="lastrow"> <textarea name="new_note" style="width:100%; height:50px; margin-bottom:4px;"></textarea> <?php $note_button = '<input type="submit" name="add_note" value="' . esc_attr__('Add Note', 'gravityforms') . '" class="button" style="width:auto;padding-bottom:2px;" onclick="jQuery(\'#action\').val(\'add_note\');"/>'; echo apply_filters('gform_addnote_button', $note_button); if (!empty($emails)) { ?> <span> <select name="gentry_email_notes_to" onchange="if(jQuery(this).val() != '') {jQuery('#gentry_email_subject_container').css('display', 'inline');} else{jQuery('#gentry_email_subject_container').css('display', 'none');}"> <option value=""><?php esc_html_e('Also email this note to', 'gravityforms'); ?> </option> <?php foreach ($emails as $email) { ?> <option value="<?php echo esc_attr($email); ?> "><?php echo esc_html($email); ?> </option> <?php } ?> </select> <span id='gentry_email_subject_container' style="display:none;"> <label for="gentry_email_subject"><?php esc_html_e('Subject:', 'gravityforms'); ?> </label> <input type="text" name="gentry_email_subject" id="gentry_email_subject" value="" style="width:35%" /> </span> </span> <?php } ?> </td> </tr> <?php } ?> </tbody> </table> <?php }
//For backwards compatibility, load wordpress if it hasn't been loaded yet //Will be used if this file is being called directly if (!class_exists("RGForms")) { for ($i = 0; $i < ($depth = 10); $i++) { $wp_root_path = str_repeat('../', $i); if (file_exists("{$wp_root_path}wp-load.php")) { require_once "{$wp_root_path}wp-load.php"; require_once "{$wp_root_path}wp-admin/includes/admin.php"; break; } } //redirect to the login page if user is not authenticated auth_redirect(); } if (!GFCommon::current_user_can_any("gravityforms_view_entries")) { die(__("You don't have adequate permission to view entries.", "gravityforms")); } $form_id = absint(rgget("fid")); $lead_ids = explode(',', rgget("lid")); $page_break = rgget("page_break") ? 'print-page-break' : false; // sort lead IDs numerically sort($lead_ids); if (empty($form_id) || empty($lead_ids)) { die(__("Form Id and Lead Id are required parameters.", "gravityforms")); } $form = RGFormsModel::get_form_meta($form_id); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
public static function settings_page() { if (!class_exists("RGCampaignMonitorUpgrade")) { require_once "plugin-upgrade.php"; } if ($_POST["uninstall"]) { check_admin_referer("uninstall", "gf_campaignmonitor_uninstall"); self::uninstall(); ?> <div class="updated fade" style="padding:20px;"><?php _e(sprintf("Gravity Forms Campaign Monitor Add-On have been successfully uninstalled. It can be re-activated from the %splugins page%s.", "<a href='plugins.php'>", "</a>"), "gravityformscampaignmonitor"); ?> </div> <?php return; } else { if ($_POST["gf_campaignmonitor_submit"]) { check_admin_referer("update", "gf_campaignmonitor_update"); $settings = array("api_key" => $_POST["gf_campaignmonitor_api_key"], "client_id" => $_POST["gf_campaignmonitor_client_id"]); update_option("gf_campaignmonitor_settings", $settings); } else { $settings = get_option("gf_campaignmonitor_settings"); } } $is_valid = self::is_valid_key(); $message = ""; if ($is_valid) { $message = "Valid API Key."; } else { if (!empty($settings["api_key"])) { $message = "Invalid API Key. Please try another."; } } ?> <style> .valid_credentials{color:green;} .invalid_credentials{color:red;} .size-1{width:400px;} </style> <form method="post" action=""> <?php wp_nonce_field("update", "gf_campaignmonitor_update"); ?> <h3><?php _e("Campaign Monitor Account Information", "gravityformscampaignmonitor"); ?> </h3> <p style="text-align: left;"> <?php _e(sprintf("Campaign Monitor is an email marketing software for designers and their clients. Use Gravity Forms to collect customer information and automatically add them to your client's Campaign Monitor subscription list. If you don't have a Campaign Monitor account, you can %ssign up for one here%s", "<a href='http://www.campaignmonitor.com' target='_blank'>", "</a>"), "gravityformscampaignmonitor"); ?> </p> <table class="form-table"> <tr> <th scope="row"><label for="gf_campaignmonitor_username"><?php _e("API Key", "gravityformscampaignmonitor"); ?> </label> </th> <td width="88%"> <input type="password" class="size-1" id="gf_campaignmonitor_api_key" name="gf_campaignmonitor_api_key" value="<?php echo esc_attr($settings["api_key"]); ?> " /> <img src="<?php echo self::get_base_url(); ?> /images/<?php echo $is_valid ? "tick.png" : "stop.png"; ?> " border="0" alt="<?php $message; ?> " title="<?php echo $message; ?> " style="display:<?php echo empty($message) ? 'none;' : 'inline;'; ?> " /> <br/> <small><?php _e("You can find your unique API key by clicking on the 'Account Settings' link at the top of your Campaign Monitor screen", "gravityformscampaignmonitor"); ?> </small> </td> </tr> <tr> <th scope="row"><label for="gf_campaignmonitor_username"><?php _e("API Client ID", "gravityformscampaignmonitor"); ?> </label> </th> <td width="88%"> <input type="text" class="size-1" id="gf_campaignmonitor_client_id" name="gf_campaignmonitor_client_id" value="<?php echo esc_attr($settings["client_id"]); ?> " /> <br/> <small><?php _e("(Optional) Enter a <strong>API Client ID</strong> to limit this Add-On to the specified client", "gravityformscampaignmonitor"); ?> </small> </td> </tr> <tr> <td colspan="2" ><input type="submit" name="gf_campaignmonitor_submit" class="button-primary" value="<?php _e("Save Settings", "gravityformscampaignmonitor"); ?> " /></td> </tr> </table> <div> </div> </form> <form action="" method="post"> <?php wp_nonce_field("uninstall", "gf_campaignmonitor_uninstall"); ?> <?php if (GFCommon::current_user_can_any("gravityforms_campaignmonitor_uninstall")) { ?> <div class="hr-divider"></div> <h3><?php _e("Uninstall Campaign Monitor Add-On", "gravityformscampaignmonitor"); ?> </h3> <div class="delete-alert"><?php _e("Warning! This operation deletes ALL Campaign Monitor Feeds.", "gravityformscampaignmonitor"); ?> <?php $uninstall_button = '<input type="submit" name="uninstall" value="' . __("Uninstall Campaign Monitor Add-On", "gravityformscampaignmonitor") . '" class="button" onclick="return confirm(\'' . __("Warning! ALL Campaign Monitor Feeds will be deleted. This cannot be undone. \\'OK\\' to delete, \\'Cancel\\' to stop", "gravityformscampaignmonitor") . '\');"/>'; echo apply_filters("gform_campaignmonitor_uninstall_button", $uninstall_button); ?> </div> <?php } ?> </form> <?php }
public static function leads_page($form_id) { global $wpdb; //quit if version of wp is not supported if (!GFCommon::ensure_wp_version()) { return; } echo GFCommon::get_remote_message(); $action = RGForms::post("action"); $filter = rgget("filter"); $search = rgget("s"); $page_index = empty($_GET["paged"]) ? 0 : intval($_GET["paged"]) - 1; $star = $filter == "star" ? 1 : null; // is_numeric(RGForms::get("star")) ? intval(RGForms::get("star")) : null; $read = $filter == "unread" ? 0 : null; //is_numeric(RGForms::get("read")) ? intval(RGForms::get("read")) : null; $status = in_array($filter, array("trash", "spam")) ? $filter : "active"; $update_message = ""; switch ($action) { case "delete": check_admin_referer('gforms_entry_list', 'gforms_entry_list'); $lead_id = $_POST["action_argument"]; RGFormsModel::delete_lead($lead_id); $update_message = __("Entry deleted.", "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::get_lead_ids($form_id, $search, $star, $read, null, null, $status); $entry_count = count($leads) > 1 ? sprintf(__("%d entries", "gravityforms"), count($leads)) : __("1 entry", "gravityforms"); switch ($bulk_action) { case "delete": RGFormsModel::delete_leads($leads); $update_message = sprintf(__("%s deleted.", "gravityforms"), $entry_count); break; case "trash": RGFormsModel::update_leads_property($leads, "status", "trash"); $update_message = sprintf(__("%s moved to Trash.", "gravityforms"), $entry_count); break; case "restore": RGFormsModel::update_leads_property($leads, "status", "active"); $update_message = sprintf(__("%s restored from the Trash.", "gravityforms"), $entry_count); break; case "unspam": RGFormsModel::update_leads_property($leads, "status", "active"); $update_message = sprintf(__("%s restored from the spam.", "gravityforms"), $entry_count); break; case "spam": RGFormsModel::update_leads_property($leads, "status", "spam"); $update_message = sprintf(__("%s marked as spam.", "gravityforms"), $entry_count); break; case "mark_read": RGFormsModel::update_leads_property($leads, "is_read", 1); $update_message = sprintf(__("%s marked as read.", "gravityforms"), $entry_count); break; case "mark_unread": RGFormsModel::update_leads_property($leads, "is_read", 0); $update_message = sprintf(__("%s marked as unread.", "gravityforms"), $entry_count); break; case "add_star": RGFormsModel::update_leads_property($leads, "is_starred", 1); $update_message = sprintf(__("%s starred.", "gravityforms"), $entry_count); break; case "remove_star": RGFormsModel::update_leads_property($leads, "is_starred", 0); $update_message = sprintf(__("%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")) { RGFormsModel::delete_leads_by_form($form_id, $filter); } $sort_field = empty($_GET["sort"]) ? 0 : $_GET["sort"]; $sort_direction = empty($_GET["dir"]) ? "DESC" : $_GET["dir"]; $form = RGFormsModel::get_form_meta($form_id); $sort_field_meta = RGFormsModel::get_field($form, $sort_field); $is_numeric = $sort_field_meta["type"] == "number"; $page_size = apply_filters("gform_entry_page_size", apply_filters("gform_entry_page_size_{$form_id}", 20, $form_id), $form_id); $first_item_index = $page_index * $page_size; $leads = RGFormsModel::get_leads($form_id, $sort_field, $sort_direction, $search, $first_item_index, $page_size, $star, $read, $is_numeric, null, null, $status); $lead_count = RGFormsModel::get_lead_count($form_id, $search, $star, $read, null, null, $status); $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=" . urlencode($search); $sort_qs = empty($sort_field) ? "" : "&sort={$sort_field}"; $dir_qs = empty($sort_field) ? "" : "&dir={$sort_direction}"; $star_qs = $star !== null ? "&star={$star}" : ""; $read_qs = $read !== null ? "&read={$read}" : ""; $filter_qs = "&filter=" . $filter; $display_total = ceil($lead_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, 'format' => 'paged=%#%', 'prev_text' => __('«', 'gravityforms'), 'next_text' => __('»', 'gravityforms'), 'total' => $display_total, 'current' => $page_index + 1, 'show_all' => false)); wp_print_styles(array("thickbox")); ?> <script type="text/javascript"> var messageTimeout = false; 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){ var search_qs = search == "" ? "" : "&s=" + search; var star_qs = star == "" ? "" : "&star=" + star; var read_qs = read == "" ? "" : "&read=" + read; var filter_qs = filter == "" ? "" : "&filter=" + filter; 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; 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); 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 esc_js(__("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 _e('Please select at least one entry.', 'gravityforms'); ?> '); return false; } switch(action){ case 'resend_notifications': resetResendNotificationsUI(); tb_show('<?php _e("Resend Notifications", "gravityforms"); ?> ', '#TB_inline?width=350&inlineId=notifications_modal_container', ''); return false; break; case 'print': resetPrintUI(); tb_show('<?php _e("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 _e("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 esc_attr(rgget("filter")); ?> ', search: '<?php echo esc_attr(rgget("s")); ?> ', formId : '<?php echo $form['id']; ?> ' }, function(response){ jQuery('#please_wait_container').hide(); if(response) { displayMessage(response, "error", "#notifications_container"); } else { var message = '<?php _e("Notifications for %s were resent successfully.", "gravityforms"); ?> '; displayMessage(message.replace('%s', leadIds.length + ' ' + getPlural(leadIds.length, '<?php _e('entry', 'gravityforms'); ?> ', '<?php _e('entries', 'gravityforms'); ?> ')), "updated", "#lead_form"); closeModal(true); } } ); } function resetResendNotificationsUI(){ jQuery('#notification_admin, #notification_user').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 esc_attr(rgget("filter")); ?> '; var searchQS = '&search=<?php echo esc_attr(rgget("s")); ?> '; var url = '<?php echo trailingslashit(site_url()); ?> ?gf_page=print-entry&fid=<?php echo $form['id']; ?> ' + leadsQS + notesQS + pageBreakQS + filterQS + searchQS; 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 printf(__("All %s{0}%s entries on this page are selected.", "gravityforms"), "<strong>", "</strong>"); ?> ", "selectAll" : "<?php printf(__("Select all %s{0}%s entries.", "gravityforms"), "<strong>", "</strong>"); ?> ", "allEntriesSelected" : "<?php printf(__("All %s{0}%s entries have been selected.", "gravityforms"), "<strong>", "</strong>"); ?> ", "clearSelection" : "<?php _e("Clear selection", "gravityforms"); ?> " } var gformVars = { "countAllEntries" : <?php echo intval($lead_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 SetUpSelectAllEntries(){ 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(){ jQuery("#lead_search").keypress(function(event){ if(event.keyCode == 13){ Search('<?php echo $sort_field; ?> ', '<?php echo $sort_direction; ?> ', <?php echo $form_id; ?> , this.value, '<?php echo $star; ?> ', '<?php echo $read; ?> ', '<?php echo $filter; ?> '); event.preventDefault(); } }); var action = '<?php echo $action; ?> '; var message = '<?php echo $update_message; ?> '; if(action && message) displayMessage(message, 'updated', '#lead_form'); var list = jQuery("#gf_entry_list").wpList( { alt: '<?php echo esc_js(__('Entry List', 'gravityforms')); ?> '} ); list.bind('wpListDelEnd', function(e, s, list){ var currentStatus = "<?php echo $filter == "trash" || $filter == "spam" ? $filter : "active"; ?> "; var filter = "<?php echo $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); } } }); SetUpSelectAllEntries(); }); </script> <link rel="stylesheet" href="<?php echo GFCommon::get_base_url(); ?> /css/admin.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; } .message { margin: 15px 0 0 !important; } </style> <div class="wrap"> <div class="icon32" id="gravity-entry-icon"><br></div> <h2 class="gf_admin_page_title"><span><?php _e("Entries", "gravityforms"); ?> </span><span class="gf_admin_page_subtitle"><span class="gf_admin_page_formid">ID: <?php echo $form['id']; ?> </span><?php echo $form['title']; ?> </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 $form_id; ?> "><?php _e("All", "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 $form_id; ?> &filter=unread"><?php _e("Unread", "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 $form_id; ?> &filter=star"><?php _e("Starred", "gravityforms"); ?> <span class="count">(<span id="star_count"><?php echo $starred_count; ?> </span>)</span></a> | </li> <?php if (GFCommon::akismet_enabled($form_id)) { ?> <li><a class="<?php echo $filter == "spam" ? "current" : ""; ?> " href="?page=gf_entries&view=entries&id=<?php echo $form_id; ?> &filter=spam"><?php _e("Spam", "gravityforms"); ?> <span class="count">(<span id="spam_count"><?php echo $spam_count; ?> </span>)</span></a> | </li> <?php } ?> <li><a class="<?php echo $filter == "trash" ? "current" : ""; ?> " href="?page=gf_entries&view=entries&id=<?php echo $form_id; ?> &filter=trash"><?php _e("Trash", "gravityforms"); ?> <span class="count">(<span id="trash_count"><?php echo $trash_count; ?> </span>)</span></a></li> </ul> <p class="search-box"> <label class="hidden" for="lead_search"><?php _e("Search Entries:", "gravityforms"); ?> </label> <input type="text" id="lead_search" value="<?php echo $search; ?> "><a class="button" id="lead_search_button" href="javascript:Search('<?php echo $sort_field; ?> ', '<?php echo $sort_direction; ?> ', <?php echo $form_id; ?> , jQuery('#lead_search').val(), '<?php echo $star; ?> ', '<?php echo $read; ?> ', '<?php echo $filter; ?> ');"><?php _e("Search", "gravityforms"); ?> </a> </p> <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 switch ($filter) { case "trash": ?> <option value='restore'><?php _e("Restore", "gravityforms"); ?> </option> <?php if (GFCommon::current_user_can_any("gravityforms_delete_entries")) { ?> <option value='delete'><?php _e("Delete Permanently", "gravityforms"); ?> </option> <?php } break; case "spam": ?> <option value='unspam'><?php _e("Not Spam", "gravityforms"); ?> </option> <?php if (GFCommon::current_user_can_any("gravityforms_delete_entries")) { ?> <option value='delete'><?php _e("Delete Permanently", "gravityforms"); ?> </option> <?php } break; default: ?> <option value='mark_read'><?php _e("Mark as Read", "gravityforms"); ?> </option> <option value='mark_unread'><?php _e("Mark as Unread", "gravityforms"); ?> </option> <option value='add_star'><?php _e("Add Star", "gravityforms"); ?> </option> <option value='remove_star'><?php _e("Remove Star", "gravityforms"); ?> </option> <option value='resend_notifications'><?php _e("Resend Notifications", "gravityforms"); ?> </option> <option value='print'><?php _e("Print", "gravityforms"); ?> </option> <?php if (GFCommon::akismet_enabled($form_id)) { ?> <option value='spam'><?php _e("Spam", "gravityforms"); ?> </option> <?php } if (GFCommon::current_user_can_any("gravityforms_delete_entries")) { ?> <option value='trash'><?php _e("Trash", "gravityforms"); ?> </option> <?php } } ?> </select> <?php $apply_button = '<input type="submit" class="button" value="' . __("Apply", "gravityforms") . '" onclick="return handleBulkApply(\'bulk_action\');" />'; echo apply_filters("gform_entry_apply_button", $apply_button); if (in_array($filter, array("trash", "spam"))) { $message = $filter == "trash" ? __("WARNING! This operation cannot be undone. Empty trash? \\'Ok\\' to empty trash. \\'Cancel\\' to abort.", "gravityforms") : __("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 $button_label; ?> " onclick="return confirm('<?php echo esc_attr($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 if (!is_array($form["notifications"]) || count($form["notifications"]) <= 0) { ?> <p class="description"><?php _e("You cannot resend notifications for these entries because this form does not currently have any notifications configured.", "gravityforms"); ?> </p> <a href="<?php echo admin_url("admin.php?page=gf_edit_forms&view=settings&subview=notification&id={$form["id"]}"); ?> " class="button"><?php _e("Configure Notifications", "gravityforms"); ?> </a> <?php } else { ?> <p class="description"><?php _e("Specify which notifications you would like to resend for the selected entries.", "gravityforms"); ?> </p> <?php foreach ($form["notifications"] as $notification) { ?> <input type="checkbox" class="gform_notifications" value="<?php echo $notification["id"]; ?> " id="notification_<?php echo $notification["id"]; ?> " onclick="toggleNotificationOverride();" /> <label for="notification_<?php echo $notification["id"]; ?> "><?php echo $notification["name"]; ?> </label> <br /><br /> <?php } ?> <div id="notifications_override_settings" style="display:none;"> <p class="description" style="padding-top:0; margin-top:0;">You may override the default notification settings by entering a comma delimited list of emails to which the selected notifications should be sent.</p> <label for="notification_override_email"><?php _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 _e("Resend Notifications", "gravityforms"); ?> " class="button" style="" onclick="BulkResendNotifications();"/> <span id="please_wait_container" style="display:none; margin-left: 5px;"> <img src="<?php echo GFCommon::get_base_url(); ?> /images/loading.gif"> <?php _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 _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 _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 _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 _e("Add page break between entries", "gravityforms"); ?> </label> <br /><br /> <input type="button" value="<?php _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, $lead_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 $field_id; ?> ', '<?php echo $dir; ?> ', <?php echo $form_id; ?> , '<?php echo $search; ?> ', '<?php echo $star; ?> ', '<?php echo $read; ?> ', '<?php echo $filter; ?> ');" style="cursor:pointer;"><?php echo esc_html($field_info["label"]); ?> </th> <?php } ?> <th scope="col" align="right" width="50"> <a title="<?php _e("Select Columns", "gravityforms"); ?> " href="<?php echo trailingslashit(site_url()); ?> ?gf_page=select_columns&id=<?php echo $form_id; ?> &TB_iframe=true&height=365&width=600" class="thickbox entries_edit_icon"><?php _e("Edit", "gravityforms"); ?> </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 $field_id; ?> ', '<?php echo $dir; ?> ', <?php echo $form_id; ?> , '<?php echo $search; ?> ', '<?php echo $star; ?> ', '<?php echo $read; ?> ', '<?php echo $filter; ?> ');" style="cursor:pointer;"><?php echo esc_html($field_info["label"]); ?> </th> <?php } ?> <th scope="col" style="width:15px;"> <a href="<?php echo trailingslashit(site_url()); ?> ?gf_page=select_columns&id=<?php echo $form_id; ?> &TB_iframe=true&height=365&width=600" class="thickbox entries_edit_icon"><?php _e("Edit", "gravityforms"); ?> </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); foreach ($leads as $position => $lead) { $position = $page_size * $page_index + $position; ?> <tr id="lead_row_<?php echo $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" : ""; ?> ' valign="top"> <th scope="row" class="check-column"> <input type="checkbox" name="lead[]" value="<?php echo $lead["id"]; ?> " /> </th> <?php if (!in_array($filter, array("spam", "trash"))) { ?> <td > <img id="star_image_<?php echo $lead["id"]; ?> " src="<?php echo GFCommon::get_base_url(); ?> /images/star<?php echo intval($lead["is_starred"]); ?> .png" onclick="ToggleStar(this, <?php echo $lead["id"] . ",'" . $filter . "'"; ?> );" /> </td> <?php } $is_first_column = true; $nowrap_class = "entry_nowrap"; foreach ($field_ids as $field_id) { /* maybe move to function */ $field = RGFormsModel::get_field($form, $field_id); $value = rgar($lead, $field_id); if ($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 "checkbox": $value = ""; //if this is the main checkbox field (not an input), display a comma separated list of all inputs if (absint($field_id) == $field_id) { $lead_field_keys = array_keys($lead); $items = array(); foreach ($lead_field_keys as $input_id) { if (is_numeric($input_id) && absint($input_id) == $field_id) { $items[] = GFCommon::selection_display(rgar($lead, $input_id), null, $lead["currency"], false); } } $value = GFCommon::implode_non_blank(", ", $items); // special case for post category checkbox fields if ($field['type'] == 'post_category') { $value = GFCommon::prepare_post_category_value($value, $field, 'entry_list'); } } else { $value = ""; //looping through lead detail values trying to find an item identical to the column label. Mark with a tick if found. $lead_field_keys = array_keys($lead); foreach ($lead_field_keys as $input_id) { //mark as a tick if input label (from form meta) is equal to submitted value (from lead) if (is_numeric($input_id) && absint($input_id) == absint($field_id)) { if ($lead[$input_id] == $columns[$field_id]["label"]) { $value = "<img src='" . GFCommon::get_base_url() . "/images/tick.png'/>"; } else { $field = RGFormsModel::get_field($form, $field_id); if (rgar($field, "enableChoiceValue") || rgar($field, "enablePrice")) { foreach ($field["choices"] as $choice) { if ($choice["value"] == $lead[$field_id]) { $value = "<img src='" . GFCommon::get_base_url() . "/images/tick.png'/>"; break; } else { if (rgar($field, "enablePrice")) { $ary = explode("|", $lead[$field_id]); $val = count($ary) > 0 ? $ary[0] : ""; $price = count($ary) > 1 ? $ary[1] : ""; if ($val == $choice["value"]) { $value = "<img src='" . GFCommon::get_base_url() . "/images/tick.png'/>"; break; } } } } } } } } } break; case "post_image": list($url, $title, $caption, $description) = rgexplode("|:|", $value, 4); if (!empty($url)) { //displaying thumbnail (if file is an image) or an icon based on the extension $thumb = self::get_icon_url($url); $value = "<a href='" . esc_attr($url) . "' target='_blank' title='" . __("Click to view", "gravityforms") . "'><img src='{$thumb}'/></a>"; } break; case "fileupload": $file_path = $value; if (!empty($file_path)) { //displaying thumbnail (if file is an image) or an icon based on the extension $thumb = self::get_icon_url($file_path); $file_path = esc_attr($file_path); $value = "<a href='{$file_path}' target='_blank' title='" . __("Click to view", "gravityforms") . "'><img src='{$thumb}'/></a>"; } break; 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 "textarea": case "post_content": case "post_excerpt": $value = esc_html($value); break; case "date_created": case "payment_date": $value = GFCommon::format_date($value, false); break; case "date": $field = RGFormsModel::get_field($form, $field_id); $value = GFCommon::date_display($value, rgar($field, "dateFormat")); break; case "radio": case "select": $field = RGFormsModel::get_field($form, $field_id); $value = GFCommon::selection_display($value, $field, $lead["currency"]); break; case "number": $field = RGFormsModel::get_field($form, $field_id); $value = GFCommon::format_number($value, rgar($field, "numberFormat")); break; case "total": case "payment_amount": $value = GFCommon::to_money($value, $lead["currency"]); break; case "created_by": if (!empty($value)) { $userdata = get_userdata($value); $value = $userdata->user_login; } break; case "multiselect": // add space after comma-delimited values $value = implode(', ', explode(',', $value)); break; default: $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 $form_id; ?> &lid=<?php echo $lead["id"] . $search_qs . $sort_qs . $dir_qs . $filter_qs; ?> &paged=<?php echo $page_index + 1; ?> &pos=<?php echo $position; ?> "><?php echo $value; ?> </a> <div class="row-actions"> <?php switch ($filter) { case "trash": ?> <span class="edit"> <a title="<?php _e("View this entry", "gravityforms"); ?> " href="admin.php?page=gf_entries&view=entry&id=<?php echo $form_id; ?> &lid=<?php echo $lead["id"] . $search_qs . $sort_qs . $dir_qs . $filter_qs; ?> &paged=<?php echo $page_index + 1; ?> &pos=<?php echo $position; ?> "><?php _e("View", "gravityforms"); ?> </a> | </span> <span class="edit"> <a data-wp-lists='delete:gf_entry_list:lead_row_<?php echo $lead["id"]; ?> ::status=active&entry=<?php echo $lead["id"]; ?> ' title="<?php echo _e("Restore this entry", "gravityforms"); ?> " href="<?php echo wp_nonce_url("?page=gf_entries", "gf_delete_entry"); ?> "><?php _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_' . $lead["id"] . '::status=delete&entry=' . $lead["id"] . '" title="' . __("Delete this entry permanently", "gravityforms") . '" href="' . wp_nonce_url("?page=gf_entries", "gf_delete_entry") . '">' . __("Delete Permanently", "gravityforms") . '</a>'; echo apply_filters("gform_delete_entry_link", $delete_link); ?> </span> <?php } break; case "spam": ?> <span class="edit"> <a title="<?php _e("View this entry", "gravityforms"); ?> " href="admin.php?page=gf_entries&view=entry&id=<?php echo $form_id; ?> &lid=<?php echo $lead["id"] . $search_qs . $sort_qs . $dir_qs . $filter_qs; ?> &paged=<?php echo $page_index + 1; ?> &pos=<?php echo $position; ?> "><?php _e("View", "gravityforms"); ?> </a> | </span> <span class="unspam"> <a data-wp-lists='delete:gf_entry_list:lead_row_<?php echo $lead["id"]; ?> ::status=unspam&entry=<?php echo $lead["id"]; ?> ' title="<?php echo _e("Mark this entry as not spam", "gravityforms"); ?> " href="<?php echo wp_nonce_url("?page=gf_entries", "gf_delete_entry"); ?> "><?php _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_' . $lead["id"] . '::status=delete&entry=' . $lead["id"] . '" title="' . __("Delete this entry permanently", "gravityforms") . '" href="' . wp_nonce_url("?page=gf_entries", "gf_delete_entry") . '">' . __("Delete Permanently", "gravityforms") . '</a>'; echo apply_filters("gform_delete_entry_link", $delete_link); ?> </span> <?php } break; default: ?> <span class="edit"> <a title="<?php _e("View this entry", "gravityforms"); ?> " href="admin.php?page=gf_entries&view=entry&id=<?php echo $form_id; ?> &lid=<?php echo $lead["id"] . $search_qs . $sort_qs . $dir_qs . $filter_qs; ?> &paged=<?php echo $page_index + 1; ?> &pos=<?php echo $position; ?> "><?php _e("View", "gravityforms"); ?> </a> | </span> <span class="edit"> <a id="mark_read_<?php echo $lead["id"]; ?> " title="Mark this entry as read" href="javascript:ToggleRead(<?php echo $lead["id"] . ",'" . $filter . "'"; ?> );" style="display:<?php echo $lead["is_read"] ? "none" : "inline"; ?> ;"><?php _e("Mark read", "gravityforms"); ?> </a><a id="mark_unread_<?php echo $lead["id"]; ?> " title="<?php _e("Mark this entry as unread", "gravityforms"); ?> " href="javascript:ToggleRead(<?php echo $lead["id"] . ",'" . $filter . "'"; ?> );" style="display:<?php echo $lead["is_read"] ? "inline" : "none"; ?> ;"><?php _e("Mark unread", "gravityforms"); ?> </a> <?php echo GFCommon::current_user_can_any("gravityforms_delete_entries") || GFCommon::akismet_enabled($form_id) ? "|" : ""; ?> </span> <?php if (GFCommon::akismet_enabled($form_id)) { ?> <span class="spam"> <a data-wp-lists='delete:gf_entry_list:lead_row_<?php echo $lead["id"]; ?> ::status=spam&entry=<?php echo $lead["id"]; ?> ' title="<?php _e("Mark this entry as spam", "gravityforms"); ?> " href="<?php echo wp_nonce_url("?page=gf_entries", "gf_delete_entry"); ?> "><?php _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 $lead["id"]; ?> ::status=trash&entry=<?php echo $lead["id"]; ?> ' title="<?php _e("Move this entry to the trash", "gravityforms"); ?> " href="<?php echo wp_nonce_url("?page=gf_entries", "gf_delete_entry"); ?> "><?php _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 { $message = ""; $column_count = sizeof($columns) + 3; switch ($filter) { case "unread": $message = __("This form does not have any unread entries.", "gravityforms"); break; case "star": $message = __("This form does not have any starred entries.", "gravityforms"); break; case "spam": $message = __("This form does not have any spam.", "gravityforms"); $column_count = sizeof($columns) + 2; break; case "trash": $message = __("This form does not have any entries in the trash.", "gravityforms"); $column_count = sizeof($columns) + 2; break; default: $message = __("This form does not have any entries yet.", "gravityforms"); } ?> <tr> <td colspan="<?php echo $column_count; ?> " style="padding:20px;"><?php echo $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 _e("Bulk action", "gravityforms"); ?> </label> <select name="bulk_action2" id="bulk_action2"> <option value=''><?php _e(" Bulk action ", "gravityforms"); ?> </option> <?php switch ($filter) { case "trash": ?> <option value='restore'><?php _e("Restore", "gravityforms"); ?> </option> <?php if (GFCommon::current_user_can_any("gravityforms_delete_entries")) { ?> <option value='delete'><?php _e("Delete Permanently", "gravityforms"); ?> </option> <?php } break; case "spam": ?> <option value='unspam'><?php _e("Not Spam", "gravityforms"); ?> </option> <?php if (GFCommon::current_user_can_any("gravityforms_delete_entries")) { ?> <option value='delete'><?php _e("Delete Permanently", "gravityforms"); ?> </option> <?php } break; default: ?> <option value='mark_read'><?php _e("Mark as Read", "gravityforms"); ?> </option> <option value='mark_unread'><?php _e("Mark as Unread", "gravityforms"); ?> </option> <option value='add_star'><?php _e("Add Star", "gravityforms"); ?> </option> <option value='remove_star'><?php _e("Remove Star", "gravityforms"); ?> </option> <option value='resend_notifications'><?php _e("Resend Notifications", "gravityforms"); ?> </option> <option value='print'><?php _e("Print", "gravityforms"); ?> </option> <?php if (GFCommon::akismet_enabled($form_id)) { ?> <option value='spam'><?php _e("Spam", "gravityforms"); ?> </option> <?php } if (GFCommon::current_user_can_any("gravityforms_delete_entries")) { ?> <option value='trash'><?php _e("Trash", "gravityforms"); ?> </option> <?php } } ?> </select> <?php $apply_button = '<input type="submit" class="button" value="' . __("Apply", "gravityforms") . '" onclick="return handleBulkApply(\'bulk_action2\');" />'; echo apply_filters("gform_entry_apply_button", $apply_button); ?> </div> <?php echo self::display_paging_links("footer", $page_links, $first_item_index, $page_size, $lead_count); ?> <div class="clear"></div> </div> </form> </div> <?php }