示例#1
5
    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&amp;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&amp;height=250&amp;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') ? '&notes=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">&nbsp;</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">&nbsp;</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);
                        ?>
&nbsp;
							<?php 
                        do_action('gform_entries_column', $form_id, $field_id, $value, $lead, $query_string);
                        ?>
						</td>
					<?php 
                    }
                    $is_first_column = false;
                }
                ?>
				<td>&nbsp;</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 
    }
示例#2
0
    /**
     * Field standard settings.
     *
     * @see https://github.com/wp-premium/gravityforms/blob/1.9.19/form_detail.php#L525
     * @param int $position position of the field settings
     * @param int $form_id current form ID
     */
    public function field_standard_settings($position, $form_id)
    {
        if (10 !== $position) {
            return;
        }
        $feeds = get_pronamic_gf_pay_feeds_by_form_id($form_id);
        if (empty($feeds)) {
            return;
        }
        ?>
		<li class="pronamic_pay_config_field_setting field_setting">
			<label for="pronamic_pay_config_field">
				<?php 
        esc_html_e('Payment Gateway Configuration', 'pronamic_ideal');
        ?>

				<?php 
        gform_tooltip('form_field_pronamic_pay_config');
        ?>
			</label>

			<select id="pronamic_pay_config_field" onchange="SetFieldProperty( 'pronamicPayConfigId', jQuery( this ).val() );" class="fieldwidth-3">
				<option value=""><?php 
        esc_html_e('— Use Payment Feed Setting —', 'pronamic_ideal');
        ?>
</option>
				<?php 
        foreach ($feeds as $feed) {
            printf('<option value="%s">%s</option>', esc_attr($feed->config_id), get_the_title($feed->config_id));
        }
        ?>
			</select>
		</li>
		<?php 
    }
示例#3
0
 function get_tooltip()
 {
     if (!function_exists('gform_tooltip')) {
         return NULL;
     }
     return !empty($this->field['tooltip']) ? ' ' . gform_tooltip($this->field['tooltip'], false, true) : NULL;
 }
示例#4
0
    public function field_settings_ui()
    {
        ?>

		<li class="<?php 
        echo $this->key('field_setting');
        ?>
 field_setting">
			<input type="checkbox" id="<?php 
        echo $this->key('field_checkbox');
        ?>
" value="1" onclick="SetFieldProperty('<?php 
        echo $this->key('enable');
        ?>
', this.checked)">

			<label class="inline" for="<?php 
        echo $this->key('field_checkbox');
        ?>
">
				<?php 
        _e('Read-only', 'gravityperks');
        ?>
				<?php 
        gform_tooltip($this->key('readonly'));
        ?>
			</label>
		</li>

		<?php 
    }
 public static function gform_appearance_settings($position, $form_id)
 {
     if ($position == 400) {
         echo "<li class=\"repeater_end_settings field_setting\">\n\t\t\t\t\t<input type=\"checkbox\" id=\"field_repeater_end_hideButtons\" onchange=\"SetFieldProperty('hideButtons', this.checked);\"> \n\t\t\t\t\t<label for=\"field_repeater_end_hideButtons\" class=\"inline\">Hide Add & Remove buttons ";
         gform_tooltip('form_field_repeater_end_hideButtons');
         echo "\t</label>\n\t\t\t\t</li>";
     }
 }
 public static function gform_appearance_settings($position, $form_id)
 {
     if ($position == 400) {
         echo "<li class=\"repeater_settings field_setting\">\n\t\t\t\t\t<label for=\"field_repeater_animations\">Animation Properties ";
         gform_tooltip('form_field_repeater_animations');
         echo "\t</label>\n\t\t\t\t\t<input type=\"text\" id=\"field_repeater_animations\" class=\"fieldwidth-3\" onchange=\"SetFieldProperty('animations', this.value);\">\n\t\t\t\t</li>";
         echo "<li class=\"repeater_settings field_setting\">\n\t\t\t\t\t<input type=\"checkbox\" id=\"field_repeater_hideLabel\" onchange=\"SetFieldProperty('hideLabel', this.checked);\"> \n\t\t\t\t\t<label for=\"field_repeater_hideLabel\" class=\"inline\">Hide Label & Description ";
         gform_tooltip('form_field_repeater_hideLabel');
         echo "\t</label>\n\t\t\t\t</li>";
     }
 }
	public function form_settings_ui( $form_settings, $form ) {

		$keys = array(
			'enable' => $this->key( 'enable' ),
			'refresh_time' => $this->key( 'refresh_time' )
		);
		$display = ! rgar( $form, $keys['enable'] ) ? 'display:none;' : '';

		ob_start();
		?>

		<tr class="gp-form-setting">

			<th>
				<label for="<?php echo $keys['enable']; ?>">
					<?php _e( 'Automatically Reload Form', 'gravityperks' ); ?>
					<?php gform_tooltip( $keys['enable'] ); ?>
				</label>
			</th>
			<td>

				<input type="checkbox" id="<?php echo $keys['enable']; ?>" name="<?php echo $keys['enable']; ?>" value="1" <?php checked( rgar( $form, $keys['enable'] ), true ); ?> />
				<label for="<?php echo $keys['enable']; ?>">
					<?php _e( 'Automatically Reload Form', 'gravityperks' ); ?>
					<?php gform_tooltip( $keys['enable'] ); ?>
				</label>

				<div id="<?php echo $this->key( 'settings' ); ?>" style="margin-top:10px;<?php echo $display; ?>">

					<label for="<?php echo $keys['refresh_time']; ?>" style="display:block;">
						<?php _e( 'Seconds Until Reload', 'gravityperks' ); ?> <?php gform_tooltip( $keys['refresh_time'] ) ?></label>
					<input type="number" id="<?php echo $keys['refresh_time']; ?>" name="<?php echo $keys['refresh_time']; ?>" value="<?php echo rgar( $form, $keys['refresh_time'] ); ?>">

				</div>

				<?php $this->form_settings_js( $keys ); ?>

			</td>

		</tr>

		<?php

		$section_label = __( 'GP Reload Form', 'gravityperks' );
		$form_settings[$section_label] = array( $this->slug => ob_get_clean() );

		return $form_settings;
	}
    /**
     * Output the field setting in the 'Advanced' tab for each field
     */
    public function field_advanced_settings($position, $form_id)
    {
        if ($position == 550) {
            ?>
			<li class="infusionsoft_field field_setting" style="display: list-item;">
				<label for="field_infusionsoft">
					Infusionsoft Field
					<?php 
            gform_tooltip('field_infusionsoft');
            ?>
				</label>
				<input type="text" size="30" id="field_infusionsoft" onchange="SetFieldProperty('infusionsoft_field', this.value);" />
			</li>
			<?php 
        }
    }
    public function gform_field_standard_settings($position, $form_id)
    {
        if ($position == 700) {
            ?>
    
    <li class="post_custom_field_unique field_setting">

      <input type="checkbox" id="field_unique_custom_meta_value" onclick="SetFieldProperty('postCustomFieldUnique', this.checked);" />
      
      <label for="field_unique_custom_meta_value" class="inline">
        <?php 
            _e('Unique Custom Field?');
            ?>
        <?php 
            gform_tooltip('form_field_unique_custom_meta_value');
            ?>
      </label>
    
    </li>
    
<?php 
        }
    }
示例#10
0
    public static function admin_edit_payment_status_details($form_id, $lead)
    {
        //check meta to see if this entry is paypal
        $payment_gateway = gform_get_meta($lead["id"], "payment_gateway");
        $form_action = strtolower(rgpost("save"));
        if ($payment_gateway != "paypal" || $form_action != "edit") {
            return;
        }
        //get data from entry to pre-populate fields
        $payment_amount = rgar($lead, "payment_amount");
        if (empty($payment_amount)) {
            $form = RGFormsModel::get_form_meta($form_id);
            $payment_amount = GFCommon::get_order_total($form, $lead);
        }
        $transaction_id = rgar($lead, "transaction_id");
        $payment_date = rgar($lead, "payment_date");
        if (empty($payment_date)) {
            $payment_date = gmdate("y-m-d H:i:s");
        }
        //display edit fields
        ?>
		<div id="edit_payment_status_details" style="display:block">
			<table>
				<tr>
					<td colspan="2"><strong>Payment Information</strong></td>
				</tr>

				<tr>
					<td>Date:<?php 
        gform_tooltip("paypal_edit_payment_date");
        ?>
</td>
					<td><input type="text" id="payment_date" name="payment_date" value="<?php 
        echo $payment_date;
        ?>
"></td>
				</tr>
				<tr>
					<td>Amount:<?php 
        gform_tooltip("paypal_edit_payment_amount");
        ?>
</td>
					<td><input type="text" id="payment_amount" name="payment_amount" value="<?php 
        echo $payment_amount;
        ?>
"></td>
				</tr>
				<tr>
					<td nowrap>Transaction ID:<?php 
        gform_tooltip("paypal_edit_payment_transaction_id");
        ?>
</td>
					<td><input type="text" id="paypal_transaction_id" name="paypal_transaction_id" value="<?php 
        echo $transaction_id;
        ?>
"></td>
				</tr>
			</table>
		</div>
		<?php 
    }
示例#11
0
    public static function export_lead_page()
    {
        ?>
        <script type='text/javascript' src='<?php 
        echo GFCommon::get_base_url();
        ?>
/js/jquery-ui/ui.datepicker.js?ver=<?php 
        echo GFCommon::$version;
        ?>
'></script>
        <script type="text/javascript">
            function SelectExportForm(formId){
                if(!formId)
                    return;

                var mysack = new sack("<?php 
        echo admin_url("admin-ajax.php");
        ?>
" );
                mysack.execute = 1;
                mysack.method = 'POST';
                mysack.setVar( "action", "rg_select_export_form" );
                mysack.setVar( "rg_select_export_form", "<?php 
        echo wp_create_nonce("rg_select_export_form");
        ?>
" );
                mysack.setVar( "form_id", formId);
                mysack.encVar( "cookie", document.cookie, false );
                mysack.onError = function() { alert('<?php 
        echo esc_js(__("Ajax error while selecting a form", "gravityforms"));
        ?>
' )};
                mysack.runAJAX();

                return true;
            }

            function EndSelectExportForm(aryFields){
                if(aryFields.length == 0)
                {
                    jQuery("#export_field_container, #export_date_container, #export_submit_container").hide()
                    return;
                }

                var fieldList = "<li><input type='checkbox' onclick=\"jQuery('.gform_export_field').attr('checked', this.checked); jQuery('#gform_export_check_all').html(this.checked ? '<strong><?php 
        _e("Deselect All", "gravityforms");
        ?>
</strong>' : '<strong><?php 
        _e("Select All", "gravityforms");
        ?>
</strong>'); \"> <label id='gform_export_check_all'><strong><?php 
        _e("Select All", "gravityforms");
        ?>
</strong></label></li>";
                for(var i=0; i<aryFields.length; i++){
                    fieldList += "<li><input type='checkbox' id='export_field_" + i + "' name='export_field[]' value='" + aryFields[i][0] + "' class='gform_export_field'> <label for='export_field_" + i + "'>" + aryFields[i][1] + "</label></li>";
                }
                jQuery("#export_field_list").html(fieldList);
                jQuery("#export_date_start, #export_date_end").datepicker({dateFormat: 'yy-mm-dd'});

                jQuery("#export_field_container, #export_date_container, #export_submit_container").hide().show();
            }
        </script>
        <link rel="stylesheet" href="<?php 
        echo GFCommon::get_base_url();
        ?>
/css/admin.css"/>

        <div class="wrap">
            <img alt="<?php 
        _e("Gravity Forms", "gravityforms");
        ?>
" style="margin: 15px 7px 0pt 0pt; float: left;" src="<?php 
        echo GFCommon::get_base_url();
        ?>
/images/gravity-export-icon-32.png"/>
            <h2><?php 
        _e("Export Form Entries", "gravityforms");
        ?>
</h2>
            <?php 
        self::export_links();
        ?>

            <p class="textleft"><?php 
        _e("Select a form below to export entries. Once you have selected a form you may select the fields you would like to export and an optional date range. When you click the download button below, Gravity Forms will create a CSV file for you to save to your computer.", "gravityforms");
        ?>
</p>
            <div class="hr-divider"></div>
            <form method="post" style="margin-top:10px;">
                <?php 
        echo wp_nonce_field("rg_start_export", "rg_start_export_nonce");
        ?>
                <table class="form-table">
                  <tr valign="top">

                       <th scope="row"><label for="export_form"><?php 
        _e("Select A Form", "gravityforms");
        ?>
</label> <?php 
        gform_tooltip("export_select_form");
        ?>
</th>
                        <td>

                          <select id="export_form" name="export_form" onchange="SelectExportForm(jQuery(this).val());">
                            <option value=""><?php 
        _e("Select a form", "gravityforms");
        ?>
</option>
                            <?php 
        $forms = RGFormsModel::get_forms(null, "title");
        foreach ($forms as $form) {
            ?>
                                <option value="<?php 
            echo absint($form->id);
            ?>
"><?php 
            echo esc_html($form->title);
            ?>
</option>
                                <?php 
        }
        ?>
                        </select>

                        </td>
                    </tr>
                  <tr id="export_field_container" valign="top" style="display: none;">
                       <th scope="row"><label for="export_fields"><?php 
        _e("Select Fields", "gravityforms");
        ?>
</label> <?php 
        gform_tooltip("export_select_fields");
        ?>
</th>
                        <td>
                            <ul id="export_field_list">
                            <ul>
                        </td>
                   </tr>
                  <tr id="export_date_container" valign="top" style="display: none;">
                       <th scope="row"><label for="export_date"><?php 
        _e("Select Date Range", "gravityforms");
        ?>
</label> <?php 
        gform_tooltip("export_date_range");
        ?>
</th>
                        <td>
                            <div>
                                <span style="width:150px; float:left; ">
                                    <input type="text" id="export_date_start" name="export_date_start" style="width:90%"/>
                                    <strong><label for="export_date_start" style="display:block;"><?php 
        _e("Start", "gravityforms");
        ?>
</label></strong>
                                </span>

                                <span style="width:150px; float:left;">
                                    <input type="text" id="export_date_end" name="export_date_end" style="width:90%"/>
                                    <strong><label for="export_date_end" style="display:block;"><?php 
        _e("End", "gravityforms");
        ?>
</label></strong>
                                </span>
                                <div style="clear: both;"></div>
                                <?php 
        _e("Date Range is optional, if no date range is selected all entries will be exported.", "gravityforms");
        ?>
                            </div>
                        </td>
                   </tr>
                </table>
                <ul>
                    <li id="export_submit_container" style="display:none; clear:both;">
                        <br/><br/>
                        <input type="submit" name="export_lead" value="<?php 
        _e("Download Export File", "gravityforms");
        ?>
" class="button-primary"/>
                        <span id="please_wait_container" style="display:none; margin-left:15px;">
                            <img src="<?php 
        echo GFCommon::get_base_url();
        ?>
/images/loading.gif"> <?php 
        _e("Exporting entries. Please wait...", "gravityforms");
        ?>
                        </span>

                        <iframe id="export_frame" width="1" height="1" src="about:blank"></iframe>
                    </li>
                </ul>
            </form>
        </div>
        <?php 
    }
示例#12
0
    public static function lead_detail_page()
    {
        global $wpdb;
        global $current_user;
        if (!GFCommon::ensure_wp_version()) {
            return;
        }
        echo GFCommon::get_remote_message();
        $form = RGFormsModel::get_form_meta($_GET["id"]);
        $form_id = $form["id"];
        $form = apply_filters("gform_admin_pre_render_" . $form["id"], apply_filters("gform_admin_pre_render", $form));
        $lead_id = rgget('lid');
        $filter = rgget("filter");
        $status = in_array($filter, array("trash", "spam")) ? $filter : "active";
        $position = rgget('pos') ? rgget('pos') : 0;
        $sort_direction = rgget('dir') ? rgget('dir') : 'DESC';
        $sort_field = empty($_GET["sort"]) ? 0 : $_GET["sort"];
        $sort_field_meta = RGFormsModel::get_field($form, $sort_field);
        $is_numeric = $sort_field_meta["type"] == "number";
        $star = $filter == "star" ? 1 : null;
        $read = $filter == "unread" ? 0 : null;
        $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");
        if (isset($_GET["field_id"]) && $_GET["field_id"] !== '') {
            $key = $search_field_id;
            $val = 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;
            }
            $type = rgget("type");
            if (empty($type)) {
                $type = rgget("field_id") == "0" ? "global" : "field";
            }
            $search_criteria["field_filters"][] = array("key" => $key, "type" => $type, "operator" => rgempty("operator", $_GET) ? "is" : rgget("operator"), "value" => $val);
        }
        $paging = array('offset' => $position, 'page_size' => 1);
        if (!empty($sort_field)) {
            $sorting = array('key' => $_GET["sort"], 'direction' => $sort_direction, 'is_numeric' => $is_numeric);
        } else {
            $sorting = array();
        }
        $total_count = 0;
        $leads = GFAPI::get_entries($form['id'], $search_criteria, $sorting, $paging, $total_count);
        $prev_pos = !rgblank($position) && $position > 0 ? $position - 1 : false;
        $next_pos = !rgblank($position) && $position < $total_count - 1 ? $position + 1 : false;
        // unread filter requires special handling for pagination since entries are filter out of the query as they are read
        if ($filter == 'unread') {
            $next_pos = $position;
            if ($next_pos + 1 == $total_count) {
                $next_pos = false;
            }
        }
        if (!$lead_id) {
            $lead = !empty($leads) ? $leads[0] : false;
        } else {
            $lead = GFAPI::get_entry($lead_id);
        }
        if (!$lead) {
            _e("Oops! We couldn't find your entry. Please try again", "gravityforms");
            return;
        }
        RGFormsModel::update_lead_property($lead["id"], "is_read", 1);
        switch (RGForms::post("action")) {
            case "update":
                check_admin_referer('gforms_save_entry', 'gforms_save_entry');
                //Loading files that have been uploaded to temp folder
                $files = GFCommon::json_decode(stripslashes(RGForms::post("gform_uploaded_files")));
                if (!is_array($files)) {
                    $files = array();
                }
                GFFormsModel::$uploaded_files[$form_id] = $files;
                GFFormsModel::save_lead($form, $lead);
                do_action("gform_after_update_entry", $form, $lead["id"]);
                do_action("gform_after_update_entry_{$form["id"]}", $form, $lead["id"]);
                $lead = RGFormsModel::get_lead($lead["id"]);
                $lead = GFFormsModel::set_entry_meta($lead, $form);
                break;
            case "add_note":
                check_admin_referer('gforms_update_note', 'gforms_update_note');
                $user_data = get_userdata($current_user->ID);
                RGFormsModel::add_note($lead["id"], $current_user->ID, $user_data->display_name, stripslashes($_POST["new_note"]));
                //emailing notes if configured
                if (rgpost("gentry_email_notes_to")) {
                    $email_to = $_POST["gentry_email_notes_to"];
                    $email_from = $current_user->user_email;
                    $email_subject = stripslashes($_POST["gentry_email_subject"]);
                    $headers = "From: \"{$email_from}\" <{$email_from}> \r\n";
                    $result = wp_mail($email_to, $email_subject, stripslashes($_POST["new_note"]), $headers);
                }
                break;
            case "add_quick_note":
                check_admin_referer('gforms_save_entry', 'gforms_save_entry');
                $user_data = get_userdata($current_user->ID);
                RGFormsModel::add_note($lead["id"], $current_user->ID, $user_data->display_name, stripslashes($_POST["quick_note"]));
                break;
            case "bulk":
                check_admin_referer('gforms_update_note', 'gforms_update_note');
                if ($_POST["bulk_action"] == "delete") {
                    RGFormsModel::delete_notes($_POST["note"]);
                }
                break;
            case "trash":
                check_admin_referer('gforms_save_entry', 'gforms_save_entry');
                RGFormsModel::update_lead_property($lead["id"], "status", "trash");
                $lead = RGFormsModel::get_lead($lead["id"]);
                break;
            case "restore":
            case "unspam":
                check_admin_referer('gforms_save_entry', 'gforms_save_entry');
                RGFormsModel::update_lead_property($lead["id"], "status", "active");
                $lead = RGFormsModel::get_lead($lead["id"]);
                break;
            case "spam":
                check_admin_referer('gforms_save_entry', 'gforms_save_entry');
                RGFormsModel::update_lead_property($lead["id"], "status", "spam");
                $lead = RGFormsModel::get_lead($lead["id"]);
                break;
            case "delete":
                check_admin_referer('gforms_save_entry', 'gforms_save_entry');
                if (!GFCommon::current_user_can_any("gravityforms_delete_entries")) {
                    die(__("You don't have adequate permissions to delete entries.", "gravityforms"));
                }
                RGFormsModel::delete_lead($lead["id"]);
                ?>
                <script type="text/javascript">
                    document.location.href='<?php 
                echo "admin.php?page=gf_entries&view=entries&id=" . absint($form["id"]);
                ?>
';
                </script>
                <?php 
                break;
        }
        $mode = empty($_POST["screen_mode"]) ? "view" : $_POST["screen_mode"];
        ?>
        <link rel="stylesheet" href="<?php 
        echo GFCommon::get_base_url();
        ?>
/css/admin.css" />
         <script type="text/javascript">

            jQuery(document).ready(function(){
                toggleNotificationOverride(true);
            });

            function DeleteFile(leadId, fieldId, deleteButton){
                if(confirm(<?php 
        _e("'Would you like to delete this file? \\'Cancel\\' to stop. \\'OK\\' to delete'", "gravityforms");
        ?>
)){
                    var fileIndex = jQuery(deleteButton).parent().index();
                    var mysack = new sack("<?php 
        echo admin_url("admin-ajax.php");
        ?>
");
                    mysack.execute = 1;
                    mysack.method = 'POST';
                    mysack.setVar( "action", "rg_delete_file" );
                    mysack.setVar( "rg_delete_file", "<?php 
        echo wp_create_nonce("rg_delete_file");
        ?>
" );
                    mysack.setVar( "lead_id", leadId );
                    mysack.setVar( "field_id", fieldId );
                    mysack.setVar( "file_index", fileIndex );
                    mysack.onError = function() { alert('<?php 
        echo esc_js(__("Ajax error while deleting field.", "gravityforms"));
        ?>
' )};
                    mysack.runAJAX();

                    return true;
                }
            }

            function EndDeleteFile(fieldId, fileIndex){
                var previewFileSelector = "#preview_existing_files_" + fieldId + " .ginput_preview";
                var $previewFiles = jQuery(previewFileSelector);
                var rr = $previewFiles.eq(fileIndex);
                $previewFiles.eq(fileIndex).remove();
                var $visiblePreviewFields = jQuery(previewFileSelector);
                if($visiblePreviewFields.length == 0){
                    jQuery('#preview_' + fieldId).hide();
                    jQuery('#upload_' + fieldId).show('slow');
                }
            }

            function ToggleShowEmptyFields(){
                if(jQuery("#gentry_display_empty_fields").is(":checked")){
                    createCookie("gf_display_empty_fields", true, 10000);
                    document.location = document.location.href;
                }
                else{
                    eraseCookie("gf_display_empty_fields");
                    document.location = document.location.href;
                }
            }

            function createCookie(name,value,days) {
                if (days) {
                    var date = new Date();
                    date.setTime(date.getTime()+(days*24*60*60*1000));
                    var expires = "; expires="+date.toGMTString();
                }
                else var expires = "";
                document.cookie = name+"="+value+expires+"; path=/";
            }

            function eraseCookie(name) {
                createCookie(name,"",-1);
            }

            function ResendNotifications() {

                var selectedNotifications = new Array();
                jQuery(".gform_notifications:checked").each(function(){
                    selectedNotifications.push(jQuery(this).val());
                });

                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 : '<?php 
        echo $lead['id'];
        ?>
',
                        formId : '<?php 
        echo $form['id'];
        ?>
'
                    },
                    function(response) {
                        if(response) {
                            displayMessage(response, "error", "#notifications_container");
                        } else {
                            displayMessage("<?php 
        _e("Notifications were resent successfully.", "gravityforms");
        ?>
", "updated", "#notifications_container");

                            // reset UI
                            jQuery(".gform_notifications").attr('checked', false);
                            jQuery('#notification_override_email').val('');
                        }

                        jQuery('#please_wait_container').hide();
                        setTimeout(function(){jQuery('#notifications_container').find('.message').slideUp();}, 5000);
                    }
                );

            }

            function displayMessage(message, messageClass, container){

                jQuery(container).find('.message').hide().html(message).attr('class', 'message ' + messageClass).slideDown();

            }

            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('');
                    });
                }
            }

        </script>

        <form method="post" id="entry_form" enctype='multipart/form-data'>
            <?php 
        wp_nonce_field('gforms_save_entry', 'gforms_save_entry');
        ?>
            <input type="hidden" name="action" id="action" value=""/>
            <input type="hidden" name="screen_mode" id="screen_mode" value="<?php 
        echo esc_attr(rgpost("screen_mode"));
        ?>
" />

            <div class="wrap gf_entry_wrap">
            <h2 class="gf_admin_page_title"><span><?php 
        echo __("Entry #", "gravityforms") . absint($lead["id"]);
        ?>
</span><span class="gf_admin_page_subtitle"><span class="gf_admin_page_formid">ID: <?php 
        echo $form['id'];
        ?>
</span><?php 
        echo $form['title'];
        $gf_entry_locking = new GFEntryLocking();
        $gf_entry_locking->lock_info($lead_id);
        ?>
</span></h2>

            <?php 
        if (isset($_GET["pos"])) {
            ?>
            <div class="gf_entry_detail_pagination">
                <ul>
                    <li class="gf_entry_count"><span>entry <strong><?php 
            echo $position + 1;
            ?>
</strong> of <strong><?php 
            echo $total_count;
            ?>
</strong></span></li>
                    <li class="gf_entry_prev gf_entry_pagination"><?php 
            echo GFEntryDetail::entry_detail_pagination_link($prev_pos, 'Previous Entry', 'gf_entry_prev_link', "fa fa-arrow-circle-o-left");
            ?>
</li>
                    <li class="gf_entry_next gf_entry_pagination"><?php 
            echo GFEntryDetail::entry_detail_pagination_link($next_pos, 'Next Entry', 'gf_entry_next_link', "fa fa-arrow-circle-o-right");
            ?>
</li>
                </ul>
            </div>
            <?php 
        }
        ?>

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

            <div id="poststuff" class="metabox-holder has-right-sidebar">
                <div id="side-info-column" class="inner-sidebar">
                	<?php 
        do_action("gform_entry_detail_sidebar_before", $form, $lead);
        ?>

                    <!-- INFO BOX -->
                    <div id="submitdiv" class="stuffbox">
                        <h3>
                            <span class="hndle"><?php 
        _e("Entry", "gravityforms");
        ?>
</span>
                        </h3>
                        <div class="inside">
                            <div id="submitcomment" class="submitbox">
                                <div id="minor-publishing" style="padding:10px;">
                                    <br/>
                                    <?php 
        _e("Entry Id", "gravityforms");
        ?>
: <?php 
        echo absint($lead["id"]);
        ?>
<br/><br/>
                                    <?php 
        _e("Submitted on", "gravityforms");
        ?>
: <?php 
        echo esc_html(GFCommon::format_date($lead["date_created"], false, "Y/m/d"));
        ?>
                                    <br/><br/>
                                    <?php 
        _e("User IP", "gravityforms");
        ?>
: <?php 
        echo $lead["ip"];
        ?>
                                    <br/><br/>
                                    <?php 
        if (!empty($lead["created_by"]) && ($usermeta = get_userdata($lead["created_by"]))) {
            ?>
                                        <?php 
            _e("User", "gravityforms");
            ?>
: <a href="user-edit.php?user_id=<?php 
            echo absint($lead["created_by"]);
            ?>
" alt="<?php 
            _e("View user profile", "gravityforms");
            ?>
" title="<?php 
            _e("View user profile", "gravityforms");
            ?>
"><?php 
            echo esc_html($usermeta->user_login);
            ?>
</a>
                                        <br/><br/>
                                        <?php 
        }
        ?>

                                    <?php 
        _e("Embed Url", "gravityforms");
        ?>
: <a href="<?php 
        echo esc_url($lead["source_url"]);
        ?>
" target="_blank" alt="<?php 
        echo esc_url($lead["source_url"]);
        ?>
" title="<?php 
        echo esc_url($lead["source_url"]);
        ?>
">.../<?php 
        echo esc_html(GFCommon::truncate_url($lead["source_url"]));
        ?>
</a>
                                    <br/><br/>
                                    <?php 
        if (!empty($lead["post_id"])) {
            $post = get_post($lead["post_id"]);
            ?>
                                        <?php 
            _e("Edit Post", "gravityforms");
            ?>
: <a href="post.php?action=edit&post=<?php 
            echo absint($post->ID);
            ?>
" alt="<?php 
            _e("Click to edit post", "gravityforms");
            ?>
" title="<?php 
            _e("Click to edit post", "gravityforms");
            ?>
"><?php 
            echo esc_html($post->post_title);
            ?>
</a>
                                        <br/><br/>
                                        <?php 
        }
        if (apply_filters("gform_enable_entry_info_payment_details", true, $lead)) {
            if (!empty($lead["payment_status"])) {
                echo $lead["transaction_type"] == 2 ? __("Subscription Status", "gravityforms") : __("Payment Status", "gravityforms");
                ?>
: <span id="gform_payment_status"><?php 
                echo apply_filters("gform_payment_status", $lead["payment_status"], $form, $lead);
                ?>
</span>
                                            <br/><br/>
                                            <?php 
                if (!empty($lead["payment_date"])) {
                    echo $lead["transaction_type"] == 2 ? __("Start Date", "gravityforms") : __("Payment Date", "gravityforms");
                    ?>
: <?php 
                    echo GFCommon::format_date($lead["payment_date"], false, "Y/m/d", $lead["transaction_type"] != 2);
                    ?>
                                                <br/><br/>
                                                <?php 
                }
                if (!empty($lead["transaction_id"])) {
                    echo $lead["transaction_type"] == 2 ? __("Subscriber Id", "gravityforms") : __("Transaction Id", "gravityforms");
                    ?>
: <?php 
                    echo $lead["transaction_id"];
                    ?>
                                                <br/><br/>
                                                <?php 
                }
                if (!rgblank($lead["payment_amount"])) {
                    echo $lead["transaction_type"] == 2 ? __("Subscription Amount", "gravityforms") : __("Payment Amount", "gravityforms");
                    ?>
: <?php 
                    echo GFCommon::to_money($lead["payment_amount"], $lead["currency"]);
                    ?>
                                                <br/><br/>
                                                <?php 
                }
            }
        }
        do_action("gform_entry_info", $form["id"], $lead);
        ?>
                                </div>
                                <div id="major-publishing-actions">
                                    <div id="delete-action">
                                        <?php 
        switch ($lead["status"]) {
            case "spam":
                if (GFCommon::akismet_enabled($form['id'])) {
                    ?>
                                                    <a onclick="jQuery('#action').val('unspam'); jQuery('#entry_form').submit()" href="#"><?php 
                    _e("Not Spam", "gravityforms");
                    ?>
</a>
                                                    <?php 
                    echo GFCommon::current_user_can_any("gravityforms_delete_entries") ? "|" : "";
                }
                if (GFCommon::current_user_can_any("gravityforms_delete_entries")) {
                    ?>
                                                    <a class="submitdelete deletion" onclick="if ( confirm('<?php 
                    _e("You are about to delete this entry. \\'Cancel\\' to stop, \\'OK\\' to delete.", "gravityforms");
                    ?>
') ) {jQuery('#action').val('delete'); jQuery('#entry_form').submit(); return true;} return false;" href="#"><?php 
                    _e("Delete Permanently", "gravityforms");
                    ?>
</a>
                                                    <?php 
                }
                break;
            case "trash":
                ?>
                                                <a onclick="jQuery('#action').val('restore'); jQuery('#entry_form').submit()" href="#"><?php 
                _e("Restore", "gravityforms");
                ?>
</a>
                                                <?php 
                if (GFCommon::current_user_can_any("gravityforms_delete_entries")) {
                    ?>
                                                    |
                                                    <a class="submitdelete deletion" onclick="if ( confirm('<?php 
                    _e("You are about to delete this entry. \\'Cancel\\' to stop, \\'OK\\' to delete.", "gravityforms");
                    ?>
') ) {jQuery('#action').val('delete'); jQuery('#entry_form').submit(); return true;} return false;" href="#"><?php 
                    _e("Delete Permanently", "gravityforms");
                    ?>
</a>
                                                    <?php 
                }
                break;
            default:
                if (GFCommon::current_user_can_any("gravityforms_delete_entries")) {
                    ?>
                                                    <a class="submitdelete deletion" onclick="jQuery('#action').val('trash'); jQuery('#entry_form').submit()" href="#"><?php 
                    _e("Move to Trash", "gravityforms");
                    ?>
</a>
                                                    <?php 
                    echo GFCommon::akismet_enabled($form['id']) ? "|" : "";
                }
                if (GFCommon::akismet_enabled($form['id'])) {
                    ?>
                                                    <a class="submitdelete deletion" onclick="jQuery('#action').val('spam'); jQuery('#entry_form').submit()" href="#"><?php 
                    _e("Mark as Spam", "gravityforms");
                    ?>
</a>
                                                <?php 
                }
        }
        ?>
                                    </div>
                                    <div id="publishing-action">
                                        <?php 
        if (GFCommon::current_user_can_any("gravityforms_edit_entries") && $lead["status"] != "trash") {
            $button_text = $mode == "view" ? __("Edit", "gravityforms") : __("Update", "gravityforms");
            $button_click = $mode == "view" ? "jQuery('#screen_mode').val('edit');" : "jQuery('#action').val('update'); jQuery('#screen_mode').val('view');";
            $update_button = '<input class="button button-large button-primary" type="submit" tabindex="4" value="' . $button_text . '" name="save" onclick="' . $button_click . '"/>';
            echo apply_filters("gform_entrydetail_update_button", $update_button);
            if ($mode == "edit") {
                echo '&nbsp;&nbsp;<input class="button button-large" type="submit" tabindex="5" value="' . __("Cancel", "gravityforms") . '" name="cancel" onclick="jQuery(\'#screen_mode\').val(\'view\');"/>';
            }
        }
        ?>
                                    </div>
                                    <div class="clear"></div>
                                </div>
                            </div>
                        </div>
                    </div>

                    <?php 
        if (!empty($lead["payment_status"]) && !apply_filters("gform_enable_entry_info_payment_details", true, $lead)) {
            self::payment_details_box($lead, $form);
        }
        ?>

                    <?php 
        do_action("gform_entry_detail_sidebar_middle", $form, $lead);
        ?>

                    <?php 
        if (GFCommon::current_user_can_any("gravityforms_edit_entry_notes")) {
            ?>
                        <!-- start notifications -->
                        <div class="postbox" id="notifications_container">
                            <h3 style="cursor:default;"><span><?php 
            _e("Notifications", "gravityforms");
            ?>
</span></h3>
                            <div class="inside">
                                <div class="message" style="display:none; padding:10px; margin:10px 0px;"></div>
                                <div>
                                    <?php 
            if (!is_array($form["notifications"]) || count($form["notifications"]) <= 0) {
                ?>
                                        <p class="description"><?php 
                _e("You cannot resend notifications for this entry 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 {
                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; width:99%;">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" value="<?php 
                _e("Resend Notifications", "gravityforms");
                ?>
" class="button" style="" onclick="ResendNotifications();"/>
                                        <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>
                        </div>
                       <!-- / end notifications -->
                   <?php 
        }
        ?>

                   <!-- begin print button -->
                   <div class="detail-view-print">
                       <a href="javascript:;" onclick="var notes_qs = jQuery('#gform_print_notes').is(':checked') ? '&notes=1' : ''; var url='<?php 
        echo trailingslashit(site_url());
        ?>
?gf_page=print-entry&fid=<?php 
        echo $form['id'];
        ?>
&lid=<?php 
        echo $lead['id'];
        ?>
' + notes_qs; window.open (url,'printwindow');" class="button"><?php 
        _e("Print", "gravityforms");
        ?>
</a>
                       <?php 
        if (GFCommon::current_user_can_any("gravityforms_view_entry_notes")) {
            ?>
                           <input type="checkbox" name="print_notes" value="print_notes" checked="checked" id="gform_print_notes"/>
                           <label for="print_notes"><?php 
            _e("include notes", "gravityforms");
            ?>
</label>
                       <?php 
        }
        ?>
                   </div>
                   <!-- end print button -->
				   <?php 
        do_action("gform_entry_detail_sidebar_after", $form, $lead);
        ?>
                </div>

                <div id="post-body" class="has-sidebar">
                    <div id="post-body-content" class="has-sidebar-content">
                        <?php 
        do_action("gform_entry_detail_content_before", $form, $lead);
        if ($mode == "view") {
            self::lead_detail_grid($form, $lead, true);
        } else {
            self::lead_detail_edit($form, $lead);
        }
        do_action("gform_entry_detail", $form, $lead);
        if (GFCommon::current_user_can_any("gravityforms_view_entry_notes")) {
            ?>
                            <div class="postbox">
                                <h3>
                                    <label for="name"><?php 
            _e("Notes", "gravityforms");
            ?>
</label>
                                </h3>

                                <form method="post">
                                    <?php 
            wp_nonce_field('gforms_update_note', 'gforms_update_note');
            ?>
                                    <div class="inside">
                                        <?php 
            $notes = RGFormsModel::get_lead_notes($lead["id"]);
            //getting email values
            $email_fields = GFCommon::get_email_fields($form);
            $emails = array();
            foreach ($email_fields as $email_field) {
                if (!empty($lead[$email_field["id"]])) {
                    $emails[] = $lead[$email_field["id"]];
                }
            }
            //displaying notes grid
            $subject = !empty($form["autoResponder"]["subject"]) ? "RE: " . GFCommon::replace_variables($form["autoResponder"]["subject"], $form, $lead) : "";
            self::notes_grid($notes, true, $emails, $subject);
            ?>
                                    </div>
                                </form>
                            </div>
                        <?php 
        }
        do_action("gform_entry_detail_content_after", $form, $lead);
        ?>
                    </div>
                </div>
            </div>
        </div>
        </form>
        <?php 
        if (rgpost("action") == "update") {
            ?>
            <div class="updated fade" style="padding:6px;">
                <?php 
            _e("Entry Updated.", "gravityforms");
            ?>
            </div>
            <?php 
        }
    }
    public static function leads_page($form_id)
    {
        global $wpdb;
        //quit if version of wp is not supported
        if (!GFCommon::ensure_wp_version()) {
            return;
        }
        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' => __('&laquo;', 'gravityforms'), 'next_text' => __('&raquo;', '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&amp;inlineId=notifications_modal_container', '');
                    return false;
                    break;

                case 'print':
                    resetPrintUI();
                    tb_show('<?php 
        _e("Print Entries", "gravityforms");
        ?>
', '#TB_inline?width=350&amp;height=250&amp;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') ? '&notes=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" >&nbsp;</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" >&nbsp;</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);
                        ?>
&nbsp;
                                            <?php 
                        do_action("gform_entries_column", $form_id, $field_id, $value, $lead, $query_string);
                        ?>
                                        </td>
                                        <?php 
                    }
                    $is_first_column = false;
                }
                ?>
                                <td>&nbsp;</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 
    }
示例#14
0
    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>
								&nbsp;&nbsp;
								<input type="radio" id="pagination_type_steps" name="pagination_type" value="steps" onclick='InitPaginationOptions();' />
								<label for="pagination_type_steps" class="inline">
									<?php 
        _e('Steps', 'gravityforms');
        ?>
								</label>
								&nbsp;&nbsp;
								<input type="radio" id="pagination_type_none" name="pagination_type" value="none" onclick='InitPaginationOptions();' />
								<label for="pagination_type_none" class="inline">
									<?php 
        _e('None', 'gravityforms');
        ?>
								</label>
							</div>
						</li>

						<li id="percentage_style_setting">

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

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

							<div class="percentage_custom_container" style="float:left; padding-left:20px;">
								<label for="percentage_background_bgcolor" style="display:block;">
									<?php 
        _e('Background Color', 'gravityforms');
        ?>
								</label>
								<?php 
        self::color_picker('percentage_style_custom_bgcolor', '');
        ?>
							</div>
						</li>
						<li id="page_names_setting">
							<label for="page_names_container">
								<?php 
        _e('Page Names', 'gravityforms');
        ?>
								<?php 
        gform_tooltip('form_page_names');
        ?>
							</label>

							<div id="page_names_container" style="margin-top:5px;">
								<!-- Populated dynamically from js.php -->
							</div>
						</li>
						<li id="percentage_confirmation_display_setting">
							<div class="percentage_confirmation_display_setting">
								<input type="checkbox" id="percentage_confirmation_display" onclick="TogglePercentageConfirmationText()">
								<label for="percentage_confirmation_display" class="inline">
									<?php 
        _e('Display completed progress bar on confirmation', 'gravityforms');
        ?>
									<?php 
        gform_tooltip('form_percentage_confirmation_display');
        ?>
								</label>
							</div>
						</li>
						<li id="percentage_confirmation_page_name_setting">
							<div class="percentage_confirmation_page_name_setting">
								<label for="percentage_confirmation_page_name" style="display:block;">
									<?php 
        _e('Completion Text', 'gravityforms');
        ?>
 <?php 
        gform_tooltip('percentage_confirmation_page_name');
        ?>
								</label>
								<input type="text" id="percentage_confirmation_page_name" class="fieldwidth-3" />
							</div>
						</li>
					</ul>
				</div>

				<div id="gform_pagination_settings_tab_2">
					<ul class="gforms_form_settings">
						<li>
							<label for="first_page_css_class" style="display:block;">
								<?php 
        _e('CSS Class Name', 'gravityforms');
        ?>
								<?php 
        gform_tooltip('form_field_css_class');
        ?>
							</label>
							<input type="text" id="first_page_css_class" size="30" />
						</li>
					</ul>
				</div>
			</div>
		</div>

		<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&#39;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&#39;re happy with your form, remember to click on the &quot;update form&quot; 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>
								&nbsp;&nbsp;
								<input type="radio" id="last_page_button_image" name="last_page_button" value="image" onclick="TogglePageButton('last_page');" />
								<label for="last_page_button_image" class="inline">
									<?php 
        _e('Image', 'gravityforms');
        ?>
									<?php 
        gform_tooltip('previous_button_image');
        ?>
								</label>

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

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

		<div>

			<div id="after_insert_dialog" style="display:none;">
				<h3><?php 
        _e('You have successfully saved your form!', 'gravityforms');
        ?>
</h3>

				<p><?php 
        _e('What would you like to do next?', 'gravityforms');
        ?>
</p>

				<div class="new-form-option">
					<a title="<?php 
        _e('Preview this form', 'gravityforms');
        ?>
" id="preview_form_link" href="<?php 
        echo 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>
				&nbsp;&nbsp;
				<input type="radio" id="next_button_image" name="next_button" value="image" onclick="TogglePageButton('next'); SetPageButton('next');" />
				<label for="next_button_image" class="inline">
					<?php 
        _e('Image', 'gravityforms');
        ?>
					<?php 
        gform_tooltip('next_button_image');
        ?>
				</label>

				<div id="next_button_text_container" style="margin-top:5px;">
					<label for="next_button_text_input" class="inline">
						<?php 
        _e('Text:', 'gravityforms');
        ?>
					</label>
					<input type="text" id="next_button_text_input" class="input_size_b" size="40" />
				</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>
				&nbsp;&nbsp;
				<input type="radio" id="previous_button_image" name="previous_button" value="image" onclick="TogglePageButton('previous'); SetPageButton('previous');" />
				<label for="previous_button_image" class="inline">
					<?php 
        _e('Image', 'gravityforms');
        ?>
					<?php 
        gform_tooltip('previous_button_image');
        ?>
				</label>

				<div id="previous_button_text_container" style="margin-top:5px;">
					<label for="previous_button_text_input" class="inline">
						<?php 
        _e('Text:', 'gravityforms');
        ?>
					</label>
					<input type="text" id="previous_button_text_input" class="input_size_b" size="40" />
				</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>
			&nbsp;&nbsp;
			<input type="radio" id="gfield_category_select" name="gfield_category" value="select" onclick="ToggleCategory();" />
			<label for="form_button_image" class="inline">
				<?php 
        _e('Select Categories', 'gravityforms');
        ?>
			</label>

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

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

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

			<div id="gfield_post_title_container">
				<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>
				&nbsp;&nbsp;
				<input type="radio" id="gsetting_icon_calendar" name="gsetting_icon" value="calendar" onclick="SetCalendarIconType(this.value);" />
				<label for="gsetting_icon_calendar" class="inline">
					<?php 
        _e('Calendar Icon', 'gravityforms');
        ?>
				</label>
				&nbsp;&nbsp;
				<input type="radio" id="gsetting_icon_custom" name="gsetting_icon" value="custom" onclick="SetCalendarIconType(this.value);" />
				<label for="gsetting_icon_custom" class="inline">
					<?php 
        _e('Custom Icon', 'gravityforms');
        ?>
				</label>

				<div id="gfield_icon_url_container">
					<label for="gfield_calendar_icon_url" class="inline">
						<?php 
        _e('Image Path: ', 'gravityforms');
        ?>
					</label>
					<input type="text" id="gfield_calendar_icon_url" size="45" />

					<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&amp;width=600&amp;inlineId=gfield_bulk_add', '');" class="button" />

			<div id="gfield_bulk_add" style="display:none;">
				<div>
					<?php 
        $predefined_choices = array(__('Countries', 'gravityforms') => $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');
        ?>
" />&nbsp;
						<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='';">&nbsp;&nbsp;
							<a href="javascript:void(0);" onclick="SaveCustomChoices();" class="button" id="bulk_save_button"><?php 
        _e('Save', 'gravityforms');
        ?>
</a>&nbsp;
							<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&amp;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>
				&nbsp;&nbsp;
				<input type="radio" name="field_visibility" id="field_visibility_admin" size="10" onclick="SetFieldAdminOnly(this.checked);" />
				<label for="field_visibility_admin" class="inline">
					<?php 
        _e('Admin Only', 'gravityforms');
        ?>
				</label>
			</div>
			<br class="clear" />
		</li>
		<?php 
        do_action('gform_field_advanced_settings', 450, $form_id);
        ?>
		<li class="prepopulate_field_setting field_setting">
			<input type="checkbox" id="field_prepopulate" onclick="SetFieldProperty('allowsPrepopulate', this.checked); ToggleInputName()" />
			<label for="field_prepopulate" class="inline"><?php 
        _e('Allow field to be populated dynamically', 'gravityforms');
        ?>
 <?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');
        ?>
							&nbsp;<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';
    }
示例#15
0
 public static function get_field_results($form_id, $data, $field, $search_criteria)
 {
     $field_data = $data["field_data"];
     $entry_count = $data["entry_count"];
     $field_results = "";
     if (empty($field_data[$field["id"]])) {
         $field_results .= __("No entries for this field", "gravityforms");
         return $field_results;
     }
     $field_type = GFFormsModel::get_input_type($field);
     switch ($field_type) {
         case "radio":
         case "checkbox":
         case "select":
         case "rating":
         case "multiselect":
             $results = $field_data[$field["id"]];
             $non_zero_results = is_array($results) ? array_filter($results) : $results;
             if (empty($non_zero_results)) {
                 $field_results .= __("No entries for this field", "gravityforms");
                 return $field_results;
             }
             $choices = $field["choices"];
             $data_table = array();
             $data_table[] = array(__('Choice', "gravityforms"), __('Frequency', "gravityforms"));
             foreach ($choices as $choice) {
                 $text = $choice["text"];
                 $val = $results[$choice['value']];
                 $data_table[] = array($text, $val);
             }
             $bar_height = 40;
             $chart_area_height = count($choices) * $bar_height;
             $chart_options = array('isStacked' => true, 'height' => $chart_area_height + $bar_height, 'chartArea' => array('top' => 0, 'left' => 200, 'height' => $chart_area_height, 'width' => '100%'), 'series' => array('0' => array('color' => 'silver', 'visibleInLegend' => 'false')), 'hAxis' => array('viewWindowMode' => 'explicit', 'viewWindow' => array('min' => 0), 'title' => __('Frequency', "gravityforms")));
             $data_table_json = htmlentities(json_encode($data_table), ENT_QUOTES, 'UTF-8', true);
             $options_json = htmlentities(json_encode($chart_options), ENT_QUOTES, 'UTF-8', true);
             $div_id = "gresults-results-chart-field-" . $field["id"];
             $height = "";
             //             = sprintf("height:%dpx", (count($choices) * $bar_height));
             $field_results .= sprintf('<div class="gresults-chart-wrapper" style="width: 100%%;%s" id=%s data-datatable=\'%s\' data-options=\'%s\' data-charttype="bar" ></div>', $height, $div_id, $data_table_json, $options_json);
             break;
         case "likert":
             $results = $field_data[$field["id"]];
             $multiple_rows = rgar($field, "gsurveyLikertEnableMultipleRows") ? true : false;
             $n = 100;
             $xr = 255;
             $xg = 255;
             $xb = 255;
             $yr = 100;
             $yg = 250;
             $yb = 100;
             $field_results .= "<div class='gsurvey-likert-field-results'>";
             $field_results .= "<table class='gsurvey-likert'>";
             $field_results .= "<tr>";
             if ($multiple_rows) {
                 $field_results .= "<td></td>";
             }
             foreach ($field["choices"] as $choice) {
                 $field_results .= "<td class='gsurvey-likert-choice-label'>" . $choice['text'] . "</td>";
             }
             $field_results .= "</tr>";
             foreach ($field["gsurveyLikertRows"] as $row) {
                 $row_text = $row["text"];
                 $row_value = $row["value"];
                 $max = 0;
                 foreach ($field["choices"] as $choice) {
                     if ($multiple_rows) {
                         $choice_value = rgar($choice, "value");
                         $results_row = rgar($results, $row_value);
                         $results_for_choice = rgar($results_row, $choice_value);
                         $max = max(array($max, $results_for_choice));
                     } else {
                         $max = max(array($max, $results[$choice['value']]));
                     }
                 }
                 $field_results .= "<tr>";
                 if ($multiple_rows) {
                     $field_results .= "<td class='gsurvey-likert-row-label'>" . $row_text . "</td>";
                 }
                 foreach ($field["choices"] as $choice) {
                     $val = $multiple_rows ? $results[$row_value][$choice['value']] : $results[$choice['value']];
                     $percent = $max > 0 ? round($val / $max * 100, 0) : 0;
                     $red = (int) ($xr + $percent * ($yr - $xr) / ($n - 1));
                     $green = (int) ($xg + $percent * ($yg - $xg) / ($n - 1));
                     $blue = (int) ($xb + $percent * ($yb - $xb) / ($n - 1));
                     $clr = 'rgb(' . $red . ',' . $green . ',' . $blue . ')';
                     $field_results .= "<td class='gsurvey-likert-results' style='background-color:{$clr}'>" . $val . "</td>";
                 }
                 $field_results .= "</tr>";
                 if (false === $multiple_rows) {
                     break;
                 }
             }
             $field_results .= "</table>";
             $field_results .= "</div>";
             if (rgar($field, "gsurveyLikertEnableScoring") && class_exists("GFSurvey")) {
                 $sum = $results["sum_of_scores"];
                 $average_score = $sum == 0 ? 0 : round($sum / $entry_count, 3);
                 $field_results .= "<div class='gsurvey-likert-score'>" . __("Average score: ", "gravityforms") . $average_score . "</div>";
             }
             break;
         case "rank":
             $results = $field_data[$field["id"]];
             arsort($results);
             $field_results .= "<div class='gsurvey-rank-field-results'>";
             $field_results .= " <table>";
             $field_results .= "     <tr class='gresults-results-field-table-header'>";
             $field_results .= "         <td class='gresults-rank-field-label'>";
             $field_results .= __("Item", "gravityforms");
             $field_results .= "         </td>";
             $field_results .= "         <td class='gresults-rank-field-score'>";
             $field_results .= __("Total Score", "gravityforms") . "&nbsp;" . gform_tooltip("gresults_total_score", null, true);
             $field_results .= "         </td>";
             $field_results .= "         <td class='gresults-rank-field-rank'>";
             $field_results .= __("Aggregate Rank", "gravityforms") . "&nbsp;" . gform_tooltip("gresults_agg_rank", null, true);
             $field_results .= "         </td>";
             $field_results .= "     </tr>";
             $agg_rank = 1;
             foreach ($results as $choice_val => $score) {
                 $field_results .= "<tr>";
                 $field_results .= "      <td class='gresults-rank-field-label' style='text-align:left;'>";
                 $field_results .= RGFormsModel::get_choice_text($field, $choice_val);
                 $field_results .= "      </td>";
                 $field_results .= "      <td class='gresults-rank-field-score'>";
                 $field_results .= $score;
                 $field_results .= "      </td>";
                 $field_results .= "      <td class='gresults-rank-field-rank'>";
                 $field_results .= $agg_rank;
                 $field_results .= "      </td>";
                 $field_results .= "</tr>";
                 $agg_rank++;
             }
             $field_results .= "</table>";
             $field_results .= "</div>";
             break;
         default:
             $page_size = 5;
             $offset = 0;
             $field_id = $field["id"];
             $field_results .= "<div class='gresults-results-field-sub-label'>" . __("Latest values:", "gravityforms") . "</div>";
             $field_results .= "<ul id='gresults-results-field-content-{$field_id}' class='gresults-results-field-content' data-offset='{$page_size}'>";
             $more_remaining = false;
             $field_results .= self::get_default_field_results($form_id, $field, $search_criteria, $offset, $page_size, $more_remaining);
             $field_results .= "</ul>";
             if ($more_remaining) {
                 $field_results .= "<a id='gresults-results-field-more-link-{$field_id}' class='gresults-results-field-more-link' href='javascript:void(0)' onclick='gresults.getMoreResults({$form_id},{$field_id})'>Show more</a>";
             }
             break;
     }
     return $field_results;
 }
示例#16
0
    public static function lead_detail_page()
    {
        global $current_user;
        if (!GFCommon::ensure_wp_version()) {
            return;
        }
        echo GFCommon::get_remote_message();
        $form = RGFormsModel::get_form_meta(absint($_GET['id']));
        $form_id = absint($form['id']);
        $form = apply_filters('gform_admin_pre_render_' . $form_id, apply_filters('gform_admin_pre_render', $form));
        $lead_id = absint(rgget('lid'));
        $filter = rgget('filter');
        $status = in_array($filter, array('trash', 'spam')) ? $filter : 'active';
        $position = rgget('pos') ? rgget('pos') : 0;
        $sort_direction = rgget('dir') ? rgget('dir') : 'DESC';
        $sort_field = empty($_GET['sort']) ? 0 : $_GET['sort'];
        $sort_field_meta = RGFormsModel::get_field($form, $sort_field);
        $is_numeric = $sort_field_meta['type'] == 'number';
        $star = $filter == 'star' ? 1 : null;
        $read = $filter == 'unread' ? 0 : null;
        $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');
        if (isset($_GET['field_id']) && $_GET['field_id'] !== '') {
            $key = $search_field_id;
            $val = 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;
            }
            $search_criteria['field_filters'][] = array('key' => $key, 'operator' => rgempty('operator', $_GET) ? 'is' : rgget('operator'), 'value' => $val);
            $type = rgget('type');
            if (empty($type)) {
                if (rgget('field_id') == '0') {
                    $search_criteria['type'] = 'global';
                }
            }
        }
        $paging = array('offset' => $position, 'page_size' => 1);
        if (!empty($sort_field)) {
            $sorting = array('key' => $_GET['sort'], 'direction' => $sort_direction, 'is_numeric' => $is_numeric);
        } else {
            $sorting = array();
        }
        $total_count = 0;
        $leads = GFAPI::get_entries($form['id'], $search_criteria, $sorting, $paging, $total_count);
        $prev_pos = !rgblank($position) && $position > 0 ? $position - 1 : false;
        $next_pos = !rgblank($position) && $position < $total_count - 1 ? $position + 1 : false;
        // unread filter requires special handling for pagination since entries are filter out of the query as they are read
        if ($filter == 'unread') {
            $next_pos = $position;
            if ($next_pos + 1 == $total_count) {
                $next_pos = false;
            }
        }
        if (!$lead_id) {
            $lead = !empty($leads) ? $leads[0] : false;
        } else {
            $lead = GFAPI::get_entry($lead_id);
        }
        if (!$lead) {
            esc_html_e("Oops! We couldn't find your entry. Please try again", 'gravityforms');
            return;
        }
        RGFormsModel::update_lead_property($lead['id'], 'is_read', 1);
        switch (RGForms::post('action')) {
            case 'update':
                check_admin_referer('gforms_save_entry', 'gforms_save_entry');
                //Loading files that have been uploaded to temp folder
                $files = GFCommon::json_decode(stripslashes(RGForms::post('gform_uploaded_files')));
                if (!is_array($files)) {
                    $files = array();
                }
                GFFormsModel::$uploaded_files[$form_id] = $files;
                GFFormsModel::save_lead($form, $lead);
                do_action('gform_after_update_entry', $form, $lead['id']);
                do_action("gform_after_update_entry_{$form['id']}", $form, $lead['id']);
                $lead = RGFormsModel::get_lead($lead['id']);
                $lead = GFFormsModel::set_entry_meta($lead, $form);
                break;
            case 'add_note':
                check_admin_referer('gforms_update_note', 'gforms_update_note');
                $user_data = get_userdata($current_user->ID);
                RGFormsModel::add_note($lead['id'], $current_user->ID, $user_data->display_name, stripslashes($_POST['new_note']));
                //emailing notes if configured
                if (rgpost('gentry_email_notes_to')) {
                    GFCommon::log_debug('GFEntryDetail::lead_detail_page(): Preparing to email entry notes.');
                    $email_to = $_POST['gentry_email_notes_to'];
                    $email_from = $current_user->user_email;
                    $email_subject = stripslashes($_POST['gentry_email_subject']);
                    $body = stripslashes($_POST['new_note']);
                    $headers = "From: \"{$email_from}\" <{$email_from}> \r\n";
                    GFCommon::log_debug("GFEntryDetail::lead_detail_page(): Emailing notes - TO: {$email_to} SUBJECT: {$email_subject} BODY: {$body} HEADERS: {$headers}");
                    $is_success = wp_mail($email_to, $email_subject, $body, $headers);
                    $result = is_wp_error($is_success) ? $is_success->get_error_message() : $is_success;
                    GFCommon::log_debug("GFEntryDetail::lead_detail_page(): Result from wp_mail(): {$result}");
                    if (!is_wp_error($is_success) && $is_success) {
                        GFCommon::log_debug('GFEntryDetail::lead_detail_page(): Mail was passed from WordPress to the mail server.');
                    } else {
                        GFCommon::log_error('GFEntryDetail::lead_detail_page(): The mail message was passed off to WordPress for processing, but WordPress was unable to send the message.');
                    }
                    if (has_filter('phpmailer_init')) {
                        GFCommon::log_debug(__METHOD__ . '(): The WordPress phpmailer_init hook has been detected, usually used by SMTP plugins, it can impact mail delivery.');
                    }
                    do_action('gform_post_send_entry_note', $result, $email_to, $email_from, $email_subject, $body, $form, $lead);
                }
                break;
            case 'add_quick_note':
                check_admin_referer('gforms_save_entry', 'gforms_save_entry');
                $user_data = get_userdata($current_user->ID);
                RGFormsModel::add_note($lead['id'], $current_user->ID, $user_data->display_name, stripslashes($_POST['quick_note']));
                break;
            case 'bulk':
                check_admin_referer('gforms_update_note', 'gforms_update_note');
                if ($_POST['bulk_action'] == 'delete') {
                    if (!GFCommon::current_user_can_any('gravityforms_edit_entry_notes')) {
                        die(esc_html__("You don't have adequate permission to delete notes.", 'gravityforms'));
                    }
                    RGFormsModel::delete_notes($_POST['note']);
                }
                break;
            case 'trash':
                check_admin_referer('gforms_save_entry', 'gforms_save_entry');
                RGFormsModel::update_lead_property($lead['id'], 'status', 'trash');
                $lead = RGFormsModel::get_lead($lead['id']);
                break;
            case 'restore':
            case 'unspam':
                check_admin_referer('gforms_save_entry', 'gforms_save_entry');
                RGFormsModel::update_lead_property($lead['id'], 'status', 'active');
                $lead = RGFormsModel::get_lead($lead['id']);
                break;
            case 'spam':
                check_admin_referer('gforms_save_entry', 'gforms_save_entry');
                RGFormsModel::update_lead_property($lead['id'], 'status', 'spam');
                $lead = RGFormsModel::get_lead($lead['id']);
                break;
            case 'delete':
                check_admin_referer('gforms_save_entry', 'gforms_save_entry');
                if (!GFCommon::current_user_can_any('gravityforms_delete_entries')) {
                    die(esc_html__("You don't have adequate permission to delete entries.", 'gravityforms'));
                }
                RGFormsModel::delete_lead($lead['id']);
                ?>
				<script type="text/javascript">
					document.location.href = '<?php 
                echo 'admin.php?page=gf_entries&view=entries&id=' . absint($form['id']);
                ?>
';
				</script>
				<?php 
                break;
        }
        $mode = empty($_POST['screen_mode']) ? 'view' : $_POST['screen_mode'];
        $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG || isset($_GET['gform_debug']) ? '' : '.min';
        ?>
		<link rel="stylesheet" href="<?php 
        echo GFCommon::get_base_url();
        ?>
/css/admin<?php 
        echo $min;
        ?>
.css" />
		<script type="text/javascript">

			jQuery(document).ready(function () {
				toggleNotificationOverride(true);
				jQuery('#gform_update_button').prop('disabled', false);
			});

			function DeleteFile(leadId, fieldId, deleteButton) {
				if (confirm(<?php 
        echo json_encode(__("Would you like to delete this file? 'Cancel' to stop. 'OK' to delete", 'gravityforms'));
        ?>
)) {
					var fileIndex = jQuery(deleteButton).parent().index();
					var mysack = new sack("<?php 
        echo admin_url('admin-ajax.php');
        ?>
");
					mysack.execute = 1;
					mysack.method = 'POST';
					mysack.setVar("action", "rg_delete_file");
					mysack.setVar("rg_delete_file", "<?php 
        echo wp_create_nonce('rg_delete_file');
        ?>
");
					mysack.setVar("lead_id", leadId);
					mysack.setVar("field_id", fieldId);
					mysack.setVar("file_index", fileIndex);
					mysack.onError = function () {
						alert(<?php 
        echo json_encode(__('Ajax error while deleting field.', 'gravityforms'));
        ?>
)
					};
					mysack.runAJAX();

					return true;
				}
			}

			function EndDeleteFile(fieldId, fileIndex) {
				var previewFileSelector = "#preview_existing_files_" + fieldId + " .ginput_preview";
				var $previewFiles = jQuery(previewFileSelector);
				var rr = $previewFiles.eq(fileIndex);
				$previewFiles.eq(fileIndex).remove();
				var $visiblePreviewFields = jQuery(previewFileSelector);
				if ($visiblePreviewFields.length == 0) {
					jQuery('#preview_' + fieldId).hide();
					jQuery('#upload_' + fieldId).show('slow');
				}
			}

			function ToggleShowEmptyFields() {
				if (jQuery("#gentry_display_empty_fields").is(":checked")) {
					createCookie("gf_display_empty_fields", true, 10000);
					document.location = document.location.href;
				}
				else {
					eraseCookie("gf_display_empty_fields");
					document.location = document.location.href;
				}
			}

			function createCookie(name, value, days) {
				if (days) {
					var date = new Date();
					date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
					var expires = "; expires=" + date.toGMTString();
				}
				else var expires = "";
				document.cookie = name + "=" + value + expires + "; path=/";
			}

			function eraseCookie(name) {
				createCookie(name, "", -1);
			}

			function ResendNotifications() {

				var selectedNotifications = new Array();
				jQuery(".gform_notifications:checked").each(function () {
					selectedNotifications.push(jQuery(this).val());
				});

				var sendTo = jQuery('#notification_override_email').val();

				if (selectedNotifications.length <= 0) {
					displayMessage(<?php 
        echo json_encode(__('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                : '<?php 
        echo absint($lead['id']);
        ?>
',
						formId                 : '<?php 
        echo absint($form['id']);
        ?>
'
					},
					function (response) {
						if (response) {
							displayMessage(response, "error", "#notifications_container");
						} else {
							displayMessage(<?php 
        echo json_encode(esc_html__('Notifications were resent successfully.', 'gravityforms'));
        ?>
, "updated", "#notifications_container" );

							// reset UI
							jQuery(".gform_notifications").attr( 'checked', false );
							jQuery('#notification_override_email').val('');

							toggleNotificationOverride();

						}

						jQuery('#please_wait_container').hide();
						setTimeout(function () {
							jQuery('#notifications_container').find('.message').slideUp();
						}, 5000);
					}
				);

			}

			function displayMessage( message, messageClass, container ) {
				jQuery( container ).find( '.message' ).hide().html( message ).attr( 'class', 'message ' + messageClass ).slideDown();
			}

			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('');
					});
				}
			}

		</script>

		<form method="post" id="entry_form" enctype='multipart/form-data'>
		<?php 
        wp_nonce_field('gforms_save_entry', 'gforms_save_entry');
        ?>
		<input type="hidden" name="action" id="action" value="" />
		<input type="hidden" name="screen_mode" id="screen_mode" value="<?php 
        echo esc_attr(rgpost('screen_mode'));
        ?>
" />

		<div class="wrap gf_entry_wrap">
		<h2 class="gf_admin_page_title">
			<span><?php 
        echo esc_html__('Entry #', 'gravityforms') . absint($lead['id']);
        ?>
</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']);
        $gf_entry_locking = new GFEntryLocking();
        $gf_entry_locking->lock_info($lead_id);
        ?>
</span></span></h2>

		<?php 
        if (isset($_GET['pos'])) {
            ?>
			<div class="gf_entry_detail_pagination">
				<ul>
					<li class="gf_entry_count">
						<span>entry <strong><?php 
            echo $position + 1;
            ?>
</strong> of <strong><?php 
            echo $total_count;
            ?>
</strong></span>
					</li>
					<li class="gf_entry_prev gf_entry_pagination"><?php 
            echo GFEntryDetail::entry_detail_pagination_link($prev_pos, 'Previous Entry', 'gf_entry_prev_link', 'fa fa-arrow-circle-o-left');
            ?>
</li>
					<li class="gf_entry_next gf_entry_pagination"><?php 
            echo GFEntryDetail::entry_detail_pagination_link($next_pos, 'Next Entry', 'gf_entry_next_link', 'fa fa-arrow-circle-o-right');
            ?>
</li>
				</ul>
			</div>
		<?php 
        }
        ?>

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

		<div id="poststuff" class="metabox-holder has-right-sidebar">
		<div id="side-info-column" class="inner-sidebar">
		<?php 
        do_action('gform_entry_detail_sidebar_before', $form, $lead);
        ?>

		<!-- INFO BOX -->
		<div id="submitdiv" class="stuffbox">
			<h3 class="hndle" style="cursor:default;">
				<span><?php 
        esc_html_e('Entry', 'gravityforms');
        ?>
</span>
			</h3>

			<div class="inside">
				<div id="submitcomment" class="submitbox">
					<div id="minor-publishing" style="padding:10px;">
						<?php 
        esc_html_e('Entry Id', 'gravityforms');
        ?>
: <?php 
        echo absint($lead['id']);
        ?>
<br /><br />
						<?php 
        esc_html_e('Submitted on', 'gravityforms');
        ?>
: <?php 
        echo esc_html(GFCommon::format_date($lead['date_created'], false, 'Y/m/d'));
        ?>
						<br /><br />
						<?php 
        esc_html_e('User IP', 'gravityforms');
        ?>
: <?php 
        echo esc_html($lead['ip']);
        ?>
						<br /><br />
						<?php 
        if (!empty($lead['created_by']) && ($usermeta = get_userdata($lead['created_by']))) {
            ?>
							<?php 
            esc_html_e('User', 'gravityforms');
            ?>
:
							<a href="user-edit.php?user_id=<?php 
            echo absint($lead['created_by']);
            ?>
" alt="<?php 
            esc_attr_e('View user profile', 'gravityforms');
            ?>
" title="<?php 
            esc_attr_e('View user profile', 'gravityforms');
            ?>
"><?php 
            echo esc_html($usermeta->user_login);
            ?>
</a>
							<br /><br />
						<?php 
        }
        ?>

						<?php 
        esc_html_e('Embed Url', 'gravityforms');
        ?>
:
						<a href="<?php 
        echo esc_url($lead['source_url']);
        ?>
" target="_blank" alt="<?php 
        echo esc_attr($lead['source_url']);
        ?>
" title="<?php 
        echo esc_attr($lead['source_url']);
        ?>
">.../<?php 
        echo esc_html(GFCommon::truncate_url($lead['source_url']));
        ?>
</a>
						<br /><br />
						<?php 
        if (!empty($lead['post_id'])) {
            $post = get_post($lead['post_id']);
            ?>
							<?php 
            esc_html_e('Edit Post', 'gravityforms');
            ?>
:
							<a href="post.php?action=edit&post=<?php 
            echo absint($post->ID);
            ?>
" alt="<?php 
            esc_attr_e('Click to edit post', 'gravityforms');
            ?>
" title="<?php 
            esc_attr_e('Click to edit post', 'gravityforms');
            ?>
"><?php 
            echo esc_html($post->post_title);
            ?>
</a>
							<br /><br />
						<?php 
        }
        if (do_action('gform_enable_entry_info_payment_details', true, $lead)) {
            if (!empty($lead['payment_status'])) {
                echo $lead['transaction_type'] != 2 ? esc_html__('Payment Status', 'gravityforms') : esc_html__('Subscription Status', 'gravityforms');
                ?>
:
								<span id="gform_payment_status"><?php 
                echo apply_filters('gform_payment_status', $lead['payment_status'], $form, $lead);
                ?>
</span>
								<br /><br />
								<?php 
                if (!empty($lead['payment_date'])) {
                    echo $lead['transaction_type'] != 2 ? esc_html__('Payment Date', 'gravityforms') : esc_html__('Start Date', 'gravityforms');
                    ?>
: <?php 
                    echo GFCommon::format_date($lead['payment_date'], false, 'Y/m/d', $lead['transaction_type'] != 2);
                    ?>
									<br /><br />
								<?php 
                }
                if (!empty($lead['transaction_id'])) {
                    echo $lead['transaction_type'] != 2 ? esc_html__('Transaction Id', 'gravityforms') : esc_html__('Subscriber Id', 'gravityforms');
                    ?>
: <?php 
                    echo esc_html($lead['transaction_id']);
                    ?>
									<br /><br />
								<?php 
                }
                if (!rgblank($lead['payment_amount'])) {
                    echo $lead['transaction_type'] != 2 ? esc_html__('Payment Amount', 'gravityforms') : esc_html__('Subscription Amount', 'gravityforms');
                    ?>
: <?php 
                    echo GFCommon::to_money($lead['payment_amount'], $lead['currency']);
                    ?>
									<br /><br />
								<?php 
                }
            }
        }
        do_action('gform_entry_info', $form['id'], $lead);
        ?>
					</div>
					<div id="major-publishing-actions">
						<div id="delete-action">
							<?php 
        switch ($lead['status']) {
            case 'spam':
                if (GFCommon::spam_enabled($form['id'])) {
                    ?>
										<a onclick="jQuery('#action').val('unspam'); jQuery('#entry_form').submit()" href="#"><?php 
                    esc_html_e('Not Spam', 'gravityforms');
                    ?>
</a>
										<?php 
                    echo GFCommon::current_user_can_any('gravityforms_delete_entries') ? '|' : '';
                }
                if (GFCommon::current_user_can_any('gravityforms_delete_entries')) {
                    ?>
										<a class="submitdelete deletion" onclick="if ( confirm('<?php 
                    echo esc_js(__("You are about to delete this entry. 'Cancel' to stop, 'OK' to delete.", 'gravityforms'));
                    ?>
') ) {jQuery('#action').val('delete'); jQuery('#entry_form').submit(); return true;} return false;" href="#"><?php 
                    esc_html_e('Delete Permanently', 'gravityforms');
                    ?>
</a>
									<?php 
                }
                break;
            case 'trash':
                ?>
									<a onclick="jQuery('#action').val('restore'); jQuery('#entry_form').submit()" href="#"><?php 
                esc_html_e('Restore', 'gravityforms');
                ?>
</a>
									<?php 
                if (GFCommon::current_user_can_any('gravityforms_delete_entries')) {
                    ?>
										|
										<a class="submitdelete deletion" onclick="if ( confirm('<?php 
                    echo esc_js(__("You are about to delete this entry. 'Cancel' to stop, 'OK' to delete.", 'gravityforms'));
                    ?>
') ) {jQuery('#action').val('delete'); jQuery('#entry_form').submit(); return true;} return false;" href="#"><?php 
                    esc_html_e('Delete Permanently', 'gravityforms');
                    ?>
</a>
									<?php 
                }
                break;
            default:
                if (GFCommon::current_user_can_any('gravityforms_delete_entries')) {
                    ?>
										<a class="submitdelete deletion" onclick="jQuery('#action').val('trash'); jQuery('#entry_form').submit()" href="#"><?php 
                    esc_html_e('Move to Trash', 'gravityforms');
                    ?>
</a>
										<?php 
                    echo GFCommon::spam_enabled($form['id']) ? '|' : '';
                }
                if (GFCommon::spam_enabled($form['id'])) {
                    ?>
										<a class="submitdelete deletion" onclick="jQuery('#action').val('spam'); jQuery('#entry_form').submit()" href="#"><?php 
                    esc_html_e('Mark as Spam', 'gravityforms');
                    ?>
</a>
									<?php 
                }
        }
        ?>
						</div>
						<div id="publishing-action">
							<?php 
        if (GFCommon::current_user_can_any('gravityforms_edit_entries') && $lead['status'] != 'trash') {
            $button_text = $mode == 'view' ? __('Edit', 'gravityforms') : __('Update', 'gravityforms');
            $disabled = $mode == 'view' ? '' : ' disabled="disabled" ';
            $update_button_id = $mode == 'view' ? 'gform_edit_button' : 'gform_update_button';
            $button_click = $mode == 'view' ? "jQuery('#screen_mode').val('edit');" : "jQuery('#action').val('update'); jQuery('#screen_mode').val('view');";
            $update_button = '<input id="' . $update_button_id . '" ' . $disabled . ' class="button button-large button-primary" type="submit" tabindex="4" value="' . esc_attr($button_text) . '" name="save" onclick="' . $button_click . '"/>';
            echo apply_filters('gform_entrydetail_update_button', $update_button);
            if ($mode == 'edit') {
                echo '&nbsp;&nbsp;<input class="button button-large" type="submit" tabindex="5" value="' . esc_attr__('Cancel', 'gravityforms') . '" name="cancel" onclick="jQuery(\'#screen_mode\').val(\'view\');"/>';
            }
        }
        ?>
						</div>
						<div class="clear"></div>
					</div>
				</div>
			</div>
		</div>

		<?php 
        if (!empty($lead['payment_status']) && !apply_filters('gform_enable_entry_info_payment_details', true, $lead)) {
            self::payment_details_box($lead, $form);
        }
        ?>

		<?php 
        do_action('gform_entry_detail_sidebar_middle', $form, $lead);
        ?>

		<?php 
        if (GFCommon::current_user_can_any('gravityforms_edit_entry_notes')) {
            ?>
			<!-- start notifications -->
			<div class="postbox" id="notifications_container">
				<h3 class="hndle" style="cursor:default;">
					<span><?php 
            esc_html_e('Notifications', 'gravityforms');
            ?>
</span>
				</h3>

				<div class="inside">
					<div class="message" style="display:none;padding:10px;"></div>
					<div>
						<?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 this entry 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 
                esc_html_e('Configure Notifications', 'gravityforms');
                ?>
</a>
						<?php 
            } else {
                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; width:99%;">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 
                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" value="<?php 
                esc_attr_e('Resend Notifications', 'gravityforms');
                ?>
" class="button" style="" onclick="ResendNotifications();" />
							<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>
			</div>
			<!-- / end notifications -->
		<?php 
        }
        ?>

		<!-- begin print button -->
		<div class="detail-view-print">
			<a href="javascript:;" onclick="var notes_qs = jQuery('#gform_print_notes').is(':checked') ? '&notes=1' : ''; var url='<?php 
        echo trailingslashit(site_url());
        ?>
?gf_page=print-entry&fid=<?php 
        echo absint($form['id']);
        ?>
&lid=<?php 
        echo absint($lead['id']);
        ?>
' + notes_qs; window.open (url,'printwindow');" class="button"><?php 
        esc_html_e('Print', 'gravityforms');
        ?>
</a>
			<?php 
        if (GFCommon::current_user_can_any('gravityforms_view_entry_notes')) {
            ?>
				<input type="checkbox" name="print_notes" value="print_notes" checked="checked" id="gform_print_notes" />
				<label for="print_notes"><?php 
            esc_html_e('include notes', 'gravityforms');
            ?>
</label>
			<?php 
        }
        ?>
		</div>
		<!-- end print button -->
		<?php 
        do_action('gform_entry_detail_sidebar_after', $form, $lead);
        ?>
		</div>

		<div id="post-body" class="has-sidebar">
			<div id="post-body-content" class="has-sidebar-content">
				<?php 
        do_action('gform_entry_detail_content_before', $form, $lead);
        if ($mode == 'view') {
            self::lead_detail_grid($form, $lead, true);
        } else {
            self::lead_detail_edit($form, $lead);
        }
        do_action('gform_entry_detail', $form, $lead);
        if (GFCommon::current_user_can_any('gravityforms_view_entry_notes')) {
            ?>
					<div class="postbox">
						<h3>
							<label for="name"><?php 
            esc_html_e('Notes', 'gravityforms');
            ?>
</label>
						</h3>

						<form method="post">
							<?php 
            wp_nonce_field('gforms_update_note', 'gforms_update_note');
            ?>
							<div class="inside">
								<?php 
            $notes = RGFormsModel::get_lead_notes($lead['id']);
            //getting email values
            $email_fields = GFCommon::get_email_fields($form);
            $emails = array();
            foreach ($email_fields as $email_field) {
                if (!empty($lead[$email_field->id])) {
                    $emails[] = $lead[$email_field->id];
                }
            }
            //displaying notes grid
            $subject = '';
            self::notes_grid($notes, true, $emails, $subject);
            ?>
							</div>
						</form>
					</div>
				<?php 
        }
        do_action('gform_entry_detail_content_after', $form, $lead);
        ?>
			</div>
		</div>
		</div>
		</div>
		</form>
		<?php 
        if (rgpost('action') == 'update') {
            ?>
			<div class="updated fade" style="padding:6px;">
				<?php 
            esc_html_e('Entry Updated.', 'gravityforms');
            ?>
			</div>
		<?php 
        }
    }
示例#17
0
    public static function add_form_option_js()
    {
        ob_start();
        gform_tooltip("form_salesforce");
        $tooltip = ob_get_contents();
        ob_end_clean();
        $tooltip = trim(rtrim($tooltip)) . ' ';
        ?>
<style type="text/css">
	#gform_title .salesforce,
	#gform_enable_salesforce_label {
		float:right;
		background: url('<?php 
        echo WP_PLUGIN_URL . '/' . str_replace(basename(__FILE__), "", plugin_basename(__FILE__));
        ?>
/salesforce-16x16.png') right top no-repeat;
		height: 16px;
		width: 16px;
		cursor: help;
	}
	#gform_enable_salesforce_label {
		float: none;
		width: auto;
		background-position: left top;
		padding-left: 18px;
		cursor:default;
	}
</style>

<script type="text/javascript">
	jQuery(document).ready(function($) {
		$('#gform_settings_tab_2 .gforms_form_settings').append("<li><input type='checkbox' id='gform_enable_salesforce' /> <label for='gform_enable_salesforce' id='gform_enable_salesforce_label'><?php 
        _e("Enable Salesforce integration", "gravity-forms-salesforce");
        ?>
 <?php 
        echo $tooltip;
        ?>
</label></li>");
		
		if($().prop) {
			$("#gform_enable_salesforce").prop("checked", form.enableSalesforce ? true : false);
		} else {
			$("#gform_enable_salesforce").attr("checked", form.enableSalesforce ? true : false);
		}
		
		$("#gform_enable_salesforce").live('click change load', function(e) {
			
			var checked = $(this).is(":checked")
			
			form.enableSalesforce = checked;
			
			if(checked) {
				$("#gform_title").append('<span class="salesforce" title="<?php 
        _e("Salesforce integration is enabled.", "gravity-forms-salesforce");
        ?>
"></span>');
			} else {
				$("#gform_title .salesforce").remove();
			}
			
			SortFields(); // Update the form object to include the new enableSalesforce setting
			
		}).trigger('load');
		
		$('.tooltip_form_salesforce').qtip({
	         content: $('.tooltip_form_salesforce').attr('tooltip'), // Use the tooltip attribute of the element for the content
	         show: { delay: 200, solo: true },
	         hide: { when: 'mouseout', fixed: true, delay: 200, effect: 'fade' },
	         style: 'gformsstyle', // custom tooltip style
	         position: {
	      		corner: {
	         		target: 'topRight'
	                ,tooltip: 'bottomLeft'
	      		}
	  		 }
	    });
	});
</script><?php 
    }
示例#18
0
    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&amp;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 
    }
示例#19
0
文件: paypal.php 项目: hscale/webento
    private static function edit_page()
    {
        ?>
        <style>
            #paypal_submit_container{clear:both;}
            .paypal_col_heading{padding-bottom:2px; border-bottom: 1px solid #ccc; font-weight:bold; width:120px;}
            .paypal_field_cell {padding: 6px 17px 0 0; margin-right:15px;}

            .paypal_validation_error{ background-color:#FFDFDF; margin-top:4px; margin-bottom:6px; padding-top:6px; padding-bottom:6px; border:1px dotted #C89797;}
            .paypal_validation_error span {color: red;}
            .left_header{float:left; width:200px;}
            .margin_vertical_10{margin: 10px 0; padding-left:5px;}
            .margin_vertical_30{margin: 30px 0; padding-left:5px;}
            .width-1{width:300px;}
            .gf_paypal_invalid_form{margin-top:30px; background-color:#FFEBE8;border:1px solid #CC0000; padding:10px; width:600px;}
        </style>
        <script type="text/javascript">
            var form = Array();
        </script>
        <div class="wrap">
            <img alt="<?php 
        _e("PayPal", "gravityformspaypal");
        ?>
" style="margin: 15px 7px 0pt 0pt; float: left;" src="<?php 
        echo self::get_base_url();
        ?>
/images/paypal_wordpress_icon_32.png"/>
            <h2><?php 
        _e("PayPal Transaction Settings", "gravityformspaypal");
        ?>
</h2>

        <?php 
        //getting setting id (0 when creating a new one)
        $id = !empty($_POST["paypal_setting_id"]) ? $_POST["paypal_setting_id"] : absint($_GET["id"]);
        $config = empty($id) ? array("meta" => array(), "is_active" => true) : GFPayPalData::get_feed($id);
        $is_validation_error = false;
        //updating meta information
        if (rgpost("gf_paypal_submit")) {
            $config["form_id"] = absint(rgpost("gf_paypal_form"));
            $config["meta"]["email"] = trim(rgpost("gf_paypal_email"));
            $config["meta"]["mode"] = rgpost("gf_paypal_mode");
            $config["meta"]["type"] = rgpost("gf_paypal_type");
            $config["meta"]["style"] = rgpost("gf_paypal_page_style");
            $config["meta"]["continue_text"] = rgpost("gf_paypal_continue_text");
            $config["meta"]["cancel_url"] = rgpost("gf_paypal_cancel_url");
            $config["meta"]["disable_note"] = rgpost("gf_paypal_disable_note");
            $config["meta"]["disable_shipping"] = rgpost('gf_paypal_disable_shipping');
            $config["meta"]["delay_autoresponder"] = rgpost('gf_paypal_delay_autoresponder');
            $config["meta"]["delay_notification"] = rgpost('gf_paypal_delay_notification');
            $config["meta"]["delay_post"] = rgpost('gf_paypal_delay_post');
            $config["meta"]["update_post_action"] = rgpost('gf_paypal_update_action');
            // paypal conditional
            $config["meta"]["paypal_conditional_enabled"] = rgpost('gf_paypal_conditional_enabled');
            $config["meta"]["paypal_conditional_field_id"] = rgpost('gf_paypal_conditional_field_id');
            $config["meta"]["paypal_conditional_operator"] = rgpost('gf_paypal_conditional_operator');
            $config["meta"]["paypal_conditional_value"] = rgpost('gf_paypal_conditional_value');
            //recurring fields
            $config["meta"]["recurring_amount_field"] = rgpost("gf_paypal_recurring_amount");
            $config["meta"]["billing_cycle_number"] = rgpost("gf_paypal_billing_cycle_number");
            $config["meta"]["billing_cycle_type"] = rgpost("gf_paypal_billing_cycle_type");
            $config["meta"]["recurring_times"] = rgpost("gf_paypal_recurring_times");
            $config["meta"]["trial_period_enabled"] = rgpost('gf_paypal_trial_period');
            $config["meta"]["trial_amount"] = rgpost('gf_paypal_trial_amount');
            $config["meta"]["trial_period_number"] = rgpost('gf_paypal_trial_period_number');
            $config["meta"]["trial_period_type"] = rgpost('gf_paypal_trial_period_type');
            $config["meta"]["recurring_retry"] = rgpost('gf_paypal_recurring_retry');
            //-----------------
            $customer_fields = self::get_customer_fields();
            $config["meta"]["customer_fields"] = array();
            foreach ($customer_fields as $field) {
                $config["meta"]["customer_fields"][$field["name"]] = $_POST["paypal_customer_field_{$field["name"]}"];
            }
            $config = apply_filters('gform_paypal_save_config', $config);
            $is_validation_error = apply_filters("gform_paypal_config_validation", false, $config);
            if (GFCommon::is_valid_email($config["meta"]["email"]) && !$is_validation_error) {
                $id = GFPayPalData::update_feed($id, $config["form_id"], $config["is_active"], $config["meta"]);
                ?>
                <div class="updated fade" style="padding:6px"><?php 
                echo sprintf(__("Feed Updated. %sback to list%s", "gravityformspaypal"), "<a href='?page=gf_paypal'>", "</a>");
                ?>
</div>
                <?php 
            } else {
                $is_validation_error = true;
            }
        }
        $form = isset($config["form_id"]) && $config["form_id"] ? $form = RGFormsModel::get_form_meta($config["form_id"]) : array();
        ?>
        <form method="post" action="">
            <input type="hidden" name="paypal_setting_id" value="<?php 
        echo $id;
        ?>
" />

            <div class="margin_vertical_10 <?php 
        echo $is_validation_error ? "paypal_validation_error" : "";
        ?>
">
                <?php 
        if ($is_validation_error) {
            ?>
                    <span><?php 
            _e('There was an issue saving your feed. Please address the errors below and try again.');
            ?>
</span>
                    <?php 
        }
        ?>
            </div> <!-- / validation message -->

            <div class="margin_vertical_10<?php 
        echo $is_validation_error && !GFCommon::is_valid_email($config["meta"]["email"]) ? " paypal_validation_error" : "";
        ?>
">
                <label class="left_header" for="gf_paypal_email"><?php 
        _e("PayPal Email Address", "gravityformspaypal");
        ?>
 <?php 
        gform_tooltip("paypal_email_address");
        ?>
</label>
                <input type="text" name="gf_paypal_email" id="gf_paypal_email" value="<?php 
        echo rgar($config['meta'], 'email');
        ?>
" class="width-1"/>
                <?php 
        if ($is_validation_error && !GFCommon::is_valid_email($config["meta"]["email"])) {
            ?>
                    <span>Please enter a valid email address.</span>
                    <?php 
        }
        ?>
            </div>
            <div class="margin_vertical_10">
                <label class="left_header"><?php 
        _e("Mode", "gravityformspaypal");
        ?>
 <?php 
        gform_tooltip("paypal_mode");
        ?>
</label>

                <input type="radio" name="gf_paypal_mode" id="gf_paypal_mode_production" value="production" <?php 
        echo rgar($config['meta'], 'mode') != "test" ? "checked='checked'" : "";
        ?>
/>
                <label class="inline" for="gf_paypal_mode_production"><?php 
        _e("Production", "gravityformspaypal");
        ?>
</label>
                &nbsp;&nbsp;&nbsp;
                <input type="radio" name="gf_paypal_mode" id="gf_paypal_mode_test" value="test" <?php 
        echo rgar($config['meta'], 'mode') == "test" ? "checked='checked'" : "";
        ?>
/>
                <label class="inline" for="gf_paypal_mode_test"><?php 
        _e("Test", "gravityformspaypal");
        ?>
</label>
            </div>
            <div class="margin_vertical_10">
                <label class="left_header" for="gf_paypal_type"><?php 
        _e("Transaction Type", "gravityformspaypal");
        ?>
 <?php 
        gform_tooltip("paypal_transaction_type");
        ?>
</label>

                <select id="gf_paypal_type" name="gf_paypal_type" onchange="SelectType(jQuery(this).val());">
                    <option value=""><?php 
        _e("Select a transaction type", "gravityformspaypal");
        ?>
</option>
                    <option value="product" <?php 
        echo rgar($config['meta'], 'type') == "product" ? "selected='selected'" : "";
        ?>
><?php 
        _e("Products and Services", "gravityformspaypal");
        ?>
</option>
                    <option value="donation" <?php 
        echo rgar($config['meta'], 'type') == "donation" ? "selected='selected'" : "";
        ?>
><?php 
        _e("Donations", "gravityformspaypal");
        ?>
</option>
                    <option value="subscription" <?php 
        echo rgar($config['meta'], 'type') == "subscription" ? "selected='selected'" : "";
        ?>
><?php 
        _e("Subscriptions", "gravityformspaypal");
        ?>
</option>
                </select>
            </div>
            <div id="paypal_form_container" valign="top" class="margin_vertical_10" <?php 
        echo empty($config["meta"]["type"]) ? "style='display:none;'" : "";
        ?>
>
                <label for="gf_paypal_form" class="left_header"><?php 
        _e("Gravity Form", "gravityformspaypal");
        ?>
 <?php 
        gform_tooltip("paypal_gravity_form");
        ?>
</label>

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

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

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

                <div id="gf_paypal_invalid_product_form" class="gf_paypal_invalid_form"  style="display:none;">
                    <?php 
        _e("The form selected does not have any Product fields. Please add a Product field to the form and try again.", "gravityformspaypal");
        ?>
                </div>
                <div id="gf_paypal_invalid_donation_form" class="gf_paypal_invalid_form" style="display:none;">
                    <?php 
        _e("The form selected does not have any Donation fields. Please add a Donation field to the form and try again.", "gravityformspaypal");
        ?>
                </div>
            </div>
            <div id="paypal_field_group" valign="top" <?php 
        echo empty($config["meta"]["type"]) || empty($config["form_id"]) ? "style='display:none;'" : "";
        ?>
>

                <div id="paypal_field_container_subscription" class="paypal_field_container" valign="top" <?php 
        echo rgars($config, "meta/type") != "subscription" ? "style='display:none;'" : "";
        ?>
>
                    <div class="margin_vertical_10">
                        <label class="left_header" for="gf_paypal_recurring_amount"><?php 
        _e("Recurring Amount", "gravityformspaypal");
        ?>
 <?php 
        gform_tooltip("paypal_recurring_amount");
        ?>
</label>
                        <select id="gf_paypal_recurring_amount" name="gf_paypal_recurring_amount">
                            <?php 
        echo self::get_product_options($form, $config["meta"]["recurring_amount_field"]);
        ?>
                        </select>
                    </div>

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

                    <div class="margin_vertical_10">
                        <label class="left_header" for="gf_paypal_recurring_times"><?php 
        _e("Recurring Times", "gravityformspaypal");
        ?>
 <?php 
        gform_tooltip("paypal_recurring_times");
        ?>
</label>
                        <select id="gf_paypal_recurring_times" name="gf_paypal_recurring_times">
                            <option value=""><?php 
        _e("Infinite", "gravityformspaypal");
        ?>
</option>
                            <?php 
        for ($i = 2; $i <= 30; $i++) {
            $selected = $i == $config["meta"]["recurring_times"] ? 'selected="selected"' : '';
            ?>
                                <option value="<?php 
            echo $i;
            ?>
" <?php 
            echo $selected;
            ?>
><?php 
            echo $i;
            ?>
</option>
                                <?php 
        }
        ?>
                        </select>&nbsp;&nbsp;
                        <input type="checkbox" name="gf_paypal_recurring_retry" id="gf_paypal_recurring_retry" value="1" <?php 
        echo rgars($config, "meta/recurring_retry") ? "checked='checked'" : "";
        ?>
 />
                        <label class="inline" for="gf_paypal_recurring_retry"><?php 
        _e("Try to bill again after failed attempt.", "gravityformspaypal");
        ?>
</label>
                    </div>

                    <div class="margin_vertical_10">
                        <label class="left_header" for="gf_paypal_trial_period"><?php 
        _e("Trial Period", "gravityformspaypal");
        ?>
 <?php 
        gform_tooltip("paypal_trial_period_enable");
        ?>
</label>
                        <input type="checkbox" name="gf_paypal_trial_period" id="gf_paypal_trial_period" value="1" onclick="if(jQuery(this).is(':checked')) jQuery('#paypal_trial_period_container').show('slow'); else jQuery('#paypal_trial_period_container').hide('slow');" <?php 
        echo rgars($config, "meta/trial_period_enabled") ? "checked='checked'" : "";
        ?>
 />
                        <label class="inline" for="gf_paypal_trial_period"><?php 
        _e("Enable", "gravityformspaypal");
        ?>
</label>
                    </div>

                    <div id="paypal_trial_period_container" <?php 
        echo rgars($config, "meta/trial_period_enabled") ? "" : "style='display:none;'";
        ?>
>
                        <div class="margin_vertical_10">
                            <label class="left_header" for="gf_paypal_trial_amount"><?php 
        _e("Trial Amount", "gravityformspaypal");
        ?>
 <?php 
        gform_tooltip("paypal_trial_amount");
        ?>
</label>
                            <input type="text" name="gf_paypal_trial_amount" id="gf_paypal_trial_amount" value="<?php 
        echo rgars($config, "meta/trial_amount");
        ?>
"/>
                        </div>
                        <div class="margin_vertical_10">
                            <label class="left_header" for="gf_paypal_trial_period_number"><?php 
        _e("Trial Period", "gravityformspaypal");
        ?>
 <?php 
        gform_tooltip("paypal_trial_period");
        ?>
</label>
                            <select id="gf_paypal_trial_period_number" name="gf_paypal_trial_period_number">
                                <?php 
        for ($i = 1; $i <= 100; $i++) {
            ?>
                                    <option value="<?php 
            echo $i;
            ?>
" <?php 
            echo rgars($config, "meta/trial_period_number") == $i ? "selected='selected'" : "";
            ?>
><?php 
            echo $i;
            ?>
</option>
                                <?php 
        }
        ?>
                            </select>&nbsp;
                            <select id="gf_paypal_trial_period_type" name="gf_paypal_trial_period_type" onchange="SetPeriodNumber('#gf_paypal_trial_period_number', jQuery(this).val());">
                                <option value="D" <?php 
        echo rgars($config, "meta/trial_period_type") == "D" ? "selected='selected'" : "";
        ?>
><?php 
        _e("day(s)", "gravityformspaypal");
        ?>
</option>
                                <option value="W" <?php 
        echo rgars($config, "meta/trial_period_type") == "W" ? "selected='selected'" : "";
        ?>
><?php 
        _e("week(s)", "gravityformspaypal");
        ?>
</option>
                                <option value="M" <?php 
        echo rgars($config, "meta/trial_period_type") == "M" || empty($config["meta"]["trial_period_type"]) ? "selected='selected'" : "";
        ?>
><?php 
        _e("month(s)", "gravityformspaypal");
        ?>
</option>
                                <option value="Y" <?php 
        echo rgars($config, "meta/trial_period_type") == "Y" ? "selected='selected'" : "";
        ?>
><?php 
        _e("year(s)", "gravityformspaypal");
        ?>
</option>
                            </select>
                        </div>

                    </div>
                </div>

                <div class="margin_vertical_10">
                    <label class="left_header"><?php 
        _e("Customer", "gravityformspaypal");
        ?>
 <?php 
        gform_tooltip("paypal_customer");
        ?>
</label>

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

                <div class="margin_vertical_10">
                    <label class="left_header" for="gf_paypal_page_style"><?php 
        _e("Page Style", "gravityformspaypal");
        ?>
 <?php 
        gform_tooltip("paypal_page_style");
        ?>
</label>
                    <input type="text" name="gf_paypal_page_style" id="gf_paypal_page_style" class="width-1" value="<?php 
        echo rgars($config, "meta/style");
        ?>
"/>
                </div>
                <div class="margin_vertical_10">
                    <label class="left_header" for="gf_paypal_continue_text"><?php 
        _e("Continue Button Label", "gravityformspaypal");
        ?>
 <?php 
        gform_tooltip("paypal_continue_button_label");
        ?>
</label>
                    <input type="text" name="gf_paypal_continue_text" id="gf_paypal_continue_text" class="width-1" value="<?php 
        echo rgars($config, "meta/continue_text");
        ?>
"/>
                </div>
                <div class="margin_vertical_10">
                    <label class="left_header" for="gf_paypal_cancel_url"><?php 
        _e("Cancel URL", "gravityformspaypal");
        ?>
 <?php 
        gform_tooltip("paypal_cancel_url");
        ?>
</label>
                    <input type="text" name="gf_paypal_cancel_url" id="gf_paypal_cancel_url" class="width-1" value="<?php 
        echo rgars($config, "meta/cancel_url");
        ?>
"/>
                </div>

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

                    <ul style="overflow:hidden;">
                        <li>
                            <input type="checkbox" name="gf_paypal_disable_shipping" id="gf_paypal_disable_shipping" value="1" <?php 
        echo rgar($config['meta'], 'disable_shipping') ? "checked='checked'" : "";
        ?>
 />
                            <label class="inline" for="gf_paypal_disable_shipping"><?php 
        _e("Do not prompt buyer to include a shipping address.", "gravityformspaypal");
        ?>
</label>
                        </li>
                        <li>
                            <input type="checkbox" name="gf_paypal_disable_note" id="gf_paypal_disable_note" value="1" <?php 
        echo rgar($config['meta'], 'disable_note') ? "checked='checked'" : "";
        ?>
 />
                            <label class="inline" for="gf_paypal_disable_note"><?php 
        _e("Do not prompt buyer to include a note with payment.", "gravityformspaypal");
        ?>
</label>
                        </li>
                        <li id="paypal_delay_notification">
                            <input type="checkbox" name="gf_paypal_delay_notification" id="gf_paypal_delay_notification" value="1" <?php 
        echo rgar($config["meta"], 'delay_notification') ? "checked='checked'" : "";
        ?>
 />
                            <label class="inline" for="gf_paypal_delay_notification"><?php 
        _e("Send admin notification only when payment is received.", "gravityformspaypal");
        ?>
 <?php 
        gform_tooltip("paypal_delay_admin_notification");
        ?>
</label>
                        </li>
                        <li id="paypal_delay_autoresponder">
                            <input type="checkbox" name="gf_paypal_delay_autoresponder" id="gf_paypal_delay_autoresponder" value="1" <?php 
        echo rgar($config["meta"], 'delay_autoresponder') ? "checked='checked'" : "";
        ?>
 />
                            <label class="inline" for="gf_paypal_delay_autoresponder"><?php 
        _e("Send user notification only when payment is received.", "gravityformspaypal");
        ?>
 <?php 
        gform_tooltip("paypal_delay_user_notification");
        ?>
</label>
                        </li>
                        <?php 
        $display_post_fields = !empty($form) ? GFCommon::has_post_field($form["fields"]) : false;
        ?>
                        <li id="paypal_post_action" <?php 
        echo $display_post_fields ? "" : "style='display:none;'";
        ?>
>
                            <input type="checkbox" name="gf_paypal_delay_post" id="gf_paypal_delay_post" value="1" <?php 
        echo rgar($config["meta"], "delay_post") ? "checked='checked'" : "";
        ?>
 />
                            <label class="inline" for="gf_paypal_delay_post"><?php 
        _e("Create post only when payment is received.", "gravityformspaypal");
        ?>
 <?php 
        gform_tooltip("paypal_delay_post");
        ?>
</label>
                        </li>

                        <li id="paypal_post_update_action" <?php 
        echo $display_post_fields && $config["meta"]["type"] == "subscription" ? "" : "style='display:none;'";
        ?>
>
                            <input type="checkbox" name="gf_paypal_update_post" id="gf_paypal_update_post" value="1" <?php 
        echo $config["meta"]["update_post_action"] ? "checked='checked'" : "";
        ?>
 onclick="var action = this.checked ? 'draft' : ''; jQuery('#gf_paypal_update_action').val(action);" />
                            <label class="inline" for="gf_paypal_update_post"><?php 
        _e("Update Post when subscription is cancelled.", "gravityformspaypal");
        ?>
 <?php 
        gform_tooltip("paypal_update_post");
        ?>
</label>
                            <select id="gf_paypal_update_action" name="gf_paypal_update_action" onchange="var checked = jQuery(this).val() ? 'checked' : false; jQuery('#gf_paypal_update_post').attr('checked', checked);">
                                <option value=""></option>
                                <option value="draft" <?php 
        echo $config["meta"]["update_post_action"] == "draft" ? "selected='selected'" : "";
        ?>
><?php 
        _e("Mark Post as Draft", "gravityformspaypal");
        ?>
</option>
                                <option value="delete" <?php 
        echo $config["meta"]["update_post_action"] == "delete" ? "selected='selected'" : "";
        ?>
><?php 
        _e("Delete Post", "gravityformspaypal");
        ?>
</option>
                            </select>
                        </li>

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

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

                <div id="gf_paypal_conditional_section" valign="top" class="margin_vertical_10">
                    <label for="gf_paypal_conditional_optin" class="left_header"><?php 
        _e("PayPal Condition", "gravityformspaypal");
        ?>
 <?php 
        gform_tooltip("paypal_conditional");
        ?>
</label>

                    <div id="gf_paypal_conditional_option">
                        <table cellspacing="0" cellpadding="0">
                            <tr>
                                <td>
                                    <input type="checkbox" id="gf_paypal_conditional_enabled" name="gf_paypal_conditional_enabled" value="1" onclick="if(this.checked){jQuery('#gf_paypal_conditional_container').fadeIn('fast');} else{ jQuery('#gf_paypal_conditional_container').fadeOut('fast'); }" <?php 
        echo rgar($config['meta'], 'paypal_conditional_enabled') ? "checked='checked'" : "";
        ?>
/>
                                    <label for="gf_paypal_conditional_enable"><?php 
        _e("Enable", "gravityformspaypal");
        ?>
</label>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <div id="gf_paypal_conditional_container" <?php 
        echo !rgar($config['meta'], 'paypal_conditional_enabled') ? "style='display:none'" : "";
        ?>
>

                                        <div id="gf_paypal_conditional_fields" <?php 
        echo empty($selection_fields) ? "style='display:none'" : "";
        ?>
>
                                            <?php 
        _e("Send to PayPal if ", "gravityformspaypal");
        ?>

                                            <select id="gf_paypal_conditional_field_id" name="gf_paypal_conditional_field_id" class="optin_select" onchange='jQuery("#gf_paypal_conditional_value").html(GetFieldValues(jQuery(this).val(), "", 20));'>
                                                <?php 
        echo empty($selection_fields) ? "" : $selection_fields;
        ?>
                                            </select>
                                            <select id="gf_paypal_conditional_operator" name="gf_paypal_conditional_operator">
                                                <option value="is" <?php 
        echo rgar($config['meta'], 'paypal_conditional_operator') == "is" ? "selected='selected'" : "";
        ?>
><?php 
        _e("is", "gravityformspaypal");
        ?>
</option>
                                                <option value="isnot" <?php 
        echo rgar($config['meta'], 'paypal_conditional_operator') == "isnot" ? "selected='selected'" : "";
        ?>
><?php 
        _e("is not", "gravityformspaypal");
        ?>
</option>
                                            </select>
                                            <select id="gf_paypal_conditional_value" name="gf_paypal_conditional_value" class='optin_select'></select>

                                        </div>

                                        <div id="gf_paypal_conditional_message" <?php 
        echo !empty($selection_fields) ? "style='display:none'" : "";
        ?>
>
                                            <?php 
        _e("To create a registration condition, your form must have a drop down, checkbox or multiple choice field", "gravityform");
        ?>
                                        </div>

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

                </div> <!-- / paypal conditional -->

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

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

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

                jQuery("#paypal_field_group input[type=\"text\"], #paypal_field_group select").val("");
                jQuery("#gf_paypal_trial_period_type, #gf_paypal_billing_cycle_type").val("M");

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

                if(type){
                    jQuery("#paypal_form_container").slideDown();
                    jQuery("#gf_paypal_form").val("");
                }
                else{
                    jQuery("#paypal_form_container").slideUp();
                }
            }

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

                jQuery("#paypal_wait").show();
                jQuery("#paypal_field_group").slideUp();

                var mysack = new sack("<?php 
        bloginfo('wpurl');
        ?>
/wp-admin/admin-ajax.php" );
                mysack.execute = 1;
                mysack.method = 'POST';
                mysack.setVar( "action", "gf_select_paypal_form" );
                mysack.setVar( "gf_select_paypal_form", "<?php 
        echo wp_create_nonce("gf_select_paypal_form");
        ?>
" );
                mysack.setVar( "type", type);
                mysack.setVar( "form_id", formId);
                mysack.setVar( "setting_id", settingId);
                mysack.encVar( "cookie", document.cookie, false );
                mysack.onError = function() {jQuery("#paypal_wait").hide(); alert('<?php 
        _e("Ajax error while selecting a form", "gravityformspaypal");
        ?>
' )};
                mysack.runAJAX();

                return true;
            }

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

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

                jQuery(".gf_paypal_invalid_form").hide();
                if( (type == "product" || type =="subscription") && GetFieldsByType(["product"]).length == 0){
                    jQuery("#gf_paypal_invalid_product_form").show();
                    jQuery("#paypal_wait").hide();
                    return;
                }
                else if(type == "donation" && GetFieldsByType(["product", "donation"]).length == 0){
                    jQuery("#gf_paypal_invalid_donation_form").show();
                    jQuery("#paypal_wait").hide();
                    return;
                }

                jQuery(".paypal_field_container").hide();
                jQuery("#paypal_customer_fields").html(customer_fields);
                jQuery("#gf_paypal_recurring_amount").html(recurring_amount_options);

                //displaying delayed post creation setting if current form has a post field
                var post_fields = GetFieldsByType(["post_title", "post_content", "post_excerpt", "post_category", "post_custom_field", "post_image", "post_tag"]);
                if(post_fields.length > 0){
                    jQuery("#paypal_post_action").show();
                }
                else{
                    jQuery("#gf_paypal_delay_post").attr("checked", false);
                    jQuery("#paypal_post_action").hide();
                }

                if(type == "subscription" && post_fields.length > 0){
                    jQuery("#paypal_post_update_action").show();
                }
                else{
                    jQuery("#gf_paypal_update_post").attr("checked", false);
                    jQuery("#paypal_post_update_action").hide();
                }

                SetPeriodNumber('#gf_paypal_billing_cycle_number', jQuery("#gf_paypal_billing_cycle_type").val());
                SetPeriodNumber('#gf_paypal_trial_period_number', jQuery("#gf_paypal_trial_period_type").val());

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

                jQuery("#gf_paypal_conditional_enabled").attr('checked', false);
                SetPayPalCondition("","");

                jQuery("#paypal_field_container_" + type).show();
                jQuery("#paypal_field_group").slideDown();
                jQuery("#paypal_wait").hide();
            }

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

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

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

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

                return -1;
            }

        </script>

        <script type="text/javascript">

            // Paypal Conditional Functions

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

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

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

                <?php 
        }
        ?>

            function SetPayPalCondition(selectedField, selectedValue){

                // load form fields
                jQuery("#gf_paypal_conditional_field_id").html(GetSelectableFields(selectedField, 20));
                var optinConditionField = jQuery("#gf_paypal_conditional_field_id").val();
                var checked = jQuery("#gf_paypal_conditional_enabled").attr('checked');

                if(optinConditionField){
                    jQuery("#gf_paypal_conditional_message").hide();
                    jQuery("#gf_paypal_conditional_fields").show();
                    jQuery("#gf_paypal_conditional_value").html(GetFieldValues(optinConditionField, selectedValue, 20));
                }
                else{
                    jQuery("#gf_paypal_conditional_message").show();
                    jQuery("#gf_paypal_conditional_fields").hide();
                }

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

            }

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

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

                var isAnySelected = false;

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

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

                if(!isAnySelected && selectedValue){
                    str += "<option value='" + selectedValue.replace(/'/g, "&#039;") + "' selected='selected'>" + TruncateMiddle(selectedValue, labelMaxCharacters) + "</option>";
                }

                return str;
            }

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

            function TruncateMiddle(text, maxCharacters){
                if(!text)
                    return "";

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

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

        </script>

        <?php 
    }
示例#20
0
    public static function get_confirmation_ui_settings($confirmation)
    {
        /**
         * These variables are used to convenient "wrap" child form settings in the appropriate HTML.
         */
        $subsetting_open = '
            <td colspan="2" class="gf_sub_settings_cell">
                <div class="gf_animate_sub_settings">
                    <table style="width:100%">
                        <tr>';
        $subsetting_close = '
                        </tr>
                    </table>
                </div>
            </td>';
        $ui_settings = array();
        $confirmation_type = rgar($confirmation, 'type') ? rgar($confirmation, 'type') : 'message';
        $is_valid = !empty(GFCommon::$errors);
        $is_default = rgar($confirmation, 'isDefault');
        $form_id = rgget('id');
        $form = RGFormsModel::get_form_meta($form_id);
        ob_start();
        ?>


		<?php 
        $class = !$is_default && !$is_valid && $confirmation_type == 'page' && !rgar($confirmation, 'name') ? 'gfield_error' : '';
        ?>
		<tr <?php 
        echo $is_default ? 'style="display:none;"' : '';
        ?>
 class="<?php 
        echo $class;
        ?>
">
			<th><?php 
        _e('Confirmation Name', 'gravityforms');
        ?>
</th>
			<td>
				<input type="text" id="form_confirmation_name" name="form_confirmation_name" value="<?php 
        echo rgar($confirmation, 'name');
        ?>
" />
			</td>
		</tr> <!-- / confirmation name -->
		<?php 
        $ui_settings['confirmation_name'] = ob_get_contents();
        ob_clean();
        ?>


		<tr>
			<th><?php 
        _e('Confirmation Type', 'gravityforms');
        ?>
</th>
			<td>
				<input type="radio" id="form_confirmation_show_message" name="form_confirmation" <?php 
        checked('message', $confirmation_type);
        ?>
 value="message" onclick="ToggleConfirmation();" />
				<label for="form_confirmation_show_message" class="inline">
					<?php 
        _e('Text', 'gravityforms');
        ?>
					<?php 
        gform_tooltip('form_confirmation_message');
        ?>
				</label>
				&nbsp;&nbsp;
				<input type="radio" id="form_confirmation_show_page" name="form_confirmation" <?php 
        checked('page', $confirmation_type);
        ?>
 value="page" onclick="ToggleConfirmation();" />
				<label for="form_confirmation_show_page" class="inline">
					<?php 
        _e('Page', 'gravityforms');
        ?>
					<?php 
        gform_tooltip('form_redirect_to_webpage');
        ?>
				</label>
				&nbsp;&nbsp;
				<input type="radio" id="form_confirmation_redirect" name="form_confirmation" <?php 
        checked('redirect', $confirmation_type);
        ?>
 value="redirect" onclick="ToggleConfirmation();" />
				<label for="form_confirmation_redirect" class="inline">
					<?php 
        _e('Redirect', 'gravityforms');
        ?>
					<?php 
        gform_tooltip('form_redirect_to_url');
        ?>
				</label>
			</td>
		</tr> <!-- / confirmation type -->
		<?php 
        $ui_settings['confirmation_type'] = ob_get_contents();
        ob_clean();
        ?>


		<tr id="form_confirmation_message_container" <?php 
        echo $confirmation_type != 'message' ? 'style="display:none;"' : '';
        ?>
 >
			<?php 
        echo $subsetting_open;
        ?>
			<th><?php 
        _e('Message', 'gravityforms');
        ?>
</th>
			<td>
				<span class="mt-form_confirmation_message"></span>
				<?php 
        if (GFCommon::is_wp_version('3.3')) {
            wp_editor(rgar($confirmation, 'message'), 'form_confirmation_message', array('autop' => false, 'editor_class' => 'merge-tag-support mt-wp_editor mt-manual_position mt-position-right'));
        } else {
            ?>
					<textarea name="form_confirmation_message" id="form_confirmation_message" class="fieldwidth-1 fieldheight-1"><?php 
            echo esc_html($confirmation['message']);
            ?>
</textarea><?php 
        }
        ?>
				<div style="margin-top:5px;">
					<input type="checkbox" id="form_disable_autoformatting" name="form_disable_autoformatting" value="1" <?php 
        echo empty($confirmation['disableAutoformat']) ? '' : "checked='checked'";
        ?>
 />
					<label for="form_disable_autoformatting"><?php 
        _e('Disable Auto-formatting', 'gravityforms');
        ?>
 <?php 
        gform_tooltip('form_confirmation_autoformat');
        ?>
</label>
				</div>
			</td>
			<?php 
        echo $subsetting_close;
        ?>
		</tr> <!-- / confirmation message -->
		<?php 
        $ui_settings['confirmation_message'] = ob_get_contents();
        ob_clean();
        ?>


		<?php 
        $class = !$is_valid && $confirmation_type == 'page' && !rgar($confirmation, 'pageId') ? 'gfield_error' : '';
        ?>
		<tr class="form_confirmation_page_container" <?php 
        echo $confirmation_type != 'page' ? 'style="display:none;"' : '';
        ?>
 class="<?php 
        echo $class;
        ?>
">
			<?php 
        echo $subsetting_open;
        ?>
			<th><?php 
        _e('Page', 'gravityforms');
        ?>
</th>
			<td>
				<?php 
        wp_dropdown_pages(array('name' => 'form_confirmation_page', 'selected' => rgar($confirmation, 'pageId'), 'show_option_none' => __('Select a page', 'gravityforms')));
        ?>
			</td>
			<?php 
        echo $subsetting_close;
        ?>
		</tr> <!-- / confirmation page -->
		<?php 
        $ui_settings['confirmation_page'] = ob_get_contents();
        ob_clean();
        ?>

		<tr class="form_confirmation_page_container" <?php 
        echo $confirmation_type != 'page' ? 'style="display:none;"' : '';
        ?>
 class="<?php 
        echo $class;
        ?>
">
			<?php 
        echo $subsetting_open;
        ?>
			<th><?php 
        _e('Redirect Query String', 'gravityforms');
        ?>
 <?php 
        gform_tooltip('form_redirect_querystring');
        ?>
</th>
			<td>
				<input type="checkbox" id="form_page_use_querystring" name="form_page_use_querystring" <?php 
        echo empty($confirmation['queryString']) ? '' : "checked='checked'";
        ?>
 onclick="TogglePageQueryString()" />
				<label for="form_page_use_querystring"><?php 
        _e('Pass Field Data Via Query String', 'gravityforms');
        ?>
</label>

				<div id="form_page_querystring_container" <?php 
        echo empty($confirmation['queryString']) ? 'style="display:none;"' : '';
        ?>
 >
					<?php 
        $query_string = rgget('queryString', $confirmation);
        ?>
					<textarea name="form_page_querystring" id="form_page_querystring" class="merge-tag-support mt-position-right mt-hide_all_fields mt-option-url" style="width:98%; height:100px;"><?php 
        echo esc_html($query_string);
        ?>
</textarea><br />

					<div class="instruction"><?php 
        _e('Sample: phone={Phone:1}&email={Email:2}', 'gravityforms');
        ?>
</div>
				</div>
			</td>
			<?php 
        echo $subsetting_close;
        ?>
		</tr> <!-- / confirmation page use querystring -->
		<?php 
        $ui_settings['confirmation_page_querystring'] = ob_get_contents();
        ob_clean();
        ?>

		<?php 
        $class = !$is_valid && $confirmation_type == 'redirect' && !rgar($confirmation, 'url') ? 'gfield_error' : '';
        ?>
		<tr class="form_confirmation_redirect_container <?php 
        echo $class;
        ?>
" <?php 
        echo $confirmation_type != 'redirect' ? 'style="display:none;"' : '';
        ?>
 >
			<?php 
        echo $subsetting_open;
        ?>
			<th><?php 
        _e('Redirect URL', 'gravityforms');
        ?>
</th>
			<td>
				<input type="text" id="form_confirmation_url" name="form_confirmation_url" value="<?php 
        echo esc_attr(rgget('url', $confirmation));
        ?>
" style="width:98%;" />
			</td>
			<?php 
        echo $subsetting_close;
        ?>
		</tr> <!-- / confirmation url -->
		<?php 
        $ui_settings['confirmation_url'] = ob_get_contents();
        ob_clean();
        ?>


		<tr class="form_confirmation_redirect_container" <?php 
        echo $confirmation_type != 'redirect' ? 'style="display:none;"' : '';
        ?>
 >
			<?php 
        echo $subsetting_open;
        ?>
			<th><?php 
        _e('Redirect Query String', 'gravityforms');
        ?>
 <?php 
        gform_tooltip('form_redirect_querystring');
        ?>
</th>
			<td>
				<input type="checkbox" id="form_redirect_use_querystring" name="form_redirect_use_querystring" <?php 
        echo empty($confirmation['queryString']) ? '' : "checked='checked'";
        ?>
 onclick="ToggleQueryString()" />
				<label for="form_redirect_use_querystring"><?php 
        _e('Pass Field Data Via Query String', 'gravityforms');
        ?>
</label>

				<div id="form_redirect_querystring_container" <?php 
        echo empty($confirmation['queryString']) ? 'style="display:none;"' : '';
        ?>
 >

					<?php 
        $query_string = rgget('queryString', $confirmation);
        ?>

					<textarea name="form_redirect_querystring" id="form_redirect_querystring" class="merge-tag-support mt-position-right mt-hide_all_fields mt-option-url" style="width:98%; height:100px;"><?php 
        echo esc_html($query_string);
        ?>
</textarea><br />

					<div class="instruction"><?php 
        _e('Sample: phone={Phone:1}&email={Email:2}', 'gravityforms');
        ?>
</div>
				</div>
			</td>
			<?php 
        echo $subsetting_close;
        ?>
		</tr> <!-- / confirmation use querystring -->
		<?php 
        $ui_settings['confirmation_querystring'] = ob_get_contents();
        ob_clean();
        ?>


		<tr <?php 
        echo rgget('isDefault', $confirmation) ? 'style="display:none;"' : '';
        ?>
 >
			<th><?php 
        _e('Conditional Logic', 'gravityforms');
        ?>
</th>
			<td>
				<input type="checkbox" id="confirmation_conditional_logic" name="confirmation_conditional_logic" style="display:none;" checked="checked" />

				<div id="confirmation_conditional_logic_container">
					<!-- content populated dynamically by form_admin.js -->
				</div>
			</td>
		</tr> <!-- conditional logic -->
		<?php 
        $ui_settings['confirmation_conditional_logic'] = ob_get_contents();
        ob_clean();
        ?>


		<?php 
        ob_end_clean();
        $ui_settings = gf_apply_filters('gform_confirmation_ui_settings', $form_id, $ui_settings, $confirmation, $form);
        return $ui_settings;
    }
    private static function get_notification_ui_settings($notification)
    {
        /**
         * These variables are used to convenient "wrap" child form settings in the appropriate HTML.
         */
        $subsetting_open = '
            <td colspan="2" class="gf_sub_settings_cell">
                <div class="gf_animate_sub_settings">
                    <table>
                        <tr>';
        $subsetting_close = '
                        </tr>
                    </table>
                </div>
            </td>';
        $ui_settings = array();
        $form_id = rgget('id');
        $form = RGFormsModel::get_form_meta($form_id);
        $form = apply_filters('gform_admin_pre_render_' . $form_id, apply_filters('gform_admin_pre_render', $form));
        $is_valid = empty(GFCommon::$errors);
        ob_start();
        ?>

		<tr valign="top" <?php 
        echo rgar($notification, 'isDefault') ? "style='display:none'" : '';
        ?>
 >
			<th scope="row">
				<label for="gform_notification_name">
					<?php 
        esc_html_e('Name', 'gravityforms');
        ?>
					<?php 
        gform_tooltip('notification_name');
        ?>
				</label>
			</th>
			<td>
				<input type="text" class="fieldwidth-2" name="gform_notification_name" id="gform_notification_name" value="<?php 
        echo esc_attr(rgget('name', $notification));
        ?>
" />
			</td>
		</tr> <!-- / name -->
		<?php 
        $ui_settings['notification_name'] = ob_get_contents();
        ob_clean();
        ?>

		<?php 
        $notification_events = array('form_submission' => esc_html__('Form is submitted', 'gravityforms'));
        if (rgars($form, 'save/enabled')) {
            $notification_events['form_saved'] = esc_html__('Form is saved', 'gravityforms');
            $notification_events['form_save_email_requested'] = esc_html__('Save and continue email is requested', 'gravityforms');
        }
        $notification_events = apply_filters('gform_notification_events', $notification_events, $form);
        $event_style = count($notification_events) == 1 || rgar($notification, 'isDefault') ? "style='display:none'" : '';
        ?>
		<tr valign="top" <?php 
        echo $event_style;
        ?>
>
			<th scope="row">
				<label for="gform_notification_event">
					<?php 
        esc_html_e('Event', 'gravityforms');
        ?>
					<?php 
        gform_tooltip('notification_event');
        ?>
				</label>

			</th>
			<td>
				<select name="gform_notification_event" id="gform_notification_event">
					<?php 
        foreach ($notification_events as $code => $label) {
            ?>
						<option value="<?php 
            echo esc_attr($code);
            ?>
" <?php 
            selected(rgar($notification, 'event'), $code);
            ?>
><?php 
            echo esc_html($label);
            ?>
</option>
					<?php 
        }
        ?>
				</select>
			</td>
		</tr> <!-- / event -->
		<?php 
        $ui_settings['notification_event'] = ob_get_contents();
        ob_clean();
        ?>

		<?php 
        $notification_to_type = !rgempty('gform_notification_to_type') ? rgpost('gform_notification_to_type') : rgar($notification, 'toType');
        if (empty($notification_to_type)) {
            $notification_to_type = 'email';
        }
        $is_invalid_email_to = !$is_valid && !self::is_valid_notification_to();
        $send_to_class = $is_invalid_email_to ? 'gfield_error' : '';
        ?>
		<tr valign="top" class='<?php 
        echo esc_attr($send_to_class);
        ?>
' <?php 
        echo $notification_to_type == 'hidden' ? 'style="display:none;"' : '';
        ?>
>
			<th scope="row">
				<label for="gform_notification_to_email">
					<?php 
        esc_html_e('Send To', 'gravityforms');
        ?>
<span class="gfield_required">*</span>
					<?php 
        gform_tooltip('notification_send_to_email');
        ?>
				</label>

			</th>
			<td>
				<input type="radio" id="gform_notification_to_type_email" name="gform_notification_to_type" <?php 
        checked('email', $notification_to_type);
        ?>
 value="email" onclick="jQuery('.notification_to_container').hide(); jQuery('#gform_notification_to_email_container').show('slow');" />
				<label for="gform_notification_to_type_email" class="inline">
					<?php 
        esc_html_e('Enter Email', 'gravityforms');
        ?>
				</label>
				&nbsp;&nbsp;
				<input type="radio" id="gform_notification_to_type_field" name="gform_notification_to_type" <?php 
        checked('field', $notification_to_type);
        ?>
 value="field" onclick="jQuery('.notification_to_container').hide(); jQuery('#gform_notification_to_field_container').show('slow');" />
				<label for="gform_notification_to_type_field" class="inline">
					<?php 
        esc_html_e('Select a Field', 'gravityforms');
        ?>
				</label>
				&nbsp;&nbsp;
				<input type="radio" id="gform_notification_to_type_routing" name="gform_notification_to_type" <?php 
        checked('routing', $notification_to_type);
        ?>
 value="routing" onclick="jQuery('.notification_to_container').hide(); jQuery('#gform_notification_to_routing_container').show('slow');" />
				<label for="gform_notification_to_type_routing" class="inline">
					<?php 
        esc_html_e('Configure Routing', 'gravityforms');
        ?>
					<?php 
        gform_tooltip('notification_send_to_routing');
        ?>
				</label>
			</td>
		</tr> <!-- / to email type -->
		<?php 
        $ui_settings['notification_to_email_type'] = ob_get_contents();
        ob_clean();
        if ($notification_to_type == 'hidden') {
            $ui_settings['notification_to_email_type'] = '<input type="hidden" name="gform_notification_to_type" value="hidden" />';
        }
        ?>

		<tr id="gform_notification_to_email_container" class="notification_to_container <?php 
        echo esc_attr($send_to_class);
        ?>
" <?php 
        echo $notification_to_type != 'email' ? "style='display:none';" : '';
        ?>
>
			<?php 
        echo $subsetting_open;
        ?>
			<th scope="row"><?php 
        esc_html_e('Send to Email', 'gravityforms');
        ?>
</th>
			<td>
				<?php 
        $to_email = rgget('toType', $notification) == 'email' ? rgget('to', $notification) : '';
        ?>
				<input type="text" name="gform_notification_to_email" id="gform_notification_to_email" value="<?php 
        echo esc_attr($to_email);
        ?>
" class="fieldwidth-1" />

				<?php 
        if (rgpost('gform_notification_to_type') == 'email' && $is_invalid_email_to) {
            ?>
					<span class="validation_message"><?php 
            esc_html_e('Please enter a valid email address', 'gravityforms');
            ?>
.</span>
				<?php 
        }
        ?>
			</td>
			<?php 
        echo $subsetting_close;
        ?>
		</tr> <!-- / to email -->
		<?php 
        $ui_settings['notification_to_email'] = ob_get_contents();
        ob_clean();
        ?>

		<?php 
        $email_fields = apply_filters("gform_email_fields_notification_admin_{$form['id']}", apply_filters('gform_email_fields_notification_admin', GFCommon::get_email_fields($form), $form), $form);
        ?>
		<tr id="gform_notification_to_field_container" class="notification_to_container <?php 
        echo esc_attr($send_to_class);
        ?>
" <?php 
        echo $notification_to_type != 'field' ? "style='display:none';" : '';
        ?>
>
			<?php 
        echo $subsetting_open;
        ?>
			<th scope="row"><?php 
        esc_html_e('Send to Field', 'gravityforms');
        ?>
</th>
			<td>
				<?php 
        if (!empty($email_fields)) {
            ?>
					<select name="gform_notification_to_field" id="gform_notification_to_field">
						<option value=""><?php 
            esc_html_e('Select an email field', 'gravityforms');
            ?>
</option>
						<?php 
            $to_field = rgget('toType', $notification) == 'field' ? rgget('to', $notification) : '';
            foreach ($email_fields as $field) {
                ?>
							<option value="<?php 
                echo esc_attr($field->id);
                ?>
" <?php 
                echo selected($field->id, $to_field);
                ?>
><?php 
                echo GFCommon::get_label($field);
                ?>
</option>
						<?php 
            }
            ?>
					</select>
				<?php 
        } else {
            ?>
					<div class="error_base">
						<p><?php 
            esc_html_e('Your form does not have an email field. Add an email field to your form and try again.', 'gravityforms');
            ?>
</p>
					</div>
				<?php 
        }
        ?>
			</td>
			<?php 
        echo $subsetting_close;
        ?>
		</tr> <!-- / to email field -->
		<?php 
        $ui_settings['notification_to_email_field'] = ob_get_contents();
        ob_clean();
        ?>

		<tr id="gform_notification_to_routing_container" class="notification_to_container <?php 
        echo esc_attr($send_to_class);
        ?>
" <?php 
        echo $notification_to_type != 'routing' ? "style='display:none';" : '';
        ?>
>
			<?php 
        echo $subsetting_open;
        ?>
			<td colspan="2">
				<div id="gform_notification_to_routing_rules">
					<?php 
        $routing_fields = self::get_routing_fields($form, '0');
        if (empty($routing_fields)) {
            ?>
						<div class="gold_notice">
							<p><?php 
            esc_html_e('To use notification routing, your form must have a field supported by conditional logic.', 'gravityforms');
            ?>
</p>
						</div>
					<?php 
        } else {
            if (empty($notification['routing'])) {
                $notification['routing'] = array(array());
            }
            $count = sizeof($notification['routing']);
            $routing_list = ',';
            for ($i = 0; $i < $count; $i++) {
                $routing_list .= $i . ',';
                $routing = $notification['routing'][$i];
                $is_invalid_rule = !$is_valid && $_POST['gform_notification_to_type'] == 'routing' && !self::is_valid_notification_email(rgar($routing, 'email'));
                $class = $is_invalid_rule ? "class='grouting_rule_error'" : '';
                ?>
							<div style='width:99%' <?php 
                echo $class;
                ?>
>
								<?php 
                esc_html_e('Send to', 'gravityforms');
                ?>
								<input type="text" id="routing_email_<?php 
                echo $i;
                ?>
" value="<?php 
                echo esc_attr(rgar($routing, 'email'));
                ?>
" onkeyup="SetRouting(<?php 
                echo $i;
                ?>
);" />
								<?php 
                esc_html_e('if', 'gravityforms');
                ?>
								<select id="routing_field_id_<?php 
                echo $i;
                ?>
" class='gfield_routing_select' onchange='jQuery("#routing_value_<?php 
                echo $i;
                ?>
").replaceWith(GetRoutingValues(<?php 
                echo $i;
                ?>
, jQuery(this).val())); SetRouting(<?php 
                echo $i;
                ?>
); '><?php 
                echo self::get_routing_fields($form, rgar($routing, 'fieldId'));
                ?>
</select>
								<select id="routing_operator_<?php 
                echo $i;
                ?>
" onchange="SetRouting(<?php 
                echo $i;
                ?>
)" class="gform_routing_operator">
									<option value="is" <?php 
                echo rgar($routing, 'operator') == 'is' ? "selected='selected'" : '';
                ?>
><?php 
                esc_html_e('is', 'gravityforms');
                ?>
</option>
									<option value="isnot" <?php 
                echo rgar($routing, 'operator') == 'isnot' ? "selected='selected'" : '';
                ?>
><?php 
                esc_html_e('is not', 'gravityforms');
                ?>
</option>
									<option value=">" <?php 
                echo rgar($routing, 'operator') == '>' ? "selected='selected'" : '';
                ?>
><?php 
                esc_html_e('greater than', 'gravityforms');
                ?>
</option>
									<option value="<" <?php 
                echo rgar($routing, 'operator') == '<' ? "selected='selected'" : '';
                ?>
><?php 
                esc_html_e('less than', 'gravityforms');
                ?>
</option>
									<option value="contains" <?php 
                echo rgar($routing, 'operator') == 'contains' ? "selected='selected'" : '';
                ?>
><?php 
                esc_html_e('contains', 'gravityforms');
                ?>
</option>
									<option value="starts_with" <?php 
                echo rgar($routing, 'operator') == 'starts_with' ? "selected='selected'" : '';
                ?>
><?php 
                esc_html_e('starts with', 'gravityforms');
                ?>
</option>
									<option value="ends_with" <?php 
                echo rgar($routing, 'operator') == 'ends_with' ? "selected='selected'" : '';
                ?>
><?php 
                esc_html_e('ends with', 'gravityforms');
                ?>
</option>
								</select>
								<?php 
                echo self::get_field_values($i, $form, rgar($routing, 'fieldId'), rgar($routing, 'value'));
                ?>

								<a class='gf_insert_field_choice' title='add another rule' onclick='SetRouting(<?php 
                echo $i;
                ?>
); InsertRouting(<?php 
                echo $i + 1;
                ?>
);'><i class='gficon-add'></i></a>

								<?php 
                if ($count > 1) {
                    ?>
									<img src='<?php 
                    echo GFCommon::get_base_url();
                    ?>
/images/remove.png' id='routing_delete_<?php 
                    echo $i;
                    ?>
' title='remove this email routing' alt='remove this email routing' class='delete_field_choice' style='cursor:pointer;' onclick='DeleteRouting(<?php 
                    echo $i;
                    ?>
);' />
								<?php 
                }
                ?>
							</div>
						<?php 
            }
            if ($is_invalid_rule) {
                ?>
							<span class="validation_message"><?php 
                esc_html_e('Please enter a valid email address for all highlighted routing rules above.', 'gravityforms');
                ?>
</span>
						<?php 
            }
            ?>
						<input type="hidden" name="routing_count" id="routing_count" value="<?php 
            echo $routing_list;
            ?>
" />
					<?php 
        }
        ?>
				</div>
			</td>
			<?php 
        echo $subsetting_close;
        ?>
		</tr> <!-- / to routing -->
		<?php 
        $ui_settings['notification_to_routing'] = ob_get_contents();
        ob_clean();
        ?>

		<tr valign="top">
			<th scope="row">
				<label for="gform_notification_from_name">
					<?php 
        esc_html_e('From Name', 'gravityforms');
        ?>
					<?php 
        gform_tooltip('notification_from_name');
        ?>
				</label>
			</th>
			<td>
				<input type="text" class="fieldwidth-2 merge-tag-support mt-position-right mt-hide_all_fields" name="gform_notification_from_name" id="gform_notification_from_name" value="<?php 
        echo esc_attr(rgget('fromName', $notification));
        ?>
" />
			</td>
		</tr> <!-- / from name -->
		<?php 
        $ui_settings['notification_from_name'] = ob_get_contents();
        ob_clean();
        ?>

		<tr valign="top">
			<th scope="row">
				<label for="gform_notification_from">
					<?php 
        esc_html_e('From Email', 'gravityforms');
        ?>
					<?php 
        gform_tooltip('notification_from_email');
        ?>
				</label>
			</th>
			<td>
				<input type="text" class="fieldwidth-2 merge-tag-support mt-position-right mt-hide_all_fields" name="gform_notification_from" id="gform_notification_from" value="<?php 
        echo rgempty('from', $notification) ? '{admin_email}' : esc_attr(rgget('from', $notification));
        ?>
" />
			</td>
		</tr> <!-- / to from email -->
		<?php 
        $ui_settings['notification_from'] = ob_get_contents();
        ob_clean();
        ?>

		<tr valign="top">
			<th scope="row">
				<label for="gform_notification_reply_to">
					<?php 
        $is_invalid_reply_to = !$is_valid && !self::is_valid_notification_email(rgar($notification, 'replyTo'));
        $class = $is_invalid_reply_to ? ' gfield_error' : '';
        ?>
					<?php 
        esc_html_e('Reply To', 'gravityforms');
        ?>
					<?php 
        gform_tooltip('notification_reply_to');
        ?>
				</label>
			</th>
			<td>
				<input type="text" name="gform_notification_reply_to" id="gform_notification_reply_to" class="merge-tag-support mt-hide_all_fields fieldwidth-2<?php 
        echo $class;
        ?>
" value="<?php 
        echo esc_attr(rgget('replyTo', $notification));
        ?>
" />
			</td>
		</tr> <!-- / reply to -->
		<?php 
        $ui_settings['notification_reply_to'] = ob_get_contents();
        ob_clean();
        ?>

		<tr valign="top">
			<th scope="row">
				<label for="gform_notification_bcc">
					<?php 
        esc_html_e('BCC', 'gravityforms');
        ?>
					<?php 
        gform_tooltip('notification_bcc');
        ?>
				</label>
			</th>
			<td>
				<?php 
        $is_invalid_bcc = !$is_valid && !self::is_valid_notification_email(rgar($notification, 'bcc'));
        $class = $is_invalid_bcc ? ' gfield_error' : '';
        ?>
				<input type="text" name="gform_notification_bcc" id="gform_notification_bcc" value="<?php 
        echo esc_attr(rgget('bcc', $notification));
        ?>
" class="merge-tag-support mt-hide_all_fields fieldwidth-2<?php 
        echo $class;
        ?>
" />
			</td>
		</tr> <!-- / bcc -->
		<?php 
        $ui_settings['notification_bcc'] = ob_get_contents();
        ob_clean();
        ?>

		<?php 
        $is_invalid_subject = !$is_valid && empty($_POST['gform_notification_subject']);
        $subject_class = $is_invalid_subject ? "class='gfield_error'" : '';
        ?>
		<tr valign="top" <?php 
        echo $subject_class;
        ?>
>
			<th scope="row">
				<label for="gform_notification_subject">
					<?php 
        esc_html_e('Subject', 'gravityforms');
        ?>
<span class="gfield_required">*</span>
				</label>
			</th>
			<td>
				<input type="text" name="gform_notification_subject" id="gform_notification_subject" class="fieldwidth-1 merge-tag-support mt-hide_all_fields mt-position-right" value="<?php 
        echo esc_attr(rgar($notification, 'subject'));
        ?>
" />
				<?php 
        if ($is_invalid_subject) {
            ?>
					<span class="validation_message"><?php 
            esc_html_e('Please enter a subject for the notification email', 'gravityforms');
            ?>
</span><?php 
        }
        ?>
			</td>
		</tr> <!-- / subject -->
		<?php 
        $ui_settings['notification_subject'] = ob_get_contents();
        ob_clean();
        ?>

		<?php 
        $is_invalid_message = !$is_valid && empty($_POST['gform_notification_message']);
        $message_class = $is_invalid_message ? "class='gfield_error'" : '';
        ?>
		<tr valign="top" <?php 
        echo $message_class;
        ?>
>
			<th scope="row">
				<label for="gform_notification_message">
					<?php 
        esc_html_e('Message', 'gravityforms');
        ?>
<span class="gfield_required">*</span>
				</label>
			</th>
			<td>

				<span class="mt-gform_notification_message"></span>

				<?php 
        if (GFCommon::is_wp_version('3.3')) {
            wp_editor(rgar($notification, 'message'), 'gform_notification_message', array('autop' => false, 'editor_class' => 'merge-tag-support mt-wp_editor mt-manual_position mt-position-right'));
        } else {
            ?>
					<textarea name="gform_notification_message" id="gform_notification_message" class="fieldwidth-1 fieldheight-1"><?php 
            echo esc_html($notification['message']);
            ?>
</textarea><?php 
        }
        if ($is_invalid_message) {
            ?>
					<span class="validation_message"><?php 
            esc_html_e('Please enter a message for the notification email', 'gravityforms');
            ?>
</span><?php 
        }
        ?>
			</td>
		</tr> <!-- / message -->
		<?php 
        $ui_settings['notification_message'] = ob_get_contents();
        ob_clean();
        ?>

		<tr valign="top">
			<th scope="row">
				<label for="gform_notification_disable_autoformat">
					<?php 
        esc_html_e('Auto-formatting', 'gravityforms');
        ?>
					<?php 
        gform_tooltip('notification_autoformat');
        ?>
				</label>
			</th>
			<td>
				<input type="checkbox" name="gform_notification_disable_autoformat" id="gform_notification_disable_autoformat" value="1" <?php 
        echo empty($notification['disableAutoformat']) ? '' : "checked='checked'";
        ?>
/>
				<label for="form_notification_disable_autoformat" class="inline">
					<?php 
        esc_html_e('Disable auto-formatting', 'gravityforms');
        ?>
					<?php 
        gform_tooltip('notification_autoformat');
        ?>
				</label>
			</td>
		</tr> <!-- / disable autoformat -->
		<?php 
        $ui_settings['notification_disable_autoformat'] = ob_get_contents();
        ob_clean();
        ?>

		<tr valign="top" <?php 
        echo rgar($notification, 'isDefault') ? 'style=display:none;' : '';
        ?>
 >
			<th scope="row">
				<label for="gform_notification_conditional_logic">
					<?php 
        esc_html_e('Conditional Logic', 'gravityforms');
        gform_tooltip('notification_conditional_logic');
        ?>
				</label>
			</th>
			<td>
				<input type="checkbox" id="notification_conditional_logic" onclick="SetConditionalLogic(this.checked); ToggleConditionalLogic(false, 'notification');" <?php 
        checked(is_array(rgar($notification, 'conditionalLogic')), true);
        ?>
 />
				<label for="notification_conditional_logic" class="inline"><?php 
        esc_html_e('Enable conditional logic', 'gravityforms');
        gform_tooltip('notification_conditional_logic');
        ?>
</label>
				<br />
			</td>
		</tr> <!-- / conditional logic -->
		<tr>
			<td colspan="2">
				<div id="notification_conditional_logic_container" class="gf_animate_sub_settings" style="padding-left:10px;">
					<!-- content dynamically created from form_admin.js -->
				</div>
			</td>
		</tr>

		<?php 
        $ui_settings['notification_conditional_logic'] = ob_get_contents();
        ob_clean();
        ?>

		<?php 
        ob_end_clean();
        $ui_settings = apply_filters("gform_notification_ui_settings_{$form_id}", apply_filters('gform_notification_ui_settings', $ui_settings, $notification, $form), $notification, $form);
        return $ui_settings;
    }
示例#22
0
    private static function get_notification_ui_settings($notification)
    {
        /**
         * These variables are used to convenient "wrap" child form settings in the appropriate HTML.
         */
        $subsetting_open = '
            <td colspan="2" class="gf_sub_settings_cell">
                <div class="gf_animate_sub_settings">
                    <table>
                        <tr>';
        $subsetting_close = '
                        </tr>
                    </table>
                </div>
            </td>';
        $ui_settings = array();
        $form_id = rgget('id');
        $form = RGFormsModel::get_form_meta($form_id);
        $form = apply_filters("gform_admin_pre_render_" . $form_id, apply_filters("gform_admin_pre_render", $form));
        $is_valid = empty(GFCommon::$errors);
        ob_start();
        ?>

        <tr valign="top">
            <th scope="row">
                <label for="gform_notification_name">
                    <?php 
        _e("Name", "gravityforms");
        ?>
                    <?php 
        gform_tooltip("notification_name");
        ?>
                </label>
            </th>
            <td>
                <input type="text" class="fieldwidth-2" name="gform_notification_name" id="gform_notification_name" value="<?php 
        echo esc_attr(rgget("name", $notification));
        ?>
"/>
            </td>
        </tr> <!-- / name -->
        <?php 
        $ui_settings['notification_name'] = ob_get_contents();
        ob_clean();
        ?>

        <?php 
        $notification_events = apply_filters("gform_notification_events", array("form_submission" => __("Form is submitted", "gravityforms")));
        $event_style = count($notification_events) == 1 ? "style='display:none'" : "";
        ?>
        <tr valign="top" <?php 
        echo $event_style;
        ?>
>
            <th scope="row">
                <label for="gform_notification_event">
                    <?php 
        _e("Event", "gravityforms");
        ?>
                    <?php 
        gform_tooltip("notification_event");
        ?>
                </label>

            </th>
            <td>
                <select name="gform_notification_event" id="gform_notification_event">
                <?php 
        foreach ($notification_events as $code => $label) {
            ?>
                    <option value="<?php 
            echo esc_attr($code);
            ?>
" <?php 
            selected(rgar($notification, 'event'), $code);
            ?>
><?php 
            echo esc_html($label);
            ?>
</option>
                    <?php 
        }
        ?>
                </select>
            </td>
        </tr> <!-- / event -->
        <?php 
        $ui_settings['notification_event'] = ob_get_contents();
        ob_clean();
        ?>

        <?php 
        $notification_to_type = !rgempty("gform_notification_to_type") ? rgpost("gform_notification_to_type") : rgar($notification, "toType");
        if (empty($notification_to_type)) {
            $notification_to_type = "email";
        }
        $is_invalid_email_to = !$is_valid && !self::is_valid_notification_to();
        $send_to_class = $is_invalid_email_to ? "gfield_error" : "";
        ?>
        <tr valign="top" class='<?php 
        echo $send_to_class;
        ?>
'>
            <th scope="row">
                <label for="gform_notification_to_email">
                    <?php 
        _e("Send To", "gravityforms");
        ?>
<span class="gfield_required">*</span>
                    <?php 
        gform_tooltip("notification_send_to_email");
        ?>
                </label>

            </th>
            <td>
                <input type="radio" id="gform_notification_to_type_email" name="gform_notification_to_type" <?php 
        checked("email", $notification_to_type);
        ?>
 value="email" onclick="jQuery('.notification_to_container').hide(); jQuery('#gform_notification_to_email_container').show('slow');"/>
                <label for="gform_notification_to_type_email" class="inline">
                    <?php 
        _e("Enter Email", "gravityforms");
        ?>
                </label>
                &nbsp;&nbsp;
                <input type="radio" id="gform_notification_to_type_field" name="gform_notification_to_type" <?php 
        checked("field", $notification_to_type);
        ?>
 value="field" onclick="jQuery('.notification_to_container').hide(); jQuery('#gform_notification_to_field_container').show('slow');"/>
                <label for="gform_notification_to_type_field" class="inline">
                    <?php 
        _e("Select a Field", "gravityforms");
        ?>
                </label>
                &nbsp;&nbsp;
                <input type="radio" id="gform_notification_to_type_routing" name="gform_notification_to_type" <?php 
        checked("routing", $notification_to_type);
        ?>
 value="routing" onclick="jQuery('.notification_to_container').hide(); jQuery('#gform_notification_to_routing_container').show('slow');"/>
                <label for="gform_notification_to_type_routing" class="inline">
                    <?php 
        _e("Configure Routing", "gravityforms");
        ?>
                    <?php 
        gform_tooltip("notification_send_to_routing");
        ?>
                </label>
            </td>
        </tr> <!-- / to email type -->
        <?php 
        $ui_settings['notification_to_email_type'] = ob_get_contents();
        ob_clean();
        ?>

        <tr id="gform_notification_to_email_container" class="notification_to_container <?php 
        echo $send_to_class;
        ?>
" <?php 
        echo $notification_to_type != "email" ? "style='display:none';" : "";
        ?>
>
            <?php 
        echo $subsetting_open;
        ?>
            <th scope="row"><?php 
        _e("Send to Email", "gravityforms");
        ?>
</th>
            <td>
                <?php 
        $to_email = rgget("toType", $notification) == "email" ? rgget("to", $notification) : "";
        ?>
                <input type="text" name="gform_notification_to_email" id="gform_notification_to_email" value="<?php 
        echo esc_attr($to_email);
        ?>
" class="fieldwidth-1" />

                <?php 
        if (rgpost("gform_notification_to_type") == "email" && $is_invalid_email_to) {
            ?>
                    <span class="validation_message"><?php 
            _e("Please enter a valid email address", "gravityforms");
            ?>
</span>
                <?php 
        }
        ?>
            </td>
            <?php 
        echo $subsetting_close;
        ?>
        </tr> <!-- / to email -->
        <?php 
        $ui_settings['notification_to_email'] = ob_get_contents();
        ob_clean();
        ?>

        <?php 
        $email_fields = apply_filters("gform_email_fields_notification_admin_{$form["id"]}", apply_filters("gform_email_fields_notification_admin", GFCommon::get_email_fields($form), $form), $form);
        ?>
        <tr id="gform_notification_to_field_container" class="notification_to_container <?php 
        echo $send_to_class;
        ?>
" <?php 
        echo $notification_to_type != "field" ? "style='display:none';" : "";
        ?>
>
            <?php 
        echo $subsetting_open;
        ?>
            <th scope="row"><?php 
        _e("Send to Field", "gravityforms");
        ?>
</th>
            <td>
                <?php 
        if (!empty($email_fields)) {
            ?>
                    <select name="gform_notification_to_field" id="gform_notification_to_field">
                        <option value=""><?php 
            _e("Select an email field", "gravityforms");
            ?>
</option>
                        <?php 
            $to_field = rgget("toType", $notification) == "field" ? rgget("to", $notification) : "";
            foreach ($email_fields as $field) {
                ?>
                            <option value="<?php 
                echo $field["id"];
                ?>
" <?php 
                echo selected($field["id"], $to_field);
                ?>
><?php 
                echo GFCommon::get_label($field);
                ?>
</option>
                            <?php 
            }
            ?>
                    </select>
                <?php 
        } else {
            ?>
                    <div class="error_base"><p><?php 
            _e("Your form does not have an email field. Add an email field to your form and try again.", "gravityforms");
            ?>
</p></div>
                <?php 
        }
        ?>
            </td>
            <?php 
        echo $subsetting_close;
        ?>
        </tr> <!-- / to email field -->
        <?php 
        $ui_settings['notification_to_email_field'] = ob_get_contents();
        ob_clean();
        ?>

        <tr id="gform_notification_to_routing_container" class="notification_to_container <?php 
        echo $send_to_class;
        ?>
" <?php 
        echo $notification_to_type != "routing" ? "style='display:none';" : "";
        ?>
>
            <?php 
        echo $subsetting_open;
        ?>
            <td colspan="2">
                <div id="gform_notification_to_routing_rules">
                    <?php 
        $routing_fields = self::get_routing_fields($form, "0");
        if (empty($routing_fields)) {
            //if(empty(){
            ?>
                        <div class="gold_notice">
                            <p><?php 
            _e("To use notification routing, your form must have a field supported by conditional logic.", "gravityforms");
            ?>
</p>
                        </div>
                        <?php 
        } else {
            if (empty($notification["routing"])) {
                $notification["routing"] = array(array());
            }
            $count = sizeof($notification["routing"]);
            $routing_list = ",";
            for ($i = 0; $i < $count; $i++) {
                $routing_list .= $i . ",";
                $routing = $notification["routing"][$i];
                $is_invalid_rule = !$is_valid && $_POST["gform_notification_to_type"] == "routing" && !self::is_valid_notification_email(rgar($routing, 'email'));
                $class = $is_invalid_rule ? "class='grouting_rule_error'" : "";
                ?>
                            <div style='width:99%' <?php 
                echo $class;
                ?>
>
                                <?php 
                _e("Send to", "gravityforms");
                ?>
 <input type="text" id="routing_email_<?php 
                echo $i;
                ?>
" value="<?php 
                echo rgar($routing, "email");
                ?>
" onkeyup="SetRouting(<?php 
                echo $i;
                ?>
);"/>
                                <?php 
                _e("if", "gravityforms");
                ?>
 <select id="routing_field_id_<?php 
                echo $i;
                ?>
" class='gfield_routing_select' onchange='jQuery("#routing_value_<?php 
                echo $i;
                ?>
").replaceWith(GetRoutingValues(<?php 
                echo $i;
                ?>
, jQuery(this).val())); SetRouting(<?php 
                echo $i;
                ?>
); '><?php 
                echo self::get_routing_fields($form, rgar($routing, "fieldId"));
                ?>
</select>
                                <select id="routing_operator_<?php 
                echo $i;
                ?>
" onchange="SetRouting(<?php 
                echo $i;
                ?>
)" class="gform_routing_operator">
                                    <option value="is" <?php 
                echo rgar($routing, "operator") == "is" ? "selected='selected'" : "";
                ?>
><?php 
                _e("is", "gravityforms");
                ?>
</option>
                                    <option value="isnot" <?php 
                echo rgar($routing, "operator") == "isnot" ? "selected='selected'" : "";
                ?>
><?php 
                _e("is not", "gravityforms");
                ?>
</option>
                                    <option value=">" <?php 
                echo rgar($routing, "operator") == ">" ? "selected='selected'" : "";
                ?>
><?php 
                _e("greater than", "gravityforms");
                ?>
</option>
                                    <option value="<" <?php 
                echo rgar($routing, "operator") == "<" ? "selected='selected'" : "";
                ?>
><?php 
                _e("less than", "gravityforms");
                ?>
</option>
                                    <option value="contains" <?php 
                echo rgar($routing, "operator") == "contains" ? "selected='selected'" : "";
                ?>
><?php 
                _e("contains", "gravityforms");
                ?>
</option>
                                    <option value="starts_with" <?php 
                echo rgar($routing, "operator") == "starts_with" ? "selected='selected'" : "";
                ?>
><?php 
                _e("starts with", "gravityforms");
                ?>
</option>
                                    <option value="ends_with" <?php 
                echo rgar($routing, "operator") == "ends_with" ? "selected='selected'" : "";
                ?>
><?php 
                _e("ends with", "gravityforms");
                ?>
</option>
                                </select>
                                <?php 
                echo self::get_field_values($i, $form, rgar($routing, "fieldId"), rgar($routing, "value"));
                ?>

                                <a class='gf_insert_field_choice' title='add another rule' onclick='SetRouting(<?php 
                echo $i;
                ?>
); InsertRouting(<?php 
                echo $i + 1;
                ?>
);'><i class='fa fa-plus-square'></i></a>

                                <?php 
                if ($count > 1) {
                    ?>
                                    <img src='<?php 
                    echo GFCommon::get_base_url();
                    ?>
/images/remove.png' id='routing_delete_<?php 
                    echo $i;
                    ?>
' title='remove this email routing' alt='remove this email routing' class='delete_field_choice' style='cursor:pointer;' onclick='DeleteRouting(<?php 
                    echo $i;
                    ?>
);' />
                                <?php 
                }
                ?>
                            </div>
                        <?php 
            }
            if ($is_invalid_rule) {
                ?>
                            <span class="validation_message"><?php 
                _e("Please enter a valid email address for all highlighted routing rules above.", "gravityforms");
                ?>
</span>
                        <?php 
            }
            ?>
                        <input type="hidden" name="routing_count" id="routing_count" value="<?php 
            echo $routing_list;
            ?>
"/>
                    <?php 
        }
        ?>
                </div>
            </td>
            <?php 
        echo $subsetting_close;
        ?>
        </tr> <!-- / to routing -->
        <?php 
        $ui_settings['notification_to_routing'] = ob_get_contents();
        ob_clean();
        ?>

        <tr valign="top">
            <th scope="row">
                <label for="gform_notification_from_name">
                    <?php 
        _e("From Name", "gravityforms");
        ?>
                    <?php 
        gform_tooltip("notification_from_name");
        ?>
                </label>
            </th>
            <td>
                <input type="text" class="fieldwidth-2 merge-tag-support mt-position-right mt-hide_all_fields" name="gform_notification_from_name" id="gform_notification_from_name" value="<?php 
        echo esc_attr(rgget("fromName", $notification));
        ?>
"/>
            </td>
        </tr> <!-- / from name -->
        <?php 
        $ui_settings['notification_from_name'] = ob_get_contents();
        ob_clean();
        ?>

        <tr valign="top">
            <th scope="row">
                <label for="gform_notification_from">
                    <?php 
        _e("From Email", "gravityforms");
        ?>
                    <?php 
        gform_tooltip("notification_from_email");
        ?>
                </label>
            </th>
            <td>
                <input type="text" class="fieldwidth-2 merge-tag-support mt-position-right mt-hide_all_fields" name="gform_notification_from" id="gform_notification_from" value="<?php 
        echo rgempty("from", $notification) ? "{admin_email}" : esc_attr(rgget("from", $notification));
        ?>
"/>
            </td>
        </tr> <!-- / to from email -->
        <?php 
        $ui_settings['notification_from'] = ob_get_contents();
        ob_clean();
        ?>

        <tr valign="top">
            <th scope="row">
                <label for="gform_notification_reply_to">
                    <?php 
        _e("Reply To", "gravityforms");
        ?>
                    <?php 
        gform_tooltip("notification_reply_to");
        ?>
                </label>
            </th>
            <td>
                <input type="text" name="gform_notification_reply_to" id="gform_notification_reply_to" class="merge-tag-support mt-hide_all_fields" value="<?php 
        echo esc_attr(rgget("replyTo", $notification));
        ?>
" class="fieldwidth-2" />
            </td>
        </tr> <!-- / reply to -->
        <?php 
        $ui_settings['notification_reply_to'] = ob_get_contents();
        ob_clean();
        ?>

        <tr valign="top">
            <th scope="row">
                <label for="gform_notification_bcc">
                    <?php 
        _e("BCC", "gravityforms");
        ?>
                    <?php 
        gform_tooltip("notification_bcc");
        ?>
                </label>
            </th>
            <td>
                <input type="text" name="gform_notification_bcc" id="gform_notification_bcc" value="<?php 
        echo esc_attr(rgget("bcc", $notification));
        ?>
" class="fieldwidth-1" />
            </td>
        </tr> <!-- / bcc -->
        <?php 
        $ui_settings['notification_bcc'] = ob_get_contents();
        ob_clean();
        ?>

        <?php 
        $is_invalid_subject = !$is_valid && empty($_POST["gform_notification_subject"]);
        $subject_class = $is_invalid_subject ? "class='gfield_error'" : "";
        ?>
        <tr valign="top" <?php 
        echo $subject_class;
        ?>
>
            <th scope="row">
                <label for="gform_notification_subject">
                    <?php 
        _e("Subject", "gravityforms");
        ?>
<span class="gfield_required">*</span>
                </label>
            </th>
            <td>
                <input type="text" name="gform_notification_subject" id="gform_notification_subject" class="fieldwidth-1 merge-tag-support mt-hide_all_fields mt-position-right" value="<?php 
        echo esc_attr(rgar($notification, "subject"));
        ?>
" />
                <?php 
        if ($is_invalid_subject) {
            ?>
                    <span class="validation_message"><?php 
            _e("Please enter a subject for the notification email", "gravityforms");
            ?>
</span><?php 
        }
        ?>
            </td>
        </tr> <!-- / subject -->
        <?php 
        $ui_settings['notification_subject'] = ob_get_contents();
        ob_clean();
        ?>

        <?php 
        $is_invalid_message = !$is_valid && empty($_POST["gform_notification_message"]);
        $message_class = $is_invalid_message ? "class='gfield_error'" : "";
        ?>
        <tr valign="top" <?php 
        echo $message_class;
        ?>
>
            <th scope="row">
                <label for="gform_notification_message">
                    <?php 
        _e("Message", "gravityforms");
        ?>
<span class="gfield_required">*</span>
                </label>
            </th>
            <td>

                <span class="mt-gform_notification_message"></span>

                <?php 
        if (GFCommon::is_wp_version("3.3")) {
            wp_editor(rgar($notification, "message"), "gform_notification_message", array("autop" => false, "editor_class" => "merge-tag-support mt-wp_editor mt-manual_position mt-position-right"));
        } else {
            ?>
                    <textarea name="gform_notification_message" id="gform_notification_message" class="fieldwidth-1 fieldheight-1" ><?php 
            echo esc_html($notification["message"]);
            ?>
</textarea><?php 
        }
        if ($is_invalid_message) {
            ?>
                    <span class="validation_message"><?php 
            _e("Please enter a message for the notification email", "gravityforms");
            ?>
</span><?php 
        }
        ?>
            </td>
        </tr> <!-- / message -->
        <?php 
        $ui_settings['notification_message'] = ob_get_contents();
        ob_clean();
        ?>

        <tr valign="top">
            <th scope="row">
                <label for="gform_notification_disable_autoformat">
                    <?php 
        _e("Auto-formatting", "gravityforms");
        ?>
                    <?php 
        gform_tooltip("notification_autoformat");
        ?>
                </label>
            </th>
            <td>
                <input type="checkbox" name="gform_notification_disable_autoformat" id="gform_notification_disable_autoformat" value="1" <?php 
        echo empty($notification["disableAutoformat"]) ? "" : "checked='checked'";
        ?>
/>
                <label for="form_notification_disable_autoformat" class="inline">
                    <?php 
        _e("Disable auto-formatting", "gravityforms");
        ?>
                    <?php 
        gform_tooltip("notification_autoformat");
        ?>
                </label>
            </td>
        </tr> <!-- / disable autoformat -->
        <?php 
        $ui_settings['notification_disable_autoformat'] = ob_get_contents();
        ob_clean();
        ?>

        <tr valign="top">
            <th scope="row">
                <label for="gform_notification_conditional_logic">
                    <?php 
        _e("Conditional Logic", "gravityforms");
        gform_tooltip("notification_conditional_logic");
        ?>
                </label>
            </th>
            <td>
                <input type="checkbox" id="notification_conditional_logic" onclick="SetConditionalLogic(this.checked); ToggleConditionalLogic(false, 'notification');" <?php 
        checked(is_array(rgar($notification, "conditionalLogic")), true);
        ?>
 />
                <label for="notification_conditional_logic" class="inline"><?php 
        _e("Enable conditional logic", "gravityforms");
        gform_tooltip("notification_conditional_logic");
        ?>
</label>
                <br/>
            </td>
        </tr> <!-- / conditional logic -->
        <tr>
            <td colspan="2">
                <div id="notification_conditional_logic_container" class="gf_animate_sub_settings" style="padding-left:10px;">
                    <!-- content dynamically created from form_admin.js -->
                </div>
            </td>
        </tr>

        <?php 
        $ui_settings['notification_conditional_logic'] = ob_get_contents();
        ob_clean();
        ?>

        <?php 
        ob_end_clean();
        $ui_settings = apply_filters("gform_notification_ui_settings_{$form_id}", apply_filters('gform_notification_ui_settings', $ui_settings, $notification, $form), $notification, $form);
        return $ui_settings;
    }
示例#23
0
 protected function settings_radio($field, $echo = true)
 {
     $field["type"] = "radio";
     //making sure type is set to radio
     $selected_value = $this->get_setting($field['name'], rgar($field, "default_value"));
     $field_attributes = $this->get_field_attributes($field);
     $horizontal = rgar($field, "horizontal") ? " gaddon-setting-inline" : "";
     $html = "";
     if (is_array($field["choices"])) {
         foreach ($field["choices"] as $i => $choice) {
             $choice['id'] = $field['name'] . $i;
             $choice_attributes = $this->get_choice_attributes($choice, $field_attributes);
             $tooltip = isset($choice['tooltip']) ? gform_tooltip($choice['tooltip'], rgar($choice, 'tooltip_class'), true) : "";
             $radio_value = isset($choice["value"]) ? $choice["value"] : $choice["label"];
             $checked = checked($selected_value, $radio_value, false);
             $html .= '
                     <div id="gaddon-setting-radio-choice-' . $choice['id'] . '" class="gaddon-setting-radio' . $horizontal . '">
                     <label for="' . esc_attr($choice['id']) . '">
                         <input
                             id = "' . esc_attr($choice['id']) . '"
                             type = "radio" ' . 'name="_gaddon_setting_' . esc_attr($field["name"]) . '" ' . 'value="' . $radio_value . '" ' . implode(' ', $choice_attributes) . ' ' . $checked . ' /><span>' . esc_html($choice['label']) . ' ' . $tooltip . '</span>
                     </label>
                     </div>
                 ';
         }
     }
     if ($this->field_failed_validation($field)) {
         $html .= $this->get_error_icon($field);
     }
     if ($echo) {
         echo $html;
     }
     return $html;
 }
示例#24
0
    public static function edit_page()
    {
        ?>
        <style>
            .campaignmonitor_col_heading{padding-bottom:2px; border-bottom: 1px solid #ccc; font-weight: bold;}
            .campaignmonitor_field_cell {padding: 6px 17px 0 0; margin-right:15px;}
            .left_header{float:left; width:200px;}
            .margin_vertical_10{margin: 10px 0;}
            #campaignmonitor_resubscribe_warning{padding-left: 5px; padding-bottom:4px; font-size: 10px;}
            .gfield_required{color:red;}
            .feeds_validation_error{ background-color:#FFDFDF;}
            .feeds_validation_error td{ margin-top:4px; margin-bottom:6px; padding-top:6px; padding-bottom:6px; border-top:1px dotted #C89797; border-bottom:1px dotted #C89797}
        </style>
        <script type="text/javascript">
            var form = Array();
        </script>
        <div class="wrap">
            <img alt="<?php 
        _e("Campaign Monitor", "gravityformsmailchimp");
        ?>
" style="margin: 15px 7px 0pt 0pt; float: left;" src="<?php 
        echo self::get_base_url();
        ?>
/images/campaignmonitor_wordpress_icon_32.png"/>
            <h2><?php 
        _e("Campaign Monitor Feed", "gravityformsmailchimp");
        ?>
</h2>

        <?php 
        //ensures valid credentials were entered in the settings page
        if (!self::is_valid_key()) {
            ?>
            <tr><td colspan="2"><?php 
            echo sprintf(__("We are unable to login to Campaign Monitor with the provided API key. Please make sure you have entered a valid API key in the %sSettings Page%s", "gravityformscampaignmonitor"), "<a href='?page=gf_settings&addon=Email+Marketing'>", "</a>");
            ?>
</td></tr>
            <?php 
            return;
        }
        //getting setting id (0 when creating a new one)
        $id = !empty($_POST["campaignmonitor_setting_id"]) ? $_POST["campaignmonitor_setting_id"] : absint($_GET["id"]);
        $config = empty($id) ? array("is_active" => true) : GFCampaignMonitorData::get_feed($id);
        if (!isset($config["meta"])) {
            $config["meta"] = array();
        }
        //updating meta information
        if (rgpost("gf_campaignmonitor_submit")) {
            list($client_id, $client_name) = explode("|:|", stripslashes($_POST["gf_campaignmonitor_client"]));
            $config["meta"]["client_id"] = $client_id;
            $config["meta"]["client_name"] = $client_name;
            list($list_id, $list_name) = explode("|:|", stripslashes($_POST["gf_campaignmonitor_list"]));
            $config["meta"]["contact_list_id"] = $list_id;
            $config["meta"]["contact_list_name"] = $list_name;
            $config["form_id"] = absint($_POST["gf_campaignmonitor_form"]);
            $merge_vars = self::get_custom_fields($list_id);
            $field_map = array();
            foreach ($merge_vars as $var) {
                $field_name = "campaignmonitor_map_field_" . self::get_field_key($var);
                $mapped_field = stripslashes($_POST[$field_name]);
                if (!empty($mapped_field)) {
                    $field_map[self::get_field_key($var)] = $mapped_field;
                }
            }
            $config["meta"]["field_map"] = $field_map;
            $config["meta"]["resubscribe"] = rgpost("campaignmonitor_resubscribe") ? true : false;
            $config["meta"]["optin_enabled"] = rgpost("campaignmonitor_optin_enable") ? true : false;
            if ($config["meta"]["optin_enabled"]) {
                $config["meta"]["optin_field_id"] = rgpost("campaignmonitor_optin_field_id");
                $config["meta"]["optin_operator"] = rgpost("campaignmonitor_optin_operator");
                $config["meta"]["optin_value"] = rgpost("campaignmonitor_optin_value");
            }
            $is_valid = !empty($field_map["email"]);
            if ($is_valid) {
                $id = GFCampaignMonitorData::update_feed($id, $config["form_id"], $config["is_active"], $config["meta"]);
                ?>
                <div class="updated fade" style="padding:6px"><?php 
                echo sprintf(__("Feed Updated. %sback to list%s", "gravityformscampaignmonitor"), "<a href='?page=gf_campaignmonitor'>", "</a>");
                ?>
</div>
                <input type="hidden" name="campaignmonitor_setting_id" value="<?php 
                echo $id;
                ?>
"/>
                <?php 
            } else {
                ?>
                <div class="error" style="padding:6px"><?php 
                echo __("Feed could not be updated. Please enter all required information below.", "gravityformscampaignmonitor");
                ?>
</div>
                <?php 
            }
        }
        if (empty($merge_vars)) {
            //getting merge vars from selected list (if one was selected)
            $merge_vars = empty($config["meta"]["contact_list_id"]) ? array() : self::get_custom_fields($config["meta"]["contact_list_id"]);
        }
        ?>
        <form method="post" action="">
            <input type="hidden" name="campaignmonitor_setting_id" value="<?php 
        echo $id;
        ?>
"/>
            <div class="margin_vertical_10">

                <?php 
        self::include_api();
        $api = new CS_REST_General(self::get_api_key());
        //getting all clients
        $response = $api->get_clients();
        if (!$response->was_successful()) {
            _e("Could not get client list from Campaign Monitor.", "gravityformscampaignmonitor");
        } else {
            $clients = $response->response;
            $client_id = self::get_client_id();
            if (empty($client_id)) {
                $client_id = $config["meta"]["client_id"];
                ?>
                        <label for="gf_campaignmonitor_client" class="left_header"><?php 
                _e("Client", "gravityformscampaignmonitor");
                ?>
 <?php 
                gform_tooltip("campaignmonitor_client");
                ?>
</label>
                        <select id="gf_campaignmonitor_client" name="gf_campaignmonitor_client" onchange="SelectClient(jQuery(this).val());">
                            <option value=""><?php 
                _e("Select a Client", "gravityformscampaignmonitor");
                ?>
</option>
                        <?php 
                foreach ($clients as $client) {
                    $selected = $client->ClientID == $client_id ? "selected='selected'" : "";
                    ?>
                            <option value="<?php 
                    echo esc_attr($client->ClientID) . "|:|" . esc_attr($client->Name);
                    ?>
" <?php 
                    echo $selected;
                    ?>
><?php 
                    echo esc_html($client->Name);
                    ?>
</option>
                            <?php 
                }
                ?>
                        </select>
                        &nbsp;&nbsp;
                        <img src="<?php 
                echo self::get_base_url();
                ?>
/images/loading.gif" id="campaignmonitor_wait_client" style="display: none;"/>
                    <?php 
            } else {
                $client_name = "";
                foreach ($clients as $client) {
                    if ($client->ClientID == $client_id) {
                        $client_name = $client->Name;
                    }
                }
                if (empty($client_name)) {
                    echo sprintf(__("Your API Client ID is invalid. You can change it in the %ssettings page%s", "gravityformscampaignmonitor"), "<a href='?page=gf_settings&addon=Campaign+Monitor'>", "</a>");
                    $client_id = 0;
                } else {
                    ?>
                            <input type="hidden" id="gf_campaignmonitor_client" name="gf_campaignmonitor_client" value="<?php 
                    echo $client_id . "|:|" . $client_name;
                    ?>
" />
                            <?php 
                }
            }
        }
        ?>
            </div>

            <div id="gf_campaignmonitor_list_container" class="margin_vertical_10" <?php 
        echo empty($client_id) ? "style='display:none;'" : "";
        ?>
>
                <label for="gf_campaignmonitor_list" class="left_header"><?php 
        _e("Contact list", "gravityformscampaignmonitor");
        ?>
 <?php 
        gform_tooltip("campaignmonitor_contact_list");
        ?>
</label>

                <select id="gf_campaignmonitor_list" name="gf_campaignmonitor_list" onchange="SelectList(jQuery(this).val());">
                    <?php 
        if (!empty($client_id)) {
            $lists = self::get_lists($client_id, $config["meta"]["contact_list_id"]);
            echo $lists;
        }
        ?>
                </select>
            </div>

            <div id="campaignmonitor_form_container" valign="top" class="margin_vertical_10" <?php 
        echo empty($client_id) || empty($config["meta"]["contact_list_id"]) ? "style='display:none;'" : "";
        ?>
>
                <label for="gf_campaignmonitor_form" class="left_header"><?php 
        _e("Gravity Form", "gravityformscampaignmonitor");
        ?>
 <?php 
        gform_tooltip("campaignmonitor_gravity_form");
        ?>
</label>

                <select id="gf_campaignmonitor_form" name="gf_campaignmonitor_form" onchange="SelectForm(jQuery('#gf_campaignmonitor_list').val(), jQuery(this).val());">
                <option value=""><?php 
        _e("Select a Form", "gravityformscampaignmonitor");
        ?>
</option>
                <?php 
        $forms = RGFormsModel::get_forms();
        foreach ($forms as $form) {
            $selected = absint($form->id) == $config["form_id"] ? "selected='selected'" : "";
            ?>
                    <option value="<?php 
            echo absint($form->id);
            ?>
"  <?php 
            echo $selected;
            ?>
><?php 
            echo esc_html($form->title);
            ?>
</option>
                    <?php 
        }
        ?>
                </select>
                &nbsp;&nbsp;
                <img src="<?php 
        echo self::get_base_url();
        ?>
/images/loading.gif" id="campaignmonitor_wait_form" style="display: none;"/>
            </div>

            <div id="campaignmonitor_field_group" valign="top" <?php 
        echo empty($client_id) || empty($config["meta"]["contact_list_id"]) || empty($config["form_id"]) ? "style='display:none;'" : "";
        ?>
>

                <div id="campaignmonitor_field_container" valign="top" class="margin_vertical_10" >
                    <label for="campaignmonitor_fields" class="left_header"><?php 
        _e("Map Fields", "gravityformscampaignmonitor");
        ?>
 <?php 
        gform_tooltip("campaignmonitor_map_fields");
        ?>
</label>

                    <div id="campaignmonitor_field_list">
                    <?php 
        if (!empty($config["form_id"])) {
            //getting list of all Campaign Monitor merge variables for the selected contact list
            if (empty($merge_vars)) {
                $merge_vars = $api->listMergeVars($list_id);
            }
            //getting field map UI
            echo self::get_field_mapping($config, $config["form_id"], $merge_vars);
            //getting list of selection fields to be used by the optin
            $form_meta = RGFormsModel::get_form_meta($config["form_id"]);
            $selection_fields = GFCommon::get_selection_fields($form_meta, rgar($config["meta"], "optin_field_id"));
        }
        ?>
                    </div>
                </div>

                <div id="campaignmonitor_optin_container" valign="top" class="margin_vertical_10">
                    <label for="campaignmonitor_optin" class="left_header"><?php 
        _e("Opt-In Condition", "gravityformscampaignmonitor");
        ?>
 <?php 
        gform_tooltip("campaignmonitor_optin_condition");
        ?>
</label>
                    <div id="campaignmonitor_optin">
                        <table>
                            <tr>
                                <td>
                                    <input type="checkbox" id="campaignmonitor_optin_enable" name="campaignmonitor_optin_enable" value="1" onclick="if(this.checked){jQuery('#campaignmonitor_optin_condition_field_container').show('slow');} else{jQuery('#campaignmonitor_optin_condition_field_container').hide('slow');}" <?php 
        echo rgar($config["meta"], "optin_enabled") ? "checked='checked'" : "";
        ?>
/>
                                    <label for="campaignmonitor_optin_enable"><?php 
        _e("Enable", "gravityformscampaignmonitor");
        ?>
</label>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <div id="campaignmonitor_optin_condition_field_container" <?php 
        echo !rgar($config["meta"], "optin_enabled") ? "style='display:none'" : "";
        ?>
>
                                        <div id="campaignmonitor_optin_condition_fields" <?php 
        echo empty($selection_fields) ? "style='display:none'" : "";
        ?>
>
                                            <?php 
        _e("Export to Campaign Monitor if ", "gravityformscampaignmonitor");
        ?>

                                            <select id="campaignmonitor_optin_field_id" name="campaignmonitor_optin_field_id" class='optin_select' onchange='jQuery("#campaignmonitor_optin_value").html(GetFieldValues(jQuery(this).val(), "", 20));'><?php 
        echo $selection_fields;
        ?>
</select>
                                            <select id="campaignmonitor_optin_operator" name="campaignmonitor_optin_operator" />
                                                <option value="is" <?php 
        echo rgar($config["meta"], "optin_operator") == "is" ? "selected='selected'" : "";
        ?>
><?php 
        _e("is", "gravityformscampaignmonitor");
        ?>
</option>
                                                <option value="isnot" <?php 
        echo rgar($config["meta"], "optin_operator") == "isnot" ? "selected='selected'" : "";
        ?>
><?php 
        _e("is not", "gravityformscampaignmonitor");
        ?>
</option>
                                            </select>
                                            <select id="campaignmonitor_optin_value" name="campaignmonitor_optin_value" class='optin_select'>
                                            </select>

                                        </div>
                                        <div id="campaignmonitor_optin_condition_message" <?php 
        echo !empty($selection_fields) ? "style='display:none'" : "";
        ?>
>
                                            <?php 
        _e("To create an Opt-In condition, your form must have a drop down, checkbox or multiple choice field.", "gravityform");
        ?>
                                        </div>
                                    </div>
                                </td>
                            </tr>
                        </table>
                    </div>

                    <script type="text/javascript">
                        <?php 
        if (!empty($config["form_id"])) {
            ?>
                            //creating Javascript form object
                            form = <?php 
            echo GFCommon::json_encode($form_meta);
            ?>
;

                            //initializing drop downs
                            jQuery(document).ready(function(){
                                var selectedField = "<?php 
            echo str_replace('"', '\\"', rgar($config["meta"], "optin_field_id"));
            ?>
";
                                var selectedValue = "<?php 
            echo str_replace('"', '\\"', rgar($config["meta"], "optin_value"));
            ?>
";
                                SetOptin(selectedField, selectedValue);
                            });
                        <?php 
        }
        ?>
                    </script>
                </div>

                <div id="campaignmonitor_options_container" valign="top" class="margin_vertical_10">
                    <label for="campaignmonitor_options" class="left_header"><?php 
        _e("Options", "gravityformscampaignmonitor");
        ?>
</label>
                    <div id="campaignmonitor_options">
                        <table>
                            <tr><td><input type="checkbox" name="campaignmonitor_resubscribe" id="campaignmonitor_resubscribe" value="1" <?php 
        echo rgar($config["meta"], "resubscribe") ? "checked='checked'" : "";
        ?>
 onclick="var element = jQuery('#campaignmonitor_resubscribe_warning'); if(this.checked){element.show('slow');} else{element.hide('slow');}"/> <?php 
        _e("Resubscribe", "gravityformscampaignmonitor");
        ?>
  <?php 
        gform_tooltip("campaignmonitor_resubscribe");
        ?>
 <br/><span id='campaignmonitor_resubscribe_warning' <?php 
        echo !rgar($config["meta"], "resubscribe") ? "style='display:none'" : "";
        ?>
>(<?php 
        _e("This option will re-subscribe users that have been unsubscribed. Use with caution and only when appropriate.", "gravityformscampaignmonitor");
        ?>
)</span></td></tr>
                        </table>
                    </div>
                </div>

                <div id="campaignmonitor_submit_container" class="margin_vertical_10">
                    <input type="submit" name="gf_campaignmonitor_submit" value="<?php 
        echo empty($id) ? __("Save", "gravityformscampaignmonitor") : __("Update", "gravityformscampaignmonitor");
        ?>
" class="button-primary"/>
                    <input type="button" value="<?php 
        _e("Cancel", "gravityformscampaignmonitor");
        ?>
" class="button" onclick="javascript:document.location='admin.php?page=gf_campaignmonitor'" />
                </div>
            </div>
        </form>
        </div>
        <script type="text/javascript">

            function SelectClient(clientId){
                jQuery("#gf_campaignmonitor_list_container").slideUp();
                SelectList();

                if(!clientId)
                    return;

                jQuery("#campaignmonitor_wait_client").show();

                var mysack = new sack("<?php 
        bloginfo('wpurl');
        ?>
/wp-admin/admin-ajax.php" );
                mysack.execute = 1;
                mysack.method = 'POST';
                mysack.setVar( "action", "gf_select_campaignmonitor_client" );
                mysack.setVar( "gf_select_campaignmonitor_client", "<?php 
        echo wp_create_nonce("gf_select_campaignmonitor_client");
        ?>
" );
                mysack.setVar( "client_id", clientId);
                mysack.encVar( "cookie", document.cookie, false );
                mysack.onError = function() {jQuery("#campaignmonitor_wait_client").hide(); alert('<?php 
        _e("Ajax error while selecting a client", "gravityformscampaignmonitor");
        ?>
' )};
                mysack.runAJAX();

                return true;
            }

            function EndSelectClient(lists){
                if(lists){

                    jQuery("#gf_campaignmonitor_list").html(lists);
                    jQuery("#gf_campaignmonitor_list_container").slideDown();

                }
                else{
                    jQuery("#gf_campaignmonitor_list_container").slideUp();
                    jQuery("#campaignmonitor_list").html("");
                }
                jQuery("#campaignmonitor_wait_client").hide();
            }


            function SelectList(listId){

                EndSelectForm("");

                if(listId){
                    jQuery("#campaignmonitor_form_container").slideDown();
                    jQuery("#gf_campaignmonitor_form").val("");
                }
                else{
                    jQuery("#campaignmonitor_form_container").slideUp();
                }

            }

            function SelectForm(listId, formId){
                if(!formId){
                    jQuery("#campaignmonitor_field_group").slideUp();
                    return;
                }

                jQuery("#campaignmonitor_wait_form").show();
                jQuery("#campaignmonitor_field_group").slideUp();

                var mysack = new sack("<?php 
        bloginfo('wpurl');
        ?>
/wp-admin/admin-ajax.php" );
                mysack.execute = 1;
                mysack.method = 'POST';
                mysack.setVar( "action", "gf_select_campaignmonitor_form" );
                mysack.setVar( "gf_select_campaignmonitor_form", "<?php 
        echo wp_create_nonce("gf_select_campaignmonitor_form");
        ?>
" );
                mysack.setVar( "list_id", listId);
                mysack.setVar( "form_id", formId);
                mysack.encVar( "cookie", document.cookie, false );
                mysack.onError = function() {jQuery("#campaignmonitor_wait_form").hide(); alert('<?php 
        _e("Ajax error while selecting a form", "gravityformscampaignmonitor");
        ?>
' )};
                mysack.runAJAX();

                return true;
            }

            function SetOptin(selectedField, selectedValue){

                //load form fields
                jQuery("#campaignmonitor_optin_field_id").html(GetSelectableFields(selectedField, 20));

                var optinConditionField = jQuery("#campaignmonitor_optin_field_id").val();

                if(optinConditionField){
                    jQuery("#campaignmonitor_optin_condition_message").hide();
                    jQuery("#campaignmonitor_optin_condition_fields").show();

                    jQuery("#campaignmonitor_optin_value").html(GetFieldValues(optinConditionField, selectedValue, 20));

                }
                else{
                    jQuery("#campaignmonitor_optin_condition_message").show();
                    jQuery("#campaignmonitor_optin_condition_fields").hide();
                }

            }

            function EndSelectForm(fieldList, form_meta){

                //setting global form object
                form = form_meta;

                if(fieldList){

                    SetOptin("","");

                    jQuery("#campaignmonitor_field_list").html(fieldList);
                    jQuery("#campaignmonitor_field_group").slideDown();

                }
                else{
                    jQuery("#campaignmonitor_field_group").slideUp();
                    jQuery("#campaignmonitor_field_list").html("");
                }
                jQuery("#campaignmonitor_wait_form").hide();
            }

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

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

                var isAnySelected = false;

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

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

                if(!isAnySelected && selectedValue){
                    str += "<option value='" + selectedValue.replace("'", "&#039;") + "' selected='selected'>" + TruncateMiddle(selectedValue, labelMaxCharacters) + "</option>";
                }

                return str;
            }

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

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

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

        </script>

        <?php 
    }
示例#25
0
    public static function export_lead_page()
    {
        if (!GFCommon::current_user_can_any('gravityforms_export_entries')) {
            wp_die('You do not have permission to access this page');
        }
        self::page_header(__('Export Entries', 'gravityforms'));
        ?>

		<script type="text/javascript">

			var gfSpinner;

			<?php 
        GFCommon::gf_global();
        ?>
			<?php 
        GFCommon::gf_vars();
        ?>

			function SelectExportForm(formId) {

				if (!formId)
					return;

				gfSpinner = new gfAjaxSpinner(jQuery('select#export_form'), gf_vars.baseUrl + '/images/spinner.gif', 'position: relative; top: 2px; left: 5px;');

				var mysack = new sack("<?php 
        echo admin_url('admin-ajax.php');
        ?>
");
				mysack.execute = 1;
				mysack.method = 'POST';
				mysack.setVar("action", "rg_select_export_form");
				mysack.setVar("rg_select_export_form", "<?php 
        echo wp_create_nonce('rg_select_export_form');
        ?>
");
				mysack.setVar("form_id", formId);
				mysack.onError = function () {
					alert(<?php 
        echo json_encode(__('Ajax error while selecting a form', 'gravityforms'));
        ?>
)
				};
				mysack.runAJAX();

				return true;
			}

			function EndSelectExportForm(aryFields, filterSettings) {

				gfSpinner.destroy();

				if (aryFields.length == 0) {
					jQuery("#export_field_container, #export_date_container, #export_submit_container").hide()
					return;
				}

				var fieldList = "<li><input id='select_all' type='checkbox' onclick=\"jQuery('.gform_export_field').attr('checked', this.checked); jQuery('#gform_export_check_all').html(this.checked ? '<strong><?php 
        echo esc_js(__('Deselect All', 'gravityforms'));
        ?>
</strong>' : '<strong><?php 
        echo esc_js(__('Select All', 'gravityforms'));
        ?>
</strong>'); \"> <label id='gform_export_check_all' for='select_all'><strong><?php 
        esc_html_e('Select All', 'gravityforms');
        ?>
</strong></label></li>";
				for (var i = 0; i < aryFields.length; i++) {
					fieldList += "<li><input type='checkbox' id='export_field_" + i + "' name='export_field[]' value='" + aryFields[i][0] + "' class='gform_export_field'> <label for='export_field_" + i + "'>" + aryFields[i][1] + "</label></li>";
				}
				jQuery("#export_field_list").html(fieldList);
				jQuery("#export_date_start, #export_date_end").datepicker({dateFormat: 'yy-mm-dd', changeMonth: true, changeYear: true});

				jQuery("#export_field_container, #export_filter_container, #export_date_container, #export_submit_container").hide().show();

				gf_vars.filterAndAny = <?php 
        echo json_encode(esc_html__('Export entries if {0} of the following match:', 'gravityforms'));
        ?>
;
				jQuery("#export_filters").gfFilterUI(filterSettings);
			}
			jQuery(document).ready(function () {
				jQuery("#gform_export").submit(function () {
					if (jQuery(".gform_export_field:checked").length == 0) {
						alert(<?php 
        echo json_encode(__('Please select the fields to be exported', 'gravityforms'));
        ?>
);
						return false;
					}
				});
			});


		</script>

		<p class="textleft"><?php 
        esc_html_e('Select a form below to export entries. Once you have selected a form you may select the fields you would like to export and then define optional filters for field values and the date range. When you click the download button below, Gravity Forms will create a CSV file for you to save to your computer.', 'gravityforms');
        ?>
</p>
		<div class="hr-divider"></div>
		<form id="gform_export" method="post" style="margin-top:10px;">
			<?php 
        echo wp_nonce_field('rg_start_export', 'rg_start_export_nonce');
        ?>
			<table class="form-table">
				<tr valign="top">

					<th scope="row">
						<label for="export_form"><?php 
        esc_html_e('Select A Form', 'gravityforms');
        ?>
</label> <?php 
        gform_tooltip('export_select_form');
        ?>
					</th>
					<td>

						<select id="export_form" name="export_form" onchange="SelectExportForm(jQuery(this).val());">
							<option value=""><?php 
        esc_html_e('Select a form', 'gravityforms');
        ?>
</option>
							<?php 
        $forms = RGFormsModel::get_forms(null, 'title');
        foreach ($forms as $form) {
            ?>
								<option value="<?php 
            echo absint($form->id);
            ?>
"><?php 
            echo esc_html($form->title);
            ?>
</option>
							<?php 
        }
        ?>
						</select>

					</td>
				</tr>
				<tr id="export_field_container" valign="top" style="display: none;">
					<th scope="row">
						<label for="export_fields"><?php 
        esc_html_e('Select Fields', 'gravityforms');
        ?>
</label> <?php 
        gform_tooltip('export_select_fields');
        ?>
					</th>
					<td>
						<ul id="export_field_list">
						</ul>
					</td>
				</tr>
				<tr id="export_filter_container" valign="top" style="display: none;">
					<th scope="row">
						<label><?php 
        esc_html_e('Conditional Logic', 'gravityforms');
        ?>
</label> <?php 
        gform_tooltip('export_conditional_logic');
        ?>
					</th>
					<td>
						<div id="export_filters">
							<!--placeholder-->
						</div>

					</td>
				</tr>
				<tr id="export_date_container" valign="top" style="display: none;">
					<th scope="row">
						<label for="export_date"><?php 
        esc_html_e('Select Date Range', 'gravityforms');
        ?>
</label> <?php 
        gform_tooltip('export_date_range');
        ?>
					</th>
					<td>
						<div>
                            <span style="width:150px; float:left; ">
                                <input type="text" id="export_date_start" name="export_date_start" style="width:90%" />
                                <strong><label for="export_date_start" style="display:block;"><?php 
        esc_html_e('Start', 'gravityforms');
        ?>
</label></strong>
                            </span>

                            <span style="width:150px; float:left;">
                                <input type="text" id="export_date_end" name="export_date_end" style="width:90%" />
                                <strong><label for="export_date_end" style="display:block;"><?php 
        esc_html_e('End', 'gravityforms');
        ?>
</label></strong>
                            </span>

							<div style="clear: both;"></div>
							<?php 
        esc_html_e('Date Range is optional, if no date range is selected all entries will be exported.', 'gravityforms');
        ?>
						</div>
					</td>
				</tr>
			</table>
			<ul>
				<li id="export_submit_container" style="display:none; clear:both;">
					<br /><br />
					<input type="submit" name="export_lead" value="<?php 
        esc_attr_e('Download Export File', 'gravityforms');
        ?>
" class="button button-large button-primary" />
                    <span id="please_wait_container" style="display:none; margin-left:15px;">
                        <i class='gficon-gravityforms-spinner-icon gficon-spin'></i> <?php 
        esc_html_e('Exporting entries. Please wait...', 'gravityforms');
        ?>
                    </span>

					<iframe id="export_frame" width="1" height="1" src="about:blank"></iframe>
				</li>
			</ul>
		</form>

		<?php 
        self::page_footer();
    }
示例#26
0
    public static function add_paypal_user_registration_options($config, $form)
    {
        global $wp_roles;
        require_once self::get_base_path() . '/data.php';
        // activate user registration tooltips for integration with PayPal plugin
        add_filter('gform_tooltips', array('GFUser', 'tooltips'));
        $id = rgget('id');
        //$registration_config = $form ? self::get_active_config($form) : false;
        $registration_config = $form ? GFUserData::get_feeds_by_form($form["id"]) : false;
        $registration_feeds = GFUserData::get_feeds();
        $registration_forms = array();
        foreach ($registration_feeds as $feed) {
            $registration_forms[] = $feed['form_id'];
        }
        $json_registration_forms = GFCommon::json_encode($registration_forms);
        if (empty($json_registration_forms)) {
            $json_registration_forms = '[]';
        }
        $roles = array_keys($wp_roles->roles);
        $display_registration_options = !empty($registration_config) ? '' : 'display:none;';
        $display_multisite_options = is_multisite() && self::is_root_site() && rgars($config, 'meta/type') == 'subscription' ? '' : 'display:none;';
        ?>

        <script type="text/javascript">
            jQuery(document).ready(function($){
                $(document).bind('paypalFormSelected', function(event, form) {

                    var registration_form_ids = <?php 
        echo $json_registration_forms;
        ?>
;
                    var transaction_type = $("#gf_paypal_type").val();
                    var form = form;
                    var has_registration = false;
                    var display_multisite_options = <?php 
        echo is_multisite() && self::is_root_site() ? 'true' : 'false';
        ?>
;

                    if($.inArray(String(form['id']), registration_form_ids) != -1)
                        has_registration = true;

                    if(has_registration == true) {
                        $("#gf_paypal_user_registration_options").show();
                    } else {
                        $("#gf_paypal_user_registration_options").hide();
                    }

                    $("#gf_paypal_update_user_option, #gf_paypal_update_site_option").hide();

                    if(transaction_type == "subscription")
                        $("#gf_paypal_update_user_option").show();

                    if(transaction_type == "subscription" && display_multisite_options)
                        $("#gf_paypal_update_site_option").show();

                });
            });
        </script>

        <div id="gf_paypal_user_registration_options" class="margin_vertical_10" style="<?php 
        echo $display_registration_options;
        ?>
">
            <label class="left_header"><?php 
        _e("User Registration", "gravityformsuserregistration");
        ?>
 <?php 
        gform_tooltip("user_registration_paypal_user_options");
        ?>
</label>

            <ul style="overflow:hidden;">

                <!-- Standard Options -->

                <li>
                    <input type="checkbox" name="gf_paypal_delay_registration" id="gf_paypal_delay_registration" value="1" <?php 
        echo rgar($config['meta'], 'delay_registration') ? "checked='checked'" : "";
        ?>
 />
                    <label class="inline" for="gf_paypal_delay_registration">
                        <?php 
        if (!is_multisite()) {
            _e("Register user only when a payment is received.", "gravityformsuserregistration");
        } else {
            _e("Register user and create site only when a payment is received.", "gravityformsuserregistration");
        }
        ?>
                    </label>
                </li>

                <li id="gf_paypal_update_user_option" <?php 
        echo rgars($config, "meta/type") == "subscription" ? "" : "style='display:none;'";
        ?>
>
                    <input type="checkbox" name="gf_paypal_update_user" id="gf_paypal_update_user" value="1" <?php 
        echo rgars($config, "meta/update_user_action") ? "checked='checked'" : "";
        ?>
 onclick="var action = this.checked ? '<?php 
        echo $roles[0];
        ?>
' : ''; jQuery('#gf_paypal_update_user_action').val(action);" />
                    <label class="inline" for="gf_paypal_update_user"><?php 
        _e("Update <strong>user</strong> when subscription is cancelled.", "gravityformsuserregistration");
        ?>
</label>
                    <select id="gf_paypal_update_user_action" name="gf_paypal_update_user_action" onchange="var checked = jQuery(this).val() ? 'checked' : false; jQuery('#gf_paypal_update_user').attr('checked', checked);">
                        <option value=""></option>
                        <?php 
        foreach ($roles as $role) {
            $role_name = ucfirst($role);
            ?>
                            <option value="<?php 
            echo $role;
            ?>
" <?php 
            echo rgars($config, "meta/update_user_action") == $role ? "selected='selected'" : "";
            ?>
><?php 
            echo sprintf(__("Set User as %s", "gravityformsuserregistration"), $role_name);
            ?>
</option>
                        <?php 
        }
        ?>
                    </select>
                </li>

                <!-- Multisite Options -->

                <li id="gf_paypal_update_site_option" style="<?php 
        echo $display_multisite_options;
        ?>
">
                    <input type="checkbox" name="gf_paypal_update_site" id="gf_paypal_update_site" value="1" <?php 
        echo rgar($config["meta"], "update_site_action") ? "checked='checked'" : "";
        ?>
 onclick="var action = this.checked ? 'deactivate' : ''; jQuery('#gf_paypal_update_site_action').val(action);" />
                    <label class="inline" for="gf_paypal_update_site"><?php 
        _e("Update <strong>site</strong> when subscription is cancelled.", "gravityformsuserregistration");
        ?>
</label>
                    <select id="gf_paypal_update_site_action" name="gf_paypal_update_site_action" onchange="var checked = jQuery(this).val() ? 'checked' : false; jQuery('#gf_paypal_update_site').attr('checked', checked);">
                        <option value=""></option>
                        <?php 
        $site_options = array('deactivate' => __('Deactivate', 'gravityformsuserregistration'), 'delete' => __('Delete', 'gravityformsuserregistration'));
        ?>
                        <?php 
        foreach ($site_options as $option_key => $option_label) {
            ?>
                            <option value="<?php 
            echo $option_key;
            ?>
" <?php 
            echo rgar($config["meta"], "update_site_action") == $option_key ? "selected='selected'" : "";
            ?>
><?php 
            echo sprintf(__("%s site", "gravityformsuserregistration"), $option_key);
            ?>
</option>
                        <?php 
        }
        ?>
                    </select>
                </li>

            </ul>
        </div>

        <?php 
    }
<li class="placeholder_time_setting field_setting" style="display:none">
    <script type="text/html" id="tmpl-gf-placeholder-time-setting">
        <label>
            <?php 
echo $this->_strings->placeholders->plural->name;
?>
            <?php 
gform_tooltip($this->_strings->placeholders->plural->tooltip);
?>
        </label>
        <table class="field_setting_table" >
            <thead>
                <tr>
                    <th class="field_setting_field_col"><?php 
echo $this->_strings->placeholders->column->field;
?>
</th>
                    <th class="field_setting_value_col"><?php 
echo $this->_strings->placeholders->column->value;
?>
</th>
                </tr>
            </thead>
            <tbody>
                <% // Time Hour Placeholder Setting %>
                <tr id="placeholder_time_hour_container" class="time_placeholder_setting" style="padding-top:4px;">
                    <td class="placeholder_setting_label">
                        <label for="placeholder_time_hour" class="inline"><?php 
echo $this->_strings->labelTimeHour->name;
?>
</label>
    public function field_settings($position, $form_id)
    {
        //create settings on position 25 (right after Field Label)
        if ($position == 25) {
            ?>
			<li class="background_color_setting field_setting gform_setting_left_half">
				<label for="field_signature_background_color">
					<?php 
            _e('Background Color', 'gravityformssignature');
            ?>
					<?php 
            gform_tooltip('signature_background_color');
            ?>
				</label>
				<?php 
            GFFormDetail::color_picker('field_signature_background_color', 'SetSignatureBackColor');
            ?>
			</li>
			<li class="border_color_setting field_setting gform_setting_right_half">
				<label for="field_signature_border_color">
					<?php 
            _e('Border Color', 'gravityformssignature');
            ?>
					<?php 
            gform_tooltip('signature_border_color');
            ?>
				</label>
				<?php 
            GFFormDetail::color_picker('field_signature_border_color', 'SetSignatureBorderColor');
            ?>
			</li>
			<li class="border_width_setting field_setting gform_setting_left_half">
				<label for="field_signature_border_width">
					<?php 
            _e('Border Width', 'gravityformssignature');
            ?>
					<?php 
            gform_tooltip('signature_border_width');
            ?>
				</label>
				<select id="field_signature_border_width" onchange="SetSignatureBorderWidth(jQuery(this).val());">
					<option value="0">None</option>
					<option value="1">Small</option>
					<option value="2">Medium</option>
					<option value="3">Large</option>
				</select>
			</li>
			<li class="border_style_setting field_setting gform_setting_right_half">
				<label for="field_signature_border_style">
					<?php 
            _e('Border Style', 'gravityformssignature');
            ?>
					<?php 
            gform_tooltip('signature_border_style');
            ?>
				</label>
				<select id="field_signature_border_style" onchange="SetSignatureBorderStyle(jQuery(this).val());">
					<option>Dotted</option>
					<option>Dashed</option>
					<option>Groove</option>
					<option>Ridge</option>
					<option>Inset</option>
					<option>Outset</option>
					<option>Double</option>
					<option>Solid</option>
				</select>
			</li>

			<li class="pen_color_setting field_setting gform_setting_left_half">
				<label for="field_signature_pen_color">
					<?php 
            _e('Pen Color', 'gravityformssignature');
            ?>
					<?php 
            gform_tooltip('signature_pen_color');
            ?>
				</label>
				<?php 
            GFFormDetail::color_picker('field_signature_pen_color', 'SetSignaturePenColor');
            ?>
			</li>
			<li class="pen_size_setting field_setting gform_setting_right_half">
				<label for="field_signature_pen_size">
					<?php 
            _e('Pen Size', 'gravityformssignature');
            ?>
					<?php 
            gform_tooltip('signature_pen_size');
            ?>
				</label>
				<select id="field_signature_pen_size" onchange="SetSignaturePenSize(jQuery(this).val());">
					<option value="1">Small</option>
					<option value="2">Medium</option>
					<option value="3">Large</option>
				</select>
			</li>

		<?php 
        }
    }
示例#29
0
 public static function get_field_results($form_id, $data, $field, $search_criteria)
 {
     if (empty($data['entry_count']) || empty($data['field_data'])) {
         return esc_html__('No entries for this field', 'gravityforms');
     }
     $field_data = $data['field_data'];
     $entry_count = $data['entry_count'];
     if (empty($field_data[$field->id])) {
         return esc_html__('No entries for this field', 'gravityforms');
     }
     $field_results = '';
     $field_type = GFFormsModel::get_input_type($field);
     switch ($field_type) {
         case 'radio':
         case 'checkbox':
         case 'select':
         case 'rating':
         case 'multiselect':
             $results = $field_data[$field->id];
             $non_zero_results = is_array($results) ? array_filter($results) : $results;
             if (empty($non_zero_results)) {
                 $field_results .= esc_html__('No entries for this field', 'gravityforms');
                 return $field_results;
             }
             $choices = $field->choices;
             $data_table = array();
             $data_table[] = array(esc_html__('Choice', 'gravityforms'), esc_html__('Frequency', 'gravityforms'));
             foreach ($choices as $choice) {
                 $text = $choice['text'];
                 $val = $results[$choice['value']];
                 $data_table[] = array($text, $val);
             }
             $bar_height = 40;
             $chart_area_height = count($choices) * $bar_height;
             $chart_options = array('isStacked' => true, 'height' => $chart_area_height + $bar_height, 'chartArea' => array('top' => 0, 'left' => 200, 'height' => $chart_area_height, 'width' => '100%'), 'series' => array('0' => array('color' => 'silver', 'visibleInLegend' => 'false')), 'hAxis' => array('viewWindowMode' => 'explicit', 'viewWindow' => array('min' => 0), 'title' => esc_html__('Frequency', 'gravityforms')));
             $data_table_json = htmlentities(json_encode($data_table), ENT_QUOTES, 'UTF-8', true);
             $options_json = htmlentities(json_encode($chart_options), ENT_QUOTES, 'UTF-8', true);
             $div_id = 'gresults-results-chart-field-' . $field->id;
             $height = '';
             //             = sprintf("height:%dpx", (count($choices) * $bar_height));
             $field_results .= sprintf('<div class="gresults-chart-wrapper" style="width: 100%%;%s" id=%s data-datatable=\'%s\' data-options=\'%s\' data-charttype="bar" ></div>', $height, $div_id, $data_table_json, $options_json);
             break;
         case 'likert':
             $results = $field_data[$field->id];
             $multiple_rows = $field->gsurveyLikertEnableMultipleRows ? true : false;
             $scoring_enabled = $field->gsurveyLikertEnableScoring && class_exists('GFSurvey') ? true : false;
             $n = 100;
             $xr = 255;
             $xg = 255;
             $xb = 255;
             $yr = 100;
             $yg = 250;
             $yb = 100;
             $field_results .= "<div class='gsurvey-likert-field-results'>";
             $field_results .= "<table class='gsurvey-likert'>";
             $field_results .= '<tr>';
             if ($multiple_rows) {
                 $field_results .= '<td></td>';
             }
             foreach ($field->choices as $choice) {
                 $field_results .= "<td class='gsurvey-likert-choice-label'>" . $choice['text'] . '</td>';
             }
             if ($multiple_rows && $scoring_enabled) {
                 $field_results .= sprintf('<td>%s %s</td>', esc_html__('Average Score', 'gravityforms'), gform_tooltip('gresults_average_row_score', null, true));
             }
             $field_results .= '</tr>';
             foreach ($field->gsurveyLikertRows as $row) {
                 $row_text = $row['text'];
                 $row_value = $row['value'];
                 $max = 0;
                 foreach ($field->choices as $choice) {
                     if ($multiple_rows) {
                         $choice_value = rgar($choice, 'value');
                         $results_row = rgar($results, $row_value);
                         $results_for_choice = rgar($results_row, $choice_value);
                         $max = max(array($max, $results_for_choice));
                     } else {
                         $max = max(array($max, $results[$choice['value']]));
                     }
                 }
                 $field_results .= '<tr>';
                 if ($multiple_rows) {
                     $field_results .= "<td class='gsurvey-likert-row-label'>" . $row_text . '</td>';
                 }
                 foreach ($field->choices as $choice) {
                     $val = $multiple_rows ? $results[$row_value][$choice['value']] : $results[$choice['value']];
                     $percent = $max > 0 ? round($val / $max * 100, 0) : 0;
                     $red = (int) ($xr + $percent * ($yr - $xr) / ($n - 1));
                     $green = (int) ($xg + $percent * ($yg - $xg) / ($n - 1));
                     $blue = (int) ($xb + $percent * ($yb - $xb) / ($n - 1));
                     $clr = 'rgb(' . $red . ',' . $green . ',' . $blue . ')';
                     $field_results .= "<td class='gsurvey-likert-results' style='background-color:{$clr}'>" . $val . '</td>';
                 }
                 if ($multiple_rows && $scoring_enabled) {
                     $row_sum = $results[$row_value]['row_score_sum'];
                     $average_row_score = $row_sum == 0 ? 0 : round($row_sum / $entry_count, 3);
                     $field_results .= "<td class='gsurvey-likert-results'>" . $average_row_score . '</td>';
                 }
                 $field_results .= '</tr>';
                 if (false === $multiple_rows) {
                     break;
                 }
             }
             $field_results .= '</table>';
             $field_results .= '</div>';
             if ($scoring_enabled) {
                 $sum = $results['sum_of_scores'];
                 $average_score = $sum == 0 ? 0 : round($sum / $entry_count, 3);
                 if ($multiple_rows) {
                     $average_global_score_tooltip = gform_tooltip('gresults_average_global_score', null, true);
                     $field_results .= sprintf("<div class='gsurvey-likert-score'>%s %s: %s</div>", esc_html__('Average global score', 'gravityforms'), $average_global_score_tooltip, $average_score);
                 } else {
                     $field_results .= sprintf("<div class='gsurvey-likert-score'>%s %s: %s</div>", esc_html__('Average score', 'gravityforms'), gform_tooltip('gresults_average_score', null, true), $average_score);
                 }
             }
             break;
         case 'rank':
             $results = $field_data[$field->id];
             arsort($results);
             $field_results .= "<div class='gsurvey-rank-field-results'>";
             $field_results .= ' <table>';
             $field_results .= "     <tr class='gresults-results-field-table-header'>";
             $field_results .= "         <td class='gresults-rank-field-label'>";
             $field_results .= esc_html__('Item', 'gravityforms');
             $field_results .= '         </td>';
             $field_results .= "         <td class='gresults-rank-field-score'>";
             $field_results .= esc_html__('Total Score', 'gravityforms') . '&nbsp;' . gform_tooltip('gresults_total_score', null, true);
             $field_results .= '         </td>';
             $field_results .= "         <td class='gresults-rank-field-rank'>";
             $field_results .= esc_html__('Aggregate Rank', 'gravityforms') . '&nbsp;' . gform_tooltip('gresults_agg_rank', null, true);
             $field_results .= '         </td>';
             $field_results .= '     </tr>';
             $agg_rank = 1;
             foreach ($results as $choice_val => $score) {
                 $field_results .= '<tr>';
                 $field_results .= "      <td class='gresults-rank-field-label' style='text-align:left;'>";
                 $field_results .= RGFormsModel::get_choice_text($field, $choice_val);
                 $field_results .= '      </td>';
                 $field_results .= "      <td class='gresults-rank-field-score'>";
                 $field_results .= $score;
                 $field_results .= '      </td>';
                 $field_results .= "      <td class='gresults-rank-field-rank'>";
                 $field_results .= $agg_rank;
                 $field_results .= '      </td>';
                 $field_results .= '</tr>';
                 $agg_rank++;
             }
             $field_results .= '</table>';
             $field_results .= '</div>';
             break;
         default:
             $page_size = 5;
             $offset = 0;
             $field_id = $field->id;
             $more_remaining = false;
             $default_field_results = self::get_default_field_results($form_id, $field, $search_criteria, $offset, $page_size, $more_remaining);
             $field_results .= "<div class='gresults-results-field-sub-label'>" . esc_html__('Latest values:', 'gravityforms') . '</div>';
             $field_results .= "<ul id='gresults-results-field-content-{$field_id}' class='gresults-results-field-content' data-offset='{$offset}'>";
             $field_results .= $default_field_results;
             $field_results .= '</ul>';
             if ($more_remaining) {
                 $field_results .= "<a id='gresults-results-field-more-link-{$field_id}' class='gresults-results-field-more-link' href='javascript:void(0)' onclick='gresults.getMoreResults({$form_id},{$field_id})'>" . esc_html__('Show more', 'gravityforms') . '</a>';
             }
             break;
     }
     return $field_results;
 }
 /**
  * Returns the tooltip markup if a tooltip is configured for the supplied item (field/child field/choice).
  *
  * @param array $item The item properties.
  *
  * @return string
  */
 public function maybe_get_tooltip($item)
 {
     $html = '';
     if (isset($item['tooltip'])) {
         $html = ' ' . gform_tooltip($item['tooltip'], rgar($item, 'tooltip_class'), true);
     }
     return $html;
 }