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;
 }
Exemple #3
0
 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);
         }
     }
 }
Exemple #4
0
 /**
  * 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;
 }
Exemple #9
0
 /**
  * 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;
 }