public static function gravityforms_settings_page()
    {
        global $wpdb;
        if (!GFCommon::ensure_wp_version()) {
            return;
        }
        if (isset($_GET['setup'])) {
            //forcing setup
            RGForms::setup(true);
        }
        require_once 'currency.php';
        if (isset($_POST['submit'])) {
            check_admin_referer('gforms_update_settings', 'gforms_update_settings');
            if (!GFCommon::current_user_can_any('gravityforms_edit_settings')) {
                die(esc_html__("You don't have adequate permission to edit settings.", 'gravityforms'));
            }
            RGFormsModel::save_key(sanitize_text_field($_POST['gforms_key']));
            update_option('rg_gforms_disable_css', (bool) rgpost('gforms_disable_css'));
            update_option('rg_gforms_enable_html5', (bool) rgpost('gforms_enable_html5'));
            update_option('gform_enable_noconflict', (bool) rgpost('gform_enable_noconflict'));
            update_option('gform_enable_background_updates', (bool) rgpost('gform_enable_background_updates'));
            update_option('rg_gforms_enable_akismet', self::get_posted_akismet_setting());
            // do not cast to bool, option is enabled by default; need a "1" or a "0"
            update_option('rg_gforms_captcha_public_key', sanitize_text_field(rgpost('gforms_captcha_public_key')));
            update_option('rg_gforms_captcha_private_key', sanitize_text_field(rgpost('gforms_captcha_private_key')));
            if (!rgempty('gforms_currency') && in_array(rgpost('gforms_currency'), array_keys(RGCurrency::get_currencies()))) {
                update_option('rg_gforms_currency', rgpost('gforms_currency'));
            }
            //Updating message because key could have been changed
            GFCommon::cache_remote_message();
            //Re-caching version info
            $version_info = GFCommon::get_version_info(false);
            ?>
			<div class="updated fade" style="padding:6px;">
				<?php 
            esc_html_e('Settings Updated', 'gravityforms');
            ?>
.
			</div>
		<?php 
        }
        if (!isset($version_info)) {
            $version_info = GFCommon::get_version_info();
        }
        self::page_header(__('General Settings', 'gravityforms'), '');
        ?>
		<form method="post">
			<?php 
        wp_nonce_field('gforms_update_settings', 'gforms_update_settings');
        ?>
			<h3><span><i class="fa fa-cogs"></i> <?php 
        esc_html_e('General Settings', 'gravityforms');
        ?>
</span></h3>
			<table class="form-table">
				<tr valign="top">
					<th scope="row">
						<label for="gforms_key"><?php 
        esc_html_e('Support License Key', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_license_key');
        ?>
					</th>
					<td>
						<?php 
        $key = GFCommon::get_key();
        $key_field = '<input type="password" name="gforms_key" id="gforms_key" style="width:350px;" value="' . $key . '" />';
        if (!rgempty('is_error', $version_info)) {
            $key_field .= "&nbsp;<img src='" . GFCommon::get_base_url() . "/images/exclamation.png' class='gf_keystatus_error gf_tooltip' alt='There was an error validating your key' title='<h6>" . esc_attr__('Validation Error', 'gravityforms') . '</h6>' . esc_attr__('There was an error while validating your license key. Gravity Forms will continue to work, but automatic upgrades will not be available. Please contact support to resolve this issue.', 'gravityforms') . "'/>";
        } else {
            if (rgar($version_info, 'is_valid_key')) {
                $key_field .= "&nbsp;<i class='fa fa-check gf_keystatus_valid'></i> <span class='gf_keystatus_valid_text'>" . esc_html__('Valid Key : Your license key has been successfully validated.', 'gravityforms') . '</span>';
            } else {
                if (!empty($key)) {
                    $key_field .= "&nbsp;<i class='fa fa-times gf_keystatus_invalid'></i> <span class='gf_keystatus_invalid_text'>" . esc_html__('Invalid or Expired Key : Please make sure you have entered the correct value and that your key is not expired.', 'gravityforms') . '</span>';
                }
            }
        }
        echo apply_filters('gform_settings_key_field', $key_field);
        ?>
						<br />
						<span class="gf_settings_description"><?php 
        esc_html_e('The license key is used for access to automatic upgrades and support.', 'gravityforms');
        ?>
</span>
					</td>
				</tr>
				<tr valign="top">
					<th scope="row">
						<label for="gforms_disable_css"><?php 
        esc_html_e('Output CSS', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_output_css');
        ?>
					</th>
					<td>
						<input type="radio" name="gforms_disable_css" value="0" id="gforms_css_output_enabled" <?php 
        echo get_option('rg_gforms_disable_css') == 1 ? '' : "checked='checked'";
        ?>
 /> <?php 
        esc_html_e('Yes', 'gravityforms');
        ?>
&nbsp;&nbsp;
						<input type="radio" name="gforms_disable_css" value="1" id="gforms_css_output_disabled" <?php 
        echo get_option('rg_gforms_disable_css') == 1 ? "checked='checked'" : '';
        ?>
 /> <?php 
        esc_html_e('No', 'gravityforms');
        ?>
						<br />
						<span class="gf_settings_description"><?php 
        esc_html_e('Set this to No if you would like to disable the plugin from outputting the form CSS.', 'gravityforms');
        ?>
</span>
					</td>
				</tr>
				<tr valign="top">
					<th scope="row">
						<label for="gforms_enable_html5"><?php 
        esc_html_e('Output HTML5', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_html5');
        ?>
					</th>
					<td>
						<input type="radio" name="gforms_enable_html5" value="1" <?php 
        echo get_option('rg_gforms_enable_html5') == 1 ? "checked='checked'" : '';
        ?>
 id="gforms_enable_html5" /> <?php 
        esc_html_e('Yes', 'gravityforms');
        ?>
&nbsp;&nbsp;
						<input type="radio" name="gforms_enable_html5" value="0" <?php 
        echo get_option('rg_gforms_enable_html5') == 1 ? '' : "checked='checked'";
        ?>
 /> <?php 
        esc_html_e('No', 'gravityforms');
        ?>
						<br />
						<span class="gf_settings_description"><?php 
        esc_html_e('Set this to No if you would like to disable the plugin from outputting HTML5 form fields.', 'gravityforms');
        ?>
</span>
					</td>
				</tr>

				<tr valign="top">
					<th scope="row">
						<label for="gform_enable_noconflict"><?php 
        esc_html_e('No-Conflict Mode', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_noconflict');
        ?>
					</th>
					<td>
						<input type="radio" name="gform_enable_noconflict" value="1" <?php 
        echo get_option('gform_enable_noconflict') == 1 ? "checked='checked'" : '';
        ?>
 id="gform_enable_noconflict" /> <?php 
        esc_html_e('On', 'gravityforms');
        ?>
&nbsp;&nbsp;
						<input type="radio" name="gform_enable_noconflict" value="0" <?php 
        echo get_option('gform_enable_noconflict') == 1 ? '' : "checked='checked'";
        ?>
 id="gform_disable_noconflict" /> <?php 
        esc_html_e('Off', 'gravityforms');
        ?>
						<br />
						<span class="gf_settings_description"><?php 
        esc_html_e('Set this to ON to prevent extraneous scripts and styles from being printed on Gravity Forms admin pages, reducing conflicts with other plugins and themes.', 'gravityforms');
        ?>
</span>
					</td>
				</tr>

				<?php 
        if (GFCommon::has_akismet()) {
            ?>
					<tr valign="top">
						<th scope="row">
							<label for="gforms_enable_akismet"><?php 
            esc_html_e('Akismet Integration', 'gravityforms');
            ?>
</label>  <?php 
            gform_tooltip('settings_akismet');
            ?>
						</th>
						<td>
							<?php 
            $akismet_setting = get_option('rg_gforms_enable_akismet');
            $is_akismet_enabled = $akismet_setting === false || !empty($akismet_setting);
            //Akismet is enabled by default.
            ?>
							<input type="radio" name="gforms_enable_akismet" value="1" <?php 
            checked($is_akismet_enabled, true);
            ?>
 id="gforms_enable_akismet" /> <?php 
            esc_html_e('Yes', 'gravityforms');
            ?>
&nbsp;&nbsp;
							<input type="radio" name="gforms_enable_akismet" value="0" <?php 
            checked($is_akismet_enabled, false);
            ?>
 /> <?php 
            esc_html_e('No', 'gravityforms');
            ?>
							<br />
							<span class="gf_settings_description"><?php 
            esc_html_e('Protect your form entries from spam using Akismet.', 'gravityforms');
            ?>
</span>
						</td>
					</tr>
				<?php 
        }
        ?>

				<tr valign="top">
					<th scope="row">
						<label for="gforms_currency"><?php 
        esc_html_e('Currency', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_currency');
        ?>
					</th>
					<td>
						<?php 
        $disabled = apply_filters('gform_currency_disabled', false) ? "disabled='disabled'" : '';
        ?>

						<select id="gforms_currency" name="gforms_currency" <?php 
        echo $disabled;
        ?>
>
							<option><?php 
        esc_html_e('Select a Currency', 'gravityforms');
        ?>
</option>
							<?php 
        $current_currency = GFCommon::get_currency();
        foreach (RGCurrency::get_currencies() as $code => $currency) {
            ?>
								<option value="<?php 
            echo esc_attr($code);
            ?>
" <?php 
            echo $current_currency == $code ? "selected='selected'" : '';
            ?>
><?php 
            echo esc_html($currency['name']);
            ?>
</option>
							<?php 
        }
        ?>
						</select>
						<?php 
        do_action('gform_currency_setting_message', '');
        ?>
					</td>
				</tr>

				<tr valign="top">
					<th scope="row">
						<label for="gform_enable_background_updates"><?php 
        esc_html_e('Background updates', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_background_updates');
        ?>
					</th>
					<td>
						<input type="radio" name="gform_enable_background_updates" value="1" <?php 
        echo get_option('gform_enable_background_updates') == 1 ? "checked='checked'" : '';
        ?>
 id="gform_enable_background_updates" /> <?php 
        esc_html_e('On', 'gravityforms');
        ?>
&nbsp;&nbsp;
						<input type="radio" name="gform_enable_background_updates" value="0" <?php 
        echo get_option('gform_enable_background_updates') == 1 ? '' : "checked='checked'";
        ?>
 id="gform_disable_background_updates" /> <?php 
        esc_html_e('Off', 'gravityforms');
        ?>
						<br />
						<span class="gf_settings_description"><?php 
        esc_html_e('Set this to ON to allow Gravity Forms to download and install bug fixes and security updates automatically in the background. Requires a valid license key.', 'gravityforms');
        ?>
</span>
					</td>
				</tr>
			</table>

			<div class="hr-divider"></div>

			<h3><span><i class="fa fa-cogs"></i> <?php 
        esc_html_e('reCAPTCHA Settings', 'gravityforms');
        ?>
</span></h3>

			<p style="text-align: left;"><?php 
        esc_html_e('Gravity Forms integrates with reCAPTCHA, a free CAPTCHA service that helps to digitize books while protecting your forms from spam bots. ', 'gravityforms');
        ?>
				<a href="http://www.google.com/recaptcha/" target="_blank"><?php 
        esc_html_e('Read more about reCAPTCHA', 'gravityforms');
        ?>
</a>.
			</p>

			<table class="form-table">

				<tr valign="top">
					<th scope="row">
						<label for="gforms_captcha_public_key"><?php 
        esc_html_e('reCAPTCHA Public Key', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_recaptcha_public');
        ?>
					</th>
					<td>
						<input type="text" name="gforms_captcha_public_key" style="width:350px;" value="<?php 
        echo esc_attr(get_option('rg_gforms_captcha_public_key'));
        ?>
" /><br />
						<span class="gf_settings_description"><?php 
        esc_html_e('Required only if you decide to use the reCAPTCHA field.', 'gravityforms');
        ?>
 <?php 
        printf(esc_html__('%sSign up%s for a free account to get the key.', 'gravityforms'), '<a target="_blank" href="http://www.google.com/recaptcha">', '</a>');
        ?>
</span>
					</td>
				</tr>
				<tr valign="top">
					<th scope="row">
						<label for="gforms_captcha_private_key"><?php 
        esc_html_e('reCAPTCHA Private Key', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_recaptcha_private');
        ?>
					</th>
					<td>
						<input type="text" name="gforms_captcha_private_key" style="width:350px;" value="<?php 
        echo esc_attr(get_option('rg_gforms_captcha_private_key'));
        ?>
" /><br />
						<span class="gf_settings_description"><?php 
        esc_html_e('Required only if you decide to use the reCAPTCHA field.', 'gravityforms');
        ?>
 <?php 
        printf(esc_html__('%sSign up%s for a free account to get the key.', 'gravityforms'), '<a target="_blank" href="http://www.google.com/recaptcha">', '</a>');
        ?>
</span>
					</td>
				</tr>

			</table>

			<?php 
        if (GFCommon::current_user_can_any('gravityforms_edit_settings')) {
            ?>
				<p class="submit" style="text-align: left;">
					<?php 
            $save_button = '<input type="submit" name="submit" value="' . esc_html__('Save Settings', 'gravityforms') . '" class="button-primary gfbutton"/>';
            /**
             * Filters through and allows modification of the Settings save button HTML in a Form
             *
             * @param string $save_button
             */
            echo apply_filters('gform_settings_save_button', $save_button);
            ?>
				</p>
			<?php 
        }
        ?>
		</form>

		<div id='gform_upgrade_license' style="display:none;"></div>
		<script type="text/javascript">
			jQuery(document).ready(function () {
				jQuery.post(ajaxurl, {
						action            : 'gf_upgrade_license',
						gf_upgrade_license: "<?php 
        echo wp_create_nonce('gf_upgrade_license');
        ?>
"},

					function (data) {
						if (data.trim().length > 0)
							jQuery("#gform_upgrade_license").replaceWith(data);
					}
				);
			});
		</script>
		<?php 
        if (!apply_filters('gform_disable_installation_status', false)) {
            ?>
			<div class="hr-divider"></div>

			<h3><span><i class="fa fa-dashboard"></i> <?php 
            esc_html_e('Installation Status', 'gravityforms');
            ?>
<span></h3>
			<table class="form-table">

				<tr valign="top">
					<th scope="row"><label><?php 
            esc_html_e('PHP Version', 'gravityforms');
            ?>
</label></th>
					<td class="installation_item_cell">
						<strong><?php 
            echo phpversion();
            ?>
</strong>
					</td>
					<td>
						<?php 
            if (version_compare(phpversion(), '5.0.0', '>')) {
                ?>
							<i class="fa fa-check gf_valid"></i>
						<?php 
            } else {
                ?>
							<i class="fa fa-times gf_invalid"></i>
							<span class="installation_item_message"><?php 
                esc_html_e('Gravity Forms requires PHP 5 or above.', 'gravityforms');
                ?>
</span>
						<?php 
            }
            ?>
					</td>
				</tr>
				<tr valign="top">
					<th scope="row"><label><?php 
            esc_html_e('MySQL Version', 'gravityforms');
            ?>
</label></th>
					<td class="installation_item_cell">
						<strong><?php 
            echo esc_html($wpdb->db_version());
            ?>
</strong>
					</td>
					<td>
						<?php 
            if (version_compare($wpdb->db_version(), '5.0.0', '>')) {
                ?>
							<i class="fa fa-check gf_valid"></i>
						<?php 
            } else {
                ?>
							<i class="fa fa-times gf_invalid"></i>
							<span class="installation_item_message"><?php 
                esc_html_e('Gravity Forms requires MySQL 5 or above.', 'gravityforms');
                ?>
</span>
						<?php 
            }
            ?>
					</td>
				</tr>
				<tr valign="top">
					<th scope="row"><label><?php 
            esc_html_e('WordPress Version', 'gravityforms');
            ?>
</label></th>
					<td class="installation_item_cell">
						<strong><?php 
            echo esc_html(get_bloginfo('version'));
            ?>
</strong>
					</td>
					<td>
						<?php 
            if (version_compare(get_bloginfo('version'), '3.0', '>')) {
                ?>
							<i class="fa fa-check gf_valid"></i>
						<?php 
            } else {
                ?>
							<i class="fa fa-times gf_invalid"></i>
							<span class="installation_item_message"><?php 
                printf(esc_html__('Gravity Forms requires WordPress v%s or greater. You must upgrade WordPress in order to use this version of Gravity Forms.', 'gravityforms'), GF_MIN_WP_VERSION);
                ?>
</span>
						<?php 
            }
            ?>
					</td>
				</tr>
				<tr valign="top">
					<th scope="row"><label><?php 
            esc_html_e('Gravity Forms Version', 'gravityforms');
            ?>
</label></th>
					<td class="installation_item_cell">
						<strong><?php 
            echo esc_html(GFCommon::$version);
            ?>
</strong>
					</td>
					<td>
						<?php 
            if (version_compare(GFCommon::$version, $version_info['version'], '>=')) {
                ?>
							<i class="fa fa-check gf_valid"></i>
						<?php 
            } else {
                echo sprintf(esc_html__('New version %s available. Automatic upgrade available on the %splugins page%s', 'gravityforms'), esc_html($version_info['version']), '<a href="plugins.php">', '</a>');
            }
            ?>
					</td>
				</tr>
			</table>
		<?php 
        }
        self::page_footer();
    }
    public static function leads_page($form_id)
    {
        global $wpdb;
        //quit if version of wp is not supported
        if (!GFCommon::ensure_wp_version()) {
            return;
        }
        echo GFCommon::get_remote_message();
        $action = RGForms::post("action");
        $update_message = "";
        switch ($action) {
            case "delete":
                check_admin_referer('gforms_entry_list', 'gforms_entry_list');
                $lead_id = $_POST["action_argument"];
                RGFormsModel::delete_lead($lead_id);
                $update_message = __("Entry deleted.", "gravityforms");
                break;
            case "bulk":
                check_admin_referer('gforms_entry_list', 'gforms_entry_list');
                $bulk_action = !empty($_POST["bulk_action"]) ? $_POST["bulk_action"] : $_POST["bulk_action2"];
                $leads = $_POST["lead"];
                $entry_count = count($leads) > 1 ? sprintf(__("%d entries", "gravityforms"), count($leads)) : __("1 entry", "gravityforms");
                switch ($bulk_action) {
                    case "delete":
                        RGFormsModel::delete_leads($leads);
                        $update_message = sprintf(__("%s deleted.", "gravityforms"), $entry_count);
                        break;
                    case "trash":
                        RGFormsModel::update_leads_property($leads, "status", "trash");
                        $update_message = sprintf(__("%s moved to Trash.", "gravityforms"), $entry_count);
                        break;
                    case "restore":
                        RGFormsModel::update_leads_property($leads, "status", "active");
                        $update_message = sprintf(__("%s restored from the Trash.", "gravityforms"), $entry_count);
                        break;
                    case "unspam":
                        RGFormsModel::update_leads_property($leads, "status", "active");
                        $update_message = sprintf(__("%s restored from the spam.", "gravityforms"), $entry_count);
                        break;
                    case "spam":
                        RGFormsModel::update_leads_property($leads, "status", "spam");
                        $update_message = sprintf(__("%s marked as spam.", "gravityforms"), $entry_count);
                        break;
                    case "mark_read":
                        RGFormsModel::update_leads_property($leads, "is_read", 1);
                        $update_message = sprintf(__("%s marked as read.", "gravityforms"), $entry_count);
                        break;
                    case "mark_unread":
                        RGFormsModel::update_leads_property($leads, "is_read", 0);
                        $update_message = sprintf(__("%s marked as unread.", "gravityforms"), $entry_count);
                        break;
                    case "add_star":
                        RGFormsModel::update_leads_property($leads, "is_starred", 1);
                        $update_message = sprintf(__("%s starred.", "gravityforms"), $entry_count);
                        break;
                    case "remove_star":
                        RGFormsModel::update_leads_property($leads, "is_starred", 0);
                        $update_message = sprintf(__("%s unstarred.", "gravityforms"), $entry_count);
                        break;
                }
                break;
            case "change_columns":
                check_admin_referer('gforms_entry_list', 'gforms_entry_list');
                $columns = GFCommon::json_decode(stripslashes($_POST["grid_columns"]), true);
                RGFormsModel::update_grid_column_meta($form_id, $columns);
                break;
        }
        $filter = rgget("filter");
        if (rgpost("button_delete_permanently")) {
            RGFormsModel::delete_leads_by_form($form_id, $filter);
        }
        $sort_field = empty($_GET["sort"]) ? 0 : $_GET["sort"];
        $sort_direction = empty($_GET["dir"]) ? "DESC" : $_GET["dir"];
        $search = RGForms::get("s");
        $page_index = empty($_GET["paged"]) ? 0 : intval($_GET["paged"]) - 1;
        $star = $filter == "star" ? 1 : null;
        // is_numeric(RGForms::get("star")) ? intval(RGForms::get("star")) : null;
        $read = $filter == "unread" ? 0 : null;
        //is_numeric(RGForms::get("read")) ? intval(RGForms::get("read")) : null;
        $page_size = 20;
        $first_item_index = $page_index * $page_size;
        $form = RGFormsModel::get_form_meta($form_id);
        $sort_field_meta = RGFormsModel::get_field($form, $sort_field);
        $is_numeric = $sort_field_meta["type"] == "number";
        $status = in_array($filter, array("trash", "spam")) ? $filter : "active";
        $leads = RGFormsModel::get_leads($form_id, $sort_field, $sort_direction, $search, $first_item_index, $page_size, $star, $read, $is_numeric, null, null, $status);
        $lead_count = RGFormsModel::get_lead_count($form_id, $search, $star, $read);
        $summary = RGFormsModel::get_form_counts($form_id);
        $total_lead_count = $summary["total"];
        $unread_count = $summary["unread"];
        $starred_count = $summary["starred"];
        $spam_count = $summary["spam"];
        $trash_count = $summary["trash"];
        $columns = RGFormsModel::get_grid_columns($form_id, true);
        $search_qs = empty($search) ? "" : "&s=" . urlencode($search);
        $sort_qs = empty($sort_field) ? "" : "&sort={$sort_field}";
        $dir_qs = empty($sort_field) ? "" : "&dir={$sort_direction}";
        $star_qs = $star !== null ? "&star={$star}" : "";
        $read_qs = $read !== null ? "&read={$read}" : "";
        $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, 'format' => 'paged=%#%', 'prev_text' => __('&laquo;'), 'next_text' => __('&raquo;'), 'total' => ceil($lead_count / $page_size), 'current' => $page_index + 1, 'show_all' => false));
        wp_print_scripts(array("thickbox"));
        wp_print_styles(array("thickbox"));
        ?>

        <script src="<?php 
        echo GFCommon::get_base_url();
        ?>
/js/jquery.json-1.3.js?ver=<?php 
        echo GFCommon::$version;
        ?>
"></script>
        <script src="<?php 
        echo includes_url();
        ?>
/js/wp-lists.dev.js" type="text/javascript"></script>
        <script src="<?php 
        echo includes_url();
        ?>
/js/wp-ajax-response.dev.js" type="text/javascript"></script>

        <script type="text/javascript">

            var messageTimeout = false;

            function ChangeColumns(columns){
                jQuery("#action").val("change_columns");
                jQuery("#grid_columns").val(jQuery.toJSON(columns));
                tb_remove();
                jQuery("#lead_form")[0].submit();
            }

            function Search(sort_field_id, sort_direction, form_id, search, star, read){
                var search_qs = search == "" ? "" : "&s=" + search;
                var star_qs = star == "" ? "" : "&star=" + star;
                var read_qs = read == "" ? "" : "&read=" + read;

                var location = "?page=gf_entries&view=entries&id=" + form_id + "&sort=" + sort_field_id + "&dir=" + sort_direction + search_qs + star_qs + read_qs;
                document.location = location;
            }

            function ToggleStar(img, lead_id){
                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");

                UpdateCount("star_count", is_starred ? -1 : 1);

                UpdateLeadProperty(lead_id, "is_starred", is_starred ? 0 : 1);
            }

            function ToggleRead(lead_id){
                var title = jQuery("#lead_row_" + lead_id);
                marking_read = title.hasClass("lead_unread");

                jQuery("#mark_read_" + lead_id).css("display", marking_read ? "none" : "inline");
                jQuery("#mark_unread_" + lead_id).css("display", marking_read ? "inline" : "none");
                jQuery("#is_unread_" + lead_id).css("display", marking_read ? "inline" : "none");
                title.toggleClass("lead_unread");

                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.encVar( "cookie", document.cookie, false );
                mysack.onError = function() { alert('<?php 
        echo esc_js(__("Ajax error while setting lead property", "gravityforms"));
        ?>
' )};
                mysack.runAJAX();

                return true;
            }

            function UpdateCount(element_id, change){
                var element = jQuery("#" + element_id);
                var count = parseInt(element.html()) + change
                element.html(count + "");
            }

            function DeleteLead(lead_id){
                jQuery("#action").val("delete");
                jQuery("#action_argument").val(lead_id);
                jQuery("#lead_form")[0].submit();
                return true;
            }

            function handleBulkApply(actionElement){

                var action = jQuery("#" + actionElement).val();
                var defaultModalOptions = '';
                var leadIds = getLeadIds();

                if(leadIds.length == 0){
                    alert('<?php 
        _e('Please select at least one entry.', 'gravityforms');
        ?>
');
                    return false;
                }

                switch(action){

                case 'resend_notifications':
                    resetResendNotificationsUI();
                    tb_show('<?php 
        _e("Resend Notifications", "gravityforms");
        ?>
', '#TB_inline?width=350&amp;inlineId=notifications_modal_container', '');
                    return false;
                    break;

                case 'print':
                    resetPrintUI();
                    tb_show('<?php 
        _e("Print Entries", "gravityforms");
        ?>
', '#TB_inline?width=350&amp;height=250&amp;inlineId=print_modal_container', '');
                    return false;
                    break;

                default:
                    jQuery('#action').val('bulk');
                }

            }

            function getLeadIds(){

                var 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 sendAdmin = jQuery("#notification_admin").is(":checked") ? 1 : 0;
                var sendUser = jQuery("#notification_user").is(":checked") ? 1 : 0;
                var leadIds = getLeadIds();

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

                if(!sendAdmin && !sendUser) {
                    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');
        ?>
',
                    sendAdmin : sendAdmin,
                    sendUser : sendUser,
                    sendTo : sendTo,
                    leadIds : leadIds,
                    formId : '<?php 
        echo $form['id'];
        ?>
'
                    },
                    function(response){

                        jQuery('#please_wait_container').hide();

                        if(response) {
                            displayMessage(response, "error", "#notifications_container");
                        } else {
                            var message = '<?php 
        _e("Notifications for %s were resent successfully.", "gravityforms");
        ?>
';
                            displayMessage(message.replace('%s', leadIds.length + ' ' + getPlural(leadIds.length, '<?php 
        _e('entry', 'gravityforms');
        ?>
', '<?php 
        _e('entries', 'gravityforms');
        ?>
')), "updated", "#lead_form");
                            closeModal(true);
                        }

                    }
                );

            }

            function resetResendNotificationsUI(){

                jQuery('#notification_admin, #notification_user').attr('checked', false);
                jQuery('#notifications_container .message, #notifications_override_settings').hide();

            }

            function BulkPrint(){

                var leadIds = getLeadIds();
                var leadsQS = '&lid=' + leadIds.join(',');
                var notesQS = jQuery('#gform_print_notes').is(':checked') ? '&notes=1' : '';
                var pageBreakQS = jQuery('#gform_print_page_break').is(':checked') ? '&page_break=1' : '';

                var url = '<?php 
        echo site_url();
        ?>
/?gf_page=print-entry&fid=<?php 
        echo $form['id'];
        ?>
' + leadsQS + notesQS + pageBreakQS;
                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('#notification_admin').is(':checked') || jQuery('#notification_user').is(':checked')) {
                    jQuery('#notifications_override_settings').slideDown();
                } else {
                    jQuery('#notifications_override_settings').slideUp(function(){
                        jQuery('#notification_override_email').val('');
                    });
                }

            }

            jQuery(document).ready(function(){
                jQuery("#lead_search").keypress(function(event){
                    if(event.keyCode == 13){
                        Search('<?php 
        echo $sort_field;
        ?>
', '<?php 
        echo $sort_direction;
        ?>
', <?php 
        echo $form_id;
        ?>
, this.value, '<?php 
        echo $star;
        ?>
', '<?php 
        echo $read;
        ?>
');
                        event.preventDefault();
                    }
                });

                var action = '<?php 
        echo $action;
        ?>
';
                var message = '<?php 
        echo $update_message;
        ?>
';
                if(action && message)
                    displayMessage(message, 'updated', '#lead_form');


                var list = jQuery("#gf_entry_list").wpList( { alt: '<?php 
        echo esc_js(__('Entry List', 'gravityforms'));
        ?>
'} );
                list.bind('wpListDelEnd', function(e, s){

                    var currentStatus = "<?php 
        echo $filter == "trash" || $filter == "spam" ? $filter : "active";
        ?>
";
                    var movingTo = "active";
                    if(s.target.className.indexOf(':status=trash') != -1)
                        movingTo = "trash";
                    else if(s.target.className.indexOf(':status=spam') != -1)
                        movingTo = "spam";
                    else if(s.target.className.indexOf(':status=delete') != -1)
                        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);
                    }

                    //Updating trash count
                    if(currentStatus == "trash" || movingTo == "trash"){
                        var spamCount = movingTo == "trash" ? 1 : -1;
                        UpdateCount("trash_count", spamCount);
                    }

                });;
            });

        </script>
        <link rel="stylesheet" href="<?php 
        echo GFCommon::get_base_url();
        ?>
/css/admin.css" type="text/css" />
        <style>
            /*#TB_window { height: 400px !important; }
            #TB_ajaxContent[style] { height: 370px !important; }*/
            .lead_unread a, .lead_unread td{font-weight: bold;}
            .lead_spam_trash a, .lead_spam_trash td{font-weight:normal;}
            .row-actions a { font-weight:normal;}
            .entry_nowrap{ overflow:hidden; white-space:nowrap; }
            .message { margin: 15px 0 0 !important; }
        </style>


        <div class="wrap">

            <div class="icon32" id="gravity-entry-icon"><br></div>
            <h2><?php 
        _e("Entries", "gravityforms");
        ?>
 : <?php 
        echo $form["title"];
        ?>
 </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" />

                <ul class="subsubsub">
                    <li><a class="<?php 
        echo empty($filter) ? "current" : "";
        ?>
" href="?page=gf_entries&view=entries&id=<?php 
        echo $form_id;
        ?>
"><?php 
        _e("All", "gravityforms");
        ?>
 <span class="count">(<span id="all_count"><?php 
        echo $total_lead_count;
        ?>
</span>)</span></a> | </li>
                    <li><a class="<?php 
        echo $read !== null ? "current" : "";
        ?>
" href="?page=gf_entries&view=entries&id=<?php 
        echo $form_id;
        ?>
&filter=unread"><?php 
        _e("Unread", "gravityforms");
        ?>
 <span class="count">(<span id="unread_count"><?php 
        echo $unread_count;
        ?>
</span>)</span></a> | </li>
                    <li><a class="<?php 
        echo $star !== null ? "current" : "";
        ?>
" href="?page=gf_entries&view=entries&id=<?php 
        echo $form_id;
        ?>
&filter=star"><?php 
        _e("Starred", "gravityforms");
        ?>
 <span class="count">(<span id="star_count"><?php 
        echo $starred_count;
        ?>
</span>)</span></a> | </li>
                    <?php 
        if (GFCommon::has_akismet()) {
            ?>
                        <li><a class="<?php 
            echo $filter == "spam" ? "current" : "";
            ?>
" href="?page=gf_entries&view=entries&id=<?php 
            echo $form_id;
            ?>
&filter=spam"><?php 
            _e("Spam", "gravityforms");
            ?>
 <span class="count">(<span id="spam_count"><?php 
            echo $spam_count;
            ?>
</span>)</span></a> | </li>
                        <?php 
        }
        ?>
                    <li><a class="<?php 
        echo $filter == "trash" ? "current" : "";
        ?>
" href="?page=gf_entries&view=entries&id=<?php 
        echo $form_id;
        ?>
&filter=trash"><?php 
        _e("Trash", "gravityforms");
        ?>
 <span class="count">(<span id="trash_count"><?php 
        echo $trash_count;
        ?>
</span>)</span></a></li>
                </ul>
                <p class="search-box">
                    <label class="hidden" for="lead_search"><?php 
        _e("Search Entries:", "gravityforms");
        ?>
</label>
                    <input type="text" id="lead_search" value="<?php 
        echo $search;
        ?>
"><a class="button" id="lead_search_button" href="javascript:Search('<?php 
        echo $sort_field;
        ?>
', '<?php 
        echo $sort_direction;
        ?>
', <?php 
        echo $form_id;
        ?>
, jQuery('#lead_search').val(), '<?php 
        echo $star;
        ?>
', '<?php 
        echo $read;
        ?>
');"><?php 
        _e("Search", "gravityforms");
        ?>
</a>

                </p>
                <div class="tablenav">

                    <div class="alignleft actions" style="padding:8px 0 7px 0;">
                        <label class="hidden" for="bulk_action"> <?php 
        _e("Bulk action", "gravityforms");
        ?>
</label>
                        <select name="bulk_action" id="bulk_action">
                            <option value=''><?php 
        _e(" Bulk action ", "gravityforms");
        ?>
</option>
                            <?php 
        switch ($filter) {
            case "trash":
                ?>
                                    <option value='restore'><?php 
                _e("Restore", "gravityforms");
                ?>
</option>
                                    <?php 
                if (GFCommon::current_user_can_any("gravityforms_delete_entries")) {
                    ?>
                                        <option value='delete'><?php 
                    _e("Delete Permanently", "gravityforms");
                    ?>
</option>
                                        <?php 
                }
                break;
            case "spam":
                ?>
                                    <option value='unspam'><?php 
                _e("Not Spam", "gravityforms");
                ?>
</option>
                                    <?php 
                if (GFCommon::current_user_can_any("gravityforms_delete_entries")) {
                    ?>
                                        <option value='delete'><?php 
                    _e("Delete Permanently", "gravityforms");
                    ?>
</option>
                                        <?php 
                }
                break;
            default:
                ?>
                                    <option value='mark_read'><?php 
                _e("Mark as Read", "gravityforms");
                ?>
</option>
                                    <option value='mark_unread'><?php 
                _e("Mark as Unread", "gravityforms");
                ?>
</option>
                                    <option value='add_star'><?php 
                _e("Add Star", "gravityforms");
                ?>
</option>
                                    <option value='remove_star'><?php 
                _e("Remove Star", "gravityforms");
                ?>
</option>
                                    <option value='resend_notifications'><?php 
                _e("Resend Notifications", "gravityforms");
                ?>
</option>
                                    <option value='print'><?php 
                _e("Print", "gravityforms");
                ?>
</option>

                                    <?php 
                if (GFCommon::has_akismet()) {
                    ?>
                                        <option value='spam'><?php 
                    _e("Spam", "gravityforms");
                    ?>
</option>
                                        <?php 
                }
                if (GFCommon::current_user_can_any("gravityforms_delete_entries")) {
                    ?>
                                        <option value='trash'><?php 
                    _e("Trash", "gravityforms");
                    ?>
</option>
                                        <?php 
                }
        }
        ?>
                        </select>
                        <?php 
        $apply_button = '<input type="submit" class="button" value="' . __("Apply", "gravityforms") . '" onclick="return handleBulkApply(\'bulk_action\');" />';
        echo apply_filters("gform_entry_apply_button", $apply_button);
        if (in_array($filter, array("trash", "spam"))) {
            $message = $filter == "trash" ? __("WARNING! This operation cannot be undone. Empty trash? \\'Ok\\' to empty trash. \\'Cancel\\' to abort.") : __("WARNING! This operation cannot be undone. Permanently delete all spam? \\'Ok\\' to delete. \\'Cancel\\' to abort.");
            $button_label = $filter == "trash" ? __("Empty Trash", "gravityforms") : __("Delete All Spam", "gravityforms");
            ?>
                            <input type="submit" class="button" name="button_delete_permanently" value="<?php 
            echo $button_label;
            ?>
" onclick="return confirm('<?php 
            echo esc_attr($message);
            ?>
');" />
                            <?php 
        }
        ?>
                        <div id="notifications_modal_container" style="display:none;">
                            <div id="notifications_container">

                                <div id="post_tag" class="tagsdiv">
                                    <div id="resend_notifications_options">

                                        <p class="description"><?php 
        _e("Specify which notifications you would like to resend for the selected entries.", "gravityforms");
        ?>
</p>

                                        <?php 
        if (GFCommon::has_admin_notification($form)) {
            ?>
                                            <input type="checkbox" name="notification_admin" id="notification_admin" onclick="toggleNotificationOverride();" /> <label for="notification_admin"><?php 
            _e("Admin Notification", "gravityforms");
            ?>
</label> <br /><br />
                                        <?php 
        }
        ?>
                                        <?php 
        if (GFCommon::has_user_notification($form)) {
            ?>
                                            <input type="checkbox" name="notification_user" id="notification_user" onclick="toggleNotificationOverride();" /> <label for="notification_user"><?php 
            _e("User Notification", "gravityforms");
            ?>
</label> <br /><br />
                                        <?php 
        }
        ?>

                                        <div id="notifications_override_settings" style="display:none;">

                                            <p class="description" style="padding-top:0; margin-top:0;">You may override the default notification settings
                                             by entering a comma delimited list of emails to which the selected notifications should be sent.</p>
                                            <label for="notification_override_email"><?php 
        _e("Send To", "gravityforms");
        ?>
 <?php 
        gform_tooltip("notification_override_email");
        ?>
</label><br />
                                            <input type="text" name="notification_override_email" id="notification_override_email" style="width:99%;" /><br /><br />

                                        </div>

                                        <input type="button" name="notification_resend" id="notification_resend" value="<?php 
        _e("Resend Notifications", "gravityforms");
        ?>
" class="button" style="" onclick="BulkResendNotifications();"/>
                                        <span id="please_wait_container" style="display:none; margin-left: 5px;">
                                            <img src="<?php 
        echo GFCommon::get_base_url();
        ?>
/images/loading.gif"> <?php 
        _e("Resending...", "gravityforms");
        ?>
                                        </span>

                                    </div>

                                    <div id="resend_notifications_close" style="display:none;margin:10px 0 0;">
                                        <input type="button" name="resend_notifications_close_button" value="<?php 
        _e("Close Window", "gravityforms");
        ?>
" class="button" style="" onclick="closeModal(true);"/>
                                    </div>

                                </div>

                            </div>
                        </div> <!-- / Resend Notifications -->

                        <div id="print_modal_container" style="display:none;">
                            <div id="print_container">

                                <div id="post_tag" class="tagsdiv">
                                    <div id="print_options">

                                        <p class="description"><?php 
        _e("Print all of the selected entries at once.", "gravityforms");
        ?>
</p>

                                        <?php 
        if (GFCommon::current_user_can_any("gravityforms_view_entry_notes")) {
            ?>
                                            <input type="checkbox" name="gform_print_notes" value="print_notes" checked="checked" id="gform_print_notes" />
                                            <label for="gform_print_notes"><?php 
            _e("Include notes", "gravityforms");
            ?>
</label>
                                            <br /><br />
                                        <?php 
        }
        ?>

                                        <input type="checkbox" name="gform_print_page_break" value="print_notes" checked="checked" id="gform_print_page_break" />
                                        <label for="gform_print_page_break"><?php 
        _e("Add page break between entries", "gravityforms");
        ?>
</label>
                                        <br /><br />

                                        <input type="button" value="<?php 
        _e("Print", "gravityforms");
        ?>
" class="button" onclick="BulkPrint();" />

                                    </div>
                                </div>

                            </div>
                        </div> <!-- / Print -->

                    </div>

                    <?php 
        //Displaying paging links if appropriate
        if ($page_links) {
            ?>
                        <div class="tablenav-pages">
                            <span class="displaying-num"><?php 
            printf(__("Displaying %d - %d of %d", "gravityforms"), $first_item_index + 1, $first_item_index + $page_size > $lead_count ? $lead_count : $first_item_index + $page_size, $lead_count);
            ?>
</span>
                            <?php 
            echo $page_links;
            ?>
                        </div>
                        <?php 
        }
        ?>
                    <div class="clear"></div>
                </div>

                <table class="widefat fixed" cellspacing="0">
                <thead>
                    <tr>
                        <th scope="col" id="cb" class="manage-column column-cb check-column"><input type="checkbox" class="headercb" /></th>
                        <?php 
        if (!in_array($filter, array("spam", "trash"))) {
            ?>
                            <th scope="col" id="cb" class="manage-column column-cb check-column" >&nbsp;</th>
                            <?php 
        }
        foreach ($columns as $field_id => $field_info) {
            $dir = $field_id == 0 ? "DESC" : "ASC";
            //default every field so ascending sorting except date_created (id=0)
            if ($field_id == $sort_field) {
                //reverting direction if clicking on the currently sorted field
                $dir = $sort_direction == "ASC" ? "DESC" : "ASC";
            }
            ?>
                            <th scope="col" class="manage-column entry_nowrap" onclick="Search('<?php 
            echo $field_id;
            ?>
', '<?php 
            echo $dir;
            ?>
', <?php 
            echo $form_id;
            ?>
, '<?php 
            echo $search;
            ?>
', '<?php 
            echo $star;
            ?>
', '<?php 
            echo $read;
            ?>
');" style="cursor:pointer;"><?php 
            echo esc_html($field_info["label"]);
            ?>
</th>
                            <?php 
        }
        ?>
                        <th scope="col" align="right" width="50">
                            <a title="<?php 
        _e("Select Columns", "gravityforms");
        ?>
" href="<?php 
        echo site_url();
        ?>
/?gf_page=select_columns&id=<?php 
        echo $form_id;
        ?>
&TB_iframe=true&height=365&width=600" class="thickbox entries_edit_icon"><?php 
        _e("Edit", "gravityforms");
        ?>
</a>
                        </th>
                    </tr>
                </thead>
                <tfoot>
                    <tr>
                        <th scope="col" id="cb" class="manage-column column-cb check-column" style=""><input type="checkbox" /></th>
                        <?php 
        if (!in_array($filter, array("spam", "trash"))) {
            ?>
                            <th scope="col" id="cb" class="manage-column column-cb check-column" >&nbsp;</th>
                        <?php 
        }
        foreach ($columns as $field_id => $field_info) {
            $dir = $field_id == 0 ? "DESC" : "ASC";
            //default every field so ascending sorting except date_created (id=0)
            if ($field_id == $sort_field) {
                //reverting direction if clicking on the currently sorted field
                $dir = $sort_direction == "ASC" ? "DESC" : "ASC";
            }
            ?>
                            <th scope="col" class="manage-column entry_nowrap" onclick="Search('<?php 
            echo $field_id;
            ?>
', '<?php 
            echo $dir;
            ?>
', <?php 
            echo $form_id;
            ?>
, '<?php 
            echo $search;
            ?>
', '<?php 
            echo $star;
            ?>
', '<?php 
            echo $read;
            ?>
');" style="cursor:pointer;"><?php 
            echo esc_html($field_info["label"]);
            ?>
</th>
                            <?php 
        }
        ?>
                        <th scope="col" style="width:15px;">
                            <a href="<?php 
        echo site_url();
        ?>
/?gf_page=select_columns&id=<?php 
        echo $form_id;
        ?>
&TB_iframe=true&height=365&width=600" class="thickbox entries_edit_icon"><?php 
        _e("Edit", "gravityforms");
        ?>
</a>
                        </th>
                    </tr>
                </tfoot>

                <tbody class="list:gf_entry user-list" id="gf_entry_list">
                    <?php 
        if (sizeof($leads) > 0) {
            $field_ids = array_keys($columns);
            foreach ($leads as $lead) {
                ?>
                            <tr id="lead_row_<?php 
                echo $lead["id"];
                ?>
" class='author-self status-inherit <?php 
                echo $lead["is_read"] ? "" : "lead_unread";
                ?>
 <?php 
                echo $lead["is_starred"] ? "lead_starred" : "";
                ?>
 <?php 
                echo in_array($filter, array("trash", "spam")) ? "lead_spam_trash" : "";
                ?>
'  valign="top">
                                <th scope="row" class="check-column">
                                    <input type="checkbox" name="lead[]" value="<?php 
                echo $lead["id"];
                ?>
" />
                                </th>
                                <?php 
                if (!in_array($filter, array("spam", "trash"))) {
                    ?>
                                    <td >
                                        <img id="star_image_<?php 
                    echo $lead["id"];
                    ?>
" src="<?php 
                    echo GFCommon::get_base_url();
                    ?>
/images/star<?php 
                    echo intval($lead["is_starred"]);
                    ?>
.png" onclick="ToggleStar(this, <?php 
                    echo $lead["id"];
                    ?>
);" />
                                    </td>
                                <?php 
                }
                $is_first_column = true;
                $nowrap_class = "entry_nowrap";
                foreach ($field_ids as $field_id) {
                    $value = RGForms::get($field_id, $lead);
                    //filtering lead value
                    $value = apply_filters("gform_get_field_value", $value, $lead, RGFormsModel::get_field($form, $field_id));
                    $input_type = !empty($columns[$field_id]["inputType"]) ? $columns[$field_id]["inputType"] : $columns[$field_id]["type"];
                    switch ($input_type) {
                        case "checkbox":
                            $value = "";
                            //if this is the main checkbox field (not an input), display a comma separated list of all inputs
                            if (absint($field_id) == $field_id) {
                                $lead_field_keys = array_keys($lead);
                                $items = array();
                                foreach ($lead_field_keys as $input_id) {
                                    if (is_numeric($input_id) && absint($input_id) == $field_id) {
                                        $items[] = GFCommon::selection_display(rgar($lead, $input_id), null, $lead["currency"], false);
                                    }
                                }
                                $value = GFCommon::implode_non_blank(", ", $items);
                            } else {
                                $value = "";
                                //looping through lead detail values trying to find an item identical to the column label. Mark with a tick if found.
                                $lead_field_keys = array_keys($lead);
                                foreach ($lead_field_keys as $input_id) {
                                    //mark as a tick if input label (from form meta) is equal to submitted value (from lead)
                                    if (is_numeric($input_id) && absint($input_id) == absint($field_id)) {
                                        if ($lead[$input_id] == $columns[$field_id]["label"]) {
                                            $value = "<img src='" . GFCommon::get_base_url() . "/images/tick.png'/>";
                                        } else {
                                            $field = RGFormsModel::get_field($form, $field_id);
                                            if (rgar($field, "enableChoiceValue") || rgar($field, "enablePrice")) {
                                                foreach ($field["choices"] as $choice) {
                                                    if ($choice["value"] == $lead[$field_id]) {
                                                        $value = "<img src='" . GFCommon::get_base_url() . "/images/tick.png'/>";
                                                        break;
                                                    } else {
                                                        if ($field["enablePrice"]) {
                                                            $ary = explode("|", $lead[$field_id]);
                                                            $val = count($ary) > 0 ? $ary[0] : "";
                                                            $price = count($ary) > 1 ? $ary[1] : "";
                                                            if ($val == $choice["value"]) {
                                                                $value = "<img src='" . GFCommon::get_base_url() . "/images/tick.png'/>";
                                                                break;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                            break;
                        case "post_image":
                            list($url, $title, $caption, $description) = rgexplode("|:|", $value, 4);
                            if (!empty($url)) {
                                //displaying thumbnail (if file is an image) or an icon based on the extension
                                $thumb = self::get_icon_url($url);
                                $value = "<a href='" . esc_attr($url) . "' target='_blank' title='" . __("Click to view", "gravityforms") . "'><img src='{$thumb}'/></a>";
                            }
                            break;
                        case "post_category":
                            $ary = explode(":", $value);
                            $cat_name = count($ary) > 0 ? $ary[0] : "";
                            $value = $cat_name;
                            break;
                        case "fileupload":
                            $file_path = $value;
                            if (!empty($file_path)) {
                                //displaying thumbnail (if file is an image) or an icon based on the extension
                                $thumb = self::get_icon_url($file_path);
                                $file_path = esc_attr($file_path);
                                $value = "<a href='{$file_path}' target='_blank' title='" . __("Click to view", "gravityforms") . "'><img src='{$thumb}'/></a>";
                            }
                            break;
                        case "source_url":
                            $value = "<a href='" . esc_attr($lead["source_url"]) . "' target='_blank' alt='" . esc_attr($lead["source_url"]) . "' title='" . esc_attr($lead["source_url"]) . "'>.../" . esc_attr(GFCommon::truncate_url($lead["source_url"])) . "</a>";
                            break;
                        case "textarea":
                        case "post_content":
                        case "post_excerpt":
                            $value = esc_html($value);
                            break;
                        case "date_created":
                        case "payment_date":
                            $value = GFCommon::format_date($value, false);
                            break;
                        case "date":
                            $field = RGFormsModel::get_field($form, $field_id);
                            $value = GFCommon::date_display($value, $field["dateFormat"]);
                            break;
                        case "radio":
                        case "select":
                            $field = RGFormsModel::get_field($form, $field_id);
                            $value = GFCommon::selection_display($value, $field, $lead["currency"]);
                            break;
                        case "number":
                            $field = RGFormsModel::get_field($form, $field_id);
                            $value = GFCommon::format_number($value, rgar($field, "numberFormat"));
                            break;
                        case "total":
                        case "payment_amount":
                            $value = GFCommon::to_money($value, $lead["currency"]);
                            break;
                        case "created_by":
                            if (!empty($value)) {
                                $userdata = get_userdata($value);
                                $value = $userdata->user_login;
                            }
                            break;
                        default:
                            $value = esc_html($value);
                    }
                    $value = apply_filters("gform_entries_field_value", $value, $form_id, $field_id, $lead);
                    $query_string = "gf_entries&view=entry&id={$form_id}&lid={$lead["id"]}{$search_qs}{$sort_qs}{$dir_qs}&paged=" . ($page_index + 1);
                    if ($is_first_column) {
                        ?>
                                        <td class="column-title" >
                                            <a href="admin.php?page=gf_entries&view=entry&id=<?php 
                        echo $form_id;
                        ?>
&lid=<?php 
                        echo $lead["id"] . $search_qs . $sort_qs . $dir_qs;
                        ?>
&paged=<?php 
                        echo $page_index + 1;
                        ?>
"><?php 
                        echo $value;
                        ?>
</a>
                                            <div class="row-actions">
                                                <?php 
                        switch ($filter) {
                            case "trash":
                                ?>
                                                        <span class="edit">
                                                            <a title="<?php 
                                _e("View this entry", "gravityforms");
                                ?>
" href="admin.php?page=gf_entries&view=entry&id=<?php 
                                echo $form_id;
                                ?>
&lid=<?php 
                                echo $lead["id"] . $search_qs . $sort_qs . $dir_qs;
                                ?>
&paged=<?php 
                                echo $page_index + 1;
                                ?>
"><?php 
                                _e("View", "gravityforms");
                                ?>
</a>
                                                            |
                                                        </span>

                                                        <span class="edit">
                                                            <a class='delete:gf_entry_list:lead_row_<?php 
                                echo $lead["id"];
                                ?>
::status=active&entry=<?php 
                                echo $lead["id"];
                                ?>
' title="<?php 
                                echo _e("Restore this entry", "gravityforms");
                                ?>
" href="<?php 
                                echo wp_nonce_url("?page=gf_entries", "gf_delete_entry");
                                ?>
"><?php 
                                _e("Restore", "gravityforms");
                                ?>
</a>
                                                            <?php 
                                echo GFCommon::current_user_can_any("gravityforms_delete_entries") ? "|" : "";
                                ?>
                                                        </span>

                                                        <?php 
                                if (GFCommon::current_user_can_any("gravityforms_delete_entries")) {
                                    ?>
                                                            <span class="delete">
                                                                <?php 
                                    $delete_link = '<a class="delete:gf_entry_list:lead_row_' . $lead["id"] . '::status=delete&entry=' . $lead["id"] . '" title="' . __("Delete this entry permanently", "gravityforms") . '"  href="' . wp_nonce_url("?page=gf_entries", "gf_delete_entry") . '">' . __("Delete Permanently", "gravityforms") . '</a>';
                                    echo apply_filters("gform_delete_entry_link", $delete_link);
                                    ?>
                                                            </span>
                                                            <?php 
                                }
                                break;
                            case "spam":
                                ?>
                                                        <span class="edit">
                                                            <a title="<?php 
                                _e("View this entry", "gravityforms");
                                ?>
" href="admin.php?page=gf_entries&view=entry&id=<?php 
                                echo $form_id;
                                ?>
&lid=<?php 
                                echo $lead["id"] . $search_qs . $sort_qs . $dir_qs;
                                ?>
&paged=<?php 
                                echo $page_index + 1;
                                ?>
"><?php 
                                _e("View", "gravityforms");
                                ?>
</a>
                                                            |
                                                        </span>

                                                        <span class="unspam">
                                                            <a class='delete:gf_entry_list:lead_row_<?php 
                                echo $lead["id"];
                                ?>
::status=unspam&entry=<?php 
                                echo $lead["id"];
                                ?>
' title="<?php 
                                echo _e("Mark this entry as not spam", "gravityforms");
                                ?>
" href="<?php 
                                echo wp_nonce_url("?page=gf_entries", "gf_delete_entry");
                                ?>
"><?php 
                                _e("Not Spam", "gravityforms");
                                ?>
</a>
                                                            <?php 
                                echo GFCommon::current_user_can_any("gravityforms_delete_entries") ? "|" : "";
                                ?>
                                                        </span>

                                                        <?php 
                                if (GFCommon::current_user_can_any("gravityforms_delete_entries")) {
                                    ?>
                                                            <span class="delete">
                                                                <?php 
                                    $delete_link = '<a class="delete:gf_entry_list:lead_row_' . $lead["id"] . '::status=delete&entry=' . $lead["id"] . '" title="' . __("Delete this entry permanently", "gravityforms") . '"  href="' . wp_nonce_url("?page=gf_entries", "gf_delete_entry") . '">' . __("Delete Permanently", "gravityforms") . '</a>';
                                    echo apply_filters("gform_delete_entry_link", $delete_link);
                                    ?>
                                                            </span>
                                                            <?php 
                                }
                                break;
                            default:
                                ?>
                                                        <span class="edit">
                                                            <a title="<?php 
                                _e("View this entry", "gravityforms");
                                ?>
" href="admin.php?page=gf_entries&view=entry&id=<?php 
                                echo $form_id;
                                ?>
&lid=<?php 
                                echo $lead["id"] . $search_qs . $sort_qs . $dir_qs;
                                ?>
&paged=<?php 
                                echo $page_index + 1;
                                ?>
"><?php 
                                _e("View", "gravityforms");
                                ?>
</a>
                                                            |
                                                        </span>
                                                        <span class="edit">
                                                            <a id="mark_read_<?php 
                                echo $lead["id"];
                                ?>
" title="Mark this entry as read" href="javascript:ToggleRead(<?php 
                                echo $lead["id"];
                                ?>
);" style="display:<?php 
                                echo $lead["is_read"] ? "none" : "inline";
                                ?>
;"><?php 
                                _e("Mark read", "gravityforms");
                                ?>
</a><a id="mark_unread_<?php 
                                echo $lead["id"];
                                ?>
" title="<?php 
                                _e("Mark this entry as unread", "gravityforms");
                                ?>
" href="javascript:ToggleRead(<?php 
                                echo $lead["id"];
                                ?>
);" style="display:<?php 
                                echo $lead["is_read"] ? "inline" : "none";
                                ?>
;"><?php 
                                _e("Mark unread", "gravityforms");
                                ?>
</a>
                                                            <?php 
                                echo GFCommon::current_user_can_any("gravityforms_delete_entries") || GFCommon::has_akismet() ? "|" : "";
                                ?>
                                                        </span>
                                                        <?php 
                                if (GFCommon::has_akismet()) {
                                    ?>
                                                            <span class="spam">
                                                                <a class='delete:gf_entry_list:lead_row_<?php 
                                    echo $lead["id"];
                                    ?>
::status=spam&entry=<?php 
                                    echo $lead["id"];
                                    ?>
' title="<?php 
                                    _e("Mark this entry as spam", "gravityforms");
                                    ?>
" href="<?php 
                                    echo wp_nonce_url("?page=gf_entries", "gf_delete_entry");
                                    ?>
"><?php 
                                    _e("Spam", "gravityforms");
                                    ?>
</a>
                                                                <?php 
                                    echo GFCommon::current_user_can_any("gravityforms_delete_entries") ? "|" : "";
                                    ?>
                                                            </span>

                                                        <?php 
                                }
                                if (GFCommon::current_user_can_any("gravityforms_delete_entries")) {
                                    ?>
                                                            <span class="trash">
                                                                <a class='delete:gf_entry_list:lead_row_<?php 
                                    echo $lead["id"];
                                    ?>
::status=trash&entry=<?php 
                                    echo $lead["id"];
                                    ?>
' title="<?php 
                                    _e("Move this entry to the trash", "gravityforms");
                                    ?>
" href="<?php 
                                    echo wp_nonce_url("?page=gf_entries", "gf_delete_entry");
                                    ?>
"><?php 
                                    _e("Trash", "gravityforms");
                                    ?>
</a>
                                                            </span>
                                                            <?php 
                                }
                                break;
                        }
                        do_action("gform_entries_first_column_actions", $form_id, $field_id, $value, $lead, $query_string);
                        ?>

                                            </div>
                                            <?php 
                        do_action("gform_entries_first_column", $form_id, $field_id, $value, $lead, $query_string);
                        ?>
                                        </td>
                                        <?php 
                    } else {
                        ?>
                                        <td class="<?php 
                        echo $nowrap_class;
                        ?>
">
                                            <?php 
                        echo $value;
                        ?>
&nbsp;
                                            <?php 
                        do_action("gform_entries_column", $form_id, $field_id, $value, $lead, $query_string);
                        ?>
                                        </td>
                                        <?php 
                    }
                    $is_first_column = false;
                }
                ?>
                                <td>&nbsp;</td>
                            </tr>
                            <?php 
            }
        } else {
            $message = "";
            $column_count = sizeof($columns) + 3;
            switch ($filter) {
                case "unread":
                    $message = __("This form does not have any unread entries.", "gravityforms");
                    break;
                case "star":
                    $message = __("This form does not have any starred entries.", "gravityforms");
                    break;
                case "spam":
                    $message = __("This form does not have any spam.", "gravityforms");
                    $column_count = sizeof($columns) + 2;
                    break;
                case "trash":
                    $message = __("This form does not have any entries in the trash.", "gravityforms");
                    $column_count = sizeof($columns) + 2;
                    break;
                default:
                    $message = __("This form does not have any entries yet.", "gravityforms");
            }
            ?>
                        <tr>
                            <td colspan="<?php 
            echo $column_count;
            ?>
" style="padding:20px;"><?php 
            echo $message;
            ?>
</td>
                        </tr>
                        <?php 
        }
        ?>
                </tbody>
                </table>

                <div class="clear"></div>

                <div class="tablenav">

                    <div class="alignleft actions" style="padding:8px 0 7px 0;">
                        <label class="hidden" for="bulk_action2"> <?php 
        _e("Bulk action", "gravityforms");
        ?>
</label>
                        <select name="bulk_action2" id="bulk_action2">
                            <option value=''><?php 
        _e(" Bulk action ", "gravityforms");
        ?>
</option>
                            <?php 
        switch ($filter) {
            case "trash":
                ?>
                                    <option value='restore'><?php 
                _e("Restore", "gravityforms");
                ?>
</option>
                                    <?php 
                if (GFCommon::current_user_can_any("gravityforms_delete_entries")) {
                    ?>
                                        <option value='delete'><?php 
                    _e("Delete Permanently", "gravityforms");
                    ?>
</option>
                                        <?php 
                }
                break;
            case "spam":
                ?>
                                    <option value='unspam'><?php 
                _e("Not Spam", "gravityforms");
                ?>
</option>
                                    <?php 
                if (GFCommon::current_user_can_any("gravityforms_delete_entries")) {
                    ?>
                                        <option value='delete'><?php 
                    _e("Delete Permanently", "gravityforms");
                    ?>
</option>
                                        <?php 
                }
                break;
            default:
                ?>
                                <option value='mark_read'><?php 
                _e("Mark as Read", "gravityforms");
                ?>
</option>
                                <option value='mark_unread'><?php 
                _e("Mark as Unread", "gravityforms");
                ?>
</option>
                                <option value='add_star'><?php 
                _e("Add Star", "gravityforms");
                ?>
</option>
                                <option value='remove_star'><?php 
                _e("Remove Star", "gravityforms");
                ?>
</option>
                                <option value='resend_notifications'><?php 
                _e("Resend Notifications", "gravityforms");
                ?>
</option>
                                <option value='print'><?php 
                _e("Print", "gravityforms");
                ?>
</option>
                                <?php 
                if (GFCommon::has_akismet()) {
                    ?>
                                    <option value='spam'><?php 
                    _e("Spam", "gravityforms");
                    ?>
</option>
                                    <?php 
                }
                if (GFCommon::current_user_can_any("gravityforms_delete_entries")) {
                    ?>
                                    <option value='trash'><?php 
                    _e("Trash", "gravityforms");
                    ?>
</option>
                                    <?php 
                }
        }
        ?>
                        </select>
                        <?php 
        $apply_button = '<input type="submit" class="button" value="' . __("Apply", "gravityforms") . '" onclick="return handleBulkApply(\'bulk_action2\');" />';
        echo apply_filters("gform_entry_apply_button", $apply_button);
        ?>
                    </div>

                    <?php 
        //Displaying paging links if appropriate
        if ($page_links) {
            ?>
                        <div class="tablenav-pages">
                            <span class="displaying-num"><?php 
            printf(__("Displaying %d - %d of %d", "gravityforms"), $first_item_index + 1, $first_item_index + $page_size > $lead_count ? $lead_count : $first_item_index + $page_size, $lead_count);
            ?>
</span>
                            <?php 
            echo $page_links;
            ?>
                        </div>
                        <?php 
        }
        ?>
                    <div class="clear"></div>
                </div>

            </form>
        </div>
        <?php 
    }
 public static function handle_submission($form, &$lead, $ajax = false)
 {
     //creating entry in DB
     RGFormsModel::save_lead($form, $lead);
     //reading entry that was just saved
     $lead = RGFormsModel::get_lead($lead["id"]);
     do_action('gform_entry_created', $lead, $form);
     //if Akismet plugin is installed, run lead through Akismet and mark it as Spam when appropriate
     $is_spam = false;
     if (GFCommon::has_akismet() && GFCommon::is_akismet_spam($form, $lead)) {
         $is_spam = true;
     }
     if (!$is_spam) {
         GFCommon::create_post($form, $lead);
         //send auto-responder and notification emails
         self::send_emails($form, $lead);
     } else {
         //marking entry as spam
         RGFormsModel::update_lead_property($lead["id"], "status", "spam", false, true);
         $lead["status"] = "spam";
     }
     //display confirmation message or redirect to confirmation page
     return self::handle_confirmation($form, $lead, $ajax);
 }
    function display()
    {
        $disabled = apply_filters('gform_currency_disabled', false) ? "disabled='disabled'" : '';
        ?>
		<table class="form-table">
			<tr valign="top">
				<th scope="row">
					<label for="gforms_currency"><?php 
        esc_html_e('Currency', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_currency');
        ?>
				</th>
				<td>
					<?php 
        $disabled = apply_filters('gform_currency_disabled', false) ? "disabled='disabled'" : '';
        ?>

					<select id="gforms_currency" name="currency" <?php 
        echo $disabled;
        ?>
>
						<option value=""><?php 
        esc_html_e('Select a Currency', 'gravityforms');
        ?>
</option>
						<?php 
        require_once GFCommon::get_base_path() . '/currency.php';
        $current_currency = $this->currency;
        foreach (RGCurrency::get_currencies() as $code => $currency) {
            ?>
							<option value="<?php 
            echo esc_attr($code);
            ?>
" <?php 
            echo $current_currency == $code ? "selected='selected'" : '';
            ?>
><?php 
            echo esc_html($currency['name']);
            ?>
</option>
						<?php 
        }
        ?>
					</select>
					<?php 
        do_action('gform_currency_setting_message', '');
        ?>
				</td>
			</tr>
			<tr valign="top">
				<th scope="row">
					<label for="gform_enable_noconflict"><?php 
        esc_html_e('No-Conflict Mode', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_noconflict');
        ?>
				</th>
				<td>
					<input type="radio" name="enable_noconflict" value="1" <?php 
        echo $this->enable_noconflict == 1 ? "checked='checked'" : '';
        ?>
 id="gform_enable_noconflict" /> <?php 
        esc_html_e('On', 'gravityforms');
        ?>
&nbsp;&nbsp;
					<input type="radio" name="enable_noconflict" value="0" <?php 
        echo $this->enable_noconflict == 1 ? '' : "checked='checked'";
        ?>
 id="gform_disable_noconflict" /> <?php 
        esc_html_e('Off', 'gravityforms');
        ?>
					<br />
					<span class="gf_settings_description"><?php 
        esc_html_e('Set this to ON to prevent extraneous scripts and styles from being printed on Gravity Forms admin pages, reducing conflicts with other plugins and themes.', 'gravityforms');
        ?>
</span>
				</td>
			</tr>
			<tr valign="top">
				<th scope="row">
					<label for="gform_enable_toolbar_menu"><?php 
        esc_html_e('Toolbar Menu', 'gravityforms');
        ?>
</label>  <?php 
        gform_tooltip('settings_toolbar_menu');
        ?>
				</th>
				<td>
					<input type="radio" name="enable_toolbar_menu" value="1" <?php 
        checked($this->enable_toolbar_menu, true);
        ?>
 id="gform_enable_toolbar_menu" /> <?php 
        esc_html_e('On', 'gravityforms');
        ?>
&nbsp;&nbsp;
					<input type="radio" name="enable_toolbar_menu" value="0" <?php 
        checked($this->enable_toolbar_menu, false);
        ?>
 id="gform_disable_toolbar_menu" /> <?php 
        esc_html_e('Off', 'gravityforms');
        ?>
					<br />
					<span class="gf_settings_description"><?php 
        esc_html_e('Set this to ON to display the Forms menu in the WordPress top toolbar. The Forms menu will display the latest ten forms recently opened in the form editor.', 'gravityforms');
        ?>
</span>
				</td>
			</tr>

			<?php 
        if (GFCommon::has_akismet()) {
            ?>
				<tr valign="top">
					<th scope="row">
						<label for="gforms_enable_akismet"><?php 
            esc_html_e('Akismet Integration', 'gravityforms');
            ?>
</label>  <?php 
            gform_tooltip('settings_akismet');
            ?>
					</th>
					<td>
						<input type="radio" name="enable_akismet" value="1" <?php 
            checked($this->enable_akismet, true);
            ?>
 id="gforms_enable_akismet" /> <?php 
            esc_html_e('Yes', 'gravityforms');
            ?>
&nbsp;&nbsp;
						<input type="radio" name="enable_akismet" value="0" <?php 
            checked($this->enable_akismet, false);
            ?>
 /> <?php 
            esc_html_e('No', 'gravityforms');
            ?>
						<br />
						<span class="gf_settings_description"><?php 
            esc_html_e('Protect your form entries from spam using Akismet.', 'gravityforms');
            ?>
</span>
					</td>
				</tr>
			<?php 
        }
        ?>
		</table>

	<?php 
    }
Exemple #5
0
    public static function gravityforms_settings_page()
    {
        global $wpdb;
        if (!GFCommon::ensure_wp_version()) {
            return;
        }
        if (isset($_GET["setup"])) {
            //forcing setup
            RGForms::setup(true);
        }
        if (isset($_POST["submit"])) {
            check_admin_referer('gforms_update_settings', 'gforms_update_settings');
            if (!GFCommon::current_user_can_any("gravityforms_edit_settings")) {
                die(__("You don't have adequate permission to edit settings.", "gravityforms"));
            }
            RGFormsModel::save_key($_POST["gforms_key"]);
            update_option("rg_gforms_disable_css", $_POST["gforms_disable_css"]);
            update_option("rg_gforms_enable_html5", $_POST["gforms_enable_html5"]);
            update_option("gform_enable_noconflict", $_POST["gform_enable_noconflict"]);
            update_option("rg_gforms_enable_akismet", $_POST["gforms_enable_akismet"]);
            update_option("rg_gforms_captcha_public_key", $_POST["gforms_captcha_public_key"]);
            update_option("rg_gforms_captcha_private_key", $_POST["gforms_captcha_private_key"]);
            if (!rgempty("gforms_currency")) {
                update_option("rg_gforms_currency", rgpost("gforms_currency"));
            }
            //Updating message because key could have been changed
            GFCommon::cache_remote_message();
            //Re-caching version info
            $version_info = GFCommon::get_version_info(false);
            ?>
            <div class="updated fade" style="padding:6px;">
                <?php 
            _e("Settings Updated", "gravityforms");
            ?>
.
             </div>
             <?php 
        } else {
            if (isset($_POST["uninstall"])) {
                if (!GFCommon::current_user_can_any("gravityforms_uninstall") || function_exists("is_multisite") && is_multisite() && !is_super_admin()) {
                    die(__("You don't have adequate permission to uninstall Gravity Forms.", "gravityforms"));
                }
                //droping all tables
                RGFormsModel::drop_tables();
                //removing options
                delete_option("rg_form_version");
                delete_option("rg_gforms_key");
                delete_option("rg_gforms_disable_css");
                delete_option("rg_gforms_enable_html5");
                delete_option("rg_gforms_captcha_public_key");
                delete_option("rg_gforms_captcha_private_key");
                delete_option("rg_gforms_message");
                delete_option("gf_dismissed_upgrades");
                delete_option("rg_gforms_currency");
                //removing gravity forms upload folder
                GFCommon::delete_directory(RGFormsModel::get_upload_root());
                //Deactivating plugin
                $plugin = "gravityforms/gravityforms.php";
                deactivate_plugins($plugin);
                update_option('recently_activated', array($plugin => time()) + (array) get_option('recently_activated'));
                ?>
            <div class="updated fade" style="padding:20px;"><?php 
                echo sprintf(__("Gravity Forms have been successfully uninstalled. It can be re-activated from the %splugins page%s.", "gravityforms"), "<a href='plugins.php'>", "</a>");
                ?>
</div>
            <?php 
                return;
            }
        }
        if (!isset($version_info)) {
            $version_info = GFCommon::get_version_info();
        }
        ?>
        <form method="post">
            <?php 
        wp_nonce_field('gforms_update_settings', 'gforms_update_settings');
        ?>
            <h3><?php 
        _e("General Settings", "gravityforms");
        ?>
</h3>
            <table class="form-table">
              <tr valign="top">
                    <th scope="row"><label for="gforms_disable_css"><?php 
        _e("Output CSS", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_output_css");
        ?>
</th>
                    <td>
                        <input type="radio" name="gforms_disable_css" value="0" id="gforms_css_output_enabled" <?php 
        echo get_option('rg_gforms_disable_css') == 1 ? "" : "checked='checked'";
        ?>
 /> <?php 
        _e("Yes", "gravityforms");
        ?>
&nbsp;&nbsp;
                        <input type="radio" name="gforms_disable_css" value="1" id="gforms_css_output_disabled" <?php 
        echo get_option('rg_gforms_disable_css') == 1 ? "checked='checked'" : "";
        ?>
 /> <?php 
        _e("No", "gravityforms");
        ?>
<br />
                        <?php 
        _e("Set this to No if you would like to disable the plugin from outputting the form CSS.", "gravityforms");
        ?>
                    </td>
                </tr>
                <tr valign="top">
                     <th scope="row"><label for="gforms_enable_html5"><?php 
        _e("Output HTML5", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_html5");
        ?>
</th>
                    <td>
                        <input type="radio" name="gforms_enable_html5" value="1" <?php 
        echo get_option('rg_gforms_enable_html5') == 1 ? "checked='checked'" : "";
        ?>
 id="gforms_enable_html5"/> <?php 
        _e("Yes", "gravityforms");
        ?>
&nbsp;&nbsp;
                        <input type="radio" name="gforms_enable_html5" value="0" <?php 
        echo get_option('rg_gforms_enable_html5') == 1 ? "" : "checked='checked'";
        ?>
 /> <?php 
        _e("No", "gravityforms");
        ?>
<br />
                        <?php 
        _e("Set this to No if you would like to disable the plugin from outputting HTML5 form fields.", "gravityforms");
        ?>
                    </td>
                </tr>

                <tr valign="top">
                     <th scope="row"><label for="gform_enable_noconflict"><?php 
        _e("No-Conflict Mode", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_noconflict");
        ?>
</th>
                    <td>
                        <input type="radio" name="gform_enable_noconflict" value="1" <?php 
        echo get_option('gform_enable_noconflict') == 1 ? "checked='checked'" : "";
        ?>
 id="gform_enable_noconflict"/> <?php 
        _e("On", "gravityforms");
        ?>
&nbsp;&nbsp;
                        <input type="radio" name="gform_enable_noconflict" value="0" <?php 
        echo get_option('gform_enable_noconflict') == 1 ? "" : "checked='checked'";
        ?>
 id="gform_disable_noconflict"/> <?php 
        _e("Off", "gravityforms");
        ?>
<br />
                        <?php 
        _e("Set this to On to prevent extraneous scripts and styles from being printed on Gravity Forms admin pages, reducing conflicts with other plugins and themes.", "gravityforms");
        ?>
                    </td>
                </tr>

                <?php 
        if (GFCommon::has_akismet()) {
            ?>
                <tr valign="top">
                     <th scope="row"><label for="gforms_enable_akismet"><?php 
            _e("Akismet Integration", "gravityforms");
            ?>
</label>  <?php 
            gform_tooltip("settings_akismet");
            ?>
</th>
                    <td>
                        <input type="radio" name="gforms_enable_akismet" value="1" <?php 
            echo get_option('rg_gforms_enable_akismet') == 1 ? "checked='checked'" : "";
            ?>
 id="gforms_enable_akismet"/> <?php 
            _e("Yes", "gravityforms");
            ?>
&nbsp;&nbsp;
                        <input type="radio" name="gforms_enable_akismet" value="0" <?php 
            echo get_option('rg_gforms_enable_akismet') == 1 ? "" : "checked='checked'";
            ?>
 /> <?php 
            _e("No", "gravityforms");
            ?>
<br />
                        <?php 
            _e("Protect your form entries from spam using Akismet.", "gravityforms");
            ?>
                    </td>
                </tr>
                <?php 
        }
        ?>

                <tr valign="top">
                    <th scope="row"><label for="gforms_currency"><?php 
        _e("Currency", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_currency");
        ?>
</th>
                    <td>
                        <?php 
        $disabled = apply_filters("gform_currency_disabled", false) ? "disabled='disabled'" : "";
        ?>

                        <select id="gforms_currency" name="gforms_currency" <?php 
        echo $disabled;
        ?>
>
                            <?php 
        require_once "currency.php";
        $current_currency = GFCommon::get_currency();
        foreach (RGCurrency::get_currencies() as $code => $currency) {
            ?>
                                    <option value="<?php 
            echo $code;
            ?>
" <?php 
            echo $current_currency == $code ? "selected='selected'" : "";
            ?>
><?php 
            echo $currency["name"];
            ?>
</option>
                                    <?php 
        }
        ?>
                        </select>
                        <?php 
        do_action("gform_currency_setting_message", "");
        ?>
                    </td>
                </tr>
            </table>

            <div class="hr-divider"></div>

              <h3><?php 
        _e("reCAPTCHA Settings", "gravityforms");
        ?>
</h3>

              <p style="text-align: left;"><?php 
        _e("Gravity Forms integrates with reCAPTCHA, a free CAPTCHA service that helps to digitize books while protecting your forms from spam bots. ", "gravityforms");
        ?>
<a href="http://www.google.com/recaptcha/" target="_blank"><?php 
        _e("Read more about reCAPTCHA", "gravityforms");
        ?>
</a>.</p>

              <table class="form-table">


                <tr valign="top">
                   <th scope="row"><label for="gforms_captcha_public_key"><?php 
        _e("reCAPTCHA Public Key", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_recaptcha_public");
        ?>
</th>
                    <td>
                        <input type="text" name="gforms_captcha_public_key" style="width:350px;" value="<?php 
        echo get_option("rg_gforms_captcha_public_key");
        ?>
" /><br />
                        <?php 
        _e("Required only if you decide to use the reCAPTCHA field.", "gravityforms");
        ?>
 <?php 
        printf(__("%sSign up%s for a free account to get the key.", "gravityforms"), '<a target="_blank" href="http://www.google.com/recaptcha/whyrecaptcha">', '</a>');
        ?>
                    </td>
                </tr>
                <tr valign="top">
                   <th scope="row"><label for="gforms_captcha_private_key"><?php 
        _e("reCAPTCHA Private Key", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_recaptcha_private");
        ?>
</th>
                    <td>
                        <input type="text" name="gforms_captcha_private_key" style="width:350px;" value="<?php 
        echo esc_attr(get_option("rg_gforms_captcha_private_key"));
        ?>
" /><br />
                        <?php 
        _e("Required only if you decide to use the reCAPTCHA field.", "gravityforms");
        ?>
 <?php 
        printf(__("%sSign up%s for a free account to get the key.", "gravityforms"), '<a target="_blank" href="http://www.google.com/recaptcha/whyrecaptcha">', '</a>');
        ?>
                    </td>
                </tr>

              </table>

           <?php 
        if (GFCommon::current_user_can_any("gravityforms_edit_settings")) {
            ?>
                <br/><br/>
                <p class="submit" style="text-align: left;">
                <?php 
            $save_button = '<input type="submit" name="submit" value="' . __("Save Settings", "gravityforms") . '" class="button-primary gf_settings_savebutton"/>';
            echo apply_filters("gform_settings_save_button", $save_button);
            ?>
                </p>
           <?php 
        }
        ?>
        </form>


              <h3><?php 
        _e("Installation Status", "gravityforms");
        ?>
</h3>
              <table class="form-table">

                <tr valign="top">
                   <th scope="row"><label><?php 
        _e("PHP Version", "gravityforms");
        ?>
</label></th>
                    <td class="installation_item_cell">
                        <strong><?php 
        echo phpversion();
        ?>
</strong>
                    </td>
                    <td>
                        <?php 
        if (version_compare(phpversion(), '5.0.0', '>')) {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/tick.png"/>
                                <?php 
        } else {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/cross.png"/>
                                <span class="installation_item_message"><?php 
            _e("Gravity Forms requires PHP 5 or above.", "gravityforms");
            ?>
</span>
                                <?php 
        }
        ?>
                    </td>
                </tr>
                <tr valign="top">
                   <th scope="row"><label><?php 
        _e("MySQL Version", "gravityforms");
        ?>
</label></th>
                    <td class="installation_item_cell">
                        <strong><?php 
        echo $wpdb->db_version();
        ?>
</strong>
                    </td>
                    <td>
                        <?php 
        if (version_compare($wpdb->db_version(), '5.0.0', '>')) {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/tick.png"/>
                                <?php 
        } else {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/cross.png"/>
                                <span class="installation_item_message"><?php 
            _e("Gravity Forms requires MySQL 5 or above.", "gravityforms");
            ?>
</span>
                                <?php 
        }
        ?>
                    </td>
                </tr>
                <tr valign="top">
                   <th scope="row"><label><?php 
        _e("WordPress Version", "gravityforms");
        ?>
</label></th>
                    <td class="installation_item_cell">
                        <strong><?php 
        echo get_bloginfo("version");
        ?>
</strong>
                    </td>
                    <td>
                        <?php 
        if (version_compare(get_bloginfo("version"), '3.0', '>')) {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/tick.png"/>
                                <?php 
        } else {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/cross.png"/>
                                <span class="installation_item_message"><?php 
            _e("Gravity Forms requires WordPress 3.0 or above.", "gravityforms");
            ?>
</span>
                                <?php 
        }
        ?>
                    </td>
                </tr>
                 <tr valign="top">
                   <th scope="row"><label><?php 
        _e("Gravity Forms Version", "gravityforms");
        ?>
</label></th>
                    <td class="installation_item_cell">
                        <strong><?php 
        echo GFCommon::$version;
        ?>
</strong>
                    </td>
                    <td>
                        <?php 
        if (version_compare(GFCommon::$version, $version_info["version"], '>=')) {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/tick.png"/>
                                <?php 
        } else {
            echo sprintf(__("New version %s available. Automatic upgrade available on the %splugins page%s", "gravityforms"), $version_info["version"], '<a href="plugins.php">', '</a>');
        }
        ?>
                    </td>
                </tr>
            </table>



        <form action="" method="post">
            <?php 
        if (GFCommon::current_user_can_any("gravityforms_uninstall") && (!function_exists("is_multisite") || !is_multisite() || is_super_admin())) {
            ?>
                <div class="hr-divider"></div>

                <h3><?php 
            _e("Uninstall Gravity Forms", "gravityforms");
            ?>
</h3>
                <div class="delete-alert alert_red"><h3><?php 
            _e("Warning", "gravityforms");
            ?>
</h3><p><?php 
            _e("This operation deletes ALL Gravity Forms data. If you continue, You will not be able to retrieve or restore your forms or entries.", "gravityforms");
            ?>
</p>
                    <?php 
            $uninstall_button = '<input type="submit" name="uninstall" value="' . __("Uninstall Gravity Forms", "gravityforms") . '" class="button" onclick="return confirm(\'' . __("Warning! ALL Gravity Forms data, including form entries will be deleted. This cannot be undone. \\'OK\\' to delete, \\'Cancel\\' to stop", "gravityforms") . '\');"/>';
            echo apply_filters("gform_uninstall_button", $uninstall_button);
            ?>

                </div>
            <?php 
        }
        ?>
        </form>

        <?php 
    }
 public static function update_lead_property($lead_id, $property_name, $property_value, $update_akismet = true, $disable_hook = false)
 {
     global $wpdb;
     $lead_table = self::get_lead_table_name();
     $lead = self::get_lead($lead_id);
     //marking entry as "spam" or "not spam" with Akismet if the plugin is installed
     if ($update_akismet && GFCommon::has_akismet() && $property_name == "status" && in_array($property_value, array("active", "spam"))) {
         $current_status = $lead["status"];
         if ($current_status == "spam" && $property_value == "active") {
             $form = self::get_form_meta($lead["form_id"]);
             GFCommon::mark_akismet_spam($form, $lead, false);
         } else {
             if ($current_status == "active" && $property_value == "spam") {
                 $form = self::get_form_meta($lead["form_id"]);
                 GFCommon::mark_akismet_spam($form, $lead, true);
             }
         }
     }
     //updating lead
     $wpdb->update($lead_table, array($property_name => $property_value), array("id" => $lead_id));
     if (!$disable_hook) {
         $previous_value = rgar($lead, $property_name);
         if ($previous_value != $property_value) {
             // if property is status, prev value is spam and new value is active
             if ($property_name == 'status' && $previous_value == 'spam' && $property_value == 'active' && !rgar($lead, 'post_id')) {
                 $lead[$property_name] = $property_value;
                 $lead['post_id'] = GFCommon::create_post($form, $lead);
             }
             do_action("gform_update_{$property_name}", $lead_id, $property_value, $previous_value);
         }
     }
 }
    public static function gravityforms_settings_page()
    {
        global $wpdb;
        if (!GFCommon::ensure_wp_version()) {
            return;
        }
        if (isset($_GET["setup"])) {
            //forcing setup
            RGForms::setup(true);
        }
        if (isset($_POST["submit"])) {
            check_admin_referer('gforms_update_settings', 'gforms_update_settings');
            if (!GFCommon::current_user_can_any("gravityforms_edit_settings")) {
                die(__("You don't have adequate permission to edit settings.", "gravityforms"));
            }
            RGFormsModel::save_key($_POST["gforms_key"]);
            update_option("rg_gforms_disable_css", rgpost("gforms_disable_css"));
            update_option("rg_gforms_enable_html5", rgpost("gforms_enable_html5"));
            update_option("gform_enable_noconflict", rgpost("gform_enable_noconflict"));
            update_option("rg_gforms_enable_akismet", rgpost("gforms_enable_akismet"));
            update_option("rg_gforms_captcha_public_key", rgpost("gforms_captcha_public_key"));
            update_option("rg_gforms_captcha_private_key", rgpost("gforms_captcha_private_key"));
            if (!rgempty("gforms_currency")) {
                update_option("rg_gforms_currency", rgpost("gforms_currency"));
            }
            //Updating message because key could have been changed
            GFCommon::cache_remote_message();
            //Re-caching version info
            $version_info = GFCommon::get_version_info(false);
            ?>
            <div class="updated fade" style="padding:6px;">
                <?php 
            _e("Settings Updated", "gravityforms");
            ?>
.
             </div>
             <?php 
        }
        if (!isset($version_info)) {
            $version_info = GFCommon::get_version_info();
        }
        self::page_header(__("General Settings", "gravityforms"), "");
        ?>
        <form method="post">
            <?php 
        wp_nonce_field('gforms_update_settings', 'gforms_update_settings');
        ?>
            <h3><?php 
        _e("General Settings", "gravityforms");
        ?>
</h3>
            <table class="form-table">
              <tr valign="top">
                   <th scope="row"><label for="gforms_key"><?php 
        _e("Support License Key", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_license_key");
        ?>
</th>
                    <td>
                        <?php 
        $key = GFCommon::get_key();
        $key_field = '<input type="password" name="gforms_key" id="gforms_key" style="width:350px;" value="' . $key . '" />';
        if ($version_info["is_valid_key"]) {
            $key_field .= "&nbsp;<img src='" . GFCommon::get_base_url() . "/images/tick.png' class='gf_keystatus_valid' alt='valid key' title='valid key'/>";
        } else {
            if (!empty($key)) {
                $key_field .= "&nbsp;<img src='" . GFCommon::get_base_url() . "/images/cross.png' class='gf_keystatus_invalid' alt='invalid key' title='invalid key'/>";
            }
        }
        echo apply_filters('gform_settings_key_field', $key_field);
        ?>
                        <br />
                        <?php 
        _e("The license key is used for access to automatic upgrades and support.", "gravityforms");
        ?>
                    </td>
                </tr>
               <tr valign="top">
                    <th scope="row"><label for="gforms_disable_css"><?php 
        _e("Output CSS", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_output_css");
        ?>
</th>
                    <td>
                        <input type="radio" name="gforms_disable_css" value="0" id="gforms_css_output_enabled" <?php 
        echo get_option('rg_gforms_disable_css') == 1 ? "" : "checked='checked'";
        ?>
 /> <?php 
        _e("Yes", "gravityforms");
        ?>
&nbsp;&nbsp;
                        <input type="radio" name="gforms_disable_css" value="1" id="gforms_css_output_disabled" <?php 
        echo get_option('rg_gforms_disable_css') == 1 ? "checked='checked'" : "";
        ?>
 /> <?php 
        _e("No", "gravityforms");
        ?>
<br />
                        <?php 
        _e("Set this to No if you would like to disable the plugin from outputting the form CSS.", "gravityforms");
        ?>
                    </td>
                </tr>
                <tr valign="top">
                     <th scope="row"><label for="gforms_enable_html5"><?php 
        _e("Output HTML5", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_html5");
        ?>
</th>
                    <td>
                        <input type="radio" name="gforms_enable_html5" value="1" <?php 
        echo get_option('rg_gforms_enable_html5') == 1 ? "checked='checked'" : "";
        ?>
 id="gforms_enable_html5"/> <?php 
        _e("Yes", "gravityforms");
        ?>
&nbsp;&nbsp;
                        <input type="radio" name="gforms_enable_html5" value="0" <?php 
        echo get_option('rg_gforms_enable_html5') == 1 ? "" : "checked='checked'";
        ?>
 /> <?php 
        _e("No", "gravityforms");
        ?>
<br />
                        <?php 
        _e("Set this to No if you would like to disable the plugin from outputting HTML5 form fields.", "gravityforms");
        ?>
                    </td>
                </tr>

                <tr valign="top">
                     <th scope="row"><label for="gform_enable_noconflict"><?php 
        _e("No-Conflict Mode", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_noconflict");
        ?>
</th>
                    <td>
                        <input type="radio" name="gform_enable_noconflict" value="1" <?php 
        echo get_option('gform_enable_noconflict') == 1 ? "checked='checked'" : "";
        ?>
 id="gform_enable_noconflict"/> <?php 
        _e("On", "gravityforms");
        ?>
&nbsp;&nbsp;
                        <input type="radio" name="gform_enable_noconflict" value="0" <?php 
        echo get_option('gform_enable_noconflict') == 1 ? "" : "checked='checked'";
        ?>
 id="gform_disable_noconflict"/> <?php 
        _e("Off", "gravityforms");
        ?>
<br />
                        <?php 
        _e("Set this to On to prevent extraneous scripts and styles from being printed on Gravity Forms admin pages, reducing conflicts with other plugins and themes.", "gravityforms");
        ?>
                    </td>
                </tr>

                <?php 
        if (GFCommon::has_akismet()) {
            ?>
                <tr valign="top">
                     <th scope="row"><label for="gforms_enable_akismet"><?php 
            _e("Akismet Integration", "gravityforms");
            ?>
</label>  <?php 
            gform_tooltip("settings_akismet");
            ?>
</th>
                    <td>
                        <input type="radio" name="gforms_enable_akismet" value="1" <?php 
            echo get_option('rg_gforms_enable_akismet') == 1 ? "checked='checked'" : "";
            ?>
 id="gforms_enable_akismet"/> <?php 
            _e("Yes", "gravityforms");
            ?>
&nbsp;&nbsp;
                        <input type="radio" name="gforms_enable_akismet" value="0" <?php 
            echo get_option('rg_gforms_enable_akismet') == 1 ? "" : "checked='checked'";
            ?>
 /> <?php 
            _e("No", "gravityforms");
            ?>
<br />
                        <?php 
            _e("Protect your form entries from spam using Akismet.", "gravityforms");
            ?>
                    </td>
                </tr>
                <?php 
        }
        ?>

                <tr valign="top">
                    <th scope="row"><label for="gforms_currency"><?php 
        _e("Currency", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_currency");
        ?>
</th>
                    <td>
                        <?php 
        $disabled = apply_filters("gform_currency_disabled", false) ? "disabled='disabled'" : "";
        ?>

                        <select id="gforms_currency" name="gforms_currency" <?php 
        echo $disabled;
        ?>
>
                            <?php 
        require_once "currency.php";
        $current_currency = GFCommon::get_currency();
        foreach (RGCurrency::get_currencies() as $code => $currency) {
            ?>
                                    <option value="<?php 
            echo $code;
            ?>
" <?php 
            echo $current_currency == $code ? "selected='selected'" : "";
            ?>
><?php 
            echo $currency["name"];
            ?>
</option>
                                    <?php 
        }
        ?>
                        </select>
                        <?php 
        do_action("gform_currency_setting_message", "");
        ?>
                    </td>
                </tr>
            </table>

            <div class="hr-divider"></div>

              <h3><?php 
        _e("reCAPTCHA Settings", "gravityforms");
        ?>
</h3>

              <p style="text-align: left;"><?php 
        _e("Gravity Forms integrates with reCAPTCHA, a free CAPTCHA service that helps to digitize books while protecting your forms from spam bots. ", "gravityforms");
        ?>
<a href="http://www.google.com/recaptcha/" target="_blank"><?php 
        _e("Read more about reCAPTCHA", "gravityforms");
        ?>
</a>.</p>

              <table class="form-table">


                <tr valign="top">
                   <th scope="row"><label for="gforms_captcha_public_key"><?php 
        _e("reCAPTCHA Public Key", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_recaptcha_public");
        ?>
</th>
                    <td>
                        <input type="text" name="gforms_captcha_public_key" style="width:350px;" value="<?php 
        echo get_option("rg_gforms_captcha_public_key");
        ?>
" /><br />
                        <?php 
        _e("Required only if you decide to use the reCAPTCHA field.", "gravityforms");
        ?>
 <?php 
        printf(__("%sSign up%s for a free account to get the key.", "gravityforms"), '<a target="_blank" href="http://www.google.com/recaptcha/whyrecaptcha">', '</a>');
        ?>
                    </td>
                </tr>
                <tr valign="top">
                   <th scope="row"><label for="gforms_captcha_private_key"><?php 
        _e("reCAPTCHA Private Key", "gravityforms");
        ?>
</label>  <?php 
        gform_tooltip("settings_recaptcha_private");
        ?>
</th>
                    <td>
                        <input type="text" name="gforms_captcha_private_key" style="width:350px;" value="<?php 
        echo esc_attr(get_option("rg_gforms_captcha_private_key"));
        ?>
" /><br />
                        <?php 
        _e("Required only if you decide to use the reCAPTCHA field.", "gravityforms");
        ?>
 <?php 
        printf(__("%sSign up%s for a free account to get the key.", "gravityforms"), '<a target="_blank" href="http://www.google.com/recaptcha/whyrecaptcha">', '</a>');
        ?>
                    </td>
                </tr>

              </table>

           <?php 
        if (GFCommon::current_user_can_any("gravityforms_edit_settings")) {
            ?>
                <br/><br/>
                <p class="submit" style="text-align: left;">
                <?php 
            $save_button = '<input type="submit" name="submit" value="' . __("Save Settings", "gravityforms") . '" class="button-primary gfbutton"/>';
            echo apply_filters("gform_settings_save_button", $save_button);
            ?>
                </p>
           <?php 
        }
        ?>
        </form>

              <div id='gform_upgrade_license' style="display:none;"></div>
              <script type="text/javascript">
                jQuery(document).ready(function(){
                    jQuery.post(ajaxurl,{
                            action:"gf_upgrade_license",
                            gf_upgrade_license: "<?php 
        echo wp_create_nonce("gf_upgrade_license");
        ?>
"},

                            function(data){
                                if(data.trim().length > 0)
                                    jQuery("#gform_upgrade_license").replaceWith(data);
                            }
                    );
                });
              </script>

              <div class="hr-divider"></div>

              <h3><?php 
        _e("Installation Status", "gravityforms");
        ?>
</h3>
              <table class="form-table">

                <tr valign="top">
                   <th scope="row"><label><?php 
        _e("PHP Version", "gravityforms");
        ?>
</label></th>
                    <td class="installation_item_cell">
                        <strong><?php 
        echo phpversion();
        ?>
</strong>
                    </td>
                    <td>
                        <?php 
        if (version_compare(phpversion(), '5.0.0', '>')) {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/tick.png"/>
                                <?php 
        } else {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/cross.png"/>
                                <span class="installation_item_message"><?php 
            _e("Gravity Forms requires PHP 5 or above.", "gravityforms");
            ?>
</span>
                                <?php 
        }
        ?>
                    </td>
                </tr>
                <tr valign="top">
                   <th scope="row"><label><?php 
        _e("MySQL Version", "gravityforms");
        ?>
</label></th>
                    <td class="installation_item_cell">
                        <strong><?php 
        echo $wpdb->db_version();
        ?>
</strong>
                    </td>
                    <td>
                        <?php 
        if (version_compare($wpdb->db_version(), '5.0.0', '>')) {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/tick.png"/>
                                <?php 
        } else {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/cross.png"/>
                                <span class="installation_item_message"><?php 
            _e("Gravity Forms requires MySQL 5 or above.", "gravityforms");
            ?>
</span>
                                <?php 
        }
        ?>
                    </td>
                </tr>
                <tr valign="top">
                   <th scope="row"><label><?php 
        _e("WordPress Version", "gravityforms");
        ?>
</label></th>
                    <td class="installation_item_cell">
                        <strong><?php 
        echo get_bloginfo("version");
        ?>
</strong>
                    </td>
                    <td>
                        <?php 
        if (version_compare(get_bloginfo("version"), '3.0', '>')) {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/tick.png"/>
                                <?php 
        } else {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/cross.png"/>
                                <span class="installation_item_message"><?php 
            printf(__("Gravity Forms requires WordPress v%s or greater. You must upgrade WordPress in order to use this version of Gravity Forms.", "gravityforms"), GF_MIN_WP_VERSION);
            ?>
</span>
                                <?php 
        }
        ?>
                    </td>
                </tr>
                 <tr valign="top">
                   <th scope="row"><label><?php 
        _e("Gravity Forms Version", "gravityforms");
        ?>
</label></th>
                    <td class="installation_item_cell">
                        <strong><?php 
        echo GFCommon::$version;
        ?>
</strong>
                    </td>
                    <td>
                        <?php 
        if (version_compare(GFCommon::$version, $version_info["version"], '>=')) {
            ?>
                                <img src="<?php 
            echo GFCommon::get_base_url();
            ?>
/images/tick.png"/>
                                <?php 
        } else {
            echo sprintf(__("New version %s available. Automatic upgrade available on the %splugins page%s", "gravityforms"), $version_info["version"], '<a href="plugins.php">', '</a>');
        }
        ?>
                    </td>
                </tr>
            </table>
        <?php 
        self::page_footer();
    }
    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"]);
        $lead = RGFormsModel::get_lead($_GET["lid"]);
        if (!$lead) {
            _e("OOps! We couldn't find your lead. Please try again", "gravityforms");
            return;
        }
        RGFormsModel::update_lead_property($lead["id"], "is_read", 1);
        $search_qs = empty($_GET["s"]) ? "" : "&s=" . $_GET["s"];
        $sort_qs = empty($_GET["sort"]) ? "" : "&sort=" . $_GET["sort"];
        $dir_qs = empty($_GET["dir"]) ? "" : "&dir=" . $_GET["dir"];
        $page_qs = empty($_GET["paged"]) ? "" : "&paged=" . absint($_GET["paged"]);
        switch (RGForms::post("action")) {
            case "update":
                check_admin_referer('gforms_save_entry', 'gforms_save_entry');
                RGFormsModel::save_lead($form, $lead);
                $lead = RGFormsModel::get_lead($_GET["lid"]);
                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($_GET["lid"]);
                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($_GET["lid"]);
                break;
            case "spam":
                check_admin_referer('gforms_save_entry', 'gforms_save_entry');
                RGFormsModel::update_lead_property($lead["id"], "status", "spam");
                $lead = RGFormsModel::get_lead($_GET["lid"]);
                break;
            case "delete":
                check_admin_referer('gforms_save_entry', 'gforms_save_entry');
                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" />
        <style type="text/css">
            #notifications_advanced_settings label { line-height: 18px; }
        </style>
        <script type="text/javascript">

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

            function DeleteFile(leadId, fieldId){
                if(confirm(<?php 
        _e("'Would you like to delete this file? \\'Cancel\\' to stop. \\'OK\\' to delete'", "gravityforms");
        ?>
)){

                    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.encVar( "cookie", document.cookie, false );
                    mysack.onError = function() { alert('<?php 
        echo esc_js(__("Ajax error while deleting field.", "gravityforms"));
        ?>
' )};
                    mysack.runAJAX();

                    return true;
                }
            }

            function EndDeleteFile(fieldId){
                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 sendAdmin = jQuery("#notification_admin").is(":checked") ? 1 : 0;
                var sendUser = jQuery("#notification_user").is(":checked") ? 1 : 0;

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

                if(!sendAdmin && !sendUser) {
                    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');
        ?>
',
                        sendAdmin : sendAdmin,
                        sendUser : sendUser,
                        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("#notification_admin, #notification_user").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('#notification_admin').is(':checked') || jQuery('#notification_user').is(':checked')) {
                    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">
            <div class="icon32" id="gravity-title-icon"><br></div>
            <h2><?php 
        _e("Entry #", "gravityforms");
        echo absint($lead["id"]);
        ?>
</h2>

            <!--<a href="<?php 
        echo esc_url("admin.php?page=gf_entries&view=entries&id=" . absint($form["id"]) . $search_qs . $sort_qs . $dir_qs . $page_qs);
        ?>
"><?php 
        _e("&laquo; back to entries list", "gravityforms");
        ?>
</a>-->

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

            <div id="poststuff" class="metabox-holder has-right-sidebar">
                <div id="side-info-column" class="inner-sidebar">
                    <div id="submitdiv" class="stuffbox">
                        <h3>
                            <span class="hndle"><?php 
        _e("Info", "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 (!empty($lead["payment_status"])) {
            echo $lead["transaction_type"] != 2 ? __("Payment Status", "gravityforms") : __("Subscription Status", "gravityforms");
            ?>
: <span id="gform_payment_status"><?php 
            echo $lead["payment_status"];
            ?>
</span>
                                        <br/><br/>
                                        <?php 
            if (!empty($lead["payment_date"])) {
                echo $lead["transaction_type"] == 1 ? __("Payment Date", "gravityforms") : __("Start Date", "gravityforms");
                ?>
: <?php 
                echo GFCommon::format_date($lead["payment_date"], false, "Y/m/d", $lead["transaction_type"] == 1);
                ?>
                                            <br/><br/>
                                            <?php 
            }
            if (!empty($lead["transaction_id"])) {
                echo $lead["transaction_type"] == 1 ? __("Transaction Id", "gravityforms") : __("Subscriber Id", "gravityforms");
                ?>
: <?php 
                echo $lead["transaction_id"];
                ?>
                                            <br/><br/>
                                            <?php 
            }
            if (strlen($lead["payment_amount"]) > 0) {
                echo $lead["transaction_type"] == 1 ? __("Payment Amount", "gravityforms") : __("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>
                                        <?php 
        switch ($lead["status"]) {
            case "spam":
                if (GFCommon::has_akismet()) {
                    ?>
                                                    <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::has_akismet() ? "|" : "";
                }
                if (GFCommon::has_akismet()) {
                    ?>
                                                    <a class="submitdelete deletion" onclick="jQuery('#action').val('spam'); jQuery('#entry_form').submit()" href="#"><?php 
                    _e("Mark as Spam", "gravityforms");
                    ?>
</a>
                                                <?php 
                }
        }
        /*if(GFCommon::current_user_can_any("gravityforms_delete_entries")){
              $delete_link = '<a class="submitdelete deletion" onclick="if ( confirm(\''. __("You are about to delete this entry. \'Cancel\' to stop, \'OK\' to delete.", "gravityforms") .'\') ) { jQuery(\'#action\').val(\'delete\'); jQuery(\'#entry_form\')[0].submit();} return false;" href="#">' . __("Delete", "gravityforms") . '</a>';
              echo apply_filters("gform_entrydetail_delete_link", $delete_link);
          }*/
        ?>
                                    </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-primary" type="submit" tabindex="4" value="' . $button_text . '" name="save" onclick="' . $button_click . '"/>';
            echo apply_filters("gform_entrydetail_update_button", $update_button);
            if ($mode == "edit") {
                echo '&nbsp;&nbsp;<input class="button" style="color:#bbb;" type="submit" tabindex="5" value="' . __("Cancel", "gravityforms") . '" name="cancel" onclick="jQuery(\'#screen_mode\').val(\'view\');"/>';
            }
        }
        ?>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>

                    <?php 
        if (GFCommon::current_user_can_any("gravityforms_edit_entry_notes") && (GFCommon::has_admin_notification($form) || GFCommon::has_user_notification($form))) {
            // TODO: do we need to set a permission for this?
            ?>
                        <!-- 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 0 0;"></div>
                                <div>

                                    <br />
                                    <?php 
            if (GFCommon::has_admin_notification($form)) {
                ?>
                                        <input type="checkbox" name="notification_admin" id="notification_admin" onclick="toggleNotificationOverride();" /> <label for="notification_admin"><?php 
                _e("Admin Notification", "gravityforms");
                ?>
</label> <br /><br />
                                    <?php 
            }
            ?>
                                    <?php 
            if (GFCommon::has_user_notification($form)) {
                ?>
                                        <input type="checkbox" name="notification_user" id="notification_user" onclick="toggleNotificationOverride();" /> <label for="notification_user"><?php 
                _e("User Notification", "gravityforms");
                ?>
</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>

                                </div>
                            </div>
                        </div>
                       <!-- / end notifications -->
                   <?php 
        }
        ?>

                   <!-- begin print button -->
                   <div class="detail-view-print">
                       <a href="javascript:;" onclick="var notes_qs = jQuery('#gform_print_notes').is(':checked') ? '&notes=1' : ''; var url='<?php 
        echo 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 -->

                </div>

                <div id="post-body" class="has-sidebar">
                    <div id="post-body-content" class="has-sidebar-content">
                        <?php 
        if ($mode == "view") {
            self::lead_detail_grid($form, $lead, true);
        } else {
            self::lead_detail_edit($form, $lead);
        }
        ?>

                        <?php 
        if (GFCommon::current_user_can_any("gravityforms_view_entry_notes")) {
            ?>
                            <div id="namediv" class="stuffbox">
                                <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 
        }
        ?>
                    </div>
                </div>
            </div>
        </div>
        </form>
        <?php 
        if (rgpost("action") == "update") {
            ?>
            <div class="updated fade" style="padding:6px;">
                <?php 
            _e("Entry Updated.", "gravityforms");
            ?>
            </div>
            <?php 
        }
    }