diff --git a/functions.php b/functions.php index 428ef4a..708dab2 100644 --- a/functions.php +++ b/functions.php @@ -14,12 +14,6 @@ // Load Kirki include( get_template_directory() . '/functions/kirki/kirki.php' ); -// Load theme updater functions -function clearwork_theme_updater() { - require( get_template_directory() . '/functions/updater/theme-updater.php' ); -} -add_action( 'after_setup_theme', 'clearwork_theme_updater' ); - if ( ! function_exists( 'clearwork_load' ) ) { function clearwork_load() { diff --git a/functions/updater/theme-updater-admin.php b/functions/updater/theme-updater-admin.php deleted file mode 100644 index a45bd36..0000000 --- a/functions/updater/theme-updater-admin.php +++ /dev/null @@ -1,626 +0,0 @@ - 'http://easydigitaldownloads.com', - 'theme_slug' => get_template(), - 'item_name' => '', - 'license' => '', - 'version' => '', - 'author' => '', - 'download_id' => '', - 'renew_url' => '', - 'beta' => false, - ) ); - - /** - * Fires after the theme $config is setup. - * - * @since x.x.x - * - * @param array $config Array of EDD SL theme data. - */ - do_action( 'post_edd_sl_theme_updater_setup', $config ); - - // Set config arguments - $this->remote_api_url = $config['remote_api_url']; - $this->item_name = $config['item_name']; - $this->theme_slug = sanitize_key( $config['theme_slug'] ); - $this->version = $config['version']; - $this->author = $config['author']; - $this->download_id = $config['download_id']; - $this->renew_url = $config['renew_url']; - $this->beta = $config['beta']; - - // Populate version fallback - if ( '' == $config['version'] ) { - $theme = wp_get_theme( $this->theme_slug ); - $this->version = $theme->get( 'Version' ); - } - - // Strings passed in from the updater config - $this->strings = $strings; - - add_action( 'init', array( $this, 'updater' ) ); - add_action( 'admin_init', array( $this, 'register_option' ) ); - add_action( 'admin_init', array( $this, 'license_action' ) ); - add_action( 'admin_menu', array( $this, 'license_menu' ) ); - add_action( 'update_option_' . $this->theme_slug . '_license_key', array( $this, 'activate_license' ), 10, 2 ); - add_filter( 'http_request_args', array( $this, 'disable_wporg_request' ), 5, 2 ); - - } - - /** - * Creates the updater class. - * - * since 1.0.0 - */ - function updater() { - if ( ! current_user_can( 'manage_options' ) ) { - return; - } - - /* If there is no valid license key status, don't allow updates. */ - if ( get_option( $this->theme_slug . '_license_key_status', false) != 'valid' ) { - return; - } - - if ( !class_exists( 'EDD_Theme_Updater' ) ) { - // Load our custom theme updater - include( dirname( __FILE__ ) . '/theme-updater-class.php' ); - } - - new EDD_Theme_Updater( - array( - 'remote_api_url' => $this->remote_api_url, - 'version' => $this->version, - 'license' => trim( get_option( $this->theme_slug . '_license_key' ) ), - 'item_name' => $this->item_name, - 'author' => $this->author, - 'beta' => $this->beta - ), - $this->strings - ); - } - - /** - * Adds a menu item for the theme license under the appearance menu. - * - * since 1.0.0 - */ - function license_menu() { - - $strings = $this->strings; - - add_theme_page( - $strings['theme-license'], - $strings['theme-license'], - 'manage_options', - $this->theme_slug . '-license', - array( $this, 'license_page' ) - ); - } - - /** - * Outputs the markup used on the theme license page. - * - * since 1.0.0 - */ - function license_page() { - - $strings = $this->strings; - - $license = trim( get_option( $this->theme_slug . '_license_key' ) ); - $status = get_option( $this->theme_slug . '_license_key_status', false ); - - // Checks license status to display under license key - if ( ! $license ) { - $message = $strings['enter-key']; - } else { - // delete_transient( $this->theme_slug . '_license_message' ); - if ( ! get_transient( $this->theme_slug . '_license_message', false ) ) { - set_transient( $this->theme_slug . '_license_message', $this->check_license(), ( 60 * 60 * 24 ) ); - } - $message = get_transient( $this->theme_slug . '_license_message' ); - } - ?> -
-

-
- - theme_slug . '-license' ); ?> - - - - - - - - - - - - - - - - - -
- - - -

- -

-
- - - theme_slug . '_nonce', $this->theme_slug . '_nonce' ); - if ( 'valid' == $status ) { ?> - - - - -
- -
- theme_slug . '-license', - $this->theme_slug . '_license_key', - array( $this, 'sanitize_license' ) - ); - } - - /** - * Sanitizes the license key. - * - * since 1.0.0 - * - * @param string $new License key that was submitted. - * @return string $new Sanitized license key. - */ - function sanitize_license( $new ) { - - $old = get_option( $this->theme_slug . '_license_key' ); - - if ( $old && $old != $new ) { - // New license has been entered, so must reactivate - delete_option( $this->theme_slug . '_license_key_status' ); - delete_transient( $this->theme_slug . '_license_message' ); - } - - return $new; - } - - /** - * Makes a call to the API. - * - * @since 1.0.0 - * - * @param array $api_params to be used for wp_remote_get. - * @return array $response decoded JSON response. - */ - function get_api_response( $api_params ) { - - // Call the custom API. - $verify_ssl = (bool) apply_filters( 'edd_sl_api_request_verify_ssl', true ); - $response = wp_remote_post( $this->remote_api_url, array( 'timeout' => 15, 'sslverify' => $verify_ssl, 'body' => $api_params ) ); - - return $response; - } - - /** - * Activates the license key. - * - * @since 1.0.0 - */ - function activate_license() { - - $license = trim( get_option( $this->theme_slug . '_license_key' ) ); - - // Data to send in our API request. - $api_params = array( - 'edd_action' => 'activate_license', - 'license' => $license, - 'item_name' => urlencode( $this->item_name ), - 'url' => home_url() - ); - - $response = $this->get_api_response( $api_params ); - - // make sure the response came back okay - if ( is_wp_error( $response ) || 200 !== wp_remote_retrieve_response_code( $response ) ) { - - if ( is_wp_error( $response ) ) { - $message = $response->get_error_message(); - } else { - $message = __( 'An error occurred, please try again.' ); - } - - $base_url = admin_url( 'themes.php?page=' . $this->theme_slug . '-license' ); - $redirect = add_query_arg( array( 'sl_theme_activation' => 'false', 'message' => urlencode( $message ) ), $base_url ); - - wp_redirect( $redirect ); - exit(); - - } else { - - $license_data = json_decode( wp_remote_retrieve_body( $response ) ); - - if ( false === $license_data->success ) { - - switch( $license_data->error ) { - - case 'expired' : - - $message = sprintf( - __( 'Your license key expired on %s.' ), - date_i18n( get_option( 'date_format' ), strtotime( $license_data->expires, current_time( 'timestamp' ) ) ) - ); - break; - - case 'disabled': - case 'revoked' : - - $message = __( 'Your license key has been disabled.' ); - break; - - case 'missing' : - - $message = __( 'Invalid license.' ); - break; - - case 'invalid' : - case 'site_inactive' : - - $message = __( 'Your license is not active for this URL.' ); - break; - - case 'item_name_mismatch' : - - $message = sprintf( __( 'This appears to be an invalid license key for %s.' ), $this->item_name ); - break; - - case 'no_activations_left': - - $message = __( 'Your license key has reached its activation limit.' ); - break; - - default : - - $message = __( 'An error occurred, please try again.' ); - break; - } - - if ( ! empty( $message ) ) { - $base_url = admin_url( 'themes.php?page=' . $this->theme_slug . '-license' ); - $redirect = add_query_arg( array( 'sl_theme_activation' => 'false', 'message' => urlencode( $message ) ), $base_url ); - - wp_redirect( $redirect ); - exit(); - } - - } - - } - - // $response->license will be either "active" or "inactive" - if ( $license_data && isset( $license_data->license ) ) { - update_option( $this->theme_slug . '_license_key_status', $license_data->license ); - delete_transient( $this->theme_slug . '_license_message' ); - } - - wp_redirect( admin_url( 'themes.php?page=' . $this->theme_slug . '-license' ) ); - exit(); - - } - - /** - * Deactivates the license key. - * - * @since 1.0.0 - */ - function deactivate_license() { - - // Retrieve the license from the database. - $license = trim( get_option( $this->theme_slug . '_license_key' ) ); - - // Data to send in our API request. - $api_params = array( - 'edd_action' => 'deactivate_license', - 'license' => $license, - 'item_name' => urlencode( $this->item_name ), - 'url' => home_url() - ); - - $response = $this->get_api_response( $api_params ); - - // make sure the response came back okay - if ( is_wp_error( $response ) || 200 !== wp_remote_retrieve_response_code( $response ) ) { - - if ( is_wp_error( $response ) ) { - $message = $response->get_error_message(); - } else { - $message = __( 'An error occurred, please try again.' ); - } - - $base_url = admin_url( 'themes.php?page=' . $this->theme_slug . '-license' ); - $redirect = add_query_arg( array( 'sl_theme_activation' => 'false', 'message' => urlencode( $message ) ), $base_url ); - - wp_redirect( $redirect ); - exit(); - - } else { - - $license_data = json_decode( wp_remote_retrieve_body( $response ) ); - - // $license_data->license will be either "deactivated" or "failed" - if ( $license_data && ( $license_data->license == 'deactivated' ) ) { - delete_option( $this->theme_slug . '_license_key_status' ); - delete_transient( $this->theme_slug . '_license_message' ); - } - - } - - if ( ! empty( $message ) ) { - $base_url = admin_url( 'themes.php?page=' . $this->theme_slug . '-license' ); - $redirect = add_query_arg( array( 'sl_theme_activation' => 'false', 'message' => urlencode( $message ) ), $base_url ); - - wp_redirect( $redirect ); - exit(); - } - - wp_redirect( admin_url( 'themes.php?page=' . $this->theme_slug . '-license' ) ); - exit(); - - } - - /** - * Constructs a renewal link - * - * @since 1.0.0 - */ - function get_renewal_link() { - - // If a renewal link was passed in the config, use that - if ( '' != $this->renew_url ) { - return $this->renew_url; - } - - // If download_id was passed in the config, a renewal link can be constructed - $license_key = trim( get_option( $this->theme_slug . '_license_key', false ) ); - if ( '' != $this->download_id && $license_key ) { - $url = esc_url( $this->remote_api_url ); - $url .= '/checkout/?edd_license_key=' . $license_key . '&download_id=' . $this->download_id; - return $url; - } - - // Otherwise return the remote_api_url - return $this->remote_api_url; - - } - - - - /** - * Checks if a license action was submitted. - * - * @since 1.0.0 - */ - function license_action() { - - if ( isset( $_POST[ $this->theme_slug . '_license_activate' ] ) ) { - if ( check_admin_referer( $this->theme_slug . '_nonce', $this->theme_slug . '_nonce' ) ) { - $this->activate_license(); - } - } - - if ( isset( $_POST[$this->theme_slug . '_license_deactivate'] ) ) { - if ( check_admin_referer( $this->theme_slug . '_nonce', $this->theme_slug . '_nonce' ) ) { - $this->deactivate_license(); - } - } - - } - - /** - * Checks if license is valid and gets expire date. - * - * @since 1.0.0 - * - * @return string $message License status message. - */ - function check_license() { - - $license = trim( get_option( $this->theme_slug . '_license_key' ) ); - $strings = $this->strings; - - $api_params = array( - 'edd_action' => 'check_license', - 'license' => $license, - 'item_name' => urlencode( $this->item_name ), - 'url' => home_url() - ); - - $response = $this->get_api_response( $api_params ); - - // make sure the response came back okay - if ( is_wp_error( $response ) || 200 !== wp_remote_retrieve_response_code( $response ) ) { - - if ( is_wp_error( $response ) ) { - $message = $response->get_error_message(); - } else { - $message = $strings['license-status-unknown']; - } - - $base_url = admin_url( 'themes.php?page=' . $this->theme_slug . '-license' ); - $redirect = add_query_arg( array( 'sl_theme_activation' => 'false', 'message' => urlencode( $message ) ), $base_url ); - - wp_redirect( $redirect ); - exit(); - - } else { - - $license_data = json_decode( wp_remote_retrieve_body( $response ) ); - - // If response doesn't include license data, return - if ( !isset( $license_data->license ) ) { - $message = $strings['license-status-unknown']; - return $message; - } - - // We need to update the license status at the same time the message is updated - if ( $license_data && isset( $license_data->license ) ) { - update_option( $this->theme_slug . '_license_key_status', $license_data->license ); - } - - // Get expire date - $expires = false; - if ( isset( $license_data->expires ) && 'lifetime' != $license_data->expires ) { - $expires = date_i18n( get_option( 'date_format' ), strtotime( $license_data->expires, current_time( 'timestamp' ) ) ); - $renew_link = '' . $strings['renew'] . ''; - } elseif ( isset( $license_data->expires ) && 'lifetime' == $license_data->expires ) { - $expires = 'lifetime'; - } - - // Get site counts - $site_count = $license_data->site_count; - $license_limit = $license_data->license_limit; - - // If unlimited - if ( 0 == $license_limit ) { - $license_limit = $strings['unlimited']; - } - - if ( $license_data->license == 'valid' ) { - $message = $strings['license-key-is-active'] . ' '; - if ( isset( $expires ) && 'lifetime' != $expires ) { - $message .= sprintf( $strings['expires%s'], $expires ) . ' '; - } - if ( isset( $expires ) && 'lifetime' == $expires ) { - $message .= $strings['expires-never']; - } - if ( $site_count && $license_limit ) { - $message .= sprintf( $strings['%1$s/%2$-sites'], $site_count, $license_limit ); - } - } else if ( $license_data->license == 'expired' ) { - if ( $expires ) { - $message = sprintf( $strings['license-key-expired-%s'], $expires ); - } else { - $message = $strings['license-key-expired']; - } - if ( $renew_link ) { - $message .= ' ' . $renew_link; - } - } else if ( $license_data->license == 'invalid' ) { - $message = $strings['license-keys-do-not-match']; - } else if ( $license_data->license == 'inactive' ) { - $message = $strings['license-is-inactive']; - } else if ( $license_data->license == 'disabled' ) { - $message = $strings['license-key-is-disabled']; - } else if ( $license_data->license == 'site_inactive' ) { - // Site is inactive - $message = $strings['site-is-inactive']; - } else { - $message = $strings['license-status-unknown']; - } - - } - - return $message; - } - - /** - * Disable requests to wp.org repository for this theme. - * - * @since 1.0.0 - */ - function disable_wporg_request( $r, $url ) { - - // If it's not a theme update request, bail. - if ( 0 !== strpos( $url, 'https://api.wordpress.org/themes/update-check/1.1/' ) ) { - return $r; - } - - // Decode the JSON response - $themes = json_decode( $r['body']['themes'] ); - - // Remove the active parent and child themes from the check - $parent = get_option( 'template' ); - $child = get_option( 'stylesheet' ); - unset( $themes->themes->$parent ); - unset( $themes->themes->$child ); - - // Encode the updated JSON response - $r['body']['themes'] = json_encode( $themes ); - - return $r; - } - -} - -/** - * This is a means of catching errors from the activation method above and displyaing it to the customer - */ -function edd_sample_theme_admin_notices() { - if ( isset( $_GET['sl_theme_activation'] ) && ! empty( $_GET['message'] ) ) { - - switch( $_GET['sl_theme_activation'] ) { - - case 'false': - $message = urldecode( $_GET['message'] ); - ?> -
-

-
- 'http://easydigitaldownloads.com', - 'request_data' => array(), - 'theme_slug' => get_template(), // use get_stylesheet() for child theme updates - 'item_name' => '', - 'license' => '', - 'version' => '', - 'author' => '', - 'beta' => false, - ); - - $args = wp_parse_args( $args, $defaults ); - - $this->license = $args['license']; - $this->item_name = $args['item_name']; - $this->version = $args['version']; - $this->theme_slug = sanitize_key( $args['theme_slug'] ); - $this->author = $args['author']; - $this->beta = $args['beta']; - $this->remote_api_url = $args['remote_api_url']; - $this->response_key = $this->theme_slug . '-' . $this->beta . '-update-response'; - $this->strings = $strings; - - add_filter( 'site_transient_update_themes', array( $this, 'theme_update_transient' ) ); - add_filter( 'delete_site_transient_update_themes', array( $this, 'delete_theme_update_transient' ) ); - add_action( 'load-update-core.php', array( $this, 'delete_theme_update_transient' ) ); - add_action( 'load-themes.php', array( $this, 'delete_theme_update_transient' ) ); - add_action( 'load-themes.php', array( $this, 'load_themes_screen' ) ); - } - - /** - * Show the update notification when neecessary - * - * @return void - */ - function load_themes_screen() { - add_thickbox(); - add_action( 'admin_notices', array( $this, 'update_nag' ) ); - } - - /** - * Display the update notifications - * - * @return void - */ - function update_nag() { - - $strings = $this->strings; - $theme = wp_get_theme( $this->theme_slug ); - $api_response = get_transient( $this->response_key ); - - if ( false === $api_response ) { - return; - } - - $update_url = wp_nonce_url( 'update.php?action=upgrade-theme&theme=' . urlencode( $this->theme_slug ), 'upgrade-theme_' . $this->theme_slug ); - $update_onclick = ' onclick="if ( confirm(\'' . esc_js( $strings['update-notice'] ) . '\') ) {return true;}return false;"'; - - if ( version_compare( $this->version, $api_response->new_version, '<' ) ) { - - echo '
'; - printf( - $strings['update-available'], - $theme->get( 'Name' ), - $api_response->new_version, - '#TB_inline?width=640&inlineId=' . $this->theme_slug . '_changelog', - $theme->get( 'Name' ), - $update_url, - $update_onclick - ); - echo '
'; - echo ''; - } - } - - /** - * Update the theme update transient with the response from the version check - * - * @param array $value The default update values. - * @return array|boolean If an update is available, returns the update parameters, if no update is needed returns false, if - * the request fails returns false. - */ - function theme_update_transient( $value ) { - $update_data = $this->check_for_update(); - if ( $update_data ) { - - // Make sure the theme property is set. See issue 1463 on Github in the Software Licensing Repo. - $update_data['theme'] = $this->theme_slug; - - $value->response[ $this->theme_slug ] = $update_data; - } - return $value; - } - - /** - * Remove the update data for the theme - * - * @return void - */ - function delete_theme_update_transient() { - delete_transient( $this->response_key ); - } - - /** - * Call the EDD SL API (using the URL in the construct) to get the latest version information - * - * @return array|boolean If an update is available, returns the update parameters, if no update is needed returns false, if - * the request fails returns false. - */ - function check_for_update() { - - $update_data = get_transient( $this->response_key ); - - if ( false === $update_data ) { - $failed = false; - - $api_params = array( - 'edd_action' => 'get_version', - 'license' => $this->license, - 'name' => $this->item_name, - 'slug' => $this->theme_slug, - 'version' => $this->version, - 'author' => $this->author, - 'beta' => $this->beta - ); - - $response = wp_remote_post( $this->remote_api_url, array( 'timeout' => 15, 'body' => $api_params ) ); - - // Make sure the response was successful - if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) { - $failed = true; - } - - $update_data = json_decode( wp_remote_retrieve_body( $response ) ); - - if ( ! is_object( $update_data ) ) { - $failed = true; - } - - // If the response failed, try again in 30 minutes - if ( $failed ) { - $data = new stdClass; - $data->new_version = $this->version; - set_transient( $this->response_key, $data, strtotime( '+30 minutes', time() ) ); - return false; - } - - // If the status is 'ok', return the update arguments - if ( ! $failed ) { - $update_data->sections = maybe_unserialize( $update_data->sections ); - set_transient( $this->response_key, $update_data, strtotime( '+12 hours', time() ) ); - } - } - - if ( version_compare( $this->version, $update_data->new_version, '>=' ) ) { - return false; - } - - return (array) $update_data; - } - -} diff --git a/functions/updater/theme-updater.php b/functions/updater/theme-updater.php deleted file mode 100644 index 4b66836..0000000 --- a/functions/updater/theme-updater.php +++ /dev/null @@ -1,54 +0,0 @@ - 'https://alx.media', // Site where EDD is hosted - 'item_name' => 'Clearwork', // Name of theme - 'theme_slug' => 'clearwork', // Theme slug - 'version' => '1.0.1', // The current version of this theme - 'author' => 'AlxMedia', // The author of this theme - 'download_id' => '', // Optional, used for generating a license renewal link - 'renew_url' => '', // Optional, allows for a custom license renewal link - 'beta' => false, // Optional, set to true to opt into beta versions - ), - - // Strings - $strings = array( - 'theme-license' => __( 'Theme License', 'clearwork' ), - 'enter-key' => __( 'Enter your theme license key.', 'clearwork' ), - 'license-key' => __( 'License Key', 'clearwork' ), - 'license-action' => __( 'License Action', 'clearwork' ), - 'deactivate-license' => __( 'Deactivate License', 'clearwork' ), - 'activate-license' => __( 'Activate License', 'clearwork' ), - 'status-unknown' => __( 'License status is unknown.', 'clearwork' ), - 'renew' => __( 'Renew?', 'clearwork' ), - 'unlimited' => __( 'unlimited', 'clearwork' ), - 'license-key-is-active' => __( 'License key is active.', 'clearwork' ), - 'expires%s' => __( 'Expires %s.', 'clearwork' ), - 'expires-never' => __( 'Lifetime License.', 'clearwork' ), - '%1$s/%2$-sites' => __( 'You have %1$s / %2$s sites activated.', 'clearwork' ), - 'license-key-expired-%s' => __( 'License key expired %s.', 'clearwork' ), - 'license-key-expired' => __( 'License key has expired.', 'clearwork' ), - 'license-keys-do-not-match' => __( 'License keys do not match.', 'clearwork' ), - 'license-is-inactive' => __( 'License is inactive.', 'clearwork' ), - 'license-key-is-disabled' => __( 'License key is disabled.', 'clearwork' ), - 'site-is-inactive' => __( 'Site is inactive.', 'clearwork' ), - 'license-status-unknown' => __( 'License status is unknown.', 'clearwork' ), - 'update-notice' => __( "Updating this theme will lose any customizations you have made. 'Cancel' to stop, 'OK' to update.", 'clearwork' ), - 'update-available' => __('%1$s %2$s is available. Check out what\'s new or update now.', 'clearwork' ), - ) - -); diff --git a/languages/clearwork.pot b/languages/clearwork.pot index 19d7243..f8ad98e 100644 --- a/languages/clearwork.pot +++ b/languages/clearwork.pot @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Clearwork\n" -"POT-Creation-Date: 2021-03-05 15:46+0100\n" +"POT-Creation-Date: 2021-03-08 18:58+0100\n" "PO-Revision-Date: 2018-09-21 21:27+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -55,83 +55,83 @@ msgstr "" msgid "Theme by" msgstr "" -#: functions.php:90 +#: functions.php:84 msgid "Mobile" msgstr "" -#: functions.php:91 functions/theme-options.php:52 +#: functions.php:85 functions/theme-options.php:52 msgid "Header" msgstr "" -#: functions.php:183 +#: functions.php:177 msgid "Primary" msgstr "" -#: functions.php:183 +#: functions.php:177 msgid "Normal full width sidebar" msgstr "" -#: functions.php:185 functions/theme-options.php:273 +#: functions.php:179 functions/theme-options.php:273 msgid "Footer Ads" msgstr "" -#: functions.php:185 +#: functions.php:179 msgid "Footer ads area" msgstr "" -#: functions.php:187 +#: functions.php:181 msgid "Frontpage Top 1" msgstr "" -#: functions.php:187 functions.php:188 functions.php:189 functions.php:190 +#: functions.php:181 functions.php:182 functions.php:183 functions.php:184 msgid "Frontpage area" msgstr "" -#: functions.php:188 +#: functions.php:182 msgid "Frontpage Top 2" msgstr "" -#: functions.php:189 +#: functions.php:183 msgid "Frontpage Bottom 1" msgstr "" -#: functions.php:190 +#: functions.php:184 msgid "Frontpage Bottom 2" msgstr "" -#: functions.php:192 +#: functions.php:186 msgid "Footer 1" msgstr "" -#: functions.php:192 functions.php:193 functions.php:194 functions.php:195 +#: functions.php:186 functions.php:187 functions.php:188 functions.php:189 msgid "Widgetized footer" msgstr "" -#: functions.php:193 +#: functions.php:187 msgid "Footer 2" msgstr "" -#: functions.php:194 +#: functions.php:188 msgid "Footer 3" msgstr "" -#: functions.php:195 +#: functions.php:189 msgid "Footer 4" msgstr "" -#: functions.php:687 +#: functions.php:681 msgid "Alx Extensions" msgstr "" -#: functions.php:691 +#: functions.php:685 msgid "Meta Box" msgstr "" -#: functions.php:695 +#: functions.php:689 msgid "Regenerate Thumbnails" msgstr "" -#: functions.php:699 +#: functions.php:693 msgid "WP-PageNavi" msgstr "" @@ -745,132 +745,6 @@ msgstr "" msgid "Footer Background" msgstr "" -#: functions/updater/theme-updater-admin.php:276 -#: functions/updater/theme-updater-admin.php:330 -#: functions/updater/theme-updater-admin.php:383 -msgid "An error occurred, please try again." -msgstr "" - -#: functions/updater/theme-updater-admin.php:296 -#, php-format -msgid "Your license key expired on %s." -msgstr "" - -#: functions/updater/theme-updater-admin.php:304 -msgid "Your license key has been disabled." -msgstr "" - -#: functions/updater/theme-updater-admin.php:309 -msgid "Invalid license." -msgstr "" - -#: functions/updater/theme-updater-admin.php:315 -msgid "Your license is not active for this URL." -msgstr "" - -#: functions/updater/theme-updater-admin.php:320 -#, php-format -msgid "This appears to be an invalid license key for %s." -msgstr "" - -#: functions/updater/theme-updater-admin.php:325 -msgid "Your license key has reached its activation limit." -msgstr "" - -#: functions/updater/theme-updater.php:30 -msgid "Theme License" -msgstr "" - -#: functions/updater/theme-updater.php:31 -msgid "Enter your theme license key." -msgstr "" - -#: functions/updater/theme-updater.php:32 -msgid "License Key" -msgstr "" - -#: functions/updater/theme-updater.php:33 -msgid "License Action" -msgstr "" - -#: functions/updater/theme-updater.php:34 -msgid "Deactivate License" -msgstr "" - -#: functions/updater/theme-updater.php:35 -msgid "Activate License" -msgstr "" - -#: functions/updater/theme-updater.php:36 -#: functions/updater/theme-updater.php:49 -msgid "License status is unknown." -msgstr "" - -#: functions/updater/theme-updater.php:37 -msgid "Renew?" -msgstr "" - -#: functions/updater/theme-updater.php:38 -msgid "unlimited" -msgstr "" - -#: functions/updater/theme-updater.php:39 -msgid "License key is active." -msgstr "" - -#: functions/updater/theme-updater.php:40 -#, php-format -msgid "Expires %s." -msgstr "" - -#: functions/updater/theme-updater.php:41 -msgid "Lifetime License." -msgstr "" - -#: functions/updater/theme-updater.php:42 -#, php-format -msgid "You have %1$s / %2$s sites activated." -msgstr "" - -#: functions/updater/theme-updater.php:43 -#, php-format -msgid "License key expired %s." -msgstr "" - -#: functions/updater/theme-updater.php:44 -msgid "License key has expired." -msgstr "" - -#: functions/updater/theme-updater.php:45 -msgid "License keys do not match." -msgstr "" - -#: functions/updater/theme-updater.php:46 -msgid "License is inactive." -msgstr "" - -#: functions/updater/theme-updater.php:47 -msgid "License key is disabled." -msgstr "" - -#: functions/updater/theme-updater.php:48 -msgid "Site is inactive." -msgstr "" - -#: functions/updater/theme-updater.php:50 -msgid "" -"Updating this theme will lose any customizations you have made. 'Cancel' to " -"stop, 'OK' to update." -msgstr "" - -#: functions/updater/theme-updater.php:51 -#, php-format -msgid "" -"%1$s %2$s is available. Check out what's new or update now." -msgstr "" - #: header.php:19 msgid "Skip to content" msgstr "" diff --git a/readme.txt b/readme.txt index bb3e3f3..135d03a 100644 --- a/readme.txt +++ b/readme.txt @@ -69,6 +69,10 @@ Source: https://stocksnap.io == Changelog == += 1.0.2 - 2021-03-08 = +* Removed premium theme updater code +* Updated language files + = 1.0.1 - 2021-03-05 = * Fixed: mobile menu tabbing will enter in the menu even when it's closed * Fixed: trap focus in search popup diff --git a/style.css b/style.css index d822988..346d23c 100644 --- a/style.css +++ b/style.css @@ -1,7 +1,7 @@ /* Theme Name: Clearwork Theme URI: http://alx.media/themes/clearwork/ -Version: 1.0.1 +Version: 1.0.2 Requires at least: 5.0 Requires PHP: 5.6 Tested up to: 5.6