/**
  * Callback to eliminate any non-registered style
  *
  * @since 1.17 Moved to GravityView_Admin_No_Conflict class
  *
  * @return void
  */
 function no_conflict_styles()
 {
     global $wp_styles;
     if (!gravityview_is_admin_page()) {
         return;
     }
     // Dequeue other jQuery styles even if no-conflict is off.
     // Terrible-looking tabs help no one.
     if (!empty($wp_styles->registered)) {
         foreach ($wp_styles->registered as $key => $style) {
             if (preg_match('/^(?:wp\\-)?jquery/ism', $key)) {
                 wp_dequeue_style($key);
             }
         }
     }
     $no_conflict_mode = GravityView_Settings::getSetting('no-conflict-mode');
     // If no conflict is off, jQuery will suffice.
     if (empty($no_conflict_mode)) {
         return;
     }
     $wp_allowed_styles = array('admin-bar', 'colors', 'ie', 'wp-auth-check', 'media-views', 'thickbox', 'dashicons', 'wp-jquery-ui-dialog', 'jquery-ui-sortable', 'gravityview_settings', 'jquery-qtip.js');
     $this->remove_conflicts($wp_styles, $wp_allowed_styles, 'styles');
     /**
      * @action `gravityview_remove_conflicts_after` Runs after no-conflict styles are removed. You can re-add styles here.
      */
     do_action('gravityview_remove_conflicts_after');
 }
 /**
  * Remove the WooThemes metabox on new page
  * @since 1.15.2
  */
 function remove_meta_box()
 {
     global $pagenow;
     $gv_page = gravityview_is_admin_page('', 'single');
     // New View or Edit View page
     if ($gv_page && $pagenow === 'post-new.php') {
         remove_meta_box('woothemes-settings', 'gravityview', 'normal');
     }
 }
 /**
  * @inheritDoc
  * @copydoc GravityView_Plugin_and_Theme_Hooks::add_hooks()
  * @since 1.15.2
  */
 protected function add_hooks()
 {
     parent::add_hooks();
     if (gravityview_is_admin_page()) {
         // Make Yoast metabox go down to the bottom please.
         add_filter('wpseo_metabox_prio', array($this, '__return_low'));
         // Prevent the SEO from being checked. Eesh.
         add_filter('wpseo_use_page_analysis', '__return_false');
         // WordPress SEO Plugin
         add_filter('option_wpseo_titles', array($this, 'hide_wordpress_seo_metabox'));
     }
 }
 /**
  * When the status transient expires (or is deleted on activation), re-check the status
  *
  * @since 1.17
  *
  * @return void
  */
 public function refresh_license_status()
 {
     // Only perform on GravityView pages
     if (!gravityview_is_admin_page()) {
         return;
     }
     // The transient is fresh; don't fetch.
     if ($status = get_transient(self::status_transient_key)) {
         return;
     }
     $data = array('edd_action' => 'check_license', 'license' => trim($this->Addon->get_app_setting('license_key')), 'update' => true, 'format' => 'object', 'field_id' => 'refresh_license_status');
     $license_call = GravityView_Settings::get_instance()->get_license_handler()->license_call($data);
     do_action('gravityview_log_debug', __METHOD__ . ': Refreshed the license.', $license_call);
 }
 /**
  * Enqueue Support Port script if user has it enabled and we're on a GravityView plugin page
  *
  * @uses gravityview_is_admin_page()
  * @uses wp_enqueue_script()
  * @since 1.15
  *
  * @return void
  */
 public static function maybe_enqueue_script($hook)
 {
     global $pagenow;
     // Don't show if not GravityView page, or if we're on the Widgets page
     if (!gravityview_is_admin_page($hook) || $pagenow === 'widgets.php') {
         return;
     }
     /**
      * @filter `gravityview/support_port/display` Whether to display Support Port
      * @since 1.15
      * @param boolean $display_beacon Default: `true`
      */
     $display_support_port = apply_filters('gravityview/support_port/display', self::show_for_user());
     if (empty($display_support_port)) {
         do_action('gravityview_log_debug', __METHOD__ . ' - Not showing Support Port');
         return;
     }
     $script_debug = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
     wp_enqueue_script('gravityview-support', plugins_url('assets/js/support' . $script_debug . '.js', GRAVITYVIEW_FILE), array(), GravityView_Plugin::version, true);
     self::_localize_script();
 }
 /**
  * Add script to Views edit screen (admin)
  * @param  mixed $hook
  */
 public function add_scripts_and_styles($hook)
 {
     global $pagenow;
     // Don't process any scripts below here if it's not a GravityView page or the widgets screen
     if (!gravityview_is_admin_page($hook) && 'widgets.php' !== $pagenow) {
         return;
     }
     $script_min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
     $script_source = empty($script_min) ? '/source' : '';
     wp_enqueue_script('gravityview_searchwidget_admin', plugins_url('assets/js' . $script_source . '/admin-search-widget' . $script_min . '.js', __FILE__), array('jquery', 'gravityview_views_scripts'), GravityView_Plugin::version);
     /**
      * Input Type labels l10n
      * @see admin-search-widget.js (getSelectInput)
      * @var array
      */
     $input_labels = array('input_text' => esc_html__('Text', 'gravityview'), 'date' => esc_html__('Date', 'gravityview'), 'select' => esc_html__('Select', 'gravityview'), 'multiselect' => esc_html__('Select (multiple values)', 'gravityview'), 'radio' => esc_html__('Radio', 'gravityview'), 'checkbox' => esc_html__('Checkbox', 'gravityview'), 'single_checkbox' => esc_html__('Checkbox', 'gravityview'), 'link' => esc_html__('Links', 'gravityview'), 'date_range' => esc_html__('Date range', 'gravityview'));
     /**
      * Input Type groups
      * @see admin-search-widget.js (getSelectInput)
      * @var array
      */
     $input_types = array('text' => array('input_text'), 'address' => array('input_text'), 'date' => array('date', 'date_range'), 'boolean' => array('single_checkbox'), 'select' => array('select', 'radio', 'link'), 'multi' => array('select', 'multiselect', 'radio', 'checkbox', 'link'));
     wp_localize_script('gravityview_searchwidget_admin', 'gvSearchVar', array('nonce' => wp_create_nonce('gravityview_ajaxsearchwidget'), 'label_nofields' => esc_html__('No search fields configured yet.', 'gravityview'), 'label_addfield' => esc_html__('Add Search Field', 'gravityview'), 'label_searchfield' => esc_html__('Search Field', 'gravityview'), 'label_inputtype' => esc_html__('Input Type', 'gravityview'), 'input_labels' => json_encode($input_labels), 'input_types' => json_encode($input_types)));
 }
 function add_other_metaboxes()
 {
     global $pagenow;
     if (!gravityview_is_admin_page()) {
         return;
     }
     // Genesis
     if (function_exists('genesis_inpost_layout_box') && $pagenow !== 'post-new.php') {
         // Add back in Genesis meta box
         add_meta_box('genesis_inpost_layout_box', __('Layout Settings', 'gravityview'), 'genesis_inpost_layout_box', 'gravityview', 'advanced', 'default');
     }
 }
 /**
  * Enqueue scripts and styles at Views editor
  *
  * @access public
  * @param mixed $hook
  * @return void
  */
 static function add_scripts_and_styles($hook)
 {
     global $plugin_page, $pagenow;
     $is_widgets_page = $pagenow === 'widgets.php';
     // Add the GV font (with the Astronaut)
     wp_enqueue_style('gravityview_global', plugins_url('assets/css/admin-global.css', GRAVITYVIEW_FILE), array(), GravityView_Plugin::version);
     wp_register_script('gravityview-jquery-cookie', plugins_url('assets/lib/jquery.cookie/jquery.cookie.min.js', GRAVITYVIEW_FILE), array('jquery'), GravityView_Plugin::version, true);
     // Don't process any scripts below here if it's not a GravityView page.
     if (!gravityview_is_admin_page($hook) && !$is_widgets_page) {
         return;
     }
     // Only enqueue the following on single pages
     if (gravityview_is_admin_page($hook, 'single') || $is_widgets_page) {
         wp_enqueue_script('jquery-ui-datepicker');
         wp_enqueue_style('gravityview_views_datepicker', plugins_url('assets/css/admin-datepicker.css', GRAVITYVIEW_FILE), GravityView_Plugin::version);
         $script_debug = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
         //enqueue scripts
         wp_enqueue_script('gravityview_views_scripts', plugins_url('assets/js/admin-views' . $script_debug . '.js', GRAVITYVIEW_FILE), array('jquery-ui-tabs', 'jquery-ui-draggable', 'jquery-ui-droppable', 'jquery-ui-sortable', 'jquery-ui-tooltip', 'jquery-ui-dialog', 'gravityview-jquery-cookie', 'jquery-ui-datepicker', 'underscore'), GravityView_Plugin::version);
         wp_localize_script('gravityview_views_scripts', 'gvGlobals', array('cookiepath' => COOKIEPATH, 'nonce' => wp_create_nonce('gravityview_ajaxviews'), 'label_viewname' => __('Enter View name here', 'gravityview'), 'label_close' => __('Close', 'gravityview'), 'label_cancel' => __('Cancel', 'gravityview'), 'label_continue' => __('Continue', 'gravityview'), 'label_ok' => __('Ok', 'gravityview'), 'label_publisherror' => __('Error while creating the View for you. Check the settings or contact GravityView support.', 'gravityview'), 'loading_text' => esc_html__('Loading…', 'gravityview'), 'loading_error' => esc_html__('There was an error loading dynamic content.', 'gravityview'), 'field_loaderror' => __('Error while adding the field. Please try again or contact GravityView support.', 'gravityview'), 'remove_all_fields' => __('Would you like to remove all fields in this zone? (You are seeing this message because you were holding down the ALT key)', 'gravityview')));
         wp_enqueue_style('gravityview_views_styles', plugins_url('assets/css/admin-views.css', GRAVITYVIEW_FILE), array('dashicons', 'wp-jquery-ui-dialog'), GravityView_Plugin::version);
         self::enqueue_gravity_forms_scripts();
     }
     // End single page
 }
Example #9
0
 /**
  * Display a notice if the plugin is inactive.
  * @return void
  */
 function license_key_notice()
 {
     // Show license notice on all GV pages, except for settings page
     if (gravityview_is_admin_page('', 'settings')) {
         return;
     }
     $license_status = self::getSetting('license_key_status');
     $license_id = self::getSetting('license_key');
     $license_id = empty($license_id) ? 'license' : $license_id;
     $message = esc_html__('Your GravityView license %s. This means you’re missing out on updates and support! %sActivate your license%s or %sget a license here%s.', 'gravityview');
     $title = __('Inactive License', 'gravityview');
     $status = '';
     switch ($license_status) {
         case 'invalid':
             $title = __('Invalid License', 'gravityview');
             $status = __('is invalid', 'gravityview');
             break;
         case 'deactivated':
             $status = __('is inactive', 'gravityview');
             break;
         case 'site_inactive':
             $status = __('has not been activated', 'gravityview');
             break;
     }
     $message = sprintf($message, $status, '<a href="' . admin_url('edit.php?post_type=gravityview&amp;page=gravityview_settings') . '">', '</a>', '<a href="https://gravityview.co/pricing/">', '</a>');
     if (!empty($status)) {
         GravityView_Admin::add_notice(array('message' => $message, 'class' => 'updated', 'title' => $title, 'dismiss' => sha1($license_status . '_' . $license_id)));
     }
 }
 /**
  * Display a notice if the plugin is inactive.
  * @return void
  */
 function license_key_notice()
 {
     // Only show on GravityView pages
     if (!gravityview_is_admin_page()) {
         return;
     }
     $license_status = self::getSetting('license_key_status');
     $license_id = self::getSetting('license_key');
     $license_id = empty($license_id) ? 'license' : $license_id;
     $message = esc_html__('Your GravityView license %s. This means you&rsquo;re missing out on updates and support! %sActivate your license%s or %sget a license here%s.', 'gravityview');
     /**
      * I wanted to remove the period from after the buttons in the string,
      * but didn't want to mess up the translation strings for the translators.
      */
     $message = mb_substr($message, 0, mb_strlen($message) - 1);
     $title = __('Inactive License', 'gravityview');
     $status = '';
     $update_below = false;
     $primary_button_link = admin_url('edit.php?post_type=gravityview&amp;page=gravityview_settings');
     switch ($license_status) {
         /** @since 1.17 */
         case 'expired':
             $title = __('Expired License', 'gravityview');
             $status = 'expired';
             $message = $this->get_license_handler()->strings('expired', self::getSetting('license_key_response'));
             break;
         case 'invalid':
             $title = __('Invalid License', 'gravityview');
             $status = __('is invalid', 'gravityview');
             break;
         case 'deactivated':
             $status = __('is inactive', 'gravityview');
             $update_below = __('Activate your license key below.', 'gravityview');
             break;
             /** @noinspection PhpMissingBreakStatementInspection */
         /** @noinspection PhpMissingBreakStatementInspection */
         case '':
             $license_status = 'site_inactive';
             // break intentionally left blank
         // break intentionally left blank
         case 'inactive':
         case 'site_inactive':
             $status = __('has not been activated', 'gravityview');
             $update_below = __('Activate your license key below.', 'gravityview');
             break;
     }
     $url = 'https://gravityview.co/pricing/?utm_source=admin_notice&utm_medium=admin&utm_content=' . $license_status . '&utm_campaign=Admin%20Notice';
     // Show a different notice on settings page for inactive licenses (hide the buttons)
     if ($update_below && gravityview_is_admin_page('', 'settings')) {
         $message = sprintf($message, $status, '<div class="hidden">', '', '', '</div><a href="#" onclick="jQuery(\'#license_key\').focus(); return false;">' . $update_below . '</a>');
     } else {
         $message = sprintf($message, $status, "\n\n" . '<a href="' . esc_url($primary_button_link) . '" class="button button-primary">', '</a>', '<a href="' . esc_url($url) . '" class="button button-secondary">', '</a>');
     }
     if (!empty($status)) {
         GravityView_Admin_Notices::add_notice(array('message' => $message, 'class' => 'updated', 'title' => $title, 'cap' => 'gravityview_edit_settings', 'dismiss' => sha1($license_status . '_' . $license_id)));
     }
 }
Example #11
0
        /**
         * Output the script necessary for the drop-down to work
         * @param  string $hook Admin page $pagenow string
         * @return void
         */
        function print_javascript($hook)
        {
            global $post;
            // Don't process any scripts below here if it's not a GravityView page.
            if (!gravityview_is_admin_page($hook) || empty($post->ID)) {
                return;
            }
            ?>
			<style type="text/css">

				#entry_filters_warning { display: none; }

				#gform-no-filters {
					padding: 1em 0;
					cursor: pointer;
					width: 100%;
				}
				#gform-no-filters img {
					float:right;
					margin: 2px .25em;
				}

				#gv-advanced-filter .gform-field-filter {
					margin: .5em 0;
				}

				/** Text input filter */
				#gv-advanced-filter input.gform-filter-value,
				#gv-advanced-filter select {
					margin: 0 .3em;
					width: auto;
					max-width: 32%;
				}
				#gv-advanced-filter .gform-field-filter .gform-add {
					margin: 0 5px 0 2px;
				}
				#gv-advanced-filter h3 {
					margin-bottom: .5em;
					padding-left: 0;
				}
				#gv-advanced-filter .description {
					margin-bottom: .5em;
				}
			</style>

			<?php 
        }
Example #12
0
 /**
  * Display a notice if the plugin is inactive.
  * @return void
  */
 function license_key_notice()
 {
     // Show license notice on all GV pages, except for settings page
     if (gravityview_is_admin_page('', 'settings')) {
         return;
     }
     $license_status = self::getSetting('license_key_status');
     $license_id = self::getSetting('license_key');
     $license_id = empty($license_id) ? 'license' : $license_id;
     $message = esc_html__('Your GravityView license %s. This means you&rsquo;re missing out on updates and support! %sActivate your license%s or %sget a license here%s.', 'gravityview');
     $title = __('Inactive License', 'gravityview');
     $status = '';
     switch ($license_status) {
         case 'invalid':
             $title = __('Invalid License', 'gravityview');
             $status = __('is invalid', 'gravityview');
             break;
         case 'deactivated':
             $status = __('is inactive', 'gravityview');
             break;
             /** @noinspection PhpMissingBreakStatementInspection */
         /** @noinspection PhpMissingBreakStatementInspection */
         case '':
             $license_status = 'site_inactive';
             // break intentionally left blank
         // break intentionally left blank
         case 'site_inactive':
             $status = __('has not been activated', 'gravityview');
             break;
     }
     $url = 'https://gravityview.co/pricing/?utm_source=admin_notice&utm_medium=admin&utm_content=' . $license_status . '&utm_campaign=Admin%20Notice';
     $message = sprintf($message, $status, "\n\n" . '<a href="' . admin_url('edit.php?post_type=gravityview&amp;page=gravityview_settings') . '" class="button button-primary">', '</a>', '<a href="' . esc_url($url) . '" class="button button-secondary">', '</a>');
     if (!empty($status)) {
         GravityView_Admin_Notices::add_notice(array('message' => $message, 'class' => 'updated', 'title' => $title, 'dismiss' => sha1($license_status . '_' . $license_id)));
     }
 }
Example #13
0
 /**
  * Callback to eliminate any non-registered style
  * @return void
  */
 function no_conflict_styles()
 {
     global $wp_styles;
     if (!gravityview_is_admin_page()) {
         return;
     }
     // Dequeue other jQuery styles even if no-conflict is off.
     // Terrible-looking tabs help no one.
     if (!empty($wp_styles->registered)) {
         foreach ($wp_styles->registered as $key => $style) {
             if (preg_match('/^(?:wp\\-)?jquery/ism', $key)) {
                 wp_dequeue_style($key);
             }
         }
     }
     $no_conflict_mode = GravityView_Settings::getSetting('no-conflict-mode');
     // If no conflict is off, jQuery will suffice.
     if (empty($no_conflict_mode)) {
         return;
     }
     $wp_allowed_styles = array('debug-bar-extender', 'admin-bar', 'debug-bar', 'debug-bar-codemirror', 'debug-bar-console', 'puc-debug-bar-style', 'colors', 'ie', 'wp-auth-check', 'media-views', 'thickbox', 'dashicons', 'wp-jquery-ui-dialog', 'jquery-ui-sortable', 'gform_tooltip', 'gform_font_awesome', 'gravityview_settings', 'wp-seo-metabox', 'wpseo-admin-media', 'metabox-tabs', 'metabox-classic', 'metabox-fresh', 'genesis_admin_css', 'jquery-qtip.js');
     $this->remove_conflicts($wp_styles, $wp_allowed_styles, 'styles');
     // Allow settings, etc, to hook in after
     do_action('gravityview_remove_conflicts_after');
 }
 /**
  * Render shortcode hint in the Publish metabox
  *
  * @access public
  * @param object $post
  * @return void
  */
 function render_shortcode_hint()
 {
     global $post;
     // Only show this on GravityView post types.
     if (false === gravityview_is_admin_page()) {
         return;
     }
     // If the View hasn't been configured yet, don't show embed shortcode
     if (!gravityview_get_directory_fields($post->ID)) {
         return;
     }
     include self::$metaboxes_dir . 'views/shortcode-hint.php';
 }
 /**
  * Add script to Views edit screen (admin)
  * @param  mixed $hook
  */
 function add_scripts_and_styles($hook)
 {
     // Don't process any scripts below here if it's not a GravityView page.
     if (!gravityview_is_admin_page($hook)) {
         return;
     }
     $script_debug = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
     wp_enqueue_script('gravityview_datatables_admin', plugins_url('assets/js/datatables-admin-views' . $script_debug . '.js', GV_DT_FILE), array('jquery'), GV_Extension_DataTables::version);
     wp_enqueue_style('gravityview_datatables_admin', plugins_url('assets/css/datatables-admin.css', GV_DT_FILE), array(), GV_Extension_DataTables::version);
 }