public static function leads_page($form_id) { global $wpdb; //quit if version of wp is not supported if (!GFCommon::ensure_wp_version()) { return; } $form_id = absint($form_id); echo GFCommon::get_remote_message(); $action = RGForms::post('action'); $filter = rgget('filter'); $search = stripslashes(rgget('s')); $page_index = empty($_GET['paged']) ? 0 : intval($_GET['paged']) - 1; $star = $filter == 'star' ? 1 : null; $read = $filter == 'unread' ? 0 : null; $status = in_array($filter, array('trash', 'spam')) ? $filter : 'active'; $form = RGFormsModel::get_form_meta($form_id); $search_criteria['status'] = $status; if ($star) { $search_criteria['field_filters'][] = array('key' => 'is_starred', 'value' => (bool) $star); } if (!is_null($read)) { $search_criteria['field_filters'][] = array('key' => 'is_read', 'value' => (bool) $read); } $search_field_id = rgget('field_id'); $search_operator = rgget('operator'); if (isset($_GET['field_id']) && $_GET['field_id'] !== '') { $key = $search_field_id; $val = stripslashes(rgget('s')); $strpos_row_key = strpos($search_field_id, '|'); if ($strpos_row_key !== false) { //multi-row likert $key_array = explode('|', $search_field_id); $key = $key_array[0]; $val = $key_array[1] . ':' . $val; } if ('entry_id' == $key) { $key = 'id'; } $filter_operator = empty($search_operator) ? 'is' : $search_operator; $field = GFFormsModel::get_field($form, $key); if ($field) { $input_type = GFFormsModel::get_input_type($field); if ($field->type == 'product' && in_array($input_type, array('radio', 'select'))) { $filter_operator = 'contains'; } } $search_criteria['field_filters'][] = array('key' => $key, 'operator' => $filter_operator, 'value' => $val); } $update_message = ''; switch ($action) { case 'delete': check_admin_referer('gforms_entry_list', 'gforms_entry_list'); $lead_id = $_POST['action_argument']; if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { RGFormsModel::delete_lead($lead_id); $update_message = esc_html__('Entry deleted.', 'gravityforms'); } else { $update_message = esc_html__("You don't have adequate permission to delete entries.", 'gravityforms'); } break; case 'bulk': check_admin_referer('gforms_entry_list', 'gforms_entry_list'); $bulk_action = !empty($_POST['bulk_action']) ? $_POST['bulk_action'] : $_POST['bulk_action2']; $select_all = rgpost('all_entries'); $leads = empty($select_all) ? $_POST['lead'] : GFFormsModel::search_lead_ids($form_id, $search_criteria); $entry_count = count($leads) > 1 ? sprintf(esc_html__('%d entries', 'gravityforms'), count($leads)) : esc_html__('1 entry', 'gravityforms'); switch ($bulk_action) { case 'delete': if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { RGFormsModel::delete_leads($leads); $update_message = sprintf(esc_html__('%s deleted.', 'gravityforms'), $entry_count); } else { $update_message = esc_html__("You don't have adequate permission to delete entries.", 'gravityforms'); } break; case 'trash': RGFormsModel::update_leads_property($leads, 'status', 'trash'); $update_message = sprintf(esc_html__('%s moved to Trash.', 'gravityforms'), $entry_count); break; case 'restore': RGFormsModel::update_leads_property($leads, 'status', 'active'); $update_message = sprintf(esc_html__('%s restored from the Trash.', 'gravityforms'), $entry_count); break; case 'unspam': RGFormsModel::update_leads_property($leads, 'status', 'active'); $update_message = sprintf(esc_html__('%s restored from the spam.', 'gravityforms'), $entry_count); break; case 'spam': RGFormsModel::update_leads_property($leads, 'status', 'spam'); $update_message = sprintf(esc_html__('%s marked as spam.', 'gravityforms'), $entry_count); break; case 'mark_read': RGFormsModel::update_leads_property($leads, 'is_read', 1); $update_message = sprintf(esc_html__('%s marked as read.', 'gravityforms'), $entry_count); break; case 'mark_unread': RGFormsModel::update_leads_property($leads, 'is_read', 0); $update_message = sprintf(esc_html__('%s marked as unread.', 'gravityforms'), $entry_count); break; case 'add_star': RGFormsModel::update_leads_property($leads, 'is_starred', 1); $update_message = sprintf(esc_html__('%s starred.', 'gravityforms'), $entry_count); break; case 'remove_star': RGFormsModel::update_leads_property($leads, 'is_starred', 0); $update_message = sprintf(esc_html__('%s unstarred.', 'gravityforms'), $entry_count); break; } break; case 'change_columns': check_admin_referer('gforms_entry_list', 'gforms_entry_list'); $columns = GFCommon::json_decode(stripslashes($_POST['grid_columns']), true); RGFormsModel::update_grid_column_meta($form_id, $columns); break; } if (rgpost('button_delete_permanently')) { if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { RGFormsModel::delete_leads_by_form($form_id, $filter); } } $sort_field = empty($_GET['sort']) ? 0 : $_GET['sort']; $sort_direction = empty($_GET['dir']) ? 'DESC' : $_GET['dir']; $sort_field_meta = RGFormsModel::get_field($form, $sort_field); $is_numeric = $sort_field_meta['type'] == 'number'; $page_size = gf_apply_filters('gform_entry_page_size', $form_id, 20, $form_id); $first_item_index = $page_index * $page_size; if (!empty($sort_field)) { $sorting = array('key' => $_GET['sort'], 'direction' => $sort_direction, 'is_numeric' => $is_numeric); } else { $sorting = array(); } $paging = array('offset' => $first_item_index, 'page_size' => $page_size); $total_count = 0; $leads = GFAPI::get_entries($form_id, $search_criteria, $sorting, $paging, $total_count); $summary = RGFormsModel::get_form_counts($form_id); $active_lead_count = $summary['total']; $unread_count = $summary['unread']; $starred_count = $summary['starred']; $spam_count = $summary['spam']; $trash_count = $summary['trash']; $columns = RGFormsModel::get_grid_columns($form_id, true); $search_qs = empty($search) ? '' : '&s=' . esc_attr(urlencode($search)); $sort_qs = empty($sort_field) ? '' : '&sort=' . esc_attr($sort_field); $dir_qs = empty($sort_direction) ? '' : '&dir=' . esc_attr($sort_direction); $star_qs = $star !== null ? '&star=' . esc_attr($star) : ''; $read_qs = $read !== null ? '&read=' . esc_attr($read) : ''; $filter_qs = '&filter=' . esc_attr($filter); $search_field_id_qs = !isset($_GET['field_id']) ? '' : '&field_id=' . esc_attr($search_field_id); $search_operator_urlencoded = urlencode($search_operator); $search_operator_qs = empty($search_operator_urlencoded) ? '' : '&operator=' . esc_attr($search_operator_urlencoded); $display_total = ceil($total_count / $page_size); $page_links = paginate_links(array('base' => admin_url('admin.php') . "?page=gf_entries&view=entries&id={$form_id}&%_%" . $search_qs . $sort_qs . $dir_qs . $star_qs . $read_qs . $filter_qs . $search_field_id_qs . $search_operator_qs, 'format' => 'paged=%#%', 'prev_text' => esc_html__('«', 'gravityforms'), 'next_text' => esc_html__('»', 'gravityforms'), 'total' => $display_total, 'current' => $page_index + 1, 'show_all' => false)); wp_print_styles(array('thickbox')); $field_filters = GFCommon::get_field_filter_settings($form); $init_field_id = empty($search_field_id) ? 0 : $search_field_id; $init_field_operator = empty($search_operator) ? 'contains' : $search_operator; $init_filter_vars = array('mode' => 'off', 'filters' => array(array('field' => $init_field_id, 'operator' => $init_field_operator, 'value' => $search))); $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG || isset($_GET['gform_debug']) ? '' : '.min'; ?> <script type="text/javascript"> var messageTimeout = false, gformFieldFilters = <?php echo json_encode($field_filters); ?> , gformInitFilter = <?php echo json_encode($init_filter_vars); ?> function ChangeColumns(columns) { jQuery("#action").val("change_columns"); jQuery("#grid_columns").val(jQuery.toJSON(columns)); tb_remove(); jQuery("#lead_form")[0].submit(); } function Search(sort_field_id, sort_direction, form_id, search, star, read, filter, field_id, operator) { var search_qs = search == "" ? "" : "&s=" + encodeURIComponent(search); var star_qs = star == "" ? "" : "&star=" + star; var read_qs = read == "" ? "" : "&read=" + read; var filter_qs = filter == "" ? "" : "&filter=" + filter; var field_id_qs = field_id == "" ? "" : "&field_id=" + field_id; var operator_qs = operator == "" ? "" : "&operator=" + operator; var location = "?page=gf_entries&view=entries&id=" + form_id + "&sort=" + sort_field_id + "&dir=" + sort_direction + search_qs + star_qs + read_qs + filter_qs + field_id_qs + operator_qs; document.location = location; } function ToggleStar(img, lead_id, filter) { var is_starred = img.src.indexOf("star1.png") >= 0; if (is_starred) img.src = img.src.replace("star1.png", "star0.png"); else img.src = img.src.replace("star0.png", "star1.png"); jQuery("#lead_row_" + lead_id).toggleClass("lead_starred"); //if viewing the starred entries, hide the row and adjust the paging counts if (filter == "star") { var title = jQuery("#lead_row_" + lead_id); title.css("display", 'none'); UpdatePagingCounts(1); } UpdateCount("star_count", is_starred ? -1 : 1); UpdateLeadProperty(lead_id, "is_starred", is_starred ? 0 : 1); } function ToggleRead(lead_id, filter) { var title = jQuery("#lead_row_" + lead_id); var marking_read = title.hasClass("lead_unread"); jQuery("#mark_read_" + lead_id).css("display", marking_read ? "none" : "inline"); jQuery("#mark_unread_" + lead_id).css("display", marking_read ? "inline" : "none"); jQuery("#is_unread_" + lead_id).css("display", marking_read ? "inline" : "none"); title.toggleClass("lead_unread"); //if viewing the unread entries, hide the row and adjust the paging counts if (filter == "unread") { title.css("display", "none"); UpdatePagingCounts(1); } UpdateCount("unread_count", marking_read ? -1 : 1); UpdateLeadProperty(lead_id, "is_read", marking_read ? 1 : 0); } function UpdateLeadProperty(lead_id, name, value) { var mysack = new sack("<?php echo admin_url('admin-ajax.php'); ?> "); mysack.execute = 1; mysack.method = 'POST'; mysack.setVar("action", "rg_update_lead_property"); mysack.setVar("rg_update_lead_property", "<?php echo wp_create_nonce('rg_update_lead_property'); ?> "); mysack.setVar("lead_id", lead_id); mysack.setVar("name", name); mysack.setVar("value", value); mysack.onError = function () { alert(<?php echo json_encode(__('Ajax error while setting lead property', 'gravityforms')); ?> ) }; mysack.runAJAX(); return true; } function UpdateCount(element_id, change) { var element = jQuery("#" + element_id); var count = parseInt(element.html()) + change element.html(count + ""); } function UpdatePagingCounts(change) { //update paging header/footer Displaying # - # of #, use counts from header, no need to use footer since they are the same, just update footer paging with header info var paging_range_max_header = jQuery("#paging_range_max_header"); var paging_range_max_footer = jQuery("#paging_range_max_footer"); var range_change_max = parseInt(paging_range_max_header.html()) - change; var paging_total_header = jQuery("#paging_total_header"); var paging_total_footer = jQuery("#paging_total_footer"); var total_change = parseInt(paging_total_header.html()) - change; var paging_range_min_header = jQuery("#paging_range_min_header"); var paging_range_min_footer = jQuery("#paging_range_min_footer"); //if min and max are the same, this is the last entry item on the page, clear out the displaying # - # of # text if (parseInt(paging_range_min_header.html()) == parseInt(paging_range_max_header.html())) { var paging_header = jQuery("#paging_header"); paging_header.html(""); var paging_footer = jQuery("#paging_footer"); paging_footer.html(""); } else { paging_range_max_header.html(range_change_max + ""); paging_range_max_footer.html(range_change_max + ""); paging_total_header.html(total_change + ""); paging_total_footer.html(total_change + ""); } gformVars.countAllEntries = gformVars.countAllEntries - change; setSelectAllText(); } function DeleteLead(lead_id) { jQuery("#action").val("delete"); jQuery("#action_argument").val(lead_id); jQuery("#lead_form")[0].submit(); return true; } function handleBulkApply(actionElement) { var action = jQuery("#" + actionElement).val(); var defaultModalOptions = ''; var leadIds = getLeadIds(); if (leadIds.length == 0) { alert(<?php echo json_encode(__('Please select at least one entry.', 'gravityforms')); ?> ); return false; } switch (action) { case 'resend_notifications': resetResendNotificationsUI(); tb_show(<?php echo json_encode(esc_html__('Resend Notifications', 'gravityforms')); ?> , '#TB_inline?width=350&inlineId=notifications_modal_container', ''); return false; break; case 'print': resetPrintUI(); tb_show(<?php echo json_encode(esc_html__('Print Entries', 'gravityforms')); ?> , '#TB_inline?width=350&height=250&inlineId=print_modal_container', ''); return false; break; default: jQuery('#action').val('bulk'); } } function getLeadIds() { var all = jQuery("#all_entries").val(); //compare string, the boolean isn't correct, even when casting to a boolean the 0 is set to true if (all == "1") return 0; var leads = jQuery(".check-column input[name='lead[]']:checked"); var leadIds = new Array(); jQuery(leads).each(function (i) { leadIds[i] = jQuery(leads[i]).val(); }); return leadIds; } function BulkResendNotifications() { var selectedNotifications = new Array(); jQuery(".gform_notifications:checked").each(function () { selectedNotifications.push(jQuery(this).val()); }); var leadIds = getLeadIds(); var sendTo = jQuery('#notification_override_email').val(); if (selectedNotifications.length <= 0) { displayMessage(<?php echo json_encode(esc_html__('You must select at least one type of notification to resend.', 'gravityforms')); ?> , "error", "#notifications_container"); return; } jQuery('#please_wait_container').fadeIn(); jQuery.post(ajaxurl, { action : "gf_resend_notifications", gf_resend_notifications: '<?php echo wp_create_nonce('gf_resend_notifications'); ?> ', notifications : jQuery.toJSON(selectedNotifications), sendTo : sendTo, leadIds : leadIds, filter : <?php echo json_encode(rgget('filter')); ?> , search : <?php echo json_encode(rgget('s')); ?> , operator : <?php echo json_encode(rgget('operator')); ?> , fieldId : <?php echo json_encode(rgget('field_id')); ?> , formId : <?php echo json_encode($form['id']); ?> }, function (response) { jQuery('#please_wait_container').hide(); if (response) { displayMessage(response, 'error', '#notifications_container'); } else { var message = <?php echo json_encode(__('Notifications for %s were resent successfully.', 'gravityforms')); ?> ; var c = leadIds == 0 ? gformVars.countAllEntries : leadIds.length; displayMessage(message.replace('%s', c + ' ' + getPlural(c, <?php echo json_encode(__('entry', 'gravityforms')); ?> , <?php echo json_encode(__('entries', 'gravityforms')); ?> )), "updated", "#lead_form"); closeModal(true); } } ); } function resetResendNotificationsUI() { jQuery(".gform_notifications").attr('checked', false); jQuery('#notifications_container .message, #notifications_override_settings').hide(); } function BulkPrint() { var leadIds = getLeadIds(); if (leadIds != 0) leadIds = leadIds.join(','); var leadsQS = '&lid=' + leadIds; var notesQS = jQuery('#gform_print_notes').is(':checked') ? '¬es=1' : ''; var pageBreakQS = jQuery('#gform_print_page_break').is(':checked') ? '&page_break=1' : ''; var filterQS = '&filter=' + <?php echo json_encode(rgget('filter')); ?> ; var searchQS = '&s=' + <?php echo json_encode(rgget('s')); ?> ; var searchFieldIdQS = '&field_id=' + <?php echo json_encode(rgget('field_id')); ?> ; var searchOperatorQS = '&operator=' + <?php echo json_encode(rgget('operator')); ?> ; var url = '<?php echo trailingslashit(site_url()); ?> ?gf_page=print-entry&fid=<?php echo absint($form['id']); ?> ' + leadsQS + notesQS + pageBreakQS + filterQS + searchQS + searchFieldIdQS + searchOperatorQS; window.open(url, 'printwindow'); closeModal(true); hideMessage('#lead_form', false); } function resetPrintUI() { jQuery('#print_options input[type="checkbox"]').attr('checked', false); } function displayMessage(message, messageClass, container) { hideMessage(container, true); var messageBox = jQuery('<div class="message ' + messageClass + '" style="display:none;"><p>' + message + '</p></div>'); jQuery(messageBox).prependTo(container).slideDown(); if (messageClass == 'updated') messageTimeout = setTimeout(function () { hideMessage(container, false); }, 10000); } function hideMessage(container, messageQueued) { if (messageTimeout) clearTimeout(messageTimeout); var messageBox = jQuery(container).find('.message'); if (messageQueued) jQuery(messageBox).remove(); else jQuery(messageBox).slideUp(function () { jQuery(this).remove(); }); } function closeModal(isSuccess) { if (isSuccess) jQuery('.check-column input[type="checkbox"]').attr('checked', false); tb_remove(); } function getPlural(count, singular, plural) { return count > 1 ? plural : singular; } function toggleNotificationOverride(isInit) { if (isInit) jQuery('#notification_override_email').val(''); if (jQuery(".gform_notifications:checked").length > 0) { jQuery('#notifications_override_settings').slideDown(); } else { jQuery('#notifications_override_settings').slideUp(function () { jQuery('#notification_override_email').val(''); }); } } // Select All var gformStrings = { "allEntriesOnPageAreSelected": <?php echo json_encode(sprintf(esc_html__('All %s{0}%s entries on this page are selected.', 'gravityforms'), '<strong>', '</strong>')); ?> , "selectAll" : <?php echo json_encode(sprintf(esc_html__('Select all %s{0}%s entries.', 'gravityforms'), '<strong>', '</strong>')); ?> , "allEntriesSelected" : <?php echo json_encode(sprintf(esc_html__('All %s{0}%s entries have been selected.', 'gravityforms'), '<strong>', '</strong>')); ?> , "clearSelection" : <?php echo json_encode(__('Clear selection', 'gravityforms')); ?> } var gformVars = { "countAllEntries": <?php echo intval($total_count); ?> , "perPage" : <?php echo intval($page_size); ?> } function setSelectAllText() { var tr = getSelectAllText(); jQuery("#gform-select-all-message td").html(tr); } function getSelectAllText() { var count; count = jQuery("#gf_entry_list tr:visible:not('#gform-select-all-message')").length; return gformStrings.allEntriesOnPageAreSelected.format(count) + " <a href='javascript:void(0)' onclick='selectAllEntriesOnAllPages();'>" + gformStrings.selectAll.format(gformVars.countAllEntries) + "</a>"; } function getSelectAllTr() { var t = getSelectAllText(); var colspan = jQuery("#gf_entry_list").find("tr:first td").length + 1; return "<tr id='gform-select-all-message' style='display:none;background-color:lightyellow;text-align:center;'><td colspan='{0}'>{1}</td></tr>".format(colspan, t); } function toggleSelectAll(visible) { if (gformVars.countAllEntries <= gformVars.perPage) { jQuery('#gform-select-all-message').hide(); return; } if (visible) setSelectAllText(); jQuery('#gform-select-all-message').toggle(visible); } function clearSelectAllEntries() { jQuery(".check-column input[type=checkbox]").prop('checked', false); clearSelectAllMessage(); } function clearSelectAllMessage() { jQuery("#all_entries").val("0"); jQuery("#gform-select-all-message").hide(); jQuery("#gform-select-all-message td").html(''); } function selectAllEntriesOnAllPages() { var trHtmlClearSelection; trHtmlClearSelection = gformStrings.allEntriesSelected.format(gformVars.countAllEntries) + " <a href='javascript:void(0);' onclick='clearSelectAllEntries();'>" + gformStrings.clearSelection + "</a>"; jQuery("#all_entries").val("1"); jQuery("#gform-select-all-message td").html(trHtmlClearSelection); } function initSelectAllEntries() { if (gformVars.countAllEntries > gformVars.perPage) { var tr = getSelectAllTr(); jQuery("#gf_entry_list").prepend(tr); jQuery(".headercb").click(function () { toggleSelectAll(jQuery(this).prop('checked')); }); jQuery("#gf_entry_list .check-column input[type=checkbox]").click(function () { clearSelectAllMessage(); }) } } String.prototype.format = function () { var args = arguments; return this.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] != 'undefined' ? args[number] : match; }); }; // end Select All jQuery(document).ready(function () { var action = <?php echo json_encode($action); ?> ; var message = <?php echo json_encode($update_message); ?> ; if (action && message) displayMessage(message, 'updated', '#lead_form'); var list = jQuery("#gf_entry_list").wpList({ alt: <?php echo json_encode(esc_html__('Entry List', 'gravityforms')); ?> }); list.bind('wpListDelEnd', function (e, s, list) { var currentStatus = <?php echo json_encode($filter == 'trash' || $filter == 'spam' ? $filter : 'active'); ?> ; var filter = <?php echo json_encode($filter); ?> ; var movingTo = "active"; if (s.data.status == "trash") movingTo = "trash"; else if (s.data.status == "spam") movingTo = "spam"; else if (s.data.status == "delete") movingTo = "delete"; var id = s.data.entry; var title = jQuery("#lead_row_" + id); var isUnread = title.hasClass("lead_unread"); var isStarred = title.hasClass("lead_starred"); if (movingTo != "delete") { //Updating All count var allCount = currentStatus == "active" ? -1 : 1; UpdateCount("all_count", allCount); //Updating Unread count if (isUnread) { var unreadCount = currentStatus == "active" ? -1 : 1; UpdateCount("unread_count", unreadCount); } //Updating Starred count if (isStarred) { var starCount = currentStatus == "active" ? -1 : 1; UpdateCount("star_count", starCount); } } //Updating Spam count if (currentStatus == "spam" || movingTo == "spam") { var spamCount = movingTo == "spam" ? 1 : -1; UpdateCount("spam_count", spamCount); //adjust paging counts if (filter == "spam") { UpdatePagingCounts(1); } else { UpdatePagingCounts(spamCount); } } //Updating trash count if (currentStatus == "trash" || movingTo == "trash") { var trashCount = movingTo == "trash" ? 1 : -1; UpdateCount("trash_count", trashCount); //adjust paging counts if (filter == "trash") { UpdatePagingCounts(1); } else { UpdatePagingCounts(trashCount); } } }); initSelectAllEntries(); jQuery('#entry_filters').gfFilterUI(gformFieldFilters, gformInitFilter, false); jQuery("#entry_filters").on("keypress", ".gform-filter-value", (function (event) { if (event.keyCode == 13) { Search(<?php echo json_encode($sort_field); ?> , <?php echo json_encode($sort_direction); ?> , <?php echo absint($form_id); ?> , jQuery('.gform-filter-value').val(), <?php echo json_encode($star); ?> , <?php echo json_encode($read); ?> , <?php echo json_encode($filter); ?> , jQuery('.gform-filter-field').val(), jQuery('.gform-filter-operator').val()); event.preventDefault(); } })); }); </script> <link rel="stylesheet" href="<?php echo GFCommon::get_base_url(); ?> /css/admin<?php echo $min; ?> .css" type="text/css" /> <style> /*#TB_window { height: 400px !important; } #TB_ajaxContent[style] { height: 370px !important; }*/ .lead_unread a, .lead_unread td { font-weight: bold; } .lead_spam_trash a, .lead_spam_trash td { font-weight: normal; } .row-actions a { font-weight: normal; } .entry_nowrap { overflow: hidden; white-space: nowrap; } .gform-filter-operator { width: 100px } </style> <div class="wrap <?php echo GFCommon::get_browser_class(); ?> "> <h2 class="gf_admin_page_title"> <span><?php esc_html_e('Entries', 'gravityforms'); ?> </span><span class="gf_admin_page_subtitle"><span class="gf_admin_page_formid">ID: <?php echo absint($form['id']); ?> </span><span class="gf_admin_page_formname"><?php esc_html_e('Form Name', 'gravityforms'); ?> : <?php echo esc_html($form['title']); ?> </span></span> </h2> <?php RGForms::top_toolbar(); ?> <form id="lead_form" method="post"> <?php wp_nonce_field('gforms_entry_list', 'gforms_entry_list'); ?> <input type="hidden" value="" name="grid_columns" id="grid_columns" /> <input type="hidden" value="" name="action" id="action" /> <input type="hidden" value="" name="action_argument" id="action_argument" /> <input type="hidden" value="" name="all_entries" id="all_entries" /> <ul class="subsubsub"> <li> <a class="<?php echo empty($filter) ? 'current' : ''; ?> " href="?page=gf_entries&view=entries&id=<?php echo absint($form_id); ?> "><?php _ex('All', 'Entry List', 'gravityforms'); ?> <span class="count">(<span id="all_count"><?php echo $active_lead_count; ?> </span>)</span></a> | </li> <li> <a class="<?php echo $read !== null ? 'current' : ''; ?> " href="?page=gf_entries&view=entries&id=<?php echo absint($form_id); ?> &filter=unread"><?php _ex('Unread', 'Entry List', 'gravityforms'); ?> <span class="count">(<span id="unread_count"><?php echo $unread_count; ?> </span>)</span></a> | </li> <li> <a class="<?php echo $star !== null ? 'current' : ''; ?> " href="?page=gf_entries&view=entries&id=<?php echo absint($form_id); ?> &filter=star"><?php _ex('Starred', 'Entry List', 'gravityforms'); ?> <span class="count">(<span id="star_count"><?php echo $starred_count; ?> </span>)</span></a> | </li> <?php if (GFCommon::spam_enabled($form_id)) { ?> <li> <a class="<?php echo $filter == 'spam' ? 'current' : ''; ?> " href="?page=gf_entries&view=entries&id=<?php echo absint($form_id); ?> &filter=spam"><?php esc_html_e('Spam', 'gravityforms'); ?> <span class="count">(<span id="spam_count"><?php echo esc_html($spam_count); ?> </span>)</span></a> | </li> <?php } ?> <li> <a class="<?php echo $filter == 'trash' ? 'current' : ''; ?> " href="?page=gf_entries&view=entries&id=<?php echo absint($form_id); ?> &filter=trash"><?php esc_html_e('Trash', 'gravityforms'); ?> <span class="count">(<span id="trash_count"><?php echo esc_html($trash_count); ?> </span>)</span></a></li> </ul> <div style="margin-top:12px;float:right;"> <a style="float:right;" class="button" id="lead_search_button" href="javascript:Search('<?php echo esc_js($sort_field); ?> ', '<?php echo esc_js($sort_direction); ?> ', <?php echo absint($form_id); ?> , jQuery('.gform-filter-value').val(), '<?php echo esc_js($star); ?> ', '<?php echo esc_js($read); ?> ', '<?php echo esc_js($filter); ?> ', jQuery('.gform-filter-field').val(), jQuery('.gform-filter-operator').val());"><?php esc_html_e('Search', 'gravityforms'); ?> </a> <div id="entry_filters" style="float:right"></div> </div> <div class="tablenav"> <div class="alignleft actions" style="padding:8px 0 7px 0;"> <label class="hidden" for="bulk_action"> <?php esc_html_e('Bulk action', 'gravityforms'); ?> </label> <select name="bulk_action" id="bulk_action"> <option value=''><?php esc_html_e(' Bulk action ', 'gravityforms'); ?> </option> <?php switch ($filter) { case 'trash': ?> <option value='restore'><?php esc_html_e('Restore', 'gravityforms'); ?> </option> <?php if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { ?> <option value='delete'><?php esc_html_e('Delete Permanently', 'gravityforms'); ?> </option> <?php } break; case 'spam': ?> <option value='unspam'><?php esc_html_e('Not Spam', 'gravityforms'); ?> </option> <?php if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { ?> <option value='delete'><?php esc_html_e('Delete Permanently', 'gravityforms'); ?> </option> <?php } break; default: ?> <option value='mark_read'><?php esc_html_e('Mark as Read', 'gravityforms'); ?> </option> <option value='mark_unread'><?php esc_html_e('Mark as Unread', 'gravityforms'); ?> </option> <option value='add_star'><?php esc_html_e('Add Star', 'gravityforms'); ?> </option> <option value='remove_star'><?php esc_html_e('Remove Star', 'gravityforms'); ?> </option> <option value='resend_notifications'><?php esc_html_e('Resend Notifications', 'gravityforms'); ?> </option> <option value='print'><?php esc_html_e('Print', 'gravityforms'); ?> </option> <?php if (GFCommon::spam_enabled($form_id)) { ?> <option value='spam'><?php esc_html_e('Spam', 'gravityforms'); ?> </option> <?php } if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { ?> <option value='trash'><?php esc_html_e('Trash', 'gravityforms'); ?> </option> <?php } } ?> </select> <?php $apply_button = '<input type="submit" class="button" value="' . esc_attr__('Apply', 'gravityforms') . '" onclick="return handleBulkApply(\'bulk_action\');" />'; /** * Allows for the modification of the Entry apply button HTML (When modifying entries) * * @param string $apply_button The Entry apply button HTML */ echo apply_filters('gform_entry_apply_button', $apply_button); if (in_array($filter, array('trash', 'spam'))) { $message = $filter == 'trash' ? esc_html__("WARNING! This operation cannot be undone. Empty trash? 'Ok' to empty trash. 'Cancel' to abort.", 'gravityforms') : esc_html__("WARNING! This operation cannot be undone. Permanently delete all spam? 'Ok' to delete. 'Cancel' to abort.", 'gravityforms'); $button_label = $filter == 'trash' ? __('Empty Trash', 'gravityforms') : __('Delete All Spam', 'gravityforms'); ?> <input type="submit" class="button" name="button_delete_permanently" value="<?php echo esc_attr($button_label); ?> " onclick="return confirm('<?php echo esc_js($message); ?> ');" /> <?php } ?> <div id="notifications_modal_container" style="display:none;"> <div id="notifications_container"> <div id="post_tag" class="tagsdiv"> <div id="resend_notifications_options"> <?php $notifications = GFCommon::get_notifications('resend_notifications', $form); if (!is_array($notifications) || count($form['notifications']) <= 0) { ?> <p class="description"><?php esc_html_e('You cannot resend notifications for these entries because this form does not currently have any notifications configured.', 'gravityforms'); ?> </p> <a href="<?php echo esc_url(admin_url("admin.php?page=gf_edit_forms&view=settings&subview=notification&id={$form['id']}")); ?> " class="button"><?php esc_html_e('Configure Notifications', 'gravityforms'); ?> </a> <?php } else { ?> <p class="description"><?php esc_html_e('Specify which notifications you would like to resend for the selected entries.', 'gravityforms'); ?> </p> <?php foreach ($notifications as $notification) { ?> <input type="checkbox" class="gform_notifications" value="<?php echo esc_attr($notification['id']); ?> " id="notification_<?php echo esc_attr($notification['id']); ?> " onclick="toggleNotificationOverride();" /> <label for="notification_<?php echo esc_attr($notification['id']); ?> "><?php echo esc_html($notification['name']); ?> </label> <br /><br /> <?php } ?> <div id="notifications_override_settings" style="display:none;"> <p class="description" style="padding-top:0; margin-top:0;"> <?php esc_html_e('You may override the default notification settings by entering a comma delimited list of emails to which the selected notifications should be sent.', 'gravityforms'); ?> </p> <label for="notification_override_email"><?php esc_html_e('Send To', 'gravityforms'); ?> <?php gform_tooltip('notification_override_email'); ?> </label><br /> <input type="text" name="notification_override_email" id="notification_override_email" style="width:99%;" /><br /><br /> </div> <input type="button" name="notification_resend" id="notification_resend" value="<?php esc_attr_e('Resend Notifications', 'gravityforms'); ?> " class="button" style="" onclick="BulkResendNotifications();" /> <span id="please_wait_container" style="display:none; margin-left: 5px;"> <i class='gficon-gravityforms-spinner-icon gficon-spin'></i> <?php esc_html_e('Resending...', 'gravityforms'); ?> </span> <?php } ?> </div> <div id="resend_notifications_close" style="display:none;margin:10px 0 0;"> <input type="button" name="resend_notifications_close_button" value="<?php esc_attr_e('Close Window', 'gravityforms'); ?> " class="button" style="" onclick="closeModal(true);" /> </div> </div> </div> </div> <!-- / Resend Notifications --> <div id="print_modal_container" style="display:none;"> <div id="print_container"> <div class="tagsdiv"> <div id="print_options"> <p class="description"><?php esc_html_e('Print all of the selected entries at once.', 'gravityforms'); ?> </p> <?php if (GFCommon::current_user_can_any('gravityforms_view_entry_notes')) { ?> <input type="checkbox" name="gform_print_notes" value="print_notes" checked="checked" id="gform_print_notes" /> <label for="gform_print_notes"><?php esc_html_e('Include notes', 'gravityforms'); ?> </label> <br /><br /> <?php } ?> <input type="checkbox" name="gform_print_page_break" value="print_notes" checked="checked" id="gform_print_page_break" /> <label for="gform_print_page_break"><?php esc_html_e('Add page break between entries', 'gravityforms'); ?> </label> <br /><br /> <input type="button" value="<?php esc_attr_e('Print', 'gravityforms'); ?> " class="button" onclick="BulkPrint();" /> </div> </div> </div> </div> <!-- / Print --> </div> <?php echo self::display_paging_links('header', $page_links, $first_item_index, $page_size, $total_count); ?> <div class="clear"></div> </div> <table class="widefat fixed" cellspacing="0"> <thead> <tr> <th scope="col" id="cb" class="manage-column column-cb check-column"> <input type="checkbox" class="headercb" /></th> <?php if (!in_array($filter, array('spam', 'trash'))) { ?> <th scope="col" id="cb" class="manage-column column-cb check-column"> </th> <?php } foreach ($columns as $field_id => $field_info) { $dir = $field_id == 0 ? 'DESC' : 'ASC'; //default every field so ascending sorting except date_created (id=0) if ($field_id == $sort_field) { //reverting direction if clicking on the currently sorted field $dir = $sort_direction == 'ASC' ? 'DESC' : 'ASC'; } ?> <th scope="col" class="manage-column entry_nowrap" onclick="Search('<?php echo esc_js($field_id); ?> ', '<?php echo esc_js($dir); ?> ', <?php echo absint($form_id); ?> , '<?php echo esc_js($search); ?> ', '<?php echo esc_js($star); ?> ', '<?php echo esc_js($read); ?> ', '<?php echo esc_js($filter); ?> ', '<?php echo esc_js($search_field_id); ?> ', '<?php echo esc_js($search_operator); ?> ');" style="cursor:pointer;"><?php echo esc_html($field_info['label']); ?> </th> <?php } ?> <th scope="col" align="right" width="50"> <a title="<?php esc_attr_e('click to select columns to display', 'gravityforms'); ?> " href="<?php echo trailingslashit(site_url(null, 'admin')); ?> ?gf_page=select_columns&id=<?php echo absint($form_id); ?> &TB_iframe=true&height=365&width=600" class="thickbox entries_edit_icon"><i class="fa fa-cog"></i></a> </th> </tr> </thead> <tfoot> <tr> <th scope="col" id="cb" class="manage-column column-cb check-column" style=""><input type="checkbox" /></th> <?php if (!in_array($filter, array('spam', 'trash'))) { ?> <th scope="col" id="cb" class="manage-column column-cb check-column"> </th> <?php } foreach ($columns as $field_id => $field_info) { $dir = $field_id == 0 ? 'DESC' : 'ASC'; //default every field so ascending sorting except date_created (id=0) if ($field_id == $sort_field) { //reverting direction if clicking on the currently sorted field $dir = $sort_direction == 'ASC' ? 'DESC' : 'ASC'; } ?> <th scope="col" class="manage-column entry_nowrap" onclick="Search('<?php echo esc_js($field_id); ?> ', '<?php echo esc_js($dir); ?> ', <?php echo absint($form_id); ?> , '<?php echo esc_js($search); ?> ', '<?php echo esc_js($star); ?> ', '<?php echo esc_js($read); ?> ', '<?php echo esc_js($filter); ?> ', '<?php echo esc_js($search_field_id); ?> ', '<?php echo esc_js($search_operator); ?> ');" style="cursor:pointer;"><?php echo esc_html($field_info['label']); ?> </th> <?php } ?> <th scope="col" style="width:15px;"> <a title="<?php esc_attr_e('click to select columns to display', 'gravityforms'); ?> " href="<?php echo trailingslashit(site_url()); ?> ?gf_page=select_columns&id=<?php echo absint($form_id); ?> &TB_iframe=true&height=365&width=600" class="thickbox entries_edit_icon"><i class=fa-cog"></i></a> </th> </tr> </tfoot> <tbody data-wp-lists="list:gf_entry" class="user-list" id="gf_entry_list"> <?php if (sizeof($leads) > 0) { $field_ids = array_keys($columns); $gf_entry_locking = new GFEntryLocking(); $alternate_row = false; foreach ($leads as $position => $lead) { $position = $page_size * $page_index + $position; ?> <tr id="lead_row_<?php echo esc_attr($lead['id']); ?> " class='author-self status-inherit <?php echo $lead['is_read'] ? '' : 'lead_unread'; ?> <?php echo $lead['is_starred'] ? 'lead_starred' : ''; ?> <?php echo in_array($filter, array('trash', 'spam')) ? 'lead_spam_trash' : ''; ?> <?php $gf_entry_locking->list_row_class($lead['id']); ?> <?php echo ($alternate_row = !$alternate_row) ? 'alternate' : ''; ?> ' valign="top" data-id="<?php echo esc_attr($lead['id']); ?> "> <th scope="row" class="check-column"> <input type="checkbox" name="lead[]" value="<?php echo esc_attr($lead['id']); ?> " /> <?php $gf_entry_locking->lock_indicator(); ?> </th> <?php if (!in_array($filter, array('spam', 'trash'))) { ?> <td> <img id="star_image_<?php echo esc_attr($lead['id']); ?> " src="<?php echo GFCommon::get_base_url(); ?> /images/star<?php echo intval($lead['is_starred']); ?> .png" onclick="ToggleStar(this, '<?php echo esc_js($lead['id']); ?> ','<?php echo esc_js($filter); ?> ');" /> </td> <?php } $is_first_column = true; $nowrap_class = 'entry_nowrap'; foreach ($field_ids as $field_id) { $field = RGFormsModel::get_field($form, $field_id); $value = rgar($lead, $field_id); if (!empty($field) && $field->type == 'post_category') { $value = GFCommon::prepare_post_category_value($value, $field, 'entry_list'); } //filtering lead value $value = apply_filters('gform_get_field_value', $value, $lead, $field); $input_type = !empty($columns[$field_id]['inputType']) ? $columns[$field_id]['inputType'] : $columns[$field_id]['type']; switch ($input_type) { case 'source_url': $value = "<a href='" . esc_attr($lead['source_url']) . "' target='_blank' alt='" . esc_attr($lead['source_url']) . "' title='" . esc_attr($lead['source_url']) . "'>.../" . esc_attr(GFCommon::truncate_url($lead['source_url'])) . '</a>'; break; case 'date_created': case 'payment_date': $value = GFCommon::format_date($value, false); break; case 'payment_amount': $value = GFCommon::to_money($value, $lead['currency']); break; case 'created_by': if (!empty($value)) { $userdata = get_userdata($value); if (!empty($userdata)) { $value = $userdata->user_login; } } break; default: if ($field !== null) { $value = $field->get_value_entry_list($value, $lead, $field_id, $columns, $form); } else { $value = esc_html($value); } } $value = apply_filters('gform_entries_field_value', $value, $form_id, $field_id, $lead); /* ^ maybe move to function */ $query_string = "gf_entries&view=entry&id={$form_id}&lid={$lead['id']}{$search_qs}{$sort_qs}{$dir_qs}{$filter_qs}&paged=" . ($page_index + 1); if ($is_first_column) { ?> <td class="column-title"> <a href="admin.php?page=gf_entries&view=entry&id=<?php echo absint($form_id); ?> &lid=<?php echo esc_attr($lead['id'] . $search_qs . $sort_qs . $dir_qs . $filter_qs); ?> &paged=<?php echo $page_index + 1; ?> &pos=<?php echo $position; ?> &field_id=<?php echo esc_attr($search_field_id); ?> &operator=<?php echo esc_attr($search_operator); ?> "><?php echo $value; ?> </a> <?php $gf_entry_locking->lock_info($lead['id']); ?> <div class="row-actions"> <?php switch ($filter) { case 'trash': ?> <span class="edit"> <a title="<?php esc_attr_e('View this entry', 'gravityforms'); ?> " href="admin.php?page=gf_entries&view=entry&id=<?php echo absint($form_id); ?> &lid=<?php echo esc_attr($lead['id'] . $search_qs . $sort_qs . $dir_qs . $filter_qs); ?> &paged=<?php echo $page_index + 1; ?> &pos=<?php echo $position; ?> &field_id=<?php echo esc_attr($search_field_id); ?> &operator=<?php echo esc_attr($search_operator); ?> "><?php esc_html_e('View', 'gravityforms'); ?> </a> | </span> <span class="edit"> <a data-wp-lists='delete:gf_entry_list:lead_row_<?php echo esc_attr($lead['id']); ?> ::status=active&entry=<?php echo esc_attr($lead['id']); ?> ' title="<?php esc_attr_e('Restore this entry', 'gravityforms'); ?> " href="<?php echo wp_nonce_url('?page=gf_entries', 'gf_delete_entry'); ?> "><?php esc_html_e('Restore', 'gravityforms'); ?> </a> <?php echo GFCommon::current_user_can_any('gravityforms_delete_entries') ? '|' : ''; ?> </span> <?php if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { ?> <span class="delete"> <?php $delete_link = '<a data-wp-lists="delete:gf_entry_list:lead_row_' . esc_attr($lead['id']) . '::status=delete&entry=' . esc_attr($lead['id']) . '" title="' . esc_attr__('Delete this entry permanently', 'gravityforms') . '" href="' . wp_nonce_url('?page=gf_entries', 'gf_delete_entry') . '">' . esc_html__('Delete Permanently', 'gravityforms') . '</a>'; /** * Allows for modification of a Form entry "delete" link * * @param string $delete_link The Entry Delete Link (Formatted in HTML) */ echo apply_filters('gform_delete_entry_link', $delete_link); ?> </span> <?php } break; case 'spam': ?> <span class="edit"> <a title="<?php esc_attr_e('View this entry', 'gravityforms'); ?> " href="admin.php?page=gf_entries&view=entry&id=<?php echo absint($form_id); ?> &lid=<?php echo esc_attr($lead['id'] . $search_qs . $sort_qs . $dir_qs . $filter_qs); ?> &paged=<?php echo $page_index + 1; ?> &pos=<?php echo $position; ?> "><?php esc_html_e('View', 'gravityforms'); ?> </a> | </span> <span class="unspam"> <a data-wp-lists='delete:gf_entry_list:lead_row_<?php echo esc_attr($lead['id']); ?> ::status=unspam&entry=<?php echo esc_attr($lead['id']); ?> ' title="<?php esc_attr_e('Mark this entry as not spam', 'gravityforms'); ?> " href="<?php echo wp_nonce_url('?page=gf_entries', 'gf_delete_entry'); ?> "><?php esc_html_e('Not Spam', 'gravityforms'); ?> </a> <?php echo GFCommon::current_user_can_any('gravityforms_delete_entries') ? '|' : ''; ?> </span> <?php if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { ?> <span class="delete"> <?php $delete_link = '<a data-wp-lists="delete:gf_entry_list:lead_row_' . esc_attr($lead['id']) . '::status=delete&entry=' . esc_attr($lead['id']) . '" title="' . esc_attr__('Delete this entry permanently', 'gravityforms') . '" href="' . wp_nonce_url('?page=gf_entries', 'gf_delete_entry') . '">' . esc_html__('Delete Permanently', 'gravityforms') . '</a>'; /** * Allows for modification of a Form entry "delete" link * * @param string $delete_link The Entry Delete Link (Formatted in HTML) */ echo apply_filters('gform_delete_entry_link', $delete_link); ?> </span> <?php } break; default: ?> <span class="edit"> <a title="<?php esc_attr_e('View this entry', 'gravityforms'); ?> " href="admin.php?page=gf_entries&view=entry&id=<?php echo absint($form_id); ?> &lid=<?php echo esc_attr($lead['id'] . $search_qs . $sort_qs . $dir_qs . $filter_qs); ?> &paged=<?php echo $page_index + 1; ?> &pos=<?php echo $position; ?> &field_id=<?php echo esc_attr($search_field_id); ?> &operator=<?php echo esc_attr($search_operator); ?> "><?php esc_html_e('View', 'gravityforms'); ?> </a> | </span> <span class="edit"> <a id="mark_read_<?php echo esc_attr($lead['id']); ?> " title="Mark this entry as read" href="javascript:ToggleRead('<?php echo esc_js($lead['id']); ?> ', '<?php echo esc_js($filter); ?> ');" style="display:<?php echo $lead['is_read'] ? 'none' : 'inline'; ?> ;"><?php esc_html_e('Mark read', 'gravityforms'); ?> </a><a id="mark_unread_<?php echo absint($lead['id']); ?> " title="<?php esc_attr_e('Mark this entry as unread', 'gravityforms'); ?> " href="javascript:ToggleRead('<?php echo esc_js($lead['id']); ?> ', '<?php echo esc_js($filter); ?> ');" style="display:<?php echo $lead['is_read'] ? 'inline' : 'none'; ?> ;"><?php esc_html_e('Mark unread', 'gravityforms'); ?> </a> <?php echo GFCommon::current_user_can_any('gravityforms_delete_entries') || GFCommon::akismet_enabled($form_id) ? '|' : ''; ?> </span> <?php if (GFCommon::spam_enabled($form_id)) { ?> <span class="spam"> <a data-wp-lists='delete:gf_entry_list:lead_row_<?php echo esc_attr($lead['id']); ?> ::status=spam&entry=<?php echo esc_attr($lead['id']); ?> ' title="<?php esc_attr_e('Mark this entry as spam', 'gravityforms'); ?> " href="<?php echo wp_nonce_url('?page=gf_entries', 'gf_delete_entry'); ?> "><?php esc_html_e('Spam', 'gravityforms'); ?> </a> <?php echo GFCommon::current_user_can_any('gravityforms_delete_entries') ? '|' : ''; ?> </span> <?php } if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { ?> <span class="trash"> <a data-wp-lists='delete:gf_entry_list:lead_row_<?php echo esc_attr($lead['id']); ?> ::status=trash&entry=<?php echo esc_attr($lead['id']); ?> ' title="<?php esc_attr_e('Move this entry to the trash', 'gravityforms'); ?> " href="<?php echo wp_nonce_url('?page=gf_entries', 'gf_delete_entry'); ?> "><?php esc_html_e('Trash', 'gravityforms'); ?> </a> </span> <?php } break; } do_action('gform_entries_first_column_actions', $form_id, $field_id, $value, $lead, $query_string); ?> </div> <?php do_action('gform_entries_first_column', $form_id, $field_id, $value, $lead, $query_string); ?> </td> <?php } else { ?> <td class="<?php echo $nowrap_class; ?> "> <?php echo apply_filters('gform_entries_column_filter', $value, $form_id, $field_id, $lead, $query_string); ?> <?php do_action('gform_entries_column', $form_id, $field_id, $value, $lead, $query_string); ?> </td> <?php } $is_first_column = false; } ?> <td> </td> </tr> <?php } } else { $column_count = sizeof($columns) + 3; switch ($filter) { case 'unread': $message = isset($_GET['field_id']) ? esc_html__('This form does not have any unread entries matching the search criteria.', 'gravityforms') : esc_html__('This form does not have any unread entries.', 'gravityforms'); break; case 'star': $message = isset($_GET['field_id']) ? esc_html__('This form does not have any starred entries matching the search criteria.', 'gravityforms') : esc_html__('This form does not have any starred entries.', 'gravityforms'); break; case 'spam': $message = esc_html__('This form does not have any spam.', 'gravityforms'); $column_count = sizeof($columns) + 2; break; case 'trash': $message = isset($_GET['field_id']) ? esc_html__('This form does not have any entries in the trash matching the search criteria.', 'gravityforms') : esc_html__('This form does not have any entries in the trash.', 'gravityforms'); $column_count = sizeof($columns) + 2; break; default: $message = isset($_GET['field_id']) ? esc_html__('This form does not have any entries matching the search criteria.', 'gravityforms') : esc_html__('This form does not have any entries yet.', 'gravityforms'); } ?> <tr> <td colspan="<?php echo esc_attr($column_count); ?> " style="padding:20px;"><?php echo esc_html($message); ?> </td> </tr> <?php } ?> </tbody> </table> <div class="clear"></div> <div class="tablenav"> <div class="alignleft actions" style="padding:8px 0 7px 0;"> <label class="hidden" for="bulk_action2"> <?php esc_html_e('Bulk action', 'gravityforms'); ?> </label> <select name="bulk_action2" id="bulk_action2"> <option value=''><?php esc_html_e(' Bulk action ', 'gravityforms'); ?> </option> <?php switch ($filter) { case 'trash': ?> <option value='restore'><?php esc_html_e('Restore', 'gravityforms'); ?> </option> <?php if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { ?> <option value='delete'><?php esc_html_e('Delete Permanently', 'gravityforms'); ?> </option> <?php } break; case 'spam': ?> <option value='unspam'><?php esc_html_e('Not Spam', 'gravityforms'); ?> </option> <?php if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { ?> <option value='delete'><?php esc_html_e('Delete Permanently', 'gravityforms'); ?> </option> <?php } break; default: ?> <option value='mark_read'><?php esc_html_e('Mark as Read', 'gravityforms'); ?> </option> <option value='mark_unread'><?php esc_html_e('Mark as Unread', 'gravityforms'); ?> </option> <option value='add_star'><?php esc_html_e('Add Star', 'gravityforms'); ?> </option> <option value='remove_star'><?php esc_html_e('Remove Star', 'gravityforms'); ?> </option> <option value='resend_notifications'><?php esc_html_e('Resend Notifications', 'gravityforms'); ?> </option> <option value='print'><?php esc_html_e('Print Entries', 'gravityforms'); ?> </option> <?php if (GFCommon::spam_enabled($form_id)) { ?> <option value='spam'><?php esc_html_e('Spam', 'gravityforms'); ?> </option> <?php } if (GFCommon::current_user_can_any('gravityforms_delete_entries')) { ?> <option value='trash'><?php esc_html_e('Move to Trash', 'gravityforms'); ?> </option> <?php } } ?> </select> <?php $apply_button = '<input type="submit" class="button" value="' . esc_attr__('Apply', 'gravityforms') . '" onclick="return handleBulkApply(\'bulk_action2\');" />'; /** * Allows for the modification of the Entry apply button HTML (When modifying entries) * * @param string $apply_button The Entry apply button HTML */ echo apply_filters('gform_entry_apply_button', $apply_button); ?> </div> <?php echo self::display_paging_links('footer', $page_links, $first_item_index, $page_size, $total_count); ?> <div class="clear"></div> </div> </form> </div> <?php }
public function run($arguments) { if (class_exists('RGFormsModel') && is_callable(array('RGFormsModel', 'get_form_meta')) && class_exists('GFAPI') && is_callable(array('GFAPI', 'get_entries'))) { if (empty($arguments['id'])) { return array('error' => 'Form ID Required'); } $return = array(); $form_meta = GFFormsModel::get_form_meta(absint($arguments['id'])); $return['field_labels'] = array(); foreach ($form_meta['fields'] as $field) { $return['field_labels']["{$field['id']}"] = $this->_process_label($field); } $return['current_page'] = empty($arguments['page']) ? 1 : absint($arguments['page']); if ($return['current_page'] < 1) { $return['current_page'] = 1; } $paging = array('page_size' => 20); $paging['offset'] = ($return['current_page'] - 1) * $paging['page_size']; $return['total_count'] = 0; $return['entries'] = GFAPI::get_entries(absint($arguments['id']), null, null, $paging, $return['total_count']); $return['page_size'] = $paging['page_size']; $return['total_pages'] = ceil($return['total_count'] / $paging['page_size']); return $return; } return false; }
public static function admin_menu() { $tribe_settings = TribeSettings::instance(); // Export entries if ($_REQUEST['page'] === 'tribe-events-calendar-registration-export' and !is_null($_REQUEST['id'])) { $post_id = $_REQUEST['id']; $forms = GFFormsModel::get_forms(); foreach ($forms as $form) { if (strtolower($form->title) == strtolower(self::$formTitle)) { $form_id = $form->id; $entries = GFAPI::get_entries($form_id, array('field_filters' => array(array('key' => '7', 'value' => $post_id))), null, array('offset' => '0', 'page_size' => '1000')); header("Content-type: text/csv"); header("Content-Disposition: attachment; filename=" . sanitize_title_with_dashes($entries[0]['6']) . ".csv"); header("Pragma: no-cache"); header("Expires: 0"); echo $entries[0]['6'] . "\n"; echo "Date Created, First Name, Last Name, Email, Phone Number, Number of Participants\n"; foreach ($entries as $entry) { echo $entry['date_created'] . ','; echo $entry['1'] . ','; echo $entry['2'] . ','; echo $entry['3'] . ','; echo $entry['4'] . ','; echo $entry['5'] . "\n"; } die; } } } }
function getEntries($formID) { if (class_exists("GFForms")) { $paging = array('offset' => 0, 'page_size' => 200); $sorting = array(); $total_count = 0; $search_criteria = array(); $unfilteredEntries = GFAPI::get_entries(5, $search_criteria, $sorting, $paging, $total_count); $filteredEntries = array(); foreach ($unfilteredEntries as $value) { array_push($filteredEntries, iff_competition_filterEntry($value)); } return $filteredEntries; } return null; }
function cgc_contest_get_entries($id = 0, $url = '', $limit = '') { $paging = array('offset' => 0, 'page_size' => 100); // get entries via GF api with entry id $entries = GFAPI::get_entries($id, '', null, $paging); // bail if no data if (!$id || !$url) { return; } if (!$entries) { echo 'No entries yet, be the first to enter by submitting your entry above!'; } $i = 0; foreach ($entries as $entry) { $i++; // bail if no url in entry if (empty($entry[$url])) { return; } // get the sketchfab url from the entry and build the iframe url $source = $entry[$url] ? sprintf('%s/embed', $entry[$url]) : null; // add a class to every 3rd if (0 == $i % 3) { $last = 'last'; } else { $last = null; } // draw the item printf('<div class="cgc-contest-entry %s"><div class="cgc-contest-entry-inner"><iframe width="310" height="230" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="%s" onload=lzld(this) frameborder="0" allowfullscreen mozallowfullscreen="true" webkitallowfullscreen="true" onmousewheel=""></iframe></div></div>', $last, $source); // if a limit is set then break at the set limit if ($limit && 0 == $i % $limit) { break; } } }
function aura_get_master_aura_form_details($form, $ajax_enabled, $field_values) { // Get details from master form. $ar_form = GFAPI::get_form(1); $au_search_criteria = array('status' => array('active', 'trash')); $ar_entries = GFAPI::get_entries(1, $au_search_criteria); $body_part = array(); // To hold description associated with bodypart/color. $pos_color = array(); $neg_color = array(); $bp = array(); // Pull details from aura details form to display in this form. // Index each entry by 'body part' foreach ($ar_entries as $entry) { if ($entry['1'] == '') { continue; } else { $idx = $entry['1']; $bp[] = array('text' => $entry['1'], 'value' => $entry['1']); if ($entry['2'] != '') { $body_part[$idx]['pos_color'][$entry['2']] = $entry['4']; // Set pos colour value to description $needle = array('text' => $entry['2'], 'value' => $entry['2']); if (!in_array($needle, $pos_color)) { $pos_color[] = $needle; } } if ($entry['3'] != '') { $body_part[$idx]['neg_color'][$entry['3']] = $entry['5']; $needle = array('text' => $entry['3'], 'value' => $entry['3']); if (!in_array($needle, $neg_color)) { $neg_color[] = $needle; } } } } // To display description using JS $json_bp = json_encode($body_part); /* $html = '<input type="hidden" name="aura_body_part"' . 'id="aura_body_part_id"' . 'value=' . $json_bp . ' />' ; */ // HACK/REVISIT: Creating JS var safe? $html = '<script type="text/javascript"> var g_aura_body_part=' . $json_bp . '</script>'; echo $html; $form['fields'][5]['choices'] = $bp; $form['fields'][6]['choices'] = $pos_color; $form['fields'][8]['choices'] = $neg_color; // Default display $form['fields'][5]['placeholder'] = 'Pick choice from list below'; $form['fields'][6]['placeholder'] = 'Pick choice from list below'; $form['fields'][8]['placeholder'] = 'Pick choice from list below'; // $form['fields'][7]['choices'] = $pos_color_descr; // $form['fields'][9]['choices'] = $neg_color_descr; return $form; }
/** * Fetch the entry for the View * * We need to use this instead of GFAPI::get_entry() because we want to also pass the Form ID to the * get_entries() method. * * @param int $entry_id * @param int $form_id * * @return array|bool False if no entry exists; Entry array if exists. */ function get_entry($entry_id = 0, $form_id = 0) { $search_criteria = array('field_filters' => array(array('key' => 'id', 'value' => $entry_id))); $paging = array('offset' => 0, 'page_size' => 1); $entries = GFAPI::get_entries($form_id, $search_criteria, null, $paging); $entry = !is_wp_error($entries) && !empty($entries[0]) ? $entries[0] : false; return $entry; }
public static function get_entry_by_value($form_id = 0, $key = 0, $value = null) { if ($value == "user_login") { global $current_user; get_currentuserinfo(); $value = $current_user->user_login; } // setup search criteria $search_criteria['field_filters'][] = array('key' => $key, 'value' => $value); $search_criteria["status"] = "active"; // run query $entry = GFAPI::get_entries($form_id, $search_criteria); self::set_entry($entry); }
function gravitywp_count_func($atts, $content = null) { extract(shortcode_atts(array('formid' => 'formid', 'field' => 'field'), $atts)); $search_criteria = null; $sorting = null; $paging = array('offset' => 0, 'page_size' => 200); $entries = GFAPI::get_entries($formid, $search_criteria, $sorting, $paging); $countentries = GFAPI::count_entries($formid); $gwp_count = 0; for ($row = 0; $row < $countentries; $row++) { $gwp_count += $entries[$row][$field]; } return $gwp_count; }
function getActiveMemberships($formID, $pageSize) { if (class_exists("GFForms")) { $paging = array('offset' => 0, 'page_size' => (int) $pageSize); $sorting = array('key' => '19', 'direction' => 'ASC'); $total_count = 0; $search_criteria = array('field_filters' => array('mode' => 'any', array('key' => 'payment_status', 'value' => 'Paid'), array('key' => '7', 'value' => 'Youth Membership (€0.00)|0'), array('key' => '7', 'value' => 'First Membership (€0.00)|0'))); $unfilteredEntries = GFAPI::get_entries($formID, $search_criteria, $sorting, $paging, $total_count); $filteredEntries = array(); foreach ($unfilteredEntries as $value) { array_push($filteredEntries, filterEntry($value)); } return $filteredEntries; } return null; }
function au_list_aura_details() { $ar_form = GFAPI::get_form(1); $ar_field_len = sizeof($ar_form['fields']); echo "<br>"; // Now print all the entries $au_search_criteria = array('status' => array('active', 'trash')); $ar_entries = GFAPI::get_entries(1, $au_search_criteria); $descr = array(); $remedy = array(); foreach ($ar_entries as $ar_row) { $descr[] = count($ar_row[4] != 0) ? $ar_row[4] : "<>"; $remedy[] = count($ar_row[5] != 0) ? $ar_row[5] : "<>"; } echo "<br><b> Description: </b>"; foreach ($descr as $d) { echo $d; } echo "<br><br><b> Remedial Measures </b>"; foreach ($remedy as $r) { echo $r; } }
public function upgrade($previous_version) { if (version_compare($previous_version, '1.0.5') == -1) { $forms = GFAPI::get_forms(true); foreach ($forms as $form) { $entries = GFAPI::get_entries($form['id']); $fields = GFAPI::get_fields_by_type($form, 'repeater'); foreach ($entries as $entry) { foreach ($fields as $field) { if (array_key_exists($field['id'], $entry)) { $dataArray = GFFormsModel::unserialize($entry[$field['id']]); $dataUpdated = false; if (!is_array($dataArray)) { continue; } foreach ($dataArray as $repeaterChildId => $repeaterChild) { foreach ($repeaterChild as $repeatedFieldId => $repeatedField) { if (!is_array($repeatedField)) { if ($repeatedField !== '[gfRepeater-section]') { $dataUpdated = true; $dataArray[$repeaterChildId][$repeatedFieldId] = array($repeatedField); } } elseif (reset($repeatedField) == '[gfRepeater-section]') { $dataUpdated = true; $dataArray[$repeaterChildId][$repeatedFieldId] = reset($repeatedField); } } } if ($dataUpdated) { GFAPI::update_entry_field($entry['id'], $field['id'], maybe_serialize($dataArray)); } } } } } } }
add_action('gform_after_submission_1', function ($entry, $form) { // Convert this entry to a post wpcampus_convert_entry_to_post($entry, $form); }, 10, 2); // Manually convert interest form entries to CPT add_action('admin_init', function () { // @TODO create an admin button for this? return; // ID for interest form $form_id = 1; // What entry should we start on? $entry_offset = 0; // How many entries? $entry_count = 50; // Get interest entries if ($entries = GFAPI::get_entries($form_id, array('status' => 'active'), array(), array('offset' => $entry_offset, 'page_size' => $entry_count))) { // Get form data $form = GFAPI::get_form($form_id); // Process each entry foreach ($entries as $entry) { // Convert this entry to a post wpcampus_convert_entry_to_post($entry, $form); } } }); // Process specific form entry to convert to CPT // Can pass entry or form object or entry or form ID function wpcampus_convert_entry_to_post($entry, $form) { // If ID, get the entry if (is_numeric($entry) && $entry > 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 ' <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') ? '¬es=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 } }
/** * Retrieve entries given search, sort, paging criteria * * @see GFAPI::get_entries() * @see GFFormsModel::get_field_filters_where() * @access public * @param int|array $form_ids The ID of the form or an array IDs of the Forms. Zero for all forms. * @param mixed $passed_criteria (default: null) * @param mixed &$total Optional. An output parameter containing the total number of entries. Pass a non-null value to generate the total count. (default: null) * @return mixed False: Error fetching entries. Array: Multi-dimensional array of Gravity Forms entry arrays */ public static function get_entries($form_ids = null, $passed_criteria = null, &$total = null) { // Filter the criteria before query (includes Adv Filter) $criteria = self::calculate_get_entries_criteria($passed_criteria, $form_ids); do_action('gravityview_log_debug', '[gravityview_get_entries] Final Parameters', $criteria); // Return value $return = null; if (!empty($criteria['cache'])) { $Cache = new GravityView_Cache($form_ids, $criteria); if ($entries = $Cache->get()) { // Still update the total count when using cached results if (!is_null($total)) { $total = GFAPI::count_entries($form_ids, $criteria['search_criteria']); } $return = $entries; } } if (is_null($return) && class_exists('GFAPI') && (is_numeric($form_ids) || is_array($form_ids))) { $entries = GFAPI::get_entries($form_ids, $criteria['search_criteria'], $criteria['sorting'], $criteria['paging'], $total); if (is_wp_error($entries)) { do_action('gravityview_log_error', $entries->get_error_message(), $entries); return false; } if (!empty($criteria['cache']) && isset($Cache)) { // Cache results $Cache->set($entries, 'entries'); } $return = $entries; } /** * @filter `gravityview_entries` Modify the array of entries returned to GravityView after it has been fetched from the cache or from `GFAPI::get_entries()`. * @param array|null $entries Array of entries as returned by the cache or by `GFAPI::get_entries()` * @param array $criteria The final search criteria used to generate the request to `GFAPI::get_entries()` * @param array $passed_criteria The original search criteria passed to `GVCommon::get_entries()` * @param int|null $total Optional. An output parameter containing the total number of entries. Pass a non-null value to generate */ $return = apply_filters('gravityview_entries', $return, $criteria, $passed_criteria, $total); return $return; }
<div class="popup"> <a class="close" href="#"><i class="icon-close"></i></a> <ul class="social-list"> <li class="facebook"><a href="http://www.facebook.com/makerfaire" target="_blank"><i class="icon-facebook"></i></a></li> <li class="twitter"><a href="http://twitter.com/makerfaire"><i class="icon-twitter" target="_blank"></i></a></li> <li class="instagram"><a href="//instagram.com/makerfaire" target="_blank"><i class="icon-instagram"></i></a></li> <li class="googleplus"><a href="http://plus.google.com/communities/105823492396218903971" target="_blank"><i class="icon-googleplus"></i></a></li> </ul> </div> </div> <div class="carousel-inner"> <div class="mask"> <div class="slideset"> <?php $sorting = array('key' => 5, 'direction' => 'ASC'); $entries = GFAPI::get_entries(24, null, $sorting, array('offset' => 0, 'page_size' => 10)); ?> <?php foreach ($entries as $entry) { ?> <div class="slide" data-url="<?php echo $entry['4']; ?> "> <div class="bg-stretch"> <a href="<?php echo $entry['4']; ?> "><img src="<?php echo legacy_get_resized_remote_image_url($entry['1'], 1274, 370);
$current_form_ids = explode(',', $results[0]->form_ids); //$search_term = urldecode($wp_query->query_vars['s_keyword']); $search_term = $_GET["s_term"]; $currentpage = $wp_query->query_vars['offset']; $page_size = 30; $offset = ($currentpage - 1) * $page_size; $total_count = 0; $f = $wp_query->query_vars['f']; //$search_criteria = array( 'key' => '147', 'value' => $search_term); $search_criteria['field_filters'][] = array('151' => '1', 'operator' => 'contains', 'value' => $search_term); $search_criteria['field_filters'][] = array('15' => '1', 'operator' => 'contains', 'value' => $search_term); $search_criteria['field_filters'][] = array('303' => '1', 'value' => 'Accepted'); $sorting_criteria = array('key' => '151', 'direction' => 'ASC'); $paging_criteria = array('offset' => $offset, 'page_size' => $page_size); //$entries=search_entries_bytopic($current_form_ids,$search_criteria,$sorting_criteria,$paging_criteria,$total_count); $entries = GFAPI::get_entries($current_form_ids, $search_criteria, $sorting_criteria, $paging_criteria, $total_count); $current_url = '/' . $f . '/meet-the-makers/search/'; // Load Categories $cats_tags = get_categories(array('hide_empty' => 0)); get_header(); ?> <div class="clear"></div> <div class="container"> <div class="row"> <div class="content col-md-8"> <div class="row padbottom"> <div class="col-md-8"> <a href="/<?php echo str_replace(' ', '-', strtolower($faire_name));
/** * Sticky List shortcode function * */ function stickylist_shortcode($atts) { $shortcode_id = shortcode_atts(array('id' => '1', 'user' => '', 'showto' => ''), $atts); $form_id = $shortcode_id['id']; $user_id = $shortcode_id['user']; $showto = $shortcode_id['showto']; $form = GFAPI::get_form($form_id); $settings = $this->get_form_settings($form); $enable_list = $this->get_sticky_setting("enable_list", $settings); $show_entries_to = $this->get_sticky_setting("show_entries_to", $settings); $max_entries = $this->get_sticky_setting("max_entries", $settings); $enable_clickable = $this->get_sticky_setting("enable_clickable", $settings); $enable_postlink = $this->get_sticky_setting("enable_postlink", $settings); $link_label = $this->get_sticky_setting("link_label", $settings); $enable_view = $this->get_sticky_setting("enable_view", $settings); $enable_view_label = $this->get_sticky_setting("enable_view_label", $settings); $enable_edit = $this->get_sticky_setting("enable_edit", $settings); $enable_edit_label = $this->get_sticky_setting("enable_edit_label", $settings); $new_entry_id = $this->get_sticky_setting("new_entry_id", $settings); $enable_delete = $this->get_sticky_setting("enable_delete", $settings); $enable_delete_label = $this->get_sticky_setting("enable_delete_label", $settings); $confirm_delete = $this->get_sticky_setting("confirm_delete", $settings); $confirm_delete_text = $this->get_sticky_setting("confirm_delete_text", $settings); $enable_duplicate = $this->get_sticky_setting("enable_duplicate", $settings); $enable_duplicate_label = $this->get_sticky_setting("enable_duplicate_label", $settings); $action_column_header = $this->get_sticky_setting("action_column_header", $settings); $enable_sort = $this->get_sticky_setting("enable_sort", $settings); $initial_sort = $this->get_sticky_setting("initial_sort", $settings); $initial_sort_direction = $this->get_sticky_setting("initial_sort_direction", $settings); $enable_search = $this->get_sticky_setting("enable_search", $settings); $embedd_page = $this->get_sticky_setting("embedd_page", $settings); $enable_pagination = $this->get_sticky_setting("enable_pagination", $settings); $page_entries = $this->get_sticky_setting("page_entries", $settings); if (isset($settings["custom_embedd_page"]) && $settings["custom_embedd_page"] != "") { $embedd_page = $settings["custom_embedd_page"]; } if (isset($showto) && $showto != "") { $show_entries_to = $showto; } if ($enable_list) { if ($user_id != "") { $current_user_id = $user_id; } else { $current_user_id = $this->stickylist_get_current_user(); } //Set max nr of entries to be shown if ($max_entries == "") { $max_entries = 999999; } if ($enable_sort && $initial_sort) { if ($initial_sort == "date_added") { $sorting = array(); } else { $sorting = array('key' => $initial_sort, 'direction' => $initial_sort_direction); } } else { $sorting = array(); } $paging = array('offset' => 0, 'page_size' => $max_entries); if ($show_entries_to === "creator") { $search_criteria["field_filters"][] = array("key" => "status", "value" => "active"); $search_criteria["field_filters"][] = array("key" => "created_by", "value" => $current_user_id); $entries = GFAPI::get_entries($form_id, $search_criteria, $sorting, $paging); } elseif ($show_entries_to === "loggedin") { if (is_user_logged_in()) { $search_criteria["field_filters"][] = array("key" => "status", "value" => "active"); $entries = GFAPI::get_entries($form_id, $search_criteria, $sorting, $paging); } } elseif ($show_entries_to === "everyone") { $search_criteria["field_filters"][] = array("key" => "status", "value" => "active"); $entries = GFAPI::get_entries($form_id, $search_criteria, $sorting, $paging); } else { $user = wp_get_current_user(); if (in_array($show_entries_to, (array) $user->roles) || in_array("administrator", (array) $user->roles)) { $search_criteria["field_filters"][] = array("key" => "status", "value" => "active"); $entries = GFAPI::get_entries($form_id, $search_criteria, $sorting, $paging); } } if (!empty($entries)) { if ($initial_sort == "date_added" && $initial_sort_direction == "ASC") { $entries = array_reverse($entries); } $entries = apply_filters('filter_entries', $entries); $list_html = "<div id='sticky-list-wrapper_{$form_id}'>"; if ($enable_sort && $enable_search) { $list_html .= "<input class='search' placeholder='" . __("Search", "sticky-list") . "' />"; } $list_html .= "<table class='sticky-list'><thead><tr>"; $fields = $form["fields"]; $i = 0; foreach ($fields as $field) { if (isset($field["stickylistField"]) && $field["stickylistField"] != "") { if (isset($field["stickylistFieldLabel"]) && $field["stickylistFieldLabel"] != "") { $label = $field["stickylistFieldLabel"]; } else { $label = $field["label"]; } $class_label = "header-" . str_replace(" ", "-", strtolower($label)); $list_html .= "<th class='sort {$class_label}' data-sort='sort-{$i}'>{$label}</th>"; $i++; } } if ($enable_view || $enable_edit || $enable_delete || $enable_postlink || $enable_duplicate) { $list_html .= "<th class='sticky-action'>{$action_column_header}</th>"; } $list_html .= "</tr></thead><tbody class='list'>"; foreach ($entries as $entry) { $entry_id = $entry["id"]; $list_html .= "<tr>"; $i = 0; foreach ($form["fields"] as $field) { if (isset($field["stickylistField"]) && $field["stickylistField"] != "") { $field_value = RGFormsModel::get_lead_field_value($entry, $field); $tdClass = "stickylist-" . $field["type"]; $nowrap = ""; if (isset($field["stickylistFieldNoWrap"]) && $field["stickylistFieldNoWrap"] != "") { $nowrap = " sticky-nowrap"; } if ($field["type"] == "post_custom_field" && $field["inputType"] == "fileupload") { $custom_file_upload = true; } else { $custom_file_upload = false; } if ($field["type"] == "product" || $field["type"] == "shipping" || $field["type"] == "option") { if (is_array($field_value)) { if ($field["type"] == "option") { foreach ($field_value as &$option) { $option = substr($option, 0, strpos($option, "|")); } $field_value = array_filter($field_value); $field_value = implode(", ", $field_value); } else { $field_value = end($field_value); } $list_html .= "<td class='sort-{$i} {$nowrap} {$tdClass}'>{$field_value}</td>"; } else { $field_value = substr($field_value, 0, strpos($field_value, "|")); $list_html .= "<td class='sort-{$i} {$nowrap} {$tdClass}'>{$field_value}</td>"; } } elseif (is_array($field_value)) { ksort($field_value); $field_values = ""; foreach ($field_value as $field => $value) { $field_values .= $value . " "; } $list_html .= "<td class='sort-{$i} {$nowrap} {$tdClass}'>{$field_values}</td>"; } elseif ($field["type"] == "fileupload" || $field["type"] == "post_image" || $custom_file_upload == true) { $field_value = strtok($field_value, "|"); $file_name = basename($field_value); if ($enable_clickable && $field_value != "") { $list_html .= "<td class='sort-{$i} {$nowrap} {$tdClass}'><a href='{$field_value}'>{$file_name}</a></td>"; } else { $list_html .= "<td class='sort-{$i} {$nowrap} {$tdClass}'>{$file_name}</td>"; } } elseif ($field["type"] == "date" && $field_value != "") { $field_value = $this->format_the_date($field_value, $field["dateFormat"]); $list_html .= "<td class='sort-{$i} {$nowrap} {$tdClass}'>{$field_value}</td>"; } elseif ($field["type"] == "website" && $field_value != "") { $tdClass = "stickylist-url"; $list_html .= "<td class='sort-{$i} {$nowrap} {$tdClass}'><a href='{$field_value}'>{$field_value}</a></td>"; } elseif ($field["type"] == "post_category" && $field_value != "") { $tdClass = "stickylist-category"; $field_value = strtok($field_value, ":"); $list_html .= "<td class='sort-{$i} {$nowrap} {$tdClass}'>{$field_value}</td>"; } elseif ($field["type"] == "list" && $field_value != "") { if (is_array(maybe_unserialize($field_value))) { $list = maybe_unserialize($field_value); $field_value = iterator_to_array(new RecursiveIteratorIterator(new RecursiveArrayIterator($list)), FALSE); $field_value = implode(", ", $field_value); $list_html .= "<td class='sort-{$i} {$nowrap} {$tdClass}'>{$field_value}</td>"; } } else { $list_html .= "<td class='sort-{$i} {$nowrap} {$tdClass}'>{$field_value}</td>"; } $i++; } } if ($enable_view || $enable_edit || $enable_delete || $enable_postlink || $enable_duplicate) { $list_html .= "<td class='sticky-action'>"; if ($enable_view) { $list_html .= "\n <form action='{$embedd_page}' method='post'>\n <button class='sticky-list-view submit'>{$enable_view_label}</button>\n <input type='hidden' name='mode' value='view'>\n <input type='hidden' name='view_id' value='{$entry_id}'>\n </form>"; } if ($enable_edit) { if ($entry["created_by"] == $this->stickylist_get_current_user() || current_user_can('edit_others_posts') || current_user_can('stickylist_edit_entries')) { $list_html .= "\n <form action='{$embedd_page}' method='post'>\n <button class='sticky-list-edit submit'>{$enable_edit_label}</button>\n <input type='hidden' name='mode' value='edit'>\n <input type='hidden' name='edit_id' value='{$entry_id}'>\n </form>"; } } if ($enable_delete) { if ($entry["created_by"] == $this->stickylist_get_current_user() || current_user_can('delete_others_posts') || current_user_can('stickylist_delete_entries')) { $list_html .= "\n <button class='sticky-list-delete submit'>{$enable_delete_label}</button>\n <input type='hidden' name='delete_id' class='sticky-list-delete-id' value='{$entry_id}'>\n "; if ($entry["post_id"] != null) { $delete_post_id = $entry["post_id"]; $list_html .= "<input type='hidden' name='delete_post_id' class='sticky-list-delete-post-id' value='{$delete_post_id}'>"; } } } if ($enable_postlink && $entry["post_id"] != NULL) { $permalink = get_permalink($entry["post_id"]); $list_html .= "<button class='sticky-list-postlink submit' onclick='document.location.href=\"{$permalink}\"'>{$link_label}</button>"; } if ($enable_duplicate) { $list_html .= "\n <form action='{$embedd_page}' method='post'>\n <button class='sticky-list-duplicate submit'>{$enable_duplicate_label}</button>\n <input type='hidden' name='mode' value='duplicate'>\n <input type='hidden' name='duplicate_id' value='{$entry_id}'>\n </form>"; } $list_html .= "</td>"; } $list_html .= "</tr>"; } $list_html .= "</tbody></table>"; if ($enable_pagination && $page_entries < count($entries)) { $list_html .= "<ul class='pagination'></ul>"; } $list_html .= "</div>"; if ($enable_sort || $enable_pagination) { $sort_fileds = ""; for ($a = 0; $a < $i; $a++) { $sort_fileds .= "'sort-{$a}',"; } $list_html .= "<script src='" . plugins_url('gravity-forms-sticky-list/js/list.min.js') . "'></script>"; if ($enable_pagination) { $list_html .= "<script src='" . plugins_url('gravity-forms-sticky-list/js/list.pagination.min.js') . "'></script>"; } if ($enable_sort && $enable_pagination) { $list_html .= "<script>var options = { valueNames: [{$sort_fileds}], page: {$page_entries}, plugins: [ ListPagination({ outerWindow: 1 }) ] };var userList = new List('sticky-list-wrapper_{$form_id}', options); function callback() { window.listUpdated() } userList.on('updated', callback);</script><style>table.sticky-list th:not(.sticky-action) {cursor: pointer;}</style>"; } elseif ($enable_sort && !$enable_pagination) { $list_html .= "<script>var options = { valueNames: [{$sort_fileds}] };var userList = new List('sticky-list-wrapper_{$form_id}', options);</script><style>table.sticky-list th:not(.sticky-action) {cursor: pointer;}</style>"; } elseif (!$enable_sort && $enable_pagination) { $list_html .= "<script>var options = { valueNames: ['xxx'], page: {$page_entries}, plugins: [ ListPagination({ outerWindow: 1 }) ] };var userList = new List('sticky-list-wrapper_{$form_id}', options); function callback() { window.listUpdated() } userList.on('updated', callback);</script></style>"; } } if ($enable_delete) { $ajax_delete = plugin_dir_url(__FILE__) . 'ajax-delete.php'; $ajax_spinner = plugin_dir_url(__FILE__) . 'img/ajax-spinner.gif'; $delete_failed = __('Delete failed', 'sticky-list'); $list_html .= "\n <img src='{$ajax_spinner}' style='display: none;'>\n <script>\n jQuery(document).ready(function(\$) {\n\n window.listUpdated = function(){\n\n \$('.sticky-list-delete').click(function(event) {\n\n event.stopImmediatePropagation()\n \n var delete_id = \$(this).siblings('.sticky-list-delete-id').val();\n var delete_post_id = \$(this).siblings('.sticky-list-delete-post-id').val();\n var current_button = \$(this);\n var current_row = current_button.parent().parent();\n var confirm_delete = {$confirm_delete};\n \n if(confirm_delete == 1) {\n var confirm_dialog = confirm('{$confirm_delete_text}');\n } \n\n if (confirm_dialog == true || confirm_delete != 1) {\n\n current_button.html('<img src=\\'{$ajax_spinner}\\'>');\n \n \$.post( '', { mode: 'delete', delete_id: delete_id, delete_post_id: delete_post_id, form_id: '{$form_id}' })\n .done(function() {\n current_button.html('');\n current_row.css({ \n background: '#fbdcdc',\n color: '#fff'\n });\n current_row.hide('slow');\n })\n .fail(function() {\n current_button.html('{$delete_failed}');\n })\n }\n }); \n }\n\n window.listUpdated();\n });\n </script>\n "; } } else { $list_html = $settings["empty_list_text"] . "<br>"; } return $list_html; } }
public function get_entries($entry_ids, $form_ids = null, $schema = '', $field_ids = array()) { $this->log_debug(__METHOD__ . '(): Running.'); $capability = apply_filters('gform_web_api_capability_get_entries', 'gravityforms_view_entries'); $this->authorize($capability); $status = 200; $response = array(); $result = array(); if ($entry_ids) { if (is_array($entry_ids)) { foreach ($entry_ids as $entry_id) { $result = GFAPI::get_entry($entry_id); if (!is_wp_error($result)) { $result = $this->maybe_json_encode_list_fields($result); $response[$entry_id] = $result; if (!empty($field_ids) && !empty($response[$entry_id])) { $response[$entry_id] = $this->filter_entry_object($response[$entry_id], $field_ids); } } } } else { $result = GFAPI::get_entry($entry_ids); if (!is_wp_error($result)) { $result = $this->maybe_json_encode_list_fields($result); $response = $result; if (!empty($field_ids) && !empty($response)) { $response = $this->filter_entry_object($response, $field_ids); } } } if ($schema == 'mtd') { $response = self::mtd_transform_entry_data($response); } } else { //sorting parameters $sort_key = isset($_GET['sorting']['key']) && !empty($_GET['sorting']['key']) ? $_GET['sorting']['key'] : 'id'; $sort_dir = isset($_GET['sorting']['direction']) && !empty($_GET['sorting']['direction']) ? $_GET['sorting']['direction'] : 'DESC'; $sorting = array('key' => $sort_key, 'direction' => $sort_dir); if (isset($_GET['sorting']['is_numeric'])) { $sorting['is_numeric'] = $_GET['sorting']['is_numeric']; } //paging parameters $page_size = isset($_GET['paging']['page_size']) ? intval($_GET['paging']['page_size']) : 10; if (isset($_GET['paging']['current_page'])) { $current_page = intval($_GET['paging']['current_page']); $offset = $page_size * ($current_page - 1); } else { $offset = isset($_GET['paging']['offset']) ? intval($_GET['paging']['offset']) : 0; } $paging = array('offset' => $offset, 'page_size' => $page_size); if (isset($_GET['search'])) { $search = $_GET['search']; if (!is_array($search)) { $search = urldecode(stripslashes($search)); $search = json_decode($search, true); } } else { $search = array(); } if (empty($form_ids)) { $form_ids = 0; } // all forms $entry_count = GFAPI::count_entries($form_ids, $search); $result = $entry_count > 0 ? GFAPI::get_entries($form_ids, $search, $sorting, $paging) : array(); if (!is_wp_error($result)) { foreach ($result as &$entry) { $entry = $this->maybe_json_encode_list_fields($entry); } $response = array('total_count' => $entry_count, 'entries' => $result); if ($schema == 'mtd') { $response = $this->mtd_transform_entries_data($response, $form_ids); } } } if (is_wp_error($result)) { $response = $this->get_error_response($result); $status = $this->get_error_status($result); } $this->end($status, $response); }
public static function start_export($form) { $form_id = $form["id"]; $fields = $_POST["export_field"]; $start_date = empty($_POST["export_date_start"]) ? "" : self::get_gmt_date($_POST["export_date_start"] . " 00:00:00"); $end_date = empty($_POST["export_date_end"]) ? "" : self::get_gmt_date($_POST["export_date_end"] . " 23:59:59"); $search_criteria["status"] = "active"; $search_criteria["field_filters"] = GFCommon::get_field_filters_from_post(); if (!empty($start_date)) { $search_criteria["start_date"] = $start_date; } if (!empty($end_date)) { $search_criteria["end_date"] = $end_date; } $sorting = array('key' => "date_created", 'direction' => "DESC", "type" => "info"); GFCommon::log_debug("start date: {$start_date}"); GFCommon::log_debug("end date: {$end_date}"); $form = self::add_default_export_fields($form); $entry_count = GFAPI::count_entries($form_id, $search_criteria); $page_size = 100; $offset = 0; //Adding BOM marker for UTF-8 $lines = chr(239) . chr(187) . chr(191); // set the separater $separator = apply_filters('gform_export_separator_' . $form_id, apply_filters('gform_export_separator', ',', $form_id), $form_id); $field_rows = self::get_field_row_count($form, $fields, $entry_count); //writing header $headers = array(); foreach ($fields as $field_id) { $field = RGFormsModel::get_field($form, $field_id); $value = str_replace('"', '""', GFCommon::get_label($field, $field_id)); GFCommon::log_debug("Header for field ID {$field_id}: {$value}"); $headers[$field_id] = $value; $subrow_count = isset($field_rows[$field_id]) ? intval($field_rows[$field_id]) : 0; if ($subrow_count == 0) { $lines .= '"' . $value . '"' . $separator; } else { for ($i = 1; $i <= $subrow_count; $i++) { $lines .= '"' . $value . " " . $i . '"' . $separator; } } GFCommon::log_debug("Lines: {$lines}"); } $lines = substr($lines, 0, strlen($lines) - 1) . "\n"; //paging through results for memory issues while ($entry_count > 0) { //$leads = RGFormsModel::get_leads($form_id,"date_created", "DESC", "", $offset, $page_size, null, null, false, $start_date, $end_date); $paging = array('offset' => $offset, 'page_size' => $page_size); $leads = GFAPI::get_entries($form_id, $search_criteria, $sorting, $paging); $leads = apply_filters("gform_leads_before_export_{$form_id}", apply_filters("gform_leads_before_export", $leads, $form, $paging), $form, $paging); foreach ($leads as $lead) { foreach ($fields as $field_id) { switch ($field_id) { case "date_created": $lead_gmt_time = mysql2date("G", $lead["date_created"]); $lead_local_time = GFCommon::get_local_timestamp($lead_gmt_time); $value = date_i18n("Y-m-d H:i:s", $lead_local_time, true); break; default: $long_text = ""; if (strlen(rgar($lead, $field_id)) >= GFORMS_MAX_FIELD_LENGTH - 10) { $long_text = RGFormsModel::get_field_value_long($lead, $field_id, $form); } $value = !empty($long_text) ? $long_text : rgar($lead, $field_id); $field = RGFormsModel::get_field($form, $field_id); $input_type = RGFormsModel::get_input_type($field); if ($input_type == "checkbox") { $value = GFFormsModel::is_checkbox_checked($field_id, $headers[$field_id], $lead, $form); if ($value === false) { $value = ""; } } else { if ($input_type == "fileupload" && rgar($field, "multipleFiles")) { $value = !empty($value) ? implode(" , ", json_decode($value, true)) : ""; } } $value = apply_filters("gform_export_field_value", $value, $form_id, $field_id, $lead); GFCommon::log_debug("Value for field ID {$field_id}: {$value}"); break; } if (isset($field_rows[$field_id])) { $list = empty($value) ? array() : unserialize($value); foreach ($list as $row) { $row_values = array_values($row); $row_str = implode("|", $row_values); $lines .= '"' . str_replace('"', '""', $row_str) . '"' . $separator; } //filling missing subrow columns (if any) $missing_count = intval($field_rows[$field_id]) - count($list); for ($i = 0; $i < $missing_count; $i++) { $lines .= '""' . $separator; } } else { $value = maybe_unserialize($value); if (is_array($value)) { $value = implode("|", $value); } $lines .= '"' . str_replace('"', '""', $value) . '"' . $separator; } } $lines = substr($lines, 0, strlen($lines) - 1); GFCommon::log_debug("Lines: {$lines}"); $lines .= "\n"; } $offset += $page_size; $entry_count -= $page_size; if (!seems_utf8($lines)) { $lines = utf8_encode($lines); } echo $lines; $lines = ""; } }
public static function start_export($form) { $form_id = $form['id']; $fields = $_POST['export_field']; $start_date = empty($_POST['export_date_start']) ? '' : self::get_gmt_date($_POST['export_date_start'] . ' 00:00:00'); $end_date = empty($_POST['export_date_end']) ? '' : self::get_gmt_date($_POST['export_date_end'] . ' 23:59:59'); $search_criteria['status'] = 'active'; $search_criteria['field_filters'] = GFCommon::get_field_filters_from_post($form); if (!empty($start_date)) { $search_criteria['start_date'] = $start_date; } if (!empty($end_date)) { $search_criteria['end_date'] = $end_date; } $sorting = array('key' => 'date_created', 'direction' => 'DESC', 'type' => 'info'); GFCommon::log_debug("GFExport::start_export(): Start date: {$start_date}"); GFCommon::log_debug("GFExport::start_export(): End date: {$end_date}"); $form = self::add_default_export_fields($form); $entry_count = GFAPI::count_entries($form_id, $search_criteria); $page_size = 100; $offset = 0; //Adding BOM marker for UTF-8 $lines = chr(239) . chr(187) . chr(191); // set the separater $separator = gf_apply_filters('gform_export_separator', $form_id, ',', $form_id); $field_rows = self::get_field_row_count($form, $fields, $entry_count); //writing header $headers = array(); foreach ($fields as $field_id) { $field = RGFormsModel::get_field($form, $field_id); $label = gf_apply_filters('gform_entries_field_header_pre_export', array($form_id, $field_id), GFCommon::get_label($field, $field_id), $form, $field); $value = str_replace('"', '""', $label); GFCommon::log_debug("GFExport::start_export(): Header for field ID {$field_id}: {$value}"); $headers[$field_id] = $value; $subrow_count = isset($field_rows[$field_id]) ? intval($field_rows[$field_id]) : 0; if ($subrow_count == 0) { $lines .= '"' . $value . '"' . $separator; } else { for ($i = 1; $i <= $subrow_count; $i++) { $lines .= '"' . $value . ' ' . $i . '"' . $separator; } } GFCommon::log_debug("GFExport::start_export(): Lines: {$lines}"); } $lines = substr($lines, 0, strlen($lines) - 1) . "\n"; //paging through results for memory issues while ($entry_count > 0) { $paging = array('offset' => $offset, 'page_size' => $page_size); $leads = GFAPI::get_entries($form_id, $search_criteria, $sorting, $paging); $leads = gf_apply_filters('gform_leads_before_export', $form_id, $leads, $form, $paging); foreach ($leads as $lead) { foreach ($fields as $field_id) { switch ($field_id) { case 'date_created': $lead_gmt_time = mysql2date('G', $lead['date_created']); $lead_local_time = GFCommon::get_local_timestamp($lead_gmt_time); $value = date_i18n('Y-m-d H:i:s', $lead_local_time, true); break; default: $field = RGFormsModel::get_field($form, $field_id); $value = is_object($field) ? $field->get_value_export($lead, $field_id, false, true) : rgar($lead, $field_id); $value = apply_filters('gform_export_field_value', $value, $form_id, $field_id, $lead); GFCommon::log_debug("GFExport::start_export(): Value for field ID {$field_id}: {$value}"); break; } if (isset($field_rows[$field_id])) { $list = empty($value) ? array() : unserialize($value); foreach ($list as $row) { $row_values = array_values($row); $row_str = implode('|', $row_values); $lines .= '"' . str_replace('"', '""', $row_str) . '"' . $separator; } //filling missing subrow columns (if any) $missing_count = intval($field_rows[$field_id]) - count($list); for ($i = 0; $i < $missing_count; $i++) { $lines .= '""' . $separator; } } else { $value = maybe_unserialize($value); if (is_array($value)) { $value = implode('|', $value); } $lines .= '"' . str_replace('"', '""', $value) . '"' . $separator; } } $lines = substr($lines, 0, strlen($lines) - 1); GFCommon::log_debug("GFExport::start_export(): Lines: {$lines}"); $lines .= "\n"; } $offset += $page_size; $entry_count -= $page_size; if (!seems_utf8($lines)) { $lines = utf8_encode($lines); } $lines = apply_filters('gform_export_lines', $lines); echo $lines; $lines = ''; } /** * Fires after exporting all the entries in form * * @param array $form The Form object to get the entries from * @param string $start_date The start date for when the export of entries should take place * @param string $end_date The end date for when the export of entries should stop * @param array $fields The specified fields where the entries should be exported from */ do_action('gform_post_export_entries', $form, $start_date, $end_date, $fields); }
public static function start_export($form) { $form_id = $form['id']; $fields = $_POST['export_field']; $start_date = empty($_POST['export_date_start']) ? '' : self::get_gmt_date($_POST['export_date_start'] . ' 00:00:00'); $end_date = empty($_POST['export_date_end']) ? '' : self::get_gmt_date($_POST['export_date_end'] . ' 23:59:59'); $search_criteria['status'] = 'active'; $search_criteria['field_filters'] = GFCommon::get_field_filters_from_post($form); if (!empty($start_date)) { $search_criteria['start_date'] = $start_date; } if (!empty($end_date)) { $search_criteria['end_date'] = $end_date; } $sorting = array('key' => 'date_created', 'direction' => 'DESC', 'type' => 'info'); GFCommon::log_debug("GFExport::start_export(): Start date: {$start_date}"); GFCommon::log_debug("GFExport::start_export(): End date: {$end_date}"); $form = self::add_default_export_fields($form); $entry_count = GFAPI::count_entries($form_id, $search_criteria); $page_size = 100; $offset = 0; //Adding BOM marker for UTF-8 $lines = chr(239) . chr(187) . chr(191); // set the separater $separator = apply_filters('gform_export_separator_' . $form_id, apply_filters('gform_export_separator', ',', $form_id), $form_id); $field_rows = self::get_field_row_count($form, $fields, $entry_count); //writing header $headers = array(); foreach ($fields as $field_id) { $field = RGFormsModel::get_field($form, $field_id); $value = str_replace('"', '""', GFCommon::get_label($field, $field_id)); GFCommon::log_debug("GFExport::start_export(): Header for field ID {$field_id}: {$value}"); $headers[$field_id] = $str = preg_replace('/[^a-z\\d ]/i', '', $value); $subrow_count = isset($field_rows[$field_id]) ? intval($field_rows[$field_id]) : 0; if ($subrow_count == 0) { $lines .= '"' . $value . '"' . $separator; } else { for ($i = 1; $i <= $subrow_count; $i++) { $lines .= '"' . $value . ' ' . $i . '"' . $separator; } } GFCommon::log_debug("GFExport::start_export(): Lines: {$lines}"); } $lines = substr($lines, 0, strlen($lines) - 1) . "\n"; //paging through results for memory issues while ($entry_count > 0) { $paging = array('offset' => $offset, 'page_size' => $page_size); $leads = GFAPI::get_entries($form_id, $search_criteria, $sorting, $paging); $leads = apply_filters("gform_leads_before_export_{$form_id}", apply_filters('gform_leads_before_export', $leads, $form, $paging), $form, $paging); foreach ($leads as $lead) { foreach ($fields as $field_id) { switch ($field_id) { case 'date_created': $lead_gmt_time = mysql2date('G', $lead['date_created']); $lead_local_time = GFCommon::get_local_timestamp($lead_gmt_time); $value = date_i18n('Y-m-d H:i:s', $lead_local_time, true); break; default: $long_text = ''; if (strlen(rgar($lead, $field_id)) >= GFORMS_MAX_FIELD_LENGTH - 10) { $long_text = RGFormsModel::get_field_value_long($lead, $field_id, $form); } $value = !empty($long_text) ? $long_text : rgar($lead, $field_id); $field = RGFormsModel::get_field($form, $field_id); $input_type = RGFormsModel::get_input_type($field); if ($input_type == 'checkbox') { //pass in label value that has not had quotes escaped so the is_checkbox_checked function compares the unchanged label value with the lead value $header_label_not_escaped = GFCommon::get_label($field, $field_id); $value = GFFormsModel::is_checkbox_checked($field_id, $header_label_not_escaped, $lead, $form); if ($value === false) { $value = ''; } } else { if ($input_type == 'fileupload' && $field->multipleFiles) { $value = !empty($value) ? implode(' , ', json_decode($value, true)) : ''; } } $value = preg_replace('/[^a-z\\d ]/i', '', $value); $value = apply_filters('gform_export_field_value', $value, $form_id, $field_id, $lead); GFCommon::log_debug("GFExport::start_export(): Value for field ID {$field_id}: {$value}"); break; } if (isset($field_rows[$field_id])) { $list = empty($value) ? array() : unserialize($value); foreach ($list as $row) { $row_values = array_values($row); $row_str = implode('|', $row_values); $lines .= '"' . str_replace('"', '""', $row_str) . '"' . $separator; } //filling missing subrow columns (if any) $missing_count = intval($field_rows[$field_id]) - count($list); for ($i = 0; $i < $missing_count; $i++) { $lines .= '""' . $separator; } } else { $value = maybe_unserialize($value); if (is_array($value)) { $value = implode('|', $value); } $lines .= '"' . str_replace('"', '""', $value) . '"' . $separator; } } $lines = substr($lines, 0, strlen($lines) - 1); GFCommon::log_debug("GFExport::start_export(): Lines: {$lines}"); $lines .= "\n"; } $offset += $page_size; $entry_count -= $page_size; if (!seems_utf8($lines)) { $lines = utf8_encode($lines); } if (function_exists('mb_convert_encoding')) { // Convert the contents to UTF-16LE which has wider support than UTF-8. // This fixes an issue with special characters in Excel for Mac. $lines = mb_convert_encoding($lines, 'UTF-16LE', 'UTF-8'); } echo $lines; $lines = ''; } }
/** * Called when entry is manually updated in the Single Entry view of Gravity Forms. * * This method is called by both `admin_init` and `gforms_after_update_entry`. * * @todo Convert to using GFCommon::send_notification() instead * @since 2.6.0 * @access public * @static * @param array $form GF Form array * @param int $entry_id Entry ID * @return void */ public static function manual_export($form, $entry_id = NULL) { global $plugin_page; // Is this the Gravity Forms entries page? if (false === (self::is_gravity_page('gf_entries') && rgget("view") == 'entry' && (rgget('lid') || !rgblank(rgget('pos'))))) { return; } // Both admin_init and gforms_after_update_entry will have this set if (empty($_POST['gforms_save_entry']) || empty($_POST['action'])) { return; } // Different checks since admin_init runs in both cases but we need to wait for entry update $current_hook = current_filter(); if ($current_hook == 'admin_init' && empty($_POST['send_to_salesforce'])) { return; } if ($current_hook == 'gform_after_update_entry' && empty($_POST['update_to_salesforce'])) { return; } // Verify authenticity of request check_admin_referer('gforms_save_entry', 'gforms_save_entry'); // For admin_init hook, get the entry ID from the URL if (empty($entry_id)) { $entry_id = rgget('lid'); $form_id = rgget('id'); // fetch alternative entry id: look for gf list details when using pagination if (empty($entry_id)) { $position = rgget('pos'); $paging = array('offset' => $position, 'page_size' => 1); $entries = GFAPI::get_entries($form_id, array(), null, $paging); if (!empty($entries)) { // pluck first entry to use id from, should always only be one $entry = array_shift($entries); $entry_id = $entry['id']; } else { self::log_error(__METHOD__ . ': Could not locate GF entry.'); return; } } $form = RGFormsModel::get_form_meta($form_id); } // Fetch entry (use new GF API from version 1.8) if (class_exists('GFAPI') && !empty($entry_id)) { $entry = GFAPI::get_entry($entry_id); } elseif (class_exists('RGFormsModel') && !empty($entry_id)) { $entry = RGFormsModel::get_lead($entry_id); } else { self::log_error('manual_export(): Expected Gravity Forms classes did not exist. Have to leave now.'); return; } // Export the entry self::export($entry, $form, true); // Don't send twice. unset($_POST['update_to_salesforce']); unset($_POST['send_to_salesforce']); }
* Retrieve all entries for this user - created with user email as the contact email and created by this user id */ $gravityview_view = GravityView_View::getInstance(); // Get the settings for the View ID $view_settings = gravityview_get_template_settings($gravityview_view->getViewId()); $view_settings['page_size'] = $gravityview_view->getCurrentFieldSetting('page_size'); $form_id = 0; global $current_user; get_currentuserinfo(); global $user_ID; global $user_email; // Prepare paging criteria $criteria['paging'] = array('offset' => 0, 'page_size' => $view_settings['page_size']); //pull by user id or user email $criteria['search_criteria'] = array('status' => 'active', 'field_filters' => array('mode' => 'any', array('key' => '98', 'value' => $user_email, 'operator' => 'like'), array('key' => 'created_by', 'value' => $user_ID, 'operator' => 'is'))); $entries = GFAPI::get_entries($form_id, $criteria['search_criteria']); /** * @action `gravityview_list_body_before` Tap in before the entry loop has been displayed * @param GravityView_View $this The GravityView_View instance */ do_action('gravityview_list_body_before', $this); $total = count($entries); global $wpdb; //find current active forms for the copy entry feature $faireSQL = "SELECT form.id, form.title FROM wp_rg_form form, `wp_mf_faire` " . " WHERE start_dt <= CURDATE() and end_dt >= CURDATE() and " . " FIND_IN_SET (form.id, wp_mf_faire.form_ids)> 0"; $faires = $wpdb->get_results($faireSQL); $formArr = array(); foreach ($faires as $faire) { $formArr[] = array($faire->id, $faire->title); } // There are no entries.
function test_assignee_field() { $form = GFAPI::get_form($this->form_id); $assignee_field_properties_json = '{"type":"workflow_assignee_select","id":6,"label":"Assignee","adminLabel":"","isRequired":false,"size":"medium","errorMessage":"","inputs":null,"formId":93,"pageNumber":1,"choices":"","conditionalLogic":"","displayOnly":"","labelPlacement":"","descriptionPlacement":"","subLabelPlacement":"","placeholder":"","multipleFiles":false,"maxFiles":"","calculationFormula":"","calculationRounding":"","enableCalculation":"","disableQuantity":false,"displayAllCategories":false,"inputMask":false,"inputMaskValue":"","allowsPrepopulate":false,"gravityflowAssigneeFieldShowUsers":true,"gravityflowAssigneeFieldShowRoles":true,"gravityflowAssigneeFieldShowFields":true,"cssClass":""}'; $assignee_field_properties = json_decode($assignee_field_properties_json, true); $assignee_field_properties['id'] = 999; $assignee_field = new Gravity_Flow_Field_Assignee_Select($assignee_field_properties); $form['fields'][] = $assignee_field; GFAPI::update_form($form); $step_settings = array('assignees' => array('assignee_field|999')); $step1_id = $this->_add_user_input_step($step_settings); $this->_create_entries(); $entries = GFAPI::get_entries($this->form_id); $entry = $entries[0]; $entry_id = $entry['id']; $entry[999] = 'user_id|1'; GFAPI::update_entry($entry); // simulate submission gravity_flow()->maybe_process_feed($entry, $form); $this->api->process_workflow($entry_id); $entry = GFAPI::get_entry($entry_id); // Check status $status = $this->api->get_status($entry); $this->assertEquals('pending', $status); // Complete $step1 = $this->api->get_step($step1_id, $entry); $step1->update_user_status(1, 'complete'); $this->api->process_workflow($entry_id); // Refresh entry $entry = GFAPI::get_entry($entry_id); // Check status $status = $this->api->get_status($entry); $this->assertEquals('complete', $status); }
public static function get_current_entry() { if (isset(self::$_entry)) { return self::$_entry; } $form = self::get_current_form(); $form_id = absint($form['id']); $lead_id = rgpost('entry_id') ? absint(rgpost('entry_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'; $search_criteria['status'] = $status; require_once 'entry_list.php'; $filter_links = GFEntryList::get_filter_links($form, false); foreach ($filter_links as $filter_link) { if ($filter == $filter_link['id']) { $search_criteria['field_filters'] = $filter_link['field_filters']; break; } } $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'; } } } /** * Allow the entry list search criteria to be overridden. * * @since 1.9.14.30 * * @param array $search_criteria An array containing the search criteria. * @param int $form_id The ID of the current form. */ $search_criteria = gf_apply_filters(array('gform_search_criteria_entry_list', $form_id), $search_criteria, $form_id); $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(); } $leads = GFAPI::get_entries($form['id'], $search_criteria, $sorting, $paging, self::$_total_count); if (!$lead_id) { $lead = !empty($leads) ? $leads[0] : false; } else { $lead = GFAPI::get_entry($lead_id); } self::set_current_entry($lead); return $lead; }
public function get_entries($entry_ids, $form_ids = null, $schema = "", $field_ids = array()) { $this->authorize("gravityforms_view_entries"); $status = 200; $response = array(); $result = array(); if ($entry_ids) { if (is_array($entry_ids)) { foreach ($entry_ids as $entry_id) { $result = GFAPI::get_entry($entry_id); if (!is_wp_error($result)) { $response[$entry_id] = $result; if (!empty($field_ids) && !empty($response[$entry_id])) { $response[$entry_id] = $this->filter_entry_object($response[$entry_id], $field_ids); } } } } else { $result = GFAPI::get_entry($entry_ids); if (!is_wp_error($result)) { $response = $result; if (!empty($field_ids) && !empty($response)) { $response = $this->filter_entry_object($response, $field_ids); } } } if ($schema == "mtd") { $response = self::mtd_transform_entry_data($response); } } else { //sorting parameters $sort_key = isset($_GET["sorting"]["key"]) && !empty($_GET["sorting"]["key"]) ? $_GET["sorting"]["key"] : "id"; $sort_dir = isset($_GET["sorting"]["direction"]) && !empty($_GET["sorting"]["direction"]) ? $_GET["sorting"]["direction"] : "DESC"; $sorting = array('key' => $sort_key, 'direction' => $sort_dir); //paging parameters $page_size = isset($_GET["paging"]["page_size"]) ? intval($_GET["paging"]["page_size"]) : 10; if (isset($_GET["paging"]["current_page"])) { $current_page = intval($_GET["paging"]["current_page"]); $offset = $page_size * ($current_page - 1); } else { $offset = isset($_GET["paging"]["offset"]) ? intval($_GET["paging"]["offset"]) : 0; } $paging = array('offset' => $offset, 'page_size' => $page_size); $search = isset($_GET["search"]) ? $_GET["search"] : array(); if (empty($form_ids)) { $form_ids = 0; } // all forms $entry_count = GFAPI::count_entries($form_ids, $search); $result = $entry_count > 0 ? GFAPI::get_entries($form_ids, $search, $sorting, $paging) : array(); if (!is_wp_error($result)) { $response = array("total_count" => $entry_count, "entries" => $result); if ($schema == "mtd") { $response = $this->mtd_transform_entries_data($response, $form_ids); } } } if (is_wp_error($result)) { $response = $this->get_error_response($result); $status = $this->get_error_status($result); } $this->end($status, $response); }
/** * This function will remove all of the music from the NNMTA music database. * * This function was created to support the scenario when the festival chariman needs * to update the music in the NNMTA music database. In order to do this, all of the existing * data is removed from the database prior to adding all of the new data. This ensures * that the new data is added appropriately without accidentally adding old, possibly * unwanted music data. * * @since 2.0.0 * @author KREW */ function aria_remove_all_music_from_nnmta_database() { $nnmta_music_database_form_id = aria_get_nnmta_database_form_id(); $index = 0; $total_count = GFAPI::count_entries($nnmta_music_database_form_id); while ($index < $total_count) { $twenty_songs = GFAPI::get_entries($nnmta_music_database_form_id); for ($song_on_page = 0; $song_on_page < 20; $song_on_page++) { $deleted_song = GFAPI::delete_entry($twenty_songs[$song_on_page]['id']); if (is_wp_error($deleted_song)) { wp_die($deleted_song->get_error_message()); } } $index += 20; } /* foreach ($all_songs as $song) { $deleted_song = GFAPI::delete_entry($song['id']); if (is_wp_error($deleted_song)) { wp_die($deleted_song->get_error_message()); } } */ }
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 ' <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') ? '¬es=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 } }
//set font size for PDF answers $this->SetFont('Helvetica', '', 10); $this->SetXY(15, 52); } } // initiate FPDI $pdf = new PDF(); $pdf->SetMargins(15, 15, 15); $form_id = 36; $form = GFAPI::get_form($form_id); $fieldData = array(); //put fieldData in a usable array foreach ($form['fields'] as $field) { $fieldData[$field['id']] = $field; } $entries = GFAPI::get_entries($form_id); foreach ($entries as $entry) { output_data($pdf, $entry, $form, $fieldData); } ob_clean(); $pdf->Output('GSP.pdf', 'D'); //output download //$pdf->Output('doc.pdf', 'I'); //output in browser function output_data($pdf, $lead = array(), $form = array(), $fieldData = array()) { $pdf->AddPage(); $dataArray = array(array('Project ID #', 3), array('Project Name', 28), array('Name of person responsible for fire safety at your exhibit', 5), array('Their Email', 15), array('Their phone', 16), array('Description', 19), array('Describe your safety concerns', 12), array('Describe how you plan to keep your exhibit safe', 20), array('Who will be assisting at your exhibit to keep it safe', 11), array('Placement Requirements', 7), array('Do you have Insurance', 9), array('Additional Comments', 13), array('Are you 18 years or older?', 23), array('Signed', 25), array('I am the Parent and/or Legal Guardian of', 26), array('Date', 27)); $pdf->SetFillColor(190, 210, 247); $lineheight = 6; foreach ($dataArray as $data) { $fieldID = $data[1];