public function contacts_tab($contact_id) { if (false === empty($contact_id)) { $search_criteria['status'] = 'active'; $search_criteria['field_filters'][] = array('type' => 'meta', 'key' => 'gcontacts_contact_id', 'value' => $contact_id); $form_ids = array(); $forms = GFFormsModel::get_forms(true); foreach ($forms as $form) { $form_meta = GFFormsModel::get_form_meta($form->id); $poll_fields = GFAPI::get_fields_by_type($form_meta, array('poll')); if (!empty($poll_fields)) { $form_ids[] = $form->id; } } if (empty($form_ids)) { return; } $entries = GFAPI::get_entries($form_ids, $search_criteria); if (empty($entries)) { esc_html_e('This contact has not submitted any poll entries yet.', 'gravityformspolls'); } else { ?> <h3><span><?php esc_html_e('Poll Entries', 'gravityformspolls'); ?> </span></h3> <div> <table id="gcontacts-entry-list" class="widefat"> <tr class="gcontacts-entries-header"> <td> <?php esc_html_e('Entry Id', 'gravityformspolls'); ?> </td> <td> <?php esc_html_e('Date', 'gravityformspolls'); ?> </td> <td> <?php esc_html_e('Form', 'gravityformspolls'); ?> </td> </tr> <?php foreach ($entries as $entry) { $form_id = $entry['form_id']; $form = GFFormsModel::get_form_meta($form_id); $form_title = rgar($form, 'title'); $entry_id = $entry['id']; $entry_date = GFCommon::format_date(rgar($entry, 'date_created'), false); $entry_url = admin_url("admin.php?page=gf_entries&view=entry&id={$form_id}&lid={$entry_id}"); ?> <tr> <td> <a href="<?php echo $entry_url; ?> "><?php echo $entry_id; ?> </a> </td> <td> <?php echo $entry_date; ?> </td> <td> <?php echo $form_title; ?> </td> </tr> <?php } ?> </table> </div> <?php } } }
/** * Removes all settings and deactivates the Add-On. * * Not intended to be overridden or called directly by Add-Ons. * * @ignore */ public function uninstall_addon() { if (!$this->current_user_can_any($this->_capabilities_uninstall)) { die(__("You don't have adequate permission to uninstall this addon: " . $this->_title, "gravityforms")); } $continue = $this->uninstall(); if (false === $continue) { return false; } global $wpdb; $lead_meta_table = GFFormsModel::get_lead_meta_table_name(); $forms = GFFormsModel::get_forms(); $all_form_ids = array(); // remove entry meta foreach ($forms as $form) { $all_form_ids[] = $form->id; $entry_meta = $this->get_entry_meta(array(), $form->id); if (is_array($entry_meta)) { foreach (array_keys($entry_meta) as $meta_key) { $sql = $wpdb->prepare("DELETE from {$lead_meta_table} WHERE meta_key=%s", $meta_key); $wpdb->query($sql); } } } //remove form settings $form_metas = GFFormsModel::get_form_meta_by_id($all_form_ids); require_once GFCommon::get_base_path() . '/form_detail.php'; foreach ($form_metas as $form_meta) { if (isset($form_meta[$this->_slug])) { unset($form_meta[$this->_slug]); $form_json = json_encode($form_meta); GFFormDetail::save_form_info($form_meta["id"], addslashes($form_json)); } } //removing options delete_option("gravityformsaddon_" . $this->_slug . "_settings"); delete_option("gravityformsaddon_" . $this->_slug . "_version"); //Deactivating plugin deactivate_plugins($this->_path); update_option('recently_activated', array($this->_path => time()) + (array) get_option('recently_activated')); return true; }
public function wp_cron_task() { $forms = GFFormsModel::get_forms(true); foreach ($forms as $form) { $form_id = $form->id; $form_meta = $this->get_form_meta($form_id); $poll_fields = GFCommon::get_fields_by_type($form_meta, array('poll')); if (empty($poll_fields)) { continue; } $data_tmp = GFCache::get('gpoll_data_tmp_' . $form_id); if (false === $data_tmp) { $data = GFCache::get('gpoll_data_' . $form_id); if (false == $data || rgar($data, 'incomplete') || false === isset($data['execution_time']) || rgar($data, 'expired')) { $data = $this->gpoll_get_data($form_id); $this->maybe_continue_cache_rebuild($data, $form_id); } } else { $data = $this->gpoll_get_data($form_id, $data_tmp); $this->maybe_continue_cache_rebuild($data, $form_id); } } }
/** * Returns the markup for the screen options. * * @since 2.0 * * @param $status * @param $args * * @return string */ public static function get_screen_options_markup($status, $args) { $return = $status; if (!GFForms::get_page() == 'entry_list') { return $return; } $screen_options = self::get_screen_options_values(); $per_page = $screen_options['per_page']; $forms = GFFormsModel::get_forms(null, 'title'); $form_id = rgget('id'); if (sizeof($forms) == 0) { return ''; } else { if (empty($form_id)) { $form_id = $forms[0]->id; } } $form = GFAPI::get_form($form_id); $filters = self::get_filter_links($form, false); $option_values = self::get_screen_options_values(); // If the filter is not available for the form then use 'all' $selected_filter = 'all'; foreach ($filters as $filter) { if ($option_values['default_filter'] == $filter['id']) { $selected_filter = $option_values['default_filter']; break; } } $radios_arr = array(); foreach ($filters as $filter) { $id = esc_attr($filter['id']); $label = esc_attr($filter['label']); $checked = checked($filter['id'], $selected_filter, false); $radios_arr[] = sprintf('<input type="radio" name="gform_default_filter" value="%s" id="gform_default_filter_%s" %s /><label for="gform_default_filter_%s">%s</label>', $id, $id, $checked, $id, $label); } $radios_str = join("\n", $radios_arr); $filter_title = esc_html__('Default Filter', 'gravityforms'); $pagination_title = esc_html__('Pagination', 'gravityforms'); $entries_label = esc_html__('Number of entries per page:', 'gravityforms'); $button = get_submit_button(esc_html__('Apply', 'gravityforms'), 'button button-primary', 'screen-options-apply', false); $return .= "\r\n\t\t\t<fieldset class='screen-options'>\r\n <legend>{$filter_title}</legend>\r\n <div>\r\n\t\t\t\t{$radios_str}\r\n </div>\r\n </fieldset>\r\n <fieldset class='screen-options'>\r\n\t\t\t<h5>{$pagination_title}</h5>\r\n\r\n \t<label for='gform_per_page%s'>{$entries_label}</label>\r\n \t<input type='number' step='1' min='1' max='100' class='screen-per-page' name='gform_per_page'\r\n\t\t\t\t\tid='gform_per_page' maxlength='3' value='{$per_page}' />\r\n \t<input type='hidden' name='wp_screen_options[option]' value='gform_entries_screen_options' />\r\n \t<input type='hidden' name='wp_screen_options[value]' value='yes' />\r\n\t\t\t</fieldset>\r\n\t\t\t<p class='submit'>\r\n\t\t\t{$button}\r\n\t\t\t</p>"; return $return; }
/** * Checks if a previous version was installed and if the form settings need migrating to the framework structure. * * @param string $previous_version The version number of the previously installed version. */ public function upgrade($previous_version) { $previous_is_pre_addon_framework = version_compare($previous_version, '1.1.7', '<'); if ($previous_is_pre_addon_framework) { $forms = GFFormsModel::get_forms(); foreach ($forms as $form) { $form_meta = GFFormsModel::get_form_meta($form->id); $this->upgrade_form_settings($form_meta); } } }
function display() { $url = admin_url('admin.php?page=gf_edit_forms&view=settings&subview=gravityflow&id='); $forms = GFFormsModel::get_forms(); ?> <script> (function($) { $(document).ready(function () { $('#add_workflow_step').click(function(){ window.location.href = <?php echo json_encode($url); ?> + $('#form_id').val(); return false; }) }); })( jQuery ); </script> <style> .circle{ background: #808080; border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%; color: #ffffff; display: inline-block; font-weight: bold; line-height: 1.6em; margin-right: 5px; text-align: center; width: 1.6em; } </style> <p> <?php esc_html_e('Congratulations! Now you can set up your first workflow.', 'gravityflow'); ?> </p> <?php if (!empty($forms)) { ?> <h4> <span class="circle">1</span> <?php esc_html_e('Select a Form to use for your Workflow', 'gravityflow'); ?> </h4> <p> <select id="form_id"> <?php foreach ($forms as $form) { printf('<option value="%d">%s</option>', $form->id, $form->title); } ?> </select> </p> <h4> <span class="circle">2</span> <?php esc_html_e('Add Workflow Steps in the Form Settings', 'gravityflow'); ?> </h4> <p> <a id="add_workflow_step" class="button button-primary" href="#" ><?php esc_html_e('Add Workflow Steps', 'gravityflow'); ?> </a> </p> <br /> <p> <?php $url = admin_url('admin.php?page=gf_new_form'); $open_a_tag = sprintf('<a href="%s">', $url); printf(esc_html__("Don't have a form you want to use for the workflow? %sCreate a Form%s and add your steps in the Form Settings later.", 'gravityflow'), $open_a_tag, '</a>'); ?> </p> <?php } else { ?> <p> <?php $url = admin_url('admin.php?page=gf_new_form'); $open_a_tag = sprintf('<a href="%s">', $url); printf(esc_html__('%sCreate a Form%s and then add your Workflow steps in the Form Settings.', 'gravityflow'), $open_a_tag, '</a>'); ?> </p> <?php } ?> <?php }
function get_workflow_form_ids() { if (isset($this->form_ids)) { return $this->form_ids; } $forms = GFFormsModel::get_forms(); $form_ids = array(); foreach ($forms as $form) { $form_id = absint($form->id); $feeds = gravity_flow()->get_feeds($form_id); if (!empty($feeds)) { $form_ids[] = $form_id; } } $this->form_ids = $form_ids; return $this->form_ids; }
/** * If Form Exists * * @since 0.0.15 * @return boolean */ public function if_form_exists($form_name) { if (class_exists('GFForms')) { $forms = GFFormsModel::get_forms(); foreach ($forms as $form) { if ($form->title == $form_name) { return true; } } } return false; }
/** * Check to see if a form exists in Gravity Forms * */ public static function show_form($form_name) { $forms = GFFormsModel::get_forms(); foreach ($forms as &$form) { if ($form->title == $form_name) { gravity_form($form_name, false, false, false, '', false); } } return false; }