REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 5.42 KB
Close
/home/nshryvcy/blissfulnepal.com/wp-content/plugins/newsletter/classes/Newsletter/License.php
Text
Base64
<?php namespace Newsletter; defined('ABSPATH') || exit; class License { static function get_key() { if (defined('NEWSLETTER_LICENSE_KEY')) { return NEWSLETTER_LICENSE_KEY; } $key = \Newsletter::instance()->get_main_option('contract_key'); return $key ?: false; } static function get_data($refresh = false) { $license_key = self::get_key(); if (empty($license_key)) { delete_transient('newsletter_license_data'); return false; } if (!$refresh) { $license_data = get_transient('newsletter_license_data'); if ($license_data !== false && is_object($license_data)) { return $license_data; } } $license_data_url = 'https://www.thenewsletterplugin.com/wp-content/plugins/file-commerce-pro/get-license-data.php'; $response = wp_remote_post($license_data_url, [ 'body' => ['k' => $license_key] ]); // Fall back to http... if (is_wp_error($response)) { $license_data_url = str_replace('https', 'http', $license_data_url); $response = wp_remote_post($license_data_url, array( 'body' => array('k' => $license_key) )); if (is_wp_error($response)) { set_transient('newsletter_license_data', $response, DAY_IN_SECONDS); return $response; } } $download_message = 'You can download all addons from www.thenewsletterplugin.com if your license is valid.'; if (wp_remote_retrieve_response_code($response) != '200') { $data = new \WP_Error(wp_remote_retrieve_response_code($response), '[' . esc_html(wp_remote_retrieve_response_code($response)) . '] ' . esc_html(wp_remote_retrieve_response_message($response)) . '<br>' . $download_message); set_transient('newsletter_license_data', $data, DAY_IN_SECONDS); return $data; } $json = wp_remote_retrieve_body($response); $data = json_decode($json); if (!is_object($data)) { $data = new \WP_Error(1, 'License validation service error. <br>' . $download_message); set_transient('newsletter_license_data', $data, DAY_IN_SECONDS); return $data; } if (isset($data->message)) { $data = new \WP_Error(1, 'License check: ' . $data->message); set_transient('newsletter_license_data', $data, DAY_IN_SECONDS); return $data; } $expiration = WEEK_IN_SECONDS; // If the license expires in few days, make the transient live only few days, so it will be refreshed if ($data->expire > time() && $data->expire - time() < WEEK_IN_SECONDS) { $expiration = $data->expire - time(); } set_transient('newsletter_license_data', $data, $expiration); return $data; } static function update() { self::get_data(true); } static function get_badge() { $license_data = self::get_data(false); $badge = ''; if (is_wp_error($license_data)) { $badge = '<span class="tnp-badge-red"><a href="?page=newsletter_main_main">License check failed</a></span>'; } else { if ($license_data !== false) { $type = $license_data->type ?? 'personal'; if ($type === 'personal') $type = ''; $class = $type === 'reseller' ? 'tnp-badge-blue' : 'tnp-badge-green'; if ($license_data->expire == 0) { $badge = '<span class="tnp-badge-green"><a href="?page=newsletter_main_main">Free license</a></span>'; } elseif ($license_data->expire >= time()) { $badge = '<span class="' . $class . '"><a href="?page=newsletter_main_main">' . esc_html($type) . ' license expires on ' . esc_html(date('Y-m-d', $license_data->expire)) . '</a></span>'; } else { $badge = '<span class="tnp-badge-red"><a href="?page=newsletter_main_main">' . esc_html($type) . ' license expired on ' . esc_html(date('Y-m-d', $license_data->expire)) . '</a></span>'; } } else { $badge = '<span class="tnp-badge-gray"><a href="?page=newsletter_main_main">License not set</a></span>'; } } return $badge; } /** * Changing this code does not bypass the server side validation checks and does not enable * premium services. * * @return bool */ static function is_premium() { $license_data = self::get_data(); if (empty($license_data)) { return false; } if (is_wp_error($license_data)) { return false; } return $license_data->expire >= time(); } static function is_free() { return !self::is_premium(); } static function is_personal() { $license_data = self::get_data(false); if (is_wp_error($license_data) || !$license_data) return true; return $license_data->type === 'personal'; } static function is_reseller() { $license_data = self::get_data(false); if (is_wp_error($license_data) || !$license_data) return false; return $license_data->type === 'reseller'; } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 2 × Files: 6
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
Composer
DIR
-
drwxr-xr-x
2026-06-03 14:57:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Subscription
DIR
-
drwxr-xr-x
2026-06-03 14:57:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Addons.php
5.17 KB
lrw-r--r--
2026-06-03 14:57:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Integrations.php
9.46 KB
lrw-r--r--
2026-06-03 14:57:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
License.php
5.42 KB
lrw-r--r--
2026-06-03 14:57:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Logs.php
1.95 KB
lrw-r--r--
2026-06-03 14:57:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
News.php
2.36 KB
lrw-r--r--
2026-06-03 14:57:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Source.php
341 B
lrw-r--r--
2026-06-03 14:57:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).