/** * 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))); } }
/** * 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); }
/** * 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; /** @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&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))); } }