/**
  * 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’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&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)));
     }
 }
Esempio n. 2
0
 /**
  * Add a notice to be displayed in the admin.
  * @deprecated since 1.12
  * @param array $notice Array with `class` and `message` keys. The message is not escaped.
  */
 public static function add_notice($notice = array())
 {
     GravityView_Admin_Notices::add_notice($notice);
 }
Esempio n. 3
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)));
     }
 }