From b378b0a9a2bb31f0267b70adb0ade99ebf70eb37 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Wed, 19 Jul 2017 10:47:33 -0400 Subject: [PATCH 001/293] added support for devices, where you can specified the amount of licenses per device or domain. added custom meta-boxes for product variations. expanded API when verifying the license, it will return extra information. added an extra column for devices in db --- .../includes/slm-api-listener.php | 75 ++++++++++++++---- .../includes/slm-api-utility.php | 4 +- .../includes/slm-meta-boxes.php | 64 +++++++++++++++ .../includes/slm-third-party-integration.php | 79 ++++++++++++++----- software-license-manager/logs/log.txt | 33 ++++++++ .../menu/slm-add-licenses.php | 43 ++++++---- .../menu/slm-lic-settings.php | 26 ++++-- software-license-manager/slm_bootstrap.php | 17 ++-- software-license-manager/slm_installer.php | 14 ++-- software-license-manager/slm_plugin_core.php | 2 + 10 files changed, 279 insertions(+), 78 deletions(-) create mode 100644 software-license-manager/includes/slm-meta-boxes.php diff --git a/software-license-manager/includes/slm-api-listener.php b/software-license-manager/includes/slm-api-listener.php index 065e5f3..0cb20c5 100644 --- a/software-license-manager/includes/slm-api-listener.php +++ b/software-license-manager/includes/slm-api-listener.php @@ -33,9 +33,9 @@ function creation_api_listener() { SLM_API_Utility::verify_secret_key_for_creation(); //Verify the secret key first. $slm_debug_logger->log_debug("API - license creation (slm_create_new) request received."); - + //Action hook - do_action('slm_api_listener_slm_create_new'); + do_action('slm_api_listener_slm_create_new'); $fields = array(); if (isset($_REQUEST['license_key']) && !empty($_REQUEST['license_key'])){ @@ -49,11 +49,17 @@ function creation_api_listener() { $fields['email'] = strip_tags($_REQUEST['email']); $fields['company_name'] = wp_unslash(strip_tags($_REQUEST['company_name'])); $fields['txn_id'] = strip_tags($_REQUEST['txn_id']); + if (empty($_REQUEST['max_allowed_domains'])) { $fields['max_allowed_domains'] = $options['default_max_domains']; } else { $fields['max_allowed_domains'] = strip_tags($_REQUEST['max_allowed_domains']); } + if (empty($_REQUEST['max_allowed_devices'])) { + $fields['max_allowed_devices'] = $options['default_max_devices']; + } else { + $fields['max_allowed_devices'] = strip_tags($_REQUEST['max_allowed_devices']); + } $fields['date_created'] = isset($_REQUEST['date_created'])?strip_tags($_REQUEST['date_created']):date("Y-m-d"); $fields['date_expiry'] = isset($_REQUEST['date_expiry'])?strip_tags($_REQUEST['date_expiry']):''; @@ -87,9 +93,9 @@ function activation_api_listener() { SLM_API_Utility::verify_secret_key(); //Verify the secret key first. $slm_debug_logger->log_debug("API - license activation (slm_activate) request received."); - + //Action hook - do_action('slm_api_listener_slm_activate'); + do_action('slm_api_listener_slm_activate'); $fields = array(); $fields['lic_key'] = trim(strip_tags($_REQUEST['license_key'])); @@ -106,6 +112,7 @@ function activation_api_listener() { $sql_prep2 = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key = %s", $key); $reg_domains = $wpdb->get_results($sql_prep2, OBJECT); + if ($retLic) { if ($retLic->lic_status == 'blocked') { $args = (array('result' => 'error', 'message' => 'Your License key is blocked', 'error_code' => SLM_Error_Codes::LICENSE_BLOCKED)); @@ -127,20 +134,52 @@ function activation_api_listener() { SLM_API_Utility::output_api_response($args); } } + $fields['lic_key_id'] = $retLic->id; $wpdb->insert($reg_table, $fields); - + $slm_debug_logger->log_debug("Updating license key status to active."); $data = array('lic_status' => 'active'); $where = array('id' => $retLic->id); $updated = $wpdb->update($tbl_name, $data, $where); - + $args = (array('result' => 'success', 'message' => 'License key activated')); SLM_API_Utility::output_api_response($args); - } else { + } + else { $args = (array('result' => 'error', 'message' => 'Reached maximum allowable domains', 'error_code' => SLM_Error_Codes::REACHED_MAX_DOMAINS)); SLM_API_Utility::output_api_response($args); } + + if (count($reg_domains) < floor($retLic->max_allowed_domains)) { + foreach ($reg_domains as $reg_domain) { + if (isset($_REQUEST['migrate_from']) && (trim($_REQUEST['migrate_from']) == $reg_domain->registered_domain)) { + $wpdb->update($reg_table, array('registered_domain' => $fields['registered_domain']), array('registered_domain' => trim(strip_tags($_REQUEST['migrate_from'])))); + $args = (array('result' => 'success', 'message' => 'Registered domain has been updated')); + SLM_API_Utility::output_api_response($args); + } + if ($fields['registered_domain'] == $reg_domain->registered_domain) { + $args = (array('result' => 'error', 'message' => 'License key already in use on ' . $reg_domain->registered_domain, 'error_code' => SLM_Error_Codes::LICENSE_IN_USE)); + SLM_API_Utility::output_api_response($args); + } + } + + $fields['lic_key_id'] = $retLic->id; + $wpdb->insert($reg_table, $fields); + + $slm_debug_logger->log_debug("Updating license key status to active."); + $data = array('lic_status' => 'active'); + $where = array('id' => $retLic->id); + $updated = $wpdb->update($tbl_name, $data, $where); + + $args = (array('result' => 'success', 'message' => 'License key activated')); + SLM_API_Utility::output_api_response($args); + } + else { + $args = (array('result' => 'error', 'message' => 'Reached maximum allowable devices', 'error_code' => SLM_Error_Codes::REACHED_MAX_DOMAINS)); + SLM_API_Utility::output_api_response($args); + } + } else { $args = (array('result' => 'error', 'message' => 'Invalid license key', 'error_code' => SLM_Error_Codes::LICENSE_INVALID)); SLM_API_Utility::output_api_response($args); @@ -156,9 +195,9 @@ function deactivation_api_listener() { SLM_API_Utility::verify_secret_key(); //Verify the secret key first. $slm_debug_logger->log_debug("API - license deactivation (slm_deactivate) request received."); - + //Action hook - do_action('slm_api_listener_slm_deactivate'); + do_action('slm_api_listener_slm_deactivate'); if (empty($_REQUEST['registered_domain'])) { $args = (array('result' => 'error', 'message' => 'Registered domain information is missing', 'error_code' => SLM_Error_Codes::DOMAIN_MISSING)); @@ -192,14 +231,14 @@ function check_api_listener() { SLM_API_Utility::verify_secret_key(); //Verify the secret key first. $slm_debug_logger->log_debug("API - license check (slm_check) request received."); - + $fields = array(); $fields['lic_key'] = trim(strip_tags($_REQUEST['license_key'])); $slm_debug_logger->log_debug("License key: " . $fields['lic_key']); //Action hook do_action('slm_api_listener_slm_check'); - + global $wpdb; $tbl_name = SLM_TBL_LICENSE_KEYS; $reg_table = SLM_TBL_LIC_DOMAIN; @@ -211,12 +250,18 @@ function check_api_listener() { $reg_domains = $wpdb->get_results($sql_prep2, OBJECT); if ($retLic) {//A license key exists $args = (array( - 'result' => 'success', - 'message' => 'License key details retrieved.', - 'status' => $retLic->lic_status, + 'result' => 'success', + 'code' => '200', + 'message' => 'License key details retrieved.', + 'status' => $retLic->lic_status, 'max_allowed_domains' => $retLic->max_allowed_domains, + 'max_allowed_devices' => $retLic->max_allowed_devices, 'email' => $retLic->email, + 'first_name' => $retLic->first_name, + 'last_name' => $retLic->last_name, + // 'until' => $retLic->until, //until what version license is supported 'registered_domains' => $reg_domains, + 'license_key' => $retLic->license_key, 'date_created' => $retLic->date_created, 'date_renewed' => $retLic->date_renewed, 'date_expiry' => $retLic->date_expiry, @@ -226,7 +271,7 @@ function check_api_listener() { } else { $args = (array('result' => 'error', 'message' => 'Invalid license key', 'error_code' => SLM_Error_Codes::LICENSE_INVALID)); SLM_API_Utility::output_api_response($args); - } + } } } diff --git a/software-license-manager/includes/slm-api-utility.php b/software-license-manager/includes/slm-api-utility.php index 61b3e2f..8fd3222 100644 --- a/software-license-manager/includes/slm-api-utility.php +++ b/software-license-manager/includes/slm-api-utility.php @@ -26,7 +26,7 @@ static function verify_secret_key() { SLM_API_Utility::output_api_response($args); } } - + static function verify_secret_key_for_creation() { $slm_options = get_option('slm_plugin_options'); $right_secret_key = $slm_options['lic_creation_secret']; @@ -35,7 +35,7 @@ static function verify_secret_key_for_creation() { $args = (array('result' => 'error', 'message' => 'License Creation API secret key is invalid', 'error_code' => SLM_Error_Codes::CREATE_KEY_INVALID)); SLM_API_Utility::output_api_response($args); } - } + } static function insert_license_data_internal($fields) { /* The fields array should have values for the following keys diff --git a/software-license-manager/includes/slm-meta-boxes.php b/software-license-manager/includes/slm-meta-boxes.php new file mode 100644 index 0000000..00ed4e1 --- /dev/null +++ b/software-license-manager/includes/slm-meta-boxes.php @@ -0,0 +1,64 @@ +'; + + // License Field + woocommerce_wp_text_input( + array( + 'id' => 'amount_of_licenses['. $loop .']', + 'label' => __( 'Number of Licenses (domain)', 'woocommerce' ), + 'placeholder' => '1-20', + 'desc_tip' => true, + 'wrapper_class' => 'form-row form-row-first', + 'description' => __( 'Ideal for themes, plugins, and websites', 'woocommerce' ), + 'value' => get_post_meta($variation->ID, 'amount_of_licenses', true) + ) + ); + + echo ""; + + echo '
'; + + // License Field + woocommerce_wp_text_input( + array( + 'id' => 'amount_of_licenses_devices['. $loop .']', + 'label' => __( 'Number of Licenses (devices)', 'woocommerce' ), + 'placeholder' => '1-20', + 'desc_tip' => true, + 'wrapper_class' => 'form-row form-row-first', + 'description' => __( 'Ideal for software and apps.', 'woocommerce' ), + 'value' => get_post_meta($variation->ID, 'amount_of_licenses_devices', true) + ) + ); + + echo "
"; + +} + +/** Save new fields for variations */ +function save_variation_fields( $variation_id, $i) { + + // License Field + $text_field = stripslashes( $_POST['amount_of_licenses'][$i] ); + update_post_meta( $variation_id, 'amount_of_licenses', esc_attr( $text_field ) ); + + $text_field = stripslashes( $_POST['amount_of_licenses_devices'][$i] ); + update_post_meta( $variation_id, 'amount_of_licenses_devices', esc_attr( $text_field ) ); + +} \ No newline at end of file diff --git a/software-license-manager/includes/slm-third-party-integration.php b/software-license-manager/includes/slm-third-party-integration.php index 8e06e33..6d0ca78 100644 --- a/software-license-manager/includes/slm-third-party-integration.php +++ b/software-license-manager/includes/slm-third-party-integration.php @@ -46,7 +46,7 @@ function slm_estore_check_and_generate_key($retrieved_product, $payment_data, $c //More than 1 qty of the same product for($i=0; $i < $requested_qty; $i++){ $slm_key = slm_estore_create_license($retrieved_product, $payment_data, $cart_items); - $license_data .= "\n" . __('Item Name: ', 'slm') . $retrieved_product->name . " - " . __('License Key '.($i+1).': ', 'slm') . $slm_key; + $license_data .= "\n" . __('Item Name: ', 'slm') . $retrieved_product->name . " - " . __('License Key '.($i+1).': ', 'slm') . $slm_key; } } else { @@ -54,7 +54,7 @@ function slm_estore_check_and_generate_key($retrieved_product, $payment_data, $c $slm_key = slm_estore_create_license($retrieved_product, $payment_data, $cart_items); $license_data = "\n" . __('Item Name: ', 'slm') . $retrieved_product->name . " - " . __('License Key: ', 'slm') . $slm_key; } - + $slm_debug_logger->log_debug('Liense data: ' . $license_data); $license_data = apply_filters('slm_estore_item_license_data', $license_data); } @@ -65,11 +65,12 @@ function slm_estore_create_license($retrieved_product, $payment_data, $cart_item global $slm_debug_logger; global $wpdb; $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; - + //Retrieve the default settings values. $options = get_option('slm_plugin_options'); $lic_key_prefix = $options['lic_prefix']; $max_domains = $options['default_max_domains']; + $max_devices = $options['default_max_devices']; //Lets check any product specific configuration. $prod_id = $retrieved_product->id; @@ -80,7 +81,22 @@ function slm_estore_create_license($retrieved_product, $payment_data, $cart_item } else { //Use the default value from settings (the $max_domains variable contains the default value already). } - //Lets check if any product specific expiry date is set + + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_devices'", OBJECT); + if ($product_meta) { + //Found product specific SLM config data. + $max_devices = $product_meta->meta_value; + } else { + //Use the default value from settings (the $max_domains variable contains the default value already). + } + + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_devices'", OBJECT); + if ($product_meta) { + //Found product specific SLM config data. + $max_devices = $product_meta->meta_value; + } else { + //Use the default value from settings (the $max_domains variable contains the default value already). + } //Lets check if any product specific expiry date is set $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_date_of_expiry'", OBJECT); if ($product_meta) { //Found product specific SLM config data. @@ -91,8 +107,8 @@ function slm_estore_create_license($retrieved_product, $payment_data, $cart_item $current_date_plus_1year = date('Y-m-d', strtotime('+1 year')); $slm_date_of_expiry = $current_date_plus_1year; } - - + + $fields = array(); $fields['license_key'] = uniqid($lic_key_prefix); $fields['lic_status'] = 'pending'; @@ -102,7 +118,8 @@ function slm_estore_create_license($retrieved_product, $payment_data, $cart_item $fields['company_name'] = $payment_data['company_name']; $fields['txn_id'] = $payment_data['txn_id']; $fields['max_allowed_domains'] = $max_domains; - $fields['date_created'] = date("Y-m-d"); //Today's date + $fields['max_allowed_devices'] = $max_devices; + $fields['date_created'] = date("Y-m-d"); //Today's date $fields['date_expiry'] = $slm_date_of_expiry; $slm_debug_logger->log_debug('Inserting license data into the license manager DB table.'); @@ -140,14 +157,15 @@ function slm_estore_create_license($retrieved_product, $payment_data, $cart_item function slm_estore_product_configuration_html($product_config_html, $prod_id) { global $wpdb; $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; - + if (empty($prod_id)) { //New product add $slm_max_allowed_domains = ""; + $slm_max_allowed_devices = ""; $slm_date_of_expiry = ""; } else { //Existing product edit - + //Retrieve the max domain value $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_domains'", OBJECT); if ($product_meta) { @@ -155,7 +173,14 @@ function slm_estore_product_configuration_html($product_config_html, $prod_id) { } else { $slm_max_allowed_domains = ""; } - + + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_devices'", OBJECT); + if ($product_meta) { + $slm_max_allowed_devices = $product_meta->meta_value; + } else { + $slm_max_allowed_devices = ""; + } + //Retrieve the expiry date value $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_date_of_expiry'", OBJECT); if ($product_meta) { @@ -173,6 +198,11 @@ function slm_estore_product_configuration_html($product_config_html, $prod_id) { $product_config_html .= '

Number of domains/installs in which this license can be used. Leave blank if you wish to use the default value set in the license manager plugin settings.

'; $product_config_html .= ''; + $product_config_html .= 'Maximum Allowed Devices'; + $product_config_html .= ''; + $product_config_html .= '

Number of devices in which this license can be used. Leave blank if you wish to use the default value set in the license manager plugin settings.

'; + $product_config_html .= ''; + $product_config_html .= 'Number of Days before Expiry'; $product_config_html .= ' Days'; $product_config_html .= '

Number of days before expiry. The expiry date of the license will be set based on this value. For example, if you want the key to expire in 6 months then enter a value of 180.

'; @@ -192,11 +222,13 @@ function slm_estore_new_product_added($prod_dat_array, $prod_id) { $fields['prod_id'] = $prod_id; $fields['meta_key'] = 'slm_max_allowed_domains'; $fields['meta_value'] = $prod_dat_array['slm_max_allowed_domains']; + $fields['meta_key'] = 'slm_max_allowed_devices'; + $fields['meta_value'] = $prod_dat_array['slm_max_allowed_devices']; $result = $wpdb->insert($product_meta_table_name, $fields); if (!$result) { //insert query failed } - + //Save expiry date value $fields = array(); $fields['prod_id'] = $prod_id; @@ -206,7 +238,7 @@ function slm_estore_new_product_added($prod_dat_array, $prod_id) { if (!$result) { //insert query failed } - + } function slm_estore_product_updated($prod_dat_array, $prod_id) { @@ -219,18 +251,22 @@ function slm_estore_product_updated($prod_dat_array, $prod_id) { //Found existing value so lets update it $fields = array(); $fields['meta_key'] = 'slm_max_allowed_domains'; + $fields['meta_key'] = 'slm_max_allowed_devices'; $fields['meta_value'] = $prod_dat_array['slm_max_allowed_domains']; - $result = $wpdb->update($product_meta_table_name, $fields, array('prod_id' => $prod_id)); - + $fields['meta_value'] = $prod_dat_array['slm_max_allowed_devices']; + $result = $wpdb->update($product_meta_table_name, $fields, array('prod_id' => $prod_id)); + } else { //No value for this field was there so lets insert one. $fields = array(); $fields['prod_id'] = $prod_id; $fields['meta_key'] = 'slm_max_allowed_domains'; + $fields['meta_key'] = 'slm_max_allowed_devices'; $fields['meta_value'] = $prod_dat_array['slm_max_allowed_domains']; - $result = $wpdb->insert($product_meta_table_name, $fields); + $fields['meta_value'] = $prod_dat_array['slm_max_allowed_devices']; + $result = $wpdb->insert($product_meta_table_name, $fields); } - + //Find the existing value for the expiry date field (for the given product) $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_date_of_expiry'", OBJECT); if ($product_meta) { @@ -238,24 +274,25 @@ function slm_estore_product_updated($prod_dat_array, $prod_id) { $fields = array(); $fields['meta_key'] = 'slm_date_of_expiry'; $fields['meta_value'] = $prod_dat_array['slm_date_of_expiry']; - $result = $wpdb->update($product_meta_table_name, $fields, array('prod_id' => $prod_id)); - + $result = $wpdb->update($product_meta_table_name, $fields, array('prod_id' => $prod_id)); + } else { //No value for this field was there so lets insert one. $fields = array(); $fields['prod_id'] = $prod_id; $fields['meta_key'] = 'slm_date_of_expiry'; $fields['meta_value'] = $prod_dat_array['slm_date_of_expiry']; - $result = $wpdb->insert($product_meta_table_name, $fields); + $result = $wpdb->insert($product_meta_table_name, $fields); } - + } function slm_estore_product_deleted($prod_id) { global $wpdb; $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; - + $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_max_allowed_domains')); + $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_max_allowed_devices')); $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_date_of_expiry')); } diff --git a/software-license-manager/logs/log.txt b/software-license-manager/logs/log.txt index e69de29..28c2021 100644 --- a/software-license-manager/logs/log.txt +++ b/software-license-manager/logs/log.txt @@ -0,0 +1,33 @@ +[07/04/2017 7:02 PM] - STATUS : SLM daily cronjob - auto expiry of license key is enabled. +[07/05/2017 7:21 PM] - STATUS : SLM daily cronjob - auto expiry of license key is enabled. +[07/06/2017 6:44 PM] - STATUS : SLM daily cronjob - auto expiry of license key is enabled. +[07/10/2017 4:49 PM] - STATUS : SLM daily cronjob - auto expiry of license key is enabled. +[07/10/2017 8:57 PM] - STATUS : SLM daily cronjob - auto expiry of license key is enabled. +[07/14/2017 6:34 PM] - STATUS : SLM daily cronjob - auto expiry of license key is enabled. +[07/18/2017 11:23 PM] - SUCCESS : API - license check (slm_check) request received. +[07/18/2017 11:23 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 +[07/18/2017 11:23 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. +[07/18/2017 11:23 PM] - SUCCESS : API - license check (slm_check) request received. +[07/18/2017 11:23 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 +[07/18/2017 11:23 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. +[07/18/2017 11:24 PM] - SUCCESS : API - license check (slm_check) request received. +[07/18/2017 11:24 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 +[07/18/2017 11:24 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. +[07/18/2017 11:25 PM] - SUCCESS : API - license check (slm_check) request received. +[07/18/2017 11:25 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 +[07/18/2017 11:25 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. +[07/18/2017 11:25 PM] - SUCCESS : API - license check (slm_check) request received. +[07/18/2017 11:25 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 +[07/18/2017 11:25 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. +[07/18/2017 11:25 PM] - SUCCESS : API - license check (slm_check) request received. +[07/18/2017 11:25 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 +[07/18/2017 11:25 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. +[07/18/2017 11:26 PM] - SUCCESS : API - license check (slm_check) request received. +[07/18/2017 11:26 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 +[07/18/2017 11:26 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. +[07/18/2017 11:28 PM] - SUCCESS : API - license check (slm_check) request received. +[07/18/2017 11:28 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 +[07/18/2017 11:28 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. +[07/18/2017 11:30 PM] - SUCCESS : API - license check (slm_check) request received. +[07/18/2017 11:30 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 +[07/18/2017 11:30 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. diff --git a/software-license-manager/menu/slm-add-licenses.php b/software-license-manager/menu/slm-add-licenses.php index 53648fa..421523d 100644 --- a/software-license-manager/menu/slm-add-licenses.php +++ b/software-license-manager/menu/slm-add-licenses.php @@ -6,6 +6,7 @@ function wp_lic_mgr_add_licenses_menu() { $id = ''; $license_key = ''; $max_domains = 1; + $max_devices = 1; $license_status = ''; $first_name = ''; $last_name = ''; @@ -20,7 +21,7 @@ function wp_lic_mgr_add_licenses_menu() { $current_date_plus_1year = date('Y-m-d', strtotime('+1 year')); $slm_options = get_option('slm_plugin_options'); - + echo '
'; echo '

Add/Edit Licenses

'; echo '
'; @@ -34,6 +35,7 @@ function wp_lic_mgr_add_licenses_menu() { $record = $wpdb->get_row($sql_prep, OBJECT); $license_key = $record->license_key; $max_domains = $record->max_allowed_domains; + $max_devices = $record->max_allowed_devices; $license_status = $record->lic_status; $first_name = $record->first_name; $last_name = $record->last_name; @@ -45,21 +47,22 @@ function wp_lic_mgr_add_licenses_menu() { $renewed_date = $record->date_renewed; $expiry_date = $record->date_expiry; } - - + + if (isset($_POST['save_record'])) { - + //Check nonce if ( !isset($_POST['slm_add_edit_nonce_val']) || !wp_verify_nonce($_POST['slm_add_edit_nonce_val'], 'slm_add_edit_nonce_action' )){ //Nonce check failed. wp_die("Error! Nonce verification failed for license save action."); } - + do_action('slm_add_edit_interface_save_submission'); - + //TODO - do some validation $license_key = $_POST['license_key']; $max_domains = $_POST['max_allowed_domains']; + $max_devices = $_POST['max_allowed_devices']; $license_status = $_POST['lic_status']; $first_name = $_POST['first_name']; $last_name = $_POST['last_name']; @@ -70,7 +73,7 @@ function wp_lic_mgr_add_licenses_menu() { $created_date = $_POST['date_created']; $renewed_date = $_POST['date_renewed']; $expiry_date = $_POST['date_expiry']; - + if(empty($created_date)){ $created_date = $current_date; } @@ -80,11 +83,12 @@ function wp_lic_mgr_add_licenses_menu() { if(empty($expiry_date)){ $expiry_date = $current_date_plus_1year; } - + //Save the entry to the database $fields = array(); $fields['license_key'] = $license_key; $fields['max_allowed_domains'] = $max_domains; + $fields['max_allowed_devices'] = $max_devices; $fields['lic_status'] = $license_status; $fields['first_name'] = $first_name; $fields['last_name'] = $last_name; @@ -119,19 +123,19 @@ function wp_lic_mgr_add_licenses_menu() { echo $message; echo '

'; }else{ - echo '
' . $errors . '
'; + echo '
' . $errors . '
'; } - + $data = array('row_id' => $id, 'key' => $license_key); do_action('slm_add_edit_interface_save_record_processed',$data); - + } -?> +?> You can add a new license or edit an existing one from this interface. @@ -173,10 +177,15 @@ function wp_lic_mgr_add_licenses_menu() {
Number of domains/installs in which this license can be used. + + Maximum Allowed Devices +
Number of domains/installs in which this license can be used. + + License Status - @@ -204,14 +213,14 @@ function wp_lic_mgr_add_licenses_menu() { foreach ($reg_domains as $reg_domain) { ?> > - registered_domain; ?> + registered_domain; ?> id ?>>X - +
- +
diff --git a/software-license-manager/menu/slm-lic-settings.php b/software-license-manager/menu/slm-lic-settings.php index 5b3d0bb..5dac3a7 100644 --- a/software-license-manager/menu/slm-lic-settings.php +++ b/software-license-manager/menu/slm-lic-settings.php @@ -27,18 +27,22 @@ function wp_lic_mgr_general_settings() { if (!is_numeric($_POST["default_max_domains"])) {//Set it to one by default if incorrect value is entered $_POST["default_max_domains"] = '1'; } + if (!is_numeric($_POST["default_max_devices"])) {//Set it to one by default if incorrect value is entered + $_POST["default_max_devices"] = '1'; + } $options = array( 'lic_creation_secret' => trim($_POST["lic_creation_secret"]), 'lic_prefix' => trim($_POST["lic_prefix"]), 'default_max_domains' => trim($_POST["default_max_domains"]), + 'default_max_devices' => trim($_POST["default_max_devices"]), 'lic_verification_secret' => trim($_POST["lic_verification_secret"]), 'enable_auto_key_expiry' => isset($_POST['enable_auto_key_expiry']) ? '1':'', 'enable_debug' => isset($_POST['enable_debug']) ? '1':'', ); update_option('slm_plugin_options', $options); - - echo '

'; + + echo '

'; echo 'Options Updated!'; echo '

'; } @@ -95,15 +99,21 @@ function wp_lic_mgr_general_settings() {
Maximum number of domains/installs which each license is valid for (default value). - + + + Maximum Allowed Devices + +
Maximum number of devices which each license is valid for (default value). + + Auto Expire License Keys - value="1"/> -

When enabled, it will automatically set the status of a license key to "Expired" when the expiry date value of the key is reached. + value="1"/> +

When enabled, it will automatically set the status of a license key to "Expired" when the expiry date value of the key is reached. It doesn't remotely deactivate a key. It simply changes the status of the key in your database to expired.

- +
@@ -115,8 +125,8 @@ function wp_lic_mgr_general_settings() { Enable Debug Logging - value="1"/> -

If checked, debug output will be written to log files (keep it disabled unless you are troubleshooting).

+ value="1"/> +

If checked, debug output will be written to log files (keep it disabled unless you are troubleshooting).


- View debug log file by clicking here.
- Reset debug log file by clicking here. diff --git a/software-license-manager/slm_bootstrap.php b/software-license-manager/slm_bootstrap.php index 933267e..0c55d57 100644 --- a/software-license-manager/slm_bootstrap.php +++ b/software-license-manager/slm_bootstrap.php @@ -1,11 +1,11 @@ charset)){ @@ -16,12 +16,13 @@ if (!empty($wpdb->collate)){ $charset_collate .= " COLLATE $wpdb->collate"; } - + $lk_tbl_sql = "CREATE TABLE " . $lic_key_table . " ( id int(12) NOT NULL auto_increment, license_key varchar(255) NOT NULL, - max_allowed_domains int(12) NOT NULL, - lic_status ENUM('pending', 'active', 'blocked', 'expired') NOT NULL DEFAULT 'pending', + max_allowed_domains int(40) NOT NULL, + max_allowed_devices int(40) NOT NULL, + lic_status ENUM('pending', 'active', 'blocked', 'expired') NOT NULL DEFAULT 'pending', first_name varchar(32) NOT NULL default '', last_name varchar(32) NOT NULL default '', email varchar(64) NOT NULL, @@ -53,6 +54,7 @@ 'lic_creation_secret' => uniqid('', true), 'lic_prefix' => '', 'default_max_domains' => '1', + 'default_max_devices' => '1', 'lic_verification_secret' => uniqid('', true), 'enable_debug' => '', ); diff --git a/software-license-manager/slm_plugin_core.php b/software-license-manager/slm_plugin_core.php index 0005fe6..98b90e5 100644 --- a/software-license-manager/slm_plugin_core.php +++ b/software-license-manager/slm_plugin_core.php @@ -16,6 +16,8 @@ include_once('includes/slm-api-utility.php'); include_once('includes/slm-api-listener.php'); include_once('includes/slm-third-party-integration.php'); +// support for meta boxes (variations only, this can be applied to single prodicts as well) +include_once('includes/slm-meta-boxes.php'); //Include admin side only files if (is_admin()) { include_once('menu/slm-admin-init.php'); From cdcbd1da86e2232a5acd39d95d05613c43c14378 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Wed, 19 Jul 2017 12:26:33 -0400 Subject: [PATCH 002/293] added support for registered devices, now yo can view/edit/remote registered devices from admin panel. TODO: make it work with subsciptio addo-on --- .../sample-plugin/slm-sample-plugin.php | 35 ++++++------ .../includes/slm-api-listener.php | 48 +++++++++++----- .../includes/slm-utility.php | 16 +++--- software-license-manager/logs/log.txt | 35 ++++++++++++ .../menu/slm-add-licenses.php | 56 ++++++++++++++++++- .../menu/slm-list-licenses-class.php | 36 ++++++------ software-license-manager/slm_installer.php | 14 ++++- software-license-manager/slm_plugin_core.php | 12 ++++ 8 files changed, 192 insertions(+), 60 deletions(-) diff --git a/software-license-manager/client-side-examples/sample-plugin/slm-sample-plugin.php b/software-license-manager/client-side-examples/sample-plugin/slm-sample-plugin.php index e92524d..a343d01 100644 --- a/software-license-manager/client-side-examples/sample-plugin/slm-sample-plugin.php +++ b/software-license-manager/client-side-examples/sample-plugin/slm-sample-plugin.php @@ -38,6 +38,7 @@ function sample_license_management_page() { 'secret_key' => YOUR_SPECIAL_SECRET_KEY, 'license_key' => $license_key, 'registered_domain' => $_SERVER['SERVER_NAME'], + 'registered_domain' => 'IP or Machine Name', 'item_reference' => urlencode(YOUR_ITEM_REFERENCE), ); @@ -51,31 +52,31 @@ function sample_license_management_page() { } //var_dump($response);//uncomment it if you want to look at the full response - + // License data. $license_data = json_decode(wp_remote_retrieve_body($response)); - + // TODO - Do something with it. //var_dump($license_data);//uncomment it to look at the data - + if($license_data->result == 'success'){//Success was returned for the license activation - + //Uncomment the followng line to see the message that returned from the license server echo '
The following message was returned from the server: '.$license_data->message; - + //Save the license key in the options table - update_option('sample_license_key', $license_key); + update_option('sample_license_key', $license_key); } else{ //Show error to the user. Probably entered incorrect license key. - + //Uncomment the followng line to see the message that returned from the license server echo '
The following message was returned from the server: '.$license_data->message; } } /*** End of license activation ***/ - + /*** License activate button was clicked ***/ if (isset($_REQUEST['deactivate_license'])) { $license_key = $_REQUEST['sample_license_key']; @@ -99,31 +100,31 @@ function sample_license_management_page() { } //var_dump($response);//uncomment it if you want to look at the full response - + // License data. $license_data = json_decode(wp_remote_retrieve_body($response)); - + // TODO - Do something with it. //var_dump($license_data);//uncomment it to look at the data - + if($license_data->result == 'success'){//Success was returned for the license activation - + //Uncomment the followng line to see the message that returned from the license server echo '
The following message was returned from the server: '.$license_data->message; - + //Remove the licensse key from the options table. It will need to be activated again. update_option('sample_license_key', ''); } else{ //Show error to the user. Probably entered incorrect license key. - + //Uncomment the followng line to see the message that returned from the license server echo '
The following message was returned from the server: '.$license_data->message; } - + } /*** End of sample license deactivation ***/ - + ?>

Please enter the license key for this product to activate it. You were given a license key when you purchased this item.

@@ -139,6 +140,6 @@ function sample_license_management_page() {

'; } \ No newline at end of file diff --git a/software-license-manager/includes/slm-api-listener.php b/software-license-manager/includes/slm-api-listener.php index 0cb20c5..d02b42c 100644 --- a/software-license-manager/includes/slm-api-listener.php +++ b/software-license-manager/includes/slm-api-listener.php @@ -100,18 +100,23 @@ function activation_api_listener() { $fields = array(); $fields['lic_key'] = trim(strip_tags($_REQUEST['license_key'])); $fields['registered_domain'] = trim(wp_unslash(strip_tags($_REQUEST['registered_domain']))); //gethostbyaddr($_SERVER['REMOTE_ADDR']); + $fields['registered_devices'] = trim(wp_unslash(strip_tags($_REQUEST['registered_devices']))); //gethostbyaddr($_SERVER['REMOTE_ADDR']); $fields['item_reference'] = trim(strip_tags($_REQUEST['item_reference'])); $slm_debug_logger->log_debug("License key: " . $fields['lic_key'] . " Domain: " . $fields['registered_domain']); + $slm_debug_logger->log_debug("License key: " . $fields['lic_key'] . " Device: " . $fields['registered_devices']); global $wpdb; $tbl_name = SLM_TBL_LICENSE_KEYS; $reg_table = SLM_TBL_LIC_DOMAIN; + $reg_table_devices = SLM_TBL_LIC_DEVICES; $key = $fields['lic_key']; $sql_prep1 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); $retLic = $wpdb->get_row($sql_prep1, OBJECT); - $sql_prep2 = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key = %s", $key); - $reg_domains = $wpdb->get_results($sql_prep2, OBJECT); + $sql_prep2 = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key = %s", $key); + $sql_prep3 = $wpdb->prepare("SELECT * FROM $reg_table_devices WHERE lic_key = %s", $key); + $reg_domains = $wpdb->get_results($sql_prep2, OBJECT); + $reg_devices = $wpdb->get_results($sql_prep3, OBJECT); if ($retLic) { if ($retLic->lic_status == 'blocked') { @@ -151,15 +156,15 @@ function activation_api_listener() { SLM_API_Utility::output_api_response($args); } - if (count($reg_domains) < floor($retLic->max_allowed_domains)) { - foreach ($reg_domains as $reg_domain) { - if (isset($_REQUEST['migrate_from']) && (trim($_REQUEST['migrate_from']) == $reg_domain->registered_domain)) { - $wpdb->update($reg_table, array('registered_domain' => $fields['registered_domain']), array('registered_domain' => trim(strip_tags($_REQUEST['migrate_from'])))); + if (count($reg_devices) < floor($retLic->max_allowed_devices)) { + foreach ($reg_devices as $reg_devices) { + if (isset($_REQUEST['migrate_from']) && (trim($_REQUEST['migrate_from']) == $reg_devices->registered_devices)) { + $wpdb->update($reg_table, array('registered_devices' => $fields['registered_devices']), array('registered_devices' => trim(strip_tags($_REQUEST['migrate_from'])))); $args = (array('result' => 'success', 'message' => 'Registered domain has been updated')); SLM_API_Utility::output_api_response($args); } - if ($fields['registered_domain'] == $reg_domain->registered_domain) { - $args = (array('result' => 'error', 'message' => 'License key already in use on ' . $reg_domain->registered_domain, 'error_code' => SLM_Error_Codes::LICENSE_IN_USE)); + if ($fields['registered_devices'] == $reg_devices->registered_devices) { + $args = (array('result' => 'error', 'message' => 'License key already in use on ' . $reg_devices->registered_devices, 'error_code' => SLM_Error_Codes::LICENSE_IN_USE)); SLM_API_Utility::output_api_response($args); } } @@ -203,6 +208,12 @@ function deactivation_api_listener() { $args = (array('result' => 'error', 'message' => 'Registered domain information is missing', 'error_code' => SLM_Error_Codes::DOMAIN_MISSING)); SLM_API_Utility::output_api_response($args); } + + if (empty($_REQUEST['registered_domain'])) { + $args = (array('result' => 'error', 'message' => 'Registered domain information is missing', 'error_code' => SLM_Error_Codes::DOMAIN_MISSING)); + SLM_API_Utility::output_api_response($args); + } + $registered_domain = trim(wp_unslash(strip_tags($_REQUEST['registered_domain']))); $license_key = trim(strip_tags($_REQUEST['license_key'])); $slm_debug_logger->log_debug("License key: " . $license_key . " Domain: " . $registered_domain); @@ -211,12 +222,15 @@ function deactivation_api_listener() { $registered_dom_table = SLM_TBL_LIC_DOMAIN; $sql_prep = $wpdb->prepare("DELETE FROM $registered_dom_table WHERE lic_key=%s AND registered_domain=%s", $license_key, $registered_domain); $delete = $wpdb->query($sql_prep); + if ($delete === false) { $slm_debug_logger->log_debug("Error - failed to delete the registered domain from the database."); - } else if ($delete == 0) { + } + else if ($delete == 0) { $args = (array('result' => 'error', 'message' => 'The license key on this domain is already inactive', 'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE)); SLM_API_Utility::output_api_response($args); - } else { + } + else { $args = (array('result' => 'success', 'message' => 'The license key has been deactivated for this domain')); SLM_API_Utility::output_api_response($args); } @@ -240,14 +254,17 @@ function check_api_listener() { do_action('slm_api_listener_slm_check'); global $wpdb; - $tbl_name = SLM_TBL_LICENSE_KEYS; - $reg_table = SLM_TBL_LIC_DOMAIN; - $key = $fields['lic_key']; - $sql_prep1 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); - $retLic = $wpdb->get_row($sql_prep1, OBJECT); + $tbl_name = SLM_TBL_LICENSE_KEYS; + $reg_table = SLM_TBL_LIC_DOMAIN; + $reg_table_devices = SLM_TBL_LIC_DEVICES; + $key = $fields['lic_key']; + $sql_prep1 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); + $retLic = $wpdb->get_row($sql_prep1, OBJECT); $sql_prep2 = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key = %s", $key); + $sql_prep3 = $wpdb->prepare("SELECT * FROM $reg_table_devices WHERE lic_key = %s", $key); $reg_domains = $wpdb->get_results($sql_prep2, OBJECT); + $reg_devices = $wpdb->get_results($sql_prep3, OBJECT); if ($retLic) {//A license key exists $args = (array( 'result' => 'success', @@ -261,6 +278,7 @@ function check_api_listener() { 'last_name' => $retLic->last_name, // 'until' => $retLic->until, //until what version license is supported 'registered_domains' => $reg_domains, + 'registered_devices' => $reg_devices, 'license_key' => $retLic->license_key, 'date_created' => $retLic->date_created, 'date_renewed' => $retLic->date_renewed, diff --git a/software-license-manager/includes/slm-utility.php b/software-license-manager/includes/slm-utility.php index 2fdb8f5..1142aee 100644 --- a/software-license-manager/includes/slm-utility.php +++ b/software-license-manager/includes/slm-utility.php @@ -9,7 +9,7 @@ static function do_auto_key_expiry() { global $wpdb; $current_date = (date ("Y-m-d")); $tbl_name = SLM_TBL_LICENSE_KEYS; - + $sql_prep = $wpdb->prepare("SELECT * FROM $tbl_name WHERE lic_status !=%s", 'expired');//Load the non-expired keys $licenses = $wpdb->get_results($sql_prep, OBJECT); if(!$licenses){ @@ -24,7 +24,7 @@ static function do_auto_key_expiry() { SLM_Debug_Logger::log_debug_st("This key (".$key.") doesn't have a valid expiry date set. The expiry of this key will not be checked."); continue; } - + $today_dt = new DateTime($current_date); $expire_dt = new DateTime($expiry_date); if ($today_dt > $expire_dt) { @@ -35,25 +35,25 @@ static function do_auto_key_expiry() { $updated = $wpdb->update($tbl_name, $data, $where); do_action('slm_license_key_expired',$license->id);//Trigger the license expired action hook. } - + } } - + /* * Deletes a license key from the licenses table */ static function delete_license_key_by_row_id($key_row_id) { global $wpdb; $license_table = SLM_TBL_LICENSE_KEYS; - + //First delete the registered domains entry of this key (if any). SLM_Utility::delete_registered_domains_of_key($key_row_id); - + //Now, delete the key from the licenses table. $wpdb->delete( $license_table, array( 'id' => $key_row_id ) ); - + } - + /* * Deletes any registered domains info from the domain table for the given key's row id. */ diff --git a/software-license-manager/logs/log.txt b/software-license-manager/logs/log.txt index 28c2021..a2b2a55 100644 --- a/software-license-manager/logs/log.txt +++ b/software-license-manager/logs/log.txt @@ -31,3 +31,38 @@ [07/18/2017 11:30 PM] - SUCCESS : API - license check (slm_check) request received. [07/18/2017 11:30 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 [07/18/2017 11:30 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. +[07/19/2017 3:06 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[07/19/2017 3:06 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[07/19/2017 3:07 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[07/19/2017 3:07 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[07/19/2017 3:09 PM] - SUCCESS : API - license check (slm_check) request received. +[07/19/2017 3:09 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 +[07/19/2017 3:09 PM] - SUCCESS : API Response - Result: error Message: Invalid license key +[07/19/2017 3:11 PM] - SUCCESS : API - license check (slm_check) request received. +[07/19/2017 3:11 PM] - SUCCESS : License key: PK-15-LN-0-573e041867252 +[07/19/2017 3:11 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. +[07/19/2017 3:22 PM] - SUCCESS : API - license check (slm_check) request received. +[07/19/2017 3:22 PM] - SUCCESS : License key: PK-15-LN-0-573e041867252 +[07/19/2017 3:22 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. +[07/19/2017 3:23 PM] - SUCCESS : API - license check (slm_check) request received. +[07/19/2017 3:23 PM] - SUCCESS : License key: PK-15-LN-0-573e041867252 +[07/19/2017 3:23 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. +[07/19/2017 3:25 PM] - SUCCESS : API - license check (slm_check) request received. +[07/19/2017 3:25 PM] - SUCCESS : License key: PK-15-LN-0-573e041867252 +[07/19/2017 3:25 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. +[07/19/2017 3:46 PM] - SUCCESS : API - license activation (slm_activate) request received. +[07/19/2017 3:46 PM] - SUCCESS : License key: PK-15-LN-0-573e041867252 Domain: +[07/19/2017 3:46 PM] - SUCCESS : License key: PK-15-LN-0-573e041867252 Device: +[07/19/2017 3:46 PM] - SUCCESS : Updating license key status to active. +[07/19/2017 3:46 PM] - SUCCESS : API Response - Result: success Message: License key activated +[07/19/2017 3:47 PM] - SUCCESS : API - license activation (slm_activate) request received. +[07/19/2017 3:47 PM] - SUCCESS : License key: PK-15-LN-0-573e041867252 Domain: +[07/19/2017 3:47 PM] - SUCCESS : License key: PK-15-LN-0-573e041867252 Device: +[07/19/2017 3:47 PM] - SUCCESS : Updating license key status to active. +[07/19/2017 3:47 PM] - SUCCESS : API Response - Result: success Message: License key activated +[07/19/2017 3:47 PM] - SUCCESS : API - license activation (slm_activate) request received. +[07/19/2017 3:47 PM] - SUCCESS : License key: PK-15-LN-0-573e041867252 Domain: +[07/19/2017 3:47 PM] - SUCCESS : License key: PK-15-LN-0-573e041867252 Device: +[07/19/2017 3:47 PM] - SUCCESS : Updating license key status to active. +[07/19/2017 3:47 PM] - SUCCESS : API Response - Result: success Message: License key activated +[07/19/2017 3:47 PM] - STATUS : SLM daily cronjob - auto expiry of license key is enabled. diff --git a/software-license-manager/menu/slm-add-licenses.php b/software-license-manager/menu/slm-add-licenses.php index 421523d..6e76d00 100644 --- a/software-license-manager/menu/slm-add-licenses.php +++ b/software-license-manager/menu/slm-add-licenses.php @@ -133,10 +133,11 @@ function wp_lic_mgr_add_licenses_menu() { ?> You can add a new license or edit an existing one from this interface.

@@ -231,6 +232,44 @@ function wp_lic_mgr_add_licenses_menu() { + prepare("SELECT * FROM `$devices_table` WHERE `lic_key_id` = '%s'", $id); + $reg_devices = $wpdb->get_results($sql_prep2, OBJECT); + ?> + + Registered Devices + 0) { + ?> +
+
+ + + > + + + + +
registered_devices; ?>id ?>>X
+
+ + + + + First Name
License user's first name @@ -314,6 +353,21 @@ function wp_lic_mgr_add_licenses_menu() { } }); }); + + jQuery('.del_device').click(function() { + var $this = this; + jQuery('#reg_device_del_msg').html('Loading ...'); + jQuery.get('' + '/wp-admin/admin-ajax.php?action=del_reistered_devices&id=' + jQuery(this).attr('id'), function(data) { + if (data == 'success') { + jQuery('#reg_device_del_msg').html('Deleted'); + jQuery($this).parent().parent().remove(); + } + else { + jQuery('#reg_device_del_msg').html('Failed'); + } + }); + }); + // del_device }); 'item', //singular name of the listed records 'plural' => 'items', //plural name of the listed records 'ajax' => false //does this table support ajax? ) ); - + } function column_default($item, $column_name){ return $item[$column_name]; } - + function column_id($item){ $row_id = $item['id']; $actions = array( @@ -30,7 +30,7 @@ function column_id($item){ ); } - + function column_cb($item){ return sprintf( '', @@ -38,7 +38,7 @@ function column_cb($item){ /*$2%s*/ $item['id'] //The value of the checkbox should be the record's id ); } - + function column_active($item){ if ($item['active'] == 1){ return 'active'; @@ -47,7 +47,7 @@ function column_active($item){ } } - + function get_columns(){ $columns = array( 'cb' => '', //Render a checkbox @@ -62,7 +62,7 @@ function get_columns(){ ); return $columns; } - + function get_sortable_columns() { $sortable_columns = array( 'id' => array('id',false), @@ -74,7 +74,7 @@ function get_sortable_columns() { ); return $sortable_columns; } - + function get_bulk_actions() { $actions = array( 'delete' => 'Delete', @@ -83,15 +83,15 @@ function get_bulk_actions() { } function process_bulk_action() { - if('delete'===$this->current_action()) + if('delete'===$this->current_action()) { //Process delete bulk actions if(!isset($_REQUEST['item'])){ $error_msg = '

'.__('Error - Please select some records using the checkboxes', 'slm').'

'; echo '
'.$error_msg.'
'; return; - }else { - $nvp_key = $this->_args['singular']; + }else { + $nvp_key = $this->_args['singular']; $records_to_delete = $_GET[$nvp_key]; foreach ($records_to_delete as $row){ SLM_Utility::delete_license_key_by_row_id($row); @@ -100,8 +100,8 @@ function process_bulk_action() { } } } - - + + /* * This function will delete the selected license key entries from the DB. */ @@ -125,12 +125,12 @@ function prepare_items() { $sortable = $this->get_sortable_columns(); $this->_column_headers = array($columns, $hidden, $sortable); - + $this->process_bulk_action(); - + global $wpdb; $license_table = SLM_TBL_LICENSE_KEYS; - + /* -- Ordering parameters -- */ //Parameters that are going to be used to order the result $orderby = !empty($_GET["orderby"]) ? strip_tags($_GET["orderby"]) : 'id'; @@ -143,7 +143,7 @@ function prepare_items() { }else{ $data = $wpdb->get_results("SELECT * FROM $license_table ORDER BY $orderby $order", ARRAY_A); } - + $current_page = $this->get_pagenum(); $total_items = count($data); $data = array_slice($data,(($current_page-1)*$per_page),$per_page); diff --git a/software-license-manager/slm_installer.php b/software-license-manager/slm_installer.php index a3e226c..32bd1b6 100644 --- a/software-license-manager/slm_installer.php +++ b/software-license-manager/slm_installer.php @@ -6,6 +6,7 @@ //***Installer variables*** $lic_key_table = SLM_TBL_LICENSE_KEYS; $lic_domain_table = SLM_TBL_LIC_DOMAIN; +$lic_devices_table = SLM_TBL_LIC_DEVICES; $charset_collate = ''; if (!empty($wpdb->charset)){ @@ -47,13 +48,24 @@ )" . $charset_collate . ";"; dbDelta($ld_tbl_sql); +$ldv_tbl_sql = "CREATE TABLE " .$lic_devices_table. " ( + id INT NOT NULL AUTO_INCREMENT , + lic_key_id INT NOT NULL , + lic_key varchar(255) NOT NULL , + registered_devices text NOT NULL , + item_reference varchar(255) NOT NULL, + PRIMARY KEY ( id ) + )" . $charset_collate . ";"; +dbDelta($ldv_tbl_sql); + + update_option("wp_lic_mgr_db_version", WP_LICENSE_MANAGER_DB_VERSION); // Add default options $options = array( 'lic_creation_secret' => uniqid('', true), 'lic_prefix' => '', - 'default_max_domains' => '1', + 'default_max_domains' => '2', 'default_max_devices' => '1', 'lic_verification_secret' => uniqid('', true), 'enable_debug' => '', diff --git a/software-license-manager/slm_plugin_core.php b/software-license-manager/slm_plugin_core.php index 98b90e5..1c312d9 100644 --- a/software-license-manager/slm_plugin_core.php +++ b/software-license-manager/slm_plugin_core.php @@ -4,6 +4,7 @@ global $wpdb; define('SLM_TBL_LICENSE_KEYS', $wpdb->prefix . "lic_key_tbl"); define('SLM_TBL_LIC_DOMAIN', $wpdb->prefix . "lic_reg_domain_tbl"); +define('SLM_TBL_LIC_DEVICES', $wpdb->prefix . "lic_reg_devices_tbl"); define('SLM_MANAGEMENT_PERMISSION', 'manage_options'); define('SLM_MAIN_MENU_SLUG', 'slm-main'); define('SLM_MENU_ICON', 'dashicons-lock'); @@ -60,3 +61,14 @@ function slm_del_reg_dom() { echo ($ret) ? 'success' : 'failed'; exit(0); } + + +add_action('wp_ajax_del_reistered_devices', 'slm_del_reg_devices'); +function slm_del_reg_devices() { + global $wpdb; + $reg_table = SLM_TBL_LIC_DEVICES; + $id = strip_tags($_GET['id']); + $ret = $wpdb->query("DELETE FROM $reg_table WHERE id='$id'"); + echo ($ret) ? 'success' : 'failed'; + exit(0); +} \ No newline at end of file From 91a1c3dc9f59d8bb92e9faed4e4d990279bfec36 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 20 Jul 2017 10:43:20 -0400 Subject: [PATCH 003/293] added support for devices: now you can see the activated list for devices, able to register a device or deactivate it or delete it. --- .../includes/slm-api-listener.php | 202 +++++++++++------- .../includes/slm-error-codes.php | 1 + software-license-manager/logs/log.txt | 70 +----- software-license-manager/slm_installer.php | 2 + software-license-manager/slm_plugin_core.php | 6 +- 5 files changed, 129 insertions(+), 152 deletions(-) diff --git a/software-license-manager/includes/slm-api-listener.php b/software-license-manager/includes/slm-api-listener.php index d02b42c..bfac801 100644 --- a/software-license-manager/includes/slm-api-listener.php +++ b/software-license-manager/includes/slm-api-listener.php @@ -98,91 +98,107 @@ function activation_api_listener() { do_action('slm_api_listener_slm_activate'); $fields = array(); - $fields['lic_key'] = trim(strip_tags($_REQUEST['license_key'])); - $fields['registered_domain'] = trim(wp_unslash(strip_tags($_REQUEST['registered_domain']))); //gethostbyaddr($_SERVER['REMOTE_ADDR']); - $fields['registered_devices'] = trim(wp_unslash(strip_tags($_REQUEST['registered_devices']))); //gethostbyaddr($_SERVER['REMOTE_ADDR']); - $fields['item_reference'] = trim(strip_tags($_REQUEST['item_reference'])); + $fields['lic_key'] = trim(strip_tags($_REQUEST['license_key'])); + $fields['registered_domain'] = trim(wp_unslash(strip_tags($_REQUEST['registered_domain']))); //gethostbyaddr($_SERVER['REMOTE_ADDR']); + $fields['registered_devices'] = trim(wp_unslash(strip_tags($_REQUEST['registered_devices']))); //client ip or machine name + $fields['item_reference'] = trim(strip_tags($_REQUEST['item_reference'])); + $slm_debug_logger->log_debug("License key: " . $fields['lic_key'] . " Domain: " . $fields['registered_domain']); $slm_debug_logger->log_debug("License key: " . $fields['lic_key'] . " Device: " . $fields['registered_devices']); global $wpdb; - $tbl_name = SLM_TBL_LICENSE_KEYS; - $reg_table = SLM_TBL_LIC_DOMAIN; - $reg_table_devices = SLM_TBL_LIC_DEVICES; - $key = $fields['lic_key']; - $sql_prep1 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); - $retLic = $wpdb->get_row($sql_prep1, OBJECT); + $tbl_name = SLM_TBL_LICENSE_KEYS; + $reg_table = SLM_TBL_LIC_DOMAIN; + $reg_table_devices = SLM_TBL_LIC_DEVICES; + + $key = $fields['lic_key']; - $sql_prep2 = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key = %s", $key); - $sql_prep3 = $wpdb->prepare("SELECT * FROM $reg_table_devices WHERE lic_key = %s", $key); - $reg_domains = $wpdb->get_results($sql_prep2, OBJECT); - $reg_devices = $wpdb->get_results($sql_prep3, OBJECT); + // $sql_prep0 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); + $sql_prep1 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); + $retLic = $wpdb->get_row($sql_prep1, OBJECT); + // $retLicDevices = $wpdb->get_row($sql_prep0, OBJECT); + + $sql_prep2 = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key = %s", $key); + $reg_domains = $wpdb->get_results($sql_prep2, OBJECT); + + $sql_prep3 = $wpdb->prepare("SELECT * FROM $reg_table_devices WHERE lic_key = %s", $key); + $reg_devices = $wpdb->get_results($sql_prep3, OBJECT); if ($retLic) { if ($retLic->lic_status == 'blocked') { $args = (array('result' => 'error', 'message' => 'Your License key is blocked', 'error_code' => SLM_Error_Codes::LICENSE_BLOCKED)); SLM_API_Utility::output_api_response($args); - } elseif ($retLic->lic_status == 'expired') { + } + elseif ($retLic->lic_status == 'expired') { $args = (array('result' => 'error', 'message' => 'Your License key has expired', 'error_code' => SLM_Error_Codes::LICENSE_EXPIRED)); SLM_API_Utility::output_api_response($args); } - if (count($reg_domains) < floor($retLic->max_allowed_domains)) { - foreach ($reg_domains as $reg_domain) { - if (isset($_REQUEST['migrate_from']) && (trim($_REQUEST['migrate_from']) == $reg_domain->registered_domain)) { - $wpdb->update($reg_table, array('registered_domain' => $fields['registered_domain']), array('registered_domain' => trim(strip_tags($_REQUEST['migrate_from'])))); - $args = (array('result' => 'success', 'message' => 'Registered domain has been updated')); - SLM_API_Utility::output_api_response($args); - } - if ($fields['registered_domain'] == $reg_domain->registered_domain) { - $args = (array('result' => 'error', 'message' => 'License key already in use on ' . $reg_domain->registered_domain, 'error_code' => SLM_Error_Codes::LICENSE_IN_USE)); - SLM_API_Utility::output_api_response($args); + if (isset($_REQUEST['registered_domain']) && !empty($_REQUEST['registered_domain'])) { + if (count($reg_domains) < floor($retLic->max_allowed_domains)) { + foreach ($reg_domains as $reg_domain) { + if (isset($_REQUEST['migrate_from']) && (trim($_REQUEST['migrate_from']) == $reg_domain->registered_domain)) { + $wpdb->update($reg_table, array('registered_domain' => $fields['registered_domain']), array('registered_domain' => trim(strip_tags($_REQUEST['migrate_from'])))); + $args = (array('result' => 'success', 'message' => 'Registered domain has been updated')); + SLM_API_Utility::output_api_response($args); + } + if ($fields['registered_domain'] == $reg_domain->registered_domain) { + $args = (array('result' => 'error', 'message' => 'License key already in use on ' . $reg_domain->registered_domain, 'error_code' => SLM_Error_Codes::LICENSE_IN_USE)); + SLM_API_Utility::output_api_response($args); + } } - } - $fields['lic_key_id'] = $retLic->id; - $wpdb->insert($reg_table, $fields); + $fields['lic_key_id'] = $retLic->id; + $wpdb->insert($reg_table, $fields); - $slm_debug_logger->log_debug("Updating license key status to active."); - $data = array('lic_status' => 'active'); - $where = array('id' => $retLic->id); - $updated = $wpdb->update($tbl_name, $data, $where); + $slm_debug_logger->log_debug("Updating license key status to active for domain."); + $data = array('lic_status' => 'active'); + $where = array('id' => $retLic->id); + $updated = $wpdb->update($tbl_name, $data, $where); - $args = (array('result' => 'success', 'message' => 'License key activated')); - SLM_API_Utility::output_api_response($args); - } - else { - $args = (array('result' => 'error', 'message' => 'Reached maximum allowable domains', 'error_code' => SLM_Error_Codes::REACHED_MAX_DOMAINS)); - SLM_API_Utility::output_api_response($args); + $args = (array('result' => 'success', 'message' => 'License key activated')); + SLM_API_Utility::output_api_response($args); + } + else { + $args = (array('result' => 'error', 'message' => 'Reached maximum allowable domains', 'error_code' => SLM_Error_Codes::REACHED_MAX_DOMAINS)); + SLM_API_Utility::output_api_response($args); + } } - if (count($reg_devices) < floor($retLic->max_allowed_devices)) { - foreach ($reg_devices as $reg_devices) { - if (isset($_REQUEST['migrate_from']) && (trim($_REQUEST['migrate_from']) == $reg_devices->registered_devices)) { - $wpdb->update($reg_table, array('registered_devices' => $fields['registered_devices']), array('registered_devices' => trim(strip_tags($_REQUEST['migrate_from'])))); - $args = (array('result' => 'success', 'message' => 'Registered domain has been updated')); - SLM_API_Utility::output_api_response($args); - } - if ($fields['registered_devices'] == $reg_devices->registered_devices) { - $args = (array('result' => 'error', 'message' => 'License key already in use on ' . $reg_devices->registered_devices, 'error_code' => SLM_Error_Codes::LICENSE_IN_USE)); - SLM_API_Utility::output_api_response($args); + + if (isset($_REQUEST['registered_devices']) && !empty($_REQUEST['registered_devices'])) { + + if (count($reg_devices) < floor($retLic->max_allowed_devices)) { + + foreach ($reg_devices as $reg_devices) { + if (isset($_REQUEST['migrate_from']) && (trim($_REQUEST['migrate_from']) == $reg_devices->registered_devices)) { + + $wpdb->update($reg_table_devices, array('registered_devices' => $fields['registered_devices']), array('registered_devices' => trim(strip_tags($_REQUEST['migrate_from'])))); + $devices_args = (array('result' => 'success', 'message' => 'Registered device has been updated')); + SLM_API_Utility::output_api_response($devices_args); + } + if ($fields['registered_devices'] == $reg_devices->registered_devices) { + $devices_args = (array('result' => 'error', 'message' => 'License key already in use on ' . $reg_devices->registered_devices, 'error_code' => SLM_Error_Codes::LICENSE_IN_USE)); + SLM_API_Utility::output_api_response($devices_args); + } } - } - $fields['lic_key_id'] = $retLic->id; - $wpdb->insert($reg_table, $fields); + $fields['lic_key_id'] = $retLic->id; + $wpdb->insert($reg_table_devices, $fields); - $slm_debug_logger->log_debug("Updating license key status to active."); - $data = array('lic_status' => 'active'); - $where = array('id' => $retLic->id); - $updated = $wpdb->update($tbl_name, $data, $where); + $slm_debug_logger->log_debug("Updating license key status to active for device."); + $data = array('lic_status' => 'active'); + $where = array('id' => $retLic->id); + $updated = $wpdb->update($tbl_name, $data, $where); - $args = (array('result' => 'success', 'message' => 'License key activated')); - SLM_API_Utility::output_api_response($args); - } - else { - $args = (array('result' => 'error', 'message' => 'Reached maximum allowable devices', 'error_code' => SLM_Error_Codes::REACHED_MAX_DOMAINS)); - SLM_API_Utility::output_api_response($args); + $args = (array('result' => 'success', 'message' => 'License key activated')); + SLM_API_Utility::output_api_response($args); + } + + else { + $args = (array('result' => 'error', 'message' => 'Reached maximum allowable devices', 'error_code' => SLM_Error_Codes::REACHED_MAX_DEVICES)); + SLM_API_Utility::output_api_response($args); + } } } else { @@ -192,6 +208,8 @@ function activation_api_listener() { } } + // TODO : add support for devices deactivation + function deactivation_api_listener() { if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_deactivate') { //Handle the license deactivation API query @@ -204,36 +222,58 @@ function deactivation_api_listener() { //Action hook do_action('slm_api_listener_slm_deactivate'); - if (empty($_REQUEST['registered_domain'])) { - $args = (array('result' => 'error', 'message' => 'Registered domain information is missing', 'error_code' => SLM_Error_Codes::DOMAIN_MISSING)); - SLM_API_Utility::output_api_response($args); - } + $registered_domain = trim(wp_unslash(strip_tags($_REQUEST['registered_domain']))); + $license_key = trim(strip_tags($_REQUEST['license_key'])); + $slm_debug_logger->log_debug("License key: " . $license_key . " Domain: " . $registered_domain); + $registered_devices = trim(wp_unslash(strip_tags($_REQUEST['registered_devices']))); + + global $wpdb; if (empty($_REQUEST['registered_domain'])) { $args = (array('result' => 'error', 'message' => 'Registered domain information is missing', 'error_code' => SLM_Error_Codes::DOMAIN_MISSING)); SLM_API_Utility::output_api_response($args); } + else { + $registered_dom_table = SLM_TBL_LIC_DOMAIN; + $sql_prep = $wpdb->prepare("DELETE FROM $registered_dom_table WHERE lic_key=%s AND registered_domain=%s", $license_key, $registered_domain); + $delete = $wpdb->query($sql_prep); - $registered_domain = trim(wp_unslash(strip_tags($_REQUEST['registered_domain']))); - $license_key = trim(strip_tags($_REQUEST['license_key'])); - $slm_debug_logger->log_debug("License key: " . $license_key . " Domain: " . $registered_domain); - - global $wpdb; - $registered_dom_table = SLM_TBL_LIC_DOMAIN; - $sql_prep = $wpdb->prepare("DELETE FROM $registered_dom_table WHERE lic_key=%s AND registered_domain=%s", $license_key, $registered_domain); - $delete = $wpdb->query($sql_prep); - - if ($delete === false) { - $slm_debug_logger->log_debug("Error - failed to delete the registered domain from the database."); + if ($delete === false) { + $slm_debug_logger->log_debug("Error - failed to delete the registered domain from the database."); + } + else if ($delete == 0) { + $args = (array('result' => 'error', 'message' => 'The license key on this domain is already inactive', 'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE)); + SLM_API_Utility::output_api_response($args); + } + else { + $args = (array('result' => 'success', 'message' => 'The license key has been deactivated for this domain')); + SLM_API_Utility::output_api_response($args); + } } - else if ($delete == 0) { - $args = (array('result' => 'error', 'message' => 'The license key on this domain is already inactive', 'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE)); - SLM_API_Utility::output_api_response($args); + + // devices deactivation + if (empty($_REQUEST['registered_devices'])) { + $args_ = (array('result' => 'error', 'message' => 'Registered device information is missing', 'error_code' => SLM_Error_Codes::DOMAIN_MISSING)); + SLM_API_Utility::output_api_response($args_); } else { - $args = (array('result' => 'success', 'message' => 'The license key has been deactivated for this domain')); - SLM_API_Utility::output_api_response($args); + $registered_device_table = SLM_TBL_LIC_DEVICES; + $sql_prep2 = $wpdb->prepare("DELETE FROM $registered_device_table WHERE lic_key=%s AND registered_devices=%s", $license_key, $registered_domain); + $delete2 = $wpdb->query($sql_prep2); + + if ($delete2 === false) { + $slm_debug_logger->log_debug("Error - failed to delete the registered device from the database."); + } + else if ($delete2 == 0) { + $args_ = (array('result' => 'error', 'message' => 'The license key on this device is already inactive', 'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE)); + SLM_API_Utility::output_api_response($args_); + } + else { + $args_ = (array('result' => 'success', 'message' => 'The license key has been deactivated for this device')); + SLM_API_Utility::output_api_response($args_); + } } + } } diff --git a/software-license-manager/includes/slm-error-codes.php b/software-license-manager/includes/slm-error-codes.php index c501d5d..da58a18 100644 --- a/software-license-manager/includes/slm-error-codes.php +++ b/software-license-manager/includes/slm-error-codes.php @@ -15,5 +15,6 @@ class SLM_Error_Codes { const DOMAIN_ALREADY_INACTIVE = 80; const VERIFY_KEY_INVALID = 90; const CREATE_KEY_INVALID = 100; + const REACHED_MAX_DEVICES = 100; } diff --git a/software-license-manager/logs/log.txt b/software-license-manager/logs/log.txt index a2b2a55..0883985 100644 --- a/software-license-manager/logs/log.txt +++ b/software-license-manager/logs/log.txt @@ -1,68 +1,2 @@ -[07/04/2017 7:02 PM] - STATUS : SLM daily cronjob - auto expiry of license key is enabled. -[07/05/2017 7:21 PM] - STATUS : SLM daily cronjob - auto expiry of license key is enabled. -[07/06/2017 6:44 PM] - STATUS : SLM daily cronjob - auto expiry of license key is enabled. -[07/10/2017 4:49 PM] - STATUS : SLM daily cronjob - auto expiry of license key is enabled. -[07/10/2017 8:57 PM] - STATUS : SLM daily cronjob - auto expiry of license key is enabled. -[07/14/2017 6:34 PM] - STATUS : SLM daily cronjob - auto expiry of license key is enabled. -[07/18/2017 11:23 PM] - SUCCESS : API - license check (slm_check) request received. -[07/18/2017 11:23 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 -[07/18/2017 11:23 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. -[07/18/2017 11:23 PM] - SUCCESS : API - license check (slm_check) request received. -[07/18/2017 11:23 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 -[07/18/2017 11:23 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. -[07/18/2017 11:24 PM] - SUCCESS : API - license check (slm_check) request received. -[07/18/2017 11:24 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 -[07/18/2017 11:24 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. -[07/18/2017 11:25 PM] - SUCCESS : API - license check (slm_check) request received. -[07/18/2017 11:25 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 -[07/18/2017 11:25 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. -[07/18/2017 11:25 PM] - SUCCESS : API - license check (slm_check) request received. -[07/18/2017 11:25 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 -[07/18/2017 11:25 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. -[07/18/2017 11:25 PM] - SUCCESS : API - license check (slm_check) request received. -[07/18/2017 11:25 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 -[07/18/2017 11:25 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. -[07/18/2017 11:26 PM] - SUCCESS : API - license check (slm_check) request received. -[07/18/2017 11:26 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 -[07/18/2017 11:26 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. -[07/18/2017 11:28 PM] - SUCCESS : API - license check (slm_check) request received. -[07/18/2017 11:28 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 -[07/18/2017 11:28 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. -[07/18/2017 11:30 PM] - SUCCESS : API - license check (slm_check) request received. -[07/18/2017 11:30 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 -[07/18/2017 11:30 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. -[07/19/2017 3:06 PM] - SUCCESS : API - license creation (slm_create_new) request received. -[07/19/2017 3:06 PM] - SUCCESS : API Response - Result: success Message: License successfully created -[07/19/2017 3:07 PM] - SUCCESS : API - license creation (slm_create_new) request received. -[07/19/2017 3:07 PM] - SUCCESS : API Response - Result: success Message: License successfully created -[07/19/2017 3:09 PM] - SUCCESS : API - license check (slm_check) request received. -[07/19/2017 3:09 PM] - SUCCESS : License key: PK-15-LN-0-596e93655b246 -[07/19/2017 3:09 PM] - SUCCESS : API Response - Result: error Message: Invalid license key -[07/19/2017 3:11 PM] - SUCCESS : API - license check (slm_check) request received. -[07/19/2017 3:11 PM] - SUCCESS : License key: PK-15-LN-0-573e041867252 -[07/19/2017 3:11 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. -[07/19/2017 3:22 PM] - SUCCESS : API - license check (slm_check) request received. -[07/19/2017 3:22 PM] - SUCCESS : License key: PK-15-LN-0-573e041867252 -[07/19/2017 3:22 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. -[07/19/2017 3:23 PM] - SUCCESS : API - license check (slm_check) request received. -[07/19/2017 3:23 PM] - SUCCESS : License key: PK-15-LN-0-573e041867252 -[07/19/2017 3:23 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. -[07/19/2017 3:25 PM] - SUCCESS : API - license check (slm_check) request received. -[07/19/2017 3:25 PM] - SUCCESS : License key: PK-15-LN-0-573e041867252 -[07/19/2017 3:25 PM] - SUCCESS : API Response - Result: success Message: License key details retrieved. -[07/19/2017 3:46 PM] - SUCCESS : API - license activation (slm_activate) request received. -[07/19/2017 3:46 PM] - SUCCESS : License key: PK-15-LN-0-573e041867252 Domain: -[07/19/2017 3:46 PM] - SUCCESS : License key: PK-15-LN-0-573e041867252 Device: -[07/19/2017 3:46 PM] - SUCCESS : Updating license key status to active. -[07/19/2017 3:46 PM] - SUCCESS : API Response - Result: success Message: License key activated -[07/19/2017 3:47 PM] - SUCCESS : API - license activation (slm_activate) request received. -[07/19/2017 3:47 PM] - SUCCESS : License key: PK-15-LN-0-573e041867252 Domain: -[07/19/2017 3:47 PM] - SUCCESS : License key: PK-15-LN-0-573e041867252 Device: -[07/19/2017 3:47 PM] - SUCCESS : Updating license key status to active. -[07/19/2017 3:47 PM] - SUCCESS : API Response - Result: success Message: License key activated -[07/19/2017 3:47 PM] - SUCCESS : API - license activation (slm_activate) request received. -[07/19/2017 3:47 PM] - SUCCESS : License key: PK-15-LN-0-573e041867252 Domain: -[07/19/2017 3:47 PM] - SUCCESS : License key: PK-15-LN-0-573e041867252 Device: -[07/19/2017 3:47 PM] - SUCCESS : Updating license key status to active. -[07/19/2017 3:47 PM] - SUCCESS : API Response - Result: success Message: License key activated -[07/19/2017 3:47 PM] - STATUS : SLM daily cronjob - auto expiry of license key is enabled. +[07/20/2017 2:32 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[07/20/2017 2:32 PM] - SUCCESS : API Response - Result: success Message: License successfully created diff --git a/software-license-manager/slm_installer.php b/software-license-manager/slm_installer.php index 32bd1b6..657635a 100644 --- a/software-license-manager/slm_installer.php +++ b/software-license-manager/slm_installer.php @@ -43,6 +43,7 @@ lic_key_id INT NOT NULL , lic_key varchar(255) NOT NULL , registered_domain text NOT NULL , + registered_devices text NOT NULL , item_reference varchar(255) NOT NULL, PRIMARY KEY ( id ) )" . $charset_collate . ";"; @@ -53,6 +54,7 @@ lic_key_id INT NOT NULL , lic_key varchar(255) NOT NULL , registered_devices text NOT NULL , + registered_domain text NOT NULL , item_reference varchar(255) NOT NULL, PRIMARY KEY ( id ) )" . $charset_collate . ";"; diff --git a/software-license-manager/slm_plugin_core.php b/software-license-manager/slm_plugin_core.php index 1c312d9..b295189 100644 --- a/software-license-manager/slm_plugin_core.php +++ b/software-license-manager/slm_plugin_core.php @@ -2,9 +2,9 @@ //Defines global $wpdb; -define('SLM_TBL_LICENSE_KEYS', $wpdb->prefix . "lic_key_tbl"); -define('SLM_TBL_LIC_DOMAIN', $wpdb->prefix . "lic_reg_domain_tbl"); -define('SLM_TBL_LIC_DEVICES', $wpdb->prefix . "lic_reg_devices_tbl"); +define('SLM_TBL_LICENSE_KEYS', $wpdb->prefix . "lic_key_tbl"); +define('SLM_TBL_LIC_DOMAIN', $wpdb->prefix . "lic_reg_domain_tbl"); +define('SLM_TBL_LIC_DEVICES', $wpdb->prefix . "lic_reg_devices_tbl"); define('SLM_MANAGEMENT_PERMISSION', 'manage_options'); define('SLM_MAIN_MENU_SLUG', 'slm-main'); define('SLM_MENU_ICON', 'dashicons-lock'); From d84ff9faad68029b6c5fb37d71ad2952ff43bdf2 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 20 Jul 2017 16:58:32 -0400 Subject: [PATCH 004/293] support for deactivation --- .../includes/slm-api-listener.php | 75 ++++++++++--------- software-license-manager/logs/log.txt | 2 - 2 files changed, 39 insertions(+), 38 deletions(-) diff --git a/software-license-manager/includes/slm-api-listener.php b/software-license-manager/includes/slm-api-listener.php index bfac801..a0e5994 100644 --- a/software-license-manager/includes/slm-api-listener.php +++ b/software-license-manager/includes/slm-api-listener.php @@ -229,51 +229,53 @@ function deactivation_api_listener() { global $wpdb; - if (empty($_REQUEST['registered_domain'])) { - $args = (array('result' => 'error', 'message' => 'Registered domain information is missing', 'error_code' => SLM_Error_Codes::DOMAIN_MISSING)); - SLM_API_Utility::output_api_response($args); - } - else { - $registered_dom_table = SLM_TBL_LIC_DOMAIN; - $sql_prep = $wpdb->prepare("DELETE FROM $registered_dom_table WHERE lic_key=%s AND registered_domain=%s", $license_key, $registered_domain); - $delete = $wpdb->query($sql_prep); - - if ($delete === false) { - $slm_debug_logger->log_debug("Error - failed to delete the registered domain from the database."); - } - else if ($delete == 0) { - $args = (array('result' => 'error', 'message' => 'The license key on this domain is already inactive', 'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE)); + if (isset($_REQUEST['registered_domain']) && !empty($_REQUEST['registered_domain'])) { + if (empty($_REQUEST['registered_domain'])) { + $args = (array('result' => 'error', 'message' => 'Registered domain information is missing', 'error_code' => SLM_Error_Codes::DOMAIN_MISSING)); SLM_API_Utility::output_api_response($args); } else { - $args = (array('result' => 'success', 'message' => 'The license key has been deactivated for this domain')); - SLM_API_Utility::output_api_response($args); - } - } - - // devices deactivation - if (empty($_REQUEST['registered_devices'])) { - $args_ = (array('result' => 'error', 'message' => 'Registered device information is missing', 'error_code' => SLM_Error_Codes::DOMAIN_MISSING)); - SLM_API_Utility::output_api_response($args_); - } - else { - $registered_device_table = SLM_TBL_LIC_DEVICES; - $sql_prep2 = $wpdb->prepare("DELETE FROM $registered_device_table WHERE lic_key=%s AND registered_devices=%s", $license_key, $registered_domain); - $delete2 = $wpdb->query($sql_prep2); + $registered_dom_table = SLM_TBL_LIC_DOMAIN; + $sql_prep = $wpdb->prepare("DELETE FROM $registered_dom_table WHERE lic_key=%s AND registered_domain=%s", $license_key, $registered_domain); + $delete = $wpdb->query($sql_prep); - if ($delete2 === false) { - $slm_debug_logger->log_debug("Error - failed to delete the registered device from the database."); + if ($delete === false) { + $slm_debug_logger->log_debug("Error - failed to delete the registered domain from the database."); + } + else if ($delete == 0) { + $args = (array('result' => 'error', 'message' => 'The license key on this domain is already inactive', 'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE)); + SLM_API_Utility::output_api_response($args); + } + else { + $args = (array('result' => 'success', 'message' => 'The license key has been deactivated for this domain')); + SLM_API_Utility::output_api_response($args); + } } - else if ($delete2 == 0) { - $args_ = (array('result' => 'error', 'message' => 'The license key on this device is already inactive', 'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE)); + } + if (isset($_REQUEST['registered_devices']) && !empty($_REQUEST['registered_devices'])) { + // devices deactivation + if (empty($_REQUEST['registered_devices'])) { + $args_ = (array('result' => 'error', 'message' => 'Registered device information is missing', 'error_code' => SLM_Error_Codes::DOMAIN_MISSING)); SLM_API_Utility::output_api_response($args_); } else { - $args_ = (array('result' => 'success', 'message' => 'The license key has been deactivated for this device')); - SLM_API_Utility::output_api_response($args_); + $registered_device_table = SLM_TBL_LIC_DEVICES; + $sql_prep2 = $wpdb->prepare("DELETE FROM $registered_device_table WHERE lic_key=%s AND registered_devices=%s", $license_key, $registered_devices); + $delete2 = $wpdb->query($sql_prep2); + + if ($delete2 === false) { + $slm_debug_logger->log_debug("Error - failed to delete the registered device from the database."); + } + else if ($delete2 == 0) { + $args_ = (array('result' => 'error', 'message' => 'The license key on this device is already inactive', 'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE)); + SLM_API_Utility::output_api_response($args_); + } + else { + $args_ = (array('result' => 'success', 'message' => 'The license key has been deactivated for this device')); + SLM_API_Utility::output_api_response($args_); + } } } - } } @@ -326,7 +328,8 @@ function check_api_listener() { )); //Output the license details SLM_API_Utility::output_api_response($args); - } else { + } + else { $args = (array('result' => 'error', 'message' => 'Invalid license key', 'error_code' => SLM_Error_Codes::LICENSE_INVALID)); SLM_API_Utility::output_api_response($args); } diff --git a/software-license-manager/logs/log.txt b/software-license-manager/logs/log.txt index 0883985..e69de29 100644 --- a/software-license-manager/logs/log.txt +++ b/software-license-manager/logs/log.txt @@ -1,2 +0,0 @@ -[07/20/2017 2:32 PM] - SUCCESS : API - license creation (slm_create_new) request received. -[07/20/2017 2:32 PM] - SUCCESS : API Response - Result: success Message: License successfully created From 9737d0ed46fc66b96b933f0fbf87b77d95a3384b Mon Sep 17 00:00:00 2001 From: Michel Date: Wed, 13 Dec 2017 13:55:55 -0500 Subject: [PATCH 005/293] Update slm-api-listener.php The slm_create_new api call will no longer show an error code incorrectly --- software-license-manager/includes/slm-api-listener.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/software-license-manager/includes/slm-api-listener.php b/software-license-manager/includes/slm-api-listener.php index a0e5994..15a73eb 100644 --- a/software-license-manager/includes/slm-api-listener.php +++ b/software-license-manager/includes/slm-api-listener.php @@ -71,7 +71,7 @@ function creation_api_listener() { $args = (array('result' => 'error', 'message' => 'License creation failed', 'error_code' => SLM_Error_Codes::CREATE_FAILED)); SLM_API_Utility::output_api_response($args); } else { - $args = (array('result' => 'success', 'message' => 'License successfully created', 'key' => $fields['license_key'], 'error_code' => SLM_Error_Codes::CREATE_FAILED)); + $args = (array('result' => 'success', 'message' => 'License successfully created', 'key' => $fields['license_key'])); SLM_API_Utility::output_api_response($args); } } @@ -336,4 +336,4 @@ function check_api_listener() { } } -} \ No newline at end of file +} From c9e25485c531ac6fdbb70fbd62f37d8c549f0466 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Tue, 27 Feb 2018 20:30:42 -0500 Subject: [PATCH 006/293] Version increase The check license query now outputs all the db column values. PHP notice warning fixed Updated slm-api-utility.php to add Content-Type header to the API response The slm_create_new api call will no longer show an error code incorrectly Added License menu tab to front end view (My Account) Added support for WP Download Manager --- .gitignore | 4 +- .../sample-php-scripts/create-license.php | 54 +- .../sample-plugin/slm-sample-plugin.php | 287 ++- .../includes/slm-api-listener.php | 687 ++++--- .../includes/slm-api-utility.php | 112 +- .../includes/slm-debug-logger.php | 228 +-- .../includes/slm-error-codes.php | 40 +- .../includes/slm-init-time-tasks.php | 90 +- .../includes/slm-third-party-integration.php | 600 +++--- .../includes/slm-utility.php | 147 +- .../js/wplm-custom-admin.js | 20 +- .../menu/includes/slm-list-table-class.php | 1814 ++++++++--------- .../menu/slm-add-licenses.php | 768 +++---- .../menu/slm-add-menu-frontend.php | 213 ++ .../menu/slm-admin-functions.php | 100 +- .../menu/slm-admin-init.php | 50 +- .../menu/slm-integration-help-page.php | 236 +-- .../menu/slm-lic-settings.php | 286 +-- .../menu/slm-list-licenses-class.php | 312 +-- .../menu/slm-manage-licenses.php | 98 +- software-license-manager/slm_bootstrap.php | 101 +- software-license-manager/slm_installer.php | 150 +- software-license-manager/slm_plugin_core.php | 149 +- 23 files changed, 3396 insertions(+), 3150 deletions(-) create mode 100644 software-license-manager/menu/slm-add-menu-frontend.php diff --git a/.gitignore b/.gitignore index 14bc68c..71ab27d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ -/nbproject/private/ \ No newline at end of file +/nbproject/private/ +log.txt +log-cron-job.txt \ No newline at end of file diff --git a/software-license-manager/client-side-examples/sample-php-scripts/create-license.php b/software-license-manager/client-side-examples/sample-php-scripts/create-license.php index 1c050e1..714880a 100644 --- a/software-license-manager/client-side-examples/sample-php-scripts/create-license.php +++ b/software-license-manager/client-side-examples/sample-php-scripts/create-license.php @@ -1,27 +1,27 @@ -'; - echo '

Sample License Management

'; - - /*** License activate button was clicked ***/ - if (isset($_REQUEST['activate_license'])) { - $license_key = $_REQUEST['sample_license_key']; - - // API query parameters - $api_params = array( - 'slm_action' => 'slm_activate', - 'secret_key' => YOUR_SPECIAL_SECRET_KEY, - 'license_key' => $license_key, - 'registered_domain' => $_SERVER['SERVER_NAME'], - 'registered_domain' => 'IP or Machine Name', - 'item_reference' => urlencode(YOUR_ITEM_REFERENCE), - ); - - // Send query to the license manager server - $query = esc_url_raw(add_query_arg($api_params, YOUR_LICENSE_SERVER_URL)); - $response = wp_remote_get($query, array('timeout' => 20, 'sslverify' => false)); - - // Check for error in the response - if (is_wp_error($response)){ - echo "Unexpected Error! The query returned with an error."; - } - - //var_dump($response);//uncomment it if you want to look at the full response - - // License data. - $license_data = json_decode(wp_remote_retrieve_body($response)); - - // TODO - Do something with it. - //var_dump($license_data);//uncomment it to look at the data - - if($license_data->result == 'success'){//Success was returned for the license activation - - //Uncomment the followng line to see the message that returned from the license server - echo '
The following message was returned from the server: '.$license_data->message; - - //Save the license key in the options table - update_option('sample_license_key', $license_key); - } - else{ - //Show error to the user. Probably entered incorrect license key. - - //Uncomment the followng line to see the message that returned from the license server - echo '
The following message was returned from the server: '.$license_data->message; - } - - } - /*** End of license activation ***/ - - /*** License activate button was clicked ***/ - if (isset($_REQUEST['deactivate_license'])) { - $license_key = $_REQUEST['sample_license_key']; - - // API query parameters - $api_params = array( - 'slm_action' => 'slm_deactivate', - 'secret_key' => YOUR_SPECIAL_SECRET_KEY, - 'license_key' => $license_key, - 'registered_domain' => $_SERVER['SERVER_NAME'], - 'item_reference' => urlencode(YOUR_ITEM_REFERENCE), - ); - - // Send query to the license manager server - $query = esc_url_raw(add_query_arg($api_params, YOUR_LICENSE_SERVER_URL)); - $response = wp_remote_get($query, array('timeout' => 20, 'sslverify' => false)); - - // Check for error in the response - if (is_wp_error($response)){ - echo "Unexpected Error! The query returned with an error."; - } - - //var_dump($response);//uncomment it if you want to look at the full response - - // License data. - $license_data = json_decode(wp_remote_retrieve_body($response)); - - // TODO - Do something with it. - //var_dump($license_data);//uncomment it to look at the data - - if($license_data->result == 'success'){//Success was returned for the license activation - - //Uncomment the followng line to see the message that returned from the license server - echo '
The following message was returned from the server: '.$license_data->message; - - //Remove the licensse key from the options table. It will need to be activated again. - update_option('sample_license_key', ''); - } - else{ - //Show error to the user. Probably entered incorrect license key. - - //Uncomment the followng line to see the message that returned from the license server - echo '
The following message was returned from the server: '.$license_data->message; - } - - } - /*** End of sample license deactivation ***/ - - ?> -

Please enter the license key for this product to activate it. You were given a license key when you purchased this item.

-
- - - - - -
-

- - -

-
- '; +'; + echo '

Sample License Management

'; + + /*** License activate button was clicked ***/ + if (isset($_REQUEST['activate_license'])) { + $license_key = $_REQUEST['sample_license_key']; + + // API query parameters + $api_params = array( + 'slm_action' => 'slm_activate', + 'secret_key' => YOUR_SPECIAL_SECRET_KEY, + 'license_key' => $license_key, + 'registered_domain' => $_SERVER['SERVER_NAME'], + 'item_reference' => urlencode(YOUR_ITEM_REFERENCE), + ); + + // Send query to the license manager server + $query = esc_url_raw(add_query_arg($api_params, YOUR_LICENSE_SERVER_URL)); + $response = wp_remote_get($query, array('timeout' => 20, 'sslverify' => false)); + + // Check for error in the response + if (is_wp_error($response)){ + echo "Unexpected Error! The query returned with an error."; + } + + //var_dump($response);//uncomment it if you want to look at the full response + + // License data. + $license_data = json_decode(wp_remote_retrieve_body($response)); + + // TODO - Do something with it. + //var_dump($license_data);//uncomment it to look at the data + + if($license_data->result == 'success'){//Success was returned for the license activation + + //Uncomment the followng line to see the message that returned from the license server + echo '
The following message was returned from the server: '.$license_data->message; + + //Save the license key in the options table + update_option('sample_license_key', $license_key); + } + else{ + //Show error to the user. Probably entered incorrect license key. + + //Uncomment the followng line to see the message that returned from the license server + echo '
The following message was returned from the server: '.$license_data->message; + } + + } + /*** End of license activation ***/ + + /*** License activate button was clicked ***/ + if (isset($_REQUEST['deactivate_license'])) { + $license_key = $_REQUEST['sample_license_key']; + + // API query parameters + $api_params = array( + 'slm_action' => 'slm_deactivate', + 'secret_key' => YOUR_SPECIAL_SECRET_KEY, + 'license_key' => $license_key, + 'registered_domain' => $_SERVER['SERVER_NAME'], + 'item_reference' => urlencode(YOUR_ITEM_REFERENCE), + ); + + // Send query to the license manager server + $query = esc_url_raw(add_query_arg($api_params, YOUR_LICENSE_SERVER_URL)); + $response = wp_remote_get($query, array('timeout' => 20, 'sslverify' => false)); + + // Check for error in the response + if (is_wp_error($response)){ + echo "Unexpected Error! The query returned with an error."; + } + + //var_dump($response);//uncomment it if you want to look at the full response + + // License data. + $license_data = json_decode(wp_remote_retrieve_body($response)); + + // TODO - Do something with it. + //var_dump($license_data);//uncomment it to look at the data + + if($license_data->result == 'success'){//Success was returned for the license activation + + //Uncomment the followng line to see the message that returned from the license server + echo '
The following message was returned from the server: '.$license_data->message; + + //Remove the licensse key from the options table. It will need to be activated again. + update_option('sample_license_key', ''); + } + else{ + //Show error to the user. Probably entered incorrect license key. + + //Uncomment the followng line to see the message that returned from the license server + echo '
The following message was returned from the server: '.$license_data->message; + } + + } + /*** End of sample license deactivation ***/ + + ?> +

Please enter the license key for this product to activate it. You were given a license key when you purchased this item.

+
+ + + + + +
+

+ + +

+
+ '; } \ No newline at end of file diff --git a/software-license-manager/includes/slm-api-listener.php b/software-license-manager/includes/slm-api-listener.php index a0e5994..23d8812 100644 --- a/software-license-manager/includes/slm-api-listener.php +++ b/software-license-manager/includes/slm-api-listener.php @@ -1,339 +1,350 @@ -creation_api_listener(); - $this->activation_api_listener(); - $this->deactivation_api_listener(); - $this->check_api_listener(); - } - } - - function creation_api_listener() { - if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_create_new') { - //Handle the licene creation API query - global $slm_debug_logger; - - $options = get_option('slm_plugin_options'); - $lic_key_prefix = $options['lic_prefix']; - - SLM_API_Utility::verify_secret_key_for_creation(); //Verify the secret key first. - - $slm_debug_logger->log_debug("API - license creation (slm_create_new) request received."); - - //Action hook - do_action('slm_api_listener_slm_create_new'); - - $fields = array(); - if (isset($_REQUEST['license_key']) && !empty($_REQUEST['license_key'])){ - $fields['license_key'] = strip_tags($_REQUEST['license_key']);//Use the key you pass via the request - }else{ - $fields['license_key'] = uniqid($lic_key_prefix);//Use random generated key - } - $fields['lic_status'] = 'pending'; - $fields['first_name'] = wp_unslash(strip_tags($_REQUEST['first_name'])); - $fields['last_name'] = wp_unslash(strip_tags($_REQUEST['last_name'])); - $fields['email'] = strip_tags($_REQUEST['email']); - $fields['company_name'] = wp_unslash(strip_tags($_REQUEST['company_name'])); - $fields['txn_id'] = strip_tags($_REQUEST['txn_id']); - - if (empty($_REQUEST['max_allowed_domains'])) { - $fields['max_allowed_domains'] = $options['default_max_domains']; - } else { - $fields['max_allowed_domains'] = strip_tags($_REQUEST['max_allowed_domains']); - } - if (empty($_REQUEST['max_allowed_devices'])) { - $fields['max_allowed_devices'] = $options['default_max_devices']; - } else { - $fields['max_allowed_devices'] = strip_tags($_REQUEST['max_allowed_devices']); - } - $fields['date_created'] = isset($_REQUEST['date_created'])?strip_tags($_REQUEST['date_created']):date("Y-m-d"); - $fields['date_expiry'] = isset($_REQUEST['date_expiry'])?strip_tags($_REQUEST['date_expiry']):''; - - global $wpdb; - $tbl_name = SLM_TBL_LICENSE_KEYS; - $result = $wpdb->insert($tbl_name, $fields); - if ($result === false) { - //error inserting - $args = (array('result' => 'error', 'message' => 'License creation failed', 'error_code' => SLM_Error_Codes::CREATE_FAILED)); - SLM_API_Utility::output_api_response($args); - } else { - $args = (array('result' => 'success', 'message' => 'License successfully created', 'key' => $fields['license_key'], 'error_code' => SLM_Error_Codes::CREATE_FAILED)); - SLM_API_Utility::output_api_response($args); - } - } - } - - /* - * Query Parameters - * 1) slm_action = slm_create_new - * 2) secret_key - * 3) license_key - * 4) registered_domain (optional) - */ - - function activation_api_listener() { - if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_activate') { - //Handle the license activation API query - global $slm_debug_logger; - - SLM_API_Utility::verify_secret_key(); //Verify the secret key first. - - $slm_debug_logger->log_debug("API - license activation (slm_activate) request received."); - - //Action hook - do_action('slm_api_listener_slm_activate'); - - $fields = array(); - $fields['lic_key'] = trim(strip_tags($_REQUEST['license_key'])); - $fields['registered_domain'] = trim(wp_unslash(strip_tags($_REQUEST['registered_domain']))); //gethostbyaddr($_SERVER['REMOTE_ADDR']); - $fields['registered_devices'] = trim(wp_unslash(strip_tags($_REQUEST['registered_devices']))); //client ip or machine name - $fields['item_reference'] = trim(strip_tags($_REQUEST['item_reference'])); - - $slm_debug_logger->log_debug("License key: " . $fields['lic_key'] . " Domain: " . $fields['registered_domain']); - $slm_debug_logger->log_debug("License key: " . $fields['lic_key'] . " Device: " . $fields['registered_devices']); - - global $wpdb; - $tbl_name = SLM_TBL_LICENSE_KEYS; - $reg_table = SLM_TBL_LIC_DOMAIN; - $reg_table_devices = SLM_TBL_LIC_DEVICES; - - $key = $fields['lic_key']; - - // $sql_prep0 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); - $sql_prep1 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); - $retLic = $wpdb->get_row($sql_prep1, OBJECT); - // $retLicDevices = $wpdb->get_row($sql_prep0, OBJECT); - - $sql_prep2 = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key = %s", $key); - $reg_domains = $wpdb->get_results($sql_prep2, OBJECT); - - $sql_prep3 = $wpdb->prepare("SELECT * FROM $reg_table_devices WHERE lic_key = %s", $key); - $reg_devices = $wpdb->get_results($sql_prep3, OBJECT); - - if ($retLic) { - if ($retLic->lic_status == 'blocked') { - $args = (array('result' => 'error', 'message' => 'Your License key is blocked', 'error_code' => SLM_Error_Codes::LICENSE_BLOCKED)); - SLM_API_Utility::output_api_response($args); - } - elseif ($retLic->lic_status == 'expired') { - $args = (array('result' => 'error', 'message' => 'Your License key has expired', 'error_code' => SLM_Error_Codes::LICENSE_EXPIRED)); - SLM_API_Utility::output_api_response($args); - } - - if (isset($_REQUEST['registered_domain']) && !empty($_REQUEST['registered_domain'])) { - if (count($reg_domains) < floor($retLic->max_allowed_domains)) { - foreach ($reg_domains as $reg_domain) { - if (isset($_REQUEST['migrate_from']) && (trim($_REQUEST['migrate_from']) == $reg_domain->registered_domain)) { - $wpdb->update($reg_table, array('registered_domain' => $fields['registered_domain']), array('registered_domain' => trim(strip_tags($_REQUEST['migrate_from'])))); - $args = (array('result' => 'success', 'message' => 'Registered domain has been updated')); - SLM_API_Utility::output_api_response($args); - } - if ($fields['registered_domain'] == $reg_domain->registered_domain) { - $args = (array('result' => 'error', 'message' => 'License key already in use on ' . $reg_domain->registered_domain, 'error_code' => SLM_Error_Codes::LICENSE_IN_USE)); - SLM_API_Utility::output_api_response($args); - } - } - - $fields['lic_key_id'] = $retLic->id; - $wpdb->insert($reg_table, $fields); - - $slm_debug_logger->log_debug("Updating license key status to active for domain."); - $data = array('lic_status' => 'active'); - $where = array('id' => $retLic->id); - $updated = $wpdb->update($tbl_name, $data, $where); - - $args = (array('result' => 'success', 'message' => 'License key activated')); - SLM_API_Utility::output_api_response($args); - } - else { - $args = (array('result' => 'error', 'message' => 'Reached maximum allowable domains', 'error_code' => SLM_Error_Codes::REACHED_MAX_DOMAINS)); - SLM_API_Utility::output_api_response($args); - } - } - - - if (isset($_REQUEST['registered_devices']) && !empty($_REQUEST['registered_devices'])) { - - if (count($reg_devices) < floor($retLic->max_allowed_devices)) { - - foreach ($reg_devices as $reg_devices) { - if (isset($_REQUEST['migrate_from']) && (trim($_REQUEST['migrate_from']) == $reg_devices->registered_devices)) { - - $wpdb->update($reg_table_devices, array('registered_devices' => $fields['registered_devices']), array('registered_devices' => trim(strip_tags($_REQUEST['migrate_from'])))); - $devices_args = (array('result' => 'success', 'message' => 'Registered device has been updated')); - SLM_API_Utility::output_api_response($devices_args); - } - if ($fields['registered_devices'] == $reg_devices->registered_devices) { - $devices_args = (array('result' => 'error', 'message' => 'License key already in use on ' . $reg_devices->registered_devices, 'error_code' => SLM_Error_Codes::LICENSE_IN_USE)); - SLM_API_Utility::output_api_response($devices_args); - } - } - - $fields['lic_key_id'] = $retLic->id; - $wpdb->insert($reg_table_devices, $fields); - - $slm_debug_logger->log_debug("Updating license key status to active for device."); - $data = array('lic_status' => 'active'); - $where = array('id' => $retLic->id); - $updated = $wpdb->update($tbl_name, $data, $where); - - $args = (array('result' => 'success', 'message' => 'License key activated')); - SLM_API_Utility::output_api_response($args); - } - - else { - $args = (array('result' => 'error', 'message' => 'Reached maximum allowable devices', 'error_code' => SLM_Error_Codes::REACHED_MAX_DEVICES)); - SLM_API_Utility::output_api_response($args); - } - } - - } else { - $args = (array('result' => 'error', 'message' => 'Invalid license key', 'error_code' => SLM_Error_Codes::LICENSE_INVALID)); - SLM_API_Utility::output_api_response($args); - } - } - } - - // TODO : add support for devices deactivation - - function deactivation_api_listener() { - if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_deactivate') { - //Handle the license deactivation API query - global $slm_debug_logger; - - SLM_API_Utility::verify_secret_key(); //Verify the secret key first. - - $slm_debug_logger->log_debug("API - license deactivation (slm_deactivate) request received."); - - //Action hook - do_action('slm_api_listener_slm_deactivate'); - - $registered_domain = trim(wp_unslash(strip_tags($_REQUEST['registered_domain']))); - $license_key = trim(strip_tags($_REQUEST['license_key'])); - $slm_debug_logger->log_debug("License key: " . $license_key . " Domain: " . $registered_domain); - $registered_devices = trim(wp_unslash(strip_tags($_REQUEST['registered_devices']))); - - global $wpdb; - - if (isset($_REQUEST['registered_domain']) && !empty($_REQUEST['registered_domain'])) { - if (empty($_REQUEST['registered_domain'])) { - $args = (array('result' => 'error', 'message' => 'Registered domain information is missing', 'error_code' => SLM_Error_Codes::DOMAIN_MISSING)); - SLM_API_Utility::output_api_response($args); - } - else { - $registered_dom_table = SLM_TBL_LIC_DOMAIN; - $sql_prep = $wpdb->prepare("DELETE FROM $registered_dom_table WHERE lic_key=%s AND registered_domain=%s", $license_key, $registered_domain); - $delete = $wpdb->query($sql_prep); - - if ($delete === false) { - $slm_debug_logger->log_debug("Error - failed to delete the registered domain from the database."); - } - else if ($delete == 0) { - $args = (array('result' => 'error', 'message' => 'The license key on this domain is already inactive', 'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE)); - SLM_API_Utility::output_api_response($args); - } - else { - $args = (array('result' => 'success', 'message' => 'The license key has been deactivated for this domain')); - SLM_API_Utility::output_api_response($args); - } - } - } - if (isset($_REQUEST['registered_devices']) && !empty($_REQUEST['registered_devices'])) { - // devices deactivation - if (empty($_REQUEST['registered_devices'])) { - $args_ = (array('result' => 'error', 'message' => 'Registered device information is missing', 'error_code' => SLM_Error_Codes::DOMAIN_MISSING)); - SLM_API_Utility::output_api_response($args_); - } - else { - $registered_device_table = SLM_TBL_LIC_DEVICES; - $sql_prep2 = $wpdb->prepare("DELETE FROM $registered_device_table WHERE lic_key=%s AND registered_devices=%s", $license_key, $registered_devices); - $delete2 = $wpdb->query($sql_prep2); - - if ($delete2 === false) { - $slm_debug_logger->log_debug("Error - failed to delete the registered device from the database."); - } - else if ($delete2 == 0) { - $args_ = (array('result' => 'error', 'message' => 'The license key on this device is already inactive', 'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE)); - SLM_API_Utility::output_api_response($args_); - } - else { - $args_ = (array('result' => 'success', 'message' => 'The license key has been deactivated for this device')); - SLM_API_Utility::output_api_response($args_); - } - } - } - } - } - - function check_api_listener() { - if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_check') { - //Handle the license check API query - global $slm_debug_logger; - - SLM_API_Utility::verify_secret_key(); //Verify the secret key first. - - $slm_debug_logger->log_debug("API - license check (slm_check) request received."); - - $fields = array(); - $fields['lic_key'] = trim(strip_tags($_REQUEST['license_key'])); - $slm_debug_logger->log_debug("License key: " . $fields['lic_key']); - - //Action hook - do_action('slm_api_listener_slm_check'); - - global $wpdb; - $tbl_name = SLM_TBL_LICENSE_KEYS; - $reg_table = SLM_TBL_LIC_DOMAIN; - $reg_table_devices = SLM_TBL_LIC_DEVICES; - $key = $fields['lic_key']; - $sql_prep1 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); - $retLic = $wpdb->get_row($sql_prep1, OBJECT); - - $sql_prep2 = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key = %s", $key); - $sql_prep3 = $wpdb->prepare("SELECT * FROM $reg_table_devices WHERE lic_key = %s", $key); - $reg_domains = $wpdb->get_results($sql_prep2, OBJECT); - $reg_devices = $wpdb->get_results($sql_prep3, OBJECT); - if ($retLic) {//A license key exists - $args = (array( - 'result' => 'success', - 'code' => '200', - 'message' => 'License key details retrieved.', - 'status' => $retLic->lic_status, - 'max_allowed_domains' => $retLic->max_allowed_domains, - 'max_allowed_devices' => $retLic->max_allowed_devices, - 'email' => $retLic->email, - 'first_name' => $retLic->first_name, - 'last_name' => $retLic->last_name, - // 'until' => $retLic->until, //until what version license is supported - 'registered_domains' => $reg_domains, - 'registered_devices' => $reg_devices, - 'license_key' => $retLic->license_key, - 'date_created' => $retLic->date_created, - 'date_renewed' => $retLic->date_renewed, - 'date_expiry' => $retLic->date_expiry, - )); - //Output the license details - SLM_API_Utility::output_api_response($args); - } - else { - $args = (array('result' => 'error', 'message' => 'Invalid license key', 'error_code' => SLM_Error_Codes::LICENSE_INVALID)); - SLM_API_Utility::output_api_response($args); - } - } - } - +creation_api_listener(); + $this->activation_api_listener(); + $this->deactivation_api_listener(); + $this->check_api_listener(); + } + } + + function creation_api_listener() { + if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_create_new') { + //Handle the licene creation API query + global $slm_debug_logger; + + $options = get_option('slm_plugin_options'); + $lic_key_prefix = $options['lic_prefix']; + + SLM_API_Utility::verify_secret_key_for_creation(); //Verify the secret key first. + + $slm_debug_logger->log_debug("API - license creation (slm_create_new) request received."); + + //Action hook + do_action('slm_api_listener_slm_create_new'); + + $fields = array(); + if (isset($_REQUEST['license_key']) && !empty($_REQUEST['license_key'])){ + $fields['license_key'] = strip_tags($_REQUEST['license_key']);//Use the key you pass via the request + } + else{ + $fields['license_key'] = uniqid($lic_key_prefix);//Use random generated key + } + $fields['lic_status'] = 'pending'; + $fields['first_name'] = wp_unslash(strip_tags($_REQUEST['first_name'])); + $fields['last_name'] = wp_unslash(strip_tags($_REQUEST['last_name'])); + $fields['email'] = strip_tags($_REQUEST['email']); + $fields['company_name'] = isset( $_REQUEST['company_name'] ) ? wp_unslash( strip_tags( $_REQUEST['company_name'] ) ) : ''; + $fields['txn_id'] = strip_tags($_REQUEST['txn_id']); + + if (empty($_REQUEST['max_allowed_domains'])) { + $fields['max_allowed_domains'] = $options['default_max_domains']; + } + else { + $fields['max_allowed_domains'] = strip_tags($_REQUEST['max_allowed_domains']); + } + if (empty($_REQUEST['max_allowed_devices'])) { + $fields['max_allowed_devices'] = $options['default_max_devices']; + } + else { + $fields['max_allowed_devices'] = strip_tags($_REQUEST['max_allowed_devices']); + } + $fields['date_created'] = isset($_REQUEST['date_created'])?strip_tags($_REQUEST['date_created']):date("Y-m-d"); + $fields['date_expiry'] = isset($_REQUEST['date_expiry'])?strip_tags($_REQUEST['date_expiry']):''; + $fields['product_ref'] = isset( $_REQUEST['product_ref'] ) ? wp_unslash( strip_tags( $_REQUEST['product_ref'] ) ) : ''; + + global $wpdb; + $tbl_name = SLM_TBL_LICENSE_KEYS; + $result = $wpdb->insert($tbl_name, $fields); + if ($result === false) { + //error inserting + $args = (array('result' => 'error', 'message' => 'License creation failed', 'error_code' => SLM_Error_Codes::CREATE_FAILED)); + SLM_API_Utility::output_api_response($args); + } else { + $args = (array('result' => 'success', 'message' => 'License successfully created', 'key' => $fields['license_key'])); + SLM_API_Utility::output_api_response($args); + } + } + } + + /* + * Query Parameters + * 1) slm_action = slm_create_new + * 2) secret_key + * 3) license_key + * 4) registered_domain (optional) + */ + + function activation_api_listener() { + if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_activate') { + //Handle the license activation API query + global $slm_debug_logger; + + SLM_API_Utility::verify_secret_key(); //Verify the secret key first. + + $slm_debug_logger->log_debug("API - license activation (slm_activate) request received."); + + //Action hook + do_action('slm_api_listener_slm_activate'); + + $fields = array(); + $fields['lic_key'] = trim(strip_tags($_REQUEST['license_key'])); + $fields['registered_domain'] = trim(wp_unslash(strip_tags($_REQUEST['registered_domain']))); //gethostbyaddr($_SERVER['REMOTE_ADDR']); + $fields['registered_devices'] = trim(wp_unslash(strip_tags($_REQUEST['registered_devices']))); //client ip or machine name + $fields['item_reference'] = trim(strip_tags($_REQUEST['item_reference'])); + + $slm_debug_logger->log_debug("License key: " . $fields['lic_key'] . " Domain: " . $fields['registered_domain']); + $slm_debug_logger->log_debug("License key: " . $fields['lic_key'] . " Device: " . $fields['registered_devices']); + + global $wpdb; + $tbl_name = SLM_TBL_LICENSE_KEYS; + $reg_table = SLM_TBL_LIC_DOMAIN; + $reg_table_devices = SLM_TBL_LIC_DEVICES; + + $key = $fields['lic_key']; + + // $sql_prep0 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); + $sql_prep1 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); + $retLic = $wpdb->get_row($sql_prep1, OBJECT); + // $retLicDevices = $wpdb->get_row($sql_prep0, OBJECT); + + $sql_prep2 = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key = %s", $key); + $reg_domains = $wpdb->get_results($sql_prep2, OBJECT); + + $sql_prep3 = $wpdb->prepare("SELECT * FROM $reg_table_devices WHERE lic_key = %s", $key); + $reg_devices = $wpdb->get_results($sql_prep3, OBJECT); + + if ($retLic) { + if ($retLic->lic_status == 'blocked') { + $args = (array('result' => 'error', 'message' => 'Your License key is blocked', 'error_code' => SLM_Error_Codes::LICENSE_BLOCKED)); + SLM_API_Utility::output_api_response($args); + } + elseif ($retLic->lic_status == 'expired') { + $args = (array('result' => 'error', 'message' => 'Your License key has expired', 'error_code' => SLM_Error_Codes::LICENSE_EXPIRED)); + SLM_API_Utility::output_api_response($args); + } + + if (isset($_REQUEST['registered_domain']) && !empty($_REQUEST['registered_domain'])) { + if (count($reg_domains) < floor($retLic->max_allowed_domains)) { + foreach ($reg_domains as $reg_domain) { + if (isset($_REQUEST['migrate_from']) && (trim($_REQUEST['migrate_from']) == $reg_domain->registered_domain)) { + $wpdb->update($reg_table, array('registered_domain' => $fields['registered_domain']), array('registered_domain' => trim(strip_tags($_REQUEST['migrate_from'])))); + $args = (array('result' => 'success', 'message' => 'Registered domain has been updated')); + SLM_API_Utility::output_api_response($args); + } + if ($fields['registered_domain'] == $reg_domain->registered_domain) { + $args = (array('result' => 'error', 'message' => 'License key already in use on ' . $reg_domain->registered_domain, 'error_code' => SLM_Error_Codes::LICENSE_IN_USE)); + SLM_API_Utility::output_api_response($args); + } + } + + $fields['lic_key_id'] = $retLic->id; + $wpdb->insert($reg_table, $fields); + + $slm_debug_logger->log_debug("Updating license key status to active for domain."); + $data = array('lic_status' => 'active'); + $where = array('id' => $retLic->id); + $updated = $wpdb->update($tbl_name, $data, $where); + + $args = (array('result' => 'success', 'message' => 'License key activated')); + SLM_API_Utility::output_api_response($args); + } + else { + $args = (array('result' => 'error', 'message' => 'Reached maximum allowable domains', 'error_code' => SLM_Error_Codes::REACHED_MAX_DOMAINS)); + SLM_API_Utility::output_api_response($args); + } + } + + + if (isset($_REQUEST['registered_devices']) && !empty($_REQUEST['registered_devices'])) { + + if (count($reg_devices) < floor($retLic->max_allowed_devices)) { + + foreach ($reg_devices as $reg_devices) { + if (isset($_REQUEST['migrate_from']) && (trim($_REQUEST['migrate_from']) == $reg_devices->registered_devices)) { + + $wpdb->update($reg_table_devices, array('registered_devices' => $fields['registered_devices']), array('registered_devices' => trim(strip_tags($_REQUEST['migrate_from'])))); + $devices_args = (array('result' => 'success', 'message' => 'Registered device has been updated')); + SLM_API_Utility::output_api_response($devices_args); + } + if ($fields['registered_devices'] == $reg_devices->registered_devices) { + $devices_args = (array('result' => 'error', 'message' => 'License key already in use on ' . $reg_devices->registered_devices, 'error_code' => SLM_Error_Codes::LICENSE_IN_USE)); + SLM_API_Utility::output_api_response($devices_args); + } + } + + $fields['lic_key_id'] = $retLic->id; + $wpdb->insert($reg_table_devices, $fields); + + $slm_debug_logger->log_debug("Updating license key status to active for device."); + $data = array('lic_status' => 'active'); + $where = array('id' => $retLic->id); + $updated = $wpdb->update($tbl_name, $data, $where); + + $args = (array('result' => 'success', 'message' => 'License key activated')); + SLM_API_Utility::output_api_response($args); + } + + else { + $args = (array('result' => 'error', 'message' => 'Reached maximum allowable devices', 'error_code' => SLM_Error_Codes::REACHED_MAX_DEVICES)); + SLM_API_Utility::output_api_response($args); + } + } + + } else { + $args = (array('result' => 'error', 'message' => 'Invalid license key', 'error_code' => SLM_Error_Codes::LICENSE_INVALID)); + SLM_API_Utility::output_api_response($args); + } + } + } + + // TODO : add support for devices deactivation + + function deactivation_api_listener() { + if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_deactivate') { + //Handle the license deactivation API query + global $slm_debug_logger; + + SLM_API_Utility::verify_secret_key(); //Verify the secret key first. + + $slm_debug_logger->log_debug("API - license deactivation (slm_deactivate) request received."); + + //Action hook + do_action('slm_api_listener_slm_deactivate'); + + $registered_domain = trim(wp_unslash(strip_tags($_REQUEST['registered_domain']))); + $license_key = trim(strip_tags($_REQUEST['license_key'])); + $slm_debug_logger->log_debug("License key: " . $license_key . " Domain: " . $registered_domain); + $registered_devices = trim(wp_unslash(strip_tags($_REQUEST['registered_devices']))); + + global $wpdb; + + if (isset($_REQUEST['registered_domain']) && !empty($_REQUEST['registered_domain'])) { + if (empty($_REQUEST['registered_domain'])) { + $args = (array('result' => 'error', 'message' => 'Registered domain information is missing', 'error_code' => SLM_Error_Codes::DOMAIN_MISSING)); + SLM_API_Utility::output_api_response($args); + } + else { + $registered_dom_table = SLM_TBL_LIC_DOMAIN; + $sql_prep = $wpdb->prepare("DELETE FROM $registered_dom_table WHERE lic_key=%s AND registered_domain=%s", $license_key, $registered_domain); + $delete = $wpdb->query($sql_prep); + + if ($delete === false) { + $slm_debug_logger->log_debug("Error - failed to delete the registered domain from the database."); + } + else if ($delete == 0) { + $args = (array('result' => 'error', 'message' => 'The license key on this domain is already inactive', 'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE)); + SLM_API_Utility::output_api_response($args); + } + else { + $args = (array('result' => 'success', 'message' => 'The license key has been deactivated for this domain')); + SLM_API_Utility::output_api_response($args); + } + } + } + if (isset($_REQUEST['registered_devices']) && !empty($_REQUEST['registered_devices'])) { + // devices deactivation + if (empty($_REQUEST['registered_devices'])) { + $args_ = (array('result' => 'error', 'message' => 'Registered device information is missing', 'error_code' => SLM_Error_Codes::DOMAIN_MISSING)); + SLM_API_Utility::output_api_response($args_); + } + else { + $registered_device_table = SLM_TBL_LIC_DEVICES; + $sql_prep2 = $wpdb->prepare("DELETE FROM $registered_device_table WHERE lic_key=%s AND registered_devices=%s", $license_key, $registered_devices); + $delete2 = $wpdb->query($sql_prep2); + + if ($delete2 === false) { + $slm_debug_logger->log_debug("Error - failed to delete the registered device from the database."); + } + else if ($delete2 == 0) { + $args_ = (array('result' => 'error', 'message' => 'The license key on this device is already inactive', 'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE)); + SLM_API_Utility::output_api_response($args_); + } + else { + $args_ = (array('result' => 'success', 'message' => 'The license key has been deactivated for this device')); + SLM_API_Utility::output_api_response($args_); + } + } + } + } + } + + function check_api_listener() { + if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_check') { + //Handle the license check API query + global $slm_debug_logger; + + SLM_API_Utility::verify_secret_key(); //Verify the secret key first. + + $slm_debug_logger->log_debug("API - license check (slm_check) request received."); + + $fields = array(); + $fields['lic_key'] = trim(strip_tags($_REQUEST['license_key'])); + $slm_debug_logger->log_debug("License key: " . $fields['lic_key']); + + //Action hook + do_action('slm_api_listener_slm_check'); + + global $wpdb; + $tbl_name = SLM_TBL_LICENSE_KEYS; + $reg_table = SLM_TBL_LIC_DOMAIN; + $reg_table_devices = SLM_TBL_LIC_DEVICES; + $key = $fields['lic_key']; + $sql_prep1 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); + $retLic = $wpdb->get_row($sql_prep1, OBJECT); + + $sql_prep2 = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key = %s", $key); + $sql_prep3 = $wpdb->prepare("SELECT * FROM $reg_table_devices WHERE lic_key = %s", $key); + + $reg_domains = $wpdb->get_results($sql_prep2, OBJECT); + $reg_devices = $wpdb->get_results($sql_prep3, OBJECT); + if ($retLic) {//A license key exists + $args = (array( + 'result' => 'success', + 'code' => '200', + 'message' => 'License key details retrieved.', + 'status' => $retLic->lic_status, + 'max_allowed_domains' => $retLic->max_allowed_domains, + 'max_allowed_devices' => $retLic->max_allowed_devices, + 'email' => $retLic->email, + 'first_name' => $retLic->first_name, + 'last_name' => $retLic->last_name, + // 'until' => $retLic->until, //until what version license is supported + 'registered_domains' => $reg_domains, + 'registered_devices' => $reg_devices, + 'license_key' => $retLic->license_key, + 'date_created' => $retLic->date_created, + 'date_renewed' => $retLic->date_renewed, + 'date_expiry' => $retLic->date_expiry, + 'product_ref' => $retLic->product_ref, + 'first_name' => $retLic->first_name, + 'last_name' => $retLic->last_name, + 'company_name' => $retLic->company_name, + 'txn_id' => $retLic->txn_id, + + )); + //Output the license details + SLM_API_Utility::output_api_response($args); + } + else { + $args = (array('result' => 'error', 'message' => 'Invalid license key', 'error_code' => SLM_Error_Codes::LICENSE_INVALID)); + SLM_API_Utility::output_api_response($args); + } + } + } + } \ No newline at end of file diff --git a/software-license-manager/includes/slm-api-utility.php b/software-license-manager/includes/slm-api-utility.php index 8fd3222..75eca81 100644 --- a/software-license-manager/includes/slm-api-utility.php +++ b/software-license-manager/includes/slm-api-utility.php @@ -1,57 +1,57 @@ -log_debug('API Response - Result: ' . $args['result'] . ' Message: ' . $args['message']); - - //Send response - echo json_encode($args); - exit(0); - } - - static function verify_secret_key() { - $slm_options = get_option('slm_plugin_options'); - $right_secret_key = $slm_options['lic_verification_secret']; - $received_secret_key = strip_tags($_REQUEST['secret_key']); - if ($received_secret_key != $right_secret_key) { - $args = (array('result' => 'error', 'message' => 'Verification API secret key is invalid', 'error_code' => SLM_Error_Codes::VERIFY_KEY_INVALID)); - SLM_API_Utility::output_api_response($args); - } - } - - static function verify_secret_key_for_creation() { - $slm_options = get_option('slm_plugin_options'); - $right_secret_key = $slm_options['lic_creation_secret']; - $received_secret_key = strip_tags($_REQUEST['secret_key']); - if ($received_secret_key != $right_secret_key) { - $args = (array('result' => 'error', 'message' => 'License Creation API secret key is invalid', 'error_code' => SLM_Error_Codes::CREATE_KEY_INVALID)); - SLM_API_Utility::output_api_response($args); - } - } - - static function insert_license_data_internal($fields) { - /* The fields array should have values for the following keys - //$fields['license_key'] - //$fields['lic_status'] - //$fields['first_name'] - //$fields['last_name'] - //$fields['email'] - //$fields['company_name'] - //$fields['txn_id'] - //$fields['max_allowed_domains'] - */ - global $wpdb; - $tbl_name = SLM_TBL_LICENSE_KEYS; - $fields = array_filter($fields);//Remove any null values. - $result = $wpdb->insert($tbl_name, $fields); - } - +log_debug('API Response - Result: ' . $args['result'] . ' Message: ' . $args['message']); + //Send response + header('Content-Type: application/json'); //ERICH + echo json_encode($args); + exit(0); + } + + static function verify_secret_key() { + $slm_options = get_option('slm_plugin_options'); + $right_secret_key = $slm_options['lic_verification_secret']; + $received_secret_key = strip_tags($_REQUEST['secret_key']); + if ($received_secret_key != $right_secret_key) { + $args = (array('result' => 'error', 'message' => 'Verification API secret key is invalid', 'error_code' => SLM_Error_Codes::VERIFY_KEY_INVALID)); + SLM_API_Utility::output_api_response($args); + } + } + + static function verify_secret_key_for_creation() { + $slm_options = get_option('slm_plugin_options'); + $right_secret_key = $slm_options['lic_creation_secret']; + $received_secret_key = strip_tags($_REQUEST['secret_key']); + if ($received_secret_key != $right_secret_key) { + $args = (array('result' => 'error', 'message' => 'License Creation API secret key is invalid', 'error_code' => SLM_Error_Codes::CREATE_KEY_INVALID)); + SLM_API_Utility::output_api_response($args); + } + } + + static function insert_license_data_internal($fields) { + /* The fields array should have values for the following keys + //$fields['license_key'] + //$fields['lic_status'] + //$fields['first_name'] + //$fields['last_name'] + //$fields['email'] + //$fields['company_name'] + //$fields['txn_id'] + //$fields['max_allowed_domains'] + */ + global $wpdb; + $tbl_name = SLM_TBL_LICENSE_KEYS; + $fields = array_filter($fields);//Remove any null values. + $result = $wpdb->insert($tbl_name, $fields); + } + } \ No newline at end of file diff --git a/software-license-manager/includes/slm-debug-logger.php b/software-license-manager/includes/slm-debug-logger.php index f0ab6ae..54a6bd4 100644 --- a/software-license-manager/includes/slm-debug-logger.php +++ b/software-license-manager/includes/slm-debug-logger.php @@ -1,115 +1,115 @@ -log_debug("Some debug message"); - * - * OR - * - * SLM_Debug_Logger::log_debug_st("Some debug message"); - */ - -class SLM_Debug_Logger -{ - var $log_folder_path; - var $default_log_file = 'log.txt'; - var $default_log_file_cron = 'log-cron-job.txt'; - var $debug_enabled = false; - var $debug_status = array('SUCCESS','STATUS','NOTICE','WARNING','FAILURE','CRITICAL'); - var $section_break_marker = "\n----------------------------------------------------------\n\n"; - var $log_reset_marker = "-------- Log File Reset --------\n"; - - function __construct() - { - $this->log_folder_path = WP_LICENSE_MANAGER_PATH . '/logs'; - //Check config and if debug is enabled then set the enabled flag to true - $options = get_option('slm_plugin_options'); - if(!empty($options['enable_debug'])){//Debugging is enabled - $this->debug_enabled = true; - } - } - - function get_debug_timestamp() - { - return '['.date('m/d/Y g:i A').'] - '; - } - - function get_debug_status($level) - { - $size = count($this->debug_status); - if($level >= $size){ - return 'UNKNOWN'; - } - else{ - return $this->debug_status[$level]; - } - } - - function get_section_break($section_break) - { - if ($section_break) { - return $this->section_break_marker; - } - return ""; - } - - function reset_log_file($file_name='') - { - if(empty($file_name)){ - $file_name = $this->default_log_file; - } - $debug_log_file = $this->log_folder_path.'/'.$file_name; - $content = $this->get_debug_timestamp().$this->log_reset_marker; - $fp=fopen($debug_log_file,'w'); - fwrite($fp, $content); - fclose($fp); - } - - function append_to_file($content,$file_name) - { - if(empty($file_name))$file_name = $this->default_log_file; - $debug_log_file = $this->log_folder_path.'/'.$file_name; - $fp=fopen($debug_log_file,'a'); - fwrite($fp, $content); - fclose($fp); - } - - function log_debug($message,$level=0,$section_break=false,$file_name='') - { - if (!$this->debug_enabled) return; - $content = $this->get_debug_timestamp();//Timestamp - $content .= $this->get_debug_status($level);//Debug status - $content .= ' : '; - $content .= $message . "\n"; - $content .= $this->get_section_break($section_break); - $this->append_to_file($content, $file_name); - } - - function log_debug_cron($message,$level=0,$section_break=false) - { - if (!$this->debug_enabled) return; - $content = $this->get_debug_timestamp();//Timestamp - $content .= $this->get_debug_status($level);//Debug status - $content .= ' : '; - $content .= $message . "\n"; - $content .= $this->get_section_break($section_break); - //$file_name = $this->default_log_file_cron; - $this->append_to_file($content, $this->default_log_file_cron); - } - - static function log_debug_st($message,$level=0,$section_break=false,$file_name='') - { - $options = get_option('slm_plugin_options'); - if(empty($options['enable_debug'])){//Debugging is disabled - return; - } - $content = '['.date('m/d/Y g:i A').'] - STATUS : '. $message . "\n"; - $debug_log_file = WP_LICENSE_MANAGER_PATH . '/logs/log.txt'; - $fp=fopen($debug_log_file,'a'); - fwrite($fp, $content); - fclose($fp); - } - +log_debug("Some debug message"); + * + * OR + * + * SLM_Debug_Logger::log_debug_st("Some debug message"); + */ + +class SLM_Debug_Logger +{ + var $log_folder_path; + var $default_log_file = 'log.txt'; + var $default_log_file_cron = 'log-cron-job.txt'; + var $debug_enabled = false; + var $debug_status = array('SUCCESS','STATUS','NOTICE','WARNING','FAILURE','CRITICAL'); + var $section_break_marker = "\n----------------------------------------------------------\n\n"; + var $log_reset_marker = "-------- Log File Reset --------\n"; + + function __construct() + { + $this->log_folder_path = WP_LICENSE_MANAGER_PATH . '/logs'; + //Check config and if debug is enabled then set the enabled flag to true + $options = get_option('slm_plugin_options'); + if(!empty($options['enable_debug'])){//Debugging is enabled + $this->debug_enabled = true; + } + } + + function get_debug_timestamp() + { + return '['.date('m/d/Y g:i A').'] - '; + } + + function get_debug_status($level) + { + $size = count($this->debug_status); + if($level >= $size){ + return 'UNKNOWN'; + } + else{ + return $this->debug_status[$level]; + } + } + + function get_section_break($section_break) + { + if ($section_break) { + return $this->section_break_marker; + } + return ""; + } + + function reset_log_file($file_name='') + { + if(empty($file_name)){ + $file_name = $this->default_log_file; + } + $debug_log_file = $this->log_folder_path.'/'.$file_name; + $content = $this->get_debug_timestamp().$this->log_reset_marker; + $fp=fopen($debug_log_file,'w'); + fwrite($fp, $content); + fclose($fp); + } + + function append_to_file($content,$file_name) + { + if(empty($file_name))$file_name = $this->default_log_file; + $debug_log_file = $this->log_folder_path.'/'.$file_name; + $fp=fopen($debug_log_file,'a'); + fwrite($fp, $content); + fclose($fp); + } + + function log_debug($message,$level=0,$section_break=false,$file_name='') + { + if (!$this->debug_enabled) return; + $content = $this->get_debug_timestamp();//Timestamp + $content .= $this->get_debug_status($level);//Debug status + $content .= ' : '; + $content .= $message . "\n"; + $content .= $this->get_section_break($section_break); + $this->append_to_file($content, $file_name); + } + + function log_debug_cron($message,$level=0,$section_break=false) + { + if (!$this->debug_enabled) return; + $content = $this->get_debug_timestamp();//Timestamp + $content .= $this->get_debug_status($level);//Debug status + $content .= ' : '; + $content .= $message . "\n"; + $content .= $this->get_section_break($section_break); + //$file_name = $this->default_log_file_cron; + $this->append_to_file($content, $this->default_log_file_cron); + } + + static function log_debug_st($message,$level=0,$section_break=false,$file_name='') + { + $options = get_option('slm_plugin_options'); + if(empty($options['enable_debug'])){//Debugging is disabled + return; + } + $content = '['.date('m/d/Y g:i A').'] - STATUS : '. $message . "\n"; + $debug_log_file = WP_LICENSE_MANAGER_PATH . '/logs/log.txt'; + $fp=fopen($debug_log_file,'a'); + fwrite($fp, $content); + fclose($fp); + } + } \ No newline at end of file diff --git a/software-license-manager/includes/slm-error-codes.php b/software-license-manager/includes/slm-error-codes.php index da58a18..cdad6ce 100644 --- a/software-license-manager/includes/slm-error-codes.php +++ b/software-license-manager/includes/slm-error-codes.php @@ -1,20 +1,20 @@ -load_scripts(); - - //Add other init time operations here - add_action ('slm_daily_cron_event', array(&$this, 'slm_daily_cron_event_handler')); - } - - function load_scripts() - { - //Load all common scripts and styles only - wp_enqueue_script('jquery'); - - //Load all admin side scripts and styles only - if(is_admin()) - { - wp_enqueue_script('jquery-ui-datepicker'); - wp_enqueue_script('wplm-custom-admin-js', WP_LICENSE_MANAGER_URL . '/js/wplm-custom-admin.js', array( 'jquery-ui-dialog' ));//admin only custom js code - - if (isset($_GET['page']) && $_GET['page'] == 'wp_lic_mgr_addedit') {//Only include if we are in the license add/edit interface - wp_enqueue_style('jquery-ui-style', WP_LICENSE_MANAGER_URL .'/css/jquery-ui.css'); - } - //wp_enqueue_style('dialogStylesheet', includes_url().'css/jquery-ui-dialog.css'); - } - } - - function slm_daily_cron_event_handler() - { - $options = get_option('slm_plugin_options'); - - do_action('slm_daily_cron_event_triggered'); - - if ($options['enable_auto_key_expiry'] == '1'){ - //Do the auto key expiry task - SLM_Debug_Logger::log_debug_st("SLM daily cronjob - auto expiry of license key is enabled."); - SLM_Utility::do_auto_key_expiry(); - } - - //Do any ohter daily cronjob tasks. - - } - +load_scripts(); + + //Add other init time operations here + add_action ('slm_daily_cron_event', array(&$this, 'slm_daily_cron_event_handler')); + } + + function load_scripts() + { + //Load all common scripts and styles only + wp_enqueue_script('jquery'); + + //Load all admin side scripts and styles only + if(is_admin()) + { + wp_enqueue_script('jquery-ui-datepicker'); + wp_enqueue_script('wplm-custom-admin-js', WP_LICENSE_MANAGER_URL . '/js/wplm-custom-admin.js', array( 'jquery-ui-dialog' ));//admin only custom js code + + if (isset($_GET['page']) && $_GET['page'] == 'wp_lic_mgr_addedit') {//Only include if we are in the license add/edit interface + wp_enqueue_style('jquery-ui-style', WP_LICENSE_MANAGER_URL .'/css/jquery-ui.css'); + } + //wp_enqueue_style('dialogStylesheet', includes_url().'css/jquery-ui-dialog.css'); + } + } + + function slm_daily_cron_event_handler() + { + $options = get_option('slm_plugin_options'); + + do_action('slm_daily_cron_event_triggered'); + + if ( isset($options['enable_auto_key_expiry']) && $options['enable_auto_key_expiry'] == '1'){ + //Do the auto key expiry task + SLM_Debug_Logger::log_debug_st("SLM daily cronjob - auto expiry of license key is enabled."); + SLM_Utility::do_auto_key_expiry(); + } + + //Do any ohter daily cronjob tasks. + + } + }//End of class \ No newline at end of file diff --git a/software-license-manager/includes/slm-third-party-integration.php b/software-license-manager/includes/slm-third-party-integration.php index 6d0ca78..b873982 100644 --- a/software-license-manager/includes/slm-third-party-integration.php +++ b/software-license-manager/includes/slm-third-party-integration.php @@ -1,301 +1,301 @@ -log_debug("WP eStore integration - checking if a license key needs to be created for this transaction."); - $products_table_name = $wpdb->prefix . "wp_eStore_tbl"; - $slm_data = ""; - - foreach ($cart_items as $current_cart_item) { - $prod_id = $current_cart_item['item_number']; - $qty = $current_cart_item['quantity']; - $retrieved_product = $wpdb->get_row("SELECT * FROM $products_table_name WHERE id = '$prod_id'", OBJECT); - $package_product = eStore_is_package_product($retrieved_product); - if ($package_product) { - $slm_debug_logger->log_debug('Checking license key generation for package/bundle product.'); - $product_ids = explode(',', $retrieved_product->product_download_url); - foreach ($product_ids as $id) { - $id = trim($id); - $retrieved_product_for_specific_id = $wpdb->get_row("SELECT * FROM $products_table_name WHERE id = '$id'", OBJECT); - $slm_data .= slm_estore_check_and_generate_key($retrieved_product_for_specific_id, $payment_data, $cart_items, $qty); - } - } else { - $slm_debug_logger->log_debug('Checking license key generation for single item product.'); - $slm_data .= slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items, $qty); - } - } - - $body = str_replace("{slm_data}", $slm_data, $body); - return $body; -} - -function slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items, $qty=1) { - global $slm_debug_logger; - $license_data = ''; - - if ($retrieved_product->create_license == 1) { - $requested_qty = (int)$qty; - $slm_debug_logger->log_debug('Need to create a license key for this product: ' . $retrieved_product->id . '. Requested qty: ' . $requested_qty); - if($requested_qty > 1){ - //More than 1 qty of the same product - for($i=0; $i < $requested_qty; $i++){ - $slm_key = slm_estore_create_license($retrieved_product, $payment_data, $cart_items); - $license_data .= "\n" . __('Item Name: ', 'slm') . $retrieved_product->name . " - " . __('License Key '.($i+1).': ', 'slm') . $slm_key; - } - } - else { - //Standard 1 qty - $slm_key = slm_estore_create_license($retrieved_product, $payment_data, $cart_items); - $license_data = "\n" . __('Item Name: ', 'slm') . $retrieved_product->name . " - " . __('License Key: ', 'slm') . $slm_key; - } - - $slm_debug_logger->log_debug('Liense data: ' . $license_data); - $license_data = apply_filters('slm_estore_item_license_data', $license_data); - } - return $license_data; -} - -function slm_estore_create_license($retrieved_product, $payment_data, $cart_items) { - global $slm_debug_logger; - global $wpdb; - $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; - - //Retrieve the default settings values. - $options = get_option('slm_plugin_options'); - $lic_key_prefix = $options['lic_prefix']; - $max_domains = $options['default_max_domains']; - $max_devices = $options['default_max_devices']; - - //Lets check any product specific configuration. - $prod_id = $retrieved_product->id; - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_domains'", OBJECT); - if ($product_meta) { - //Found product specific SLM config data. - $max_domains = $product_meta->meta_value; - } else { - //Use the default value from settings (the $max_domains variable contains the default value already). - } - - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_devices'", OBJECT); - if ($product_meta) { - //Found product specific SLM config data. - $max_devices = $product_meta->meta_value; - } else { - //Use the default value from settings (the $max_domains variable contains the default value already). - } - - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_devices'", OBJECT); - if ($product_meta) { - //Found product specific SLM config data. - $max_devices = $product_meta->meta_value; - } else { - //Use the default value from settings (the $max_domains variable contains the default value already). - } //Lets check if any product specific expiry date is set - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_date_of_expiry'", OBJECT); - if ($product_meta) { - //Found product specific SLM config data. - $num_days_before_expiry = $product_meta->meta_value; - $slm_date_of_expiry = date('Y-m-d', strtotime('+'.$num_days_before_expiry.' days')); - } else { - //Use the default value (1 year from today). - $current_date_plus_1year = date('Y-m-d', strtotime('+1 year')); - $slm_date_of_expiry = $current_date_plus_1year; - } - - - $fields = array(); - $fields['license_key'] = uniqid($lic_key_prefix); - $fields['lic_status'] = 'pending'; - $fields['first_name'] = $payment_data['first_name']; - $fields['last_name'] = $payment_data['last_name']; - $fields['email'] = $payment_data['payer_email']; - $fields['company_name'] = $payment_data['company_name']; - $fields['txn_id'] = $payment_data['txn_id']; - $fields['max_allowed_domains'] = $max_domains; - $fields['max_allowed_devices'] = $max_devices; - $fields['date_created'] = date("Y-m-d"); //Today's date - $fields['date_expiry'] = $slm_date_of_expiry; - - $slm_debug_logger->log_debug('Inserting license data into the license manager DB table.'); - $fields = array_filter($fields); //Remove any null values. - - - $tbl_name = SLM_TBL_LICENSE_KEYS; - $result = $wpdb->insert($tbl_name, $fields); - if (!$result) { - $slm_debug_logger->log_debug('Notice! initial database table insert failed on license key table (User Email: ' . $fields['email'] . '). Trying again by converting charset', true); - //Convert the default PayPal IPN charset to UTF-8 format - $first_name = mb_convert_encoding($fields['first_name'], "UTF-8", "windows-1252"); - $fields['first_name'] = esc_sql($first_name); - $last_name = mb_convert_encoding($fields['last_name'], "UTF-8", "windows-1252"); - $fields['last_name'] = esc_sql($last_name); - $company_name = mb_convert_encoding($fields['company_name'], "UTF-8", "windows-1252"); - $fields['company_name'] = esc_sql($company_name); - - $result = $wpdb->insert($tbl_name, $fields); - if (!$result) { - $slm_debug_logger->log_debug('Error! Failed to update license key table. DB insert query failed.', false); - } - } - //SLM_API_Utility::insert_license_data_internal($fields); - - return $fields['license_key']; -} - -/* Code to handle the eStore's product add/edit interface for SLM specific product configuration */ -add_filter('eStore_addon_product_settings_filter', 'slm_estore_product_configuration_html', 10, 2); //Render the product add/edit HTML -add_action('eStore_new_product_added', 'slm_estore_new_product_added', 10, 2); //Handle the DB insert after a product add. -add_action('eStore_product_updated', 'slm_estore_product_updated', 10, 2); //Handle the DB update after a product edit. -add_action('eStore_product_deleted', 'slm_estore_product_deleted'); //Handle the DB delete after a product delete. - -function slm_estore_product_configuration_html($product_config_html, $prod_id) { - global $wpdb; - $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; - - if (empty($prod_id)) { - //New product add - $slm_max_allowed_domains = ""; - $slm_max_allowed_devices = ""; - $slm_date_of_expiry = ""; - } else { - //Existing product edit - - //Retrieve the max domain value - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_domains'", OBJECT); - if ($product_meta) { - $slm_max_allowed_domains = $product_meta->meta_value; - } else { - $slm_max_allowed_domains = ""; - } - - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_devices'", OBJECT); - if ($product_meta) { - $slm_max_allowed_devices = $product_meta->meta_value; - } else { - $slm_max_allowed_devices = ""; - } - - //Retrieve the expiry date value - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_date_of_expiry'", OBJECT); - if ($product_meta) { - $slm_date_of_expiry = $product_meta->meta_value; - } else { - $slm_date_of_expiry = ""; - } - - } - - $product_config_html .= '
Software License Manager Plugin (Click to Expand)
'; - - $product_config_html .= ''; - - $product_config_html .= ''; - - $product_config_html .= ''; - - $product_config_html .= '
Maximum Allowed Domains'; - $product_config_html .= ''; - $product_config_html .= '

Number of domains/installs in which this license can be used. Leave blank if you wish to use the default value set in the license manager plugin settings.

'; - $product_config_html .= '
Maximum Allowed Devices'; - $product_config_html .= ''; - $product_config_html .= '

Number of devices in which this license can be used. Leave blank if you wish to use the default value set in the license manager plugin settings.

'; - $product_config_html .= '
Number of Days before Expiry'; - $product_config_html .= ' Days'; - $product_config_html .= '

Number of days before expiry. The expiry date of the license will be set based on this value. For example, if you want the key to expire in 6 months then enter a value of 180.

'; - $product_config_html .= '
'; - - return $product_config_html; -} - -function slm_estore_new_product_added($prod_dat_array, $prod_id) { - global $wpdb; - $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; - - //Save max domain value - $fields = array(); - $fields['prod_id'] = $prod_id; - $fields['meta_key'] = 'slm_max_allowed_domains'; - $fields['meta_value'] = $prod_dat_array['slm_max_allowed_domains']; - $fields['meta_key'] = 'slm_max_allowed_devices'; - $fields['meta_value'] = $prod_dat_array['slm_max_allowed_devices']; - $result = $wpdb->insert($product_meta_table_name, $fields); - if (!$result) { - //insert query failed - } - - //Save expiry date value - $fields = array(); - $fields['prod_id'] = $prod_id; - $fields['meta_key'] = 'slm_date_of_expiry'; - $fields['meta_value'] = $prod_dat_array['slm_date_of_expiry']; - $result = $wpdb->insert($product_meta_table_name, $fields); - if (!$result) { - //insert query failed - } - -} - -function slm_estore_product_updated($prod_dat_array, $prod_id) { - global $wpdb; - $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; - - //Find the existing value for the max domains field (for the given product) - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_domains'", OBJECT); - if ($product_meta) { - //Found existing value so lets update it - $fields = array(); - $fields['meta_key'] = 'slm_max_allowed_domains'; - $fields['meta_key'] = 'slm_max_allowed_devices'; - $fields['meta_value'] = $prod_dat_array['slm_max_allowed_domains']; - $fields['meta_value'] = $prod_dat_array['slm_max_allowed_devices']; - $result = $wpdb->update($product_meta_table_name, $fields, array('prod_id' => $prod_id)); - - } else { - //No value for this field was there so lets insert one. - $fields = array(); - $fields['prod_id'] = $prod_id; - $fields['meta_key'] = 'slm_max_allowed_domains'; - $fields['meta_key'] = 'slm_max_allowed_devices'; - $fields['meta_value'] = $prod_dat_array['slm_max_allowed_domains']; - $fields['meta_value'] = $prod_dat_array['slm_max_allowed_devices']; - $result = $wpdb->insert($product_meta_table_name, $fields); - } - - //Find the existing value for the expiry date field (for the given product) - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_date_of_expiry'", OBJECT); - if ($product_meta) { - //Found existing value so lets update it - $fields = array(); - $fields['meta_key'] = 'slm_date_of_expiry'; - $fields['meta_value'] = $prod_dat_array['slm_date_of_expiry']; - $result = $wpdb->update($product_meta_table_name, $fields, array('prod_id' => $prod_id)); - - } else { - //No value for this field was there so lets insert one. - $fields = array(); - $fields['prod_id'] = $prod_id; - $fields['meta_key'] = 'slm_date_of_expiry'; - $fields['meta_value'] = $prod_dat_array['slm_date_of_expiry']; - $result = $wpdb->insert($product_meta_table_name, $fields); - } - -} - -function slm_estore_product_deleted($prod_id) { - global $wpdb; - $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; - - $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_max_allowed_domains')); - $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_max_allowed_devices')); - $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_date_of_expiry')); -} - -/************************************/ -/*** End of WP eStore integration ***/ +log_debug("WP eStore integration - checking if a license key needs to be created for this transaction."); + $products_table_name = $wpdb->prefix . "wp_eStore_tbl"; + $slm_data = ""; + + foreach ($cart_items as $current_cart_item) { + $prod_id = $current_cart_item['item_number']; + $qty = $current_cart_item['quantity']; + $retrieved_product = $wpdb->get_row("SELECT * FROM $products_table_name WHERE id = '$prod_id'", OBJECT); + $package_product = eStore_is_package_product($retrieved_product); + if ($package_product) { + $slm_debug_logger->log_debug('Checking license key generation for package/bundle product.'); + $product_ids = explode(',', $retrieved_product->product_download_url); + foreach ($product_ids as $id) { + $id = trim($id); + $retrieved_product_for_specific_id = $wpdb->get_row("SELECT * FROM $products_table_name WHERE id = '$id'", OBJECT); + $slm_data .= slm_estore_check_and_generate_key($retrieved_product_for_specific_id, $payment_data, $cart_items, $qty); + } + } else { + $slm_debug_logger->log_debug('Checking license key generation for single item product.'); + $slm_data .= slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items, $qty); + } + } + + $body = str_replace("{slm_data}", $slm_data, $body); + return $body; +} + +function slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items, $qty=1) { + global $slm_debug_logger; + $license_data = ''; + + if ($retrieved_product->create_license == 1) { + $requested_qty = (int)$qty; + $slm_debug_logger->log_debug('Need to create a license key for this product: ' . $retrieved_product->id . '. Requested qty: ' . $requested_qty); + if($requested_qty > 1){ + //More than 1 qty of the same product + for($i=0; $i < $requested_qty; $i++){ + $slm_key = slm_estore_create_license($retrieved_product, $payment_data, $cart_items); + $license_data .= "\n" . __('Item Name: ', 'slm') . $retrieved_product->name . " - " . __('License Key '.($i+1).': ', 'slm') . $slm_key; + } + } + else { + //Standard 1 qty + $slm_key = slm_estore_create_license($retrieved_product, $payment_data, $cart_items); + $license_data = "\n" . __('Item Name: ', 'slm') . $retrieved_product->name . " - " . __('License Key: ', 'slm') . $slm_key; + } + + $slm_debug_logger->log_debug('Liense data: ' . $license_data); + $license_data = apply_filters('slm_estore_item_license_data', $license_data); + } + return $license_data; +} + +function slm_estore_create_license($retrieved_product, $payment_data, $cart_items) { + global $slm_debug_logger; + global $wpdb; + $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; + + //Retrieve the default settings values. + $options = get_option('slm_plugin_options'); + $lic_key_prefix = $options['lic_prefix']; + $max_domains = $options['default_max_domains']; + $max_devices = $options['default_max_devices']; + + //Lets check any product specific configuration. + $prod_id = $retrieved_product->id; + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_domains'", OBJECT); + if ($product_meta) { + //Found product specific SLM config data. + $max_domains = $product_meta->meta_value; + } else { + //Use the default value from settings (the $max_domains variable contains the default value already). + } + + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_devices'", OBJECT); + if ($product_meta) { + //Found product specific SLM config data. + $max_devices = $product_meta->meta_value; + } else { + //Use the default value from settings (the $max_domains variable contains the default value already). + } + + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_devices'", OBJECT); + if ($product_meta) { + //Found product specific SLM config data. + $max_devices = $product_meta->meta_value; + } else { + //Use the default value from settings (the $max_domains variable contains the default value already). + } //Lets check if any product specific expiry date is set + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_date_of_expiry'", OBJECT); + if ($product_meta) { + //Found product specific SLM config data. + $num_days_before_expiry = $product_meta->meta_value; + $slm_date_of_expiry = date('Y-m-d', strtotime('+'.$num_days_before_expiry.' days')); + } else { + //Use the default value (1 year from today). + $current_date_plus_1year = date('Y-m-d', strtotime('+1 year')); + $slm_date_of_expiry = $current_date_plus_1year; + } + + + $fields = array(); + $fields['license_key'] = uniqid($lic_key_prefix); + $fields['lic_status'] = 'pending'; + $fields['first_name'] = $payment_data['first_name']; + $fields['last_name'] = $payment_data['last_name']; + $fields['email'] = $payment_data['payer_email']; + $fields['company_name'] = $payment_data['company_name']; + $fields['txn_id'] = $payment_data['txn_id']; + $fields['max_allowed_domains'] = $max_domains; + $fields['max_allowed_devices'] = $max_devices; + $fields['date_created'] = date("Y-m-d"); //Today's date + $fields['date_expiry'] = $slm_date_of_expiry; + + $slm_debug_logger->log_debug('Inserting license data into the license manager DB table.'); + $fields = array_filter($fields); //Remove any null values. + + + $tbl_name = SLM_TBL_LICENSE_KEYS; + $result = $wpdb->insert($tbl_name, $fields); + if (!$result) { + $slm_debug_logger->log_debug('Notice! initial database table insert failed on license key table (User Email: ' . $fields['email'] . '). Trying again by converting charset', true); + //Convert the default PayPal IPN charset to UTF-8 format + $first_name = mb_convert_encoding($fields['first_name'], "UTF-8", "windows-1252"); + $fields['first_name'] = esc_sql($first_name); + $last_name = mb_convert_encoding($fields['last_name'], "UTF-8", "windows-1252"); + $fields['last_name'] = esc_sql($last_name); + $company_name = mb_convert_encoding($fields['company_name'], "UTF-8", "windows-1252"); + $fields['company_name'] = esc_sql($company_name); + + $result = $wpdb->insert($tbl_name, $fields); + if (!$result) { + $slm_debug_logger->log_debug('Error! Failed to update license key table. DB insert query failed.', false); + } + } + //SLM_API_Utility::insert_license_data_internal($fields); + + return $fields['license_key']; +} + +/* Code to handle the eStore's product add/edit interface for SLM specific product configuration */ +add_filter('eStore_addon_product_settings_filter', 'slm_estore_product_configuration_html', 10, 2); //Render the product add/edit HTML +add_action('eStore_new_product_added', 'slm_estore_new_product_added', 10, 2); //Handle the DB insert after a product add. +add_action('eStore_product_updated', 'slm_estore_product_updated', 10, 2); //Handle the DB update after a product edit. +add_action('eStore_product_deleted', 'slm_estore_product_deleted'); //Handle the DB delete after a product delete. + +function slm_estore_product_configuration_html($product_config_html, $prod_id) { + global $wpdb; + $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; + + if (empty($prod_id)) { + //New product add + $slm_max_allowed_domains = ""; + $slm_max_allowed_devices = ""; + $slm_date_of_expiry = ""; + } else { + //Existing product edit + + //Retrieve the max domain value + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_domains'", OBJECT); + if ($product_meta) { + $slm_max_allowed_domains = $product_meta->meta_value; + } else { + $slm_max_allowed_domains = ""; + } + + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_devices'", OBJECT); + if ($product_meta) { + $slm_max_allowed_devices = $product_meta->meta_value; + } else { + $slm_max_allowed_devices = ""; + } + + //Retrieve the expiry date value + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_date_of_expiry'", OBJECT); + if ($product_meta) { + $slm_date_of_expiry = $product_meta->meta_value; + } else { + $slm_date_of_expiry = ""; + } + + } + + $product_config_html .= '
Software License Manager Plugin (Click to Expand)
'; + + $product_config_html .= ''; + + $product_config_html .= ''; + + $product_config_html .= ''; + + $product_config_html .= '
Maximum Allowed Domains'; + $product_config_html .= ''; + $product_config_html .= '

Number of domains/installs in which this license can be used. Leave blank if you wish to use the default value set in the license manager plugin settings.

'; + $product_config_html .= '
Maximum Allowed Devices'; + $product_config_html .= ''; + $product_config_html .= '

Number of devices in which this license can be used. Leave blank if you wish to use the default value set in the license manager plugin settings.

'; + $product_config_html .= '
Number of Days before Expiry'; + $product_config_html .= ' Days'; + $product_config_html .= '

Number of days before expiry. The expiry date of the license will be set based on this value. For example, if you want the key to expire in 6 months then enter a value of 180.

'; + $product_config_html .= '
'; + + return $product_config_html; +} + +function slm_estore_new_product_added($prod_dat_array, $prod_id) { + global $wpdb; + $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; + + //Save max domain value + $fields = array(); + $fields['prod_id'] = $prod_id; + $fields['meta_key'] = 'slm_max_allowed_domains'; + $fields['meta_value'] = $prod_dat_array['slm_max_allowed_domains']; + $fields['meta_key'] = 'slm_max_allowed_devices'; + $fields['meta_value'] = $prod_dat_array['slm_max_allowed_devices']; + $result = $wpdb->insert($product_meta_table_name, $fields); + if (!$result) { + //insert query failed + } + + //Save expiry date value + $fields = array(); + $fields['prod_id'] = $prod_id; + $fields['meta_key'] = 'slm_date_of_expiry'; + $fields['meta_value'] = $prod_dat_array['slm_date_of_expiry']; + $result = $wpdb->insert($product_meta_table_name, $fields); + if (!$result) { + //insert query failed + } + +} + +function slm_estore_product_updated($prod_dat_array, $prod_id) { + global $wpdb; + $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; + + //Find the existing value for the max domains field (for the given product) + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_domains'", OBJECT); + if ($product_meta) { + //Found existing value so lets update it + $fields = array(); + $fields['meta_key'] = 'slm_max_allowed_domains'; + $fields['meta_key'] = 'slm_max_allowed_devices'; + $fields['meta_value'] = $prod_dat_array['slm_max_allowed_domains']; + $fields['meta_value'] = $prod_dat_array['slm_max_allowed_devices']; + $result = $wpdb->update($product_meta_table_name, $fields, array('prod_id' => $prod_id)); + + } else { + //No value for this field was there so lets insert one. + $fields = array(); + $fields['prod_id'] = $prod_id; + $fields['meta_key'] = 'slm_max_allowed_domains'; + $fields['meta_key'] = 'slm_max_allowed_devices'; + $fields['meta_value'] = $prod_dat_array['slm_max_allowed_domains']; + $fields['meta_value'] = $prod_dat_array['slm_max_allowed_devices']; + $result = $wpdb->insert($product_meta_table_name, $fields); + } + + //Find the existing value for the expiry date field (for the given product) + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_date_of_expiry'", OBJECT); + if ($product_meta) { + //Found existing value so lets update it + $fields = array(); + $fields['meta_key'] = 'slm_date_of_expiry'; + $fields['meta_value'] = $prod_dat_array['slm_date_of_expiry']; + $result = $wpdb->update($product_meta_table_name, $fields, array('prod_id' => $prod_id)); + + } else { + //No value for this field was there so lets insert one. + $fields = array(); + $fields['prod_id'] = $prod_id; + $fields['meta_key'] = 'slm_date_of_expiry'; + $fields['meta_value'] = $prod_dat_array['slm_date_of_expiry']; + $result = $wpdb->insert($product_meta_table_name, $fields); + } + +} + +function slm_estore_product_deleted($prod_id) { + global $wpdb; + $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; + + $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_max_allowed_domains')); + $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_max_allowed_devices')); + $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_date_of_expiry')); +} + +/************************************/ +/*** End of WP eStore integration ***/ /************************************/ \ No newline at end of file diff --git a/software-license-manager/includes/slm-utility.php b/software-license-manager/includes/slm-utility.php index 1142aee..eb9a678 100644 --- a/software-license-manager/includes/slm-utility.php +++ b/software-license-manager/includes/slm-utility.php @@ -1,74 +1,73 @@ -prepare("SELECT * FROM $tbl_name WHERE lic_status !=%s", 'expired');//Load the non-expired keys - $licenses = $wpdb->get_results($sql_prep, OBJECT); - if(!$licenses){ - SLM_Debug_Logger::log_debug_st("do_auto_key_expiry() - no license keys found."); - return false; - } - - foreach($licenses as $license){ - $key = $license->license_key; - $expiry_date = $license->date_expiry; - if ($expiry_date == '0000-00-00'){ - SLM_Debug_Logger::log_debug_st("This key (".$key.") doesn't have a valid expiry date set. The expiry of this key will not be checked."); - continue; - } - - $today_dt = new DateTime($current_date); - $expire_dt = new DateTime($expiry_date); - if ($today_dt > $expire_dt) { - //This key has reached the expiry. So expire this key. - SLM_Debug_Logger::log_debug_st("This key (".$key.") has expired. Expiry date: ".$expiry_date.". Setting license key status to expired."); - $data = array('lic_status' => 'expired'); - $where = array('id' => $license->id); - $updated = $wpdb->update($tbl_name, $data, $where); - do_action('slm_license_key_expired',$license->id);//Trigger the license expired action hook. - } - - } - } - - /* - * Deletes a license key from the licenses table - */ - static function delete_license_key_by_row_id($key_row_id) { - global $wpdb; - $license_table = SLM_TBL_LICENSE_KEYS; - - //First delete the registered domains entry of this key (if any). - SLM_Utility::delete_registered_domains_of_key($key_row_id); - - //Now, delete the key from the licenses table. - $wpdb->delete( $license_table, array( 'id' => $key_row_id ) ); - - } - - /* - * Deletes any registered domains info from the domain table for the given key's row id. - */ - static function delete_registered_domains_of_key($key_row_id) { - global $slm_debug_logger; - global $wpdb; - $reg_table = SLM_TBL_LIC_DOMAIN; - $sql_prep = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key_id = %s", $key_row_id); - $reg_domains = $wpdb->get_results($sql_prep, OBJECT); - foreach ($reg_domains as $domain) { - $row_to_delete = $domain->id; - $wpdb->delete( $reg_table, array( 'id' => $row_to_delete ) ); - //$slm_debug_logger->log_debug("Registered domain with row id (".$row_to_delete.") deleted."); - } - } - -} - +prepare("SELECT * FROM $tbl_name WHERE lic_status !=%s", 'expired');//Load the non-expired keys + $licenses = $wpdb->get_results($sql_prep, OBJECT); + if(!$licenses){ + SLM_Debug_Logger::log_debug_st("do_auto_key_expiry() - no license keys found."); + return false; + } + + foreach($licenses as $license){ + $key = $license->license_key; + $expiry_date = $license->date_expiry; + if ($expiry_date == '0000-00-00'){ + SLM_Debug_Logger::log_debug_st("This key (".$key.") doesn't have a valid expiry date set. The expiry of this key will not be checked."); + continue; + } + + $today_dt = new DateTime($current_date); + $expire_dt = new DateTime($expiry_date); + if ($today_dt > $expire_dt) { + //This key has reached the expiry. So expire this key. + SLM_Debug_Logger::log_debug_st("This key (".$key.") has expired. Expiry date: ".$expiry_date.". Setting license key status to expired."); + $data = array('lic_status' => 'expired'); + $where = array('id' => $license->id); + $updated = $wpdb->update($tbl_name, $data, $where); + do_action('slm_license_key_expired',$license->id);//Trigger the license expired action hook. + } + + } + } + + /* + * Deletes a license key from the licenses table + */ + static function delete_license_key_by_row_id($key_row_id) { + global $wpdb; + $license_table = SLM_TBL_LICENSE_KEYS; + + //First delete the registered domains entry of this key (if any). + SLM_Utility::delete_registered_domains_of_key($key_row_id); + + //Now, delete the key from the licenses table. + $wpdb->delete( $license_table, array( 'id' => $key_row_id ) ); + + } + + /* + * Deletes any registered domains info from the domain table for the given key's row id. + */ + static function delete_registered_domains_of_key($key_row_id) { + global $slm_debug_logger; + global $wpdb; + $reg_table = SLM_TBL_LIC_DOMAIN; + $sql_prep = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key_id = %s", $key_row_id); + $reg_domains = $wpdb->get_results($sql_prep, OBJECT); + foreach ($reg_domains as $domain) { + $row_to_delete = $domain->id; + $wpdb->delete( $reg_table, array( 'id' => $row_to_delete ) ); + //$slm_debug_logger->log_debug("Registered domain with row id (".$row_to_delete.") deleted."); + } + } + +} \ No newline at end of file diff --git a/software-license-manager/js/wplm-custom-admin.js b/software-license-manager/js/wplm-custom-admin.js index fb6639a..313fbc1 100644 --- a/software-license-manager/js/wplm-custom-admin.js +++ b/software-license-manager/js/wplm-custom-admin.js @@ -1,11 +1,11 @@ -jQuery(document).ready(function($){ - //Add date picker listener on date fields - if ($.fn.datepicker){ - $('.wplm_pick_date').datepicker({ - dateFormat : 'yy-mm-dd' - }); - } - - //Add other admin side only jquery code below - +jQuery(document).ready(function($){ + //Add date picker listener on date fields + if ($.fn.datepicker){ + $('.wplm_pick_date').datepicker({ + dateFormat : 'yy-mm-dd' + }); + } + + //Add other admin side only jquery code below + }); \ No newline at end of file diff --git a/software-license-manager/menu/includes/slm-list-table-class.php b/software-license-manager/menu/includes/slm-list-table-class.php index 82e9df9..466af4f 100644 --- a/software-license-manager/menu/includes/slm-list-table-class.php +++ b/software-license-manager/menu/includes/slm-list-table-class.php @@ -1,907 +1,907 @@ - '', - 'singular' => '', - 'ajax' => false, - 'screen' => null, - ) ); - - $this->screen = convert_to_screen( $args['screen'] ); - - add_filter( "manage_{$this->screen->id}_columns", array( &$this, 'get_columns' ), 0 ); - - if ( !$args['plural'] ) - $args['plural'] = $this->screen->base; - - $args['plural'] = sanitize_key( $args['plural'] ); - $args['singular'] = sanitize_key( $args['singular'] ); - - $this->_args = $args; - - if ( $args['ajax'] ) { - // wp_enqueue_script( 'list-table' ); - add_action( 'admin_footer', array( &$this, '_js_vars' ) ); - } - } - - /** - * Checks the current user's permissions - * @uses wp_die() - * - * @since 3.1.0 - * @access public - * @abstract - */ - function ajax_user_can() { - die( 'function WP_Photo_Seller_List_Table::ajax_user_can() must be over-ridden in a sub-class.' ); - } - - /** - * Prepares the list of items for displaying. - * @uses WP_Photo_Seller_List_Table::set_pagination_args() - * - * @since 3.1.0 - * @access public - * @abstract - */ - function prepare_items() { - die( 'function WP_Photo_Seller_List_Table::prepare_items() must be over-ridden in a sub-class.' ); - } - - /** - * An internal method that sets all the necessary pagination arguments - * - * @param array $args An associative array with information about the pagination - * @access protected - */ - function set_pagination_args( $args ) { - $args = wp_parse_args( $args, array( - 'total_items' => 0, - 'total_pages' => 0, - 'per_page' => 0, - ) ); - - if ( !$args['total_pages'] && $args['per_page'] > 0 ) - $args['total_pages'] = ceil( $args['total_items'] / $args['per_page'] ); - - // redirect if page number is invalid and headers are not already sent - if ( ! headers_sent() && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) && $args['total_pages'] > 0 && $this->get_pagenum() > $args['total_pages'] ) { - wp_redirect( esc_url(add_query_arg( 'paged', $args['total_pages'] )) ); - exit; - } - - $this->_pagination_args = $args; - } - - /** - * Access the pagination args - * - * @since 3.1.0 - * @access public - * - * @param string $key - * @return array - */ - function get_pagination_arg( $key ) { - if ( 'page' == $key ) - return $this->get_pagenum(); - - if ( isset( $this->_pagination_args[$key] ) ) - return $this->_pagination_args[$key]; - } - - /** - * Whether the table has items to display or not - * - * @since 3.1.0 - * @access public - * - * @return bool - */ - function has_items() { - return !empty( $this->items ); - } - - /** - * Message to be displayed when there are no items - * - * @since 3.1.0 - * @access public - */ - function no_items() { - _e( 'No items found.' ); - } - - /** - * Display the search box. - * - * @since 3.1.0 - * @access public - * - * @param string $text The search button text - * @param string $input_id The search input id - */ - function search_box( $text, $input_id ) { - if ( empty( $_REQUEST['s'] ) && !$this->has_items() ) - return; - - $input_id = $input_id . '-search-input'; - - if ( ! empty( $_REQUEST['orderby'] ) ) - echo ''; - if ( ! empty( $_REQUEST['order'] ) ) - echo ''; - if ( ! empty( $_REQUEST['post_mime_type'] ) ) - echo ''; - if ( ! empty( $_REQUEST['detached'] ) ) - echo ''; -?> - - link ) with the list - * of views available on this table. - * - * @since 3.1.0 - * @access protected - * - * @return array - */ - function get_views() { - return array(); - } - - /** - * Display the list of views available on this table. - * - * @since 3.1.0 - * @access public - */ - function views() { - $views = $this->get_views(); - $views = apply_filters( 'views_' . $this->screen->id, $views ); - - if ( empty( $views ) ) - return; - - echo "
    \n"; - foreach ( $views as $class => $view ) { - $views[ $class ] = "\t
  • $view"; - } - echo implode( " |
  • \n", $views ) . "\n"; - echo "
"; - } - - /** - * Get an associative array ( option_name => option_title ) with the list - * of bulk actions available on this table. - * - * @since 3.1.0 - * @access protected - * - * @return array - */ - function get_bulk_actions() { - return array(); - } - - /** - * Display the bulk actions dropdown. - * - * @since 3.1.0 - * @access public - */ - function bulk_actions() { - if ( is_null( $this->_actions ) ) { - $no_new_actions = $this->_actions = $this->get_bulk_actions(); - // This filter can currently only be used to remove actions. - $this->_actions = apply_filters( 'bulk_actions-' . $this->screen->id, $this->_actions ); - $this->_actions = array_intersect_assoc( $this->_actions, $no_new_actions ); - $two = ''; - } else { - $two = '2'; - } - - if ( empty( $this->_actions ) ) - return; - - echo "\n"; - - submit_button( __( 'Apply' ), 'action', false, false, array( 'id' => "doaction$two" ) ); - echo "\n"; - } - - /** - * Get the current action selected from the bulk actions dropdown. - * - * @since 3.1.0 - * @access public - * - * @return string|bool The action name or False if no action was selected - */ - function current_action() { - if ( isset( $_REQUEST['action'] ) && -1 != $_REQUEST['action'] ) - return $_REQUEST['action']; - - if ( isset( $_REQUEST['action2'] ) && -1 != $_REQUEST['action2'] ) - return $_REQUEST['action2']; - - return false; - } - - /** - * Generate row actions div - * - * @since 3.1.0 - * @access protected - * - * @param array $actions The list of actions - * @param bool $always_visible Whether the actions should be always visible - * @return string - */ - function row_actions( $actions, $always_visible = false ) { - $action_count = count( $actions ); - $i = 0; - - if ( !$action_count ) - return ''; - - $out = '
'; - foreach ( $actions as $action => $link ) { - ++$i; - ( $i == $action_count ) ? $sep = '' : $sep = ' | '; - $out .= "$link$sep"; - } - $out .= '
'; - - return $out; - } - - /** - * Display a monthly dropdown for filtering items - * - * @since 3.1.0 - * @access protected - */ - function months_dropdown( $post_type ) { - global $wpdb, $wp_locale; - - $months = $wpdb->get_results( $wpdb->prepare( " - SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month - FROM $wpdb->posts - WHERE post_type = %s - ORDER BY post_date DESC - ", $post_type ) ); - - $month_count = count( $months ); - - if ( !$month_count || ( 1 == $month_count && 0 == $months[0]->month ) ) - return; - - $m = isset( $_GET['m'] ) ? (int) $_GET['m'] : 0; -?> - - __( 'List View' ), - 'excerpt' => __( 'Excerpt View' ) - ); - -?> - -
- $title ) { - $class = ( $current_mode == $mode ) ? 'class="current"' : ''; - echo "$title\n"; - } - ?> -
-'; - - echo "" . number_format_i18n( get_comments_number() ) . ""; - - if ( $pending_comments ) - echo ''; - } - - /** - * Get the current page number - * - * @since 3.1.0 - * @access protected - * - * @return int - */ - function get_pagenum() { - $pagenum = isset( $_REQUEST['paged'] ) ? absint( $_REQUEST['paged'] ) : 0; - - if( isset( $this->_pagination_args['total_pages'] ) && $pagenum > $this->_pagination_args['total_pages'] ) - $pagenum = $this->_pagination_args['total_pages']; - - return max( 1, $pagenum ); - } - - /** - * Get number of items to display on a single page - * - * @since 3.1.0 - * @access protected - * - * @return int - */ - function get_items_per_page( $option, $default = 20 ) { - $per_page = (int) get_user_option( $option ); - if ( empty( $per_page ) || $per_page < 1 ) - $per_page = $default; - - return (int) apply_filters( $option, $per_page ); - } - - /** - * Display the pagination. - * - * @since 3.1.0 - * @access protected - */ - function pagination( $which ) { - if ( empty( $this->_pagination_args ) ) - return; - - extract( $this->_pagination_args, EXTR_SKIP ); - - $output = '' . sprintf( _n( '1 item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . ''; - - $current = $this->get_pagenum(); - - $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ); - - $current_url = remove_query_arg( array( 'hotkeys_highlight_last', 'hotkeys_highlight_first' ), $current_url ); - - $page_links = array(); - - $disable_first = $disable_last = ''; - if ( $current == 1 ) - $disable_first = ' disabled'; - if ( $current == $total_pages ) - $disable_last = ' disabled'; - - $page_links[] = sprintf( "%s", - 'first-page' . $disable_first, - esc_attr__( 'Go to the first page' ), - esc_url( remove_query_arg( 'paged', $current_url ) ), - '«' - ); - - $page_links[] = sprintf( "%s", - 'prev-page' . $disable_first, - esc_attr__( 'Go to the previous page' ), - esc_url( add_query_arg( 'paged', max( 1, $current-1 ), $current_url ) ), - '‹' - ); - - if ( 'bottom' == $which ) - $html_current_page = $current; - else - $html_current_page = sprintf( "", - esc_attr__( 'Current page' ), - $current, - strlen( $total_pages ) - ); - - $html_total_pages = sprintf( "%s", number_format_i18n( $total_pages ) ); - $page_links[] = '' . sprintf( _x( '%1$s of %2$s', 'paging' ), $html_current_page, $html_total_pages ) . ''; - - $page_links[] = sprintf( "%s", - 'next-page' . $disable_last, - esc_attr__( 'Go to the next page' ), - esc_url( add_query_arg( 'paged', min( $total_pages, $current+1 ), $current_url ) ), - '›' - ); - - $page_links[] = sprintf( "%s", - 'last-page' . $disable_last, - esc_attr__( 'Go to the last page' ), - esc_url( add_query_arg( 'paged', $total_pages, $current_url ) ), - '»' - ); - - $pagination_links_class = 'pagination-links'; - if ( ! empty( $infinite_scroll ) ) - $pagination_links_class = ' hide-if-js'; - $output .= "\n" . join( "\n", $page_links ) . ''; - - if ( $total_pages ) - $page_class = $total_pages < 2 ? ' one-page' : ''; - else - $page_class = ' no-pages'; - - $this->_pagination = "
$output
"; - - echo $this->_pagination; - } - - /** - * Get a list of columns. The format is: - * 'internal-name' => 'Title' - * - * @since 3.1.0 - * @access protected - * @abstract - * - * @return array - */ - function get_columns() { - die( 'function WP_Photo_Seller_List_Table::get_columns() must be over-ridden in a sub-class.' ); - } - - /** - * Get a list of sortable columns. The format is: - * 'internal-name' => 'orderby' - * or - * 'internal-name' => array( 'orderby', true ) - * - * The second format will make the initial sorting order be descending - * - * @since 3.1.0 - * @access protected - * - * @return array - */ - function get_sortable_columns() { - return array(); - } - - /** - * Get a list of all, hidden and sortable columns, with filter applied - * - * @since 3.1.0 - * @access protected - * - * @return array - */ - function get_column_info() { - if ( isset( $this->_column_headers ) ) - return $this->_column_headers; - - $columns = get_column_headers( $this->screen ); - $hidden = get_hidden_columns( $this->screen ); - - $_sortable = apply_filters( "manage_{$this->screen->id}_sortable_columns", $this->get_sortable_columns() ); - - $sortable = array(); - foreach ( $_sortable as $id => $data ) { - if ( empty( $data ) ) - continue; - - $data = (array) $data; - if ( !isset( $data[1] ) ) - $data[1] = false; - - $sortable[$id] = $data; - } - - $this->_column_headers = array( $columns, $hidden, $sortable ); - - return $this->_column_headers; - } - - /** - * Return number of visible columns - * - * @since 3.1.0 - * @access public - * - * @return int - */ - function get_column_count() { - list ( $columns, $hidden ) = $this->get_column_info(); - $hidden = array_intersect( array_keys( $columns ), array_filter( $hidden ) ); - return count( $columns ) - count( $hidden ); - } - - /** - * Print column headers, accounting for hidden and sortable columns. - * - * @since 3.1.0 - * @access protected - * - * @param bool $with_id Whether to set the id attribute or not - */ - function print_column_headers( $with_id = true ) { - list( $columns, $hidden, $sortable ) = $this->get_column_info(); - - $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ); - $current_url = remove_query_arg( 'paged', $current_url ); - - if ( isset( $_GET['orderby'] ) ) - $current_orderby = $_GET['orderby']; - else - $current_orderby = ''; - - if ( isset( $_GET['order'] ) && 'desc' == $_GET['order'] ) - $current_order = 'desc'; - else - $current_order = 'asc'; - - if ( ! empty( $columns['cb'] ) ) { - static $cb_counter = 1; - $columns['cb'] = '' - . ''; - $cb_counter++; - } - - foreach ( $columns as $column_key => $column_display_name ) { - $class = array( 'manage-column', "column-$column_key" ); - - $style = ''; - if ( in_array( $column_key, $hidden ) ) - $style = 'display:none;'; - - $style = ' style="' . $style . '"'; - - if ( 'cb' == $column_key ) - $class[] = 'check-column'; - elseif ( in_array( $column_key, array( 'posts', 'comments', 'links' ) ) ) - $class[] = 'num'; - - if ( isset( $sortable[$column_key] ) ) { - list( $orderby, $desc_first ) = $sortable[$column_key]; - - if ( $current_orderby == $orderby ) { - $order = 'asc' == $current_order ? 'desc' : 'asc'; - $class[] = 'sorted'; - $class[] = $current_order; - } else { - $order = $desc_first ? 'desc' : 'asc'; - $class[] = 'sortable'; - $class[] = $desc_first ? 'asc' : 'desc'; - } - - $column_display_name = '' . $column_display_name . ''; - } - - $id = $with_id ? "id='$column_key'" : ''; - - if ( !empty( $class ) ) - $class = "class='" . join( ' ', $class ) . "'"; - - echo "$column_display_name"; - } - } - - /** - * Display the table - * - * @since 3.1.0 - * @access public - */ - function display() { - extract( $this->_args ); - - $this->display_tablenav( 'top' ); - -?> - - - - print_column_headers(); ?> - - - - - - print_column_headers( false ); ?> - - - - > - display_rows_or_placeholder(); ?> - -
-display_tablenav( 'bottom' ); - } - - /** - * Get a list of CSS classes for the tag - * - * @since 3.1.0 - * @access protected - * - * @return array - */ - function get_table_classes() { - return array( 'widefat', 'fixed', $this->_args['plural'] ); - } - - /** - * Generate the table navigation above or below the table - * - * @since 3.1.0 - * @access protected - */ - function display_tablenav( $which ) { - if ( 'top' == $which ) - wp_nonce_field( 'bulk-' . $this->_args['plural'] ); -?> -
- -
- bulk_actions(); ?> -
-extra_tablenav( $which ); - $this->pagination( $which ); -?> - -
-
- part of the table - * - * @since 3.1.0 - * @access protected - */ - function display_rows_or_placeholder() { - if ( $this->has_items() ) { - $this->display_rows(); - } else { - list( $columns, $hidden ) = $this->get_column_info(); - echo ''; - } - } - - /** - * Generate the table rows - * - * @since 3.1.0 - * @access protected - */ - function display_rows() { - foreach ( $this->items as $item ) - $this->single_row( $item ); - } - - /** - * Generates content for a single row of the table - * - * @since 3.1.0 - * @access protected - * - * @param object $item The current item - */ - function single_row( $item ) { - static $row_class = ''; - $row_class = ( $row_class == '' ? ' class="alternate"' : '' ); - - echo ''; - echo $this->single_row_columns( $item ); - echo ''; - } - - /** - * Generates the columns for a single row of the table - * - * @since 3.1.0 - * @access protected - * - * @param object $item The current item - */ - function single_row_columns( $item ) { - list( $columns, $hidden ) = $this->get_column_info(); - - foreach ( $columns as $column_name => $column_display_name ) { - $class = "class='$column_name column-$column_name'"; - - $style = ''; - if ( in_array( $column_name, $hidden ) ) - $style = ' style="display:none;"'; - - $attributes = "$class$style"; - - if ( 'cb' == $column_name ) { - echo ''; - } - elseif ( method_exists( $this, 'column_' . $column_name ) ) { - echo ""; - } - else { - echo ""; - } - } - } - - /** - * Handle an incoming ajax request (called from admin-ajax.php) - * - * @since 3.1.0 - * @access public - */ - function ajax_response() { - $this->prepare_items(); - - extract( $this->_args ); - extract( $this->_pagination_args, EXTR_SKIP ); - - ob_start(); - if ( ! empty( $_REQUEST['no_placeholder'] ) ) - $this->display_rows(); - else - $this->display_rows_or_placeholder(); - - $rows = ob_get_clean(); - - $response = array( 'rows' => $rows ); - - if ( isset( $total_items ) ) - $response['total_items_i18n'] = sprintf( _n( '1 item', '%s items', $total_items ), number_format_i18n( $total_items ) ); - - if ( isset( $total_pages ) ) { - $response['total_pages'] = $total_pages; - $response['total_pages_i18n'] = number_format_i18n( $total_pages ); - } - - die( json_encode( $response ) ); - } - - /** - * Send required variables to JavaScript land - * - * @access private - */ - function _js_vars() { - $args = array( - 'class' => get_class( $this ), - 'screen' => array( - 'id' => $this->screen->id, - 'base' => $this->screen->base, - ) - ); - - printf( "\n", json_encode( $args ) ); - } -} + '', + 'singular' => '', + 'ajax' => false, + 'screen' => null, + ) ); + + $this->screen = convert_to_screen( $args['screen'] ); + + add_filter( "manage_{$this->screen->id}_columns", array( &$this, 'get_columns' ), 0 ); + + if ( !$args['plural'] ) + $args['plural'] = $this->screen->base; + + $args['plural'] = sanitize_key( $args['plural'] ); + $args['singular'] = sanitize_key( $args['singular'] ); + + $this->_args = $args; + + if ( $args['ajax'] ) { + // wp_enqueue_script( 'list-table' ); + add_action( 'admin_footer', array( &$this, '_js_vars' ) ); + } + } + + /** + * Checks the current user's permissions + * @uses wp_die() + * + * @since 3.1.0 + * @access public + * @abstract + */ + function ajax_user_can() { + die( 'function WP_Photo_Seller_List_Table::ajax_user_can() must be over-ridden in a sub-class.' ); + } + + /** + * Prepares the list of items for displaying. + * @uses WP_Photo_Seller_List_Table::set_pagination_args() + * + * @since 3.1.0 + * @access public + * @abstract + */ + function prepare_items() { + die( 'function WP_Photo_Seller_List_Table::prepare_items() must be over-ridden in a sub-class.' ); + } + + /** + * An internal method that sets all the necessary pagination arguments + * + * @param array $args An associative array with information about the pagination + * @access protected + */ + function set_pagination_args( $args ) { + $args = wp_parse_args( $args, array( + 'total_items' => 0, + 'total_pages' => 0, + 'per_page' => 0, + ) ); + + if ( !$args['total_pages'] && $args['per_page'] > 0 ) + $args['total_pages'] = ceil( $args['total_items'] / $args['per_page'] ); + + // redirect if page number is invalid and headers are not already sent + if ( ! headers_sent() && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) && $args['total_pages'] > 0 && $this->get_pagenum() > $args['total_pages'] ) { + wp_redirect( esc_url(add_query_arg( 'paged', $args['total_pages'] )) ); + exit; + } + + $this->_pagination_args = $args; + } + + /** + * Access the pagination args + * + * @since 3.1.0 + * @access public + * + * @param string $key + * @return array + */ + function get_pagination_arg( $key ) { + if ( 'page' == $key ) + return $this->get_pagenum(); + + if ( isset( $this->_pagination_args[$key] ) ) + return $this->_pagination_args[$key]; + } + + /** + * Whether the table has items to display or not + * + * @since 3.1.0 + * @access public + * + * @return bool + */ + function has_items() { + return !empty( $this->items ); + } + + /** + * Message to be displayed when there are no items + * + * @since 3.1.0 + * @access public + */ + function no_items() { + _e( 'No items found.' ); + } + + /** + * Display the search box. + * + * @since 3.1.0 + * @access public + * + * @param string $text The search button text + * @param string $input_id The search input id + */ + function search_box( $text, $input_id ) { + if ( empty( $_REQUEST['s'] ) && !$this->has_items() ) + return; + + $input_id = $input_id . '-search-input'; + + if ( ! empty( $_REQUEST['orderby'] ) ) + echo ''; + if ( ! empty( $_REQUEST['order'] ) ) + echo ''; + if ( ! empty( $_REQUEST['post_mime_type'] ) ) + echo ''; + if ( ! empty( $_REQUEST['detached'] ) ) + echo ''; +?> + + link ) with the list + * of views available on this table. + * + * @since 3.1.0 + * @access protected + * + * @return array + */ + function get_views() { + return array(); + } + + /** + * Display the list of views available on this table. + * + * @since 3.1.0 + * @access public + */ + function views() { + $views = $this->get_views(); + $views = apply_filters( 'views_' . $this->screen->id, $views ); + + if ( empty( $views ) ) + return; + + echo "
    \n"; + foreach ( $views as $class => $view ) { + $views[ $class ] = "\t
  • $view"; + } + echo implode( " |
  • \n", $views ) . "\n"; + echo "
"; + } + + /** + * Get an associative array ( option_name => option_title ) with the list + * of bulk actions available on this table. + * + * @since 3.1.0 + * @access protected + * + * @return array + */ + function get_bulk_actions() { + return array(); + } + + /** + * Display the bulk actions dropdown. + * + * @since 3.1.0 + * @access public + */ + function bulk_actions() { + if ( is_null( $this->_actions ) ) { + $no_new_actions = $this->_actions = $this->get_bulk_actions(); + // This filter can currently only be used to remove actions. + $this->_actions = apply_filters( 'bulk_actions-' . $this->screen->id, $this->_actions ); + $this->_actions = array_intersect_assoc( $this->_actions, $no_new_actions ); + $two = ''; + } else { + $two = '2'; + } + + if ( empty( $this->_actions ) ) + return; + + echo "\n"; + + submit_button( __( 'Apply' ), 'action', false, false, array( 'id' => "doaction$two" ) ); + echo "\n"; + } + + /** + * Get the current action selected from the bulk actions dropdown. + * + * @since 3.1.0 + * @access public + * + * @return string|bool The action name or False if no action was selected + */ + function current_action() { + if ( isset( $_REQUEST['action'] ) && -1 != $_REQUEST['action'] ) + return $_REQUEST['action']; + + if ( isset( $_REQUEST['action2'] ) && -1 != $_REQUEST['action2'] ) + return $_REQUEST['action2']; + + return false; + } + + /** + * Generate row actions div + * + * @since 3.1.0 + * @access protected + * + * @param array $actions The list of actions + * @param bool $always_visible Whether the actions should be always visible + * @return string + */ + function row_actions( $actions, $always_visible = false ) { + $action_count = count( $actions ); + $i = 0; + + if ( !$action_count ) + return ''; + + $out = '
'; + foreach ( $actions as $action => $link ) { + ++$i; + ( $i == $action_count ) ? $sep = '' : $sep = ' | '; + $out .= "$link$sep"; + } + $out .= '
'; + + return $out; + } + + /** + * Display a monthly dropdown for filtering items + * + * @since 3.1.0 + * @access protected + */ + function months_dropdown( $post_type ) { + global $wpdb, $wp_locale; + + $months = $wpdb->get_results( $wpdb->prepare( " + SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month + FROM $wpdb->posts + WHERE post_type = %s + ORDER BY post_date DESC + ", $post_type ) ); + + $month_count = count( $months ); + + if ( !$month_count || ( 1 == $month_count && 0 == $months[0]->month ) ) + return; + + $m = isset( $_GET['m'] ) ? (int) $_GET['m'] : 0; +?> + + __( 'List View' ), + 'excerpt' => __( 'Excerpt View' ) + ); + +?> + +
+ $title ) { + $class = ( $current_mode == $mode ) ? 'class="current"' : ''; + echo "$title\n"; + } + ?> +
+'; + + echo "" . number_format_i18n( get_comments_number() ) . ""; + + if ( $pending_comments ) + echo ''; + } + + /** + * Get the current page number + * + * @since 3.1.0 + * @access protected + * + * @return int + */ + function get_pagenum() { + $pagenum = isset( $_REQUEST['paged'] ) ? absint( $_REQUEST['paged'] ) : 0; + + if( isset( $this->_pagination_args['total_pages'] ) && $pagenum > $this->_pagination_args['total_pages'] ) + $pagenum = $this->_pagination_args['total_pages']; + + return max( 1, $pagenum ); + } + + /** + * Get number of items to display on a single page + * + * @since 3.1.0 + * @access protected + * + * @return int + */ + function get_items_per_page( $option, $default = 20 ) { + $per_page = (int) get_user_option( $option ); + if ( empty( $per_page ) || $per_page < 1 ) + $per_page = $default; + + return (int) apply_filters( $option, $per_page ); + } + + /** + * Display the pagination. + * + * @since 3.1.0 + * @access protected + */ + function pagination( $which ) { + if ( empty( $this->_pagination_args ) ) + return; + + extract( $this->_pagination_args, EXTR_SKIP ); + + $output = '' . sprintf( _n( '1 item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . ''; + + $current = $this->get_pagenum(); + + $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ); + + $current_url = remove_query_arg( array( 'hotkeys_highlight_last', 'hotkeys_highlight_first' ), $current_url ); + + $page_links = array(); + + $disable_first = $disable_last = ''; + if ( $current == 1 ) + $disable_first = ' disabled'; + if ( $current == $total_pages ) + $disable_last = ' disabled'; + + $page_links[] = sprintf( "%s", + 'first-page' . $disable_first, + esc_attr__( 'Go to the first page' ), + esc_url( remove_query_arg( 'paged', $current_url ) ), + '«' + ); + + $page_links[] = sprintf( "%s", + 'prev-page' . $disable_first, + esc_attr__( 'Go to the previous page' ), + esc_url( add_query_arg( 'paged', max( 1, $current-1 ), $current_url ) ), + '‹' + ); + + if ( 'bottom' == $which ) + $html_current_page = $current; + else + $html_current_page = sprintf( "", + esc_attr__( 'Current page' ), + $current, + strlen( $total_pages ) + ); + + $html_total_pages = sprintf( "%s", number_format_i18n( $total_pages ) ); + $page_links[] = '' . sprintf( _x( '%1$s of %2$s', 'paging' ), $html_current_page, $html_total_pages ) . ''; + + $page_links[] = sprintf( "%s", + 'next-page' . $disable_last, + esc_attr__( 'Go to the next page' ), + esc_url( add_query_arg( 'paged', min( $total_pages, $current+1 ), $current_url ) ), + '›' + ); + + $page_links[] = sprintf( "%s", + 'last-page' . $disable_last, + esc_attr__( 'Go to the last page' ), + esc_url( add_query_arg( 'paged', $total_pages, $current_url ) ), + '»' + ); + + $pagination_links_class = 'pagination-links'; + if ( ! empty( $infinite_scroll ) ) + $pagination_links_class = ' hide-if-js'; + $output .= "\n" . join( "\n", $page_links ) . ''; + + if ( $total_pages ) + $page_class = $total_pages < 2 ? ' one-page' : ''; + else + $page_class = ' no-pages'; + + $this->_pagination = "
$output
"; + + echo $this->_pagination; + } + + /** + * Get a list of columns. The format is: + * 'internal-name' => 'Title' + * + * @since 3.1.0 + * @access protected + * @abstract + * + * @return array + */ + function get_columns() { + die( 'function WP_Photo_Seller_List_Table::get_columns() must be over-ridden in a sub-class.' ); + } + + /** + * Get a list of sortable columns. The format is: + * 'internal-name' => 'orderby' + * or + * 'internal-name' => array( 'orderby', true ) + * + * The second format will make the initial sorting order be descending + * + * @since 3.1.0 + * @access protected + * + * @return array + */ + function get_sortable_columns() { + return array(); + } + + /** + * Get a list of all, hidden and sortable columns, with filter applied + * + * @since 3.1.0 + * @access protected + * + * @return array + */ + function get_column_info() { + if ( isset( $this->_column_headers ) ) + return $this->_column_headers; + + $columns = get_column_headers( $this->screen ); + $hidden = get_hidden_columns( $this->screen ); + + $_sortable = apply_filters( "manage_{$this->screen->id}_sortable_columns", $this->get_sortable_columns() ); + + $sortable = array(); + foreach ( $_sortable as $id => $data ) { + if ( empty( $data ) ) + continue; + + $data = (array) $data; + if ( !isset( $data[1] ) ) + $data[1] = false; + + $sortable[$id] = $data; + } + + $this->_column_headers = array( $columns, $hidden, $sortable ); + + return $this->_column_headers; + } + + /** + * Return number of visible columns + * + * @since 3.1.0 + * @access public + * + * @return int + */ + function get_column_count() { + list ( $columns, $hidden ) = $this->get_column_info(); + $hidden = array_intersect( array_keys( $columns ), array_filter( $hidden ) ); + return count( $columns ) - count( $hidden ); + } + + /** + * Print column headers, accounting for hidden and sortable columns. + * + * @since 3.1.0 + * @access protected + * + * @param bool $with_id Whether to set the id attribute or not + */ + function print_column_headers( $with_id = true ) { + list( $columns, $hidden, $sortable ) = $this->get_column_info(); + + $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ); + $current_url = remove_query_arg( 'paged', $current_url ); + + if ( isset( $_GET['orderby'] ) ) + $current_orderby = $_GET['orderby']; + else + $current_orderby = ''; + + if ( isset( $_GET['order'] ) && 'desc' == $_GET['order'] ) + $current_order = 'desc'; + else + $current_order = 'asc'; + + if ( ! empty( $columns['cb'] ) ) { + static $cb_counter = 1; + $columns['cb'] = '' + . ''; + $cb_counter++; + } + + foreach ( $columns as $column_key => $column_display_name ) { + $class = array( 'manage-column', "column-$column_key" ); + + $style = ''; + if ( in_array( $column_key, $hidden ) ) + $style = 'display:none;'; + + $style = ' style="' . $style . '"'; + + if ( 'cb' == $column_key ) + $class[] = 'check-column'; + elseif ( in_array( $column_key, array( 'posts', 'comments', 'links' ) ) ) + $class[] = 'num'; + + if ( isset( $sortable[$column_key] ) ) { + list( $orderby, $desc_first ) = $sortable[$column_key]; + + if ( $current_orderby == $orderby ) { + $order = 'asc' == $current_order ? 'desc' : 'asc'; + $class[] = 'sorted'; + $class[] = $current_order; + } else { + $order = $desc_first ? 'desc' : 'asc'; + $class[] = 'sortable'; + $class[] = $desc_first ? 'asc' : 'desc'; + } + + $column_display_name = '' . $column_display_name . ''; + } + + $id = $with_id ? "id='$column_key'" : ''; + + if ( !empty( $class ) ) + $class = "class='" . join( ' ', $class ) . "'"; + + echo ""; + } + } + + /** + * Display the table + * + * @since 3.1.0 + * @access public + */ + function display() { + extract( $this->_args ); + + $this->display_tablenav( 'top' ); + +?> +
'; - $this->no_items(); - echo '
'; - echo $this->column_cb( $item ); - echo '"; - echo call_user_func( array( &$this, 'column_' . $column_name ), $item ); - echo ""; - echo $this->column_default( $item, $column_name ); - echo "$column_display_name
+ + + print_column_headers(); ?> + + + + + + print_column_headers( false ); ?> + + + + > + display_rows_or_placeholder(); ?> + +
+display_tablenav( 'bottom' ); + } + + /** + * Get a list of CSS classes for the tag + * + * @since 3.1.0 + * @access protected + * + * @return array + */ + function get_table_classes() { + return array( 'widefat', 'fixed', $this->_args['plural'] ); + } + + /** + * Generate the table navigation above or below the table + * + * @since 3.1.0 + * @access protected + */ + function display_tablenav( $which ) { + if ( 'top' == $which ) + wp_nonce_field( 'bulk-' . $this->_args['plural'] ); +?> +
+ +
+ bulk_actions(); ?> +
+extra_tablenav( $which ); + $this->pagination( $which ); +?> + +
+
+ part of the table + * + * @since 3.1.0 + * @access protected + */ + function display_rows_or_placeholder() { + if ( $this->has_items() ) { + $this->display_rows(); + } else { + list( $columns, $hidden ) = $this->get_column_info(); + echo ''; + } + } + + /** + * Generate the table rows + * + * @since 3.1.0 + * @access protected + */ + function display_rows() { + foreach ( $this->items as $item ) + $this->single_row( $item ); + } + + /** + * Generates content for a single row of the table + * + * @since 3.1.0 + * @access protected + * + * @param object $item The current item + */ + function single_row( $item ) { + static $row_class = ''; + $row_class = ( $row_class == '' ? ' class="alternate"' : '' ); + + echo ''; + echo $this->single_row_columns( $item ); + echo ''; + } + + /** + * Generates the columns for a single row of the table + * + * @since 3.1.0 + * @access protected + * + * @param object $item The current item + */ + function single_row_columns( $item ) { + list( $columns, $hidden ) = $this->get_column_info(); + + foreach ( $columns as $column_name => $column_display_name ) { + $class = "class='$column_name column-$column_name'"; + + $style = ''; + if ( in_array( $column_name, $hidden ) ) + $style = ' style="display:none;"'; + + $attributes = "$class$style"; + + if ( 'cb' == $column_name ) { + echo ''; + } + elseif ( method_exists( $this, 'column_' . $column_name ) ) { + echo ""; + } + else { + echo ""; + } + } + } + + /** + * Handle an incoming ajax request (called from admin-ajax.php) + * + * @since 3.1.0 + * @access public + */ + function ajax_response() { + $this->prepare_items(); + + extract( $this->_args ); + extract( $this->_pagination_args, EXTR_SKIP ); + + ob_start(); + if ( ! empty( $_REQUEST['no_placeholder'] ) ) + $this->display_rows(); + else + $this->display_rows_or_placeholder(); + + $rows = ob_get_clean(); + + $response = array( 'rows' => $rows ); + + if ( isset( $total_items ) ) + $response['total_items_i18n'] = sprintf( _n( '1 item', '%s items', $total_items ), number_format_i18n( $total_items ) ); + + if ( isset( $total_pages ) ) { + $response['total_pages'] = $total_pages; + $response['total_pages_i18n'] = number_format_i18n( $total_pages ); + } + + die( json_encode( $response ) ); + } + + /** + * Send required variables to JavaScript land + * + * @access private + */ + function _js_vars() { + $args = array( + 'class' => get_class( $this ), + 'screen' => array( + 'id' => $this->screen->id, + 'base' => $this->screen->base, + ) + ); + + printf( "\n", json_encode( $args ) ); + } +} diff --git a/software-license-manager/menu/slm-add-licenses.php b/software-license-manager/menu/slm-add-licenses.php index 6e76d00..3f9caa5 100644 --- a/software-license-manager/menu/slm-add-licenses.php +++ b/software-license-manager/menu/slm-add-licenses.php @@ -1,374 +1,394 @@ -'; - echo '

Add/Edit Licenses

'; - echo '
'; - - //If product is being edited, grab current product info - if (isset($_GET['edit_record'])) { - $errors = ''; - $id = $_GET['edit_record']; - $lk_table = SLM_TBL_LICENSE_KEYS; - $sql_prep = $wpdb->prepare("SELECT * FROM $lk_table WHERE id = %s", $id); - $record = $wpdb->get_row($sql_prep, OBJECT); - $license_key = $record->license_key; - $max_domains = $record->max_allowed_domains; - $max_devices = $record->max_allowed_devices; - $license_status = $record->lic_status; - $first_name = $record->first_name; - $last_name = $record->last_name; - $email = $record->email; - $company_name = $record->company_name; - $txn_id = $record->txn_id; - $reset_count = $record->manual_reset_count; - $created_date = $record->date_created; - $renewed_date = $record->date_renewed; - $expiry_date = $record->date_expiry; - } - - - if (isset($_POST['save_record'])) { - - //Check nonce - if ( !isset($_POST['slm_add_edit_nonce_val']) || !wp_verify_nonce($_POST['slm_add_edit_nonce_val'], 'slm_add_edit_nonce_action' )){ - //Nonce check failed. - wp_die("Error! Nonce verification failed for license save action."); - } - - do_action('slm_add_edit_interface_save_submission'); - - //TODO - do some validation - $license_key = $_POST['license_key']; - $max_domains = $_POST['max_allowed_domains']; - $max_devices = $_POST['max_allowed_devices']; - $license_status = $_POST['lic_status']; - $first_name = $_POST['first_name']; - $last_name = $_POST['last_name']; - $email = $_POST['email']; - $company_name = $_POST['company_name']; - $txn_id = $_POST['txn_id']; - $reset_count = $_POST['manual_reset_count']; - $created_date = $_POST['date_created']; - $renewed_date = $_POST['date_renewed']; - $expiry_date = $_POST['date_expiry']; - - if(empty($created_date)){ - $created_date = $current_date; - } - if(empty($renewed_date)){ - $renewed_date = $current_date; - } - if(empty($expiry_date)){ - $expiry_date = $current_date_plus_1year; - } - - //Save the entry to the database - $fields = array(); - $fields['license_key'] = $license_key; - $fields['max_allowed_domains'] = $max_domains; - $fields['max_allowed_devices'] = $max_devices; - $fields['lic_status'] = $license_status; - $fields['first_name'] = $first_name; - $fields['last_name'] = $last_name; - $fields['email'] = $email; - $fields['company_name'] = $company_name; - $fields['txn_id'] = $txn_id; - $fields['manual_reset_count'] = $reset_count; - $fields['date_created'] = $created_date; - $fields['date_renewed'] = $renewed_date; - $fields['date_expiry'] = $expiry_date; - - $id = isset($_POST['edit_record'])?$_POST['edit_record']:''; - $lk_table = SLM_TBL_LICENSE_KEYS; - if (empty($id)) {//Insert into database - $result = $wpdb->insert( $lk_table, $fields); - $id = $wpdb->insert_id; - if($result === false){ - $errors .= __('Record could not be inserted into the database!', 'slm'); - } - } else { //Update record - $where = array('id'=>$id); - $updated = $wpdb->update($lk_table, $fields, $where); - if($updated === false){ - //TODO - log error - $errors .= __('Update of the license key table failed!', 'slm'); - } - } - - if(empty($errors)){ - $message = "Record successfully saved!"; - echo '

'; - echo $message; - echo '

'; - }else{ - echo '
' . $errors . '
'; - } - - $data = array('row_id' => $id, 'key' => $license_key); - do_action('slm_add_edit_interface_save_record_processed',$data); - - } - -?> - - You can add a new license or edit an existing one from this interface. -

- -
-

-
- -
"> - -
'; + $this->no_items(); + echo '
'; + echo $this->column_cb( $item ); + echo '"; + echo call_user_func( array( &$this, 'column_' . $column_name ), $item ); + echo ""; + echo $this->column_default( $item, $column_name ); + echo "
- - '; - } else { - if(!isset($editing_record)){//Create an empty object - $editing_record = new stdClass(); - } - //Auto generate unique key - $lic_key_prefix = $slm_options['lic_prefix']; - if (!empty($lic_key_prefix)) { - $license_key = uniqid($lic_key_prefix); - } else { - $license_key = uniqid(); - } - } - ?> - - - - - - - - - - - - - - - - - - - - - prepare("SELECT * FROM $reg_table WHERE lic_key_id = %s", $id); - $reg_domains = $wpdb->get_results($sql_prep, OBJECT); - ?> - - - - - - - prepare("SELECT * FROM `$devices_table` WHERE `lic_key_id` = '%s'", $id); - $reg_devices = $wpdb->get_results($sql_prep2, OBJECT); - ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
License Key -
The unique license key. When adding a new record it automatically generates a unique key in this field for you. You can change this value to customize the key if you like.
Maximum Allowed Domains
Number of domains/installs in which this license can be used.
Maximum Allowed Devices
Number of domains/installs in which this license can be used.
License Status - -
Registered Domains 0) { - ?> -
-
- - - > - - - - -
registered_domain; ?>id ?>>X
-
- -
Registered Devices 0) { - ?> -
-
- - - > - - - - -
registered_devices; ?>id ?>>X
-
- -
First Name
License user's first name
Last Name
License user's last name
Email Address
License user's email address
Company Name
License user's company name
Unique Transaction ID
The unique transaction ID associated with this license key
Manual Reset Count -
The number of times this license has been manually reset by the admin (use it if you want to keep track of it). It can be helpful for the admin to keep track of manual reset counts.
Date Created -
Creation date of license.
Date Renewed -
Renewal date of license.
Date of Expiry -
Expiry date of license.
- - $id, 'key' => $license_key); - $extra_output = apply_filters('slm_add_edit_interface_above_submit','', $data); - if(!empty($extra_output)){ - echo $extra_output; - } - ?> - -
- -
- - - Manage Licenses

- - - - -'; + echo '

Add/Edit Licenses

'; + echo '
'; + + //If product is being edited, grab current product info + if (isset($_GET['edit_record'])) { + $errors = ''; + $id = $_GET['edit_record']; + $lk_table = SLM_TBL_LICENSE_KEYS; + $sql_prep = $wpdb->prepare("SELECT * FROM $lk_table WHERE id = %s", $id); + $record = $wpdb->get_row($sql_prep, OBJECT); + $license_key = $record->license_key; + $max_domains = $record->max_allowed_domains; + $max_devices = $record->max_allowed_devices; + $license_status = $record->lic_status; + $first_name = $record->first_name; + $last_name = $record->last_name; + $email = $record->email; + $company_name = $record->company_name; + $txn_id = $record->txn_id; + $reset_count = $record->manual_reset_count; + $purchaseid = $record->purchase_id_; + $created_date = $record->date_created; + $renewed_date = $record->date_renewed; + $expiry_date = $record->date_expiry; + $product_ref = $record->product_ref; + } + + + if (isset($_POST['save_record'])) { + + //Check nonce + if ( !isset($_POST['slm_add_edit_nonce_val']) || !wp_verify_nonce($_POST['slm_add_edit_nonce_val'], 'slm_add_edit_nonce_action' )){ + //Nonce check failed. + wp_die("Error! Nonce verification failed for license save action."); + } + + do_action('slm_add_edit_interface_save_submission'); + + //TODO - do some validation + $license_key = $_POST['license_key']; + $max_domains = $_POST['max_allowed_domains']; + $max_devices = $_POST['max_allowed_devices']; + $license_status = $_POST['lic_status']; + $first_name = $_POST['first_name']; + $last_name = $_POST['last_name']; + $email = $_POST['email']; + $company_name = $_POST['company_name']; + $txn_id = $_POST['txn_id']; + $reset_count = $_POST['manual_reset_count']; + $purchaseid = $_POST['purchase_id_']; + $created_date = $_POST['date_created']; + $renewed_date = $_POST['date_renewed']; + $expiry_date = $_POST['date_expiry']; + $product_ref = $_POST['product_ref']; + + if(empty($created_date)){ + $created_date = $current_date; + } + if(empty($renewed_date)){ + $renewed_date = $current_date; + } + if(empty($expiry_date)){ + $expiry_date = $current_date_plus_1year; + } + + //Save the entry to the database + $fields = array(); + $fields['license_key'] = $license_key; + $fields['max_allowed_domains'] = $max_domains; + $fields['max_allowed_devices'] = $max_devices; + $fields['lic_status'] = $license_status; + $fields['first_name'] = $first_name; + $fields['last_name'] = $last_name; + $fields['email'] = $email; + $fields['company_name'] = $company_name; + $fields['txn_id'] = $txn_id; + $fields['manual_reset_count'] = $reset_count; + $fields['purchase_id_'] = $purchaseid; + $fields['date_created'] = $created_date; + $fields['date_renewed'] = $renewed_date; + $fields['date_expiry'] = $expiry_date; + $fields['product_ref'] = $product_ref; + + $id = isset($_POST['edit_record'])?$_POST['edit_record']:''; + $lk_table = SLM_TBL_LICENSE_KEYS; + if (empty($id)) {//Insert into database + $result = $wpdb->insert( $lk_table, $fields); + $id = $wpdb->insert_id; + if($result === false){ + $errors .= __('Record could not be inserted into the database!', 'slm'); + } + } else { //Update record + $where = array('id'=>$id); + $updated = $wpdb->update($lk_table, $fields, $where); + if($updated === false){ + //TODO - log error + $errors .= __('Update of the license key table failed!', 'slm'); + } + } + + if(empty($errors)){ + $message = "Record successfully saved!"; + echo '

'; + echo $message; + echo '

'; + }else{ + echo '
' . $errors . '
'; + } + + $data = array('row_id' => $id, 'key' => $license_key); + do_action('slm_add_edit_interface_save_record_processed',$data); + + } + +?> + + You can add a new license or edit an existing one from this interface. +

+ +
+

+
+ +
"> + + + + '; + } else { + if(!isset($editing_record)){//Create an empty object + $editing_record = new stdClass(); + } + //Auto generate unique key + $lic_key_prefix = $slm_options['lic_prefix']; + if (!empty($lic_key_prefix)) { + $license_key = uniqid($lic_key_prefix); + } else { + $license_key = uniqid(); + } + } + ?> + + + + + + + + + + + + + + + + + + + + + prepare("SELECT * FROM $reg_table WHERE lic_key_id = %s", $id); + $reg_domains = $wpdb->get_results($sql_prep, OBJECT); + ?> + + + + + + + prepare("SELECT * FROM `$devices_table` WHERE `lic_key_id` = '%s'", $id); + $reg_devices = $wpdb->get_results($sql_prep2, OBJECT); + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
License Key +
The unique license key. When adding a new record it automatically generates a unique key in this field for you. You can change this value to customize the key if you like.
Maximum Allowed Domains
Number of domains/installs in which this license can be used.
Maximum Allowed Devices
Number of domains/installs in which this license can be used.
License Status + +
Registered Domains 0) { + ?> +
+
+ + + > + + + + +
registered_domain; ?>id ?>>X
+
+ +
Registered Devices 0) { + ?> +
+
+ + + > + + + + +
registered_devices; ?>id ?>>X
+
+ +
First Name
License user's first name
Last Name
License user's last name
Email Address
License user's email address
Company Name
License user's company name
Unique Transaction ID
The unique transaction ID associated with this license key
Manual Reset Count +
The number of times this license has been manually reset by the admin (use it if you want to keep track of it). It can be helpful for the admin to keep track of manual reset counts.
Purchase Order # +
This is associated with the purchase ID woocommerce support
Date Created +
Creation date of license.
Date Renewed +
Renewal date of license.
Date of Expiry +
Expiry date of license.
Product +
The product that this license gives access to.
+ + $id, 'key' => $license_key); + $extra_output = apply_filters('slm_add_edit_interface_above_submit','', $data); + if(!empty($extra_output)){ + echo $extra_output; + } + ?> + +
+ +
+
+
+ Manage Licenses

+
+ + + + +* @link https://github.com/michelve/software-license-manager +*/ + + +function getActiveUser($action) { + $info = ''; + $current_user = wp_get_current_user(); + + if ($action == 'email') { + $info = esc_html( $current_user->user_email); + } + if ($action == 'id') { + $info = esc_html( $current_user->ID ); + } + return $info; +} + +class Epikly_Woo_Account { + + /** + * Custom endpoint name. + * + * @var string + */ + public static $endpoint = 'my-licenses'; + + /** + * Plugin actions. + */ + public function __construct() { + // Actions used to insert a new endpoint in the WordPress. + add_action( 'init', array( $this, 'add_endpoints' ) ); + add_filter( 'query_vars', array( $this, 'add_query_vars' ), 0 ); + + // Change the My Accout page title. + add_filter( 'the_title', array( $this, 'endpoint_title' ) ); + + // Insering your new tab/page into the My Account page. + add_filter( 'woocommerce_account_menu_items', array( $this, 'new_menu_items' ) ); + add_action( 'woocommerce_account_' . self::$endpoint . '_endpoint', array( $this, 'endpoint_content' ) ); + } + + /** + * Register new endpoint to use inside My Account page. + * + * @see https://developer.wordpress.org/reference/functions/add_rewrite_endpoint/ + */ + public function add_endpoints() { + add_rewrite_endpoint( self::$endpoint, EP_ROOT | EP_PAGES ); + } + + /** + * Add new query var. + * + * @param array $vars + * @return array + */ + public function add_query_vars( $vars ) { + $vars[] = self::$endpoint; + + return $vars; + } + + /** + * Set endpoint title. + * + * @param string $title + * @return string + */ + public function endpoint_title( $title ) { + global $wp_query; + + $is_endpoint = isset( $wp_query->query_vars[ self::$endpoint ] ); + + if ( $is_endpoint && ! is_admin() && is_main_query() && in_the_loop() && is_account_page() ) { + // New page title. + $title = __( 'My Licenses', 'woocommerce' ); + + remove_filter( 'the_title', array( $this, 'endpoint_title' ) ); + } + + return $title; + } + + /** + * Insert the new endpoint into the My Account menu. + * + * @param array $items + * @return array + */ + public function new_menu_items( $items ) { + // Remove the logout menu item. + $logout = $items['customer-logout']; + unset( $items['customer-logout'] ); + + // Insert your custom endpoint. + $items[ self::$endpoint ] = __( 'My Licenses', 'woocommerce' ); + + // Insert back the logout item. + $items['customer-logout'] = $logout; + + return $items; + } + + /** + * Endpoint HTML content. + */ + public function endpoint_content() { + + global $wpdb; + $wc_billing_email = get_user_meta( get_current_user_id(), 'billing_email', true ); + $result = $wpdb->get_results ( "SELECT * FROM ". $wpdb->prefix."lic_key_tbl WHERE email LIKE '%".getActiveUser('email')."%' OR email LIKE '%".$wc_billing_email."%' ORDER BY `email` DESC LIMIT 0,1000" ); + + $result_array = $wpdb->get_results ( "SELECT * FROM ". $wpdb->prefix."lic_key_tbl WHERE email LIKE '%".getActiveUser('email')."%' OR email LIKE '%".$wc_billing_email."%' ORDER BY `email` DESC LIMIT 0,1000", ARRAY_A ); + + $table_start = ' +
+

My Licenses

+
+ '; + $table_end = ''; + + + echo $table_start; + foreach ( $result as $license_info ) : ?> + + txn_id; ?> + lic_status; ?> + license_key; ?> + date_expiry; ?> + view + + + + get_results ( "SELECT * FROM ".$wpdb->prefix."lic_reg_domain_tbl WHERE `lic_key` = '".$license_info->license_key."' ORDER BY `lic_key_id` LIMIT 0,1000;", ARRAY_A); + + $detailed_devices_info = $wpdb->get_results ( "SELECT * FROM ".$wpdb->prefix."lic_reg_devices_tbl WHERE `lic_key` = '".$license_info->license_key."' ORDER BY `lic_key_id` LIMIT 0,1000;", ARRAY_A); + + // var_dump($detailed_domain_info); + // var_dump($detailed_devices_info); + + foreach($detailed_domain_info as $domain_info){ + echo "
Domain(s)
"; + if (isset($domain_info["lic_key"])){ + echo '

'.$domain_info["registered_domain"].'

'; + } + else { + echo "no data available"; + } + } + + foreach($detailed_devices_info as $devices_info){ + echo "
Device(s)
"; + if (isset($devices_info["lic_key"])){ + echo '

'.$devices_info["registered_devices"].'

'; + } + else { + echo "no data available"; + } + } + + + ?> + + + + + +
+

My Downloads

+
' + ; + echo do_shortcode('[wpdm_all_packages]'); + } + else { + echo "

No active subscriptions found. Renew or reactivate your subscription.

"; + } + } + } + + /** + * Plugin install action. + * Flush rewrite rules to make our custom endpoint available. + */ + public static function install() { + flush_rewrite_rules(); + } +} + +new Epikly_Woo_Account(); + +// Flush rewrite rules on plugin activation. +register_activation_hook( __FILE__, array( 'Epikly_Woo_Account', 'install' ) ); diff --git a/software-license-manager/menu/slm-admin-functions.php b/software-license-manager/menu/slm-admin-functions.php index d0d2c72..16f95cb 100644 --- a/software-license-manager/menu/slm-admin-functions.php +++ b/software-license-manager/menu/slm-admin-functions.php @@ -1,50 +1,50 @@ -'; - echo '

License Manager Admin Functions

'; - echo '
'; - - $slm_options = get_option('slm_plugin_options'); - - if (isset($_POST['send_deactivation_request'])) { - $postURL = $_POST['lic_mgr_deactivation_req_url']; - $secretKeyForVerification = $slm_options['lic_verification_secret']; - $data = array(); - $data['secret_key'] = $secretKeyForVerification; - - $ch = curl_init($postURL); - curl_setopt($ch, CURLOPT_POST, true); - curl_setopt($ch, CURLOPT_POSTFIELDS, $data); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - $returnValue = curl_exec($ch); - - $msg = ""; - if ($returnValue == "Success") { - $msg .= "Success message returned from the remote host."; - } - echo '

'; - echo 'Request sent to the specified URL!'; - echo '
' . $msg; - echo '

'; - } - ?> -
-
-

-
-
Enter the URL where the license deactivation message will be sent to -

-
- - -
- -
-
-
-
'; - echo '
'; -} +'; + echo '

License Manager Admin Functions

'; + echo '
'; + + $slm_options = get_option('slm_plugin_options'); + + if (isset($_POST['send_deactivation_request'])) { + $postURL = $_POST['lic_mgr_deactivation_req_url']; + $secretKeyForVerification = $slm_options['lic_verification_secret']; + $data = array(); + $data['secret_key'] = $secretKeyForVerification; + + $ch = curl_init($postURL); + curl_setopt($ch, CURLOPT_POST, true); + curl_setopt($ch, CURLOPT_POSTFIELDS, $data); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + $returnValue = curl_exec($ch); + + $msg = ""; + if ($returnValue == "Success") { + $msg .= "Success message returned from the remote host."; + } + echo '

'; + echo 'Request sent to the specified URL!'; + echo '
' . $msg; + echo '

'; + } + ?> +
+
+

+
+
Enter the URL where the license deactivation message will be sent to +

+
+ + +
+ +
+
+
+
'; + echo '
'; +} diff --git a/software-license-manager/menu/slm-admin-init.php b/software-license-manager/menu/slm-admin-init.php index aed5fe7..34eff57 100644 --- a/software-license-manager/menu/slm-admin-init.php +++ b/software-license-manager/menu/slm-admin-init.php @@ -1,25 +1,25 @@ - - - License Manager Integration Help v' . WP_LICENSE_MANAGER_VERSION . ''; - echo '
'; - echo '
'; - - echo '

For information, updates and documentation, please visit the License Manager Documentation page.

'; - - $api_query_post_url = SLM_SITE_HOME_URL; - echo "The License API Query POST URL For Your Installation"; - echo '
' . $api_query_post_url . '
'; - - echo "The License Activation or Deactivation API secret key"; - echo '
' . $secret_verification_key . '
'; - - echo "The License Creation API secret key"; - echo '
' . $creation_secret_key . '
'; - ?> -

3rd Party Integration

- - Integrating a 3rd party payment system or shopping cart with License Manager is easy. -

- The integration process can be accomplished in three steps, namely: -
-
1. Generate POST data -
2. Send POST data to the API POST URL -
3. Process the returned data -

- POST Values -
- License Manager expects a certain set of variables to be sent to it via HTTP POST or GET. These variables are: -

- Mandatory Variables -
- ---------------- -
a. secret_key - A Secret API key for authentication (you can find the secret key value in the settings menu of this plugin) -
b. slm_action - The action being performed. The values can be slm_create_new or slm_activate or slm_deactivate -

- Optional Variables -
- --------------- -
c. Customer First Name: The first name of the customer -
d. Customer Last Name: The last name of the customer -
e. Customer Email: The email address of the customer -
f. Company Name: The customer's company name -
g. Maximum Domains Allowed: The number of domains this license key can be used on -
h. Transaction ID: A unique transaction ID to reference the transaction -

- Return Value -
- Upon successful processing, License Manager will return a plain text message that will have two or three lines similar to the following: -
-
- Success -
License key -
WPLICMGR4bc29fd61e471 -
- or -
- Error -
Secret key is invalid -
- - 1. The first line is an indication of success or error -
2. The second line is the result. -
3. The third line is additional message that resulted from the request. -

- Sample PHP Code -
- Below is a sample PHP code that shows how you can create a license via the API -
- -
- /*** Mandatory data ***/ -
// Post URL -
$postURL = ""; -
// The Secret key -
$secretKey = ""; -
-
/*** Optional Data ***/ -
$firstname = "John"; -
$lastname = "Doe"; -
$email = "john.doe@gmail.com"; -
-
// prepare the data -
$data = array (); -
$data['secret_key'] = $secretKey; -
$data['slm_action'] = 'slm_create_new'; -
$data['first_name'] = $firstname; -
$data['last_name'] = $lastname; -
$data['email'] = $email; -
-
// send data to post URL -
$ch = curl_init ($postURL); -
curl_setopt ($ch, CURLOPT_POST, true); -
curl_setopt ($ch, CURLOPT_POSTFIELDS, $data); -
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); -
$returnValue = curl_exec ($ch); -
-
// Process the return values -
//var_dump($returnValue); -
- -
'; - echo '
'; -} + + + License Manager Integration Help v' . WP_LICENSE_MANAGER_VERSION . ''; + echo '
'; + echo '
'; + + echo '

For information, updates and documentation, please visit the License Manager Documentation page.

'; + + $api_query_post_url = SLM_SITE_HOME_URL; + echo "The License API Query POST URL For Your Installation"; + echo '
' . $api_query_post_url . '
'; + + echo "The License Activation or Deactivation API secret key"; + echo '
' . $secret_verification_key . '
'; + + echo "The License Creation API secret key"; + echo '
' . $creation_secret_key . '
'; + ?> +

3rd Party Integration

+ + Integrating a 3rd party payment system or shopping cart with License Manager is easy. +

+ The integration process can be accomplished in three steps, namely: +
+
1. Generate POST data +
2. Send POST data to the API POST URL +
3. Process the returned data +

+ POST Values +
+ License Manager expects a certain set of variables to be sent to it via HTTP POST or GET. These variables are: +

+ Mandatory Variables +
+ ---------------- +
a. secret_key - A Secret API key for authentication (you can find the secret key value in the settings menu of this plugin) +
b. slm_action - The action being performed. The values can be slm_create_new or slm_activate or slm_deactivate +

+ Optional Variables +
+ --------------- +
c. Customer First Name: The first name of the customer +
d. Customer Last Name: The last name of the customer +
e. Customer Email: The email address of the customer +
f. Company Name: The customer's company name +
g. Maximum Domains Allowed: The number of domains this license key can be used on +
h. Transaction ID: A unique transaction ID to reference the transaction +

+ Return Value +
+ Upon successful processing, License Manager will return a plain text message that will have two or three lines similar to the following: +
+
+ Success +
License key +
WPLICMGR4bc29fd61e471 +
+ or +
+ Error +
Secret key is invalid +
+ + 1. The first line is an indication of success or error +
2. The second line is the result. +
3. The third line is additional message that resulted from the request. +

+ Sample PHP Code +
+ Below is a sample PHP code that shows how you can create a license via the API +
+ +
+ /*** Mandatory data ***/ +
// Post URL +
$postURL = ""; +
// The Secret key +
$secretKey = ""; +
+
/*** Optional Data ***/ +
$firstname = "John"; +
$lastname = "Doe"; +
$email = "john.doe@gmail.com"; +
+
// prepare the data +
$data = array (); +
$data['secret_key'] = $secretKey; +
$data['slm_action'] = 'slm_create_new'; +
$data['first_name'] = $firstname; +
$data['last_name'] = $lastname; +
$data['email'] = $email; +
+
// send data to post URL +
$ch = curl_init ($postURL); +
curl_setopt ($ch, CURLOPT_POST, true); +
curl_setopt ($ch, CURLOPT_POSTFIELDS, $data); +
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); +
$returnValue = curl_exec ($ch); +
+
// Process the return values +
//var_dump($returnValue); +
+ +
'; + echo '
'; +} diff --git a/software-license-manager/menu/slm-lic-settings.php b/software-license-manager/menu/slm-lic-settings.php index 5dac3a7..caaac0e 100644 --- a/software-license-manager/menu/slm-lic-settings.php +++ b/software-license-manager/menu/slm-lic-settings.php @@ -1,143 +1,143 @@ -'; - echo '

WP License Manager Settings v' . WP_LICENSE_MANAGER_VERSION . '

'; - echo '
'; - - wp_lic_mgr_general_settings(); - - echo '
'; - echo '
'; -} - -function wp_lic_mgr_general_settings() { - - if (isset($_REQUEST['slm_reset_log'])){ - //$slm_logger = new SLM_Debug_Logger(); - global $slm_debug_logger; - $slm_debug_logger->reset_log_file("log.txt"); - $slm_debug_logger->reset_log_file("log-cron-job.txt"); - echo '

Debug log files have been reset!

'; - } - - if (isset($_POST['slm_save_settings'])) { - - if (!is_numeric($_POST["default_max_domains"])) {//Set it to one by default if incorrect value is entered - $_POST["default_max_domains"] = '1'; - } - if (!is_numeric($_POST["default_max_devices"])) {//Set it to one by default if incorrect value is entered - $_POST["default_max_devices"] = '1'; - } - - $options = array( - 'lic_creation_secret' => trim($_POST["lic_creation_secret"]), - 'lic_prefix' => trim($_POST["lic_prefix"]), - 'default_max_domains' => trim($_POST["default_max_domains"]), - 'default_max_devices' => trim($_POST["default_max_devices"]), - 'lic_verification_secret' => trim($_POST["lic_verification_secret"]), - 'enable_auto_key_expiry' => isset($_POST['enable_auto_key_expiry']) ? '1':'', - 'enable_debug' => isset($_POST['enable_debug']) ? '1':'', - ); - update_option('slm_plugin_options', $options); - - echo '

'; - echo 'Options Updated!'; - echo '

'; - } - - $options = get_option('slm_plugin_options'); - - $secret_key = $options['lic_creation_secret']; - if (empty($secret_key)) { - $secret_key = uniqid('', true); - } - $secret_verification_key = $options['lic_verification_secret']; - if (empty($secret_verification_key)) { - $secret_verification_key = uniqid('', true); - } - ?> -

For information, updates and documentation, please visit the License Manager Documentation page.

- -
-

-
- -

1. First register a key at purchase time.

-

2. Add the code so at activation time it asks for the key.

-

3. Integrate the real time online key verification part.

-
- -
- -
-

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Secret Key for License Creation -
This secret key will be used to authenticate any license creation request. You can change it with something random.
Secret Key for License Verification Requests -
This secret key will be used to authenticate any license verification request from customer's site. Important! Do not change this value once your customers start to use your product(s)!
License Key Prefix -
You can optionaly specify a prefix for the license keys. This prefix will be added to the uniquely generated license keys.
Maximum Allowed Domains -
Maximum number of domains/installs which each license is valid for (default value).
Maximum Allowed Devices -
Maximum number of devices which each license is valid for (default value).
Auto Expire License Keys value="1"/> -

When enabled, it will automatically set the status of a license key to "Expired" when the expiry date value of the key is reached. - It doesn't remotely deactivate a key. It simply changes the status of the key in your database to expired.

-
-
- -
-

-
- - - - - - - -
Enable Debug Logging value="1"/> -

If checked, debug output will be written to log files (keep it disabled unless you are troubleshooting).

-
- View debug log file by clicking here. -
- Reset debug log file by clicking here. -
-
- -
- -
-
- '; + echo '

WP License Manager Settings v' . WP_LICENSE_MANAGER_VERSION . '

'; + echo '
'; + + wp_lic_mgr_general_settings(); + + echo '
'; + echo '
'; +} + +function wp_lic_mgr_general_settings() { + + if (isset($_REQUEST['slm_reset_log'])){ + //$slm_logger = new SLM_Debug_Logger(); + global $slm_debug_logger; + $slm_debug_logger->reset_log_file("log.txt"); + $slm_debug_logger->reset_log_file("log-cron-job.txt"); + echo '

Debug log files have been reset!

'; + } + + if (isset($_POST['slm_save_settings'])) { + + if (!is_numeric($_POST["default_max_domains"])) {//Set it to one by default if incorrect value is entered + $_POST["default_max_domains"] = '1'; + } + if (!is_numeric($_POST["default_max_devices"])) {//Set it to one by default if incorrect value is entered + $_POST["default_max_devices"] = '1'; + } + + $options = array( + 'lic_creation_secret' => trim($_POST["lic_creation_secret"]), + 'lic_prefix' => trim($_POST["lic_prefix"]), + 'default_max_domains' => trim($_POST["default_max_domains"]), + 'default_max_devices' => trim($_POST["default_max_devices"]), + 'lic_verification_secret' => trim($_POST["lic_verification_secret"]), + 'enable_auto_key_expiry' => isset($_POST['enable_auto_key_expiry']) ? '1':'', + 'enable_debug' => isset($_POST['enable_debug']) ? '1':'', + ); + update_option('slm_plugin_options', $options); + + echo '

'; + echo 'Options Updated!'; + echo '

'; + } + + $options = get_option('slm_plugin_options'); + + $secret_key = $options['lic_creation_secret']; + if (empty($secret_key)) { + $secret_key = uniqid('', true); + } + $secret_verification_key = $options['lic_verification_secret']; + if (empty($secret_verification_key)) { + $secret_verification_key = uniqid('', true); + } + ?> +

For information, updates and documentation, please visit the License Manager Documentation page.

+ +
+

+
+ +

1. First register a key at purchase time.

+

2. Add the code so at activation time it asks for the key.

+

3. Integrate the real time online key verification part.

+
+ +
+ +
+

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Secret Key for License Creation +
This secret key will be used to authenticate any license creation request. You can change it with something random.
Secret Key for License Verification Requests +
This secret key will be used to authenticate any license verification request from customer's site. Important! Do not change this value once your customers start to use your product(s)!
License Key Prefix +
You can optionaly specify a prefix for the license keys. This prefix will be added to the uniquely generated license keys.
Maximum Allowed Domains +
Maximum number of domains/installs which each license is valid for (default value).
Maximum Allowed Devices +
Maximum number of devices which each license is valid for (default value).
Auto Expire License Keys value="1"/> +

When enabled, it will automatically set the status of a license key to "Expired" when the expiry date value of the key is reached. + It doesn't remotely deactivate a key. It simply changes the status of the key in your database to expired.

+
+
+ +
+

+
+ + + + + + + +
Enable Debug Logging value="1"/> +

If checked, debug output will be written to log files (keep it disabled unless you are troubleshooting).

+
- View debug log file by clicking here. +
- Reset debug log file by clicking here. +
+
+ +
+ +
+
+ 'item', //singular name of the listed records - 'plural' => 'items', //plural name of the listed records - 'ajax' => false //does this table support ajax? - ) ); - - } - - function column_default($item, $column_name){ - return $item[$column_name]; - } - - function column_id($item){ - $row_id = $item['id']; - $actions = array( - 'edit' => sprintf('Edit', $row_id), - 'delete' => sprintf('Delete',$row_id), - ); - return sprintf('%1$s %2$s', - /*$1%s*/ $item['id'], - /*$2%s*/ $this->row_actions($actions) - ); - } - - - function column_cb($item){ - return sprintf( - '', - /*$1%s*/ $this->_args['singular'], //Let's simply repurpose the table's singular label - /*$2%s*/ $item['id'] //The value of the checkbox should be the record's id - ); - } - - function column_active($item){ - if ($item['active'] == 1){ - return 'active'; - } else{ - return 'inactive'; - } - } - - - function get_columns(){ - $columns = array( - 'cb' => '', //Render a checkbox - 'id' => 'ID', - 'license_key' => 'License Key', - 'lic_status' => 'Status', - 'max_allowed_domains' => 'Domains Allowed', - 'email' => 'Registered Email', - 'date_created' => 'Date Created', - 'date_renewed' => 'Date Renewed', - 'date_expiry' => 'Expiry', - ); - return $columns; - } - - function get_sortable_columns() { - $sortable_columns = array( - 'id' => array('id',false), - 'license_key' => array('license_key',false), - 'lic_status' => array('lic_status',false), - 'date_created' => array('date_created',false), - 'date_renewed' => array('date_renewed',false), - 'date_expiry' => array('date_expiry',false), - ); - return $sortable_columns; - } - - function get_bulk_actions() { - $actions = array( - 'delete' => 'Delete', - ); - return $actions; - } - - function process_bulk_action() { - if('delete'===$this->current_action()) - { - //Process delete bulk actions - if(!isset($_REQUEST['item'])){ - $error_msg = '

'.__('Error - Please select some records using the checkboxes', 'slm').'

'; - echo '
'.$error_msg.'
'; - return; - }else { - $nvp_key = $this->_args['singular']; - $records_to_delete = $_GET[$nvp_key]; - foreach ($records_to_delete as $row){ - SLM_Utility::delete_license_key_by_row_id($row); - } - echo '

Selected records deleted successfully!

'; - } - } - } - - - /* - * This function will delete the selected license key entries from the DB. - */ - function delete_license_key($key_row_id) - { - SLM_Utility::delete_license_key_by_row_id($key_row_id); - $success_msg = '

'; - $success_msg .= 'The selected entry was deleted successfully!'; - $success_msg .= '

'; - echo $success_msg; - } - - - function prepare_items() { - /** - * First, lets decide how many records per page to show - */ - $per_page = 50; - $columns = $this->get_columns(); - $hidden = array(); - $sortable = $this->get_sortable_columns(); - - $this->_column_headers = array($columns, $hidden, $sortable); - - $this->process_bulk_action(); - - global $wpdb; - $license_table = SLM_TBL_LICENSE_KEYS; - - /* -- Ordering parameters -- */ - //Parameters that are going to be used to order the result - $orderby = !empty($_GET["orderby"]) ? strip_tags($_GET["orderby"]) : 'id'; - $order = !empty($_GET["order"]) ? strip_tags($_GET["order"]) : 'DESC'; - - if (isset($_POST['slm_search'])) { - $search_term = trim(strip_tags($_POST['slm_search'])); - $prepare_query = $wpdb->prepare("SELECT * FROM " . $license_table . " WHERE `license_key` LIKE '%%%s%%' OR `email` LIKE '%%%s%%' OR `txn_id` LIKE '%%%s%%' OR `first_name` LIKE '%%%s%%' OR `last_name` LIKE '%%%s%%'", $search_term, $search_term, $search_term, $search_term, $search_term); - $data = $wpdb->get_results($prepare_query, ARRAY_A); - }else{ - $data = $wpdb->get_results("SELECT * FROM $license_table ORDER BY $orderby $order", ARRAY_A); - } - - $current_page = $this->get_pagenum(); - $total_items = count($data); - $data = array_slice($data,(($current_page-1)*$per_page),$per_page); - $this->items = $data; - $this->set_pagination_args( array( - 'total_items' => $total_items, //WE have to calculate the total number of items - 'per_page' => $per_page, //WE have to determine how many items to show on a page - 'total_pages' => ceil($total_items/$per_page) //WE have to calculate the total number of pages - ) ); - } + 'item', //singular name of the listed records + 'plural' => 'items', //plural name of the listed records + 'ajax' => false //does this table support ajax? + ) ); + + } + + function column_default($item, $column_name){ + return $item[$column_name]; + } + + function column_id($item){ + $row_id = $item['id']; + $actions = array( + 'edit' => sprintf('Edit', $row_id), + 'delete' => sprintf('Delete',$row_id), + ); + return sprintf('%1$s %2$s', + /*$1%s*/ $item['id'], + /*$2%s*/ $this->row_actions($actions) + ); + } + + + function column_cb($item){ + return sprintf( + '', + /*$1%s*/ $this->_args['singular'], //Let's simply repurpose the table's singular label + /*$2%s*/ $item['id'] //The value of the checkbox should be the record's id + ); + } + + function column_active($item){ + if ($item['active'] == 1){ + return 'active'; + } else{ + return 'inactive'; + } + } + + + function get_columns(){ + $columns = array( + 'cb' => '', //Render a checkbox + 'id' => 'ID', + 'license_key' => 'License Key', + 'lic_status' => 'Status', + 'max_allowed_domains' => 'Domains Allowed', + 'email' => 'Registered Email', + 'date_created' => 'Date Created', + 'date_renewed' => 'Date Renewed', + 'date_expiry' => 'Expiry', + ); + return $columns; + } + + function get_sortable_columns() { + $sortable_columns = array( + 'id' => array('id',false), + 'license_key' => array('license_key',false), + 'lic_status' => array('lic_status',false), + 'date_created' => array('date_created',false), + 'date_renewed' => array('date_renewed',false), + 'date_expiry' => array('date_expiry',false), + ); + return $sortable_columns; + } + + function get_bulk_actions() { + $actions = array( + 'delete' => 'Delete', + ); + return $actions; + } + + function process_bulk_action() { + if('delete'===$this->current_action()) + { + //Process delete bulk actions + if(!isset($_REQUEST['item'])){ + $error_msg = '

'.__('Error - Please select some records using the checkboxes', 'slm').'

'; + echo '
'.$error_msg.'
'; + return; + }else { + $nvp_key = $this->_args['singular']; + $records_to_delete = $_GET[$nvp_key]; + foreach ($records_to_delete as $row){ + SLM_Utility::delete_license_key_by_row_id($row); + } + echo '

Selected records deleted successfully!

'; + } + } + } + + + /* + * This function will delete the selected license key entries from the DB. + */ + function delete_license_key($key_row_id) + { + SLM_Utility::delete_license_key_by_row_id($key_row_id); + $success_msg = '

'; + $success_msg .= 'The selected entry was deleted successfully!'; + $success_msg .= '

'; + echo $success_msg; + } + + + function prepare_items() { + /** + * First, lets decide how many records per page to show + */ + $per_page = 50; + $columns = $this->get_columns(); + $hidden = array(); + $sortable = $this->get_sortable_columns(); + + $this->_column_headers = array($columns, $hidden, $sortable); + + $this->process_bulk_action(); + + global $wpdb; + $license_table = SLM_TBL_LICENSE_KEYS; + + /* -- Ordering parameters -- */ + //Parameters that are going to be used to order the result + $orderby = !empty($_GET["orderby"]) ? strip_tags($_GET["orderby"]) : 'id'; + $order = !empty($_GET["order"]) ? strip_tags($_GET["order"]) : 'DESC'; + + if (isset($_POST['slm_search'])) { + $search_term = trim(strip_tags($_POST['slm_search'])); + $prepare_query = $wpdb->prepare("SELECT * FROM " . $license_table . " WHERE `license_key` LIKE '%%%s%%' OR `email` LIKE '%%%s%%' OR `txn_id` LIKE '%%%s%%' OR `first_name` LIKE '%%%s%%' OR `last_name` LIKE '%%%s%%'", $search_term, $search_term, $search_term, $search_term, $search_term); + $data = $wpdb->get_results($prepare_query, ARRAY_A); + }else{ + $data = $wpdb->get_results("SELECT * FROM $license_table ORDER BY $orderby $order", ARRAY_A); + } + + $current_page = $this->get_pagenum(); + $total_items = count($data); + $data = array_slice($data,(($current_page-1)*$per_page),$per_page); + $this->items = $data; + $this->set_pagination_args( array( + 'total_items' => $total_items, //WE have to calculate the total number of items + 'per_page' => $per_page, //WE have to determine how many items to show on a page + 'total_pages' => ceil($total_items/$per_page) //WE have to calculate the total number of pages + ) ); + } } \ No newline at end of file diff --git a/software-license-manager/menu/slm-manage-licenses.php b/software-license-manager/menu/slm-manage-licenses.php index b1da0fa..432f1d0 100644 --- a/software-license-manager/menu/slm-manage-licenses.php +++ b/software-license-manager/menu/slm-manage-licenses.php @@ -1,49 +1,49 @@ -'; - echo '

Manage Licenses

'; - echo '
'; - ?> - -
-

-
- Search for a license by using email, name, key or transaction ID -

-
"> - - -
-
- - -
-

-
- delete_license_key(sanitize_text_field($_REQUEST['id'])); - } - } - //Fetch, prepare, sort, and filter our data... - $license_list->prepare_items(); - //echo "put table of locked entries here"; - ?> -
- - - - display(); ?> -
- -
- -
'; - echo '
'; -} - +'; + echo '

Manage Licenses

'; + echo '
'; + ?> + +
+

+
+ Search for a license by using email, name, key or transaction ID +

+
"> + + +
+
+ + +
+

+
+ delete_license_key(sanitize_text_field($_REQUEST['id'])); + } + } + //Fetch, prepare, sort, and filter our data... + $license_list->prepare_items(); + //echo "put table of locked entries here"; + ?> +
+ + + + display(); ?> +
+ +
+ +
'; + echo '
'; +} + diff --git a/software-license-manager/slm_bootstrap.php b/software-license-manager/slm_bootstrap.php index 0c55d57..913eb09 100644 --- a/software-license-manager/slm_bootstrap.php +++ b/software-license-manager/slm_bootstrap.php @@ -1,52 +1,51 @@ -charset)){ - $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset"; -}else{ - $charset_collate = "DEFAULT CHARSET=utf8"; -} -if (!empty($wpdb->collate)){ - $charset_collate .= " COLLATE $wpdb->collate"; -} - -$lk_tbl_sql = "CREATE TABLE " . $lic_key_table . " ( - id int(12) NOT NULL auto_increment, - license_key varchar(255) NOT NULL, - max_allowed_domains int(40) NOT NULL, - max_allowed_devices int(40) NOT NULL, - lic_status ENUM('pending', 'active', 'blocked', 'expired') NOT NULL DEFAULT 'pending', - first_name varchar(32) NOT NULL default '', - last_name varchar(32) NOT NULL default '', - email varchar(64) NOT NULL, - company_name varchar(100) NOT NULL default '', - txn_id varchar(64) NOT NULL default '', - manual_reset_count varchar(128) NOT NULL default '', - date_created date NOT NULL DEFAULT '0000-00-00', - date_renewed date NOT NULL DEFAULT '0000-00-00', - date_expiry date NOT NULL DEFAULT '0000-00-00', - product_ref varchar(255) NOT NULL default '', - PRIMARY KEY (id) - )" . $charset_collate . ";"; -dbDelta($lk_tbl_sql); - -$ld_tbl_sql = "CREATE TABLE " .$lic_domain_table. " ( - id INT NOT NULL AUTO_INCREMENT , - lic_key_id INT NOT NULL , - lic_key varchar(255) NOT NULL , - registered_domain text NOT NULL , - registered_devices text NOT NULL , - item_reference varchar(255) NOT NULL, - PRIMARY KEY ( id ) - )" . $charset_collate . ";"; -dbDelta($ld_tbl_sql); - -$ldv_tbl_sql = "CREATE TABLE " .$lic_devices_table. " ( - id INT NOT NULL AUTO_INCREMENT , - lic_key_id INT NOT NULL , - lic_key varchar(255) NOT NULL , - registered_devices text NOT NULL , - registered_domain text NOT NULL , - item_reference varchar(255) NOT NULL, - PRIMARY KEY ( id ) - )" . $charset_collate . ";"; -dbDelta($ldv_tbl_sql); - - -update_option("wp_lic_mgr_db_version", WP_LICENSE_MANAGER_DB_VERSION); - -// Add default options -$options = array( - 'lic_creation_secret' => uniqid('', true), - 'lic_prefix' => '', - 'default_max_domains' => '2', - 'default_max_devices' => '1', - 'lic_verification_secret' => uniqid('', true), - 'enable_debug' => '', -); -add_option('slm_plugin_options', $options); +charset)){ + $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset"; +} +else{ + $charset_collate = "DEFAULT CHARSET=utf8"; +} +if (!empty($wpdb->collate)){ + $charset_collate .= " COLLATE $wpdb->collate"; +} + +$lk_tbl_sql = "CREATE TABLE " . $lic_key_table . " ( + id int(12) NOT NULL auto_increment, + license_key varchar(255) NOT NULL, + max_allowed_domains int(40) NOT NULL, + max_allowed_devices int(40) NOT NULL, + lic_status ENUM('pending', 'active', 'blocked', 'expired') NOT NULL DEFAULT 'pending', + first_name varchar(32) NOT NULL default '', + last_name varchar(32) NOT NULL default '', + email varchar(64) NOT NULL, + company_name varchar(100) NOT NULL default '', + txn_id varchar(64) NOT NULL default '', + manual_reset_count varchar(128) NOT NULL default '', + purchase_id_ varchar(255) NOT NULL default '', + date_created date NOT NULL DEFAULT '0000-00-00', + date_renewed date NOT NULL DEFAULT '0000-00-00', + date_expiry date NOT NULL DEFAULT '0000-00-00', + product_ref varchar(255) NOT NULL default '', + PRIMARY KEY (id) + )" . $charset_collate . ";"; +dbDelta($lk_tbl_sql); + +$ld_tbl_sql = "CREATE TABLE " .$lic_domain_table. " ( + id INT NOT NULL AUTO_INCREMENT , + lic_key_id INT NOT NULL , + lic_key varchar(255) NOT NULL , + registered_domain text NOT NULL , + registered_devices text NOT NULL , + item_reference varchar(255) NOT NULL, + PRIMARY KEY ( id ) + )" . $charset_collate . ";"; +dbDelta($ld_tbl_sql); + +$ldv_tbl_sql = "CREATE TABLE " .$lic_devices_table. " ( + id INT NOT NULL AUTO_INCREMENT , + lic_key_id INT NOT NULL , + lic_key varchar(255) NOT NULL , + registered_devices text NOT NULL , + registered_domain text NOT NULL , + item_reference varchar(255) NOT NULL, + PRIMARY KEY ( id ) + )" . $charset_collate . ";"; +dbDelta($ldv_tbl_sql); +update_option("wp_lic_mgr_db_version", WP_LICENSE_MANAGER_DB_VERSION); + +// Add default options +$options = array( + 'lic_creation_secret' => uniqid('', true), + 'lic_prefix' => '', + 'default_max_domains' => '2', + 'default_max_devices' => '1', + 'lic_verification_secret' => uniqid('', true), + 'enable_debug' => '', +); +add_option('slm_plugin_options', $options); \ No newline at end of file diff --git a/software-license-manager/slm_plugin_core.php b/software-license-manager/slm_plugin_core.php index b295189..f74ece2 100644 --- a/software-license-manager/slm_plugin_core.php +++ b/software-license-manager/slm_plugin_core.php @@ -1,74 +1,77 @@ -prefix . "lic_key_tbl"); -define('SLM_TBL_LIC_DOMAIN', $wpdb->prefix . "lic_reg_domain_tbl"); -define('SLM_TBL_LIC_DEVICES', $wpdb->prefix . "lic_reg_devices_tbl"); -define('SLM_MANAGEMENT_PERMISSION', 'manage_options'); -define('SLM_MAIN_MENU_SLUG', 'slm-main'); -define('SLM_MENU_ICON', 'dashicons-lock'); - -//Includes -include_once('includes/slm-debug-logger.php'); -include_once('includes/slm-error-codes.php'); -include_once('includes/slm-utility.php'); -include_once('includes/slm-init-time-tasks.php'); -include_once('includes/slm-api-utility.php'); -include_once('includes/slm-api-listener.php'); -include_once('includes/slm-third-party-integration.php'); -// support for meta boxes (variations only, this can be applied to single prodicts as well) -include_once('includes/slm-meta-boxes.php'); -//Include admin side only files -if (is_admin()) { - include_once('menu/slm-admin-init.php'); - include_once('menu/includes/slm-list-table-class.php'); //Load our own WP List Table class -} - -//Action hooks -add_action('init', 'slm_init_handler'); -add_action('plugins_loaded', 'slm_plugins_loaded_handler'); - -//Initialize debug logger -global $slm_debug_logger; -$slm_debug_logger = new SLM_Debug_Logger(); - -//Do init time tasks -function slm_init_handler() { - $init_task = new SLM_Init_Time_Tasks(); - $api_listener = new SLM_API_Listener(); -} - -//Do plugins loaded time tasks -function slm_plugins_loaded_handler() { - //Runs when plugins_loaded action gets fired - if (is_admin()) { - //Check if db update needed - if (get_option('wp_lic_mgr_db_version') != WP_LICENSE_MANAGER_DB_VERSION) { - require_once(dirname(__FILE__) . '/slm_installer.php'); - } - } - -} - -//TODO - need to move this to an ajax handler file -add_action('wp_ajax_del_reistered_domain', 'slm_del_reg_dom'); -function slm_del_reg_dom() { - global $wpdb; - $reg_table = SLM_TBL_LIC_DOMAIN; - $id = strip_tags($_GET['id']); - $ret = $wpdb->query("DELETE FROM $reg_table WHERE id='$id'"); - echo ($ret) ? 'success' : 'failed'; - exit(0); -} - - -add_action('wp_ajax_del_reistered_devices', 'slm_del_reg_devices'); -function slm_del_reg_devices() { - global $wpdb; - $reg_table = SLM_TBL_LIC_DEVICES; - $id = strip_tags($_GET['id']); - $ret = $wpdb->query("DELETE FROM $reg_table WHERE id='$id'"); - echo ($ret) ? 'success' : 'failed'; - exit(0); +prefix . "lic_key_tbl"); +define('SLM_TBL_LIC_DOMAIN', $wpdb->prefix . "lic_reg_domain_tbl"); +define('SLM_TBL_LIC_DEVICES', $wpdb->prefix . "lic_reg_devices_tbl"); +define('SLM_MANAGEMENT_PERMISSION', 'manage_options'); +define('SLM_MAIN_MENU_SLUG', 'slm-main'); +define('SLM_MENU_ICON', 'dashicons-lock'); + +//Includes +include_once('includes/slm-debug-logger.php'); +include_once('includes/slm-error-codes.php'); +include_once('includes/slm-utility.php'); +include_once('includes/slm-init-time-tasks.php'); +include_once('includes/slm-api-utility.php'); +include_once('includes/slm-api-listener.php'); +include_once('includes/slm-third-party-integration.php'); +// Front end-menu +include_once('menu/slm-add-menu-frontend.php'); + +// support for meta boxes (variations only, this can be applied to single prodicts as well) +include_once('includes/slm-meta-boxes.php'); +//Include admin side only files +if (is_admin()) { + include_once('menu/slm-admin-init.php'); + include_once('menu/includes/slm-list-table-class.php'); //Load our own WP List Table class +} + +//Action hooks +add_action('init', 'slm_init_handler'); +add_action('plugins_loaded', 'slm_plugins_loaded_handler'); + +//Initialize debug logger +global $slm_debug_logger; +$slm_debug_logger = new SLM_Debug_Logger(); + +//Do init time tasks +function slm_init_handler() { + $init_task = new SLM_Init_Time_Tasks(); + $api_listener = new SLM_API_Listener(); +} + +//Do plugins loaded time tasks +function slm_plugins_loaded_handler() { + //Runs when plugins_loaded action gets fired + if (is_admin()) { + //Check if db update needed + if (get_option('wp_lic_mgr_db_version') != WP_LICENSE_MANAGER_DB_VERSION) { + require_once(dirname(__FILE__) . '/slm_installer.php'); + } + } + +} + +//TODO - need to move this to an ajax handler file +add_action('wp_ajax_del_reistered_domain', 'slm_del_reg_dom'); +function slm_del_reg_dom() { + global $wpdb; + $reg_table = SLM_TBL_LIC_DOMAIN; + $id = strip_tags($_GET['id']); + $ret = $wpdb->query("DELETE FROM $reg_table WHERE id='$id'"); + echo ($ret) ? 'success' : 'failed'; + exit(0); +} + + +add_action('wp_ajax_del_reistered_devices', 'slm_del_reg_devices'); +function slm_del_reg_devices() { + global $wpdb; + $reg_table = SLM_TBL_LIC_DEVICES; + $id = strip_tags($_GET['id']); + $ret = $wpdb->query("DELETE FROM $reg_table WHERE id='$id'"); + echo ($ret) ? 'success' : 'failed'; + exit(0); } \ No newline at end of file From f94c676c3aa856edce7ae524beefbb3b764ee6be Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Wed, 11 Jul 2018 15:37:04 -0400 Subject: [PATCH 007/293] 4.0.0 --- .../includes}/index.html | 0 .../includes/slm-list-table-class.php | 0 .../includes/woocommerce/includes/emails.php | 55 ++ .../includes/woocommerce/includes/helper.php | 23 + .../woocommerce/includes/meta-boxes.php | 85 +++ .../woocommerce/includes/purchase.php | 345 +++++++++ .../admin/includes/woocommerce/license.txt | 674 ++++++++++++++++++ .../wc-software-license-manager.php | 51 ++ .../{includes => admin}/index.html | 0 .../admin/slm-add-licenses.php | 443 ++++++++++++ .../{menu => admin}/slm-admin-functions.php | 2 +- .../admin/slm-admin-init.php | 31 + .../slm-integration-help-page.php | 5 +- .../{menu => admin}/slm-lic-settings.php | 32 +- .../slm-list-licenses-class.php | 31 +- .../{menu => admin}/slm-manage-licenses.php | 0 .../admin/slm-woocommerce-support.php | 3 + .../sample-php-scripts/create-license.php | 27 - .../sample-plugin/slm-sample-plugin.php | 144 ---- ...ass-software-license-manager-activator.php | 25 + ...s-software-license-manager-deactivator.php | 18 + ...oftware-license-manager-slm-installer.php} | 13 +- .../{index.html => includes/index.php} | 0 .../includes/slm-api-listener.php | 24 +- .../includes/slm-api-utility.php | 6 +- .../includes/slm-debug-logger.php | 32 +- .../includes/slm-init-time-tasks.php | 16 +- .../includes/slm-subscriptio.php | 34 + .../includes/slm-third-party-integration.php | 65 +- .../includes/slm_plugin_core.php | 143 ++++ .../{js/index.html => index.php} | 0 .../logs/log-cron-job.txt | 0 software-license-manager/logs/log.txt | 0 software-license-manager/menu/index.html | 0 .../menu/slm-add-licenses.php | 394 ---------- .../menu/slm-admin-init.php | 25 - .../{ => public/assets}/css/jquery-ui.css | 2 +- .../public/assets/css/slm.css | 125 ++++ .../public/assets/images/bg.png | Bin 0 -> 600 bytes .../public/assets/images/key-26.svg | 4 + .../public/assets/images/slm_logo.png | Bin 0 -> 8815 bytes .../public/assets/images/slm_logo.svg | 15 + .../public/assets/images/slm_logo_small.png | Bin 0 -> 1020 bytes .../public/assets/images/slm_logo_small.svg | 15 + .../includes => public/assets/js}/index.html | 0 .../assets}/js/wplm-custom-admin.js | 0 .../slm-add-menu-frontend.php | 148 ++-- software-license-manager/readme.txt | 136 ---- software-license-manager/slm_bootstrap.php | 51 -- software-license-manager/slm_plugin_core.php | 77 -- .../software-license-manager.php | 33 + software-license-manager/uninstall.php | 40 ++ 52 files changed, 2380 insertions(+), 1012 deletions(-) rename software-license-manager/{client-side-examples => admin/includes}/index.html (100%) rename software-license-manager/{menu => admin}/includes/slm-list-table-class.php (100%) create mode 100644 software-license-manager/admin/includes/woocommerce/includes/emails.php create mode 100644 software-license-manager/admin/includes/woocommerce/includes/helper.php create mode 100644 software-license-manager/admin/includes/woocommerce/includes/meta-boxes.php create mode 100644 software-license-manager/admin/includes/woocommerce/includes/purchase.php create mode 100644 software-license-manager/admin/includes/woocommerce/license.txt create mode 100644 software-license-manager/admin/includes/woocommerce/wc-software-license-manager.php rename software-license-manager/{includes => admin}/index.html (100%) create mode 100644 software-license-manager/admin/slm-add-licenses.php rename software-license-manager/{menu => admin}/slm-admin-functions.php (92%) create mode 100644 software-license-manager/admin/slm-admin-init.php rename software-license-manager/{menu => admin}/slm-integration-help-page.php (95%) rename software-license-manager/{menu => admin}/slm-lic-settings.php (79%) rename software-license-manager/{menu => admin}/slm-list-licenses-class.php (83%) rename software-license-manager/{menu => admin}/slm-manage-licenses.php (100%) create mode 100644 software-license-manager/admin/slm-woocommerce-support.php delete mode 100644 software-license-manager/client-side-examples/sample-php-scripts/create-license.php delete mode 100644 software-license-manager/client-side-examples/sample-plugin/slm-sample-plugin.php create mode 100644 software-license-manager/includes/class-software-license-manager-activator.php create mode 100644 software-license-manager/includes/class-software-license-manager-deactivator.php rename software-license-manager/{slm_installer.php => includes/class-software-license-manager-slm-installer.php} (89%) rename software-license-manager/{index.html => includes/index.php} (100%) create mode 100644 software-license-manager/includes/slm-subscriptio.php create mode 100644 software-license-manager/includes/slm_plugin_core.php rename software-license-manager/{js/index.html => index.php} (100%) delete mode 100644 software-license-manager/logs/log-cron-job.txt delete mode 100644 software-license-manager/logs/log.txt delete mode 100644 software-license-manager/menu/index.html delete mode 100644 software-license-manager/menu/slm-add-licenses.php delete mode 100644 software-license-manager/menu/slm-admin-init.php rename software-license-manager/{ => public/assets}/css/jquery-ui.css (99%) create mode 100644 software-license-manager/public/assets/css/slm.css create mode 100644 software-license-manager/public/assets/images/bg.png create mode 100644 software-license-manager/public/assets/images/key-26.svg create mode 100644 software-license-manager/public/assets/images/slm_logo.png create mode 100644 software-license-manager/public/assets/images/slm_logo.svg create mode 100644 software-license-manager/public/assets/images/slm_logo_small.png create mode 100644 software-license-manager/public/assets/images/slm_logo_small.svg rename software-license-manager/{menu/includes => public/assets/js}/index.html (100%) rename software-license-manager/{ => public/assets}/js/wplm-custom-admin.js (100%) rename software-license-manager/{menu => public}/slm-add-menu-frontend.php (50%) delete mode 100644 software-license-manager/readme.txt delete mode 100644 software-license-manager/slm_bootstrap.php delete mode 100644 software-license-manager/slm_plugin_core.php create mode 100644 software-license-manager/software-license-manager.php create mode 100644 software-license-manager/uninstall.php diff --git a/software-license-manager/client-side-examples/index.html b/software-license-manager/admin/includes/index.html similarity index 100% rename from software-license-manager/client-side-examples/index.html rename to software-license-manager/admin/includes/index.html diff --git a/software-license-manager/menu/includes/slm-list-table-class.php b/software-license-manager/admin/includes/slm-list-table-class.php similarity index 100% rename from software-license-manager/menu/includes/slm-list-table-class.php rename to software-license-manager/admin/includes/slm-list-table-class.php diff --git a/software-license-manager/admin/includes/woocommerce/includes/emails.php b/software-license-manager/admin/includes/woocommerce/includes/emails.php new file mode 100644 index 0000000..39b2265 --- /dev/null +++ b/software-license-manager/admin/includes/woocommerce/includes/emails.php @@ -0,0 +1,55 @@ +post->post_status == 'wc-completed') { + $output = ''; + + // Check if licenses were generated + $licenses = get_post_meta($order->post->ID, '_wc_slm_payment_licenses', true); + + if ($licenses && count($licenses) != 0) { + $output = '

' . __('Your Licenses', 'wc-slm') . ':

'; + foreach ($licenses as $license) { + $output .= ''; + if (isset($license['item']) && isset($license['key'])) { + + if ($output) { + $output .= '
'; + } + $output .= ''; + $output .= ''; + } else { + // $output .= 'No item and key assigned'; + } + /** + * added expire date in table + * @since 1.0.7 + * @author AvdP (Albert van der Ploeg) + */ + if (isset($license['expires'])) { + $output .= ''; + } + $output .= ''; + } + $output .= '
' . __('Item', 'wc-slm') . '' . __('License', 'wc-slm') . '' . __('Expire Date', 'wc-slm') . '
' . $license['item'] . '' . $license['key'] . '' . $license['expires'] . '
'; + } else { + // $output .= 'No License Generatred'; + } + + echo $output; + } +} diff --git a/software-license-manager/admin/includes/woocommerce/includes/helper.php b/software-license-manager/admin/includes/woocommerce/includes/helper.php new file mode 100644 index 0000000..1f0300d --- /dev/null +++ b/software-license-manager/admin/includes/woocommerce/includes/helper.php @@ -0,0 +1,23 @@ +'; + print_r($args); + echo ''; +} + +function wc_slm_log($msg) { + $log = ABSPATH . DIRECTORY_SEPARATOR . 'slm_log.txt'; + file_put_contents($log, $msg . ' +', FILE_APPEND); +} diff --git a/software-license-manager/admin/includes/woocommerce/includes/meta-boxes.php b/software-license-manager/admin/includes/woocommerce/includes/meta-boxes.php new file mode 100644 index 0000000..7a8b1f0 --- /dev/null +++ b/software-license-manager/admin/includes/woocommerce/includes/meta-boxes.php @@ -0,0 +1,85 @@ +ID; + $slm_licensing_enabled = get_post_meta($post_id, '_slm_licensing_enabled', true) ? true : false; + $slm_sites_allowed = esc_attr(get_post_meta($post_id, 'amount_of_licenses', true)); + $slm_devices_allowed = esc_attr(get_post_meta($post_id, 'slm_devices_allowed', true)); + $_slm_licensing_renewal_period = esc_attr(get_post_meta($post_id, '_slm_licensing_renewal_period', true)); + $slm_display = $slm_licensing_enabled ? '' : ' style="display:none;"'; + + + if (trim($_slm_licensing_renewal_period) == '') { + $_slm_licensing_renewal_period = 0; + } + + ?> + + + +

+ /> + +

+ +
class="wc-slm-toggled-hide"> +

+ + +

+

+ + +

+ +

+ + +

+ +
+ id; + $user_id = $_order->get_user_id(); + $user_info = get_userdata($user_id); + $get_user_meta = get_user_meta($user_id); + $payment_meta['user_info']['first_name'] = $get_user_meta['billing_first_name'][0]; + $payment_meta['user_info']['last_name'] = $get_user_meta['billing_last_name'][0]; + $payment_meta['user_info']['email'] = $get_user_meta['billing_email'][0]; + $payment_meta['user_info']['company'] = $get_user_meta['billing_company'][0]; + + // Collect license keys + $licenses = array(); + $items = $_order->get_items(); + + foreach ($items as $item => $values) { + $download_id = $product_id = $values['product_id']; + $product = new WC_Product($product_id); + $variation_id = new WC_Product_Variation($product_id); + + //if ($product->is_downloadable() && $product->has_file()) { + + $download_quantity = absint($values['qty']); + for ($i = 1; $i <= $download_quantity; $i++) { + /** + * Calculate Expire date + * @since 1.0.3 + */ + $renewal_period = (int) wc_slm_get_licensing_renewal_period($product_id); + + if ($renewal_period == 0) { + $renewal_period = '0000-00-00'; + } + else { + $renewal_period = date('Y-m-d', strtotime('+' . $renewal_period . ' years')); + } + // Sites allowed get license meta from variation + $sites_allowed = wc_slm_get_sites_allowed($product_id); + $amount_of_licenses = wc_slm_get_licenses_qty($product_id); + + if (!$sites_allowed) { + $sites_allowed_error = __('License could not be created: Invalid sites allowed number.', 'wc-slm'); + $int = wc_insert_payment_note($order_id, $sites_allowed_error); + break; + } + + // Get an instance of the WC_Order object (same as before) + $order = wc_get_order( $order_id ); + // Get the order ID + $order_id = $order->get_id(); + // Get the custumer ID + $order_id = $order->get_user_id(); + $order_data = $order->get_data(); // The Order data + + // Iterating through each WC_Order_Item objects + foreach( $order-> get_items() as $item_key => $item_values ){ + + ## Using WC_Order_Item methods ## + $item_id = $item_values->get_id(); + $item_name = $item_values->get_name(); + $item_type = $item_values->get_type(); + + ## Access Order Items data properties (in an array of values) ## + $item_data = $item_values->get_data(); + $product_name = $item_data['name']; + $product_id = $item_data['product_id']; + $variation_id = $item_data['variation_id']; + $quantity = $item_data['quantity']; + $tax_class = $item_data['tax_class']; + $line_subtotal = $item_data['subtotal']; + $line_subtotal_tax = $item_data['subtotal_tax']; + $line_total = $item_data['total']; + $line_total_tax = $item_data['total_tax']; + $post_object = get_post($variation_id); + $amount_of_licenses = get_post_meta( $post_object->ID, 'amount_of_licenses', true); + $amount_of_licenses_devices = get_post_meta( $post_object->ID, 'amount_of_licenses_devices', true); + } + + // Transaction id + $transaction_id = wc_get_payment_transaction_id($product_id); + + // Build item name + $item_name = $product->get_title(); + + // Build parameters + $api_params = array(); + $api_params['slm_action'] = 'slm_create_new'; + $api_params['secret_key'] = KEY_API; + $api_params['first_name'] = (isset($payment_meta['user_info']['first_name'])) ? $payment_meta['user_info']['first_name'] : ''; + $api_params['last_name'] = (isset($payment_meta['user_info']['last_name'])) ? $payment_meta['user_info']['last_name'] : ''; + $api_params['email'] = (isset($payment_meta['user_info']['email'])) ? $payment_meta['user_info']['email'] : ''; + $api_params['company_name'] = $payment_meta['user_info']['company']; + $api_params['purchase_id_'] = $purchase_id_; + $api_params['product_ref'] = '16'; + + /** + * set product id as txn + * @since 1.0.2 + * can be set to order id by $order_id var instead of $product_id + * @since 1.0.7 txn_id change from $product_id to $order_id + * @ref https://wordpress.org/support/topic/qty-1-generates-same-license + */ + $api_params['txn_id'] = $purchase_id_; + // $api_params['max_allowed_domains'] = $sites_allowed; //unique per product + $api_params['max_allowed_domains'] = $amount_of_licenses; //unique per product + $api_params['max_allowed_devices'] = $amount_of_licenses_devices; //unique per product + $api_params['date_created'] = date('Y-m-d'); + $api_params['date_expiry'] = $renewal_period; + + // Send query to the license manager server + $url = 'http://' . WOO_SLM_API_URL . '?' . http_build_query($api_params); + $url = str_replace(array('http://', 'https://'), '', $url); + $url = 'http://' . $url; + $response = wp_remote_get($url, array('timeout' => 20, 'sslverify' => false)); + $license_key = wc_slm_get_license_key($response); + + // Collect license keys + if ($license_key) { + $licenses[] = array( + 'item' => $item_name, + 'key' => $license_key, + /** + * Add Expire Date + * @since 1.0.7 + * @author AvdP (Albert van der Ploeg) + */ + 'expires' => $renewal_period, + ); + } + } + } + + //wc_slm_print_pretty($payment_meta); + + // Payment note + + wc_slm_payment_note($order_id, $licenses); + + // Assign licenses + wc_slm_assign_licenses($order_id, $licenses); +} + +/** + * Get generated license key + * + * @since 1.0.0 + * @return mixed + */ +function wc_slm_get_license_key($response) { + // Check for error in the response + if (is_wp_error($response)) { + return false; + } + + // Get License data + $json = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', utf8_encode(wp_remote_retrieve_body($response))); + $license_data = json_decode($json); + + if (!isset($license_data->key)) { + return false; + } + + // Prepare note text + return $license_data->key; +} + +/** + * Leave payment not for license creation + * + * @since 1.0.0 + * @return void + */ +function wc_slm_payment_note($order_id, $licenses) { + + if ($licenses && count($licenses) != 0) { + $message = __('License Key(s) generated', 'wc-slm'); + + foreach ($licenses as $license) { + + $message .= '
' . $license['item'] . ': ' . $license['key']; + } + } else { + $message = __('License Key(s) could not be created.', 'wc-slm'); + } + + // Save note + $int = wc_insert_payment_note($order_id, $message); +} + +/** + * Assign generated license keys to payments + * + * @since 1.0.0 + * @return void + */ +function wc_slm_assign_licenses($order_id, $licenses) { + + if (count($licenses) != 0) { + update_post_meta($order_id, '_wc_slm_payment_licenses', $licenses); + } +} + +/** + * Get sites allowed from download. + * + * @since 1.0.0 + * @return mixed + */ +function wc_slm_get_sites_allowed($product_id) { + + $wc_slm_sites_allowed = absint(get_post_meta($product_id, '_wc_slm_sites_allowed', true)); + + if (empty($wc_slm_sites_allowed)) { + return false; + } + + return $wc_slm_sites_allowed; +} + +function wc_slm_get_licenses_qty($product_id) { + + $amount_of_licenses = absint(get_post_meta($product_id, '_amount_of_licenses', true)); + + if (empty($amount_of_licenses)) { + return false; + } + + return $amount_of_licenses; +} + +/** + * Get sites allowed from download. + * + * @since 1.0.0 + * @return mixed + */ +function wc_slm_get_licensing_renewal_period($product_id) { + + $wc_slm_sites_allowed = absint(get_post_meta($product_id, '_wc_slm_licensing_renewal_period', true)); + + if (empty($wc_slm_sites_allowed)) { + return 0; + } + + return $wc_slm_sites_allowed; +} + +/** + * Check if licensing for a certain download is enabled + * + * @since 1.0.0 + * @return bool + */ +function wc_slm_is_licensing_enabled($download_id) { + + $licensing_enabled = absint(get_post_meta($download_id, '_wc_slm_licensing_enabled', true)); + + // Set defaults + if ($licensing_enabled) { + return true; + } else { + return false; + } +} + +function wc_insert_payment_note($order_id, $msg) { + $order = new WC_Order($order_id); + $order->add_order_note($msg); +} + +function wc_get_payment_transaction_id($order_id) { + return get_post_meta($order_id, '_transaction_id', true); +} + +/** + * add license details to user account details + * @since 1.0.3 + */ +//add_action('woocommerce_order_details_after_order_table', 'wc_slm_lic_order_meta', 10, 1); + +function wc_slm_lic_order_meta($order) { + $licenses = get_post_meta($order->post->ID, '_wc_slm_payment_licenses', true); + + if ($licenses && count($licenses) != 0) { + $output = '

' . __('Your Licenses', 'wc-slm') . ':

'; + foreach ($licenses as $license) { + $output .= ''; + if (isset($license['item']) && isset($license['key'])) { + + if ($output) { + $output .= '
'; + } + $output .= ''; + $output .= ''; + } else { + $output .= 'No item and key assigned'; + } + $output .= ''; + } + $output .= '
' . __('Item', 'wc-slm') . '' . __('License', 'wc-slm') . '
' . $license['item'] . '' . $license['key'] . '
'; + } + + if (isset($output)) { + echo $output; + } +} \ No newline at end of file diff --git a/software-license-manager/admin/includes/woocommerce/license.txt b/software-license-manager/admin/includes/woocommerce/license.txt new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/software-license-manager/admin/includes/woocommerce/license.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/software-license-manager/admin/includes/woocommerce/wc-software-license-manager.php b/software-license-manager/admin/includes/woocommerce/wc-software-license-manager.php new file mode 100644 index 0000000..2210575 --- /dev/null +++ b/software-license-manager/admin/includes/woocommerce/wc-software-license-manager.php @@ -0,0 +1,51 @@ +) +// Author: Omid Shamlu +// Author URI: http://wp-master.ir + +if (!function_exists('write_log')) { + function write_log ( $log ) { + if ( true === WP_DEBUG ) { + if ( is_array( $log ) || is_object( $log ) ) { + error_log( print_r( $log, true ) ); + } else { + error_log( $log ); + } + } + } +} + +if (!class_exists('WOO_SLM')) { + class WOO_SLM { + private static $instance; + public static function instance() { + if (!self::$instance) { + self::$instance = new WOO_SLM(); + self::$instance->setup_constants(); + self::$instance->includes(); + } + return self::$instance; + } + private function setup_constants() { + // Plugin version + define('WOO_SLM_VER', '2.1.0'); + // get api settinsg from options table + define('WOO_SLM_API_URL', get_site_url().'/'); + define('WOO_SLM_API_SECRET', SLM_Helper_Class::slm_get_option('lic_creation_secret')); + define('KEY_API', SLM_Helper_Class::slm_get_option('lic_creation_secret')); + define('KEY_API_PREFIX', SLM_Helper_Class::slm_get_option('lic_prefix')); + } + private function includes() { + // log files and scripts + require_once SLM_ADMIN_ADDONS . 'woocommerce/includes/helper.php'; + if (is_admin()) { + require_once SLM_ADMIN_ADDONS . 'woocommerce/includes/meta-boxes.php'; + } + // purchases and emails + require_once SLM_ADMIN_ADDONS . 'woocommerce/includes/emails.php'; + require_once SLM_ADMIN_ADDONS . 'woocommerce/includes/purchase.php'; + } + } + return WOO_SLM::instance(); +} \ No newline at end of file diff --git a/software-license-manager/includes/index.html b/software-license-manager/admin/index.html similarity index 100% rename from software-license-manager/includes/index.html rename to software-license-manager/admin/index.html diff --git a/software-license-manager/admin/slm-add-licenses.php b/software-license-manager/admin/slm-add-licenses.php new file mode 100644 index 0000000..9f7fc17 --- /dev/null +++ b/software-license-manager/admin/slm-add-licenses.php @@ -0,0 +1,443 @@ +'; + // echo '

Add/Edit Licenses

'; + echo '
'; + + //If product is being edited, grab current product info + if (isset($_GET['edit_record'])) { + $errors = ''; + $id = $_GET['edit_record']; + $lk_table = SLM_TBL_LICENSE_KEYS; + $sql_prep = $wpdb->prepare("SELECT * FROM $lk_table WHERE id = %s", $id); + $record = $wpdb->get_row($sql_prep, OBJECT); + $license_key = $record->license_key; + $max_domains = $record->max_allowed_domains; + $max_devices = $record->max_allowed_devices; + $license_status = $record->lic_status; + $first_name = $record->first_name; + $last_name = $record->last_name; + $email = $record->email; + $company_name = $record->company_name; + $txn_id = $record->txn_id; + $reset_count = $record->manual_reset_count; + $purchase_id_ = $record->purchase_id_; + $created_date = $record->date_created; + $renewed_date = $record->date_renewed; + $expiry_date = $record->date_expiry; + $product_ref = $record->product_ref; + } + if (isset($_POST['save_record'])) { + + //Check nonce + if ( !isset($_POST['slm_add_edit_nonce_val']) || !wp_verify_nonce($_POST['slm_add_edit_nonce_val'], 'slm_add_edit_nonce_action' )){ + //Nonce check failed. + wp_die("Error! Nonce verification failed for license save action."); + } + + do_action('slm_add_edit_interface_save_submission'); + + //TODO - do some validation + $license_key = $_POST['license_key']; + $max_domains = $_POST['max_allowed_domains']; + $max_devices = $_POST['max_allowed_devices']; + $license_status = $_POST['lic_status']; + $first_name = $_POST['first_name']; + $last_name = $_POST['last_name']; + $email = $_POST['email']; + $company_name = $_POST['company_name']; + $txn_id = $_POST['txn_id']; + $reset_count = $_POST['manual_reset_count']; + $purchase_id_ = $_POST['purchase_id_']; + $created_date = $_POST['date_created']; + $renewed_date = $_POST['date_renewed']; + $expiry_date = $_POST['date_expiry']; + $product_ref = $_POST['product_ref']; + + if(empty($created_date)){ + $created_date = $current_date; + } + if(empty($renewed_date)){ + $renewed_date = $current_date; + } + if(empty($expiry_date)){ + $expiry_date = $current_date_plus_1year; + } + + //Save the entry to the database + $fields = array(); + $fields['license_key'] = $license_key; + $fields['max_allowed_domains'] = $max_domains; + $fields['max_allowed_devices'] = $max_devices; + $fields['lic_status'] = $license_status; + $fields['first_name'] = $first_name; + $fields['last_name'] = $last_name; + $fields['email'] = $email; + $fields['company_name'] = $company_name; + $fields['txn_id'] = $txn_id; + $fields['manual_reset_count'] = $reset_count; + $fields['purchase_id_'] = $purchase_id_; + $fields['date_created'] = $created_date; + $fields['date_renewed'] = $renewed_date; + $fields['date_expiry'] = $expiry_date; + $fields['product_ref'] = $product_ref; + + $id = isset($_POST['edit_record'])?$_POST['edit_record']:''; + $lk_table = SLM_TBL_LICENSE_KEYS; + if (empty($id)) {//Insert into database + $result = $wpdb->insert( $lk_table, $fields); + $id = $wpdb->insert_id; + if($result === false){ + $errors .= __('Record could not be inserted into the database!', 'slm'); + } + } else { //Update record + $where = array('id'=>$id); + $updated = $wpdb->update($lk_table, $fields, $where); + if($updated === false){ + //TODO - log error + $errors .= __('Update of the license key table failed!', 'slm'); + } + } + + if(empty($errors)){ + $message = "Record successfully saved!"; + echo '

'; + echo $message; + echo '

'; + }else{ + echo '
' . $errors . '
'; + } + + $data = array('row_id' => $id, 'key' => $license_key); + do_action('slm_add_edit_interface_save_record_processed',$data); + + } +?> + + + + +
+ +
+
+
+
+
+
+ +

+ Software License Manager +

+

+ You can add a new license or edit an existing one from this interface. +

+
+
+ + +
"> + + '; + } + else { + if(!isset($editing_record)){ + $editing_record = new stdClass(); + } + + $lic_key_prefix = $slm_options['lic_prefix']; + if (!empty($lic_key_prefix)) { + $license_key = uniqid($lic_key_prefix); + } + else { + $license_key = uniqid(); + } + } + ?> + +
+
+
+

License Details for:

+
+ + +
The unique license key. +
+ +
+ + +
+
+
+ +
+ +
+ +
+
+

Allowed Activations

+
+ +
Number of domains/installs in which this license can be used + +
+ + + + prepare("SELECT * FROM $reg_table WHERE lic_key_id = %s", $id); + $reg_domains = $wpdb->get_results($sql_prep, OBJECT); + } + if(count($reg_domains) > 0) : ?> +
+
+ + + > + + + + + +
registered_domain; ?>id ?>>X
+
+ + + +
+
+
+ +
Number of domains/installs in which this license can be used

+ + prepare("SELECT * FROM `$devices_table` WHERE `lic_key_id` = '%s'", $id); + $reg_devices = $wpdb->get_results($sql_prep2, OBJECT); + } + if (count($reg_devices) > 0): ?> +
+
+ + + > + + + + + +
registered_devices; ?>id ?>>X
+
+ + + +
+
+
+
+
+ +
+
+

Organization

+
+ +
License user's company name +
+
+
+
+ + +
+
+

Advanced Details

+
+ + +
The number of times this license has been manually reset by the admin (use it if you want to keep track of it). It can be helpful for the admin to keep track of manual reset counts +
+ +
+ + +
Creation date of license +
+ +
+ + +
Expiry date of license +
+
+ +
+ + +
Renewal date of license +
+
+
+
+ +
+
+

Product Information

+
+ + +
The product that this license gives access to. +
+ +
+ +
The unique transaction ID associated with this license key +
+ +
+ + +
This is associated with the purchase ID woocommerce support. View Order # +
+
+
+
+ +
+ $id, 'key' => $license_key); + $extra_output = apply_filters('slm_add_edit_interface_above_submit','', $data); + if(!empty($extra_output)){ + echo $extra_output; + } + ?> +
+ + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + +'; - echo '

License Manager Admin Functions

'; + echo '

slm logo Software License Manager Admin Tools

'; echo '
'; $slm_options = get_option('slm_plugin_options'); diff --git a/software-license-manager/admin/slm-admin-init.php b/software-license-manager/admin/slm-admin-init.php new file mode 100644 index 0000000..71f3e19 --- /dev/null +++ b/software-license-manager/admin/slm-admin-init.php @@ -0,0 +1,31 @@ + .lic_mgr_code{border:1px solid #C2D7EF; background-color:#E2EDFF; margin:10px 0; padding:10px; width:800px; font-family:"Consolas","Bitstream Vera Sans Mono","Courier New",Courier,monospace !important; font-size:13px;} +
License Manager Integration Help v' . WP_LICENSE_MANAGER_VERSION . ''; + echo '

slm logo License Manager Integration Help v' . SLM_VERSION . '

'; echo '
'; echo '
'; @@ -114,5 +115,5 @@ function lic_mgr_integration_help_menu() {
'; - echo '
'; + echo '
'; } diff --git a/software-license-manager/menu/slm-lic-settings.php b/software-license-manager/admin/slm-lic-settings.php similarity index 79% rename from software-license-manager/menu/slm-lic-settings.php rename to software-license-manager/admin/slm-lic-settings.php index caaac0e..64d98b3 100644 --- a/software-license-manager/menu/slm-lic-settings.php +++ b/software-license-manager/admin/slm-lic-settings.php @@ -3,7 +3,7 @@ function wp_lic_mgr_settings_menu() { echo '
'; - echo '

WP License Manager Settings v' . WP_LICENSE_MANAGER_VERSION . '

'; + echo '

slm logoSoftware License Manager Settings v' . SLM_VERSION . '

'; echo '
'; wp_lic_mgr_general_settings(); @@ -39,6 +39,8 @@ function wp_lic_mgr_general_settings() { 'lic_verification_secret' => trim($_POST["lic_verification_secret"]), 'enable_auto_key_expiry' => isset($_POST['enable_auto_key_expiry']) ? '1':'', 'enable_debug' => isset($_POST['enable_debug']) ? '1':'', + 'slm_woo' => isset($_POST['slm_woo']) ? '1':'', + 'slm_subscriptio' => isset($_POST['slm_subscriptio']) ? '1':'', ); update_option('slm_plugin_options', $options); @@ -115,6 +117,32 @@ function wp_lic_mgr_general_settings() { + +
+ +
+

+
+ + + + + + + + + + + + + + +
Woocommerce Support + value="1"/> +
A fully customizable, open source eCommerce platform built for WordPress.
Subscriptio Support + value="1"/> + +
Subscriptio is a WooCommerce extension that allows you to sell subscriptions. Subscriptio adds recurring payments capability to WooCommerce so you can sell products like magazine subscriptions, online memberships, e-learning packages and any other tangible or intangible products. Learn More
@@ -127,7 +155,7 @@ function wp_lic_mgr_general_settings() { Enable Debug Logging value="1"/>

If checked, debug output will be written to log files (keep it disabled unless you are troubleshooting).

-
- View debug log file by clicking here. +
- View debug log file by clicking here..
- Reset debug log file by clicking here. diff --git a/software-license-manager/menu/slm-list-licenses-class.php b/software-license-manager/admin/slm-list-licenses-class.php similarity index 83% rename from software-license-manager/menu/slm-list-licenses-class.php rename to software-license-manager/admin/slm-list-licenses-class.php index 2c8faea..b244a8f 100644 --- a/software-license-manager/menu/slm-list-licenses-class.php +++ b/software-license-manager/admin/slm-list-licenses-class.php @@ -50,15 +50,17 @@ function column_active($item){ function get_columns(){ $columns = array( - 'cb' => '', //Render a checkbox - 'id' => 'ID', - 'license_key' => 'License Key', - 'lic_status' => 'Status', - 'max_allowed_domains' => 'Domains Allowed', - 'email' => 'Registered Email', - 'date_created' => 'Date Created', - 'date_renewed' => 'Date Renewed', - 'date_expiry' => 'Expiry', + 'cb' => '', //Render a checkbox + 'id' => 'ID', + 'license_key' => 'License Key', + 'lic_status' => 'Status', + 'max_allowed_domains' => 'Domains Allowed', + 'max_allowed_devices' => 'Domains Devices', + 'purchase_id_' => 'Related Purchase', + 'email' => 'Registered Email', + 'date_created' => 'Date Created', + 'date_renewed' => 'Date Renewed', + 'date_expiry' => 'Expiration', ); return $columns; } @@ -66,11 +68,12 @@ function get_columns(){ function get_sortable_columns() { $sortable_columns = array( 'id' => array('id',false), - 'license_key' => array('license_key',false), - 'lic_status' => array('lic_status',false), - 'date_created' => array('date_created',false), - 'date_renewed' => array('date_renewed',false), - 'date_expiry' => array('date_expiry',false), + 'license_key' => array('license_key',false), + 'lic_status' => array('lic_status',false), + 'purchase_id_' => array('purchase_id_',false), + 'date_created' => array('date_created',false), + 'date_renewed' => array('date_renewed',false), + 'date_expiry' => array('date_expiry',false), ); return $sortable_columns; } diff --git a/software-license-manager/menu/slm-manage-licenses.php b/software-license-manager/admin/slm-manage-licenses.php similarity index 100% rename from software-license-manager/menu/slm-manage-licenses.php rename to software-license-manager/admin/slm-manage-licenses.php diff --git a/software-license-manager/admin/slm-woocommerce-support.php b/software-license-manager/admin/slm-woocommerce-support.php new file mode 100644 index 0000000..0ea71fc --- /dev/null +++ b/software-license-manager/admin/slm-woocommerce-support.php @@ -0,0 +1,3 @@ +'; - echo '

Sample License Management

'; - - /*** License activate button was clicked ***/ - if (isset($_REQUEST['activate_license'])) { - $license_key = $_REQUEST['sample_license_key']; - - // API query parameters - $api_params = array( - 'slm_action' => 'slm_activate', - 'secret_key' => YOUR_SPECIAL_SECRET_KEY, - 'license_key' => $license_key, - 'registered_domain' => $_SERVER['SERVER_NAME'], - 'item_reference' => urlencode(YOUR_ITEM_REFERENCE), - ); - - // Send query to the license manager server - $query = esc_url_raw(add_query_arg($api_params, YOUR_LICENSE_SERVER_URL)); - $response = wp_remote_get($query, array('timeout' => 20, 'sslverify' => false)); - - // Check for error in the response - if (is_wp_error($response)){ - echo "Unexpected Error! The query returned with an error."; - } - - //var_dump($response);//uncomment it if you want to look at the full response - - // License data. - $license_data = json_decode(wp_remote_retrieve_body($response)); - - // TODO - Do something with it. - //var_dump($license_data);//uncomment it to look at the data - - if($license_data->result == 'success'){//Success was returned for the license activation - - //Uncomment the followng line to see the message that returned from the license server - echo '
The following message was returned from the server: '.$license_data->message; - - //Save the license key in the options table - update_option('sample_license_key', $license_key); - } - else{ - //Show error to the user. Probably entered incorrect license key. - - //Uncomment the followng line to see the message that returned from the license server - echo '
The following message was returned from the server: '.$license_data->message; - } - - } - /*** End of license activation ***/ - - /*** License activate button was clicked ***/ - if (isset($_REQUEST['deactivate_license'])) { - $license_key = $_REQUEST['sample_license_key']; - - // API query parameters - $api_params = array( - 'slm_action' => 'slm_deactivate', - 'secret_key' => YOUR_SPECIAL_SECRET_KEY, - 'license_key' => $license_key, - 'registered_domain' => $_SERVER['SERVER_NAME'], - 'item_reference' => urlencode(YOUR_ITEM_REFERENCE), - ); - - // Send query to the license manager server - $query = esc_url_raw(add_query_arg($api_params, YOUR_LICENSE_SERVER_URL)); - $response = wp_remote_get($query, array('timeout' => 20, 'sslverify' => false)); - - // Check for error in the response - if (is_wp_error($response)){ - echo "Unexpected Error! The query returned with an error."; - } - - //var_dump($response);//uncomment it if you want to look at the full response - - // License data. - $license_data = json_decode(wp_remote_retrieve_body($response)); - - // TODO - Do something with it. - //var_dump($license_data);//uncomment it to look at the data - - if($license_data->result == 'success'){//Success was returned for the license activation - - //Uncomment the followng line to see the message that returned from the license server - echo '
The following message was returned from the server: '.$license_data->message; - - //Remove the licensse key from the options table. It will need to be activated again. - update_option('sample_license_key', ''); - } - else{ - //Show error to the user. Probably entered incorrect license key. - - //Uncomment the followng line to see the message that returned from the license server - echo '
The following message was returned from the server: '.$license_data->message; - } - - } - /*** End of sample license deactivation ***/ - - ?> -

Please enter the license key for this product to activate it. You were given a license key when you purchased this item.

-
- - - - - -
-

- - -

-
- '; -} \ No newline at end of file diff --git a/software-license-manager/includes/class-software-license-manager-activator.php b/software-license-manager/includes/class-software-license-manager-activator.php new file mode 100644 index 0000000..06a6b4d --- /dev/null +++ b/software-license-manager/includes/class-software-license-manager-activator.php @@ -0,0 +1,25 @@ +slm_db_install(); + + //schedule a daily cron event + wp_schedule_event(time(), 'daily', 'slm_daily_cron_event'); + do_action('slm_activation_complete'); + } +} \ No newline at end of file diff --git a/software-license-manager/includes/class-software-license-manager-deactivator.php b/software-license-manager/includes/class-software-license-manager-deactivator.php new file mode 100644 index 0000000..ec5f4ac --- /dev/null +++ b/software-license-manager/includes/class-software-license-manager-deactivator.php @@ -0,0 +1,18 @@ + '1', 'lic_verification_secret' => uniqid('', true), 'enable_debug' => '', + 'slm_woo' => '', + 'slm_subscriptio' => '', ); add_option('slm_plugin_options', $options); \ No newline at end of file diff --git a/software-license-manager/index.html b/software-license-manager/includes/index.php similarity index 100% rename from software-license-manager/index.html rename to software-license-manager/includes/index.php diff --git a/software-license-manager/includes/slm-api-listener.php b/software-license-manager/includes/slm-api-listener.php index 23d8812..47afb0e 100644 --- a/software-license-manager/includes/slm-api-listener.php +++ b/software-license-manager/includes/slm-api-listener.php @@ -44,9 +44,12 @@ function creation_api_listener() { else{ $fields['license_key'] = uniqid($lic_key_prefix);//Use random generated key } - $fields['lic_status'] = 'pending'; - $fields['first_name'] = wp_unslash(strip_tags($_REQUEST['first_name'])); - $fields['last_name'] = wp_unslash(strip_tags($_REQUEST['last_name'])); + $fields['lic_status'] = isset( $_REQUEST['lic_status'] ) ? wp_unslash( strip_tags( $_REQUEST['lic_status'] ) ) : 'pending'; + $fields['first_name'] = wp_unslash(strip_tags($_REQUEST['first_name'])); + $fields['last_name'] = wp_unslash(strip_tags($_REQUEST['last_name'])); + + $fields['purchase_id_'] = wp_unslash(strip_tags($_REQUEST['purchase_id_'])); + $fields['email'] = strip_tags($_REQUEST['email']); $fields['company_name'] = isset( $_REQUEST['company_name'] ) ? wp_unslash( strip_tags( $_REQUEST['company_name'] ) ) : ''; $fields['txn_id'] = strip_tags($_REQUEST['txn_id']); @@ -74,7 +77,8 @@ function creation_api_listener() { //error inserting $args = (array('result' => 'error', 'message' => 'License creation failed', 'error_code' => SLM_Error_Codes::CREATE_FAILED)); SLM_API_Utility::output_api_response($args); - } else { + } + else { $args = (array('result' => 'success', 'message' => 'License successfully created', 'key' => $fields['license_key'])); SLM_API_Utility::output_api_response($args); } @@ -147,7 +151,7 @@ function activation_api_listener() { SLM_API_Utility::output_api_response($args); } if ($fields['registered_domain'] == $reg_domain->registered_domain) { - $args = (array('result' => 'error', 'message' => 'License key already in use on ' . $reg_domain->registered_domain, 'error_code' => SLM_Error_Codes::LICENSE_IN_USE)); + $args = (array('result' => 'error', 'message' => 'License key already in use on ' . $reg_domain->registered_domain, 'error_code' => SLM_Error_Codes::LICENSE_IN_USE, 'device' => $reg_domain->registered_domain)); SLM_API_Utility::output_api_response($args); } } @@ -182,7 +186,7 @@ function activation_api_listener() { SLM_API_Utility::output_api_response($devices_args); } if ($fields['registered_devices'] == $reg_devices->registered_devices) { - $devices_args = (array('result' => 'error', 'message' => 'License key already in use on ' . $reg_devices->registered_devices, 'error_code' => SLM_Error_Codes::LICENSE_IN_USE)); + $devices_args = (array('result' => 'error', 'message' => 'License key already in use on ' . $reg_devices->registered_devices, 'error_code' => SLM_Error_Codes::LICENSE_IN_USE, 'device' => $reg_devices->registered_devices)); SLM_API_Utility::output_api_response($devices_args); } } @@ -195,7 +199,7 @@ function activation_api_listener() { $where = array('id' => $retLic->id); $updated = $wpdb->update($tbl_name, $data, $where); - $args = (array('result' => 'success', 'message' => 'License key activated')); + $args = (array('result' => 'success', 'code' => '200', 'message' => 'License key activated', )); SLM_API_Utility::output_api_response($args); } @@ -247,11 +251,11 @@ function deactivation_api_listener() { $slm_debug_logger->log_debug("Error - failed to delete the registered domain from the database."); } else if ($delete == 0) { - $args = (array('result' => 'error', 'message' => 'The license key on this domain is already inactive', 'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE)); + $args = (array('result' => 'error', 'message' => 'The license key on this domain is already inactive', 'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE, 'device' => $reg_devices->registered_devices)); SLM_API_Utility::output_api_response($args); } else { - $args = (array('result' => 'success', 'message' => 'The license key has been deactivated for this domain')); + $args = (array('result' => 'success', 'code' => '200', 'message' => 'The license key has been deactivated for this domain')); SLM_API_Utility::output_api_response($args); } } @@ -313,7 +317,7 @@ function check_api_listener() { $reg_domains = $wpdb->get_results($sql_prep2, OBJECT); $reg_devices = $wpdb->get_results($sql_prep3, OBJECT); if ($retLic) {//A license key exists - $args = (array( + $args = apply_filters( 'slm_check_response_args', array( 'result' => 'success', 'code' => '200', 'message' => 'License key details retrieved.', diff --git a/software-license-manager/includes/slm-api-utility.php b/software-license-manager/includes/slm-api-utility.php index 75eca81..cc637e5 100644 --- a/software-license-manager/includes/slm-api-utility.php +++ b/software-license-manager/includes/slm-api-utility.php @@ -11,8 +11,12 @@ static function output_api_response($args) { //Log to debug file (if enabled) global $slm_debug_logger; $slm_debug_logger->log_debug('API Response - Result: ' . $args['result'] . ' Message: ' . $args['message']); + //Send response - header('Content-Type: application/json'); //ERICH + $args = apply_filters( 'slm_ap_response_args', $args); + $args = apply_filters( 'slm_api_response_args', $args); + + header('Content-Type: application/json'); echo json_encode($args); exit(0); } diff --git a/software-license-manager/includes/slm-debug-logger.php b/software-license-manager/includes/slm-debug-logger.php index 54a6bd4..058efac 100644 --- a/software-license-manager/includes/slm-debug-logger.php +++ b/software-license-manager/includes/slm-debug-logger.php @@ -1,13 +1,13 @@ log_debug("Some debug message"); - * + * * OR - * + * * SLM_Debug_Logger::log_debug_st("Some debug message"); */ @@ -20,22 +20,22 @@ class SLM_Debug_Logger var $debug_status = array('SUCCESS','STATUS','NOTICE','WARNING','FAILURE','CRITICAL'); var $section_break_marker = "\n----------------------------------------------------------\n\n"; var $log_reset_marker = "-------- Log File Reset --------\n"; - + function __construct() { - $this->log_folder_path = WP_LICENSE_MANAGER_PATH . '/logs'; + $this->log_folder_path = SLM_PATH . '/logs'; //Check config and if debug is enabled then set the enabled flag to true $options = get_option('slm_plugin_options'); if(!empty($options['enable_debug'])){//Debugging is enabled - $this->debug_enabled = true; + $this->debug_enabled = true; } } - + function get_debug_timestamp() { return '['.date('m/d/Y g:i A').'] - '; } - + function get_debug_status($level) { $size = count($this->debug_status); @@ -46,7 +46,7 @@ function get_debug_status($level) return $this->debug_status[$level]; } } - + function get_section_break($section_break) { if ($section_break) { @@ -54,7 +54,7 @@ function get_section_break($section_break) } return ""; } - + function reset_log_file($file_name='') { if(empty($file_name)){ @@ -66,7 +66,7 @@ function reset_log_file($file_name='') fwrite($fp, $content); fclose($fp); } - + function append_to_file($content,$file_name) { if(empty($file_name))$file_name = $this->default_log_file; @@ -75,7 +75,7 @@ function append_to_file($content,$file_name) fwrite($fp, $content); fclose($fp); } - + function log_debug($message,$level=0,$section_break=false,$file_name='') { if (!$this->debug_enabled) return; @@ -98,7 +98,7 @@ function log_debug_cron($message,$level=0,$section_break=false) //$file_name = $this->default_log_file_cron; $this->append_to_file($content, $this->default_log_file_cron); } - + static function log_debug_st($message,$level=0,$section_break=false,$file_name='') { $options = get_option('slm_plugin_options'); @@ -106,10 +106,10 @@ static function log_debug_st($message,$level=0,$section_break=false,$file_name=' return; } $content = '['.date('m/d/Y g:i A').'] - STATUS : '. $message . "\n"; - $debug_log_file = WP_LICENSE_MANAGER_PATH . '/logs/log.txt'; + $debug_log_file = SLM_PUBLIC . '/logs/log.txt'; $fp=fopen($debug_log_file,'a'); fwrite($fp, $content); fclose($fp); } - + } \ No newline at end of file diff --git a/software-license-manager/includes/slm-init-time-tasks.php b/software-license-manager/includes/slm-init-time-tasks.php index 5ad7959..4926d39 100644 --- a/software-license-manager/includes/slm-init-time-tasks.php +++ b/software-license-manager/includes/slm-init-time-tasks.php @@ -9,26 +9,24 @@ function __construct(){ add_action ('slm_daily_cron_event', array(&$this, 'slm_daily_cron_event_handler')); } - function load_scripts() - { + function load_scripts(){ //Load all common scripts and styles only wp_enqueue_script('jquery'); //Load all admin side scripts and styles only - if(is_admin()) - { + if(is_admin()){ wp_enqueue_script('jquery-ui-datepicker'); - wp_enqueue_script('wplm-custom-admin-js', WP_LICENSE_MANAGER_URL . '/js/wplm-custom-admin.js', array( 'jquery-ui-dialog' ));//admin only custom js code + wp_enqueue_script('wplm-custom-admin-js', SLM_ASSETS_URL . 'js/wplm-custom-admin.js', array( 'jquery-ui-dialog' ));//admin only custom js code + wp_enqueue_style('slm', SLM_ASSETS_URL .'css/slm.css'); if (isset($_GET['page']) && $_GET['page'] == 'wp_lic_mgr_addedit') {//Only include if we are in the license add/edit interface - wp_enqueue_style('jquery-ui-style', WP_LICENSE_MANAGER_URL .'/css/jquery-ui.css'); + wp_enqueue_style('jquery-ui-style', SLM_ASSETS_URL .'css/jquery-ui.css'); } //wp_enqueue_style('dialogStylesheet', includes_url().'css/jquery-ui-dialog.css'); } } - function slm_daily_cron_event_handler() - { + function slm_daily_cron_event_handler(){ $options = get_option('slm_plugin_options'); do_action('slm_daily_cron_event_triggered'); @@ -43,4 +41,4 @@ function slm_daily_cron_event_handler() } -}//End of class \ No newline at end of file +} \ No newline at end of file diff --git a/software-license-manager/includes/slm-subscriptio.php b/software-license-manager/includes/slm-subscriptio.php new file mode 100644 index 0000000..90644f9 --- /dev/null +++ b/software-license-manager/includes/slm-subscriptio.php @@ -0,0 +1,34 @@ + 180, + 'display' => __( 'Every 3 Minutes', 'pilotkit' ) + ); + return $schedules; +} + +// Schedule an action if it's not already scheduled +if ( ! wp_next_scheduled( 'subscriptio_check_status' ) ) { + wp_schedule_event( time(), 'subcriptio_interval_check', 'subscriptio_check_status' ); +} + +// Hook into that action that'll fire every three minutes +add_action( 'subscriptio_check_status', 'subcriptio_interval_check_event_func' ); + + +function subcriptio_interval_check_event_func() { + + global $wpdb; + $result = ''; +} \ No newline at end of file diff --git a/software-license-manager/includes/slm-third-party-integration.php b/software-license-manager/includes/slm-third-party-integration.php index b873982..c4e1825 100644 --- a/software-license-manager/includes/slm-third-party-integration.php +++ b/software-license-manager/includes/slm-third-party-integration.php @@ -14,7 +14,6 @@ function slm_handle_estore_email_body_filter($body, $payment_data, $cart_items) foreach ($cart_items as $current_cart_item) { $prod_id = $current_cart_item['item_number']; - $qty = $current_cart_item['quantity']; $retrieved_product = $wpdb->get_row("SELECT * FROM $products_table_name WHERE id = '$prod_id'", OBJECT); $package_product = eStore_is_package_product($retrieved_product); if ($package_product) { @@ -23,11 +22,11 @@ function slm_handle_estore_email_body_filter($body, $payment_data, $cart_items) foreach ($product_ids as $id) { $id = trim($id); $retrieved_product_for_specific_id = $wpdb->get_row("SELECT * FROM $products_table_name WHERE id = '$id'", OBJECT); - $slm_data .= slm_estore_check_and_generate_key($retrieved_product_for_specific_id, $payment_data, $cart_items, $qty); + $slm_data .= slm_estore_check_and_generate_key($retrieved_product_for_specific_id, $payment_data, $cart_items); } } else { $slm_debug_logger->log_debug('Checking license key generation for single item product.'); - $slm_data .= slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items, $qty); + $slm_data .= slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items); } } @@ -35,26 +34,14 @@ function slm_handle_estore_email_body_filter($body, $payment_data, $cart_items) return $body; } -function slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items, $qty=1) { +function slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items) { global $slm_debug_logger; $license_data = ''; if ($retrieved_product->create_license == 1) { - $requested_qty = (int)$qty; - $slm_debug_logger->log_debug('Need to create a license key for this product: ' . $retrieved_product->id . '. Requested qty: ' . $requested_qty); - if($requested_qty > 1){ - //More than 1 qty of the same product - for($i=0; $i < $requested_qty; $i++){ - $slm_key = slm_estore_create_license($retrieved_product, $payment_data, $cart_items); - $license_data .= "\n" . __('Item Name: ', 'slm') . $retrieved_product->name . " - " . __('License Key '.($i+1).': ', 'slm') . $slm_key; - } - } - else { - //Standard 1 qty - $slm_key = slm_estore_create_license($retrieved_product, $payment_data, $cart_items); - $license_data = "\n" . __('Item Name: ', 'slm') . $retrieved_product->name . " - " . __('License Key: ', 'slm') . $slm_key; - } - + $slm_debug_logger->log_debug('Need to create a license key for this product (' . $retrieved_product->id . ')'); + $slm_key = slm_estore_create_license($retrieved_product, $payment_data, $cart_items); + $license_data = "\n" . __('Item Name: ', 'slm') . $retrieved_product->name . " - " . __('License Key: ', 'slm') . $slm_key; $slm_debug_logger->log_debug('Liense data: ' . $license_data); $license_data = apply_filters('slm_estore_item_license_data', $license_data); } @@ -70,7 +57,6 @@ function slm_estore_create_license($retrieved_product, $payment_data, $cart_item $options = get_option('slm_plugin_options'); $lic_key_prefix = $options['lic_prefix']; $max_domains = $options['default_max_domains']; - $max_devices = $options['default_max_devices']; //Lets check any product specific configuration. $prod_id = $retrieved_product->id; @@ -81,22 +67,7 @@ function slm_estore_create_license($retrieved_product, $payment_data, $cart_item } else { //Use the default value from settings (the $max_domains variable contains the default value already). } - - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_devices'", OBJECT); - if ($product_meta) { - //Found product specific SLM config data. - $max_devices = $product_meta->meta_value; - } else { - //Use the default value from settings (the $max_domains variable contains the default value already). - } - - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_devices'", OBJECT); - if ($product_meta) { - //Found product specific SLM config data. - $max_devices = $product_meta->meta_value; - } else { - //Use the default value from settings (the $max_domains variable contains the default value already). - } //Lets check if any product specific expiry date is set + //Lets check if any product specific expiry date is set $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_date_of_expiry'", OBJECT); if ($product_meta) { //Found product specific SLM config data. @@ -118,9 +89,9 @@ function slm_estore_create_license($retrieved_product, $payment_data, $cart_item $fields['company_name'] = $payment_data['company_name']; $fields['txn_id'] = $payment_data['txn_id']; $fields['max_allowed_domains'] = $max_domains; - $fields['max_allowed_devices'] = $max_devices; $fields['date_created'] = date("Y-m-d"); //Today's date $fields['date_expiry'] = $slm_date_of_expiry; + $fields['product_ref'] = $prod_id;//WP eStore product ID $slm_debug_logger->log_debug('Inserting license data into the license manager DB table.'); $fields = array_filter($fields); //Remove any null values. @@ -161,7 +132,6 @@ function slm_estore_product_configuration_html($product_config_html, $prod_id) { if (empty($prod_id)) { //New product add $slm_max_allowed_domains = ""; - $slm_max_allowed_devices = ""; $slm_date_of_expiry = ""; } else { //Existing product edit @@ -174,13 +144,6 @@ function slm_estore_product_configuration_html($product_config_html, $prod_id) { $slm_max_allowed_domains = ""; } - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_devices'", OBJECT); - if ($product_meta) { - $slm_max_allowed_devices = $product_meta->meta_value; - } else { - $slm_max_allowed_devices = ""; - } - //Retrieve the expiry date value $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_date_of_expiry'", OBJECT); if ($product_meta) { @@ -198,11 +161,6 @@ function slm_estore_product_configuration_html($product_config_html, $prod_id) { $product_config_html .= '

Number of domains/installs in which this license can be used. Leave blank if you wish to use the default value set in the license manager plugin settings.

'; $product_config_html .= ''; - $product_config_html .= 'Maximum Allowed Devices'; - $product_config_html .= ''; - $product_config_html .= '

Number of devices in which this license can be used. Leave blank if you wish to use the default value set in the license manager plugin settings.

'; - $product_config_html .= ''; - $product_config_html .= 'Number of Days before Expiry'; $product_config_html .= ' Days'; $product_config_html .= '

Number of days before expiry. The expiry date of the license will be set based on this value. For example, if you want the key to expire in 6 months then enter a value of 180.

'; @@ -222,8 +180,6 @@ function slm_estore_new_product_added($prod_dat_array, $prod_id) { $fields['prod_id'] = $prod_id; $fields['meta_key'] = 'slm_max_allowed_domains'; $fields['meta_value'] = $prod_dat_array['slm_max_allowed_domains']; - $fields['meta_key'] = 'slm_max_allowed_devices'; - $fields['meta_value'] = $prod_dat_array['slm_max_allowed_devices']; $result = $wpdb->insert($product_meta_table_name, $fields); if (!$result) { //insert query failed @@ -251,9 +207,7 @@ function slm_estore_product_updated($prod_dat_array, $prod_id) { //Found existing value so lets update it $fields = array(); $fields['meta_key'] = 'slm_max_allowed_domains'; - $fields['meta_key'] = 'slm_max_allowed_devices'; $fields['meta_value'] = $prod_dat_array['slm_max_allowed_domains']; - $fields['meta_value'] = $prod_dat_array['slm_max_allowed_devices']; $result = $wpdb->update($product_meta_table_name, $fields, array('prod_id' => $prod_id)); } else { @@ -261,9 +215,7 @@ function slm_estore_product_updated($prod_dat_array, $prod_id) { $fields = array(); $fields['prod_id'] = $prod_id; $fields['meta_key'] = 'slm_max_allowed_domains'; - $fields['meta_key'] = 'slm_max_allowed_devices'; $fields['meta_value'] = $prod_dat_array['slm_max_allowed_domains']; - $fields['meta_value'] = $prod_dat_array['slm_max_allowed_devices']; $result = $wpdb->insert($product_meta_table_name, $fields); } @@ -292,7 +244,6 @@ function slm_estore_product_deleted($prod_id) { $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_max_allowed_domains')); - $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_max_allowed_devices')); $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_date_of_expiry')); } diff --git a/software-license-manager/includes/slm_plugin_core.php b/software-license-manager/includes/slm_plugin_core.php new file mode 100644 index 0000000..df904e1 --- /dev/null +++ b/software-license-manager/includes/slm_plugin_core.php @@ -0,0 +1,143 @@ +prefix . "lic_key_tbl"); +define('SLM_TBL_LIC_DOMAIN', $wpdb->prefix . "lic_reg_domain_tbl"); +define('SLM_TBL_LIC_DEVICES', $wpdb->prefix . "lic_reg_devices_tbl"); +define('SLM_MANAGEMENT_PERMISSION', 'manage_options'); +define('SLM_MAIN_MENU_SLUG', 'slm-main'); +define('SLM_MENU_ICON', 'dashicons-lock'); + +// Helper Class +class SLM_Helper_Class { + public function slm_get_option($option){ + $slm_opts = get_option('slm_plugin_options'); + $option_name = $slm_opts[$option]; + return $option_name; + } +} + +add_filter('extra_plugin_headers', 'add_extra_headers'); +add_filter('plugin_row_meta', 'filter_authors_row_meta', 1, 4); + +function add_extra_headers(){ + return array('Author2'); +} +function filter_authors_row_meta($plugin_meta, $plugin_file, $plugin_data, $status ){ + if(empty($plugin_data['Author'])){ + return $plugin_meta; + } + if ( !empty( $plugin_data['Author2'] ) ) { + $plugin_meta[1] = $plugin_meta[1] . ', ' . $plugin_data['Author2']; + } + return $plugin_meta; +} + +/** + * The code that runs during plugin activation. + * This action is documented in includes/class-software-license-manager-activator.php + */ +function activate_software_license_manager() { + require_once SLM_LIB . 'class-software-license-manager-activator.php'; + Software_License_Manager_Activator::activate(); +} + +/** + * The code that runs during plugin deactivation. + * This action is documented in includes/class-software-license-manager-deactivator.php + */ +function deactivate_software_license_manager() { + require_once SLM_LIB . 'class-software-license-manager-deactivator.php'; + Software_License_Manager_Deactivator::deactivate(); +} + +register_activation_hook( __FILE__, 'activate_software_license_manager' ); +register_deactivation_hook( __FILE__, 'deactivate_software_license_manager' ); + +//Includes +include_once( SLM_LIB .'slm-debug-logger.php'); +include_once( SLM_LIB .'slm-error-codes.php'); +include_once( SLM_LIB .'slm-utility.php'); +include_once( SLM_LIB .'slm-init-time-tasks.php'); +include_once( SLM_LIB .'slm-api-utility.php'); +include_once( SLM_LIB .'slm-api-listener.php'); +include_once( SLM_LIB .'slm-third-party-integration.php'); + +// Front end-menu +// TODO check for optional plugins + +// Third Party Support +if (null !== SLM_Helper_Class::slm_get_option('slm_woo') && SLM_Helper_Class::slm_get_option('slm_woo') == 1) { + include_once( SLM_PUBLIC . 'slm-add-menu-frontend.php'); + // WordPress Plugin :: wc-software-license-manager + include_once( SLM_ADMIN . 'includes/woocommerce/wc-software-license-manager.php'); +} + +if (null !== SLM_Helper_Class::slm_get_option('slm_subscriptio') && SLM_Helper_Class::slm_get_option('slm_subscriptio') == 1) { + // Subscriptio PLugin Intergration + // TODO - check for plugin exist + include_once( SLM_LIB . 'slm-subscriptio.php'); +} + +// support for meta boxes (variations only, this can be applied to single prodicts as well) +include_once( SLM_LIB . 'slm-meta-boxes.php'); + +//Include admin side only files +if (is_admin()) { + include_once( SLM_ADMIN . 'slm-admin-init.php'); + include_once( SLM_ADMIN . 'includes/slm-list-table-class.php'); //Load our own WP List Table class +} + +//Action hooks +add_action('init', 'slm_init_handler'); +add_action('plugins_loaded', 'slm_plugins_loaded_handler'); +add_action('wp_ajax_del_reistered_devices', 'slm_del_reg_devices'); +add_action('wp_ajax_del_reistered_domain', 'slm_del_reg_dom'); + +//Initialize debug logger +global $slm_debug_logger; +$slm_debug_logger = new SLM_Debug_Logger(); + +//Do init time tasks +function slm_init_handler() { + $init_task = new SLM_Init_Time_Tasks(); + $api_listener = new SLM_API_Listener(); +} +//Do plugins loaded time tasks +function slm_plugins_loaded_handler() { + //Runs when plugins_loaded action gets fired + if (is_admin()) { + //Check if db update needed + if (get_option('wp_lic_mgr_db_version') != SLM_DB_VERSION) { + require_once( SLM_LIB . 'class-software-license-manager-slm-installer.php'); + // TODO - Software_License_Manager_Activator::slm_db_install(); + } + } +} +//TODO - need to move this to an ajax handler file +function slm_del_reg_dom() { + global $wpdb; + $reg_table = SLM_TBL_LIC_DOMAIN; + $id = strip_tags($_GET['id']); + $ret = $wpdb->query("DELETE FROM $reg_table WHERE id='$id'"); + echo ($ret) ? 'success' : 'failed'; + exit(0); +} + +function slm_del_reg_devices() { + global $wpdb; + $reg_table = SLM_TBL_LIC_DEVICES; + $id = strip_tags($_GET['id']); + $ret = $wpdb->query("DELETE FROM $reg_table WHERE id='$id'"); + echo ($ret) ? 'success' : 'failed'; + exit(0); +} \ No newline at end of file diff --git a/software-license-manager/js/index.html b/software-license-manager/index.php similarity index 100% rename from software-license-manager/js/index.html rename to software-license-manager/index.php diff --git a/software-license-manager/logs/log-cron-job.txt b/software-license-manager/logs/log-cron-job.txt deleted file mode 100644 index e69de29..0000000 diff --git a/software-license-manager/logs/log.txt b/software-license-manager/logs/log.txt deleted file mode 100644 index e69de29..0000000 diff --git a/software-license-manager/menu/index.html b/software-license-manager/menu/index.html deleted file mode 100644 index e69de29..0000000 diff --git a/software-license-manager/menu/slm-add-licenses.php b/software-license-manager/menu/slm-add-licenses.php deleted file mode 100644 index 3f9caa5..0000000 --- a/software-license-manager/menu/slm-add-licenses.php +++ /dev/null @@ -1,394 +0,0 @@ -'; - echo '

Add/Edit Licenses

'; - echo '
'; - - //If product is being edited, grab current product info - if (isset($_GET['edit_record'])) { - $errors = ''; - $id = $_GET['edit_record']; - $lk_table = SLM_TBL_LICENSE_KEYS; - $sql_prep = $wpdb->prepare("SELECT * FROM $lk_table WHERE id = %s", $id); - $record = $wpdb->get_row($sql_prep, OBJECT); - $license_key = $record->license_key; - $max_domains = $record->max_allowed_domains; - $max_devices = $record->max_allowed_devices; - $license_status = $record->lic_status; - $first_name = $record->first_name; - $last_name = $record->last_name; - $email = $record->email; - $company_name = $record->company_name; - $txn_id = $record->txn_id; - $reset_count = $record->manual_reset_count; - $purchaseid = $record->purchase_id_; - $created_date = $record->date_created; - $renewed_date = $record->date_renewed; - $expiry_date = $record->date_expiry; - $product_ref = $record->product_ref; - } - - - if (isset($_POST['save_record'])) { - - //Check nonce - if ( !isset($_POST['slm_add_edit_nonce_val']) || !wp_verify_nonce($_POST['slm_add_edit_nonce_val'], 'slm_add_edit_nonce_action' )){ - //Nonce check failed. - wp_die("Error! Nonce verification failed for license save action."); - } - - do_action('slm_add_edit_interface_save_submission'); - - //TODO - do some validation - $license_key = $_POST['license_key']; - $max_domains = $_POST['max_allowed_domains']; - $max_devices = $_POST['max_allowed_devices']; - $license_status = $_POST['lic_status']; - $first_name = $_POST['first_name']; - $last_name = $_POST['last_name']; - $email = $_POST['email']; - $company_name = $_POST['company_name']; - $txn_id = $_POST['txn_id']; - $reset_count = $_POST['manual_reset_count']; - $purchaseid = $_POST['purchase_id_']; - $created_date = $_POST['date_created']; - $renewed_date = $_POST['date_renewed']; - $expiry_date = $_POST['date_expiry']; - $product_ref = $_POST['product_ref']; - - if(empty($created_date)){ - $created_date = $current_date; - } - if(empty($renewed_date)){ - $renewed_date = $current_date; - } - if(empty($expiry_date)){ - $expiry_date = $current_date_plus_1year; - } - - //Save the entry to the database - $fields = array(); - $fields['license_key'] = $license_key; - $fields['max_allowed_domains'] = $max_domains; - $fields['max_allowed_devices'] = $max_devices; - $fields['lic_status'] = $license_status; - $fields['first_name'] = $first_name; - $fields['last_name'] = $last_name; - $fields['email'] = $email; - $fields['company_name'] = $company_name; - $fields['txn_id'] = $txn_id; - $fields['manual_reset_count'] = $reset_count; - $fields['purchase_id_'] = $purchaseid; - $fields['date_created'] = $created_date; - $fields['date_renewed'] = $renewed_date; - $fields['date_expiry'] = $expiry_date; - $fields['product_ref'] = $product_ref; - - $id = isset($_POST['edit_record'])?$_POST['edit_record']:''; - $lk_table = SLM_TBL_LICENSE_KEYS; - if (empty($id)) {//Insert into database - $result = $wpdb->insert( $lk_table, $fields); - $id = $wpdb->insert_id; - if($result === false){ - $errors .= __('Record could not be inserted into the database!', 'slm'); - } - } else { //Update record - $where = array('id'=>$id); - $updated = $wpdb->update($lk_table, $fields, $where); - if($updated === false){ - //TODO - log error - $errors .= __('Update of the license key table failed!', 'slm'); - } - } - - if(empty($errors)){ - $message = "Record successfully saved!"; - echo '

'; - echo $message; - echo '

'; - }else{ - echo '
' . $errors . '
'; - } - - $data = array('row_id' => $id, 'key' => $license_key); - do_action('slm_add_edit_interface_save_record_processed',$data); - - } - -?> - - You can add a new license or edit an existing one from this interface. -

- -
-

-
- -
"> - - - - '; - } else { - if(!isset($editing_record)){//Create an empty object - $editing_record = new stdClass(); - } - //Auto generate unique key - $lic_key_prefix = $slm_options['lic_prefix']; - if (!empty($lic_key_prefix)) { - $license_key = uniqid($lic_key_prefix); - } else { - $license_key = uniqid(); - } - } - ?> - - - - - - - - - - - - - - - - - - - - - prepare("SELECT * FROM $reg_table WHERE lic_key_id = %s", $id); - $reg_domains = $wpdb->get_results($sql_prep, OBJECT); - ?> - - - - - - - prepare("SELECT * FROM `$devices_table` WHERE `lic_key_id` = '%s'", $id); - $reg_devices = $wpdb->get_results($sql_prep2, OBJECT); - ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
License Key -
The unique license key. When adding a new record it automatically generates a unique key in this field for you. You can change this value to customize the key if you like.
Maximum Allowed Domains
Number of domains/installs in which this license can be used.
Maximum Allowed Devices
Number of domains/installs in which this license can be used.
License Status - -
Registered Domains 0) { - ?> -
-
- - - > - - - - -
registered_domain; ?>id ?>>X
-
- -
Registered Devices 0) { - ?> -
-
- - - > - - - - -
registered_devices; ?>id ?>>X
-
- -
First Name
License user's first name
Last Name
License user's last name
Email Address
License user's email address
Company Name
License user's company name
Unique Transaction ID
The unique transaction ID associated with this license key
Manual Reset Count -
The number of times this license has been manually reset by the admin (use it if you want to keep track of it). It can be helpful for the admin to keep track of manual reset counts.
Purchase Order # -
This is associated with the purchase ID woocommerce support
Date Created -
Creation date of license.
Date Renewed -
Renewal date of license.
Date of Expiry -
Expiry date of license.
Product -
The product that this license gives access to.
- - $id, 'key' => $license_key); - $extra_output = apply_filters('slm_add_edit_interface_above_submit','', $data); - if(!empty($extra_output)){ - echo $extra_output; - } - ?> - -
- -
-
-
- Manage Licenses

-
-
- - -gws~>GJaO^z`)g_4W4l_Q@I-8vpR-ww`TUoSA}Vkbc?jsbu<&5t1W$|wV}QxLbi{VYj4Y( z`Wq08&8%9Lq<*SnC&26reul>-j;)mzOK*usBd~z4+s{{H3 zD>h_8R#wH+sWAAKse2^!mr1pY=7g9QZ-Rhz*OSi(^SM5HLr070t0mQ;oNx2Jiqsml z|Cf-?aF&&SgS_)psZ(#@&N&dUXXJ9$VWGMczStPj!hpyHPDA< zl*~{c(JqZ;n=T7GWgTAh1l@1gYVX@0`RFl`?7lTBs@~GXaAZeLm&shrznR>m^kjxt7JFuzI^0K7(u6l$&=SMg64tmFQP(razaoluGO^R+;~))Jg0fxzQ-%K4f?}b` z?hV(Yr_ib$+*z^5!s##cv)T(StdAMgjy8k%GxG53^2yf<;{FDUu5LEynSYw#AlO}f mzkdv|erYfIv3Tu9Ab$btOBd6f7(Ds_0000 + \ No newline at end of file diff --git a/software-license-manager/public/assets/images/slm_logo.png b/software-license-manager/public/assets/images/slm_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3c10f4a232ca47f7f9f25b9786677e77958225e3 GIT binary patch literal 8815 zcmV-#B9PsQP)I8km-iAvfPe)OqDe^WLva|9uPQ2qC=B?47HXvy zEGDSq075#WPXF)^|5B!tATU-W5d|&wBPta{sDK}}Gf-@873^~wAP9u-KmsK1>+Jr1 zYwdN;KKtDJ?t965f&FsNT6^vFz4qSc+;h*p@$OaL!uo$ac*5@*o+$mW^I_NrHyoTh z%)78C1h>dJzsLzhAl~hCF6{Jx!TFuuxhI2nBQE%nfg+3ygasph-G`ogHHQqJUtKL+ zebdshvB}e1m^>}`aB2vC1(G~#PNG;3`{3_J@$MQN9K6e4a^B;!rhFC@y($W_`^p=K zLs?$nOLtCiVYrTq?y(r=rr}nge&e;KUYK`&BouD5FNz!HUv~aTFTQ<6w@CMuy~<9w z=9`C%j=A%&?VRsIII$X-Rb++*^Zs6}pc{t<-A(@Dk3KuAu1r(eJ}*eP>RZc3$0t7n z|JH^O7NmY68K@1`L-fjU!hPAi_q$+kt{d~~1M-dDzUU-gYuZrpzk8NUEK z&>-!$6W(u2%Dv6_TNMSrEs|W6L#+vbO92ouQH0yOVhk4&H@JE3i}Nr2t1Vqr%sMH~ z#aY)|DGZx#UNpL6`xkJfa|zB9ohl2$VcCjqWZk@CmMlUxCeCO=sInjRRp+0$#PSNL zP<3pZSN&j^#OvyzgBE|@uQ?l6a&yXwLs)`ZsC*fYVc3_*+0 zx_E5Gsq~>BIBDY;3zFIIqGD>2caIm|{q@kg3%@fpokw&X@HvaY1jXrdrH*jN6fp+K6(7ZMN;*V_2 zT-xidS>9_!reJjaH_t}muSX#k8?A!bNuxcZ)9@kHj~^MbT}W(L?qXC~x66b8huNr{ zOb{C*L`(g}B-;+cg+uE;dUGPN*JyNoul2Za?S1pcU;53LCPTQ~l-laBEyK2tYQ-=} zyfj?;U~@1g0HdaZqj|Hj-ukmGD^t+VAM>qOJoMiCuwiK7F`xCHIDR}+zeioOwMW7x z6t4XH!*-XuZ$|b`GFms7&M=PWTUa|m{SsQ2Q1szoNo3#fI>;tvrUmWkpAYxUFXo@^ zFZ+upX?Jg0?du+D2^+qBAJnCqQMf3FHMw&D6WPnPaB=gPxrv^|6BlVFNR>7zw%2D3%m?hIqsIBQC-nTqa6zy1vBt~nM+5BW<0F~J>qJ7L4uj~or|7qEelDg)Myy}g$w1XZsYxEmMlWH{xeqjUb$ml(0s=9@yz2y@8_R9ldG?ykIHJ8?=!~2 zE?nBO7<4RVwSpCEPsC;}VT$(@=rfS&Nby=M_0fDzAvukwmZ~uuOJ!2Lk9-KL#=`EK znY&u&)Y!BOGXC%R7Z-Ntn%B*nJ~po8_!2< zgo@Wt{g+YUQ9eZ}*1f>0Pi3bUe+cDC1uKRcA+`_%?*drl^0 zCuB=Rz9(nw8W-~&y=YxF!;a~stl`tv-!eEu0;|GUtvZJ9LHxKR{=m?>kM+IH(zhVt znvKiHCft9)hsFI9HnsnIoltt46tKccLu=^=gZV5BCfkc2L7EO#h@;6+KmP39J;(D2 zH&y*GwtaBkf@AyLknFo&Jsm~0CXsx#)4P9pK0lgi?VI2~1I8L-NTu87MD zi9E!O-|%XjS>U*W3O9nh;lm)I;Pe%L{Kpsd8Wca!F-Shc3HdT!LcaDUerQ-cI<}j4 zz^80e7G(6x8}WHYSS{X&chtqm0Qh1vC>?svrV(gQQX&-c3N6ZuC=Ri!Gmg@jsZ#KW z_Zk;V$@U@oKs0_LLW_iS5(o}&4AQffzX?q|7iHjz`eGo!BIj>$c)FA zBpx^+Ueb+_xX4FHoXwzgvV)Bg@-NjPx+AT!FY>BaRT)mGIt-f56f#z|lf(_0TZ2}r;gyn%z}*CXVny`ePn832>5sD1AuVIb zx|J>C&+SJo3ijX64gT5toIel`KTflaUb%5r;xD|PoL3AC`z{YobX_6iVd8U`2_4P` zdSJ6el8YW;irY97AUL6lR#0+EIR?)IUM>9~lNN{BQGP(;!XKgW85F%4e@YXbI0#(0 zzzv@Bo*5Mb9yDU!oA}{#hdHLsyot{#F_iKgNw#sai1K%{v#xIC!xupL)hkZ2qBhqodVu6HyNbFS|&{V_)9b zNJo>mf6sgo==|7V$F1_0UetK*tF=PLgZm7gsU6g*1S9mxUg@+4PQ_dTgo1MplO{#1 zaU0kC)hmpNCru85STR(G=`wlxA++d^;WlpXA#6_vGgOO^`iVyp2mbUdEymN&x{2@J z<^qdB9(kEBNzAlmjj^#$h?m%pQ1BVVkLSGxnQK#Ruu%{`-U*#+V?JqF{^=n)LmHim zF&LD5lAHu!xWpRiMpFl%OB!K{E7f>w`B=c{fQ~CoaV>UNe^HEiC`R#`gI#!byPNo) zt_-tLxk03I2Z*^vy2JniAzmUIq3JOw?82{nMmNZDRCKN6TsnGa6l8p2{5;fsff*E* zs5Ft8JCrkzEzZCS7eodkMn21w!HOwC;@IGT8~EUvt~m5HE^L3njeqx6=XUMRbbwc4 zjnLvYm}s3X6qXh+=c&F%L7Xoy&_M>m7n?!t&E#mafiT5;>agGmQ@p2u`PR!{C>cO8 z&PFi~Kh%X6c1SV&u3bI+>8G!!BV7m5m{YvL?8EtKzbZ)h%BErLgD0c~NRwnR^I2c^d+4gp0TH+HHe}VPhcLyX?oNSXoZ*V4hr6)jMK`_~E91o% zlLg500MlW<7)}^tRaB325I^n)pUB*snW`WY6S_JyDLSl4guC&?Mel`XTZ-fW!B{>h zMm#ptWeLt9*^GyHZjWQ6nOx4_o-oNp!a&Cjybr}#w$z0eU&6|`#krmK=2#1$wtMS0 ze`r_Q9K}C2F%fqr=cD%n;5#znmQ1QT79rB3-{K>Uk=i9Ja; z3q#Ht61RjHKWzyu+Bdu!kGdTmz#Ta2-L6=^%!QX<#?{m<&hOYkm6aXh^u-|YuJPjy zWYwaN5;O7Hia)q>%!U*sT)hd?DDb;`j9Bc5EhYdYIw}c^$s>=v#3|r}#uH(;1XF$5 zsGE(DFHML-kxz7relnA$pu#Hx{bDiBT?upH}xbXZ7qMv+X(-e@Oc#KEJ zfD`iNQH+6e-Ukf*r=Au*%fl?kKP)wX9Vy79D^HW<3ug?9LGeV~B&K5#8lS;#{0*Au zhH!*hFrAeeJ`#a3;;k89r3k}<6QT)!gw%_NqB>`s>WWn>UD!Q}OIvJH+n=xMMOo%w zb;MXngEJO~LAT!mDTY7jKqhq5fuX*x(c=L#LvIYUab*_Z@@ zp`5?(xXGAWoqnvmP;!07RzYRcSq@_7-KV(X^?xXD_9nl7s|(LOs|z3sAnocSsq+S0 z=XA+Ir7lH0E|LAB{iPV=EG)i%m$$z0#oYDG4-`s_R9t#G^DQX|zB-I=y)rIMJz?Ey zobj_~d0oJ zz9A_-t|ZeX@>os9sudLN*-C6vlSwh=HvVub9T^B4Hy%9x(!_G{3KsD_@G9em3lxTG zNO~Hem62n~3?xUUPqrA&e%op!Wwk+B80ZS5yy0X)gQPTrvFnOIdAsWzeUuC1D8|41 z(3MZz&q|VRSg&(-G)ar@vXLmn&Pt@{|eS(U}E<~bq&nDTasEO z44%Yf&?i}<5{i9QjFN#b}eFER;#ZlC;}cfQSajyc+e zi3vCPgWFyC_%?~b>?M}f7mUgZvB1hn7arUiO~v?a%#=i!+n??DS&IQ*;_Av09FtSc zAktZ!I8I!OL0Xq)V*)vz@wdhixbmt#O&*gHTW%lZN;mM%+fH(wHy?xF7?^aEx8Cl; zV~?q9RFD^#WT8d%6^Q(;9U-@$#Z$>gq!nMr-x|;3FWvA!@Wn9B>Z&qxpcN1tSDLc3 zE+#?>_iCor_H4P&Pm6+&hf`;F>brVg-3p`A_+fz zgB9`72Dv^&sSYZcirFlfIJU3j#}60`f)ytw zK;(cozLZ> z?VtH$kSbd4r-Z)odlV$_q3P*1i!KI}b@LfkXCv~9=fJ0oAoZnXz!k?H<2r9WNmlCQ zzuxJ>mWLqFTYu-=vz>|+0g&L4p92JtoqKJ5z+JOJJ5k3mgr?W5W^Dj?1`da=P6VgWJXxd!VlgT9*!0Rvr3}Xiwvo;$?{LM@Z1AH$fJ^Mkp!D09JfHsMb)E6Er#+m_#<;8uV4`C9JA|s;COz(9M!mGJn9!2 zB`c+Q+^hJh%5oLor(psw;z_+u09=+?9mAJ^kl#EobE~xiWWF&zt*Dd+S<@b*m_fF| zLD%`f`{iUS@2>CusS6{&i{ngNln0RfM6vdk#DO}4rrx0Pi$&$LKq!LN_J1G6A05o& zVcY|*2s=?JoIyDgVj?2s?9nBy5eP2nQa(u?l*`Pc0<;*bc0^B|Fms@I_i8Q1^Uu49 zTW`Z}BH)f})MHR|MN!LRzXay~k-u)hZa#5F0sG zqt#IYg$)bX%^z}Z;r?;F_MINF=>$pm&DF@D-Pw(w8LKCO;juuj*f~)0MDXI{mNn1 zF%D&7lS*;5(mCr)xgZG7JcG|go{Rn{4`nUZeHK4#YEEdq#w`L|Kk5px3droksLev1 zK?uL9kfo21396L}A<}YOxsjt2PmuQ&<;aLDAH&Hzrr5R$lj{kgNES;}Xn3-K#3#xZ z@4~it1V2xI(M|jSpJ(7saLXQJC3DQkT*t4wiA^ioR=kei@5Fj2aj%*l;U$TW(28IX z9F|x@!ErE1MCNaVwk{0vMDE{!TjaR>EbqCulAE?XJ&e8(DqchJUz7z`yzP(iLDe70 z8_LOB@JS!uRHnhxC;q9&F?RMv{~X0{Ig8NZHmC_HpTt#`$2%-K#l~Uc!WNI#;}G^! z*%y?b{)}su(4TR^EHBtPZY{;=~hOv0{achnsG4ZZ{tTMKf80AcY+-$dJPY zgeDk+ae~=o5vW|Yc(iAF3`U*?XpBuie$ipF21!hC)&h_A4UA|)Gv#Eql|q=}9FvyH z5YJy^iaa*!UwTO-<&fwsjyq0Ph7{vgJYo1W9=pMbn6N~jbgrD@_~X@=M7CB4%$~nu zL2U0NOz}z}_n!ksBN}nS6z?fd{`5u0sH2iekW?pe)S~cf*FJ|CvsKwlI4YIu0VlMW zBJ3JpRqiMtN{ORk1xS8ePsUUDPWxwj*3sNyEJ{^^x0Xk9ssL zurr78i>==J@q;xFvljXeB)Gd;zL5}fX$6rh8_?>j9K~zd%wRfO>`O8DT7Wg%Is`7p z2^`JiB(8~xMKc}GZ;%{oAVAN}V8YGLHu5njbaNH#pSS3Qbjf2Vd(pQPjLj0*Mb0Uo&7wfVp zq#&K4$-9^n3K>)dy4)EmUz#I@DQ@E$0C-~nVvt=Z4KHZI-5>DNyQoi;sEx2q|C53a zPT=AM9bt=*CwA$APxOJV{wfrINwd#Wp20bYc0^w7i2`*}btNXqHmC7NKePzyPnu)a zfKEw4{F+N1FK`V^W(!gT(J{yYnSl`!m+c@zS$;^cK~~RjfsbsJBor%GVgM*#Y!QZE z-X{-6`xUsFde3{E6po*fpn&Z2DvJ+Jm*As5zSQ4jOCtTqBSmd^9GA!F<52Nymwh3( z;9SP9zR)g>*KrdEZG<(Tm0TlJLJW|%@L3PweS3@E(a;+HPj zB2C_ZaF#54El%**=dq>OXAuH-?{eiGx4YtWe1%}eN_kO-H7UmJc%uhCnQRzfY?egf zd+joOh;%S556UNlymVzU*$hhO@kia{cfRe)|Na%8 zseKAhB8~}UzXUyOOP;$*m5U|(-p-qj5jEld->7Zs7m6NY9wZ;cIcCuK3{rxz8m!_b zm3f$H{7}SLsb63;MBH*uTairExrwh_eGe?@X04Ba_isrdFG`(xvXvH66 zWejW*k9YUZ`_!e??;XoI#8lx|nr~EQ3aC&Gi7Abce`-)6@m@2a($8Dq4`BB4f9~8NxX)!di%@)ksR~9X zQg{3j%Up5phxA1L)RQj!+fQWiXgbwL!K1%2NSsPUQN&{jBnByz+NDXQMdOrZi~3{? zxcEqY5$`oF@q>?0CZ8`hddazHl|!Q-q!jbQ6)+&*PLXPYru9|lwZb4uKnVoeuT>(v zeBJyH^-4MSJm*h-r(S(g3FGEVf{aiC!L=aaqD9WH#&-zc|3T+*#TFjg;>w%9i~n|I z63j`f41y-|F$PNrx{?^PM^WOj%~|}=kF9Eqxi(t{&1LHgocz11u7jg%8^mrM1SZpi zkd0HtXi8}wZOr&P1J1wwozB1UO%TNb=FLQ0u7<4-e5;{86brKhD%%!jE`2c0ToK{SlSKgRTV$*Iu=% zEJN$(nPi$(Q#bE%a$))6&t_IPj+#awM@nH5|GJ|5)G_?;11{Wm z4<0e)-Q#3hHzcBdvBLrK8I66z3EA>-rPjwLf3rvF>BWzEGKn|h!~PSOZmD%EW}f79 zH~G~oH{iDxFKZ1JDv`otIG$LhYa^T|su@1>y|-SH>>%CVjJti&y`9i}Ve z42by-lC0nvXqh|Kx%Q9x(Y6(Xi)Q{4fBa2AEWmYXF`_~_RiwD3D5VJw2Mls@=#_;+ z!69gnI&yjT(^twvJT3%<5-heHgWNtMZaP}>qNF}ptb{3U9ICJODc9E;kN%5Kz!_`k z_;tO0Z&CD_v0iZEt6%;xK8#<@aVnIPuX)=`s280cQ#N|ee4$t6)rM;IHcCjwrhKI< z3Yc$%Z2kOg@zVt5D2!&fYU{60rKUI*#hnA6{Peq~;E11xOu^9^=&XT<+tc6}hy)E! z4bpqVZM+3#*6PkJr+y^Tpz61vsY{(Q$etyJP;eX!HU?F+i+~9lLk4Xo5aLCj4DN0G zg)g>CE;EyPxAi_GXYgw;-ij-N3v;^kZ7LDccRdIs&LAo%IO8Kl*d^)2nRLE1=*Yul zM4BW!!9@qgrL+;IC+KKZjEJ?$pc$r74o4g6W%Nh4I-3XvA<=Hs%NF&UEwi7-4?Pz$ zmnzWv2)Cx!Ca=A6J%0aP{s%VmgTln8t)!1B(=}cFT0pEZ7LR@)YNPcr)pgipd+D30 zf0dEKZ|HpDvUOE|3Z(A}G1wd28rkLQUFkGYZU%uO6UBkjucm4R1fh=AB+>XfW?=(EB=sX@;MY6-rd985uZ*I z8`EJVPq^;N!^+9<3(TNZ?5EoV`^~hX%V1>diDoR@I-z4gauyNkmOhPE6C&y%Xgb+9 zoRF=Ler2kUEqj@QOkFJ)v3~M+zp(`mBA)Cox(v4+rq^O5(_m7 zDi5HQPY4)|vUxtUeB|9q)|~EVuVug{N8I9C3Uflvp9h@vQ-9#&6UC4}*?;Wv2Q#)Q zyB6D&O!;8=+J-md7b$*<=O7O-pK~7Rryh1=ukBA3tkv+=B(r?;LB(VqFfr}b$~ zs2C$w&JL`MQ~bv-|5dlJr=m^!9Fi)bp<*Ds7tf{ckllh2SyTogz&(}C_Eu&{XiP{< zN(IRmWeHQ9I=VO2Ppy3E&ZSUr*f7|rj2RWyVyE`zWaiTYG38&MV0ri#7)o0@QNtUb8 zXyQ#D`Ig6h`D+JoHMYgibEnVroRQnyqb(~{LI?0%>dBboxEIb=7lX-QBTR82%E5RE znLIXyif1z>C8oH@QBw60rg$8#l~J~feCng%;4#>Z-(qF#l7ktZz$?EJWUmWCUA(OG zZXv$?UtF2)K50@?Jh9(Eo8{q9EoFr=*d?D0U3=20tr4q>+e??k%9s)ROfGGE=_B3Z znu=#eW8u2>XSVO2Ae6g*On5VO@ z*c8eqj}y;-0fsI?#2qV&ji)frN1mX(V5WUU9gtUKD5-j9S_aeE4BTceNWh z=<`#3xYU-MIc3fZVlMH)34BNGb9i@u0rD|OdR_oao;lTT+;mSD@}|Y z2aZ{hs1sLCV<6p7xWO-Wdmv%Dc4xw8vCl+iuXw|CS1l{U*k|yLmX8@Nuq08b;XM=9 zFQM6Z?r2_sUQ+^(ZR0ng9R3Hec~|(0E`2oDGnf5+UJwf=eDj(^-0m?vAy;z6oIrZJ zAa%-AuDOQ#^5=V)88_Hog8$(Iz6CIU@TUBULKB&5_=*)I4J=&yw@0CWKF*rw;6t!s zIT?@vm8wn*?BZo5;czS8IRlycH0Z;VHGVU`0egdAa~Yqqc}3f+q9ADo!ltX2x^nC^ zq#rML8us<&)p(w8t4@z7TIU3o)4Q$sf#5VBv%f8V;KLf29k>ZGRNb`JIh5#EPfF$ED{m#cj8Scp5iX>3jBWb6R5xlct>2P l01P93?Yid@^{+bg{{h;rTSCzuz%c*-002ovPDHLkV1kV{MFs!> literal 0 HcmV?d00001 diff --git a/software-license-manager/public/assets/images/slm_logo.svg b/software-license-manager/public/assets/images/slm_logo.svg new file mode 100644 index 0000000..653255d --- /dev/null +++ b/software-license-manager/public/assets/images/slm_logo.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/software-license-manager/public/assets/images/slm_logo_small.png b/software-license-manager/public/assets/images/slm_logo_small.png new file mode 100644 index 0000000000000000000000000000000000000000..a209f79669365f669969354df2b192fa0d82629f GIT binary patch literal 1020 zcmV502q9G|5St)1X$%o%WzANUMM>(yg4iHUQmKgxZ->Qj=RZo}30DPfzN-duL9LIUW$p zrda)6ueHY-&01Jo-RV)a1*n_M$JuFwE0>|ozkp5$a{fi6-~NzUz0l2KacZH^>$j?` zJV9;b0GV`r1CLfrPZ9JI(uaFM^H0dk3&4f*Ts!((2XV|AW`Xppx#1bc8J>%&66EU3 z(1(wJlMcelt3bDl^m}7#dCoRRasg5;kmaK1)GWUBOq$>;NdldmKrqlpzd*Zfg!y?g zZbE-Qfb@F*?TGQ#^CY`i2$J$d#l2cjW(J^GL~?xzATUB;9>4RPCa=E+JvxH!F&zdv zI)c@Mg$`0KSZ#P9+#Eq^C=?*quR$9;y=0Z;j_lb)EEx9pA$=Yt#u}xVVS}J%6O=)b zHjKQzmMfR@=YYdQp!GMxJ8!dKuaE^}u3mxe|3>h(19)u=+}qT48+8IT0w;Gp$64=s z-%b=`E|;z$-T4}F`4S_zunqt+jl~)s3}+a5$2pSwF_3dDu0*>r=c@Wo3v%%y(w~1q zSXyF{cm)&_NQsAv#mgBwiBUqio}^!fL<8qdKOpMRvOer)>KxKM_io#9#o=;34F_|&U+EQB4gk-Y!G zC+uT()8x$NpnLot7ahAU<)Fc-I!W2XVOw?0WX!6~$A3Px6DDUjO>=)!bn9+K+wBK* zs*HM?Eg$2s47Pf3(rX0NMN2EPw&r)T-)mt74Q~h> z!Po0DG4}?0c7xmIXNPBz@6$kW^Y-P?CJ*I?$E>aozaEZdKc@}7e`gM@w%vTZq_9YG qtfYJLIAWK3tYNxTlN+~At?0iBn5|m8@ho)!0000 + + + + + + + + + + + + + + diff --git a/software-license-manager/menu/includes/index.html b/software-license-manager/public/assets/js/index.html similarity index 100% rename from software-license-manager/menu/includes/index.html rename to software-license-manager/public/assets/js/index.html diff --git a/software-license-manager/js/wplm-custom-admin.js b/software-license-manager/public/assets/js/wplm-custom-admin.js similarity index 100% rename from software-license-manager/js/wplm-custom-admin.js rename to software-license-manager/public/assets/js/wplm-custom-admin.js diff --git a/software-license-manager/menu/slm-add-menu-frontend.php b/software-license-manager/public/slm-add-menu-frontend.php similarity index 50% rename from software-license-manager/menu/slm-add-menu-frontend.php rename to software-license-manager/public/slm-add-menu-frontend.php index 2aa49ff..2aa50f9 100644 --- a/software-license-manager/menu/slm-add-menu-frontend.php +++ b/software-license-manager/public/slm-add-menu-frontend.php @@ -112,65 +112,127 @@ public function new_menu_items( $items ) { public function endpoint_content() { global $wpdb; + + $class_ = 0; + $class_id_ = 0; + + // get user email $wc_billing_email = get_user_meta( get_current_user_id(), 'billing_email', true ); + $result = $wpdb->get_results ( "SELECT * FROM ". $wpdb->prefix."lic_key_tbl WHERE email LIKE '%".getActiveUser('email')."%' OR email LIKE '%".$wc_billing_email."%' ORDER BY `email` DESC LIMIT 0,1000" ); $result_array = $wpdb->get_results ( "SELECT * FROM ". $wpdb->prefix."lic_key_tbl WHERE email LIKE '%".getActiveUser('email')."%' OR email LIKE '%".$wc_billing_email."%' ORDER BY `email` DESC LIMIT 0,1000", ARRAY_A ); - $table_start = ' -
-

My Licenses

-
- '; - $table_end = ''; - + $get_subscription = $wpdb->get_results ("SELECT * FROM ". $wpdb->prefix."postmeta WHERE meta_value = '273' LIMIT 0,1000", ARRAY_A); - echo $table_start; - foreach ( $result as $license_info ) : ?> - - txn_id; ?> - lic_status; ?> - license_key; ?> - date_expiry; ?> - view - - - - get_results ( "SELECT * FROM ".$wpdb->prefix."lic_reg_domain_tbl WHERE `lic_key` = '".$license_info->license_key."' ORDER BY `lic_key_id` LIMIT 0,1000;", ARRAY_A); - $detailed_devices_info = $wpdb->get_results ( "SELECT * FROM ".$wpdb->prefix."lic_reg_devices_tbl WHERE `lic_key` = '".$license_info->license_key."' ORDER BY `lic_key_id` LIMIT 0,1000;", ARRAY_A); - // var_dump($detailed_domain_info); - // var_dump($detailed_devices_info); + $table_start = ' + + + + + + + + + + + + '; + $table_end = " + +
Order IDStatusLicense KeyExpirationInfo
+ + + + "; - foreach($detailed_domain_info as $domain_info){ - echo "
Domain(s)
"; - if (isset($domain_info["lic_key"])){ - echo '

'.$domain_info["registered_domain"].'

'; - } - else { - echo "no data available"; - } - } + echo $table_start; + foreach ( $result as $license_info ) : ?> - foreach($detailed_devices_info as $devices_info){ - echo "
Device(s)
"; - if (isset($devices_info["lic_key"])){ - echo '

'.$devices_info["registered_devices"].'

'; - } - else { - echo "no data available"; - } - } + get_results ("SELECT * FROM ". $wpdb->prefix."postmeta WHERE meta_value = $license_info->purchase_id_ LIMIT 0,1000", ARRAY_A); - ?> + // $get_subscription + ?> + + purchase_id_; ?> + lic_status; ?> + license_key; ?> + date_expiry; ?> + View Info + + + +
+ get_results ( "SELECT * FROM ".$wpdb->prefix."lic_reg_domain_tbl WHERE `lic_key` = '".$license_info->license_key."' ORDER BY `lic_key_id` LIMIT 0,1000;", ARRAY_A); + + $detailed_devices_info = $wpdb->get_results ( "SELECT * FROM ".$wpdb->prefix."lic_reg_devices_tbl WHERE `lic_key` = '".$license_info->license_key."' ORDER BY `lic_key_id` LIMIT 0,1000;", ARRAY_A); + ?> + +
+
Domain(s)
+ +
+
+
Device(s)
+
    + '.$devices_info["registered_devices"].''; + } + else { + echo "
  • no data available
  • "; + } + } + ?> +
+
+ +
+ prefix . "lic_key_tbl"); -define('SLM_TBL_LIC_DOMAIN', $wpdb->prefix . "lic_reg_domain_tbl"); -define('SLM_TBL_LIC_DEVICES', $wpdb->prefix . "lic_reg_devices_tbl"); -define('SLM_MANAGEMENT_PERMISSION', 'manage_options'); -define('SLM_MAIN_MENU_SLUG', 'slm-main'); -define('SLM_MENU_ICON', 'dashicons-lock'); - -//Includes -include_once('includes/slm-debug-logger.php'); -include_once('includes/slm-error-codes.php'); -include_once('includes/slm-utility.php'); -include_once('includes/slm-init-time-tasks.php'); -include_once('includes/slm-api-utility.php'); -include_once('includes/slm-api-listener.php'); -include_once('includes/slm-third-party-integration.php'); -// Front end-menu -include_once('menu/slm-add-menu-frontend.php'); - -// support for meta boxes (variations only, this can be applied to single prodicts as well) -include_once('includes/slm-meta-boxes.php'); -//Include admin side only files -if (is_admin()) { - include_once('menu/slm-admin-init.php'); - include_once('menu/includes/slm-list-table-class.php'); //Load our own WP List Table class -} - -//Action hooks -add_action('init', 'slm_init_handler'); -add_action('plugins_loaded', 'slm_plugins_loaded_handler'); - -//Initialize debug logger -global $slm_debug_logger; -$slm_debug_logger = new SLM_Debug_Logger(); - -//Do init time tasks -function slm_init_handler() { - $init_task = new SLM_Init_Time_Tasks(); - $api_listener = new SLM_API_Listener(); -} - -//Do plugins loaded time tasks -function slm_plugins_loaded_handler() { - //Runs when plugins_loaded action gets fired - if (is_admin()) { - //Check if db update needed - if (get_option('wp_lic_mgr_db_version') != WP_LICENSE_MANAGER_DB_VERSION) { - require_once(dirname(__FILE__) . '/slm_installer.php'); - } - } - -} - -//TODO - need to move this to an ajax handler file -add_action('wp_ajax_del_reistered_domain', 'slm_del_reg_dom'); -function slm_del_reg_dom() { - global $wpdb; - $reg_table = SLM_TBL_LIC_DOMAIN; - $id = strip_tags($_GET['id']); - $ret = $wpdb->query("DELETE FROM $reg_table WHERE id='$id'"); - echo ($ret) ? 'success' : 'failed'; - exit(0); -} - - -add_action('wp_ajax_del_reistered_devices', 'slm_del_reg_devices'); -function slm_del_reg_devices() { - global $wpdb; - $reg_table = SLM_TBL_LIC_DEVICES; - $id = strip_tags($_GET['id']); - $ret = $wpdb->query("DELETE FROM $reg_table WHERE id='$id'"); - echo ($ret) ? 'success' : 'failed'; - exit(0); -} \ No newline at end of file diff --git a/software-license-manager/software-license-manager.php b/software-license-manager/software-license-manager.php new file mode 100644 index 0000000..1f293e4 --- /dev/null +++ b/software-license-manager/software-license-manager.php @@ -0,0 +1,33 @@ +Michel Velis +*/ + +// If this file is called directly, abort. +if ( ! defined( 'WPINC' ) ) { + die; +} + +//Short name/slug "SLM" or "slm" +define('SLM_VERSION', "4.0"); +define('SLM_DB_VERSION', '1.7'); +define('SLM_FOLDER', dirname(plugin_basename(__FILE__))); +define('SLM_URL', plugins_url('',__FILE__)); +define('SLM_ASSETS_URL', plugins_url('',__FILE__).'/public/assets/'); +define('SLM_PATH', plugin_dir_path(__FILE__)); +define('SLM_LIB', SLM_PATH .'includes/'); +define('SLM_ADMIN', SLM_PATH .'admin/'); +define('SLM_ADMIN_ADDONS', SLM_PATH .'admin/includes/'); +define('SLM_PUBLIC', SLM_PATH .'public/'); +define('SLM_SITE_HOME_URL', home_url()); +define('SLM_SITE_URL', site_url()); + +if( file_exists( SLM_LIB . 'slm_plugin_core.php') ) { + require_once( SLM_LIB . 'slm_plugin_core.php'); +} \ No newline at end of file diff --git a/software-license-manager/uninstall.php b/software-license-manager/uninstall.php new file mode 100644 index 0000000..36463a3 --- /dev/null +++ b/software-license-manager/uninstall.php @@ -0,0 +1,40 @@ +query( "DELETE FROM {$wpdb->posts} WHERE post_type IN ( 'wp_lic_mgr_addedit' );" ); +$wpdb->query( "DELETE FROM {$wpdb->postmeta} meta LEFT JOIN {$wpdb->posts} posts ON posts.ID = meta.post_id WHERE wp.ID IS NULL;" ); + + +// Delete Tables +$wpdb->query( "DROP TABLE IF EXISTS" . $wpdb->prefix . "lic_key_tbl" ); +$wpdb->query( "DROP TABLE IF EXISTS" . $wpdb->prefix . "lic_reg_domain_tbl" ); +$wpdb->query( "DROP TABLE IF EXISTS" . $wpdb->prefix . "lic_reg_devices_tbl" ); \ No newline at end of file From b0b213b05aba050deb2228f984b8213f8f87d892 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 12 Jul 2018 08:45:34 -0400 Subject: [PATCH 008/293] added screenshot and preview images --- .../public/assets/images/Screen-Shot-0.png | Bin 0 -> 254689 bytes .../public/assets/images/Screen-Shot-1.png | Bin 0 -> 278452 bytes .../public/assets/images/Screen-Shot-2.png | Bin 0 -> 362349 bytes .../public/assets/images/Screen-Shot-3.png | Bin 0 -> 360249 bytes .../public/assets/images/Screen-Shot-4.png | Bin 0 -> 357456 bytes .../public/assets/images/Screen-Shot-5.png | Bin 0 -> 193478 bytes 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 software-license-manager/public/assets/images/Screen-Shot-0.png create mode 100644 software-license-manager/public/assets/images/Screen-Shot-1.png create mode 100644 software-license-manager/public/assets/images/Screen-Shot-2.png create mode 100644 software-license-manager/public/assets/images/Screen-Shot-3.png create mode 100644 software-license-manager/public/assets/images/Screen-Shot-4.png create mode 100644 software-license-manager/public/assets/images/Screen-Shot-5.png diff --git a/software-license-manager/public/assets/images/Screen-Shot-0.png b/software-license-manager/public/assets/images/Screen-Shot-0.png new file mode 100644 index 0000000000000000000000000000000000000000..31e36e2d6b6b30ea78c8a57b3169ddbcd46896e8 GIT binary patch literal 254689 zcmb@t1yodDyEr^_NFymFDj+#@g8~v#64EJMGr$a;iUN`%N{2`(NDD&`As}6nLxXg8 z^Bvy%zCZDP_gmlk-}T>Xu{d+iKKnfT>Dq6fsVNZR)8d0bAVMWYIZY4uxr@659eN zzkQDJOEAF;!)J)K19=QxzpDBdyJ)3WO2K{HTuw+Cr8oi_*$&q&a-U!!K< zi@oWa-cP~l5tYWZ)q2Q^xqmudP{;k#JM&>PIkTMp{Wgn1+C1O#>c-Tn%P3Ig)1;@O z$sebshuz!K>${5rJd*}nCw)M2XF|!XiEnW zafFF#1zDig$eew3bqCx>64fbHjW$2IA3H-A4MLoK(ckVR`W%un6gKt0;WOSdb#bAu zhB83vRnF+R8Ya|xlchqo(I(b?rqX%RJoYGFk&C!pqTlzhn{m6-!3@v@&sk9)1_Iq8 zzy3o5C8bb##+Inz3RTVJ{s1vujCG>?Ax2KacFdGDtkoI&ow{Wn6Grh2~v4co5 zZ`B}~nd~ejnRNwK!K%)(Rq*T8nAQ$^ZLXz%NN=TR7ZVjEBd=!-Ly{ zpBw6G!^0~oD#`=q55Ci{vsw&jd&f4pL znkv8tu*6?e0VcCFhnxTZPPViVvxd4lnFIT_b27KF;&F!9Ff;vwO)*)hBh(f6FaRC@ z&HGA#Qgek`+c^Rc{-fOfwINkiF(n8LZVs`qQj(Ko2DZp;XJ;uU!e?$Fz;Dja#V>4O z#U&ujZ^dOU!YjxnASh&MZe`AI#VacEpZDdU7H-!J@SpcB{}10+ceMj#)!gxaz0S1+ zUvrL_q8$tlb@lqUjA>c9{QJt$j_F^_B4%!JEiaPHFmrb+OXh#ywEJK0|GyUXu(bk~ z{F@p6qVRuBgF&s~9_FrAk8J>4{YQ^H`;V9~$;w{q4G|_bRdWkF$hGV|{11Q@w&oBU zD?o|yF!KOA;<*<0|JoeSf8Y1Np50Il|CtWxo9oMe6dmy6A601u0hV?J6d`@o5kCk6 zm7^s0SlcsYebUEs@b|^lj?H_al^9Bc2FiDFvbPK#DL*D9LF;_n$4+E*=kwHU;8OeXh2m<_=D7bCcrmcI zHmzPdA#FAeX5ZfZy}KS98#hni3anNeW;PvauD_NfwCjC_5X+Zvcr{=401W9Q(S7;f zz|q$7vM_vIXQS#o(f`uL@O2G-=#!hcTTuC$tX{#gzp*`2nTb9>{JPeOf`r5NZ|Ll~ z2%S*Ok2Z^ED(|7s$6=P+tkV63kCl{hdv^O?cVEIlLN1Zq=RKBY6KNSxhi3CPoqqwG z8qG8N4WUx!)K@+~vRB(|-GK>}GT*D6@HY*Yau+S%Mq(kl3s@j_&J&v%JBhdv zet3?_Vio0QhTh-)LVLVfNZqZJT0T#2au(lychKmn&YXM=n-{e$^6b0xnZh=eHFTQr7ArYn|5*8+a zAo?on0Av+DUUxEuAp~;+u-g9GrlzhN8|qowXrF&C7?BZJnbC)+8fx7jqeUo~O(Ydp zWH3Rl?CU%>o4=~NnAqY|dL z?IYeZ0O@aVi+FD4%hEI# z3=u9b%5dr)WBm*E0TSqJ3F1>_$-7Ef01n&;)ICl}_r~G`)YcHjX7(3ni29t+eio`I zEJjq^FE*^dZL!9&`Qa+8wlT?Ww)oHx@in;ujB_KT)i<{&(i4y};ws`3<=|?zuq;uCu7`MW0hAA11sX9}x^%!>%I4YL#zbEY`kAK-0RnBrv3|H4lksGXD## zvS=P4RH0~eg9=v^h;bHTt_K#Z=BA8ixX503=8GLJIM}Y2#bLHOX}m!_`!b=Y=ZJ@k zyZk;W$$M|+aZnLHF)^dH0Ig5Oi@#9C%v`YOED}X^`?hbHPw%F>rl#f;HwTA!B!@^L zQDoh7DqU#Nu(sy}om9F5pdcBcV1a~NXQi7(JPs7X2Ksa)Bqa4N^Q|Fs^K)B}tbm&k zlg1Fmro~*&E%#@pKjh%x_>?nHSxrW>s>?buDNl~5n}oWW%2pMZ#01yc*}1tWH_xp$ zh|ElSOs8fS|2L&*z2maufjrx+DGLM{>F3%U;;AlWc~))QO7Gbd1RrM4w+`b$>nCkH$oJY2z~Ixy9)dWzpva7TSHl@pP*x!$kwz1`mDdSlcG<4 zhtP$s1V)R6p|Q=kj?wsr$|`!HT;FO@s_f10zyAKjQdn?KW@~3fYhI*bX`xG5^Fjsg z3qRGuI^)plqq>W~Rt`DmfItGTgx5$kR4Dha6r@F~bRnyqkU^c0W zYB^vC=SEbQtiHf%bzaVLyb$+hV_qu1yf}k#E>TlZP|!=>r0@!L zLA%@?L;O)g>BxiWFBO1#fZ$L4`UD^)vpIx#kUx)=vMf6@gxS@kEP-pk@)J%75&i0N z#tqCUw%ICej_ElY9aReTGdNHSe{|N}a!|9MT5TAGAhh)K6g6B(0qlS=w$Tt zsIALRYVC`7i9&+D1?fj9()L?Bg()__uy`?6YsJsY%S#<;V~+*8v0G8)U)|!8BWw^w zSqCcJ^y$U5I|vr=q1EO3B6hu#*aJ5gC0;MqUA7{&w(05g;$m=vAQxcv%q&VB%Ic_u!GQo z8UtG#@7@=|BzWh+Ok6YR--8&TOH54MUz;vc9Vd%fTp2+!>g(&%OA`FqVa(q6B3E*i zz|H_mv@-SkNAmK)>P`U{2O|V`guZ3VI@q2}En4Sp6c*%WL6*_H#0xVXeyQ6yI(c=Q zl2X$|Lru{cmnat_w~Xak5nQJ_XzcSGGybhxD^qo6qLU_Ct}xin(O#~D=ZH@EJ?8oq z+9`^FfB@j`N`Iz8-37p6502y@1xPff4m|%${~!C28Orh88-pP?FoIKKIr`w6Kh#Zu zIFlQSRn{Yhkc{4&&_NK|q&hiKa(@5bR9TSosZeSd)nY&N;n$OvC&y=J7=W)@cL@Tn zw6u-j046?kb*a2KYpJNFS9c*G<2*k)ovz7hTu>7OI^itWOwaE%ArBobUwe}gK~uZY->&$B=2^O60pqi$;qtqFs5wUW6r?lm4@ElqTyQ$ zMovY%SXfx2>q6X>Gp}^Y=YPB<$5At~ICO#>;aAk3!yuR4XCJ&E+^1nCbv`@KHBwP- zSw)^HA-Y*3(;A2Lu;3`mzUlg1bIzrxeUGb#?lOq`)x^%W>B;G9j#{qq17b3sJ58lU z;cVmO5hiu<8hsH$;jTo^m7f;%zj!#QJN}+^;GW+hCi+!V@7C+Yk7amrB1pXF_P9HT zSn4>?OFCJ1tysbT0@vqo-R`-rT5hbm)X9$v6LH^T@HMxvvW7G@H3=o7Pigh0NtVQ; z9>)F9wWec`j^qaEiEmtS8XbfGUekdLuw|QpDWy1e>9bI=@@3Uli697?(dW zo9KIVCn;ssMBBB#{C(EcRu?F@4~s>!Cz-ixTey`8!X8_ez3L$X0h~+k!cx@r{Z7d? zQ#@Ebda7c61|eU-*C&0AG4JAelq{hnyK3%Zo^u6e)4;lPw+|cc5_rRqKFS3ShH*X3 zCAvGl@jg{oN&aqy&lix!+- z9x;(rH9*JV;^KZXL_jbxG0n=xYIT^TPtI7qt}c$&oYXI%?BSGL_NCL8B^P4>pDxS8 zmnr)RhDorXjOm`mg)texKFNX7K zp5W+}ESp2p-1w!hx;uS6nk?9Vf5xb-UtXG!ShHsEhhT-|<6EiwUU2gS6n|8oIu7!g ze#sntIDNt4(N&$8yycT}gzT{^t&{KF`TY4?=x4qyEva}6yb%+H-Ac>%MOANer$-w( zr{?A-u^JvqDP6oKH^KM6#W&!2UN2thHB5g#8>w1om;caWuoJl`6{s7~Hm@xGHScg! z9{q6xURn)%%u><$y|bz6H`@jyhzuAiboz~vFjd+)96E$?oEC&b`~pmUyjima`q|#z zxB@3**rXkc<1#${%@feRm3}JO7DW#eK4^(Ibzbhft8?k|z~`uXT-@(e0MKzZ&B26v z1;Yj(&jC3HY$qq>Ez0mWGc#sIvbFo~m6ZS%S{p8aLC=oFuNE(krfq({%Rv^COmZX* zzR7*a{jjiH^8S5H=~&YmZJ`kgYU-bF$yt-6p8bif7C2oSv8c=hs`&)NTbgDXgC@_; z&(8s4UF3G25fl;{9qlo#uA;JVx>n>debm+cD(KZiE{+HM{NwWBEsF4d6`!F;NmLR-9%{DutQTO7E<@8$PZ4oHNc~bO7ku#GohqX6i-YW`II*y>QW(ogB5=a1*zh@iW=c9?X zpQANOJk51mx#{lnAuz~m1k|SQdBAT>=lyWus;!)SPfulP*rE#aT0e?rSB{pV;iX4F z%ktQk%MktE@$AgK2?1-+){?fsxJl5G=N&&a+RS@Cy8#YFg6AZi5|=+uut-;=PN;jO zPbJz`1&lxJh}Dr5*{JV7pAcQbm%6aylVtQy=Q|Ir1ou2|p5zJ+$9au0Lkzdz;b4d| zzk6$JZ#tdy`PQk9rzB$IIL3LSZhOHRKk(Jo$N(VI41W6>aTk6xAb`#m>!T&0+SAp1 ziJb-V3Gh5NHZeojJ*59@z)wOio{c4}Jsr=NgNJ|eIoiBUK^2pf^b`S^TplT6ydwm}ZKjlX7Y{$V8+nzfQ3{m&moKZ)>qjenr-tIST2%)5;3{FpH zoc24S*H6^9w6czgNo!2?m>S!CDNIi$?9uvraj}SNV4t9(V5#6kbqUT8iQMo zny-u-QV72Fwh z;p!pL%!n(=JuS~|zbO-E3eY@~@PXs<-ulUg0JqX5uXOdURHX}%@B`Czu@<`ST;wTl zI(pZJ`bf2`Y9J^;daf>Yt$*unik9~AiQroF(TfGy4MP(RIQQqfP%*HCCZy!p#2Vw9jH}Y(Lj31DxlHLAqAF4OvRD z6R4#5rdvD<^XgL8GYv2GI4O?~x3`^%7)4dAtg?HrmQR|@z%$UpC4k8a(#8#MC@4ok zw^i-5fLSjhdNH{ole*&}S>%fzE*Pz3E_AwHPC=pUMGHOzx#1o~C))IUzGyBr06CbH z@ry7#l>zy+j6T}p&iFKU5{uj zKrAG3x76o85CWw@dy@gpJy4?yJwHz(oqcY+@|0av+yBEBK?sjhbaa$hMGpjSrOb=XH1b%v5P+=khXSp`sM(BfsK7JV`p7ZAB{HK zh#8_{HP(6$6SL3OhcH!Z?fNw;sA=@e&&?1#b6jT)CxAn+DhMaNU6s>JhjPpNZ?g3HJ3%Y+c(Ff`ac{Y zC)N~*hLIp<#s0RLoW{K!+;wSPSa&!s-^-h*!g;Z#$q;bv63j}-Y9~h~ebTN@E##`;6q1fua=e71BEC$^R5KmZn1i?L z9_gF5nt;)8)FQgQ4b+P5Hw}$WW*BM4P_I&B&b`dJk0eiNar~vwx7^CP2Kg^tj|Jj2 z8wB5aV6hS{kx&nXq?KF*`ivzW`F!T+Xy}a&E5$#Tkr_qS%?e?h8ntvjY2g%gNq{2i z6?Rp18S7Mj&ui0RR}W^($I}j%<*n<$N$CXxIc$9kVb{nJXP^j|qRXPq0yxI0rY@bc~4yl@?TaVi< zn#R^z-&*zBjW_9xXa|?4@TFDO!i7AgBlM%)fSAH|L{ZJASdOW9>bpLYE^B_GkbE*^ zR@UoxBqRKOGYx1S98)>5hvx%w2PbK#`ZrNlD)&#;&fao;`_x?nV1C-o%yl4!Cpe}$v8;dL|zdGBh_n5x4 zZ`0jG1)L71d!FyK0bBrI(bNLP#iVJhokNiq!+vKS97UGUR+GccNo8&A4`;A_K#9GE z)}Q1&Xg<<0H}XIt^5%zazZ77f*+vUSBqCLd zYLBg{&(~~GG@j8M5*iWlO>n~rCgL*ZEJjV^`4FXiI5-JM3+fEf*u>4Qe0)`({xl9s^nloM|=Ud$D=jT7CYE#ncY)YFaUw12y z>bIU9VUhbz<3FuAyzBAF)0=i3A?DWB(&Z0z zg!9z>jJRVBIvBanAn7e2?!Nx%OC>JgMpihX>^Gp0M`xF3TQ$vdj1$Kg{($YUFR+_1 z0=!)yTp^+_tb>$~IpzS7REm^e^_Ww+wr%{gD0=ZlL8BXm5m8h4#(24o-UJ=+-s{(| zE4Zt7t*WN@3+sl#kX1B6ZH@JUyvi1e*3^%KD+_?POTZ{Ku>>QecAooT3w}rK$(yg{ z*WSyM(6bTj(9SKbWE$=;Ik@T;mt1;P7SOP7`ks2Tq@O3viP2CpeP^+)e4~X z?bK24uC29>&EIv$&EPe|z(u|qV!Vo6nU7r&oObJKq7YZyByy%W8@@>qW?&%Jf4K?arOQ*a+c?_LK1BX-54(K-0WKdtSoXMU*!hnV4cARHNt1!e^8!4ao3NQo9qf|6}dot zHp)kiS8CJw)PkXamZmgXVBFjEs!d5*9IA zO(B=>A8O@P2H80m*f|Q&j_tRwq~}FgoVAoXp@d$Xw*FeJ0UXnX^e(8oIM?s3Ep@La zqCj>JvO~M_N5q*2?n4uE%X&7d+k|yChPc;g?$G9e`2|uw3B-8|3tUw!MfZ35SzsVk z1F@F%ExAsAg|rQQrI+;nkYXVkp}6ZpJ1>@^#@fb#U)3O8Yi-Cs!nLVKahu{}RZd7D zB0u7DDL%T4jPGfMoW2I>F&4=)4~F0J;||*?{8^vBMc^|vpwK&(-mW4|yYYNcK6y5# zPLmZMzufw~Je03nuyIDbp8NT8ljNkk&qFS*7L64qZtgB=`58QDV2sQJ9^ zd`!AZbW;TkL@EO+#l-*1Ud^TuZROVZ=p*oij+Uly1$If%($Hifz6GO|weALTmCefyl}e`}2(}Js zu+h>Z=tG(Y@bUAnIc<%Vv1UKW-k1siqIDq41w;aZem85X-{mG#%Brwxx+QZ|o1*zk zf?c$zGBUpA_7=jI=v?N0;Hj{XPgc7*#2%(p=J63ygI6Dt+VKN-nl1T&$8QZ#vae)u z@$o-rWo1pak&sY7ntEI7zNK)(MALF6II-hGjsgqIUzS`~RRlh|!FqHx$5e3mh)Ga9 z72V_F!t7yBdQ?j;UWmT)`ZRU8yle}kMNyIhL<9s`pFRb4bac3H+*mU!cK5-WBd7Ag zgV=+y#3UX>U62);TDp{~ozg=MDml0PXL4CIpSeSsB_&eaNw|9$EAyDTI7TBMm zpcHO|AYkjqyr)3c2Pjm;P%fhoJb*XW3_*ARSo<@woKg>HY<*OeHr9e1*fnrwnu(G8An22gi^fh{y`;bm@gXIRi6W&VlVA`b`hfN^ z5JPu#ZTr||xN76Nv_otH@wqJYsj;@eXxttXcu>yTJEQ*xeBf%q$bEP*ot}pJtkiQ) z-)rZuhjO$t%Gl%PUdv+!=0>WIOK#9BG&H5NXSHk3kvQV7-U7L-)MK}OkX)W99ns+? zO4;3A$i1cxs383zl!tn-10YW|_pQv*9&mgs`0iX@Ug~ki39aQfL6&L)IGax=g^JE( zd7jSARe8+X2qE;->01_^-+`BA1x zMP?2>*3+YkXgz$m$jwn!A}*PFeja=KHl^l@Gf96r2Px?!wFFyQV4n1hsb5W*YS1K? zA)?Gkto|6Kv4Wz{Iw`r_2*nPp9%aauiYJBv_48*#pJ_i@OF1O?dRpHm9 zPIktVCYD691#Go_uyM3Fa;2WY&L~;3Kx5D)t9IQ3_ns_(GSKpEe@r^79 z%^UNWSL|2g2VB`?RWwI%Lrjxv#X_>^GfKrrvv?}QS|IIU_uqTPoBOwl`T3gEwu-U2 zJ#T&Z@WB}n%OlOqw4!i`ag8}7vv``HO^BMHynfWIVP;CFpu9*ucd#AsGtnxG)zj6; zjWss1D$nwuqWYqBw6oL8p#`aQHtpTf z;rKc@csJ;dW~KMsbEm_Qn~J#1Su9msTjy8)_&1JP2N70R^>?YMs@mGx;d@c5#g&Gw zLg#ndXU_@y3L<4JdKF&|eW=Tsn`r8@&DTrOBBS~=xK_Ud zF;d`G0aLxg4` zh@2{NY2$sGN=1AO$w~;hY(7V1Sy|cFFW;EJV3MH5XKP|qR8$Bhh}K0lT!ap&=%_8E zefnJbd6?IqMY{TEIjY66(N>^3=y#kL{20vm?Sc_BqEeq!Ph~Q?i{nfrx`i=sVD4f@ zqV=9Nt)#vNj+b4$4X=6KibG_*(~{FIlA^|4zsx*0k4-{%8}pHi5}wbY<@QCIr0?NL ztI!Iu5wt7P6tZYG{P@+Ypv3nQq`Bn77h4wBL5P(VR(v#FKlgOSmoHyt`rFc(mPUCY zidAv9&h}?*)r6o|J`~fwXI#WmV8(!}iZknoKg#OoNnvT}dqD9Tpny^`(EbIOvum5w z{Ik3J_ph&7fEXW7=)#)k>ExT zofU_-ku~qOU$-ACz;QlFTw$^zr#ddxP4C0>@a=Mx@dV@hg}Z*qtwoA^t!C9|)&Pob z#!UBR2HFV5Lmr;o@83Q&1UBd#U=$Wteku-p^$Pt+s0_JQZpMSK;6aqx^fJiE$ShA6 z1=MsO`_zjUVF2Zj7sJ^FMR?(?#;VVrt(m5DTM5wO-C7%1%y3EUZjCpEV43~co+Sul z)N=@Men#>(o+xvB-_F(5)nG_h5a4;6=9(Y4tIzJGeW@PVA& zQDtkTt&5GHc%Az}pXJQgV~~lYqlIyO>H&osi#wL`tq}q4{4bUp8W@+XQG8}gKF8@& zPa6(K1|M89AMw77k;ILvNoY{N!dcULh`-j}7QESoUwFTv$ST9-$rG%qHW=E7AooM= zyI>{~X=&+gPqvmPEt`4Mae%A?g)B$+WO2^Tf$Uovl9}M=k#(h?-vi!}bKcx-pj5i> zd#PWtw8qDg%f&oh%838O{%E6Tu9h$&JS<$l1|n%?MNdwt>k!@N>EVs777{e&=RI;O zJm0U%$|3np3sFccVLJ5w*|LUA&1=4u)wi4FF^z)As|6);y(47w&#sQoO|xd}6!8c< z+jHc>odhYTFmcX8O49zwJ4MK-BdOzOFK?J~MgB2IAvz+QnLGh*ZuV9)a9_EDu8gcK zny#&`fzGN_TkkXl$HxyJj_Ig%Lt18G0ZO)W&aRi!{MwfOs_9EtzgIgUxif==x9iS` zkAwo7BGVg@ai{0U*IgSwe_ltdxy|iI(*f#_9)SQ9+~?yX%WVAlww9bu!t-4b@`N_F z{dK?XeKv6D;~?x4iTtmFD|x5gCE~?m1kd!9(m}W6G4}Dmq_(a@)2*1NkKaW42ED9x z#i-*HTsmb&P^*ccznv^kL&L)WAEY%kdgz*csZ86H<^D?h0VB3iG1^6!AIuY93mtYf zn=p!^x)wCVW!~@KOGEgR^h7vT6?`)1va3eKtPipuyv7XibjZ;M(zbw#1_8q6Q8ZP4 zn0&7C+T+%ecH=`w_d6lPjP5wC1uJD`DzY2xBfoZ2^u|sc@xt?;hqTIP_S4hqUXeoH zHitxmz--(-YnL0Qe$6j261gDLvCXqH^MvU!e*0|3P1WEkH9aG)h8N}oKi<9$34tB= z-IY3Vyho%k@4#?8_p3d2e{-mFtzOE{TjSZY(1IR=oL#Lw?12#N(}2d?mKWxu#pVDI$pZtLVaj1|qr$9# zVkaiHj+LUC?vR@@gQ**{<|6o2BQEx+YxOI-EW@ND|*eNBI zB1fYeVii_2Tq6qOjpU0uxmm4G59m&2B>9l%@4MFLKa6dN&=V0nI?lcq%GrK*W)DD@}uXwXa)- z(9t@#4ab05UHk^wfm%>>V7-(@5#Njd$0lk?CD3y8WpREF+JNJZIkkjtfrs zn2gmEt4@aWMx}1{`bzZqrl%Dt@aMMa=>8|hU-Lf<>d{wft|53j2w5VYz}fdk2b z(sd*fDg7q**5pXxDWd%6Q%}9hUO&-PwUp-?)nn7^X~ETn1MfA#l_vRWx#TsIn=rS^ zT-gxfy~gn?H0SPxd~wzCow15tSh6-aS*2ds0-Um<+#eQV;I^80Y|^|U!y)N&=y=*7 z=6$%{z9Qq09BHwemG5=c?6$B#mtQW)Bc1;I$}9SZ@;D3Ajl9+h0pQD~5b09n_Alho z9aj9x8l3&H;ym{So?RgyODcP7WRj5D{ULT);_DM+t2shzjuieOMM_oioat3wQrhtx za`~cpjPAI>cw*f?T76Tj$ zE<@MBm6J}2ER)-omfq?C=v^c)g4euH`N5;OL?d*+dd71rB9`=0)hde_b8!eVI_p!N zmjm1Ua~%S10c`>1k{ca<6Xv`m)VCF#ox#>+G?|Udg$70SmsVC*qZ@~mN2mmHFV>#l z>@#KdI!k+{O~M|2}razlxJ>F|XP9>V!WAO6pB*a6P87Bb)r2ElDIUzF> ztvFQ-FYqc`7kzv3{WM15yHSIWSAKg%!aq^lXe=1}j*mUCqgQKIS0W=>?!82Nd0prL zyc7a_Al{j#x7A4>EF~EzvmeF7KAu`NQ_&4bV_fg}B9sO%KJu)}PZ?Z+AC0_U=wrm` z`Sc8b?^X#_3iBt!`#?GFODLEu*BB!NTdVkPBzfawI3r&Kz60s-V73TOFbU0!Pe7r* z*;j9P;hJ5;BcABra?Q=n?UFHTm&`H;Ys-K~C`HApqstTI;Jwok)?x6xm33F`nR97_ zWSz$W3@C*eQXcD86{|BACi<42x!bsyV7K0FY*a}D9Hg~jEdzrlAS7GsbBh36o1rxt zg!a}{-AVnnPd%zGgkkbd`tAwJc-jRBIDp;&gWJ^Us{T8B=_OWc?o+D9-G&@fclr3< zb8sUg{4ZX3Esja^9#t47h>2EZhCKXZ16+sq_VzNrf4{9_#y5oN^85Gigl=mPkRF+E zpvS?)u8iJ0av1x7q%b#M_t_&Kfv12$KZ$D+Z3KIKtIKH{0KS0+s4q z;pC=EAJ$E~G$A>xCQqHs%^uDe;%_;NO^oD-y(7fMXA%~s%Itscwn_7gmH?aXd35jW zzMtC8>Qkt6EaRc8I1UjVQ>~#0(5MJ#l@YzXYVqgJ_@K=GQJ_K73=B`Q`y!bd|B^RF z5@<*VG=C5_k>$~*q$Q(dN7{ZJ;O;ITR8CBguZzFKlfM^FaA!PEs+aPf0)fp!=Dv!-yiX*>Rm!SYz2YNDM7fo! zmm_*gVb|#Fl0rpy>yyS{%8%5hBzh5{`QVpB8%Q)HhH{h~Tt8O+;0F>;;4ZtdFv zPE@>Z0lj>QX5@c@TR-|eu>gh8(lmJLI{^aNy%@CtsHBEQ*^n`x8BkQm)7Gf^R}Br6 zT|CZ2ReOh`KyT$81sJU6umnY-_j|J9MDafW5CihFf_b*qf9~9E^sXUj-X0DGpWDgUy`P!;R`HHa910 zMBP?z1HIm$+qZ8!uaELJxJepluNqF84pmK4paGVHL5p4M$d$(Ute(Tw)lE3)%*a&l zTqOee>HYJlTVv_R7>Z}YR%0P6ad6SgNoHQq;kkt4%CzQGHmeU$lDx}4h~ewv0)-d3Lz1myD>_v=*{Z8`qPT`UOC0$t6!k2KBJ%osHF{u0sVe44RS9X$-YD7Rrzk?|q_xH2d=07d*S`%{Ln(79&xkhiXdt|ZyJDzk90jo`bre4T`I-WYwOOXA^AjXuL z#&a99m3?%n-WHhjfqR7bVFzUl3k(f4ru3Wr=q-BF|Gs^JC{kHcX1*0uC!{4Ot{`#! znhbj$1*S$6xQvpnA5zv+k}fVUH{F~kk%kRsfk9Sk?&9bfpKs?jDh|z6&nzX)CF6@z zM~I|6dJ|cM$Aq%JH$LanumYEv=9Xs}Q`U20lu=T=-{uZwaQ~89now_i?kr|JfAAcxEdZziAg9VGooQMyk$>u@~go8QHbfNzmLhX2C)0VIK~qeo`pF9fKMmy)5vYok$`^t3llc__{U z5rbs)(G1Xw0obsC0z=`VHoygnz|M3i7#~*YUz4?^6Ip*cQo_|G3N)l)oDzTf^r^wP z&d}IzRUd6lw54=#<-WlE@5B43`fUtrHxAaG7ffxNmSeo+)GGS|ar4e%BD0Jj3L$?= zC#EKJn(W^PVbRH*2LjZUl{L~C*5b*#nW7|Kx7yUKE!eo>l4-}_r`7W06wey7AlX0M z51=kUC4`J@uCV9u-1X()Y?2Mik3K&q6DS-w?v(GZH`@vfWcm<$!?zv-frU_VzH^_W zP|XOc(BHVi9e?FI#R70%4b+1&l^Kk!YwJ5tIFi;c)m#m?JCXvtVIyzsVb-Xqu*K1m z6l+F~KURv_MjA*N%E`SJ550wp`$h0~QHj0kgpgrpIZcL(L-Pyg=V^!QW3fQNk}+gt zSIP&AdYNJdMDPQf)>#t|n>8N$<)E3Rf(F*58a3%+b=(EI0WXd_MJ_ov!QT8UCh<1q zPSM-_K`#{4L9Zg!xCuD3ZAcO>45%n|Yqkm0`;Cs=mbSJ`9ZvTv@WUigYn+46d{zZs zmVEE|u~W~(#&ZMCrQqtvbbaHTW#%m8888Uz2NdcnMsH!yL|2(xBvF1Lqr36X5_7dx z9@`1AA%MT4Lx=r1we@{#-2}o=|&G;)U{}>myJEUt$N>4v|U4(#r7zW3cwKkw( zi~&hI~#fT|ES5%uVQy@75a>OdVS4;;&R8y&v&SKT8t6po+t z-r&aTK$P;oJyc0A8MtV$H=7j2@aiuV{Pg;rf)^2R5`f%XzWdjc&=g&u9P!t!f8p!@ z8a#)$sTg~Kwilq^;5y|HSX(QxySocC{W8+5tk6ryklIDG;p9R?Na{a?4j z@>^P42Qn3i`S^*qCku^jJa3c*H#*JGgBstWVW_Em5LcZM(1ai~R^Xb?jN~nCso2AB z;qu`GW}?UT2d1Z!=4RGrhD_%~s4}`juA6PHX(7IKp8Wc*YyyypsVg3h9h+9MRb&Ig zvD&>JWYvp(TVTs0g%;n4!n-N?t-})yA&K*aLiM{HE=FFzD=RjfE%}t3P%lCbhbD@t znZ($W@?&FBUUE)LafXY<&a;`EM#pS^XNMchvnizWtSZ+mG&3_JA5h9?tktT^hysvn z;6R&B(X-%F5c%K%tNT7lkIY*Ynz4QhTT=ilW~b#Ng4C3{w}^;X?waEc7S%ewX%`v5hYqXMWgiXOi)^xki;NBck`Vc{b;_I!(>z4^ydCSk~ResevOM zuLm{odOD&Q{F23>>=A9zjOydn0@d&pnUO-{>myCFWWmnceUFJ4Btplg)1QW5)O5E} zWGav|F!TfyrauERyZZVxSIWv3=f^u66=@|ldgr~uQ=pl)G8StjcHFC#h=fyio+3jT-yZwciPP^} zLD9+016a*t)wWWd{CO3Twc*)EMp2?`%A20jKQfC>>Jif_-Gt$W-VzN@=5w4^-bfZx zvzIJx+Wb!9@q=XE>-KfTdq_Ga!Fy#lAX$;isn^ssb#lHkHCc3u#doUH8P zQX)=rsBLWSTcS|>+|TH&pd{%hdGE9=yq{=OZ(F9WZU-UNnn`|IYI86s;pIF|<8^`1 zn;^LSK7$>67zJ8iuv#}esY6;2zT0o;Xr5&SL4GEws_Q(^q6l!Ofje{G8CV9y;! zuDeof>7yDW7AA*iW%I6{@Co{FUttSfZE^3&ELwH&%vxngeWXmgV~cXiPx~dlpWm}S z?A;xQIz*;}OWHdwtMh{9XJ$x_Ztq0CO+TR~R^7Pu(fvp$9FI?!bG~2K<5D^{;>{i4SacvyD|_sxrb34aODql5@^oN&9^J6L%)fq4-tl2 z>KqUC7@4x^bOC^T|A*nPsN3R-b++=(X=_%kWaC-D1f5$8PQu3G^1*f3kEhYgy^ z)S1mAvrjSlh&Ka!=;R^9&z;%IQr4R(=p>CE>n9F|#QFO4&{hOV;<$zqb>1ac#Q$Dd z|8D-x+J&|I1z~GM3&9TFTY?QLgSCqhGHZUqLlo`MpbBE~d~WVDOYWB_dWm-#K^6^r z%I+*+8@cb5&_CSt+);*E$^Yb_f>;tGeIr@5k}pT+yT*n7$~q32ep#h^vsYo z=rTm;`SyO7;|YpoYkL~X30w1an^hmxz#^&Cc`TOhVi_V=n0rvQy8`!LzpD?@uQJC8 ziCP2$=kpTS8>V|zl(OlA_G%M<(1@s`&!b^r1BXZ3i_M#l7w_oWN&p=MK&1kYkkD#( zp?$MK9WeUsI z7g1)`9RhqF$leN>VvP&cx0X|S9!L&O6RBvgPNT-~nxaZMc?JCjOj#SXpdcUpvTVOs z-zx+YGD>F6dY3Lnu9Stq{;hP_a{E@k0mq&J3eiPg{||ZZ9n@s^b_;`2rHM#y3J545 zCG-{)rASke-n$SW^bP?*dXXZ%s31sh5_&J8BO(L{y+wKny@Yf7zVrNEpEGmjJM;bd zeatXnNFcfQ-q*gby{@&^Wv{iUx|QeawS>`xx3|t3y{xA$ za5%mW-b?1y&TqheLU4_ky1k?sklCRiE1H_uF5(H@EK@O*VRk=ZkwJZLU2|$)8j8m5 z8&!1Yo{OFdCKL(rBaZ^+mz&pQ!_P?W5ZBOFI_#5J<`0^_?0furOh_qBf)FKE-u}&3 zDe|2|l(8w-+gwv{uQVPe$Cay6`79-ObW^U64@{w+R5Ow?jS z)_XOtwI#v~yWo3lI@BJT6!#z^76G~Q#X>;oSJUzd;4Emg%I0qJ#ZG~ z+w~ffk#=}AQt6_i#(35^rn_cN=oiwKJMhgu_M<>!OH2vpM~!hXEt*IVD0 zu<9R_aN1LO&DiHt1on*4X!&^BEhTL&m(?>EPgxVYe|cGBSHY6=Ilt1)YWuQXfeBPB zD?eMmA%Wy=oEx6KVolCJKYsG5)3!~|w$0S3)XKi&N$a<4rc-Nn!DgSAP7O&>7l#~I zKg?9c_dw#Gs%|853^#Hn4`?-?`#KiL4k00J=m&pRSzo9^k;rtM3;_*K} zT-;mi+`?jgIW^Lw`z*g`X`!Z zM?i=HST0c0(tP>y$EEt92=!Z(v42!aeQvmzUZ7>R?g3q8n4;iPKEGWK=z!(*wRqIq zlftpIH0f9=Yv@8mH%Yh%F2})-ch7{t-(5Aw8z(#jVheQmoUSPK>U){xypKQXOT;G8 z>2!ivb=%zaY)d49$0PYBS_z*haQDtU_ZZKQYnA8?EIy~4k|ICOVYdw?=I(80VChaW z;d>zBkeyP&84oT!WzW5M(~6VtI{Qoc(!9s-we{>sQYvprVQodIC5w?4cz=zlq)@Cf z;Th6@lXm+Ko#*ao@QhI-z!`84(;3%PNA&c-ZDB3pO)D>6>nhldU!92=8KX0_vv+Ie zpB!}hou0a}0RsMqAe(we%dhe2$N1oE7;WW8&nM%nwf3-}&tlC3gCXht14(IO0&ZB5 z)ZOdcl#{Uyf}B>L5%=-?pI;HbQKM+<#}_kGOH(kmBj5n{P?03`v3NX$DZX=<>7J895Hc>EPc-5 zw8$Vy-WbRb%Ayo(HJ_`J+$~Q+occWxO73S$h6@Rl8KkuWXQ;chw4kf$O<;tMBxes# ziK$R^U%>HSd9X^abJAh0*28r{Uonnm-U?MICrSkSm|Zsb!9+R?^Ew}dsfd}B{k(Ir ztSEy}BheOI4NCDgx6W+bPD%qQouQ=Hntfs~ng1#9#19w#)P^QDYjaNRq3xzLtp%ZW zq?P!)n70hPe)hNzuZFs4n?^bd1z_zrtSR8;{^P^^+Whw(emQrA(`zx~a)3OsMqSCI zXw>(!vL9lr$~3Y9v0LuXV+eX27l{Yeg2IYrGho%&j=zulCKS&saz{OG$B0N!`;MLHYeU13cGI@SJ*&{c>Ur;1{LJ+9 z%IfOmuU@?(rC-uV3$wEa3mK@T-lnCckh8UY2pkt~wvDVP03a~%UOqXIuP&yo+=0`Mph#1vyv1C5^ zJ~a&g7)2+zLH@cHZMqJQm<1ZW2%fDuh>;t1H)@=u%DDjZ6OW4TjZ(Q52Y1oh)X+kAD|Po<5fXgnMS-=8J!?%ENlj^pVx{>rS9zIX0p&=6DSAmN>2 z_^{d2r`+&Py&9flnK=k7T`Wr}G0OqUYu@$ktYpdo-)=7D_(hw&)iUFVAQa0ioh}-a zS4UJrZ#&2$l1v#_+Vg^2bEg5Zc~Mx2E-w>-c$ncY70iuHkg-;npWUIE6NwQi+--b{ zc#5pE_d_2w@2Z&ai3kkO`%7^(Ch&uKR-1u1-#UA`HYnaxzLvG{9!&Gn(%oDL(2b_n zZEVOnrfPxP?6IyBdm@Cp^V1k0(SH_a-d)UJy%d8y+sl2>m9cH_H*mz7kYpS2%-m{d zN$StY6gHNIaB_ga+?lR~;ao4VHg`Z3fX<-Re9SOp*dnAxG!9K;meP_a*xsF8qyL2BDoIk#xmZQcS52S9j3#$urI zpiA8=`WH2ilF<=v4u9GcZVz~=cX51TLPVUX#ehDdseAV(y|njkv8DD?`wpjjokwAX z9qO|Y^|`r*9}VMEI6$@WEG1vdi28jVQ@eUMt|+QJv^7Oe4VshxSv$J0N%h}*64F_u z+HosV4B%_B|h`8xZa7w$QXwL1zv%<+j(h-F9K0*=^cNi9^iM zs5t#vQHcD8x{8sJ5tAl0M~*XR#rAxgdNG87Ebw961FD#;xUpkVr`JNGGHq}eGsf79 zb+SFzb>2m%G??etci^@B#=6~bKKizc8DU4>k&uIEk)%W3v7Ak)KOF=N>wepou<%5(Lg z;5q)53cn|->*-5;MlfHu<-5pR1->sf{C)d3#U{7VCHs&aDp&5&SAx$JpHpoRnp*!3 z(d)Wd7&qS$UOy5)Wx+r~E3L}m(e^YCaRL@XwzeIRDrxwqA6;z!aJ{EF{LM4oFL&{?TOMjyoBFNNF@01*Lc~rskMJ!E)U3bfW%(LP{wM6 z{2(&$6W!Wl-_Wogt3)A3UJFP629Xryf3Tdqt2FlTbyj&*)p3n$IyOjT1mm@#g9?M5 zM|iACVBM={8QUw=lMyT)5(2T4_jYKi{EUnKP%vwsk# zd(+<6oqEcnB9*sIc*!^YGY280SDfZCT^Ju1s{n}GIh}%bHiGJ#u(&hbBPTi@qTe*J zpH(>UJ=hgpG@Q>5ZC`ACWEzngil4c0%sgy0Am%&SQ2aS_VaCl^RXHmqMe)s>y9Kw@ zN4fGSfQX?41WyYnXzK$(XYr5ZglTDn;o;F7VE(vfU!!pZz_JF2;-vIKApji`uyg1g z7=R=SuAfESy^T@@QH0q8i0H)sDP00$@YaC75#5LZ3J z(SkAizNf+?ySy)TA>%h@kQX2rMoeOClc9LOq4W=fz*YVp=2r9nG1DZnP(W`niGkpVVa7eru>1MUQ0gl?y@# zAY~|ao4taI9ZR=sackM+!G4h%iqea@lX`wuiOjvJ^ZeHLN7u$%PfR~RrZ@H+%jOMQ z_GClXWNccDFrm7tauW^dBGEx-Be1ru#pTp2()n2LtT4{*UlPT``W$QDrcavv<-13= ztd{HVMR6(4KD9Gs+Q*@%&$~$i#ecNzHH!7~pyLBLazW5co z-_vB<#TCsaYIYZdmTjx$p>;(p!Hr=5kuK+z*2zK)jW(+l0>kD`!_x%IQ1BNFXNC@h z2B57j!~=nA#An?tJzhOPlUwgB?H2d`<(9o6MiyR2xKR_I1r6IPk}{Yxw|OF@9Fal= z77FqL<%v~?51NNQfMFBT$~i#+PlVueDHiv0KDJ)GONyv&%6UT!*VlBmsc5p3`1SCJ z{P@!F$If}42zP8+HKZuM@Vf=yQ47m=F@oUWTVNfvLP{`8Y$#M$*lm}3ML7ckjuog zyEJ$2Ff*%N4Yx9%~+Af)nths+X55Vl?Z_MP7=uQEq@lf<89$_L;1=X{f350jwUX);j8tl zv-k)O>N;aZl!pPmPoH>C#y!X?OgDkGb8C^<&@+M_g%zIowfk-8jgFADwe=0=Mh`)p zHKL!e6b0jcqiEO`J@4laEeE@|k!@f{EnZ5N^0A`AX2x6W%eyZ)Wr>8qhFxl{zN|`? z-Dnj%!a?&Pu zpIo^tXDmz6Lea{-FJIKenbe~dbaV~%i1jX--_XfdXIHNoVXTX&>>UUB%tdML#Xrn7 z|HKi@#WnZj(TDE~?#cP5KUAz}piSNhQ`J=7Z;$S@WXZP94N{bT1kk96ndRuFEtkls zsOB;=Kj)4QG%)8*f}Kxw>D_p#@{lV=N_xlq(g_@;N0;xWK!#)QG}6ulFl!n%zmt?d z{g18bu(fd{w=}rhVZ*gX#K1#P>VAAuv0?R5siAgPQ@v~5;|F)Q^zs~ol6)MxC|Os} zrVI%R8LO0D&=2RHOa?N&HhH^)Zl~!zWkww&(#sqLSZ6$~v??)w;FY%jbGhWx%Q)XL zFY`X}gNf_rzLBRxoC{72?2bix3?dID=pp(Hl_YDzkS^*Z3$dWWJ8VqWH*Tr)&Ly^g zW=7G=2nU5%n0}G(AZlbw4pyu>yKHoO6#XQXkJAb6X5CXg=1obri>i$q)rqzqFY>Ij zU$Ht|pA7>nt6VmIJ@g2;;QMN2W$3rxO-d*5;ri>>MJMsedRH!B-2)sE?o9EiN((8Z z3G61L*xBvLYC_B1 zXiH41FzX95Oe;sDn}EL$=~{!JM@wxe===+j)7=j(A_eQ1k=N_|gY51rgn3=#m+fk^ z>D@`G;xsMwA*Uj!2vt?<{$9ERSy*ggtA6*-Qr|QwX-X1pc-e4ZG=J}f?TvVArTMDQ zMhF8LKKCQHU$i=EA5qSOZIF^FnW(8?BTe_b$HRf~WXw4|2$OmFt=?y{CPzY26!Mq7 z;>hWrEM}=_@b7i}GJcL{J)|}}gKrfEQ=gagv744*0_--$9Vv-O3PW&Nc+aE|wlj^UPihqc=aUfC^%2i97EyeRfy{a6k^2ujqTP|?aNPKs>B;AZA&hhk zwqqCV6xjiPzeaMwO zz@gJWCsUolmBh;ckVyxT9pQRtMIfI$Xn%S6ne)bSdI_Zaj&3!34yC5`hr1Tm7G4;V z`K@lz%pk0Izx|uLIu+L$yHl7Wk8_W01-bXZU#JRtMOb?1U$tizCbqAPB+u%Z2HsL+ zEO$q>|0#a}FdI-fzRie=b3nlbT~?GrN$EQZasv8+!-8PCYBVc22q)@2_9j7v7<;gM z7&#>!osyv;6HxHy;^ZXA9hFn?F+f7ynWW^t4lTnW7a-Rh_Vb|&dKu|7?@lA%F)>~X zW39C7o>KbgIOTf}t;k2$>?eNt+I$uCHDlXMQRP~n;7V(>*DGzA@T-hEqp}ER24#hv z>+7Z+H#U%c?_KN+)59JN>|A7zPvPVQGz4jYufBJ0m+LhKr;XiNr_WK+z}ebDUD{^o z9M*6_gOG`}Ep0!@NWPVg&%#g1=YC&ERx5G}T@*y%=vKEZjBeoUjgwi zY3ivBgIYah7X`eBKxpYwTnC&0~#XtaC}jPpvV3 zuNG{|a4QRj)x>7)n|Q*PElcQpkh>BarIsccsu0xO(_cF&&K@)xoR}s?S7A_T=D2qy zyp+$G4W=k0NfyM$T+q*g+1w&bh%s-ZsKCN8-g zS0nYuu;+6OF0A^BIw>+XQ{XBXdw7?gOaYkLCbMR3LtW(wl#k3%tQ;0BB)a#bc_47* ze3x>g6}qARNVA$N23D5cUjF)y(%JeAWPSqE>y*d#bE*H)BTC8zck^oHXidM}a1{we zPP(3If4R_|(mtYJIyaKwh>2qJk1B3+1dfJE3{CHnLW)GUw5v*QJ5>5co6)1HtOXzR z48kdjZ|N#<3gl_v9W(8|r_WxVKkj%W1l5--ai<;7G(v3!4jEr#kPkfhIF5(7=(9cy z&fp;{({fsS__d$@ym?fRd^~e7ID-y1stnAF?;B*)^WQNb%ibKS43@^i78{Yy)e`8u>iiA+nc?_&3sMmV-pWn*(VRks710eNXbf5AOP=j zPE^ck9^*NS$_6X&*T%5as=33{{%B(d1D|X%`rf-bKU(f#y$rPCZ|?fOK1NJIf__h% zO?XdMHaiUjy7O=fQ$!^6g@cw%ELh(lJ>;ntuOre4f)MQ$o~q zK2g&Yz*?XOn|(pboh~1-#%E*<^bS0Ry1m%o%V>4eF!C2oJ3*wR{bUd0ay0twW70i4 za;{@zI(J25u_k&sRD2pA5pn|s7Y30YuAW7ySg(EKeyS3A>aqH0ety^CQlFSi4sN8!J6M{f|E>D@SEXnk2O#3_qw~eqahFOeUO8J+(^2Af@6{3 z*})4`%h$T5gq0P+rmKmJnB&A6=m_3|_{-2u9-P=BR-18uz@&4$b#w0cvVFi|WM0^b z)dr9^d%rRxbpjkzL>*>&$;1X1TCdd}Jha7Y_Bs0FJ#6UbJQR|CbD7}I?b~tyL80K* zE%Eq_ffzAtpcb$Ibex|5fD*Ck32;*JiUA=EB`O}|_&)*v>^iy{# zeXu0Pgh#uWs(Ac@p-bIn2pgOxf(UUJ5%Tc6XT+{*e_8ikt!EJ<0*xnyp9x3>_znP8 zyU4OEj_*zlCo?lM@QW`B3KyZjw=bUm$3`}u{3lILvB+K;^yf_#J;^bxjg0K`2|MB(zfq@@=na1pe^5unfLmP^T|HSL#)sI0n^*dEy07xIvsF1M9FxIMhNE_LB? z5Z=N)Ug7XBcX+H)({~n_T;}k4a2UlJCRnq55zLqTd@;+2xSOV;1{E}V&XSocYioCC zXw>zl1RFv^g)DkVff4^LTiZNd%AGu6yIE0}+k`!bFw2C1$|Qvekl*XZA%*WC+e_oS zSGDY6NOJ&wxuM8nu~rw9s`kOtk`|II({QbYqLWO;&J(1p0BmG4I|J2KWyaV;-3i4(8X7x#I^rQV%cmRrb;iGHKXgreEfmw{4pBf>=4Nn zA%4p0c&?=wEB~KW{pSb2Ke`%%;GhhfA#=HF+!z*s%sT>D;{le_U}*DMeq1vL=wz-j zTm(5Kee!s1TYpI2Q%0>Jj&Fh*uX=0KoZ-1FjeMittwv_wl9Ckn1(TPnxQ-irUSh-ZEc55GJ~H zU-(hbLrq1>EPT+cfCs3&YdfNXk>+)Eq`~$7sgTpV4-j~CRy6LjTiB*_Ulbofa@+x`|T5Lu_ zv>{@-w8O8WY*0m_rl^bB$aCY25x@H7|U*N8C)C8yVipicLx zCL5tSBM=7Ett#CXmyZ|Ngy&fn+C5*+i4v)FQ<+#YwHnHoR8`gX30~Q*Wk$elD*NT9ARW^9MB5GWns|E+e499Kp=qd!Wf}%Yf$ej5V-MjaWQac5BYQym>`xyLQ3| zTx;O8n`F1M_d@w<+09-GR6!ccE=e>YEgG*#F}$$KwQKn{=jFHWiP&yhStC&4P=FuR zydRt@PzGu;&_x&~=B>Uq-MY7fEOYHuLto#e6MM8hNVI zV%F!-Y2QiPRPC39!yCiESHfwNPQAmxl_3=@uU}nm#2|1|Tep<+Nn<;*Guq)sdbe3R zlX7Hx4C83nmzTo12RZ#=vdN#g^9Ny769Fo3nB*_y*08)KsS&K8uwTzXIKYYep~fJ~ zbIaS7JHz)HJ5;xN=}SxkU|QEO%l1Q57d~9(}o};JBO2|Pf}W) zlOG%fvM;kKSMXop7ohCnbi;|`a{FX8+T-GfPZ_j1G>o3kI#<2dsg zT?r`%7hrz$qI+kq@lgk^skLq6vY?cTqo8L?ifX|kTHEMd)8oUlyqn4=O@lM{Dt7d{ zLmCaW`ZZa+(zvXBNOkqixS+6v?h1%GgLKFFxNnnhPtO>ATH0y#HKHrW{ZRa`0D3k( ze@08Es5oxWSU279-F;<^rQB2fXn!nU4U+LB#QT?^b;;7=ckX2Dp8IR``#V6+$`lD1 zGPzgYOYp36FDfoICsFNunE!07StF5Lwa~7^C(rtP9qL;0vS4jAxw-ZcFM)1%ZP@O8 zI1I1SnKDE_@G`mxU;zgoHM%G<&^~!fS7La`FxuK2M$Myro8j)eZo^grkne@$&tgZ# z&;~obR-=-mjN4|Q?JL4xT2rX;OPSmwI#r}-je%7@HstE ziL~2>Cr=hRc2^#DrYPSc+|oWci0b7D`tf5rD5_7bZ& z;}V}jBzs{IaN)jOVBp!(8C^e;pko8Ln zqF(O*(0WO=+ z$z>~PerXbt<>OE27gMPybW7`ec zW!9dyo7eD;_O|$f!^1f5lS54Gk1GXXVH^l4L?*h7@mcD;VP!%LHtqyL*IdUAA#@-+ z-U09kuIpX)oddH-^bew?S*lV$yg;{y z%@r3tb9llkw+6$OYwP;?m&zU#cbMb2s&(5Pa~ZBv+Q-&kJ<0Yt5Sszj`i~gmecx)@2l6PZ?S2&TgIDk6N4UR~(-|{5H5&+b3e?yfTUM z+UT3#JDn97L6K0*^oHq)P<(2b->C4K92!T$*O;*12R1-Vn6q{HNh0&9yi$|Qktk{`rXZT5Uwe*;UfwsGY!i3AV^D!G$PyAhr&`f?WVZID% zlKVpEF3H$qvjbk|XjWRCR(}cz%~wJG)yH2DGHsC$I;WCZ+mi|-blV_p4~J|-5CTVv zwUwvUI;Pth_Wn*n79BF=6*l|RU_7bXc5@r2~bosubK!9KKDK5c{ z23%9P5q-ZY>0Fw<=#eg$diG#fD>fwOI#=Baxd95`YyHNNMDkPF`*ObTwa^9*Q z)IBAyNVd9ej45Ey!_+%?#S-oqUXq`@(IGGqNy`YRNL~lQwt z6Ng6{Eq%+0#Rzd=Ta7D{WMMhGK&X1TxHK1LvFbLY8zk73ZFi|;oA)g5;!2%~4h&aB z8Jdtzy>?%BG;T`AwPTh%Ur4)9SSf>oY$`A3tgwNWcjL%4I90ha*7sXE|R{6~HWoWLM1meZ? zu)2VX)v71?2!CYIy;QKtrCqILCi~{1psI43`s?eL_7VUcyGOq5f>&cUXz1>XpLy%5 z^t53jJP7K`>Fu3kh;K|7O@UcWMg()(;9y}yDuqqFO+i3S&1siDUc7Q*+ATRrn2CYZ zGns~U6F+h}X)#0Qo1&0e&I;1HWU-XiE}rt1zO0mSY|oSO%0zlie}u~O(<2S+PiC6N z)U>@^R;}4NW$Tva=l+u}9$GPsj>eaSp1Ov!h}0aJ?jd(Vi;

qK@%Gjg~i5_Sz9y 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


$C27N6m(f1mqDJouN?z0W;V{d4GzQ|N=|XN%`~ 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�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 literal 0 HcmV?d00001 diff --git a/software-license-manager/public/assets/images/Screen-Shot-1.png b/software-license-manager/public/assets/images/Screen-Shot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..8983e802307493cbd871d84cb101b3ff154bb554 GIT binary patch literal 278452 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%0DA`e1vB@K?)M@oyT!Y%>!O3h3j^z(Lnlp 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 Uy210gH*BylvpHLF`ueT^12;5!RR910 literal 0 HcmV?d00001 diff --git a/software-license-manager/public/assets/images/Screen-Shot-2.png b/software-license-manager/public/assets/images/Screen-Shot-2.png new file mode 100644 index 0000000000000000000000000000000000000000..34ec35798f9786d4c594eafcaf976e530b2f3a22 GIT binary patch literal 362349 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⪚17JH-M)AHaK!mqft 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

0=ijCJ)@ z{iZIPu0ChIoztc=`N3u6?PYz7^483)4JR&CapMOa%Hwpq=@H(FLry)5NC}M`&a8Xu zt=OFWR`PYEwFgqxa%#359@=g0QcS|nm1tb9duw9_#UHz8lA7@D3qb%uHqg+>U6+ho za=hmw;2u+0E0Q#+tlQv`@Q`3&)0jc#k>n8EVWlUW!oD;a8)hadLPGD!uZi*S@+}e)Nd&}AtR2>fs}b@ zD9WK}GDRtNPH!K%Ak|s}561WY`yp0@G9a~K}G+WY3F7^RcoYld+ZxXGLNS& z^;q^oERouido{L%Y*XO8V49B}HP)T(Oe8KjZzMRp*ybKAyHCbs3oO=g5k5NC=}DJe zbJ2J#XPVio?R=9|X(-XNtzi$v<2L}NHufIq)Pt}-`26c6yJ@99bP5PXm)~6xw)jdw zMtpHF*E*A*zDT;F=r5e&R)|8{i>C87K)2Pw1H7>OM3Qsw#)+8sg`W=if2AbM0Kkcd zKuM{YoD_-3a^5Q23r!YH?po9++l?e^_XSU#%F@XLat8?ZkLaw z+V#&C%!9%rz5J9nZS`~_YFeq#U++8^(Q$Cr-kv@TT-+$=yJ8{Xf+)(AWF*w=~3ILMq*3GUG0@_(-N+&t$ltNuEA`2FL2-- zRE{``zBPfa*w<)rPJmr@Fkz7QHGJUnnKWdXAWc(qH}VXPo|bAA?+$p` z5p}JH{TZhdm@vI>Uq*rR{+I8RJ4;t3y2H!HlwY8)O>Il8h;>bAPq8+{t*N=P4td$? zZM>(kClT}Io@;1UyauLx)x~C^DB8K&>ZBR`xVIeWVFG_Of0b#~eByGVrADzm%2 zXO^5;os1QStU#K~%1fLpqX*%X%B;SRuDe73GNu3XgJ_$R>_%lOx;^&Ud)`w3i zHb~M;B^!nmev(%j6(9O(_QFiBUQk5Fr%UbDczR1748CeKb{gK`;+^PO5+9IQix=pq zUm@~x`_Ac{s$u3DP9fb*ihV}>GBOcoEpxI);5}(TaWflv1{R49VS8wMdc{x_Y zFDI_3nqgoYGVv`w@+ReMn2dCBOtqs~X#@{5^22}((7z~h^{QL<%(q2<#}7mUQqXZ( zW{c{rCAXmEkIR5#W8@y_Dgr1X(z6~UK0;H`KO#f-VDI{s=s&r-$Od>b-w$`Vkt*86 zKCyt@DBqN?m0$Qi%1T0%_P4Zb@eL zDam&eoZlO}tsG0=RQY(V>_Ewh_FtCdlrTXU@yEUbeuZyZ{?;LT2PL1jwZk~KTBXhl zaDkGFBkte~1}@&K%R+TJJ}L7ur6qV*+>Lr#2U6RqB0}@(JzUSWsB@KbdAv)>WON~4 zcr>v|5*Yx?+R(2PDC`Qiz(wR#+D;y({Vbd`xS+^lO54w5>j4t_viM$ualQNmk}PCp zeZL$vEClrF7p9xbz1I3jXfiXaB_d)nd)zqWS!5@^Xue4`A|m|GnD3x(#JZzCt{^wR zA1bwdg;DTxN8&JdDZ_N_&)BhDOrg$Zb*+$!mf+j4Wau1yey+t%!W?$I+Ov9Stv;-P z$HA(D_1b76#iaF6@Fo@qLR@sTDKl1+Ff+GAVXmiFsN8)2k)lXRX6@yuPOTqIVO8OL z;DkXx3DYH!)i*sfm&BK;%a~;Nvn@~Dfy>l@}=Qlhyb}PK?oP)OkV2U)MU* zi8Zi)vni%LyL0Zi3HN=FF}W~5zr5L(I21NTlCY!nP-IbLsXCVSKQ_rX4z#9}@P~#c z7@094W5rlWEoaEB#S{d<9#yH=*6Nwp@0}|5FVE8;a9<4P(9G0}nbphD!&A*Z!%-}= z_5BMop6rUuCl|2Qq4~^0<8c@CtsR!7nsmFTk7S9*a-K=i);A)Sq^cb=-d-%bRnxy$ zlmvnYudCF(?jOlO7P)#Q+3XfMFEvh|=24UepO=!}rL^~DF#gaE?USRw&2*n3u#B>% z&-;98f;@@ooQ$Yq0*q5K_Q~z(L?O!`PMPuyL;d8jY;Sf~ZyekeM9eEPKdT;3j=KN5 z-)Nt6tqBmAONcbg4Z zsS){EWlw(PPh-sM$n9NoKO`vruChBs$~;N@_{H`czg2HGAm2E)ZK>_ z(64(?Dd4Nu|Nq#!?m(y?zh9A2Aw@`5GK&jkk5D98Ns_%Y&Y369_{vIl_O7gK4rd%k z_Ll9Oksa=AcR1tu=(~Q;?|J;qAMQS%_jtWu<0dz%D1yD557gwr7E}ULJN3K1BUUQV zTo4bcTI|NGOVK0w>X_1i zApH%-4fCZ3WJI7fS^QA0j$+_Sji~fLRg|YO_f2+MI=(O#b>o>Q@2cPVF&Dw@$3Bua zU0iaO%B*zKgPm+5B$?(skgWNFsUnerKzAaW5YQLM`T=Ea2DTGO;^GwM2DyKFvo^uJ z(!ob<(BO0YsX^w{fViXFi(jvoDbPggzi+fF!0xc!8slD`YYhcA{&5~WNXMr^${2iw zNjOUyqVCQ``ZxMyFLdGVtHP%-pi-6q!%Ikd^S5m@okk;h=I~(Cluv&>%aPf>QE6&W zgiL3jsAX4dMvaN(lx4jAG+js?*Gk7SdyuMkAC9idT=WRTSC#WDu(411XYW%Zy7fI~ zgDs;CvV%jR5 z)Qr%&Nd1Pvv)T5n!DyWxFFBKEUUQ~GzsG*vc)ad-XRr$JsFfxHHh0j3eTWCyo~Li0 zH#4=}7ENo^m+3y&>Qq>h?&2K~8S%#PBk1GqP_&uF5;5QtjE;l~wSC`Smv+ ztTZ=@8&W3({`$I2FtNAe%MGO-WGg_J3b7i_95{~G_^&Jvh3yud-loPgDV({vTD z+^}R5>xxMA{(Q}wL{{(+IFtc$cI$MDi3%G_8UJLivPIze8CRzWFuA9bJhVNI;^C3) za=Y5eh(*U-U%bH4B|$xRtMl^)xV59dP^3=_nrGH`z#Aj_`C9;7Bh^1bqT_;9wfwu7 zAZ;WN2LfcF9QZswRvFD5T+Tn8_HpK+{A{>FbH~#kvQ_RGhqgm4cG{IB)~~kToVk;o zC&U?Cr3*7$;(6iK%Z!S;zE{*evb@aRJLZWI*U&cz>ZUyZ&xmsdd`wZE$5LnG`R#R0 zOPUgZNBTQH{rcdXgbG6ItWG=R$_==Dq9x2RLm}xF?w{85hh7P6)j#~Ua+9MpkRtY4 z`xEC(C&L$6$)Xj8wNl%F0sO*)tOreW?UhlZ)$DZ~c{OBBS$T@u{4rix^VRV?;_-?K z9*VrtO6cmB@gO1d`i|dZ3LcO4M!t^o9j&qLy_s_G>mF=oH_%E3kJo^gXLn;N>Nm?0 z+;8A|;7a%#Rz?g9jcX{>3QFH`M1`kFCFJ*xs7>QmZ-S?%+{a~n zODeSck&R00BM5j~gPcXx>8?-#lRHA~mRL2e)9~JC^{x=|xcxFNth*2KJtaDFBPZ>fpiwe?g0}SQb6} zhJC>gK+-0LO_%O;;Ge6iM&JHc#mH|-cLBoUhmYmJdnrXLg)Djb(7dI1OXu9DNEbXu z#dPhl&=~vc4(3Z9SFP5(UO^W!y}CY#e#QoKvMCSKkJ(40zWVEtTh#z&?7T^NvcPCQ zQ0BWJg&dBUC~KkDmzXMtyr1e>aS_h&apKG}resle;cb zORO2_TNcGLy3VMh&ydozKt7(isOEbN5gRZF&)itUwuVRsU-K4RT`*VMBRymhSx-eA z*@d4c5gosOS}I^jb6KtCqznzCVfnReTxA-y!hG~L%dyK9G_n>T3RXF|>>;jfh$4Sy zOD)>rTyc7XogJ) zihq=yHz%WRV+vz7dvVcSQS$o5CZ)FOFT)XW-1Z%P+(Z*o=WuK?`cksc5;dkA+mTdc z2vtKrbXP_$t@BLHyb0B3DyV{{IbR0E#}_FAIM@QuW!DUZ_wrH-6@;mmeNUhXJi`4X zTf4s$6S3X+kUkDQrv4?W{n}67MT%F0=2noX33|qwV_$>o3+J4uQHfs#D(=Q#qv0x+ zu{6f@#UI_6E`rIdoFSkmkB`NiS9=$zorA0|);uyW&~X6p1KBMQ}B{rH#YMAmhJ z+QM!sF$WXvF4)~MCdBimIlCErq{Z3eb6_%R5kF%k;draX(b~9`^g=aS#i1$9n_I$C zm{W9qOyO@Y0Os3C4-$y+Ppx_UlC%t0Yz&cBvZSK-%GWN~dDB34RBt9~sWFN7Nd+zY zI@Ef*X@>UZ6jx4@b(xo7W7~&nUlM2C6uHHQt=(P-9u(9GK3!BY=1zqwp(_II#H(}N zrmc$Gzv#bo@AjH#h!DQKY*13lFV|k^(KU0v7@n&;N4nPpvmVcEU( zJ4~m(3ceTlI(V+?qDlSt4WxfY*w8QAB0=A@=Fz2FKj=%gRi&}Z`Xzma81DMYUHcm- z^Rb9E1E~QYuVwNgMSNG*t)e|}vA}^#AaP#yvKkmhQ?%lvL(Pzn*{$iV%uLhQ`t%?D zQ&iy(p>vWK=K~mxzp6Y$Quox<)$_MeEnNPj0!7$|KDr+ZlvRFow7%%7hQ;ZPnLn`O zQy!nf1FVy{7J67Lq1Lr59Hp1p&pCzB-jB6P4sg5^PQoP&xpRkg!S%%tZ_yXLNi9ix z&wc2&I~YDn$S!v#bh(j0dDmUrQaK~u)2xL1)A5AcDWEs7-Er`MYkS|OfT>hPNw$TU zLx8)i-W|^PcG_lAAyL!(GjTb<>*`)Q%unSw(r-T)J4apdK zp*t6o#!L+-HoOZ{`?dU7%mKHC_g`tK++p>cY9M8_Z9w5kpc6l_lM@f`;?_>LNRZoT zMeJ+|Dsyae=tLMSU2G1<$1DRj-Oc2d zHA66MB^p&OK=3pfr$tjU-!U{QR0s8GhC^?H^P!0k1*_Yw?upNEk6Kla$T&p`?AB`c z?A#%=UB+jY%$NVAk0d5TUvA8@G|l@U7d)4k{1RJEGwCpP+Af3Y{ixSZYYzUgEirnq z>szIfAv*~&#JU-6xS>`(#Kxo9Y6pwO?F#9AzPKKz9NQRd-bMb}*}={<9N1(^fTTBN zQnuL|;JWof%(Yl+27?0?sre6pil$Y>*J8}qvNmI9!jsKL*Ju3_^IF3}6Eb(aSAz;( z7Ux^B66vXbBy)=xy@u=3rpB*LmoimNS*ke&=vv8hcem@SL9X?A#;YoOtYU#4)6w%zW32KhiD&f)pmD8g7ahwN>zS{LB+P8eK6KZLBagnM{)~wjjLhuQ zJknYcXIOZETR42Giv-ddb);zkpO#3u-w;K;=IJpoJHRP9wL|++mYa{{nvs>=;)zc) z1iY5(=w)5d_Pbj=dd*^j2y}+*6zcQ~2lUVyQl$v-=?Oudh!V}7PTWAA&dOoN*o^E8 z_>pLGjay*%6SwT5z3k`eQtN55FtjyaiOdgm=F!$s6k>4QtG^S9u~AnqDJo~1B*gZ< zwt{xNS*F^yj$#@Q9(JwF7gQ%De&lUP7v_i_(vTCG$(bV5)&H;o zNf9Oqn2O|wqQ{}_JkEzJ68#f65#!yYiF#a2hIlu3&16Y&eyI@&Ouv6I6o()#VJ_R< zO-*10$1oGh(aRB~rg3&y>jqepLx#4sA%5L1LuP}tAwv-t7#W68tVN861!ut7q<3of zZq{W?9Usj1jJ6coLgw*Mb=k2n+2+3Dhs1$;mrIo+m@p}}a--bm2odQi{rTd79ODDN zl#|CA$fF%?@ai(C%HL~dnQx}QIM3H9q!$INEqd3#2t7_HF4MM47{`e{*BBE#+M-ui z?=K5UFf=z#f`-TZRK+SAr#lqX4c8{kloq6=%KqBz2Im_SirswS9wiUnOx^7YH-vHbqnlAcNyRW63{+1weNp%d9 zoqMIc-GTT_vTAc#S4yIOSg_hN-+M9WE_eYhhmO6w{*)j~6kYdDSF4-5i9A{D9No!V zfwneC2&(PiR{Oo1<0DXwIX-)Lp^I73_*|*n2^I~@w~(z~zRZ7`1z@QWRi!H=Ymyq+ z4CMx9I{$HyC2&g}*N1+nvJQ?i)Q0v>Rm$ODkYa3)}{T^GCUdfT7v%j*H z^~Iv~#Z=S~|qecz>;IE{aGf>#cdys8Zir{zj6q{T>_PS`1{x zR^M<=uA;(2e)rn>x|mVRWJABgIl|?7=pCr z<+K>t1x@RhdO1=JsqV;X@q@MUZ)0SU-oN-nzm&LOE}z;5`y9v;$4*f*w!R0tFi$kU zz77nYHd@kDCG0bb+W%z+b1lBUvg7s2%`#lgtEwt;+t|?FP>$e&TnKKcQf1xaYf*P- zu(mfX#fHQl2o4_%?x#ul2>RHD>>&@i`^ zh_}a&j$st#(q~0}fhz4}y$Y#z)(J(*Qf#7`uf*SDN`j6BN1S*1Jh%r5bUC+U5N zgy{rc&5=J zoAfEC4SwdMF9q1$W_-Ckv7uWK+2dq%D3Y=f8L6RIbvUMrW~Pc0UG+{ttEo3-lx1ja z{V(KC|Is-Z!#oAIj)}{U{TK7yU?J2MVjM6eTX5fxGt|aI>`xu9&oK+vluMx>&b)s; zB~Wf1GBt7Dqn1+U?<-44M|#Onla9VQdmJn@pGXIiRedZ zOV{;J0-aPGy%HUYl6oBu+dtcTYzH}t_!8<`GFh-9YRI>DeJBLCuL28>SbxFUR{eX$ z37M3K223hMaJWZlcO*thWd%y#=@*HaKg*MD&959|Qe-?O{)X+^%zw&YmS%QI1O zE$Om$)#0#ZT2Y5d+R^U`e7*|OEEz#6jDj<4 z{c$t)ZRK}yu?;6(1+pU%EW;wSEdvo<&oZ8P^Z zA{jL7wb)0*);}9e-;^@n){8j4nbMy?rkabfWT+~_m1qc5QmUH}Nq*ES6AqhbekEKv zZEV0~mv{}K4#M-GRqcAkuqNeVc=WNM^4@+^h7p88gYalTg0AmDzIyw`rGIxgU`R1P-(eF`>L;XRQrGC`eOZe1F{cNUYJiL?6w&jF z=WiHQ00{_2?mz_9+&6CB{^q_hqfs=|O8dx(+7kKl^#Y-9*5G!kH1{_JSK;&5v*2wnnpSO0BV)l}$|I<30L zBcGFh+V`Qpir+o?roNod>H@6WkCTkv@yRQka0FA2Add#KZ*`h}d0+e~!GLH0WR?s# z1$rNoyXyy^Keea|!&=C+r<%pIQ#tl+c}Q)H8e`HzMaKz{BRQx8q~W^Qx87>tGW%{2 z2|l9anc$EO^@syCc<1_hiE>P>u0i(#XAmH|@j2#`1AkEme~>`9G*r*n#49xFUT~~~ z<5!{HQs~#A&bhB^(Se?Lv=r?c;(G$6+#;RbzHvPkp8-f?8BjGY;#N2A&Ym_6osqiDH{G9=sd8 zO|@3;SAv>_t{r>c#o`ra65Wx8 zu0@~?BgcYtz11(XdWBA?;{j`kw!0ccpHzel zpL&Pv$*c$yHzHlD4t2frc90H;6bP~}h^m2O)_uX!xJ-jBfp+^CD0Q+WTRbOPe2Qnm05VJ*h_T z8Dn+C(FMS;4Ga<%=!Wu0Sc_P!oW}Nz$EyxWI;49J2jzJK$jcYLJQy;%vdKHdJIV2w zBi89^?}FOL>SfBNu0CudqA9{q#n-WFHt@md|2~?CHG1Y+5av2PDxcxK2kIF>*L|oi^E78ZQPr{5lI==n%qh z9;9KVK8VH(FrVCp5O*yyHjXD#28G+3v6ZQZzwB&{~-!5|M zUtynfPz1p?_Gd-SuqJDACh^CnZuJ{^;riCTCrdL}QpiRCftWrSr!k)Cq)Q7z#(qoTarh=I8^(>`IVZdKiY94I zFhNR{_Xxc3Sfc^HMWtW28Htax+t>;)dSyJ*JH427yo*7Z4y{jP`fiS(eZ+8*B{TM= zBoj5zLKgI_GCmwM<=|a%^am9@8;|p?>0@Pf^-~jfs0K9{uC9Vl<~1hBGLBe_%gX$5 z7|xqBy={ln14A2iXw=pt4XM+Pn<+b?DY*2DzU8X0-O6ZdRvWp)NbIDZvL~2k%69B{ z>=yE84&@Tv9`{t!jGEKE9&Tfi*6D{?DQ;7jJ?qQ&RwX87-?@?_(FsSWTmn75SiaBY zbeSGs&l7}BXm=~mGe-4^hNakR3wkEFt<}2Y@8#Hu>BXu4TeTHTI7vUHb%QlcgUu!z z<)yJYz>m#jBiVy!niP8V`HCu8^%(C`Hzv3AFN_6U>zv5Q!|QuI9PZGE=>dQ;X-d$7 z>YjC?8wAFG!6Q3KU676~7BCF++6vB`Z~nkm?xt1iw7@CDhr8&UyesW@YvF;V`OoDy z0sLc+EL>b&6=6?uu?5<53)z#^H!{S@EjQixBbD*9Q`W7DvsX#DhBljb#i<;HQNgRj@O zdUv!B{`+_G@m>bDpZBcFiwYqKqbWQ*bVh6twP}1AXUt|~##XXN6=`f_mLR>{V>wnV zx=bKUP*t*(_OlAL$hrtUM`%R&>^&ilf%bbQ>%DHcD)ZzSDm(gNg(pMzj!R~wPJVuq z*-2wRZC3T69_KeI%{*CC(RUm$648O53H#h^0sr;d67MOF0W4=G|u3IY;lmVDOK}4-9o=uFj~SYTVWU^EC|kSQ)IO0nB8Py{$Y3HS3p6>G zDWOswCkMOHqLzm*iOUrRdnQubKc+>OS710@jbl(j-nz+g{)D>S`j0PC3=?@7;?3(P z+x^%WHp>-kAN1D%5i`hhV?v-I)q3W%BNvyPV*{Ncj&?_YeFQE~V5gbT^%?toSHGXCZ5&9lnmsTaHs-Y9|15|}*tsGx1{ z3jk_~_aMsfn>#l6bgE5~52EYUdgFwsQ{$p&zYQ#;rm#IYUqYIxt~U;Y?^M35OT}t8 zW+06icfR=d5fXR{O1UWR!04~@8Jt=^zl!H?Gc=8CVx<)o0g#n;M<*iyWxTdWMbpcF;kr0N%&E|myWOs*N>{jWVwr9-)}3>OEOFw-(|WzI?%ut$c3lZvhQV1 zkF4pwKk@)GVwr%;a|mjFkcMjf_f{ z(H+s;a_eoG+#;K_gyqGS;|HFGC&X&APtglTgaAd`BEX9ax||We^~CU14usN-%B~JY z;x%I{N7xV5V;b?HL48!s86BEdt8M_5Qn??gro==_Z+{49m8n&m5DkBD5M~qnz_sjf zY^?|r-*X7IsW_}e$(iYht@RX*z$93W_HtLC8+Xak9vf0Uwfh?I*>E1*$I#;PXkFhi zZZ>L_v>K)U4P97$#0tW3GPq>UXhqV}Rs;2X;>|{7rMqB8$pdWvn|jc9w($xH!}t0p z2DN~7d7-}kiBv}R)Ml!Li~Z657A{@;>%SPrGW%vi!%=JgF-g0iPLjY!r}Og>50o|| zd3Oo~gkqAnNX@m;1@KP6vtwzJFPnvO{4w(i2Z|%5LRVc{1-Qxg?PZMS@+RtE7|bzp zD4po&&!u(PXngMsZmN~41)J$_%6d`CN+|PX z6x*UyhkWsqgF7_KyvR)ExK71He^=__;16wDj2;8&yi{r6Z3!SQcpE{9$SxIgAfD+!Z3CQQhK@lFO49$|mjI`wWwviUp;> zkQs{!T`m=vsO~Fts^wiUHSrZ;lIP)RU&H>3DMN4bw-okIO`aO2c5gl=gE+>QBZH9$ zaUq-sM;c*$anVDPJi_yJZ7EWNJZK!sG~MPTOWgrE9q*m27W3cksCCaM#I2-O^}6{< zbQ^6!4^<|TR=0&mrTo++CP6rM7PFKGsWCGm@rP|))kcA9)g^mZM*D9nWBqtK(#v?MOmy}S2hojbCPYQ^Q{uAXn@$_S zjVpT3P4sI%0n(~_;3>PiwmUS}YPYl$U=AXC;2oG=gGWo&68kt z3duTN--eW!dGY^7vR+!2oN*!mP8_1ms8VYCj%5MGemH%hNvr<7*O?!;1|O{)cu6;T zG(33jrO#q|KC_Nu*&DUEVKn4xVo&qh69l=b{KKh((y!>r&#yEY8FY3ZEa+AfxyZIc zui_@NU4+MD)Ngi)ukg-G!*J0<3mo1Z(7m`jdWUE&d+q zIINs1`a;%Y@C%ejI=~&_?jbD&V8Zo3Jxb;>Y3md8X1)R!GWQOa=@9&ax>40vP>4Sv zPlJs|r>Y!@Uyii0SdAa{r~b8lKN`_7s9yX=nB*pts^l_<1xJBO@E=R;Kw3u3(B8t9 z-G}+@#WuH)`+}+c0J50S6$am`uY3H7_^{PeTA)kyAWvl7PjugH;N-1FMWpa;2!DS` zI1Dt+;I`Dg>zEG;?u`F5R8j=*_q{Km#OiJr$^b%~Cn2MoM|zr+e3{3!a0b2UzUy1H z2twKVx22mV_%3lG8eC4CQ}R}kq>1#saP+`Ik)46{y%n|8BnzBG z7=d?6pjS3CX;EfsQRP00b@AKljNbL^!aZ4+%Ym$lz6*<&Z+Cr>p78ssr2Jg+;Hl!< z>yfT=QDp|XQ0x7(2%S3rGX~JN(`nBd|2jn_fK1W}5|a*`lo#cQgxZihUEcaw6^(i6 zDQI3R%Mkf9XK>zYd#3QnAoJtm;^5c9xtgaGr)t{{+ma1FF3Vr{g$Xd02cv?Uit7I< z6Zu)h*(lB|MYlkUxQEpgZ@ZFp-Foto>|m+xEU<9ZKZEw}@@L8YCdt4?Mll6Y^7O1d zFsMID!~5<0MA-{4-b>c^jA)g(kC0526pW{zt)n3lMy)kzq^D$Iov^|jeFoV4q9wj- zO<>eK!@JOGMiJN86^P$=xr;gX;wF>ZL@R!FXa)?VEBnCO$`Rp_WrVan>H>7>pwH=M z-JmKxNRhNJ#T9xRHk9xNHOXiEZhN>*c!F_B3%=Ev2aEgsoOX$RE$_TV2)Yy zQHmXTC&$Fxef-f*yp<-TKM1>GnehF}s?0HumlUCdX&6E-WB9jO`e(1JuglDy+`R0l zjAi%;4i!>Ju9!6sDph?VdB7<3SQ2xo6F8lp@z-=0aa7VYe-Vrf^SL=qAijw2gR>LccN-m6Hzo z#0EXoul9Xuxt_}!@wA;MVz8eU7wTGx@nxP(OJ@Kg+&_|efW`I()JeB$;w>Z1c)(Vj0}?`5t(fOB?K!z^`BK0Pa$( zTbd=>?`;ysQEN-%m8TmX$lYY$(&WRq(aC}~&pRxc=o>P47h>D4J>OOcTYXpCFkW!D zY$BQ8Gf^PJa%_70`uyZuxrEWT5F3PL|54=BQ9VrC=osyG^^phlHBawu&jPGLQtTRg zt`ES)~Ff&0{zoz<@d{f!k;utmj|oEMaFCRqdzurV_onyr&xs9XJo&%4&0$$A?sz!HrS!qS#GZ#9ZDJ1PW%nrZqLNdPATz zLASxaAjOkz{<86FOOi`2y<~lZv^HA^js|P-}CbSSfbCp^Ao$p%t zoNP)}-9ixER33%FyYC($20{ClD;!}vriHoJ@33S`b=cs;DBdT!qAoN?E1ewani@3A zOIo(oyi7<4Cvg^Lv2+*z}*+EZe&HNY#23{cdt^)^ehuf9gL7_0KdFdI^bKSDH4P6Dp#+OX>LhvKX4&J3U3~vAr84bik(|^GzrEs= zLZ4pQQ$Ke^o_psfE}I)N{SgKSxBu|zbWT?cy23Y;GMx7BsG%Qlt|0%>m6rDW@f`6V zt2-m%Z9nfQM%%+Vt11;u5v{C%Yoms4l%CBl^|dUuJY) zkl1ccjy_~q9xq|@o}PYP*73@X$wJZY5ZzslvTZPu8cf(7EeJEvui#uL2nn-*kZu?*NvESyc~E=fj|_&G*Lm^`7?xG<_>Hz=X->-HZt zqNKuO+B{q09f~)74Ek%H=H4rw2e^;_0(ZEMv?#5-Fe-<~j%a%2Pd2DaSC*r~j}P}$ zg(0w$nv(=yI90fyet}mjbM!Fg`YOIVDAfoxEcfz0a;c{bynRm}(KA|XXeZ;j`&9C2 zO3cUDix=wFfMG`6bLr=I|L(bT*MC_20ga=an{%O{8RR`nq6^+Q zshIPj$t}n3ofWn269Lp0FON^oGyZSZ_`WVKOn#%x)d!C}Bc6;w__J6|=KG}k)P0t} zi*A0?#`fr@tF6$JC}H%L!@9Ps%jm~on{Nxs!d@2^ZUtCcJ){TE^O>(}>`aV>3K=&d zf9;zl8yl+7Ch3c|zj_#6=Eth*4|lQusadRZ0SCPmt-L4TDqVS*-b=R4w;U$`I{!_Q?JHkj(4YtOE58 zrb9;Rg`o(?1Xj60l+USgPy8t79rwp^`J9oDX5CN5DT9}_wW}dBs8_nW);mkRs)yZ5 zOtGaH&Z}&>!^8JAKmE(T$Gei66;e|Fq8zU-wUbAg&6{21j^DNf)E@y(B##kTow(oK zw@&WQkNo>VOqETE0vWCg51G*IQzv!nEP-tfw4=YtQXvkjBF8sAO>KLmcqD*uQ-n8C zJD;Bw6x*unJ~-O*LE;fj>HV4NRjLtrWga5SiQ!TlcL#9kU;~@F-cCFxy$p;;K{9%n zJfiI8a&4aX&+(xm=e-!{UhaCOUuGMoI1*T{F=_5 znHMbGGZ_KbvaeQO#x(I-Fh|coB zdY7hVTk#JcKN{M(D!~S+VU~Z38RVj0qAM*vzpF2L zvJ}1Xmd)Sm6I9KZNyK_B?u;aJs0F+bI2|Oj#`dd))%8T(vo8XVJ>pW=q(M-M8Cd#T z^_M^CW-e65J>~hso3A4$!T$SHm*b7; z!})1Q=Bn>(*lqg9URo;Pz#-=BzOsYvzKY~8mCyl8hVjA!HPOSVOl>XHwTcm}*q~DQ zD!8)V6BE{+QB`RNzmPm;xp1J=%4eF(QOcK{|P=I-#A9Etpyx zf&d!R^O65tXP>RJ2Y(c{@E)~pA=jazqEcCp?aRv1K+{rxlKimBqLr~a?o7%q_{7LT z!l;YyKdH1#exB#!RqUyBnY0-_DszP;G9h8u@;c`mAfn_81Y8Pe^zWHO*on_cBfsi`X1L z;4lptBUe~$E6LeR6m9WvYCGdH<=mOKB3?1e=IsLC%%W3 z-lrO&U=P9<(UZ?7qXj_M9zJ-Oa#Gc0FiD^;UV-RPb>sY!K$t{I&Z5I_AChjU@UiQlEXdcGTPZd!dxre(eithY8|9(HeDd>%?e?0P8 zOf6NOHAi0Bz6qm;mW%g~f8FOO#M;|Pb4dkYufi2A?gn=OP2fBet>`!BS(P01v_lbH z%GVi5=)8OK)s?}<$;IG)9&m0odsOE3;Jd6~V^3MONXKaq)pf{5$Mx>i{&vbL_eaIb zo&h^34G+ZMBBCZLxR!bF8@DGh4~GTHYx)JIzJ>XbAEpmY^{g)S*-YK_%rwwXaNG{e zC>@Yl#pW6lzX)t97dL-%!5*q)g7+pf#)qY>Ed!~g85%{*&5Lhp*$=*oQj#kNX=S6*+(AW>nfD zHvgXeTbY_0_Q${|qyuYc8r(Qaj}X~DBftNpK%0_4@3o%YorM8C6x?V|U*wy+sW)V4 z7lP?AtoF8@Na1WuNbjUDX3wp8zlcEUf!?HyU=p*HF!<4gVUII zX+M?6n176bztYO`B;BQjgDepjY<{XSSj`=K+!v?*8deVoQ-Kt)`Xo=#aVEna&x)z$ zXw;_QZQbWp;8pcrr?zBn2PcTya>H|es@%pF zYT;@&OAmU#Kkc6$tWK0rV&rI&cxrv+aQ`p<>dn^7{QUg=O5PUX#g?%ggX>+CmY;iE zKG(&Fb*w$*@r@eta?;T;)VZe$h@SruKtUJP8DpZvSft$Ub#aoBcBDOq!X%5`H>Nws z{y#rdoq|_fDfH&l)PSaErisN8CcV1HHr3_rHk;aEb9#ZURSI?U$x2Wv^#zITpbMjU z<_PI`*V+V7M-^=1ecH;r+d`R=gM6S5P5=(S{M7VRA#R6O7g>I+a&4&zxo@z^Rh}M$ zZKnQ7SYBNurLfk{?a(aNPIGkU4x^ zuMo5`qSen_Iy#~$eK@PrD6Th^?C#l$6U%aYjnm?^kGnYp(t&u-s|?f)Yt7KlO3l&N zFJLIoQ`kx>Q5(RTE?i_Lky)mQVX(Z;(Cr<(9pX$)sbECvm=*jfqKplmB$L&t>PcbS zw7`>g`1*E;jGT%pOr7Y~E71F-=@D){we&Cl6}c~RuTGCg7pMbVjn>&ie`!QZsmLDK zUSYjgyefYJpm`*f|3?-GJ9hzy>wAKEHGL!Am@6veI!juXRozv#>aO2U(r>}30LoP3 zcWZtFI9G*!o+hD_oto=Y{5f|S^j1+l^ZAg+lC?VdfWgGGj;nN=>|Zj6!1lJ!FM0Ji zEY-g5N^$Hyj2AWj%)N~vd~drbucjw&pnRMfTJZu9v`lNJs!>NYNu{V2EN8iCej^CO zxQ8=-C|Xz`4mS|a zpBnKSjcswKT4&u39KV2aWKM0$zL0n|L6z6$vnB zvO(S|q;Bi-_!U90!9Q|XYJ7hL{B|lK2|iJubJ`dJepC42>bM_;f$+iCm->018pAAO z!SUvl*GRHcN*cDy6M?#BPa`YR&;H#}{)*Wq4V-QB9!+0{^Rh$bU~W@=Dr9 zz_>)QdIZV_BAm`-orzE1(pejf6&uEU4d;;USb1H`i@Nlrn#^X3RYFZx(ul6CV&LjE`ob~|=_=^c)3tvN$Y#WWHhe6{Eg;Bt$BojU^$F0?v-NU7?QC4DxBG*>uxbf?@56G=E@`yGMGY|uQj~t7vR*#IEjx=mZSP`jz33oxVAQoIAEMN6 zeiU2bW#pay^L7U8w|cU^+2iiXuD8at$fz^wc^souh85BKv=N6NhD5tKG$e=D1A;f9 z*$tZptA8uX3Lte!lk)KuJnqlJpUJ=6G1yxfBG>r8E%lt=SsTJ!2kuXg^~VvV@&PRG zAK26GM{`T*TcZmuiT1tYK0BLy^vRNuA{BK2%s!dlkwKNy&mxQI=LlG|yg^WQNzjS*)6eOxDN+xR)D8~S6j z?F%6m3ENu?h$0KZ_SUw5Ed8$dY?NrpT^I{T6+JnR_lJUx(hrdh~xr56c#sk_~ z@#5T_Cw`Gk;4I*tqKWml=-JQ)JOO5N@$|7Lya{~oEeJ=A` zowNe}XOxim!d2&d-_sMm;{P)02Au!pehc8u&#zb1)=HugjGUx3SD}3NMh9hzS-Idf z3u{%HXXEEB+3Z=&S0y^Rr#gVGx@tctOs*4?{Y%810jMu-`rf?et#5|5|Dv6M-AI|# zJOH1E+u!tkc>89)M$T$kjTuZ%F{ne zeggT-@8$pR3klTBod_rS@v2f|pkec*2~}ft5^Dw2vZ4Upk{UX?yz>FvmxyFXeJRA@ z-^@vs@L4Q4%W_e?9R%9IZ=itI;=$QqANqMoHyV>i@kq1%%8EM6Ws$VY<;gqU4#6)5 zrqhRb=j5%-e_D&)d?o>T!FZ_1nAxFtV}btQ#bUZ0Z?L~hbb@Oa)irsX!}Hf?i5Z?C zeJYYw4Y=OIYJ-dF8rW}AK4?|}AAtQxQxT<@x;BL*sK=r64gT{^dDih*f*bFa)P4G} z>=i!VC|;@&SbvG_y(ISaS^cLsS4BTe5u0Fr0bS?`;v%}QS%?DyRS0qkFrUogLb-gr zVBt8u_?Ht0W|cxXc^mj2pJ*=o@&&qIy1-!MXq3E|`jiFV?nL4h)l2bgaA#q+w#|)? z<|A;NpA|3WlyfTPV0{K-Je)Vk@80?Oo{l~IXn{kH{IO^^hf{>>wy>)B>YQEA%lO~z zAj=xaUse*%m$P~94dgGMIv9Q@k=}OBeW}FZ-t***7n&I!`rwu@;3Y3|Z&&w!|EpL^ zihIVWI&qO?VykHD_t)>Y!~kefalAkrbhfC$?GE#k)q1(5ob>@b0hoIOizxNJ?_4E^ zTevT(Jn&C8E*ZHvdyDVCi|KI@=Qr|nlLX(Rds1E{i=xCDglcb#8pE+4`D^g0t$wAm zn~+T~>9bXtolM;cq7ng-RDN39n_nVx07NXhsF$XLWX(JnUmSYmj>}KQVs*+8i(!R}p{ z`uyLR0Mi8!YTqpSb6?Crs^u+O=)F0Cwem$T0DSbmk4^YzK!CIx#VspB7f-S#37><0 z#C3COYMYaIhjdQMcrI#Vs3Ilt$IwnLwyF?v1k4l3g(z|l8yOvat+v66sX(#Td+L|e z+ZHNUAzE{G9emc+Hqpa-VAZ>)ucPYrfd=FnfR*TFfK&t9&|H{wtV4v`+Guvk9IyXk z&Q{9J6w!$WN!lrO=^-KV^DJq0>}sq}t?7IzNGQ&us+*%D<~=K=njf9H1*H9eC3*k& zdXj}p__o?0l^b_4N(}O3oqa3{R$VtKFWdPq2K(opQM%0j2afO7yx+L>8{qWE@u!>~ zm>eu4d$DC4Jl!MxqtE!pkeFm*zWe*W61$IfLWzgZhh8=Fb@w{L{YQ#=g%1RIS$PY! zI+IeP>HU4CE7NzJs|EXjVARke|6EJmG7U$A`aDl-wC>4y8n_EoPSNI0x|-8rv-xI2q)W7r zfbOA3Z%>#6o@ev-z1rDR+@|vqA$Uwx*0UG&?JC#s#o3<9;Uu2q>(NbxHYLH9^_{9R z3!MpS?frYh1^;;Lj?PGlU(IgUWB7u`D!vj?Xzs5N_OTVr^BKyBU2nDIx z#m2`&)pv-{I@v>GqB3gU!WaM zAqLVMkt3Iy1`xFl*?X)n%_$52hq1Q+ifh}pKqEK-0t5)sxCM9DK#*Vof_rdxw_pJh z+#P}w+^vBG2=4BUySwvulXK3!@80*{|J6kmsY(^S*IsMN7-No=8_RJKuUNE|nqJH7 z_hWQCiy_gB9qnPrs@XiO>7bR?axSQAR`=v#1NCO$AWiOy((9B4UvZW?XFN!puauB$ir0NBy=N#tEa8Vj}e-b{6Y#Wvz`l8t7x%K4*^GMluC zb1~yjE)Q{$EwqgRv}+%Rb*lteqyC1Zwh!!)DUfTS?Q!X-PlbcRiv(J98_@W)Up@I8>P-C_AEcvF7rEr(C>kFZS z|CyR?%Xo@gEQk|a%MPykN%(L=T1dz?=GM?WuBVmSpP;jK_M-gW?ryFISAaiL#6mb12}s@iQ_Qnd2wF+$&L8>^gES1B7AK{(^5vS zi8R-H_MMs14!Ci`Pj{1Z)}?!nMWAMDxt-yxta#qp`-KmCqGwO=hc1-dFS`vbBen!T zfkO%A+GyZ+t>KAmt3tVtO?bBt$#ye*o_k!Kyf1`LPotW75ODN&RBIetA4sx3Q+jUE z<<;i#upe*veeYmWW%iirp!SO=L_ZL1TW?&8ce=t=ZVGJJ&tVdz&$>)q*zyowlP%M~ zhE;#)d!mkVD*GzSfQ&BT?ge81M^_2G5#n(93X!@@lgO}RnS}&B?8;=3&5SPlm*VxE zoog+kYuCg{QYQ*jy~Qm5A1J=YUnqVT_bMVB^+<$uSAl@1CfdJoihp`F-Ebk@-(Ru1 z@7w#o@FNk;Do0FC6_zFccJ09ajizU4EVc3mh_QhYAkyR%3ZOECGZ3B1=n0@o+o_^WqjYZ1vv}{#Na6ElD^H6v^UA%(7EL4Z@C(me@dzI7EIhV1JHw zXmewqZ~kT9+OzVkBemM$Z4+rTH&gOun4hPzYh}OZCc4IAsl@0p<<8yxkry!T#~(i) zdyh@|Zk+!Jv+=6aUSS06m|iB;fm*?w2hwHrj_zj~)RO1;CG)0#mpe6R1I03aKkPOZ zYdY$ku=;ZZB;&sP+^n4F0GOpDQ37X^_l8m74w^6f{nb$41U)T5Y~_tz>k(L6T29I* zllxKl=nApZNe*TN?D5qqfU1%ndy{kAyS8M?XYLoXgy_ER$7fkklbzN7*@pvWM)ogt zUwjVrv3;%&+YuXrZxd1-EF!zH_tNzlp!cMe6^ryN+p}-AC;#IPWlXEkenaf8WK{aL zV^@|BagW}Z%GV9qYyOK8EoV;vZgq#GsHS1)gY5+OQ5hlkR!U{1D=`1bQY$XgQkCa; zQb@~cm-H>Jzg$U1-{W9Yxz_GiWk8pLxk*XcjPt#p=T?G6sZqMkD)z#ucb1!mRM*== zmD^(Wt$H=(Nwyg{?2R7I+3n@MS8=me{aP4y$5$HZ&wqwwy z(F07(jKlGGxnyzfj5OGI$?_!C4{>yO=McBI37fuh_b?BovBaD&IKUDZCZAk+3KM5U zKil6R`6_bsMHTgTviVCoX8m}F5)yB(dg~r4`k9wH$-b;tT$v@*?)HE)msTR&yVk}# zeplCpkwA=QlqY`T{19koVnD01TX4teDfBw=m<1{ERRVE1)LVy?;lC)dG@mE>&pTca zOrgK#EStetc}}qPvNYw}kzoNy$_Zf_-c{i5`b9sBv1>LX(|RfukV{M=h<>o{X52*@ zHUeSpwv98E$?3QkQmjuKE2ZBJ9|q?TJ z37B%bjXiIalPPB-nboI~yUs_kbX`cR9_IKFL4QJHF@%s_aHq+k;kH;-6pCWlykX!F zBE0Z>ft$JT#ZtF+N<>TfBx)-47WFFiOgWSR*u|A0MCDN%S&@=_A%Fov)94>U?ei0TKLvLscnEGqeU2-cyOP%&uye)4dj3E#3nW16=bTw37(p%irf??;B^$EibOPO{5j^oEY&iO6`V*T9Qd{2>xzmqVfvFnR0 z-)}LLf*Qkb2h~@-VKx6jurHx$ZO!D5kq-AIZj-F+?Xred%3JhKebj66>^bY+o+5PYdtG==fP85Z35>bpSLAx6kUZ`rwexZIr~W|gx1{}QDk8A19t zIl-8AfgWB^cT?Q`$K{)Ebq9r>+`L-xNucvV2?ZifP*`dOnij6#Mkh)N)SwLTkE|2` zWP7!RfY%}6KRzNoT4bB5`dM7&S`uyhNvx%6gRfGzLrHo02oHvBME%(KwvcEq^s&U_3l(Cz8cpmgDaI9Z4Pt<7ZNGEgTQ1V+t8qT~5 zPr&SC9aG&@*K~V7C<~LFOFeg-r7Ruo^&m^PeLKt5#kC0m6}VYB1%)b{*)>tk79GVL zD_ikJii}hRRQDpJdCA%u1})8NR)r^Ozuplb2e5H|oD%MAfei53R-J8586e*uBHuXj ziaMF5Hrf*$bIKhb8*04X@?#S#7YmBO8R3>NdUbrOAm)MF?K+b1D=?f)P}SaZ73~-= z-66({!12qn9Pj_>n$mP;7wAk4NoR5i@}fkf`R_LsE<|iy>g#Wm61%Gr;F))_0tX0I z;(6jdnJTS2xq$0@fR-ET6=)1?2Ye?AlBZMSI;0L-{;3}q7M{w>LdQP#K)XK(wg6B_ znqZ&PZVb3Cz`L`-2cC<2zD=1iO&=KvX15#1t5xhGzcSrxFR3G4_0WaP2GYrd#W!GfB!BMIP@%SHRX4JUreh>2- zFagXj$6~Yi(_V|Oc@>^j3q8&Ptg*c@icss!^gH(S++&2p@v>mK9y%3f<8C{09M%x! zH`L!q9CKoNW%KVd8^T6VVnDz`>ro1`Zmk>W4@}anNyX3p7%#3KC-jU8o$?ms-L7+< zk=O5-EzrNXplF_)0_)714i;JT$DR8FYFcjlTFKx2fs@_|hb}}tgpr<%3UmJL>?p2_DV5ahBk*!rDa0BcPalX83U;OA4X5Og2^c8NH~O< z$LTN_AODZHk<2tn1)_Fxr3jQLR^mP;AI+7yNu-4>3hq1ZO(u=3B?rxu1}!P1+w=Yo z&R7sGV@$Zq7(ZZdcXK{is{F{Sao1ybe#vNE)tI&*j4~BG?y$=__Qlb%>YZGF1#B|$ ziu0$F8uRg&V-6u#6g7$5sVX!GS^nZYuITx73FYqz?C@Yg7>#wi@+7G&#IYpBB+1hv zN#N|jMM`PzY^uzkoI=j(#5p$v5z_-&#bF6%nN~!te(l;J zeD8I4ZK;x2)Ee+Nk@obDPGZXOQO$4mqUJ|g00n+r>8l{WD%o>-ssdcbF6~$up~ydw zso_K1yw_m)tXwLO5{%;rQiUKh8Bf%|VBmHOQz$C~ab?Yao{Hh!&1!G4-i9{waJz(d ze%PmWK6f1T!VpiZ$tJDe!(ost?~0qT`OudGP++osxw`E$jX5CBJ_#3ky(`td)sfq( zO&dVLR|iLmZwQ*KXm)&~R3h_UD(gURKg@*`4vg|Qt4NaPRLhX~3`!~%mu_S$;f}Z` z@?&nxZIZBz#0se0IcwBM3%J>89*SW5DC&;aT0>q4-Tfy^ow1AVvKFf{Qsd|`g$Ki~ zPfef?M_?;qHeJZp9I`>u5p^Wpg&L_HyBr9q5UHvb0bFX+!Y^r?e^HU`8S!<;H=k0V zj~zW}B=WZ>|1YG~ncJ5~D7s~X*rt2++em+$(>?Vh^=!EcT+efzFDx3&g5S6!r|T0( zBXsMC;pCV7=ulw&Phw;UNM6*3=$GzDARD48dPq|YBXz#^^E-lF33@FB;{&>S9Dsp(+)3@dJSBm~{GSU|-0tK1=P5xM>p13)|0f;i zvAT?mi5R*ZvNKa{J}g1BdU_p|^X+BHRoJV5Z-(-IDPp+d%s}8hqtsMVisjL19fOa2 zB`VZ6B?b_TL-L&qqu(z(g`SLjt{{UFjILs*DOEIF03{doo%kBzjB0ws{?VWLNbmW9 z3}76u^4>ntZ)dzv<@oI1{mUM?;$v~ZCr7*D2ZPc?z0~=zxkq~vrJRF9)XYU1AUe#c z2Yoy8+f~BlriY4Mn4i9PTD36bm~LTp7Z~)r{Bpb`Sp^RzJSvH6a{ueazWY#nFN?HC z4x_q^kMo|Rods2&AKo__U>^lv?R{uC3I?WW%O|B3MkbAQqA@51+gbi5AB!?s$fA9R z*7*$cnmp#huO;(BsKxh6sQ2$sIPm?QBeN&$N6w*BZI7lliF0~l?5ZR>BN^RmAGy%S zeEdEBr@{#k@_-w*$3WknX}><8ZWu(HOg zO~kC(Xe4RGBZ|5HBoTUBzAVKQV|5(sg)Yit7(ocMkFGsBOs9&3hW;b6py92k3E;-K zj6cf2SRxZtFl9K#pG{v|prA%h1h!95^TJMPlp{HX{B(_G4an&21L#$j$lQ zH-zYaX}bTyU(kdWt0%Q-WhZox#VoXNqNzUZ{+c4$HF&3yuxn9)wr)}I52R1R+7n8Z z$YS^vVLL@Orrh-Z;*d`$Q&VF$PhrDo2R)X$@n5=2=trRW@w+CFgw7Ih%Xs-Sgzap3 z09b}L6YGowFh)kP;w@~7Y?$8Ag~>Xpa04c|1&Bw!8~}A_WNMQi?9LU$`%CCf8UB6^ zb(PKT2U{waCz1fsJCbnG4^-$y|3N-NktHanYShsW2;8Y=vGx6lamqBhQAq$M2hg1a zrfNV5e^cVoH7kuV?eeU-rg<3Z5AwaRURw)ged=b62h&_f0Rz+;eR#9g8` z^P<9$(&Ch2*cuQV+P7A|WH3N8?ZOFT;(+xj=FfjlfAv2#PQY!DE_Y{>-#EKne8?<} zrb=J)`ddn^NQE-4xCWKyK%cIY6`cciIWl)c)I+5HkX(JaF`p(|=;c6U(tnE@KrKJm@q`%0iS8NQ5h$9aOwHC`hGx16%q`6EyUyn*A4O?sd=Aasx;r-3W z-Be<$)#LZ}9S?{qZ0GHpJi29S4ZTf9ih^!GV4NuhJWN6rHKX(HJYk(+Yt=B$X6*N_ z#Xyc{{$u?^j&2GCWGuELir4sDnnY>&U?;av*O>jWnM#A~(zADUxj%pZo8v`PLMh>$_9{xw5M~eqsfa&(? zj4Bi`DY-}2d2|YA$@{nuu=}L^fZwr%`v>ELr2j<)rlRA?jy@Iw+sg2pi)2@0s_?aQ zPPvL+g;+>u7bEZNgYkjXlOmddB00v>))}G7gJ+}_xI!P>J;P^TcjgPf`#9G{E=!qc zaUY#%fFVyZ+)mCA{W6qN9wU@Fn6fT&8Lo$vI=P>;O5!;R+YqmJYQuqh>B7#W3@694 zy*G7Qy};cKR!t3Oo)B&&#{e{>$yZ^0t0`V8z3$oa5i&&-}ye^wU){(1SL>Su{o zBj5hJU0pd#e{1yk%=w>e%Sv-I$xePbz0EP6rsoto=;6J#c??TQt&x87QUO3cXd=l6 zT$r6&^b&W;qCju1^?N#=5x5?eEK4mdKtuJ;AtV+QHA-IO8Wx7c-@B$)IGNv9 z{zCCOk<;-v;PbbD4h+nMg@~O2et&p!Y+jsV`w4yDZ!_ngy5c>WTv z)ct%X_*#m&$u_O+Qkf0bz0Y+fxQ5FUY0AB3?E~}4i3iO2m!prJCW=L* z3xFiaI@BmjjR`vxPmcLi^o@<)t+JIGCT$m=qu#_^0|Nu0RKpv1Y+h7yVP+EhHgin% z`d8GW+xT+S5bDO&e|wvMyob|}q~ z((p6VX2Fyv3lA>EenzGvi(e4e!kMtc3ac_YCI61vvSrDR2jJMhH!51QXHdR(}2=pO&_E znxNe808=rSn+gI++2@}JO3K}*YV%#u#x?eey`q?&T{dqvjk#nV@y>XXrOqu~%x+2V zzjVmV^3ZDxu$9f8X>g=E$n(2o%F984B~K|^`9rv1f5GV)_vsz@x^XhsN>}2;xQY z#;7^Kg`5@*L=Uh8>SQp^NJVFS&Qi8TqsH3o+ui?c$O3B+9yW@2G~2 z|2CjK&{0yu>NbIgDYuBztB5;8dPQ!#a0_lw{ z0LDy=SMl5FQQb&@(O&WF?JGm%lewz$P!7&6zU5_TUl$a1Uj*`g9CzYoWhNV(Po}128lm?7|aJ z;o-@R0Uy*HuVq+6K{(7$4%FiAS!}K%r zSj@2@@)*GOD+;CHYA zZj9?GqQ%j@1LZ7&U1U3=Fw;Vyt#+FmQ=eZu)ry01TI6@>71m+3g(7MA818zL$#Oym z*Lv5k{@$}IGxL;`;)3(Do_<@?@(lxiHNv|?!lK&J=-y6x6jw%`n&361rYwl$-rjWy zH2!d=neq)^($|x@N@@vT2cQ0UUfij`$;uyh&FQGgvt4_(1=+0ycTCQE_IDl+8{_q6 z5A<<`_r2hZ9MfuJ8cf`$gNE5@2Am

C3#;b+=_WFUM6hi={V0CE@Kx<#p{kutCN_#{^jPQA4>l0jpKTDY;K|3zKE! zIe(|N#``gpZU{f!i>-NGX8pxKhgEPCAt*Xzpf~)dXWGUO=5hCMD!xBkhaE_cVan!v z-{!uju&zW1tYNO9s%W_=aEqI64&CVW2m#w*2h?b+z#i+rB$-^aCP#j5d_f$x8 z9IF#b>$|SM-uP9qnUFq^*ST$M7!fjHoq8Z?p0;5>HYSGIp~`V!I@o>wY3e6ioaB{U zr+J&(iK{BrIPWzG`UURqfa$s;a-&(3+qgMBq6~`&aEupe)ArBpau2jOSp}8HP1#xZ zmTq)s8rx%Eq?pl8^0uc#SW_EV9F5j%D_jRg3V4xAdrmpvW&2!fRTPic>20!AbzkYb~&*j|DI0%fQ24M<&3MFZA z-W65-l;M;P_T~-z%IV|C`a{O&Vzugd3%4pu|0_GPcZpU#RPYM9_U!S=?%SdE&(=78 zD)?;tVzD?hobzWMeM@5Lib7ZGetbbfBA)jc9Zt2)fX#9zxrVxi*olEJ2d1;L3o&2_ zectd9NYc+x;6&Y-Sm0z8t>h=r50NA{>nuWZ6gw(B7&lUoK52SXS;97T@sXdU8^yZG}JOrxx3%_t{-?RW$~#QYKXn~}jBYt|YX@ovciNC~QYXPDr{*ec7 zg;et0>*Ik|ijY@+IEPuIRo4P%v$s7P2Ph9{RHDN0TC%*#2kngIs^0tB1+KEKy?#mevPt zvZA5!xQoe+HL}HZlCjyi%JD3O!) za4$^%lgc&h#E%soV?<%6+g+nfws#<~nRP~&3ObV*r0+uAm>g{yK0I*n&)QIp_PWxK zx+L7w1L1-A#_tS$M_*6ysK(bu=7I1Sgb|i9fzUo(F58+3!HJu#2V8M4SHa1 zo&L9l{<{J*yNO*TD#IogmiayZB-UY-4eJeR1m6ahOMLos3eYd7H2pav=g4*=ZN>e> zfgQeI{p0HU>7FY|TO3bV`|P-wDy8voGz0eF4KHLYw8e$yo^S4hw?UT1h3CqG!|u4D z_;_+rD#uYNM#(0(R+)3QV#3tUCPIq2>wT9D<9u+GgG_g5_a*Ob-IU*Q2PsyLgIyP%5f}tH9Am%*vVj5Y8KXdew*p3 zIW1eD98}{#+;?e8<;&G?01826!Qc**W;8w^?-q{SUcL_TgP!;(UgjGayM^%R5xH!Y zJw{haHG*x(*pf^*#ek@0_o?cvRuD_i&LOIECg@#iyj|bq@buFc8c9n^425!8f2}&~ zjh2}pddU{0FM{~FXIls6S+of=?5wbh66VnlzZj}v&ip2I^al|ZE{Fdv^c^py-gpS9 zFLvydN|ENREIO1OhdqlyQvQ+kOfDmNV|lTPEU!M6x|De+X)?0QNSnuZ9d7YRoiSwY zB6~|Z5*g)bqu^j7lXVbz8J3?@DkIlrmRn;toY}!;kHViSA0t|e&1*8XyocErehvEu zDU>>zEJkUoF&)iKYwsS3B2A8WZNR;=->-=2~+F+MsfA>5Rb zwV?j^-a%mA$G|~azh2q8XX%3#>wJm6nzC^r=ZSig8tMsC=%5HRdQGE^$(?G?aAh5l zC-t>6e_U}UXXF+*%((p^7@0y9EKYSto-{|*L__-dB9O4xmaF(4G^#%hU(l(*Xsj(u zo--h2+`u?^!ucuXniI4#_TV~nM9}+*2klE@hq>zz?oq#aE2w0bC;iQ(z7t&UN?rGk zi}$pt{H%IoK~q2{(xmimg7LvSrkKl&4$LJ;dfZ(7Ud?RPZ|B2jViLNfBq17Hr;2SM zoRfM6Y`v8>n+KS}siQQ{J5wUU^~mgp>!q;OYi%npH4DNp9lm~8{)MH0%$5tAyWrqA z7)MiO!lzK4n`xEtO!#0-?YnljtbCGM#+%iT=bH&q(I>hiQ$3^z{5#=U> z*>ux3)Z*4QdQhT9Vt!^4#*FT(}C42;e%3Nv3ATyhc5`s6 zu2MKNydQ57v71@YE96`$YKcE#h=hz)vt1M1xQ6kNpmkgo@pbyiLVKPw%%v^@B8%OZ z_j{C0KnEMi7mQ%Wc)sE-0T;;dzb)(}&vUBu1w7bPmf>P?j%zfF0J1L|i}~gCT%S}? zks1xNWHe~RV8Z4uV6uL5>m~29OH=gUS^wPI^El4YQ`6((jxXlOB;r+IWfK8^zu^=) z3e-gBgt#=pf6V6^J!*{pm?15HfmExwx&^KPVUkPdeP;hKZ{(mZ@N9)HP!|Q3scnuY zc#^5_hBqXsn!Ior1&)NpO(4Kd+G}$`I&54l;qzu;l(H^&PB7^Tu!&*mWA< z7#etadHEeju|!WM3#$`x_a7zO^{-O2Q8MD@7Om=43^iLyaCbXQ1Y9gTEozndERmK``KkSS`mvS@nqpk!Trv2gvEWIF!D8zADGKtm0CJfRejKoK2hu1~F_d2?qK zb#krb=Hv9*eyGaQX#ci%=%WSGs85j+yyfz@30iL>;oASexcqvh6L$&X1&W%jz(W;5>#u60RUmr0!Q(h!8xmq!qjOfWv#7(m$5@8> zg~h7|rE$+|!~Am zwTm3S-1e6F{cdB-S%CW?0y%FPKR#S!>znoWR5Ur8rO9#|x} z?m_Iul#>WJ%=F`V;=ZsQyqh}&Q6+7Ke>0)uSS{D{TZk##5NjU`SLN5{`SdNiwjTMW z@yBikT9PiL+Xb@F0zEK)qAYg|4dXPGsWgYO_A%kuXiEF(@o)%3++c+Z+BFHcg;@g+0UscLWC^r&yfY*j_?l?M3AL&bf|C29{b^9M*>B=W-pp;uHNLkZX$xC z)m<=G#C6mk?vhnMe(UyXi!pEd)E}z?^8-;Ae@a$_go^XpiDI<%Z62bB zJ4Juw1a2a(yuii#qsCF`JTlb*mQ6782+a&>^7y5HTZVM11poyD3L$)U9 zxX!r_zFAOCk|YBVX#lD^5Udx;@*`&Rp$`)VfNLI`5W9#i?X>!X>Pw}eeYbmMF*-%K zq&b5t2bj*?i)?GX==hLI!Z^bCcv)=L`RxRC>mF5}IDNx{1v6_PL1&UfsG8yVQ zbtLaFu_Udjah)bhe=z25EsfS7xs$g=(RQyVIDt?*`#WGc#l34MA_99{5L(PD?9|*2 z*q8G&>^H|oMK7tSdDl@Ueed!(YiNzO>F0hf+*9VLXAC|W(uq>$g2UC)iJd}L>5!)oIIqeV&s(nWlPU(; zl1&L0MvpN*Zg|$;MKfxgowp>;@S&?_`3$l#6%!hy0nl%fk98 zD^{MzBdh7?J$>;FnLP%y5E&juoK)$otfCidhSaQY7>gNduv{d9G#-oy7bcH^k_1i1 z+L)=KD&4)+>~%Zy?OulN>y?Z*wsx$lu;oh2;V+Zn&}&K2YX1WSOZl_t z_6;`nG||T4MA`oHmyn2v*c)FJkjdi>sPsu0VR6cCtRKAR)L$35cpnsIFxF?LlHp8i z?`!y3W;$uy36phgjZs?76RBuE>q|DI%3ZwlY1WlGyhq3J!i2OONxz^D8c_PU|8tqj zJ1p7jma}SyAFq>W9=p(cuZC2vfyOgCv+8y4f(L%@r@RMw8-fL}Ef>wFqmU5BMVyvK zB(iGcVTN{;%RtY}# z%}zMYwo4|fy9wbM1C6jJ3U(gYnXjI~=tzp$8&PXH%2dPaz9{3!X%*UOdV>XH?qaFR z(aR|Wd7(u16Y(o6Bbx8ttM}lvE0>QSKVDuR-Gg&!+I)8Q@y2;cLC}Z|!+)wxS)(!G zGSUszl>4}Ep*D)=;dvyv=Ed`u=gT|zL@tD6d{jI<+P=sLH!Uk|(q}wf8N8MNGzBO8^ZX-?mD&#LrSn$Lkre^@RFQAF zMO0}lNnfIa^1dhx2HGMAdYL60t@Bt^KNf+UuCUcBd80hF5%8%zhM8aww6NE4D=mV1 zWhC$)#HUmFe(#jV@E)@5t#t=C0Sy%Uj4&oeE^C{oUl(Y_ zIvHv(u8}XtODVrw@0bcKDdkJYac)_zip}S>|wv-r9wqg#yl9gIcD6-^9m(bJF@DOsj+0M!wjBShG)BT%R!<{XkUZ?Apq=`rmQ<7tkLDfW=Nqj{0nWowtv{jOwc zHJbr{)&-?kU(kq<(18-T*wwU8F8xZ?=?B=L`B2yE8AH)Gpo=pS)J;dYL1^2iD#ucG zV~jqvhN8t$yaU>CDe+zyo61q~fpuVqmYl;M2=E3v*aMU)p?5z~&*7IWTBoOo@*i+f ze|hP7`Zr%oRlm zxBPt2VxHrdVkT@pC!LFIsN;#O{vDXFJLLMIf-={i=V=?4usPD}XCDYO-=X+jef~ zZ5|T5a_YAeGa7>x;N-yBBXE_O{4PQ{;r%+&gRLQHx58<0X_`F1eQ~T5gc{QLf(+?1 z2wA)J1ZxM%&94bzomkp}yPs6ekAEi;pIF%VpH>Mj$6} zB?oT#RlcisXS;K7-yejI(iCYM+I2(2OnT?sx@9G_WTW z4kH^jd+%Ncxp(hep1yoTbi}%gpjzoY^t#&y!ez`Ao5E4?ZPnqO#e`p^Zr`BaXPn-Q zEZbf`(<5_53A2*d`nX^fuEQfdZK<3f))CxVu(UB~v+%JbL68QNcOW7%DEAmQ7i>_t zYFK5NdkTQr-&b>1DIl=EGP#OU+V3AfJ!v?o!fHZu0dCLAQ@EVS<^ag(GQ*qk(n{j5 z|M6aXKNVuSHI`I!>C|FlWd(P9Ot$Q5FG(NQsPqeY;m6NeYvo1I2BVs4uu^Z~;ZX;k z4d5C6eUWCz*H?OXp&EWx6K{~S=XcFz$GKA7$wQOx38mc6+b^X6<}`^lj=`WHh&WP@`(^IJf6!eA>T6?r9#?E3WjqZI z+hWUfNqq#10CCPyHbYl7K&<(`{~M6|u`S`8y+F;ceCzf;viW3S(=qEr0 z(b)c*zQ4I!pAuK{E*v!A;I$n93iv%+am+mjc$HqeoZV)^{gF%YFw5V?SA5PwDas!j zjW%j?IOE4MTs+x1tbYjq-furxt^;4XVoX~1(|1DBrh>)2nn2cdhd;1l6CT8_1a4jC zXl|`t9P4KX8V7OfjNTg8dR%Mq-BL0UQ}6AreBoumQ{~vfPO+JISGWD8K(&f_#;k_C zYw~i@NY0|-L|mMA_1Y9EHlIuX#dTw{65RuB826QCOU|VnBve^KUqk=kLokk2{i{5F zK8RL?pJL0g_iOwcWoLaU6UnQP)tvOO)w9)7jcyCtyp!YOWmfYy*^g;Hwx6!eTPnKU z-cYFuiAPL8@z>eU@NcuVoRVDlh?bT;e0{yRW^7@1=PXumjG)mim!@q{wGTkq_#gN$ z^dd-%xI}@Uy#@NLu+^MX%q^v1&QCd=?;mnOB<@s`wLZIS7gspb@$xzm{BnvtyxmgW zQcFs$)71F>=1AeO^Tdt9P9mdMpwT?_A4Id@h8%%~dv}JC6zyBtU9vHm`cMcGukA08 zT=O^NFN7Pl?F?>v>5HFMA~I^YQSQQ1eIHU92%d-WKG(mAkk}2T%?;^b4bH^F+U8z@ z9DQ3b>^e#x84w<9Llgf_mS5X)(m-1XZ{?V?dQRwf;B84WbfB8TU(&+pyh@>XXm)72 z3uiqsnCiKR&F8sn&t*Kcboon5(Plt}$mB38&dtu+j{z}#hTlrevv{_HmzPz*^>aI$ zk2P5ocW>N)cVX*OA#hj^$TKRR{Jje!#sE0(y$;~(L>f?-JMURB$2pu35BKcE-!M98 zmroa_Uc3t7#n~WK z`y9(C;16$PwAlVlJWFGekjrlM!|5)9g=#JG-podp+yx!D>^r6`?#RG~*5pa1%Vhvs z6cHUwC2Peo@=&F?iV9))fJv%SFvQn>hc_|c%}xVZOHcM z;BfnTmB$nN695!>&cu$Adz)rQkgqRI@Z4baORos8jY}9u{nqr<(!%WLFyKMMnAL>s z_gkC(1qP6`S6*VW(cpD%9;>DlIeu8*p}6Ma-9#I<=i{jcS}?Lkf}^^Ewo{ z+s97+LWKF|e-(EmrVSXYH~6hKz*(araJc=<@{7H&@ZZeWTZ zhNYsCKyr>|Ml3O#4W0&L?3KD^zjV44;9->JK>2zAYgCNb{>GXtUxZ~wSqGon(vWrF zSPiZ>bGFI77Q(_u#o38DBh3o?)$jx_uD>B4nzQ~=kx1r9LtoV`_EdGW7P=r2 zsgySg=N?taDWTu~UI6GB^*cN;(Mz;(KSH_bIdIq>GtJC0=ZNYcv0Mq8Ve?Apuxapv zup7DYq??|B_CMaHKt&=c3U|jqO?B-m|R5YGN){u&yVWZ|l7rab6VoydR~+cRl32RbxLN4EL70p*T?9 z=0*0lDT|I8^PDISpSaFB7j3=X5I#<9M(^jti5h_!+BBhK>H}*kfwZH;Qj{ODrs-kc zybBhA?srh4tUI+K8;FRH9|}jyEy%z^L{nSI;vO9|Jo%1RYy^lPT%c=XF+7WWj8J~N zaNA#@%P}_gm>P=Tm1bZI_oEBR(wC*HFD4b1{-}JG2*D@j6823j$>o^Qo<%UeCQp!j zY5&bKN|5c-n|znl9M=94$@%@{jf6=fI#!Fx6N28Vwt;dwvZ~R@Q2;+l_LP9q;Gwvu zP*^M%T-Ge4W0yDMot|d->qx;);L4tSL=J;@M4~iGn*tahL$ze=L7p~^im%uh_0|sI zt&{wxgg_F1zN?VAjx3{-k_0mk~tR{%E5ebwo_(Tq=!eS&Av!9uoz~H%b zPKD1KuE4Fn!y7*=0FdUWUac847vs~;wW3@TISO9b?>=EeQaWg_jUHP-cgc8UDkVib zjx{;H`VLwvUbd$o`ftg)w!#{QKQ0snNkAt6St*rUIaU}-1KjQLGBvWpym@y=U(ns2+Eoe0&WxdCg=E~L8^+;)&U{fs& zycg=@r^kv1V++ejkBAGUiFd<%9_dlX!dUt@!z`YM7vpo_1(qj3IlYewDO z+m5Xd#knQJLn%|=KZNb#K~Kaqu*Ler{`&#Ej=K+|w?^}7O?;F5OHu$`9dH^x8!)vb zii($gnXP3CZLfOTKsaU|dzt%Ukd-l(i!6e^6xU5HF&JyAnmvrq4jwc(i_I+d1D&|c zA

g(*qH|$Urn>F-UPu-FE7els_(5a@wj6!wln~li)b_*w9bfY!c2cc z2aQm>aMLKQp8hJhC2=GvGId5T@*c~JI?r~&AZrsI$f9IA_AM3d+O)-Q`}cNyNp1rF zB0maq9`$>)`746S&)|PN($%E~sNJSkIsJY}w6(n5s6zZDpP+&VL^Ev>7HaZ5)6GL3 z)OGSC)7u)eHD%WZ7CzHOWf{e-CA}jX3ieU8+~Pysl(i$G(aqOXJ_B`+P4EYRP6ad& zNt)S5P_~$5b_Z@mE)!%1U2yiRuI8U@%VX&lp9-#nuY=E!&oH42j|oY^0=7++IJXqa#V2lMI>CIsbZ7Qs-U+f#G@6h;sWkb~eK~nU z>A=KYKo;*0xgA1TX~HL&27Kwpk=_>o7v;K*9Th)P$VCZlYI+tTA9DuSCa3|p<`Vi6 zrhP#{{*{P8dG}K11$l}L*X+V2$kT6T)Zj?4hIHoN80;GLM^v@?Z*iy<_`ZSME(wN3 zc+N&F0=>T=mb|VF*MLI;_fi80NRq}H^L;xK2CR%)GL|wPupFgltFq8`!a3@feYY!=6eOLGYIrm2OS_90HZ1v=8)%YV)A7=G z9<06ty>+tv^ogfa68d$?8F#$W07_6}m$Zo{%u%6bl|+-(l~cL~Se`@cEhT!XQVe04 zV(KM}cU3w5|HPud&^B|}zr?L`9xG=HQsm!<;poCNzOBnb=;M?WC;#m0;8oO4_&-m$T{4%!KnLyHT;K4@Kw-qCm&3lW(n;Dv$O#yMi?Ig3X5NJKiwymgwaU4<6wMY-^3jkXqXa{M3A4U1=IJf7 z`*^T>*(XvHI>XBhTp2=MjuCQ@1`V#z-Nwc6en33^C6MaCF@&^t8s}lVY|rO``u<-i z%dDjMW$>ZuHhilbw9*fD!ZUvXVbbq-VR^KNTe>ON?nUu$XXfvR*ls__9(ro#gP*Ip z6JTW|_GuP3su{+D3zG(@`TV9|4M?wKv^yY~p^g>MvPt?fqm8n%ux5Jf$1XePCH_Br zop(6fZTtW4>d=#%x}R6bv0dTZy$e@C z>gV+I_2Je46ASvkYYAhUkua;$-#8Y7IAEWmRtv5e=TLk=Y1`P-4ploV5u7lve7fQ0 z#R`)EQ!C~Nu>qXilnu4R+blr=r8FKSmTv1R1rQOx7`N{W+0dLn$SJ#> z#Z5yQiDgv&{bb&C@ce(Cj8hq`i~j|86v=za<*^v*FG9G41_xEWs*e7}VaZ22;_x#H zstoQwAgP5~RiG8F+tz0T4l^BB=4FpzV9|%^c>7yPDx(cuCyIY+c9(>hQ}9&u=)qsg z9ua&6OSTs|C?dPXT?MJMAAkGZ4?rx1F4;<0O--pB*h(C|*rA*lr=Q=PcSQ@lkhhD{ z&b;*ZQ1K4E=m^nkiKnGA|MwFK{q-fuc7A|GnVqb6ne!uaivREx4Q@BP&s;^Be=R86 zzT@X#71!Ykd*{X{3#8=6+|m4+>YhCwKNCGX02Nb7m>Rmjp)SLU>5;*;whm#$bz0s= zjP?&1y5f=Fn}UKVLZtV-fqRqb_en^X@Km1?{N_@1E-sa)g_ftf8V){~tiWLH+X(QJ?AD^~q)K&+Y)u-&e zz;C|^s6Re(?2@flW`C?YMNw777)EM*{m9zS{<%MHzGx&n{1lJ!^j<2D@0FNN;Yb)} zN@B{oo=4RUO6UR^%so_zbH5DY(9*qI_(F&x$lS1>vv{15o~Pp!>2bw>S9xm`K@ic*-e(A^=v^N+VuA4!b7bE%x6uS4-R@eyS=Vx&mF zx@pu(gO?p0Suatl)BidV{#SMCwr^ojrD%kD^ zg}mjC#T4+7v=)E%JEbO%yD>?eDtJ6>tE`wV&(D1xzU=+K+w}ixOw&02COz^uT%&vN zr&Ir!Y3Kdzw7U4OuGCk+_U)-2BE_7Nbq{8RI-(RAa;a0Nd;b3&Q}`DoN0|*Uy_2aU zqyO5|l+jc+Gdr7;H~G?Ex0-ug_uUTe?0P;xO9o6Ug@o9h6U(GN|3>y~v_RZ4ec0J< zsT^gSmW#mO1V01z^%uO@t!ENh2FIeG7Yns#Pbpy=(p!&HVg1s+2*&W*JzfQ=zXfHb z)G0M87eH_s*-!zrm=xks!)Q`YXslisH`p@DS=2uy#J%mY{d8 zM$|msmGYy9|N9vJ^P`h=A3cS7yqf!dt<|0Aj(AC|SQPO%6aiuN-V+<;osqDa(2rvm zcSfo9YyN^O&wO-$O!cF_BfiDuyyT_VWm?u?hIWIN6jinM>FvQwV*YW+=L6=g>ke(( zb6yv~BAI8UhojZEFN3uoy%dKhnXY&Jozf-IkUg5K_`{rXPFJ0Lr@)R&H*$Y(sBud= zGr+i`f28ZU(j>BAfEuN8x-hxRkxuE{PPIK!qRHu5_vf!r-vkh`&mPMp~b z@>E=A#~pFfIn|)_hL{YKFJ$K0qmK3AvhNEoRhAR^`F!1^Qtq#5@ycp1#w>|x*f6wn zSH{pT$TD=Rs*BIW9%|_uxv1+T{-CHv3?BrNBTCaCOiEfdnM0Ib+{gNP!@rnx%6=Qa z5kFn1sq&4vePONz7Ci!Jd~vwKB;D3XYm;n>+&6;j=ra(6JuS7rfd+y zM_N^_T{XUP*?uj1A})`rGoik#IB{id5B~+**~|k?e^1Zy!xbt z?yz#{$gra`WH=D9>|yf}c$M_7USp`O&!Ui;lxnt{*zuA}%dudMa&2Y&I6tyrkZO7% zy-kEV_36>lfh~8AEcYv0wW@OtU);9tSZNJ~27L^QwpyXw_R8=}%J`--F!Tnl*%QQ_ zbJISxadz!vS~9xs7C@YTIJws;HUE?%OfJza{EfpVEFz3zP@Rdn&e4>n?bPGLy!>as z9LcdQ=!AVz5N3OLx;;`9_uo6bRHjIqaTulkakvcjAYh>d3?tlvEv*-wG-(z$Tt4e$ z3ysF8_VzAblJJQc7{ao z^GIu(on_N#1qTscV(aPCVF_~fH_AwBuh;;!)R*O|Rge(u(}6nv3s*QppDFNdcO>iw zG&BKF*RtVjRMA+27#7qd$GdTf1ryt&YLk~c-}o2XM2y7sZ%jgKj3W*YreeSGq}XzU ziZ@<|oz{zhNwo2WpnTT*bGtH>8fAI+hjQP0yR6)|Js`P+Ineb4+TFBph|?cYO6U7( z(;lOdjQ48_H{Khm4N3rDcykO5o*y2>XBa7onn%mAcu8YIPj^7I!*B|_^iU)$jN;l+ ziuobe0D<3-*~R&*`I?#*U9jt9_8{hw*-Mkj+3ZLZH;HRI zD}el%R^IsmQ6jR197I^ap8r6M8a|A?a2Du}ftyFZ1-{YN%t8p`f@!NP!A#{aD0@)s zjc5*q3tueT1B`3IuKb0jHcN-1uc5gYJ(->9TGnqhHt10N9Jk(4qtP>5#YM&PUvxhv zl;w}b_ituj>)X@d)*o>uYeQ%Sb6MTmFE@S!Hv|oVCKumZu{Y6O*wMTld0W;$&Ums>==yUk9cAevoA*G4#-aGAndkdhwZ-BS zscXEnoZ;K{8Ij_;S#J^%agX6dcH_fl9!qRuQY6BAdkSnYvxKV~x$(#qeCuUb#jnn0G3+?xJNnNNfs?|JiPN zOr_&9z7t5ud~6JHm+mkR{_8@d1B0UKL(dw?OUj>>voXud%d-?!5+iSXVR$uh%TD$= zbM~iYWV2P|e~XeOp=+6kJh4*%s?<~N*-<|7mobdSndX#9_@^wToMsJg4^lR&e|aYb zVR+KJv*K*7eu{6oL+LropKO%e%h2A@`U@%&V=?&ItbXJ zaD0?htNHtD_L-4FiuxQoyOo0wC;O$OQbYi*RQZJ+#|1V|MIQFyn>UDlTJqrAQ(vz? z#+5#-u*m})a6~!@vt!HpI?hY$cC3=m-#hVDh*A`I?1HqA*B|adsfl=6(K6-dmsPLRnM>JuD*WHQBOaQ1*jU5j{W1zR37I8 z`>Jf(YCFT)O!o6vuSlG&D2Xx{lNE7ambl^%&XzMU=HufdNkQMp`)4F=_TVu2SW7|Km2sbYOM}Gd;Ur2BNAr%=>Iexo; z`l@o!Jta`$y2aChJD9Xlr?Gl0G&pP=m4Qw|d`r9^pMP}(Yl5yX?tW%w@LBJP2dJ%X zamFbB?ZQ!&2x%OS2!+E~@J;m{dDZQa=#K(r2&RLFY7vY~@NH8fF`jp8m5csmUj%X1 zZLfF!(9o25J{Wf-$Uz#$iIT{&WvV~lEb2UhZ^nM}c3Cf~^WD;|azmN>SZ#k6bDlAL zyJ3ZX3F7^-(FC`dBEj23;dLzHS>9e<8_|rq@5^>scuDtLm2h>4q~)ynl?XTjIIqh;fPa| zV+^*Ocg&o*5_+~pG4KiWLyf1^lg1QX!3QBS+yxo}iER1G56`#J8YFP^Xnss|VEd#l z#dv5Zw+Qh_bKpL~42vpt+bDMTdt8hfu&)m?%EZ5t+pXewE;al@*TNN3rT`-C07#oS|quM&wZUG>MZ}XGrb7h)kNpc z*pV+8PG`Vz(x8maSH%Xcd%Cy0iLaJIl3qB&^Aqf z?qO}`YRhQLeqBOciZ_}sTFHT}tO>?a58`v~97vJ{E zdvjzVODsg0bGo}cO~Yk^UruLO?6gTv z{#IG~o=3J9#Lz|l6%E<5GXcgRnGx*XvG^Z13Ebtt=UI8Cmi8IT`th%1Z>C00K8f~Z zg8cTYBY(YsF$PBLTd49s_`|$t{L(!gPZ&u)Er=;5;%`A%O!20fcc|M%Yd*T&Ynxn+ zd~Gv-?9|&t6hHCu!lMqyPpmoV>RNP6 zv8_fYo??CSE9xKz_G|U+uUunpK)(bL<-EP>c;kwnHIabRq*m%JBGGWdz$7L_s7Yiq zT5}6Eo*h{-Avqc=F!Kz;2!J%$bgPyS+_+{=A8$*FAOui3)Zx_Y~L*wThtDYl5IYi%!RPQHI$~puXt&!IIC@Cg4a54 z__tjp9tj7x=QAX9dztHBT+=Qd`$D9J{(ZPAE^2*n)|l>!9tp&Pbd75OtT&Zeb;RvkRKq`c1%! z|D;nlBs++q+04C@i>Z1ATKhe4==P$l>$f_?9uRkGs-5_c7&ALLW%hJ02TWu5xob=T zXW!oI@eBUk?O{y4g8n=jUBxE1VxzEXEL1+{^GcO`&J~6b4Y&JDMOguE(XSZTrKaNl$_| zR^<5mv)J0==AW$>xHD%>OrnAn35~pG5_LvcCTr-D6k=QETBz7$!7}yB4LDlpdU$Ss z?bQPIO<1#8!_DBVBLQX>^xQ;6&;an4`krHAWbE0Fg`KMKgphWmZf{Ezu+)9zo#^UQ z$OTFT9~*&o#lCYVA-Uk%)COaajvGdshl(!uz3ezDrQz!k4RdN#WZK52kUGq!KLd7XqGVSE^QH<$?NYY&A`eXTo`@RSmj~r z6TT~B1_oWf3{kreAK_z!=M*Uc=JH&-m{}(U5h!3_QA-5ROO7 zYErVGm;Z=duuJi$lU=8?DgQ82OC3*@L}VRc|AG?!pa~RuaGz@4@Y(@ShG50TN45D| z##J|0DU1e1S;?_#n1>);0;Zez%p$uCUzvSEermPV?V>CbO6m%^u&%zuc*Zo5R>#ZA zr2a?VAT-qWbS0@iGQG)6PvT)5;ii%XH(ttBrNtNL>T#yLv*44}7Q@dA!PC%@3LjoQf9}*x-bCef8s38BzVs1%@7GKyJxgx~S9zYxc4nBe8hcEcETu0S zjHu~YJ1VC>SEJA>SMuWNI~O(D$Nig4Zfyh2tD94=(8uk*hZS`bGwvd>fJRUDkhEpN zU`kN_@k{FC7>?LY^ZJ)Rt;#G)Avv#%%AE3geYb1!)F%h!N%U2mdIgj@Lt#n7iK)-i zW}VL55|@@~@#Xa$z?#kX&LLom=f^D(RJN4Ipk^N>Xg{A;sr%Q@i%u3!Z~p4u8LxFU zH@(%p*c>2UKGUrZT*=k{&8zqeOJ;G0e)yMxWTBePXl1IdG`Z--_fPNY>e=qypODEs zS$V3fOwVhdZuSRfPT{)KgLclCa?qCQUU%U{t59IOD#_@o8c;|YH*VIfUjCmofv@;+ zq{=5wiR!VJk<^KF!R!fg9MgJ|oblw)Sl_mz81I4%5S31bh@zkdJM%*i|2}@t?G{bp zh)!)<=;JtW=HOV6QJw#~>h+{H$d1naJfM~RRzSDu4D;f((UgQc+MiI4eckJCcCdqz zz!~P5Bc!yo{;coxaS~(2CMIB-d2V@is7l;B+4<26_6yRi=9dArOuv{Ws+(Mzj0?P7 zJP@&0($j;yJiG(crlDRyy_GdqR3)HSC10b<1($^+@%wnWIGg6(&!0?SZX)ILe$?1w z`1YFO&onxNjoMrb%-12qeGbdeS*hEhN7`?7&j;WCrSVieb4g-XEF(J`hf}_TsC>ap zpD-ZB7)cuIvOCIW6U%gWIq9ujEph%M_1?dHu=&)F0{LQn%zj7>`X;O+Oj)HR!J3;- zW1sYCo*FQIo&BroC*IjAA1O+&_JM6+W!!zlLT5I!=j?Msk_hS%d;q#_=+s-!{=}&fO z`8w9P5ysno8EY-oAS=yWSL*H`TfEybKOkZhp@LT0;e+e*SQm;CXxy-=vWG)TW4%#5 z`X=?gr5WD*Q7l5%dyKVDJ^_*8f~JtKAS3p084H)?vYClxx`Tv{`l&P%gdlHOAqeF@ z+b)DGqt{_W(kF2WHxowzKb#Oc24YRI#ryba!+4lQiT-5l48hjcqqNv3wRpTNN-k;2 z=^^lZc0;8Gux9+BlJW(YZEZCxl^hl8)Yvu&dIm%wzdGOUZH#SI52k>tIhu`Y;_(jz zL8yn=NXrjhhN*Ax?DdMZ?iqDjoT`E|DK_5<){CDK=vVS zHouPOn^OzvR1)ov1&lwX{1I|oXo49~?_cw`F66-b&q?xYP#sgGuBXI7)h*Uxi873E z&`D6^_KG}laT1;0SSsDEaL>$}CHltT&EgeUlp!+hp&#e<8l@#Z_tV+Bh4|F?37zzB z!h}zjR>|p$8cw%xTDjXDppbO#D4;4k=kzC;6)S&LJJnD9P0xv&5)`nOox+^=C$WMg zF8gI)m9d@JM0l34c3age8Q|0%{>d3&VEvCH8|eM$Si|~jHboJv7^$OZgi>L@D-F%b z-P1CI;xPB|nCbfpcrCL1Ca0vI3QqBY(R~2ib!Dun@DY8dl_#dc3Q6u7tNmHP6$u~`y*Ymv~_L&1~ink_#!gI01rqUU!Tzz#u)N2xkrKH)_u zT_0rTm9K91y7D<6)Re-YbP1)R(xk)+NmNjB4^C&jVo+?;H6=~6B>WI^R+pgI&Tb$_spvLmY!3H8R0NwKnKr~0Jm_J2ym+U;};z$lTYmx zAIB8nt^61Ar*q`NjzT7OlUrEz!~FVxDlIVqq6YEfdx(dC;2z%L18#)c&`fYk<2T*6 za~ozPSDOhjjqic}gx%48nDV4Bewe!ybL;PdRMdN*h1ynVXicw{ZCaij#3^Cj zCb_%CMtXXGft0GcGyk$wI=f)yY6(7PYL;N)N>*J%4bo8u7Wi%j0Sj@?b%y;*vi*q@Vl>d$$mj0QNia{-~(wWOcI6|i0JMOA5 z$kFZ==(0dT$Dkh12h%xEo>o;vNAqX^t#(s8;z$s|RRiCO-Q^J~>TjoG@hS|LGE$j< zh1$y>RjG`mhV7?eR_RZ4kaz)&IRl(=q*AXx-EMMe+tA(OAFl?j8=F4z6KAB`QGV>j z{Pnpzneh3r-c0vb{bTN8J-1R_ysS z3s<#!yRt-axrD59;_EGht&5#rn)V8%V5=sdpe?!0;H_)&O@GtagySE$oZTn4VQ1L( z%e)vbSDM`UfHgOdE&xl?+%> zRXTX&{ZO1g@(|ZnCwWY6royr*uveT=$LE&KRn&dyHC{u``SLiyW>!wa1B$H$dh~a&(%(&H9u^+6&Ua!z>`ywJj;*fob^`kE&hrl0q`xCj>;Q^K{%A20y1m|P zV_Oguj;-$H-x_cwM@D6Z4m4@E0aFyQR1uSRSZ;jR8dbR1)G}C(+Es%^1-%T~9rp)#)`BZwE zw4c-6;CK#S@(+G*IeTz%#dYnC^32q2{sZ~_(RBQLML(7lx!%MW7rgG2vNxxvNaq1z zp6@)5v$j`tAx_>O(Eq*Ed~cFvg70|Stu!2zwTYjQ*tIhEl}Dsljb4s5p8x&}IOC=? z`64P?7!~%FeUJ}47SP>TlTz`OjlQvBG>P5GRXTp*Kvw6_e)(_seG))BAoy@hRo>Vj zRI2n~Zn2%yW~FP!H`s~kxohE1Lb~@N+SR$OtzjjH+Y?2=gB@@|YbfmiVMCm*T-Nud z$%q5K(^W-~0#oA1W@F-a|E!%}JL%U%Z^5gR$}tr_6t<;YPbu=p*(qNszbu)zh&vRS zMm~P#<2%9BK#h*#Z-^&xNgVtNkh(2gsI$C-{s$jscqFRVk_9nAl1bUV13nosD-q~# z%?g@hU0X#hbIOVx`fY&Lb<$ns3!66rU=aY$Lq-d;Jv#E?*4f(qb$Hvc!nN4O1x&+s z3}6$%Y5C%f(aDaC9dRqb*KS`Y4rv4yVI4>LOLH90ILn_9E!|IMpo@^;l6|k;ea{Kp z*s`$Aad}otsOxoU3eou0V!2W}Y|;6N1v#2}+C6Xkf0wNDQTCL4p;pX-*5aBgz;%A0 z-v`}5nx_vwWWRL#e?{iKJv&S_(ryBEiMgW^{zWrcXuDIdPS!>Gg0y=iV@y|fchlGY zOWNlm^?6xt8b8r%`dZn7yJ&s8NZa76<+Eq=ycWwVssM$pS%K~$?5%u8-@EgDp_oSL z?%OxIol*)6A?YuddGthQc>D@y2V({PfI8RWe;ee>k^l5}|1DC=Z%2O)S7`*H4W>`X z?zMzj%|V{<>ss=iI!$7`8|Q-X zNZw7?q@>W2=Y!Ul*9<}7^CCUo`!erZ;~d#lRRSa&T{o|%U%(%|ri1OxsEO|ExGwS| zd{hrQ#@+Yn$?v(!Ynf0oWw(^FB3%o`jI^KTn?|5@Q8WH#SXywVwt?%FxTvM7V3>Z(92eg|R-V@_hf4RnX;dJi8fTCM<oxuO<()nq?Ca>MR`;wO}&w1ug_cCOEo%w7OqjySYl&r5M1=Q7soYb+HxCKkK3%C>%N znzuC*50Zs>A+M}v>xaeck|QnUWms8LuFSZTKNWAcyEje87CCJVn{ui`8RLF_<+Xey zs*9JQLmiDJ-I$VV@u0;|!oae+3&g}3d(C3+oT7Dgvx)6EUyps}rRa&U_RWntds_Sr zT~!@jGmx^6z+v}=jUJBZY;R|6oy>e=6}vKtZ46kf+|Wap;R&x${pUAJ5`!l!LNu${ZS6gnCf1B1#*-Nnsz4f*|#hv@j$&iPCN zBPF-8O%%Zv`uGF$Q9{hdU0JQgPwvNd>Jzjk`HVm3pq0Q2g391-UF%e8WlM$$fzWUF zNkv_Jx)N1dl*vD1mJUD5WA1)G5xDG%l?8)NNd#}P`6NiI;6GjSf949JS#Yvm>z+Y=}v_=;D<+VFI-6GAU@QKb*WCatd zH^!*WaRi;#5-D}pH3*Ls#!xR_c9eQ<^IS_DrHuSRSRU8Q`FBe0Y3?Z9JoD;6j>@AO zfXY-P>X|!loijiE`q};0OXHh`?O7&j-1heV38`&Y%kMsOek5j8F;wAv>uO`{(wQKn ze-h?gtgqmi_K&X*9?57p`Ea@@^fflpQ>Nf3p|3Nes3;AGyFC*Z|quosJ-IJF)t2)0*USKaZWg?+p zoqc#zGriB}Uzv<*JcIqgYr==!N-_6c-j;rIhQ(%TM0~mn&9|3Lys~lsDA<=+QFquf z(EJ@#+h4m5i{p>OuCnl(d5?+LlG@uR+}p2Ke-PC9Le3nX3OeuWbiT_6r=p~);A9cqxo>P^zG60tRh*LXZ5GE(YLzH zUX12FHm;qf!gy8`Orx+FnQ=}n6U*O@g2`{&s>pO zx9@%tK5$rPWSr&JvnPHxySj+8tTDd=zuR3x+MgVR>K2Es;aumdq+n8!J9K3S8Y9Kq z{X^9mF~PGt30^vV0%{JKqEH7P1DBcyn$BlJ63$uj6;DHcHAlUoGQ>P^%J*E6WY>7j z(BFd?9g>*qeP6KsWGH31%6VnJChL>;Bk}Gz$*cpPD=Cd6fuUE22B1m|AXJyPR$Po&F(CvJ#2WZ zuHp`l?@^OTZAXR2QeYb3Lz_fk3rxT?@-@ytrQZ;xdT<=y} z$+`&GsntENw7c;hGvks3*{!O~)$Q`Gc5d)J`*^D(32L)p0K5>mKPh2mSM6auZ- z=G_Ui<&9;j0Hq+2t0OT$+7+jJuD*ROE4(IO1JAoCV&bwkw7FGt))M@DUyU`&_+?VK z6}ay9PM!?><=@P=`YF1J{_CS~BTqAnrv3A1A4i(Miear4nl zvhPr@u_L~^WSQ0N4vwY2n)W(v`&DCgsgk?XwLVam z4eeUP#LABK(Qm~Jsfmc5NB;7k_8PZG>fa{VyH8OJ1@PaCUeIfu=N@!-cPmT+Dbf=-0VVI775hy*hDn@FT`>Z$ z-sA6O$^_6$52x=JS6Y-eR$JM%{XVLNjVPMV6BX*cQ<(nwUioRh|odTEF0@mAOM3Wux`dv2m*DYLB`3^QeS`A(?m} zT;0#%Qq=G_q~Gx}XXD#s-6JE~&JTL6GH;*Piy7%?ID{zoaC%?y#(}BS>Yct>x!$n=!KC-*p>*oWdXXyk&(wl6U&xf)T9)n!}ONPB$$I zUM`}C+_?buyC3yI^QlS1eL=NIr|twf-Y$`o$mH$zs)&{;A-o>$S1$Mvv#krF3l3I31FJ8Ia|g$_(dj_zBt zNRE8opeZ%CddA9qoJxrQTKU4rDEqMZ8SLs}0r7@73(%cv&PG0PM0jgdNod=rsJ!1~ zrrS&wGkYmO^+d6KmcO9`u2y!1QK7Bx+jePRh5qvVWmfwAgg?vZhM?Qg)$DQX-aQ+uc)#3aD?|T&}&N3 z{NxIf7kl_D#c!OEb%d1VwUh4YP2jk`4jhX{(ht!Nx{5n zLP#Sh3a<$hyCu%J-0-|m-0rw2JUAf>N_NljZATi1Ah!oU_#BENS>{pWphW}Uvy=g< z>{8~rgGq_L)m!JBrlkYbZ+P-!4BX=0xE4=1kA3`ffN=rv$Z_S8qD_31z`SA-HiAJ!D!@(U0>*;pVv%{5|5IkU6*L(L;8J-UNV4P1KUDna{`HaoHBjJTIQa#dzOK zAPf54OqV|$FzQr%34tsv=iCz}EHsKY*pT>ztt9>DN4VttiA%p0b$mv)SZjBUgl+bj z)gA~RQoE2QIk)iE(i(#NX(h(2t!9os<*mB726{`v{`$nz74Isi(T-9p@3I&I(KN=? z8|yn7-2;(njz<|2Z)~PEo#O<^gJ%&!}Y#o2g$Uv3>wf^R>$z18>!rT;MZEE<>}dA9m#lnIeN zdB#wfNTn-i5y8&-c`@fCeH~^W^mll5oM8U@PCxhoGAPtPc;8hj&U4=_b3b1i6eBEh zsBbx`{F%feKX7gzCV!K)1g2UntWc}VUoGfIC7ogUhO83tH5m7BnqVT@^|`O@izj$# zM;q~elW}{hap|z7QjBd_<%pXt%TOi-ED{^gzF%MW$JWV+ zpQuHSMo4LY^Jm}8T+Ol>cp8ifiNqft3uO9<_mOiNmZNtENyJoeO)dOgN#K!3V8Ita z-|;A*Y(tOudLuQZ!G@Y6RpR=|y3WaA$h8#TazaZ`6h9bi0S$pDh10RWBhS#d;n|>k zLv?ElvMH-wtV>fKPlJtujnFbo1~BISzPhV6{;w8F0cObF=;wMYN(9T*SrU9s^Sec? z#%3K_POON0pk1gXP*1symRMvl3n*cvTnmTT4%?KD8alz2!M_FtCmJcjeFq6O~33Hnv6^CM7*aiX@kA2DWE}d zt~>3$Y{ls6@_N>lO?O2*V%|k;WI6)8OJy`p4xK1tbjLTL+)4avYUiOnJMfv$b;F{Y zNa4c*3-YhtRSVxhB6Q1(&QB`4I0phku2-YNvjdk8jam1+;dm!lwjc>xvkD$+`(9S2 z*hDiUUg8P2n|)AXQOCiu*WCgE%HCV06_{7Nb!G2GEzA!ZfbehdAOfxh8~sIgIfxEJ z>$Yjkl(&aW5X8{469G$8KYq*+j7`v!#IqeIpI}}Q#k)P<`v4b;Pn#?x0nFor> zNYz6rljtUK^Y+nm!T`$b%wuIFOU8+$y!nunlzSfAeoaslNqSb%p@V+>!Z^!y>m7aE z0zcQ(+_(EEs!jM+MtdQU4fdqYXN_B{8jS0B$*TL6Z2sn<^cZdZmen}J@;)Sha%m`D zv6SFYp}1@^jKaZQ6SZ!M2ju36iq|#W)ZB|W?l|8SpJNdl$T(9a^izI3_yc-kB2`Rh zwCSxL4O0W|vZ&pDI1Qlm6gdKPC9TS&X#i zME$<)%6YYD%8ZNC$q;ns*y^-%O-2#3VZ^Um6i>Nw`gn@8i%Q&!O@xvgly4ZdBmp2`ya^{Emu^$@>bzo63Yng+% zSAlpjsMz$pqM8}eHe-}NWxoorjZ>=UbT#6LHH8J8@zCGmvvg2<%7|FNO-*|!UNKg$ z{5#XeKL|avtaNXP?s-Uk;gy>!^sQd3liQzInc?qu!Db6di;u<2e?m7?KRkCy+BrD# zX&^#vy0hTc#KF$(XTY}ynQWrTUUFkbbwG`x=Qbu|_^nd4WB@<%;+uc604^+<6Z_-H z;b@3kLjs??5ALb+#C1_8Lr$e|ddQ2Ut{;cn@c9KBLdRMX8*f;e*Kz-|<(~sH#n~z= zc%h%U-5U7%WS3Xf2O{1%cye$6n#x7ZaF&$J{qZB~?b~O<=od59|0;Z)Lv>Bq&~($# zIaKiRvymxdrskrjQTL3Wec}8&&sy-A=zfLY^`jE$Xk9@^pyu~44(&7{Z{D0q_{iD` zC5xjK&A)ed+mU>FK&RlrVXteA#Quohoi*w1jiDE66YR+X6~RjA2@vVqq>HW=f0DJUF_E<) z(8Yvc%2647yvsFW^}Q56GrPUxsecW#88ta$2_NWFB3I=*#k$I@`bRMP^dcez;PZR zk@%$)l8ve>7KEu7?YmSHk~8ela008Lvd^UbtPP9OcCKVH0&EvCiw6d9FMr2=Ygr3v z$Dl7urHw6Cda_KO_bJ!3na;FxPYT*ccx~6M=vh{jfmx=v)ti9*;sGSegn*Hw6`_=z zGy}jqGED=wKG=QXF&pDOYt6)LghZo2McPlo2>uNgFX6{y!A4E{y2zK!?I-$iLG$L` zVnZlEf23Ik{(*8kiH7lm*sL4*Nj35u=>r9?t$KaWzT!^We$t%P>&QZ@Y#N$OtMyImbh zvpF*Xcl{!+Di-8_QW=>p%_|hA-97HU*gx|qjnqC zD;hGBqB3<;cJh9j=qBDqNGX$HT1E+2Ec{mRyj$-+UM6)H?_LV$ovKUP;)&Q@Jss zCOOccL;U~>0vzL`NI!QE3vdBtf-r2BqhHKMzy>@95qCdgq6UM$D4XL~`&P zmVzS{Jy)zStX}mjKk2b|ISIBk^u&$z*U#;FCfAGZC@7)dG5!G*s zkVbLtWf*kF(TG=$$D`6b8k%+wK^t1@7VHHsb#kTae(B`tmaX=e$}b~se@PUxSQ_0` zaV6Who50b9D@Nk{`H4tAkMG$#`yb2e9i6cCYoTv;rpxI`Fj@`4VVa0hV@%g;^JiGz zUZ!!gPsRD}pfE_9HJIO>GtrNp%f-;0m_kln=;KxRa@t>M_T^F$E7w@6D0`&7wQiGWC`%BtJH6kzA`)4xSJ?-wIbc zmHCz{1hHh|Q(s186PZnYd)2UO-NF^c<-{LN%eK1Z{RFLmaC2g0@y1Aj)=hc(?O+SC z4q=4a(n@?tYl z;p0lpxgci`my}d4DktC+_?K0`-&HtXyEYuDt!dlDqTrbfl3Z;)_$G_#JF=J8V-n!B zEVkadZkj~oTPy3?kn~B*448C~0xq{=z`G4dTsAl)GXPPpALIk+)oq_y%-UiL7;Zql zDkrxNW0?rL#aZ79%xcDBIcp_f6-`Vf4>PsnrgWjzTKXTn#W*!)J$3wGrCQz48T3SU zk2nDrp#Rtle*FfdsM2Uckh5WsOdKkvUJ>sFQgiWoq{|5;Gu@zU-_rHZ{l zj~&N0q}pW|J5TsL@zpiG2{?aeKf}lGbCbi{$#zuTaG!67vNzfXRC7ou_856rzyU-E z9le{WTewJANf@8>N-l@6x*ioO_#ESbn_;fi2H6l*7$$3s#*W<~dn8alU{noeJD%bG zp53#f(|fT6UL$SkSFUilYp^#2aiZL8;by&0tmvWS#_Ym>G__dEp=-FnA^6u%~?_9G& zy6)(2R1as_O9w6qW7i0q6%9k6gX8p1&|}2e=q%|U=JXZg*)Lb_ZmKzFWo{9JiYt85 zArZYz#7F6$R}Qw?3hy&OROGBIYHH%X33FuF5y~`VoxGupLK*g!B`anTq+qV@YVp#b zt(WP+8ySwKo7Mf|!yby(ao@~??QRYC0Z=Q?<$Gd%Cp+zM^?+;I{ZZA#2AF?j6V?+~ znO#cwg3Zc0Tc|ow+pi;g-0r<*Wm(0KB6~OBaxC-3{J*9|{Z))3!h-H&HI2RzM%Ry^ z<1`l5yIB6?n^Dzp0gV$JwD@EPtC3b}NWz<*ICS^>C7N#!kh~qH;;8A3kFkT*_P~kd zI{?p3YXVu9^G6emNYk)Xues5Y?ozYdA2iLJACFR6bZ>wIn~Lt%5LthM(LRdlFpaHE zWhu4HT?Nxb*tLD*`p4kH{n@f&Y=iXlYcvdx1F`^dAbHs%ui#hXCxNe(NIz4Bp_d}7 z4t{D+eIny2l#Ec}M6mCi-^PZdHx~h_1Dpva`6X~FJ^zMWKRE=TBmh=rGbA`P4^?2{ zNXR5Pnbs&P>3)%{ABa@~+11c*98KE@D5zj(_Y^+77$pbQvx`{eDJ0Onm&DU-yl7aJ zP0K11KGCm|2DgA4iL%(;p(nth9h;R+@4ix2XUZ+9hVD*>qMnI;HMt0P<@Tb(dMnIC zA&Eljk0Sc+Q}=3)u>w0Y`8U3Vu9eeC3S5#t2MM6^uPUdv^PkV|qOKb0*ye!CAU4#}4a!bxNo{bg=nGB(Yl#m=`77R##d zjxM3;ud35Ty&ebSU{^awn;GU_zC>r*^N^HH0Y9~Qx$l4e0O>n@m+B7?bY2%n+2 z56aM{gu}b$Fubt8dRV6xLG~N`y8#Q;tzguZ8{9M}`Vr9WCoaLngaX4E)*~I+pR=Bn zNfX4+#UO+dU>RkLn+k|E-=9C_I z$mQx>o=QVBEbFO@zO!|W__rZ1xvTykke(#-55V%!SV%UOU>1N)4Yn)Dyld?!nY;XU zFuYpOIv{WkYCM)-=xi)nO|qff_^Wztl!bnJR;JKw$?;X8(*!;ZsGFk4^3cn$XfkWm zZ8RyL-{@!ngM6?cRehq3I$?sWQoELa7!G~09CT2Y&ODI;TE~)Nj}-!DO#2~wO<@L~ zwV<^rg|;)c^aR+asK3b3Q(oiM8~?AlFON$yZQHJK%{`=z6-*seZA^;KYq}a7Jvw z!(2EE+nAP7ALSS(t+WM@|_!(AJ4DTWG1xreF4qJ zV2t`Q>V|1|bHCG+&F9Py_Z5y652PL|&EmQ%esV=dl@z5XJA43WOPAiwP^!yobbP7T-VOQ{0OMz@F8T4PR!8<$V1E3#eoZ5Z zW#Ns?3Df*zEC<8+-ZkOr?5u`{;?%PjwScFMA6{kTEp55dXxnM()f6I+nn=!nEH=wk z#8CmH1C9D+KE`h6;1kM4%JFu}=dx1Xfb;Y()=Y;qJuMoV^LZg%rbi)+VvIyI`Os@_ z&GSQk3*--62M`mX^Mb0MB+<*WNpyW0zZ0@g+c0p8Oe25mw$}UdcQ?InnO?%|9vPUw z>5|L^4Um`t9Q<+;y~Nuwj(eH}(mbCv972=Y`(H0g@e?dlWx6xc3EubB8biVO82(Rj z?boVHMy`Pb*$4q3PB*wneG&``O#T%$=gK(|-N+$NMS9PR$P+gV8SWn2HB?JcVWpen zN)jdbOkFRXH;^L)x7{;^JZuCIDIc z<#TWE= zyDd%Mok{EA&#)+i3H)am!IJl~u_gq$CiXZ0UWBF1IS>OdVPvn4Pqdm=YhXVi^82{W zZlh9f)l1^snm9ozG>n;B`zEV^_i}rP+jVwn*U}B%s=W1GBJC#$)mMT}*o*46Xui8c z#5D(Ae{_>K;EF4%E^u^;`=pr&voQ7!EN0!2n=W1o4 z>i$V}gcJ7ZRrO3hPWzhjw|XY^!HK}9dL1YBgHOjcHgcy417Mn>*qAy4CiY*y>_0GI zTX={_lW$SBk6%H3*jp_a&LLDD3SS~Q+CyDpI0roX&jG;4zQinNZW16RT?tu(OThR_ z&KGL*KoRz2-*xyCf1te4na%E4e$pt;{;s5c!IN;JShYL@b2_SQTSxpNUH?6mx5&@^Jh2Ev6hKnR(ofc=R$6905d5mpkM?bo|82kU(gHK65{;jch%Ty zt1#M};usdtzjRyVbxHZY7O;6HgCPi6j=4xSR8B}!Io^|I7~QxBm~N`rT63{mTQf`% zuNZxh^(gIh0Nx*eT(zy&)Q8@-saxa+eG)bYuDwQY8|?i;o2dWm(^jHEHFir|ccml* zZ|8lLs%_R#QFW`)<>w06KVDLU@a6WGBL-*&rR?a^;^SqdrVsNpWG6l!0P9&_GLpWC zbhmOMDLxfNP>vhZHXiJSy?t+ZaOBSX?VZ*=+a-rU$8rG;9Ku{*kqnm51xC!Hr-Oqh zw}cC9{#n9%JpPLOf2w$SN>6;)PW?WKWf@h{^P1}fvX~_$F}K8r%_6*2R7fGFh&CAT z6fbLm3(^nZ7l&h;tivxwe%f7q@qTA%^<}>rTuPH^KJHUJbIioz=?H{eVq8P21&sv( zE7u_s*;{jJd#DSH+o=A-$}!>zusrr{N+O(KbK|mNUGF7{XT?YAqH=wI{(_sJC(ooh zPs4>|Qaff7Xk*1k+o3;(H7>?0zwjh88VMm9N;NgiPq5q#$Zuonjb-X{Ulh*lq`1by z)+-gW>v<4G20YK?%cjiIq=NnoCvwjY9=S54^B>)?}L>QlNz+~HulwZOFjh9Yd-xQ?GyeHWXzA{`6Y!I$rei+8EZgHZ_#GyJOZ2OaNz260O=;H`?yeUdcC>1aU#;u0A%~w`7w~j?r7o2c5`OkyqIaQ&NdO%XFD0 z>G^CaW-Z&U^s=ncR< zUEk~qA)_we?wPgzBi0hxwqRx38Ek5Je5)|z=x&+2!)HZ-+k4czB=4U8-JR zE-C+|*G6+s&p~0FC-Sy5jIQf5z(hAS6)(w;o(xUI%Datx(nx+CleHh*jtjldg(=(e~n1tj#Y?xRUnYaRRT{O#YF!){oBtot*J)u;Ad z?r+0~;R;4hC5&!Lt6+2;X3D#x`xntiW2?f46UW-bWAtq^#HRIwbIY?YRi6;h+I_jp zUDu-HF6?=)1Bv;g_b!>+|5n$ivM8T3mRQC8y#V9Od+Tp*A;@q)`9(`PYyo*H&DS($ zmZ}8vQAQ`N1R6ok6(h^lN8!V6=9iIUjnFxechoQs<#*yvDQ_n=W*Ee~F&~3!v)Y$g zo#QQu*lUd~g`HQu8ah6AszLp~zq&78TRaH-ZoNKbnB=EFPhC~&J@c(jD7xffSo*Uu zZ(RV;iBWXdNj%;ZgxM55T~qA-Te#5ux3q96Ce{*L>J;$kv3Xa8M83_ zh~)qQq8rB-x@>Iez#K_z3;zHCx2KFRFNwP2qL)5)MsJIQ9?se}qSn<(o41r`)Eo%* z!o7_!&{Noxl`kF+OF#Aw=|qE%usGbv(Nj(}6K=P!iuQ!nf0h8_2Gsk|J?giGnR*&^ zo_3Y)Q@rW!x!&>QO5?pQ(b(2H5z(1C+ampm6rVEn1(9=<`R-VenPAF4cfB{DV@vYLg0$SBr_##Y+|7 zMv#gsyz`uWOZi0QSK{=xL>|d1nsCbgE6Zj!r``)_?5%eVx#xz607__ZD1*)OQMcWS zoXVVLgF9{^oMWvaULso-yZmTjKP>3C`(=}8o~sADf|x52=q_X8WNn88cqrm(=GZby z{Wjw1=m3BIc&?K@-{LB=0JaAz()H&+a}9dQ4ifKNXLZ|S<*b+4-CAhbTX(thL=dLd zs@-}-YC7p7esX$=K|2|*EbyoMmuxSEKhNLUEnnx)7yv=4Q zF6CKes&@RI!MkkfKqmBg$scp)6w&>i>z!)dZJ?puTjL2B0d9mi zVz2ooSa-<(W&x+Ium~yP7BFk=l3~_McS=4zL(Zek%UD%SfI+s6%z@1ccdZb6NXI=e z{h(vZvu{-TRbA8*#$}9;L&C}?z|!r4y+)g_5froj(m}3u&<(lVTmoNuO#@ajmqbZY zsRgAU<)nP?(ec!eFf?|OxY)ja3)?wo65XP!V_uJq=8V(;+b^&W3zB)$Zxr?#i5)eS z;e(0$@QYtQ^NTT;loZgzmt{VRh`26qRJG>v+=(1YSY{bMJ$d{)dd8DXF$VIux;a^S zwwqD{3Icm*XaU?QVpyaIHu(;vI>|H)W6AG|yajvi({ImfwZp0cI(j0^vM--Xahn5x!Z{ws(DtkZj}gqHQ(QXh(Pr$CltY8T^u)P-HTEf=Tdd^|zP z-$XdcV?Zd7Y54ad=dL)TVUI1CmULMq`Nr?Ek@&Dr>Sle<7q#a99%PX^jyQ8d54k)X zC&Hj&4OF!dr|vT}_u{)75lbK7GKZ4aGemwmNk~oqjd!altf|+B$aDA2;!{r-lbf@G zy*2=^hHNEqkdSHIcMptb`CU1yYNMzTffpfvb*^y@^?b8$hs}1Zv~2((U>(90y>)A> zr$0RWk#hKzYX4Gdg$zpb%~VOziNR`q*Y6Nqx>KoFzz_BmOf5q%rn zfleWv5v1?jivQ?iY>JAEN#sq7U}tGg-_t>$=!If>DIp&$pPeObncTAdawaW!bkocN z@c60eiXC)T(iM$xc)Yb1{Omxi9K}8Y6r{WYu3c(jxAbn5){UhkDaN%wevpT z<$L;!3_=rs{FMx-E-1A;1TBn5J86aAIGIl|&!UE@?-|1#MNYnv{$bm-WHCFjInM9+ zN#nRLVzzAHIkFt*wmibfC5>Qbrixg(L)dg>mxx((Y7 z79E;4o8esljd9ONv-38DMXrM+st5)5^2ms`bi*wfyfseWB3YL6dR7CAxJsGCj4h1s0aWT_p!0LDU$s-_gPe)0K;w9p9|Hp~!0W}9= za?&<=`RZhFjyX?s|6Gyx(?>*};`@bW#s2G%Cw--jS62-_k z)bgmyK5|2oQr__w@n%hWPLDk?SDY}K-VKFIzK^m5V+9_xH@?V)iQ}B>PtY3Txfh!$ z1I{s!NUP4c!)YTF;gm#!fTP%a#%PLQ=;fy-t)KsCD_ybC=;9*HzILX+aszt441E;D z_hMumna$fwo!FnudQZE(6z$*_Pd{N}G>&&|J>$-v{L$XB)1!+6D2Pf74C-)A=*SVKob_bU4+hymW*sN(g z9o~1IO*pRA((mo9i}|^Cz1!2B!ol;5I(}rcA#fxYW+wDZJ^E8tY|=-&Ny-oX=J*FQ z)r!BWB#K^X&UA8@b!cloGG}`PJ8K~P6})j2;BhR>Mp?>)9fM76{4}ztu;59%GeWVA zvWm>5iB-Dsr_!$P8gTI*>LCX%&-;pY;9cIWCF)IXDgATL8t>HK%b$Uy{jl|fD0ORq zM=1V!@r#H16P*~a>kw@wPX=gRD9uyVmo3KJu1+opCM$14*7wj;x)m-)v}Ap8$Zz+@ zB4}ObKuu=4O@48mUJTgq8IO{8|Fxg;bq!`?Ta?>|J?21J|D=lDc%a;hiTooNdm7i*Tj&`RG4jB9^9zbCEOGB;&vef{eJJNBtgb& z=LGRKcH**X{U)lRVp{bmZHwWJmpnb&OKVXy$Vqdnav5{st~FRbLzj6T>)Y^v;#m@L zj0mYK;1@ad*pd@NJjVDxrgVdF!3n&w(yXGpfRabim_5iCmeNSsl0Tic)(XhSZ&IJY zu9i*O5a0s&qjbXZt8;2k(45gzd#94Ee|x9=1KhpSlGCx^aSHR3yyX7Kmu3sE7^1N6_N=`M0__k^I6Br&g``$M37w{=6!w{p=|{ z|Ao(I^k!8~fD@;Seu<1PJ?OoT(9-Z5aRJM^t&6d=*Nb0xnS7I1_OzLi(w!V)g!zQ8 z=>EgdmaHS@KVO3U*>@yr52&fJ;+g*;f?~_ehBLa4vn~EBzdwIz=WqS*)V`Z&`S8EN zwICnZgXdamyg}oa)O%PGH}%_Hnbyn7vT#fY@8-HqO9$rS_FLmA$H66uitaL8Dn>G7 zmBmIcWe=XQO`W{vVA;tkj5D(570^GqGYy1fzn)&;@F*M3MC=M*DEnn`e7@hzx^VLp zSyjg!ACvElAYGJ^8kho~!gHH?~s&5uC8}@1rruHhM-`Hshsoh{Hvh zxXG^Z3H5a*u?8&6t;kn|XMOLR$*-2vlDgOHBHAywsYC9lL(we4xSg~jE zp^0kEJ`k)Ey$e(BP+~y$?wMeyXE$(2i2j!~{9i|_o=zxpt?&Jcnq0Ki-~lj5)*y5p z?0jEX@2J&z>q$?*OWUJ+%d!CwFw-BD zu=NZoULQ&{ueab;&dzwa*x~`t@|+QpyL66;oiR}1U)oYMd4yGZ^$S39bC2eKA?x3b z>MQj0|M4N@PtyarVq;b!iT}2^x#$xx1k*6P*&>Pl9>^*YVz z*(HY%3EHUDC)ykNtC^jA@iWmu7X4s1!67%2G9eeoS>Y<34VYs&=h6a_ybcMQdJkHc z`?Wow;RKeg`~{bCFSlIL1xR3)fGo>+2<7KzKW3YRh-OLZn}3U~0=6M1&U%xTC99Ud zF_gcVtYfX%%e%&btlW>_U@n$8?G(JEXU_-Ht$4$ci5UX9$=FWuLY0Hc7ymL&nEheS z$OY?n)2q|7zIP{8EW`;kWCnyXbV9}@C^m>bJ6gjx!R)H44P_z>@HWSCnLtH)gZNN+ zVKzS#_L>`Or>HO33Hkt(&Ge1FQU$p;cq+|_Icn5i&5Dj;QMF&M} zW=7-LCKDsUgE8A**50iAeYfDH#pxTTAoUBC<5(3(=n<^ zm;_J&Gn%IOpvTVPwxXU|J-xxTX_%JayHWL2!6nglDx`CK^>@l69@ok*5H?8g+BiCdDkPFC$ z{dvx@-Di;Juq2`D(#yD9ho-^NT!8=dk$Nkhni3l$uP;Az3wB&`6~2t$XY8U}YwM7P0#n7_j;z&`Sw>m$NJ(AyFHpW)#vgnVh3`$t|=&Md$^w&5W>jPDF8YgNsOTl z;a%6Wm@sj1i*yH49?6zO4wwN&cenhWrsf_uLQCxX3l0Ro@sllHu&kK)J4EuA8= z!vanRu3L@kInrxIAhx2~+!EYEQp^^1)g~Hk>hVf4x!qlkj+oF&!vfiAVhNSkBsKmu zLlPI0YzDh9mg$g+ETM+HhoUYRh6lmMilOo~-z{4aa0Glz+qo4Ggw+0Z$RCb;k7O=2 z&_O*i85h*M3HFvWP2FqVW01RGBpr`~ zz`ocvRTW2%$GDLgM)zTMo?m!d6W^ItZc5P?xPoMQwbNsuf%1kZXwIeI95Ld{;t9+C zl`#Fu)dWEEt068b=Te*QZUz#EzBT~IHHxhu>2h(TH->^vtOJv6CS#3oxnoDL*j63F z8YIZT5pvE0m#o~_WXFFxua$Z7uhng6T2{=>5RuPM0pC;z zYsyyoH2bTox#h6cNP+SI0xv`CLePCieAZ1raI*T<<@sfliM4H&BkRt*FVZd=pPzNn z@Dc-WlOB@I6qxUVbu|Xf5c>`d_u+P~0Q4SfAbO!*G*>HyPk2UhQ$71)N#7L84k&-9 zs~V;`23u=-q;x5J9+b^4PwKmDy1B8`RXia=Ddm@!p?FK`y0`e78K1dcMoi81yFi@V-4h}maweMs?Vpu5k2YO}{sn)>gDL|samZVR2bgcqKvAt^?ugpci!z3 zoR6o+H`P*n)FG)o-T2{&!|5*dh>;KG?{ez}M`X6_1$}l@Q_nHf*Cb(hj{moM|F;;r z>V4qT!W)PLIB^cDMu49>xtWYj9i6B~+)2Uk`Y^EVsZTe`TQ3r{-Xln(`O z!`|+TKes(Z(p1k~NFV$NN$n_TM&P5q1_$Td4!cOEIW}iUndw%m1WMg3lX;v3Ms~2<{oO1@bX27No^NZjK0{1 z$Q)}&_~W8vW|}X03ER7?9GZgg8GhvrKv~GHPCf5-3<;H-9V6mAdE{~RPi^p>IW1iYaG!2Q+-~t6Yg{(Y(fSz}X zb8N38q{$Q4%0SBP*Lg!DLAD)q1T%1^JCYKDY zJUYIZ3V7pVaU_imKhm79Ji~}?Ec>Vh14rq)xf&0W2pv0@MkE|Q#_y{RZgxZ&xG4P| zC%;IxXgW4m7&C9nQC^6Z%w^*0rc%xYO_(+L=0@Ge+lb%RHm6v2n()NM@*zay#_JKX zbGwwbHYdJKKtER)Bzf)|I(C9`XKJp$D4)SyO3$VH(MPLg_l`8@=^)6dd0OFUsLWv! ztv2=ABA^f9bHx5nJHZ=!a$l{^NiIMe)nQW8Q%PODqme@%ws)4|oOG~6^L*&JvfQd( zAQ05xtfo>HZr?85RtBsSfMjMk8`p(|SC5RXpvyY-EOAZcot<&qggUSx3)%8Au1#gS zLtRdjKY}r!JHWh}Q0B!pZ()kcy2x&lMABB)s)MrN_DrWQ;*UEA3r9mu%$_KHaF;?1 zC(X}5(}C~MotDyj z>!x;M6WT2j)l8j&vcowWm&av50=BBK=rfRG-_EmBSC6e73{ErcbMP2K*vINfo*Wz~ z)#n_7?6!y$%Rc}Xvfa9rEyfGs^Y{IeyfQ)!E1I+Uq@Mj8E;%1t?8z$JqM7m$O@o{Z zGVa!$=98ICaBQZZT0)1K>8hp7a>Mw;xY64y=uvE+Ie;r4Zo?c<_XLx%Em`6Fu?Z>N z)B?QBfd4Vl+8nW z#gjySX7y*hEa(U9(>RJ+mpyRp>{U6shD@2V4m8TMTX{v9$$h&S^lne;&{TMLFI}m= z*GtXcI}jnx@tWh`!iq`FhLxbc9Je_<2N^HJ|9TE|n=dDP{Ez&Zd+Aqmw^)`;6ZTP(|a9Q(i}n%A$+Ig=&PDm=&r!m#^WS`SRx&QJz^eX<6>ku{v?y02qD% z+O`XBmFCVsj8JZ9q+ThXk3twFD~c_T>PJFY%fISjL+^QCUs;k!*KUmFMHnGf+zWwf7 z(NKr0=0}%yf(HZfcxEcPaeq#HClGUtNO047hq;(FDs+SNG(uarmFiy9&?WlOUzhcP zAIJp9;LwE>OLgBuBi>n-#mmmKks{p!v43f1zM=&EifCTzV40i4h<|03_U(3R^$+t0 zKh;toj|wP5060tez|?|;@Rno(Wws3u$EfKKnK{@o>Gg~}gFjF_@78-%2$}9sg#$J> zOx-M}Wb>)|c|y|vAmQMZ-9-ifn{V@knzi>CP_q={YM~@_Z36>aAk>|r7fP{j`ByJ} zP^|#thXxIoMd{Uc%+4J)aSOmEwG>tx9)o@cJ1`dkYX`uXTww8}YH;4_ptrHK%(`(I zo9`^T*z&j4`yXTfT55N7|Lty9{18B(o{w6>d|(JC_?ohaLBG_A*p@JHi>RGDfeNr3 z91XxN6+BUYE?r19se0%p-jKcsH(mdT8#7`x>?ae)QTAg7R^*MGx_Uh6!FJ~y#rRSn zZr&VE-=9}LV0&^}=aAg0?;y;G<$%g?Uh0nrb+YVq;d9j?%dU{Wlce@YIreN?zO&Eu zulN+Sb3dVSX7uXdTD~hF!Ur4X-7dge+f|*yf;fuqfO9z!o;$+eDsRaUC#5OWbjY-K zEBn30j@utiV8ItvMrFq;*)E~lP7 zI%Tu2*ELM2KGIUHHXlFbgZ&6kx?&uuQ%vN*aQve%oFDFqE3H-S-*uM59*QHOIRaCh z*J_qB6Rc={@|CnNODuc)3YX)WECfmGzip`eW9OkYjT_4fVuUGQ34zq3MprqiIDFpD zLoyc};-&^PiPT1K9V?T1YT7lVxwSGda3b9&c)}-Iy~WVx@9mUY%R|5NV{na4*qD{b zp{x9#KVFV$hrv;)nNc!Q&tSvweh16O_~cS~c5Q7jxOHyGXA(9smn-$$;n&Sj&qd3mfSQyoOb4Th}U#Uztzf7CTv3NUQdJ z=MWubbmh~_!%WphRLed2IgHV!7hrmDD?{~lX!GgLtA<4Cw3@fNT$K|qj!R)6b$?nx zMEk4O#%e+x=7w0;>7ME~`0RU?NglzG2|M5osy&Vp7%Yn(dkC#RY4dLevF6lDIx&Z{ zJ!PqL>ers0k>}0zN^wHxh(q{pf``rMx6%6hsiR2`c6j6{G8fgtwB2xUUoVVCG?jR^ zWH}q_R!hSaw2!Zw=?PnX(1|E8d)m{tsJRq%bNxfc&G_7eE)y7qFI37v}VHrAM#3g|*<7gEKo*$gj_yoL2vcY|JgJ zc!FUx@#)q#_1LPl<{C)}8!HNiOsH0RgBMx5Z5!;E5_?nzp`GA4JgO!39FfLoIw*J5 z8Ptt4F?p473z}_KMJ=pJk5^@xS)EzVn^&+#J1x~g^Z6PyaJ;GBv{!ZKV1elqPY_Y* zP=z0IU3QEgyP_osm>~|i8p-b08oS7|w-Q=L`shkjCY&*K;(PSBSEj#nL#lgHE&NHL zr#c|bgMHEtdaCl2x6$OnZatFDrnW&%B&5uW^Y z#syl>r&*$y90fYwXkyZ*&$A<^^4kXb;jFdIWq)~P`w{%jni>=iXfWn+m;uWp&v?@E zqBKWWNu18f`#2yv5<6j`9!xptwBZC%zOTQKY8sHQh)J{Vvg}-e#p``2DMIa{YYLB` z+?;HdT*F$5;2+0jf^PMmmWi@mmhg0Z(l8;-&k~MN+&7!Bkgp>cPu^%4j|t1sDvcP- zI=zDRKY1dl(vXVURb*Uba9NCtr)t~omMoD%_W+sN4;n2urqU6q7dqxNS70k2F*uuQjKKKjqN(k{x0QI%207^1=GSCYt2U^-KI zZ6%%%TSuLts0QgCKINy+>6C7vf168wuJHdM)xER+m~w7soK>??dn0g!=yFM$V423M$G}&me>=#llC;xb z$7ueg<}cHM3vAa1C`20)VFY7we<@hCYK`3P?CDFtnQPtpx2f|lQ)O>XYQK1FSc|dK zY!+VobHjnj#sgWF(_7kB{mX~`-R0}+dn*oXeDCf1DDNhz3;?dXEf3#>(CT$M8}Mys zBGh&*@%9T5@i2YVq|#c`xvmIl5N7n`-~HCVl(g4d9j@jW+tZDSjXRKatc7It!CWgS zM*Y+cp@4I|`g^E{zY5c;awFI;R+J$-k_6>HKOGx+u&M5(n9NnKUdc@g73dA2vZkq@ zoRVt}7}jc-w}<|@lI0MrMSWNkb@Hd9$rX)1Ea=`1T5g+K{cUuYWv;qCS%zdB27Wv4 qD;dTL7U5sk%KbSK79gcpRh{(XLru&Z27NOZ~h-Zyu>g7 literal 0 HcmV?d00001 diff --git a/software-license-manager/public/assets/images/Screen-Shot-3.png b/software-license-manager/public/assets/images/Screen-Shot-3.png new file mode 100644 index 0000000000000000000000000000000000000000..0bbab41fa02dc3401208dc24549021bac986bdae GIT binary patch literal 360249 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 literal 0 HcmV?d00001 diff --git a/software-license-manager/public/assets/images/Screen-Shot-4.png b/software-license-manager/public/assets/images/Screen-Shot-4.png new file mode 100644 index 0000000000000000000000000000000000000000..dc184988b3add02681ed742c4753a513454db604 GIT binary patch literal 357456 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 z zEW*-44uQA_7ttm;_@Tvz-HrGHHnw-g#)_0K8sIiim1f$-EPT$!+ViKPBS!}59TK>M ztg{VEX)E}x5F_nxnK#lOOY7gJ))O$*E7(X)-8u6|Y%{wB*AP?-N}0-%6*T_o{?riy z=a%dVg@K@La2L!;^LxR#jIC+em+D3C^~=aJ)Ra%f>$I zuy5#GLace~S|1b;Nb?l!b+M4Qt!XVKR`j|m5h>G+>93RNMD{ZuYXK(bG@v0pv~&hb zgUSYrG%VAB=uH+qAkr(kX{e=Rm(8y%Z^c?x?e)2M`#H^8&}2b3ob41{KtJ1w9%6rD z)01i_Ndz-$QH8#$@UbMgYcz8FsMZSxCsx|GarzQE(-j%nv@F1cLnecqkBcJjJqvq> zt;S16hsS7DBs`pT&0Derj$^@daU~nu6;;GQH5LZsnvG$0BVmGC6r{Xp7V>HHt(ObW z&L56#=A~UHnd{kC$0wbGl<4M>3#CT`_R4v@N`;hP*Cf9R(2t*`Sew~^pv2I?q)!VnFAsU7 z=#|j?Mj>ULDq)q{D8%W$-`r5to}$S##CWPLOy&_tz%{Ct^`vw1x`)6L;jw2Pr#&vC zV0p;j#5Rw!Iyx#zI{%$@`KPnPr2 zG%)LHslc^y;q;xOtO{Z}K=yORO8uu&nWB%%Y`XB6itUaQ;LLKAf=mr*4kKuzu;Tsk zG&LNyGe!}^icb)=-FgGpRRWo>E8R5xZHE@Rqa7882Af-jx(g&6y&mVPmkCbRvkek4 zjdo6S?A=*%@@6k~QP`r#2Vu3bmFF;)9YhY2%-7`S)zo!#--1o9;Q+EGul@7KKxLAu z@;bUl_g^nCVBu_x-T~Rh-;S`NGfj@iQu;FR7Mb9r@oHY@{e#=AH>kbcrPGENX(Zsj zH)tKCqveDhR(8C%>laesY^7#^ehQHOqu!N~ora4gbq=wklgZ^`7Ld`bm}J055j<>1 z|44`GNK6Em?(?C$F)Js15?!{2y|)`jM14p}9#f+~u2tGO^L~L?{~_T(3bVpLLCx2n z6su7)H_3Fu6mKnS^_qhObrIlDyUixqckRd7-&j|23Pzc;f;w9ZjpXLcQ%wNH?s@oXnCzA*!Km*>e< zgvNq#`8y^eFomRc)g+M3BS6J~6U|vn^3&0^7nH{4uL8Oz?i>J6jFvZa_7C!gty*jR zUHc84YrG$~KDTx^jH8xDo4jynlZGm(GGtsp4lWbtss?Y7AI-Z`^Tx90bOtL}rib z@;oAYuUSPNRTFlzhOwm$+`G6gNh5B<%}*BH#uXL-v7$o|gl8%0NaZK;F<7RIL9)f~dN zaGa5eOs%i*M9IjyZCtC|m#|Q3@MoE*2fmd+_NPIpL<1VErqA_W7&{_Gs?5z{eRtw{ z=*QyJFp{DxALOVwi2-Ao*3~!4pqF`P@h@H3vjJa($=8Gv+c(;i<@uRyOOw(J7xA>2 zd0)JQ=qj~GHXH0;5|{|YPZm$uL~AAz;%g_rDIZ}k(G_Pt

(9WX9<{*KH=%W}gW! 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Μy(TuPUalo>~UFc+@n5Gn4WXtgLQ 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 gTj^+7`_Dd|KkmWYwo>*lf Date: Thu, 12 Jul 2018 09:16:37 -0400 Subject: [PATCH 009/293] Added Change-log, readme, and license --- CHANGELOG.md | 113 +++++++++ LICENSE.md | 674 +++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 45 +++- 3 files changed, 830 insertions(+), 2 deletions(-) create mode 100644 CHANGELOG.md create mode 100644 LICENSE.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..202a1de --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,113 @@ +# CHANGELOG +All notable changes to this project will be documented in this file. + + +#### 4.0 +- Fixed a typo with the slm_api_response_args filter + +#### 3.9 +- The license status parameter can now be passed when executing the license create API query. + +#### 3.8 +- The manage licenses admin interface improvements for mobile devices. +- The product reference (if any) is shown in the manage licenses interface also. + +#### 3.7 +- Added couple of filters to the API response args. + +#### 3.6 +- The check license query now outputs all the db column values. +- It now captures the WP eStore product ID in the \"Product Reference\" column of the license manager (if the license is created by eStore). + +#### 3.5 +- Updated slm-api-utility.php to add Content-Type header to the API response. + +#### 3.4 +- The slm_create_new api call will no longer show an error code incorrectly. + +#### 3.3 +- Check for existence of company_name query value before using to fix undefined index error when it doesn\'t exist. +- Add ability to specify product_ref when creating license via API. Thanks to @maddisondesigns for the update. + +#### 3.2 +- Fixed undefined index warning \"enable_auto_key_expiry\" +- The product_ref field is now available in the add/edit license menu. Also, this value is output with the \"slm_check\" API call. Thanks to Tobias Hildebrandt for implementing this. + +#### 3.1 +- Added a new error code for the following condition: +If maximum activation has reached and the license key is used on the domain (where the request came from) then it will return a new error: LICENSE_IN_USE_ON_DOMAIN_AND_MAX_REACHED + +#### 3.0 +- The integration with WP eStore cart will create multiple licenses when a customer purchases more than 1 quantity of a product. + +#### 2.9 +- The API response will now include a numeric error code (in the event of an error). Thanks to Steve Gehrman. + +#### 2.8 +- The registered domains (if any) of a license key will get deleted when that key is deleted from the manage licenses menu. +- Added wp_unslash() for firstname, lastname, registered domain and company name. Thanks to @sgehrman. +- Added a new action hook (slm_license_key_expired) that gets triggered when a license key expires. + +#### 2.7 +- eStore integration update: changed expiry date field to accept number of days so the plugin can dynamically calculate the expiry date for the key. + +#### 2.6 +- Updated the eStore integration so a custom \"Expiry Date\" value can be set in the product configuration. + +#### 2.5 +- Updated the eStore plugin integration so a custom \"Maximum Allowed Domains\" value can be specified in the eStore product configuration. + +#### 2.4 +- Added new action and filter hooks in the add/edit interface so an addon can extend the functionality of that interface. +- Added nonce check in the add/edit license interface. + +#### 2.3 +- Added a new feature to enable auto expiry of the license keys. You can enable this option from the settings. +- If you don\'t specify a expiry date, when adding a manual license key, it will use the current date plus 1 year as the expiry date. +- Increased the width and height of the \"Registered Domains\" box in the edit license interface. +- Added a new table column product_ref in the license keys table. +- Added couple of new hooks in the plugin. + +#### 2.2 +- Added integration with the squeeze form submission of eStore plugin. + +#### 2.1 +- The license check query now outputs the date values also. +- Improvement for the WP eStore integration. + +#### 2.0 +- Added a filter to remove any null values from the DB insert query parameter of the API Utility class. + +#### 1.9 +- Replaced \"esc_url()\" with \"esc_url_raw()\" in the sample plugin. +- Updated some CSS in the admin interface for WordPress 4.4 + +#### 1.8 +- Added new hooks before the API query is executed. This allows a developer to override the API query and do custom stuff. +- Added a new API to check the details of an existing license key. + +#### 1.7 +* The license key is also included with the response sent to the new license creation request. Below is an example response: +{\"result\":\"success\",\"message\":\"License successfully created\",\"key\":\"5580effe188d3\"} + +* You can now pass a pre-generated license key to the license creation API using the \"license_key\" parameter in the request. + +#### 1.6 +* Updated the sample plugin code so the query works better. +* Added the ability to reset the debug log file from the plugin settings interface. +* The item_reference value will be stored in the database (if sent via the activation API query). + +#### 1.5 +* Added the option to search a license key from the manage licenses interface. + +#### 1.4 +* Updated the license key creation API check to use the value from \"Secret Key for License Creation\" field. + +#### 1.3 +* Added more sanitization. + +#### 1.2 +* Fixed a bug with the bulk delete license operation. + +#### 1.1 +* First commit to wordpress repository. diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..7a3b7c2 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. \ No newline at end of file diff --git a/README.md b/README.md index 970fd41..fa33836 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,43 @@ -software-license-manager -======================== + +Software License Manager + +# Software License Manager [![license][license-badge]][LICENSE] + +Software license management solution for your web applications (WordPress plugins, Themes, PHP based membership script etc.) + +## Authors +[Arsenal21](https://github.com/Arsenal21) +[Michel Velis](https://github.com/michelve) + + +## Description +Software license management solution for your web applications (WordPress plugins, Themes, PHP based membership script etc.) + +This plugin is very useful for creating a license server and doing the following via API: + +- Create license keys in your system (license server) +- Check the status of a license key from from your application (remotely) +- Activate a license key from your application (remotely) +- Deactivate a license key (remotely) +- Check a license key (remotely) +- Track where the license key is being used. +- You can also create license keys manually from the admin dashboard of this plugin. + +## Installation +1. Go to the Add New plugins screen in your WordPress admin area +1. Click the upload tab +1. Browse for the plugin file (software-license-manager.zip) +1. Click Install Now and then activate the plugin + +## Screenshots +Software License Manager + +Software License Manager + +Software License Manager + +Software License Manager + +Software License Manager + +Software License Manager From fb1bf0763af6f6feed425db1affcf157162ca85e Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 12 Jul 2018 09:17:13 -0400 Subject: [PATCH 010/293] Updated Read me file --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fa33836..6152d42 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ - Software License Manager -# Software License Manager [![license][license-badge]][LICENSE] +# Software License Manager +[![license][license-badge]][LICENSE] Software license management solution for your web applications (WordPress plugins, Themes, PHP based membership script etc.) From d8d50803d0582b4cf44e8f0b39c557eae6632415 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 12 Jul 2018 09:17:13 -0400 Subject: [PATCH 011/293] Updated Read me file --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fa33836..0b01096 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ - Software License Manager -# Software License Manager [![license][license-badge]][LICENSE] +# Software License Manager +[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) Software license management solution for your web applications (WordPress plugins, Themes, PHP based membership script etc.) From f4d77acb5d94ec3007ff1cb3b639fffd14661f34 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 12 Jul 2018 09:20:41 -0400 Subject: [PATCH 012/293] Added License Badge --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index da94432..0b01096 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,7 @@ Software License Manager # Software License Manager -<<<<<<< HEAD [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) -======= -[![license][license-badge]][LICENSE] ->>>>>>> fb1bf0763af6f6feed425db1affcf157162ca85e Software license management solution for your web applications (WordPress plugins, Themes, PHP based membership script etc.) From 77371fa2dcd147ae9cd94930a338c670585269a4 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 12 Jul 2018 09:23:17 -0400 Subject: [PATCH 013/293] removed unneeded folders --- nbproject/project.properties | 7 ------- nbproject/project.xml | 9 --------- 2 files changed, 16 deletions(-) delete mode 100644 nbproject/project.properties delete mode 100644 nbproject/project.xml diff --git a/nbproject/project.properties b/nbproject/project.properties deleted file mode 100644 index 04e3d5e..0000000 --- a/nbproject/project.properties +++ /dev/null @@ -1,7 +0,0 @@ -include.path=${php.global.include.path} -php.version=PHP_54 -source.encoding=UTF-8 -src.dir=. -tags.asp=false -tags.short=true -web.root=. diff --git a/nbproject/project.xml b/nbproject/project.xml deleted file mode 100644 index 72dcafc..0000000 --- a/nbproject/project.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - org.netbeans.modules.php.project - - - software-license-manager - - - From 165b3a73c291683abffe8cec6e62bdfd2424b08e Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 12 Jul 2018 09:31:55 -0400 Subject: [PATCH 014/293] added license file --- software-license-manager/LICENSE.md | 674 ++++++++++++++++++++++++++++ 1 file changed, 674 insertions(+) create mode 100644 software-license-manager/LICENSE.md diff --git a/software-license-manager/LICENSE.md b/software-license-manager/LICENSE.md new file mode 100644 index 0000000..7a3b7c2 --- /dev/null +++ b/software-license-manager/LICENSE.md @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. \ No newline at end of file From 26635a15976d21898da6e6df7619133d43596a92 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Fri, 13 Jul 2018 09:07:29 -0400 Subject: [PATCH 015/293] added a new action hook --- CHANGELOG.md | 2 + .../includes/slm-third-party-integration.php | 39 ++++--------------- .../software-license-manager.php | 4 +- 3 files changed, 12 insertions(+), 33 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 202a1de..43d4c2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # CHANGELOG All notable changes to this project will be documented in this file. +#### 4.1 +- Added: New action hookFadded a new action hook #### 4.0 - Fixed a typo with the slm_api_response_args filter diff --git a/software-license-manager/includes/slm-third-party-integration.php b/software-license-manager/includes/slm-third-party-integration.php index c4e1825..0cdf087 100644 --- a/software-license-manager/includes/slm-third-party-integration.php +++ b/software-license-manager/includes/slm-third-party-integration.php @@ -1,19 +1,17 @@ log_debug("WP eStore integration - checking if a license key needs to be created for this transaction."); $products_table_name = $wpdb->prefix . "wp_eStore_tbl"; $slm_data = ""; - foreach ($cart_items as $current_cart_item) { $prod_id = $current_cart_item['item_number']; + $item_name = $current_cart_item['item_name']; $retrieved_product = $wpdb->get_row("SELECT * FROM $products_table_name WHERE id = '$prod_id'", OBJECT); $package_product = eStore_is_package_product($retrieved_product); if ($package_product) { @@ -22,33 +20,29 @@ function slm_handle_estore_email_body_filter($body, $payment_data, $cart_items) foreach ($product_ids as $id) { $id = trim($id); $retrieved_product_for_specific_id = $wpdb->get_row("SELECT * FROM $products_table_name WHERE id = '$id'", OBJECT); - $slm_data .= slm_estore_check_and_generate_key($retrieved_product_for_specific_id, $payment_data, $cart_items); + $slm_data .= slm_estore_check_and_generate_key($retrieved_product_for_specific_id, $payment_data, $cart_items, $item_name); } } else { $slm_debug_logger->log_debug('Checking license key generation for single item product.'); - $slm_data .= slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items); + $slm_data .= slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items, $item_name); } } - $body = str_replace("{slm_data}", $slm_data, $body); return $body; } - -function slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items) { +function slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items, $item_name) { global $slm_debug_logger; $license_data = ''; - if ($retrieved_product->create_license == 1) { $slm_debug_logger->log_debug('Need to create a license key for this product (' . $retrieved_product->id . ')'); - $slm_key = slm_estore_create_license($retrieved_product, $payment_data, $cart_items); + $slm_key = slm_estore_create_license($retrieved_product, $payment_data, $cart_items, $item_name); $license_data = "\n" . __('Item Name: ', 'slm') . $retrieved_product->name . " - " . __('License Key: ', 'slm') . $slm_key; $slm_debug_logger->log_debug('Liense data: ' . $license_data); $license_data = apply_filters('slm_estore_item_license_data', $license_data); } return $license_data; } - -function slm_estore_create_license($retrieved_product, $payment_data, $cart_items) { +function slm_estore_create_license($retrieved_product, $payment_data, $cart_items, $item_name) { global $slm_debug_logger; global $wpdb; $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; @@ -57,7 +51,6 @@ function slm_estore_create_license($retrieved_product, $payment_data, $cart_item $options = get_option('slm_plugin_options'); $lic_key_prefix = $options['lic_prefix']; $max_domains = $options['default_max_domains']; - //Lets check any product specific configuration. $prod_id = $retrieved_product->id; $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_domains'", OBJECT); @@ -92,11 +85,8 @@ function slm_estore_create_license($retrieved_product, $payment_data, $cart_item $fields['date_created'] = date("Y-m-d"); //Today's date $fields['date_expiry'] = $slm_date_of_expiry; $fields['product_ref'] = $prod_id;//WP eStore product ID - $slm_debug_logger->log_debug('Inserting license data into the license manager DB table.'); $fields = array_filter($fields); //Remove any null values. - - $tbl_name = SLM_TBL_LICENSE_KEYS; $result = $wpdb->insert($tbl_name, $fields); if (!$result) { @@ -108,23 +98,22 @@ function slm_estore_create_license($retrieved_product, $payment_data, $cart_item $fields['last_name'] = esc_sql($last_name); $company_name = mb_convert_encoding($fields['company_name'], "UTF-8", "windows-1252"); $fields['company_name'] = esc_sql($company_name); - $result = $wpdb->insert($tbl_name, $fields); if (!$result) { $slm_debug_logger->log_debug('Error! Failed to update license key table. DB insert query failed.', false); } } //SLM_API_Utility::insert_license_data_internal($fields); + $prod_args = array('estore_prod_id' => $prod_id, 'estore_item_name' => $item_name); + do_action('slm_estore_license_created', $prod_args, $payment_data, $cart_items, $fields); return $fields['license_key']; } - /* Code to handle the eStore's product add/edit interface for SLM specific product configuration */ add_filter('eStore_addon_product_settings_filter', 'slm_estore_product_configuration_html', 10, 2); //Render the product add/edit HTML add_action('eStore_new_product_added', 'slm_estore_new_product_added', 10, 2); //Handle the DB insert after a product add. add_action('eStore_product_updated', 'slm_estore_product_updated', 10, 2); //Handle the DB update after a product edit. add_action('eStore_product_deleted', 'slm_estore_product_deleted'); //Handle the DB delete after a product delete. - function slm_estore_product_configuration_html($product_config_html, $prod_id) { global $wpdb; $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; @@ -151,30 +140,22 @@ function slm_estore_product_configuration_html($product_config_html, $prod_id) { } else { $slm_date_of_expiry = ""; } - } - $product_config_html .= '

'; - $product_config_html .= ''; - $product_config_html .= ''; - $product_config_html .= '
Maximum Allowed Domains'; $product_config_html .= ''; $product_config_html .= '

Number of domains/installs in which this license can be used. Leave blank if you wish to use the default value set in the license manager plugin settings.

'; $product_config_html .= '
Number of Days before Expiry'; $product_config_html .= ' Days'; $product_config_html .= '

Number of days before expiry. The expiry date of the license will be set based on this value. For example, if you want the key to expire in 6 months then enter a value of 180.

'; $product_config_html .= '
'; - return $product_config_html; } - function slm_estore_new_product_added($prod_dat_array, $prod_id) { global $wpdb; $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; - //Save max domain value $fields = array(); $fields['prod_id'] = $prod_id; @@ -196,11 +177,9 @@ function slm_estore_new_product_added($prod_dat_array, $prod_id) { } } - function slm_estore_product_updated($prod_dat_array, $prod_id) { global $wpdb; $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; - //Find the existing value for the max domains field (for the given product) $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_domains'", OBJECT); if ($product_meta) { @@ -238,7 +217,6 @@ function slm_estore_product_updated($prod_dat_array, $prod_id) { } } - function slm_estore_product_deleted($prod_id) { global $wpdb; $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; @@ -246,7 +224,6 @@ function slm_estore_product_deleted($prod_id) { $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_max_allowed_domains')); $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_date_of_expiry')); } - /************************************/ /*** End of WP eStore integration ***/ /************************************/ \ No newline at end of file diff --git a/software-license-manager/software-license-manager.php b/software-license-manager/software-license-manager.php index 1f293e4..d07583a 100644 --- a/software-license-manager/software-license-manager.php +++ b/software-license-manager/software-license-manager.php @@ -1,7 +1,7 @@ Date: Fri, 13 Jul 2018 10:00:10 -0400 Subject: [PATCH 016/293] Added support for version (until what version a key is supported) Improved Serial Key Generator --- .../admin/slm-add-licenses.php | 64 ++++++++++++------- .../admin/slm-list-licenses-class.php | 3 + ...software-license-manager-slm-installer.php | 3 +- .../includes/slm-api-listener.php | 4 +- .../includes/slm-debug-logger.php | 3 +- .../software-license-manager.php | 1 + software-license-manager/uninstall.php | 1 + 7 files changed, 51 insertions(+), 28 deletions(-) diff --git a/software-license-manager/admin/slm-add-licenses.php b/software-license-manager/admin/slm-add-licenses.php index 9f7fc17..909dcb7 100644 --- a/software-license-manager/admin/slm-add-licenses.php +++ b/software-license-manager/admin/slm-add-licenses.php @@ -3,25 +3,26 @@ function wp_lic_mgr_add_licenses_menu() { global $wpdb; //initialise some variables - $id = ''; - $license_key = ''; - $max_domains = 1; - $max_devices = 1; + $id = ''; + $license_key = ''; + $max_domains = 2; + $max_devices = 2; $license_status = ''; - $first_name = ''; - $last_name = ''; - $email = ''; - $company_name = ''; - $txn_id = ''; - $reset_count = ''; - $purchase_id_ = ''; - $created_date = ''; - $renewed_date = ''; - $expiry_date = ''; - $current_date = (date ("Y-m-d")); + $first_name = ''; + $last_name = ''; + $email = ''; + $company_name = ''; + $txn_id = ''; + $reset_count = ''; + $purchase_id_ = ''; + $created_date = ''; + $renewed_date = ''; + $expiry_date = ''; + $until = ''; + $product_ref = ''; + $current_date = (date ("Y-m-d")); + $slm_options = get_option('slm_plugin_options'); $current_date_plus_1year = date('Y-m-d', strtotime('+1 year')); - $product_ref = ''; - $slm_options = get_option('slm_plugin_options'); echo '
'; // echo '

Add/Edit Licenses

'; @@ -49,6 +50,7 @@ function wp_lic_mgr_add_licenses_menu() { $renewed_date = $record->date_renewed; $expiry_date = $record->date_expiry; $product_ref = $record->product_ref; + $until = $record->until; } if (isset($_POST['save_record'])) { @@ -76,6 +78,7 @@ function wp_lic_mgr_add_licenses_menu() { $renewed_date = $_POST['date_renewed']; $expiry_date = $_POST['date_expiry']; $product_ref = $_POST['product_ref']; + $until = $_POST['until']; if(empty($created_date)){ $created_date = $current_date; @@ -104,6 +107,7 @@ function wp_lic_mgr_add_licenses_menu() { $fields['date_renewed'] = $renewed_date; $fields['date_expiry'] = $expiry_date; $fields['product_ref'] = $product_ref; + $fields['until'] = $until; $id = isset($_POST['edit_record'])?$_POST['edit_record']:''; $lk_table = SLM_TBL_LICENSE_KEYS; @@ -171,6 +175,9 @@ function wp_lic_mgr_add_licenses_menu() {
"> @@ -218,20 +227,20 @@ function wp_lic_mgr_add_licenses_menu() {

User Information

- +
License user's first name
- +
License user's last name
- +
License user's email address
@@ -363,7 +372,7 @@ function wp_lic_mgr_add_licenses_menu() {
The product that this license gives access to.
-
+
+ +
+ + +
Until what version this product is supported +
+
+

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

diff --git a/software-license-manager/admin/slm-list-licenses-class.php b/software-license-manager/admin/slm-list-licenses-class.php index b244a8f..9f56402 100644 --- a/software-license-manager/admin/slm-list-licenses-class.php +++ b/software-license-manager/admin/slm-list-licenses-class.php @@ -61,6 +61,7 @@ function get_columns(){ 'date_created' => 'Date Created', 'date_renewed' => 'Date Renewed', 'date_expiry' => 'Expiration', + 'until' => 'Supported Until', ); return $columns; } @@ -71,6 +72,8 @@ function get_sortable_columns() { 'license_key' => array('license_key',false), 'lic_status' => array('lic_status',false), 'purchase_id_' => array('purchase_id_',false), + 'until' => array('until',false), + 'email' => array('email',false), 'date_created' => array('date_created',false), 'date_renewed' => array('date_renewed',false), 'date_expiry' => array('date_expiry',false), diff --git a/software-license-manager/includes/class-software-license-manager-slm-installer.php b/software-license-manager/includes/class-software-license-manager-slm-installer.php index 1db255a..ce3e8c7 100644 --- a/software-license-manager/includes/class-software-license-manager-slm-installer.php +++ b/software-license-manager/includes/class-software-license-manager-slm-installer.php @@ -43,6 +43,7 @@ date_renewed date NOT NULL DEFAULT '0000-00-00', date_expiry date NOT NULL DEFAULT '0000-00-00', product_ref varchar(255) NOT NULL default '', + until varchar(255) NOT NULL default '', PRIMARY KEY (id) )" . $charset_collate . ";"; dbDelta($lk_tbl_sql); @@ -75,7 +76,7 @@ 'lic_creation_secret' => uniqid('', true), 'lic_prefix' => '', 'default_max_domains' => '2', - 'default_max_devices' => '1', + 'default_max_devices' => '2', 'lic_verification_secret' => uniqid('', true), 'enable_debug' => '', 'slm_woo' => '', diff --git a/software-license-manager/includes/slm-api-listener.php b/software-license-manager/includes/slm-api-listener.php index 47afb0e..8e491e2 100644 --- a/software-license-manager/includes/slm-api-listener.php +++ b/software-license-manager/includes/slm-api-listener.php @@ -69,6 +69,7 @@ function creation_api_listener() { $fields['date_created'] = isset($_REQUEST['date_created'])?strip_tags($_REQUEST['date_created']):date("Y-m-d"); $fields['date_expiry'] = isset($_REQUEST['date_expiry'])?strip_tags($_REQUEST['date_expiry']):''; $fields['product_ref'] = isset( $_REQUEST['product_ref'] ) ? wp_unslash( strip_tags( $_REQUEST['product_ref'] ) ) : ''; + $fields['until'] = isset( $_REQUEST['until'] ) ? wp_unslash( strip_tags( $_REQUEST['until'] ) ) : ''; global $wpdb; $tbl_name = SLM_TBL_LICENSE_KEYS; @@ -327,7 +328,6 @@ function check_api_listener() { 'email' => $retLic->email, 'first_name' => $retLic->first_name, 'last_name' => $retLic->last_name, - // 'until' => $retLic->until, //until what version license is supported 'registered_domains' => $reg_domains, 'registered_devices' => $reg_devices, 'license_key' => $retLic->license_key, @@ -339,6 +339,7 @@ function check_api_listener() { 'last_name' => $retLic->last_name, 'company_name' => $retLic->company_name, 'txn_id' => $retLic->txn_id, + 'until' => $retLic->until, )); //Output the license details @@ -350,5 +351,4 @@ function check_api_listener() { } } } - } \ No newline at end of file diff --git a/software-license-manager/includes/slm-debug-logger.php b/software-license-manager/includes/slm-debug-logger.php index 058efac..195206d 100644 --- a/software-license-manager/includes/slm-debug-logger.php +++ b/software-license-manager/includes/slm-debug-logger.php @@ -11,8 +11,7 @@ * SLM_Debug_Logger::log_debug_st("Some debug message"); */ -class SLM_Debug_Logger -{ +class SLM_Debug_Logger{ var $log_folder_path; var $default_log_file = 'log.txt'; var $default_log_file_cron = 'log-cron-job.txt'; diff --git a/software-license-manager/software-license-manager.php b/software-license-manager/software-license-manager.php index d07583a..31e0fa1 100644 --- a/software-license-manager/software-license-manager.php +++ b/software-license-manager/software-license-manager.php @@ -7,6 +7,7 @@ Author URI: https://www.tipsandtricks-hq.com/ Description: Software license management solution for your web applications (WordPress plugins, Themes, Applications, PHP based membership script etc.). Supports WooCommerce and Subscriptio Plugin. Author2: Michel Velis +Text Domain: slm */ // If this file is called directly, abort. diff --git a/software-license-manager/uninstall.php b/software-license-manager/uninstall.php index 36463a3..5c88149 100644 --- a/software-license-manager/uninstall.php +++ b/software-license-manager/uninstall.php @@ -21,6 +21,7 @@ // Delete Options $slm_options = array( 'wp_lic_mgr_db_version', + 'slm_plugin_options', ); foreach ( $slm_options as $option ) { From ed37d723b214a636b1bab00514e021e74db6f06f Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Fri, 13 Jul 2018 15:25:44 -0400 Subject: [PATCH 017/293] added todo file --- TODO.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 TODO.md diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..6400e07 --- /dev/null +++ b/TODO.md @@ -0,0 +1,7 @@ +## TO DO + +- [x] Woocommerce intergration (native) +- [x] Add Woocommerce tab to my account page +- [ ] Allow license cancelation +- [ ] Fully Support Subscriptio Plugin +- [ ] Add Ajax Validation to Forms \ No newline at end of file From 91fbd004a48a0d66a9485827baaf88214b2a764c Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Fri, 13 Jul 2018 15:27:52 -0400 Subject: [PATCH 018/293] added new tasks --- TODO.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/TODO.md b/TODO.md index 6400e07..7e60588 100644 --- a/TODO.md +++ b/TODO.md @@ -1,7 +1,12 @@ ## TO DO -- [x] Woocommerce intergration (native) +- [x] Woocommerce integration (native) - [x] Add Woocommerce tab to my account page -- [ ] Allow license cancelation -- [ ] Fully Support Subscriptio Plugin -- [ ] Add Ajax Validation to Forms \ No newline at end of file +- [ ] Allow license cancellation +- [ ] Fully Support Subscriptio Plug-in +- [ ] Add Ajax Validation to Forms +- [ ] Fix single product meta boxes +- [ ] Combine single and variation products functionality + + +Feedback and ideas are welcome. :)s \ No newline at end of file From 58f886453bf483acc0c8fddba37cc2b3673b6db6 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Tue, 17 Jul 2018 15:33:54 -0400 Subject: [PATCH 019/293] formatted code --- .../includes/slm-api-listener.php | 57 ++++++++----------- 1 file changed, 25 insertions(+), 32 deletions(-) diff --git a/software-license-manager/includes/slm-api-listener.php b/software-license-manager/includes/slm-api-listener.php index 8e491e2..6b427ce 100644 --- a/software-license-manager/includes/slm-api-listener.php +++ b/software-license-manager/includes/slm-api-listener.php @@ -156,10 +156,8 @@ function activation_api_listener() { SLM_API_Utility::output_api_response($args); } } - $fields['lic_key_id'] = $retLic->id; $wpdb->insert($reg_table, $fields); - $slm_debug_logger->log_debug("Updating license key status to active for domain."); $data = array('lic_status' => 'active'); $where = array('id' => $retLic->id); @@ -174,11 +172,8 @@ function activation_api_listener() { } } - if (isset($_REQUEST['registered_devices']) && !empty($_REQUEST['registered_devices'])) { - if (count($reg_devices) < floor($retLic->max_allowed_devices)) { - foreach ($reg_devices as $reg_devices) { if (isset($_REQUEST['migrate_from']) && (trim($_REQUEST['migrate_from']) == $reg_devices->registered_devices)) { @@ -203,22 +198,19 @@ function activation_api_listener() { $args = (array('result' => 'success', 'code' => '200', 'message' => 'License key activated', )); SLM_API_Utility::output_api_response($args); } - else { $args = (array('result' => 'error', 'message' => 'Reached maximum allowable devices', 'error_code' => SLM_Error_Codes::REACHED_MAX_DEVICES)); SLM_API_Utility::output_api_response($args); } } - - } else { + } + else { $args = (array('result' => 'error', 'message' => 'Invalid license key', 'error_code' => SLM_Error_Codes::LICENSE_INVALID)); SLM_API_Utility::output_api_response($args); } } } - // TODO : add support for devices deactivation - function deactivation_api_listener() { if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_deactivate') { //Handle the license deactivation API query @@ -317,29 +309,30 @@ function check_api_listener() { $reg_domains = $wpdb->get_results($sql_prep2, OBJECT); $reg_devices = $wpdb->get_results($sql_prep3, OBJECT); - if ($retLic) {//A license key exists + + if ($retLic) { //A license key exists $args = apply_filters( 'slm_check_response_args', array( - 'result' => 'success', - 'code' => '200', - 'message' => 'License key details retrieved.', - 'status' => $retLic->lic_status, - 'max_allowed_domains' => $retLic->max_allowed_domains, - 'max_allowed_devices' => $retLic->max_allowed_devices, - 'email' => $retLic->email, - 'first_name' => $retLic->first_name, - 'last_name' => $retLic->last_name, - 'registered_domains' => $reg_domains, - 'registered_devices' => $reg_devices, - 'license_key' => $retLic->license_key, - 'date_created' => $retLic->date_created, - 'date_renewed' => $retLic->date_renewed, - 'date_expiry' => $retLic->date_expiry, - 'product_ref' => $retLic->product_ref, - 'first_name' => $retLic->first_name, - 'last_name' => $retLic->last_name, - 'company_name' => $retLic->company_name, - 'txn_id' => $retLic->txn_id, - 'until' => $retLic->until, + 'result' => 'success', + 'code' => '200', + 'message' => 'License key details retrieved.', + 'status' => $retLic->lic_status, + 'max_allowed_domains' => $retLic->max_allowed_domains, + 'max_allowed_devices' => $retLic->max_allowed_devices, + 'email' => $retLic->email, + 'first_name' => $retLic->first_name, + 'last_name' => $retLic->last_name, + 'registered_domains' => $reg_domains, + 'registered_devices' => $reg_devices, + 'license_key' => $retLic->license_key, + 'date_created' => $retLic->date_created, + 'date_renewed' => $retLic->date_renewed, + 'date_expiry' => $retLic->date_expiry, + 'product_ref' => $retLic->product_ref, + 'first_name' => $retLic->first_name, + 'last_name' => $retLic->last_name, + 'company_name' => $retLic->company_name, + 'txn_id' => $retLic->txn_id, + 'until' => $retLic->until, )); //Output the license details From 8013168a071e1d71c1b97dae1881de9deaf3ad79 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Tue, 17 Jul 2018 15:43:33 -0400 Subject: [PATCH 020/293] fixed typo --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 43d4c2d..ecea636 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ All notable changes to this project will be documented in this file. #### 4.1 -- Added: New action hookFadded a new action hook +- Added: New action hook added. #### 4.0 - Fixed a typo with the slm_api_response_args filter From d8ae3774e4ab7af7f3b0fd8eaee110afa50cb96b Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Wed, 8 Aug 2018 18:12:38 -0400 Subject: [PATCH 021/293] #### 4.1 -- Added: Support for license removal using api (slm_action=slm_remove) --- CHANGELOG.md | 3 ++ .../includes/slm-api-listener.php | 43 +++++++++++++++++++ .../includes/slm-api-utility.php | 10 ----- .../includes/slm-error-codes.php | 7 +-- .../software-license-manager.php | 6 +-- 5 files changed, 53 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ecea636..7b912b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ # CHANGELOG All notable changes to this project will be documented in this file. +#### 4.1 +- Added: Support for license removal using api (slm_action=slm_remove) + #### 4.1 - Added: New action hook added. diff --git a/software-license-manager/includes/slm-api-listener.php b/software-license-manager/includes/slm-api-listener.php index 6b427ce..bdc352a 100644 --- a/software-license-manager/includes/slm-api-listener.php +++ b/software-license-manager/includes/slm-api-listener.php @@ -14,11 +14,13 @@ class SLM_API_Listener { function __construct() { if (isset($_REQUEST['slm_action']) && isset($_REQUEST['secret_key'])) { + //This is an API query for the license manager. Handle the query. $this->creation_api_listener(); $this->activation_api_listener(); $this->deactivation_api_listener(); $this->check_api_listener(); + $this->removal_api_listener(); } } @@ -280,6 +282,47 @@ function deactivation_api_listener() { } } + function removal_api_listener(){ + if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_remove') { + //Handle the license activation API query + global $slm_debug_logger; + + SLM_API_Utility::verify_secret_key(); //Verify the secret key first. + + $slm_debug_logger->log_debug("API - license removal (slm_remove) request received."); + + //Action hook + do_action('slm_api_listener_slm_remove'); + + global $wpdb; + $tbl_name = SLM_TBL_LICENSE_KEYS; + $reg_table = SLM_TBL_LIC_DOMAIN; + $reg_table_devices = SLM_TBL_LIC_DEVICES; + + $fields = array(); + $fields['lic_key'] = trim(strip_tags($_REQUEST['license_key'])); + $key = $fields['lic_key']; + + $sql_query = $wpdb->delete( $tbl_name, array( 'license_key' => $key ) ); + + // TODO: cleanup devices and domain table + + if ( $sql_query ) { + $args = (array('result' => 'success', 'code' => SLM_Error_Codes::KEY_CANCELED, 'message' => 'License key removed', 'key' => $key, 'found_in' => $tbl_name )); + SLM_API_Utility::output_api_response($args); + } + else { + $args = (array('result' => 'error', 'code' => SLM_Error_Codes::KEY_CANCELED_FAILED, 'message' => 'License key was not removed', 'key' => $key, 'reason' => 'not found' )); + SLM_API_Utility::output_api_response($args); + } + + } + else { + $args = (array('result' => 'error', 'message' => 'License key not found.', 'error_code' => SLM_Error_Codes::KEY_CANCELED_FAILED)); + SLM_API_Utility::output_api_response($args); + } + } + function check_api_listener() { if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_check') { //Handle the license check API query diff --git a/software-license-manager/includes/slm-api-utility.php b/software-license-manager/includes/slm-api-utility.php index cc637e5..7173a21 100644 --- a/software-license-manager/includes/slm-api-utility.php +++ b/software-license-manager/includes/slm-api-utility.php @@ -42,16 +42,6 @@ static function verify_secret_key_for_creation() { } static function insert_license_data_internal($fields) { - /* The fields array should have values for the following keys - //$fields['license_key'] - //$fields['lic_status'] - //$fields['first_name'] - //$fields['last_name'] - //$fields['email'] - //$fields['company_name'] - //$fields['txn_id'] - //$fields['max_allowed_domains'] - */ global $wpdb; $tbl_name = SLM_TBL_LICENSE_KEYS; $fields = array_filter($fields);//Remove any null values. diff --git a/software-license-manager/includes/slm-error-codes.php b/software-license-manager/includes/slm-error-codes.php index cdad6ce..d4ee0f6 100644 --- a/software-license-manager/includes/slm-error-codes.php +++ b/software-license-manager/includes/slm-error-codes.php @@ -4,7 +4,6 @@ * Contains the API error codes */ class SLM_Error_Codes { - const CREATE_FAILED = 10; const LICENSE_BLOCKED = 20; const LICENSE_EXPIRED = 30; @@ -15,6 +14,8 @@ class SLM_Error_Codes { const DOMAIN_ALREADY_INACTIVE = 80; const VERIFY_KEY_INVALID = 90; const CREATE_KEY_INVALID = 100; - const REACHED_MAX_DEVICES = 100; - + const REACHED_MAX_DEVICES = 120; + const KEY_DELETED = 130; + const KEY_CANCELED = 130; + const KEY_CANCELED_FAILED = 140; } diff --git a/software-license-manager/software-license-manager.php b/software-license-manager/software-license-manager.php index 31e0fa1..64693b9 100644 --- a/software-license-manager/software-license-manager.php +++ b/software-license-manager/software-license-manager.php @@ -1,7 +1,7 @@ Date: Wed, 8 Aug 2018 18:15:08 -0400 Subject: [PATCH 022/293] fixed typo --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b912b9..cb2a0f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ # CHANGELOG All notable changes to this project will be documented in this file. -#### 4.1 +#### 4.2 - Added: Support for license removal using api (slm_action=slm_remove) #### 4.1 From 1bd62f907941a41a389c777494affaabf1758116 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Wed, 8 Aug 2018 18:17:36 -0400 Subject: [PATCH 023/293] updated read me file --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0b01096..cf52063 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ This plugin is very useful for creating a license server and doing the following - Check the status of a license key from from your application (remotely) - Activate a license key from your application (remotely) - Deactivate a license key (remotely) +- Delete a license key (remotely) - Check a license key (remotely) - Track where the license key is being used. - You can also create license keys manually from the admin dashboard of this plugin. From 16ba24f9e8337aba88ed85983586d1e45bb49069 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 9 Aug 2018 09:44:25 -0400 Subject: [PATCH 024/293] third party support --- .../admin/includes/index.html | 0 .../includes/subscriptio}/slm-subscriptio.php | 0 .../includes/wpestores/slm-wpestores.php} | 2 + .../admin/slm-lic-settings.php | 10 +- .../includes/slm-meta-boxes.php | 160 +++++++++++++++++- .../includes/slm_plugin_core.php | 17 +- 6 files changed, 182 insertions(+), 7 deletions(-) delete mode 100644 software-license-manager/admin/includes/index.html rename software-license-manager/{includes => admin/includes/subscriptio}/slm-subscriptio.php (100%) rename software-license-manager/{includes/slm-third-party-integration.php => admin/includes/wpestores/slm-wpestores.php} (99%) diff --git a/software-license-manager/admin/includes/index.html b/software-license-manager/admin/includes/index.html deleted file mode 100644 index e69de29..0000000 diff --git a/software-license-manager/includes/slm-subscriptio.php b/software-license-manager/admin/includes/subscriptio/slm-subscriptio.php similarity index 100% rename from software-license-manager/includes/slm-subscriptio.php rename to software-license-manager/admin/includes/subscriptio/slm-subscriptio.php diff --git a/software-license-manager/includes/slm-third-party-integration.php b/software-license-manager/admin/includes/wpestores/slm-wpestores.php similarity index 99% rename from software-license-manager/includes/slm-third-party-integration.php rename to software-license-manager/admin/includes/wpestores/slm-wpestores.php index 0cdf087..205aeb0 100644 --- a/software-license-manager/includes/slm-third-party-integration.php +++ b/software-license-manager/admin/includes/wpestores/slm-wpestores.php @@ -1,7 +1,9 @@ isset($_POST['enable_debug']) ? '1':'', 'slm_woo' => isset($_POST['slm_woo']) ? '1':'', 'slm_subscriptio' => isset($_POST['slm_subscriptio']) ? '1':'', + 'slm_wpestores' => isset($_POST['slm_wpestores']) ? '1':'', ); update_option('slm_plugin_options', $options); @@ -138,8 +139,15 @@ function wp_lic_mgr_general_settings() { value="1"/>
Subscriptio is a WooCommerce extension that allows you to sell subscriptions. Subscriptio adds recurring payments capability to WooCommerce so you can sell products like magazine subscriptions, online memberships, e-learning packages and any other tangible or intangible products. Learn More - + + WP eStores Support + + value="1"/>
+ WordPress eStore Plugin – Complete Solution to Sell Digital Products from Your WordPress Blog Securely + + diff --git a/software-license-manager/includes/slm-meta-boxes.php b/software-license-manager/includes/slm-meta-boxes.php index 00ed4e1..cbde8ef 100644 --- a/software-license-manager/includes/slm-meta-boxes.php +++ b/software-license-manager/includes/slm-meta-boxes.php @@ -61,4 +61,162 @@ function save_variation_fields( $variation_id, $i) { $text_field = stripslashes( $_POST['amount_of_licenses_devices'][$i] ); update_post_meta( $variation_id, 'amount_of_licenses_devices', esc_attr( $text_field ) ); -} \ No newline at end of file +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +// First Register the Tab by hooking into the 'woocommerce_product_data_tabs' filter +add_filter( 'woocommerce_product_data_tabs', 'add_my_custom_product_data_tab' ); +function add_my_custom_product_data_tab( $product_data_tabs ) { + $product_data_tabs['my-custom-tab'] = array( + 'label' => __( 'License', 'woocommerce' ), + 'target' => 'my_custom_product_data', + 'class' => array( 'show_if_simple', 'show_if_variable' ), + ); + return $product_data_tabs; +} + + + + + +// functions you can call to output text boxes, select boxes, etc. +add_action('woocommerce_product_data_panels', 'woocom_custom_product_data_fields'); + +function woocom_custom_product_data_fields() { + global $post; + + // Note the 'id' attribute needs to match the 'target' parameter set above + ?>
'_text_field', + 'label' => __( 'Custom Text Field', 'woocommerce' ), + 'wrapper_class' => 'show_if_simple', //show_if_simple or show_if_variable + 'placeholder' => 'Custom text field', + 'desc_tip' => 'true', + 'description' => __( 'Enter the custom value here.', 'woocommerce' ) + ) + ); + + // Number Field + woocommerce_wp_text_input( + array( + 'id' => '_number_field', + 'label' => __( 'Custom Number Field', 'woocommerce' ), + 'placeholder' => '', + 'description' => __( 'Enter the custom value here.', 'woocommerce' ), + 'type' => 'number', + 'custom_attributes' => array( + 'step' => 'any', + 'min' => '15' + ) + ) + ); + + // Checkbox + woocommerce_wp_checkbox( + array( + 'id' => '_checkbox', + 'label' => __('Custom Checkbox Field', 'woocommerce' ), + 'description' => __( 'Check me!', 'woocommerce' ) + ) + ); + + // Select + woocommerce_wp_select( + array( + 'id' => '_select', + 'label' => __( 'Custom Select Field', 'woocommerce' ), + 'options' => array( + 'one' => __( 'Custom Option 1', 'woocommerce' ), + 'two' => __( 'Custom Option 2', 'woocommerce' ), + 'three' => __( 'Custom Option 3', 'woocommerce' ) + ) + ) + ); + + // Textarea + woocommerce_wp_textarea_input( + array( + 'id' => '_textarea', + 'label' => __( 'Custom Textarea', 'woocommerce' ), + 'placeholder' => '', + 'description' => __( 'Enter the value here.', 'woocommerce' ) + ) + ); + ?>
+ +
Date: Thu, 9 Aug 2018 09:47:36 -0400 Subject: [PATCH 025/293] Set theme jekyll-theme-tactile --- _config.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 _config.yml diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..259a24e --- /dev/null +++ b/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-tactile \ No newline at end of file From a85b107e51824e89ae950b8ab1c2f53b7ddda32f Mon Sep 17 00:00:00 2001 From: Michel Date: Thu, 23 Aug 2018 12:28:25 -0400 Subject: [PATCH 026/293] Update TODO.md --- TODO.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TODO.md b/TODO.md index 7e60588..67213b3 100644 --- a/TODO.md +++ b/TODO.md @@ -7,6 +7,7 @@ - [ ] Add Ajax Validation to Forms - [ ] Fix single product meta boxes - [ ] Combine single and variation products functionality +- [ ] Make Expiry and Renewal dates optional (V4.5) -Feedback and ideas are welcome. :)s \ No newline at end of file +Feedback and ideas are welcome. :)s From cbdb6058fb35461a5112983f30edc3ebd9515885 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Tue, 27 Nov 2018 22:51:29 -0500 Subject: [PATCH 027/293] no message --- .gitignore | 0 CHANGELOG.md | 0 LICENSE.md | 0 README.md | 0 TODO.md | 0 software-license-manager/LICENSE.md | 0 .../admin/includes/index.html | 0 .../admin/includes/slm-list-table-class.php | 0 .../includes/subscriptio}/slm-subscriptio.php | 0 .../includes/woocommerce/includes/emails.php | 0 .../includes/woocommerce/includes/helper.php | 0 .../woocommerce/includes/meta-boxes.php | 0 .../woocommerce/includes/purchase.php | 110 ++++-------- .../admin/includes/woocommerce/license.txt | 0 .../wc-software-license-manager.php | 0 .../includes/wpestores/slm-wpestores.php} | 2 + software-license-manager/admin/index.html | 0 .../admin/slm-add-licenses.php | 0 .../admin/slm-admin-functions.php | 0 .../admin/slm-admin-init.php | 0 .../admin/slm-integration-help-page.php | 0 .../admin/slm-lic-settings.php | 10 +- .../admin/slm-list-licenses-class.php | 0 .../admin/slm-manage-licenses.php | 0 ...ass-software-license-manager-activator.php | 0 ...s-software-license-manager-deactivator.php | 0 ...software-license-manager-slm-installer.php | 0 software-license-manager/includes/index.php | 0 .../includes/slm-api-listener.php | 0 .../includes/slm-api-utility.php | 0 .../includes/slm-debug-logger.php | 0 .../includes/slm-error-codes.php | 0 .../includes/slm-init-time-tasks.php | 0 .../includes/slm-meta-boxes.php | 160 +++++++++++++++++- .../includes/slm-utility.php | 0 .../includes/slm_plugin_core.php | 17 +- software-license-manager/index.php | 0 .../public/assets/css/jquery-ui.css | 0 .../public/assets/css/slm.css | 0 .../public/assets/images/Screen-Shot-0.png | Bin .../public/assets/images/Screen-Shot-1.png | Bin .../public/assets/images/Screen-Shot-2.png | Bin .../public/assets/images/Screen-Shot-3.png | Bin .../public/assets/images/Screen-Shot-4.png | Bin .../public/assets/images/Screen-Shot-5.png | Bin .../public/assets/images/bg.png | Bin .../public/assets/images/key-26.svg | 0 .../public/assets/images/slm_logo.png | Bin .../public/assets/images/slm_logo.svg | 0 .../public/assets/images/slm_logo_small.png | Bin .../public/assets/images/slm_logo_small.svg | 0 .../public/assets/js/index.html | 0 .../public/assets/js/wplm-custom-admin.js | 0 .../public/slm-add-menu-frontend.php | 0 .../software-license-manager.php | 0 software-license-manager/uninstall.php | 0 56 files changed, 211 insertions(+), 88 deletions(-) mode change 100644 => 100755 .gitignore mode change 100644 => 100755 CHANGELOG.md mode change 100644 => 100755 LICENSE.md mode change 100644 => 100755 README.md mode change 100644 => 100755 TODO.md mode change 100644 => 100755 software-license-manager/LICENSE.md delete mode 100644 software-license-manager/admin/includes/index.html mode change 100644 => 100755 software-license-manager/admin/includes/slm-list-table-class.php rename software-license-manager/{includes => admin/includes/subscriptio}/slm-subscriptio.php (100%) mode change 100644 => 100755 mode change 100644 => 100755 software-license-manager/admin/includes/woocommerce/includes/emails.php mode change 100644 => 100755 software-license-manager/admin/includes/woocommerce/includes/helper.php mode change 100644 => 100755 software-license-manager/admin/includes/woocommerce/includes/meta-boxes.php mode change 100644 => 100755 software-license-manager/admin/includes/woocommerce/includes/purchase.php mode change 100644 => 100755 software-license-manager/admin/includes/woocommerce/license.txt mode change 100644 => 100755 software-license-manager/admin/includes/woocommerce/wc-software-license-manager.php rename software-license-manager/{includes/slm-third-party-integration.php => admin/includes/wpestores/slm-wpestores.php} (99%) mode change 100644 => 100755 mode change 100644 => 100755 software-license-manager/admin/index.html mode change 100644 => 100755 software-license-manager/admin/slm-add-licenses.php mode change 100644 => 100755 software-license-manager/admin/slm-admin-functions.php mode change 100644 => 100755 software-license-manager/admin/slm-admin-init.php mode change 100644 => 100755 software-license-manager/admin/slm-integration-help-page.php mode change 100644 => 100755 software-license-manager/admin/slm-lic-settings.php mode change 100644 => 100755 software-license-manager/admin/slm-list-licenses-class.php mode change 100644 => 100755 software-license-manager/admin/slm-manage-licenses.php mode change 100644 => 100755 software-license-manager/includes/class-software-license-manager-activator.php mode change 100644 => 100755 software-license-manager/includes/class-software-license-manager-deactivator.php mode change 100644 => 100755 software-license-manager/includes/class-software-license-manager-slm-installer.php mode change 100644 => 100755 software-license-manager/includes/index.php mode change 100644 => 100755 software-license-manager/includes/slm-api-listener.php mode change 100644 => 100755 software-license-manager/includes/slm-api-utility.php mode change 100644 => 100755 software-license-manager/includes/slm-debug-logger.php mode change 100644 => 100755 software-license-manager/includes/slm-error-codes.php mode change 100644 => 100755 software-license-manager/includes/slm-init-time-tasks.php mode change 100644 => 100755 software-license-manager/includes/slm-meta-boxes.php mode change 100644 => 100755 software-license-manager/includes/slm-utility.php mode change 100644 => 100755 software-license-manager/includes/slm_plugin_core.php mode change 100644 => 100755 software-license-manager/index.php mode change 100644 => 100755 software-license-manager/public/assets/css/jquery-ui.css mode change 100644 => 100755 software-license-manager/public/assets/css/slm.css mode change 100644 => 100755 software-license-manager/public/assets/images/Screen-Shot-0.png mode change 100644 => 100755 software-license-manager/public/assets/images/Screen-Shot-1.png mode change 100644 => 100755 software-license-manager/public/assets/images/Screen-Shot-2.png mode change 100644 => 100755 software-license-manager/public/assets/images/Screen-Shot-3.png mode change 100644 => 100755 software-license-manager/public/assets/images/Screen-Shot-4.png mode change 100644 => 100755 software-license-manager/public/assets/images/Screen-Shot-5.png mode change 100644 => 100755 software-license-manager/public/assets/images/bg.png mode change 100644 => 100755 software-license-manager/public/assets/images/key-26.svg mode change 100644 => 100755 software-license-manager/public/assets/images/slm_logo.png mode change 100644 => 100755 software-license-manager/public/assets/images/slm_logo.svg mode change 100644 => 100755 software-license-manager/public/assets/images/slm_logo_small.png mode change 100644 => 100755 software-license-manager/public/assets/images/slm_logo_small.svg mode change 100644 => 100755 software-license-manager/public/assets/js/index.html mode change 100644 => 100755 software-license-manager/public/assets/js/wplm-custom-admin.js mode change 100644 => 100755 software-license-manager/public/slm-add-menu-frontend.php mode change 100644 => 100755 software-license-manager/software-license-manager.php mode change 100644 => 100755 software-license-manager/uninstall.php diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/CHANGELOG.md b/CHANGELOG.md old mode 100644 new mode 100755 diff --git a/LICENSE.md b/LICENSE.md old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/TODO.md b/TODO.md old mode 100644 new mode 100755 diff --git a/software-license-manager/LICENSE.md b/software-license-manager/LICENSE.md old mode 100644 new mode 100755 diff --git a/software-license-manager/admin/includes/index.html b/software-license-manager/admin/includes/index.html deleted file mode 100644 index e69de29..0000000 diff --git a/software-license-manager/admin/includes/slm-list-table-class.php b/software-license-manager/admin/includes/slm-list-table-class.php old mode 100644 new mode 100755 diff --git a/software-license-manager/includes/slm-subscriptio.php b/software-license-manager/admin/includes/subscriptio/slm-subscriptio.php old mode 100644 new mode 100755 similarity index 100% rename from software-license-manager/includes/slm-subscriptio.php rename to software-license-manager/admin/includes/subscriptio/slm-subscriptio.php diff --git a/software-license-manager/admin/includes/woocommerce/includes/emails.php b/software-license-manager/admin/includes/woocommerce/includes/emails.php old mode 100644 new mode 100755 diff --git a/software-license-manager/admin/includes/woocommerce/includes/helper.php b/software-license-manager/admin/includes/woocommerce/includes/helper.php old mode 100644 new mode 100755 diff --git a/software-license-manager/admin/includes/woocommerce/includes/meta-boxes.php b/software-license-manager/admin/includes/woocommerce/includes/meta-boxes.php old mode 100644 new mode 100755 diff --git a/software-license-manager/admin/includes/woocommerce/includes/purchase.php b/software-license-manager/admin/includes/woocommerce/includes/purchase.php old mode 100644 new mode 100755 index 736bc79..8fe95b9 --- a/software-license-manager/admin/includes/woocommerce/includes/purchase.php +++ b/software-license-manager/admin/includes/woocommerce/includes/purchase.php @@ -32,17 +32,14 @@ function wc_slm_on_complete_purchase($order_id) { */ function wc_slm_create_license_keys($order_id) { - $_order = new WC_Order($order_id); - $order_id = new WC_Order( $order_id ); - - // write_log('order info '. $order_id); - // die(); + $_order = new WC_Order($order_id); + $order_id = new WC_Order( $order_id ); global $purchase_id; - $purchase_id_ = $order_id->id; - $user_id = $_order->get_user_id(); - $user_info = get_userdata($user_id); - $get_user_meta = get_user_meta($user_id); + $purchase_id_ = $order_id->id; + $user_id = $_order->get_user_id(); + $user_info = get_userdata($user_id); + $get_user_meta = get_user_meta($user_id); $payment_meta['user_info']['first_name'] = $get_user_meta['billing_first_name'][0]; $payment_meta['user_info']['last_name'] = $get_user_meta['billing_last_name'][0]; $payment_meta['user_info']['email'] = $get_user_meta['billing_email'][0]; @@ -52,6 +49,7 @@ function wc_slm_create_license_keys($order_id) { $licenses = array(); $items = $_order->get_items(); + foreach ($items as $item => $values) { $download_id = $product_id = $values['product_id']; $product = new WC_Product($product_id); @@ -123,47 +121,33 @@ function wc_slm_create_license_keys($order_id) { // Build parameters $api_params = array(); - $api_params['slm_action'] = 'slm_create_new'; - $api_params['secret_key'] = KEY_API; - $api_params['first_name'] = (isset($payment_meta['user_info']['first_name'])) ? $payment_meta['user_info']['first_name'] : ''; - $api_params['last_name'] = (isset($payment_meta['user_info']['last_name'])) ? $payment_meta['user_info']['last_name'] : ''; - $api_params['email'] = (isset($payment_meta['user_info']['email'])) ? $payment_meta['user_info']['email'] : ''; - $api_params['company_name'] = $payment_meta['user_info']['company']; - $api_params['purchase_id_'] = $purchase_id_; - $api_params['product_ref'] = '16'; - - /** - * set product id as txn - * @since 1.0.2 - * can be set to order id by $order_id var instead of $product_id - * @since 1.0.7 txn_id change from $product_id to $order_id - * @ref https://wordpress.org/support/topic/qty-1-generates-same-license - */ - $api_params['txn_id'] = $purchase_id_; - // $api_params['max_allowed_domains'] = $sites_allowed; //unique per product - $api_params['max_allowed_domains'] = $amount_of_licenses; //unique per product - $api_params['max_allowed_devices'] = $amount_of_licenses_devices; //unique per product + $api_params['slm_action'] = 'slm_create_new'; + $api_params['secret_key'] = KEY_API; + $api_params['first_name'] = (isset($payment_meta['user_info']['first_name'])) ? $payment_meta['user_info']['first_name'] : ''; + $api_params['last_name'] = (isset($payment_meta['user_info']['last_name'])) ? $payment_meta['user_info']['last_name'] : ''; + $api_params['email'] = (isset($payment_meta['user_info']['email'])) ? $payment_meta['user_info']['email'] : ''; + $api_params['company_name'] = $payment_meta['user_info']['company']; + $api_params['purchase_id_'] = $purchase_id_; + $api_params['product_ref'] = $product_id; // TODO: get product id + $api_params['txn_id'] = $purchase_id_; + $api_params['max_allowed_domains'] = $amount_of_licenses; + $api_params['max_allowed_devices'] = $amount_of_licenses_devices; $api_params['date_created'] = date('Y-m-d'); $api_params['date_expiry'] = $renewal_period; // Send query to the license manager server - $url = 'http://' . WOO_SLM_API_URL . '?' . http_build_query($api_params); - $url = str_replace(array('http://', 'https://'), '', $url); - $url = 'http://' . $url; - $response = wp_remote_get($url, array('timeout' => 20, 'sslverify' => false)); - $license_key = wc_slm_get_license_key($response); + $url = 'http://' . WOO_SLM_API_URL . '?' . http_build_query($api_params); + $url = str_replace(array('http://', 'https://'), '', $url); + $url = 'http://' . $url; + $response = wp_remote_get($url, array('timeout' => 20, 'sslverify' => false)); + $license_key = wc_slm_get_license_key($response); // Collect license keys if ($license_key) { $licenses[] = array( - 'item' => $item_name, - 'key' => $license_key, - /** - * Add Expire Date - * @since 1.0.7 - * @author AvdP (Albert van der Ploeg) - */ - 'expires' => $renewal_period, + 'item' => $item_name, + 'key' => $license_key, + 'expires' => $renewal_period, ); } } @@ -213,12 +197,11 @@ function wc_slm_payment_note($order_id, $licenses) { if ($licenses && count($licenses) != 0) { $message = __('License Key(s) generated', 'wc-slm'); - foreach ($licenses as $license) { - $message .= '
' . $license['item'] . ': ' . $license['key']; } - } else { + } + else { $message = __('License Key(s) could not be created.', 'wc-slm'); } @@ -228,10 +211,7 @@ function wc_slm_payment_note($order_id, $licenses) { /** * Assign generated license keys to payments - * - * @since 1.0.0 - * @return void - */ +*/ function wc_slm_assign_licenses($order_id, $licenses) { if (count($licenses) != 0) { @@ -311,35 +291,3 @@ function wc_get_payment_transaction_id($order_id) { return get_post_meta($order_id, '_transaction_id', true); } -/** - * add license details to user account details - * @since 1.0.3 - */ -//add_action('woocommerce_order_details_after_order_table', 'wc_slm_lic_order_meta', 10, 1); - -function wc_slm_lic_order_meta($order) { - $licenses = get_post_meta($order->post->ID, '_wc_slm_payment_licenses', true); - - if ($licenses && count($licenses) != 0) { - $output = '

' . __('Your Licenses', 'wc-slm') . ':

'; - foreach ($licenses as $license) { - $output .= ''; - if (isset($license['item']) && isset($license['key'])) { - - if ($output) { - $output .= '
'; - } - $output .= ''; - $output .= ''; - } else { - $output .= 'No item and key assigned'; - } - $output .= ''; - } - $output .= '
' . __('Item', 'wc-slm') . '' . __('License', 'wc-slm') . '
' . $license['item'] . '' . $license['key'] . '
'; - } - - if (isset($output)) { - echo $output; - } -} \ No newline at end of file diff --git a/software-license-manager/admin/includes/woocommerce/license.txt b/software-license-manager/admin/includes/woocommerce/license.txt old mode 100644 new mode 100755 diff --git a/software-license-manager/admin/includes/woocommerce/wc-software-license-manager.php b/software-license-manager/admin/includes/woocommerce/wc-software-license-manager.php old mode 100644 new mode 100755 diff --git a/software-license-manager/includes/slm-third-party-integration.php b/software-license-manager/admin/includes/wpestores/slm-wpestores.php old mode 100644 new mode 100755 similarity index 99% rename from software-license-manager/includes/slm-third-party-integration.php rename to software-license-manager/admin/includes/wpestores/slm-wpestores.php index 0cdf087..205aeb0 --- a/software-license-manager/includes/slm-third-party-integration.php +++ b/software-license-manager/admin/includes/wpestores/slm-wpestores.php @@ -1,7 +1,9 @@ isset($_POST['enable_debug']) ? '1':'', 'slm_woo' => isset($_POST['slm_woo']) ? '1':'', 'slm_subscriptio' => isset($_POST['slm_subscriptio']) ? '1':'', + 'slm_wpestores' => isset($_POST['slm_wpestores']) ? '1':'', ); update_option('slm_plugin_options', $options); @@ -138,8 +139,15 @@ function wp_lic_mgr_general_settings() { value="1"/>
Subscriptio is a WooCommerce extension that allows you to sell subscriptions. Subscriptio adds recurring payments capability to WooCommerce so you can sell products like magazine subscriptions, online memberships, e-learning packages and any other tangible or intangible products. Learn More - + + WP eStores Support + + value="1"/>
+ WordPress eStore Plugin – Complete Solution to Sell Digital Products from Your WordPress Blog Securely + + diff --git a/software-license-manager/admin/slm-list-licenses-class.php b/software-license-manager/admin/slm-list-licenses-class.php old mode 100644 new mode 100755 diff --git a/software-license-manager/admin/slm-manage-licenses.php b/software-license-manager/admin/slm-manage-licenses.php old mode 100644 new mode 100755 diff --git a/software-license-manager/includes/class-software-license-manager-activator.php b/software-license-manager/includes/class-software-license-manager-activator.php old mode 100644 new mode 100755 diff --git a/software-license-manager/includes/class-software-license-manager-deactivator.php b/software-license-manager/includes/class-software-license-manager-deactivator.php old mode 100644 new mode 100755 diff --git a/software-license-manager/includes/class-software-license-manager-slm-installer.php b/software-license-manager/includes/class-software-license-manager-slm-installer.php old mode 100644 new mode 100755 diff --git a/software-license-manager/includes/index.php b/software-license-manager/includes/index.php old mode 100644 new mode 100755 diff --git a/software-license-manager/includes/slm-api-listener.php b/software-license-manager/includes/slm-api-listener.php old mode 100644 new mode 100755 diff --git a/software-license-manager/includes/slm-api-utility.php b/software-license-manager/includes/slm-api-utility.php old mode 100644 new mode 100755 diff --git a/software-license-manager/includes/slm-debug-logger.php b/software-license-manager/includes/slm-debug-logger.php old mode 100644 new mode 100755 diff --git a/software-license-manager/includes/slm-error-codes.php b/software-license-manager/includes/slm-error-codes.php old mode 100644 new mode 100755 diff --git a/software-license-manager/includes/slm-init-time-tasks.php b/software-license-manager/includes/slm-init-time-tasks.php old mode 100644 new mode 100755 diff --git a/software-license-manager/includes/slm-meta-boxes.php b/software-license-manager/includes/slm-meta-boxes.php old mode 100644 new mode 100755 index 00ed4e1..f3f2a3f --- a/software-license-manager/includes/slm-meta-boxes.php +++ b/software-license-manager/includes/slm-meta-boxes.php @@ -61,4 +61,162 @@ function save_variation_fields( $variation_id, $i) { $text_field = stripslashes( $_POST['amount_of_licenses_devices'][$i] ); update_post_meta( $variation_id, 'amount_of_licenses_devices', esc_attr( $text_field ) ); -} \ No newline at end of file +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +// First Register the Tab by hooking into the 'woocommerce_product_data_tabs' filter +add_filter( 'woocommerce_product_data_tabs', 'add_my_custom_product_data_tab' ); +function add_my_custom_product_data_tab( $product_data_tabs ) { + $product_data_tabs['my-custom-tab'] = array( + 'label' => __( 'License', 'woocommerce' ), + 'target' => 'my_custom_product_data', + 'class' => array( 'show_if_simple', 'show_if_variable' ), + ); + return $product_data_tabs; +} + + + + + +// functions you can call to output text boxes, select boxes, etc. +add_action('woocommerce_product_data_panels', 'woocom_custom_product_data_fields'); + +function woocom_custom_product_data_fields() { + global $post; + + // Note the 'id' attribute needs to match the 'target' parameter set above + ?>
'amount_of_licenses_devices', + 'label' => __( 'Amount of devices', 'woocommerce' ), + 'wrapper_class' => 'show_if_simple', //show_if_simple or show_if_variable + 'placeholder' => 'Custom text field', + 'desc_tip' => 'true', + 'description' => __( 'Enter the custom value here.', 'woocommerce' ) + ) + ); + + // Number Field + woocommerce_wp_text_input( + array( + 'id' => '_number_field', + 'label' => __( 'Custom Number Field', 'woocommerce' ), + 'placeholder' => '', + 'description' => __( 'Enter the custom value here.', 'woocommerce' ), + 'type' => 'number', + 'custom_attributes' => array( + 'step' => 'any', + 'min' => '15' + ) + ) + ); + + // Checkbox + woocommerce_wp_checkbox( + array( + 'id' => '_checkbox', + 'label' => __('Custom Checkbox Field', 'woocommerce' ), + 'description' => __( 'Check me!', 'woocommerce' ) + ) + ); + + // Select + woocommerce_wp_select( + array( + 'id' => '_select', + 'label' => __( 'Custom Select Field', 'woocommerce' ), + 'options' => array( + 'one' => __( 'Custom Option 1', 'woocommerce' ), + 'two' => __( 'Custom Option 2', 'woocommerce' ), + 'three' => __( 'Custom Option 3', 'woocommerce' ) + ) + ) + ); + + // Textarea + woocommerce_wp_textarea_input( + array( + 'id' => '_textarea', + 'label' => __( 'Custom Textarea', 'woocommerce' ), + 'placeholder' => '', + 'description' => __( 'Enter the value here.', 'woocommerce' ) + ) + ); + ?>
+ +
Date: Fri, 30 Nov 2018 15:03:09 -0500 Subject: [PATCH 028/293] init --- nbproject/project.properties | 7 +++++++ nbproject/project.xml | 9 +++++++++ 2 files changed, 16 insertions(+) create mode 100755 nbproject/project.properties create mode 100755 nbproject/project.xml diff --git a/nbproject/project.properties b/nbproject/project.properties new file mode 100755 index 0000000..04e3d5e --- /dev/null +++ b/nbproject/project.properties @@ -0,0 +1,7 @@ +include.path=${php.global.include.path} +php.version=PHP_54 +source.encoding=UTF-8 +src.dir=. +tags.asp=false +tags.short=true +web.root=. diff --git a/nbproject/project.xml b/nbproject/project.xml new file mode 100755 index 0000000..72dcafc --- /dev/null +++ b/nbproject/project.xml @@ -0,0 +1,9 @@ + + + org.netbeans.modules.php.project + + + software-license-manager + + + From 24a0b60f3c343ffec61657c332b6ecbaaa2a7dd0 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Fri, 30 Nov 2018 15:28:09 -0500 Subject: [PATCH 029/293] Version 4.3 release check change-log file --- CHANGELOG.md | 8 + nbproject/project.properties | 7 - nbproject/project.xml | 9 -- .../includes/wpestores/slm-wpestores.php | 57 ++++++- .../admin/slm-add-licenses.php | 29 ++-- ...software-license-manager-slm-installer.php | 1 + .../includes/slm-api-listener.php | 151 +++++++++++++++++- .../includes/slm_plugin_core.php | 4 +- .../software-license-manager.php | 6 +- 9 files changed, 236 insertions(+), 36 deletions(-) delete mode 100755 nbproject/project.properties delete mode 100755 nbproject/project.xml diff --git a/CHANGELOG.md b/CHANGELOG.md index cb2a0f5..a2ce02d 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,14 @@ # CHANGELOG All notable changes to this project will be documented in this file. +#### 4.3 +- Added a new action hook for estore recurring payments. +- BUG FIX: Sanitize DB query value before using (injection) thanks to @eighty20results +- ENHANCEMENT: Added slm_update action handler - update_api_listener() thanks to @eighty20results +- Added a new optional column "subscr_id" to the license keys table. This can be used to store the subsriber ID value (if any) for recurring payment plans. +- The "subscr_id" will also be present in the license query API output. +- The product quantity of WP eStore product is taken into account when creating a new license key. + #### 4.2 - Added: Support for license removal using api (slm_action=slm_remove) diff --git a/nbproject/project.properties b/nbproject/project.properties deleted file mode 100755 index 04e3d5e..0000000 --- a/nbproject/project.properties +++ /dev/null @@ -1,7 +0,0 @@ -include.path=${php.global.include.path} -php.version=PHP_54 -source.encoding=UTF-8 -src.dir=. -tags.asp=false -tags.short=true -web.root=. diff --git a/nbproject/project.xml b/nbproject/project.xml deleted file mode 100755 index 72dcafc..0000000 --- a/nbproject/project.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - org.netbeans.modules.php.project - - - software-license-manager - - - diff --git a/software-license-manager/admin/includes/wpestores/slm-wpestores.php b/software-license-manager/admin/includes/wpestores/slm-wpestores.php index 205aeb0..70d69fa 100755 --- a/software-license-manager/admin/includes/wpestores/slm-wpestores.php +++ b/software-license-manager/admin/includes/wpestores/slm-wpestores.php @@ -3,17 +3,34 @@ /* * ********************************* */ /* * * WP eStore Plugin Integration ** */ /* * ********************************* */ - add_filter('eStore_notification_email_body_filter', 'slm_handle_estore_email_body_filter', 10, 3); //Standard sale notification email add_filter('eStore_squeeze_form_email_body_filter', 'slm_handle_estore_email_body_filter', 10, 3); //Squeeze form email + function slm_handle_estore_email_body_filter($body, $payment_data, $cart_items) { global $slm_debug_logger, $wpdb; $slm_debug_logger->log_debug("WP eStore integration - checking if a license key needs to be created for this transaction."); $products_table_name = $wpdb->prefix . "wp_eStore_tbl"; $slm_data = ""; + + //Check if this is a recurring payment. + if ( function_exists('is_paypal_recurring_payment') ) { + $recurring_payment = is_paypal_recurring_payment($payment_data); + if( $recurring_payment ){ + $slm_debug_logger->log_debug("This is a recurring payment. No need to create a new license key."); + do_action('slm_estore_recurring_payment_received', $payment_data, $cart_items); + return $body; + } + } + foreach ($cart_items as $current_cart_item) { $prod_id = $current_cart_item['item_number']; $item_name = $current_cart_item['item_name']; + $quantity = $current_cart_item['quantity']; + if(empty($quantity)){ + $quantity = 1; + } + $slm_debug_logger->log_debug('License Manager - Item Number: ' . $prod_id . ', Quantity: ' . $quantity . ', Item Name: ' . $item_name); + $retrieved_product = $wpdb->get_row("SELECT * FROM $products_table_name WHERE id = '$prod_id'", OBJECT); $package_product = eStore_is_package_product($retrieved_product); if ($package_product) { @@ -22,19 +39,31 @@ function slm_handle_estore_email_body_filter($body, $payment_data, $cart_items) foreach ($product_ids as $id) { $id = trim($id); $retrieved_product_for_specific_id = $wpdb->get_row("SELECT * FROM $products_table_name WHERE id = '$id'", OBJECT); - $slm_data .= slm_estore_check_and_generate_key($retrieved_product_for_specific_id, $payment_data, $cart_items, $item_name); + //$slm_data .= slm_estore_check_and_generate_key($retrieved_product_for_specific_id, $payment_data, $cart_items, $item_name); + $slm_data .= slm_estore_check_and_create_key_for_qty($retrieved_product_for_specific_id, $payment_data, $cart_items, $item_name, $quantity); } } else { $slm_debug_logger->log_debug('Checking license key generation for single item product.'); - $slm_data .= slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items, $item_name); + $slm_data .= slm_estore_check_and_create_key_for_qty($retrieved_product, $payment_data, $cart_items, $item_name, $quantity); } } + $body = str_replace("{slm_data}", $slm_data, $body); return $body; } + +function slm_estore_check_and_create_key_for_qty($retrieved_product, $payment_data, $cart_items, $item_name, $quantity){ + $prod_key_data = ""; + for ($i = 0; $i < $quantity; $i++) { + $prod_key_data .= slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items, $item_name); + } + return $prod_key_data; +} + function slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items, $item_name) { global $slm_debug_logger; $license_data = ''; + if ($retrieved_product->create_license == 1) { $slm_debug_logger->log_debug('Need to create a license key for this product (' . $retrieved_product->id . ')'); $slm_key = slm_estore_create_license($retrieved_product, $payment_data, $cart_items, $item_name); @@ -44,6 +73,7 @@ function slm_estore_check_and_generate_key($retrieved_product, $payment_data, $c } return $license_data; } + function slm_estore_create_license($retrieved_product, $payment_data, $cart_items, $item_name) { global $slm_debug_logger; global $wpdb; @@ -53,6 +83,7 @@ function slm_estore_create_license($retrieved_product, $payment_data, $cart_item $options = get_option('slm_plugin_options'); $lic_key_prefix = $options['lic_prefix']; $max_domains = $options['default_max_domains']; + //Lets check any product specific configuration. $prod_id = $retrieved_product->id; $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_domains'", OBJECT); @@ -87,8 +118,12 @@ function slm_estore_create_license($retrieved_product, $payment_data, $cart_item $fields['date_created'] = date("Y-m-d"); //Today's date $fields['date_expiry'] = $slm_date_of_expiry; $fields['product_ref'] = $prod_id;//WP eStore product ID + $fields['subscr_id'] = isset($payment_data['subscr_id']) ? $payment_data['subscr_id'] : ''; + $slm_debug_logger->log_debug('Inserting license data into the license manager DB table.'); $fields = array_filter($fields); //Remove any null values. + + $tbl_name = SLM_TBL_LICENSE_KEYS; $result = $wpdb->insert($tbl_name, $fields); if (!$result) { @@ -100,22 +135,26 @@ function slm_estore_create_license($retrieved_product, $payment_data, $cart_item $fields['last_name'] = esc_sql($last_name); $company_name = mb_convert_encoding($fields['company_name'], "UTF-8", "windows-1252"); $fields['company_name'] = esc_sql($company_name); + $result = $wpdb->insert($tbl_name, $fields); if (!$result) { $slm_debug_logger->log_debug('Error! Failed to update license key table. DB insert query failed.', false); } } //SLM_API_Utility::insert_license_data_internal($fields); + $prod_args = array('estore_prod_id' => $prod_id, 'estore_item_name' => $item_name); do_action('slm_estore_license_created', $prod_args, $payment_data, $cart_items, $fields); return $fields['license_key']; } + /* Code to handle the eStore's product add/edit interface for SLM specific product configuration */ add_filter('eStore_addon_product_settings_filter', 'slm_estore_product_configuration_html', 10, 2); //Render the product add/edit HTML add_action('eStore_new_product_added', 'slm_estore_new_product_added', 10, 2); //Handle the DB insert after a product add. add_action('eStore_product_updated', 'slm_estore_product_updated', 10, 2); //Handle the DB update after a product edit. add_action('eStore_product_deleted', 'slm_estore_product_deleted'); //Handle the DB delete after a product delete. + function slm_estore_product_configuration_html($product_config_html, $prod_id) { global $wpdb; $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; @@ -142,22 +181,30 @@ function slm_estore_product_configuration_html($product_config_html, $prod_id) { } else { $slm_date_of_expiry = ""; } + } + $product_config_html .= '
Software License Manager Plugin (Click to Expand)
'; + $product_config_html .= ''; + $product_config_html .= ''; + $product_config_html .= '
Maximum Allowed Domains'; $product_config_html .= ''; $product_config_html .= '

Number of domains/installs in which this license can be used. Leave blank if you wish to use the default value set in the license manager plugin settings.

'; $product_config_html .= '
Number of Days before Expiry'; $product_config_html .= ' Days'; $product_config_html .= '

Number of days before expiry. The expiry date of the license will be set based on this value. For example, if you want the key to expire in 6 months then enter a value of 180.

'; $product_config_html .= '
'; + return $product_config_html; } + function slm_estore_new_product_added($prod_dat_array, $prod_id) { global $wpdb; $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; + //Save max domain value $fields = array(); $fields['prod_id'] = $prod_id; @@ -179,9 +226,11 @@ function slm_estore_new_product_added($prod_dat_array, $prod_id) { } } + function slm_estore_product_updated($prod_dat_array, $prod_id) { global $wpdb; $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; + //Find the existing value for the max domains field (for the given product) $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_domains'", OBJECT); if ($product_meta) { @@ -219,6 +268,7 @@ function slm_estore_product_updated($prod_dat_array, $prod_id) { } } + function slm_estore_product_deleted($prod_id) { global $wpdb; $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; @@ -226,6 +276,7 @@ function slm_estore_product_deleted($prod_id) { $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_max_allowed_domains')); $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_date_of_expiry')); } + /************************************/ /*** End of WP eStore integration ***/ /************************************/ \ No newline at end of file diff --git a/software-license-manager/admin/slm-add-licenses.php b/software-license-manager/admin/slm-add-licenses.php index 909dcb7..19b9e75 100755 --- a/software-license-manager/admin/slm-add-licenses.php +++ b/software-license-manager/admin/slm-add-licenses.php @@ -20,6 +20,7 @@ function wp_lic_mgr_add_licenses_menu() { $expiry_date = ''; $until = ''; $product_ref = ''; + $subscr_id = ''; $current_date = (date ("Y-m-d")); $slm_options = get_option('slm_plugin_options'); $current_date_plus_1year = date('Y-m-d', strtotime('+1 year')); @@ -51,6 +52,7 @@ function wp_lic_mgr_add_licenses_menu() { $expiry_date = $record->date_expiry; $product_ref = $record->product_ref; $until = $record->until; + $subscr_id = $record->subscr_id; } if (isset($_POST['save_record'])) { @@ -79,6 +81,7 @@ function wp_lic_mgr_add_licenses_menu() { $expiry_date = $_POST['date_expiry']; $product_ref = $_POST['product_ref']; $until = $_POST['until']; + $subscr_id = $_POST['subscr_id']; if(empty($created_date)){ $created_date = $current_date; @@ -92,22 +95,23 @@ function wp_lic_mgr_add_licenses_menu() { //Save the entry to the database $fields = array(); - $fields['license_key'] = $license_key; + $fields['license_key'] = $license_key; $fields['max_allowed_domains'] = $max_domains; $fields['max_allowed_devices'] = $max_devices; - $fields['lic_status'] = $license_status; - $fields['first_name'] = $first_name; - $fields['last_name'] = $last_name; - $fields['email'] = $email; + $fields['lic_status'] = $license_status; + $fields['first_name'] = $first_name; + $fields['last_name'] = $last_name; + $fields['email'] = $email; $fields['company_name'] = $company_name; - $fields['txn_id'] = $txn_id; + $fields['txn_id'] = $txn_id; $fields['manual_reset_count'] = $reset_count; $fields['purchase_id_'] = $purchase_id_; $fields['date_created'] = $created_date; $fields['date_renewed'] = $renewed_date; - $fields['date_expiry'] = $expiry_date; - $fields['product_ref'] = $product_ref; - $fields['until'] = $until; + $fields['date_expiry'] = $expiry_date; + $fields['product_ref'] = $product_ref; + $fields['until'] = $until; + $subscr_id = $_POST['subscr_id']; $id = isset($_POST['edit_record'])?$_POST['edit_record']:''; $lk_table = SLM_TBL_LICENSE_KEYS; @@ -238,6 +242,13 @@ function hyphenate($str) {
+
+ + +
The Subscriber ID (if any). Can be useful if you are using the license key with a recurring payment plan. +
+
+
diff --git a/software-license-manager/includes/class-software-license-manager-slm-installer.php b/software-license-manager/includes/class-software-license-manager-slm-installer.php index ce3e8c7..9a85f85 100755 --- a/software-license-manager/includes/class-software-license-manager-slm-installer.php +++ b/software-license-manager/includes/class-software-license-manager-slm-installer.php @@ -44,6 +44,7 @@ date_expiry date NOT NULL DEFAULT '0000-00-00', product_ref varchar(255) NOT NULL default '', until varchar(255) NOT NULL default '', + subscr_id varchar(128) NOT NULL default '', PRIMARY KEY (id) )" . $charset_collate . ";"; dbDelta($lk_tbl_sql); diff --git a/software-license-manager/includes/slm-api-listener.php b/software-license-manager/includes/slm-api-listener.php index bdc352a..c482a4c 100755 --- a/software-license-manager/includes/slm-api-listener.php +++ b/software-license-manager/includes/slm-api-listener.php @@ -4,9 +4,11 @@ * This class listens for API query and executes the API requests * Available API Actions * 1) slm_create_new - * 2) slm_activate - * 3) slm_deactivate - * 4) slm_check + * 2) slm_update + * 3) slm_activate + * 4) slm_deactivate + * 5) slm_remove + * 6) slm_check */ class SLM_API_Listener { @@ -375,6 +377,7 @@ function check_api_listener() { 'last_name' => $retLic->last_name, 'company_name' => $retLic->company_name, 'txn_id' => $retLic->txn_id, + 'subscr_id' => $retLic->subscr_id, 'until' => $retLic->until, )); @@ -387,4 +390,146 @@ function check_api_listener() { } } } + + function update_api_listener() { + + if ( ! isset( $_REQUEST['slm_action'] ) ) { + return; + } + + if ( isset( $_REQUEST['slm_action'] ) && + 'slm_remove' != trim( sanitize_text_field( $_REQUEST['slm_action'] ) ) ) { + return; + } + + global $slm_debug_logger; + + $options = get_option( 'slm_plugin_options' ); + + SLM_API_Utility::verify_secret_key_for_creation(); //Verify the secret key first. + + $slm_debug_logger->log_debug( "API - license creation (slm_update) request received." ); + + //Action hook + do_action( 'slm_api_listener_slm_update' ); + + $fields = array(); + if ( isset( $_REQUEST['license_key'] ) && ! empty( $_REQUEST['license_key'] ) ) { + + //Use the key received in the request + $fields['license_key'] = strip_tags( sanitize_text_field( $_REQUEST['license_key'] ) ); + + } else { + + $slm_debug_logger->log_debug( "API - License update failed. No license key supplied!" ); + + $args = ( array( + 'result' => 'error', + 'message' => 'License update failed. No license key provided', + ) ); + + SLM_API_Utility::output_api_response( $args ); + } + + if ( isset( $_REQUEST['lic_status'] ) ) { + $fields['lic_status'] = isset( $_REQUEST['lic_status'] ) ? wp_unslash( strip_tags( sanitize_text_field( $_REQUEST['lic_status'] ) ) ) : 'active'; + } + + if ( isset( $_REQUEST['txn_id'] ) ) { + $fields['txn_id'] = strip_tags( sanitize_text_field( $_REQUEST['txn_id'] ) ); + } + + if ( empty( $_REQUEST['max_allowed_domains'] ) ) { + + $fields['max_allowed_domains'] = $options['default_max_domains']; + } else { + + $fields['max_allowed_domains'] = strip_tags( $_REQUEST['max_allowed_domains'] ); + } + + $fields['date_expiry'] = isset( $_REQUEST['date_expiry'] ) ? strip_tags( sanitize_text_field( $_REQUEST['date_expiry'] ) ) : ''; + $fields['product_ref'] = isset( $_REQUEST['product_ref'] ) ? wp_unslash( strip_tags( sanitize_text_field( $_REQUEST['product_ref'] ) ) ) : ''; + + $where = array( + 'license_key' => $fields['license_key'], + ); + + global $wpdb; + + $tbl_name = SLM_TBL_LICENSE_KEYS; + + $result = $wpdb->update( $tbl_name, $fields, $where ); + + if ( $result === false ) { + + //error updating the license + $args = ( array( + 'result' => 'error', + 'message' => 'License update failed', + ) ); + SLM_API_Utility::output_api_response( $args ); + } else { + $args = ( array( + 'result' => 'success', + 'message' => 'License successfully updated', + 'key' => $fields['license_key'], + ) ); + SLM_API_Utility::output_api_response( $args ); + } + } + + + function deletion_api_listener() { + + if ( ! isset( $_REQUEST['slm_action'] ) ) { + return; + } + + if ( isset( $_REQUEST['slm_action'] ) && + 'slm_remove' != trim( sanitize_text_field( $_REQUEST['slm_action'] ) ) ) { + return; + } + + global $slm_debug_logger; + + SLM_API_Utility::verify_secret_key(); + + $slm_debug_logger->log_debug( "API - license deletion (slm_remove) request received." ); + + do_action( 'slm_api_listener_remove' ); + + if ( empty( $_REQUEST['license_key'] ) ) { + $args = ( array( + 'result' => 'error', + 'message' => 'License key is missing', + ) ); + SLM_API_Utility::output_api_response( $args ); + } + + $license_key = trim( sanitize_text_field( $_REQUEST['license_key'] ) ); + + $slm_debug_logger->log_debug( "License key: {$license_key}" ); + + global $wpdb; + + if ( false === $wpdb->delete( SLM_TBL_LIC_DOMAIN, array( 'lic_key' => $license_key ), array( '%s' ) ) ) { + + $slm_debug_logger->log_debug( sprintf( "Error - failed to delete the registered license key (key: %s) from the database." ), $license_key ); + + $args = ( array( + 'result' => 'error', + 'message' => 'Error removing license key from the server', + ) ); + + SLM_API_Utility::output_api_response( $args ); + } else { + + $args = ( array( + 'result' => 'success', + 'message' => sprintf( 'The %s license key has been removed from the license server', $license_key ), + ) ); + + SLM_API_Utility::output_api_response( $args ); + } + } } \ No newline at end of file diff --git a/software-license-manager/includes/slm_plugin_core.php b/software-license-manager/includes/slm_plugin_core.php index 9a1edf4..a071187 100755 --- a/software-license-manager/includes/slm_plugin_core.php +++ b/software-license-manager/includes/slm_plugin_core.php @@ -135,7 +135,7 @@ function slm_del_reg_dom() { global $wpdb; $reg_table = SLM_TBL_LIC_DOMAIN; $id = strip_tags($_GET['id']); - $ret = $wpdb->query("DELETE FROM $reg_table WHERE id='$id'"); + $ret = $wpdb->query($wpdb->prepare( "DELETE FROM {$reg_table} WHERE id=%d", $id ) ); echo ($ret) ? 'success' : 'failed'; exit(0); } @@ -144,7 +144,7 @@ function slm_del_reg_devices() { global $wpdb; $reg_table = SLM_TBL_LIC_DEVICES; $id = strip_tags($_GET['id']); - $ret = $wpdb->query("DELETE FROM $reg_table WHERE id='$id'"); + $ret = $wpdb->query($wpdb->prepare( "DELETE FROM {$reg_table} WHERE id=%d", $id ) ); echo ($ret) ? 'success' : 'failed'; exit(0); } \ No newline at end of file diff --git a/software-license-manager/software-license-manager.php b/software-license-manager/software-license-manager.php index 64693b9..7b78b42 100755 --- a/software-license-manager/software-license-manager.php +++ b/software-license-manager/software-license-manager.php @@ -1,7 +1,7 @@ Date: Fri, 30 Nov 2018 15:34:32 -0500 Subject: [PATCH 030/293] added support for $this->update_api_listener(); and $this->deletion_api_listener(); --- software-license-manager/includes/slm-api-listener.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/software-license-manager/includes/slm-api-listener.php b/software-license-manager/includes/slm-api-listener.php index c482a4c..19d4b1d 100755 --- a/software-license-manager/includes/slm-api-listener.php +++ b/software-license-manager/includes/slm-api-listener.php @@ -23,6 +23,8 @@ function __construct() { $this->deactivation_api_listener(); $this->check_api_listener(); $this->removal_api_listener(); + $this->update_api_listener(); + $this->deletion_api_listener(); } } From 620bf33369fc83876c64a149cd9604c240e93158 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Sun, 2 Dec 2018 18:33:40 -0500 Subject: [PATCH 031/293] version 4.4 release --- .../includes/subscriptio/slm-subscriptio.php | 6 +- .../woocommerce/includes/purchase.php | 324 ++++++++++------- .../wc-software-license-manager.php | 17 +- .../includes/wpestores/slm-wpestores.php | 1 + .../admin/slm-add-licenses.php | 67 ++-- .../admin/slm-admin-init.php | 2 +- .../admin/slm-lic-settings.php | 8 +- ...ass-software-license-manager-activator.php | 5 +- ...s-software-license-manager-deactivator.php | 5 +- ...software-license-manager-slm-installer.php | 2 + .../includes/slm-api-listener.php | 50 ++- .../includes/slm-meta-boxes.php | 333 +++++++----------- .../includes/slm_plugin_core.php | 66 ++-- .../public/assets/images/slm_logo_small.svg | 16 +- .../software-license-manager.php | 6 +- 15 files changed, 480 insertions(+), 428 deletions(-) diff --git a/software-license-manager/admin/includes/subscriptio/slm-subscriptio.php b/software-license-manager/admin/includes/subscriptio/slm-subscriptio.php index 90644f9..9164850 100755 --- a/software-license-manager/admin/includes/subscriptio/slm-subscriptio.php +++ b/software-license-manager/admin/includes/subscriptio/slm-subscriptio.php @@ -19,9 +19,9 @@ function subscriptio_check_status( $schedules ) { } // Schedule an action if it's not already scheduled -if ( ! wp_next_scheduled( 'subscriptio_check_status' ) ) { - wp_schedule_event( time(), 'subcriptio_interval_check', 'subscriptio_check_status' ); -} +// if ( ! wp_next_scheduled( 'subscriptio_check_status' ) ) { +// wp_schedule_event( time(), 'subcriptio_interval_check', 'subscriptio_check_status' ); +// } // Hook into that action that'll fire every three minutes add_action( 'subscriptio_check_status', 'subcriptio_interval_check_event_func' ); diff --git a/software-license-manager/admin/includes/woocommerce/includes/purchase.php b/software-license-manager/admin/includes/woocommerce/includes/purchase.php index 8fe95b9..8e0e2ee 100755 --- a/software-license-manager/admin/includes/woocommerce/includes/purchase.php +++ b/software-license-manager/admin/includes/woocommerce/includes/purchase.php @@ -16,14 +16,36 @@ global $post, $woocommerce, $product; +if ( ! function_exists( 'write_log' ) ) { + /** + * Write in the log. + * + * @since 1.0.0 + * + * @param mixed $log The content to log. + */ + function write_log( $log ) { + if ( true === WP_DEBUG ) { + if ( is_array( $log ) || is_object( $log ) ) { + error_log( print_r( $log, true ) ); + } else { + error_log( $log ); + } + } + } +} + + add_action('woocommerce_order_status_completed', 'wc_slm_on_complete_purchase', 10); function wc_slm_on_complete_purchase($order_id) { + //write_log('loading wc_slm_on_complete_purchase'); if (WOO_SLM_API_URL != '' && WOO_SLM_API_SECRET != '') { wc_slm_create_license_keys($order_id); } } + /** * Create license key * @@ -32,131 +54,154 @@ function wc_slm_on_complete_purchase($order_id) { */ function wc_slm_create_license_keys($order_id) { - $_order = new WC_Order($order_id); - $order_id = new WC_Order( $order_id ); + // write_log('loading wc_slm_create_license_keys'); + + $order_id = new WC_Order( $order_id ); + $purchase_id_ = $order_id->get_id(); + + // write_log('purchase_id_ -- '.$purchase_id_ ); + // write_log('purchase_id_ -- '.$user_id ); - global $purchase_id; - $purchase_id_ = $order_id->id; - $user_id = $_order->get_user_id(); - $user_info = get_userdata($user_id); - $get_user_meta = get_user_meta($user_id); - $payment_meta['user_info']['first_name'] = $get_user_meta['billing_first_name'][0]; - $payment_meta['user_info']['last_name'] = $get_user_meta['billing_last_name'][0]; - $payment_meta['user_info']['email'] = $get_user_meta['billing_email'][0]; - $payment_meta['user_info']['company'] = $get_user_meta['billing_company'][0]; + global $user_id; + + $user_id = $order_id->get_user_id(); + $user_info = get_userdata($user_id); + $get_user_meta = get_user_meta($user_id); + $payment_meta['user_info']['first_name'] = $get_user_meta['billing_first_name'][0]; + $payment_meta['user_info']['last_name'] = $get_user_meta['billing_last_name'][0]; + $payment_meta['user_info']['email'] = $get_user_meta['billing_email'][0]; + $payment_meta['user_info']['company'] = $get_user_meta['billing_company'][0]; + + // write_log('user_id -- '.$user_id ); // Collect license keys $licenses = array(); - $items = $_order->get_items(); + $items = $order_id->get_items(); + + //write_log($items); foreach ($items as $item => $values) { $download_id = $product_id = $values['product_id']; $product = new WC_Product($product_id); - $variation_id = new WC_Product_Variation($product_id); - - //if ($product->is_downloadable() && $product->has_file()) { - - $download_quantity = absint($values['qty']); - for ($i = 1; $i <= $download_quantity; $i++) { - /** - * Calculate Expire date - * @since 1.0.3 - */ - $renewal_period = (int) wc_slm_get_licensing_renewal_period($product_id); - - if ($renewal_period == 0) { - $renewal_period = '0000-00-00'; - } - else { - $renewal_period = date('Y-m-d', strtotime('+' . $renewal_period . ' years')); - } - // Sites allowed get license meta from variation - $sites_allowed = wc_slm_get_sites_allowed($product_id); - $amount_of_licenses = wc_slm_get_licenses_qty($product_id); - - if (!$sites_allowed) { - $sites_allowed_error = __('License could not be created: Invalid sites allowed number.', 'wc-slm'); - $int = wc_insert_payment_note($order_id, $sites_allowed_error); - break; - } - - // Get an instance of the WC_Order object (same as before) - $order = wc_get_order( $order_id ); - // Get the order ID - $order_id = $order->get_id(); - // Get the custumer ID - $order_id = $order->get_user_id(); - $order_data = $order->get_data(); // The Order data - - // Iterating through each WC_Order_Item objects - foreach( $order-> get_items() as $item_key => $item_values ){ - - ## Using WC_Order_Item methods ## - $item_id = $item_values->get_id(); - $item_name = $item_values->get_name(); - $item_type = $item_values->get_type(); - - ## Access Order Items data properties (in an array of values) ## - $item_data = $item_values->get_data(); - $product_name = $item_data['name']; - $product_id = $item_data['product_id']; - $variation_id = $item_data['variation_id']; - $quantity = $item_data['quantity']; - $tax_class = $item_data['tax_class']; - $line_subtotal = $item_data['subtotal']; - $line_subtotal_tax = $item_data['subtotal_tax']; - $line_total = $item_data['total']; - $line_total_tax = $item_data['total_tax']; - $post_object = get_post($variation_id); - $amount_of_licenses = get_post_meta( $post_object->ID, 'amount_of_licenses', true); - $amount_of_licenses_devices = get_post_meta( $post_object->ID, 'amount_of_licenses_devices', true); - } - - // Transaction id - $transaction_id = wc_get_payment_transaction_id($product_id); - - // Build item name - $item_name = $product->get_title(); - - // Build parameters - $api_params = array(); - $api_params['slm_action'] = 'slm_create_new'; - $api_params['secret_key'] = KEY_API; - $api_params['first_name'] = (isset($payment_meta['user_info']['first_name'])) ? $payment_meta['user_info']['first_name'] : ''; - $api_params['last_name'] = (isset($payment_meta['user_info']['last_name'])) ? $payment_meta['user_info']['last_name'] : ''; - $api_params['email'] = (isset($payment_meta['user_info']['email'])) ? $payment_meta['user_info']['email'] : ''; - $api_params['company_name'] = $payment_meta['user_info']['company']; - $api_params['purchase_id_'] = $purchase_id_; - $api_params['product_ref'] = $product_id; // TODO: get product id - $api_params['txn_id'] = $purchase_id_; - $api_params['max_allowed_domains'] = $amount_of_licenses; - $api_params['max_allowed_devices'] = $amount_of_licenses_devices; - $api_params['date_created'] = date('Y-m-d'); - $api_params['date_expiry'] = $renewal_period; - - // Send query to the license manager server - $url = 'http://' . WOO_SLM_API_URL . '?' . http_build_query($api_params); - $url = str_replace(array('http://', 'https://'), '', $url); - $url = 'http://' . $url; - $response = wp_remote_get($url, array('timeout' => 20, 'sslverify' => false)); - $license_key = wc_slm_get_license_key($response); - - // Collect license keys - if ($license_key) { - $licenses[] = array( - 'item' => $item_name, - 'key' => $license_key, - 'expires' => $renewal_period, - ); - } + // $variation_id = new WC_Product_Variation($product_id); + + //if ($product->is_downloadable('yes')) { + + $download_quantity = absint($values['qty']); + for ($i = 1; $i <= $download_quantity; $i++) { + /** + * Calculate Expire date + * @since 1.0.3 + */ + $renewal_period = (int) wc_slm_get_licensing_renewal_period($product_id); + + if ($renewal_period == 0) { + $renewal_period = '0000-00-00'; + } + else { + $renewal_period = date('Y-m-d', strtotime('+' . $renewal_period . ' years')); } - } - //wc_slm_print_pretty($payment_meta); + //write_log('renewal_period -- '.$renewal_period ); - // Payment note + // Sites allowed get license meta from variation + $sites_allowed = wc_slm_get_sites_allowed($product_id); + $devices_allowed = wc_slm_get_devices_allowed($product_id); + $amount_of_licenses = wc_slm_get_licenses_qty($product_id); + + if (!$sites_allowed) { + $sites_allowed_error = __('License could not be created: Invalid sites allowed number.', 'wc-slm'); + $int = wc_insert_payment_note($purchase_id_, $sites_allowed_error); + break; + } + + // Get an instance of the WC_Order object (same as before) + $order = new WC_Order( $order_id ); + + // Get the order ID + $order_id = $order->get_id(); + + // Get the custumer ID + // $user_id = $order->get_user_id(); + $order_data = $order->get_data(); // The Order data + + // Iterating through each WC_Order_Item objects + foreach( $order-> get_items() as $item_key => $item_values ){ + + ## Using WC_Order_Item methods ## + $item_id = $item_values->get_id(); + $item_name = $item_values->get_name(); + $item_type = $item_values->get_type(); + + ## Access Order Items data properties (in an array of values) ## + $item_data = $item_values->get_data(); + $product_name = $item_data['name']; + $product_id = $item_data['product_id']; + // $variation_id = $item_data['variation_id']; + $quantity = $item_data['quantity']; + $tax_class = $item_data['tax_class']; + $line_subtotal = $item_data['subtotal']; + $line_subtotal_tax = $item_data['subtotal_tax']; + $line_total = $item_data['total']; + $line_total_tax = $item_data['total_tax']; + // $post_object = get_post($variation_id); + + $amount_of_licenses = wc_slm_get_sites_allowed($product_id);; + $_license_current_version = get_post_meta( $product_id, '_license_current_version', true ); + $amount_of_licenses_devices = wc_slm_get_devices_allowed($product_id); + $current_version = (int)get_post_meta( $product_id, '_license_current_version', true); + $license_type = get_post_meta( $product_id, '_license_type', true ); + } + + // Transaction id + $transaction_id = wc_get_payment_transaction_id($product_id); + + // Build item name + $item_name = $product->get_title(); + + // Build parameters + $api_params = array(); + $api_params['slm_action'] = 'slm_create_new'; + $api_params['secret_key'] = KEY_API; + $api_params['first_name'] = (isset($payment_meta['user_info']['first_name'])) ? $payment_meta['user_info']['first_name'] : ''; + $api_params['last_name'] = (isset($payment_meta['user_info']['last_name'])) ? $payment_meta['user_info']['last_name'] : ''; + $api_params['email'] = (isset($payment_meta['user_info']['email'])) ? $payment_meta['user_info']['email'] : ''; + $api_params['company_name'] = $payment_meta['user_info']['company']; + $api_params['purchase_id_'] = $purchase_id_; + $api_params['product_ref'] = $product_id; // TODO: get product id + $api_params['txn_id'] = $purchase_id_; + $api_params['max_allowed_domains'] = $amount_of_licenses; + $api_params['max_allowed_devices'] = $amount_of_licenses_devices; + $api_params['date_created'] = date('Y-m-d'); + $api_params['date_expiry'] = $renewal_period; + $api_params['until'] = $_license_current_version; + $api_params['subscr_id'] = $order->get_customer_id(); + $api_params['lic_type'] = $license_type; + + //write_log('license_type -- ' . $license_type ); + + // Send query to the license manager server + $url = 'http://' . WOO_SLM_API_URL . '?' . http_build_query($api_params); + $url = str_replace(array('http://', 'https://'), '', $url); + $url = 'http://' . $url; + $response = wp_remote_get($url, array('timeout' => 20, 'sslverify' => false)); + $license_key = wc_slm_get_license_key($response); + + // Collect license keys + if ($license_key) { + $licenses[] = array( + 'item' => $item_name, + 'key' => $license_key, + 'expires' => $renewal_period, + ); + } + } + // } + } + + // Payment note wc_slm_payment_note($order_id, $licenses); // Assign licenses @@ -174,7 +219,6 @@ function wc_slm_get_license_key($response) { if (is_wp_error($response)) { return false; } - // Get License data $json = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', utf8_encode(wp_remote_retrieve_body($response))); $license_data = json_decode($json); @@ -182,7 +226,6 @@ function wc_slm_get_license_key($response) { if (!isset($license_data->key)) { return false; } - // Prepare note text return $license_data->key; } @@ -193,12 +236,20 @@ function wc_slm_get_license_key($response) { * @since 1.0.0 * @return void */ -function wc_slm_payment_note($order_id, $licenses) { +function wc_slm_get_license_id($license){ + global $wpdb; + $license_id = $wpdb->get_row("SELECT ID, license_key FROM ". $wpdb->prefix . "lic_key_tbl" . " WHERE license_key = '".$license."' ORDER BY id DESC LIMIT 0,1"); + return $license_id->ID; +} + +function wc_slm_payment_note($order_id, $licenses) { if ($licenses && count($licenses) != 0) { $message = __('License Key(s) generated', 'wc-slm'); + foreach ($licenses as $license) { - $message .= '
' . $license['item'] . ': ' . $license['key']; + $license_key = $license['key']; + $message .= '
' . $license['item'] . ': ' . $license_key . ''; } } else { @@ -226,24 +277,34 @@ function wc_slm_assign_licenses($order_id, $licenses) { * @return mixed */ function wc_slm_get_sites_allowed($product_id) { - - $wc_slm_sites_allowed = absint(get_post_meta($product_id, '_wc_slm_sites_allowed', true)); - + $wc_slm_sites_allowed = absint(get_post_meta($product_id, '_domain_licenses', true)); if (empty($wc_slm_sites_allowed)) { return false; } - return $wc_slm_sites_allowed; } -function wc_slm_get_licenses_qty($product_id) { +function wc_slm_get_lic_type($product_id) { + $_license_type = absint(get_post_meta($product_id, '_license_type', true)); + if (empty($_license_type)) { + return false; + } + return $_license_type; +} - $amount_of_licenses = absint(get_post_meta($product_id, '_amount_of_licenses', true)); +function wc_slm_get_devices_allowed($product_id) { + $_devices_licenses = absint(get_post_meta($product_id, '_devices_licenses', true)); + if (empty($_devices_licenses)) { + return false; + } + return $_devices_licenses; +} +function wc_slm_get_licenses_qty($product_id) { + $amount_of_licenses = absint(get_post_meta($product_id, '_amount_of_licenses', true)); if (empty($amount_of_licenses)) { return false; } - return $amount_of_licenses; } @@ -254,14 +315,11 @@ function wc_slm_get_licenses_qty($product_id) { * @return mixed */ function wc_slm_get_licensing_renewal_period($product_id) { - - $wc_slm_sites_allowed = absint(get_post_meta($product_id, '_wc_slm_licensing_renewal_period', true)); - - if (empty($wc_slm_sites_allowed)) { + $_license_renewal_period = absint(get_post_meta($product_id, '_license_renewal_period', true)); + if (empty($_license_renewal_period)) { return 0; } - - return $wc_slm_sites_allowed; + return $_license_renewal_period; } /** @@ -271,13 +329,12 @@ function wc_slm_get_licensing_renewal_period($product_id) { * @return bool */ function wc_slm_is_licensing_enabled($download_id) { - $licensing_enabled = absint(get_post_meta($download_id, '_wc_slm_licensing_enabled', true)); - // Set defaults if ($licensing_enabled) { return true; - } else { + } + else { return false; } } @@ -289,5 +346,4 @@ function wc_insert_payment_note($order_id, $msg) { function wc_get_payment_transaction_id($order_id) { return get_post_meta($order_id, '_transaction_id', true); -} - +} \ No newline at end of file diff --git a/software-license-manager/admin/includes/woocommerce/wc-software-license-manager.php b/software-license-manager/admin/includes/woocommerce/wc-software-license-manager.php index 2210575..ea438cd 100755 --- a/software-license-manager/admin/includes/woocommerce/wc-software-license-manager.php +++ b/software-license-manager/admin/includes/woocommerce/wc-software-license-manager.php @@ -4,17 +4,6 @@ // Author: Omid Shamlu // Author URI: http://wp-master.ir -if (!function_exists('write_log')) { - function write_log ( $log ) { - if ( true === WP_DEBUG ) { - if ( is_array( $log ) || is_object( $log ) ) { - error_log( print_r( $log, true ) ); - } else { - error_log( $log ); - } - } - } -} if (!class_exists('WOO_SLM')) { class WOO_SLM { @@ -29,7 +18,7 @@ public static function instance() { } private function setup_constants() { // Plugin version - define('WOO_SLM_VER', '2.1.0'); + define('WOO_SLM_VER', '2.2.0'); // get api settinsg from options table define('WOO_SLM_API_URL', get_site_url().'/'); define('WOO_SLM_API_SECRET', SLM_Helper_Class::slm_get_option('lic_creation_secret')); @@ -39,9 +28,7 @@ private function setup_constants() { private function includes() { // log files and scripts require_once SLM_ADMIN_ADDONS . 'woocommerce/includes/helper.php'; - if (is_admin()) { - require_once SLM_ADMIN_ADDONS . 'woocommerce/includes/meta-boxes.php'; - } + // purchases and emails require_once SLM_ADMIN_ADDONS . 'woocommerce/includes/emails.php'; require_once SLM_ADMIN_ADDONS . 'woocommerce/includes/purchase.php'; diff --git a/software-license-manager/admin/includes/wpestores/slm-wpestores.php b/software-license-manager/admin/includes/wpestores/slm-wpestores.php index 70d69fa..0c25223 100755 --- a/software-license-manager/admin/includes/wpestores/slm-wpestores.php +++ b/software-license-manager/admin/includes/wpestores/slm-wpestores.php @@ -119,6 +119,7 @@ function slm_estore_create_license($retrieved_product, $payment_data, $cart_item $fields['date_expiry'] = $slm_date_of_expiry; $fields['product_ref'] = $prod_id;//WP eStore product ID $fields['subscr_id'] = isset($payment_data['subscr_id']) ? $payment_data['subscr_id'] : ''; + $fields['lic_type'] = isset($payment_data['lic_type']) ? $payment_data['lic_type'] : ''; $slm_debug_logger->log_debug('Inserting license data into the license manager DB table.'); $fields = array_filter($fields); //Remove any null values. diff --git a/software-license-manager/admin/slm-add-licenses.php b/software-license-manager/admin/slm-add-licenses.php index 19b9e75..0d142e8 100755 --- a/software-license-manager/admin/slm-add-licenses.php +++ b/software-license-manager/admin/slm-add-licenses.php @@ -21,6 +21,9 @@ function wp_lic_mgr_add_licenses_menu() { $until = ''; $product_ref = ''; $subscr_id = ''; + $lic_type = ''; + $reg_domains = ''; + $reg_devices = ''; $current_date = (date ("Y-m-d")); $slm_options = get_option('slm_plugin_options'); $current_date_plus_1year = date('Y-m-d', strtotime('+1 year')); @@ -33,26 +36,27 @@ function wp_lic_mgr_add_licenses_menu() { if (isset($_GET['edit_record'])) { $errors = ''; $id = $_GET['edit_record']; - $lk_table = SLM_TBL_LICENSE_KEYS; - $sql_prep = $wpdb->prepare("SELECT * FROM $lk_table WHERE id = %s", $id); - $record = $wpdb->get_row($sql_prep, OBJECT); - $license_key = $record->license_key; - $max_domains = $record->max_allowed_domains; - $max_devices = $record->max_allowed_devices; + $lk_table = SLM_TBL_LICENSE_KEYS; + $sql_prep = $wpdb->prepare("SELECT * FROM $lk_table WHERE id = %s", $id); + $record = $wpdb->get_row($sql_prep, OBJECT); + $license_key = $record->license_key; + $max_domains = $record->max_allowed_domains; + $max_devices = $record->max_allowed_devices; $license_status = $record->lic_status; - $first_name = $record->first_name; - $last_name = $record->last_name; - $email = $record->email; - $company_name = $record->company_name; - $txn_id = $record->txn_id; - $reset_count = $record->manual_reset_count; - $purchase_id_ = $record->purchase_id_; - $created_date = $record->date_created; - $renewed_date = $record->date_renewed; - $expiry_date = $record->date_expiry; - $product_ref = $record->product_ref; - $until = $record->until; - $subscr_id = $record->subscr_id; + $first_name = $record->first_name; + $last_name = $record->last_name; + $email = $record->email; + $company_name = $record->company_name; + $txn_id = $record->txn_id; + $reset_count = $record->manual_reset_count; + $purchase_id_ = $record->purchase_id_; + $created_date = $record->date_created; + $renewed_date = $record->date_renewed; + $expiry_date = $record->date_expiry; + $product_ref = $record->product_ref; + $until = $record->until; + $subscr_id = $record->subscr_id; + $lic_type = $record->lic_type; } if (isset($_POST['save_record'])) { @@ -82,6 +86,7 @@ function wp_lic_mgr_add_licenses_menu() { $product_ref = $_POST['product_ref']; $until = $_POST['until']; $subscr_id = $_POST['subscr_id']; + $lic_type = $_POST['lic_type']; if(empty($created_date)){ $created_date = $current_date; @@ -112,6 +117,7 @@ function wp_lic_mgr_add_licenses_menu() { $fields['product_ref'] = $product_ref; $fields['until'] = $until; $subscr_id = $_POST['subscr_id']; + $lic_type = $_POST['lic_type']; $id = isset($_POST['edit_record'])?$_POST['edit_record']:''; $lk_table = SLM_TBL_LICENSE_KEYS; @@ -179,9 +185,7 @@ function wp_lic_mgr_add_licenses_menu() { "> @@ -214,7 +218,7 @@ function hyphenate($str) {
The unique license key.
-
+
+ +
+ + + + +
type of license: subscription base or lifetime +
+
+
diff --git a/software-license-manager/admin/slm-admin-init.php b/software-license-manager/admin/slm-admin-init.php index 71f3e19..4d767d3 100755 --- a/software-license-manager/admin/slm-admin-init.php +++ b/software-license-manager/admin/slm-admin-init.php @@ -22,7 +22,7 @@ function wp_lic_mgr_add_admin_menu() { $icon_svg = SLM_ASSETS_URL . 'images/slm_logo_small.svg'; - add_menu_page("License Manager", "License Manager", SLM_MANAGEMENT_PERMISSION, SLM_MAIN_MENU_SLUG, "wp_lic_mgr_manage_licenses_menu", $icon_svg); + add_menu_page("License", "License", SLM_MANAGEMENT_PERMISSION, SLM_MAIN_MENU_SLUG, "wp_lic_mgr_manage_licenses_menu", $icon_svg); add_submenu_page(SLM_MAIN_MENU_SLUG, "All Licenses", "All Licenses", SLM_MANAGEMENT_PERMISSION, SLM_MAIN_MENU_SLUG, "wp_lic_mgr_manage_licenses_menu"); add_submenu_page(SLM_MAIN_MENU_SLUG, "New License", "New Licenses", SLM_MANAGEMENT_PERMISSION, 'wp_lic_mgr_addedit', "wp_lic_mgr_add_licenses_menu"); add_submenu_page(SLM_MAIN_MENU_SLUG, "Admin Tools", "Admin Tools", SLM_MANAGEMENT_PERMISSION, 'wp_lic_mgr_admin_fnc', "wp_lic_mgr_admin_fnc_menu"); diff --git a/software-license-manager/admin/slm-lic-settings.php b/software-license-manager/admin/slm-lic-settings.php index 92ca720..1b668c6 100755 --- a/software-license-manager/admin/slm-lic-settings.php +++ b/software-license-manager/admin/slm-lic-settings.php @@ -40,7 +40,7 @@ function wp_lic_mgr_general_settings() { 'enable_auto_key_expiry' => isset($_POST['enable_auto_key_expiry']) ? '1':'', 'enable_debug' => isset($_POST['enable_debug']) ? '1':'', 'slm_woo' => isset($_POST['slm_woo']) ? '1':'', - 'slm_subscriptio' => isset($_POST['slm_subscriptio']) ? '1':'', + // 'slm_subscriptio' => isset($_POST['slm_subscriptio']) ? '1':'', 'slm_wpestores' => isset($_POST['slm_wpestores']) ? '1':'', ); update_option('slm_plugin_options', $options); @@ -133,13 +133,13 @@ function wp_lic_mgr_general_settings() {
A fully customizable, open source eCommerce platform built for WordPress. - + WP eStores Support diff --git a/software-license-manager/includes/class-software-license-manager-activator.php b/software-license-manager/includes/class-software-license-manager-activator.php index 06a6b4d..91a97f0 100755 --- a/software-license-manager/includes/class-software-license-manager-activator.php +++ b/software-license-manager/includes/class-software-license-manager-activator.php @@ -9,7 +9,7 @@ */ class Software_License_Manager_Activator { - public function slm_db_install{ + public static function slm_db_install{ //Installer function require_once( SLM_LIB . 'class-software-license-manager-slm-installer.php'); } @@ -22,4 +22,5 @@ public static function activate() { wp_schedule_event(time(), 'daily', 'slm_daily_cron_event'); do_action('slm_activation_complete'); } -} \ No newline at end of file +} +$slm_activator = new Software_License_Manager_Activator(); \ No newline at end of file diff --git a/software-license-manager/includes/class-software-license-manager-deactivator.php b/software-license-manager/includes/class-software-license-manager-deactivator.php index ec5f4ac..7f37b70 100755 --- a/software-license-manager/includes/class-software-license-manager-deactivator.php +++ b/software-license-manager/includes/class-software-license-manager-deactivator.php @@ -9,10 +9,11 @@ */ //Deactivation handler class Software_License_Manager_Deactivator { - public static function deactivate() { //Clear the daily cron event wp_clear_scheduled_hook('slm_daily_cron_event'); do_action('slm_deactivation_complete'); } -} \ No newline at end of file +} + +$slm_deactivator = new Software_License_Manager_Deactivator(); \ No newline at end of file diff --git a/software-license-manager/includes/class-software-license-manager-slm-installer.php b/software-license-manager/includes/class-software-license-manager-slm-installer.php index 9a85f85..f9832c5 100755 --- a/software-license-manager/includes/class-software-license-manager-slm-installer.php +++ b/software-license-manager/includes/class-software-license-manager-slm-installer.php @@ -32,6 +32,7 @@ max_allowed_domains int(40) NOT NULL, max_allowed_devices int(40) NOT NULL, lic_status ENUM('pending', 'active', 'blocked', 'expired') NOT NULL DEFAULT 'pending', + lic_type ENUM('none', 'subscription', 'lifetime') NOT NULL DEFAULT 'subscription', first_name varchar(32) NOT NULL default '', last_name varchar(32) NOT NULL default '', email varchar(64) NOT NULL, @@ -82,5 +83,6 @@ 'enable_debug' => '', 'slm_woo' => '', 'slm_subscriptio' => '', + 'slm_wpestores' => '', ); add_option('slm_plugin_options', $options); \ No newline at end of file diff --git a/software-license-manager/includes/slm-api-listener.php b/software-license-manager/includes/slm-api-listener.php index 19d4b1d..6e101d1 100755 --- a/software-license-manager/includes/slm-api-listener.php +++ b/software-license-manager/includes/slm-api-listener.php @@ -45,10 +45,11 @@ function creation_api_listener() { $fields = array(); if (isset($_REQUEST['license_key']) && !empty($_REQUEST['license_key'])){ - $fields['license_key'] = strip_tags($_REQUEST['license_key']);//Use the key you pass via the request + $fields['license_key'] = strip_tags($_REQUEST['license_key']); //Use the key you pass via the request } else{ - $fields['license_key'] = uniqid($lic_key_prefix);//Use random generated key + // $fields['license_key'] = uniqid($lic_key_prefix); //Use random generated key + $fields['license_key'] = strtoupper($lic_key_prefix . hyphenate(md5(uniqid(rand(4,8), true) . time() ))); } $fields['lic_status'] = isset( $_REQUEST['lic_status'] ) ? wp_unslash( strip_tags( $_REQUEST['lic_status'] ) ) : 'pending'; $fields['first_name'] = wp_unslash(strip_tags($_REQUEST['first_name'])); @@ -76,6 +77,8 @@ function creation_api_listener() { $fields['date_expiry'] = isset($_REQUEST['date_expiry'])?strip_tags($_REQUEST['date_expiry']):''; $fields['product_ref'] = isset( $_REQUEST['product_ref'] ) ? wp_unslash( strip_tags( $_REQUEST['product_ref'] ) ) : ''; $fields['until'] = isset( $_REQUEST['until'] ) ? wp_unslash( strip_tags( $_REQUEST['until'] ) ) : ''; + $fields['subscr_id'] = isset( $_REQUEST['subscr_id'] ) ? wp_unslash( strip_tags( $_REQUEST['subscr_id'] ) ) : ''; + $fields['lic_type'] = isset( $_REQUEST['lic_type'] ) ? wp_unslash( strip_tags( $_REQUEST['lic_type'] ) ) : ''; global $wpdb; $tbl_name = SLM_TBL_LICENSE_KEYS; @@ -380,6 +383,7 @@ function check_api_listener() { 'company_name' => $retLic->company_name, 'txn_id' => $retLic->txn_id, 'subscr_id' => $retLic->subscr_id, + 'lic_type' => $retLic->lic_type, 'until' => $retLic->until, )); @@ -393,6 +397,25 @@ function check_api_listener() { } } + /** + * Update the specified License Key + * + * @action slm_update + * + * Required parameter(s): + * + * slm_action - Must have the value 'slm_update' to trigger this feature + * license_key - The key for the license to update + * + * Supported parameter(s): + * + * lic_status + * txn_id + * max_allowed_domains + * date_expiry + * product_ref + */ + function update_api_listener() { if ( ! isset( $_REQUEST['slm_action'] ) ) { @@ -437,6 +460,10 @@ function update_api_listener() { $fields['lic_status'] = isset( $_REQUEST['lic_status'] ) ? wp_unslash( strip_tags( sanitize_text_field( $_REQUEST['lic_status'] ) ) ) : 'active'; } + if ( isset( $_REQUEST['lic_type'] ) ) { + $fields['lic_type'] = isset( $_REQUEST['lic_type'] ) ? wp_unslash( strip_tags( sanitize_text_field( $_REQUEST['lic_type'] ) ) ) : 'subscription'; + } + if ( isset( $_REQUEST['txn_id'] ) ) { $fields['txn_id'] = strip_tags( sanitize_text_field( $_REQUEST['txn_id'] ) ); } @@ -449,6 +476,14 @@ function update_api_listener() { $fields['max_allowed_domains'] = strip_tags( $_REQUEST['max_allowed_domains'] ); } + if ( empty( $_REQUEST['max_allowed_devices'] ) ) { + + $fields['max_allowed_devices'] = $options['default_max_devices']; + } else { + + $fields['max_allowed_devices'] = strip_tags( $_REQUEST['max_allowed_devices'] ); + } + $fields['date_expiry'] = isset( $_REQUEST['date_expiry'] ) ? strip_tags( sanitize_text_field( $_REQUEST['date_expiry'] ) ) : ''; $fields['product_ref'] = isset( $_REQUEST['product_ref'] ) ? wp_unslash( strip_tags( sanitize_text_field( $_REQUEST['product_ref'] ) ) ) : ''; @@ -480,6 +515,17 @@ function update_api_listener() { } } + /** + * Delete the specified License Key + * + * @action slm_remove + * + * Required parameter(s): + * + * slm_action - Must have the value 'slm_remove' to trigger this feature + * license_key - The key for the license to remove + * + */ function deletion_api_listener() { diff --git a/software-license-manager/includes/slm-meta-boxes.php b/software-license-manager/includes/slm-meta-boxes.php index cbde8ef..46a507e 100644 --- a/software-license-manager/includes/slm-meta-boxes.php +++ b/software-license-manager/includes/slm-meta-boxes.php @@ -2,221 +2,156 @@ // Author: Michel Velis // Author URI: http://pilotkit.co -// Since: 3.0.0 - -// Add Variation Custom fields - -//Display Fields in admin on product edit screen -add_action( 'woocommerce_product_after_variable_attributes', 'woo_variable_fields', 10, 3 ); +// Since: 4.4.0 +// from: https://gist.github.com/JeroenSormani/6b710d079386d096f932 + +add_filter('woocommerce_product_data_tabs', 'wc_slm_add_tab' ); +add_action('woocommerce_process_product_meta_simple', 'wc_slm_save_data'); +add_action('woocommerce_product_data_panels', 'wc_slm_data_panel'); + + +/** + * Add 'Gift Card' product option + */ +function add_wc_slm_data_tab_enabled_product_option( $product_type_options ) { + $product_type_options['wc_slm_data_tab_enabled'] = array( + 'id' => '_wc_slm_data_tab_enabled', + 'wrapper_class' => 'show_if_simple show_if_variable', + 'label' => __( 'License Manager', 'woocommerce' ), + 'default' => 'no', + 'description' => __( 'Enables the license creation api.', 'woocommerce' ) + ); + return $product_type_options; +} +add_filter( 'product_type_options', 'add_wc_slm_data_tab_enabled_product_option' ); + + +/** CSS To Add Custom tab Icon */ + +function wcpp_custom_style() { + ?> + + __('Licensing', 'woocommerce' ), + 'target' => 'wc_slm_meta', + 'class' => array( 'show_if_simple', 'show_if_wc_slm_data_tab_enabled'), + ); -// Create new fields for variations -function woo_variable_fields( $loop, $variation_data, $variation ) { + return $wc_slm_data_tabs; +} - echo '
'; +function wc_slm_data_panel() { + global $post; + ?> +
- // License Field - woocommerce_wp_text_input( + +
+ 'amount_of_licenses['. $loop .']', - 'label' => __( 'Number of Licenses (domain)', 'woocommerce' ), - 'placeholder' => '1-20', - 'desc_tip' => true, - 'wrapper_class' => 'form-row form-row-first', - 'description' => __( 'Ideal for themes, plugins, and websites', 'woocommerce' ), - 'value' => get_post_meta($variation->ID, 'amount_of_licenses', true) + 'id' => '_domain_licenses', + 'label' => __( 'Domain Licenses', 'woocommerce' ), + 'placeholder' => '0', + 'desc_tip' => 'true', + 'type' => 'number', + 'description' => __( 'Enter the allowed amount of domains this license can have (websites).', 'woocommerce' ) ) - ); - - echo "
"; - - echo '
'; - - // License Field - woocommerce_wp_text_input( + ); + woocommerce_wp_text_input( array( - 'id' => 'amount_of_licenses_devices['. $loop .']', - 'label' => __( 'Number of Licenses (devices)', 'woocommerce' ), - 'placeholder' => '1-20', - 'desc_tip' => true, - 'wrapper_class' => 'form-row form-row-first', - 'description' => __( 'Ideal for software and apps.', 'woocommerce' ), - 'value' => get_post_meta($variation->ID, 'amount_of_licenses_devices', true) + 'id' => '_devices_licenses', + 'label' => __( 'Devices Licenses', 'woocommerce' ), + 'placeholder' => '0', + 'desc_tip' => 'true', + 'type' => 'number', + 'description' => __( 'Enter the allowed amount of devices this license can have (computers, mobile, etc).', 'woocommerce' ) ) - ); - - echo "
"; - -} - -/** Save new fields for variations */ -function save_variation_fields( $variation_id, $i) { - - // License Field - $text_field = stripslashes( $_POST['amount_of_licenses'][$i] ); - update_post_meta( $variation_id, 'amount_of_licenses', esc_attr( $text_field ) ); - - $text_field = stripslashes( $_POST['amount_of_licenses_devices'][$i] ); - update_post_meta( $variation_id, 'amount_of_licenses_devices', esc_attr( $text_field ) ); - -} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -// First Register the Tab by hooking into the 'woocommerce_product_data_tabs' filter -add_filter( 'woocommerce_product_data_tabs', 'add_my_custom_product_data_tab' ); -function add_my_custom_product_data_tab( $product_data_tabs ) { - $product_data_tabs['my-custom-tab'] = array( - 'label' => __( 'License', 'woocommerce' ), - 'target' => 'my_custom_product_data', - 'class' => array( 'show_if_simple', 'show_if_variable' ), ); - return $product_data_tabs; -} - - - - - -// functions you can call to output text boxes, select boxes, etc. -add_action('woocommerce_product_data_panels', 'woocom_custom_product_data_fields'); - -function woocom_custom_product_data_fields() { - global $post; - - // Note the 'id' attribute needs to match the 'target' parameter set above - ?>
'_text_field', - 'label' => __( 'Custom Text Field', 'woocommerce' ), - 'wrapper_class' => 'show_if_simple', //show_if_simple or show_if_variable - 'placeholder' => 'Custom text field', - 'desc_tip' => 'true', - 'description' => __( 'Enter the custom value here.', 'woocommerce' ) - ) - ); - - // Number Field - woocommerce_wp_text_input( - array( - 'id' => '_number_field', - 'label' => __( 'Custom Number Field', 'woocommerce' ), - 'placeholder' => '', - 'description' => __( 'Enter the custom value here.', 'woocommerce' ), - 'type' => 'number', - 'custom_attributes' => array( - 'step' => 'any', - 'min' => '15' - ) - ) - ); - - // Checkbox - woocommerce_wp_checkbox( - array( - 'id' => '_checkbox', - 'label' => __('Custom Checkbox Field', 'woocommerce' ), - 'description' => __( 'Check me!', 'woocommerce' ) - ) - ); - - // Select - woocommerce_wp_select( - array( - 'id' => '_select', - 'label' => __( 'Custom Select Field', 'woocommerce' ), - 'options' => array( - 'one' => __( 'Custom Option 1', 'woocommerce' ), - 'two' => __( 'Custom Option 2', 'woocommerce' ), - 'three' => __( 'Custom Option 3', 'woocommerce' ) - ) - ) - ); - - // Textarea - woocommerce_wp_textarea_input( - array( - 'id' => '_textarea', - 'label' => __( 'Custom Textarea', 'woocommerce' ), - 'placeholder' => '', - 'description' => __( 'Enter the value here.', 'woocommerce' ) - ) - ); - ?>
- + woocommerce_wp_text_input( + array( + 'id' => '_license_renewal_period', + 'label' => __( 'Renewal period ', 'woocommerce' ), + 'placeholder' => '0', + 'desc_tip' => 'true', + 'description' => __( 'License renewal period(yearly) , enter 0 for lifetime.', 'woocommerce' ) + ) + ); + woocommerce_wp_select( + array( + 'id' => '_license_type', + 'label' => __( 'License Type', 'woocommerce' ), + 'placeholder' => 'Select one', + 'desc_tip' => 'true', + 'description' => __( 'type of license: subscription base or lifetime', 'woocommerce' ), + 'options' => array( + 'none' => __( 'Select one', 'woocommerce' ), + 'subscription' => __( 'subscription', 'woocommerce' ), + 'lifetime' => __( 'lifetime', 'woocommerce' ), + ) + ) + ); + woocommerce_wp_text_input( + array( + 'id' => '_license_current_version', + 'label' => __( 'Current Version', 'woocommerce' ), + 'placeholder' => '0.0.0', + 'desc_tip' => 'true', + 'description' => __( 'Enter the current version of your application, theme, or plug-in', 'woocommerce' ) + ) + ); + ?> +
activate(); } /** @@ -57,49 +75,49 @@ function activate_software_license_manager() { */ function deactivate_software_license_manager() { require_once SLM_LIB . 'class-software-license-manager-deactivator.php'; - Software_License_Manager_Deactivator::deactivate(); + $slm_deactivator->deactivate(); } register_activation_hook( __FILE__, 'activate_software_license_manager' ); register_deactivation_hook( __FILE__, 'deactivate_software_license_manager' ); //Includes -include_once( SLM_LIB .'slm-debug-logger.php'); -include_once( SLM_LIB .'slm-error-codes.php'); -include_once( SLM_LIB .'slm-utility.php'); -include_once( SLM_LIB .'slm-init-time-tasks.php'); -include_once( SLM_LIB .'slm-api-utility.php'); -include_once( SLM_LIB .'slm-api-listener.php'); +require_once( SLM_LIB .'slm-debug-logger.php'); +require_once( SLM_LIB .'slm-error-codes.php'); +require_once( SLM_LIB .'slm-utility.php'); +require_once( SLM_LIB .'slm-init-time-tasks.php'); +require_once( SLM_LIB .'slm-api-utility.php'); +require_once( SLM_LIB .'slm-api-listener.php'); // Front end-menu // TODO check for optional plugins // Third Party Support if (null !== SLM_Helper_Class::slm_get_option('slm_woo') && SLM_Helper_Class::slm_get_option('slm_woo') == 1) { - include_once( SLM_PUBLIC . 'slm-add-menu-frontend.php'); + require_once( SLM_PUBLIC . 'slm-add-menu-frontend.php'); // WordPress Plugin :: wc-software-license-manager - include_once( SLM_ADMIN . 'includes/woocommerce/wc-software-license-manager.php'); + require_once( SLM_ADMIN . 'includes/woocommerce/wc-software-license-manager.php'); - // support for meta boxes (variations only, this can be applied to single prodicts as well) - include_once( SLM_LIB . 'slm-meta-boxes.php'); + // support for meta boxes (variations only, this can be applied to single products as well) + require_once( SLM_LIB . 'slm-meta-boxes.php'); } -if (null !== SLM_Helper_Class::slm_get_option('slm_subscriptio') && SLM_Helper_Class::slm_get_option('slm_subscriptio') == 1) { - // Subscriptio PLugin Intergration - include_once( SLM_ADMIN . 'includes/subscriptio/slm-subscriptio.php'); -} +// if (null !== SLM_Helper_Class::slm_get_option('slm_subscriptio') && SLM_Helper_Class::slm_get_option('slm_subscriptio') == 1) { +// // Subscriptio PLugin Integration +// require_once( SLM_ADMIN . 'includes/subscriptio/slm-subscriptio.php'); +// } -if (null !== SLM_Helper_Class::slm_get_option('slm_wpestores') && SLM_Helper_Class::slm_get_option('slm_wpestores') == 1) { - // wpestores PLugin Intergration - include_once( SLM_ADMIN . 'includes/wpestores/slm-wpestores.php'); -} +// if (null !== SLM_Helper_Class::slm_get_option('slm_wpestores') && SLM_Helper_Class::slm_get_option('slm_wpestores') == 1) { +// // wpestores PLugin Integration +// require_once( SLM_ADMIN . 'includes/wpestores/slm-wpestores.php'); +// } //Include admin side only files if (is_admin()) { - include_once( SLM_ADMIN . 'slm-admin-init.php'); - include_once( SLM_ADMIN . 'includes/slm-list-table-class.php'); //Load our own WP List Table class + require_once( SLM_ADMIN . 'slm-admin-init.php'); + require_once( SLM_ADMIN . 'includes/slm-list-table-class.php'); //Load our own WP List Table class } //Action hooks @@ -125,7 +143,7 @@ function slm_plugins_loaded_handler() { //Check if db update needed if (get_option('wp_lic_mgr_db_version') != SLM_DB_VERSION) { require_once( SLM_LIB . 'class-software-license-manager-slm-installer.php'); - // TODO - Software_License_Manager_Activator::slm_db_install(); + // TODO - $slm_activator->slm_db_install(); } } } diff --git a/software-license-manager/public/assets/images/slm_logo_small.svg b/software-license-manager/public/assets/images/slm_logo_small.svg index 09ad389..8f20dac 100755 --- a/software-license-manager/public/assets/images/slm_logo_small.svg +++ b/software-license-manager/public/assets/images/slm_logo_small.svg @@ -1,15 +1,3 @@ - - - - - - - - - - - - - - + + diff --git a/software-license-manager/software-license-manager.php b/software-license-manager/software-license-manager.php index 7b78b42..6edb7aa 100755 --- a/software-license-manager/software-license-manager.php +++ b/software-license-manager/software-license-manager.php @@ -1,7 +1,7 @@ Date: Sun, 2 Dec 2018 18:34:15 -0500 Subject: [PATCH 032/293] removed unused files --- .../woocommerce/includes/meta-boxes.php | 85 ------------------- 1 file changed, 85 deletions(-) delete mode 100755 software-license-manager/admin/includes/woocommerce/includes/meta-boxes.php diff --git a/software-license-manager/admin/includes/woocommerce/includes/meta-boxes.php b/software-license-manager/admin/includes/woocommerce/includes/meta-boxes.php deleted file mode 100755 index 7a8b1f0..0000000 --- a/software-license-manager/admin/includes/woocommerce/includes/meta-boxes.php +++ /dev/null @@ -1,85 +0,0 @@ -ID; - $slm_licensing_enabled = get_post_meta($post_id, '_slm_licensing_enabled', true) ? true : false; - $slm_sites_allowed = esc_attr(get_post_meta($post_id, 'amount_of_licenses', true)); - $slm_devices_allowed = esc_attr(get_post_meta($post_id, 'slm_devices_allowed', true)); - $_slm_licensing_renewal_period = esc_attr(get_post_meta($post_id, '_slm_licensing_renewal_period', true)); - $slm_display = $slm_licensing_enabled ? '' : ' style="display:none;"'; - - - if (trim($_slm_licensing_renewal_period) == '') { - $_slm_licensing_renewal_period = 0; - } - - ?> - - - -

- /> - -

- -
class="wc-slm-toggled-hide"> -

- - -

-

- - -

- -

- - -

- -
- Date: Sun, 2 Dec 2018 22:03:14 -0500 Subject: [PATCH 033/293] added change-log notes --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a2ce02d..1b07125 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,18 @@ # CHANGELOG All notable changes to this project will be documented in this file. +#### 4.4 +- improved: simple product meta boxes +- added license manager as product type +- added support for "subscr_id" from version 4.3 +- added support for version number +- added license type (lifetime or subscription) :: "lic_type" +- improved license key generator +- fixed minor bug and performance issues +- update wp icon and menu name +- updated meta boxes (simple products) +- [] WIP: support for variations + #### 4.3 - Added a new action hook for estore recurring payments. - BUG FIX: Sanitize DB query value before using (injection) thanks to @eighty20results From 3a8c7979530b614828943f8d2b197caffec97d02 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Sun, 2 Dec 2018 22:06:16 -0500 Subject: [PATCH 034/293] updated features list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cf52063..a016aa2 100755 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ This plugin is very useful for creating a license server and doing the following - Activate a license key from your application (remotely) - Deactivate a license key (remotely) - Delete a license key (remotely) +- Update a license key (remotely) - Check a license key (remotely) - Track where the license key is being used. - You can also create license keys manually from the admin dashboard of this plugin. From 7a7143bf3d8b2b758dd50a5a789fdbc61e86727d Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Sun, 2 Dec 2018 22:16:15 -0500 Subject: [PATCH 035/293] added Compatibility --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index a016aa2..86f816c 100755 --- a/README.md +++ b/README.md @@ -31,6 +31,11 @@ This plugin is very useful for creating a license server and doing the following 1. Browse for the plugin file (software-license-manager.zip) 1. Click Install Now and then activate the plugin +## Compatibility +- Woocommerce +- WP eStore +- [] WIP: Woocommerce subscriptions + ## Screenshots Software License Manager From a63639b2ebf3d33e2d619f2a0aa9c349dbabbbe1 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Mon, 3 Dec 2018 14:06:03 -0500 Subject: [PATCH 036/293] new folder structure --- .../includes/slm-list-table-class.php | 0 .../includes/subscriptio/slm-subscriptio.php | 0 .../includes/woocommerce/includes/emails.php | 0 .../includes/woocommerce/includes/helper.php | 0 .../woocommerce/includes/purchase.php | 0 .../includes/woocommerce/license.txt | 0 .../wc-software-license-manager.php | 0 .../includes/wpestores/slm-wpestores.php | 0 .../admin => admin}/index.html | 0 .../admin => admin}/slm-add-licenses.php | 0 .../admin => admin}/slm-admin-functions.php | 0 .../admin => admin}/slm-admin-init.php | 0 .../slm-integration-help-page.php | 0 .../admin => admin}/slm-lic-settings.php | 0 .../slm-list-licenses-class.php | 0 .../admin => admin}/slm-manage-licenses.php | 0 .../slm-woocommerce-support.php | 0 ...ass-software-license-manager-activator.php | 0 ...s-software-license-manager-deactivator.php | 0 ...software-license-manager-slm-installer.php | 0 .../includes => includes}/index.php | 0 .../slm-api-listener.php | 0 .../includes => includes}/slm-api-utility.php | 0 .../slm-debug-logger.php | 0 .../includes => includes}/slm-error-codes.php | 0 .../slm-init-time-tasks.php | 0 .../includes => includes}/slm-meta-boxes.php | 0 .../includes => includes}/slm-utility.php | 0 .../includes => includes}/slm_plugin_core.php | 0 .../index.php => index.php | 0 .../assets/css/jquery-ui.css | 0 .../public => public}/assets/css/slm.css | 0 .../assets/images/Screen-Shot-0.png | Bin .../assets/images/Screen-Shot-1.png | Bin .../assets/images/Screen-Shot-2.png | Bin .../assets/images/Screen-Shot-3.png | Bin .../assets/images/Screen-Shot-4.png | Bin .../assets/images/Screen-Shot-5.png | Bin .../public => public}/assets/images/bg.png | Bin .../assets/images/key-26.svg | 0 .../assets/images/slm_logo.png | Bin .../assets/images/slm_logo.svg | 0 .../assets/images/slm_logo_small.png | Bin .../assets/images/slm_logo_small.svg | 0 .../public => public}/assets/js/index.html | 0 .../assets/js/wplm-custom-admin.js | 0 .../slm-add-menu-frontend.php | 0 ...anager.php => software-license-manager.php | 0 software-license-manager/LICENSE.md | 674 ------------------ .../uninstall.php => uninstall.php | 0 50 files changed, 674 deletions(-) rename {software-license-manager/admin => admin}/includes/slm-list-table-class.php (100%) rename {software-license-manager/admin => admin}/includes/subscriptio/slm-subscriptio.php (100%) rename {software-license-manager/admin => admin}/includes/woocommerce/includes/emails.php (100%) rename {software-license-manager/admin => admin}/includes/woocommerce/includes/helper.php (100%) rename {software-license-manager/admin => admin}/includes/woocommerce/includes/purchase.php (100%) rename {software-license-manager/admin => admin}/includes/woocommerce/license.txt (100%) rename {software-license-manager/admin => admin}/includes/woocommerce/wc-software-license-manager.php (100%) rename {software-license-manager/admin => admin}/includes/wpestores/slm-wpestores.php (100%) rename {software-license-manager/admin => admin}/index.html (100%) rename {software-license-manager/admin => admin}/slm-add-licenses.php (100%) rename {software-license-manager/admin => admin}/slm-admin-functions.php (100%) rename {software-license-manager/admin => admin}/slm-admin-init.php (100%) rename {software-license-manager/admin => admin}/slm-integration-help-page.php (100%) rename {software-license-manager/admin => admin}/slm-lic-settings.php (100%) rename {software-license-manager/admin => admin}/slm-list-licenses-class.php (100%) rename {software-license-manager/admin => admin}/slm-manage-licenses.php (100%) rename {software-license-manager/admin => admin}/slm-woocommerce-support.php (100%) rename {software-license-manager/includes => includes}/class-software-license-manager-activator.php (100%) rename {software-license-manager/includes => includes}/class-software-license-manager-deactivator.php (100%) rename {software-license-manager/includes => includes}/class-software-license-manager-slm-installer.php (100%) rename {software-license-manager/includes => includes}/index.php (100%) rename {software-license-manager/includes => includes}/slm-api-listener.php (100%) rename {software-license-manager/includes => includes}/slm-api-utility.php (100%) rename {software-license-manager/includes => includes}/slm-debug-logger.php (100%) rename {software-license-manager/includes => includes}/slm-error-codes.php (100%) rename {software-license-manager/includes => includes}/slm-init-time-tasks.php (100%) rename {software-license-manager/includes => includes}/slm-meta-boxes.php (100%) rename {software-license-manager/includes => includes}/slm-utility.php (100%) rename {software-license-manager/includes => includes}/slm_plugin_core.php (100%) rename software-license-manager/index.php => index.php (100%) rename {software-license-manager/public => public}/assets/css/jquery-ui.css (100%) rename {software-license-manager/public => public}/assets/css/slm.css (100%) rename {software-license-manager/public => public}/assets/images/Screen-Shot-0.png (100%) rename {software-license-manager/public => public}/assets/images/Screen-Shot-1.png (100%) rename {software-license-manager/public => public}/assets/images/Screen-Shot-2.png (100%) rename {software-license-manager/public => public}/assets/images/Screen-Shot-3.png (100%) rename {software-license-manager/public => public}/assets/images/Screen-Shot-4.png (100%) rename {software-license-manager/public => public}/assets/images/Screen-Shot-5.png (100%) rename {software-license-manager/public => public}/assets/images/bg.png (100%) rename {software-license-manager/public => public}/assets/images/key-26.svg (100%) rename {software-license-manager/public => public}/assets/images/slm_logo.png (100%) rename {software-license-manager/public => public}/assets/images/slm_logo.svg (100%) rename {software-license-manager/public => public}/assets/images/slm_logo_small.png (100%) rename {software-license-manager/public => public}/assets/images/slm_logo_small.svg (100%) rename {software-license-manager/public => public}/assets/js/index.html (100%) rename {software-license-manager/public => public}/assets/js/wplm-custom-admin.js (100%) rename {software-license-manager/public => public}/slm-add-menu-frontend.php (100%) rename software-license-manager/software-license-manager.php => software-license-manager.php (100%) delete mode 100755 software-license-manager/LICENSE.md rename software-license-manager/uninstall.php => uninstall.php (100%) diff --git a/software-license-manager/admin/includes/slm-list-table-class.php b/admin/includes/slm-list-table-class.php similarity index 100% rename from software-license-manager/admin/includes/slm-list-table-class.php rename to admin/includes/slm-list-table-class.php diff --git a/software-license-manager/admin/includes/subscriptio/slm-subscriptio.php b/admin/includes/subscriptio/slm-subscriptio.php similarity index 100% rename from software-license-manager/admin/includes/subscriptio/slm-subscriptio.php rename to admin/includes/subscriptio/slm-subscriptio.php diff --git a/software-license-manager/admin/includes/woocommerce/includes/emails.php b/admin/includes/woocommerce/includes/emails.php similarity index 100% rename from software-license-manager/admin/includes/woocommerce/includes/emails.php rename to admin/includes/woocommerce/includes/emails.php diff --git a/software-license-manager/admin/includes/woocommerce/includes/helper.php b/admin/includes/woocommerce/includes/helper.php similarity index 100% rename from software-license-manager/admin/includes/woocommerce/includes/helper.php rename to admin/includes/woocommerce/includes/helper.php diff --git a/software-license-manager/admin/includes/woocommerce/includes/purchase.php b/admin/includes/woocommerce/includes/purchase.php similarity index 100% rename from software-license-manager/admin/includes/woocommerce/includes/purchase.php rename to admin/includes/woocommerce/includes/purchase.php diff --git a/software-license-manager/admin/includes/woocommerce/license.txt b/admin/includes/woocommerce/license.txt similarity index 100% rename from software-license-manager/admin/includes/woocommerce/license.txt rename to admin/includes/woocommerce/license.txt diff --git a/software-license-manager/admin/includes/woocommerce/wc-software-license-manager.php b/admin/includes/woocommerce/wc-software-license-manager.php similarity index 100% rename from software-license-manager/admin/includes/woocommerce/wc-software-license-manager.php rename to admin/includes/woocommerce/wc-software-license-manager.php diff --git a/software-license-manager/admin/includes/wpestores/slm-wpestores.php b/admin/includes/wpestores/slm-wpestores.php similarity index 100% rename from software-license-manager/admin/includes/wpestores/slm-wpestores.php rename to admin/includes/wpestores/slm-wpestores.php diff --git a/software-license-manager/admin/index.html b/admin/index.html similarity index 100% rename from software-license-manager/admin/index.html rename to admin/index.html diff --git a/software-license-manager/admin/slm-add-licenses.php b/admin/slm-add-licenses.php similarity index 100% rename from software-license-manager/admin/slm-add-licenses.php rename to admin/slm-add-licenses.php diff --git a/software-license-manager/admin/slm-admin-functions.php b/admin/slm-admin-functions.php similarity index 100% rename from software-license-manager/admin/slm-admin-functions.php rename to admin/slm-admin-functions.php diff --git a/software-license-manager/admin/slm-admin-init.php b/admin/slm-admin-init.php similarity index 100% rename from software-license-manager/admin/slm-admin-init.php rename to admin/slm-admin-init.php diff --git a/software-license-manager/admin/slm-integration-help-page.php b/admin/slm-integration-help-page.php similarity index 100% rename from software-license-manager/admin/slm-integration-help-page.php rename to admin/slm-integration-help-page.php diff --git a/software-license-manager/admin/slm-lic-settings.php b/admin/slm-lic-settings.php similarity index 100% rename from software-license-manager/admin/slm-lic-settings.php rename to admin/slm-lic-settings.php diff --git a/software-license-manager/admin/slm-list-licenses-class.php b/admin/slm-list-licenses-class.php similarity index 100% rename from software-license-manager/admin/slm-list-licenses-class.php rename to admin/slm-list-licenses-class.php diff --git a/software-license-manager/admin/slm-manage-licenses.php b/admin/slm-manage-licenses.php similarity index 100% rename from software-license-manager/admin/slm-manage-licenses.php rename to admin/slm-manage-licenses.php diff --git a/software-license-manager/admin/slm-woocommerce-support.php b/admin/slm-woocommerce-support.php similarity index 100% rename from software-license-manager/admin/slm-woocommerce-support.php rename to admin/slm-woocommerce-support.php diff --git a/software-license-manager/includes/class-software-license-manager-activator.php b/includes/class-software-license-manager-activator.php similarity index 100% rename from software-license-manager/includes/class-software-license-manager-activator.php rename to includes/class-software-license-manager-activator.php diff --git a/software-license-manager/includes/class-software-license-manager-deactivator.php b/includes/class-software-license-manager-deactivator.php similarity index 100% rename from software-license-manager/includes/class-software-license-manager-deactivator.php rename to includes/class-software-license-manager-deactivator.php diff --git a/software-license-manager/includes/class-software-license-manager-slm-installer.php b/includes/class-software-license-manager-slm-installer.php similarity index 100% rename from software-license-manager/includes/class-software-license-manager-slm-installer.php rename to includes/class-software-license-manager-slm-installer.php diff --git a/software-license-manager/includes/index.php b/includes/index.php similarity index 100% rename from software-license-manager/includes/index.php rename to includes/index.php diff --git a/software-license-manager/includes/slm-api-listener.php b/includes/slm-api-listener.php similarity index 100% rename from software-license-manager/includes/slm-api-listener.php rename to includes/slm-api-listener.php diff --git a/software-license-manager/includes/slm-api-utility.php b/includes/slm-api-utility.php similarity index 100% rename from software-license-manager/includes/slm-api-utility.php rename to includes/slm-api-utility.php diff --git a/software-license-manager/includes/slm-debug-logger.php b/includes/slm-debug-logger.php similarity index 100% rename from software-license-manager/includes/slm-debug-logger.php rename to includes/slm-debug-logger.php diff --git a/software-license-manager/includes/slm-error-codes.php b/includes/slm-error-codes.php similarity index 100% rename from software-license-manager/includes/slm-error-codes.php rename to includes/slm-error-codes.php diff --git a/software-license-manager/includes/slm-init-time-tasks.php b/includes/slm-init-time-tasks.php similarity index 100% rename from software-license-manager/includes/slm-init-time-tasks.php rename to includes/slm-init-time-tasks.php diff --git a/software-license-manager/includes/slm-meta-boxes.php b/includes/slm-meta-boxes.php similarity index 100% rename from software-license-manager/includes/slm-meta-boxes.php rename to includes/slm-meta-boxes.php diff --git a/software-license-manager/includes/slm-utility.php b/includes/slm-utility.php similarity index 100% rename from software-license-manager/includes/slm-utility.php rename to includes/slm-utility.php diff --git a/software-license-manager/includes/slm_plugin_core.php b/includes/slm_plugin_core.php similarity index 100% rename from software-license-manager/includes/slm_plugin_core.php rename to includes/slm_plugin_core.php diff --git a/software-license-manager/index.php b/index.php similarity index 100% rename from software-license-manager/index.php rename to index.php diff --git a/software-license-manager/public/assets/css/jquery-ui.css b/public/assets/css/jquery-ui.css similarity index 100% rename from software-license-manager/public/assets/css/jquery-ui.css rename to public/assets/css/jquery-ui.css diff --git a/software-license-manager/public/assets/css/slm.css b/public/assets/css/slm.css similarity index 100% rename from software-license-manager/public/assets/css/slm.css rename to public/assets/css/slm.css diff --git a/software-license-manager/public/assets/images/Screen-Shot-0.png b/public/assets/images/Screen-Shot-0.png similarity index 100% rename from software-license-manager/public/assets/images/Screen-Shot-0.png rename to public/assets/images/Screen-Shot-0.png diff --git a/software-license-manager/public/assets/images/Screen-Shot-1.png b/public/assets/images/Screen-Shot-1.png similarity index 100% rename from software-license-manager/public/assets/images/Screen-Shot-1.png rename to public/assets/images/Screen-Shot-1.png diff --git a/software-license-manager/public/assets/images/Screen-Shot-2.png b/public/assets/images/Screen-Shot-2.png similarity index 100% rename from software-license-manager/public/assets/images/Screen-Shot-2.png rename to public/assets/images/Screen-Shot-2.png diff --git a/software-license-manager/public/assets/images/Screen-Shot-3.png b/public/assets/images/Screen-Shot-3.png similarity index 100% rename from software-license-manager/public/assets/images/Screen-Shot-3.png rename to public/assets/images/Screen-Shot-3.png diff --git a/software-license-manager/public/assets/images/Screen-Shot-4.png b/public/assets/images/Screen-Shot-4.png similarity index 100% rename from software-license-manager/public/assets/images/Screen-Shot-4.png rename to public/assets/images/Screen-Shot-4.png diff --git a/software-license-manager/public/assets/images/Screen-Shot-5.png b/public/assets/images/Screen-Shot-5.png similarity index 100% rename from software-license-manager/public/assets/images/Screen-Shot-5.png rename to public/assets/images/Screen-Shot-5.png diff --git a/software-license-manager/public/assets/images/bg.png b/public/assets/images/bg.png similarity index 100% rename from software-license-manager/public/assets/images/bg.png rename to public/assets/images/bg.png diff --git a/software-license-manager/public/assets/images/key-26.svg b/public/assets/images/key-26.svg similarity index 100% rename from software-license-manager/public/assets/images/key-26.svg rename to public/assets/images/key-26.svg diff --git a/software-license-manager/public/assets/images/slm_logo.png b/public/assets/images/slm_logo.png similarity index 100% rename from software-license-manager/public/assets/images/slm_logo.png rename to public/assets/images/slm_logo.png diff --git a/software-license-manager/public/assets/images/slm_logo.svg b/public/assets/images/slm_logo.svg similarity index 100% rename from software-license-manager/public/assets/images/slm_logo.svg rename to public/assets/images/slm_logo.svg diff --git a/software-license-manager/public/assets/images/slm_logo_small.png b/public/assets/images/slm_logo_small.png similarity index 100% rename from software-license-manager/public/assets/images/slm_logo_small.png rename to public/assets/images/slm_logo_small.png diff --git a/software-license-manager/public/assets/images/slm_logo_small.svg b/public/assets/images/slm_logo_small.svg similarity index 100% rename from software-license-manager/public/assets/images/slm_logo_small.svg rename to public/assets/images/slm_logo_small.svg diff --git a/software-license-manager/public/assets/js/index.html b/public/assets/js/index.html similarity index 100% rename from software-license-manager/public/assets/js/index.html rename to public/assets/js/index.html diff --git a/software-license-manager/public/assets/js/wplm-custom-admin.js b/public/assets/js/wplm-custom-admin.js similarity index 100% rename from software-license-manager/public/assets/js/wplm-custom-admin.js rename to public/assets/js/wplm-custom-admin.js diff --git a/software-license-manager/public/slm-add-menu-frontend.php b/public/slm-add-menu-frontend.php similarity index 100% rename from software-license-manager/public/slm-add-menu-frontend.php rename to public/slm-add-menu-frontend.php diff --git a/software-license-manager/software-license-manager.php b/software-license-manager.php similarity index 100% rename from software-license-manager/software-license-manager.php rename to software-license-manager.php diff --git a/software-license-manager/LICENSE.md b/software-license-manager/LICENSE.md deleted file mode 100755 index 7a3b7c2..0000000 --- a/software-license-manager/LICENSE.md +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file diff --git a/software-license-manager/uninstall.php b/uninstall.php similarity index 100% rename from software-license-manager/uninstall.php rename to uninstall.php From 7c948a1b6ecd0659204a1c5adf029bd1e6e54f6f Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Mon, 3 Dec 2018 14:07:29 -0500 Subject: [PATCH 037/293] updated paths --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 86f816c..41cd212 100755 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Software License Manager +Software License Manager # Software License Manager [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) @@ -37,14 +37,14 @@ This plugin is very useful for creating a license server and doing the following - [] WIP: Woocommerce subscriptions ## Screenshots -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager From c0d56534e2cac38e970fcc176374b0d54fff0bba Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Mon, 3 Dec 2018 20:55:45 -0500 Subject: [PATCH 038/293] added update helper --- CHANGELOG.md | 3 + admin/update-checker/Puc/v4/Factory.php | 6 + admin/update-checker/Puc/v4p4/Autoloader.php | 49 + .../Puc/v4p4/DebugBar/Extension.php | 177 ++ .../Puc/v4p4/DebugBar/Panel.php | 165 ++ .../Puc/v4p4/DebugBar/PluginExtension.php | 33 + .../Puc/v4p4/DebugBar/PluginPanel.php | 38 + .../Puc/v4p4/DebugBar/ThemePanel.php | 21 + admin/update-checker/Puc/v4p4/Factory.php | 292 ++++ admin/update-checker/Puc/v4p4/Metadata.php | 132 ++ .../Puc/v4p4/OAuthSignature.php | 88 + admin/update-checker/Puc/v4p4/Plugin/Info.php | 130 ++ .../update-checker/Puc/v4p4/Plugin/Update.php | 110 ++ .../Puc/v4p4/Plugin/UpdateChecker.php | 740 ++++++++ admin/update-checker/Puc/v4p4/Scheduler.php | 177 ++ admin/update-checker/Puc/v4p4/StateStore.php | 207 +++ .../update-checker/Puc/v4p4/Theme/Update.php | 84 + .../Puc/v4p4/Theme/UpdateChecker.php | 177 ++ admin/update-checker/Puc/v4p4/Update.php | 34 + .../update-checker/Puc/v4p4/UpdateChecker.php | 896 ++++++++++ .../Puc/v4p4/UpgraderStatus.php | 199 +++ admin/update-checker/Puc/v4p4/Utils.php | 69 + admin/update-checker/Puc/v4p4/Vcs/Api.php | 302 ++++ .../Puc/v4p4/Vcs/BaseChecker.php | 27 + .../Puc/v4p4/Vcs/BitBucketApi.php | 256 +++ .../update-checker/Puc/v4p4/Vcs/GitHubApi.php | 413 +++++ .../update-checker/Puc/v4p4/Vcs/GitLabApi.php | 274 +++ .../Puc/v4p4/Vcs/PluginUpdateChecker.php | 217 +++ .../update-checker/Puc/v4p4/Vcs/Reference.php | 49 + .../Puc/v4p4/Vcs/ThemeUpdateChecker.php | 118 ++ admin/update-checker/css/puc-debug-bar.css | 70 + admin/update-checker/js/debug-bar.js | 52 + admin/update-checker/license.txt | 7 + .../update-checker/plugin-update-checker.php | 24 + admin/update-checker/vendor/Parsedown.php | 1538 +++++++++++++++++ .../update-checker/vendor/ParsedownLegacy.php | 1535 ++++++++++++++++ admin/update-checker/vendor/readme-parser.php | 334 ++++ includes/slm-utility.php | 1 + readme.txt | 36 + software-license-manager.php | 11 +- 40 files changed, 9090 insertions(+), 1 deletion(-) create mode 100755 admin/update-checker/Puc/v4/Factory.php create mode 100755 admin/update-checker/Puc/v4p4/Autoloader.php create mode 100755 admin/update-checker/Puc/v4p4/DebugBar/Extension.php create mode 100755 admin/update-checker/Puc/v4p4/DebugBar/Panel.php create mode 100755 admin/update-checker/Puc/v4p4/DebugBar/PluginExtension.php create mode 100755 admin/update-checker/Puc/v4p4/DebugBar/PluginPanel.php create mode 100755 admin/update-checker/Puc/v4p4/DebugBar/ThemePanel.php create mode 100755 admin/update-checker/Puc/v4p4/Factory.php create mode 100755 admin/update-checker/Puc/v4p4/Metadata.php create mode 100755 admin/update-checker/Puc/v4p4/OAuthSignature.php create mode 100755 admin/update-checker/Puc/v4p4/Plugin/Info.php create mode 100755 admin/update-checker/Puc/v4p4/Plugin/Update.php create mode 100755 admin/update-checker/Puc/v4p4/Plugin/UpdateChecker.php create mode 100755 admin/update-checker/Puc/v4p4/Scheduler.php create mode 100755 admin/update-checker/Puc/v4p4/StateStore.php create mode 100755 admin/update-checker/Puc/v4p4/Theme/Update.php create mode 100755 admin/update-checker/Puc/v4p4/Theme/UpdateChecker.php create mode 100755 admin/update-checker/Puc/v4p4/Update.php create mode 100755 admin/update-checker/Puc/v4p4/UpdateChecker.php create mode 100755 admin/update-checker/Puc/v4p4/UpgraderStatus.php create mode 100755 admin/update-checker/Puc/v4p4/Utils.php create mode 100755 admin/update-checker/Puc/v4p4/Vcs/Api.php create mode 100755 admin/update-checker/Puc/v4p4/Vcs/BaseChecker.php create mode 100755 admin/update-checker/Puc/v4p4/Vcs/BitBucketApi.php create mode 100755 admin/update-checker/Puc/v4p4/Vcs/GitHubApi.php create mode 100755 admin/update-checker/Puc/v4p4/Vcs/GitLabApi.php create mode 100755 admin/update-checker/Puc/v4p4/Vcs/PluginUpdateChecker.php create mode 100755 admin/update-checker/Puc/v4p4/Vcs/Reference.php create mode 100755 admin/update-checker/Puc/v4p4/Vcs/ThemeUpdateChecker.php create mode 100755 admin/update-checker/css/puc-debug-bar.css create mode 100755 admin/update-checker/js/debug-bar.js create mode 100755 admin/update-checker/license.txt create mode 100755 admin/update-checker/plugin-update-checker.php create mode 100755 admin/update-checker/vendor/Parsedown.php create mode 100755 admin/update-checker/vendor/ParsedownLegacy.php create mode 100755 admin/update-checker/vendor/readme-parser.php create mode 100644 readme.txt diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b07125..d2c3e21 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ # CHANGELOG All notable changes to this project will be documented in this file. +#### 4.5 +- added: plugin updater helper + #### 4.4 - improved: simple product meta boxes - added license manager as product type diff --git a/admin/update-checker/Puc/v4/Factory.php b/admin/update-checker/Puc/v4/Factory.php new file mode 100755 index 0000000..3ab674c --- /dev/null +++ b/admin/update-checker/Puc/v4/Factory.php @@ -0,0 +1,6 @@ +rootDir = dirname(__FILE__) . '/'; + $nameParts = explode('_', __CLASS__, 3); + $this->prefix = $nameParts[0] . '_' . $nameParts[1] . '_'; + + $this->libraryDir = realpath($this->rootDir . '../..') . '/'; + $this->staticMap = array( + 'PucReadmeParser' => 'vendor/readme-parser.php', + 'Parsedown' => 'vendor/ParsedownLegacy.php', + ); + if ( version_compare(PHP_VERSION, '5.3.0', '>=') ) { + $this->staticMap['Parsedown'] = 'vendor/Parsedown.php'; + } + + spl_autoload_register(array($this, 'autoload')); + } + + public function autoload($className) { + if ( isset($this->staticMap[$className]) && file_exists($this->libraryDir . $this->staticMap[$className]) ) { + /** @noinspection PhpIncludeInspection */ + include ($this->libraryDir . $this->staticMap[$className]); + return; + } + + if (strpos($className, $this->prefix) === 0) { + $path = substr($className, strlen($this->prefix)); + $path = str_replace('_', '/', $path); + $path = $this->rootDir . $path . '.php'; + + if (file_exists($path)) { + /** @noinspection PhpIncludeInspection */ + include $path; + } + } + } + } + +endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/DebugBar/Extension.php b/admin/update-checker/Puc/v4p4/DebugBar/Extension.php new file mode 100755 index 0000000..b816ca9 --- /dev/null +++ b/admin/update-checker/Puc/v4p4/DebugBar/Extension.php @@ -0,0 +1,177 @@ +updateChecker = $updateChecker; + if ( isset($panelClass) ) { + $this->panelClass = $panelClass; + } + + add_filter('debug_bar_panels', array($this, 'addDebugBarPanel')); + add_action('debug_bar_enqueue_scripts', array($this, 'enqueuePanelDependencies')); + + add_action('wp_ajax_puc_v4_debug_check_now', array($this, 'ajaxCheckNow')); + } + + /** + * Register the PUC Debug Bar panel. + * + * @param array $panels + * @return array + */ + public function addDebugBarPanel($panels) { + if ( $this->updateChecker->userCanInstallUpdates() ) { + $panels[] = new $this->panelClass($this->updateChecker); + } + return $panels; + } + + /** + * Enqueue our Debug Bar scripts and styles. + */ + public function enqueuePanelDependencies() { + wp_enqueue_style( + 'puc-debug-bar-style-v4', + $this->getLibraryUrl("/css/puc-debug-bar.css"), + array('debug-bar'), + '20171124' + ); + + wp_enqueue_script( + 'puc-debug-bar-js-v4', + $this->getLibraryUrl("/js/debug-bar.js"), + array('jquery'), + '20170516' + ); + } + + /** + * Run an update check and output the result. Useful for making sure that + * the update checking process works as expected. + */ + public function ajaxCheckNow() { + if ( $_POST['uid'] !== $this->updateChecker->getUniqueName('uid') ) { + return; + } + $this->preAjaxRequest(); + $update = $this->updateChecker->checkForUpdates(); + if ( $update !== null ) { + echo "An update is available:"; + echo '
', htmlentities(print_r($update, true)), '
'; + } else { + echo 'No updates found.'; + } + + $errors = $this->updateChecker->getLastRequestApiErrors(); + if ( !empty($errors) ) { + printf('

The update checker encountered %d API error%s.

', count($errors), (count($errors) > 1) ? 's' : ''); + + foreach (array_values($errors) as $num => $item) { + $wpError = $item['error']; + /** @var WP_Error $wpError */ + printf('

%d) %s

', $num + 1, esc_html($wpError->get_error_message())); + + echo '
'; + printf('
Error code:
%s
', esc_html($wpError->get_error_code())); + + if ( isset($item['url']) ) { + printf('
Requested URL:
%s
', esc_html($item['url'])); + } + + if ( isset($item['httpResponse']) ) { + if ( is_wp_error($item['httpResponse']) ) { + $httpError = $item['httpResponse']; + /** @var WP_Error $httpError */ + printf( + '
WordPress HTTP API error:
%s (%s)
', + esc_html($httpError->get_error_message()), + esc_html($httpError->get_error_code()) + ); + } else { + //Status code. + printf( + '
HTTP status:
%d %s
', + wp_remote_retrieve_response_code($item['httpResponse']), + wp_remote_retrieve_response_message($item['httpResponse']) + ); + + //Headers. + echo '
Response headers:
';
+							foreach (wp_remote_retrieve_headers($item['httpResponse']) as $name => $value) {
+								printf("%s: %s\n", esc_html($name), esc_html($value));
+							}
+							echo '
'; + + //Body. + $body = wp_remote_retrieve_body($item['httpResponse']); + if ( $body === '' ) { + $body = '(Empty response.)'; + } else if ( strlen($body) > self::RESPONSE_BODY_LENGTH_LIMIT ) { + $length = strlen($body); + $body = substr($body, 0, self::RESPONSE_BODY_LENGTH_LIMIT) + . sprintf("\n(Long string truncated. Total length: %d bytes.)", $length); + } + + printf('
Response body:
%s
', esc_html($body)); + } + } + echo '
'; + } + } + + exit; + } + + /** + * Check access permissions and enable error display (for debugging). + */ + protected function preAjaxRequest() { + if ( !$this->updateChecker->userCanInstallUpdates() ) { + die('Access denied'); + } + check_ajax_referer('puc-ajax'); + + error_reporting(E_ALL); + @ini_set('display_errors', 'On'); + } + + /** + * @param string $filePath + * @return string + */ + private function getLibraryUrl($filePath) { + $absolutePath = realpath(dirname(__FILE__) . '/../../../' . ltrim($filePath, '/')); + + //Where is the library located inside the WordPress directory structure? + $absolutePath = Puc_v4p4_Factory::normalizePath($absolutePath); + + $pluginDir = Puc_v4p4_Factory::normalizePath(WP_PLUGIN_DIR); + $muPluginDir = Puc_v4p4_Factory::normalizePath(WPMU_PLUGIN_DIR); + $themeDir = Puc_v4p4_Factory::normalizePath(get_theme_root()); + + if ( (strpos($absolutePath, $pluginDir) === 0) || (strpos($absolutePath, $muPluginDir) === 0) ) { + //It's part of a plugin. + return plugins_url(basename($absolutePath), $absolutePath); + } else if ( strpos($absolutePath, $themeDir) === 0 ) { + //It's part of a theme. + $relativePath = substr($absolutePath, strlen($themeDir) + 1); + $template = substr($relativePath, 0, strpos($relativePath, '/')); + $baseUrl = get_theme_root_uri($template); + + if ( !empty($baseUrl) && $relativePath ) { + return $baseUrl . '/' . $relativePath; + } + } + + return ''; + } + } + +endif; diff --git a/admin/update-checker/Puc/v4p4/DebugBar/Panel.php b/admin/update-checker/Puc/v4p4/DebugBar/Panel.php new file mode 100755 index 0000000..728eb80 --- /dev/null +++ b/admin/update-checker/Puc/v4p4/DebugBar/Panel.php @@ -0,0 +1,165 @@ +
'; + + public function __construct($updateChecker) { + $this->updateChecker = $updateChecker; + $title = sprintf( + 'PUC (%s)', + esc_attr($this->updateChecker->getUniqueName('uid')), + $this->updateChecker->slug + ); + parent::__construct($title); + } + + public function render() { + printf( + '
', + esc_attr($this->updateChecker->getUniqueName('debug-bar-panel')), + esc_attr($this->updateChecker->slug), + esc_attr($this->updateChecker->getUniqueName('uid')), + esc_attr(wp_create_nonce('puc-ajax')) + ); + + $this->displayConfiguration(); + $this->displayStatus(); + $this->displayCurrentUpdate(); + + echo '
'; + } + + private function displayConfiguration() { + echo '

Configuration

'; + echo ''; + $this->displayConfigHeader(); + $this->row('Slug', htmlentities($this->updateChecker->slug)); + $this->row('DB option', htmlentities($this->updateChecker->optionName)); + + $requestInfoButton = $this->getMetadataButton(); + $this->row('Metadata URL', htmlentities($this->updateChecker->metadataUrl) . ' ' . $requestInfoButton . $this->responseBox); + + $scheduler = $this->updateChecker->scheduler; + if ( $scheduler->checkPeriod > 0 ) { + $this->row('Automatic checks', 'Every ' . $scheduler->checkPeriod . ' hours'); + } else { + $this->row('Automatic checks', 'Disabled'); + } + + if ( isset($scheduler->throttleRedundantChecks) ) { + if ( $scheduler->throttleRedundantChecks && ($scheduler->checkPeriod > 0) ) { + $this->row( + 'Throttling', + sprintf( + 'Enabled. If an update is already available, check for updates every %1$d hours instead of every %2$d hours.', + $scheduler->throttledCheckPeriod, + $scheduler->checkPeriod + ) + ); + } else { + $this->row('Throttling', 'Disabled'); + } + } + + $this->updateChecker->onDisplayConfiguration($this); + + echo '
'; + } + + protected function displayConfigHeader() { + //Do nothing. This should be implemented in subclasses. + } + + protected function getMetadataButton() { + return ''; + } + + private function displayStatus() { + echo '

Status

'; + echo ''; + $state = $this->updateChecker->getUpdateState(); + $checkNowButton = ''; + if ( function_exists('get_submit_button') ) { + $checkNowButton = get_submit_button( + 'Check Now', + 'secondary', + 'puc-check-now-button', + false, + array('id' => $this->updateChecker->getUniqueName('check-now-button')) + ); + } + + if ( $state->getLastCheck() > 0 ) { + $this->row('Last check', $this->formatTimeWithDelta($state->getLastCheck()) . ' ' . $checkNowButton . $this->responseBox); + } else { + $this->row('Last check', 'Never'); + } + + $nextCheck = wp_next_scheduled($this->updateChecker->scheduler->getCronHookName()); + $this->row('Next automatic check', $this->formatTimeWithDelta($nextCheck)); + + if ( $state->getCheckedVersion() !== '' ) { + $this->row('Checked version', htmlentities($state->getCheckedVersion())); + $this->row('Cached update', $state->getUpdate()); + } + $this->row('Update checker class', htmlentities(get_class($this->updateChecker))); + echo '
'; + } + + private function displayCurrentUpdate() { + $update = $this->updateChecker->getUpdate(); + if ( $update !== null ) { + echo '

An Update Is Available

'; + echo ''; + $fields = $this->getUpdateFields(); + foreach($fields as $field) { + if ( property_exists($update, $field) ) { + $this->row(ucwords(str_replace('_', ' ', $field)), htmlentities($update->$field)); + } + } + echo '
'; + } else { + echo '

No updates currently available

'; + } + } + + protected function getUpdateFields() { + return array('version', 'download_url', 'slug',); + } + + private function formatTimeWithDelta($unixTime) { + if ( empty($unixTime) ) { + return 'Never'; + } + + $delta = time() - $unixTime; + $result = human_time_diff(time(), $unixTime); + if ( $delta < 0 ) { + $result = 'after ' . $result; + } else { + $result = $result . ' ago'; + } + $result .= ' (' . $this->formatTimestamp($unixTime) . ')'; + return $result; + } + + private function formatTimestamp($unixTime) { + return gmdate('Y-m-d H:i:s', $unixTime + (get_option('gmt_offset') * 3600)); + } + + public function row($name, $value) { + if ( is_object($value) || is_array($value) ) { + $value = '
' . htmlentities(print_r($value, true)) . '
'; + } else if ($value === null) { + $value = 'null'; + } + printf('%1$s %2$s', $name, $value); + } + } + +endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/DebugBar/PluginExtension.php b/admin/update-checker/Puc/v4p4/DebugBar/PluginExtension.php new file mode 100755 index 0000000..f8faf33 --- /dev/null +++ b/admin/update-checker/Puc/v4p4/DebugBar/PluginExtension.php @@ -0,0 +1,33 @@ +updateChecker->getUniqueName('uid') ) { + return; + } + $this->preAjaxRequest(); + $info = $this->updateChecker->requestInfo(); + if ( $info !== null ) { + echo 'Successfully retrieved plugin info from the metadata URL:'; + echo '
', htmlentities(print_r($info, true)), '
'; + } else { + echo 'Failed to retrieve plugin info from the metadata URL.'; + } + exit; + } + } + +endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/DebugBar/PluginPanel.php b/admin/update-checker/Puc/v4p4/DebugBar/PluginPanel.php new file mode 100755 index 0000000..aa936e2 --- /dev/null +++ b/admin/update-checker/Puc/v4p4/DebugBar/PluginPanel.php @@ -0,0 +1,38 @@ +row('Plugin file', htmlentities($this->updateChecker->pluginFile)); + parent::displayConfigHeader(); + } + + protected function getMetadataButton() { + $requestInfoButton = ''; + if ( function_exists('get_submit_button') ) { + $requestInfoButton = get_submit_button( + 'Request Info', + 'secondary', + 'puc-request-info-button', + false, + array('id' => $this->updateChecker->getUniqueName('request-info-button')) + ); + } + return $requestInfoButton; + } + + protected function getUpdateFields() { + return array_merge( + parent::getUpdateFields(), + array('homepage', 'upgrade_notice', 'tested',) + ); + } + } + +endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/DebugBar/ThemePanel.php b/admin/update-checker/Puc/v4p4/DebugBar/ThemePanel.php new file mode 100755 index 0000000..6d6a66e --- /dev/null +++ b/admin/update-checker/Puc/v4p4/DebugBar/ThemePanel.php @@ -0,0 +1,21 @@ +row('Theme directory', htmlentities($this->updateChecker->directoryName)); + parent::displayConfigHeader(); + } + + protected function getUpdateFields() { + return array_merge(parent::getUpdateFields(), array('details_url')); + } + } + +endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Factory.php b/admin/update-checker/Puc/v4p4/Factory.php new file mode 100755 index 0000000..636ce47 --- /dev/null +++ b/admin/update-checker/Puc/v4p4/Factory.php @@ -0,0 +1,292 @@ + 'Plugin Name'), 'plugin'); + return !empty($headers['Name']); + } + + return false; + } + + /** + * Get the name of the theme's directory from a full path to a file inside that directory. + * E.g. "/abc/public_html/wp-content/themes/foo/whatever.php" => "foo". + * + * Note that subdirectories are currently not supported. For example, + * "/xyz/wp-content/themes/my-theme/includes/whatever.php" => NULL. + * + * @param string $absolutePath Normalized path. + * @return string|null Directory name, or NULL if the path doesn't point to a theme. + */ + protected static function getThemeDirectoryName($absolutePath) { + if ( is_file($absolutePath) ) { + $absolutePath = dirname($absolutePath); + } + + if ( file_exists($absolutePath . '/style.css') ) { + return basename($absolutePath); + } + return null; + } + + /** + * Get the name of the hosting service that the URL points to. + * + * @param string $metadataUrl + * @return string|null + */ + private static function getVcsService($metadataUrl) { + $service = null; + + //Which hosting service does the URL point to? + $host = @parse_url($metadataUrl, PHP_URL_HOST); + $path = @parse_url($metadataUrl, PHP_URL_PATH); + //Check if the path looks like "/user-name/repository". + $usernameRepoRegex = '@^/?([^/]+?)/([^/#?&]+?)/?$@'; + if ( preg_match($usernameRepoRegex, $path) ) { + $knownServices = array( + 'github.com' => 'GitHub', + 'bitbucket.org' => 'BitBucket', + 'gitlab.com' => 'GitLab', + ); + if ( isset($knownServices[$host]) ) { + $service = $knownServices[$host]; + } + } + + return $service; + } + + /** + * Get the latest version of the specified class that has the same major version number + * as this factory class. + * + * @param string $class Partial class name. + * @return string|null Full class name. + */ + protected static function getCompatibleClassVersion($class) { + if ( isset(self::$classVersions[$class][self::$latestCompatibleVersion]) ) { + return self::$classVersions[$class][self::$latestCompatibleVersion]; + } + return null; + } + + /** + * Get the specific class name for the latest available version of a class. + * + * @param string $class + * @return null|string + */ + public static function getLatestClassVersion($class) { + if ( !self::$sorted ) { + self::sortVersions(); + } + + if ( isset(self::$classVersions[$class]) ) { + return reset(self::$classVersions[$class]); + } else { + return null; + } + } + + /** + * Sort available class versions in descending order (i.e. newest first). + */ + protected static function sortVersions() { + foreach ( self::$classVersions as $class => $versions ) { + uksort($versions, array(__CLASS__, 'compareVersions')); + self::$classVersions[$class] = $versions; + } + self::$sorted = true; + } + + protected static function compareVersions($a, $b) { + return -version_compare($a, $b); + } + + /** + * Register a version of a class. + * + * @access private This method is only for internal use by the library. + * + * @param string $generalClass Class name without version numbers, e.g. 'PluginUpdateChecker'. + * @param string $versionedClass Actual class name, e.g. 'PluginUpdateChecker_1_2'. + * @param string $version Version number, e.g. '1.2'. + */ + public static function addVersion($generalClass, $versionedClass, $version) { + if ( empty(self::$myMajorVersion) ) { + $nameParts = explode('_', __CLASS__, 3); + self::$myMajorVersion = substr(ltrim($nameParts[1], 'v'), 0, 1); + } + + //Store the greatest version number that matches our major version. + $components = explode('.', $version); + if ( $components[0] === self::$myMajorVersion ) { + + if ( + empty(self::$latestCompatibleVersion) + || version_compare($version, self::$latestCompatibleVersion, '>') + ) { + self::$latestCompatibleVersion = $version; + } + + } + + if ( !isset(self::$classVersions[$generalClass]) ) { + self::$classVersions[$generalClass] = array(); + } + self::$classVersions[$generalClass][$version] = $versionedClass; + self::$sorted = false; + } + } + +endif; diff --git a/admin/update-checker/Puc/v4p4/Metadata.php b/admin/update-checker/Puc/v4p4/Metadata.php new file mode 100755 index 0000000..40e8ffa --- /dev/null +++ b/admin/update-checker/Puc/v4p4/Metadata.php @@ -0,0 +1,132 @@ +validateMetadata($apiResponse); + if ( is_wp_error($valid) ){ + do_action('puc_api_error', $valid); + trigger_error($valid->get_error_message(), E_USER_NOTICE); + return false; + } + + foreach(get_object_vars($apiResponse) as $key => $value){ + $target->$key = $value; + } + + return true; + } + + /** + * No validation by default! Subclasses should check that the required fields are present. + * + * @param StdClass $apiResponse + * @return bool|WP_Error + */ + protected function validateMetadata(/** @noinspection PhpUnusedParameterInspection */ $apiResponse) { + return true; + } + + /** + * Create a new instance by copying the necessary fields from another object. + * + * @abstract + * @param StdClass|self $object The source object. + * @return self The new copy. + */ + public static function fromObject(/** @noinspection PhpUnusedParameterInspection */ $object) { + throw new LogicException('The ' . __METHOD__ . ' method must be implemented by subclasses'); + } + + /** + * Create an instance of StdClass that can later be converted back to an + * update or info container. Useful for serialization and caching, as it + * avoids the "incomplete object" problem if the cached value is loaded + * before this class. + * + * @return StdClass + */ + public function toStdClass() { + $object = new stdClass(); + $this->copyFields($this, $object); + return $object; + } + + /** + * Transform the metadata into the format used by WordPress core. + * + * @return object + */ + abstract public function toWpFormat(); + + /** + * Copy known fields from one object to another. + * + * @param StdClass|self $from + * @param StdClass|self $to + */ + protected function copyFields($from, $to) { + $fields = $this->getFieldNames(); + + if ( property_exists($from, 'slug') && !empty($from->slug) ) { + //Let plugins add extra fields without having to create subclasses. + $fields = apply_filters($this->getPrefixedFilter('retain_fields') . '-' . $from->slug, $fields); + } + + foreach ($fields as $field) { + if ( property_exists($from, $field) ) { + $to->$field = $from->$field; + } + } + } + + /** + * @return string[] + */ + protected function getFieldNames() { + return array(); + } + + /** + * @param string $tag + * @return string + */ + protected function getPrefixedFilter($tag) { + return 'puc_' . $tag; + } + } + +endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/OAuthSignature.php b/admin/update-checker/Puc/v4p4/OAuthSignature.php new file mode 100755 index 0000000..90b16df --- /dev/null +++ b/admin/update-checker/Puc/v4p4/OAuthSignature.php @@ -0,0 +1,88 @@ +consumerKey = $consumerKey; + $this->consumerSecret = $consumerSecret; + } + + /** + * Sign a URL using OAuth 1.0. + * + * @param string $url The URL to be signed. It may contain query parameters. + * @param string $method HTTP method such as "GET", "POST" and so on. + * @return string The signed URL. + */ + public function sign($url, $method = 'GET') { + $parameters = array(); + + //Parse query parameters. + $query = @parse_url($url, PHP_URL_QUERY); + if ( !empty($query) ) { + parse_str($query, $parsedParams); + if ( is_array($parameters) ) { + $parameters = $parsedParams; + } + //Remove the query string from the URL. We'll replace it later. + $url = substr($url, 0, strpos($url, '?')); + } + + $parameters = array_merge( + $parameters, + array( + 'oauth_consumer_key' => $this->consumerKey, + 'oauth_nonce' => $this->nonce(), + 'oauth_signature_method' => 'HMAC-SHA1', + 'oauth_timestamp' => time(), + 'oauth_version' => '1.0', + ) + ); + unset($parameters['oauth_signature']); + + //Parameters must be sorted alphabetically before signing. + ksort($parameters); + + //The most complicated part of the request - generating the signature. + //The string to sign contains the HTTP method, the URL path, and all of + //our query parameters. Everything is URL encoded. Then we concatenate + //them with ampersands into a single string to hash. + $encodedVerb = urlencode($method); + $encodedUrl = urlencode($url); + $encodedParams = urlencode(http_build_query($parameters, '', '&')); + + $stringToSign = $encodedVerb . '&' . $encodedUrl . '&' . $encodedParams; + + //Since we only have one OAuth token (the consumer secret) we only have + //to use it as our HMAC key. However, we still have to append an & to it + //as if we were using it with additional tokens. + $secret = urlencode($this->consumerSecret) . '&'; + + //The signature is a hash of the consumer key and the base string. Note + //that we have to get the raw output from hash_hmac and base64 encode + //the binary data result. + $parameters['oauth_signature'] = base64_encode(hash_hmac('sha1', $stringToSign, $secret, true)); + + return ($url . '?' . http_build_query($parameters)); + } + + /** + * Generate a random nonce. + * + * @return string + */ + private function nonce() { + $mt = microtime(); + $rand = mt_rand(); + return md5($mt . '_' . $rand); + } + } + +endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Plugin/Info.php b/admin/update-checker/Puc/v4p4/Plugin/Info.php new file mode 100755 index 0000000..2112046 --- /dev/null +++ b/admin/update-checker/Puc/v4p4/Plugin/Info.php @@ -0,0 +1,130 @@ +sections = (array)$instance->sections; + $instance->icons = (array)$instance->icons; + + return $instance; + } + + /** + * Very, very basic validation. + * + * @param StdClass $apiResponse + * @return bool|WP_Error + */ + protected function validateMetadata($apiResponse) { + if ( + !isset($apiResponse->name, $apiResponse->version) + || empty($apiResponse->name) + || empty($apiResponse->version) + ) { + return new WP_Error( + 'puc-invalid-metadata', + "The plugin metadata file does not contain the required 'name' and/or 'version' keys." + ); + } + return true; + } + + + /** + * Transform plugin info into the format used by the native WordPress.org API + * + * @return object + */ + public function toWpFormat(){ + $info = new stdClass; + + //The custom update API is built so that many fields have the same name and format + //as those returned by the native WordPress.org API. These can be assigned directly. + $sameFormat = array( + 'name', 'slug', 'version', 'requires', 'tested', 'rating', 'upgrade_notice', + 'num_ratings', 'downloaded', 'active_installs', 'homepage', 'last_updated', + ); + foreach($sameFormat as $field){ + if ( isset($this->$field) ) { + $info->$field = $this->$field; + } else { + $info->$field = null; + } + } + + //Other fields need to be renamed and/or transformed. + $info->download_link = $this->download_url; + $info->author = $this->getFormattedAuthor(); + $info->sections = array_merge(array('description' => ''), $this->sections); + + if ( !empty($this->banners) ) { + //WP expects an array with two keys: "high" and "low". Both are optional. + //Docs: https://wordpress.org/plugins/about/faq/#banners + $info->banners = is_object($this->banners) ? get_object_vars($this->banners) : $this->banners; + $info->banners = array_intersect_key($info->banners, array('high' => true, 'low' => true)); + } + + return $info; + } + + protected function getFormattedAuthor() { + if ( !empty($this->author_homepage) ){ + /** @noinspection HtmlUnknownTarget */ + return sprintf('%s', $this->author_homepage, $this->author); + } + return $this->author; + } + } + +endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Plugin/Update.php b/admin/update-checker/Puc/v4p4/Plugin/Update.php new file mode 100755 index 0000000..7b09355 --- /dev/null +++ b/admin/update-checker/Puc/v4p4/Plugin/Update.php @@ -0,0 +1,110 @@ +copyFields($object, $update); + return $update; + } + + /** + * @return string[] + */ + protected function getFieldNames() { + return array_merge(parent::getFieldNames(), self::$extraFields); + } + + /** + * Transform the update into the format used by WordPress native plugin API. + * + * @return object + */ + public function toWpFormat() { + $update = parent::toWpFormat(); + + $update->id = $this->id; + $update->url = $this->homepage; + $update->tested = $this->tested; + $update->plugin = $this->filename; + + if ( !empty($this->upgrade_notice) ) { + $update->upgrade_notice = $this->upgrade_notice; + } + + if ( !empty($this->icons) && is_array($this->icons) ) { + //This should be an array with up to 4 keys: 'svg', '1x', '2x' and 'default'. + //Docs: https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/#plugin-icons + $icons = array_intersect_key( + $this->icons, + array('svg' => true, '1x' => true, '2x' => true, 'default' => true) + ); + if ( !empty($icons) ) { + $update->icons = $icons; + + //It appears that the 'default' icon isn't used anywhere in WordPress 4.9, + //but lets set it just in case a future release needs it. + if ( !isset($update->icons['default']) ) { + $update->icons['default'] = current($update->icons); + } + } + } + + return $update; + } + } + +endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Plugin/UpdateChecker.php b/admin/update-checker/Puc/v4p4/Plugin/UpdateChecker.php new file mode 100755 index 0000000..865df8e --- /dev/null +++ b/admin/update-checker/Puc/v4p4/Plugin/UpdateChecker.php @@ -0,0 +1,740 @@ +pluginAbsolutePath = $pluginFile; + $this->pluginFile = plugin_basename($this->pluginAbsolutePath); + $this->muPluginFile = $muPluginFile; + + //If no slug is specified, use the name of the main plugin file as the slug. + //For example, 'my-cool-plugin/cool-plugin.php' becomes 'cool-plugin'. + if ( empty($slug) ){ + $slug = basename($this->pluginFile, '.php'); + } + + //Plugin slugs must be unique. + $slugCheckFilter = 'puc_is_slug_in_use-' . $this->slug; + $slugUsedBy = apply_filters($slugCheckFilter, false); + if ( $slugUsedBy ) { + $this->triggerError(sprintf( + 'Plugin slug "%s" is already in use by %s. Slugs must be unique.', + htmlentities($this->slug), + htmlentities($slugUsedBy) + ), E_USER_ERROR); + } + add_filter($slugCheckFilter, array($this, 'getAbsolutePath')); + + //Backwards compatibility: If the plugin is a mu-plugin but no $muPluginFile is specified, assume + //it's the same as $pluginFile given that it's not in a subdirectory (WP only looks in the base dir). + if ( (strpbrk($this->pluginFile, '/\\') === false) && $this->isUnknownMuPlugin() ) { + $this->muPluginFile = $this->pluginFile; + } + + //To prevent a crash during plugin uninstallation, remove updater hooks when the user removes the plugin. + //Details: https://github.com/YahnisElsts/plugin-update-checker/issues/138#issuecomment-335590964 + add_action('uninstall_' . $this->pluginFile, array($this, 'removeHooks')); + + $this->manualCheckErrorTransient = $this->getUniqueName('manual_check_errors'); + + parent::__construct($metadataUrl, dirname($this->pluginFile), $slug, $checkPeriod, $optionName); + } + + /** + * Create an instance of the scheduler. + * + * @param int $checkPeriod + * @return Puc_v4p4_Scheduler + */ + protected function createScheduler($checkPeriod) { + $scheduler = new Puc_v4p4_Scheduler($this, $checkPeriod, array('load-plugins.php')); + register_deactivation_hook($this->pluginFile, array($scheduler, 'removeUpdaterCron')); + return $scheduler; + } + + /** + * Install the hooks required to run periodic update checks and inject update info + * into WP data structures. + * + * @return void + */ + protected function installHooks(){ + //Override requests for plugin information + add_filter('plugins_api', array($this, 'injectInfo'), 20, 3); + + add_filter('plugin_row_meta', array($this, 'addViewDetailsLink'), 10, 3); + add_filter('plugin_row_meta', array($this, 'addCheckForUpdatesLink'), 10, 2); + add_action('admin_init', array($this, 'handleManualCheck')); + add_action('all_admin_notices', array($this, 'displayManualCheckResult')); + + //Clear the version number cache when something - anything - is upgraded or WP clears the update cache. + add_filter('upgrader_post_install', array($this, 'clearCachedVersion')); + add_action('delete_site_transient_update_plugins', array($this, 'clearCachedVersion')); + + parent::installHooks(); + } + + /** + * Remove update checker hooks. + * + * The intent is to prevent a fatal error that can happen if the plugin has an uninstall + * hook. During uninstallation, WP includes the main plugin file (which creates a PUC instance), + * the uninstall hook runs, WP deletes the plugin files and then updates some transients. + * If PUC hooks are still around at this time, they could throw an error while trying to + * autoload classes from files that no longer exist. + * + * The "site_transient_{$transient}" filter is the main problem here, but let's also remove + * most other PUC hooks to be safe. + * + * @internal + */ + public function removeHooks() { + parent::removeHooks(); + + remove_filter('plugins_api', array($this, 'injectInfo'), 20); + + remove_filter('plugin_row_meta', array($this, 'addViewDetailsLink'), 10); + remove_filter('plugin_row_meta', array($this, 'addCheckForUpdatesLink'), 10); + remove_action('admin_init', array($this, 'handleManualCheck')); + remove_action('all_admin_notices', array($this, 'displayManualCheckResult')); + + remove_filter('upgrader_post_install', array($this, 'clearCachedVersion')); + remove_action('delete_site_transient_update_plugins', array($this, 'clearCachedVersion')); + } + + /** + * Retrieve plugin info from the configured API endpoint. + * + * @uses wp_remote_get() + * + * @param array $queryArgs Additional query arguments to append to the request. Optional. + * @return Puc_v4p4_Plugin_Info + */ + public function requestInfo($queryArgs = array()) { + list($pluginInfo, $result) = $this->requestMetadata('Puc_v4p4_Plugin_Info', 'request_info', $queryArgs); + + if ( $pluginInfo !== null ) { + /** @var Puc_v4p4_Plugin_Info $pluginInfo */ + $pluginInfo->filename = $this->pluginFile; + $pluginInfo->slug = $this->slug; + } + + $pluginInfo = apply_filters($this->getUniqueName('request_info_result'), $pluginInfo, $result); + return $pluginInfo; + } + + /** + * Retrieve the latest update (if any) from the configured API endpoint. + * + * @uses PluginUpdateChecker::requestInfo() + * + * @return Puc_v4p4_Update|null An instance of Plugin_Update, or NULL when no updates are available. + */ + public function requestUpdate() { + //For the sake of simplicity, this function just calls requestInfo() + //and transforms the result accordingly. + $pluginInfo = $this->requestInfo(array('checking_for_updates' => '1')); + if ( $pluginInfo === null ){ + return null; + } + $update = Puc_v4p4_Plugin_Update::fromPluginInfo($pluginInfo); + + $update = $this->filterUpdateResult($update); + + return $update; + } + + /** + * Get the currently installed version of the plugin. + * + * @return string Version number. + */ + public function getInstalledVersion(){ + if ( isset($this->cachedInstalledVersion) ) { + return $this->cachedInstalledVersion; + } + + $pluginHeader = $this->getPluginHeader(); + if ( isset($pluginHeader['Version']) ) { + $this->cachedInstalledVersion = $pluginHeader['Version']; + return $pluginHeader['Version']; + } else { + //This can happen if the filename points to something that is not a plugin. + $this->triggerError( + sprintf( + "Can't to read the Version header for '%s'. The filename is incorrect or is not a plugin.", + $this->pluginFile + ), + E_USER_WARNING + ); + return null; + } + } + + /** + * Get plugin's metadata from its file header. + * + * @return array + */ + protected function getPluginHeader() { + if ( !is_file($this->pluginAbsolutePath) ) { + //This can happen if the plugin filename is wrong. + $this->triggerError( + sprintf( + "Can't to read the plugin header for '%s'. The file does not exist.", + $this->pluginFile + ), + E_USER_WARNING + ); + return array(); + } + + if ( !function_exists('get_plugin_data') ){ + /** @noinspection PhpIncludeInspection */ + require_once( ABSPATH . '/wp-admin/includes/plugin.php' ); + } + return get_plugin_data($this->pluginAbsolutePath, false, false); + } + + /** + * @return array + */ + protected function getHeaderNames() { + return array( + 'Name' => 'Plugin Name', + 'PluginURI' => 'Plugin URI', + 'Version' => 'Version', + 'Description' => 'Description', + 'Author' => 'Author', + 'AuthorURI' => 'Author URI', + 'TextDomain' => 'Text Domain', + 'DomainPath' => 'Domain Path', + 'Network' => 'Network', + + //The newest WordPress version that this plugin requires or has been tested with. + //We support several different formats for compatibility with other libraries. + 'Tested WP' => 'Tested WP', + 'Requires WP' => 'Requires WP', + 'Tested up to' => 'Tested up to', + 'Requires at least' => 'Requires at least', + ); + } + + + /** + * Intercept plugins_api() calls that request information about our plugin and + * use the configured API endpoint to satisfy them. + * + * @see plugins_api() + * + * @param mixed $result + * @param string $action + * @param array|object $args + * @return mixed + */ + public function injectInfo($result, $action = null, $args = null){ + $relevant = ($action == 'plugin_information') && isset($args->slug) && ( + ($args->slug == $this->slug) || ($args->slug == dirname($this->pluginFile)) + ); + if ( !$relevant ) { + return $result; + } + + $pluginInfo = $this->requestInfo(); + $pluginInfo = apply_filters($this->getUniqueName('pre_inject_info'), $pluginInfo); + if ( $pluginInfo ) { + return $pluginInfo->toWpFormat(); + } + + return $result; + } + + protected function shouldShowUpdates() { + //No update notifications for mu-plugins unless explicitly enabled. The MU plugin file + //is usually different from the main plugin file so the update wouldn't show up properly anyway. + return !$this->isUnknownMuPlugin(); + } + + /** + * @param stdClass|null $updates + * @param stdClass $updateToAdd + * @return stdClass + */ + protected function addUpdateToList($updates, $updateToAdd) { + if ( $this->isMuPlugin() ) { + //WP does not support automatic update installation for mu-plugins, but we can + //still display a notice. + $updateToAdd->package = null; + } + return parent::addUpdateToList($updates, $updateToAdd); + } + + /** + * @param stdClass|null $updates + * @return stdClass|null + */ + protected function removeUpdateFromList($updates) { + $updates = parent::removeUpdateFromList($updates); + if ( !empty($this->muPluginFile) && isset($updates, $updates->response) ) { + unset($updates->response[$this->muPluginFile]); + } + return $updates; + } + + /** + * For plugins, the update array is indexed by the plugin filename relative to the "plugins" + * directory. Example: "plugin-name/plugin.php". + * + * @return string + */ + protected function getUpdateListKey() { + if ( $this->isMuPlugin() ) { + return $this->muPluginFile; + } + return $this->pluginFile; + } + + /** + * Alias for isBeingUpgraded(). + * + * @deprecated + * @param WP_Upgrader|null $upgrader The upgrader that's performing the current update. + * @return bool + */ + public function isPluginBeingUpgraded($upgrader = null) { + return $this->isBeingUpgraded($upgrader); + } + + /** + * Is there an update being installed for this plugin, right now? + * + * @param WP_Upgrader|null $upgrader + * @return bool + */ + public function isBeingUpgraded($upgrader = null) { + return $this->upgraderStatus->isPluginBeingUpgraded($this->pluginFile, $upgrader); + } + + /** + * Get the details of the currently available update, if any. + * + * If no updates are available, or if the last known update version is below or equal + * to the currently installed version, this method will return NULL. + * + * Uses cached update data. To retrieve update information straight from + * the metadata URL, call requestUpdate() instead. + * + * @return Puc_v4p4_Plugin_Update|null + */ + public function getUpdate() { + $update = parent::getUpdate(); + if ( isset($update) ) { + /** @var Puc_v4p4_Plugin_Update $update */ + $update->filename = $this->pluginFile; + } + return $update; + } + + /** + * Add a "Check for updates" link to the plugin row in the "Plugins" page. By default, + * the new link will appear after the "Visit plugin site" link if present, otherwise + * after the "View plugin details" link. + * + * You can change the link text by using the "puc_manual_check_link-$slug" filter. + * Returning an empty string from the filter will disable the link. + * + * @param array $pluginMeta Array of meta links. + * @param string $pluginFile + * @return array + */ + public function addCheckForUpdatesLink($pluginMeta, $pluginFile) { + $isRelevant = ($pluginFile == $this->pluginFile) + || (!empty($this->muPluginFile) && $pluginFile == $this->muPluginFile); + + if ( $isRelevant && $this->userCanInstallUpdates() ) { + $linkUrl = wp_nonce_url( + add_query_arg( + array( + 'puc_check_for_updates' => 1, + 'puc_slug' => $this->slug, + ), + self_admin_url('plugins.php') + ), + 'puc_check_for_updates' + ); + + $linkText = apply_filters( + $this->getUniqueName('manual_check_link'), + __('Check for updates', 'plugin-update-checker') + ); + if ( !empty($linkText) ) { + /** @noinspection HtmlUnknownTarget */ + $pluginMeta[] = sprintf('%s', esc_attr($linkUrl), $linkText); + } + } + return $pluginMeta; + } + + /** + * Add a "View Details" link to the plugin row in the "Plugins" page. By default, + * the new link will appear before the "Visit plugin site" link (if present). + * + * You can change the link text by using the "puc_view_details_link-$slug" filter. + * Returning an empty string from the filter will disable the link. + * + * You can change the position of the link using the + * "puc_view_details_link_position-$slug" filter. + * Returning 'before' or 'after' will place the link immediately before/after the + * "Visit plugin site" link + * Returning 'append' places the link after any existing links at the time of the hook. + * Returning 'replace' replaces the "Visit plugin site" link + * Returning anything else disables the link when there is a "Visit plugin site" link. + * + * If there is no "Visit plugin site" link 'append' is always used! + * + * @param array $pluginMeta Array of meta links. + * @param string $pluginFile + * @param array $pluginData Array of plugin header data. + * @return array + */ + public function addViewDetailsLink($pluginMeta, $pluginFile, $pluginData = array()) { + $isRelevant = ($pluginFile == $this->pluginFile) + || (!empty($this->muPluginFile) && $pluginFile == $this->muPluginFile); + + if ( $isRelevant && $this->userCanInstallUpdates() && !isset($pluginData['slug']) ) { + $linkText = apply_filters($this->getUniqueName('view_details_link'), __('View details')); + if ( !empty($linkText) ) { + $viewDetailsLinkPosition = 'append'; + + //Find the "Visit plugin site" link (if present). + $visitPluginSiteLinkIndex = count($pluginMeta) - 1; + if ( $pluginData['PluginURI'] ) { + $escapedPluginUri = esc_url($pluginData['PluginURI']); + foreach ($pluginMeta as $linkIndex => $existingLink) { + if ( strpos($existingLink, $escapedPluginUri) !== false ) { + $visitPluginSiteLinkIndex = $linkIndex; + $viewDetailsLinkPosition = apply_filters( + $this->getUniqueName('view_details_link_position'), + 'before' + ); + break; + } + } + } + + $viewDetailsLink = sprintf('%s', + esc_url(network_admin_url('plugin-install.php?tab=plugin-information&plugin=' . urlencode($this->slug) . + '&TB_iframe=true&width=600&height=550')), + esc_attr(sprintf(__('More information about %s'), $pluginData['Name'])), + esc_attr($pluginData['Name']), + $linkText + ); + switch ($viewDetailsLinkPosition) { + case 'before': + array_splice($pluginMeta, $visitPluginSiteLinkIndex, 0, $viewDetailsLink); + break; + case 'after': + array_splice($pluginMeta, $visitPluginSiteLinkIndex + 1, 0, $viewDetailsLink); + break; + case 'replace': + $pluginMeta[$visitPluginSiteLinkIndex] = $viewDetailsLink; + break; + case 'append': + default: + $pluginMeta[] = $viewDetailsLink; + break; + } + } + } + return $pluginMeta; + } + + + /** + * Check for updates when the user clicks the "Check for updates" link. + * @see self::addCheckForUpdatesLink() + * + * @return void + */ + public function handleManualCheck() { + $shouldCheck = + isset($_GET['puc_check_for_updates'], $_GET['puc_slug']) + && $_GET['puc_slug'] == $this->slug + && $this->userCanInstallUpdates() + && check_admin_referer('puc_check_for_updates'); + + if ( $shouldCheck ) { + $update = $this->checkForUpdates(); + $status = ($update === null) ? 'no_update' : 'update_available'; + + if ( ($update === null) && !empty($this->lastRequestApiErrors) ) { + //Some errors are not critical. For example, if PUC tries to retrieve the readme.txt + //file from GitHub and gets a 404, that's an API error, but it doesn't prevent updates + //from working. Maybe the plugin simply doesn't have a readme. + //Let's only show important errors. + $foundCriticalErrors = false; + $questionableErrorCodes = array( + 'puc-github-http-error', + 'puc-gitlab-http-error', + 'puc-bitbucket-http-error', + ); + + foreach ($this->lastRequestApiErrors as $item) { + $wpError = $item['error']; + /** @var WP_Error $wpError */ + if ( !in_array($wpError->get_error_code(), $questionableErrorCodes) ) { + $foundCriticalErrors = true; + break; + } + } + + if ( $foundCriticalErrors ) { + $status = 'error'; + set_site_transient($this->manualCheckErrorTransient, $this->lastRequestApiErrors, 60); + } + } + + wp_redirect(add_query_arg( + array( + 'puc_update_check_result' => $status, + 'puc_slug' => $this->slug, + ), + self_admin_url('plugins.php') + )); + } + } + + /** + * Display the results of a manual update check. + * @see self::handleManualCheck() + * + * You can change the result message by using the "puc_manual_check_message-$slug" filter. + */ + public function displayManualCheckResult() { + if ( isset($_GET['puc_update_check_result'], $_GET['puc_slug']) && ($_GET['puc_slug'] == $this->slug) ) { + $status = strval($_GET['puc_update_check_result']); + $title = $this->getPluginTitle(); + $noticeClass = 'updated notice-success'; + $details = ''; + + if ( $status == 'no_update' ) { + $message = sprintf(_x('The %s plugin is up to date.', 'the plugin title', 'plugin-update-checker'), $title); + } else if ( $status == 'update_available' ) { + $message = sprintf(_x('A new version of the %s plugin is available.', 'the plugin title', 'plugin-update-checker'), $title); + } else if ( $status === 'error' ) { + $message = sprintf(_x('Could not determine if updates are available for %s.', 'the plugin title', 'plugin-update-checker'), $title); + $noticeClass = 'error notice-error'; + + $details = $this->formatManualCheckErrors(get_site_transient($this->manualCheckErrorTransient)); + delete_site_transient($this->manualCheckErrorTransient); + } else { + $message = sprintf(__('Unknown update checker status "%s"', 'plugin-update-checker'), htmlentities($status)); + $noticeClass = 'error notice-error'; + } + printf( + '

%s

%s
', + $noticeClass, + apply_filters($this->getUniqueName('manual_check_message'), $message, $status), + $details + ); + } + } + + /** + * Format the list of errors that were thrown during an update check. + * + * @param array $errors + * @return string + */ + protected function formatManualCheckErrors($errors) { + if ( empty($errors) ) { + return ''; + } + $output = ''; + + $showAsList = count($errors) > 1; + if ( $showAsList ) { + $output .= '
    '; + $formatString = '
  1. %1$s %2$s
  2. '; + } else { + $formatString = '

    %1$s %2$s

    '; + } + foreach ($errors as $item) { + $wpError = $item['error']; + /** @var WP_Error $wpError */ + $output .= sprintf( + $formatString, + $wpError->get_error_message(), + $wpError->get_error_code() + ); + } + if ( $showAsList ) { + $output .= '
'; + } + + return $output; + } + + /** + * Get the translated plugin title. + * + * @return string + */ + protected function getPluginTitle() { + $title = ''; + $header = $this->getPluginHeader(); + if ( $header && !empty($header['Name']) && isset($header['TextDomain']) ) { + $title = translate($header['Name'], $header['TextDomain']); + } + return $title; + } + + /** + * Check if the current user has the required permissions to install updates. + * + * @return bool + */ + public function userCanInstallUpdates() { + return current_user_can('update_plugins'); + } + + /** + * Check if the plugin file is inside the mu-plugins directory. + * + * @return bool + */ + protected function isMuPlugin() { + static $cachedResult = null; + + if ( $cachedResult === null ) { + //Convert both paths to the canonical form before comparison. + $muPluginDir = realpath(WPMU_PLUGIN_DIR); + $pluginPath = realpath($this->pluginAbsolutePath); + + $cachedResult = (strpos($pluginPath, $muPluginDir) === 0); + } + + return $cachedResult; + } + + /** + * MU plugins are partially supported, but only when we know which file in mu-plugins + * corresponds to this plugin. + * + * @return bool + */ + protected function isUnknownMuPlugin() { + return empty($this->muPluginFile) && $this->isMuPlugin(); + } + + /** + * Clear the cached plugin version. This method can be set up as a filter (hook) and will + * return the filter argument unmodified. + * + * @param mixed $filterArgument + * @return mixed + */ + public function clearCachedVersion($filterArgument = null) { + $this->cachedInstalledVersion = null; + return $filterArgument; + } + + /** + * Get absolute path to the main plugin file. + * + * @return string + */ + public function getAbsolutePath() { + return $this->pluginAbsolutePath; + } + + /** + * @return string + */ + public function getAbsoluteDirectoryPath() { + return dirname($this->pluginAbsolutePath); + } + + /** + * Register a callback for filtering query arguments. + * + * The callback function should take one argument - an associative array of query arguments. + * It should return a modified array of query arguments. + * + * @uses add_filter() This method is a convenience wrapper for add_filter(). + * + * @param callable $callback + * @return void + */ + public function addQueryArgFilter($callback){ + $this->addFilter('request_info_query_args', $callback); + } + + /** + * Register a callback for filtering arguments passed to wp_remote_get(). + * + * The callback function should take one argument - an associative array of arguments - + * and return a modified array or arguments. See the WP documentation on wp_remote_get() + * for details on what arguments are available and how they work. + * + * @uses add_filter() This method is a convenience wrapper for add_filter(). + * + * @param callable $callback + * @return void + */ + public function addHttpRequestArgFilter($callback) { + $this->addFilter('request_info_options', $callback); + } + + /** + * Register a callback for filtering the plugin info retrieved from the external API. + * + * The callback function should take two arguments. If the plugin info was retrieved + * successfully, the first argument passed will be an instance of PluginInfo. Otherwise, + * it will be NULL. The second argument will be the corresponding return value of + * wp_remote_get (see WP docs for details). + * + * The callback function should return a new or modified instance of PluginInfo or NULL. + * + * @uses add_filter() This method is a convenience wrapper for add_filter(). + * + * @param callable $callback + * @return void + */ + public function addResultFilter($callback) { + $this->addFilter('request_info_result', $callback, 10, 2); + } + + protected function createDebugBarExtension() { + return new Puc_v4p4_DebugBar_PluginExtension($this); + } + } + +endif; diff --git a/admin/update-checker/Puc/v4p4/Scheduler.php b/admin/update-checker/Puc/v4p4/Scheduler.php new file mode 100755 index 0000000..4fa1e6d --- /dev/null +++ b/admin/update-checker/Puc/v4p4/Scheduler.php @@ -0,0 +1,177 @@ +updateChecker = $updateChecker; + $this->checkPeriod = $checkPeriod; + + //Set up the periodic update checks + $this->cronHook = $this->updateChecker->getUniqueName('cron_check_updates'); + if ( $this->checkPeriod > 0 ){ + + //Trigger the check via Cron. + //Try to use one of the default schedules if possible as it's less likely to conflict + //with other plugins and their custom schedules. + $defaultSchedules = array( + 1 => 'hourly', + 12 => 'twicedaily', + 24 => 'daily', + ); + if ( array_key_exists($this->checkPeriod, $defaultSchedules) ) { + $scheduleName = $defaultSchedules[$this->checkPeriod]; + } else { + //Use a custom cron schedule. + $scheduleName = 'every' . $this->checkPeriod . 'hours'; + add_filter('cron_schedules', array($this, '_addCustomSchedule')); + } + + if ( !wp_next_scheduled($this->cronHook) && !defined('WP_INSTALLING') ) { + wp_schedule_event(time(), $scheduleName, $this->cronHook); + } + add_action($this->cronHook, array($this, 'maybeCheckForUpdates')); + + //In case Cron is disabled or unreliable, we also manually trigger + //the periodic checks while the user is browsing the Dashboard. + add_action( 'admin_init', array($this, 'maybeCheckForUpdates') ); + + //Like WordPress itself, we check more often on certain pages. + /** @see wp_update_plugins */ + add_action('load-update-core.php', array($this, 'maybeCheckForUpdates')); + //"load-update.php" and "load-plugins.php" or "load-themes.php". + $this->hourlyCheckHooks = array_merge($this->hourlyCheckHooks, $hourlyHooks); + foreach($this->hourlyCheckHooks as $hook) { + add_action($hook, array($this, 'maybeCheckForUpdates')); + } + //This hook fires after a bulk update is complete. + add_action('upgrader_process_complete', array($this, 'maybeCheckForUpdates'), 11, 0); + + } else { + //Periodic checks are disabled. + wp_clear_scheduled_hook($this->cronHook); + } + } + + /** + * Check for updates if the configured check interval has already elapsed. + * Will use a shorter check interval on certain admin pages like "Dashboard -> Updates" or when doing cron. + * + * You can override the default behaviour by using the "puc_check_now-$slug" filter. + * The filter callback will be passed three parameters: + * - Current decision. TRUE = check updates now, FALSE = don't check now. + * - Last check time as a Unix timestamp. + * - Configured check period in hours. + * Return TRUE to check for updates immediately, or FALSE to cancel. + * + * This method is declared public because it's a hook callback. Calling it directly is not recommended. + */ + public function maybeCheckForUpdates(){ + if ( empty($this->checkPeriod) ){ + return; + } + + $state = $this->updateChecker->getUpdateState(); + $shouldCheck = ($state->timeSinceLastCheck() >= $this->getEffectiveCheckPeriod()); + + //Let plugin authors substitute their own algorithm. + $shouldCheck = apply_filters( + $this->updateChecker->getUniqueName('check_now'), + $shouldCheck, + $state->getLastCheck(), + $this->checkPeriod + ); + + if ( $shouldCheck ) { + $this->updateChecker->checkForUpdates(); + } + } + + /** + * Calculate the actual check period based on the current status and environment. + * + * @return int Check period in seconds. + */ + protected function getEffectiveCheckPeriod() { + $currentFilter = current_filter(); + if ( in_array($currentFilter, array('load-update-core.php', 'upgrader_process_complete')) ) { + //Check more often when the user visits "Dashboard -> Updates" or does a bulk update. + $period = 60; + } else if ( in_array($currentFilter, $this->hourlyCheckHooks) ) { + //Also check more often on /wp-admin/update.php and the "Plugins" or "Themes" page. + $period = 3600; + } else if ( $this->throttleRedundantChecks && ($this->updateChecker->getUpdate() !== null) ) { + //Check less frequently if it's already known that an update is available. + $period = $this->throttledCheckPeriod * 3600; + } else if ( defined('DOING_CRON') && constant('DOING_CRON') ) { + //WordPress cron schedules are not exact, so lets do an update check even + //if slightly less than $checkPeriod hours have elapsed since the last check. + $cronFuzziness = 20 * 60; + $period = $this->checkPeriod * 3600 - $cronFuzziness; + } else { + $period = $this->checkPeriod * 3600; + } + + return $period; + } + + /** + * Add our custom schedule to the array of Cron schedules used by WP. + * + * @param array $schedules + * @return array + */ + public function _addCustomSchedule($schedules){ + if ( $this->checkPeriod && ($this->checkPeriod > 0) ){ + $scheduleName = 'every' . $this->checkPeriod . 'hours'; + $schedules[$scheduleName] = array( + 'interval' => $this->checkPeriod * 3600, + 'display' => sprintf('Every %d hours', $this->checkPeriod), + ); + } + return $schedules; + } + + /** + * Remove the scheduled cron event that the library uses to check for updates. + * + * @return void + */ + public function removeUpdaterCron(){ + wp_clear_scheduled_hook($this->cronHook); + } + + /** + * Get the name of the update checker's WP-cron hook. Mostly useful for debugging. + * + * @return string + */ + public function getCronHookName() { + return $this->cronHook; + } + } + +endif; diff --git a/admin/update-checker/Puc/v4p4/StateStore.php b/admin/update-checker/Puc/v4p4/StateStore.php new file mode 100755 index 0000000..fd0d069 --- /dev/null +++ b/admin/update-checker/Puc/v4p4/StateStore.php @@ -0,0 +1,207 @@ +optionName = $optionName; + } + + /** + * Get time elapsed since the last update check. + * + * If there are no recorded update checks, this method returns a large arbitrary number + * (i.e. time since the Unix epoch). + * + * @return int Elapsed time in seconds. + */ + public function timeSinceLastCheck() { + $this->lazyLoad(); + return time() - $this->lastCheck; + } + + /** + * @return int + */ + public function getLastCheck() { + $this->lazyLoad(); + return $this->lastCheck; + } + + /** + * Set the time of the last update check to the current timestamp. + * + * @return $this + */ + public function setLastCheckToNow() { + $this->lazyLoad(); + $this->lastCheck = time(); + return $this; + } + + /** + * @return null|Puc_v4p4_Update + */ + public function getUpdate() { + $this->lazyLoad(); + return $this->update; + } + + /** + * @param Puc_v4p4_Update|null $update + * @return $this + */ + public function setUpdate(Puc_v4p4_Update $update = null) { + $this->lazyLoad(); + $this->update = $update; + return $this; + } + + /** + * @return string + */ + public function getCheckedVersion() { + $this->lazyLoad(); + return $this->checkedVersion; + } + + /** + * @param string $version + * @return $this + */ + public function setCheckedVersion($version) { + $this->lazyLoad(); + $this->checkedVersion = strval($version); + return $this; + } + + /** + * Get translation updates. + * + * @return array + */ + public function getTranslations() { + $this->lazyLoad(); + if ( isset($this->update, $this->update->translations) ) { + return $this->update->translations; + } + return array(); + } + + /** + * Set translation updates. + * + * @param array $translationUpdates + */ + public function setTranslations($translationUpdates) { + $this->lazyLoad(); + if ( isset($this->update) ) { + $this->update->translations = $translationUpdates; + $this->save(); + } + } + + public function save() { + $state = new stdClass(); + + $state->lastCheck = $this->lastCheck; + $state->checkedVersion = $this->checkedVersion; + + if ( isset($this->update)) { + $state->update = $this->update->toStdClass(); + + $updateClass = get_class($this->update); + $state->updateClass = $updateClass; + $prefix = $this->getLibPrefix(); + if ( Puc_v4p4_Utils::startsWith($updateClass, $prefix) ) { + $state->updateBaseClass = substr($updateClass, strlen($prefix)); + } + } + + update_site_option($this->optionName, $state); + $this->isLoaded = true; + } + + /** + * @return $this + */ + public function lazyLoad() { + if ( !$this->isLoaded ) { + $this->load(); + } + return $this; + } + + protected function load() { + $this->isLoaded = true; + + $state = get_site_option($this->optionName, null); + + if ( !is_object($state) ) { + $this->lastCheck = 0; + $this->checkedVersion = ''; + $this->update = null; + return; + } + + $this->lastCheck = intval(Puc_v4p4_Utils::get($state, 'lastCheck', 0)); + $this->checkedVersion = Puc_v4p4_Utils::get($state, 'checkedVersion', ''); + $this->update = null; + + if ( isset($state->update) ) { + //This mess is due to the fact that the want the update class from this version + //of the library, not the version that saved the update. + + $updateClass = null; + if ( isset($state->updateBaseClass) ) { + $updateClass = $this->getLibPrefix() . $state->updateBaseClass; + } else if ( isset($state->updateClass) && class_exists($state->updateClass) ) { + $updateClass = $state->updateClass; + } + + if ( $updateClass !== null ) { + $this->update = call_user_func(array($updateClass, 'fromObject'), $state->update); + } + } + } + + public function delete() { + delete_site_option($this->optionName); + + $this->lastCheck = 0; + $this->checkedVersion = ''; + $this->update = null; + } + + private function getLibPrefix() { + $parts = explode('_', __CLASS__, 3); + return $parts[0] . '_' . $parts[1] . '_'; + } + } + +endif; diff --git a/admin/update-checker/Puc/v4p4/Theme/Update.php b/admin/update-checker/Puc/v4p4/Theme/Update.php new file mode 100755 index 0000000..5a43e11 --- /dev/null +++ b/admin/update-checker/Puc/v4p4/Theme/Update.php @@ -0,0 +1,84 @@ + $this->slug, + 'new_version' => $this->version, + 'url' => $this->details_url, + ); + + if ( !empty($this->download_url) ) { + $update['package'] = $this->download_url; + } + + return $update; + } + + /** + * Create a new instance of Theme_Update from its JSON-encoded representation. + * + * @param string $json Valid JSON string representing a theme information object. + * @return self New instance of ThemeUpdate, or NULL on error. + */ + public static function fromJson($json) { + $instance = new self(); + if ( !parent::createFromJson($json, $instance) ) { + return null; + } + return $instance; + } + + /** + * Create a new instance by copying the necessary fields from another object. + * + * @param StdClass|Puc_v4p4_Theme_Update $object The source object. + * @return Puc_v4p4_Theme_Update The new copy. + */ + public static function fromObject($object) { + $update = new self(); + $update->copyFields($object, $update); + return $update; + } + + /** + * Basic validation. + * + * @param StdClass $apiResponse + * @return bool|WP_Error + */ + protected function validateMetadata($apiResponse) { + $required = array('version', 'details_url'); + foreach($required as $key) { + if ( !isset($apiResponse->$key) || empty($apiResponse->$key) ) { + return new WP_Error( + 'tuc-invalid-metadata', + sprintf('The theme metadata is missing the required "%s" key.', $key) + ); + } + } + return true; + } + + protected function getFieldNames() { + return array_merge(parent::getFieldNames(), self::$extraFields); + } + + protected function getPrefixedFilter($tag) { + return parent::getPrefixedFilter($tag) . '_theme'; + } + } + +endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Theme/UpdateChecker.php b/admin/update-checker/Puc/v4p4/Theme/UpdateChecker.php new file mode 100755 index 0000000..48ae592 --- /dev/null +++ b/admin/update-checker/Puc/v4p4/Theme/UpdateChecker.php @@ -0,0 +1,177 @@ +stylesheet = $stylesheet; + $this->theme = wp_get_theme($this->stylesheet); + + parent::__construct( + $metadataUrl, + $stylesheet, + $customSlug ? $customSlug : $stylesheet, + $checkPeriod, + $optionName + ); + } + + /** + * For themes, the update array is indexed by theme directory name. + * + * @return string + */ + protected function getUpdateListKey() { + return $this->directoryName; + } + + /** + * Retrieve the latest update (if any) from the configured API endpoint. + * + * @return Puc_v4p4_Update|null An instance of Update, or NULL when no updates are available. + */ + public function requestUpdate() { + list($themeUpdate, $result) = $this->requestMetadata('Puc_v4p4_Theme_Update', 'request_update'); + + if ( $themeUpdate !== null ) { + /** @var Puc_v4p4_Theme_Update $themeUpdate */ + $themeUpdate->slug = $this->slug; + } + + $themeUpdate = $this->filterUpdateResult($themeUpdate, $result); + return $themeUpdate; + } + + public function userCanInstallUpdates() { + return current_user_can('update_themes'); + } + + /** + * Get the currently installed version of the plugin or theme. + * + * @return string Version number. + */ + public function getInstalledVersion() { + return $this->theme->get('Version'); + } + + /** + * @return string + */ + public function getAbsoluteDirectoryPath() { + if ( method_exists($this->theme, 'get_stylesheet_directory') ) { + return $this->theme->get_stylesheet_directory(); //Available since WP 3.4. + } + return get_theme_root($this->stylesheet) . '/' . $this->stylesheet; + } + + /** + * Create an instance of the scheduler. + * + * @param int $checkPeriod + * @return Puc_v4p4_Scheduler + */ + protected function createScheduler($checkPeriod) { + return new Puc_v4p4_Scheduler($this, $checkPeriod, array('load-themes.php')); + } + + /** + * Is there an update being installed right now for this theme? + * + * @param WP_Upgrader|null $upgrader The upgrader that's performing the current update. + * @return bool + */ + public function isBeingUpgraded($upgrader = null) { + return $this->upgraderStatus->isThemeBeingUpgraded($this->stylesheet, $upgrader); + } + + protected function createDebugBarExtension() { + return new Puc_v4p4_DebugBar_Extension($this, 'Puc_v4p4_DebugBar_ThemePanel'); + } + + /** + * Register a callback for filtering query arguments. + * + * The callback function should take one argument - an associative array of query arguments. + * It should return a modified array of query arguments. + * + * @param callable $callback + * @return void + */ + public function addQueryArgFilter($callback){ + $this->addFilter('request_update_query_args', $callback); + } + + /** + * Register a callback for filtering arguments passed to wp_remote_get(). + * + * The callback function should take one argument - an associative array of arguments - + * and return a modified array or arguments. See the WP documentation on wp_remote_get() + * for details on what arguments are available and how they work. + * + * @uses add_filter() This method is a convenience wrapper for add_filter(). + * + * @param callable $callback + * @return void + */ + public function addHttpRequestArgFilter($callback) { + $this->addFilter('request_update_options', $callback); + } + + /** + * Register a callback for filtering theme updates retrieved from the external API. + * + * The callback function should take two arguments. If the theme update was retrieved + * successfully, the first argument passed will be an instance of Theme_Update. Otherwise, + * it will be NULL. The second argument will be the corresponding return value of + * wp_remote_get (see WP docs for details). + * + * The callback function should return a new or modified instance of Theme_Update or NULL. + * + * @uses add_filter() This method is a convenience wrapper for add_filter(). + * + * @param callable $callback + * @return void + */ + public function addResultFilter($callback) { + $this->addFilter('request_update_result', $callback, 10, 2); + } + + /** + * @return array + */ + protected function getHeaderNames() { + return array( + 'Name' => 'Theme Name', + 'ThemeURI' => 'Theme URI', + 'Description' => 'Description', + 'Author' => 'Author', + 'AuthorURI' => 'Author URI', + 'Version' => 'Version', + 'Template' => 'Template', + 'Status' => 'Status', + 'Tags' => 'Tags', + 'TextDomain' => 'Text Domain', + 'DomainPath' => 'Domain Path', + ); + } + } + +endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Update.php b/admin/update-checker/Puc/v4p4/Update.php new file mode 100755 index 0000000..af66eb2 --- /dev/null +++ b/admin/update-checker/Puc/v4p4/Update.php @@ -0,0 +1,34 @@ +slug = $this->slug; + $update->new_version = $this->version; + $update->package = $this->download_url; + + return $update; + } + } + +endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/UpdateChecker.php b/admin/update-checker/Puc/v4p4/UpdateChecker.php new file mode 100755 index 0000000..2eea878 --- /dev/null +++ b/admin/update-checker/Puc/v4p4/UpdateChecker.php @@ -0,0 +1,896 @@ +debugMode = (bool)(constant('WP_DEBUG')); + $this->metadataUrl = $metadataUrl; + $this->directoryName = $directoryName; + $this->slug = !empty($slug) ? $slug : $this->directoryName; + + $this->optionName = $optionName; + if ( empty($this->optionName) ) { + //BC: Initially the library only supported plugin updates and didn't use type prefixes + //in the option name. Lets use the same prefix-less name when possible. + if ( $this->filterSuffix === '' ) { + $this->optionName = 'external_updates-' . $this->slug; + } else { + $this->optionName = $this->getUniqueName('external_updates'); + } + } + + $this->scheduler = $this->createScheduler($checkPeriod); + $this->upgraderStatus = new Puc_v4p4_UpgraderStatus(); + $this->updateState = new Puc_v4p4_StateStore($this->optionName); + + if ( did_action('init') ) { + $this->loadTextDomain(); + } else { + add_action('init', array($this, 'loadTextDomain')); + } + + $this->installHooks(); + } + + /** + * @internal + */ + public function loadTextDomain() { + //We're not using load_plugin_textdomain() or its siblings because figuring out where + //the library is located (plugin, mu-plugin, theme, custom wp-content paths) is messy. + $domain = 'plugin-update-checker'; + $locale = apply_filters( + 'plugin_locale', + (is_admin() && function_exists('get_user_locale')) ? get_user_locale() : get_locale(), + $domain + ); + + $moFile = $domain . '-' . $locale . '.mo'; + $path = realpath(dirname(__FILE__) . '/../../languages'); + + if ($path && file_exists($path)) { + load_textdomain($domain, $path . '/' . $moFile); + } + } + + protected function installHooks() { + //Insert our update info into the update array maintained by WP. + add_filter('site_transient_' . $this->updateTransient, array($this,'injectUpdate')); + + //Insert translation updates into the update list. + add_filter('site_transient_' . $this->updateTransient, array($this, 'injectTranslationUpdates')); + + //Clear translation updates when WP clears the update cache. + //This needs to be done directly because the library doesn't actually remove obsolete plugin updates, + //it just hides them (see getUpdate()). We can't do that with translations - too much disk I/O. + add_action( + 'delete_site_transient_' . $this->updateTransient, + array($this, 'clearCachedTranslationUpdates') + ); + + //Rename the update directory to be the same as the existing directory. + if ( $this->directoryName !== '.' ) { + add_filter('upgrader_source_selection', array($this, 'fixDirectoryName'), 10, 3); + } + + //Allow HTTP requests to the metadata URL even if it's on a local host. + add_filter('http_request_host_is_external', array($this, 'allowMetadataHost'), 10, 2); + + //DebugBar integration. + if ( did_action('plugins_loaded') ) { + $this->maybeInitDebugBar(); + } else { + add_action('plugins_loaded', array($this, 'maybeInitDebugBar')); + } + } + + /** + * Remove hooks that were added by this update checker instance. + */ + protected function removeHooks() { + remove_filter('site_transient_' . $this->updateTransient, array($this,'injectUpdate')); + remove_filter('site_transient_' . $this->updateTransient, array($this, 'injectTranslationUpdates')); + remove_action( + 'delete_site_transient_' . $this->updateTransient, + array($this, 'clearCachedTranslationUpdates') + ); + + remove_filter('upgrader_source_selection', array($this, 'fixDirectoryName'), 10); + remove_filter('http_request_host_is_external', array($this, 'allowMetadataHost'), 10); + remove_action('plugins_loaded', array($this, 'maybeInitDebugBar')); + + remove_action('init', array($this, 'loadTextDomain')); + } + + /** + * Check if the current user has the required permissions to install updates. + * + * @return bool + */ + abstract public function userCanInstallUpdates(); + + /** + * Explicitly allow HTTP requests to the metadata URL. + * + * WordPress has a security feature where the HTTP API will reject all requests that are sent to + * another site hosted on the same server as the current site (IP match), a local host, or a local + * IP, unless the host exactly matches the current site. + * + * This feature is opt-in (at least in WP 4.4). Apparently some people enable it. + * + * That can be a problem when you're developing your plugin and you decide to host the update information + * on the same server as your test site. Update requests will mysteriously fail. + * + * We fix that by adding an exception for the metadata host. + * + * @param bool $allow + * @param string $host + * @return bool + */ + public function allowMetadataHost($allow, $host) { + static $metadataHost = 0; //Using 0 instead of NULL because parse_url can return NULL. + if ( $metadataHost === 0 ) { + $metadataHost = @parse_url($this->metadataUrl, PHP_URL_HOST); + } + + if ( is_string($metadataHost) && (strtolower($host) === strtolower($metadataHost)) ) { + return true; + } + return $allow; + } + + /** + * Create an instance of the scheduler. + * + * This is implemented as a method to make it possible for plugins to subclass the update checker + * and substitute their own scheduler. + * + * @param int $checkPeriod + * @return Puc_v4p4_Scheduler + */ + abstract protected function createScheduler($checkPeriod); + + /** + * Check for updates. The results are stored in the DB option specified in $optionName. + * + * @return Puc_v4p4_Update|null + */ + public function checkForUpdates() { + $installedVersion = $this->getInstalledVersion(); + //Fail silently if we can't find the plugin/theme or read its header. + if ( $installedVersion === null ) { + $this->triggerError( + sprintf('Skipping update check for %s - installed version unknown.', $this->slug), + E_USER_WARNING + ); + return null; + } + + //Start collecting API errors. + $this->lastRequestApiErrors = array(); + add_action('puc_api_error', array($this, 'collectApiErrors'), 10, 4); + + $state = $this->updateState; + $state->setLastCheckToNow() + ->setCheckedVersion($installedVersion) + ->save(); //Save before checking in case something goes wrong + + $state->setUpdate($this->requestUpdate()); + $state->save(); + + //Stop collecting API errors. + remove_action('puc_api_error', array($this, 'collectApiErrors'), 10); + + return $this->getUpdate(); + } + + /** + * Load the update checker state from the DB. + * + * @return Puc_v4p4_StateStore + */ + public function getUpdateState() { + return $this->updateState->lazyLoad(); + } + + /** + * Reset update checker state - i.e. last check time, cached update data and so on. + * + * Call this when your plugin is being uninstalled, or if you want to + * clear the update cache. + */ + public function resetUpdateState() { + $this->updateState->delete(); + } + + /** + * Get the details of the currently available update, if any. + * + * If no updates are available, or if the last known update version is below or equal + * to the currently installed version, this method will return NULL. + * + * Uses cached update data. To retrieve update information straight from + * the metadata URL, call requestUpdate() instead. + * + * @return Puc_v4p4_Update|null + */ + public function getUpdate() { + $update = $this->updateState->getUpdate(); + + //Is there an update available? + if ( isset($update) ) { + //Check if the update is actually newer than the currently installed version. + $installedVersion = $this->getInstalledVersion(); + if ( ($installedVersion !== null) && version_compare($update->version, $installedVersion, '>') ){ + return $update; + } + } + return null; + } + + /** + * Retrieve the latest update (if any) from the configured API endpoint. + * + * Subclasses should run the update through filterUpdateResult before returning it. + * + * @return Puc_v4p4_Update An instance of Update, or NULL when no updates are available. + */ + abstract public function requestUpdate(); + + /** + * Filter the result of a requestUpdate() call. + * + * @param Puc_v4p4_Update|null $update + * @param array|WP_Error|null $httpResult The value returned by wp_remote_get(), if any. + * @return Puc_v4p4_Update + */ + protected function filterUpdateResult($update, $httpResult = null) { + //Let plugins/themes modify the update. + $update = apply_filters($this->getUniqueName('request_update_result'), $update, $httpResult); + + if ( isset($update, $update->translations) ) { + //Keep only those translation updates that apply to this site. + $update->translations = $this->filterApplicableTranslations($update->translations); + } + + return $update; + } + + /** + * Get the currently installed version of the plugin or theme. + * + * @return string|null Version number. + */ + abstract public function getInstalledVersion(); + + /** + * Get the full path of the plugin or theme directory. + * + * @return string + */ + abstract public function getAbsoluteDirectoryPath(); + + /** + * Trigger a PHP error, but only when $debugMode is enabled. + * + * @param string $message + * @param int $errorType + */ + protected function triggerError($message, $errorType) { + if ($this->debugMode) { + trigger_error($message, $errorType); + } + } + + /** + * Get the full name of an update checker filter, action or DB entry. + * + * This method adds the "puc_" prefix and the "-$slug" suffix to the filter name. + * For example, "pre_inject_update" becomes "puc_pre_inject_update-plugin-slug". + * + * @param string $baseTag + * @return string + */ + public function getUniqueName($baseTag) { + $name = 'puc_' . $baseTag; + if ($this->filterSuffix !== '') { + $name .= '_' . $this->filterSuffix; + } + return $name . '-' . $this->slug; + } + + /** + * Store API errors that are generated when checking for updates. + * + * @internal + * @param WP_Error $error + * @param array|null $httpResponse + * @param string|null $url + * @param string|null $slug + */ + public function collectApiErrors($error, $httpResponse = null, $url = null, $slug = null) { + if ( isset($slug) && ($slug !== $this->slug) ) { + return; + } + + $this->lastRequestApiErrors[] = array( + 'error' => $error, + 'httpResponse' => $httpResponse, + 'url' => $url, + ); + } + + /** + * @return array + */ + public function getLastRequestApiErrors() { + return $this->lastRequestApiErrors; + } + + /* ------------------------------------------------------------------- + * PUC filters and filter utilities + * ------------------------------------------------------------------- + */ + + /** + * Register a callback for one of the update checker filters. + * + * Identical to add_filter(), except it automatically adds the "puc_" prefix + * and the "-$slug" suffix to the filter name. For example, "request_info_result" + * becomes "puc_request_info_result-your_plugin_slug". + * + * @param string $tag + * @param callable $callback + * @param int $priority + * @param int $acceptedArgs + */ + public function addFilter($tag, $callback, $priority = 10, $acceptedArgs = 1) { + add_filter($this->getUniqueName($tag), $callback, $priority, $acceptedArgs); + } + + /* ------------------------------------------------------------------- + * Inject updates + * ------------------------------------------------------------------- + */ + + /** + * Insert the latest update (if any) into the update list maintained by WP. + * + * @param stdClass $updates Update list. + * @return stdClass Modified update list. + */ + public function injectUpdate($updates) { + //Is there an update to insert? + $update = $this->getUpdate(); + + if ( !$this->shouldShowUpdates() ) { + $update = null; + } + + if ( !empty($update) ) { + //Let plugins filter the update info before it's passed on to WordPress. + $update = apply_filters($this->getUniqueName('pre_inject_update'), $update); + $updates = $this->addUpdateToList($updates, $update->toWpFormat()); + } else { + //Clean up any stale update info. + $updates = $this->removeUpdateFromList($updates); + } + + return $updates; + } + + /** + * @param stdClass|null $updates + * @param stdClass|array $updateToAdd + * @return stdClass + */ + protected function addUpdateToList($updates, $updateToAdd) { + if ( !is_object($updates) ) { + $updates = new stdClass(); + $updates->response = array(); + } + + $updates->response[$this->getUpdateListKey()] = $updateToAdd; + return $updates; + } + + /** + * @param stdClass|null $updates + * @return stdClass|null + */ + protected function removeUpdateFromList($updates) { + if ( isset($updates, $updates->response) ) { + unset($updates->response[$this->getUpdateListKey()]); + } + return $updates; + } + + /** + * Get the key that will be used when adding updates to the update list that's maintained + * by the WordPress core. The list is always an associative array, but the key is different + * for plugins and themes. + * + * @return string + */ + abstract protected function getUpdateListKey(); + + /** + * Should we show available updates? + * + * Usually the answer is "yes", but there are exceptions. For example, WordPress doesn't + * support automatic updates installation for mu-plugins, so PUC usually won't show update + * notifications in that case. See the plugin-specific subclass for details. + * + * Note: This method only applies to updates that are displayed (or not) in the WordPress + * admin. It doesn't affect APIs like requestUpdate and getUpdate. + * + * @return bool + */ + protected function shouldShowUpdates() { + return true; + } + + /* ------------------------------------------------------------------- + * JSON-based update API + * ------------------------------------------------------------------- + */ + + /** + * Retrieve plugin or theme metadata from the JSON document at $this->metadataUrl. + * + * @param string $metaClass Parse the JSON as an instance of this class. It must have a static fromJson method. + * @param string $filterRoot + * @param array $queryArgs Additional query arguments. + * @return array [Puc_v4p4_Metadata|null, array|WP_Error] A metadata instance and the value returned by wp_remote_get(). + */ + protected function requestMetadata($metaClass, $filterRoot, $queryArgs = array()) { + //Query args to append to the URL. Plugins can add their own by using a filter callback (see addQueryArgFilter()). + $queryArgs = array_merge( + array( + 'installed_version' => strval($this->getInstalledVersion()), + 'php' => phpversion(), + 'locale' => get_locale(), + ), + $queryArgs + ); + $queryArgs = apply_filters($this->getUniqueName($filterRoot . '_query_args'), $queryArgs); + + //Various options for the wp_remote_get() call. Plugins can filter these, too. + $options = array( + 'timeout' => 10, //seconds + 'headers' => array( + 'Accept' => 'application/json', + ), + ); + $options = apply_filters($this->getUniqueName($filterRoot . '_options'), $options); + + //The metadata file should be at 'http://your-api.com/url/here/$slug/info.json' + $url = $this->metadataUrl; + if ( !empty($queryArgs) ){ + $url = add_query_arg($queryArgs, $url); + } + + $result = wp_remote_get($url, $options); + + $result = apply_filters($this->getUniqueName('request_metadata_http_result'), $result, $url, $options); + + //Try to parse the response + $status = $this->validateApiResponse($result); + $metadata = null; + if ( !is_wp_error($status) ){ + $metadata = call_user_func(array($metaClass, 'fromJson'), $result['body']); + } else { + do_action('puc_api_error', $status, $result, $url, $this->slug); + $this->triggerError( + sprintf('The URL %s does not point to a valid metadata file. ', $url) + . $status->get_error_message(), + E_USER_WARNING + ); + } + + return array($metadata, $result); + } + + /** + * Check if $result is a successful update API response. + * + * @param array|WP_Error $result + * @return true|WP_Error + */ + protected function validateApiResponse($result) { + if ( is_wp_error($result) ) { /** @var WP_Error $result */ + return new WP_Error($result->get_error_code(), 'WP HTTP Error: ' . $result->get_error_message()); + } + + if ( !isset($result['response']['code']) ) { + return new WP_Error( + 'puc_no_response_code', + 'wp_remote_get() returned an unexpected result.' + ); + } + + if ( $result['response']['code'] !== 200 ) { + return new WP_Error( + 'puc_unexpected_response_code', + 'HTTP response code is ' . $result['response']['code'] . ' (expected: 200)' + ); + } + + if ( empty($result['body']) ) { + return new WP_Error('puc_empty_response', 'The metadata file appears to be empty.'); + } + + return true; + } + + /* ------------------------------------------------------------------- + * Language packs / Translation updates + * ------------------------------------------------------------------- + */ + + /** + * Filter a list of translation updates and return a new list that contains only updates + * that apply to the current site. + * + * @param array $translations + * @return array + */ + protected function filterApplicableTranslations($translations) { + $languages = array_flip(array_values(get_available_languages())); + $installedTranslations = $this->getInstalledTranslations(); + + $applicableTranslations = array(); + foreach($translations as $translation) { + //Does it match one of the available core languages? + $isApplicable = array_key_exists($translation->language, $languages); + //Is it more recent than an already-installed translation? + if ( isset($installedTranslations[$translation->language]) ) { + $updateTimestamp = strtotime($translation->updated); + $installedTimestamp = strtotime($installedTranslations[$translation->language]['PO-Revision-Date']); + $isApplicable = $updateTimestamp > $installedTimestamp; + } + + if ( $isApplicable ) { + $applicableTranslations[] = $translation; + } + } + + return $applicableTranslations; + } + + /** + * Get a list of installed translations for this plugin or theme. + * + * @return array + */ + protected function getInstalledTranslations() { + if ( !function_exists('wp_get_installed_translations') ) { + return array(); + } + $installedTranslations = wp_get_installed_translations($this->translationType . 's'); + if ( isset($installedTranslations[$this->directoryName]) ) { + $installedTranslations = $installedTranslations[$this->directoryName]; + } else { + $installedTranslations = array(); + } + return $installedTranslations; + } + + /** + * Insert translation updates into the list maintained by WordPress. + * + * @param stdClass $updates + * @return stdClass + */ + public function injectTranslationUpdates($updates) { + $translationUpdates = $this->getTranslationUpdates(); + if ( empty($translationUpdates) ) { + return $updates; + } + + //Being defensive. + if ( !is_object($updates) ) { + $updates = new stdClass(); + } + if ( !isset($updates->translations) ) { + $updates->translations = array(); + } + + //In case there's a name collision with a plugin or theme hosted on wordpress.org, + //remove any preexisting updates that match our thing. + $updates->translations = array_values(array_filter( + $updates->translations, + array($this, 'isNotMyTranslation') + )); + + //Add our updates to the list. + foreach($translationUpdates as $update) { + $convertedUpdate = array_merge( + array( + 'type' => $this->translationType, + 'slug' => $this->directoryName, + 'autoupdate' => 0, + //AFAICT, WordPress doesn't actually use the "version" field for anything. + //But lets make sure it's there, just in case. + 'version' => isset($update->version) ? $update->version : ('1.' . strtotime($update->updated)), + ), + (array)$update + ); + + $updates->translations[] = $convertedUpdate; + } + + return $updates; + } + + /** + * Get a list of available translation updates. + * + * This method will return an empty array if there are no updates. + * Uses cached update data. + * + * @return array + */ + public function getTranslationUpdates() { + return $this->updateState->getTranslations(); + } + + /** + * Remove all cached translation updates. + * + * @see wp_clean_update_cache + */ + public function clearCachedTranslationUpdates() { + $this->updateState->setTranslations(array()); + } + + /** + * Filter callback. Keeps only translations that *don't* match this plugin or theme. + * + * @param array $translation + * @return bool + */ + protected function isNotMyTranslation($translation) { + $isMatch = isset($translation['type'], $translation['slug']) + && ($translation['type'] === $this->translationType) + && ($translation['slug'] === $this->directoryName); + + return !$isMatch; + } + + /* ------------------------------------------------------------------- + * Fix directory name when installing updates + * ------------------------------------------------------------------- + */ + + /** + * Rename the update directory to match the existing plugin/theme directory. + * + * When WordPress installs a plugin or theme update, it assumes that the ZIP file will contain + * exactly one directory, and that the directory name will be the same as the directory where + * the plugin or theme is currently installed. + * + * GitHub and other repositories provide ZIP downloads, but they often use directory names like + * "project-branch" or "project-tag-hash". We need to change the name to the actual plugin folder. + * + * This is a hook callback. Don't call it from a plugin. + * + * @access protected + * + * @param string $source The directory to copy to /wp-content/plugins or /wp-content/themes. Usually a subdirectory of $remoteSource. + * @param string $remoteSource WordPress has extracted the update to this directory. + * @param WP_Upgrader $upgrader + * @return string|WP_Error + */ + public function fixDirectoryName($source, $remoteSource, $upgrader) { + global $wp_filesystem; + /** @var WP_Filesystem_Base $wp_filesystem */ + + //Basic sanity checks. + if ( !isset($source, $remoteSource, $upgrader, $upgrader->skin, $wp_filesystem) ) { + return $source; + } + + //If WordPress is upgrading anything other than our plugin/theme, leave the directory name unchanged. + if ( !$this->isBeingUpgraded($upgrader) ) { + return $source; + } + + //Rename the source to match the existing directory. + $correctedSource = trailingslashit($remoteSource) . $this->directoryName . '/'; + if ( $source !== $correctedSource ) { + //The update archive should contain a single directory that contains the rest of plugin/theme files. + //Otherwise, WordPress will try to copy the entire working directory ($source == $remoteSource). + //We can't rename $remoteSource because that would break WordPress code that cleans up temporary files + //after update. + if ( $this->isBadDirectoryStructure($remoteSource) ) { + return new WP_Error( + 'puc-incorrect-directory-structure', + sprintf( + 'The directory structure of the update is incorrect. All files should be inside ' . + 'a directory named %s, not at the root of the ZIP archive.', + htmlentities($this->slug) + ) + ); + } + + /** @var WP_Upgrader_Skin $upgrader ->skin */ + $upgrader->skin->feedback(sprintf( + 'Renaming %s to %s…', + '' . basename($source) . '', + '' . $this->directoryName . '' + )); + + if ( $wp_filesystem->move($source, $correctedSource, true) ) { + $upgrader->skin->feedback('Directory successfully renamed.'); + return $correctedSource; + } else { + return new WP_Error( + 'puc-rename-failed', + 'Unable to rename the update to match the existing directory.' + ); + } + } + + return $source; + } + + /** + * Is there an update being installed right now, for this plugin or theme? + * + * @param WP_Upgrader|null $upgrader The upgrader that's performing the current update. + * @return bool + */ + abstract public function isBeingUpgraded($upgrader = null); + + /** + * Check for incorrect update directory structure. An update must contain a single directory, + * all other files should be inside that directory. + * + * @param string $remoteSource Directory path. + * @return bool + */ + protected function isBadDirectoryStructure($remoteSource) { + global $wp_filesystem; + /** @var WP_Filesystem_Base $wp_filesystem */ + + $sourceFiles = $wp_filesystem->dirlist($remoteSource); + if ( is_array($sourceFiles) ) { + $sourceFiles = array_keys($sourceFiles); + $firstFilePath = trailingslashit($remoteSource) . $sourceFiles[0]; + return (count($sourceFiles) > 1) || (!$wp_filesystem->is_dir($firstFilePath)); + } + + //Assume it's fine. + return false; + } + + /* ------------------------------------------------------------------- + * File header parsing + * ------------------------------------------------------------------- + */ + + /** + * Parse plugin or theme metadata from the header comment. + * + * This is basically a simplified version of the get_file_data() function from /wp-includes/functions.php. + * It's intended as a utility for subclasses that detect updates by parsing files in a VCS. + * + * @param string|null $content File contents. + * @return string[] + */ + public function getFileHeader($content) { + $content = (string) $content; + + //WordPress only looks at the first 8 KiB of the file, so we do the same. + $content = substr($content, 0, 8192); + //Normalize line endings. + $content = str_replace("\r", "\n", $content); + + $headers = $this->getHeaderNames(); + $results = array(); + foreach ($headers as $field => $name) { + $success = preg_match('/^[ \t\/*#@]*' . preg_quote($name, '/') . ':(.*)$/mi', $content, $matches); + + if ( ($success === 1) && $matches[1] ) { + $value = $matches[1]; + if ( function_exists('_cleanup_header_comment') ) { + $value = _cleanup_header_comment($value); + } + $results[$field] = $value; + } else { + $results[$field] = ''; + } + } + + return $results; + } + + /** + * @return array Format: ['HeaderKey' => 'Header Name'] + */ + abstract protected function getHeaderNames(); + + /* ------------------------------------------------------------------- + * DebugBar integration + * ------------------------------------------------------------------- + */ + + /** + * Initialize the update checker Debug Bar plugin/add-on thingy. + */ + public function maybeInitDebugBar() { + if ( class_exists('Debug_Bar', false) && file_exists(dirname(__FILE__ . '/DebugBar')) ) { + $this->createDebugBarExtension(); + } + } + + protected function createDebugBarExtension() { + return new Puc_v4p4_DebugBar_Extension($this); + } + + /** + * Display additional configuration details in the Debug Bar panel. + * + * @param Puc_v4p4_DebugBar_Panel $panel + */ + public function onDisplayConfiguration($panel) { + //Do nothing. Subclasses can use this to add additional info to the panel. + } + + } + +endif; diff --git a/admin/update-checker/Puc/v4p4/UpgraderStatus.php b/admin/update-checker/Puc/v4p4/UpgraderStatus.php new file mode 100755 index 0000000..14194d8 --- /dev/null +++ b/admin/update-checker/Puc/v4p4/UpgraderStatus.php @@ -0,0 +1,199 @@ +isBeingUpgraded('plugin', $pluginFile, $upgrader); + } + + /** + * Is there an update being installed for a specific theme? + * + * @param string $stylesheet Theme directory name. + * @param WP_Upgrader|null $upgrader The upgrader that's performing the current update. + * @return bool + */ + public function isThemeBeingUpgraded($stylesheet, $upgrader = null) { + return $this->isBeingUpgraded('theme', $stylesheet, $upgrader); + } + + /** + * Check if a specific theme or plugin is being upgraded. + * + * @param string $type + * @param string $id + * @param Plugin_Upgrader|WP_Upgrader|null $upgrader + * @return bool + */ + protected function isBeingUpgraded($type, $id, $upgrader = null) { + if ( isset($upgrader) ) { + list($currentType, $currentId) = $this->getThingBeingUpgradedBy($upgrader); + if ( $currentType !== null ) { + $this->currentType = $currentType; + $this->currentId = $currentId; + } + } + return ($this->currentType === $type) && ($this->currentId === $id); + } + + /** + * Figure out which theme or plugin is being upgraded by a WP_Upgrader instance. + * + * Returns an array with two items. The first item is the type of the thing that's being + * upgraded: "plugin" or "theme". The second item is either the plugin basename or + * the theme directory name. If we can't determine what the upgrader is doing, both items + * will be NULL. + * + * Examples: + * ['plugin', 'plugin-dir-name/plugin.php'] + * ['theme', 'theme-dir-name'] + * + * @param Plugin_Upgrader|WP_Upgrader $upgrader + * @return array + */ + private function getThingBeingUpgradedBy($upgrader) { + if ( !isset($upgrader, $upgrader->skin) ) { + return array(null, null); + } + + //Figure out which plugin or theme is being upgraded. + $pluginFile = null; + $themeDirectoryName = null; + + $skin = $upgrader->skin; + if ( isset($skin->theme_info) && ($skin->theme_info instanceof WP_Theme) ) { + $themeDirectoryName = $skin->theme_info->get_stylesheet(); + } elseif ( $skin instanceof Plugin_Upgrader_Skin ) { + if ( isset($skin->plugin) && is_string($skin->plugin) && ($skin->plugin !== '') ) { + $pluginFile = $skin->plugin; + } + } elseif ( $skin instanceof Theme_Upgrader_Skin ) { + if ( isset($skin->theme) && is_string($skin->theme) && ($skin->theme !== '') ) { + $themeDirectoryName = $skin->theme; + } + } elseif ( isset($skin->plugin_info) && is_array($skin->plugin_info) ) { + //This case is tricky because Bulk_Plugin_Upgrader_Skin (etc) doesn't actually store the plugin + //filename anywhere. Instead, it has the plugin headers in $plugin_info. So the best we can + //do is compare those headers to the headers of installed plugins. + $pluginFile = $this->identifyPluginByHeaders($skin->plugin_info); + } + + if ( $pluginFile !== null ) { + return array('plugin', $pluginFile); + } elseif ( $themeDirectoryName !== null ) { + return array('theme', $themeDirectoryName); + } + return array(null, null); + } + + /** + * Identify an installed plugin based on its headers. + * + * @param array $searchHeaders The plugin file header to look for. + * @return string|null Plugin basename ("foo/bar.php"), or NULL if we can't identify the plugin. + */ + private function identifyPluginByHeaders($searchHeaders) { + if ( !function_exists('get_plugins') ){ + /** @noinspection PhpIncludeInspection */ + require_once( ABSPATH . '/wp-admin/includes/plugin.php' ); + } + + $installedPlugins = get_plugins(); + $matches = array(); + foreach($installedPlugins as $pluginBasename => $headers) { + $diff1 = array_diff_assoc($headers, $searchHeaders); + $diff2 = array_diff_assoc($searchHeaders, $headers); + if ( empty($diff1) && empty($diff2) ) { + $matches[] = $pluginBasename; + } + } + + //It's possible (though very unlikely) that there could be two plugins with identical + //headers. In that case, we can't unambiguously identify the plugin that's being upgraded. + if ( count($matches) !== 1 ) { + return null; + } + + return reset($matches); + } + + /** + * @access private + * + * @param mixed $input + * @param array $hookExtra + * @return mixed Returns $input unaltered. + */ + public function setUpgradedThing($input, $hookExtra) { + if ( !empty($hookExtra['plugin']) && is_string($hookExtra['plugin']) ) { + $this->currentId = $hookExtra['plugin']; + $this->currentType = 'plugin'; + } elseif ( !empty($hookExtra['theme']) && is_string($hookExtra['theme']) ) { + $this->currentId = $hookExtra['theme']; + $this->currentType = 'theme'; + } else { + $this->currentType = null; + $this->currentId = null; + } + return $input; + } + + /** + * @access private + * + * @param array $options + * @return array + */ + public function setUpgradedPluginFromOptions($options) { + if ( isset($options['hook_extra']['plugin']) && is_string($options['hook_extra']['plugin']) ) { + $this->currentType = 'plugin'; + $this->currentId = $options['hook_extra']['plugin']; + } else { + $this->currentType = null; + $this->currentId = null; + } + return $options; + } + + /** + * @access private + * + * @param mixed $input + * @return mixed Returns $input unaltered. + */ + public function clearUpgradedThing($input = null) { + $this->currentId = null; + $this->currentType = null; + return $input; + } + } + +endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Utils.php b/admin/update-checker/Puc/v4p4/Utils.php new file mode 100755 index 0000000..9458882 --- /dev/null +++ b/admin/update-checker/Puc/v4p4/Utils.php @@ -0,0 +1,69 @@ +$node) ) { + $currentValue = $currentValue->$node; + } else { + return $default; + } + } + + return $currentValue; + } + + /** + * Get the first array element that is not empty. + * + * @param array $values + * @param mixed|null $default Returns this value if there are no non-empty elements. + * @return mixed|null + */ + public static function findNotEmpty($values, $default = null) { + if ( empty($values) ) { + return $default; + } + + foreach ($values as $value) { + if ( !empty($value) ) { + return $value; + } + } + + return $default; + } + + /** + * Check if the input string starts with the specified prefix. + * + * @param string $input + * @param string $prefix + * @return bool + */ + public static function startsWith($input, $prefix) { + $length = strlen($prefix); + return (substr($input, 0, $length) === $prefix); + } + } + +endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Vcs/Api.php b/admin/update-checker/Puc/v4p4/Vcs/Api.php new file mode 100755 index 0000000..0972e49 --- /dev/null +++ b/admin/update-checker/Puc/v4p4/Vcs/Api.php @@ -0,0 +1,302 @@ +repositoryUrl = $repositoryUrl; + $this->setAuthentication($credentials); + } + + /** + * @return string + */ + public function getRepositoryUrl() { + return $this->repositoryUrl; + } + + /** + * Figure out which reference (i.e tag or branch) contains the latest version. + * + * @param string $configBranch Start looking in this branch. + * @return null|Puc_v4p4_Vcs_Reference + */ + abstract public function chooseReference($configBranch); + + /** + * Get the readme.txt file from the remote repository and parse it + * according to the plugin readme standard. + * + * @param string $ref Tag or branch name. + * @return array Parsed readme. + */ + public function getRemoteReadme($ref = 'master') { + $fileContents = $this->getRemoteFile($this->getLocalReadmeName(), $ref); + if ( empty($fileContents) ) { + return array(); + } + + $parser = new PucReadmeParser(); + return $parser->parse_readme_contents($fileContents); + } + + /** + * Get the case-sensitive name of the local readme.txt file. + * + * In most cases it should just be called "readme.txt", but some plugins call it "README.txt", + * "README.TXT", or even "Readme.txt". Most VCS are case-sensitive so we need to know the correct + * capitalization. + * + * Defaults to "readme.txt" (all lowercase). + * + * @return string + */ + public function getLocalReadmeName() { + static $fileName = null; + if ( $fileName !== null ) { + return $fileName; + } + + $fileName = 'readme.txt'; + if ( isset($this->localDirectory) ) { + $files = scandir($this->localDirectory); + if ( !empty($files) ) { + foreach ($files as $possibleFileName) { + if ( strcasecmp($possibleFileName, 'readme.txt') === 0 ) { + $fileName = $possibleFileName; + break; + } + } + } + } + return $fileName; + } + + /** + * Get a branch. + * + * @param string $branchName + * @return Puc_v4p4_Vcs_Reference|null + */ + abstract public function getBranch($branchName); + + /** + * Get a specific tag. + * + * @param string $tagName + * @return Puc_v4p4_Vcs_Reference|null + */ + abstract public function getTag($tagName); + + /** + * Get the tag that looks like the highest version number. + * (Implementations should skip pre-release versions if possible.) + * + * @return Puc_v4p4_Vcs_Reference|null + */ + abstract public function getLatestTag(); + + /** + * Check if a tag name string looks like a version number. + * + * @param string $name + * @return bool + */ + protected function looksLikeVersion($name) { + //Tag names may be prefixed with "v", e.g. "v1.2.3". + $name = ltrim($name, 'v'); + + //The version string must start with a number. + if ( !is_numeric(substr($name, 0, 1)) ) { + return false; + } + + //The goal is to accept any SemVer-compatible or "PHP-standardized" version number. + return (preg_match('@^(\d{1,5}?)(\.\d{1,10}?){0,4}?($|[abrdp+_\-]|\s)@i', $name) === 1); + } + + /** + * Check if a tag appears to be named like a version number. + * + * @param stdClass $tag + * @return bool + */ + protected function isVersionTag($tag) { + $property = $this->tagNameProperty; + return isset($tag->$property) && $this->looksLikeVersion($tag->$property); + } + + /** + * Sort a list of tags as if they were version numbers. + * Tags that don't look like version number will be removed. + * + * @param stdClass[] $tags Array of tag objects. + * @return stdClass[] Filtered array of tags sorted in descending order. + */ + protected function sortTagsByVersion($tags) { + //Keep only those tags that look like version numbers. + $versionTags = array_filter($tags, array($this, 'isVersionTag')); + //Sort them in descending order. + usort($versionTags, array($this, 'compareTagNames')); + + return $versionTags; + } + + /** + * Compare two tags as if they were version number. + * + * @param stdClass $tag1 Tag object. + * @param stdClass $tag2 Another tag object. + * @return int + */ + protected function compareTagNames($tag1, $tag2) { + $property = $this->tagNameProperty; + if ( !isset($tag1->$property) ) { + return 1; + } + if ( !isset($tag2->$property) ) { + return -1; + } + return -version_compare(ltrim($tag1->$property, 'v'), ltrim($tag2->$property, 'v')); + } + + /** + * Get the contents of a file from a specific branch or tag. + * + * @param string $path File name. + * @param string $ref + * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. + */ + abstract public function getRemoteFile($path, $ref = 'master'); + + /** + * Get the timestamp of the latest commit that changed the specified branch or tag. + * + * @param string $ref Reference name (e.g. branch or tag). + * @return string|null + */ + abstract public function getLatestCommitTime($ref); + + /** + * Get the contents of the changelog file from the repository. + * + * @param string $ref + * @param string $localDirectory Full path to the local plugin or theme directory. + * @return null|string The HTML contents of the changelog. + */ + public function getRemoteChangelog($ref, $localDirectory) { + $filename = $this->findChangelogName($localDirectory); + if ( empty($filename) ) { + return null; + } + + $changelog = $this->getRemoteFile($filename, $ref); + if ( $changelog === null ) { + return null; + } + + /** @noinspection PhpUndefinedClassInspection */ + return Parsedown::instance()->text($changelog); + } + + /** + * Guess the name of the changelog file. + * + * @param string $directory + * @return string|null + */ + protected function findChangelogName($directory = null) { + if ( !isset($directory) ) { + $directory = $this->localDirectory; + } + if ( empty($directory) || !is_dir($directory) || ($directory === '.') ) { + return null; + } + + $possibleNames = array('CHANGES.md', 'CHANGELOG.md', 'changes.md', 'changelog.md'); + $files = scandir($directory); + $foundNames = array_intersect($possibleNames, $files); + + if ( !empty($foundNames) ) { + return reset($foundNames); + } + return null; + } + + /** + * Set authentication credentials. + * + * @param $credentials + */ + public function setAuthentication($credentials) { + $this->credentials = $credentials; + } + + public function isAuthenticationEnabled() { + return !empty($this->credentials); + } + + /** + * @param string $url + * @return string + */ + public function signDownloadUrl($url) { + return $url; + } + + /** + * @param string $filterName + */ + public function setHttpFilterName($filterName) { + $this->httpFilterName = $filterName; + } + + /** + * @param string $directory + */ + public function setLocalDirectory($directory) { + if ( empty($directory) || !is_dir($directory) || ($directory === '.') ) { + $this->localDirectory = null; + } else { + $this->localDirectory = $directory; + } + } + + /** + * @param string $slug + */ + public function setSlug($slug) { + $this->slug = $slug; + } + } + +endif; diff --git a/admin/update-checker/Puc/v4p4/Vcs/BaseChecker.php b/admin/update-checker/Puc/v4p4/Vcs/BaseChecker.php new file mode 100755 index 0000000..317f17b --- /dev/null +++ b/admin/update-checker/Puc/v4p4/Vcs/BaseChecker.php @@ -0,0 +1,27 @@ +[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { + $this->username = $matches['username']; + $this->repository = $matches['repository']; + } else { + throw new InvalidArgumentException('Invalid BitBucket repository URL: "' . $repositoryUrl . '"'); + } + + parent::__construct($repositoryUrl, $credentials); + } + + /** + * Figure out which reference (i.e tag or branch) contains the latest version. + * + * @param string $configBranch Start looking in this branch. + * @return null|Puc_v4p4_Vcs_Reference + */ + public function chooseReference($configBranch) { + $updateSource = null; + + //Check if there's a "Stable tag: 1.2.3" header that points to a valid tag. + $updateSource = $this->getStableTag($configBranch); + + //Look for version-like tags. + if ( !$updateSource && ($configBranch === 'master') ) { + $updateSource = $this->getLatestTag(); + } + //If all else fails, use the specified branch itself. + if ( !$updateSource ) { + $updateSource = $this->getBranch($configBranch); + } + + return $updateSource; + } + + public function getBranch($branchName) { + $branch = $this->api('/refs/branches/' . $branchName); + if ( is_wp_error($branch) || empty($branch) ) { + return null; + } + + return new Puc_v4p4_Vcs_Reference(array( + 'name' => $branch->name, + 'updated' => $branch->target->date, + 'downloadUrl' => $this->getDownloadUrl($branch->name), + )); + } + + /** + * Get a specific tag. + * + * @param string $tagName + * @return Puc_v4p4_Vcs_Reference|null + */ + public function getTag($tagName) { + $tag = $this->api('/refs/tags/' . $tagName); + if ( is_wp_error($tag) || empty($tag) ) { + return null; + } + + return new Puc_v4p4_Vcs_Reference(array( + 'name' => $tag->name, + 'version' => ltrim($tag->name, 'v'), + 'updated' => $tag->target->date, + 'downloadUrl' => $this->getDownloadUrl($tag->name), + )); + } + + /** + * Get the tag that looks like the highest version number. + * + * @return Puc_v4p4_Vcs_Reference|null + */ + public function getLatestTag() { + $tags = $this->api('/refs/tags?sort=-target.date'); + if ( !isset($tags, $tags->values) || !is_array($tags->values) ) { + return null; + } + + //Filter and sort the list of tags. + $versionTags = $this->sortTagsByVersion($tags->values); + + //Return the first result. + if ( !empty($versionTags) ) { + $tag = $versionTags[0]; + return new Puc_v4p4_Vcs_Reference(array( + 'name' => $tag->name, + 'version' => ltrim($tag->name, 'v'), + 'updated' => $tag->target->date, + 'downloadUrl' => $this->getDownloadUrl($tag->name), + )); + } + return null; + } + + /** + * Get the tag/ref specified by the "Stable tag" header in the readme.txt of a given branch. + * + * @param string $branch + * @return null|Puc_v4p4_Vcs_Reference + */ + protected function getStableTag($branch) { + $remoteReadme = $this->getRemoteReadme($branch); + if ( !empty($remoteReadme['stable_tag']) ) { + $tag = $remoteReadme['stable_tag']; + + //You can explicitly opt out of using tags by setting "Stable tag" to + //"trunk" or the name of the current branch. + if ( ($tag === $branch) || ($tag === 'trunk') ) { + return $this->getBranch($branch); + } + + return $this->getTag($tag); + } + + return null; + } + + /** + * @param string $ref + * @return string + */ + protected function getDownloadUrl($ref) { + return sprintf( + 'https://bitbucket.org/%s/%s/get/%s.zip', + $this->username, + $this->repository, + $ref + ); + } + + /** + * Get the contents of a file from a specific branch or tag. + * + * @param string $path File name. + * @param string $ref + * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. + */ + public function getRemoteFile($path, $ref = 'master') { + $response = $this->api('src/' . $ref . '/' . ltrim($path), '1.0'); + if ( is_wp_error($response) || !isset($response, $response->data) ) { + return null; + } + return $response->data; + } + + /** + * Get the timestamp of the latest commit that changed the specified branch or tag. + * + * @param string $ref Reference name (e.g. branch or tag). + * @return string|null + */ + public function getLatestCommitTime($ref) { + $response = $this->api('commits/' . $ref); + if ( isset($response->values, $response->values[0], $response->values[0]->date) ) { + return $response->values[0]->date; + } + return null; + } + + /** + * Perform a BitBucket API 2.0 request. + * + * @param string $url + * @param string $version + * @return mixed|WP_Error + */ + public function api($url, $version = '2.0') { + $url = implode('/', array( + 'https://api.bitbucket.org', + $version, + 'repositories', + $this->username, + $this->repository, + ltrim($url, '/') + )); + $baseUrl = $url; + + if ( $this->oauth ) { + $url = $this->oauth->sign($url,'GET'); + } + + $options = array('timeout' => 10); + if ( !empty($this->httpFilterName) ) { + $options = apply_filters($this->httpFilterName, $options); + } + $response = wp_remote_get($url, $options); + if ( is_wp_error($response) ) { + do_action('puc_api_error', $response, null, $url, $this->slug); + return $response; + } + + $code = wp_remote_retrieve_response_code($response); + $body = wp_remote_retrieve_body($response); + if ( $code === 200 ) { + $document = json_decode($body); + return $document; + } + + $error = new WP_Error( + 'puc-bitbucket-http-error', + sprintf('BitBucket API error. Base URL: "%s", HTTP status code: %d.', $baseUrl, $code) + ); + do_action('puc_api_error', $error, $response, $url, $this->slug); + + return $error; + } + + /** + * @param array $credentials + */ + public function setAuthentication($credentials) { + parent::setAuthentication($credentials); + + if ( !empty($credentials) && !empty($credentials['consumer_key']) ) { + $this->oauth = new Puc_v4p4_OAuthSignature( + $credentials['consumer_key'], + $credentials['consumer_secret'] + ); + } else { + $this->oauth = null; + } + } + + public function signDownloadUrl($url) { + //Add authentication data to download URLs. Since OAuth signatures incorporate + //timestamps, we have to do this immediately before inserting the update. Otherwise + //authentication could fail due to a stale timestamp. + if ( $this->oauth ) { + $url = $this->oauth->sign($url); + } + return $url; + } + } + +endif; diff --git a/admin/update-checker/Puc/v4p4/Vcs/GitHubApi.php b/admin/update-checker/Puc/v4p4/Vcs/GitHubApi.php new file mode 100755 index 0000000..e3f1e57 --- /dev/null +++ b/admin/update-checker/Puc/v4p4/Vcs/GitHubApi.php @@ -0,0 +1,413 @@ +[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { + $this->userName = $matches['username']; + $this->repositoryName = $matches['repository']; + } else { + throw new InvalidArgumentException('Invalid GitHub repository URL: "' . $repositoryUrl . '"'); + } + + parent::__construct($repositoryUrl, $accessToken); + } + + /** + * Get the latest release from GitHub. + * + * @return Puc_v4p4_Vcs_Reference|null + */ + public function getLatestRelease() { + $release = $this->api('/repos/:user/:repo/releases/latest'); + if ( is_wp_error($release) || !is_object($release) || !isset($release->tag_name) ) { + return null; + } + + $reference = new Puc_v4p4_Vcs_Reference(array( + 'name' => $release->tag_name, + 'version' => ltrim($release->tag_name, 'v'), //Remove the "v" prefix from "v1.2.3". + 'downloadUrl' => $this->signDownloadUrl($release->zipball_url), + 'updated' => $release->created_at, + 'apiResponse' => $release, + )); + + if ( isset($release->assets[0]) ) { + $reference->downloadCount = $release->assets[0]->download_count; + } + + if ( $this->releaseAssetsEnabled && isset($release->assets, $release->assets[0]) ) { + //Use the first release asset that matches the specified regular expression. + $matchingAssets = array_filter($release->assets, array($this, 'matchesAssetFilter')); + if ( !empty($matchingAssets) ) { + if ( $this->isAuthenticationEnabled() ) { + /** + * Keep in mind that we'll need to add an "Accept" header to download this asset. + * @see setReleaseDownloadHeader() + */ + $reference->downloadUrl = $this->signDownloadUrl($matchingAssets[0]->url); + } else { + //It seems that browser_download_url only works for public repositories. + //Using an access_token doesn't help. Maybe OAuth would work? + $reference->downloadUrl = $matchingAssets[0]->browser_download_url; + } + + $reference->downloadCount = $matchingAssets[0]->download_count; + } + } + + if ( !empty($release->body) ) { + /** @noinspection PhpUndefinedClassInspection */ + $reference->changelog = Parsedown::instance()->text($release->body); + } + + return $reference; + } + + /** + * Get the tag that looks like the highest version number. + * + * @return Puc_v4p4_Vcs_Reference|null + */ + public function getLatestTag() { + $tags = $this->api('/repos/:user/:repo/tags'); + + if ( is_wp_error($tags) || empty($tags) || !is_array($tags) ) { + return null; + } + + $versionTags = $this->sortTagsByVersion($tags); + if ( empty($versionTags) ) { + return null; + } + + $tag = $versionTags[0]; + return new Puc_v4p4_Vcs_Reference(array( + 'name' => $tag->name, + 'version' => ltrim($tag->name, 'v'), + 'downloadUrl' => $this->signDownloadUrl($tag->zipball_url), + 'apiResponse' => $tag, + )); + } + + /** + * Get a branch by name. + * + * @param string $branchName + * @return null|Puc_v4p4_Vcs_Reference + */ + public function getBranch($branchName) { + $branch = $this->api('/repos/:user/:repo/branches/' . $branchName); + if ( is_wp_error($branch) || empty($branch) ) { + return null; + } + + $reference = new Puc_v4p4_Vcs_Reference(array( + 'name' => $branch->name, + 'downloadUrl' => $this->buildArchiveDownloadUrl($branch->name), + 'apiResponse' => $branch, + )); + + if ( isset($branch->commit, $branch->commit->commit, $branch->commit->commit->author->date) ) { + $reference->updated = $branch->commit->commit->author->date; + } + + return $reference; + } + + /** + * Get the latest commit that changed the specified file. + * + * @param string $filename + * @param string $ref Reference name (e.g. branch or tag). + * @return StdClass|null + */ + public function getLatestCommit($filename, $ref = 'master') { + $commits = $this->api( + '/repos/:user/:repo/commits', + array( + 'path' => $filename, + 'sha' => $ref, + ) + ); + if ( !is_wp_error($commits) && is_array($commits) && isset($commits[0]) ) { + return $commits[0]; + } + return null; + } + + /** + * Get the timestamp of the latest commit that changed the specified branch or tag. + * + * @param string $ref Reference name (e.g. branch or tag). + * @return string|null + */ + public function getLatestCommitTime($ref) { + $commits = $this->api('/repos/:user/:repo/commits', array('sha' => $ref)); + if ( !is_wp_error($commits) && is_array($commits) && isset($commits[0]) ) { + return $commits[0]->commit->author->date; + } + return null; + } + + /** + * Perform a GitHub API request. + * + * @param string $url + * @param array $queryParams + * @return mixed|WP_Error + */ + protected function api($url, $queryParams = array()) { + $baseUrl = $url; + $url = $this->buildApiUrl($url, $queryParams); + + $options = array('timeout' => 10); + if ( !empty($this->httpFilterName) ) { + $options = apply_filters($this->httpFilterName, $options); + } + $response = wp_remote_get($url, $options); + if ( is_wp_error($response) ) { + do_action('puc_api_error', $response, null, $url, $this->slug); + return $response; + } + + $code = wp_remote_retrieve_response_code($response); + $body = wp_remote_retrieve_body($response); + if ( $code === 200 ) { + $document = json_decode($body); + return $document; + } + + $error = new WP_Error( + 'puc-github-http-error', + sprintf('GitHub API error. Base URL: "%s", HTTP status code: %d.', $baseUrl, $code) + ); + do_action('puc_api_error', $error, $response, $url, $this->slug); + + return $error; + } + + /** + * Build a fully qualified URL for an API request. + * + * @param string $url + * @param array $queryParams + * @return string + */ + protected function buildApiUrl($url, $queryParams) { + $variables = array( + 'user' => $this->userName, + 'repo' => $this->repositoryName, + ); + foreach ($variables as $name => $value) { + $url = str_replace('/:' . $name, '/' . urlencode($value), $url); + } + $url = 'https://api.github.com' . $url; + + if ( !empty($this->accessToken) ) { + $queryParams['access_token'] = $this->accessToken; + } + if ( !empty($queryParams) ) { + $url = add_query_arg($queryParams, $url); + } + + return $url; + } + + /** + * Get the contents of a file from a specific branch or tag. + * + * @param string $path File name. + * @param string $ref + * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. + */ + public function getRemoteFile($path, $ref = 'master') { + $apiUrl = '/repos/:user/:repo/contents/' . $path; + $response = $this->api($apiUrl, array('ref' => $ref)); + + if ( is_wp_error($response) || !isset($response->content) || ($response->encoding !== 'base64') ) { + return null; + } + return base64_decode($response->content); + } + + /** + * Generate a URL to download a ZIP archive of the specified branch/tag/etc. + * + * @param string $ref + * @return string + */ + public function buildArchiveDownloadUrl($ref = 'master') { + $url = sprintf( + 'https://api.github.com/repos/%1$s/%2$s/zipball/%3$s', + urlencode($this->userName), + urlencode($this->repositoryName), + urlencode($ref) + ); + if ( !empty($this->accessToken) ) { + $url = $this->signDownloadUrl($url); + } + return $url; + } + + /** + * Get a specific tag. + * + * @param string $tagName + * @return Puc_v4p4_Vcs_Reference|null + */ + public function getTag($tagName) { + //The current GitHub update checker doesn't use getTag, so I didn't bother to implement it. + throw new LogicException('The ' . __METHOD__ . ' method is not implemented and should not be used.'); + } + + public function setAuthentication($credentials) { + parent::setAuthentication($credentials); + $this->accessToken = is_string($credentials) ? $credentials : null; + } + + /** + * Figure out which reference (i.e tag or branch) contains the latest version. + * + * @param string $configBranch Start looking in this branch. + * @return null|Puc_v4p4_Vcs_Reference + */ + public function chooseReference($configBranch) { + $updateSource = null; + + if ( $configBranch === 'master' ) { + //Use the latest release. + $updateSource = $this->getLatestRelease(); + if ( $updateSource === null ) { + //Failing that, use the tag with the highest version number. + $updateSource = $this->getLatestTag(); + } + } + //Alternatively, just use the branch itself. + if ( empty($updateSource) ) { + $updateSource = $this->getBranch($configBranch); + } + + return $updateSource; + } + + /** + * @param string $url + * @return string + */ + public function signDownloadUrl($url) { + if ( empty($this->credentials) ) { + return $url; + } + return add_query_arg('access_token', $this->credentials, $url); + } + + /** + * Enable updating via release assets. + * + * If the latest release contains no usable assets, the update checker + * will fall back to using the automatically generated ZIP archive. + * + * Private repositories will only work with WordPress 3.7 or later. + * + * @param string|null $fileNameRegex Optional. Use only those assets where the file name matches this regex. + */ + public function enableReleaseAssets($fileNameRegex = null) { + $this->releaseAssetsEnabled = true; + $this->assetFilterRegex = $fileNameRegex; + $this->assetApiBaseUrl = sprintf( + '//api.github.com/repos/%1$s/%2$s/releases/assets/', + $this->userName, + $this->repositoryName + ); + + //Optimization: Instead of filtering all HTTP requests, let's do it only when + //WordPress is about to download an update. + add_filter('upgrader_pre_download', array($this, 'addHttpRequestFilter'), 10, 1); //WP 3.7+ + } + + /** + * Does this asset match the file name regex? + * + * @param stdClass $releaseAsset + * @return bool + */ + protected function matchesAssetFilter($releaseAsset) { + if ( $this->assetFilterRegex === null ) { + //The default is to accept all assets. + return true; + } + return isset($releaseAsset->name) && preg_match($this->assetFilterRegex, $releaseAsset->name); + } + + /** + * @internal + * @param bool $result + * @return bool + */ + public function addHttpRequestFilter($result) { + static $filterAdded = false; + if ( $this->releaseAssetsEnabled && !$filterAdded && $this->isAuthenticationEnabled() ) { + add_filter('http_request_args', array($this, 'setReleaseDownloadHeader'), 10, 2); + $filterAdded = true; + } + return $result; + } + + /** + * Set the HTTP header that's necessary to download private release assets. + * + * See GitHub docs: + * @link https://developer.github.com/v3/repos/releases/#get-a-single-release-asset + * + * @internal + * @param array $requestArgs + * @param string $url + * @return array + */ + public function setReleaseDownloadHeader($requestArgs, $url = '') { + //Is WordPress trying to download one of our assets? + if ( strpos($url, $this->assetApiBaseUrl) !== false ) { + $requestArgs['headers']['accept'] = 'application/octet-stream'; + } + return $requestArgs; + } + } + +endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Vcs/GitLabApi.php b/admin/update-checker/Puc/v4p4/Vcs/GitLabApi.php new file mode 100755 index 0000000..574c309 --- /dev/null +++ b/admin/update-checker/Puc/v4p4/Vcs/GitLabApi.php @@ -0,0 +1,274 @@ +repositoryHost = @parse_url($repositoryUrl, PHP_URL_HOST); + + //Find the repository information + $path = @parse_url($repositoryUrl, PHP_URL_PATH); + if ( preg_match('@^/?(?P[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { + $this->userName = $matches['username']; + $this->repositoryName = $matches['repository']; + } else { + //This is not a traditional url, it could be gitlab is in a deeper subdirectory. + //Get the path segments. + $segments = explode('/', untrailingslashit(ltrim($path, '/'))); + + //We need at least /user-name/repository-name/ + if ( count($segments) < 2 ) { + throw new InvalidArgumentException('Invalid GitLab repository URL: "' . $repositoryUrl . '"'); + } + + //Get the username and repository name. + $usernameRepo = array_splice($segments, -2, 2); + $this->userName = $usernameRepo[0]; + $this->repositoryName = $usernameRepo[1]; + + //Append the remaining segments to the host. + $this->repositoryHost = trailingslashit($this->repositoryHost) . implode('/', $segments); + } + + parent::__construct($repositoryUrl, $accessToken); + } + + /** + * Get the latest release from GitLab. + * + * @return Puc_v4p4_Vcs_Reference|null + */ + public function getLatestRelease() { + return $this->getLatestTag(); + } + + /** + * Get the tag that looks like the highest version number. + * + * @return Puc_v4p4_Vcs_Reference|null + */ + public function getLatestTag() { + $tags = $this->api('/:user/:repo/repository/tags'); + if ( is_wp_error($tags) || empty($tags) || !is_array($tags) ) { + return null; + } + + $versionTags = $this->sortTagsByVersion($tags); + if ( empty($versionTags) ) { + return null; + } + + $tag = $versionTags[0]; + return new Puc_v4p4_Vcs_Reference(array( + 'name' => $tag->name, + 'version' => ltrim($tag->name, 'v'), + 'downloadUrl' => $this->buildArchiveDownloadUrl($tag->name), + 'apiResponse' => $tag + )); + } + + /** + * Get a branch by name. + * + * @param string $branchName + * @return null|Puc_v4p4_Vcs_Reference + */ + public function getBranch($branchName) { + $branch = $this->api('/:user/:repo/repository/branches/' . $branchName); + if ( is_wp_error($branch) || empty($branch) ) { + return null; + } + + $reference = new Puc_v4p4_Vcs_Reference(array( + 'name' => $branch->name, + 'downloadUrl' => $this->buildArchiveDownloadUrl($branch->name), + 'apiResponse' => $branch, + )); + + if ( isset($branch->commit, $branch->commit->committed_date) ) { + $reference->updated = $branch->commit->committed_date; + } + + return $reference; + } + + /** + * Get the timestamp of the latest commit that changed the specified branch or tag. + * + * @param string $ref Reference name (e.g. branch or tag). + * @return string|null + */ + public function getLatestCommitTime($ref) { + $commits = $this->api('/:user/:repo/repository/commits/', array('ref_name' => $ref)); + if ( is_wp_error($commits) || !is_array($commits) || !isset($commits[0]) ) { + return null; + } + + return $commits[0]->committed_date; + } + + /** + * Perform a GitLab API request. + * + * @param string $url + * @param array $queryParams + * @return mixed|WP_Error + */ + protected function api($url, $queryParams = array()) { + $baseUrl = $url; + $url = $this->buildApiUrl($url, $queryParams); + + $options = array('timeout' => 10); + if ( !empty($this->httpFilterName) ) { + $options = apply_filters($this->httpFilterName, $options); + } + + $response = wp_remote_get($url, $options); + if ( is_wp_error($response) ) { + do_action('puc_api_error', $response, null, $url, $this->slug); + return $response; + } + + $code = wp_remote_retrieve_response_code($response); + $body = wp_remote_retrieve_body($response); + if ( $code === 200 ) { + return json_decode($body); + } + + $error = new WP_Error( + 'puc-gitlab-http-error', + sprintf('GitLab API error. URL: "%s", HTTP status code: %d.', $baseUrl, $code) + ); + do_action('puc_api_error', $error, $response, $url, $this->slug); + + return $error; + } + + /** + * Build a fully qualified URL for an API request. + * + * @param string $url + * @param array $queryParams + * @return string + */ + protected function buildApiUrl($url, $queryParams) { + $variables = array( + 'user' => $this->userName, + 'repo' => $this->repositoryName + ); + + foreach ($variables as $name => $value) { + $url = str_replace("/:{$name}", urlencode('/' . $value), $url); + } + + $url = substr($url, 3); + $url = sprintf('https://%1$s/api/v4/projects/%2$s', $this->repositoryHost, $url); + + if ( !empty($this->accessToken) ) { + $queryParams['private_token'] = $this->accessToken; + } + + if ( !empty($queryParams) ) { + $url = add_query_arg($queryParams, $url); + } + + return $url; + } + + /** + * Get the contents of a file from a specific branch or tag. + * + * @param string $path File name. + * @param string $ref + * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. + */ + public function getRemoteFile($path, $ref = 'master') { + $response = $this->api('/:user/:repo/repository/files/' . $path, array('ref' => $ref)); + if ( is_wp_error($response) || !isset($response->content) || $response->encoding !== 'base64' ) { + return null; + } + + return base64_decode($response->content); + } + + /** + * Generate a URL to download a ZIP archive of the specified branch/tag/etc. + * + * @param string $ref + * @return string + */ + public function buildArchiveDownloadUrl($ref = 'master') { + $url = sprintf( + 'https://%1$s/%2$s/%3$s/repository/%4$s/archive.zip', + $this->repositoryHost, + urlencode($this->userName), + urlencode($this->repositoryName), + urlencode($ref) + ); + + if ( !empty($this->accessToken) ) { + $url = add_query_arg('private_token', $this->accessToken, $url); + } + + return $url; + } + + /** + * Get a specific tag. + * + * @param string $tagName + * @return Puc_v4p4_Vcs_Reference|null + */ + public function getTag($tagName) { + throw new LogicException('The ' . __METHOD__ . ' method is not implemented and should not be used.'); + } + + /** + * Figure out which reference (i.e tag or branch) contains the latest version. + * + * @param string $configBranch Start looking in this branch. + * @return null|Puc_v4p4_Vcs_Reference + */ + public function chooseReference($configBranch) { + $updateSource = null; + + // GitLab doesn't handle releases the same as GitHub so just use the latest tag + if ( $configBranch === 'master' ) { + $updateSource = $this->getLatestTag(); + } + + if ( empty($updateSource) ) { + $updateSource = $this->getBranch($configBranch); + } + + return $updateSource; + } + + public function setAuthentication($credentials) { + parent::setAuthentication($credentials); + $this->accessToken = is_string($credentials) ? $credentials : null; + } + } + +endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Vcs/PluginUpdateChecker.php b/admin/update-checker/Puc/v4p4/Vcs/PluginUpdateChecker.php new file mode 100755 index 0000000..3b96e81 --- /dev/null +++ b/admin/update-checker/Puc/v4p4/Vcs/PluginUpdateChecker.php @@ -0,0 +1,217 @@ +api = $api; + $this->api->setHttpFilterName($this->getUniqueName('request_info_options')); + + parent::__construct($api->getRepositoryUrl(), $pluginFile, $slug, $checkPeriod, $optionName, $muPluginFile); + + $this->api->setSlug($this->slug); + } + + public function requestInfo($unusedParameter = null) { + //We have to make several remote API requests to gather all the necessary info + //which can take a while on slow networks. + if ( function_exists('set_time_limit') ) { + @set_time_limit(60); + } + + $api = $this->api; + $api->setLocalDirectory($this->getAbsoluteDirectoryPath()); + + $info = new Puc_v4p4_Plugin_Info(); + $info->filename = $this->pluginFile; + $info->slug = $this->slug; + + $this->setInfoFromHeader($this->getPluginHeader(), $info); + + //Pick a branch or tag. + $updateSource = $api->chooseReference($this->branch); + if ( $updateSource ) { + $ref = $updateSource->name; + $info->version = $updateSource->version; + $info->last_updated = $updateSource->updated; + $info->download_url = $updateSource->downloadUrl; + + if ( !empty($updateSource->changelog) ) { + $info->sections['changelog'] = $updateSource->changelog; + } + if ( isset($updateSource->downloadCount) ) { + $info->downloaded = $updateSource->downloadCount; + } + } else { + //There's probably a network problem or an authentication error. + do_action( + 'puc_api_error', + new WP_Error( + 'puc-no-update-source', + 'Could not retrieve version information from the repository. ' + . 'This usually means that the update checker either can\'t connect ' + . 'to the repository or it\'s configured incorrectly.' + ), + null, null, $this->slug + ); + return null; + } + + //Get headers from the main plugin file in this branch/tag. Its "Version" header and other metadata + //are what the WordPress install will actually see after upgrading, so they take precedence over releases/tags. + $mainPluginFile = basename($this->pluginFile); + $remotePlugin = $api->getRemoteFile($mainPluginFile, $ref); + if ( !empty($remotePlugin) ) { + $remoteHeader = $this->getFileHeader($remotePlugin); + $this->setInfoFromHeader($remoteHeader, $info); + } + + //Try parsing readme.txt. If it's formatted according to WordPress.org standards, it will contain + //a lot of useful information like the required/tested WP version, changelog, and so on. + if ( $this->readmeTxtExistsLocally() ) { + $this->setInfoFromRemoteReadme($ref, $info); + } + + //The changelog might be in a separate file. + if ( empty($info->sections['changelog']) ) { + $info->sections['changelog'] = $api->getRemoteChangelog($ref, dirname($this->getAbsolutePath())); + if ( empty($info->sections['changelog']) ) { + $info->sections['changelog'] = __('There is no changelog available.', 'plugin-update-checker'); + } + } + + if ( empty($info->last_updated) ) { + //Fetch the latest commit that changed the tag or branch and use it as the "last_updated" date. + $latestCommitTime = $api->getLatestCommitTime($ref); + if ( $latestCommitTime !== null ) { + $info->last_updated = $latestCommitTime; + } + } + + $info = apply_filters($this->getUniqueName('request_info_result'), $info, null); + return $info; + } + + /** + * Check if the currently installed version has a readme.txt file. + * + * @return bool + */ + protected function readmeTxtExistsLocally() { + $pluginDirectory = $this->getAbsoluteDirectoryPath(); + if ( empty($pluginDirectory) || !is_dir($pluginDirectory) || ($pluginDirectory === '.') ) { + return false; + } + return is_file($pluginDirectory . '/' . $this->api->getLocalReadmeName()); + } + + /** + * Copy plugin metadata from a file header to a Plugin Info object. + * + * @param array $fileHeader + * @param Puc_v4p4_Plugin_Info $pluginInfo + */ + protected function setInfoFromHeader($fileHeader, $pluginInfo) { + $headerToPropertyMap = array( + 'Version' => 'version', + 'Name' => 'name', + 'PluginURI' => 'homepage', + 'Author' => 'author', + 'AuthorName' => 'author', + 'AuthorURI' => 'author_homepage', + + 'Requires WP' => 'requires', + 'Tested WP' => 'tested', + 'Requires at least' => 'requires', + 'Tested up to' => 'tested', + ); + foreach ($headerToPropertyMap as $headerName => $property) { + if ( isset($fileHeader[$headerName]) && !empty($fileHeader[$headerName]) ) { + $pluginInfo->$property = $fileHeader[$headerName]; + } + } + + if ( !empty($fileHeader['Description']) ) { + $pluginInfo->sections['description'] = $fileHeader['Description']; + } + } + + /** + * Copy plugin metadata from the remote readme.txt file. + * + * @param string $ref GitHub tag or branch where to look for the readme. + * @param Puc_v4p4_Plugin_Info $pluginInfo + */ + protected function setInfoFromRemoteReadme($ref, $pluginInfo) { + $readme = $this->api->getRemoteReadme($ref); + if ( empty($readme) ) { + return; + } + + if ( isset($readme['sections']) ) { + $pluginInfo->sections = array_merge($pluginInfo->sections, $readme['sections']); + } + if ( !empty($readme['tested_up_to']) ) { + $pluginInfo->tested = $readme['tested_up_to']; + } + if ( !empty($readme['requires_at_least']) ) { + $pluginInfo->requires = $readme['requires_at_least']; + } + + if ( isset($readme['upgrade_notice'], $readme['upgrade_notice'][$pluginInfo->version]) ) { + $pluginInfo->upgrade_notice = $readme['upgrade_notice'][$pluginInfo->version]; + } + } + + public function setBranch($branch) { + $this->branch = $branch; + return $this; + } + + public function setAuthentication($credentials) { + $this->api->setAuthentication($credentials); + return $this; + } + + public function getVcsApi() { + return $this->api; + } + + public function getUpdate() { + $update = parent::getUpdate(); + + if ( isset($update) && !empty($update->download_url) ) { + $update->download_url = $this->api->signDownloadUrl($update->download_url); + } + + return $update; + } + + public function onDisplayConfiguration($panel) { + parent::onDisplayConfiguration($panel); + $panel->row('Branch', $this->branch); + $panel->row('Authentication enabled', $this->api->isAuthenticationEnabled() ? 'Yes' : 'No'); + $panel->row('API client', get_class($this->api)); + } + } + +endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Vcs/Reference.php b/admin/update-checker/Puc/v4p4/Vcs/Reference.php new file mode 100755 index 0000000..8a70877 --- /dev/null +++ b/admin/update-checker/Puc/v4p4/Vcs/Reference.php @@ -0,0 +1,49 @@ +properties = $properties; + } + + /** + * @param string $name + * @return mixed|null + */ + public function __get($name) { + return array_key_exists($name, $this->properties) ? $this->properties[$name] : null; + } + + /** + * @param string $name + * @param mixed $value + */ + public function __set($name, $value) { + $this->properties[$name] = $value; + } + + /** + * @param string $name + * @return bool + */ + public function __isset($name) { + return isset($this->properties[$name]); + } + + } + +endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Vcs/ThemeUpdateChecker.php b/admin/update-checker/Puc/v4p4/Vcs/ThemeUpdateChecker.php new file mode 100755 index 0000000..fb31cb1 --- /dev/null +++ b/admin/update-checker/Puc/v4p4/Vcs/ThemeUpdateChecker.php @@ -0,0 +1,118 @@ +api = $api; + $this->api->setHttpFilterName($this->getUniqueName('request_update_options')); + + parent::__construct($api->getRepositoryUrl(), $stylesheet, $customSlug, $checkPeriod, $optionName); + + $this->api->setSlug($this->slug); + } + + public function requestUpdate() { + $api = $this->api; + $api->setLocalDirectory($this->getAbsoluteDirectoryPath()); + + $update = new Puc_v4p4_Theme_Update(); + $update->slug = $this->slug; + + //Figure out which reference (tag or branch) we'll use to get the latest version of the theme. + $updateSource = $api->chooseReference($this->branch); + if ( $updateSource ) { + $ref = $updateSource->name; + $update->download_url = $updateSource->downloadUrl; + } else { + do_action( + 'puc_api_error', + new WP_Error( + 'puc-no-update-source', + 'Could not retrieve version information from the repository. ' + . 'This usually means that the update checker either can\'t connect ' + . 'to the repository or it\'s configured incorrectly.' + ), + null, null, $this->slug + ); + $ref = $this->branch; + } + + //Get headers from the main stylesheet in this branch/tag. Its "Version" header and other metadata + //are what the WordPress install will actually see after upgrading, so they take precedence over releases/tags. + $remoteHeader = $this->getFileHeader($api->getRemoteFile('style.css', $ref)); + $update->version = Puc_v4p4_Utils::findNotEmpty(array( + $remoteHeader['Version'], + Puc_v4p4_Utils::get($updateSource, 'version'), + )); + + //The details URL defaults to the Theme URI header or the repository URL. + $update->details_url = Puc_v4p4_Utils::findNotEmpty(array( + $remoteHeader['ThemeURI'], + $this->theme->get('ThemeURI'), + $this->metadataUrl, + )); + + if ( empty($update->version) ) { + //It looks like we didn't find a valid update after all. + $update = null; + } + + $update = $this->filterUpdateResult($update); + return $update; + } + + //FIXME: This is duplicated code. Both theme and plugin subclasses that use VCS share these methods. + + public function setBranch($branch) { + $this->branch = $branch; + return $this; + } + + public function setAuthentication($credentials) { + $this->api->setAuthentication($credentials); + return $this; + } + + public function getVcsApi() { + return $this->api; + } + + public function getUpdate() { + $update = parent::getUpdate(); + + if ( isset($update) && !empty($update->download_url) ) { + $update->download_url = $this->api->signDownloadUrl($update->download_url); + } + + return $update; + } + + public function onDisplayConfiguration($panel) { + parent::onDisplayConfiguration($panel); + $panel->row('Branch', $this->branch); + $panel->row('Authentication enabled', $this->api->isAuthenticationEnabled() ? 'Yes' : 'No'); + $panel->row('API client', get_class($this->api)); + } + } + +endif; \ No newline at end of file diff --git a/admin/update-checker/css/puc-debug-bar.css b/admin/update-checker/css/puc-debug-bar.css new file mode 100755 index 0000000..2cb3f8e --- /dev/null +++ b/admin/update-checker/css/puc-debug-bar.css @@ -0,0 +1,70 @@ +.puc-debug-bar-panel-v4 pre { + margin-top: 0; +} + +/* Style the debug data table to match "widefat" table style used by WordPress. */ +table.puc-debug-data { + width: 100%; + clear: both; + margin: 0; + + border-spacing: 0; + background-color: #f9f9f9; + + border-radius: 3px; + border: 1px solid #dfdfdf; + border-collapse: separate; +} + +table.puc-debug-data * { + word-wrap: break-word; +} + +table.puc-debug-data th { + width: 11em; + padding: 7px 7px 8px; + text-align: left; + + font-family: "Georgia", "Times New Roman", "Bitstream Charter", "Times", serif; + font-weight: 400; + font-size: 14px; + line-height: 1.3em; + text-shadow: rgba(255, 255, 255, 0.804) 0 1px 0; +} + +table.puc-debug-data td, table.puc-debug-data th { + border-width: 1px 0; + border-style: solid; + + border-top-color: #fff; + border-bottom-color: #dfdfdf; + + text-transform: none; +} + +table.puc-debug-data td { + color: #555; + font-size: 12px; + padding: 4px 7px 2px; + vertical-align: top; +} + +.puc-ajax-response { + border: 1px solid #dfdfdf; + border-radius: 3px; + padding: 0.5em; + margin: 5px 0; + background-color: white; +} + +.puc-ajax-nonce { + display: none; +} + +.puc-ajax-response dt { + margin: 0; +} + +.puc-ajax-response dd { + margin: 0 0 1em; +} diff --git a/admin/update-checker/js/debug-bar.js b/admin/update-checker/js/debug-bar.js new file mode 100755 index 0000000..b8435db --- /dev/null +++ b/admin/update-checker/js/debug-bar.js @@ -0,0 +1,52 @@ +jQuery(function($) { + + function runAjaxAction(button, action) { + button = $(button); + var panel = button.closest('.puc-debug-bar-panel-v4'); + var responseBox = button.closest('td').find('.puc-ajax-response'); + + responseBox.text('Processing...').show(); + $.post( + ajaxurl, + { + action : action, + uid : panel.data('uid'), + _wpnonce: panel.data('nonce') + }, + function(data) { + responseBox.html(data); + }, + 'html' + ); + } + + $('.puc-debug-bar-panel-v4 input[name="puc-check-now-button"]').click(function() { + runAjaxAction(this, 'puc_v4_debug_check_now'); + return false; + }); + + $('.puc-debug-bar-panel-v4 input[name="puc-request-info-button"]').click(function() { + runAjaxAction(this, 'puc_v4_debug_request_info'); + return false; + }); + + + // Debug Bar uses the panel class name as part of its link and container IDs. This means we can + // end up with multiple identical IDs if more than one plugin uses the update checker library. + // Fix it by replacing the class name with the plugin slug. + var panels = $('#debug-menu-targets').find('.puc-debug-bar-panel-v4'); + panels.each(function() { + var panel = $(this); + var uid = panel.data('uid'); + var target = panel.closest('.debug-menu-target'); + + //Change the panel wrapper ID. + target.attr('id', 'debug-menu-target-puc-' + uid); + + //Change the menu link ID as well and point it at the new target ID. + $('#debug-bar-menu').find('.puc-debug-menu-link-' + uid) + .closest('.debug-menu-link') + .attr('id', 'debug-menu-link-puc-' + uid) + .attr('href', '#' + target.attr('id')); + }); +}); \ No newline at end of file diff --git a/admin/update-checker/license.txt b/admin/update-checker/license.txt new file mode 100755 index 0000000..be948f6 --- /dev/null +++ b/admin/update-checker/license.txt @@ -0,0 +1,7 @@ +Copyright (c) 2017 Jānis Elsts + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/admin/update-checker/plugin-update-checker.php b/admin/update-checker/plugin-update-checker.php new file mode 100755 index 0000000..a0fef19 --- /dev/null +++ b/admin/update-checker/plugin-update-checker.php @@ -0,0 +1,24 @@ +DefinitionData = array(); + + # standardize line breaks + $text = str_replace(array("\r\n", "\r"), "\n", $text); + + # remove surrounding line breaks + $text = trim($text, "\n"); + + # split text into lines + $lines = explode("\n", $text); + + # iterate through lines to identify blocks + $markup = $this->lines($lines); + + # trim line breaks + $markup = trim($markup, "\n"); + + return $markup; + } + + # + # Setters + # + + function setBreaksEnabled($breaksEnabled) + { + $this->breaksEnabled = $breaksEnabled; + + return $this; + } + + protected $breaksEnabled; + + function setMarkupEscaped($markupEscaped) + { + $this->markupEscaped = $markupEscaped; + + return $this; + } + + protected $markupEscaped; + + function setUrlsLinked($urlsLinked) + { + $this->urlsLinked = $urlsLinked; + + return $this; + } + + protected $urlsLinked = true; + + # + # Lines + # + + protected $BlockTypes = array( + '#' => array('Header'), + '*' => array('Rule', 'List'), + '+' => array('List'), + '-' => array('SetextHeader', 'Table', 'Rule', 'List'), + '0' => array('List'), + '1' => array('List'), + '2' => array('List'), + '3' => array('List'), + '4' => array('List'), + '5' => array('List'), + '6' => array('List'), + '7' => array('List'), + '8' => array('List'), + '9' => array('List'), + ':' => array('Table'), + '<' => array('Comment', 'Markup'), + '=' => array('SetextHeader'), + '>' => array('Quote'), + '[' => array('Reference'), + '_' => array('Rule'), + '`' => array('FencedCode'), + '|' => array('Table'), + '~' => array('FencedCode'), + ); + + # ~ + + protected $unmarkedBlockTypes = array( + 'Code', + ); + + # + # Blocks + # + + protected function lines(array $lines) + { + $CurrentBlock = null; + + foreach ($lines as $line) + { + if (chop($line) === '') + { + if (isset($CurrentBlock)) + { + $CurrentBlock['interrupted'] = true; + } + + continue; + } + + if (strpos($line, "\t") !== false) + { + $parts = explode("\t", $line); + + $line = $parts[0]; + + unset($parts[0]); + + foreach ($parts as $part) + { + $shortage = 4 - mb_strlen($line, 'utf-8') % 4; + + $line .= str_repeat(' ', $shortage); + $line .= $part; + } + } + + $indent = 0; + + while (isset($line[$indent]) and $line[$indent] === ' ') + { + $indent ++; + } + + $text = $indent > 0 ? substr($line, $indent) : $line; + + # ~ + + $Line = array('body' => $line, 'indent' => $indent, 'text' => $text); + + # ~ + + if (isset($CurrentBlock['continuable'])) + { + $Block = $this->{'block'.$CurrentBlock['type'].'Continue'}($Line, $CurrentBlock); + + if (isset($Block)) + { + $CurrentBlock = $Block; + + continue; + } + else + { + if ($this->isBlockCompletable($CurrentBlock['type'])) + { + $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); + } + } + } + + # ~ + + $marker = $text[0]; + + # ~ + + $blockTypes = $this->unmarkedBlockTypes; + + if (isset($this->BlockTypes[$marker])) + { + foreach ($this->BlockTypes[$marker] as $blockType) + { + $blockTypes []= $blockType; + } + } + + # + # ~ + + foreach ($blockTypes as $blockType) + { + $Block = $this->{'block'.$blockType}($Line, $CurrentBlock); + + if (isset($Block)) + { + $Block['type'] = $blockType; + + if ( ! isset($Block['identified'])) + { + $Blocks []= $CurrentBlock; + + $Block['identified'] = true; + } + + if ($this->isBlockContinuable($blockType)) + { + $Block['continuable'] = true; + } + + $CurrentBlock = $Block; + + continue 2; + } + } + + # ~ + + if (isset($CurrentBlock) and ! isset($CurrentBlock['type']) and ! isset($CurrentBlock['interrupted'])) + { + $CurrentBlock['element']['text'] .= "\n".$text; + } + else + { + $Blocks []= $CurrentBlock; + + $CurrentBlock = $this->paragraph($Line); + + $CurrentBlock['identified'] = true; + } + } + + # ~ + + if (isset($CurrentBlock['continuable']) and $this->isBlockCompletable($CurrentBlock['type'])) + { + $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); + } + + # ~ + + $Blocks []= $CurrentBlock; + + unset($Blocks[0]); + + # ~ + + $markup = ''; + + foreach ($Blocks as $Block) + { + if (isset($Block['hidden'])) + { + continue; + } + + $markup .= "\n"; + $markup .= isset($Block['markup']) ? $Block['markup'] : $this->element($Block['element']); + } + + $markup .= "\n"; + + # ~ + + return $markup; + } + + protected function isBlockContinuable($Type) + { + return method_exists($this, 'block'.$Type.'Continue'); + } + + protected function isBlockCompletable($Type) + { + return method_exists($this, 'block'.$Type.'Complete'); + } + + # + # Code + + protected function blockCode($Line, $Block = null) + { + if (isset($Block) and ! isset($Block['type']) and ! isset($Block['interrupted'])) + { + return; + } + + if ($Line['indent'] >= 4) + { + $text = substr($Line['body'], 4); + + $Block = array( + 'element' => array( + 'name' => 'pre', + 'handler' => 'element', + 'text' => array( + 'name' => 'code', + 'text' => $text, + ), + ), + ); + + return $Block; + } + } + + protected function blockCodeContinue($Line, $Block) + { + if ($Line['indent'] >= 4) + { + if (isset($Block['interrupted'])) + { + $Block['element']['text']['text'] .= "\n"; + + unset($Block['interrupted']); + } + + $Block['element']['text']['text'] .= "\n"; + + $text = substr($Line['body'], 4); + + $Block['element']['text']['text'] .= $text; + + return $Block; + } + } + + protected function blockCodeComplete($Block) + { + $text = $Block['element']['text']['text']; + + $text = htmlspecialchars($text, ENT_NOQUOTES, 'UTF-8'); + + $Block['element']['text']['text'] = $text; + + return $Block; + } + + # + # Comment + + protected function blockComment($Line) + { + if ($this->markupEscaped) + { + return; + } + + if (isset($Line['text'][3]) and $Line['text'][3] === '-' and $Line['text'][2] === '-' and $Line['text'][1] === '!') + { + $Block = array( + 'markup' => $Line['body'], + ); + + if (preg_match('/-->$/', $Line['text'])) + { + $Block['closed'] = true; + } + + return $Block; + } + } + + protected function blockCommentContinue($Line, array $Block) + { + if (isset($Block['closed'])) + { + return; + } + + $Block['markup'] .= "\n" . $Line['body']; + + if (preg_match('/-->$/', $Line['text'])) + { + $Block['closed'] = true; + } + + return $Block; + } + + # + # Fenced Code + + protected function blockFencedCode($Line) + { + if (preg_match('/^['.$Line['text'][0].']{3,}[ ]*([\w-]+)?[ ]*$/', $Line['text'], $matches)) + { + $Element = array( + 'name' => 'code', + 'text' => '', + ); + + if (isset($matches[1])) + { + $class = 'language-'.$matches[1]; + + $Element['attributes'] = array( + 'class' => $class, + ); + } + + $Block = array( + 'char' => $Line['text'][0], + 'element' => array( + 'name' => 'pre', + 'handler' => 'element', + 'text' => $Element, + ), + ); + + return $Block; + } + } + + protected function blockFencedCodeContinue($Line, $Block) + { + if (isset($Block['complete'])) + { + return; + } + + if (isset($Block['interrupted'])) + { + $Block['element']['text']['text'] .= "\n"; + + unset($Block['interrupted']); + } + + if (preg_match('/^'.$Block['char'].'{3,}[ ]*$/', $Line['text'])) + { + $Block['element']['text']['text'] = substr($Block['element']['text']['text'], 1); + + $Block['complete'] = true; + + return $Block; + } + + $Block['element']['text']['text'] .= "\n".$Line['body'];; + + return $Block; + } + + protected function blockFencedCodeComplete($Block) + { + $text = $Block['element']['text']['text']; + + $text = htmlspecialchars($text, ENT_NOQUOTES, 'UTF-8'); + + $Block['element']['text']['text'] = $text; + + return $Block; + } + + # + # Header + + protected function blockHeader($Line) + { + if (isset($Line['text'][1])) + { + $level = 1; + + while (isset($Line['text'][$level]) and $Line['text'][$level] === '#') + { + $level ++; + } + + if ($level > 6) + { + return; + } + + $text = trim($Line['text'], '# '); + + $Block = array( + 'element' => array( + 'name' => 'h' . min(6, $level), + 'text' => $text, + 'handler' => 'line', + ), + ); + + return $Block; + } + } + + # + # List + + protected function blockList($Line) + { + list($name, $pattern) = $Line['text'][0] <= '-' ? array('ul', '[*+-]') : array('ol', '[0-9]+[.]'); + + if (preg_match('/^('.$pattern.'[ ]+)(.*)/', $Line['text'], $matches)) + { + $Block = array( + 'indent' => $Line['indent'], + 'pattern' => $pattern, + 'element' => array( + 'name' => $name, + 'handler' => 'elements', + ), + ); + + $Block['li'] = array( + 'name' => 'li', + 'handler' => 'li', + 'text' => array( + $matches[2], + ), + ); + + $Block['element']['text'] []= & $Block['li']; + + return $Block; + } + } + + protected function blockListContinue($Line, array $Block) + { + if ($Block['indent'] === $Line['indent'] and preg_match('/^'.$Block['pattern'].'(?:[ ]+(.*)|$)/', $Line['text'], $matches)) + { + if (isset($Block['interrupted'])) + { + $Block['li']['text'] []= ''; + + unset($Block['interrupted']); + } + + unset($Block['li']); + + $text = isset($matches[1]) ? $matches[1] : ''; + + $Block['li'] = array( + 'name' => 'li', + 'handler' => 'li', + 'text' => array( + $text, + ), + ); + + $Block['element']['text'] []= & $Block['li']; + + return $Block; + } + + if ($Line['text'][0] === '[' and $this->blockReference($Line)) + { + return $Block; + } + + if ( ! isset($Block['interrupted'])) + { + $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); + + $Block['li']['text'] []= $text; + + return $Block; + } + + if ($Line['indent'] > 0) + { + $Block['li']['text'] []= ''; + + $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); + + $Block['li']['text'] []= $text; + + unset($Block['interrupted']); + + return $Block; + } + } + + # + # Quote + + protected function blockQuote($Line) + { + if (preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) + { + $Block = array( + 'element' => array( + 'name' => 'blockquote', + 'handler' => 'lines', + 'text' => (array) $matches[1], + ), + ); + + return $Block; + } + } + + protected function blockQuoteContinue($Line, array $Block) + { + if ($Line['text'][0] === '>' and preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) + { + if (isset($Block['interrupted'])) + { + $Block['element']['text'] []= ''; + + unset($Block['interrupted']); + } + + $Block['element']['text'] []= $matches[1]; + + return $Block; + } + + if ( ! isset($Block['interrupted'])) + { + $Block['element']['text'] []= $Line['text']; + + return $Block; + } + } + + # + # Rule + + protected function blockRule($Line) + { + if (preg_match('/^(['.$Line['text'][0].'])([ ]*\1){2,}[ ]*$/', $Line['text'])) + { + $Block = array( + 'element' => array( + 'name' => 'hr' + ), + ); + + return $Block; + } + } + + # + # Setext + + protected function blockSetextHeader($Line, array $Block = null) + { + if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) + { + return; + } + + if (chop($Line['text'], $Line['text'][0]) === '') + { + $Block['element']['name'] = $Line['text'][0] === '=' ? 'h1' : 'h2'; + + return $Block; + } + } + + # + # Markup + + protected function blockMarkup($Line) + { + if ($this->markupEscaped) + { + return; + } + + if (preg_match('/^<(\w*)(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*(\/)?>/', $Line['text'], $matches)) + { + $element = strtolower($matches[1]); + + if (in_array($element, $this->textLevelElements)) + { + return; + } + + $Block = array( + 'name' => $matches[1], + 'depth' => 0, + 'markup' => $Line['text'], + ); + + $length = strlen($matches[0]); + + $remainder = substr($Line['text'], $length); + + if (trim($remainder) === '') + { + if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) + { + $Block['closed'] = true; + + $Block['void'] = true; + } + } + else + { + if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) + { + return; + } + + if (preg_match('/<\/'.$matches[1].'>[ ]*$/i', $remainder)) + { + $Block['closed'] = true; + } + } + + return $Block; + } + } + + protected function blockMarkupContinue($Line, array $Block) + { + if (isset($Block['closed'])) + { + return; + } + + if (preg_match('/^<'.$Block['name'].'(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*>/i', $Line['text'])) # open + { + $Block['depth'] ++; + } + + if (preg_match('/(.*?)<\/'.$Block['name'].'>[ ]*$/i', $Line['text'], $matches)) # close + { + if ($Block['depth'] > 0) + { + $Block['depth'] --; + } + else + { + $Block['closed'] = true; + } + } + + if (isset($Block['interrupted'])) + { + $Block['markup'] .= "\n"; + + unset($Block['interrupted']); + } + + $Block['markup'] .= "\n".$Line['body']; + + return $Block; + } + + # + # Reference + + protected function blockReference($Line) + { + if (preg_match('/^\[(.+?)\]:[ ]*?(?:[ ]+["\'(](.+)["\')])?[ ]*$/', $Line['text'], $matches)) + { + $id = strtolower($matches[1]); + + $Data = array( + 'url' => $matches[2], + 'title' => null, + ); + + if (isset($matches[3])) + { + $Data['title'] = $matches[3]; + } + + $this->DefinitionData['Reference'][$id] = $Data; + + $Block = array( + 'hidden' => true, + ); + + return $Block; + } + } + + # + # Table + + protected function blockTable($Line, array $Block = null) + { + if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) + { + return; + } + + if (strpos($Block['element']['text'], '|') !== false and chop($Line['text'], ' -:|') === '') + { + $alignments = array(); + + $divider = $Line['text']; + + $divider = trim($divider); + $divider = trim($divider, '|'); + + $dividerCells = explode('|', $divider); + + foreach ($dividerCells as $dividerCell) + { + $dividerCell = trim($dividerCell); + + if ($dividerCell === '') + { + continue; + } + + $alignment = null; + + if ($dividerCell[0] === ':') + { + $alignment = 'left'; + } + + if (substr($dividerCell, - 1) === ':') + { + $alignment = $alignment === 'left' ? 'center' : 'right'; + } + + $alignments []= $alignment; + } + + # ~ + + $HeaderElements = array(); + + $header = $Block['element']['text']; + + $header = trim($header); + $header = trim($header, '|'); + + $headerCells = explode('|', $header); + + foreach ($headerCells as $index => $headerCell) + { + $headerCell = trim($headerCell); + + $HeaderElement = array( + 'name' => 'th', + 'text' => $headerCell, + 'handler' => 'line', + ); + + if (isset($alignments[$index])) + { + $alignment = $alignments[$index]; + + $HeaderElement['attributes'] = array( + 'style' => 'text-align: '.$alignment.';', + ); + } + + $HeaderElements []= $HeaderElement; + } + + # ~ + + $Block = array( + 'alignments' => $alignments, + 'identified' => true, + 'element' => array( + 'name' => 'table', + 'handler' => 'elements', + ), + ); + + $Block['element']['text'] []= array( + 'name' => 'thead', + 'handler' => 'elements', + ); + + $Block['element']['text'] []= array( + 'name' => 'tbody', + 'handler' => 'elements', + 'text' => array(), + ); + + $Block['element']['text'][0]['text'] []= array( + 'name' => 'tr', + 'handler' => 'elements', + 'text' => $HeaderElements, + ); + + return $Block; + } + } + + protected function blockTableContinue($Line, array $Block) + { + if (isset($Block['interrupted'])) + { + return; + } + + if ($Line['text'][0] === '|' or strpos($Line['text'], '|')) + { + $Elements = array(); + + $row = $Line['text']; + + $row = trim($row); + $row = trim($row, '|'); + + preg_match_all('/(?:(\\\\[|])|[^|`]|`[^`]+`|`)+/', $row, $matches); + + foreach ($matches[0] as $index => $cell) + { + $cell = trim($cell); + + $Element = array( + 'name' => 'td', + 'handler' => 'line', + 'text' => $cell, + ); + + if (isset($Block['alignments'][$index])) + { + $Element['attributes'] = array( + 'style' => 'text-align: '.$Block['alignments'][$index].';', + ); + } + + $Elements []= $Element; + } + + $Element = array( + 'name' => 'tr', + 'handler' => 'elements', + 'text' => $Elements, + ); + + $Block['element']['text'][1]['text'] []= $Element; + + return $Block; + } + } + + # + # ~ + # + + protected function paragraph($Line) + { + $Block = array( + 'element' => array( + 'name' => 'p', + 'text' => $Line['text'], + 'handler' => 'line', + ), + ); + + return $Block; + } + + # + # Inline Elements + # + + protected $InlineTypes = array( + '"' => array('SpecialCharacter'), + '!' => array('Image'), + '&' => array('SpecialCharacter'), + '*' => array('Emphasis'), + ':' => array('Url'), + '<' => array('UrlTag', 'EmailTag', 'Markup', 'SpecialCharacter'), + '>' => array('SpecialCharacter'), + '[' => array('Link'), + '_' => array('Emphasis'), + '`' => array('Code'), + '~' => array('Strikethrough'), + '\\' => array('EscapeSequence'), + ); + + # ~ + + protected $inlineMarkerList = '!"*_&[:<>`~\\'; + + # + # ~ + # + + public function line($text) + { + $markup = ''; + + # $excerpt is based on the first occurrence of a marker + + while ($excerpt = strpbrk($text, $this->inlineMarkerList)) + { + $marker = $excerpt[0]; + + $markerPosition = strpos($text, $marker); + + $Excerpt = array('text' => $excerpt, 'context' => $text); + + foreach ($this->InlineTypes[$marker] as $inlineType) + { + $Inline = $this->{'inline'.$inlineType}($Excerpt); + + if ( ! isset($Inline)) + { + continue; + } + + # makes sure that the inline belongs to "our" marker + + if (isset($Inline['position']) and $Inline['position'] > $markerPosition) + { + continue; + } + + # sets a default inline position + + if ( ! isset($Inline['position'])) + { + $Inline['position'] = $markerPosition; + } + + # the text that comes before the inline + $unmarkedText = substr($text, 0, $Inline['position']); + + # compile the unmarked text + $markup .= $this->unmarkedText($unmarkedText); + + # compile the inline + $markup .= isset($Inline['markup']) ? $Inline['markup'] : $this->element($Inline['element']); + + # remove the examined text + $text = substr($text, $Inline['position'] + $Inline['extent']); + + continue 2; + } + + # the marker does not belong to an inline + + $unmarkedText = substr($text, 0, $markerPosition + 1); + + $markup .= $this->unmarkedText($unmarkedText); + + $text = substr($text, $markerPosition + 1); + } + + $markup .= $this->unmarkedText($text); + + return $markup; + } + + # + # ~ + # + + protected function inlineCode($Excerpt) + { + $marker = $Excerpt['text'][0]; + + if (preg_match('/^('.$marker.'+)[ ]*(.+?)[ ]*(? strlen($matches[0]), + 'element' => array( + 'name' => 'code', + 'text' => $text, + ), + ); + } + } + + protected function inlineEmailTag($Excerpt) + { + if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<((mailto:)?\S+?@\S+?)>/i', $Excerpt['text'], $matches)) + { + $url = $matches[1]; + + if ( ! isset($matches[2])) + { + $url = 'mailto:' . $url; + } + + return array( + 'extent' => strlen($matches[0]), + 'element' => array( + 'name' => 'a', + 'text' => $matches[1], + 'attributes' => array( + 'href' => $url, + ), + ), + ); + } + } + + protected function inlineEmphasis($Excerpt) + { + if ( ! isset($Excerpt['text'][1])) + { + return; + } + + $marker = $Excerpt['text'][0]; + + if ($Excerpt['text'][1] === $marker and preg_match($this->StrongRegex[$marker], $Excerpt['text'], $matches)) + { + $emphasis = 'strong'; + } + elseif (preg_match($this->EmRegex[$marker], $Excerpt['text'], $matches)) + { + $emphasis = 'em'; + } + else + { + return; + } + + return array( + 'extent' => strlen($matches[0]), + 'element' => array( + 'name' => $emphasis, + 'handler' => 'line', + 'text' => $matches[1], + ), + ); + } + + protected function inlineEscapeSequence($Excerpt) + { + if (isset($Excerpt['text'][1]) and in_array($Excerpt['text'][1], $this->specialCharacters)) + { + return array( + 'markup' => $Excerpt['text'][1], + 'extent' => 2, + ); + } + } + + protected function inlineImage($Excerpt) + { + if ( ! isset($Excerpt['text'][1]) or $Excerpt['text'][1] !== '[') + { + return; + } + + $Excerpt['text']= substr($Excerpt['text'], 1); + + $Link = $this->inlineLink($Excerpt); + + if ($Link === null) + { + return; + } + + $Inline = array( + 'extent' => $Link['extent'] + 1, + 'element' => array( + 'name' => 'img', + 'attributes' => array( + 'src' => $Link['element']['attributes']['href'], + 'alt' => $Link['element']['text'], + ), + ), + ); + + $Inline['element']['attributes'] += $Link['element']['attributes']; + + unset($Inline['element']['attributes']['href']); + + return $Inline; + } + + protected function inlineLink($Excerpt) + { + $Element = array( + 'name' => 'a', + 'handler' => 'line', + 'text' => null, + 'attributes' => array( + 'href' => null, + 'title' => null, + ), + ); + + $extent = 0; + + $remainder = $Excerpt['text']; + + if (preg_match('/\[((?:[^][]|(?R))*)\]/', $remainder, $matches)) + { + $Element['text'] = $matches[1]; + + $extent += strlen($matches[0]); + + $remainder = substr($remainder, $extent); + } + else + { + return; + } + + if (preg_match('/^[(]((?:[^ ()]|[(][^ )]+[)])+)(?:[ ]+("[^"]*"|\'[^\']*\'))?[)]/', $remainder, $matches)) + { + $Element['attributes']['href'] = $matches[1]; + + if (isset($matches[2])) + { + $Element['attributes']['title'] = substr($matches[2], 1, - 1); + } + + $extent += strlen($matches[0]); + } + else + { + if (preg_match('/^\s*\[(.*?)\]/', $remainder, $matches)) + { + $definition = strlen($matches[1]) ? $matches[1] : $Element['text']; + $definition = strtolower($definition); + + $extent += strlen($matches[0]); + } + else + { + $definition = strtolower($Element['text']); + } + + if ( ! isset($this->DefinitionData['Reference'][$definition])) + { + return; + } + + $Definition = $this->DefinitionData['Reference'][$definition]; + + $Element['attributes']['href'] = $Definition['url']; + $Element['attributes']['title'] = $Definition['title']; + } + + $Element['attributes']['href'] = str_replace(array('&', '<'), array('&', '<'), $Element['attributes']['href']); + + return array( + 'extent' => $extent, + 'element' => $Element, + ); + } + + protected function inlineMarkup($Excerpt) + { + if ($this->markupEscaped or strpos($Excerpt['text'], '>') === false) + { + return; + } + + if ($Excerpt['text'][1] === '/' and preg_match('/^<\/\w*[ ]*>/s', $Excerpt['text'], $matches)) + { + return array( + 'markup' => $matches[0], + 'extent' => strlen($matches[0]), + ); + } + + if ($Excerpt['text'][1] === '!' and preg_match('/^/s', $Excerpt['text'], $matches)) + { + return array( + 'markup' => $matches[0], + 'extent' => strlen($matches[0]), + ); + } + + if ($Excerpt['text'][1] !== ' ' and preg_match('/^<\w*(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*\/?>/s', $Excerpt['text'], $matches)) + { + return array( + 'markup' => $matches[0], + 'extent' => strlen($matches[0]), + ); + } + } + + protected function inlineSpecialCharacter($Excerpt) + { + if ($Excerpt['text'][0] === '&' and ! preg_match('/^&#?\w+;/', $Excerpt['text'])) + { + return array( + 'markup' => '&', + 'extent' => 1, + ); + } + + $SpecialCharacter = array('>' => 'gt', '<' => 'lt', '"' => 'quot'); + + if (isset($SpecialCharacter[$Excerpt['text'][0]])) + { + return array( + 'markup' => '&'.$SpecialCharacter[$Excerpt['text'][0]].';', + 'extent' => 1, + ); + } + } + + protected function inlineStrikethrough($Excerpt) + { + if ( ! isset($Excerpt['text'][1])) + { + return; + } + + if ($Excerpt['text'][1] === '~' and preg_match('/^~~(?=\S)(.+?)(?<=\S)~~/', $Excerpt['text'], $matches)) + { + return array( + 'extent' => strlen($matches[0]), + 'element' => array( + 'name' => 'del', + 'text' => $matches[1], + 'handler' => 'line', + ), + ); + } + } + + protected function inlineUrl($Excerpt) + { + if ($this->urlsLinked !== true or ! isset($Excerpt['text'][2]) or $Excerpt['text'][2] !== '/') + { + return; + } + + if (preg_match('/\bhttps?:[\/]{2}[^\s<]+\b\/*/ui', $Excerpt['context'], $matches, PREG_OFFSET_CAPTURE)) + { + $Inline = array( + 'extent' => strlen($matches[0][0]), + 'position' => $matches[0][1], + 'element' => array( + 'name' => 'a', + 'text' => $matches[0][0], + 'attributes' => array( + 'href' => $matches[0][0], + ), + ), + ); + + return $Inline; + } + } + + protected function inlineUrlTag($Excerpt) + { + if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<(\w+:\/{2}[^ >]+)>/i', $Excerpt['text'], $matches)) + { + $url = str_replace(array('&', '<'), array('&', '<'), $matches[1]); + + return array( + 'extent' => strlen($matches[0]), + 'element' => array( + 'name' => 'a', + 'text' => $url, + 'attributes' => array( + 'href' => $url, + ), + ), + ); + } + } + + # ~ + + protected function unmarkedText($text) + { + if ($this->breaksEnabled) + { + $text = preg_replace('/[ ]*\n/', "
\n", $text); + } + else + { + $text = preg_replace('/(?:[ ][ ]+|[ ]*\\\\)\n/', "
\n", $text); + $text = str_replace(" \n", "\n", $text); + } + + return $text; + } + + # + # Handlers + # + + protected function element(array $Element) + { + $markup = '<'.$Element['name']; + + if (isset($Element['attributes'])) + { + foreach ($Element['attributes'] as $name => $value) + { + if ($value === null) + { + continue; + } + + $markup .= ' '.$name.'="'.$value.'"'; + } + } + + if (isset($Element['text'])) + { + $markup .= '>'; + + if (isset($Element['handler'])) + { + $markup .= $this->{$Element['handler']}($Element['text']); + } + else + { + $markup .= $Element['text']; + } + + $markup .= ''; + } + else + { + $markup .= ' />'; + } + + return $markup; + } + + protected function elements(array $Elements) + { + $markup = ''; + + foreach ($Elements as $Element) + { + $markup .= "\n" . $this->element($Element); + } + + $markup .= "\n"; + + return $markup; + } + + # ~ + + protected function li($lines) + { + $markup = $this->lines($lines); + + $trimmedMarkup = trim($markup); + + if ( ! in_array('', $lines) and substr($trimmedMarkup, 0, 3) === '

') + { + $markup = $trimmedMarkup; + $markup = substr($markup, 3); + + $position = strpos($markup, "

"); + + $markup = substr_replace($markup, '', $position, 4); + } + + return $markup; + } + + # + # Deprecated Methods + # + + function parse($text) + { + $markup = $this->text($text); + + return $markup; + } + + # + # Static Methods + # + + static function instance($name = 'default') + { + if (isset(self::$instances[$name])) + { + return self::$instances[$name]; + } + + $instance = new static(); + + self::$instances[$name] = $instance; + + return $instance; + } + + private static $instances = array(); + + # + # Fields + # + + protected $DefinitionData; + + # + # Read-Only + + protected $specialCharacters = array( + '\\', '`', '*', '_', '{', '}', '[', ']', '(', ')', '>', '#', '+', '-', '.', '!', '|', + ); + + protected $StrongRegex = array( + '*' => '/^[*]{2}((?:\\\\\*|[^*]|[*][^*]*[*])+?)[*]{2}(?![*])/s', + '_' => '/^__((?:\\\\_|[^_]|_[^_]*_)+?)__(?!_)/us', + ); + + protected $EmRegex = array( + '*' => '/^[*]((?:\\\\\*|[^*]|[*][*][^*]+?[*][*])+?)[*](?![*])/s', + '_' => '/^_((?:\\\\_|[^_]|__[^_]*__)+?)_(?!_)\b/us', + ); + + protected $regexHtmlAttribute = '[a-zA-Z_:][\w:.-]*(?:\s*=\s*(?:[^"\'=<>`\s]+|"[^"]*"|\'[^\']*\'))?'; + + protected $voidElements = array( + 'area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', + ); + + protected $textLevelElements = array( + 'a', 'br', 'bdo', 'abbr', 'blink', 'nextid', 'acronym', 'basefont', + 'b', 'em', 'big', 'cite', 'small', 'spacer', 'listing', + 'i', 'rp', 'del', 'code', 'strike', 'marquee', + 'q', 'rt', 'ins', 'font', 'strong', + 's', 'tt', 'sub', 'mark', + 'u', 'xm', 'sup', 'nobr', + 'var', 'ruby', + 'wbr', 'span', + 'time', + ); +} \ No newline at end of file diff --git a/admin/update-checker/vendor/ParsedownLegacy.php b/admin/update-checker/vendor/ParsedownLegacy.php new file mode 100755 index 0000000..bbc2d32 --- /dev/null +++ b/admin/update-checker/vendor/ParsedownLegacy.php @@ -0,0 +1,1535 @@ +DefinitionData = array(); + + # standardize line breaks + $text = str_replace(array("\r\n", "\r"), "\n", $text); + + # remove surrounding line breaks + $text = trim($text, "\n"); + + # split text into lines + $lines = explode("\n", $text); + + # iterate through lines to identify blocks + $markup = $this->lines($lines); + + # trim line breaks + $markup = trim($markup, "\n"); + + return $markup; + } + + # + # Setters + # + + function setBreaksEnabled($breaksEnabled) + { + $this->breaksEnabled = $breaksEnabled; + + return $this; + } + + protected $breaksEnabled; + + function setMarkupEscaped($markupEscaped) + { + $this->markupEscaped = $markupEscaped; + + return $this; + } + + protected $markupEscaped; + + function setUrlsLinked($urlsLinked) + { + $this->urlsLinked = $urlsLinked; + + return $this; + } + + protected $urlsLinked = true; + + # + # Lines + # + + protected $BlockTypes = array( + '#' => array('Header'), + '*' => array('Rule', 'List'), + '+' => array('List'), + '-' => array('SetextHeader', 'Table', 'Rule', 'List'), + '0' => array('List'), + '1' => array('List'), + '2' => array('List'), + '3' => array('List'), + '4' => array('List'), + '5' => array('List'), + '6' => array('List'), + '7' => array('List'), + '8' => array('List'), + '9' => array('List'), + ':' => array('Table'), + '<' => array('Comment', 'Markup'), + '=' => array('SetextHeader'), + '>' => array('Quote'), + '[' => array('Reference'), + '_' => array('Rule'), + '`' => array('FencedCode'), + '|' => array('Table'), + '~' => array('FencedCode'), + ); + + # ~ + + protected $DefinitionTypes = array( + '[' => array('Reference'), + ); + + # ~ + + protected $unmarkedBlockTypes = array( + 'Code', + ); + + # + # Blocks + # + + private function lines(array $lines) + { + $CurrentBlock = null; + + foreach ($lines as $line) + { + if (chop($line) === '') + { + if (isset($CurrentBlock)) + { + $CurrentBlock['interrupted'] = true; + } + + continue; + } + + if (strpos($line, "\t") !== false) + { + $parts = explode("\t", $line); + + $line = $parts[0]; + + unset($parts[0]); + + foreach ($parts as $part) + { + $shortage = 4 - mb_strlen($line, 'utf-8') % 4; + + $line .= str_repeat(' ', $shortage); + $line .= $part; + } + } + + $indent = 0; + + while (isset($line[$indent]) and $line[$indent] === ' ') + { + $indent ++; + } + + $text = $indent > 0 ? substr($line, $indent) : $line; + + # ~ + + $Line = array('body' => $line, 'indent' => $indent, 'text' => $text); + + # ~ + + if (isset($CurrentBlock['incomplete'])) + { + $Block = $this->{'block'.$CurrentBlock['type'].'Continue'}($Line, $CurrentBlock); + + if (isset($Block)) + { + $CurrentBlock = $Block; + + continue; + } + else + { + if (method_exists($this, 'block'.$CurrentBlock['type'].'Complete')) + { + $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); + } + + unset($CurrentBlock['incomplete']); + } + } + + # ~ + + $marker = $text[0]; + + # ~ + + $blockTypes = $this->unmarkedBlockTypes; + + if (isset($this->BlockTypes[$marker])) + { + foreach ($this->BlockTypes[$marker] as $blockType) + { + $blockTypes []= $blockType; + } + } + + # + # ~ + + foreach ($blockTypes as $blockType) + { + $Block = $this->{'block'.$blockType}($Line, $CurrentBlock); + + if (isset($Block)) + { + $Block['type'] = $blockType; + + if ( ! isset($Block['identified'])) + { + $Blocks []= $CurrentBlock; + + $Block['identified'] = true; + } + + if (method_exists($this, 'block'.$blockType.'Continue')) + { + $Block['incomplete'] = true; + } + + $CurrentBlock = $Block; + + continue 2; + } + } + + # ~ + + if (isset($CurrentBlock) and ! isset($CurrentBlock['type']) and ! isset($CurrentBlock['interrupted'])) + { + $CurrentBlock['element']['text'] .= "\n".$text; + } + else + { + $Blocks []= $CurrentBlock; + + $CurrentBlock = $this->paragraph($Line); + + $CurrentBlock['identified'] = true; + } + } + + # ~ + + if (isset($CurrentBlock['incomplete']) and method_exists($this, 'block'.$CurrentBlock['type'].'Complete')) + { + $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); + } + + # ~ + + $Blocks []= $CurrentBlock; + + unset($Blocks[0]); + + # ~ + + $markup = ''; + + foreach ($Blocks as $Block) + { + if (isset($Block['hidden'])) + { + continue; + } + + $markup .= "\n"; + $markup .= isset($Block['markup']) ? $Block['markup'] : $this->element($Block['element']); + } + + $markup .= "\n"; + + # ~ + + return $markup; + } + + # + # Code + + protected function blockCode($Line, $Block = null) + { + if (isset($Block) and ! isset($Block['type']) and ! isset($Block['interrupted'])) + { + return; + } + + if ($Line['indent'] >= 4) + { + $text = substr($Line['body'], 4); + + $Block = array( + 'element' => array( + 'name' => 'pre', + 'handler' => 'element', + 'text' => array( + 'name' => 'code', + 'text' => $text, + ), + ), + ); + + return $Block; + } + } + + protected function blockCodeContinue($Line, $Block) + { + if ($Line['indent'] >= 4) + { + if (isset($Block['interrupted'])) + { + $Block['element']['text']['text'] .= "\n"; + + unset($Block['interrupted']); + } + + $Block['element']['text']['text'] .= "\n"; + + $text = substr($Line['body'], 4); + + $Block['element']['text']['text'] .= $text; + + return $Block; + } + } + + protected function blockCodeComplete($Block) + { + $text = $Block['element']['text']['text']; + + $text = htmlspecialchars($text, ENT_NOQUOTES, 'UTF-8'); + + $Block['element']['text']['text'] = $text; + + return $Block; + } + + # + # Comment + + protected function blockComment($Line) + { + if ($this->markupEscaped) + { + return; + } + + if (isset($Line['text'][3]) and $Line['text'][3] === '-' and $Line['text'][2] === '-' and $Line['text'][1] === '!') + { + $Block = array( + 'markup' => $Line['body'], + ); + + if (preg_match('/-->$/', $Line['text'])) + { + $Block['closed'] = true; + } + + return $Block; + } + } + + protected function blockCommentContinue($Line, array $Block) + { + if (isset($Block['closed'])) + { + return; + } + + $Block['markup'] .= "\n" . $Line['body']; + + if (preg_match('/-->$/', $Line['text'])) + { + $Block['closed'] = true; + } + + return $Block; + } + + # + # Fenced Code + + protected function blockFencedCode($Line) + { + if (preg_match('/^(['.$Line['text'][0].']{3,})[ ]*([\w-]+)?[ ]*$/', $Line['text'], $matches)) + { + $Element = array( + 'name' => 'code', + 'text' => '', + ); + + if (isset($matches[2])) + { + $class = 'language-'.$matches[2]; + + $Element['attributes'] = array( + 'class' => $class, + ); + } + + $Block = array( + 'char' => $Line['text'][0], + 'element' => array( + 'name' => 'pre', + 'handler' => 'element', + 'text' => $Element, + ), + ); + + return $Block; + } + } + + protected function blockFencedCodeContinue($Line, $Block) + { + if (isset($Block['complete'])) + { + return; + } + + if (isset($Block['interrupted'])) + { + $Block['element']['text']['text'] .= "\n"; + + unset($Block['interrupted']); + } + + if (preg_match('/^'.$Block['char'].'{3,}[ ]*$/', $Line['text'])) + { + $Block['element']['text']['text'] = substr($Block['element']['text']['text'], 1); + + $Block['complete'] = true; + + return $Block; + } + + $Block['element']['text']['text'] .= "\n".$Line['body'];; + + return $Block; + } + + protected function blockFencedCodeComplete($Block) + { + $text = $Block['element']['text']['text']; + + $text = htmlspecialchars($text, ENT_NOQUOTES, 'UTF-8'); + + $Block['element']['text']['text'] = $text; + + return $Block; + } + + # + # Header + + protected function blockHeader($Line) + { + if (isset($Line['text'][1])) + { + $level = 1; + + while (isset($Line['text'][$level]) and $Line['text'][$level] === '#') + { + $level ++; + } + + if ($level > 6) + { + return; + } + + $text = trim($Line['text'], '# '); + + $Block = array( + 'element' => array( + 'name' => 'h' . min(6, $level), + 'text' => $text, + 'handler' => 'line', + ), + ); + + return $Block; + } + } + + # + # List + + protected function blockList($Line) + { + list($name, $pattern) = $Line['text'][0] <= '-' ? array('ul', '[*+-]') : array('ol', '[0-9]+[.]'); + + if (preg_match('/^('.$pattern.'[ ]+)(.*)/', $Line['text'], $matches)) + { + $Block = array( + 'indent' => $Line['indent'], + 'pattern' => $pattern, + 'element' => array( + 'name' => $name, + 'handler' => 'elements', + ), + ); + + $Block['li'] = array( + 'name' => 'li', + 'handler' => 'li', + 'text' => array( + $matches[2], + ), + ); + + $Block['element']['text'] []= & $Block['li']; + + return $Block; + } + } + + protected function blockListContinue($Line, array $Block) + { + if ($Block['indent'] === $Line['indent'] and preg_match('/^'.$Block['pattern'].'(?:[ ]+(.*)|$)/', $Line['text'], $matches)) + { + if (isset($Block['interrupted'])) + { + $Block['li']['text'] []= ''; + + unset($Block['interrupted']); + } + + unset($Block['li']); + + $text = isset($matches[1]) ? $matches[1] : ''; + + $Block['li'] = array( + 'name' => 'li', + 'handler' => 'li', + 'text' => array( + $text, + ), + ); + + $Block['element']['text'] []= & $Block['li']; + + return $Block; + } + + if ($Line['text'][0] === '[' and $this->blockReference($Line)) + { + return $Block; + } + + if ( ! isset($Block['interrupted'])) + { + $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); + + $Block['li']['text'] []= $text; + + return $Block; + } + + if ($Line['indent'] > 0) + { + $Block['li']['text'] []= ''; + + $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); + + $Block['li']['text'] []= $text; + + unset($Block['interrupted']); + + return $Block; + } + } + + # + # Quote + + protected function blockQuote($Line) + { + if (preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) + { + $Block = array( + 'element' => array( + 'name' => 'blockquote', + 'handler' => 'lines', + 'text' => (array) $matches[1], + ), + ); + + return $Block; + } + } + + protected function blockQuoteContinue($Line, array $Block) + { + if ($Line['text'][0] === '>' and preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) + { + if (isset($Block['interrupted'])) + { + $Block['element']['text'] []= ''; + + unset($Block['interrupted']); + } + + $Block['element']['text'] []= $matches[1]; + + return $Block; + } + + if ( ! isset($Block['interrupted'])) + { + $Block['element']['text'] []= $Line['text']; + + return $Block; + } + } + + # + # Rule + + protected function blockRule($Line) + { + if (preg_match('/^(['.$Line['text'][0].'])([ ]*\1){2,}[ ]*$/', $Line['text'])) + { + $Block = array( + 'element' => array( + 'name' => 'hr' + ), + ); + + return $Block; + } + } + + # + # Setext + + protected function blockSetextHeader($Line, array $Block = null) + { + if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) + { + return; + } + + if (chop($Line['text'], $Line['text'][0]) === '') + { + $Block['element']['name'] = $Line['text'][0] === '=' ? 'h1' : 'h2'; + + return $Block; + } + } + + # + # Markup + + protected function blockMarkup($Line) + { + if ($this->markupEscaped) + { + return; + } + + if (preg_match('/^<(\w*)(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*(\/)?>/', $Line['text'], $matches)) + { + if (in_array($matches[1], $this->textLevelElements)) + { + return; + } + + $Block = array( + 'name' => $matches[1], + 'depth' => 0, + 'markup' => $Line['text'], + ); + + $length = strlen($matches[0]); + + $remainder = substr($Line['text'], $length); + + if (trim($remainder) === '') + { + if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) + { + $Block['closed'] = true; + + $Block['void'] = true; + } + } + else + { + if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) + { + return; + } + + if (preg_match('/<\/'.$matches[1].'>[ ]*$/i', $remainder)) + { + $Block['closed'] = true; + } + } + + return $Block; + } + } + + protected function blockMarkupContinue($Line, array $Block) + { + if (isset($Block['closed'])) + { + return; + } + + if (preg_match('/^<'.$Block['name'].'(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*>/i', $Line['text'])) # open + { + $Block['depth'] ++; + } + + if (preg_match('/(.*?)<\/'.$Block['name'].'>[ ]*$/i', $Line['text'], $matches)) # close + { + if ($Block['depth'] > 0) + { + $Block['depth'] --; + } + else + { + $Block['closed'] = true; + } + + $Block['markup'] .= $matches[1]; + } + + if (isset($Block['interrupted'])) + { + $Block['markup'] .= "\n"; + + unset($Block['interrupted']); + } + + $Block['markup'] .= "\n".$Line['body']; + + return $Block; + } + + # + # Reference + + protected function blockReference($Line) + { + if (preg_match('/^\[(.+?)\]:[ ]*?(?:[ ]+["\'(](.+)["\')])?[ ]*$/', $Line['text'], $matches)) + { + $id = strtolower($matches[1]); + + $Data = array( + 'url' => $matches[2], + 'title' => null, + ); + + if (isset($matches[3])) + { + $Data['title'] = $matches[3]; + } + + $this->DefinitionData['Reference'][$id] = $Data; + + $Block = array( + 'hidden' => true, + ); + + return $Block; + } + } + + # + # Table + + protected function blockTable($Line, array $Block = null) + { + if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) + { + return; + } + + if (strpos($Block['element']['text'], '|') !== false and chop($Line['text'], ' -:|') === '') + { + $alignments = array(); + + $divider = $Line['text']; + + $divider = trim($divider); + $divider = trim($divider, '|'); + + $dividerCells = explode('|', $divider); + + foreach ($dividerCells as $dividerCell) + { + $dividerCell = trim($dividerCell); + + if ($dividerCell === '') + { + continue; + } + + $alignment = null; + + if ($dividerCell[0] === ':') + { + $alignment = 'left'; + } + + if (substr($dividerCell, - 1) === ':') + { + $alignment = $alignment === 'left' ? 'center' : 'right'; + } + + $alignments []= $alignment; + } + + # ~ + + $HeaderElements = array(); + + $header = $Block['element']['text']; + + $header = trim($header); + $header = trim($header, '|'); + + $headerCells = explode('|', $header); + + foreach ($headerCells as $index => $headerCell) + { + $headerCell = trim($headerCell); + + $HeaderElement = array( + 'name' => 'th', + 'text' => $headerCell, + 'handler' => 'line', + ); + + if (isset($alignments[$index])) + { + $alignment = $alignments[$index]; + + $HeaderElement['attributes'] = array( + 'style' => 'text-align: '.$alignment.';', + ); + } + + $HeaderElements []= $HeaderElement; + } + + # ~ + + $Block = array( + 'alignments' => $alignments, + 'identified' => true, + 'element' => array( + 'name' => 'table', + 'handler' => 'elements', + ), + ); + + $Block['element']['text'] []= array( + 'name' => 'thead', + 'handler' => 'elements', + ); + + $Block['element']['text'] []= array( + 'name' => 'tbody', + 'handler' => 'elements', + 'text' => array(), + ); + + $Block['element']['text'][0]['text'] []= array( + 'name' => 'tr', + 'handler' => 'elements', + 'text' => $HeaderElements, + ); + + return $Block; + } + } + + protected function blockTableContinue($Line, array $Block) + { + if (isset($Block['interrupted'])) + { + return; + } + + if ($Line['text'][0] === '|' or strpos($Line['text'], '|')) + { + $Elements = array(); + + $row = $Line['text']; + + $row = trim($row); + $row = trim($row, '|'); + + preg_match_all('/(?:(\\\\[|])|[^|`]|`[^`]+`|`)+/', $row, $matches); + + foreach ($matches[0] as $index => $cell) + { + $cell = trim($cell); + + $Element = array( + 'name' => 'td', + 'handler' => 'line', + 'text' => $cell, + ); + + if (isset($Block['alignments'][$index])) + { + $Element['attributes'] = array( + 'style' => 'text-align: '.$Block['alignments'][$index].';', + ); + } + + $Elements []= $Element; + } + + $Element = array( + 'name' => 'tr', + 'handler' => 'elements', + 'text' => $Elements, + ); + + $Block['element']['text'][1]['text'] []= $Element; + + return $Block; + } + } + + # + # ~ + # + + protected function paragraph($Line) + { + $Block = array( + 'element' => array( + 'name' => 'p', + 'text' => $Line['text'], + 'handler' => 'line', + ), + ); + + return $Block; + } + + # + # Inline Elements + # + + protected $InlineTypes = array( + '"' => array('SpecialCharacter'), + '!' => array('Image'), + '&' => array('SpecialCharacter'), + '*' => array('Emphasis'), + ':' => array('Url'), + '<' => array('UrlTag', 'EmailTag', 'Markup', 'SpecialCharacter'), + '>' => array('SpecialCharacter'), + '[' => array('Link'), + '_' => array('Emphasis'), + '`' => array('Code'), + '~' => array('Strikethrough'), + '\\' => array('EscapeSequence'), + ); + + # ~ + + protected $inlineMarkerList = '!"*_&[:<>`~\\'; + + # + # ~ + # + + public function line($text) + { + $markup = ''; + + $unexaminedText = $text; + + $markerPosition = 0; + + while ($excerpt = strpbrk($unexaminedText, $this->inlineMarkerList)) + { + $marker = $excerpt[0]; + + $markerPosition += strpos($unexaminedText, $marker); + + $Excerpt = array('text' => $excerpt, 'context' => $text); + + foreach ($this->InlineTypes[$marker] as $inlineType) + { + $Inline = $this->{'inline'.$inlineType}($Excerpt); + + if ( ! isset($Inline)) + { + continue; + } + + if (isset($Inline['position']) and $Inline['position'] > $markerPosition) # position is ahead of marker + { + continue; + } + + if ( ! isset($Inline['position'])) + { + $Inline['position'] = $markerPosition; + } + + $unmarkedText = substr($text, 0, $Inline['position']); + + $markup .= $this->unmarkedText($unmarkedText); + + $markup .= isset($Inline['markup']) ? $Inline['markup'] : $this->element($Inline['element']); + + $text = substr($text, $Inline['position'] + $Inline['extent']); + + $unexaminedText = $text; + + $markerPosition = 0; + + continue 2; + } + + $unexaminedText = substr($excerpt, 1); + + $markerPosition ++; + } + + $markup .= $this->unmarkedText($text); + + return $markup; + } + + # + # ~ + # + + protected function inlineCode($Excerpt) + { + $marker = $Excerpt['text'][0]; + + if (preg_match('/^('.$marker.'+)[ ]*(.+?)[ ]*(? strlen($matches[0]), + 'element' => array( + 'name' => 'code', + 'text' => $text, + ), + ); + } + } + + protected function inlineEmailTag($Excerpt) + { + if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<((mailto:)?\S+?@\S+?)>/i', $Excerpt['text'], $matches)) + { + $url = $matches[1]; + + if ( ! isset($matches[2])) + { + $url = 'mailto:' . $url; + } + + return array( + 'extent' => strlen($matches[0]), + 'element' => array( + 'name' => 'a', + 'text' => $matches[1], + 'attributes' => array( + 'href' => $url, + ), + ), + ); + } + } + + protected function inlineEmphasis($Excerpt) + { + if ( ! isset($Excerpt['text'][1])) + { + return; + } + + $marker = $Excerpt['text'][0]; + + if ($Excerpt['text'][1] === $marker and preg_match($this->StrongRegex[$marker], $Excerpt['text'], $matches)) + { + $emphasis = 'strong'; + } + elseif (preg_match($this->EmRegex[$marker], $Excerpt['text'], $matches)) + { + $emphasis = 'em'; + } + else + { + return; + } + + return array( + 'extent' => strlen($matches[0]), + 'element' => array( + 'name' => $emphasis, + 'handler' => 'line', + 'text' => $matches[1], + ), + ); + } + + protected function inlineEscapeSequence($Excerpt) + { + if (isset($Excerpt['text'][1]) and in_array($Excerpt['text'][1], $this->specialCharacters)) + { + return array( + 'markup' => $Excerpt['text'][1], + 'extent' => 2, + ); + } + } + + protected function inlineImage($Excerpt) + { + if ( ! isset($Excerpt['text'][1]) or $Excerpt['text'][1] !== '[') + { + return; + } + + $Excerpt['text']= substr($Excerpt['text'], 1); + + $Link = $this->inlineLink($Excerpt); + + if ($Link === null) + { + return; + } + + $Inline = array( + 'extent' => $Link['extent'] + 1, + 'element' => array( + 'name' => 'img', + 'attributes' => array( + 'src' => $Link['element']['attributes']['href'], + 'alt' => $Link['element']['text'], + ), + ), + ); + + $Inline['element']['attributes'] += $Link['element']['attributes']; + + unset($Inline['element']['attributes']['href']); + + return $Inline; + } + + protected function inlineLink($Excerpt) + { + $Element = array( + 'name' => 'a', + 'handler' => 'line', + 'text' => null, + 'attributes' => array( + 'href' => null, + 'title' => null, + ), + ); + + $extent = 0; + + $remainder = $Excerpt['text']; + + if (preg_match('/\[((?:[^][]|(?R))*)\]/', $remainder, $matches)) + { + $Element['text'] = $matches[1]; + + $extent += strlen($matches[0]); + + $remainder = substr($remainder, $extent); + } + else + { + return; + } + + if (preg_match('/^[(]((?:[^ (]|[(][^ )]+[)])+)(?:[ ]+("[^"]+"|\'[^\']+\'))?[)]/', $remainder, $matches)) + { + $Element['attributes']['href'] = $matches[1]; + + if (isset($matches[2])) + { + $Element['attributes']['title'] = substr($matches[2], 1, - 1); + } + + $extent += strlen($matches[0]); + } + else + { + if (preg_match('/^\s*\[(.*?)\]/', $remainder, $matches)) + { + $definition = $matches[1] ? $matches[1] : $Element['text']; + $definition = strtolower($definition); + + $extent += strlen($matches[0]); + } + else + { + $definition = strtolower($Element['text']); + } + + if ( ! isset($this->DefinitionData['Reference'][$definition])) + { + return; + } + + $Definition = $this->DefinitionData['Reference'][$definition]; + + $Element['attributes']['href'] = $Definition['url']; + $Element['attributes']['title'] = $Definition['title']; + } + + $Element['attributes']['href'] = str_replace(array('&', '<'), array('&', '<'), $Element['attributes']['href']); + + return array( + 'extent' => $extent, + 'element' => $Element, + ); + } + + protected function inlineMarkup($Excerpt) + { + if ($this->markupEscaped or strpos($Excerpt['text'], '>') === false) + { + return; + } + + if ($Excerpt['text'][1] === '/' and preg_match('/^<\/\w*[ ]*>/s', $Excerpt['text'], $matches)) + { + return array( + 'markup' => $matches[0], + 'extent' => strlen($matches[0]), + ); + } + + if ($Excerpt['text'][1] === '!' and preg_match('/^/s', $Excerpt['text'], $matches)) + { + return array( + 'markup' => $matches[0], + 'extent' => strlen($matches[0]), + ); + } + + if ($Excerpt['text'][1] !== ' ' and preg_match('/^<\w*(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*\/?>/s', $Excerpt['text'], $matches)) + { + return array( + 'markup' => $matches[0], + 'extent' => strlen($matches[0]), + ); + } + } + + protected function inlineSpecialCharacter($Excerpt) + { + if ($Excerpt['text'][0] === '&' and ! preg_match('/^&#?\w+;/', $Excerpt['text'])) + { + return array( + 'markup' => '&', + 'extent' => 1, + ); + } + + $SpecialCharacter = array('>' => 'gt', '<' => 'lt', '"' => 'quot'); + + if (isset($SpecialCharacter[$Excerpt['text'][0]])) + { + return array( + 'markup' => '&'.$SpecialCharacter[$Excerpt['text'][0]].';', + 'extent' => 1, + ); + } + } + + protected function inlineStrikethrough($Excerpt) + { + if ( ! isset($Excerpt['text'][1])) + { + return; + } + + if ($Excerpt['text'][1] === '~' and preg_match('/^~~(?=\S)(.+?)(?<=\S)~~/', $Excerpt['text'], $matches)) + { + return array( + 'extent' => strlen($matches[0]), + 'element' => array( + 'name' => 'del', + 'text' => $matches[1], + 'handler' => 'line', + ), + ); + } + } + + protected function inlineUrl($Excerpt) + { + if ($this->urlsLinked !== true or ! isset($Excerpt['text'][2]) or $Excerpt['text'][2] !== '/') + { + return; + } + + if (preg_match('/\bhttps?:[\/]{2}[^\s<]+\b\/*/ui', $Excerpt['context'], $matches, PREG_OFFSET_CAPTURE)) + { + $Inline = array( + 'extent' => strlen($matches[0][0]), + 'position' => $matches[0][1], + 'element' => array( + 'name' => 'a', + 'text' => $matches[0][0], + 'attributes' => array( + 'href' => $matches[0][0], + ), + ), + ); + + return $Inline; + } + } + + protected function inlineUrlTag($Excerpt) + { + if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<(\w+:\/{2}[^ >]+)>/i', $Excerpt['text'], $matches)) + { + $url = str_replace(array('&', '<'), array('&', '<'), $matches[1]); + + return array( + 'extent' => strlen($matches[0]), + 'element' => array( + 'name' => 'a', + 'text' => $url, + 'attributes' => array( + 'href' => $url, + ), + ), + ); + } + } + + # + # ~ + + protected $unmarkedInlineTypes = array("\n" => 'Break', '://' => 'Url'); + + # ~ + + protected function unmarkedText($text) + { + if ($this->breaksEnabled) + { + $text = preg_replace('/[ ]*\n/', "
\n", $text); + } + else + { + $text = preg_replace('/(?:[ ][ ]+|[ ]*\\\\)\n/', "
\n", $text); + $text = str_replace(" \n", "\n", $text); + } + + return $text; + } + + # + # Handlers + # + + protected function element(array $Element) + { + $markup = '<'.$Element['name']; + + if (isset($Element['attributes'])) + { + foreach ($Element['attributes'] as $name => $value) + { + if ($value === null) + { + continue; + } + + $markup .= ' '.$name.'="'.$value.'"'; + } + } + + if (isset($Element['text'])) + { + $markup .= '>'; + + if (isset($Element['handler'])) + { + $markup .= $this->{$Element['handler']}($Element['text']); + } + else + { + $markup .= $Element['text']; + } + + $markup .= ''; + } + else + { + $markup .= ' />'; + } + + return $markup; + } + + protected function elements(array $Elements) + { + $markup = ''; + + foreach ($Elements as $Element) + { + $markup .= "\n" . $this->element($Element); + } + + $markup .= "\n"; + + return $markup; + } + + # ~ + + protected function li($lines) + { + $markup = $this->lines($lines); + + $trimmedMarkup = trim($markup); + + if ( ! in_array('', $lines) and substr($trimmedMarkup, 0, 3) === '

') + { + $markup = $trimmedMarkup; + $markup = substr($markup, 3); + + $position = strpos($markup, "

"); + + $markup = substr_replace($markup, '', $position, 4); + } + + return $markup; + } + + # + # Deprecated Methods + # + + function parse($text) + { + $markup = $this->text($text); + + return $markup; + } + + # + # Static Methods + # + + static function instance($name = 'default') + { + if (isset(self::$instances[$name])) + { + return self::$instances[$name]; + } + + $instance = new self(); + + self::$instances[$name] = $instance; + + return $instance; + } + + private static $instances = array(); + + # + # Fields + # + + protected $DefinitionData; + + # + # Read-Only + + protected $specialCharacters = array( + '\\', '`', '*', '_', '{', '}', '[', ']', '(', ')', '>', '#', '+', '-', '.', '!', '|', + ); + + protected $StrongRegex = array( + '*' => '/^[*]{2}((?:\\\\\*|[^*]|[*][^*]*[*])+?)[*]{2}(?![*])/s', + '_' => '/^__((?:\\\\_|[^_]|_[^_]*_)+?)__(?!_)/us', + ); + + protected $EmRegex = array( + '*' => '/^[*]((?:\\\\\*|[^*]|[*][*][^*]+?[*][*])+?)[*](?![*])/s', + '_' => '/^_((?:\\\\_|[^_]|__[^_]*__)+?)_(?!_)\b/us', + ); + + protected $regexHtmlAttribute = '[a-zA-Z_:][\w:.-]*(?:\s*=\s*(?:[^"\'=<>`\s]+|"[^"]*"|\'[^\']*\'))?'; + + protected $voidElements = array( + 'area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', + ); + + protected $textLevelElements = array( + 'a', 'br', 'bdo', 'abbr', 'blink', 'nextid', 'acronym', 'basefont', + 'b', 'em', 'big', 'cite', 'small', 'spacer', 'listing', + 'i', 'rp', 'del', 'code', 'strike', 'marquee', + 'q', 'rt', 'ins', 'font', 'strong', + 's', 'tt', 'sub', 'mark', + 'u', 'xm', 'sup', 'nobr', + 'var', 'ruby', + 'wbr', 'span', + 'time', + ); +} diff --git a/admin/update-checker/vendor/readme-parser.php b/admin/update-checker/vendor/readme-parser.php new file mode 100755 index 0000000..d89a06e --- /dev/null +++ b/admin/update-checker/vendor/readme-parser.php @@ -0,0 +1,334 @@ +parse_readme_contents( $file_contents ); + } + + function parse_readme_contents( $file_contents ) { + $file_contents = str_replace(array("\r\n", "\r"), "\n", $file_contents); + $file_contents = trim($file_contents); + if ( 0 === strpos( $file_contents, "\xEF\xBB\xBF" ) ) + $file_contents = substr( $file_contents, 3 ); + + // Markdown transformations + $file_contents = preg_replace( "|^###([^#]+)#*?\s*?\n|im", '=$1='."\n", $file_contents ); + $file_contents = preg_replace( "|^##([^#]+)#*?\s*?\n|im", '==$1=='."\n", $file_contents ); + $file_contents = preg_replace( "|^#([^#]+)#*?\s*?\n|im", '===$1==='."\n", $file_contents ); + + // === Plugin Name === + // Must be the very first thing. + if ( !preg_match('|^===(.*)===|', $file_contents, $_name) ) + return array(); // require a name + $name = trim($_name[1], '='); + $name = $this->sanitize_text( $name ); + + $file_contents = $this->chop_string( $file_contents, $_name[0] ); + + + // Requires at least: 1.5 + if ( preg_match('|Requires at least:(.*)|i', $file_contents, $_requires_at_least) ) + $requires_at_least = $this->sanitize_text($_requires_at_least[1]); + else + $requires_at_least = NULL; + + + // Tested up to: 2.1 + if ( preg_match('|Tested up to:(.*)|i', $file_contents, $_tested_up_to) ) + $tested_up_to = $this->sanitize_text( $_tested_up_to[1] ); + else + $tested_up_to = NULL; + + + // Stable tag: 10.4-ride-the-fire-eagle-danger-day + if ( preg_match('|Stable tag:(.*)|i', $file_contents, $_stable_tag) ) + $stable_tag = $this->sanitize_text( $_stable_tag[1] ); + else + $stable_tag = NULL; // we assume trunk, but don't set it here to tell the difference between specified trunk and default trunk + + + // Tags: some tag, another tag, we like tags + if ( preg_match('|Tags:(.*)|i', $file_contents, $_tags) ) { + $tags = preg_split('|,[\s]*?|', trim($_tags[1])); + foreach ( array_keys($tags) as $t ) + $tags[$t] = $this->sanitize_text( $tags[$t] ); + } else { + $tags = array(); + } + + + // Contributors: markjaquith, mdawaffe, zefrank + $contributors = array(); + if ( preg_match('|Contributors:(.*)|i', $file_contents, $_contributors) ) { + $temp_contributors = preg_split('|,[\s]*|', trim($_contributors[1])); + foreach ( array_keys($temp_contributors) as $c ) { + $tmp_sanitized = $this->user_sanitize( $temp_contributors[$c] ); + if ( strlen(trim($tmp_sanitized)) > 0 ) + $contributors[$c] = $tmp_sanitized; + unset($tmp_sanitized); + } + } + + + // Donate Link: URL + if ( preg_match('|Donate link:(.*)|i', $file_contents, $_donate_link) ) + $donate_link = esc_url( $_donate_link[1] ); + else + $donate_link = NULL; + + + // togs, conts, etc are optional and order shouldn't matter. So we chop them only after we've grabbed their values. + foreach ( array('tags', 'contributors', 'requires_at_least', 'tested_up_to', 'stable_tag', 'donate_link') as $chop ) { + if ( $$chop ) { + $_chop = '_' . $chop; + $file_contents = $this->chop_string( $file_contents, ${$_chop}[0] ); + } + } + + $file_contents = trim($file_contents); + + + // short-description fu + if ( !preg_match('/(^(.*?))^[\s]*=+?[\s]*.+?[\s]*=+?/ms', $file_contents, $_short_description) ) + $_short_description = array( 1 => &$file_contents, 2 => &$file_contents ); + $short_desc_filtered = $this->sanitize_text( $_short_description[2] ); + $short_desc_length = strlen($short_desc_filtered); + $short_description = substr($short_desc_filtered, 0, 150); + if ( $short_desc_length > strlen($short_description) ) + $truncated = true; + else + $truncated = false; + if ( $_short_description[1] ) + $file_contents = $this->chop_string( $file_contents, $_short_description[1] ); // yes, the [1] is intentional + + // == Section == + // Break into sections + // $_sections[0] will be the title of the first section, $_sections[1] will be the content of the first section + // the array alternates from there: title2, content2, title3, content3... and so forth + $_sections = preg_split('/^[\s]*==[\s]*(.+?)[\s]*==/m', $file_contents, -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY); + + $sections = array(); + for ( $i=1; $i <= count($_sections); $i +=2 ) { + $_sections[$i] = preg_replace('/(^[\s]*)=[\s]+(.+?)[\s]+=/m', '$1

$2

', $_sections[$i]); + $_sections[$i] = $this->filter_text( $_sections[$i], true ); + $title = $this->sanitize_text( $_sections[$i-1] ); + $sections[str_replace(' ', '_', strtolower($title))] = array('title' => $title, 'content' => $_sections[$i]); + } + + + // Special sections + // This is where we nab our special sections, so we can enforce their order and treat them differently, if needed + // upgrade_notice is not a section, but parse it like it is for now + $final_sections = array(); + foreach ( array('description', 'installation', 'frequently_asked_questions', 'screenshots', 'changelog', 'change_log', 'upgrade_notice') as $special_section ) { + if ( isset($sections[$special_section]) ) { + $final_sections[$special_section] = $sections[$special_section]['content']; + unset($sections[$special_section]); + } + } + if ( isset($final_sections['change_log']) && empty($final_sections['changelog']) ) + $final_sections['changelog'] = $final_sections['change_log']; + + + $final_screenshots = array(); + if ( isset($final_sections['screenshots']) ) { + preg_match_all('|
  • (.*?)
  • |s', $final_sections['screenshots'], $screenshots, PREG_SET_ORDER); + if ( $screenshots ) { + foreach ( (array) $screenshots as $ss ) + $final_screenshots[] = $ss[1]; + } + } + + // Parse the upgrade_notice section specially: + // 1.0 => blah, 1.1 => fnord + $upgrade_notice = array(); + if ( isset($final_sections['upgrade_notice']) ) { + $split = preg_split( '#

    (.*?)

    #', $final_sections['upgrade_notice'], -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY ); + for ( $i = 0; $i < count( $split ); $i += 2 ) + $upgrade_notice[$this->sanitize_text( $split[$i] )] = substr( $this->sanitize_text( $split[$i + 1] ), 0, 300 ); + unset( $final_sections['upgrade_notice'] ); + } + + // No description? + // No problem... we'll just fall back to the old style of description + // We'll even let you use markup this time! + $excerpt = false; + if ( !isset($final_sections['description']) ) { + $final_sections = array_merge(array('description' => $this->filter_text( $_short_description[2], true )), $final_sections); + $excerpt = true; + } + + + // dump the non-special sections into $remaining_content + // their order will be determined by their original order in the readme.txt + $remaining_content = ''; + foreach ( $sections as $s_name => $s_data ) { + $remaining_content .= "\n

    {$s_data['title']}

    \n{$s_data['content']}"; + } + $remaining_content = trim($remaining_content); + + + // All done! + // $r['tags'] and $r['contributors'] are simple arrays + // $r['sections'] is an array with named elements + $r = array( + 'name' => $name, + 'tags' => $tags, + 'requires_at_least' => $requires_at_least, + 'tested_up_to' => $tested_up_to, + 'stable_tag' => $stable_tag, + 'contributors' => $contributors, + 'donate_link' => $donate_link, + 'short_description' => $short_description, + 'screenshots' => $final_screenshots, + 'is_excerpt' => $excerpt, + 'is_truncated' => $truncated, + 'sections' => $final_sections, + 'remaining_content' => $remaining_content, + 'upgrade_notice' => $upgrade_notice + ); + + return $r; + } + + function chop_string( $string, $chop ) { // chop a "prefix" from a string: Agressive! uses strstr not 0 === strpos + if ( $_string = strstr($string, $chop) ) { + $_string = substr($_string, strlen($chop)); + return trim($_string); + } else { + return trim($string); + } + } + + function user_sanitize( $text, $strict = false ) { // whitelisted chars + if ( function_exists('user_sanitize') ) // bbPress native + return user_sanitize( $text, $strict ); + + if ( $strict ) { + $text = preg_replace('/[^a-z0-9-]/i', '', $text); + $text = preg_replace('|-+|', '-', $text); + } else { + $text = preg_replace('/[^a-z0-9_-]/i', '', $text); + } + return $text; + } + + function sanitize_text( $text ) { // not fancy + $text = strip_tags($text); + $text = esc_html($text); + $text = trim($text); + return $text; + } + + function filter_text( $text, $markdown = false ) { // fancy, Markdown + $text = trim($text); + + $text = call_user_func( array( __CLASS__, 'code_trick' ), $text, $markdown ); // A better parser than Markdown's for: backticks -> CODE + + if ( $markdown ) { // Parse markdown. + if ( !class_exists('Parsedown', false) ) { + /** @noinspection PhpIncludeInspection */ + require_once(dirname(__FILE__) . '/Parsedown' . (version_compare(PHP_VERSION, '5.3.0', '>=') ? '' : 'Legacy') . '.php'); + } + $instance = Parsedown::instance(); + $text = $instance->text($text); + } + + $allowed = array( + 'a' => array( + 'href' => array(), + 'title' => array(), + 'rel' => array()), + 'blockquote' => array('cite' => array()), + 'br' => array(), + 'p' => array(), + 'code' => array(), + 'pre' => array(), + 'em' => array(), + 'strong' => array(), + 'ul' => array(), + 'ol' => array(), + 'li' => array(), + 'h3' => array(), + 'h4' => array() + ); + + $text = balanceTags($text); + + $text = wp_kses( $text, $allowed ); + $text = trim($text); + return $text; + } + + function code_trick( $text, $markdown ) { // Don't use bbPress native function - it's incompatible with Markdown + // If doing markdown, first take any user formatted code blocks and turn them into backticks so that + // markdown will preserve things like underscores in code blocks + if ( $markdown ) + $text = preg_replace_callback("!(
    |)(.*?)(
    |)!s", array( __CLASS__,'decodeit'), $text); + + $text = str_replace(array("\r\n", "\r"), "\n", $text); + if ( !$markdown ) { + // This gets the "inline" code blocks, but can't be used with Markdown. + $text = preg_replace_callback("|(`)(.*?)`|", array( __CLASS__, 'encodeit'), $text); + // This gets the "block level" code blocks and converts them to PRE CODE + $text = preg_replace_callback("!(^|\n)`(.*?)`!s", array( __CLASS__, 'encodeit'), $text); + } else { + // Markdown can do inline code, we convert bbPress style block level code to Markdown style + $text = preg_replace_callback("!(^|\n)([ \t]*?)`(.*?)`!s", array( __CLASS__, 'indent'), $text); + } + return $text; + } + + function indent( $matches ) { + $text = $matches[3]; + $text = preg_replace('|^|m', $matches[2] . ' ', $text); + return $matches[1] . $text; + } + + function encodeit( $matches ) { + if ( function_exists('encodeit') ) // bbPress native + return encodeit( $matches ); + + $text = trim($matches[2]); + $text = htmlspecialchars($text, ENT_QUOTES); + $text = str_replace(array("\r\n", "\r"), "\n", $text); + $text = preg_replace("|\n\n\n+|", "\n\n", $text); + $text = str_replace('&lt;', '<', $text); + $text = str_replace('&gt;', '>', $text); + $text = "$text"; + if ( "`" != $matches[1] ) + $text = "
    $text
    "; + return $text; + } + + function decodeit( $matches ) { + if ( function_exists('decodeit') ) // bbPress native + return decodeit( $matches ); + + $text = $matches[2]; + $trans_table = array_flip(get_html_translation_table(HTML_ENTITIES)); + $text = strtr($text, $trans_table); + $text = str_replace('
    ', '', $text); + $text = str_replace('&', '&', $text); + $text = str_replace(''', "'", $text); + if ( '
    ' == $matches[1] )
    +			$text = "\n$text\n";
    +		return "`$text`";
    +	}
    +
    +} // end class
    +
    +endif;
    \ No newline at end of file
    diff --git a/includes/slm-utility.php b/includes/slm-utility.php
    index eb9a678..1488c64 100755
    --- a/includes/slm-utility.php
    +++ b/includes/slm-utility.php
    @@ -27,6 +27,7 @@ static function do_auto_key_expiry() {
     
                 $today_dt = new DateTime($current_date);
                 $expire_dt = new DateTime($expiry_date);
    +
                 if ($today_dt > $expire_dt) {
                     //This key has reached the expiry. So expire this key.
                     SLM_Debug_Logger::log_debug_st("This key (".$key.") has expired. Expiry date: ".$expiry_date.". Setting license key status to expired.");
    diff --git a/readme.txt b/readme.txt
    new file mode 100644
    index 0000000..1f90ec5
    --- /dev/null
    +++ b/readme.txt
    @@ -0,0 +1,36 @@
    +=== Software License Manager ===
    +Contributors: michelve
    +Donate link: http://velismichel.com/
    +Tags: license, slm, license key
    +Requires at least: 4.6
    +Tested up to: 4.9
    +Stable tag: 4.3
    +Requires PHP: 5.2.4
    +License: GPLv2 or later
    +License URI: https://www.gnu.org/licenses/gpl-2.0.html
    +
    +Software license management solution for your web applications (WordPress plugins, Themes, PHP based membership script etc.)
    +
    +== Description ==
    +
    +Software license management solution for your web applications (WordPress plugins, Themes, PHP based membership script etc.)
    +
    +This plugin is very useful for creating a license server and doing the following via API:
    +
    +* Create license keys in your system (license server)
    +* Check the status of a license key from from your application (remotely)
    +* Activate a license key from your application (remotely)
    +* Deactivate a license key (remotely)
    +* Delete a license key (remotely)
    +* Update a license key (remotely)
    +* Check a license key (remotely)
    +* Track where the license key is being used.
    +* You can also create license keys manually from the admin dashboard of this plugin.
    +
    +== Installation ==
    +
    +1. Go to the Add New plugins screen in your WordPress admin area
    +1. Click the upload tab
    +1. Browse for the plugin file (software-license-manager.zip)
    +1. Click Install Now and then activate the plugin
    +
    diff --git a/software-license-manager.php b/software-license-manager.php
    index 6edb7aa..e87d431 100755
    --- a/software-license-manager.php
    +++ b/software-license-manager.php
    @@ -31,4 +31,13 @@
     
     if( file_exists( SLM_LIB . 'slm_plugin_core.php') ) {
         require_once( SLM_LIB . 'slm_plugin_core.php');
    -}
    \ No newline at end of file
    +}
    +
    +// check for updates from github
    +require_once SLM_ADMIN . 'plugin-update-checker.php';
    +$myUpdateChecker = Puc_v4_Factory::buildUpdateChecker(
    +    'https://github.com/michelve/software-license-manager/',
    +    __FILE__,
    +    'software-license-manager'
    +);
    +$myUpdateChecker->setBranch('master');
    \ No newline at end of file
    
    From 3760354754017fa5cc19f5b3f7c118a9763c9e4c Mon Sep 17 00:00:00 2001
    From: Michel Velis 
    Date: Mon, 3 Dec 2018 21:10:01 -0500
    Subject: [PATCH 039/293] fixed not found error
    
    ---
     .../update-checker/plugin-update-checker.php  |  8 ++--
     software-license-manager.php                  | 41 +++++++++----------
     2 files changed, 24 insertions(+), 25 deletions(-)
    
    diff --git a/admin/update-checker/plugin-update-checker.php b/admin/update-checker/plugin-update-checker.php
    index a0fef19..29da9ee 100755
    --- a/admin/update-checker/plugin-update-checker.php
    +++ b/admin/update-checker/plugin-update-checker.php
    @@ -2,14 +2,14 @@
     /**
      * Plugin Update Checker Library 4.4
      * http://w-shadow.com/
    - * 
    + *
      * Copyright 2017 Janis Elsts
      * Released under the MIT license. See license.txt for details.
      */
     
    -require dirname(__FILE__) . '/Puc/v4p4/Factory.php';
    -require dirname(__FILE__) . '/Puc/v4/Factory.php';
    -require dirname(__FILE__) . '/Puc/v4p4/Autoloader.php';
    +require_once dirname(__FILE__) . '/Puc/v4p4/Factory.php';
    +require_once dirname(__FILE__) . '/Puc/v4/Factory.php';
    +require_once dirname(__FILE__) . '/Puc/v4p4/Autoloader.php';
     new Puc_v4p4_Autoloader();
     
     //Register classes defined in this file with the factory.
    diff --git a/software-license-manager.php b/software-license-manager.php
    index e87d431..4c2701d 100755
    --- a/software-license-manager.php
    +++ b/software-license-manager.php
    @@ -1,12 +1,12 @@
     Michel Velis
    +Version: 4.5
    +Plugin URI: https://github.com/michelve/software-license-manager/
    +Author: Michel Velis
    +Author URI: https://www.epikly.com/
    +Description: Software license management solution for your web applications (WordPress plugins, Themes, Applications, PHP based membership script etc.). Supports WooCommerce.
    +Author2: Tips and Tricks HQ
     Text Domain: slm
     */
     
    @@ -16,28 +16,27 @@
     }
     
     //Short name/slug "SLM" or "slm"
    -define('SLM_VERSION', "4.4");
    -define('SLM_DB_VERSION', '2.0');
    -define('SLM_FOLDER', dirname(plugin_basename(__FILE__)));
    -define('SLM_URL', plugins_url('',__FILE__));
    -define('SLM_ASSETS_URL', plugins_url('',__FILE__).'/public/assets/');
    -define('SLM_PATH', plugin_dir_path(__FILE__));
    -define('SLM_LIB', SLM_PATH .'includes/');
    -define('SLM_ADMIN', SLM_PATH .'admin/');
    -define('SLM_ADMIN_ADDONS', SLM_PATH .'admin/includes/');
    -define('SLM_PUBLIC', SLM_PATH .'public/');
    +define('SLM_VERSION',       '4.5');
    +define('SLM_DB_VERSION',    '2.1');
    +define('SLM_FOLDER',        dirname(plugin_basename(__FILE__)));
    +define('SLM_URL',           plugins_url('',__FILE__));
    +define('SLM_ASSETS_URL',    plugins_url('',__FILE__).'/public/assets/');
    +define('SLM_PATH',          plugin_dir_path(__FILE__));
    +define('SLM_LIB',           SLM_PATH .'includes/');
    +define('SLM_ADMIN',         SLM_PATH .'admin/');
    +define('SLM_ADMIN_ADDONS',  SLM_PATH .'admin/includes/');
    +define('SLM_PUBLIC',        SLM_PATH .'public/');
     define('SLM_SITE_HOME_URL', home_url());
    -define('SLM_SITE_URL', site_url());
    +define('SLM_SITE_URL',      site_url());
     
    -if( file_exists( SLM_LIB . 'slm_plugin_core.php') ) {
    +if( file_exists( SLM_LIB .  'slm_plugin_core.php') ) {
         require_once( SLM_LIB . 'slm_plugin_core.php');
     }
     
     // check for updates from github
    -require_once SLM_ADMIN . 'plugin-update-checker.php';
    +require_once SLM_ADMIN . 'update-checker/plugin-update-checker.php';
     $myUpdateChecker = Puc_v4_Factory::buildUpdateChecker(
         'https://github.com/michelve/software-license-manager/',
         __FILE__,
         'software-license-manager'
    -);
    -$myUpdateChecker->setBranch('master');
    \ No newline at end of file
    +);
    \ No newline at end of file
    
    From 39fb2bf330d26650452a50a30d1f73feae603a20 Mon Sep 17 00:00:00 2001
    From: Michel Velis 
    Date: Tue, 4 Dec 2018 16:02:09 -0500
    Subject: [PATCH 040/293] removed un-used files and code
    
    ---
     .../includes/subscriptio/slm-subscriptio.php  |  34 ------
     .../includes/woocommerce/includes/emails.php  |  55 ---------
     .../woocommerce/includes/purchase.php         |  59 +++++++--
     .../wc-software-license-manager.php           |  12 +-
     ...s-software-license-manager-deactivator.php |   1 -
     ...software-license-manager-slm-installer.php |  15 ++-
     includes/slm-api-listener.php                 | 109 ++++++++---------
     includes/slm-api-utility.php                  |  35 +++---
     includes/slm-init-time-tasks.php              |   9 --
     includes/slm-meta-boxes.php                   |   5 +-
     includes/slm_plugin_core.php                  |  39 +++---
     public/slm-add-menu-frontend.php              | 113 ++++--------------
     12 files changed, 171 insertions(+), 315 deletions(-)
     delete mode 100755 admin/includes/subscriptio/slm-subscriptio.php
     delete mode 100755 admin/includes/woocommerce/includes/emails.php
    
    diff --git a/admin/includes/subscriptio/slm-subscriptio.php b/admin/includes/subscriptio/slm-subscriptio.php
    deleted file mode 100755
    index 9164850..0000000
    --- a/admin/includes/subscriptio/slm-subscriptio.php
    +++ /dev/null
    @@ -1,34 +0,0 @@
    - 180,
    -            'display'   => __( 'Every 3 Minutes', 'pilotkit' )
    -    );
    -    return $schedules;
    -}
    -
    -// Schedule an action if it's not already scheduled
    -// if ( ! wp_next_scheduled( 'subscriptio_check_status' ) ) {
    -//     wp_schedule_event( time(), 'subcriptio_interval_check', 'subscriptio_check_status' );
    -// }
    -
    -// Hook into that action that'll fire every three minutes
    -add_action( 'subscriptio_check_status', 'subcriptio_interval_check_event_func' );
    -
    -
    -function subcriptio_interval_check_event_func() {
    -
    -    global $wpdb;
    -    $result = '';
    -}
    \ No newline at end of file
    diff --git a/admin/includes/woocommerce/includes/emails.php b/admin/includes/woocommerce/includes/emails.php
    deleted file mode 100755
    index 39b2265..0000000
    --- a/admin/includes/woocommerce/includes/emails.php
    +++ /dev/null
    @@ -1,55 +0,0 @@
    -post->post_status == 'wc-completed') {
    -		$output = '';
    -
    -		// Check if licenses were generated
    -		$licenses = get_post_meta($order->post->ID, '_wc_slm_payment_licenses', true);
    -
    -		if ($licenses && count($licenses) != 0) {
    -			$output = '

    ' . __('Your Licenses', 'wc-slm') . ':

    '; - foreach ($licenses as $license) { - $output .= ''; - if (isset($license['item']) && isset($license['key'])) { - - if ($output) { - $output .= '
    '; - } - $output .= ''; - $output .= ''; - } else { - // $output .= 'No item and key assigned'; - } - /** - * added expire date in table - * @since 1.0.7 - * @author AvdP (Albert van der Ploeg) - */ - if (isset($license['expires'])) { - $output .= ''; - } - $output .= ''; - } - $output .= '
    ' . __('Item', 'wc-slm') . '' . __('License', 'wc-slm') . '' . __('Expire Date', 'wc-slm') . '
    ' . $license['item'] . '' . $license['key'] . '' . $license['expires'] . '
    '; - } else { - // $output .= 'No License Generatred'; - } - - echo $output; - } -} diff --git a/admin/includes/woocommerce/includes/purchase.php b/admin/includes/woocommerce/includes/purchase.php index 8e0e2ee..cc84d62 100755 --- a/admin/includes/woocommerce/includes/purchase.php +++ b/admin/includes/woocommerce/includes/purchase.php @@ -35,8 +35,9 @@ function write_log( $log ) { } } - +//add_action('woocommerce_email_after_order_table', 'wc_slm_email_content', 10, 2 ); add_action('woocommerce_order_status_completed', 'wc_slm_on_complete_purchase', 10); + function wc_slm_on_complete_purchase($order_id) { //write_log('loading wc_slm_on_complete_purchase'); @@ -45,13 +46,6 @@ function wc_slm_on_complete_purchase($order_id) { } } - -/** - * Create license key - * - * @since 1.0.0 - * @return void - */ function wc_slm_create_license_keys($order_id) { // write_log('loading wc_slm_create_license_keys'); @@ -264,7 +258,6 @@ function wc_slm_payment_note($order_id, $licenses) { * Assign generated license keys to payments */ function wc_slm_assign_licenses($order_id, $licenses) { - if (count($licenses) != 0) { update_post_meta($order_id, '_wc_slm_payment_licenses', $licenses); } @@ -346,4 +339,50 @@ function wc_insert_payment_note($order_id, $msg) { function wc_get_payment_transaction_id($order_id) { return get_post_meta($order_id, '_transaction_id', true); -} \ No newline at end of file +} + +function wc_slm_email_content($order, $is_admin_email) { + + $order = new WC_Order($order_id); + $order_id = $order->get_id(); + get_post_meta( $product_id, '_license_current_version', true ); + + write_log('-- wc_slm_email_content -- '); + write_log('-- wc_slm_email_content -- ' . $order ); + + if ($order->post->post_status == 'wc-completed') { + $output = ''; + + // Check if licenses were generated + $licenses = get_post_meta($product_id, '_wc_slm_payment_licenses', true); + + if ($licenses && count($licenses) != 0) { + $output = '

    ' . __('Your Licenses', 'wc-slm') . ':

    '; + foreach ($licenses as $license) { + $output .= ''; + if (isset($license['item']) && isset($license['key'])) { + + if ($output) { + $output .= '
    '; + } + $output .= ''; + $output .= ''; + } + else { + // $output .= 'No item and key assigned'; + } + + if (isset($license['expires'])) { + $output .= ''; + } + $output .= ''; + } + $output .= '
    ' . __('Item', 'wc-slm') . '' . __('License', 'wc-slm') . '' . __('Expire Date', 'wc-slm') . '
    ' . $license['item'] . '' . $license['key'] . '' . $license['expires'] . '
    '; + } + else { + // $output .= 'No License Generatred'; + } + + echo $output; + } +} diff --git a/admin/includes/woocommerce/wc-software-license-manager.php b/admin/includes/woocommerce/wc-software-license-manager.php index ea438cd..e3d210b 100755 --- a/admin/includes/woocommerce/wc-software-license-manager.php +++ b/admin/includes/woocommerce/wc-software-license-manager.php @@ -1,8 +1,8 @@ ) -// Author: Omid Shamlu -// Author URI: http://wp-master.ir +// Author: Omid Shamlu +// Author URI: http://wp-master.ir if (!class_exists('WOO_SLM')) { @@ -17,20 +17,14 @@ public static function instance() { return self::$instance; } private function setup_constants() { - // Plugin version - define('WOO_SLM_VER', '2.2.0'); - // get api settinsg from options table + define('WOO_SLM_VER', '4.5'); define('WOO_SLM_API_URL', get_site_url().'/'); define('WOO_SLM_API_SECRET', SLM_Helper_Class::slm_get_option('lic_creation_secret')); define('KEY_API', SLM_Helper_Class::slm_get_option('lic_creation_secret')); define('KEY_API_PREFIX', SLM_Helper_Class::slm_get_option('lic_prefix')); } private function includes() { - // log files and scripts require_once SLM_ADMIN_ADDONS . 'woocommerce/includes/helper.php'; - - // purchases and emails - require_once SLM_ADMIN_ADDONS . 'woocommerce/includes/emails.php'; require_once SLM_ADMIN_ADDONS . 'woocommerce/includes/purchase.php'; } } diff --git a/includes/class-software-license-manager-deactivator.php b/includes/class-software-license-manager-deactivator.php index 7f37b70..4b8b3c0 100755 --- a/includes/class-software-license-manager-deactivator.php +++ b/includes/class-software-license-manager-deactivator.php @@ -15,5 +15,4 @@ public static function deactivate() { do_action('slm_deactivation_complete'); } } - $slm_deactivator = new Software_License_Manager_Deactivator(); \ No newline at end of file diff --git a/includes/class-software-license-manager-slm-installer.php b/includes/class-software-license-manager-slm-installer.php index f9832c5..6810dc4 100755 --- a/includes/class-software-license-manager-slm-installer.php +++ b/includes/class-software-license-manager-slm-installer.php @@ -75,14 +75,13 @@ // Add default options $options = array( - 'lic_creation_secret' => uniqid('', true), - 'lic_prefix' => '', - 'default_max_domains' => '2', - 'default_max_devices' => '2', + 'lic_creation_secret' => uniqid('', true), + 'lic_prefix' => '', + 'default_max_domains' => '2', + 'default_max_devices' => '2', 'lic_verification_secret' => uniqid('', true), - 'enable_debug' => '', - 'slm_woo' => '', - 'slm_subscriptio' => '', - 'slm_wpestores' => '', + 'enable_debug' => '', + 'slm_woo' => '', + 'slm_wpestores' => '', ); add_option('slm_plugin_options', $options); \ No newline at end of file diff --git a/includes/slm-api-listener.php b/includes/slm-api-listener.php index 6e101d1..c3ba0ab 100755 --- a/includes/slm-api-listener.php +++ b/includes/slm-api-listener.php @@ -12,11 +12,8 @@ */ class SLM_API_Listener { - function __construct() { - if (isset($_REQUEST['slm_action']) && isset($_REQUEST['secret_key'])) { - //This is an API query for the license manager. Handle the query. $this->creation_api_listener(); $this->activation_api_listener(); @@ -33,7 +30,7 @@ function creation_api_listener() { //Handle the licene creation API query global $slm_debug_logger; - $options = get_option('slm_plugin_options'); + $options = get_option('slm_plugin_options'); $lic_key_prefix = $options['lic_prefix']; SLM_API_Utility::verify_secret_key_for_creation(); //Verify the secret key first. @@ -44,22 +41,21 @@ function creation_api_listener() { do_action('slm_api_listener_slm_create_new'); $fields = array(); + if (isset($_REQUEST['license_key']) && !empty($_REQUEST['license_key'])){ - $fields['license_key'] = strip_tags($_REQUEST['license_key']); //Use the key you pass via the request + $fields['license_key'] = strip_tags($_REQUEST['license_key']); //Use the key you pass via the request } else{ - // $fields['license_key'] = uniqid($lic_key_prefix); //Use random generated key - $fields['license_key'] = strtoupper($lic_key_prefix . hyphenate(md5(uniqid(rand(4,8), true) . time() ))); + $fields['license_key'] = strtoupper($lic_key_prefix . hyphenate(md5(uniqid(rand(4,8), true) . time() ))); } - $fields['lic_status'] = isset( $_REQUEST['lic_status'] ) ? wp_unslash( strip_tags( $_REQUEST['lic_status'] ) ) : 'pending'; - $fields['first_name'] = wp_unslash(strip_tags($_REQUEST['first_name'])); - $fields['last_name'] = wp_unslash(strip_tags($_REQUEST['last_name'])); - - $fields['purchase_id_'] = wp_unslash(strip_tags($_REQUEST['purchase_id_'])); - $fields['email'] = strip_tags($_REQUEST['email']); - $fields['company_name'] = isset( $_REQUEST['company_name'] ) ? wp_unslash( strip_tags( $_REQUEST['company_name'] ) ) : ''; - $fields['txn_id'] = strip_tags($_REQUEST['txn_id']); + $fields['lic_status'] = isset( $_REQUEST['lic_status'] ) ? wp_unslash( strip_tags( $_REQUEST['lic_status'] ) ) : 'pending'; + $fields['first_name'] = wp_unslash(strip_tags($_REQUEST['first_name'])); + $fields['last_name'] = wp_unslash(strip_tags($_REQUEST['last_name'])); + $fields['purchase_id_'] = wp_unslash(strip_tags($_REQUEST['purchase_id_'])); + $fields['email'] = strip_tags($_REQUEST['email']); + $fields['company_name'] = isset( $_REQUEST['company_name'] ) ? wp_unslash( strip_tags( $_REQUEST['company_name'] ) ) : ''; + $fields['txn_id'] = strip_tags($_REQUEST['txn_id']); if (empty($_REQUEST['max_allowed_domains'])) { $fields['max_allowed_domains'] = $options['default_max_domains']; @@ -73,23 +69,35 @@ function creation_api_listener() { else { $fields['max_allowed_devices'] = strip_tags($_REQUEST['max_allowed_devices']); } - $fields['date_created'] = isset($_REQUEST['date_created'])?strip_tags($_REQUEST['date_created']):date("Y-m-d"); - $fields['date_expiry'] = isset($_REQUEST['date_expiry'])?strip_tags($_REQUEST['date_expiry']):''; - $fields['product_ref'] = isset( $_REQUEST['product_ref'] ) ? wp_unslash( strip_tags( $_REQUEST['product_ref'] ) ) : ''; - $fields['until'] = isset( $_REQUEST['until'] ) ? wp_unslash( strip_tags( $_REQUEST['until'] ) ) : ''; - $fields['subscr_id'] = isset( $_REQUEST['subscr_id'] ) ? wp_unslash( strip_tags( $_REQUEST['subscr_id'] ) ) : ''; - $fields['lic_type'] = isset( $_REQUEST['lic_type'] ) ? wp_unslash( strip_tags( $_REQUEST['lic_type'] ) ) : ''; + $fields['date_created'] = isset($_REQUEST['date_created'])?strip_tags($_REQUEST['date_created']):date("Y-m-d"); + $fields['date_expiry'] = isset($_REQUEST['date_expiry'])?strip_tags($_REQUEST['date_expiry']):''; + $fields['product_ref'] = isset( $_REQUEST['product_ref'] ) ? wp_unslash( strip_tags( $_REQUEST['product_ref'] ) ) : ''; + $fields['until'] = isset( $_REQUEST['until'] ) ? wp_unslash( strip_tags( $_REQUEST['until'] ) ) : ''; + $fields['subscr_id'] = isset( $_REQUEST['subscr_id'] ) ? wp_unslash( strip_tags( $_REQUEST['subscr_id'] ) ) : ''; + $fields['lic_type'] = isset( $_REQUEST['lic_type'] ) ? wp_unslash( strip_tags( $_REQUEST['lic_type'] ) ) : ''; global $wpdb; $tbl_name = SLM_TBL_LICENSE_KEYS; $result = $wpdb->insert($tbl_name, $fields); if ($result === false) { //error inserting - $args = (array('result' => 'error', 'message' => 'License creation failed', 'error_code' => SLM_Error_Codes::CREATE_FAILED)); + $args = ( + array( + 'result' => 'error', + 'message' => 'License creation failed', + 'error_code' => SLM_Error_Codes::CREATE_FAILED + ) + ); SLM_API_Utility::output_api_response($args); } else { - $args = (array('result' => 'success', 'message' => 'License successfully created', 'key' => $fields['license_key'])); + $args = ( + array( + 'result' => 'success', + 'message' => 'License successfully created', + 'key' => $fields['license_key'] + ) + ); SLM_API_Utility::output_api_response($args); } } @@ -109,13 +117,12 @@ function activation_api_listener() { global $slm_debug_logger; SLM_API_Utility::verify_secret_key(); //Verify the secret key first. - $slm_debug_logger->log_debug("API - license activation (slm_activate) request received."); //Action hook do_action('slm_api_listener_slm_activate'); - $fields = array(); + $fields = array(); $fields['lic_key'] = trim(strip_tags($_REQUEST['license_key'])); $fields['registered_domain'] = trim(wp_unslash(strip_tags($_REQUEST['registered_domain']))); //gethostbyaddr($_SERVER['REMOTE_ADDR']); $fields['registered_devices'] = trim(wp_unslash(strip_tags($_REQUEST['registered_devices']))); //client ip or machine name @@ -226,7 +233,6 @@ function deactivation_api_listener() { global $slm_debug_logger; SLM_API_Utility::verify_secret_key(); //Verify the secret key first. - $slm_debug_logger->log_debug("API - license deactivation (slm_deactivate) request received."); //Action hook @@ -295,7 +301,6 @@ function removal_api_listener(){ global $slm_debug_logger; SLM_API_Utility::verify_secret_key(); //Verify the secret key first. - $slm_debug_logger->log_debug("API - license removal (slm_remove) request received."); //Action hook @@ -322,7 +327,6 @@ function removal_api_listener(){ $args = (array('result' => 'error', 'code' => SLM_Error_Codes::KEY_CANCELED_FAILED, 'message' => 'License key was not removed', 'key' => $key, 'reason' => 'not found' )); SLM_API_Utility::output_api_response($args); } - } else { $args = (array('result' => 'error', 'message' => 'License key not found.', 'error_code' => SLM_Error_Codes::KEY_CANCELED_FAILED)); @@ -385,13 +389,18 @@ function check_api_listener() { 'subscr_id' => $retLic->subscr_id, 'lic_type' => $retLic->lic_type, 'until' => $retLic->until, - )); //Output the license details SLM_API_Utility::output_api_response($args); } else { - $args = (array('result' => 'error', 'message' => 'Invalid license key', 'error_code' => SLM_Error_Codes::LICENSE_INVALID)); + $args = ( + array( + 'result' => 'error', + 'message' => 'Invalid license key', + 'error_code' => SLM_Error_Codes::LICENSE_INVALID + ) + ); SLM_API_Utility::output_api_response($args); } } @@ -417,37 +426,30 @@ function check_api_listener() { */ function update_api_listener() { - if ( ! isset( $_REQUEST['slm_action'] ) ) { return; } - if ( isset( $_REQUEST['slm_action'] ) && 'slm_remove' != trim( sanitize_text_field( $_REQUEST['slm_action'] ) ) ) { return; } global $slm_debug_logger; - $options = get_option( 'slm_plugin_options' ); SLM_API_Utility::verify_secret_key_for_creation(); //Verify the secret key first. - $slm_debug_logger->log_debug( "API - license creation (slm_update) request received." ); //Action hook do_action( 'slm_api_listener_slm_update' ); - $fields = array(); if ( isset( $_REQUEST['license_key'] ) && ! empty( $_REQUEST['license_key'] ) ) { - //Use the key received in the request $fields['license_key'] = strip_tags( sanitize_text_field( $_REQUEST['license_key'] ) ); - } else { - + } + else { $slm_debug_logger->log_debug( "API - License update failed. No license key supplied!" ); - $args = ( array( 'result' => 'error', 'message' => 'License update failed. No license key provided', @@ -471,7 +473,8 @@ function update_api_listener() { if ( empty( $_REQUEST['max_allowed_domains'] ) ) { $fields['max_allowed_domains'] = $options['default_max_domains']; - } else { + } + else { $fields['max_allowed_domains'] = strip_tags( $_REQUEST['max_allowed_domains'] ); } @@ -479,7 +482,8 @@ function update_api_listener() { if ( empty( $_REQUEST['max_allowed_devices'] ) ) { $fields['max_allowed_devices'] = $options['default_max_devices']; - } else { + } + else { $fields['max_allowed_devices'] = strip_tags( $_REQUEST['max_allowed_devices'] ); } @@ -492,10 +496,8 @@ function update_api_listener() { ); global $wpdb; - - $tbl_name = SLM_TBL_LICENSE_KEYS; - - $result = $wpdb->update( $tbl_name, $fields, $where ); + $tbl_name = SLM_TBL_LICENSE_KEYS; + $result = $wpdb->update( $tbl_name, $fields, $where ); if ( $result === false ) { @@ -505,7 +507,8 @@ function update_api_listener() { 'message' => 'License update failed', ) ); SLM_API_Utility::output_api_response( $args ); - } else { + } + else { $args = ( array( 'result' => 'success', 'message' => 'License successfully updated', @@ -528,20 +531,16 @@ function update_api_listener() { */ function deletion_api_listener() { - if ( ! isset( $_REQUEST['slm_action'] ) ) { return; } - if ( isset( $_REQUEST['slm_action'] ) && 'slm_remove' != trim( sanitize_text_field( $_REQUEST['slm_action'] ) ) ) { return; } global $slm_debug_logger; - SLM_API_Utility::verify_secret_key(); - $slm_debug_logger->log_debug( "API - license deletion (slm_remove) request received." ); do_action( 'slm_api_listener_remove' ); @@ -555,28 +554,22 @@ function deletion_api_listener() { } $license_key = trim( sanitize_text_field( $_REQUEST['license_key'] ) ); - $slm_debug_logger->log_debug( "License key: {$license_key}" ); - global $wpdb; if ( false === $wpdb->delete( SLM_TBL_LIC_DOMAIN, array( 'lic_key' => $license_key ), array( '%s' ) ) ) { - $slm_debug_logger->log_debug( sprintf( "Error - failed to delete the registered license key (key: %s) from the database." ), $license_key ); - $args = ( array( 'result' => 'error', 'message' => 'Error removing license key from the server', ) ); - SLM_API_Utility::output_api_response( $args ); - } else { - + } + else { $args = ( array( 'result' => 'success', 'message' => sprintf( 'The %s license key has been removed from the license server', $license_key ), ) ); - SLM_API_Utility::output_api_response( $args ); } } diff --git a/includes/slm-api-utility.php b/includes/slm-api-utility.php index 7173a21..6c7a0c2 100755 --- a/includes/slm-api-utility.php +++ b/includes/slm-api-utility.php @@ -22,30 +22,37 @@ static function output_api_response($args) { } static function verify_secret_key() { - $slm_options = get_option('slm_plugin_options'); - $right_secret_key = $slm_options['lic_verification_secret']; - $received_secret_key = strip_tags($_REQUEST['secret_key']); - if ($received_secret_key != $right_secret_key) { - $args = (array('result' => 'error', 'message' => 'Verification API secret key is invalid', 'error_code' => SLM_Error_Codes::VERIFY_KEY_INVALID)); + $slm_options = get_option('slm_plugin_options'); + $right_secret_key = $slm_options['lic_verification_secret']; + $received_secret_key = strip_tags($_REQUEST['secret_key']); + if ($received_secret_key != $right_secret_key) { + $args = (array( + 'result' => 'error', + 'message' => 'Verification API secret key is invalid', + 'error_code' => SLM_Error_Codes::VERIFY_KEY_INVALID + )); SLM_API_Utility::output_api_response($args); } } static function verify_secret_key_for_creation() { - $slm_options = get_option('slm_plugin_options'); - $right_secret_key = $slm_options['lic_creation_secret']; - $received_secret_key = strip_tags($_REQUEST['secret_key']); - if ($received_secret_key != $right_secret_key) { - $args = (array('result' => 'error', 'message' => 'License Creation API secret key is invalid', 'error_code' => SLM_Error_Codes::CREATE_KEY_INVALID)); + $slm_options = get_option('slm_plugin_options'); + $right_secret_key = $slm_options['lic_creation_secret']; + $received_secret_key = strip_tags($_REQUEST['secret_key']); + if ($received_secret_key != $right_secret_key) { + $args = (array( + 'result' => 'error', + 'message' => 'License Creation API secret key is invalid', + 'error_code' => SLM_Error_Codes::CREATE_KEY_INVALID + )); SLM_API_Utility::output_api_response($args); } } static function insert_license_data_internal($fields) { global $wpdb; - $tbl_name = SLM_TBL_LICENSE_KEYS; - $fields = array_filter($fields);//Remove any null values. - $result = $wpdb->insert($tbl_name, $fields); + $tbl_name = SLM_TBL_LICENSE_KEYS; + $fields = array_filter($fields);//Remove any null values. + $result = $wpdb->insert($tbl_name, $fields); } - } \ No newline at end of file diff --git a/includes/slm-init-time-tasks.php b/includes/slm-init-time-tasks.php index 4926d39..21fe9c9 100755 --- a/includes/slm-init-time-tasks.php +++ b/includes/slm-init-time-tasks.php @@ -1,10 +1,8 @@ load_scripts(); - //Add other init time operations here add_action ('slm_daily_cron_event', array(&$this, 'slm_daily_cron_event_handler')); } @@ -12,13 +10,11 @@ function __construct(){ function load_scripts(){ //Load all common scripts and styles only wp_enqueue_script('jquery'); - //Load all admin side scripts and styles only if(is_admin()){ wp_enqueue_script('jquery-ui-datepicker'); wp_enqueue_script('wplm-custom-admin-js', SLM_ASSETS_URL . 'js/wplm-custom-admin.js', array( 'jquery-ui-dialog' ));//admin only custom js code wp_enqueue_style('slm', SLM_ASSETS_URL .'css/slm.css'); - if (isset($_GET['page']) && $_GET['page'] == 'wp_lic_mgr_addedit') {//Only include if we are in the license add/edit interface wp_enqueue_style('jquery-ui-style', SLM_ASSETS_URL .'css/jquery-ui.css'); } @@ -28,17 +24,12 @@ function load_scripts(){ function slm_daily_cron_event_handler(){ $options = get_option('slm_plugin_options'); - do_action('slm_daily_cron_event_triggered'); - if ( isset($options['enable_auto_key_expiry']) && $options['enable_auto_key_expiry'] == '1'){ //Do the auto key expiry task SLM_Debug_Logger::log_debug_st("SLM daily cronjob - auto expiry of license key is enabled."); SLM_Utility::do_auto_key_expiry(); } - //Do any ohter daily cronjob tasks. - } - } \ No newline at end of file diff --git a/includes/slm-meta-boxes.php b/includes/slm-meta-boxes.php index 46a507e..9039072 100644 --- a/includes/slm-meta-boxes.php +++ b/includes/slm-meta-boxes.php @@ -19,7 +19,7 @@ function add_wc_slm_data_tab_enabled_product_option( $product_type_options ) { 'wrapper_class' => 'show_if_simple show_if_variable', 'label' => __( 'License Manager', 'woocommerce' ), 'default' => 'no', - 'description' => __( 'Enables the license creation api.', 'woocommerce' ) + 'description' => __( 'Enables the license creation api.', 'woocommerce' ) ); return $product_type_options; } @@ -142,14 +142,17 @@ function wc_slm_save_data($post_id) { if (!empty($_license_type)) { update_post_meta($post_id, '_license_type', esc_attr($_license_type)); } + $_devices_licenses = $_POST['_devices_licenses']; if (!empty($_devices_licenses)) { update_post_meta($post_id, '_devices_licenses', esc_attr($_devices_licenses)); } + $_license_renewal_period = $_POST['_license_renewal_period']; if (!empty($_license_renewal_period)) { update_post_meta($post_id, '_license_renewal_period', esc_attr($_license_renewal_period)); } + $_license_current_version = $_POST['_license_current_version']; if (!empty($_license_current_version)) { update_post_meta($post_id, '_license_current_version', esc_attr($_license_current_version)); diff --git a/includes/slm_plugin_core.php b/includes/slm_plugin_core.php index b06f585..10a7b76 100755 --- a/includes/slm_plugin_core.php +++ b/includes/slm_plugin_core.php @@ -9,7 +9,8 @@ */ //Defines -global $wpdb; +global $wpdb, $slm_debug_logger; + define('SLM_TBL_LICENSE_KEYS', $wpdb->prefix . "lic_key_tbl"); define('SLM_TBL_LIC_DOMAIN', $wpdb->prefix . "lic_reg_domain_tbl"); define('SLM_TBL_LIC_DEVICES', $wpdb->prefix . "lic_reg_devices_tbl"); @@ -20,13 +21,11 @@ // Helper Class class SLM_Helper_Class { public static function slm_get_option($option){ - $option_name = ''; + $option_name = ''; $slm_opts = get_option('slm_plugin_options'); $option_name = $slm_opts[$option]; return $option_name; } - - public static function write_log ( $log ) { if ( true === WP_DEBUG ) { if ( is_array( $log ) || is_object( $log ) ) { @@ -37,7 +36,6 @@ public static function write_log ( $log ) { } } } - $slm_helper = new SLM_Helper_Class(); add_filter('extra_plugin_headers', 'add_extra_headers'); @@ -95,24 +93,16 @@ function deactivate_software_license_manager() { // Third Party Support if (null !== SLM_Helper_Class::slm_get_option('slm_woo') && SLM_Helper_Class::slm_get_option('slm_woo') == 1) { require_once( SLM_PUBLIC . 'slm-add-menu-frontend.php'); - // WordPress Plugin :: wc-software-license-manager require_once( SLM_ADMIN . 'includes/woocommerce/wc-software-license-manager.php'); - - // support for meta boxes (variations only, this can be applied to single products as well) + // support for meta boxes require_once( SLM_LIB . 'slm-meta-boxes.php'); } -// if (null !== SLM_Helper_Class::slm_get_option('slm_subscriptio') && SLM_Helper_Class::slm_get_option('slm_subscriptio') == 1) { -// // Subscriptio PLugin Integration -// require_once( SLM_ADMIN . 'includes/subscriptio/slm-subscriptio.php'); -// } - -// if (null !== SLM_Helper_Class::slm_get_option('slm_wpestores') && SLM_Helper_Class::slm_get_option('slm_wpestores') == 1) { -// // wpestores PLugin Integration -// require_once( SLM_ADMIN . 'includes/wpestores/slm-wpestores.php'); -// } - +if (null !== SLM_Helper_Class::slm_get_option('slm_wpestores') && SLM_Helper_Class::slm_get_option('slm_wpestores') == 1) { + // wpestores PLugin Integration + require_once( SLM_ADMIN . 'includes/wpestores/slm-wpestores.php'); +} //Include admin side only files if (is_admin()) { @@ -127,7 +117,6 @@ function deactivate_software_license_manager() { add_action('wp_ajax_del_reistered_domain', 'slm_del_reg_dom'); //Initialize debug logger -global $slm_debug_logger; $slm_debug_logger = new SLM_Debug_Logger(); //Do init time tasks @@ -151,18 +140,18 @@ function slm_plugins_loaded_handler() { //TODO - need to move this to an ajax handler file function slm_del_reg_dom() { global $wpdb; - $reg_table = SLM_TBL_LIC_DOMAIN; - $id = strip_tags($_GET['id']); - $ret = $wpdb->query($wpdb->prepare( "DELETE FROM {$reg_table} WHERE id=%d", $id ) ); + $reg_table = SLM_TBL_LIC_DOMAIN; + $id = strip_tags($_GET['id']); + $ret = $wpdb->query($wpdb->prepare( "DELETE FROM {$reg_table} WHERE id=%d", $id ) ); echo ($ret) ? 'success' : 'failed'; exit(0); } function slm_del_reg_devices() { global $wpdb; - $reg_table = SLM_TBL_LIC_DEVICES; - $id = strip_tags($_GET['id']); - $ret = $wpdb->query($wpdb->prepare( "DELETE FROM {$reg_table} WHERE id=%d", $id ) ); + $reg_table = SLM_TBL_LIC_DEVICES; + $id = strip_tags($_GET['id']); + $ret = $wpdb->query($wpdb->prepare( "DELETE FROM {$reg_table} WHERE id=%d", $id ) ); echo ($ret) ? 'success' : 'failed'; exit(0); } \ No newline at end of file diff --git a/public/slm-add-menu-frontend.php b/public/slm-add-menu-frontend.php index 2aa50f9..5e38ce7 100755 --- a/public/slm-add-menu-frontend.php +++ b/public/slm-add-menu-frontend.php @@ -5,11 +5,9 @@ * @link https://github.com/michelve/software-license-manager */ - function getActiveUser($action) { $info = ''; $current_user = wp_get_current_user(); - if ($action == 'email') { $info = esc_html( $current_user->user_email); } @@ -20,115 +18,60 @@ function getActiveUser($action) { } class Epikly_Woo_Account { - - /** - * Custom endpoint name. - * - * @var string - */ public static $endpoint = 'my-licenses'; - - /** - * Plugin actions. - */ public function __construct() { // Actions used to insert a new endpoint in the WordPress. add_action( 'init', array( $this, 'add_endpoints' ) ); add_filter( 'query_vars', array( $this, 'add_query_vars' ), 0 ); - // Change the My Accout page title. add_filter( 'the_title', array( $this, 'endpoint_title' ) ); - // Insering your new tab/page into the My Account page. add_filter( 'woocommerce_account_menu_items', array( $this, 'new_menu_items' ) ); add_action( 'woocommerce_account_' . self::$endpoint . '_endpoint', array( $this, 'endpoint_content' ) ); } - /** - * Register new endpoint to use inside My Account page. - * - * @see https://developer.wordpress.org/reference/functions/add_rewrite_endpoint/ - */ public function add_endpoints() { add_rewrite_endpoint( self::$endpoint, EP_ROOT | EP_PAGES ); } - /** - * Add new query var. - * - * @param array $vars - * @return array - */ public function add_query_vars( $vars ) { $vars[] = self::$endpoint; - return $vars; } - /** - * Set endpoint title. - * - * @param string $title - * @return string - */ public function endpoint_title( $title ) { global $wp_query; - $is_endpoint = isset( $wp_query->query_vars[ self::$endpoint ] ); - if ( $is_endpoint && ! is_admin() && is_main_query() && in_the_loop() && is_account_page() ) { // New page title. $title = __( 'My Licenses', 'woocommerce' ); - remove_filter( 'the_title', array( $this, 'endpoint_title' ) ); } - return $title; } - /** - * Insert the new endpoint into the My Account menu. - * - * @param array $items - * @return array - */ public function new_menu_items( $items ) { // Remove the logout menu item. $logout = $items['customer-logout']; unset( $items['customer-logout'] ); - // Insert your custom endpoint. $items[ self::$endpoint ] = __( 'My Licenses', 'woocommerce' ); - // Insert back the logout item. $items['customer-logout'] = $logout; - return $items; } - /** - * Endpoint HTML content. - */ public function endpoint_content() { - global $wpdb; - $class_ = 0; $class_id_ = 0; - // get user email $wc_billing_email = get_user_meta( get_current_user_id(), 'billing_email', true ); - $result = $wpdb->get_results ( "SELECT * FROM ". $wpdb->prefix."lic_key_tbl WHERE email LIKE '%".getActiveUser('email')."%' OR email LIKE '%".$wc_billing_email."%' ORDER BY `email` DESC LIMIT 0,1000" ); - $result_array = $wpdb->get_results ( "SELECT * FROM ". $wpdb->prefix."lic_key_tbl WHERE email LIKE '%".getActiveUser('email')."%' OR email LIKE '%".$wc_billing_email."%' ORDER BY `email` DESC LIMIT 0,1000", ARRAY_A ); - $get_subscription = $wpdb->get_results ("SELECT * FROM ". $wpdb->prefix."postmeta WHERE meta_value = '273' LIMIT 0,1000", ARRAY_A); - $lic_order_id = array(); - - $table_start = ' @@ -143,36 +86,31 @@ public function endpoint_content() { '; $table_end = " - -
    - - - + + "; echo $table_start; foreach ( $result as $license_info ) : ?> - get_results ("SELECT * FROM ". $wpdb->prefix."postmeta WHERE meta_value = $license_info->purchase_id_ LIMIT 0,1000", ARRAY_A); - - - // $get_subscription - ?> @@ -197,7 +135,6 @@ public function endpoint_content() { '.$devices_info["registered_devices"].''; } @@ -232,7 +168,6 @@ public function endpoint_content() { - -
    -

    My Downloads

    -
    ' - ; +
    +
    +

    My Downloads

    +
    '; echo do_shortcode('[wpdm_all_packages]'); } else { @@ -259,7 +192,6 @@ public function endpoint_content() { } } } - /** * Plugin install action. * Flush rewrite rules to make our custom endpoint available. @@ -268,7 +200,6 @@ public static function install() { flush_rewrite_rules(); } } - new Epikly_Woo_Account(); // Flush rewrite rules on plugin activation. From 2dd8f7547d3c5da2ee7f37c0bf199fd3def13342 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Sat, 29 Dec 2018 18:57:17 -0500 Subject: [PATCH 041/293] #### 4.6 - added: new error codes to api listener - added: export functionality for license - added: form validation when creating a new license in wp admin - fixes: cleaned code and improved ui --- CHANGELOG.md | 7 + README.md | 7 +- admin/slm-add-licenses.php | 264 +++++++++++------- admin/slm-integration-help-page.php | 32 +++ admin/slm-lic-settings.php | 20 +- admin/slm-list-licenses-class.php | 3 +- admin/slm-woocommerce-support.php | 3 - ...software-license-manager-slm-installer.php | 1 + includes/slm-api-listener.php | 74 +++-- includes/slm-error-codes.php | 42 ++- includes/slm-init-time-tasks.php | 2 - includes/slm-scripts.php | 25 ++ includes/slm_plugin_core.php | 1 + public/assets/css/slm-front-end.css | 7 + public/assets/css/slm.css | 19 +- public/assets/images/Screen-Shot-6.png | Bin 0 -> 112783 bytes public/assets/images/Screen-Shot-7.png | Bin 0 -> 113695 bytes public/assets/js/slm-js.js | 5 + public/assets/js/slm.js | 46 +++ public/assets/js/wplm-custom-admin.js | 2 +- public/slm-add-menu-frontend.php | 69 ++--- software-license-manager.php | 18 +- 22 files changed, 441 insertions(+), 206 deletions(-) delete mode 100644 admin/slm-woocommerce-support.php create mode 100644 includes/slm-scripts.php create mode 100644 public/assets/css/slm-front-end.css create mode 100644 public/assets/images/Screen-Shot-6.png create mode 100644 public/assets/images/Screen-Shot-7.png create mode 100644 public/assets/js/slm-js.js create mode 100644 public/assets/js/slm.js diff --git a/CHANGELOG.md b/CHANGELOG.md index d2c3e21..b133018 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,13 @@ # CHANGELOG All notable changes to this project will be documented in this file. +#### 4.6 +- added: new error codes to api listener +- added: export functionality for license +- added: form validation when creating a new license in wp admin +- fixes: cleaned code and improved ui + + #### 4.5 - added: plugin updater helper diff --git a/README.md b/README.md index 41cd212..8fa4d6d 100755 --- a/README.md +++ b/README.md @@ -34,7 +34,8 @@ This plugin is very useful for creating a license server and doing the following ## Compatibility - Woocommerce - WP eStore -- [] WIP: Woocommerce subscriptions +- WP Download Manager +- [ ] WIP: Woocommerce Subscriptions ## Screenshots Software License Manager @@ -43,8 +44,12 @@ This plugin is very useful for creating a license server and doing the following Software License Manager +Software License Manager + Software License Manager Software License Manager Software License Manager + +Software License Manager diff --git a/admin/slm-add-licenses.php b/admin/slm-add-licenses.php index 0d142e8..891c7f4 100755 --- a/admin/slm-add-licenses.php +++ b/admin/slm-add-licenses.php @@ -24,6 +24,7 @@ function wp_lic_mgr_add_licenses_menu() { $lic_type = ''; $reg_domains = ''; $reg_devices = ''; + $class_hide = ''; $current_date = (date ("Y-m-d")); $slm_options = get_option('slm_plugin_options'); $current_date_plus_1year = date('Y-m-d', strtotime('+1 year')); @@ -119,15 +120,20 @@ function wp_lic_mgr_add_licenses_menu() { $subscr_id = $_POST['subscr_id']; $lic_type = $_POST['lic_type']; - $id = isset($_POST['edit_record'])?$_POST['edit_record']:''; - $lk_table = SLM_TBL_LICENSE_KEYS; - if (empty($id)) {//Insert into database + + $id = isset($_POST['edit_record'])?$_POST['edit_record']:''; + $lk_table = SLM_TBL_LICENSE_KEYS; + + if (empty($id)) { + //Insert into database $result = $wpdb->insert( $lk_table, $fields); $id = $wpdb->insert_id; if($result === false){ $errors .= __('Record could not be inserted into the database!', 'slm'); } - } else { //Update record + } + else { + //Update record $where = array('id'=>$id); $updated = $wpdb->update($lk_table, $fields, $where); if($updated === false){ @@ -150,8 +156,11 @@ function wp_lic_mgr_add_licenses_menu() { } ?> + + +
    @@ -171,18 +180,43 @@ function wp_lic_mgr_add_licenses_menu() {

    You can add a new license or edit an existing one from this interface.

    + +
    +
    +
    + +
    +
    +
    + +
    - "> + "> - +
    License user's first name
    - +
    License user's last name
    @@ -268,84 +300,83 @@ function wp_lic_mgr_add_licenses_menu() {
    - +
    License user's email address
    -
    -
    -

    Allowed Activations

    -
    - -
    Number of domains/installs in which this license can be used - -
    - - - - prepare("SELECT * FROM $reg_table WHERE lic_key_id = %s", $id); - $reg_domains = $wpdb->get_results($sql_prep, OBJECT); - } - if(count($reg_domains) > 0) : ?> -
    -
    - - - > - - - - - -
    registered_domain; ?>id ?>>X
    -
    - - - +
    +

    Allowed Activations

    +
    + +
    Number of domains/installs in which this license can be used + +
    + + + + prepare("SELECT * FROM $reg_table WHERE lic_key_id = %s", $id); + $reg_domains = $wpdb->get_results($sql_prep, OBJECT); + } + if(count($reg_domains) > 0) : ?> +
    +
    + + + > + + + + + +
    registered_domain; ?>id ?>>X
    +
    + + + +
    +
    +
    + +
    Number of domains/installs in which this license can be used

    + + prepare("SELECT * FROM `$devices_table` WHERE `lic_key_id` = '%s'", $id); + $reg_devices = $wpdb->get_results($sql_prep2, OBJECT); + } + if (count($reg_devices) > 0): ?> +
    +
    + + + > + + + + + +
    registered_devices; ?>id ?>>X
    +
    + + + +
    +
    -
    -
    - -
    Number of domains/installs in which this license can be used

    - - prepare("SELECT * FROM `$devices_table` WHERE `lic_key_id` = '%s'", $id); - $reg_devices = $wpdb->get_results($sql_prep2, OBJECT); - } - if (count($reg_devices) > 0): ?> -
    -
    - - - > - - - - - -
    registered_devices; ?>id ?>>X
    -
    - - - -
    -
    -
    -
    +
    @@ -423,6 +454,44 @@ function wp_lic_mgr_add_licenses_menu() {
    + +
    +
    +
    + 'slm_check', + 'secret_key' => SLM_Helper_Class::slm_get_option('lic_verification_secret'), + 'license_key' => $license_key, + ); + // Send query to the license manager server + $response = wp_remote_get(add_query_arg($api_params, SLM_SITE_URL), array('timeout' => 20, 'sslverify' => false)); + echo '
    ';
    +
    +
    +                                                            $data = $response['body'];
    +
    +                                                            // parsing json
    +                                                            $arr = json_decode($data, true);
    +
    +                                                            // removing the value
    +                                                            unset($arr['result']);
    +                                                            unset($arr['code']);
    +                                                            unset($arr['message']);
    +
    +                                                            // and back to json
    +                                                            $response = utf8_encode(json_encode($arr, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE));
    +                                                            echo $response;
    +                                                            echo '
    '; + ?> + +
    +
    + +
    + +
    $id, 'key' => $license_key); @@ -457,26 +526,25 @@ function wp_lic_mgr_add_licenses_menu() { - - "; - echo $table_start; foreach ( $result as $license_info ) : ?> get_results ("SELECT * FROM ". $wpdb->prefix."postmeta WHERE meta_value = $license_info->purchase_id_ LIMIT 0,1000", ARRAY_A); @@ -169,29 +149,40 @@ public function endpoint_content() { + + +
    -
    -

    My Downloads

    -
    '; - echo do_shortcode('[wpdm_all_packages]'); - } - else { - echo "

    No active subscriptions found. Renew or reactivate your subscription.

    "; + + if (null !== SLM_Helper_Class::slm_get_option('slm_dl_manager') && SLM_Helper_Class::slm_get_option('slm_dl_manager') == 1) { + + //print_r($licenses_status_array); + // check if Download Manager is active + if( function_exists( 'add_wdm_settings_tab' ) ) { + + + if (in_array("pending", $licenses_status_array) || in_array("active", $licenses_status_array)) { + echo ' +
    +
    +

    My Downloads

    +
    '; + echo do_shortcode('[wpdm_all_packages]'); + } + else { + echo "

    No active subscriptions found. Renew or reactivate your subscription.

    "; + } } } + } + /** * Plugin install action. * Flush rewrite rules to make our custom endpoint available. diff --git a/software-license-manager.php b/software-license-manager.php index 4c2701d..2c01de0 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ Date: Mon, 31 Dec 2018 11:51:19 -0500 Subject: [PATCH 042/293] #### 4.6 - added: new error codes to api listener - added: export functionality for license - added: form validation when creating a new license in wp admin - fixes: cleaned code and improved ui - added: license key is saved inside wc order as a custom field value - added: license key added as a click-able note - fixed: email notification when order is completed - added: my subscriptions table to thank you order page - fixed: license generation for wp-stores --- CHANGELOG.md | 5 + README.md | 6 +- TODO.md | 7 +- .../woocommerce/includes/purchase.php | 142 +++++++++--------- admin/includes/wpestores/slm-wpestores.php | 2 +- includes/slm-api-listener.php | 1 + includes/slm-meta-boxes.php | 5 +- includes/slm-wc-order-post-type.php | 2 + includes/slm_plugin_core.php | 1 + 9 files changed, 84 insertions(+), 87 deletions(-) create mode 100644 includes/slm-wc-order-post-type.php diff --git a/CHANGELOG.md b/CHANGELOG.md index b133018..42791f7 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,11 @@ All notable changes to this project will be documented in this file. - added: export functionality for license - added: form validation when creating a new license in wp admin - fixes: cleaned code and improved ui +- added: license key is saved inside wc order as a custom field value +- added: license key added as a click-able note +- fixed: email notification when order is completed +- added: my subscriptions table to thank you order page +- fixed: license generation for wp-stores #### 4.5 diff --git a/README.md b/README.md index 8fa4d6d..72d5849 100755 --- a/README.md +++ b/README.md @@ -32,9 +32,9 @@ This plugin is very useful for creating a license server and doing the following 1. Click Install Now and then activate the plugin ## Compatibility -- Woocommerce -- WP eStore -- WP Download Manager +- [-] Woocommerce +- [-] WP eStore +- [-] WP Download Manager - [ ] WIP: Woocommerce Subscriptions ## Screenshots diff --git a/TODO.md b/TODO.md index 67213b3..5e500af 100755 --- a/TODO.md +++ b/TODO.md @@ -2,10 +2,9 @@ - [x] Woocommerce integration (native) - [x] Add Woocommerce tab to my account page -- [ ] Allow license cancellation -- [ ] Fully Support Subscriptio Plug-in -- [ ] Add Ajax Validation to Forms -- [ ] Fix single product meta boxes +- [x] Allow license cancellation +- [x] Add Ajax Validation to Forms +- [x] Fix single product meta boxes - [ ] Combine single and variation products functionality - [ ] Make Expiry and Renewal dates optional (V4.5) diff --git a/admin/includes/woocommerce/includes/purchase.php b/admin/includes/woocommerce/includes/purchase.php index cc84d62..c59153d 100755 --- a/admin/includes/woocommerce/includes/purchase.php +++ b/admin/includes/woocommerce/includes/purchase.php @@ -1,7 +1,7 @@ key; } -/** - * Leave payment not for license creation - * - * @since 1.0.0 - * @return void - */ - function wc_slm_get_license_id($license){ global $wpdb; $license_id = $wpdb->get_row("SELECT ID, license_key FROM ". $wpdb->prefix . "lic_key_tbl" . " WHERE license_key = '".$license."' ORDER BY id DESC LIMIT 0,1"); @@ -244,6 +230,8 @@ function wc_slm_payment_note($order_id, $licenses) { foreach ($licenses as $license) { $license_key = $license['key']; $message .= '
    ' . $license['item'] . ': ' . $license_key . ''; + add_post_meta($order_id, 'slm_wc_license_order_key', $license_key); + //write_log($license_key); } } else { @@ -254,21 +242,12 @@ function wc_slm_payment_note($order_id, $licenses) { $int = wc_insert_payment_note($order_id, $message); } -/** - * Assign generated license keys to payments -*/ function wc_slm_assign_licenses($order_id, $licenses) { if (count($licenses) != 0) { - update_post_meta($order_id, '_wc_slm_payment_licenses', $licenses); + add_post_meta($order_id, '_wc_slm_payment_licenses', $licenses); } } -/** - * Get sites allowed from download. - * - * @since 1.0.0 - * @return mixed - */ function wc_slm_get_sites_allowed($product_id) { $wc_slm_sites_allowed = absint(get_post_meta($product_id, '_domain_licenses', true)); if (empty($wc_slm_sites_allowed)) { @@ -301,12 +280,6 @@ function wc_slm_get_licenses_qty($product_id) { return $amount_of_licenses; } -/** - * Get sites allowed from download. - * - * @since 1.0.0 - * @return mixed - */ function wc_slm_get_licensing_renewal_period($product_id) { $_license_renewal_period = absint(get_post_meta($product_id, '_license_renewal_period', true)); if (empty($_license_renewal_period)) { @@ -315,12 +288,6 @@ function wc_slm_get_licensing_renewal_period($product_id) { return $_license_renewal_period; } -/** - * Check if licensing for a certain download is enabled - * - * @since 1.0.0 - * @return bool - */ function wc_slm_is_licensing_enabled($download_id) { $licensing_enabled = absint(get_post_meta($download_id, '_wc_slm_licensing_enabled', true)); // Set defaults @@ -341,48 +308,73 @@ function wc_get_payment_transaction_id($order_id) { return get_post_meta($order_id, '_transaction_id', true); } -function wc_slm_email_content($order, $is_admin_email) { +function slm_order_completed( $order_id ) { + $order_id = new WC_Order( $order_id ); + $purchase_id_ = $order_id->get_id(); + $order = wc_get_order( $order_id ); + $items = $order->get_items(); + $message = 'ddd'; //get license - $order = new WC_Order($order_id); - $order_id = $order->get_id(); - get_post_meta( $product_id, '_license_current_version', true ); + $user_id = $order_id->get_user_id(); + $user_info = get_userdata($user_id); + $get_user_meta = get_user_meta($user_id); + $payment_meta['user_info']['email'] = $get_user_meta['billing_email'][0]; - write_log('-- wc_slm_email_content -- '); - write_log('-- wc_slm_email_content -- ' . $order ); + $to_email = $payment_meta['user_info']['email']; + $headers = 'From: '. get_bloginfo( 'name' ).' <'.get_bloginfo('admin_email').'>' . "\r\n"; + wp_mail($to_email, 'License details', $message, $headers ); + + // The text for the note + $note = __("Order confirmation email sent to: " . $to_email . "" ); + // Add the note + $order->add_order_note( $note ); + // Save the data + $order->save(); + //write_log($to_email . 'License details'. $message . $headers ); +} - if ($order->post->post_status == 'wc-completed') { - $output = ''; +function slm_show_msg( $order_id ) { + $order_id = new WC_Order( $order_id ); + $purchase_id_ = $order_id->get_id(); + $order = wc_get_order( $order_id ); + $items = $order->get_items(); - // Check if licenses were generated - $licenses = get_post_meta($product_id, '_wc_slm_payment_licenses', true); + foreach ( $items as $item ) { + $product_name = $item->get_name(); + $product_id = $item->get_product_id(); + $product_variation_id = $item->get_variation_id(); + $amount_of_licenses = wc_slm_get_sites_allowed($product_id); - if ($licenses && count($licenses) != 0) { - $output = '

    ' . __('Your Licenses', 'wc-slm') . ':

    '; - foreach ($licenses as $license) { - $output .= ''; - if (isset($license['item']) && isset($license['key'])) { + // is a licensed product + //var_dump(get_post_meta($product_id)); - if ($output) { - $output .= '
    '; - } - $output .= ''; - $output .= ''; - } - else { - // $output .= 'No item and key assigned'; - } + if ($amount_of_licenses) { + + echo '
    +

    My subscriptions

    +
    ' . __('Item', 'wc-slm') . '' . __('License', 'wc-slm') . '' . __('Expire Date', 'wc-slm') . '
    ' . $license['item'] . '' . $license['key'] . '
    + + + + + + + + + + + + + + + +
    My Account
    + You can see and manage your licenses inside your account. Manage Licenses
    +
    '; - if (isset($license['expires'])) { - $output .= '' . $license['expires'] . ''; - } - $output .= ''; - } - $output .= ''; - } - else { - // $output .= 'No License Generatred'; } - echo $output; + + } -} +} \ No newline at end of file diff --git a/admin/includes/wpestores/slm-wpestores.php b/admin/includes/wpestores/slm-wpestores.php index 0c25223..eb38302 100755 --- a/admin/includes/wpestores/slm-wpestores.php +++ b/admin/includes/wpestores/slm-wpestores.php @@ -107,7 +107,7 @@ function slm_estore_create_license($retrieved_product, $payment_data, $cart_item $fields = array(); - $fields['license_key'] = uniqid($lic_key_prefix); + $fields['license_key'] = $license_key = strtoupper($lic_key_prefix . hyphenate(md5(uniqid(rand(4,8), true) . time() )));; $fields['lic_status'] = 'pending'; $fields['first_name'] = $payment_data['first_name']; $fields['last_name'] = $payment_data['last_name']; diff --git a/includes/slm-api-listener.php b/includes/slm-api-listener.php index 4457c65..e303116 100755 --- a/includes/slm-api-listener.php +++ b/includes/slm-api-listener.php @@ -110,6 +110,7 @@ function creation_api_listener() { * 2) secret_key * 3) license_key * 4) registered_domain (optional) + * 5) registered_devices (optional) */ function activation_api_listener() { diff --git a/includes/slm-meta-boxes.php b/includes/slm-meta-boxes.php index 9039072..d8b882b 100644 --- a/includes/slm-meta-boxes.php +++ b/includes/slm-meta-boxes.php @@ -8,10 +8,8 @@ add_filter('woocommerce_product_data_tabs', 'wc_slm_add_tab' ); add_action('woocommerce_process_product_meta_simple', 'wc_slm_save_data'); add_action('woocommerce_product_data_panels', 'wc_slm_data_panel'); - - /** - * Add 'Gift Card' product option + * Add 'License' product option */ function add_wc_slm_data_tab_enabled_product_option( $product_type_options ) { $product_type_options['wc_slm_data_tab_enabled'] = array( @@ -27,7 +25,6 @@ function add_wc_slm_data_tab_enabled_product_option( $product_type_options ) { /** CSS To Add Custom tab Icon */ - function wcpp_custom_style() { ?> + +
    +
    +
    + +
    +

    + Software License Manager +

    +

    + You can add a new license or edit an existing one from this interface. +

    +
    +
    +
    + +
    -
    -
    -
    - -

    - Software License Manager -

    -

    - You can add a new license or edit an existing one from this interface. -

    - -
    -
    -
    - +
    -

    +

    -
    Enable Debug Logging value="1"/> + value="1" />

    If checked, debug output will be written to log files (keep it disabled unless you are troubleshooting).

    -
    - View debug log file by clicking here.. -
    - Reset debug log file by clicking here. + - View debug log file by clicking here.. + - Reset debug log file by clicking here.
    -
    +
    +
    - 'item', //singular name of the listed records 'plural' => 'items', //plural name of the listed records - 'ajax' => false //does this table support ajax? - ) ); + 'ajax' => false //does this table support ajax? + )); + } + // TODO + // protected function get_views() + // { + // $status_links = array( + // "all" => __("All", 'slm'), + // "pending" => __("Pending", 'slm'), + // "active" => __("Active", 'slm'), + // "expired" => __("Expired", 'slm'), + // ); + // return $status_links; + // } + + public function no_items() + { + _e('No licenses avaliable.', 'slm'); } - function column_default($item, $column_name){ - return $item[$column_name]; + function column_default($item, $column_name) + { + return $item[$column_name]; } - function column_id($item){ + + function column_id($item) + { $row_id = $item['id']; $actions = array( - 'edit' => sprintf('Edit', $row_id), - 'delete' => sprintf('Delete',$row_id), + 'edit' => sprintf('Edit', $row_id), + // 'delete' => sprintf('Delete', $row_id), + // 'block_license' => sprintf( 'Block', $row_id), ); - return sprintf('%1$s %2$s', - /*$1%s*/ $item['id'], - /*$2%s*/ $this->row_actions($actions) + return sprintf( + ' %1$s %2$s', + /*$1%s*/ + $item['id'], + /*$2%s*/ + $this->row_actions($actions) ); } - function column_cb($item){ + function column_cb($item) + { return sprintf( '', - /*$1%s*/ $this->_args['singular'], //Let's simply repurpose the table's singular label - /*$2%s*/ $item['id'] //The value of the checkbox should be the record's id - ); + /*$1%s*/ + $this->_args['singular'], //Let's simply repurpose the table's singular label + /*$2%s*/ + $item['id'] //The value of the checkbox should be the record's id + ); } - function column_active($item){ - if ($item['active'] == 1){ + function column_active($item) + { + if ($item['active'] == 1) { return 'active'; - } - else{ + } else { return 'inactive'; } } - function get_columns(){ + function get_columns() + { $columns = array( 'cb' => '', //Render a checkbox 'id' => 'ID', - 'license_key' => 'License Key', + 'license_key' => 'Key', 'lic_status' => 'Status', - 'max_allowed_domains' => 'Domains Allowed', - 'max_allowed_devices' => 'Domains Devices', - 'purchase_id_' => 'Related Purchase', - 'email' => 'Registered Email', - 'date_created' => 'Date Created', - 'date_renewed' => 'Date Renewed', + 'email' => 'Email', + 'max_allowed_domains' => 'Domains', + 'max_allowed_devices' => 'Devices', + 'purchase_id_' => 'Purchase #', + 'date_created' => 'Created pn', + // 'date_renewed' => 'Date Renewed', 'date_expiry' => 'Expiration', - 'until' => 'Supported Until', + 'until' => 'Until Ver.', ); return $columns; } - function get_sortable_columns() { + + function get_sortable_columns() + { + // $sortable_columns = array( + // 'id' => array('id', false), + // 'license_key' => array('license_key', false), + // 'lic_status' => array('lic_status', false), + // 'purchase_id_' => array('purchase_id_', false), + // 'until' => array('until', false), + // 'email' => array('email', false), + // 'date_created' => array('date_created', false), + // 'date_renewed' => array('date_renewed', false), + // 'date_expiry' => array('date_expiry', false), + // ); $sortable_columns = array( - 'id' => array('id',false), - 'license_key' => array('license_key',false), - 'lic_status' => array('lic_status',false), - 'purchase_id_' => array('purchase_id_',false), - 'until' => array('until',false), - 'email' => array('email',false), - 'date_created' => array('date_created',false), - 'date_renewed' => array('date_renewed',false), - 'date_expiry' => array('date_expiry',false), + 'id' => array('id', true), + 'email' => array('email', true), + 'until' => array('until', true), + 'lic_status' => array('lic_status', true) ); + return $sortable_columns; } - function get_bulk_actions() { + function get_bulk_actions() + { $actions = array( - 'delete' => 'Delete', + 'delete' => 'Delete', + 'blocked' => 'Block', + 'expired' => 'Expire', + 'active' => 'Activate', ); return $actions; } - function process_bulk_action() { - if('delete'===$this->current_action()) - { + function process_bulk_action() + { + if ('delete' === $this->current_action()) { //Process delete bulk actions - if(!isset($_REQUEST['item'])){ - $error_msg = '

    '.__('Error - Please select some records using the checkboxes', 'slm').'

    '; - echo '
    '.$error_msg.'
    '; + if (!isset($_REQUEST['item'])) { + $error_msg = '

    ' . __('Error - Please select some records using the checkboxes', 'slm') . '

    '; + echo '
    ' . $error_msg . '
    '; return; - }else { - $nvp_key = $this->_args['singular']; - $records_to_delete = $_GET[$nvp_key]; - foreach ($records_to_delete as $row){ + } else { + $nvp_key = $this->_args['singular']; + $records_to_delete = $_GET[$nvp_key]; + + foreach ($records_to_delete as $row) { SLM_Utility::delete_license_key_by_row_id($row); - } - echo '

    Selected records deleted successfully!

    '; + } + + echo '

    Selected records deleted successfully!

    '; + } + } + if ('blocked' === $this->current_action()) { + //Process blocked bulk actions + if (!isset($_REQUEST['item'])) { + $error_msg = '

    ' . __('Error - Please select some records using the checkboxes', 'slm') . '

    '; + echo '
    ' . $error_msg . '
    '; + return; + } else { + $nvp_key = $this->_args['singular']; + $licenses_to_block = $_GET[$nvp_key]; + + foreach ($licenses_to_block as $row) { + SLM_Utility::block_license_key_by_row_id($row); + } + + echo '

    ' . $row . ' Selected records blocked successfully!

    '; + } + } + if ('expired' === $this->current_action()) { + //Process blocked bulk actions + if (!isset($_REQUEST['item'])) { + $error_msg = '

    ' . __('Error - Please select some records using the checkboxes', 'slm') . '

    '; + echo '
    ' . $error_msg . '
    '; + return; + } else { + $nvp_key = $this->_args['singular']; + $licenses_to_block = $_GET[$nvp_key]; + + foreach ($licenses_to_block as $row) { + SLM_Utility::expire_license_key_by_row_id($row); + } + + echo '

    ' . $row . ' Selected records expired successfully!

    '; + } + } + if ('active' === $this->current_action()) { + //Process blocked bulk actions + if (!isset($_REQUEST['item'])) { + $error_msg = '

    ' . __('Error - Please select some records using the checkboxes', 'slm') . '

    '; + echo '
    ' . $error_msg . '
    '; + return; + } else { + $nvp_key = $this->_args['singular']; + $licenses_to_block = $_GET[$nvp_key]; + + foreach ($licenses_to_block as $row) { + SLM_Utility::active_license_key_by_row_id($row); + } + + echo '

    ' . $row . ' Selected records activated successfully!

    '; } } } + /* * This function will delete the selected license key entries from the DB. */ function delete_license_key($key_row_id) { SLM_Utility::delete_license_key_by_row_id($key_row_id); - $success_msg = '

    '; - $success_msg .= 'The selected entry was deleted successfully!'; - $success_msg .= '

    '; + $success_msg = '

    '; + $success_msg .= 'The selected entry was deleted successfully!'; + $success_msg .= '

    '; echo $success_msg; } + function block_license_key($key_row_id) + { + SLM_Utility::block_license_key_by_row_id($key_row_id); + $success_msg = '

    '; + $success_msg .= 'The selected entry was blocked successfully!'; + $success_msg .= '

    '; + echo $success_msg; + } - function prepare_items() { - /** - * First, lets decide how many records per page to show - */ - $per_page = 50; - $columns = $this->get_columns(); - $hidden = array(); - $sortable = $this->get_sortable_columns(); + private function sort_data($a, $b){ + // Set defaults + $orderby = 'id'; + $order = 'desc'; + // If orderby is set, use this as the sort column + if (!empty($_GET['orderby'])) { + $orderby = $_GET['orderby']; + } + // If order is set use this as the order + if (!empty($_GET['order'])) { + $order = $_GET['order']; + } + $result = strcmp($a[$orderby], $b[$orderby]); + if ($order === 'asc') { + return $result; + } + return -$result; + } - $this->_column_headers = array($columns, $hidden, $sortable); + function prepare_items(){ + + $per_page = 24; + $columns = $this->get_columns(); + $hidden = array(); + $sortable = $this->get_sortable_columns(); + $this->_column_headers = array($columns, $hidden, $sortable); $this->process_bulk_action(); - global $wpdb; + global $wpdb; $license_table = SLM_TBL_LICENSE_KEYS; - /* -- Ordering parameters -- */ - //Parameters that are going to be used to order the result - $orderby = !empty($_GET["orderby"]) ? strip_tags($_GET["orderby"]) : 'id'; - $order = !empty($_GET["order"]) ? strip_tags($_GET["order"]) : 'DESC'; - - if (isset($_POST['slm_search'])) { - $search_term = trim(strip_tags($_POST['slm_search'])); - $prepare_query = $wpdb->prepare("SELECT * FROM " . $license_table . " WHERE `license_key` LIKE '%%%s%%' OR `email` LIKE '%%%s%%' OR `txn_id` LIKE '%%%s%%' OR `first_name` LIKE '%%%s%%' OR `last_name` LIKE '%%%s%%'", $search_term, $search_term, $search_term, $search_term, $search_term); - $data = $wpdb->get_results($prepare_query, ARRAY_A); - }else{ - $data = $wpdb->get_results("SELECT * FROM $license_table ORDER BY $orderby $order", ARRAY_A); - } + $search = (isset($_REQUEST['s'])) ? $_REQUEST['s'] : false; + $search_term = trim(strip_tags($search)); + + $do_search = $wpdb->prepare("SELECT * FROM " . $license_table . " WHERE `license_key` LIKE '%%%s%%' OR `email` LIKE '%%%s%%' OR `txn_id` LIKE '%%%s%%' OR `first_name` LIKE '%%%s%%' OR `last_name` LIKE '%%%s%%'", $search_term, $search_term, $search_term, $search_term, $search_term); - $current_page = $this->get_pagenum(); - $total_items = count($data); - $data = array_slice($data,(($current_page-1)*$per_page),$per_page); - $this->items = $data; - $this->set_pagination_args( array( + $data = $wpdb->get_results($do_search, ARRAY_A); + + usort($data, array(&$this, 'sort_data')); + + $current_page = $this->get_pagenum(); + $total_items = count($data); + $data = array_slice($data, (($current_page - 1) * $per_page), $per_page); + $this->items = $data; + + $this->set_pagination_args(array( 'total_items' => $total_items, //WE have to calculate the total number of items 'per_page' => $per_page, //WE have to determine how many items to show on a page - 'total_pages' => ceil($total_items/$per_page) //WE have to calculate the total number of pages - ) ); + 'total_pages' => ceil($total_items / $per_page) //WE have to calculate the total number of pages + )); + } +} + + + +class SLM_Plugin{ + + // class instance + static $instance; + + // customer WP_List_Table object + public $licenses_obj; + + // class constructor + public function __construct(){ + add_filter('set-screen-option', [__CLASS__, 'set_screen'], 10, 3); + add_action('admin_menu', [$this, 'slm_add_admin_menu']); + } + + public static function set_screen($status, $option, $value){ + return $value; + } + + public function slm_add_admin_menu() + { + $icon_svg = SLM_ASSETS_URL . 'images/slm_logo_small.svg'; + + add_menu_page("SLM", "SLM", SLM_MANAGEMENT_PERMISSION, SLM_MAIN_MENU_SLUG, "slm_manage_licenses_menu", $icon_svg); + $hook = add_submenu_page(SLM_MAIN_MENU_SLUG, "Manage Licenses", "Manage Licenses", SLM_MANAGEMENT_PERMISSION, SLM_MAIN_MENU_SLUG, "slm_manage_licenses_menu"); + add_submenu_page(SLM_MAIN_MENU_SLUG, "Add License", "Add Licenses", SLM_MANAGEMENT_PERMISSION, 'slm_manage_license', "slm_add_licenses_menu"); + add_submenu_page(SLM_MAIN_MENU_SLUG, "Tools", "Tools", SLM_MANAGEMENT_PERMISSION, 'slm_admin_tools', "slm_admin_tools_menu"); + add_submenu_page(SLM_MAIN_MENU_SLUG, "Settings", "Settings", SLM_MANAGEMENT_PERMISSION, 'slm_settings', "slm_settings_menu"); + add_submenu_page(SLM_MAIN_MENU_SLUG, "Help", "Help", SLM_MANAGEMENT_PERMISSION, 'slm_help', "slm_integration_help_menu"); + + add_action("load-$hook", [$this, 'screen_option']); } -} \ No newline at end of file + + + /** + * Screen options + */ + public function screen_option(){ + + $option = 'per_page'; + $args = [ + 'label' => 'Pagination', + 'default' => 24, + 'option' => 'licenses_per_page' + ]; + + //add_screen_option($option, $args); + + $this->licenses_obj = new SLM_List_Licenses(); + } + + + /** Singleton instance */ + public static function get_instance(){ + if (!isset(self::$instance)) { + self::$instance = new self(); + } + + return self::$instance; + } + + +} + +add_action('plugins_loaded', function () { + SLM_Plugin::get_instance(); +}); + + + + diff --git a/admin/slm-manage-licenses.php b/admin/slm-manage-licenses.php index 432f1d0..77d4430 100755 --- a/admin/slm-manage-licenses.php +++ b/admin/slm-manage-licenses.php @@ -1,49 +1,47 @@ '; - echo '

    Manage Licenses

    '; - echo '
    '; +function slm_manage_licenses_menu() +{ + + //include_once('slm-list-licenses-class.php'); + $license_list = new SLM_List_Licenses(); + + if (isset($_REQUEST['action'])) { //Do list table form row action tasks + if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'delete_license') { //Delete link was clicked for a row in list table + $license_list->delete_license_key(sanitize_text_field($_REQUEST['id'])); + } + } + ?> +
    +

    Overview - Manage licenses

    +
    + +
    -
    -

    -
    - Search for a license by using email, name, key or transaction ID -

    -
    "> - - -
    -
    - - -
    -

    -
    - delete_license_key(sanitize_text_field($_REQUEST['id'])); - } - } - //Fetch, prepare, sort, and filter our data... - $license_list->prepare_items(); - //echo "put table of locked entries here"; - ?> -
    - - - - display(); ?> -
    - -
    - -
    '; - echo '
    '; -} +
    +
    +
    +
    +
    + + prepare_items(); + $license_list->search_box(__('Search'), 'search-box-id'); + $license_list->views(); + $license_list->display(); ?> +
    +
    +
    +
    +
    +
    + +
    +
    +
    + 'error', - 'message' => 'The license key on this domain is already inactive', - 'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE, - 'device' => $reg_devices->registered_devices)); + 'result' => 'error', + 'message' => 'The license key on this domain is already inactive', + 'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE, + 'registered_domain' => $registered_domain->registered_domain)); SLM_API_Utility::output_api_response($args); } else { $args = (array( - 'result' => 'success', - 'error_code' => SLM_Error_Codes::KEY_DEACTIVATE_DOMAIN_SUCCESS, - 'message' => 'The license key has been deactivated for this domain')); + 'result' => 'success', + 'error_code' => SLM_Error_Codes::KEY_DEACTIVATE_DOMAIN_SUCCESS, + 'message' => 'The license key has been deactivated for this domain')); SLM_API_Utility::output_api_response($args); } } diff --git a/includes/slm-init-time-tasks.php b/includes/slm-init-time-tasks.php index eda1ca7..8cf435a 100755 --- a/includes/slm-init-time-tasks.php +++ b/includes/slm-init-time-tasks.php @@ -14,7 +14,7 @@ function load_scripts(){ if(is_admin()){ wp_enqueue_script('jquery-ui-datepicker'); wp_enqueue_script('wplm-custom-admin-js', SLM_ASSETS_URL . 'js/wplm-custom-admin.js', array( 'jquery-ui-dialog' ));//admin only custom js code - if (isset($_GET['page']) && $_GET['page'] == 'wp_lic_mgr_addedit') {//Only include if we are in the license add/edit interface + if (isset($_GET['page']) && $_GET['page'] == 'slm_manage_license') {//Only include if we are in the license add/edit interface wp_enqueue_style('jquery-ui-style', SLM_ASSETS_URL .'css/jquery-ui.css'); } } diff --git a/includes/slm-utility.php b/includes/slm-utility.php index 1488c64..a42548e 100755 --- a/includes/slm-utility.php +++ b/includes/slm-utility.php @@ -55,6 +55,32 @@ static function delete_license_key_by_row_id($key_row_id) { } + static function block_license_key_by_row_id($key_row_id){ + global $wpdb; + $license_table = SLM_TBL_LICENSE_KEYS; + + //Now, delete the key from the licenses table. + $wpdb->update( $license_table, array('lic_status' => 'blocked'), array('id' => $key_row_id)); + + } + + static function expire_license_key_by_row_id($key_row_id){ + global $wpdb; + $license_table = SLM_TBL_LICENSE_KEYS; + + //Now, delete the key from the licenses table. + $wpdb->update($license_table, array('lic_status' => 'expired'), array('id' => $key_row_id)); + } + + static function active_license_key_by_row_id($key_row_id) + { + global $wpdb; + $license_table = SLM_TBL_LICENSE_KEYS; + + //Now, delete the key from the licenses table. + $wpdb->update($license_table, array('lic_status' => 'active'), array('id' => $key_row_id)); + } + /* * Deletes any registered domains info from the domain table for the given key's row id. */ @@ -71,4 +97,31 @@ static function delete_registered_domains_of_key($key_row_id) { } } -} \ No newline at end of file + static function create_secret_keys() { + $key = strtoupper(implode('-', str_split(substr(strtolower(md5(microtime() . rand(1000, 9999))), 0, 32), 8))); + return hash('sha256', $key); + } + +} + +// Helper Class +class SLM_Helper_Class{ + public static function slm_get_option($option) + { + $option_name = ''; + $slm_opts = get_option('slm_plugin_options'); + $option_name = $slm_opts[$option]; + return $option_name; + } + public static function write_log($log) + { + if (true === WP_DEBUG) { + if (is_array($log) || is_object($log)) { + error_log(print_r($log, true)); + } else { + error_log($log); + } + } + } +} +$slm_helper = new SLM_Helper_Class(); \ No newline at end of file diff --git a/includes/slm_plugin_core.php b/includes/slm_plugin_core.php index 90be5fd..62a0d96 100755 --- a/includes/slm_plugin_core.php +++ b/includes/slm_plugin_core.php @@ -8,35 +8,9 @@ * @link http://epikly.com */ -//Defines -global $wpdb, $slm_debug_logger; - -define('SLM_TBL_LICENSE_KEYS', $wpdb->prefix . "lic_key_tbl"); -define('SLM_TBL_LIC_DOMAIN', $wpdb->prefix . "lic_reg_domain_tbl"); -define('SLM_TBL_LIC_DEVICES', $wpdb->prefix . "lic_reg_devices_tbl"); -define('SLM_MANAGEMENT_PERMISSION', 'manage_options'); -define('SLM_MAIN_MENU_SLUG', 'slm-main'); -define('SLM_MENU_ICON', 'dashicons-lock'); - -// Helper Class -class SLM_Helper_Class { - public static function slm_get_option($option){ - $option_name = ''; - $slm_opts = get_option('slm_plugin_options'); - $option_name = $slm_opts[$option]; - return $option_name; - } - public static function write_log ( $log ) { - if ( true === WP_DEBUG ) { - if ( is_array( $log ) || is_object( $log ) ) { - error_log( print_r( $log, true ) ); - } else { - error_log( $log ); - } - } - } -} -$slm_helper = new SLM_Helper_Class(); + +require_once(SLM_LIB . 'slm-utility.php'); + add_filter('extra_plugin_headers', 'add_extra_headers'); add_filter('plugin_row_meta', 'filter_authors_row_meta', 1, 4); @@ -58,12 +32,22 @@ function filter_authors_row_meta($plugin_meta, $plugin_file, $plugin_data, $stat return $plugin_meta; } +//Includes +require_once( SLM_LIB .'slm-debug-logger.php'); +require_once( SLM_LIB .'slm-error-codes.php'); + +require_once( SLM_LIB .'slm-init-time-tasks.php'); +require_once( SLM_LIB .'slm-api-utility.php'); +require_once( SLM_LIB .'slm-api-listener.php'); +require_once( SLM_LIB .'slm-scripts.php'); + /** * The code that runs during plugin activation. * This action is documented in includes/class-software-license-manager-activator.php */ -function activate_software_license_manager() { - require_once SLM_LIB . 'class-software-license-manager-activator.php'; +function activate_software_license_manager() +{ + require_once SLM_LIB . 'class-slm-activator.php'; $slm_activator->activate(); } @@ -71,22 +55,21 @@ function activate_software_license_manager() { * The code that runs during plugin deactivation. * This action is documented in includes/class-software-license-manager-deactivator.php */ -function deactivate_software_license_manager() { - require_once SLM_LIB . 'class-software-license-manager-deactivator.php'; +function deactivate_software_license_manager() +{ + require_once SLM_LIB . 'class-slm-deactivator.php'; $slm_deactivator->deactivate(); } -register_activation_hook( __FILE__, 'activate_software_license_manager' ); -register_deactivation_hook( __FILE__, 'deactivate_software_license_manager' ); +function slm_get_license($lic_key_prefix) +{ + return strtoupper($lic_key_prefix . hyphenate(md5(uniqid(rand(4, 8), true) . time()))); +} -//Includes -require_once( SLM_LIB .'slm-debug-logger.php'); -require_once( SLM_LIB .'slm-error-codes.php'); -require_once( SLM_LIB .'slm-utility.php'); -require_once( SLM_LIB .'slm-init-time-tasks.php'); -require_once( SLM_LIB .'slm-api-utility.php'); -require_once( SLM_LIB .'slm-api-listener.php'); -require_once( SLM_LIB .'slm-scripts.php'); +register_activation_hook(__FILE__, 'activate_software_license_manager'); +register_deactivation_hook(__FILE__, 'deactivate_software_license_manager'); + +// require_once SLM_LIB . 'admin-page-framework.php'; // Front end-menu // TODO check for optional plugins @@ -95,7 +78,7 @@ function deactivate_software_license_manager() { if (null !== SLM_Helper_Class::slm_get_option('slm_woo') && SLM_Helper_Class::slm_get_option('slm_woo') == 1) { require_once( SLM_PUBLIC . 'slm-add-menu-frontend.php'); // WordPress Plugin :: wc-software-license-manager - require_once( SLM_ADMIN . 'includes/woocommerce/wc-software-license-manager.php'); + require_once( SLM_WOO . 'includes/wc-slm.php'); // support for meta boxes require_once( SLM_LIB . 'slm-meta-boxes.php'); require_once( SLM_LIB . 'slm-wc-order-post-type.php'); @@ -109,7 +92,7 @@ function deactivate_software_license_manager() { //Include admin side only files if (is_admin()) { require_once( SLM_ADMIN . 'slm-admin-init.php'); - require_once( SLM_ADMIN . 'includes/slm-list-table-class.php'); //Load our own WP List Table class + // require_once( SLM_ADMIN . 'includes/slm-list-table-class.php'); //Load our own WP List Table class } //Action hooks @@ -118,6 +101,8 @@ function deactivate_software_license_manager() { add_action('wp_ajax_del_reistered_devices', 'slm_del_reg_devices'); add_action('wp_ajax_del_reistered_domain', 'slm_del_reg_dom'); + + //Initialize debug logger $slm_debug_logger = new SLM_Debug_Logger(); @@ -132,8 +117,8 @@ function slm_plugins_loaded_handler() { //Runs when plugins_loaded action gets fired if (is_admin()) { //Check if db update needed - if (get_option('wp_lic_mgr_db_version') != SLM_DB_VERSION) { - require_once( SLM_LIB . 'class-software-license-manager-slm-installer.php'); + if (get_option('slm_db_version') != SLM_DB_VERSION) { + require_once( SLM_LIB . 'class-slm-installer.php'); // TODO - $slm_activator->slm_db_install(); } } @@ -158,28 +143,14 @@ function slm_del_reg_devices() { exit(0); } -/** - * The permalink structure definition for API calls. - */ - -// WIP -//add_action('init', 'slm_add_api_endpoint_rules', 10, 0); - -function slm_add_api_endpoint_rules() { - - add_rewrite_rule( '^license/api/slm_action/check/([^/]*)/?', - 'index.php?slm_action=slm_check&secret_key=$matches[1]&license_key=$matches[2]', - 'top' ); - - add_rewrite_rule( - '^license/api/([^/]*)/?', - 'index.php?pagename=$matches[1]¶m=foo', - 'top' - ); +function wc_print_pretty($args) { + echo '
    ';
    +    print_r($args);
    +    echo '
    '; +} - // If this was the first time, flush rules - if ( get_option( 'slm_rewrite_rules' ) != SLM_REWRITE_VERSION ) { - flush_rewrite_rules(); - update_option( 'slm_rewrite_rules', SLM_REWRITE_VERSION ); - } +function wc_log($msg) { + $log = ABSPATH . DIRECTORY_SEPARATOR . 'slm_log.txt'; + file_put_contents($log, $msg . ' +', FILE_APPEND); } diff --git a/public/assets/css/slm.css b/public/assets/css/slm.css index a09530b..6856d36 100755 --- a/public/assets/css/slm.css +++ b/public/assets/css/slm.css @@ -1,4 +1,4 @@ -body.license-manager_page_wp_lic_mgr_addedit { +body.slm_page_slm_manage_license { background: #f1f1f1; background-color: #f1f1f1; } @@ -30,9 +30,8 @@ body.license-manager_page_wp_lic_mgr_addedit { } .slm-container #order_data { padding: 24px; - -webkit-box-shadow: 0px 0px 24px -5px rgba(0,0,0,0.38); - -moz-box-shadow: 0px 0px 24px -5px rgba(0,0,0,0.38); - box-shadow: 0px 0px 24px -5px rgba(0,0,0,0.38); + background: #fff;; + box-shadow: 0 1px 1px rgba(0,0,0,.04); } .slm-container h1 { font-size: 32px; @@ -70,7 +69,6 @@ body.license-manager_page_wp_lic_mgr_addedit { border-radius: 12px; width: 16px; height: 16px; - vertical-align: 1px; line-height: 8px; text-align: center; } @@ -115,8 +113,14 @@ cursor: pointer; } .col-half { float: left; - width: 48%; - padding: 5px; + width: 50%; +} +.slm-container .tab-pane { + padding: 16px; + background: #f3faff; + border-radius: 4px; + border: 1px dashed #adf; + margin-top: 16px; } .col-4{ float: left; @@ -137,4 +141,26 @@ cursor: pointer; } .error.stripe-apple-pay-message { display: none; +} + +.save_lic, .wp-core-ui .button.save_lic { + display: inline-block; + font-weight: 400; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: 1px solid transparent; + padding: .375rem .75rem; + font-size: 1rem; + height: auto; + line-height: 1.5; + border-radius: .25rem; + transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; + color: #fff; + background-color: #007bff !important; + border-color: #007bff !important; } \ No newline at end of file diff --git a/public/assets/js/slm.js b/public/assets/js/slm.js index 553fe94..e69de29 100644 --- a/public/assets/js/slm.js +++ b/public/assets/js/slm.js @@ -1,46 +0,0 @@ -jQuery().ready(function() { - //jQuery(".slm_license_form").validate(); - jQuery(".slm_license_form").validate({ - ignore: [], - onsubmit: true, - // onfocusout: true, - invalidHandler: function(event, validator) { - // 'this' refers to the form - var errors = validator.numberOfInvalids(); - if (errors) { - var message = errors == 1 - ? 'You missed 1 field. It has been highlighted' - : 'You missed ' + errors + ' fields. They have been highlighted'; - jQuery("div.error_slm span").html(message); - jQuery("div.error_slm").show(); - } - else { - jQuery("div.error_slm").hide(); - } - }, - errorClass: "invalid", - validClass: "success", - errorContainer: "#error_box", - errorElement: "div", - wrapper: "div", - errorLabelContainer: "#error_box", - rules: { - license_key: "required", - first_name: "required", - last_name: "required", - email: { - required: true, - email: true - } - }, - messages: { - license_key: "Please specify your license key", - first_name: "Please specify your first name", - last_name: "Please specify your last name", - email: { - required: "We need your email address.", - email: "Your email address must be in the format of name@domain.com" - } - } - }); -}); \ No newline at end of file diff --git a/software-license-manager.php b/software-license-manager.php index 8809127..616b5bb 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ prefix . "lic_key_tbl"); +define('SLM_TBL_LIC_DOMAIN', $wpdb->prefix . "lic_reg_domain_tbl"); +define('SLM_TBL_LIC_DEVICES', $wpdb->prefix . "lic_reg_devices_tbl"); +define('SLM_MANAGEMENT_PERMISSION', 'manage_options'); +define('SLM_MAIN_MENU_SLUG', 'slm_overview'); +define('SLM_MENU_ICON', 'dashicons-lock'); \ No newline at end of file diff --git a/uninstall.php b/uninstall.php index 5c88149..866f4c1 100755 --- a/uninstall.php +++ b/uninstall.php @@ -20,7 +20,7 @@ // Delete Options $slm_options = array( - 'wp_lic_mgr_db_version', + 'slm_db_version', 'slm_plugin_options', ); @@ -31,7 +31,7 @@ } // Delete Custom Post Type posts -$wpdb->query( "DELETE FROM {$wpdb->posts} WHERE post_type IN ( 'wp_lic_mgr_addedit' );" ); +$wpdb->query( "DELETE FROM {$wpdb->posts} WHERE post_type IN ( 'slm_manage_license' );" ); $wpdb->query( "DELETE FROM {$wpdb->postmeta} meta LEFT JOIN {$wpdb->posts} posts ON posts.ID = meta.post_id WHERE wp.ID IS NULL;" ); diff --git a/woocommerce/emails/customer-completed-order.php b/woocommerce/emails/customer-completed-order.php index 597ee87..c5d2227 100644 --- a/woocommerce/emails/customer-completed-order.php +++ b/woocommerce/emails/customer-completed-order.php @@ -1,19 +1,4 @@ get_billing_first_name() ) ); ?>

    -

    - +

    - Date: Mon, 13 May 2019 15:14:11 -0400 Subject: [PATCH 047/293] improved license creation improved api key and secret key added screen options to license list table removed unneeded files and code removed auto updater added new utility classes and functions --- CHANGELOG.md | 3 + README.md | 2 +- admin/includes/emails/class.php | 58 - admin/includes/slm-list-table-class.php | 907 ---------- .../includes/woocommerce/includes/helper.php | 23 - .../woocommerce/includes/purchase.php | 370 ---- admin/includes/woocommerce/license.txt | 674 -------- .../wc-software-license-manager.php | 33 - admin/slm-add-licenses.php | 729 ++++---- admin/slm-admin-functions.php | 6 +- admin/slm-admin-init.php | 17 +- admin/slm-integration-help-page.php | 268 +-- admin/slm-lic-settings.php | 116 +- admin/slm-list-licenses-class.php | 367 +++- admin/slm-manage-licenses.php | 86 +- admin/update-checker/Puc/v4/Factory.php | 6 - admin/update-checker/Puc/v4p4/Autoloader.php | 49 - .../Puc/v4p4/DebugBar/Extension.php | 177 -- .../Puc/v4p4/DebugBar/Panel.php | 165 -- .../Puc/v4p4/DebugBar/PluginExtension.php | 33 - .../Puc/v4p4/DebugBar/PluginPanel.php | 38 - .../Puc/v4p4/DebugBar/ThemePanel.php | 21 - admin/update-checker/Puc/v4p4/Factory.php | 292 ---- admin/update-checker/Puc/v4p4/Metadata.php | 132 -- .../Puc/v4p4/OAuthSignature.php | 88 - admin/update-checker/Puc/v4p4/Plugin/Info.php | 130 -- .../update-checker/Puc/v4p4/Plugin/Update.php | 110 -- .../Puc/v4p4/Plugin/UpdateChecker.php | 740 -------- admin/update-checker/Puc/v4p4/Scheduler.php | 177 -- admin/update-checker/Puc/v4p4/StateStore.php | 207 --- .../update-checker/Puc/v4p4/Theme/Update.php | 84 - .../Puc/v4p4/Theme/UpdateChecker.php | 177 -- admin/update-checker/Puc/v4p4/Update.php | 34 - .../update-checker/Puc/v4p4/UpdateChecker.php | 896 ---------- .../Puc/v4p4/UpgraderStatus.php | 199 --- admin/update-checker/Puc/v4p4/Utils.php | 69 - admin/update-checker/Puc/v4p4/Vcs/Api.php | 302 ---- .../Puc/v4p4/Vcs/BaseChecker.php | 27 - .../Puc/v4p4/Vcs/BitBucketApi.php | 256 --- .../update-checker/Puc/v4p4/Vcs/GitHubApi.php | 413 ----- .../update-checker/Puc/v4p4/Vcs/GitLabApi.php | 274 --- .../Puc/v4p4/Vcs/PluginUpdateChecker.php | 217 --- .../update-checker/Puc/v4p4/Vcs/Reference.php | 49 - .../Puc/v4p4/Vcs/ThemeUpdateChecker.php | 118 -- admin/update-checker/css/puc-debug-bar.css | 70 - admin/update-checker/js/debug-bar.js | 52 - admin/update-checker/license.txt | 7 - .../update-checker/plugin-update-checker.php | 24 - admin/update-checker/vendor/Parsedown.php | 1538 ----------------- .../update-checker/vendor/ParsedownLegacy.php | 1535 ---------------- admin/update-checker/vendor/readme-parser.php | 334 ---- includes/slm-api-listener.php | 16 +- includes/slm-init-time-tasks.php | 2 +- includes/slm-utility.php | 55 +- includes/slm_plugin_core.php | 111 +- public/assets/css/slm.css | 40 +- public/assets/js/slm.js | 46 - software-license-manager.php | 26 +- uninstall.php | 4 +- .../emails/customer-completed-order.php | 48 +- 60 files changed, 1095 insertions(+), 11952 deletions(-) delete mode 100644 admin/includes/emails/class.php delete mode 100755 admin/includes/woocommerce/includes/helper.php delete mode 100755 admin/includes/woocommerce/includes/purchase.php delete mode 100755 admin/includes/woocommerce/license.txt delete mode 100755 admin/includes/woocommerce/wc-software-license-manager.php delete mode 100755 admin/update-checker/Puc/v4/Factory.php delete mode 100755 admin/update-checker/Puc/v4p4/Autoloader.php delete mode 100755 admin/update-checker/Puc/v4p4/DebugBar/Extension.php delete mode 100755 admin/update-checker/Puc/v4p4/DebugBar/Panel.php delete mode 100755 admin/update-checker/Puc/v4p4/DebugBar/PluginExtension.php delete mode 100755 admin/update-checker/Puc/v4p4/DebugBar/PluginPanel.php delete mode 100755 admin/update-checker/Puc/v4p4/DebugBar/ThemePanel.php delete mode 100755 admin/update-checker/Puc/v4p4/Factory.php delete mode 100755 admin/update-checker/Puc/v4p4/Metadata.php delete mode 100755 admin/update-checker/Puc/v4p4/OAuthSignature.php delete mode 100755 admin/update-checker/Puc/v4p4/Plugin/Info.php delete mode 100755 admin/update-checker/Puc/v4p4/Plugin/Update.php delete mode 100755 admin/update-checker/Puc/v4p4/Plugin/UpdateChecker.php delete mode 100755 admin/update-checker/Puc/v4p4/Scheduler.php delete mode 100755 admin/update-checker/Puc/v4p4/StateStore.php delete mode 100755 admin/update-checker/Puc/v4p4/Theme/Update.php delete mode 100755 admin/update-checker/Puc/v4p4/Theme/UpdateChecker.php delete mode 100755 admin/update-checker/Puc/v4p4/Update.php delete mode 100755 admin/update-checker/Puc/v4p4/UpdateChecker.php delete mode 100755 admin/update-checker/Puc/v4p4/UpgraderStatus.php delete mode 100755 admin/update-checker/Puc/v4p4/Utils.php delete mode 100755 admin/update-checker/Puc/v4p4/Vcs/Api.php delete mode 100755 admin/update-checker/Puc/v4p4/Vcs/BaseChecker.php delete mode 100755 admin/update-checker/Puc/v4p4/Vcs/BitBucketApi.php delete mode 100755 admin/update-checker/Puc/v4p4/Vcs/GitHubApi.php delete mode 100755 admin/update-checker/Puc/v4p4/Vcs/GitLabApi.php delete mode 100755 admin/update-checker/Puc/v4p4/Vcs/PluginUpdateChecker.php delete mode 100755 admin/update-checker/Puc/v4p4/Vcs/Reference.php delete mode 100755 admin/update-checker/Puc/v4p4/Vcs/ThemeUpdateChecker.php delete mode 100755 admin/update-checker/css/puc-debug-bar.css delete mode 100755 admin/update-checker/js/debug-bar.js delete mode 100755 admin/update-checker/license.txt delete mode 100755 admin/update-checker/plugin-update-checker.php delete mode 100755 admin/update-checker/vendor/Parsedown.php delete mode 100755 admin/update-checker/vendor/ParsedownLegacy.php delete mode 100755 admin/update-checker/vendor/readme-parser.php diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a1ac99..2de4f5e 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ # CHANGELOG All notable changes to this project will be documented in this file. +#### 4.9 +- Removed hard coded email from woocommerce templates + #### 4.8 - Removed hard coded email from woocommerce templates diff --git a/README.md b/README.md index 72d5849..03d877a 100755 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ This plugin is very useful for creating a license server and doing the following - [-] Woocommerce - [-] WP eStore - [-] WP Download Manager -- [ ] WIP: Woocommerce Subscriptions + ## Screenshots Software License Manager diff --git a/admin/includes/emails/class.php b/admin/includes/emails/class.php deleted file mode 100644 index 485492e..0000000 --- a/admin/includes/emails/class.php +++ /dev/null @@ -1,58 +0,0 @@ -mailer(); - - $recipient = $order->billing_email; - $subject = __('Order Confirmation', 'slm'); - $content = slm_get_processing_notification_content( $order, $subject, $mailer ); - $headers = "Content-Type: text/html\r\n"; - - $mailer->send( $recipient, $subject, $content, $headers ); - -} - -add_action( 'woocommerce_order_status_completed', 'slm_processing_notification', 10, 1 ); -add_action( 'woocommerce_order_status_processing', 'slm_processing_notification', 10, 1 ); - -/** - * Get content html. - * - * @param WC_Order $order - * @param str $heading - * @param obj $mailer - * @return string - */ -function slm_get_processing_notification_content( $order, $heading = false, $mailer ) { - - $template = 'emails/customer-completed-order.php'; - - return wc_get_template_html( $template, array( - 'order' => $order, - 'email_heading' => $heading, - 'sent_to_admin' => true, - 'plain_text' => false, - 'email' => $mailer - ) ); -} - - diff --git a/admin/includes/slm-list-table-class.php b/admin/includes/slm-list-table-class.php index 466af4f..e69de29 100755 --- a/admin/includes/slm-list-table-class.php +++ b/admin/includes/slm-list-table-class.php @@ -1,907 +0,0 @@ - '', - 'singular' => '', - 'ajax' => false, - 'screen' => null, - ) ); - - $this->screen = convert_to_screen( $args['screen'] ); - - add_filter( "manage_{$this->screen->id}_columns", array( &$this, 'get_columns' ), 0 ); - - if ( !$args['plural'] ) - $args['plural'] = $this->screen->base; - - $args['plural'] = sanitize_key( $args['plural'] ); - $args['singular'] = sanitize_key( $args['singular'] ); - - $this->_args = $args; - - if ( $args['ajax'] ) { - // wp_enqueue_script( 'list-table' ); - add_action( 'admin_footer', array( &$this, '_js_vars' ) ); - } - } - - /** - * Checks the current user's permissions - * @uses wp_die() - * - * @since 3.1.0 - * @access public - * @abstract - */ - function ajax_user_can() { - die( 'function WP_Photo_Seller_List_Table::ajax_user_can() must be over-ridden in a sub-class.' ); - } - - /** - * Prepares the list of items for displaying. - * @uses WP_Photo_Seller_List_Table::set_pagination_args() - * - * @since 3.1.0 - * @access public - * @abstract - */ - function prepare_items() { - die( 'function WP_Photo_Seller_List_Table::prepare_items() must be over-ridden in a sub-class.' ); - } - - /** - * An internal method that sets all the necessary pagination arguments - * - * @param array $args An associative array with information about the pagination - * @access protected - */ - function set_pagination_args( $args ) { - $args = wp_parse_args( $args, array( - 'total_items' => 0, - 'total_pages' => 0, - 'per_page' => 0, - ) ); - - if ( !$args['total_pages'] && $args['per_page'] > 0 ) - $args['total_pages'] = ceil( $args['total_items'] / $args['per_page'] ); - - // redirect if page number is invalid and headers are not already sent - if ( ! headers_sent() && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) && $args['total_pages'] > 0 && $this->get_pagenum() > $args['total_pages'] ) { - wp_redirect( esc_url(add_query_arg( 'paged', $args['total_pages'] )) ); - exit; - } - - $this->_pagination_args = $args; - } - - /** - * Access the pagination args - * - * @since 3.1.0 - * @access public - * - * @param string $key - * @return array - */ - function get_pagination_arg( $key ) { - if ( 'page' == $key ) - return $this->get_pagenum(); - - if ( isset( $this->_pagination_args[$key] ) ) - return $this->_pagination_args[$key]; - } - - /** - * Whether the table has items to display or not - * - * @since 3.1.0 - * @access public - * - * @return bool - */ - function has_items() { - return !empty( $this->items ); - } - - /** - * Message to be displayed when there are no items - * - * @since 3.1.0 - * @access public - */ - function no_items() { - _e( 'No items found.' ); - } - - /** - * Display the search box. - * - * @since 3.1.0 - * @access public - * - * @param string $text The search button text - * @param string $input_id The search input id - */ - function search_box( $text, $input_id ) { - if ( empty( $_REQUEST['s'] ) && !$this->has_items() ) - return; - - $input_id = $input_id . '-search-input'; - - if ( ! empty( $_REQUEST['orderby'] ) ) - echo ''; - if ( ! empty( $_REQUEST['order'] ) ) - echo ''; - if ( ! empty( $_REQUEST['post_mime_type'] ) ) - echo ''; - if ( ! empty( $_REQUEST['detached'] ) ) - echo ''; -?> - - link ) with the list - * of views available on this table. - * - * @since 3.1.0 - * @access protected - * - * @return array - */ - function get_views() { - return array(); - } - - /** - * Display the list of views available on this table. - * - * @since 3.1.0 - * @access public - */ - function views() { - $views = $this->get_views(); - $views = apply_filters( 'views_' . $this->screen->id, $views ); - - if ( empty( $views ) ) - return; - - echo "
      \n"; - foreach ( $views as $class => $view ) { - $views[ $class ] = "\t
    • $view"; - } - echo implode( " |
    • \n", $views ) . "\n"; - echo "
    "; - } - - /** - * Get an associative array ( option_name => option_title ) with the list - * of bulk actions available on this table. - * - * @since 3.1.0 - * @access protected - * - * @return array - */ - function get_bulk_actions() { - return array(); - } - - /** - * Display the bulk actions dropdown. - * - * @since 3.1.0 - * @access public - */ - function bulk_actions() { - if ( is_null( $this->_actions ) ) { - $no_new_actions = $this->_actions = $this->get_bulk_actions(); - // This filter can currently only be used to remove actions. - $this->_actions = apply_filters( 'bulk_actions-' . $this->screen->id, $this->_actions ); - $this->_actions = array_intersect_assoc( $this->_actions, $no_new_actions ); - $two = ''; - } else { - $two = '2'; - } - - if ( empty( $this->_actions ) ) - return; - - echo "\n"; - - submit_button( __( 'Apply' ), 'action', false, false, array( 'id' => "doaction$two" ) ); - echo "\n"; - } - - /** - * Get the current action selected from the bulk actions dropdown. - * - * @since 3.1.0 - * @access public - * - * @return string|bool The action name or False if no action was selected - */ - function current_action() { - if ( isset( $_REQUEST['action'] ) && -1 != $_REQUEST['action'] ) - return $_REQUEST['action']; - - if ( isset( $_REQUEST['action2'] ) && -1 != $_REQUEST['action2'] ) - return $_REQUEST['action2']; - - return false; - } - - /** - * Generate row actions div - * - * @since 3.1.0 - * @access protected - * - * @param array $actions The list of actions - * @param bool $always_visible Whether the actions should be always visible - * @return string - */ - function row_actions( $actions, $always_visible = false ) { - $action_count = count( $actions ); - $i = 0; - - if ( !$action_count ) - return ''; - - $out = '
    '; - foreach ( $actions as $action => $link ) { - ++$i; - ( $i == $action_count ) ? $sep = '' : $sep = ' | '; - $out .= "$link$sep"; - } - $out .= '
    '; - - return $out; - } - - /** - * Display a monthly dropdown for filtering items - * - * @since 3.1.0 - * @access protected - */ - function months_dropdown( $post_type ) { - global $wpdb, $wp_locale; - - $months = $wpdb->get_results( $wpdb->prepare( " - SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month - FROM $wpdb->posts - WHERE post_type = %s - ORDER BY post_date DESC - ", $post_type ) ); - - $month_count = count( $months ); - - if ( !$month_count || ( 1 == $month_count && 0 == $months[0]->month ) ) - return; - - $m = isset( $_GET['m'] ) ? (int) $_GET['m'] : 0; -?> - - __( 'List View' ), - 'excerpt' => __( 'Excerpt View' ) - ); - -?> - -
    - $title ) { - $class = ( $current_mode == $mode ) ? 'class="current"' : ''; - echo "$title\n"; - } - ?> -
    -'; - - echo "" . number_format_i18n( get_comments_number() ) . ""; - - if ( $pending_comments ) - echo ''; - } - - /** - * Get the current page number - * - * @since 3.1.0 - * @access protected - * - * @return int - */ - function get_pagenum() { - $pagenum = isset( $_REQUEST['paged'] ) ? absint( $_REQUEST['paged'] ) : 0; - - if( isset( $this->_pagination_args['total_pages'] ) && $pagenum > $this->_pagination_args['total_pages'] ) - $pagenum = $this->_pagination_args['total_pages']; - - return max( 1, $pagenum ); - } - - /** - * Get number of items to display on a single page - * - * @since 3.1.0 - * @access protected - * - * @return int - */ - function get_items_per_page( $option, $default = 20 ) { - $per_page = (int) get_user_option( $option ); - if ( empty( $per_page ) || $per_page < 1 ) - $per_page = $default; - - return (int) apply_filters( $option, $per_page ); - } - - /** - * Display the pagination. - * - * @since 3.1.0 - * @access protected - */ - function pagination( $which ) { - if ( empty( $this->_pagination_args ) ) - return; - - extract( $this->_pagination_args, EXTR_SKIP ); - - $output = '' . sprintf( _n( '1 item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . ''; - - $current = $this->get_pagenum(); - - $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ); - - $current_url = remove_query_arg( array( 'hotkeys_highlight_last', 'hotkeys_highlight_first' ), $current_url ); - - $page_links = array(); - - $disable_first = $disable_last = ''; - if ( $current == 1 ) - $disable_first = ' disabled'; - if ( $current == $total_pages ) - $disable_last = ' disabled'; - - $page_links[] = sprintf( "%s", - 'first-page' . $disable_first, - esc_attr__( 'Go to the first page' ), - esc_url( remove_query_arg( 'paged', $current_url ) ), - '«' - ); - - $page_links[] = sprintf( "%s", - 'prev-page' . $disable_first, - esc_attr__( 'Go to the previous page' ), - esc_url( add_query_arg( 'paged', max( 1, $current-1 ), $current_url ) ), - '‹' - ); - - if ( 'bottom' == $which ) - $html_current_page = $current; - else - $html_current_page = sprintf( "", - esc_attr__( 'Current page' ), - $current, - strlen( $total_pages ) - ); - - $html_total_pages = sprintf( "%s", number_format_i18n( $total_pages ) ); - $page_links[] = '' . sprintf( _x( '%1$s of %2$s', 'paging' ), $html_current_page, $html_total_pages ) . ''; - - $page_links[] = sprintf( "%s", - 'next-page' . $disable_last, - esc_attr__( 'Go to the next page' ), - esc_url( add_query_arg( 'paged', min( $total_pages, $current+1 ), $current_url ) ), - '›' - ); - - $page_links[] = sprintf( "%s", - 'last-page' . $disable_last, - esc_attr__( 'Go to the last page' ), - esc_url( add_query_arg( 'paged', $total_pages, $current_url ) ), - '»' - ); - - $pagination_links_class = 'pagination-links'; - if ( ! empty( $infinite_scroll ) ) - $pagination_links_class = ' hide-if-js'; - $output .= "\n" . join( "\n", $page_links ) . ''; - - if ( $total_pages ) - $page_class = $total_pages < 2 ? ' one-page' : ''; - else - $page_class = ' no-pages'; - - $this->_pagination = "
    $output
    "; - - echo $this->_pagination; - } - - /** - * Get a list of columns. The format is: - * 'internal-name' => 'Title' - * - * @since 3.1.0 - * @access protected - * @abstract - * - * @return array - */ - function get_columns() { - die( 'function WP_Photo_Seller_List_Table::get_columns() must be over-ridden in a sub-class.' ); - } - - /** - * Get a list of sortable columns. The format is: - * 'internal-name' => 'orderby' - * or - * 'internal-name' => array( 'orderby', true ) - * - * The second format will make the initial sorting order be descending - * - * @since 3.1.0 - * @access protected - * - * @return array - */ - function get_sortable_columns() { - return array(); - } - - /** - * Get a list of all, hidden and sortable columns, with filter applied - * - * @since 3.1.0 - * @access protected - * - * @return array - */ - function get_column_info() { - if ( isset( $this->_column_headers ) ) - return $this->_column_headers; - - $columns = get_column_headers( $this->screen ); - $hidden = get_hidden_columns( $this->screen ); - - $_sortable = apply_filters( "manage_{$this->screen->id}_sortable_columns", $this->get_sortable_columns() ); - - $sortable = array(); - foreach ( $_sortable as $id => $data ) { - if ( empty( $data ) ) - continue; - - $data = (array) $data; - if ( !isset( $data[1] ) ) - $data[1] = false; - - $sortable[$id] = $data; - } - - $this->_column_headers = array( $columns, $hidden, $sortable ); - - return $this->_column_headers; - } - - /** - * Return number of visible columns - * - * @since 3.1.0 - * @access public - * - * @return int - */ - function get_column_count() { - list ( $columns, $hidden ) = $this->get_column_info(); - $hidden = array_intersect( array_keys( $columns ), array_filter( $hidden ) ); - return count( $columns ) - count( $hidden ); - } - - /** - * Print column headers, accounting for hidden and sortable columns. - * - * @since 3.1.0 - * @access protected - * - * @param bool $with_id Whether to set the id attribute or not - */ - function print_column_headers( $with_id = true ) { - list( $columns, $hidden, $sortable ) = $this->get_column_info(); - - $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ); - $current_url = remove_query_arg( 'paged', $current_url ); - - if ( isset( $_GET['orderby'] ) ) - $current_orderby = $_GET['orderby']; - else - $current_orderby = ''; - - if ( isset( $_GET['order'] ) && 'desc' == $_GET['order'] ) - $current_order = 'desc'; - else - $current_order = 'asc'; - - if ( ! empty( $columns['cb'] ) ) { - static $cb_counter = 1; - $columns['cb'] = '' - . ''; - $cb_counter++; - } - - foreach ( $columns as $column_key => $column_display_name ) { - $class = array( 'manage-column', "column-$column_key" ); - - $style = ''; - if ( in_array( $column_key, $hidden ) ) - $style = 'display:none;'; - - $style = ' style="' . $style . '"'; - - if ( 'cb' == $column_key ) - $class[] = 'check-column'; - elseif ( in_array( $column_key, array( 'posts', 'comments', 'links' ) ) ) - $class[] = 'num'; - - if ( isset( $sortable[$column_key] ) ) { - list( $orderby, $desc_first ) = $sortable[$column_key]; - - if ( $current_orderby == $orderby ) { - $order = 'asc' == $current_order ? 'desc' : 'asc'; - $class[] = 'sorted'; - $class[] = $current_order; - } else { - $order = $desc_first ? 'desc' : 'asc'; - $class[] = 'sortable'; - $class[] = $desc_first ? 'asc' : 'desc'; - } - - $column_display_name = '' . $column_display_name . ''; - } - - $id = $with_id ? "id='$column_key'" : ''; - - if ( !empty( $class ) ) - $class = "class='" . join( ' ', $class ) . "'"; - - echo "$column_display_name"; - } - } - - /** - * Display the table - * - * @since 3.1.0 - * @access public - */ - function display() { - extract( $this->_args ); - - $this->display_tablenav( 'top' ); - -?> - - - - print_column_headers(); ?> - - - - - - print_column_headers( false ); ?> - - - - > - display_rows_or_placeholder(); ?> - -
    -display_tablenav( 'bottom' ); - } - - /** - * Get a list of CSS classes for the tag - * - * @since 3.1.0 - * @access protected - * - * @return array - */ - function get_table_classes() { - return array( 'widefat', 'fixed', $this->_args['plural'] ); - } - - /** - * Generate the table navigation above or below the table - * - * @since 3.1.0 - * @access protected - */ - function display_tablenav( $which ) { - if ( 'top' == $which ) - wp_nonce_field( 'bulk-' . $this->_args['plural'] ); -?> -
    - -
    - bulk_actions(); ?> -
    -extra_tablenav( $which ); - $this->pagination( $which ); -?> - -
    -
    - part of the table - * - * @since 3.1.0 - * @access protected - */ - function display_rows_or_placeholder() { - if ( $this->has_items() ) { - $this->display_rows(); - } else { - list( $columns, $hidden ) = $this->get_column_info(); - echo ''; - } - } - - /** - * Generate the table rows - * - * @since 3.1.0 - * @access protected - */ - function display_rows() { - foreach ( $this->items as $item ) - $this->single_row( $item ); - } - - /** - * Generates content for a single row of the table - * - * @since 3.1.0 - * @access protected - * - * @param object $item The current item - */ - function single_row( $item ) { - static $row_class = ''; - $row_class = ( $row_class == '' ? ' class="alternate"' : '' ); - - echo ''; - echo $this->single_row_columns( $item ); - echo ''; - } - - /** - * Generates the columns for a single row of the table - * - * @since 3.1.0 - * @access protected - * - * @param object $item The current item - */ - function single_row_columns( $item ) { - list( $columns, $hidden ) = $this->get_column_info(); - - foreach ( $columns as $column_name => $column_display_name ) { - $class = "class='$column_name column-$column_name'"; - - $style = ''; - if ( in_array( $column_name, $hidden ) ) - $style = ' style="display:none;"'; - - $attributes = "$class$style"; - - if ( 'cb' == $column_name ) { - echo ''; - } - elseif ( method_exists( $this, 'column_' . $column_name ) ) { - echo ""; - } - else { - echo ""; - } - } - } - - /** - * Handle an incoming ajax request (called from admin-ajax.php) - * - * @since 3.1.0 - * @access public - */ - function ajax_response() { - $this->prepare_items(); - - extract( $this->_args ); - extract( $this->_pagination_args, EXTR_SKIP ); - - ob_start(); - if ( ! empty( $_REQUEST['no_placeholder'] ) ) - $this->display_rows(); - else - $this->display_rows_or_placeholder(); - - $rows = ob_get_clean(); - - $response = array( 'rows' => $rows ); - - if ( isset( $total_items ) ) - $response['total_items_i18n'] = sprintf( _n( '1 item', '%s items', $total_items ), number_format_i18n( $total_items ) ); - - if ( isset( $total_pages ) ) { - $response['total_pages'] = $total_pages; - $response['total_pages_i18n'] = number_format_i18n( $total_pages ); - } - - die( json_encode( $response ) ); - } - - /** - * Send required variables to JavaScript land - * - * @access private - */ - function _js_vars() { - $args = array( - 'class' => get_class( $this ), - 'screen' => array( - 'id' => $this->screen->id, - 'base' => $this->screen->base, - ) - ); - - printf( "\n", json_encode( $args ) ); - } -} diff --git a/admin/includes/woocommerce/includes/helper.php b/admin/includes/woocommerce/includes/helper.php deleted file mode 100755 index 1f0300d..0000000 --- a/admin/includes/woocommerce/includes/helper.php +++ /dev/null @@ -1,23 +0,0 @@ -'; - print_r($args); - echo ''; -} - -function wc_slm_log($msg) { - $log = ABSPATH . DIRECTORY_SEPARATOR . 'slm_log.txt'; - file_put_contents($log, $msg . ' -', FILE_APPEND); -} diff --git a/admin/includes/woocommerce/includes/purchase.php b/admin/includes/woocommerce/includes/purchase.php deleted file mode 100755 index c4ac720..0000000 --- a/admin/includes/woocommerce/includes/purchase.php +++ /dev/null @@ -1,370 +0,0 @@ -get_id(); - - // write_log('purchase_id_ -- '.$purchase_id_ ); - // write_log('purchase_id_ -- '.$user_id ); - - global $user_id; - - $user_id = $order_id->get_user_id(); - $user_info = get_userdata($user_id); - $get_user_meta = get_user_meta($user_id); - $payment_meta['user_info']['first_name'] = $get_user_meta['billing_first_name'][0]; - $payment_meta['user_info']['last_name'] = $get_user_meta['billing_last_name'][0]; - $payment_meta['user_info']['email'] = $get_user_meta['billing_email'][0]; - $payment_meta['user_info']['company'] = $get_user_meta['billing_company'][0]; - - // write_log('user_id -- '.$user_id ); - - // Collect license keys - $licenses = array(); - $items = $order_id->get_items(); - - //write_log($items); - - - foreach ($items as $item => $values) { - $download_id = $product_id = $values['product_id']; - $product = new WC_Product($product_id); - // $variation_id = new WC_Product_Variation($product_id); - - //if ($product->is_downloadable('yes')) { - - $download_quantity = absint($values['qty']); - for ($i = 1; $i <= $download_quantity; $i++) { - /** - * Calculate Expire date - * @since 1.0.3 - */ - $renewal_period = (int) wc_slm_get_licensing_renewal_period($product_id); - - if ($renewal_period == 0) { - $renewal_period = '0000-00-00'; - } - else { - $renewal_period = date('Y-m-d', strtotime('+' . $renewal_period . ' years')); - } - - //write_log('renewal_period -- '.$renewal_period ); - - - // Sites allowed get license meta from variation - $sites_allowed = wc_slm_get_sites_allowed($product_id); - $devices_allowed = wc_slm_get_devices_allowed($product_id); - $amount_of_licenses = wc_slm_get_licenses_qty($product_id); - - if (!$sites_allowed) { - $sites_allowed_error = __('License could not be created: Invalid sites allowed number.', 'wc-slm'); - $int = wc_insert_payment_note($purchase_id_, $sites_allowed_error); - break; - } - - // Get an instance of the WC_Order object (same as before) - $order = new WC_Order( $order_id ); - - // Get the order ID - $order_id = $order->get_id(); - - // Get the custumer ID - // $user_id = $order->get_user_id(); - $order_data = $order->get_data(); // The Order data - - // Iterating through each WC_Order_Item objects - foreach( $order-> get_items() as $item_key => $item_values ){ - - ## Using WC_Order_Item methods ## - $item_id = $item_values->get_id(); - $item_name = $item_values->get_name(); - $item_type = $item_values->get_type(); - - ## Access Order Items data properties (in an array of values) ## - $item_data = $item_values->get_data(); - $product_name = $item_data['name']; - $product_id = $item_data['product_id']; - // $variation_id = $item_data['variation_id']; - $quantity = $item_data['quantity']; - $tax_class = $item_data['tax_class']; - $line_subtotal = $item_data['subtotal']; - $line_subtotal_tax = $item_data['subtotal_tax']; - $line_total = $item_data['total']; - $line_total_tax = $item_data['total_tax']; - // $post_object = get_post($variation_id); - - $amount_of_licenses = wc_slm_get_sites_allowed($product_id); - $_license_current_version = get_post_meta( $product_id, '_license_current_version', true ); - $amount_of_licenses_devices = wc_slm_get_devices_allowed($product_id); - $current_version = (int)get_post_meta( $product_id, '_license_current_version', true); - $license_type = get_post_meta( $product_id, '_license_type', true ); - } - - // Transaction id - $transaction_id = wc_get_payment_transaction_id($product_id); - - // Build item name - $item_name = $product->get_title(); - - // Build parameters - $api_params = array(); - $api_params['slm_action'] = 'slm_create_new'; - $api_params['secret_key'] = KEY_API; - $api_params['first_name'] = (isset($payment_meta['user_info']['first_name'])) ? $payment_meta['user_info']['first_name'] : ''; - $api_params['last_name'] = (isset($payment_meta['user_info']['last_name'])) ? $payment_meta['user_info']['last_name'] : ''; - $api_params['email'] = (isset($payment_meta['user_info']['email'])) ? $payment_meta['user_info']['email'] : ''; - $api_params['company_name'] = $payment_meta['user_info']['company']; - $api_params['purchase_id_'] = $purchase_id_; - $api_params['product_ref'] = $product_id; // TODO: get product id - $api_params['txn_id'] = $purchase_id_; - $api_params['max_allowed_domains'] = $amount_of_licenses; - $api_params['max_allowed_devices'] = $amount_of_licenses_devices; - $api_params['date_created'] = date('Y-m-d'); - $api_params['date_expiry'] = $renewal_period; - $api_params['until'] = $_license_current_version; - $api_params['subscr_id'] = $order->get_customer_id(); - $api_params['lic_type'] = $license_type; - - //write_log('license_type -- ' . $license_type ); - - // Send query to the license manager server - $url = 'http://' . WOO_SLM_API_URL . '?' . http_build_query($api_params); - $url = str_replace(array('http://', 'https://'), '', $url); - $url = 'http://' . $url; - $response = wp_remote_get($url, array('timeout' => 20, 'sslverify' => false)); - $license_key = wc_slm_get_license_key($response); - - // Collect license keys - if ($license_key) { - $licenses[] = array( - 'item' => $item_name, - 'key' => $license_key, - 'expires' => $renewal_period, - ); - } - } - // } - } - - // Payment note - wc_slm_payment_note($order_id, $licenses); - - // Assign licenses - wc_slm_assign_licenses($order_id, $licenses); -} - -function wc_slm_get_license_key($response) { - // Check for error in the response - if (is_wp_error($response)) { - return false; - } - // Get License data - $json = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', utf8_encode(wp_remote_retrieve_body($response))); - $license_data = json_decode($json); - - if (!isset($license_data->key)) { - return false; - } - // Prepare note text - return $license_data->key; -} - -function wc_slm_get_license_id($license){ - global $wpdb; - $license_id = $wpdb->get_row("SELECT ID, license_key FROM ". $wpdb->prefix . "lic_key_tbl" . " WHERE license_key = '".$license."' ORDER BY id DESC LIMIT 0,1"); - return $license_id->ID; -} - -function wc_slm_payment_note($order_id, $licenses) { - if ($licenses && count($licenses) != 0) { - $message = __('License Key(s) generated', 'wc-slm'); - - foreach ($licenses as $license) { - $license_key = $license['key']; - $message .= '
    ' . $license['item'] . ': ' . $license_key . ''; - add_post_meta($order_id, 'slm_wc_license_order_key', $license_key); - //write_log($license_key); - } - } - else { - $message = __('License Key(s) could not be created.', 'wc-slm'); - } - - // Save note - $int = wc_insert_payment_note($order_id, $message); -} - -function wc_slm_assign_licenses($order_id, $licenses) { - if (count($licenses) != 0) { - add_post_meta($order_id, '_wc_slm_payment_licenses', $licenses); - } -} - -function wc_slm_get_sites_allowed($product_id) { - $wc_slm_sites_allowed = absint(get_post_meta($product_id, '_domain_licenses', true)); - if (empty($wc_slm_sites_allowed)) { - return false; - } - return $wc_slm_sites_allowed; -} - -function wc_slm_get_lic_type($product_id) { - $_license_type = absint(get_post_meta($product_id, '_license_type', true)); - if (empty($_license_type)) { - return false; - } - return $_license_type; -} - -function wc_slm_get_devices_allowed($product_id) { - $_devices_licenses = absint(get_post_meta($product_id, '_devices_licenses', true)); - if (empty($_devices_licenses)) { - return false; - } - return $_devices_licenses; -} - -function wc_slm_get_licenses_qty($product_id) { - $amount_of_licenses = absint(get_post_meta($product_id, '_amount_of_licenses', true)); - if (empty($amount_of_licenses)) { - return false; - } - return $amount_of_licenses; -} - -function wc_slm_get_licensing_renewal_period($product_id) { - $_license_renewal_period = absint(get_post_meta($product_id, '_license_renewal_period', true)); - if (empty($_license_renewal_period)) { - return 0; - } - return $_license_renewal_period; -} - -function wc_slm_is_licensing_enabled($download_id) { - $licensing_enabled = absint(get_post_meta($download_id, '_wc_slm_licensing_enabled', true)); - // Set defaults - if ($licensing_enabled) { - return true; - } - else { - return false; - } -} - -function wc_insert_payment_note($order_id, $msg) { - $order = new WC_Order($order_id); - $order->add_order_note($msg); -} - -function wc_get_payment_transaction_id($order_id) { - return get_post_meta($order_id, '_transaction_id', true); -} - -function slm_order_completed( $order_id ) { - $order_id = new WC_Order( $order_id ); - $purchase_id_ = $order_id->get_id(); - $order = wc_get_order( $order_id ); - $items = $order->get_items(); - $message = 'ddd'; //get license - - $user_id = $order_id->get_user_id(); - $user_info = get_userdata($user_id); - $get_user_meta = get_user_meta($user_id); - $payment_meta['user_info']['email'] = $get_user_meta['billing_email'][0]; - - $to_email = $payment_meta['user_info']['email']; - $headers = 'From: '. get_bloginfo( 'name' ).' <'.get_bloginfo('admin_email').'>' . "\r\n"; - wp_mail($to_email, 'License details', $message, $headers ); - - // The text for the note - $note = __("Order confirmation email sent to: " . $to_email . "" ); - // Add the note - $order->add_order_note( $note ); - // Save the data - $order->save(); - //write_log($to_email . 'License details'. $message . $headers ); -} - -function slm_show_msg( $order_id ) { - $order_id = new WC_Order( $order_id ); - $purchase_id_ = $order_id->get_id(); - $order = wc_get_order( $order_id ); - $items = $order->get_items(); - - foreach ( $items as $item ) { - $product_name = $item->get_name(); - $product_id = $item->get_product_id(); - $product_variation_id = $item->get_variation_id(); - $amount_of_licenses = wc_slm_get_sites_allowed($product_id); - - // is a licensed product - //var_dump(get_post_meta($product_id)); - - if ($amount_of_licenses) { - echo '
    -

    My subscriptions

    -
    '; - $this->no_items(); - echo '
    '; - echo $this->column_cb( $item ); - echo '"; - echo call_user_func( array( &$this, 'column_' . $column_name ), $item ); - echo ""; - echo $this->column_default( $item, $column_name ); - echo "
    - - - - - - - - - - -
    My Account
    - You can see and manage your licenses inside your account. Manage Licenses
    -
    '; - } - } -} \ No newline at end of file diff --git a/admin/includes/woocommerce/license.txt b/admin/includes/woocommerce/license.txt deleted file mode 100755 index 94a9ed0..0000000 --- a/admin/includes/woocommerce/license.txt +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/admin/includes/woocommerce/wc-software-license-manager.php b/admin/includes/woocommerce/wc-software-license-manager.php deleted file mode 100755 index 2aa9a2f..0000000 --- a/admin/includes/woocommerce/wc-software-license-manager.php +++ /dev/null @@ -1,33 +0,0 @@ -) -// Author: Omid Shamlu -// Author URI: http://wp-master.ir - - -if (!class_exists('WOO_SLM')) { - class WOO_SLM { - private static $instance; - public static function instance() { - if (!self::$instance) { - self::$instance = new WOO_SLM(); - self::$instance->setup_constants(); - self::$instance->includes(); - } - return self::$instance; - } - private function setup_constants() { - define('WOO_SLM_VER', '4.5'); - define('WOO_SLM_API_URL', get_site_url().'/'); - define('WOO_SLM_API_SECRET', SLM_Helper_Class::slm_get_option('lic_creation_secret')); - define('KEY_API', SLM_Helper_Class::slm_get_option('lic_creation_secret')); - define('KEY_API_PREFIX', SLM_Helper_Class::slm_get_option('lic_prefix')); - } - private function includes() { - require_once SLM_ADMIN_ADDONS . 'emails/class.php'; - require_once SLM_ADMIN_ADDONS . 'woocommerce/includes/helper.php'; - require_once SLM_ADMIN_ADDONS . 'woocommerce/includes/purchase.php'; - } - } - return WOO_SLM::instance(); -} \ No newline at end of file diff --git a/admin/slm-add-licenses.php b/admin/slm-add-licenses.php index 891c7f4..a8939c0 100755 --- a/admin/slm-add-licenses.php +++ b/admin/slm-add-licenses.php @@ -1,12 +1,15 @@ '; @@ -62,7 +64,7 @@ function wp_lic_mgr_add_licenses_menu() { if (isset($_POST['save_record'])) { //Check nonce - if ( !isset($_POST['slm_add_edit_nonce_val']) || !wp_verify_nonce($_POST['slm_add_edit_nonce_val'], 'slm_add_edit_nonce_action' )){ + if (!isset($_POST['slm_add_edit_nonce_val']) || !wp_verify_nonce($_POST['slm_add_edit_nonce_val'], 'slm_add_edit_nonce_action')) { //Nonce check failed. wp_die("Error! Nonce verification failed for license save action."); } @@ -89,13 +91,13 @@ function wp_lic_mgr_add_licenses_menu() { $subscr_id = $_POST['subscr_id']; $lic_type = $_POST['lic_type']; - if(empty($created_date)){ + if (empty($created_date)) { $created_date = $current_date; } - if(empty($renewed_date)){ + if (empty($renewed_date)) { $renewed_date = $current_date; } - if(empty($expiry_date)){ + if (empty($expiry_date)) { $expiry_date = $current_date_plus_1year; } @@ -121,437 +123,512 @@ function wp_lic_mgr_add_licenses_menu() { $lic_type = $_POST['lic_type']; - $id = isset($_POST['edit_record'])?$_POST['edit_record']:''; + $id = isset($_POST['edit_record']) ? $_POST['edit_record'] : ''; $lk_table = SLM_TBL_LICENSE_KEYS; if (empty($id)) { //Insert into database - $result = $wpdb->insert( $lk_table, $fields); + $result = $wpdb->insert($lk_table, $fields); $id = $wpdb->insert_id; - if($result === false){ + if ($result === false) { $errors .= __('Record could not be inserted into the database!', 'slm'); } - } - else { + } else { //Update record - $where = array('id'=>$id); + $where = array('id' => $id); $updated = $wpdb->update($lk_table, $fields, $where); - if($updated === false){ + if ($updated === false) { //TODO - log error $errors .= __('Update of the license key table failed!', 'slm'); } } - if(empty($errors)){ + if (empty($errors)) { $message = "Record successfully saved!"; echo '

    '; echo $message; echo '

    '; - }else{ + } else { echo '
    ' . $errors . '
    '; } $data = array('row_id' => $id, 'key' => $license_key); - do_action('slm_add_edit_interface_save_record_processed',$data); - + do_action('slm_add_edit_interface_save_record_processed', $data); } -?> + ?> - - + + + + + + - -
    - -
    -
    + + +
    +
    +
    + +
    +

    + Software License Manager +

    +

    + You can add a new license or edit an existing one from this interface. +

    +
    +
    +
    + +
    -
    -
    -
    - -

    - Software License Manager -

    -

    - You can add a new license or edit an existing one from this interface. -

    - -
    -
    -
    - +
    -

    +

    -
    Enable Debug Logging value="1"/> + value="1" />

    If checked, debug output will be written to log files (keep it disabled unless you are troubleshooting).

    -
    - View debug log file by clicking here.. -
    - Reset debug log file by clicking here. + - View debug log file by clicking here.. + - Reset debug log file by clicking here.
    -
    +
    +
    - 'item', //singular name of the listed records 'plural' => 'items', //plural name of the listed records - 'ajax' => false //does this table support ajax? - ) ); + 'ajax' => false //does this table support ajax? + )); + } + // TODO + // protected function get_views() + // { + // $status_links = array( + // "all" => __("All", 'slm'), + // "pending" => __("Pending", 'slm'), + // "active" => __("Active", 'slm'), + // "expired" => __("Expired", 'slm'), + // ); + // return $status_links; + // } + + public function no_items() + { + _e('No licenses avaliable.', 'slm'); } - function column_default($item, $column_name){ - return $item[$column_name]; + function column_default($item, $column_name) + { + return $item[$column_name]; } - function column_id($item){ + + function column_id($item) + { $row_id = $item['id']; $actions = array( - 'edit' => sprintf('Edit', $row_id), - 'delete' => sprintf('Delete',$row_id), + 'edit' => sprintf('Edit', $row_id), + // 'delete' => sprintf('Delete', $row_id), + // 'block_license' => sprintf( 'Block', $row_id), ); - return sprintf('%1$s %2$s', - /*$1%s*/ $item['id'], - /*$2%s*/ $this->row_actions($actions) + return sprintf( + ' %1$s %2$s', + /*$1%s*/ + $item['id'], + /*$2%s*/ + $this->row_actions($actions) ); } - function column_cb($item){ + function column_cb($item) + { return sprintf( '', - /*$1%s*/ $this->_args['singular'], //Let's simply repurpose the table's singular label - /*$2%s*/ $item['id'] //The value of the checkbox should be the record's id - ); + /*$1%s*/ + $this->_args['singular'], //Let's simply repurpose the table's singular label + /*$2%s*/ + $item['id'] //The value of the checkbox should be the record's id + ); } - function column_active($item){ - if ($item['active'] == 1){ + function column_active($item) + { + if ($item['active'] == 1) { return 'active'; - } - else{ + } else { return 'inactive'; } } - function get_columns(){ + function get_columns() + { $columns = array( 'cb' => '', //Render a checkbox 'id' => 'ID', - 'license_key' => 'License Key', + 'license_key' => 'Key', 'lic_status' => 'Status', - 'max_allowed_domains' => 'Domains Allowed', - 'max_allowed_devices' => 'Domains Devices', - 'purchase_id_' => 'Related Purchase', - 'email' => 'Registered Email', - 'date_created' => 'Date Created', - 'date_renewed' => 'Date Renewed', + 'email' => 'Email', + 'max_allowed_domains' => 'Domains', + 'max_allowed_devices' => 'Devices', + 'purchase_id_' => 'Purchase #', + 'date_created' => 'Created pn', + // 'date_renewed' => 'Date Renewed', 'date_expiry' => 'Expiration', - 'until' => 'Supported Until', + 'until' => 'Until Ver.', ); return $columns; } - function get_sortable_columns() { + + function get_sortable_columns() + { + // $sortable_columns = array( + // 'id' => array('id', false), + // 'license_key' => array('license_key', false), + // 'lic_status' => array('lic_status', false), + // 'purchase_id_' => array('purchase_id_', false), + // 'until' => array('until', false), + // 'email' => array('email', false), + // 'date_created' => array('date_created', false), + // 'date_renewed' => array('date_renewed', false), + // 'date_expiry' => array('date_expiry', false), + // ); $sortable_columns = array( - 'id' => array('id',false), - 'license_key' => array('license_key',false), - 'lic_status' => array('lic_status',false), - 'purchase_id_' => array('purchase_id_',false), - 'until' => array('until',false), - 'email' => array('email',false), - 'date_created' => array('date_created',false), - 'date_renewed' => array('date_renewed',false), - 'date_expiry' => array('date_expiry',false), + 'id' => array('id', true), + 'email' => array('email', true), + 'until' => array('until', true), + 'lic_status' => array('lic_status', true) ); + return $sortable_columns; } - function get_bulk_actions() { + function get_bulk_actions() + { $actions = array( - 'delete' => 'Delete', + 'delete' => 'Delete', + 'blocked' => 'Block', + 'expired' => 'Expire', + 'active' => 'Activate', ); return $actions; } - function process_bulk_action() { - if('delete'===$this->current_action()) - { + function process_bulk_action() + { + if ('delete' === $this->current_action()) { //Process delete bulk actions - if(!isset($_REQUEST['item'])){ - $error_msg = '

    '.__('Error - Please select some records using the checkboxes', 'slm').'

    '; - echo '
    '.$error_msg.'
    '; + if (!isset($_REQUEST['item'])) { + $error_msg = '

    ' . __('Error - Please select some records using the checkboxes', 'slm') . '

    '; + echo '
    ' . $error_msg . '
    '; return; - }else { - $nvp_key = $this->_args['singular']; - $records_to_delete = $_GET[$nvp_key]; - foreach ($records_to_delete as $row){ + } else { + $nvp_key = $this->_args['singular']; + $records_to_delete = $_GET[$nvp_key]; + + foreach ($records_to_delete as $row) { SLM_Utility::delete_license_key_by_row_id($row); - } - echo '

    Selected records deleted successfully!

    '; + } + + echo '

    Selected records deleted successfully!

    '; + } + } + if ('blocked' === $this->current_action()) { + //Process blocked bulk actions + if (!isset($_REQUEST['item'])) { + $error_msg = '

    ' . __('Error - Please select some records using the checkboxes', 'slm') . '

    '; + echo '
    ' . $error_msg . '
    '; + return; + } else { + $nvp_key = $this->_args['singular']; + $licenses_to_block = $_GET[$nvp_key]; + + foreach ($licenses_to_block as $row) { + SLM_Utility::block_license_key_by_row_id($row); + } + + echo '

    ' . $row . ' Selected records blocked successfully!

    '; + } + } + if ('expired' === $this->current_action()) { + //Process blocked bulk actions + if (!isset($_REQUEST['item'])) { + $error_msg = '

    ' . __('Error - Please select some records using the checkboxes', 'slm') . '

    '; + echo '
    ' . $error_msg . '
    '; + return; + } else { + $nvp_key = $this->_args['singular']; + $licenses_to_block = $_GET[$nvp_key]; + + foreach ($licenses_to_block as $row) { + SLM_Utility::expire_license_key_by_row_id($row); + } + + echo '

    ' . $row . ' Selected records expired successfully!

    '; + } + } + if ('active' === $this->current_action()) { + //Process blocked bulk actions + if (!isset($_REQUEST['item'])) { + $error_msg = '

    ' . __('Error - Please select some records using the checkboxes', 'slm') . '

    '; + echo '
    ' . $error_msg . '
    '; + return; + } else { + $nvp_key = $this->_args['singular']; + $licenses_to_block = $_GET[$nvp_key]; + + foreach ($licenses_to_block as $row) { + SLM_Utility::active_license_key_by_row_id($row); + } + + echo '

    ' . $row . ' Selected records activated successfully!

    '; } } } + /* * This function will delete the selected license key entries from the DB. */ function delete_license_key($key_row_id) { SLM_Utility::delete_license_key_by_row_id($key_row_id); - $success_msg = '

    '; - $success_msg .= 'The selected entry was deleted successfully!'; - $success_msg .= '

    '; + $success_msg = '

    '; + $success_msg .= 'The selected entry was deleted successfully!'; + $success_msg .= '

    '; echo $success_msg; } + function block_license_key($key_row_id) + { + SLM_Utility::block_license_key_by_row_id($key_row_id); + $success_msg = '

    '; + $success_msg .= 'The selected entry was blocked successfully!'; + $success_msg .= '

    '; + echo $success_msg; + } - function prepare_items() { - /** - * First, lets decide how many records per page to show - */ - $per_page = 50; - $columns = $this->get_columns(); - $hidden = array(); - $sortable = $this->get_sortable_columns(); + private function sort_data($a, $b){ + // Set defaults + $orderby = 'id'; + $order = 'desc'; + // If orderby is set, use this as the sort column + if (!empty($_GET['orderby'])) { + $orderby = $_GET['orderby']; + } + // If order is set use this as the order + if (!empty($_GET['order'])) { + $order = $_GET['order']; + } + $result = strcmp($a[$orderby], $b[$orderby]); + if ($order === 'asc') { + return $result; + } + return -$result; + } - $this->_column_headers = array($columns, $hidden, $sortable); + function prepare_items(){ + + $per_page = 24; + $columns = $this->get_columns(); + $hidden = array(); + $sortable = $this->get_sortable_columns(); + $this->_column_headers = array($columns, $hidden, $sortable); $this->process_bulk_action(); - global $wpdb; + global $wpdb; $license_table = SLM_TBL_LICENSE_KEYS; - /* -- Ordering parameters -- */ - //Parameters that are going to be used to order the result - $orderby = !empty($_GET["orderby"]) ? strip_tags($_GET["orderby"]) : 'id'; - $order = !empty($_GET["order"]) ? strip_tags($_GET["order"]) : 'DESC'; - - if (isset($_POST['slm_search'])) { - $search_term = trim(strip_tags($_POST['slm_search'])); - $prepare_query = $wpdb->prepare("SELECT * FROM " . $license_table . " WHERE `license_key` LIKE '%%%s%%' OR `email` LIKE '%%%s%%' OR `txn_id` LIKE '%%%s%%' OR `first_name` LIKE '%%%s%%' OR `last_name` LIKE '%%%s%%'", $search_term, $search_term, $search_term, $search_term, $search_term); - $data = $wpdb->get_results($prepare_query, ARRAY_A); - }else{ - $data = $wpdb->get_results("SELECT * FROM $license_table ORDER BY $orderby $order", ARRAY_A); - } + $search = (isset($_REQUEST['s'])) ? $_REQUEST['s'] : false; + $search_term = trim(strip_tags($search)); + + $do_search = $wpdb->prepare("SELECT * FROM " . $license_table . " WHERE `license_key` LIKE '%%%s%%' OR `email` LIKE '%%%s%%' OR `txn_id` LIKE '%%%s%%' OR `first_name` LIKE '%%%s%%' OR `last_name` LIKE '%%%s%%'", $search_term, $search_term, $search_term, $search_term, $search_term); - $current_page = $this->get_pagenum(); - $total_items = count($data); - $data = array_slice($data,(($current_page-1)*$per_page),$per_page); - $this->items = $data; - $this->set_pagination_args( array( + $data = $wpdb->get_results($do_search, ARRAY_A); + + usort($data, array(&$this, 'sort_data')); + + $current_page = $this->get_pagenum(); + $total_items = count($data); + $data = array_slice($data, (($current_page - 1) * $per_page), $per_page); + $this->items = $data; + + $this->set_pagination_args(array( 'total_items' => $total_items, //WE have to calculate the total number of items 'per_page' => $per_page, //WE have to determine how many items to show on a page - 'total_pages' => ceil($total_items/$per_page) //WE have to calculate the total number of pages - ) ); + 'total_pages' => ceil($total_items / $per_page) //WE have to calculate the total number of pages + )); + } +} + + + +class SLM_Plugin{ + + // class instance + static $instance; + + // customer WP_List_Table object + public $licenses_obj; + + // class constructor + public function __construct(){ + add_filter('set-screen-option', [__CLASS__, 'set_screen'], 10, 3); + add_action('admin_menu', [$this, 'slm_add_admin_menu']); + } + + public static function set_screen($status, $option, $value){ + return $value; + } + + public function slm_add_admin_menu() + { + $icon_svg = SLM_ASSETS_URL . 'images/slm_logo_small.svg'; + + add_menu_page("SLM", "SLM", SLM_MANAGEMENT_PERMISSION, SLM_MAIN_MENU_SLUG, "slm_manage_licenses_menu", $icon_svg); + $hook = add_submenu_page(SLM_MAIN_MENU_SLUG, "Manage Licenses", "Manage Licenses", SLM_MANAGEMENT_PERMISSION, SLM_MAIN_MENU_SLUG, "slm_manage_licenses_menu"); + add_submenu_page(SLM_MAIN_MENU_SLUG, "Add License", "Add Licenses", SLM_MANAGEMENT_PERMISSION, 'slm_manage_license', "slm_add_licenses_menu"); + add_submenu_page(SLM_MAIN_MENU_SLUG, "Tools", "Tools", SLM_MANAGEMENT_PERMISSION, 'slm_admin_tools', "slm_admin_tools_menu"); + add_submenu_page(SLM_MAIN_MENU_SLUG, "Settings", "Settings", SLM_MANAGEMENT_PERMISSION, 'slm_settings', "slm_settings_menu"); + add_submenu_page(SLM_MAIN_MENU_SLUG, "Help", "Help", SLM_MANAGEMENT_PERMISSION, 'slm_help', "slm_integration_help_menu"); + + add_action("load-$hook", [$this, 'screen_option']); } -} \ No newline at end of file + + + /** + * Screen options + */ + public function screen_option(){ + + $option = 'per_page'; + $args = [ + 'label' => 'Pagination', + 'default' => 24, + 'option' => 'licenses_per_page' + ]; + + //add_screen_option($option, $args); + + $this->licenses_obj = new SLM_List_Licenses(); + } + + + /** Singleton instance */ + public static function get_instance(){ + if (!isset(self::$instance)) { + self::$instance = new self(); + } + + return self::$instance; + } + + +} + +add_action('plugins_loaded', function () { + SLM_Plugin::get_instance(); +}); + + + + diff --git a/admin/slm-manage-licenses.php b/admin/slm-manage-licenses.php index 432f1d0..77d4430 100755 --- a/admin/slm-manage-licenses.php +++ b/admin/slm-manage-licenses.php @@ -1,49 +1,47 @@ '; - echo '

    Manage Licenses

    '; - echo '
    '; +function slm_manage_licenses_menu() +{ + + //include_once('slm-list-licenses-class.php'); + $license_list = new SLM_List_Licenses(); + + if (isset($_REQUEST['action'])) { //Do list table form row action tasks + if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'delete_license') { //Delete link was clicked for a row in list table + $license_list->delete_license_key(sanitize_text_field($_REQUEST['id'])); + } + } + ?> +
    +

    Overview - Manage licenses

    +
    + +
    -
    -

    -
    - Search for a license by using email, name, key or transaction ID -

    -
    "> - - -
    -
    - - -
    -

    -
    - delete_license_key(sanitize_text_field($_REQUEST['id'])); - } - } - //Fetch, prepare, sort, and filter our data... - $license_list->prepare_items(); - //echo "put table of locked entries here"; - ?> -
    - - - - display(); ?> -
    - -
    - -
    '; - echo '
    '; -} +
    +
    +
    +
    +
    + + prepare_items(); + $license_list->search_box(__('Search'), 'search-box-id'); + $license_list->views(); + $license_list->display(); ?> +
    +
    +
    +
    +
    +
    + +
    +
    +
    +rootDir = dirname(__FILE__) . '/'; - $nameParts = explode('_', __CLASS__, 3); - $this->prefix = $nameParts[0] . '_' . $nameParts[1] . '_'; - - $this->libraryDir = realpath($this->rootDir . '../..') . '/'; - $this->staticMap = array( - 'PucReadmeParser' => 'vendor/readme-parser.php', - 'Parsedown' => 'vendor/ParsedownLegacy.php', - ); - if ( version_compare(PHP_VERSION, '5.3.0', '>=') ) { - $this->staticMap['Parsedown'] = 'vendor/Parsedown.php'; - } - - spl_autoload_register(array($this, 'autoload')); - } - - public function autoload($className) { - if ( isset($this->staticMap[$className]) && file_exists($this->libraryDir . $this->staticMap[$className]) ) { - /** @noinspection PhpIncludeInspection */ - include ($this->libraryDir . $this->staticMap[$className]); - return; - } - - if (strpos($className, $this->prefix) === 0) { - $path = substr($className, strlen($this->prefix)); - $path = str_replace('_', '/', $path); - $path = $this->rootDir . $path . '.php'; - - if (file_exists($path)) { - /** @noinspection PhpIncludeInspection */ - include $path; - } - } - } - } - -endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/DebugBar/Extension.php b/admin/update-checker/Puc/v4p4/DebugBar/Extension.php deleted file mode 100755 index b816ca9..0000000 --- a/admin/update-checker/Puc/v4p4/DebugBar/Extension.php +++ /dev/null @@ -1,177 +0,0 @@ -updateChecker = $updateChecker; - if ( isset($panelClass) ) { - $this->panelClass = $panelClass; - } - - add_filter('debug_bar_panels', array($this, 'addDebugBarPanel')); - add_action('debug_bar_enqueue_scripts', array($this, 'enqueuePanelDependencies')); - - add_action('wp_ajax_puc_v4_debug_check_now', array($this, 'ajaxCheckNow')); - } - - /** - * Register the PUC Debug Bar panel. - * - * @param array $panels - * @return array - */ - public function addDebugBarPanel($panels) { - if ( $this->updateChecker->userCanInstallUpdates() ) { - $panels[] = new $this->panelClass($this->updateChecker); - } - return $panels; - } - - /** - * Enqueue our Debug Bar scripts and styles. - */ - public function enqueuePanelDependencies() { - wp_enqueue_style( - 'puc-debug-bar-style-v4', - $this->getLibraryUrl("/css/puc-debug-bar.css"), - array('debug-bar'), - '20171124' - ); - - wp_enqueue_script( - 'puc-debug-bar-js-v4', - $this->getLibraryUrl("/js/debug-bar.js"), - array('jquery'), - '20170516' - ); - } - - /** - * Run an update check and output the result. Useful for making sure that - * the update checking process works as expected. - */ - public function ajaxCheckNow() { - if ( $_POST['uid'] !== $this->updateChecker->getUniqueName('uid') ) { - return; - } - $this->preAjaxRequest(); - $update = $this->updateChecker->checkForUpdates(); - if ( $update !== null ) { - echo "An update is available:"; - echo '
    ', htmlentities(print_r($update, true)), '
    '; - } else { - echo 'No updates found.'; - } - - $errors = $this->updateChecker->getLastRequestApiErrors(); - if ( !empty($errors) ) { - printf('

    The update checker encountered %d API error%s.

    ', count($errors), (count($errors) > 1) ? 's' : ''); - - foreach (array_values($errors) as $num => $item) { - $wpError = $item['error']; - /** @var WP_Error $wpError */ - printf('

    %d) %s

    ', $num + 1, esc_html($wpError->get_error_message())); - - echo '
    '; - printf('
    Error code:
    %s
    ', esc_html($wpError->get_error_code())); - - if ( isset($item['url']) ) { - printf('
    Requested URL:
    %s
    ', esc_html($item['url'])); - } - - if ( isset($item['httpResponse']) ) { - if ( is_wp_error($item['httpResponse']) ) { - $httpError = $item['httpResponse']; - /** @var WP_Error $httpError */ - printf( - '
    WordPress HTTP API error:
    %s (%s)
    ', - esc_html($httpError->get_error_message()), - esc_html($httpError->get_error_code()) - ); - } else { - //Status code. - printf( - '
    HTTP status:
    %d %s
    ', - wp_remote_retrieve_response_code($item['httpResponse']), - wp_remote_retrieve_response_message($item['httpResponse']) - ); - - //Headers. - echo '
    Response headers:
    ';
    -							foreach (wp_remote_retrieve_headers($item['httpResponse']) as $name => $value) {
    -								printf("%s: %s\n", esc_html($name), esc_html($value));
    -							}
    -							echo '
    '; - - //Body. - $body = wp_remote_retrieve_body($item['httpResponse']); - if ( $body === '' ) { - $body = '(Empty response.)'; - } else if ( strlen($body) > self::RESPONSE_BODY_LENGTH_LIMIT ) { - $length = strlen($body); - $body = substr($body, 0, self::RESPONSE_BODY_LENGTH_LIMIT) - . sprintf("\n(Long string truncated. Total length: %d bytes.)", $length); - } - - printf('
    Response body:
    %s
    ', esc_html($body)); - } - } - echo '
    '; - } - } - - exit; - } - - /** - * Check access permissions and enable error display (for debugging). - */ - protected function preAjaxRequest() { - if ( !$this->updateChecker->userCanInstallUpdates() ) { - die('Access denied'); - } - check_ajax_referer('puc-ajax'); - - error_reporting(E_ALL); - @ini_set('display_errors', 'On'); - } - - /** - * @param string $filePath - * @return string - */ - private function getLibraryUrl($filePath) { - $absolutePath = realpath(dirname(__FILE__) . '/../../../' . ltrim($filePath, '/')); - - //Where is the library located inside the WordPress directory structure? - $absolutePath = Puc_v4p4_Factory::normalizePath($absolutePath); - - $pluginDir = Puc_v4p4_Factory::normalizePath(WP_PLUGIN_DIR); - $muPluginDir = Puc_v4p4_Factory::normalizePath(WPMU_PLUGIN_DIR); - $themeDir = Puc_v4p4_Factory::normalizePath(get_theme_root()); - - if ( (strpos($absolutePath, $pluginDir) === 0) || (strpos($absolutePath, $muPluginDir) === 0) ) { - //It's part of a plugin. - return plugins_url(basename($absolutePath), $absolutePath); - } else if ( strpos($absolutePath, $themeDir) === 0 ) { - //It's part of a theme. - $relativePath = substr($absolutePath, strlen($themeDir) + 1); - $template = substr($relativePath, 0, strpos($relativePath, '/')); - $baseUrl = get_theme_root_uri($template); - - if ( !empty($baseUrl) && $relativePath ) { - return $baseUrl . '/' . $relativePath; - } - } - - return ''; - } - } - -endif; diff --git a/admin/update-checker/Puc/v4p4/DebugBar/Panel.php b/admin/update-checker/Puc/v4p4/DebugBar/Panel.php deleted file mode 100755 index 728eb80..0000000 --- a/admin/update-checker/Puc/v4p4/DebugBar/Panel.php +++ /dev/null @@ -1,165 +0,0 @@ -
    '; - - public function __construct($updateChecker) { - $this->updateChecker = $updateChecker; - $title = sprintf( - 'PUC (%s)', - esc_attr($this->updateChecker->getUniqueName('uid')), - $this->updateChecker->slug - ); - parent::__construct($title); - } - - public function render() { - printf( - '
    ', - esc_attr($this->updateChecker->getUniqueName('debug-bar-panel')), - esc_attr($this->updateChecker->slug), - esc_attr($this->updateChecker->getUniqueName('uid')), - esc_attr(wp_create_nonce('puc-ajax')) - ); - - $this->displayConfiguration(); - $this->displayStatus(); - $this->displayCurrentUpdate(); - - echo '
    '; - } - - private function displayConfiguration() { - echo '

    Configuration

    '; - echo ''; - $this->displayConfigHeader(); - $this->row('Slug', htmlentities($this->updateChecker->slug)); - $this->row('DB option', htmlentities($this->updateChecker->optionName)); - - $requestInfoButton = $this->getMetadataButton(); - $this->row('Metadata URL', htmlentities($this->updateChecker->metadataUrl) . ' ' . $requestInfoButton . $this->responseBox); - - $scheduler = $this->updateChecker->scheduler; - if ( $scheduler->checkPeriod > 0 ) { - $this->row('Automatic checks', 'Every ' . $scheduler->checkPeriod . ' hours'); - } else { - $this->row('Automatic checks', 'Disabled'); - } - - if ( isset($scheduler->throttleRedundantChecks) ) { - if ( $scheduler->throttleRedundantChecks && ($scheduler->checkPeriod > 0) ) { - $this->row( - 'Throttling', - sprintf( - 'Enabled. If an update is already available, check for updates every %1$d hours instead of every %2$d hours.', - $scheduler->throttledCheckPeriod, - $scheduler->checkPeriod - ) - ); - } else { - $this->row('Throttling', 'Disabled'); - } - } - - $this->updateChecker->onDisplayConfiguration($this); - - echo '
    '; - } - - protected function displayConfigHeader() { - //Do nothing. This should be implemented in subclasses. - } - - protected function getMetadataButton() { - return ''; - } - - private function displayStatus() { - echo '

    Status

    '; - echo ''; - $state = $this->updateChecker->getUpdateState(); - $checkNowButton = ''; - if ( function_exists('get_submit_button') ) { - $checkNowButton = get_submit_button( - 'Check Now', - 'secondary', - 'puc-check-now-button', - false, - array('id' => $this->updateChecker->getUniqueName('check-now-button')) - ); - } - - if ( $state->getLastCheck() > 0 ) { - $this->row('Last check', $this->formatTimeWithDelta($state->getLastCheck()) . ' ' . $checkNowButton . $this->responseBox); - } else { - $this->row('Last check', 'Never'); - } - - $nextCheck = wp_next_scheduled($this->updateChecker->scheduler->getCronHookName()); - $this->row('Next automatic check', $this->formatTimeWithDelta($nextCheck)); - - if ( $state->getCheckedVersion() !== '' ) { - $this->row('Checked version', htmlentities($state->getCheckedVersion())); - $this->row('Cached update', $state->getUpdate()); - } - $this->row('Update checker class', htmlentities(get_class($this->updateChecker))); - echo '
    '; - } - - private function displayCurrentUpdate() { - $update = $this->updateChecker->getUpdate(); - if ( $update !== null ) { - echo '

    An Update Is Available

    '; - echo ''; - $fields = $this->getUpdateFields(); - foreach($fields as $field) { - if ( property_exists($update, $field) ) { - $this->row(ucwords(str_replace('_', ' ', $field)), htmlentities($update->$field)); - } - } - echo '
    '; - } else { - echo '

    No updates currently available

    '; - } - } - - protected function getUpdateFields() { - return array('version', 'download_url', 'slug',); - } - - private function formatTimeWithDelta($unixTime) { - if ( empty($unixTime) ) { - return 'Never'; - } - - $delta = time() - $unixTime; - $result = human_time_diff(time(), $unixTime); - if ( $delta < 0 ) { - $result = 'after ' . $result; - } else { - $result = $result . ' ago'; - } - $result .= ' (' . $this->formatTimestamp($unixTime) . ')'; - return $result; - } - - private function formatTimestamp($unixTime) { - return gmdate('Y-m-d H:i:s', $unixTime + (get_option('gmt_offset') * 3600)); - } - - public function row($name, $value) { - if ( is_object($value) || is_array($value) ) { - $value = '
    ' . htmlentities(print_r($value, true)) . '
    '; - } else if ($value === null) { - $value = 'null'; - } - printf('%1$s %2$s', $name, $value); - } - } - -endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/DebugBar/PluginExtension.php b/admin/update-checker/Puc/v4p4/DebugBar/PluginExtension.php deleted file mode 100755 index f8faf33..0000000 --- a/admin/update-checker/Puc/v4p4/DebugBar/PluginExtension.php +++ /dev/null @@ -1,33 +0,0 @@ -updateChecker->getUniqueName('uid') ) { - return; - } - $this->preAjaxRequest(); - $info = $this->updateChecker->requestInfo(); - if ( $info !== null ) { - echo 'Successfully retrieved plugin info from the metadata URL:'; - echo '
    ', htmlentities(print_r($info, true)), '
    '; - } else { - echo 'Failed to retrieve plugin info from the metadata URL.'; - } - exit; - } - } - -endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/DebugBar/PluginPanel.php b/admin/update-checker/Puc/v4p4/DebugBar/PluginPanel.php deleted file mode 100755 index aa936e2..0000000 --- a/admin/update-checker/Puc/v4p4/DebugBar/PluginPanel.php +++ /dev/null @@ -1,38 +0,0 @@ -row('Plugin file', htmlentities($this->updateChecker->pluginFile)); - parent::displayConfigHeader(); - } - - protected function getMetadataButton() { - $requestInfoButton = ''; - if ( function_exists('get_submit_button') ) { - $requestInfoButton = get_submit_button( - 'Request Info', - 'secondary', - 'puc-request-info-button', - false, - array('id' => $this->updateChecker->getUniqueName('request-info-button')) - ); - } - return $requestInfoButton; - } - - protected function getUpdateFields() { - return array_merge( - parent::getUpdateFields(), - array('homepage', 'upgrade_notice', 'tested',) - ); - } - } - -endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/DebugBar/ThemePanel.php b/admin/update-checker/Puc/v4p4/DebugBar/ThemePanel.php deleted file mode 100755 index 6d6a66e..0000000 --- a/admin/update-checker/Puc/v4p4/DebugBar/ThemePanel.php +++ /dev/null @@ -1,21 +0,0 @@ -row('Theme directory', htmlentities($this->updateChecker->directoryName)); - parent::displayConfigHeader(); - } - - protected function getUpdateFields() { - return array_merge(parent::getUpdateFields(), array('details_url')); - } - } - -endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Factory.php b/admin/update-checker/Puc/v4p4/Factory.php deleted file mode 100755 index 636ce47..0000000 --- a/admin/update-checker/Puc/v4p4/Factory.php +++ /dev/null @@ -1,292 +0,0 @@ - 'Plugin Name'), 'plugin'); - return !empty($headers['Name']); - } - - return false; - } - - /** - * Get the name of the theme's directory from a full path to a file inside that directory. - * E.g. "/abc/public_html/wp-content/themes/foo/whatever.php" => "foo". - * - * Note that subdirectories are currently not supported. For example, - * "/xyz/wp-content/themes/my-theme/includes/whatever.php" => NULL. - * - * @param string $absolutePath Normalized path. - * @return string|null Directory name, or NULL if the path doesn't point to a theme. - */ - protected static function getThemeDirectoryName($absolutePath) { - if ( is_file($absolutePath) ) { - $absolutePath = dirname($absolutePath); - } - - if ( file_exists($absolutePath . '/style.css') ) { - return basename($absolutePath); - } - return null; - } - - /** - * Get the name of the hosting service that the URL points to. - * - * @param string $metadataUrl - * @return string|null - */ - private static function getVcsService($metadataUrl) { - $service = null; - - //Which hosting service does the URL point to? - $host = @parse_url($metadataUrl, PHP_URL_HOST); - $path = @parse_url($metadataUrl, PHP_URL_PATH); - //Check if the path looks like "/user-name/repository". - $usernameRepoRegex = '@^/?([^/]+?)/([^/#?&]+?)/?$@'; - if ( preg_match($usernameRepoRegex, $path) ) { - $knownServices = array( - 'github.com' => 'GitHub', - 'bitbucket.org' => 'BitBucket', - 'gitlab.com' => 'GitLab', - ); - if ( isset($knownServices[$host]) ) { - $service = $knownServices[$host]; - } - } - - return $service; - } - - /** - * Get the latest version of the specified class that has the same major version number - * as this factory class. - * - * @param string $class Partial class name. - * @return string|null Full class name. - */ - protected static function getCompatibleClassVersion($class) { - if ( isset(self::$classVersions[$class][self::$latestCompatibleVersion]) ) { - return self::$classVersions[$class][self::$latestCompatibleVersion]; - } - return null; - } - - /** - * Get the specific class name for the latest available version of a class. - * - * @param string $class - * @return null|string - */ - public static function getLatestClassVersion($class) { - if ( !self::$sorted ) { - self::sortVersions(); - } - - if ( isset(self::$classVersions[$class]) ) { - return reset(self::$classVersions[$class]); - } else { - return null; - } - } - - /** - * Sort available class versions in descending order (i.e. newest first). - */ - protected static function sortVersions() { - foreach ( self::$classVersions as $class => $versions ) { - uksort($versions, array(__CLASS__, 'compareVersions')); - self::$classVersions[$class] = $versions; - } - self::$sorted = true; - } - - protected static function compareVersions($a, $b) { - return -version_compare($a, $b); - } - - /** - * Register a version of a class. - * - * @access private This method is only for internal use by the library. - * - * @param string $generalClass Class name without version numbers, e.g. 'PluginUpdateChecker'. - * @param string $versionedClass Actual class name, e.g. 'PluginUpdateChecker_1_2'. - * @param string $version Version number, e.g. '1.2'. - */ - public static function addVersion($generalClass, $versionedClass, $version) { - if ( empty(self::$myMajorVersion) ) { - $nameParts = explode('_', __CLASS__, 3); - self::$myMajorVersion = substr(ltrim($nameParts[1], 'v'), 0, 1); - } - - //Store the greatest version number that matches our major version. - $components = explode('.', $version); - if ( $components[0] === self::$myMajorVersion ) { - - if ( - empty(self::$latestCompatibleVersion) - || version_compare($version, self::$latestCompatibleVersion, '>') - ) { - self::$latestCompatibleVersion = $version; - } - - } - - if ( !isset(self::$classVersions[$generalClass]) ) { - self::$classVersions[$generalClass] = array(); - } - self::$classVersions[$generalClass][$version] = $versionedClass; - self::$sorted = false; - } - } - -endif; diff --git a/admin/update-checker/Puc/v4p4/Metadata.php b/admin/update-checker/Puc/v4p4/Metadata.php deleted file mode 100755 index 40e8ffa..0000000 --- a/admin/update-checker/Puc/v4p4/Metadata.php +++ /dev/null @@ -1,132 +0,0 @@ -validateMetadata($apiResponse); - if ( is_wp_error($valid) ){ - do_action('puc_api_error', $valid); - trigger_error($valid->get_error_message(), E_USER_NOTICE); - return false; - } - - foreach(get_object_vars($apiResponse) as $key => $value){ - $target->$key = $value; - } - - return true; - } - - /** - * No validation by default! Subclasses should check that the required fields are present. - * - * @param StdClass $apiResponse - * @return bool|WP_Error - */ - protected function validateMetadata(/** @noinspection PhpUnusedParameterInspection */ $apiResponse) { - return true; - } - - /** - * Create a new instance by copying the necessary fields from another object. - * - * @abstract - * @param StdClass|self $object The source object. - * @return self The new copy. - */ - public static function fromObject(/** @noinspection PhpUnusedParameterInspection */ $object) { - throw new LogicException('The ' . __METHOD__ . ' method must be implemented by subclasses'); - } - - /** - * Create an instance of StdClass that can later be converted back to an - * update or info container. Useful for serialization and caching, as it - * avoids the "incomplete object" problem if the cached value is loaded - * before this class. - * - * @return StdClass - */ - public function toStdClass() { - $object = new stdClass(); - $this->copyFields($this, $object); - return $object; - } - - /** - * Transform the metadata into the format used by WordPress core. - * - * @return object - */ - abstract public function toWpFormat(); - - /** - * Copy known fields from one object to another. - * - * @param StdClass|self $from - * @param StdClass|self $to - */ - protected function copyFields($from, $to) { - $fields = $this->getFieldNames(); - - if ( property_exists($from, 'slug') && !empty($from->slug) ) { - //Let plugins add extra fields without having to create subclasses. - $fields = apply_filters($this->getPrefixedFilter('retain_fields') . '-' . $from->slug, $fields); - } - - foreach ($fields as $field) { - if ( property_exists($from, $field) ) { - $to->$field = $from->$field; - } - } - } - - /** - * @return string[] - */ - protected function getFieldNames() { - return array(); - } - - /** - * @param string $tag - * @return string - */ - protected function getPrefixedFilter($tag) { - return 'puc_' . $tag; - } - } - -endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/OAuthSignature.php b/admin/update-checker/Puc/v4p4/OAuthSignature.php deleted file mode 100755 index 90b16df..0000000 --- a/admin/update-checker/Puc/v4p4/OAuthSignature.php +++ /dev/null @@ -1,88 +0,0 @@ -consumerKey = $consumerKey; - $this->consumerSecret = $consumerSecret; - } - - /** - * Sign a URL using OAuth 1.0. - * - * @param string $url The URL to be signed. It may contain query parameters. - * @param string $method HTTP method such as "GET", "POST" and so on. - * @return string The signed URL. - */ - public function sign($url, $method = 'GET') { - $parameters = array(); - - //Parse query parameters. - $query = @parse_url($url, PHP_URL_QUERY); - if ( !empty($query) ) { - parse_str($query, $parsedParams); - if ( is_array($parameters) ) { - $parameters = $parsedParams; - } - //Remove the query string from the URL. We'll replace it later. - $url = substr($url, 0, strpos($url, '?')); - } - - $parameters = array_merge( - $parameters, - array( - 'oauth_consumer_key' => $this->consumerKey, - 'oauth_nonce' => $this->nonce(), - 'oauth_signature_method' => 'HMAC-SHA1', - 'oauth_timestamp' => time(), - 'oauth_version' => '1.0', - ) - ); - unset($parameters['oauth_signature']); - - //Parameters must be sorted alphabetically before signing. - ksort($parameters); - - //The most complicated part of the request - generating the signature. - //The string to sign contains the HTTP method, the URL path, and all of - //our query parameters. Everything is URL encoded. Then we concatenate - //them with ampersands into a single string to hash. - $encodedVerb = urlencode($method); - $encodedUrl = urlencode($url); - $encodedParams = urlencode(http_build_query($parameters, '', '&')); - - $stringToSign = $encodedVerb . '&' . $encodedUrl . '&' . $encodedParams; - - //Since we only have one OAuth token (the consumer secret) we only have - //to use it as our HMAC key. However, we still have to append an & to it - //as if we were using it with additional tokens. - $secret = urlencode($this->consumerSecret) . '&'; - - //The signature is a hash of the consumer key and the base string. Note - //that we have to get the raw output from hash_hmac and base64 encode - //the binary data result. - $parameters['oauth_signature'] = base64_encode(hash_hmac('sha1', $stringToSign, $secret, true)); - - return ($url . '?' . http_build_query($parameters)); - } - - /** - * Generate a random nonce. - * - * @return string - */ - private function nonce() { - $mt = microtime(); - $rand = mt_rand(); - return md5($mt . '_' . $rand); - } - } - -endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Plugin/Info.php b/admin/update-checker/Puc/v4p4/Plugin/Info.php deleted file mode 100755 index 2112046..0000000 --- a/admin/update-checker/Puc/v4p4/Plugin/Info.php +++ /dev/null @@ -1,130 +0,0 @@ -sections = (array)$instance->sections; - $instance->icons = (array)$instance->icons; - - return $instance; - } - - /** - * Very, very basic validation. - * - * @param StdClass $apiResponse - * @return bool|WP_Error - */ - protected function validateMetadata($apiResponse) { - if ( - !isset($apiResponse->name, $apiResponse->version) - || empty($apiResponse->name) - || empty($apiResponse->version) - ) { - return new WP_Error( - 'puc-invalid-metadata', - "The plugin metadata file does not contain the required 'name' and/or 'version' keys." - ); - } - return true; - } - - - /** - * Transform plugin info into the format used by the native WordPress.org API - * - * @return object - */ - public function toWpFormat(){ - $info = new stdClass; - - //The custom update API is built so that many fields have the same name and format - //as those returned by the native WordPress.org API. These can be assigned directly. - $sameFormat = array( - 'name', 'slug', 'version', 'requires', 'tested', 'rating', 'upgrade_notice', - 'num_ratings', 'downloaded', 'active_installs', 'homepage', 'last_updated', - ); - foreach($sameFormat as $field){ - if ( isset($this->$field) ) { - $info->$field = $this->$field; - } else { - $info->$field = null; - } - } - - //Other fields need to be renamed and/or transformed. - $info->download_link = $this->download_url; - $info->author = $this->getFormattedAuthor(); - $info->sections = array_merge(array('description' => ''), $this->sections); - - if ( !empty($this->banners) ) { - //WP expects an array with two keys: "high" and "low". Both are optional. - //Docs: https://wordpress.org/plugins/about/faq/#banners - $info->banners = is_object($this->banners) ? get_object_vars($this->banners) : $this->banners; - $info->banners = array_intersect_key($info->banners, array('high' => true, 'low' => true)); - } - - return $info; - } - - protected function getFormattedAuthor() { - if ( !empty($this->author_homepage) ){ - /** @noinspection HtmlUnknownTarget */ - return sprintf('%s', $this->author_homepage, $this->author); - } - return $this->author; - } - } - -endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Plugin/Update.php b/admin/update-checker/Puc/v4p4/Plugin/Update.php deleted file mode 100755 index 7b09355..0000000 --- a/admin/update-checker/Puc/v4p4/Plugin/Update.php +++ /dev/null @@ -1,110 +0,0 @@ -copyFields($object, $update); - return $update; - } - - /** - * @return string[] - */ - protected function getFieldNames() { - return array_merge(parent::getFieldNames(), self::$extraFields); - } - - /** - * Transform the update into the format used by WordPress native plugin API. - * - * @return object - */ - public function toWpFormat() { - $update = parent::toWpFormat(); - - $update->id = $this->id; - $update->url = $this->homepage; - $update->tested = $this->tested; - $update->plugin = $this->filename; - - if ( !empty($this->upgrade_notice) ) { - $update->upgrade_notice = $this->upgrade_notice; - } - - if ( !empty($this->icons) && is_array($this->icons) ) { - //This should be an array with up to 4 keys: 'svg', '1x', '2x' and 'default'. - //Docs: https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/#plugin-icons - $icons = array_intersect_key( - $this->icons, - array('svg' => true, '1x' => true, '2x' => true, 'default' => true) - ); - if ( !empty($icons) ) { - $update->icons = $icons; - - //It appears that the 'default' icon isn't used anywhere in WordPress 4.9, - //but lets set it just in case a future release needs it. - if ( !isset($update->icons['default']) ) { - $update->icons['default'] = current($update->icons); - } - } - } - - return $update; - } - } - -endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Plugin/UpdateChecker.php b/admin/update-checker/Puc/v4p4/Plugin/UpdateChecker.php deleted file mode 100755 index 865df8e..0000000 --- a/admin/update-checker/Puc/v4p4/Plugin/UpdateChecker.php +++ /dev/null @@ -1,740 +0,0 @@ -pluginAbsolutePath = $pluginFile; - $this->pluginFile = plugin_basename($this->pluginAbsolutePath); - $this->muPluginFile = $muPluginFile; - - //If no slug is specified, use the name of the main plugin file as the slug. - //For example, 'my-cool-plugin/cool-plugin.php' becomes 'cool-plugin'. - if ( empty($slug) ){ - $slug = basename($this->pluginFile, '.php'); - } - - //Plugin slugs must be unique. - $slugCheckFilter = 'puc_is_slug_in_use-' . $this->slug; - $slugUsedBy = apply_filters($slugCheckFilter, false); - if ( $slugUsedBy ) { - $this->triggerError(sprintf( - 'Plugin slug "%s" is already in use by %s. Slugs must be unique.', - htmlentities($this->slug), - htmlentities($slugUsedBy) - ), E_USER_ERROR); - } - add_filter($slugCheckFilter, array($this, 'getAbsolutePath')); - - //Backwards compatibility: If the plugin is a mu-plugin but no $muPluginFile is specified, assume - //it's the same as $pluginFile given that it's not in a subdirectory (WP only looks in the base dir). - if ( (strpbrk($this->pluginFile, '/\\') === false) && $this->isUnknownMuPlugin() ) { - $this->muPluginFile = $this->pluginFile; - } - - //To prevent a crash during plugin uninstallation, remove updater hooks when the user removes the plugin. - //Details: https://github.com/YahnisElsts/plugin-update-checker/issues/138#issuecomment-335590964 - add_action('uninstall_' . $this->pluginFile, array($this, 'removeHooks')); - - $this->manualCheckErrorTransient = $this->getUniqueName('manual_check_errors'); - - parent::__construct($metadataUrl, dirname($this->pluginFile), $slug, $checkPeriod, $optionName); - } - - /** - * Create an instance of the scheduler. - * - * @param int $checkPeriod - * @return Puc_v4p4_Scheduler - */ - protected function createScheduler($checkPeriod) { - $scheduler = new Puc_v4p4_Scheduler($this, $checkPeriod, array('load-plugins.php')); - register_deactivation_hook($this->pluginFile, array($scheduler, 'removeUpdaterCron')); - return $scheduler; - } - - /** - * Install the hooks required to run periodic update checks and inject update info - * into WP data structures. - * - * @return void - */ - protected function installHooks(){ - //Override requests for plugin information - add_filter('plugins_api', array($this, 'injectInfo'), 20, 3); - - add_filter('plugin_row_meta', array($this, 'addViewDetailsLink'), 10, 3); - add_filter('plugin_row_meta', array($this, 'addCheckForUpdatesLink'), 10, 2); - add_action('admin_init', array($this, 'handleManualCheck')); - add_action('all_admin_notices', array($this, 'displayManualCheckResult')); - - //Clear the version number cache when something - anything - is upgraded or WP clears the update cache. - add_filter('upgrader_post_install', array($this, 'clearCachedVersion')); - add_action('delete_site_transient_update_plugins', array($this, 'clearCachedVersion')); - - parent::installHooks(); - } - - /** - * Remove update checker hooks. - * - * The intent is to prevent a fatal error that can happen if the plugin has an uninstall - * hook. During uninstallation, WP includes the main plugin file (which creates a PUC instance), - * the uninstall hook runs, WP deletes the plugin files and then updates some transients. - * If PUC hooks are still around at this time, they could throw an error while trying to - * autoload classes from files that no longer exist. - * - * The "site_transient_{$transient}" filter is the main problem here, but let's also remove - * most other PUC hooks to be safe. - * - * @internal - */ - public function removeHooks() { - parent::removeHooks(); - - remove_filter('plugins_api', array($this, 'injectInfo'), 20); - - remove_filter('plugin_row_meta', array($this, 'addViewDetailsLink'), 10); - remove_filter('plugin_row_meta', array($this, 'addCheckForUpdatesLink'), 10); - remove_action('admin_init', array($this, 'handleManualCheck')); - remove_action('all_admin_notices', array($this, 'displayManualCheckResult')); - - remove_filter('upgrader_post_install', array($this, 'clearCachedVersion')); - remove_action('delete_site_transient_update_plugins', array($this, 'clearCachedVersion')); - } - - /** - * Retrieve plugin info from the configured API endpoint. - * - * @uses wp_remote_get() - * - * @param array $queryArgs Additional query arguments to append to the request. Optional. - * @return Puc_v4p4_Plugin_Info - */ - public function requestInfo($queryArgs = array()) { - list($pluginInfo, $result) = $this->requestMetadata('Puc_v4p4_Plugin_Info', 'request_info', $queryArgs); - - if ( $pluginInfo !== null ) { - /** @var Puc_v4p4_Plugin_Info $pluginInfo */ - $pluginInfo->filename = $this->pluginFile; - $pluginInfo->slug = $this->slug; - } - - $pluginInfo = apply_filters($this->getUniqueName('request_info_result'), $pluginInfo, $result); - return $pluginInfo; - } - - /** - * Retrieve the latest update (if any) from the configured API endpoint. - * - * @uses PluginUpdateChecker::requestInfo() - * - * @return Puc_v4p4_Update|null An instance of Plugin_Update, or NULL when no updates are available. - */ - public function requestUpdate() { - //For the sake of simplicity, this function just calls requestInfo() - //and transforms the result accordingly. - $pluginInfo = $this->requestInfo(array('checking_for_updates' => '1')); - if ( $pluginInfo === null ){ - return null; - } - $update = Puc_v4p4_Plugin_Update::fromPluginInfo($pluginInfo); - - $update = $this->filterUpdateResult($update); - - return $update; - } - - /** - * Get the currently installed version of the plugin. - * - * @return string Version number. - */ - public function getInstalledVersion(){ - if ( isset($this->cachedInstalledVersion) ) { - return $this->cachedInstalledVersion; - } - - $pluginHeader = $this->getPluginHeader(); - if ( isset($pluginHeader['Version']) ) { - $this->cachedInstalledVersion = $pluginHeader['Version']; - return $pluginHeader['Version']; - } else { - //This can happen if the filename points to something that is not a plugin. - $this->triggerError( - sprintf( - "Can't to read the Version header for '%s'. The filename is incorrect or is not a plugin.", - $this->pluginFile - ), - E_USER_WARNING - ); - return null; - } - } - - /** - * Get plugin's metadata from its file header. - * - * @return array - */ - protected function getPluginHeader() { - if ( !is_file($this->pluginAbsolutePath) ) { - //This can happen if the plugin filename is wrong. - $this->triggerError( - sprintf( - "Can't to read the plugin header for '%s'. The file does not exist.", - $this->pluginFile - ), - E_USER_WARNING - ); - return array(); - } - - if ( !function_exists('get_plugin_data') ){ - /** @noinspection PhpIncludeInspection */ - require_once( ABSPATH . '/wp-admin/includes/plugin.php' ); - } - return get_plugin_data($this->pluginAbsolutePath, false, false); - } - - /** - * @return array - */ - protected function getHeaderNames() { - return array( - 'Name' => 'Plugin Name', - 'PluginURI' => 'Plugin URI', - 'Version' => 'Version', - 'Description' => 'Description', - 'Author' => 'Author', - 'AuthorURI' => 'Author URI', - 'TextDomain' => 'Text Domain', - 'DomainPath' => 'Domain Path', - 'Network' => 'Network', - - //The newest WordPress version that this plugin requires or has been tested with. - //We support several different formats for compatibility with other libraries. - 'Tested WP' => 'Tested WP', - 'Requires WP' => 'Requires WP', - 'Tested up to' => 'Tested up to', - 'Requires at least' => 'Requires at least', - ); - } - - - /** - * Intercept plugins_api() calls that request information about our plugin and - * use the configured API endpoint to satisfy them. - * - * @see plugins_api() - * - * @param mixed $result - * @param string $action - * @param array|object $args - * @return mixed - */ - public function injectInfo($result, $action = null, $args = null){ - $relevant = ($action == 'plugin_information') && isset($args->slug) && ( - ($args->slug == $this->slug) || ($args->slug == dirname($this->pluginFile)) - ); - if ( !$relevant ) { - return $result; - } - - $pluginInfo = $this->requestInfo(); - $pluginInfo = apply_filters($this->getUniqueName('pre_inject_info'), $pluginInfo); - if ( $pluginInfo ) { - return $pluginInfo->toWpFormat(); - } - - return $result; - } - - protected function shouldShowUpdates() { - //No update notifications for mu-plugins unless explicitly enabled. The MU plugin file - //is usually different from the main plugin file so the update wouldn't show up properly anyway. - return !$this->isUnknownMuPlugin(); - } - - /** - * @param stdClass|null $updates - * @param stdClass $updateToAdd - * @return stdClass - */ - protected function addUpdateToList($updates, $updateToAdd) { - if ( $this->isMuPlugin() ) { - //WP does not support automatic update installation for mu-plugins, but we can - //still display a notice. - $updateToAdd->package = null; - } - return parent::addUpdateToList($updates, $updateToAdd); - } - - /** - * @param stdClass|null $updates - * @return stdClass|null - */ - protected function removeUpdateFromList($updates) { - $updates = parent::removeUpdateFromList($updates); - if ( !empty($this->muPluginFile) && isset($updates, $updates->response) ) { - unset($updates->response[$this->muPluginFile]); - } - return $updates; - } - - /** - * For plugins, the update array is indexed by the plugin filename relative to the "plugins" - * directory. Example: "plugin-name/plugin.php". - * - * @return string - */ - protected function getUpdateListKey() { - if ( $this->isMuPlugin() ) { - return $this->muPluginFile; - } - return $this->pluginFile; - } - - /** - * Alias for isBeingUpgraded(). - * - * @deprecated - * @param WP_Upgrader|null $upgrader The upgrader that's performing the current update. - * @return bool - */ - public function isPluginBeingUpgraded($upgrader = null) { - return $this->isBeingUpgraded($upgrader); - } - - /** - * Is there an update being installed for this plugin, right now? - * - * @param WP_Upgrader|null $upgrader - * @return bool - */ - public function isBeingUpgraded($upgrader = null) { - return $this->upgraderStatus->isPluginBeingUpgraded($this->pluginFile, $upgrader); - } - - /** - * Get the details of the currently available update, if any. - * - * If no updates are available, or if the last known update version is below or equal - * to the currently installed version, this method will return NULL. - * - * Uses cached update data. To retrieve update information straight from - * the metadata URL, call requestUpdate() instead. - * - * @return Puc_v4p4_Plugin_Update|null - */ - public function getUpdate() { - $update = parent::getUpdate(); - if ( isset($update) ) { - /** @var Puc_v4p4_Plugin_Update $update */ - $update->filename = $this->pluginFile; - } - return $update; - } - - /** - * Add a "Check for updates" link to the plugin row in the "Plugins" page. By default, - * the new link will appear after the "Visit plugin site" link if present, otherwise - * after the "View plugin details" link. - * - * You can change the link text by using the "puc_manual_check_link-$slug" filter. - * Returning an empty string from the filter will disable the link. - * - * @param array $pluginMeta Array of meta links. - * @param string $pluginFile - * @return array - */ - public function addCheckForUpdatesLink($pluginMeta, $pluginFile) { - $isRelevant = ($pluginFile == $this->pluginFile) - || (!empty($this->muPluginFile) && $pluginFile == $this->muPluginFile); - - if ( $isRelevant && $this->userCanInstallUpdates() ) { - $linkUrl = wp_nonce_url( - add_query_arg( - array( - 'puc_check_for_updates' => 1, - 'puc_slug' => $this->slug, - ), - self_admin_url('plugins.php') - ), - 'puc_check_for_updates' - ); - - $linkText = apply_filters( - $this->getUniqueName('manual_check_link'), - __('Check for updates', 'plugin-update-checker') - ); - if ( !empty($linkText) ) { - /** @noinspection HtmlUnknownTarget */ - $pluginMeta[] = sprintf('%s', esc_attr($linkUrl), $linkText); - } - } - return $pluginMeta; - } - - /** - * Add a "View Details" link to the plugin row in the "Plugins" page. By default, - * the new link will appear before the "Visit plugin site" link (if present). - * - * You can change the link text by using the "puc_view_details_link-$slug" filter. - * Returning an empty string from the filter will disable the link. - * - * You can change the position of the link using the - * "puc_view_details_link_position-$slug" filter. - * Returning 'before' or 'after' will place the link immediately before/after the - * "Visit plugin site" link - * Returning 'append' places the link after any existing links at the time of the hook. - * Returning 'replace' replaces the "Visit plugin site" link - * Returning anything else disables the link when there is a "Visit plugin site" link. - * - * If there is no "Visit plugin site" link 'append' is always used! - * - * @param array $pluginMeta Array of meta links. - * @param string $pluginFile - * @param array $pluginData Array of plugin header data. - * @return array - */ - public function addViewDetailsLink($pluginMeta, $pluginFile, $pluginData = array()) { - $isRelevant = ($pluginFile == $this->pluginFile) - || (!empty($this->muPluginFile) && $pluginFile == $this->muPluginFile); - - if ( $isRelevant && $this->userCanInstallUpdates() && !isset($pluginData['slug']) ) { - $linkText = apply_filters($this->getUniqueName('view_details_link'), __('View details')); - if ( !empty($linkText) ) { - $viewDetailsLinkPosition = 'append'; - - //Find the "Visit plugin site" link (if present). - $visitPluginSiteLinkIndex = count($pluginMeta) - 1; - if ( $pluginData['PluginURI'] ) { - $escapedPluginUri = esc_url($pluginData['PluginURI']); - foreach ($pluginMeta as $linkIndex => $existingLink) { - if ( strpos($existingLink, $escapedPluginUri) !== false ) { - $visitPluginSiteLinkIndex = $linkIndex; - $viewDetailsLinkPosition = apply_filters( - $this->getUniqueName('view_details_link_position'), - 'before' - ); - break; - } - } - } - - $viewDetailsLink = sprintf('%s', - esc_url(network_admin_url('plugin-install.php?tab=plugin-information&plugin=' . urlencode($this->slug) . - '&TB_iframe=true&width=600&height=550')), - esc_attr(sprintf(__('More information about %s'), $pluginData['Name'])), - esc_attr($pluginData['Name']), - $linkText - ); - switch ($viewDetailsLinkPosition) { - case 'before': - array_splice($pluginMeta, $visitPluginSiteLinkIndex, 0, $viewDetailsLink); - break; - case 'after': - array_splice($pluginMeta, $visitPluginSiteLinkIndex + 1, 0, $viewDetailsLink); - break; - case 'replace': - $pluginMeta[$visitPluginSiteLinkIndex] = $viewDetailsLink; - break; - case 'append': - default: - $pluginMeta[] = $viewDetailsLink; - break; - } - } - } - return $pluginMeta; - } - - - /** - * Check for updates when the user clicks the "Check for updates" link. - * @see self::addCheckForUpdatesLink() - * - * @return void - */ - public function handleManualCheck() { - $shouldCheck = - isset($_GET['puc_check_for_updates'], $_GET['puc_slug']) - && $_GET['puc_slug'] == $this->slug - && $this->userCanInstallUpdates() - && check_admin_referer('puc_check_for_updates'); - - if ( $shouldCheck ) { - $update = $this->checkForUpdates(); - $status = ($update === null) ? 'no_update' : 'update_available'; - - if ( ($update === null) && !empty($this->lastRequestApiErrors) ) { - //Some errors are not critical. For example, if PUC tries to retrieve the readme.txt - //file from GitHub and gets a 404, that's an API error, but it doesn't prevent updates - //from working. Maybe the plugin simply doesn't have a readme. - //Let's only show important errors. - $foundCriticalErrors = false; - $questionableErrorCodes = array( - 'puc-github-http-error', - 'puc-gitlab-http-error', - 'puc-bitbucket-http-error', - ); - - foreach ($this->lastRequestApiErrors as $item) { - $wpError = $item['error']; - /** @var WP_Error $wpError */ - if ( !in_array($wpError->get_error_code(), $questionableErrorCodes) ) { - $foundCriticalErrors = true; - break; - } - } - - if ( $foundCriticalErrors ) { - $status = 'error'; - set_site_transient($this->manualCheckErrorTransient, $this->lastRequestApiErrors, 60); - } - } - - wp_redirect(add_query_arg( - array( - 'puc_update_check_result' => $status, - 'puc_slug' => $this->slug, - ), - self_admin_url('plugins.php') - )); - } - } - - /** - * Display the results of a manual update check. - * @see self::handleManualCheck() - * - * You can change the result message by using the "puc_manual_check_message-$slug" filter. - */ - public function displayManualCheckResult() { - if ( isset($_GET['puc_update_check_result'], $_GET['puc_slug']) && ($_GET['puc_slug'] == $this->slug) ) { - $status = strval($_GET['puc_update_check_result']); - $title = $this->getPluginTitle(); - $noticeClass = 'updated notice-success'; - $details = ''; - - if ( $status == 'no_update' ) { - $message = sprintf(_x('The %s plugin is up to date.', 'the plugin title', 'plugin-update-checker'), $title); - } else if ( $status == 'update_available' ) { - $message = sprintf(_x('A new version of the %s plugin is available.', 'the plugin title', 'plugin-update-checker'), $title); - } else if ( $status === 'error' ) { - $message = sprintf(_x('Could not determine if updates are available for %s.', 'the plugin title', 'plugin-update-checker'), $title); - $noticeClass = 'error notice-error'; - - $details = $this->formatManualCheckErrors(get_site_transient($this->manualCheckErrorTransient)); - delete_site_transient($this->manualCheckErrorTransient); - } else { - $message = sprintf(__('Unknown update checker status "%s"', 'plugin-update-checker'), htmlentities($status)); - $noticeClass = 'error notice-error'; - } - printf( - '

    %s

    %s
    ', - $noticeClass, - apply_filters($this->getUniqueName('manual_check_message'), $message, $status), - $details - ); - } - } - - /** - * Format the list of errors that were thrown during an update check. - * - * @param array $errors - * @return string - */ - protected function formatManualCheckErrors($errors) { - if ( empty($errors) ) { - return ''; - } - $output = ''; - - $showAsList = count($errors) > 1; - if ( $showAsList ) { - $output .= '
      '; - $formatString = '
    1. %1$s %2$s
    2. '; - } else { - $formatString = '

      %1$s %2$s

      '; - } - foreach ($errors as $item) { - $wpError = $item['error']; - /** @var WP_Error $wpError */ - $output .= sprintf( - $formatString, - $wpError->get_error_message(), - $wpError->get_error_code() - ); - } - if ( $showAsList ) { - $output .= '
    '; - } - - return $output; - } - - /** - * Get the translated plugin title. - * - * @return string - */ - protected function getPluginTitle() { - $title = ''; - $header = $this->getPluginHeader(); - if ( $header && !empty($header['Name']) && isset($header['TextDomain']) ) { - $title = translate($header['Name'], $header['TextDomain']); - } - return $title; - } - - /** - * Check if the current user has the required permissions to install updates. - * - * @return bool - */ - public function userCanInstallUpdates() { - return current_user_can('update_plugins'); - } - - /** - * Check if the plugin file is inside the mu-plugins directory. - * - * @return bool - */ - protected function isMuPlugin() { - static $cachedResult = null; - - if ( $cachedResult === null ) { - //Convert both paths to the canonical form before comparison. - $muPluginDir = realpath(WPMU_PLUGIN_DIR); - $pluginPath = realpath($this->pluginAbsolutePath); - - $cachedResult = (strpos($pluginPath, $muPluginDir) === 0); - } - - return $cachedResult; - } - - /** - * MU plugins are partially supported, but only when we know which file in mu-plugins - * corresponds to this plugin. - * - * @return bool - */ - protected function isUnknownMuPlugin() { - return empty($this->muPluginFile) && $this->isMuPlugin(); - } - - /** - * Clear the cached plugin version. This method can be set up as a filter (hook) and will - * return the filter argument unmodified. - * - * @param mixed $filterArgument - * @return mixed - */ - public function clearCachedVersion($filterArgument = null) { - $this->cachedInstalledVersion = null; - return $filterArgument; - } - - /** - * Get absolute path to the main plugin file. - * - * @return string - */ - public function getAbsolutePath() { - return $this->pluginAbsolutePath; - } - - /** - * @return string - */ - public function getAbsoluteDirectoryPath() { - return dirname($this->pluginAbsolutePath); - } - - /** - * Register a callback for filtering query arguments. - * - * The callback function should take one argument - an associative array of query arguments. - * It should return a modified array of query arguments. - * - * @uses add_filter() This method is a convenience wrapper for add_filter(). - * - * @param callable $callback - * @return void - */ - public function addQueryArgFilter($callback){ - $this->addFilter('request_info_query_args', $callback); - } - - /** - * Register a callback for filtering arguments passed to wp_remote_get(). - * - * The callback function should take one argument - an associative array of arguments - - * and return a modified array or arguments. See the WP documentation on wp_remote_get() - * for details on what arguments are available and how they work. - * - * @uses add_filter() This method is a convenience wrapper for add_filter(). - * - * @param callable $callback - * @return void - */ - public function addHttpRequestArgFilter($callback) { - $this->addFilter('request_info_options', $callback); - } - - /** - * Register a callback for filtering the plugin info retrieved from the external API. - * - * The callback function should take two arguments. If the plugin info was retrieved - * successfully, the first argument passed will be an instance of PluginInfo. Otherwise, - * it will be NULL. The second argument will be the corresponding return value of - * wp_remote_get (see WP docs for details). - * - * The callback function should return a new or modified instance of PluginInfo or NULL. - * - * @uses add_filter() This method is a convenience wrapper for add_filter(). - * - * @param callable $callback - * @return void - */ - public function addResultFilter($callback) { - $this->addFilter('request_info_result', $callback, 10, 2); - } - - protected function createDebugBarExtension() { - return new Puc_v4p4_DebugBar_PluginExtension($this); - } - } - -endif; diff --git a/admin/update-checker/Puc/v4p4/Scheduler.php b/admin/update-checker/Puc/v4p4/Scheduler.php deleted file mode 100755 index 4fa1e6d..0000000 --- a/admin/update-checker/Puc/v4p4/Scheduler.php +++ /dev/null @@ -1,177 +0,0 @@ -updateChecker = $updateChecker; - $this->checkPeriod = $checkPeriod; - - //Set up the periodic update checks - $this->cronHook = $this->updateChecker->getUniqueName('cron_check_updates'); - if ( $this->checkPeriod > 0 ){ - - //Trigger the check via Cron. - //Try to use one of the default schedules if possible as it's less likely to conflict - //with other plugins and their custom schedules. - $defaultSchedules = array( - 1 => 'hourly', - 12 => 'twicedaily', - 24 => 'daily', - ); - if ( array_key_exists($this->checkPeriod, $defaultSchedules) ) { - $scheduleName = $defaultSchedules[$this->checkPeriod]; - } else { - //Use a custom cron schedule. - $scheduleName = 'every' . $this->checkPeriod . 'hours'; - add_filter('cron_schedules', array($this, '_addCustomSchedule')); - } - - if ( !wp_next_scheduled($this->cronHook) && !defined('WP_INSTALLING') ) { - wp_schedule_event(time(), $scheduleName, $this->cronHook); - } - add_action($this->cronHook, array($this, 'maybeCheckForUpdates')); - - //In case Cron is disabled or unreliable, we also manually trigger - //the periodic checks while the user is browsing the Dashboard. - add_action( 'admin_init', array($this, 'maybeCheckForUpdates') ); - - //Like WordPress itself, we check more often on certain pages. - /** @see wp_update_plugins */ - add_action('load-update-core.php', array($this, 'maybeCheckForUpdates')); - //"load-update.php" and "load-plugins.php" or "load-themes.php". - $this->hourlyCheckHooks = array_merge($this->hourlyCheckHooks, $hourlyHooks); - foreach($this->hourlyCheckHooks as $hook) { - add_action($hook, array($this, 'maybeCheckForUpdates')); - } - //This hook fires after a bulk update is complete. - add_action('upgrader_process_complete', array($this, 'maybeCheckForUpdates'), 11, 0); - - } else { - //Periodic checks are disabled. - wp_clear_scheduled_hook($this->cronHook); - } - } - - /** - * Check for updates if the configured check interval has already elapsed. - * Will use a shorter check interval on certain admin pages like "Dashboard -> Updates" or when doing cron. - * - * You can override the default behaviour by using the "puc_check_now-$slug" filter. - * The filter callback will be passed three parameters: - * - Current decision. TRUE = check updates now, FALSE = don't check now. - * - Last check time as a Unix timestamp. - * - Configured check period in hours. - * Return TRUE to check for updates immediately, or FALSE to cancel. - * - * This method is declared public because it's a hook callback. Calling it directly is not recommended. - */ - public function maybeCheckForUpdates(){ - if ( empty($this->checkPeriod) ){ - return; - } - - $state = $this->updateChecker->getUpdateState(); - $shouldCheck = ($state->timeSinceLastCheck() >= $this->getEffectiveCheckPeriod()); - - //Let plugin authors substitute their own algorithm. - $shouldCheck = apply_filters( - $this->updateChecker->getUniqueName('check_now'), - $shouldCheck, - $state->getLastCheck(), - $this->checkPeriod - ); - - if ( $shouldCheck ) { - $this->updateChecker->checkForUpdates(); - } - } - - /** - * Calculate the actual check period based on the current status and environment. - * - * @return int Check period in seconds. - */ - protected function getEffectiveCheckPeriod() { - $currentFilter = current_filter(); - if ( in_array($currentFilter, array('load-update-core.php', 'upgrader_process_complete')) ) { - //Check more often when the user visits "Dashboard -> Updates" or does a bulk update. - $period = 60; - } else if ( in_array($currentFilter, $this->hourlyCheckHooks) ) { - //Also check more often on /wp-admin/update.php and the "Plugins" or "Themes" page. - $period = 3600; - } else if ( $this->throttleRedundantChecks && ($this->updateChecker->getUpdate() !== null) ) { - //Check less frequently if it's already known that an update is available. - $period = $this->throttledCheckPeriod * 3600; - } else if ( defined('DOING_CRON') && constant('DOING_CRON') ) { - //WordPress cron schedules are not exact, so lets do an update check even - //if slightly less than $checkPeriod hours have elapsed since the last check. - $cronFuzziness = 20 * 60; - $period = $this->checkPeriod * 3600 - $cronFuzziness; - } else { - $period = $this->checkPeriod * 3600; - } - - return $period; - } - - /** - * Add our custom schedule to the array of Cron schedules used by WP. - * - * @param array $schedules - * @return array - */ - public function _addCustomSchedule($schedules){ - if ( $this->checkPeriod && ($this->checkPeriod > 0) ){ - $scheduleName = 'every' . $this->checkPeriod . 'hours'; - $schedules[$scheduleName] = array( - 'interval' => $this->checkPeriod * 3600, - 'display' => sprintf('Every %d hours', $this->checkPeriod), - ); - } - return $schedules; - } - - /** - * Remove the scheduled cron event that the library uses to check for updates. - * - * @return void - */ - public function removeUpdaterCron(){ - wp_clear_scheduled_hook($this->cronHook); - } - - /** - * Get the name of the update checker's WP-cron hook. Mostly useful for debugging. - * - * @return string - */ - public function getCronHookName() { - return $this->cronHook; - } - } - -endif; diff --git a/admin/update-checker/Puc/v4p4/StateStore.php b/admin/update-checker/Puc/v4p4/StateStore.php deleted file mode 100755 index fd0d069..0000000 --- a/admin/update-checker/Puc/v4p4/StateStore.php +++ /dev/null @@ -1,207 +0,0 @@ -optionName = $optionName; - } - - /** - * Get time elapsed since the last update check. - * - * If there are no recorded update checks, this method returns a large arbitrary number - * (i.e. time since the Unix epoch). - * - * @return int Elapsed time in seconds. - */ - public function timeSinceLastCheck() { - $this->lazyLoad(); - return time() - $this->lastCheck; - } - - /** - * @return int - */ - public function getLastCheck() { - $this->lazyLoad(); - return $this->lastCheck; - } - - /** - * Set the time of the last update check to the current timestamp. - * - * @return $this - */ - public function setLastCheckToNow() { - $this->lazyLoad(); - $this->lastCheck = time(); - return $this; - } - - /** - * @return null|Puc_v4p4_Update - */ - public function getUpdate() { - $this->lazyLoad(); - return $this->update; - } - - /** - * @param Puc_v4p4_Update|null $update - * @return $this - */ - public function setUpdate(Puc_v4p4_Update $update = null) { - $this->lazyLoad(); - $this->update = $update; - return $this; - } - - /** - * @return string - */ - public function getCheckedVersion() { - $this->lazyLoad(); - return $this->checkedVersion; - } - - /** - * @param string $version - * @return $this - */ - public function setCheckedVersion($version) { - $this->lazyLoad(); - $this->checkedVersion = strval($version); - return $this; - } - - /** - * Get translation updates. - * - * @return array - */ - public function getTranslations() { - $this->lazyLoad(); - if ( isset($this->update, $this->update->translations) ) { - return $this->update->translations; - } - return array(); - } - - /** - * Set translation updates. - * - * @param array $translationUpdates - */ - public function setTranslations($translationUpdates) { - $this->lazyLoad(); - if ( isset($this->update) ) { - $this->update->translations = $translationUpdates; - $this->save(); - } - } - - public function save() { - $state = new stdClass(); - - $state->lastCheck = $this->lastCheck; - $state->checkedVersion = $this->checkedVersion; - - if ( isset($this->update)) { - $state->update = $this->update->toStdClass(); - - $updateClass = get_class($this->update); - $state->updateClass = $updateClass; - $prefix = $this->getLibPrefix(); - if ( Puc_v4p4_Utils::startsWith($updateClass, $prefix) ) { - $state->updateBaseClass = substr($updateClass, strlen($prefix)); - } - } - - update_site_option($this->optionName, $state); - $this->isLoaded = true; - } - - /** - * @return $this - */ - public function lazyLoad() { - if ( !$this->isLoaded ) { - $this->load(); - } - return $this; - } - - protected function load() { - $this->isLoaded = true; - - $state = get_site_option($this->optionName, null); - - if ( !is_object($state) ) { - $this->lastCheck = 0; - $this->checkedVersion = ''; - $this->update = null; - return; - } - - $this->lastCheck = intval(Puc_v4p4_Utils::get($state, 'lastCheck', 0)); - $this->checkedVersion = Puc_v4p4_Utils::get($state, 'checkedVersion', ''); - $this->update = null; - - if ( isset($state->update) ) { - //This mess is due to the fact that the want the update class from this version - //of the library, not the version that saved the update. - - $updateClass = null; - if ( isset($state->updateBaseClass) ) { - $updateClass = $this->getLibPrefix() . $state->updateBaseClass; - } else if ( isset($state->updateClass) && class_exists($state->updateClass) ) { - $updateClass = $state->updateClass; - } - - if ( $updateClass !== null ) { - $this->update = call_user_func(array($updateClass, 'fromObject'), $state->update); - } - } - } - - public function delete() { - delete_site_option($this->optionName); - - $this->lastCheck = 0; - $this->checkedVersion = ''; - $this->update = null; - } - - private function getLibPrefix() { - $parts = explode('_', __CLASS__, 3); - return $parts[0] . '_' . $parts[1] . '_'; - } - } - -endif; diff --git a/admin/update-checker/Puc/v4p4/Theme/Update.php b/admin/update-checker/Puc/v4p4/Theme/Update.php deleted file mode 100755 index 5a43e11..0000000 --- a/admin/update-checker/Puc/v4p4/Theme/Update.php +++ /dev/null @@ -1,84 +0,0 @@ - $this->slug, - 'new_version' => $this->version, - 'url' => $this->details_url, - ); - - if ( !empty($this->download_url) ) { - $update['package'] = $this->download_url; - } - - return $update; - } - - /** - * Create a new instance of Theme_Update from its JSON-encoded representation. - * - * @param string $json Valid JSON string representing a theme information object. - * @return self New instance of ThemeUpdate, or NULL on error. - */ - public static function fromJson($json) { - $instance = new self(); - if ( !parent::createFromJson($json, $instance) ) { - return null; - } - return $instance; - } - - /** - * Create a new instance by copying the necessary fields from another object. - * - * @param StdClass|Puc_v4p4_Theme_Update $object The source object. - * @return Puc_v4p4_Theme_Update The new copy. - */ - public static function fromObject($object) { - $update = new self(); - $update->copyFields($object, $update); - return $update; - } - - /** - * Basic validation. - * - * @param StdClass $apiResponse - * @return bool|WP_Error - */ - protected function validateMetadata($apiResponse) { - $required = array('version', 'details_url'); - foreach($required as $key) { - if ( !isset($apiResponse->$key) || empty($apiResponse->$key) ) { - return new WP_Error( - 'tuc-invalid-metadata', - sprintf('The theme metadata is missing the required "%s" key.', $key) - ); - } - } - return true; - } - - protected function getFieldNames() { - return array_merge(parent::getFieldNames(), self::$extraFields); - } - - protected function getPrefixedFilter($tag) { - return parent::getPrefixedFilter($tag) . '_theme'; - } - } - -endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Theme/UpdateChecker.php b/admin/update-checker/Puc/v4p4/Theme/UpdateChecker.php deleted file mode 100755 index 48ae592..0000000 --- a/admin/update-checker/Puc/v4p4/Theme/UpdateChecker.php +++ /dev/null @@ -1,177 +0,0 @@ -stylesheet = $stylesheet; - $this->theme = wp_get_theme($this->stylesheet); - - parent::__construct( - $metadataUrl, - $stylesheet, - $customSlug ? $customSlug : $stylesheet, - $checkPeriod, - $optionName - ); - } - - /** - * For themes, the update array is indexed by theme directory name. - * - * @return string - */ - protected function getUpdateListKey() { - return $this->directoryName; - } - - /** - * Retrieve the latest update (if any) from the configured API endpoint. - * - * @return Puc_v4p4_Update|null An instance of Update, or NULL when no updates are available. - */ - public function requestUpdate() { - list($themeUpdate, $result) = $this->requestMetadata('Puc_v4p4_Theme_Update', 'request_update'); - - if ( $themeUpdate !== null ) { - /** @var Puc_v4p4_Theme_Update $themeUpdate */ - $themeUpdate->slug = $this->slug; - } - - $themeUpdate = $this->filterUpdateResult($themeUpdate, $result); - return $themeUpdate; - } - - public function userCanInstallUpdates() { - return current_user_can('update_themes'); - } - - /** - * Get the currently installed version of the plugin or theme. - * - * @return string Version number. - */ - public function getInstalledVersion() { - return $this->theme->get('Version'); - } - - /** - * @return string - */ - public function getAbsoluteDirectoryPath() { - if ( method_exists($this->theme, 'get_stylesheet_directory') ) { - return $this->theme->get_stylesheet_directory(); //Available since WP 3.4. - } - return get_theme_root($this->stylesheet) . '/' . $this->stylesheet; - } - - /** - * Create an instance of the scheduler. - * - * @param int $checkPeriod - * @return Puc_v4p4_Scheduler - */ - protected function createScheduler($checkPeriod) { - return new Puc_v4p4_Scheduler($this, $checkPeriod, array('load-themes.php')); - } - - /** - * Is there an update being installed right now for this theme? - * - * @param WP_Upgrader|null $upgrader The upgrader that's performing the current update. - * @return bool - */ - public function isBeingUpgraded($upgrader = null) { - return $this->upgraderStatus->isThemeBeingUpgraded($this->stylesheet, $upgrader); - } - - protected function createDebugBarExtension() { - return new Puc_v4p4_DebugBar_Extension($this, 'Puc_v4p4_DebugBar_ThemePanel'); - } - - /** - * Register a callback for filtering query arguments. - * - * The callback function should take one argument - an associative array of query arguments. - * It should return a modified array of query arguments. - * - * @param callable $callback - * @return void - */ - public function addQueryArgFilter($callback){ - $this->addFilter('request_update_query_args', $callback); - } - - /** - * Register a callback for filtering arguments passed to wp_remote_get(). - * - * The callback function should take one argument - an associative array of arguments - - * and return a modified array or arguments. See the WP documentation on wp_remote_get() - * for details on what arguments are available and how they work. - * - * @uses add_filter() This method is a convenience wrapper for add_filter(). - * - * @param callable $callback - * @return void - */ - public function addHttpRequestArgFilter($callback) { - $this->addFilter('request_update_options', $callback); - } - - /** - * Register a callback for filtering theme updates retrieved from the external API. - * - * The callback function should take two arguments. If the theme update was retrieved - * successfully, the first argument passed will be an instance of Theme_Update. Otherwise, - * it will be NULL. The second argument will be the corresponding return value of - * wp_remote_get (see WP docs for details). - * - * The callback function should return a new or modified instance of Theme_Update or NULL. - * - * @uses add_filter() This method is a convenience wrapper for add_filter(). - * - * @param callable $callback - * @return void - */ - public function addResultFilter($callback) { - $this->addFilter('request_update_result', $callback, 10, 2); - } - - /** - * @return array - */ - protected function getHeaderNames() { - return array( - 'Name' => 'Theme Name', - 'ThemeURI' => 'Theme URI', - 'Description' => 'Description', - 'Author' => 'Author', - 'AuthorURI' => 'Author URI', - 'Version' => 'Version', - 'Template' => 'Template', - 'Status' => 'Status', - 'Tags' => 'Tags', - 'TextDomain' => 'Text Domain', - 'DomainPath' => 'Domain Path', - ); - } - } - -endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Update.php b/admin/update-checker/Puc/v4p4/Update.php deleted file mode 100755 index af66eb2..0000000 --- a/admin/update-checker/Puc/v4p4/Update.php +++ /dev/null @@ -1,34 +0,0 @@ -slug = $this->slug; - $update->new_version = $this->version; - $update->package = $this->download_url; - - return $update; - } - } - -endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/UpdateChecker.php b/admin/update-checker/Puc/v4p4/UpdateChecker.php deleted file mode 100755 index 2eea878..0000000 --- a/admin/update-checker/Puc/v4p4/UpdateChecker.php +++ /dev/null @@ -1,896 +0,0 @@ -debugMode = (bool)(constant('WP_DEBUG')); - $this->metadataUrl = $metadataUrl; - $this->directoryName = $directoryName; - $this->slug = !empty($slug) ? $slug : $this->directoryName; - - $this->optionName = $optionName; - if ( empty($this->optionName) ) { - //BC: Initially the library only supported plugin updates and didn't use type prefixes - //in the option name. Lets use the same prefix-less name when possible. - if ( $this->filterSuffix === '' ) { - $this->optionName = 'external_updates-' . $this->slug; - } else { - $this->optionName = $this->getUniqueName('external_updates'); - } - } - - $this->scheduler = $this->createScheduler($checkPeriod); - $this->upgraderStatus = new Puc_v4p4_UpgraderStatus(); - $this->updateState = new Puc_v4p4_StateStore($this->optionName); - - if ( did_action('init') ) { - $this->loadTextDomain(); - } else { - add_action('init', array($this, 'loadTextDomain')); - } - - $this->installHooks(); - } - - /** - * @internal - */ - public function loadTextDomain() { - //We're not using load_plugin_textdomain() or its siblings because figuring out where - //the library is located (plugin, mu-plugin, theme, custom wp-content paths) is messy. - $domain = 'plugin-update-checker'; - $locale = apply_filters( - 'plugin_locale', - (is_admin() && function_exists('get_user_locale')) ? get_user_locale() : get_locale(), - $domain - ); - - $moFile = $domain . '-' . $locale . '.mo'; - $path = realpath(dirname(__FILE__) . '/../../languages'); - - if ($path && file_exists($path)) { - load_textdomain($domain, $path . '/' . $moFile); - } - } - - protected function installHooks() { - //Insert our update info into the update array maintained by WP. - add_filter('site_transient_' . $this->updateTransient, array($this,'injectUpdate')); - - //Insert translation updates into the update list. - add_filter('site_transient_' . $this->updateTransient, array($this, 'injectTranslationUpdates')); - - //Clear translation updates when WP clears the update cache. - //This needs to be done directly because the library doesn't actually remove obsolete plugin updates, - //it just hides them (see getUpdate()). We can't do that with translations - too much disk I/O. - add_action( - 'delete_site_transient_' . $this->updateTransient, - array($this, 'clearCachedTranslationUpdates') - ); - - //Rename the update directory to be the same as the existing directory. - if ( $this->directoryName !== '.' ) { - add_filter('upgrader_source_selection', array($this, 'fixDirectoryName'), 10, 3); - } - - //Allow HTTP requests to the metadata URL even if it's on a local host. - add_filter('http_request_host_is_external', array($this, 'allowMetadataHost'), 10, 2); - - //DebugBar integration. - if ( did_action('plugins_loaded') ) { - $this->maybeInitDebugBar(); - } else { - add_action('plugins_loaded', array($this, 'maybeInitDebugBar')); - } - } - - /** - * Remove hooks that were added by this update checker instance. - */ - protected function removeHooks() { - remove_filter('site_transient_' . $this->updateTransient, array($this,'injectUpdate')); - remove_filter('site_transient_' . $this->updateTransient, array($this, 'injectTranslationUpdates')); - remove_action( - 'delete_site_transient_' . $this->updateTransient, - array($this, 'clearCachedTranslationUpdates') - ); - - remove_filter('upgrader_source_selection', array($this, 'fixDirectoryName'), 10); - remove_filter('http_request_host_is_external', array($this, 'allowMetadataHost'), 10); - remove_action('plugins_loaded', array($this, 'maybeInitDebugBar')); - - remove_action('init', array($this, 'loadTextDomain')); - } - - /** - * Check if the current user has the required permissions to install updates. - * - * @return bool - */ - abstract public function userCanInstallUpdates(); - - /** - * Explicitly allow HTTP requests to the metadata URL. - * - * WordPress has a security feature where the HTTP API will reject all requests that are sent to - * another site hosted on the same server as the current site (IP match), a local host, or a local - * IP, unless the host exactly matches the current site. - * - * This feature is opt-in (at least in WP 4.4). Apparently some people enable it. - * - * That can be a problem when you're developing your plugin and you decide to host the update information - * on the same server as your test site. Update requests will mysteriously fail. - * - * We fix that by adding an exception for the metadata host. - * - * @param bool $allow - * @param string $host - * @return bool - */ - public function allowMetadataHost($allow, $host) { - static $metadataHost = 0; //Using 0 instead of NULL because parse_url can return NULL. - if ( $metadataHost === 0 ) { - $metadataHost = @parse_url($this->metadataUrl, PHP_URL_HOST); - } - - if ( is_string($metadataHost) && (strtolower($host) === strtolower($metadataHost)) ) { - return true; - } - return $allow; - } - - /** - * Create an instance of the scheduler. - * - * This is implemented as a method to make it possible for plugins to subclass the update checker - * and substitute their own scheduler. - * - * @param int $checkPeriod - * @return Puc_v4p4_Scheduler - */ - abstract protected function createScheduler($checkPeriod); - - /** - * Check for updates. The results are stored in the DB option specified in $optionName. - * - * @return Puc_v4p4_Update|null - */ - public function checkForUpdates() { - $installedVersion = $this->getInstalledVersion(); - //Fail silently if we can't find the plugin/theme or read its header. - if ( $installedVersion === null ) { - $this->triggerError( - sprintf('Skipping update check for %s - installed version unknown.', $this->slug), - E_USER_WARNING - ); - return null; - } - - //Start collecting API errors. - $this->lastRequestApiErrors = array(); - add_action('puc_api_error', array($this, 'collectApiErrors'), 10, 4); - - $state = $this->updateState; - $state->setLastCheckToNow() - ->setCheckedVersion($installedVersion) - ->save(); //Save before checking in case something goes wrong - - $state->setUpdate($this->requestUpdate()); - $state->save(); - - //Stop collecting API errors. - remove_action('puc_api_error', array($this, 'collectApiErrors'), 10); - - return $this->getUpdate(); - } - - /** - * Load the update checker state from the DB. - * - * @return Puc_v4p4_StateStore - */ - public function getUpdateState() { - return $this->updateState->lazyLoad(); - } - - /** - * Reset update checker state - i.e. last check time, cached update data and so on. - * - * Call this when your plugin is being uninstalled, or if you want to - * clear the update cache. - */ - public function resetUpdateState() { - $this->updateState->delete(); - } - - /** - * Get the details of the currently available update, if any. - * - * If no updates are available, or if the last known update version is below or equal - * to the currently installed version, this method will return NULL. - * - * Uses cached update data. To retrieve update information straight from - * the metadata URL, call requestUpdate() instead. - * - * @return Puc_v4p4_Update|null - */ - public function getUpdate() { - $update = $this->updateState->getUpdate(); - - //Is there an update available? - if ( isset($update) ) { - //Check if the update is actually newer than the currently installed version. - $installedVersion = $this->getInstalledVersion(); - if ( ($installedVersion !== null) && version_compare($update->version, $installedVersion, '>') ){ - return $update; - } - } - return null; - } - - /** - * Retrieve the latest update (if any) from the configured API endpoint. - * - * Subclasses should run the update through filterUpdateResult before returning it. - * - * @return Puc_v4p4_Update An instance of Update, or NULL when no updates are available. - */ - abstract public function requestUpdate(); - - /** - * Filter the result of a requestUpdate() call. - * - * @param Puc_v4p4_Update|null $update - * @param array|WP_Error|null $httpResult The value returned by wp_remote_get(), if any. - * @return Puc_v4p4_Update - */ - protected function filterUpdateResult($update, $httpResult = null) { - //Let plugins/themes modify the update. - $update = apply_filters($this->getUniqueName('request_update_result'), $update, $httpResult); - - if ( isset($update, $update->translations) ) { - //Keep only those translation updates that apply to this site. - $update->translations = $this->filterApplicableTranslations($update->translations); - } - - return $update; - } - - /** - * Get the currently installed version of the plugin or theme. - * - * @return string|null Version number. - */ - abstract public function getInstalledVersion(); - - /** - * Get the full path of the plugin or theme directory. - * - * @return string - */ - abstract public function getAbsoluteDirectoryPath(); - - /** - * Trigger a PHP error, but only when $debugMode is enabled. - * - * @param string $message - * @param int $errorType - */ - protected function triggerError($message, $errorType) { - if ($this->debugMode) { - trigger_error($message, $errorType); - } - } - - /** - * Get the full name of an update checker filter, action or DB entry. - * - * This method adds the "puc_" prefix and the "-$slug" suffix to the filter name. - * For example, "pre_inject_update" becomes "puc_pre_inject_update-plugin-slug". - * - * @param string $baseTag - * @return string - */ - public function getUniqueName($baseTag) { - $name = 'puc_' . $baseTag; - if ($this->filterSuffix !== '') { - $name .= '_' . $this->filterSuffix; - } - return $name . '-' . $this->slug; - } - - /** - * Store API errors that are generated when checking for updates. - * - * @internal - * @param WP_Error $error - * @param array|null $httpResponse - * @param string|null $url - * @param string|null $slug - */ - public function collectApiErrors($error, $httpResponse = null, $url = null, $slug = null) { - if ( isset($slug) && ($slug !== $this->slug) ) { - return; - } - - $this->lastRequestApiErrors[] = array( - 'error' => $error, - 'httpResponse' => $httpResponse, - 'url' => $url, - ); - } - - /** - * @return array - */ - public function getLastRequestApiErrors() { - return $this->lastRequestApiErrors; - } - - /* ------------------------------------------------------------------- - * PUC filters and filter utilities - * ------------------------------------------------------------------- - */ - - /** - * Register a callback for one of the update checker filters. - * - * Identical to add_filter(), except it automatically adds the "puc_" prefix - * and the "-$slug" suffix to the filter name. For example, "request_info_result" - * becomes "puc_request_info_result-your_plugin_slug". - * - * @param string $tag - * @param callable $callback - * @param int $priority - * @param int $acceptedArgs - */ - public function addFilter($tag, $callback, $priority = 10, $acceptedArgs = 1) { - add_filter($this->getUniqueName($tag), $callback, $priority, $acceptedArgs); - } - - /* ------------------------------------------------------------------- - * Inject updates - * ------------------------------------------------------------------- - */ - - /** - * Insert the latest update (if any) into the update list maintained by WP. - * - * @param stdClass $updates Update list. - * @return stdClass Modified update list. - */ - public function injectUpdate($updates) { - //Is there an update to insert? - $update = $this->getUpdate(); - - if ( !$this->shouldShowUpdates() ) { - $update = null; - } - - if ( !empty($update) ) { - //Let plugins filter the update info before it's passed on to WordPress. - $update = apply_filters($this->getUniqueName('pre_inject_update'), $update); - $updates = $this->addUpdateToList($updates, $update->toWpFormat()); - } else { - //Clean up any stale update info. - $updates = $this->removeUpdateFromList($updates); - } - - return $updates; - } - - /** - * @param stdClass|null $updates - * @param stdClass|array $updateToAdd - * @return stdClass - */ - protected function addUpdateToList($updates, $updateToAdd) { - if ( !is_object($updates) ) { - $updates = new stdClass(); - $updates->response = array(); - } - - $updates->response[$this->getUpdateListKey()] = $updateToAdd; - return $updates; - } - - /** - * @param stdClass|null $updates - * @return stdClass|null - */ - protected function removeUpdateFromList($updates) { - if ( isset($updates, $updates->response) ) { - unset($updates->response[$this->getUpdateListKey()]); - } - return $updates; - } - - /** - * Get the key that will be used when adding updates to the update list that's maintained - * by the WordPress core. The list is always an associative array, but the key is different - * for plugins and themes. - * - * @return string - */ - abstract protected function getUpdateListKey(); - - /** - * Should we show available updates? - * - * Usually the answer is "yes", but there are exceptions. For example, WordPress doesn't - * support automatic updates installation for mu-plugins, so PUC usually won't show update - * notifications in that case. See the plugin-specific subclass for details. - * - * Note: This method only applies to updates that are displayed (or not) in the WordPress - * admin. It doesn't affect APIs like requestUpdate and getUpdate. - * - * @return bool - */ - protected function shouldShowUpdates() { - return true; - } - - /* ------------------------------------------------------------------- - * JSON-based update API - * ------------------------------------------------------------------- - */ - - /** - * Retrieve plugin or theme metadata from the JSON document at $this->metadataUrl. - * - * @param string $metaClass Parse the JSON as an instance of this class. It must have a static fromJson method. - * @param string $filterRoot - * @param array $queryArgs Additional query arguments. - * @return array [Puc_v4p4_Metadata|null, array|WP_Error] A metadata instance and the value returned by wp_remote_get(). - */ - protected function requestMetadata($metaClass, $filterRoot, $queryArgs = array()) { - //Query args to append to the URL. Plugins can add their own by using a filter callback (see addQueryArgFilter()). - $queryArgs = array_merge( - array( - 'installed_version' => strval($this->getInstalledVersion()), - 'php' => phpversion(), - 'locale' => get_locale(), - ), - $queryArgs - ); - $queryArgs = apply_filters($this->getUniqueName($filterRoot . '_query_args'), $queryArgs); - - //Various options for the wp_remote_get() call. Plugins can filter these, too. - $options = array( - 'timeout' => 10, //seconds - 'headers' => array( - 'Accept' => 'application/json', - ), - ); - $options = apply_filters($this->getUniqueName($filterRoot . '_options'), $options); - - //The metadata file should be at 'http://your-api.com/url/here/$slug/info.json' - $url = $this->metadataUrl; - if ( !empty($queryArgs) ){ - $url = add_query_arg($queryArgs, $url); - } - - $result = wp_remote_get($url, $options); - - $result = apply_filters($this->getUniqueName('request_metadata_http_result'), $result, $url, $options); - - //Try to parse the response - $status = $this->validateApiResponse($result); - $metadata = null; - if ( !is_wp_error($status) ){ - $metadata = call_user_func(array($metaClass, 'fromJson'), $result['body']); - } else { - do_action('puc_api_error', $status, $result, $url, $this->slug); - $this->triggerError( - sprintf('The URL %s does not point to a valid metadata file. ', $url) - . $status->get_error_message(), - E_USER_WARNING - ); - } - - return array($metadata, $result); - } - - /** - * Check if $result is a successful update API response. - * - * @param array|WP_Error $result - * @return true|WP_Error - */ - protected function validateApiResponse($result) { - if ( is_wp_error($result) ) { /** @var WP_Error $result */ - return new WP_Error($result->get_error_code(), 'WP HTTP Error: ' . $result->get_error_message()); - } - - if ( !isset($result['response']['code']) ) { - return new WP_Error( - 'puc_no_response_code', - 'wp_remote_get() returned an unexpected result.' - ); - } - - if ( $result['response']['code'] !== 200 ) { - return new WP_Error( - 'puc_unexpected_response_code', - 'HTTP response code is ' . $result['response']['code'] . ' (expected: 200)' - ); - } - - if ( empty($result['body']) ) { - return new WP_Error('puc_empty_response', 'The metadata file appears to be empty.'); - } - - return true; - } - - /* ------------------------------------------------------------------- - * Language packs / Translation updates - * ------------------------------------------------------------------- - */ - - /** - * Filter a list of translation updates and return a new list that contains only updates - * that apply to the current site. - * - * @param array $translations - * @return array - */ - protected function filterApplicableTranslations($translations) { - $languages = array_flip(array_values(get_available_languages())); - $installedTranslations = $this->getInstalledTranslations(); - - $applicableTranslations = array(); - foreach($translations as $translation) { - //Does it match one of the available core languages? - $isApplicable = array_key_exists($translation->language, $languages); - //Is it more recent than an already-installed translation? - if ( isset($installedTranslations[$translation->language]) ) { - $updateTimestamp = strtotime($translation->updated); - $installedTimestamp = strtotime($installedTranslations[$translation->language]['PO-Revision-Date']); - $isApplicable = $updateTimestamp > $installedTimestamp; - } - - if ( $isApplicable ) { - $applicableTranslations[] = $translation; - } - } - - return $applicableTranslations; - } - - /** - * Get a list of installed translations for this plugin or theme. - * - * @return array - */ - protected function getInstalledTranslations() { - if ( !function_exists('wp_get_installed_translations') ) { - return array(); - } - $installedTranslations = wp_get_installed_translations($this->translationType . 's'); - if ( isset($installedTranslations[$this->directoryName]) ) { - $installedTranslations = $installedTranslations[$this->directoryName]; - } else { - $installedTranslations = array(); - } - return $installedTranslations; - } - - /** - * Insert translation updates into the list maintained by WordPress. - * - * @param stdClass $updates - * @return stdClass - */ - public function injectTranslationUpdates($updates) { - $translationUpdates = $this->getTranslationUpdates(); - if ( empty($translationUpdates) ) { - return $updates; - } - - //Being defensive. - if ( !is_object($updates) ) { - $updates = new stdClass(); - } - if ( !isset($updates->translations) ) { - $updates->translations = array(); - } - - //In case there's a name collision with a plugin or theme hosted on wordpress.org, - //remove any preexisting updates that match our thing. - $updates->translations = array_values(array_filter( - $updates->translations, - array($this, 'isNotMyTranslation') - )); - - //Add our updates to the list. - foreach($translationUpdates as $update) { - $convertedUpdate = array_merge( - array( - 'type' => $this->translationType, - 'slug' => $this->directoryName, - 'autoupdate' => 0, - //AFAICT, WordPress doesn't actually use the "version" field for anything. - //But lets make sure it's there, just in case. - 'version' => isset($update->version) ? $update->version : ('1.' . strtotime($update->updated)), - ), - (array)$update - ); - - $updates->translations[] = $convertedUpdate; - } - - return $updates; - } - - /** - * Get a list of available translation updates. - * - * This method will return an empty array if there are no updates. - * Uses cached update data. - * - * @return array - */ - public function getTranslationUpdates() { - return $this->updateState->getTranslations(); - } - - /** - * Remove all cached translation updates. - * - * @see wp_clean_update_cache - */ - public function clearCachedTranslationUpdates() { - $this->updateState->setTranslations(array()); - } - - /** - * Filter callback. Keeps only translations that *don't* match this plugin or theme. - * - * @param array $translation - * @return bool - */ - protected function isNotMyTranslation($translation) { - $isMatch = isset($translation['type'], $translation['slug']) - && ($translation['type'] === $this->translationType) - && ($translation['slug'] === $this->directoryName); - - return !$isMatch; - } - - /* ------------------------------------------------------------------- - * Fix directory name when installing updates - * ------------------------------------------------------------------- - */ - - /** - * Rename the update directory to match the existing plugin/theme directory. - * - * When WordPress installs a plugin or theme update, it assumes that the ZIP file will contain - * exactly one directory, and that the directory name will be the same as the directory where - * the plugin or theme is currently installed. - * - * GitHub and other repositories provide ZIP downloads, but they often use directory names like - * "project-branch" or "project-tag-hash". We need to change the name to the actual plugin folder. - * - * This is a hook callback. Don't call it from a plugin. - * - * @access protected - * - * @param string $source The directory to copy to /wp-content/plugins or /wp-content/themes. Usually a subdirectory of $remoteSource. - * @param string $remoteSource WordPress has extracted the update to this directory. - * @param WP_Upgrader $upgrader - * @return string|WP_Error - */ - public function fixDirectoryName($source, $remoteSource, $upgrader) { - global $wp_filesystem; - /** @var WP_Filesystem_Base $wp_filesystem */ - - //Basic sanity checks. - if ( !isset($source, $remoteSource, $upgrader, $upgrader->skin, $wp_filesystem) ) { - return $source; - } - - //If WordPress is upgrading anything other than our plugin/theme, leave the directory name unchanged. - if ( !$this->isBeingUpgraded($upgrader) ) { - return $source; - } - - //Rename the source to match the existing directory. - $correctedSource = trailingslashit($remoteSource) . $this->directoryName . '/'; - if ( $source !== $correctedSource ) { - //The update archive should contain a single directory that contains the rest of plugin/theme files. - //Otherwise, WordPress will try to copy the entire working directory ($source == $remoteSource). - //We can't rename $remoteSource because that would break WordPress code that cleans up temporary files - //after update. - if ( $this->isBadDirectoryStructure($remoteSource) ) { - return new WP_Error( - 'puc-incorrect-directory-structure', - sprintf( - 'The directory structure of the update is incorrect. All files should be inside ' . - 'a directory named %s, not at the root of the ZIP archive.', - htmlentities($this->slug) - ) - ); - } - - /** @var WP_Upgrader_Skin $upgrader ->skin */ - $upgrader->skin->feedback(sprintf( - 'Renaming %s to %s…', - '' . basename($source) . '', - '' . $this->directoryName . '' - )); - - if ( $wp_filesystem->move($source, $correctedSource, true) ) { - $upgrader->skin->feedback('Directory successfully renamed.'); - return $correctedSource; - } else { - return new WP_Error( - 'puc-rename-failed', - 'Unable to rename the update to match the existing directory.' - ); - } - } - - return $source; - } - - /** - * Is there an update being installed right now, for this plugin or theme? - * - * @param WP_Upgrader|null $upgrader The upgrader that's performing the current update. - * @return bool - */ - abstract public function isBeingUpgraded($upgrader = null); - - /** - * Check for incorrect update directory structure. An update must contain a single directory, - * all other files should be inside that directory. - * - * @param string $remoteSource Directory path. - * @return bool - */ - protected function isBadDirectoryStructure($remoteSource) { - global $wp_filesystem; - /** @var WP_Filesystem_Base $wp_filesystem */ - - $sourceFiles = $wp_filesystem->dirlist($remoteSource); - if ( is_array($sourceFiles) ) { - $sourceFiles = array_keys($sourceFiles); - $firstFilePath = trailingslashit($remoteSource) . $sourceFiles[0]; - return (count($sourceFiles) > 1) || (!$wp_filesystem->is_dir($firstFilePath)); - } - - //Assume it's fine. - return false; - } - - /* ------------------------------------------------------------------- - * File header parsing - * ------------------------------------------------------------------- - */ - - /** - * Parse plugin or theme metadata from the header comment. - * - * This is basically a simplified version of the get_file_data() function from /wp-includes/functions.php. - * It's intended as a utility for subclasses that detect updates by parsing files in a VCS. - * - * @param string|null $content File contents. - * @return string[] - */ - public function getFileHeader($content) { - $content = (string) $content; - - //WordPress only looks at the first 8 KiB of the file, so we do the same. - $content = substr($content, 0, 8192); - //Normalize line endings. - $content = str_replace("\r", "\n", $content); - - $headers = $this->getHeaderNames(); - $results = array(); - foreach ($headers as $field => $name) { - $success = preg_match('/^[ \t\/*#@]*' . preg_quote($name, '/') . ':(.*)$/mi', $content, $matches); - - if ( ($success === 1) && $matches[1] ) { - $value = $matches[1]; - if ( function_exists('_cleanup_header_comment') ) { - $value = _cleanup_header_comment($value); - } - $results[$field] = $value; - } else { - $results[$field] = ''; - } - } - - return $results; - } - - /** - * @return array Format: ['HeaderKey' => 'Header Name'] - */ - abstract protected function getHeaderNames(); - - /* ------------------------------------------------------------------- - * DebugBar integration - * ------------------------------------------------------------------- - */ - - /** - * Initialize the update checker Debug Bar plugin/add-on thingy. - */ - public function maybeInitDebugBar() { - if ( class_exists('Debug_Bar', false) && file_exists(dirname(__FILE__ . '/DebugBar')) ) { - $this->createDebugBarExtension(); - } - } - - protected function createDebugBarExtension() { - return new Puc_v4p4_DebugBar_Extension($this); - } - - /** - * Display additional configuration details in the Debug Bar panel. - * - * @param Puc_v4p4_DebugBar_Panel $panel - */ - public function onDisplayConfiguration($panel) { - //Do nothing. Subclasses can use this to add additional info to the panel. - } - - } - -endif; diff --git a/admin/update-checker/Puc/v4p4/UpgraderStatus.php b/admin/update-checker/Puc/v4p4/UpgraderStatus.php deleted file mode 100755 index 14194d8..0000000 --- a/admin/update-checker/Puc/v4p4/UpgraderStatus.php +++ /dev/null @@ -1,199 +0,0 @@ -isBeingUpgraded('plugin', $pluginFile, $upgrader); - } - - /** - * Is there an update being installed for a specific theme? - * - * @param string $stylesheet Theme directory name. - * @param WP_Upgrader|null $upgrader The upgrader that's performing the current update. - * @return bool - */ - public function isThemeBeingUpgraded($stylesheet, $upgrader = null) { - return $this->isBeingUpgraded('theme', $stylesheet, $upgrader); - } - - /** - * Check if a specific theme or plugin is being upgraded. - * - * @param string $type - * @param string $id - * @param Plugin_Upgrader|WP_Upgrader|null $upgrader - * @return bool - */ - protected function isBeingUpgraded($type, $id, $upgrader = null) { - if ( isset($upgrader) ) { - list($currentType, $currentId) = $this->getThingBeingUpgradedBy($upgrader); - if ( $currentType !== null ) { - $this->currentType = $currentType; - $this->currentId = $currentId; - } - } - return ($this->currentType === $type) && ($this->currentId === $id); - } - - /** - * Figure out which theme or plugin is being upgraded by a WP_Upgrader instance. - * - * Returns an array with two items. The first item is the type of the thing that's being - * upgraded: "plugin" or "theme". The second item is either the plugin basename or - * the theme directory name. If we can't determine what the upgrader is doing, both items - * will be NULL. - * - * Examples: - * ['plugin', 'plugin-dir-name/plugin.php'] - * ['theme', 'theme-dir-name'] - * - * @param Plugin_Upgrader|WP_Upgrader $upgrader - * @return array - */ - private function getThingBeingUpgradedBy($upgrader) { - if ( !isset($upgrader, $upgrader->skin) ) { - return array(null, null); - } - - //Figure out which plugin or theme is being upgraded. - $pluginFile = null; - $themeDirectoryName = null; - - $skin = $upgrader->skin; - if ( isset($skin->theme_info) && ($skin->theme_info instanceof WP_Theme) ) { - $themeDirectoryName = $skin->theme_info->get_stylesheet(); - } elseif ( $skin instanceof Plugin_Upgrader_Skin ) { - if ( isset($skin->plugin) && is_string($skin->plugin) && ($skin->plugin !== '') ) { - $pluginFile = $skin->plugin; - } - } elseif ( $skin instanceof Theme_Upgrader_Skin ) { - if ( isset($skin->theme) && is_string($skin->theme) && ($skin->theme !== '') ) { - $themeDirectoryName = $skin->theme; - } - } elseif ( isset($skin->plugin_info) && is_array($skin->plugin_info) ) { - //This case is tricky because Bulk_Plugin_Upgrader_Skin (etc) doesn't actually store the plugin - //filename anywhere. Instead, it has the plugin headers in $plugin_info. So the best we can - //do is compare those headers to the headers of installed plugins. - $pluginFile = $this->identifyPluginByHeaders($skin->plugin_info); - } - - if ( $pluginFile !== null ) { - return array('plugin', $pluginFile); - } elseif ( $themeDirectoryName !== null ) { - return array('theme', $themeDirectoryName); - } - return array(null, null); - } - - /** - * Identify an installed plugin based on its headers. - * - * @param array $searchHeaders The plugin file header to look for. - * @return string|null Plugin basename ("foo/bar.php"), or NULL if we can't identify the plugin. - */ - private function identifyPluginByHeaders($searchHeaders) { - if ( !function_exists('get_plugins') ){ - /** @noinspection PhpIncludeInspection */ - require_once( ABSPATH . '/wp-admin/includes/plugin.php' ); - } - - $installedPlugins = get_plugins(); - $matches = array(); - foreach($installedPlugins as $pluginBasename => $headers) { - $diff1 = array_diff_assoc($headers, $searchHeaders); - $diff2 = array_diff_assoc($searchHeaders, $headers); - if ( empty($diff1) && empty($diff2) ) { - $matches[] = $pluginBasename; - } - } - - //It's possible (though very unlikely) that there could be two plugins with identical - //headers. In that case, we can't unambiguously identify the plugin that's being upgraded. - if ( count($matches) !== 1 ) { - return null; - } - - return reset($matches); - } - - /** - * @access private - * - * @param mixed $input - * @param array $hookExtra - * @return mixed Returns $input unaltered. - */ - public function setUpgradedThing($input, $hookExtra) { - if ( !empty($hookExtra['plugin']) && is_string($hookExtra['plugin']) ) { - $this->currentId = $hookExtra['plugin']; - $this->currentType = 'plugin'; - } elseif ( !empty($hookExtra['theme']) && is_string($hookExtra['theme']) ) { - $this->currentId = $hookExtra['theme']; - $this->currentType = 'theme'; - } else { - $this->currentType = null; - $this->currentId = null; - } - return $input; - } - - /** - * @access private - * - * @param array $options - * @return array - */ - public function setUpgradedPluginFromOptions($options) { - if ( isset($options['hook_extra']['plugin']) && is_string($options['hook_extra']['plugin']) ) { - $this->currentType = 'plugin'; - $this->currentId = $options['hook_extra']['plugin']; - } else { - $this->currentType = null; - $this->currentId = null; - } - return $options; - } - - /** - * @access private - * - * @param mixed $input - * @return mixed Returns $input unaltered. - */ - public function clearUpgradedThing($input = null) { - $this->currentId = null; - $this->currentType = null; - return $input; - } - } - -endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Utils.php b/admin/update-checker/Puc/v4p4/Utils.php deleted file mode 100755 index 9458882..0000000 --- a/admin/update-checker/Puc/v4p4/Utils.php +++ /dev/null @@ -1,69 +0,0 @@ -$node) ) { - $currentValue = $currentValue->$node; - } else { - return $default; - } - } - - return $currentValue; - } - - /** - * Get the first array element that is not empty. - * - * @param array $values - * @param mixed|null $default Returns this value if there are no non-empty elements. - * @return mixed|null - */ - public static function findNotEmpty($values, $default = null) { - if ( empty($values) ) { - return $default; - } - - foreach ($values as $value) { - if ( !empty($value) ) { - return $value; - } - } - - return $default; - } - - /** - * Check if the input string starts with the specified prefix. - * - * @param string $input - * @param string $prefix - * @return bool - */ - public static function startsWith($input, $prefix) { - $length = strlen($prefix); - return (substr($input, 0, $length) === $prefix); - } - } - -endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Vcs/Api.php b/admin/update-checker/Puc/v4p4/Vcs/Api.php deleted file mode 100755 index 0972e49..0000000 --- a/admin/update-checker/Puc/v4p4/Vcs/Api.php +++ /dev/null @@ -1,302 +0,0 @@ -repositoryUrl = $repositoryUrl; - $this->setAuthentication($credentials); - } - - /** - * @return string - */ - public function getRepositoryUrl() { - return $this->repositoryUrl; - } - - /** - * Figure out which reference (i.e tag or branch) contains the latest version. - * - * @param string $configBranch Start looking in this branch. - * @return null|Puc_v4p4_Vcs_Reference - */ - abstract public function chooseReference($configBranch); - - /** - * Get the readme.txt file from the remote repository and parse it - * according to the plugin readme standard. - * - * @param string $ref Tag or branch name. - * @return array Parsed readme. - */ - public function getRemoteReadme($ref = 'master') { - $fileContents = $this->getRemoteFile($this->getLocalReadmeName(), $ref); - if ( empty($fileContents) ) { - return array(); - } - - $parser = new PucReadmeParser(); - return $parser->parse_readme_contents($fileContents); - } - - /** - * Get the case-sensitive name of the local readme.txt file. - * - * In most cases it should just be called "readme.txt", but some plugins call it "README.txt", - * "README.TXT", or even "Readme.txt". Most VCS are case-sensitive so we need to know the correct - * capitalization. - * - * Defaults to "readme.txt" (all lowercase). - * - * @return string - */ - public function getLocalReadmeName() { - static $fileName = null; - if ( $fileName !== null ) { - return $fileName; - } - - $fileName = 'readme.txt'; - if ( isset($this->localDirectory) ) { - $files = scandir($this->localDirectory); - if ( !empty($files) ) { - foreach ($files as $possibleFileName) { - if ( strcasecmp($possibleFileName, 'readme.txt') === 0 ) { - $fileName = $possibleFileName; - break; - } - } - } - } - return $fileName; - } - - /** - * Get a branch. - * - * @param string $branchName - * @return Puc_v4p4_Vcs_Reference|null - */ - abstract public function getBranch($branchName); - - /** - * Get a specific tag. - * - * @param string $tagName - * @return Puc_v4p4_Vcs_Reference|null - */ - abstract public function getTag($tagName); - - /** - * Get the tag that looks like the highest version number. - * (Implementations should skip pre-release versions if possible.) - * - * @return Puc_v4p4_Vcs_Reference|null - */ - abstract public function getLatestTag(); - - /** - * Check if a tag name string looks like a version number. - * - * @param string $name - * @return bool - */ - protected function looksLikeVersion($name) { - //Tag names may be prefixed with "v", e.g. "v1.2.3". - $name = ltrim($name, 'v'); - - //The version string must start with a number. - if ( !is_numeric(substr($name, 0, 1)) ) { - return false; - } - - //The goal is to accept any SemVer-compatible or "PHP-standardized" version number. - return (preg_match('@^(\d{1,5}?)(\.\d{1,10}?){0,4}?($|[abrdp+_\-]|\s)@i', $name) === 1); - } - - /** - * Check if a tag appears to be named like a version number. - * - * @param stdClass $tag - * @return bool - */ - protected function isVersionTag($tag) { - $property = $this->tagNameProperty; - return isset($tag->$property) && $this->looksLikeVersion($tag->$property); - } - - /** - * Sort a list of tags as if they were version numbers. - * Tags that don't look like version number will be removed. - * - * @param stdClass[] $tags Array of tag objects. - * @return stdClass[] Filtered array of tags sorted in descending order. - */ - protected function sortTagsByVersion($tags) { - //Keep only those tags that look like version numbers. - $versionTags = array_filter($tags, array($this, 'isVersionTag')); - //Sort them in descending order. - usort($versionTags, array($this, 'compareTagNames')); - - return $versionTags; - } - - /** - * Compare two tags as if they were version number. - * - * @param stdClass $tag1 Tag object. - * @param stdClass $tag2 Another tag object. - * @return int - */ - protected function compareTagNames($tag1, $tag2) { - $property = $this->tagNameProperty; - if ( !isset($tag1->$property) ) { - return 1; - } - if ( !isset($tag2->$property) ) { - return -1; - } - return -version_compare(ltrim($tag1->$property, 'v'), ltrim($tag2->$property, 'v')); - } - - /** - * Get the contents of a file from a specific branch or tag. - * - * @param string $path File name. - * @param string $ref - * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. - */ - abstract public function getRemoteFile($path, $ref = 'master'); - - /** - * Get the timestamp of the latest commit that changed the specified branch or tag. - * - * @param string $ref Reference name (e.g. branch or tag). - * @return string|null - */ - abstract public function getLatestCommitTime($ref); - - /** - * Get the contents of the changelog file from the repository. - * - * @param string $ref - * @param string $localDirectory Full path to the local plugin or theme directory. - * @return null|string The HTML contents of the changelog. - */ - public function getRemoteChangelog($ref, $localDirectory) { - $filename = $this->findChangelogName($localDirectory); - if ( empty($filename) ) { - return null; - } - - $changelog = $this->getRemoteFile($filename, $ref); - if ( $changelog === null ) { - return null; - } - - /** @noinspection PhpUndefinedClassInspection */ - return Parsedown::instance()->text($changelog); - } - - /** - * Guess the name of the changelog file. - * - * @param string $directory - * @return string|null - */ - protected function findChangelogName($directory = null) { - if ( !isset($directory) ) { - $directory = $this->localDirectory; - } - if ( empty($directory) || !is_dir($directory) || ($directory === '.') ) { - return null; - } - - $possibleNames = array('CHANGES.md', 'CHANGELOG.md', 'changes.md', 'changelog.md'); - $files = scandir($directory); - $foundNames = array_intersect($possibleNames, $files); - - if ( !empty($foundNames) ) { - return reset($foundNames); - } - return null; - } - - /** - * Set authentication credentials. - * - * @param $credentials - */ - public function setAuthentication($credentials) { - $this->credentials = $credentials; - } - - public function isAuthenticationEnabled() { - return !empty($this->credentials); - } - - /** - * @param string $url - * @return string - */ - public function signDownloadUrl($url) { - return $url; - } - - /** - * @param string $filterName - */ - public function setHttpFilterName($filterName) { - $this->httpFilterName = $filterName; - } - - /** - * @param string $directory - */ - public function setLocalDirectory($directory) { - if ( empty($directory) || !is_dir($directory) || ($directory === '.') ) { - $this->localDirectory = null; - } else { - $this->localDirectory = $directory; - } - } - - /** - * @param string $slug - */ - public function setSlug($slug) { - $this->slug = $slug; - } - } - -endif; diff --git a/admin/update-checker/Puc/v4p4/Vcs/BaseChecker.php b/admin/update-checker/Puc/v4p4/Vcs/BaseChecker.php deleted file mode 100755 index 317f17b..0000000 --- a/admin/update-checker/Puc/v4p4/Vcs/BaseChecker.php +++ /dev/null @@ -1,27 +0,0 @@ -[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { - $this->username = $matches['username']; - $this->repository = $matches['repository']; - } else { - throw new InvalidArgumentException('Invalid BitBucket repository URL: "' . $repositoryUrl . '"'); - } - - parent::__construct($repositoryUrl, $credentials); - } - - /** - * Figure out which reference (i.e tag or branch) contains the latest version. - * - * @param string $configBranch Start looking in this branch. - * @return null|Puc_v4p4_Vcs_Reference - */ - public function chooseReference($configBranch) { - $updateSource = null; - - //Check if there's a "Stable tag: 1.2.3" header that points to a valid tag. - $updateSource = $this->getStableTag($configBranch); - - //Look for version-like tags. - if ( !$updateSource && ($configBranch === 'master') ) { - $updateSource = $this->getLatestTag(); - } - //If all else fails, use the specified branch itself. - if ( !$updateSource ) { - $updateSource = $this->getBranch($configBranch); - } - - return $updateSource; - } - - public function getBranch($branchName) { - $branch = $this->api('/refs/branches/' . $branchName); - if ( is_wp_error($branch) || empty($branch) ) { - return null; - } - - return new Puc_v4p4_Vcs_Reference(array( - 'name' => $branch->name, - 'updated' => $branch->target->date, - 'downloadUrl' => $this->getDownloadUrl($branch->name), - )); - } - - /** - * Get a specific tag. - * - * @param string $tagName - * @return Puc_v4p4_Vcs_Reference|null - */ - public function getTag($tagName) { - $tag = $this->api('/refs/tags/' . $tagName); - if ( is_wp_error($tag) || empty($tag) ) { - return null; - } - - return new Puc_v4p4_Vcs_Reference(array( - 'name' => $tag->name, - 'version' => ltrim($tag->name, 'v'), - 'updated' => $tag->target->date, - 'downloadUrl' => $this->getDownloadUrl($tag->name), - )); - } - - /** - * Get the tag that looks like the highest version number. - * - * @return Puc_v4p4_Vcs_Reference|null - */ - public function getLatestTag() { - $tags = $this->api('/refs/tags?sort=-target.date'); - if ( !isset($tags, $tags->values) || !is_array($tags->values) ) { - return null; - } - - //Filter and sort the list of tags. - $versionTags = $this->sortTagsByVersion($tags->values); - - //Return the first result. - if ( !empty($versionTags) ) { - $tag = $versionTags[0]; - return new Puc_v4p4_Vcs_Reference(array( - 'name' => $tag->name, - 'version' => ltrim($tag->name, 'v'), - 'updated' => $tag->target->date, - 'downloadUrl' => $this->getDownloadUrl($tag->name), - )); - } - return null; - } - - /** - * Get the tag/ref specified by the "Stable tag" header in the readme.txt of a given branch. - * - * @param string $branch - * @return null|Puc_v4p4_Vcs_Reference - */ - protected function getStableTag($branch) { - $remoteReadme = $this->getRemoteReadme($branch); - if ( !empty($remoteReadme['stable_tag']) ) { - $tag = $remoteReadme['stable_tag']; - - //You can explicitly opt out of using tags by setting "Stable tag" to - //"trunk" or the name of the current branch. - if ( ($tag === $branch) || ($tag === 'trunk') ) { - return $this->getBranch($branch); - } - - return $this->getTag($tag); - } - - return null; - } - - /** - * @param string $ref - * @return string - */ - protected function getDownloadUrl($ref) { - return sprintf( - 'https://bitbucket.org/%s/%s/get/%s.zip', - $this->username, - $this->repository, - $ref - ); - } - - /** - * Get the contents of a file from a specific branch or tag. - * - * @param string $path File name. - * @param string $ref - * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. - */ - public function getRemoteFile($path, $ref = 'master') { - $response = $this->api('src/' . $ref . '/' . ltrim($path), '1.0'); - if ( is_wp_error($response) || !isset($response, $response->data) ) { - return null; - } - return $response->data; - } - - /** - * Get the timestamp of the latest commit that changed the specified branch or tag. - * - * @param string $ref Reference name (e.g. branch or tag). - * @return string|null - */ - public function getLatestCommitTime($ref) { - $response = $this->api('commits/' . $ref); - if ( isset($response->values, $response->values[0], $response->values[0]->date) ) { - return $response->values[0]->date; - } - return null; - } - - /** - * Perform a BitBucket API 2.0 request. - * - * @param string $url - * @param string $version - * @return mixed|WP_Error - */ - public function api($url, $version = '2.0') { - $url = implode('/', array( - 'https://api.bitbucket.org', - $version, - 'repositories', - $this->username, - $this->repository, - ltrim($url, '/') - )); - $baseUrl = $url; - - if ( $this->oauth ) { - $url = $this->oauth->sign($url,'GET'); - } - - $options = array('timeout' => 10); - if ( !empty($this->httpFilterName) ) { - $options = apply_filters($this->httpFilterName, $options); - } - $response = wp_remote_get($url, $options); - if ( is_wp_error($response) ) { - do_action('puc_api_error', $response, null, $url, $this->slug); - return $response; - } - - $code = wp_remote_retrieve_response_code($response); - $body = wp_remote_retrieve_body($response); - if ( $code === 200 ) { - $document = json_decode($body); - return $document; - } - - $error = new WP_Error( - 'puc-bitbucket-http-error', - sprintf('BitBucket API error. Base URL: "%s", HTTP status code: %d.', $baseUrl, $code) - ); - do_action('puc_api_error', $error, $response, $url, $this->slug); - - return $error; - } - - /** - * @param array $credentials - */ - public function setAuthentication($credentials) { - parent::setAuthentication($credentials); - - if ( !empty($credentials) && !empty($credentials['consumer_key']) ) { - $this->oauth = new Puc_v4p4_OAuthSignature( - $credentials['consumer_key'], - $credentials['consumer_secret'] - ); - } else { - $this->oauth = null; - } - } - - public function signDownloadUrl($url) { - //Add authentication data to download URLs. Since OAuth signatures incorporate - //timestamps, we have to do this immediately before inserting the update. Otherwise - //authentication could fail due to a stale timestamp. - if ( $this->oauth ) { - $url = $this->oauth->sign($url); - } - return $url; - } - } - -endif; diff --git a/admin/update-checker/Puc/v4p4/Vcs/GitHubApi.php b/admin/update-checker/Puc/v4p4/Vcs/GitHubApi.php deleted file mode 100755 index e3f1e57..0000000 --- a/admin/update-checker/Puc/v4p4/Vcs/GitHubApi.php +++ /dev/null @@ -1,413 +0,0 @@ -[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { - $this->userName = $matches['username']; - $this->repositoryName = $matches['repository']; - } else { - throw new InvalidArgumentException('Invalid GitHub repository URL: "' . $repositoryUrl . '"'); - } - - parent::__construct($repositoryUrl, $accessToken); - } - - /** - * Get the latest release from GitHub. - * - * @return Puc_v4p4_Vcs_Reference|null - */ - public function getLatestRelease() { - $release = $this->api('/repos/:user/:repo/releases/latest'); - if ( is_wp_error($release) || !is_object($release) || !isset($release->tag_name) ) { - return null; - } - - $reference = new Puc_v4p4_Vcs_Reference(array( - 'name' => $release->tag_name, - 'version' => ltrim($release->tag_name, 'v'), //Remove the "v" prefix from "v1.2.3". - 'downloadUrl' => $this->signDownloadUrl($release->zipball_url), - 'updated' => $release->created_at, - 'apiResponse' => $release, - )); - - if ( isset($release->assets[0]) ) { - $reference->downloadCount = $release->assets[0]->download_count; - } - - if ( $this->releaseAssetsEnabled && isset($release->assets, $release->assets[0]) ) { - //Use the first release asset that matches the specified regular expression. - $matchingAssets = array_filter($release->assets, array($this, 'matchesAssetFilter')); - if ( !empty($matchingAssets) ) { - if ( $this->isAuthenticationEnabled() ) { - /** - * Keep in mind that we'll need to add an "Accept" header to download this asset. - * @see setReleaseDownloadHeader() - */ - $reference->downloadUrl = $this->signDownloadUrl($matchingAssets[0]->url); - } else { - //It seems that browser_download_url only works for public repositories. - //Using an access_token doesn't help. Maybe OAuth would work? - $reference->downloadUrl = $matchingAssets[0]->browser_download_url; - } - - $reference->downloadCount = $matchingAssets[0]->download_count; - } - } - - if ( !empty($release->body) ) { - /** @noinspection PhpUndefinedClassInspection */ - $reference->changelog = Parsedown::instance()->text($release->body); - } - - return $reference; - } - - /** - * Get the tag that looks like the highest version number. - * - * @return Puc_v4p4_Vcs_Reference|null - */ - public function getLatestTag() { - $tags = $this->api('/repos/:user/:repo/tags'); - - if ( is_wp_error($tags) || empty($tags) || !is_array($tags) ) { - return null; - } - - $versionTags = $this->sortTagsByVersion($tags); - if ( empty($versionTags) ) { - return null; - } - - $tag = $versionTags[0]; - return new Puc_v4p4_Vcs_Reference(array( - 'name' => $tag->name, - 'version' => ltrim($tag->name, 'v'), - 'downloadUrl' => $this->signDownloadUrl($tag->zipball_url), - 'apiResponse' => $tag, - )); - } - - /** - * Get a branch by name. - * - * @param string $branchName - * @return null|Puc_v4p4_Vcs_Reference - */ - public function getBranch($branchName) { - $branch = $this->api('/repos/:user/:repo/branches/' . $branchName); - if ( is_wp_error($branch) || empty($branch) ) { - return null; - } - - $reference = new Puc_v4p4_Vcs_Reference(array( - 'name' => $branch->name, - 'downloadUrl' => $this->buildArchiveDownloadUrl($branch->name), - 'apiResponse' => $branch, - )); - - if ( isset($branch->commit, $branch->commit->commit, $branch->commit->commit->author->date) ) { - $reference->updated = $branch->commit->commit->author->date; - } - - return $reference; - } - - /** - * Get the latest commit that changed the specified file. - * - * @param string $filename - * @param string $ref Reference name (e.g. branch or tag). - * @return StdClass|null - */ - public function getLatestCommit($filename, $ref = 'master') { - $commits = $this->api( - '/repos/:user/:repo/commits', - array( - 'path' => $filename, - 'sha' => $ref, - ) - ); - if ( !is_wp_error($commits) && is_array($commits) && isset($commits[0]) ) { - return $commits[0]; - } - return null; - } - - /** - * Get the timestamp of the latest commit that changed the specified branch or tag. - * - * @param string $ref Reference name (e.g. branch or tag). - * @return string|null - */ - public function getLatestCommitTime($ref) { - $commits = $this->api('/repos/:user/:repo/commits', array('sha' => $ref)); - if ( !is_wp_error($commits) && is_array($commits) && isset($commits[0]) ) { - return $commits[0]->commit->author->date; - } - return null; - } - - /** - * Perform a GitHub API request. - * - * @param string $url - * @param array $queryParams - * @return mixed|WP_Error - */ - protected function api($url, $queryParams = array()) { - $baseUrl = $url; - $url = $this->buildApiUrl($url, $queryParams); - - $options = array('timeout' => 10); - if ( !empty($this->httpFilterName) ) { - $options = apply_filters($this->httpFilterName, $options); - } - $response = wp_remote_get($url, $options); - if ( is_wp_error($response) ) { - do_action('puc_api_error', $response, null, $url, $this->slug); - return $response; - } - - $code = wp_remote_retrieve_response_code($response); - $body = wp_remote_retrieve_body($response); - if ( $code === 200 ) { - $document = json_decode($body); - return $document; - } - - $error = new WP_Error( - 'puc-github-http-error', - sprintf('GitHub API error. Base URL: "%s", HTTP status code: %d.', $baseUrl, $code) - ); - do_action('puc_api_error', $error, $response, $url, $this->slug); - - return $error; - } - - /** - * Build a fully qualified URL for an API request. - * - * @param string $url - * @param array $queryParams - * @return string - */ - protected function buildApiUrl($url, $queryParams) { - $variables = array( - 'user' => $this->userName, - 'repo' => $this->repositoryName, - ); - foreach ($variables as $name => $value) { - $url = str_replace('/:' . $name, '/' . urlencode($value), $url); - } - $url = 'https://api.github.com' . $url; - - if ( !empty($this->accessToken) ) { - $queryParams['access_token'] = $this->accessToken; - } - if ( !empty($queryParams) ) { - $url = add_query_arg($queryParams, $url); - } - - return $url; - } - - /** - * Get the contents of a file from a specific branch or tag. - * - * @param string $path File name. - * @param string $ref - * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. - */ - public function getRemoteFile($path, $ref = 'master') { - $apiUrl = '/repos/:user/:repo/contents/' . $path; - $response = $this->api($apiUrl, array('ref' => $ref)); - - if ( is_wp_error($response) || !isset($response->content) || ($response->encoding !== 'base64') ) { - return null; - } - return base64_decode($response->content); - } - - /** - * Generate a URL to download a ZIP archive of the specified branch/tag/etc. - * - * @param string $ref - * @return string - */ - public function buildArchiveDownloadUrl($ref = 'master') { - $url = sprintf( - 'https://api.github.com/repos/%1$s/%2$s/zipball/%3$s', - urlencode($this->userName), - urlencode($this->repositoryName), - urlencode($ref) - ); - if ( !empty($this->accessToken) ) { - $url = $this->signDownloadUrl($url); - } - return $url; - } - - /** - * Get a specific tag. - * - * @param string $tagName - * @return Puc_v4p4_Vcs_Reference|null - */ - public function getTag($tagName) { - //The current GitHub update checker doesn't use getTag, so I didn't bother to implement it. - throw new LogicException('The ' . __METHOD__ . ' method is not implemented and should not be used.'); - } - - public function setAuthentication($credentials) { - parent::setAuthentication($credentials); - $this->accessToken = is_string($credentials) ? $credentials : null; - } - - /** - * Figure out which reference (i.e tag or branch) contains the latest version. - * - * @param string $configBranch Start looking in this branch. - * @return null|Puc_v4p4_Vcs_Reference - */ - public function chooseReference($configBranch) { - $updateSource = null; - - if ( $configBranch === 'master' ) { - //Use the latest release. - $updateSource = $this->getLatestRelease(); - if ( $updateSource === null ) { - //Failing that, use the tag with the highest version number. - $updateSource = $this->getLatestTag(); - } - } - //Alternatively, just use the branch itself. - if ( empty($updateSource) ) { - $updateSource = $this->getBranch($configBranch); - } - - return $updateSource; - } - - /** - * @param string $url - * @return string - */ - public function signDownloadUrl($url) { - if ( empty($this->credentials) ) { - return $url; - } - return add_query_arg('access_token', $this->credentials, $url); - } - - /** - * Enable updating via release assets. - * - * If the latest release contains no usable assets, the update checker - * will fall back to using the automatically generated ZIP archive. - * - * Private repositories will only work with WordPress 3.7 or later. - * - * @param string|null $fileNameRegex Optional. Use only those assets where the file name matches this regex. - */ - public function enableReleaseAssets($fileNameRegex = null) { - $this->releaseAssetsEnabled = true; - $this->assetFilterRegex = $fileNameRegex; - $this->assetApiBaseUrl = sprintf( - '//api.github.com/repos/%1$s/%2$s/releases/assets/', - $this->userName, - $this->repositoryName - ); - - //Optimization: Instead of filtering all HTTP requests, let's do it only when - //WordPress is about to download an update. - add_filter('upgrader_pre_download', array($this, 'addHttpRequestFilter'), 10, 1); //WP 3.7+ - } - - /** - * Does this asset match the file name regex? - * - * @param stdClass $releaseAsset - * @return bool - */ - protected function matchesAssetFilter($releaseAsset) { - if ( $this->assetFilterRegex === null ) { - //The default is to accept all assets. - return true; - } - return isset($releaseAsset->name) && preg_match($this->assetFilterRegex, $releaseAsset->name); - } - - /** - * @internal - * @param bool $result - * @return bool - */ - public function addHttpRequestFilter($result) { - static $filterAdded = false; - if ( $this->releaseAssetsEnabled && !$filterAdded && $this->isAuthenticationEnabled() ) { - add_filter('http_request_args', array($this, 'setReleaseDownloadHeader'), 10, 2); - $filterAdded = true; - } - return $result; - } - - /** - * Set the HTTP header that's necessary to download private release assets. - * - * See GitHub docs: - * @link https://developer.github.com/v3/repos/releases/#get-a-single-release-asset - * - * @internal - * @param array $requestArgs - * @param string $url - * @return array - */ - public function setReleaseDownloadHeader($requestArgs, $url = '') { - //Is WordPress trying to download one of our assets? - if ( strpos($url, $this->assetApiBaseUrl) !== false ) { - $requestArgs['headers']['accept'] = 'application/octet-stream'; - } - return $requestArgs; - } - } - -endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Vcs/GitLabApi.php b/admin/update-checker/Puc/v4p4/Vcs/GitLabApi.php deleted file mode 100755 index 574c309..0000000 --- a/admin/update-checker/Puc/v4p4/Vcs/GitLabApi.php +++ /dev/null @@ -1,274 +0,0 @@ -repositoryHost = @parse_url($repositoryUrl, PHP_URL_HOST); - - //Find the repository information - $path = @parse_url($repositoryUrl, PHP_URL_PATH); - if ( preg_match('@^/?(?P[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { - $this->userName = $matches['username']; - $this->repositoryName = $matches['repository']; - } else { - //This is not a traditional url, it could be gitlab is in a deeper subdirectory. - //Get the path segments. - $segments = explode('/', untrailingslashit(ltrim($path, '/'))); - - //We need at least /user-name/repository-name/ - if ( count($segments) < 2 ) { - throw new InvalidArgumentException('Invalid GitLab repository URL: "' . $repositoryUrl . '"'); - } - - //Get the username and repository name. - $usernameRepo = array_splice($segments, -2, 2); - $this->userName = $usernameRepo[0]; - $this->repositoryName = $usernameRepo[1]; - - //Append the remaining segments to the host. - $this->repositoryHost = trailingslashit($this->repositoryHost) . implode('/', $segments); - } - - parent::__construct($repositoryUrl, $accessToken); - } - - /** - * Get the latest release from GitLab. - * - * @return Puc_v4p4_Vcs_Reference|null - */ - public function getLatestRelease() { - return $this->getLatestTag(); - } - - /** - * Get the tag that looks like the highest version number. - * - * @return Puc_v4p4_Vcs_Reference|null - */ - public function getLatestTag() { - $tags = $this->api('/:user/:repo/repository/tags'); - if ( is_wp_error($tags) || empty($tags) || !is_array($tags) ) { - return null; - } - - $versionTags = $this->sortTagsByVersion($tags); - if ( empty($versionTags) ) { - return null; - } - - $tag = $versionTags[0]; - return new Puc_v4p4_Vcs_Reference(array( - 'name' => $tag->name, - 'version' => ltrim($tag->name, 'v'), - 'downloadUrl' => $this->buildArchiveDownloadUrl($tag->name), - 'apiResponse' => $tag - )); - } - - /** - * Get a branch by name. - * - * @param string $branchName - * @return null|Puc_v4p4_Vcs_Reference - */ - public function getBranch($branchName) { - $branch = $this->api('/:user/:repo/repository/branches/' . $branchName); - if ( is_wp_error($branch) || empty($branch) ) { - return null; - } - - $reference = new Puc_v4p4_Vcs_Reference(array( - 'name' => $branch->name, - 'downloadUrl' => $this->buildArchiveDownloadUrl($branch->name), - 'apiResponse' => $branch, - )); - - if ( isset($branch->commit, $branch->commit->committed_date) ) { - $reference->updated = $branch->commit->committed_date; - } - - return $reference; - } - - /** - * Get the timestamp of the latest commit that changed the specified branch or tag. - * - * @param string $ref Reference name (e.g. branch or tag). - * @return string|null - */ - public function getLatestCommitTime($ref) { - $commits = $this->api('/:user/:repo/repository/commits/', array('ref_name' => $ref)); - if ( is_wp_error($commits) || !is_array($commits) || !isset($commits[0]) ) { - return null; - } - - return $commits[0]->committed_date; - } - - /** - * Perform a GitLab API request. - * - * @param string $url - * @param array $queryParams - * @return mixed|WP_Error - */ - protected function api($url, $queryParams = array()) { - $baseUrl = $url; - $url = $this->buildApiUrl($url, $queryParams); - - $options = array('timeout' => 10); - if ( !empty($this->httpFilterName) ) { - $options = apply_filters($this->httpFilterName, $options); - } - - $response = wp_remote_get($url, $options); - if ( is_wp_error($response) ) { - do_action('puc_api_error', $response, null, $url, $this->slug); - return $response; - } - - $code = wp_remote_retrieve_response_code($response); - $body = wp_remote_retrieve_body($response); - if ( $code === 200 ) { - return json_decode($body); - } - - $error = new WP_Error( - 'puc-gitlab-http-error', - sprintf('GitLab API error. URL: "%s", HTTP status code: %d.', $baseUrl, $code) - ); - do_action('puc_api_error', $error, $response, $url, $this->slug); - - return $error; - } - - /** - * Build a fully qualified URL for an API request. - * - * @param string $url - * @param array $queryParams - * @return string - */ - protected function buildApiUrl($url, $queryParams) { - $variables = array( - 'user' => $this->userName, - 'repo' => $this->repositoryName - ); - - foreach ($variables as $name => $value) { - $url = str_replace("/:{$name}", urlencode('/' . $value), $url); - } - - $url = substr($url, 3); - $url = sprintf('https://%1$s/api/v4/projects/%2$s', $this->repositoryHost, $url); - - if ( !empty($this->accessToken) ) { - $queryParams['private_token'] = $this->accessToken; - } - - if ( !empty($queryParams) ) { - $url = add_query_arg($queryParams, $url); - } - - return $url; - } - - /** - * Get the contents of a file from a specific branch or tag. - * - * @param string $path File name. - * @param string $ref - * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. - */ - public function getRemoteFile($path, $ref = 'master') { - $response = $this->api('/:user/:repo/repository/files/' . $path, array('ref' => $ref)); - if ( is_wp_error($response) || !isset($response->content) || $response->encoding !== 'base64' ) { - return null; - } - - return base64_decode($response->content); - } - - /** - * Generate a URL to download a ZIP archive of the specified branch/tag/etc. - * - * @param string $ref - * @return string - */ - public function buildArchiveDownloadUrl($ref = 'master') { - $url = sprintf( - 'https://%1$s/%2$s/%3$s/repository/%4$s/archive.zip', - $this->repositoryHost, - urlencode($this->userName), - urlencode($this->repositoryName), - urlencode($ref) - ); - - if ( !empty($this->accessToken) ) { - $url = add_query_arg('private_token', $this->accessToken, $url); - } - - return $url; - } - - /** - * Get a specific tag. - * - * @param string $tagName - * @return Puc_v4p4_Vcs_Reference|null - */ - public function getTag($tagName) { - throw new LogicException('The ' . __METHOD__ . ' method is not implemented and should not be used.'); - } - - /** - * Figure out which reference (i.e tag or branch) contains the latest version. - * - * @param string $configBranch Start looking in this branch. - * @return null|Puc_v4p4_Vcs_Reference - */ - public function chooseReference($configBranch) { - $updateSource = null; - - // GitLab doesn't handle releases the same as GitHub so just use the latest tag - if ( $configBranch === 'master' ) { - $updateSource = $this->getLatestTag(); - } - - if ( empty($updateSource) ) { - $updateSource = $this->getBranch($configBranch); - } - - return $updateSource; - } - - public function setAuthentication($credentials) { - parent::setAuthentication($credentials); - $this->accessToken = is_string($credentials) ? $credentials : null; - } - } - -endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Vcs/PluginUpdateChecker.php b/admin/update-checker/Puc/v4p4/Vcs/PluginUpdateChecker.php deleted file mode 100755 index 3b96e81..0000000 --- a/admin/update-checker/Puc/v4p4/Vcs/PluginUpdateChecker.php +++ /dev/null @@ -1,217 +0,0 @@ -api = $api; - $this->api->setHttpFilterName($this->getUniqueName('request_info_options')); - - parent::__construct($api->getRepositoryUrl(), $pluginFile, $slug, $checkPeriod, $optionName, $muPluginFile); - - $this->api->setSlug($this->slug); - } - - public function requestInfo($unusedParameter = null) { - //We have to make several remote API requests to gather all the necessary info - //which can take a while on slow networks. - if ( function_exists('set_time_limit') ) { - @set_time_limit(60); - } - - $api = $this->api; - $api->setLocalDirectory($this->getAbsoluteDirectoryPath()); - - $info = new Puc_v4p4_Plugin_Info(); - $info->filename = $this->pluginFile; - $info->slug = $this->slug; - - $this->setInfoFromHeader($this->getPluginHeader(), $info); - - //Pick a branch or tag. - $updateSource = $api->chooseReference($this->branch); - if ( $updateSource ) { - $ref = $updateSource->name; - $info->version = $updateSource->version; - $info->last_updated = $updateSource->updated; - $info->download_url = $updateSource->downloadUrl; - - if ( !empty($updateSource->changelog) ) { - $info->sections['changelog'] = $updateSource->changelog; - } - if ( isset($updateSource->downloadCount) ) { - $info->downloaded = $updateSource->downloadCount; - } - } else { - //There's probably a network problem or an authentication error. - do_action( - 'puc_api_error', - new WP_Error( - 'puc-no-update-source', - 'Could not retrieve version information from the repository. ' - . 'This usually means that the update checker either can\'t connect ' - . 'to the repository or it\'s configured incorrectly.' - ), - null, null, $this->slug - ); - return null; - } - - //Get headers from the main plugin file in this branch/tag. Its "Version" header and other metadata - //are what the WordPress install will actually see after upgrading, so they take precedence over releases/tags. - $mainPluginFile = basename($this->pluginFile); - $remotePlugin = $api->getRemoteFile($mainPluginFile, $ref); - if ( !empty($remotePlugin) ) { - $remoteHeader = $this->getFileHeader($remotePlugin); - $this->setInfoFromHeader($remoteHeader, $info); - } - - //Try parsing readme.txt. If it's formatted according to WordPress.org standards, it will contain - //a lot of useful information like the required/tested WP version, changelog, and so on. - if ( $this->readmeTxtExistsLocally() ) { - $this->setInfoFromRemoteReadme($ref, $info); - } - - //The changelog might be in a separate file. - if ( empty($info->sections['changelog']) ) { - $info->sections['changelog'] = $api->getRemoteChangelog($ref, dirname($this->getAbsolutePath())); - if ( empty($info->sections['changelog']) ) { - $info->sections['changelog'] = __('There is no changelog available.', 'plugin-update-checker'); - } - } - - if ( empty($info->last_updated) ) { - //Fetch the latest commit that changed the tag or branch and use it as the "last_updated" date. - $latestCommitTime = $api->getLatestCommitTime($ref); - if ( $latestCommitTime !== null ) { - $info->last_updated = $latestCommitTime; - } - } - - $info = apply_filters($this->getUniqueName('request_info_result'), $info, null); - return $info; - } - - /** - * Check if the currently installed version has a readme.txt file. - * - * @return bool - */ - protected function readmeTxtExistsLocally() { - $pluginDirectory = $this->getAbsoluteDirectoryPath(); - if ( empty($pluginDirectory) || !is_dir($pluginDirectory) || ($pluginDirectory === '.') ) { - return false; - } - return is_file($pluginDirectory . '/' . $this->api->getLocalReadmeName()); - } - - /** - * Copy plugin metadata from a file header to a Plugin Info object. - * - * @param array $fileHeader - * @param Puc_v4p4_Plugin_Info $pluginInfo - */ - protected function setInfoFromHeader($fileHeader, $pluginInfo) { - $headerToPropertyMap = array( - 'Version' => 'version', - 'Name' => 'name', - 'PluginURI' => 'homepage', - 'Author' => 'author', - 'AuthorName' => 'author', - 'AuthorURI' => 'author_homepage', - - 'Requires WP' => 'requires', - 'Tested WP' => 'tested', - 'Requires at least' => 'requires', - 'Tested up to' => 'tested', - ); - foreach ($headerToPropertyMap as $headerName => $property) { - if ( isset($fileHeader[$headerName]) && !empty($fileHeader[$headerName]) ) { - $pluginInfo->$property = $fileHeader[$headerName]; - } - } - - if ( !empty($fileHeader['Description']) ) { - $pluginInfo->sections['description'] = $fileHeader['Description']; - } - } - - /** - * Copy plugin metadata from the remote readme.txt file. - * - * @param string $ref GitHub tag or branch where to look for the readme. - * @param Puc_v4p4_Plugin_Info $pluginInfo - */ - protected function setInfoFromRemoteReadme($ref, $pluginInfo) { - $readme = $this->api->getRemoteReadme($ref); - if ( empty($readme) ) { - return; - } - - if ( isset($readme['sections']) ) { - $pluginInfo->sections = array_merge($pluginInfo->sections, $readme['sections']); - } - if ( !empty($readme['tested_up_to']) ) { - $pluginInfo->tested = $readme['tested_up_to']; - } - if ( !empty($readme['requires_at_least']) ) { - $pluginInfo->requires = $readme['requires_at_least']; - } - - if ( isset($readme['upgrade_notice'], $readme['upgrade_notice'][$pluginInfo->version]) ) { - $pluginInfo->upgrade_notice = $readme['upgrade_notice'][$pluginInfo->version]; - } - } - - public function setBranch($branch) { - $this->branch = $branch; - return $this; - } - - public function setAuthentication($credentials) { - $this->api->setAuthentication($credentials); - return $this; - } - - public function getVcsApi() { - return $this->api; - } - - public function getUpdate() { - $update = parent::getUpdate(); - - if ( isset($update) && !empty($update->download_url) ) { - $update->download_url = $this->api->signDownloadUrl($update->download_url); - } - - return $update; - } - - public function onDisplayConfiguration($panel) { - parent::onDisplayConfiguration($panel); - $panel->row('Branch', $this->branch); - $panel->row('Authentication enabled', $this->api->isAuthenticationEnabled() ? 'Yes' : 'No'); - $panel->row('API client', get_class($this->api)); - } - } - -endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Vcs/Reference.php b/admin/update-checker/Puc/v4p4/Vcs/Reference.php deleted file mode 100755 index 8a70877..0000000 --- a/admin/update-checker/Puc/v4p4/Vcs/Reference.php +++ /dev/null @@ -1,49 +0,0 @@ -properties = $properties; - } - - /** - * @param string $name - * @return mixed|null - */ - public function __get($name) { - return array_key_exists($name, $this->properties) ? $this->properties[$name] : null; - } - - /** - * @param string $name - * @param mixed $value - */ - public function __set($name, $value) { - $this->properties[$name] = $value; - } - - /** - * @param string $name - * @return bool - */ - public function __isset($name) { - return isset($this->properties[$name]); - } - - } - -endif; \ No newline at end of file diff --git a/admin/update-checker/Puc/v4p4/Vcs/ThemeUpdateChecker.php b/admin/update-checker/Puc/v4p4/Vcs/ThemeUpdateChecker.php deleted file mode 100755 index fb31cb1..0000000 --- a/admin/update-checker/Puc/v4p4/Vcs/ThemeUpdateChecker.php +++ /dev/null @@ -1,118 +0,0 @@ -api = $api; - $this->api->setHttpFilterName($this->getUniqueName('request_update_options')); - - parent::__construct($api->getRepositoryUrl(), $stylesheet, $customSlug, $checkPeriod, $optionName); - - $this->api->setSlug($this->slug); - } - - public function requestUpdate() { - $api = $this->api; - $api->setLocalDirectory($this->getAbsoluteDirectoryPath()); - - $update = new Puc_v4p4_Theme_Update(); - $update->slug = $this->slug; - - //Figure out which reference (tag or branch) we'll use to get the latest version of the theme. - $updateSource = $api->chooseReference($this->branch); - if ( $updateSource ) { - $ref = $updateSource->name; - $update->download_url = $updateSource->downloadUrl; - } else { - do_action( - 'puc_api_error', - new WP_Error( - 'puc-no-update-source', - 'Could not retrieve version information from the repository. ' - . 'This usually means that the update checker either can\'t connect ' - . 'to the repository or it\'s configured incorrectly.' - ), - null, null, $this->slug - ); - $ref = $this->branch; - } - - //Get headers from the main stylesheet in this branch/tag. Its "Version" header and other metadata - //are what the WordPress install will actually see after upgrading, so they take precedence over releases/tags. - $remoteHeader = $this->getFileHeader($api->getRemoteFile('style.css', $ref)); - $update->version = Puc_v4p4_Utils::findNotEmpty(array( - $remoteHeader['Version'], - Puc_v4p4_Utils::get($updateSource, 'version'), - )); - - //The details URL defaults to the Theme URI header or the repository URL. - $update->details_url = Puc_v4p4_Utils::findNotEmpty(array( - $remoteHeader['ThemeURI'], - $this->theme->get('ThemeURI'), - $this->metadataUrl, - )); - - if ( empty($update->version) ) { - //It looks like we didn't find a valid update after all. - $update = null; - } - - $update = $this->filterUpdateResult($update); - return $update; - } - - //FIXME: This is duplicated code. Both theme and plugin subclasses that use VCS share these methods. - - public function setBranch($branch) { - $this->branch = $branch; - return $this; - } - - public function setAuthentication($credentials) { - $this->api->setAuthentication($credentials); - return $this; - } - - public function getVcsApi() { - return $this->api; - } - - public function getUpdate() { - $update = parent::getUpdate(); - - if ( isset($update) && !empty($update->download_url) ) { - $update->download_url = $this->api->signDownloadUrl($update->download_url); - } - - return $update; - } - - public function onDisplayConfiguration($panel) { - parent::onDisplayConfiguration($panel); - $panel->row('Branch', $this->branch); - $panel->row('Authentication enabled', $this->api->isAuthenticationEnabled() ? 'Yes' : 'No'); - $panel->row('API client', get_class($this->api)); - } - } - -endif; \ No newline at end of file diff --git a/admin/update-checker/css/puc-debug-bar.css b/admin/update-checker/css/puc-debug-bar.css deleted file mode 100755 index 2cb3f8e..0000000 --- a/admin/update-checker/css/puc-debug-bar.css +++ /dev/null @@ -1,70 +0,0 @@ -.puc-debug-bar-panel-v4 pre { - margin-top: 0; -} - -/* Style the debug data table to match "widefat" table style used by WordPress. */ -table.puc-debug-data { - width: 100%; - clear: both; - margin: 0; - - border-spacing: 0; - background-color: #f9f9f9; - - border-radius: 3px; - border: 1px solid #dfdfdf; - border-collapse: separate; -} - -table.puc-debug-data * { - word-wrap: break-word; -} - -table.puc-debug-data th { - width: 11em; - padding: 7px 7px 8px; - text-align: left; - - font-family: "Georgia", "Times New Roman", "Bitstream Charter", "Times", serif; - font-weight: 400; - font-size: 14px; - line-height: 1.3em; - text-shadow: rgba(255, 255, 255, 0.804) 0 1px 0; -} - -table.puc-debug-data td, table.puc-debug-data th { - border-width: 1px 0; - border-style: solid; - - border-top-color: #fff; - border-bottom-color: #dfdfdf; - - text-transform: none; -} - -table.puc-debug-data td { - color: #555; - font-size: 12px; - padding: 4px 7px 2px; - vertical-align: top; -} - -.puc-ajax-response { - border: 1px solid #dfdfdf; - border-radius: 3px; - padding: 0.5em; - margin: 5px 0; - background-color: white; -} - -.puc-ajax-nonce { - display: none; -} - -.puc-ajax-response dt { - margin: 0; -} - -.puc-ajax-response dd { - margin: 0 0 1em; -} diff --git a/admin/update-checker/js/debug-bar.js b/admin/update-checker/js/debug-bar.js deleted file mode 100755 index b8435db..0000000 --- a/admin/update-checker/js/debug-bar.js +++ /dev/null @@ -1,52 +0,0 @@ -jQuery(function($) { - - function runAjaxAction(button, action) { - button = $(button); - var panel = button.closest('.puc-debug-bar-panel-v4'); - var responseBox = button.closest('td').find('.puc-ajax-response'); - - responseBox.text('Processing...').show(); - $.post( - ajaxurl, - { - action : action, - uid : panel.data('uid'), - _wpnonce: panel.data('nonce') - }, - function(data) { - responseBox.html(data); - }, - 'html' - ); - } - - $('.puc-debug-bar-panel-v4 input[name="puc-check-now-button"]').click(function() { - runAjaxAction(this, 'puc_v4_debug_check_now'); - return false; - }); - - $('.puc-debug-bar-panel-v4 input[name="puc-request-info-button"]').click(function() { - runAjaxAction(this, 'puc_v4_debug_request_info'); - return false; - }); - - - // Debug Bar uses the panel class name as part of its link and container IDs. This means we can - // end up with multiple identical IDs if more than one plugin uses the update checker library. - // Fix it by replacing the class name with the plugin slug. - var panels = $('#debug-menu-targets').find('.puc-debug-bar-panel-v4'); - panels.each(function() { - var panel = $(this); - var uid = panel.data('uid'); - var target = panel.closest('.debug-menu-target'); - - //Change the panel wrapper ID. - target.attr('id', 'debug-menu-target-puc-' + uid); - - //Change the menu link ID as well and point it at the new target ID. - $('#debug-bar-menu').find('.puc-debug-menu-link-' + uid) - .closest('.debug-menu-link') - .attr('id', 'debug-menu-link-puc-' + uid) - .attr('href', '#' + target.attr('id')); - }); -}); \ No newline at end of file diff --git a/admin/update-checker/license.txt b/admin/update-checker/license.txt deleted file mode 100755 index be948f6..0000000 --- a/admin/update-checker/license.txt +++ /dev/null @@ -1,7 +0,0 @@ -Copyright (c) 2017 Jānis Elsts - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/admin/update-checker/plugin-update-checker.php b/admin/update-checker/plugin-update-checker.php deleted file mode 100755 index 29da9ee..0000000 --- a/admin/update-checker/plugin-update-checker.php +++ /dev/null @@ -1,24 +0,0 @@ -DefinitionData = array(); - - # standardize line breaks - $text = str_replace(array("\r\n", "\r"), "\n", $text); - - # remove surrounding line breaks - $text = trim($text, "\n"); - - # split text into lines - $lines = explode("\n", $text); - - # iterate through lines to identify blocks - $markup = $this->lines($lines); - - # trim line breaks - $markup = trim($markup, "\n"); - - return $markup; - } - - # - # Setters - # - - function setBreaksEnabled($breaksEnabled) - { - $this->breaksEnabled = $breaksEnabled; - - return $this; - } - - protected $breaksEnabled; - - function setMarkupEscaped($markupEscaped) - { - $this->markupEscaped = $markupEscaped; - - return $this; - } - - protected $markupEscaped; - - function setUrlsLinked($urlsLinked) - { - $this->urlsLinked = $urlsLinked; - - return $this; - } - - protected $urlsLinked = true; - - # - # Lines - # - - protected $BlockTypes = array( - '#' => array('Header'), - '*' => array('Rule', 'List'), - '+' => array('List'), - '-' => array('SetextHeader', 'Table', 'Rule', 'List'), - '0' => array('List'), - '1' => array('List'), - '2' => array('List'), - '3' => array('List'), - '4' => array('List'), - '5' => array('List'), - '6' => array('List'), - '7' => array('List'), - '8' => array('List'), - '9' => array('List'), - ':' => array('Table'), - '<' => array('Comment', 'Markup'), - '=' => array('SetextHeader'), - '>' => array('Quote'), - '[' => array('Reference'), - '_' => array('Rule'), - '`' => array('FencedCode'), - '|' => array('Table'), - '~' => array('FencedCode'), - ); - - # ~ - - protected $unmarkedBlockTypes = array( - 'Code', - ); - - # - # Blocks - # - - protected function lines(array $lines) - { - $CurrentBlock = null; - - foreach ($lines as $line) - { - if (chop($line) === '') - { - if (isset($CurrentBlock)) - { - $CurrentBlock['interrupted'] = true; - } - - continue; - } - - if (strpos($line, "\t") !== false) - { - $parts = explode("\t", $line); - - $line = $parts[0]; - - unset($parts[0]); - - foreach ($parts as $part) - { - $shortage = 4 - mb_strlen($line, 'utf-8') % 4; - - $line .= str_repeat(' ', $shortage); - $line .= $part; - } - } - - $indent = 0; - - while (isset($line[$indent]) and $line[$indent] === ' ') - { - $indent ++; - } - - $text = $indent > 0 ? substr($line, $indent) : $line; - - # ~ - - $Line = array('body' => $line, 'indent' => $indent, 'text' => $text); - - # ~ - - if (isset($CurrentBlock['continuable'])) - { - $Block = $this->{'block'.$CurrentBlock['type'].'Continue'}($Line, $CurrentBlock); - - if (isset($Block)) - { - $CurrentBlock = $Block; - - continue; - } - else - { - if ($this->isBlockCompletable($CurrentBlock['type'])) - { - $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); - } - } - } - - # ~ - - $marker = $text[0]; - - # ~ - - $blockTypes = $this->unmarkedBlockTypes; - - if (isset($this->BlockTypes[$marker])) - { - foreach ($this->BlockTypes[$marker] as $blockType) - { - $blockTypes []= $blockType; - } - } - - # - # ~ - - foreach ($blockTypes as $blockType) - { - $Block = $this->{'block'.$blockType}($Line, $CurrentBlock); - - if (isset($Block)) - { - $Block['type'] = $blockType; - - if ( ! isset($Block['identified'])) - { - $Blocks []= $CurrentBlock; - - $Block['identified'] = true; - } - - if ($this->isBlockContinuable($blockType)) - { - $Block['continuable'] = true; - } - - $CurrentBlock = $Block; - - continue 2; - } - } - - # ~ - - if (isset($CurrentBlock) and ! isset($CurrentBlock['type']) and ! isset($CurrentBlock['interrupted'])) - { - $CurrentBlock['element']['text'] .= "\n".$text; - } - else - { - $Blocks []= $CurrentBlock; - - $CurrentBlock = $this->paragraph($Line); - - $CurrentBlock['identified'] = true; - } - } - - # ~ - - if (isset($CurrentBlock['continuable']) and $this->isBlockCompletable($CurrentBlock['type'])) - { - $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); - } - - # ~ - - $Blocks []= $CurrentBlock; - - unset($Blocks[0]); - - # ~ - - $markup = ''; - - foreach ($Blocks as $Block) - { - if (isset($Block['hidden'])) - { - continue; - } - - $markup .= "\n"; - $markup .= isset($Block['markup']) ? $Block['markup'] : $this->element($Block['element']); - } - - $markup .= "\n"; - - # ~ - - return $markup; - } - - protected function isBlockContinuable($Type) - { - return method_exists($this, 'block'.$Type.'Continue'); - } - - protected function isBlockCompletable($Type) - { - return method_exists($this, 'block'.$Type.'Complete'); - } - - # - # Code - - protected function blockCode($Line, $Block = null) - { - if (isset($Block) and ! isset($Block['type']) and ! isset($Block['interrupted'])) - { - return; - } - - if ($Line['indent'] >= 4) - { - $text = substr($Line['body'], 4); - - $Block = array( - 'element' => array( - 'name' => 'pre', - 'handler' => 'element', - 'text' => array( - 'name' => 'code', - 'text' => $text, - ), - ), - ); - - return $Block; - } - } - - protected function blockCodeContinue($Line, $Block) - { - if ($Line['indent'] >= 4) - { - if (isset($Block['interrupted'])) - { - $Block['element']['text']['text'] .= "\n"; - - unset($Block['interrupted']); - } - - $Block['element']['text']['text'] .= "\n"; - - $text = substr($Line['body'], 4); - - $Block['element']['text']['text'] .= $text; - - return $Block; - } - } - - protected function blockCodeComplete($Block) - { - $text = $Block['element']['text']['text']; - - $text = htmlspecialchars($text, ENT_NOQUOTES, 'UTF-8'); - - $Block['element']['text']['text'] = $text; - - return $Block; - } - - # - # Comment - - protected function blockComment($Line) - { - if ($this->markupEscaped) - { - return; - } - - if (isset($Line['text'][3]) and $Line['text'][3] === '-' and $Line['text'][2] === '-' and $Line['text'][1] === '!') - { - $Block = array( - 'markup' => $Line['body'], - ); - - if (preg_match('/-->$/', $Line['text'])) - { - $Block['closed'] = true; - } - - return $Block; - } - } - - protected function blockCommentContinue($Line, array $Block) - { - if (isset($Block['closed'])) - { - return; - } - - $Block['markup'] .= "\n" . $Line['body']; - - if (preg_match('/-->$/', $Line['text'])) - { - $Block['closed'] = true; - } - - return $Block; - } - - # - # Fenced Code - - protected function blockFencedCode($Line) - { - if (preg_match('/^['.$Line['text'][0].']{3,}[ ]*([\w-]+)?[ ]*$/', $Line['text'], $matches)) - { - $Element = array( - 'name' => 'code', - 'text' => '', - ); - - if (isset($matches[1])) - { - $class = 'language-'.$matches[1]; - - $Element['attributes'] = array( - 'class' => $class, - ); - } - - $Block = array( - 'char' => $Line['text'][0], - 'element' => array( - 'name' => 'pre', - 'handler' => 'element', - 'text' => $Element, - ), - ); - - return $Block; - } - } - - protected function blockFencedCodeContinue($Line, $Block) - { - if (isset($Block['complete'])) - { - return; - } - - if (isset($Block['interrupted'])) - { - $Block['element']['text']['text'] .= "\n"; - - unset($Block['interrupted']); - } - - if (preg_match('/^'.$Block['char'].'{3,}[ ]*$/', $Line['text'])) - { - $Block['element']['text']['text'] = substr($Block['element']['text']['text'], 1); - - $Block['complete'] = true; - - return $Block; - } - - $Block['element']['text']['text'] .= "\n".$Line['body'];; - - return $Block; - } - - protected function blockFencedCodeComplete($Block) - { - $text = $Block['element']['text']['text']; - - $text = htmlspecialchars($text, ENT_NOQUOTES, 'UTF-8'); - - $Block['element']['text']['text'] = $text; - - return $Block; - } - - # - # Header - - protected function blockHeader($Line) - { - if (isset($Line['text'][1])) - { - $level = 1; - - while (isset($Line['text'][$level]) and $Line['text'][$level] === '#') - { - $level ++; - } - - if ($level > 6) - { - return; - } - - $text = trim($Line['text'], '# '); - - $Block = array( - 'element' => array( - 'name' => 'h' . min(6, $level), - 'text' => $text, - 'handler' => 'line', - ), - ); - - return $Block; - } - } - - # - # List - - protected function blockList($Line) - { - list($name, $pattern) = $Line['text'][0] <= '-' ? array('ul', '[*+-]') : array('ol', '[0-9]+[.]'); - - if (preg_match('/^('.$pattern.'[ ]+)(.*)/', $Line['text'], $matches)) - { - $Block = array( - 'indent' => $Line['indent'], - 'pattern' => $pattern, - 'element' => array( - 'name' => $name, - 'handler' => 'elements', - ), - ); - - $Block['li'] = array( - 'name' => 'li', - 'handler' => 'li', - 'text' => array( - $matches[2], - ), - ); - - $Block['element']['text'] []= & $Block['li']; - - return $Block; - } - } - - protected function blockListContinue($Line, array $Block) - { - if ($Block['indent'] === $Line['indent'] and preg_match('/^'.$Block['pattern'].'(?:[ ]+(.*)|$)/', $Line['text'], $matches)) - { - if (isset($Block['interrupted'])) - { - $Block['li']['text'] []= ''; - - unset($Block['interrupted']); - } - - unset($Block['li']); - - $text = isset($matches[1]) ? $matches[1] : ''; - - $Block['li'] = array( - 'name' => 'li', - 'handler' => 'li', - 'text' => array( - $text, - ), - ); - - $Block['element']['text'] []= & $Block['li']; - - return $Block; - } - - if ($Line['text'][0] === '[' and $this->blockReference($Line)) - { - return $Block; - } - - if ( ! isset($Block['interrupted'])) - { - $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); - - $Block['li']['text'] []= $text; - - return $Block; - } - - if ($Line['indent'] > 0) - { - $Block['li']['text'] []= ''; - - $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); - - $Block['li']['text'] []= $text; - - unset($Block['interrupted']); - - return $Block; - } - } - - # - # Quote - - protected function blockQuote($Line) - { - if (preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) - { - $Block = array( - 'element' => array( - 'name' => 'blockquote', - 'handler' => 'lines', - 'text' => (array) $matches[1], - ), - ); - - return $Block; - } - } - - protected function blockQuoteContinue($Line, array $Block) - { - if ($Line['text'][0] === '>' and preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) - { - if (isset($Block['interrupted'])) - { - $Block['element']['text'] []= ''; - - unset($Block['interrupted']); - } - - $Block['element']['text'] []= $matches[1]; - - return $Block; - } - - if ( ! isset($Block['interrupted'])) - { - $Block['element']['text'] []= $Line['text']; - - return $Block; - } - } - - # - # Rule - - protected function blockRule($Line) - { - if (preg_match('/^(['.$Line['text'][0].'])([ ]*\1){2,}[ ]*$/', $Line['text'])) - { - $Block = array( - 'element' => array( - 'name' => 'hr' - ), - ); - - return $Block; - } - } - - # - # Setext - - protected function blockSetextHeader($Line, array $Block = null) - { - if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) - { - return; - } - - if (chop($Line['text'], $Line['text'][0]) === '') - { - $Block['element']['name'] = $Line['text'][0] === '=' ? 'h1' : 'h2'; - - return $Block; - } - } - - # - # Markup - - protected function blockMarkup($Line) - { - if ($this->markupEscaped) - { - return; - } - - if (preg_match('/^<(\w*)(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*(\/)?>/', $Line['text'], $matches)) - { - $element = strtolower($matches[1]); - - if (in_array($element, $this->textLevelElements)) - { - return; - } - - $Block = array( - 'name' => $matches[1], - 'depth' => 0, - 'markup' => $Line['text'], - ); - - $length = strlen($matches[0]); - - $remainder = substr($Line['text'], $length); - - if (trim($remainder) === '') - { - if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) - { - $Block['closed'] = true; - - $Block['void'] = true; - } - } - else - { - if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) - { - return; - } - - if (preg_match('/<\/'.$matches[1].'>[ ]*$/i', $remainder)) - { - $Block['closed'] = true; - } - } - - return $Block; - } - } - - protected function blockMarkupContinue($Line, array $Block) - { - if (isset($Block['closed'])) - { - return; - } - - if (preg_match('/^<'.$Block['name'].'(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*>/i', $Line['text'])) # open - { - $Block['depth'] ++; - } - - if (preg_match('/(.*?)<\/'.$Block['name'].'>[ ]*$/i', $Line['text'], $matches)) # close - { - if ($Block['depth'] > 0) - { - $Block['depth'] --; - } - else - { - $Block['closed'] = true; - } - } - - if (isset($Block['interrupted'])) - { - $Block['markup'] .= "\n"; - - unset($Block['interrupted']); - } - - $Block['markup'] .= "\n".$Line['body']; - - return $Block; - } - - # - # Reference - - protected function blockReference($Line) - { - if (preg_match('/^\[(.+?)\]:[ ]*?(?:[ ]+["\'(](.+)["\')])?[ ]*$/', $Line['text'], $matches)) - { - $id = strtolower($matches[1]); - - $Data = array( - 'url' => $matches[2], - 'title' => null, - ); - - if (isset($matches[3])) - { - $Data['title'] = $matches[3]; - } - - $this->DefinitionData['Reference'][$id] = $Data; - - $Block = array( - 'hidden' => true, - ); - - return $Block; - } - } - - # - # Table - - protected function blockTable($Line, array $Block = null) - { - if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) - { - return; - } - - if (strpos($Block['element']['text'], '|') !== false and chop($Line['text'], ' -:|') === '') - { - $alignments = array(); - - $divider = $Line['text']; - - $divider = trim($divider); - $divider = trim($divider, '|'); - - $dividerCells = explode('|', $divider); - - foreach ($dividerCells as $dividerCell) - { - $dividerCell = trim($dividerCell); - - if ($dividerCell === '') - { - continue; - } - - $alignment = null; - - if ($dividerCell[0] === ':') - { - $alignment = 'left'; - } - - if (substr($dividerCell, - 1) === ':') - { - $alignment = $alignment === 'left' ? 'center' : 'right'; - } - - $alignments []= $alignment; - } - - # ~ - - $HeaderElements = array(); - - $header = $Block['element']['text']; - - $header = trim($header); - $header = trim($header, '|'); - - $headerCells = explode('|', $header); - - foreach ($headerCells as $index => $headerCell) - { - $headerCell = trim($headerCell); - - $HeaderElement = array( - 'name' => 'th', - 'text' => $headerCell, - 'handler' => 'line', - ); - - if (isset($alignments[$index])) - { - $alignment = $alignments[$index]; - - $HeaderElement['attributes'] = array( - 'style' => 'text-align: '.$alignment.';', - ); - } - - $HeaderElements []= $HeaderElement; - } - - # ~ - - $Block = array( - 'alignments' => $alignments, - 'identified' => true, - 'element' => array( - 'name' => 'table', - 'handler' => 'elements', - ), - ); - - $Block['element']['text'] []= array( - 'name' => 'thead', - 'handler' => 'elements', - ); - - $Block['element']['text'] []= array( - 'name' => 'tbody', - 'handler' => 'elements', - 'text' => array(), - ); - - $Block['element']['text'][0]['text'] []= array( - 'name' => 'tr', - 'handler' => 'elements', - 'text' => $HeaderElements, - ); - - return $Block; - } - } - - protected function blockTableContinue($Line, array $Block) - { - if (isset($Block['interrupted'])) - { - return; - } - - if ($Line['text'][0] === '|' or strpos($Line['text'], '|')) - { - $Elements = array(); - - $row = $Line['text']; - - $row = trim($row); - $row = trim($row, '|'); - - preg_match_all('/(?:(\\\\[|])|[^|`]|`[^`]+`|`)+/', $row, $matches); - - foreach ($matches[0] as $index => $cell) - { - $cell = trim($cell); - - $Element = array( - 'name' => 'td', - 'handler' => 'line', - 'text' => $cell, - ); - - if (isset($Block['alignments'][$index])) - { - $Element['attributes'] = array( - 'style' => 'text-align: '.$Block['alignments'][$index].';', - ); - } - - $Elements []= $Element; - } - - $Element = array( - 'name' => 'tr', - 'handler' => 'elements', - 'text' => $Elements, - ); - - $Block['element']['text'][1]['text'] []= $Element; - - return $Block; - } - } - - # - # ~ - # - - protected function paragraph($Line) - { - $Block = array( - 'element' => array( - 'name' => 'p', - 'text' => $Line['text'], - 'handler' => 'line', - ), - ); - - return $Block; - } - - # - # Inline Elements - # - - protected $InlineTypes = array( - '"' => array('SpecialCharacter'), - '!' => array('Image'), - '&' => array('SpecialCharacter'), - '*' => array('Emphasis'), - ':' => array('Url'), - '<' => array('UrlTag', 'EmailTag', 'Markup', 'SpecialCharacter'), - '>' => array('SpecialCharacter'), - '[' => array('Link'), - '_' => array('Emphasis'), - '`' => array('Code'), - '~' => array('Strikethrough'), - '\\' => array('EscapeSequence'), - ); - - # ~ - - protected $inlineMarkerList = '!"*_&[:<>`~\\'; - - # - # ~ - # - - public function line($text) - { - $markup = ''; - - # $excerpt is based on the first occurrence of a marker - - while ($excerpt = strpbrk($text, $this->inlineMarkerList)) - { - $marker = $excerpt[0]; - - $markerPosition = strpos($text, $marker); - - $Excerpt = array('text' => $excerpt, 'context' => $text); - - foreach ($this->InlineTypes[$marker] as $inlineType) - { - $Inline = $this->{'inline'.$inlineType}($Excerpt); - - if ( ! isset($Inline)) - { - continue; - } - - # makes sure that the inline belongs to "our" marker - - if (isset($Inline['position']) and $Inline['position'] > $markerPosition) - { - continue; - } - - # sets a default inline position - - if ( ! isset($Inline['position'])) - { - $Inline['position'] = $markerPosition; - } - - # the text that comes before the inline - $unmarkedText = substr($text, 0, $Inline['position']); - - # compile the unmarked text - $markup .= $this->unmarkedText($unmarkedText); - - # compile the inline - $markup .= isset($Inline['markup']) ? $Inline['markup'] : $this->element($Inline['element']); - - # remove the examined text - $text = substr($text, $Inline['position'] + $Inline['extent']); - - continue 2; - } - - # the marker does not belong to an inline - - $unmarkedText = substr($text, 0, $markerPosition + 1); - - $markup .= $this->unmarkedText($unmarkedText); - - $text = substr($text, $markerPosition + 1); - } - - $markup .= $this->unmarkedText($text); - - return $markup; - } - - # - # ~ - # - - protected function inlineCode($Excerpt) - { - $marker = $Excerpt['text'][0]; - - if (preg_match('/^('.$marker.'+)[ ]*(.+?)[ ]*(? strlen($matches[0]), - 'element' => array( - 'name' => 'code', - 'text' => $text, - ), - ); - } - } - - protected function inlineEmailTag($Excerpt) - { - if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<((mailto:)?\S+?@\S+?)>/i', $Excerpt['text'], $matches)) - { - $url = $matches[1]; - - if ( ! isset($matches[2])) - { - $url = 'mailto:' . $url; - } - - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => 'a', - 'text' => $matches[1], - 'attributes' => array( - 'href' => $url, - ), - ), - ); - } - } - - protected function inlineEmphasis($Excerpt) - { - if ( ! isset($Excerpt['text'][1])) - { - return; - } - - $marker = $Excerpt['text'][0]; - - if ($Excerpt['text'][1] === $marker and preg_match($this->StrongRegex[$marker], $Excerpt['text'], $matches)) - { - $emphasis = 'strong'; - } - elseif (preg_match($this->EmRegex[$marker], $Excerpt['text'], $matches)) - { - $emphasis = 'em'; - } - else - { - return; - } - - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => $emphasis, - 'handler' => 'line', - 'text' => $matches[1], - ), - ); - } - - protected function inlineEscapeSequence($Excerpt) - { - if (isset($Excerpt['text'][1]) and in_array($Excerpt['text'][1], $this->specialCharacters)) - { - return array( - 'markup' => $Excerpt['text'][1], - 'extent' => 2, - ); - } - } - - protected function inlineImage($Excerpt) - { - if ( ! isset($Excerpt['text'][1]) or $Excerpt['text'][1] !== '[') - { - return; - } - - $Excerpt['text']= substr($Excerpt['text'], 1); - - $Link = $this->inlineLink($Excerpt); - - if ($Link === null) - { - return; - } - - $Inline = array( - 'extent' => $Link['extent'] + 1, - 'element' => array( - 'name' => 'img', - 'attributes' => array( - 'src' => $Link['element']['attributes']['href'], - 'alt' => $Link['element']['text'], - ), - ), - ); - - $Inline['element']['attributes'] += $Link['element']['attributes']; - - unset($Inline['element']['attributes']['href']); - - return $Inline; - } - - protected function inlineLink($Excerpt) - { - $Element = array( - 'name' => 'a', - 'handler' => 'line', - 'text' => null, - 'attributes' => array( - 'href' => null, - 'title' => null, - ), - ); - - $extent = 0; - - $remainder = $Excerpt['text']; - - if (preg_match('/\[((?:[^][]|(?R))*)\]/', $remainder, $matches)) - { - $Element['text'] = $matches[1]; - - $extent += strlen($matches[0]); - - $remainder = substr($remainder, $extent); - } - else - { - return; - } - - if (preg_match('/^[(]((?:[^ ()]|[(][^ )]+[)])+)(?:[ ]+("[^"]*"|\'[^\']*\'))?[)]/', $remainder, $matches)) - { - $Element['attributes']['href'] = $matches[1]; - - if (isset($matches[2])) - { - $Element['attributes']['title'] = substr($matches[2], 1, - 1); - } - - $extent += strlen($matches[0]); - } - else - { - if (preg_match('/^\s*\[(.*?)\]/', $remainder, $matches)) - { - $definition = strlen($matches[1]) ? $matches[1] : $Element['text']; - $definition = strtolower($definition); - - $extent += strlen($matches[0]); - } - else - { - $definition = strtolower($Element['text']); - } - - if ( ! isset($this->DefinitionData['Reference'][$definition])) - { - return; - } - - $Definition = $this->DefinitionData['Reference'][$definition]; - - $Element['attributes']['href'] = $Definition['url']; - $Element['attributes']['title'] = $Definition['title']; - } - - $Element['attributes']['href'] = str_replace(array('&', '<'), array('&', '<'), $Element['attributes']['href']); - - return array( - 'extent' => $extent, - 'element' => $Element, - ); - } - - protected function inlineMarkup($Excerpt) - { - if ($this->markupEscaped or strpos($Excerpt['text'], '>') === false) - { - return; - } - - if ($Excerpt['text'][1] === '/' and preg_match('/^<\/\w*[ ]*>/s', $Excerpt['text'], $matches)) - { - return array( - 'markup' => $matches[0], - 'extent' => strlen($matches[0]), - ); - } - - if ($Excerpt['text'][1] === '!' and preg_match('/^/s', $Excerpt['text'], $matches)) - { - return array( - 'markup' => $matches[0], - 'extent' => strlen($matches[0]), - ); - } - - if ($Excerpt['text'][1] !== ' ' and preg_match('/^<\w*(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*\/?>/s', $Excerpt['text'], $matches)) - { - return array( - 'markup' => $matches[0], - 'extent' => strlen($matches[0]), - ); - } - } - - protected function inlineSpecialCharacter($Excerpt) - { - if ($Excerpt['text'][0] === '&' and ! preg_match('/^&#?\w+;/', $Excerpt['text'])) - { - return array( - 'markup' => '&', - 'extent' => 1, - ); - } - - $SpecialCharacter = array('>' => 'gt', '<' => 'lt', '"' => 'quot'); - - if (isset($SpecialCharacter[$Excerpt['text'][0]])) - { - return array( - 'markup' => '&'.$SpecialCharacter[$Excerpt['text'][0]].';', - 'extent' => 1, - ); - } - } - - protected function inlineStrikethrough($Excerpt) - { - if ( ! isset($Excerpt['text'][1])) - { - return; - } - - if ($Excerpt['text'][1] === '~' and preg_match('/^~~(?=\S)(.+?)(?<=\S)~~/', $Excerpt['text'], $matches)) - { - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => 'del', - 'text' => $matches[1], - 'handler' => 'line', - ), - ); - } - } - - protected function inlineUrl($Excerpt) - { - if ($this->urlsLinked !== true or ! isset($Excerpt['text'][2]) or $Excerpt['text'][2] !== '/') - { - return; - } - - if (preg_match('/\bhttps?:[\/]{2}[^\s<]+\b\/*/ui', $Excerpt['context'], $matches, PREG_OFFSET_CAPTURE)) - { - $Inline = array( - 'extent' => strlen($matches[0][0]), - 'position' => $matches[0][1], - 'element' => array( - 'name' => 'a', - 'text' => $matches[0][0], - 'attributes' => array( - 'href' => $matches[0][0], - ), - ), - ); - - return $Inline; - } - } - - protected function inlineUrlTag($Excerpt) - { - if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<(\w+:\/{2}[^ >]+)>/i', $Excerpt['text'], $matches)) - { - $url = str_replace(array('&', '<'), array('&', '<'), $matches[1]); - - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => 'a', - 'text' => $url, - 'attributes' => array( - 'href' => $url, - ), - ), - ); - } - } - - # ~ - - protected function unmarkedText($text) - { - if ($this->breaksEnabled) - { - $text = preg_replace('/[ ]*\n/', "
    \n", $text); - } - else - { - $text = preg_replace('/(?:[ ][ ]+|[ ]*\\\\)\n/', "
    \n", $text); - $text = str_replace(" \n", "\n", $text); - } - - return $text; - } - - # - # Handlers - # - - protected function element(array $Element) - { - $markup = '<'.$Element['name']; - - if (isset($Element['attributes'])) - { - foreach ($Element['attributes'] as $name => $value) - { - if ($value === null) - { - continue; - } - - $markup .= ' '.$name.'="'.$value.'"'; - } - } - - if (isset($Element['text'])) - { - $markup .= '>'; - - if (isset($Element['handler'])) - { - $markup .= $this->{$Element['handler']}($Element['text']); - } - else - { - $markup .= $Element['text']; - } - - $markup .= ''; - } - else - { - $markup .= ' />'; - } - - return $markup; - } - - protected function elements(array $Elements) - { - $markup = ''; - - foreach ($Elements as $Element) - { - $markup .= "\n" . $this->element($Element); - } - - $markup .= "\n"; - - return $markup; - } - - # ~ - - protected function li($lines) - { - $markup = $this->lines($lines); - - $trimmedMarkup = trim($markup); - - if ( ! in_array('', $lines) and substr($trimmedMarkup, 0, 3) === '

    ') - { - $markup = $trimmedMarkup; - $markup = substr($markup, 3); - - $position = strpos($markup, "

    "); - - $markup = substr_replace($markup, '', $position, 4); - } - - return $markup; - } - - # - # Deprecated Methods - # - - function parse($text) - { - $markup = $this->text($text); - - return $markup; - } - - # - # Static Methods - # - - static function instance($name = 'default') - { - if (isset(self::$instances[$name])) - { - return self::$instances[$name]; - } - - $instance = new static(); - - self::$instances[$name] = $instance; - - return $instance; - } - - private static $instances = array(); - - # - # Fields - # - - protected $DefinitionData; - - # - # Read-Only - - protected $specialCharacters = array( - '\\', '`', '*', '_', '{', '}', '[', ']', '(', ')', '>', '#', '+', '-', '.', '!', '|', - ); - - protected $StrongRegex = array( - '*' => '/^[*]{2}((?:\\\\\*|[^*]|[*][^*]*[*])+?)[*]{2}(?![*])/s', - '_' => '/^__((?:\\\\_|[^_]|_[^_]*_)+?)__(?!_)/us', - ); - - protected $EmRegex = array( - '*' => '/^[*]((?:\\\\\*|[^*]|[*][*][^*]+?[*][*])+?)[*](?![*])/s', - '_' => '/^_((?:\\\\_|[^_]|__[^_]*__)+?)_(?!_)\b/us', - ); - - protected $regexHtmlAttribute = '[a-zA-Z_:][\w:.-]*(?:\s*=\s*(?:[^"\'=<>`\s]+|"[^"]*"|\'[^\']*\'))?'; - - protected $voidElements = array( - 'area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', - ); - - protected $textLevelElements = array( - 'a', 'br', 'bdo', 'abbr', 'blink', 'nextid', 'acronym', 'basefont', - 'b', 'em', 'big', 'cite', 'small', 'spacer', 'listing', - 'i', 'rp', 'del', 'code', 'strike', 'marquee', - 'q', 'rt', 'ins', 'font', 'strong', - 's', 'tt', 'sub', 'mark', - 'u', 'xm', 'sup', 'nobr', - 'var', 'ruby', - 'wbr', 'span', - 'time', - ); -} \ No newline at end of file diff --git a/admin/update-checker/vendor/ParsedownLegacy.php b/admin/update-checker/vendor/ParsedownLegacy.php deleted file mode 100755 index bbc2d32..0000000 --- a/admin/update-checker/vendor/ParsedownLegacy.php +++ /dev/null @@ -1,1535 +0,0 @@ -DefinitionData = array(); - - # standardize line breaks - $text = str_replace(array("\r\n", "\r"), "\n", $text); - - # remove surrounding line breaks - $text = trim($text, "\n"); - - # split text into lines - $lines = explode("\n", $text); - - # iterate through lines to identify blocks - $markup = $this->lines($lines); - - # trim line breaks - $markup = trim($markup, "\n"); - - return $markup; - } - - # - # Setters - # - - function setBreaksEnabled($breaksEnabled) - { - $this->breaksEnabled = $breaksEnabled; - - return $this; - } - - protected $breaksEnabled; - - function setMarkupEscaped($markupEscaped) - { - $this->markupEscaped = $markupEscaped; - - return $this; - } - - protected $markupEscaped; - - function setUrlsLinked($urlsLinked) - { - $this->urlsLinked = $urlsLinked; - - return $this; - } - - protected $urlsLinked = true; - - # - # Lines - # - - protected $BlockTypes = array( - '#' => array('Header'), - '*' => array('Rule', 'List'), - '+' => array('List'), - '-' => array('SetextHeader', 'Table', 'Rule', 'List'), - '0' => array('List'), - '1' => array('List'), - '2' => array('List'), - '3' => array('List'), - '4' => array('List'), - '5' => array('List'), - '6' => array('List'), - '7' => array('List'), - '8' => array('List'), - '9' => array('List'), - ':' => array('Table'), - '<' => array('Comment', 'Markup'), - '=' => array('SetextHeader'), - '>' => array('Quote'), - '[' => array('Reference'), - '_' => array('Rule'), - '`' => array('FencedCode'), - '|' => array('Table'), - '~' => array('FencedCode'), - ); - - # ~ - - protected $DefinitionTypes = array( - '[' => array('Reference'), - ); - - # ~ - - protected $unmarkedBlockTypes = array( - 'Code', - ); - - # - # Blocks - # - - private function lines(array $lines) - { - $CurrentBlock = null; - - foreach ($lines as $line) - { - if (chop($line) === '') - { - if (isset($CurrentBlock)) - { - $CurrentBlock['interrupted'] = true; - } - - continue; - } - - if (strpos($line, "\t") !== false) - { - $parts = explode("\t", $line); - - $line = $parts[0]; - - unset($parts[0]); - - foreach ($parts as $part) - { - $shortage = 4 - mb_strlen($line, 'utf-8') % 4; - - $line .= str_repeat(' ', $shortage); - $line .= $part; - } - } - - $indent = 0; - - while (isset($line[$indent]) and $line[$indent] === ' ') - { - $indent ++; - } - - $text = $indent > 0 ? substr($line, $indent) : $line; - - # ~ - - $Line = array('body' => $line, 'indent' => $indent, 'text' => $text); - - # ~ - - if (isset($CurrentBlock['incomplete'])) - { - $Block = $this->{'block'.$CurrentBlock['type'].'Continue'}($Line, $CurrentBlock); - - if (isset($Block)) - { - $CurrentBlock = $Block; - - continue; - } - else - { - if (method_exists($this, 'block'.$CurrentBlock['type'].'Complete')) - { - $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); - } - - unset($CurrentBlock['incomplete']); - } - } - - # ~ - - $marker = $text[0]; - - # ~ - - $blockTypes = $this->unmarkedBlockTypes; - - if (isset($this->BlockTypes[$marker])) - { - foreach ($this->BlockTypes[$marker] as $blockType) - { - $blockTypes []= $blockType; - } - } - - # - # ~ - - foreach ($blockTypes as $blockType) - { - $Block = $this->{'block'.$blockType}($Line, $CurrentBlock); - - if (isset($Block)) - { - $Block['type'] = $blockType; - - if ( ! isset($Block['identified'])) - { - $Blocks []= $CurrentBlock; - - $Block['identified'] = true; - } - - if (method_exists($this, 'block'.$blockType.'Continue')) - { - $Block['incomplete'] = true; - } - - $CurrentBlock = $Block; - - continue 2; - } - } - - # ~ - - if (isset($CurrentBlock) and ! isset($CurrentBlock['type']) and ! isset($CurrentBlock['interrupted'])) - { - $CurrentBlock['element']['text'] .= "\n".$text; - } - else - { - $Blocks []= $CurrentBlock; - - $CurrentBlock = $this->paragraph($Line); - - $CurrentBlock['identified'] = true; - } - } - - # ~ - - if (isset($CurrentBlock['incomplete']) and method_exists($this, 'block'.$CurrentBlock['type'].'Complete')) - { - $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); - } - - # ~ - - $Blocks []= $CurrentBlock; - - unset($Blocks[0]); - - # ~ - - $markup = ''; - - foreach ($Blocks as $Block) - { - if (isset($Block['hidden'])) - { - continue; - } - - $markup .= "\n"; - $markup .= isset($Block['markup']) ? $Block['markup'] : $this->element($Block['element']); - } - - $markup .= "\n"; - - # ~ - - return $markup; - } - - # - # Code - - protected function blockCode($Line, $Block = null) - { - if (isset($Block) and ! isset($Block['type']) and ! isset($Block['interrupted'])) - { - return; - } - - if ($Line['indent'] >= 4) - { - $text = substr($Line['body'], 4); - - $Block = array( - 'element' => array( - 'name' => 'pre', - 'handler' => 'element', - 'text' => array( - 'name' => 'code', - 'text' => $text, - ), - ), - ); - - return $Block; - } - } - - protected function blockCodeContinue($Line, $Block) - { - if ($Line['indent'] >= 4) - { - if (isset($Block['interrupted'])) - { - $Block['element']['text']['text'] .= "\n"; - - unset($Block['interrupted']); - } - - $Block['element']['text']['text'] .= "\n"; - - $text = substr($Line['body'], 4); - - $Block['element']['text']['text'] .= $text; - - return $Block; - } - } - - protected function blockCodeComplete($Block) - { - $text = $Block['element']['text']['text']; - - $text = htmlspecialchars($text, ENT_NOQUOTES, 'UTF-8'); - - $Block['element']['text']['text'] = $text; - - return $Block; - } - - # - # Comment - - protected function blockComment($Line) - { - if ($this->markupEscaped) - { - return; - } - - if (isset($Line['text'][3]) and $Line['text'][3] === '-' and $Line['text'][2] === '-' and $Line['text'][1] === '!') - { - $Block = array( - 'markup' => $Line['body'], - ); - - if (preg_match('/-->$/', $Line['text'])) - { - $Block['closed'] = true; - } - - return $Block; - } - } - - protected function blockCommentContinue($Line, array $Block) - { - if (isset($Block['closed'])) - { - return; - } - - $Block['markup'] .= "\n" . $Line['body']; - - if (preg_match('/-->$/', $Line['text'])) - { - $Block['closed'] = true; - } - - return $Block; - } - - # - # Fenced Code - - protected function blockFencedCode($Line) - { - if (preg_match('/^(['.$Line['text'][0].']{3,})[ ]*([\w-]+)?[ ]*$/', $Line['text'], $matches)) - { - $Element = array( - 'name' => 'code', - 'text' => '', - ); - - if (isset($matches[2])) - { - $class = 'language-'.$matches[2]; - - $Element['attributes'] = array( - 'class' => $class, - ); - } - - $Block = array( - 'char' => $Line['text'][0], - 'element' => array( - 'name' => 'pre', - 'handler' => 'element', - 'text' => $Element, - ), - ); - - return $Block; - } - } - - protected function blockFencedCodeContinue($Line, $Block) - { - if (isset($Block['complete'])) - { - return; - } - - if (isset($Block['interrupted'])) - { - $Block['element']['text']['text'] .= "\n"; - - unset($Block['interrupted']); - } - - if (preg_match('/^'.$Block['char'].'{3,}[ ]*$/', $Line['text'])) - { - $Block['element']['text']['text'] = substr($Block['element']['text']['text'], 1); - - $Block['complete'] = true; - - return $Block; - } - - $Block['element']['text']['text'] .= "\n".$Line['body'];; - - return $Block; - } - - protected function blockFencedCodeComplete($Block) - { - $text = $Block['element']['text']['text']; - - $text = htmlspecialchars($text, ENT_NOQUOTES, 'UTF-8'); - - $Block['element']['text']['text'] = $text; - - return $Block; - } - - # - # Header - - protected function blockHeader($Line) - { - if (isset($Line['text'][1])) - { - $level = 1; - - while (isset($Line['text'][$level]) and $Line['text'][$level] === '#') - { - $level ++; - } - - if ($level > 6) - { - return; - } - - $text = trim($Line['text'], '# '); - - $Block = array( - 'element' => array( - 'name' => 'h' . min(6, $level), - 'text' => $text, - 'handler' => 'line', - ), - ); - - return $Block; - } - } - - # - # List - - protected function blockList($Line) - { - list($name, $pattern) = $Line['text'][0] <= '-' ? array('ul', '[*+-]') : array('ol', '[0-9]+[.]'); - - if (preg_match('/^('.$pattern.'[ ]+)(.*)/', $Line['text'], $matches)) - { - $Block = array( - 'indent' => $Line['indent'], - 'pattern' => $pattern, - 'element' => array( - 'name' => $name, - 'handler' => 'elements', - ), - ); - - $Block['li'] = array( - 'name' => 'li', - 'handler' => 'li', - 'text' => array( - $matches[2], - ), - ); - - $Block['element']['text'] []= & $Block['li']; - - return $Block; - } - } - - protected function blockListContinue($Line, array $Block) - { - if ($Block['indent'] === $Line['indent'] and preg_match('/^'.$Block['pattern'].'(?:[ ]+(.*)|$)/', $Line['text'], $matches)) - { - if (isset($Block['interrupted'])) - { - $Block['li']['text'] []= ''; - - unset($Block['interrupted']); - } - - unset($Block['li']); - - $text = isset($matches[1]) ? $matches[1] : ''; - - $Block['li'] = array( - 'name' => 'li', - 'handler' => 'li', - 'text' => array( - $text, - ), - ); - - $Block['element']['text'] []= & $Block['li']; - - return $Block; - } - - if ($Line['text'][0] === '[' and $this->blockReference($Line)) - { - return $Block; - } - - if ( ! isset($Block['interrupted'])) - { - $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); - - $Block['li']['text'] []= $text; - - return $Block; - } - - if ($Line['indent'] > 0) - { - $Block['li']['text'] []= ''; - - $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); - - $Block['li']['text'] []= $text; - - unset($Block['interrupted']); - - return $Block; - } - } - - # - # Quote - - protected function blockQuote($Line) - { - if (preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) - { - $Block = array( - 'element' => array( - 'name' => 'blockquote', - 'handler' => 'lines', - 'text' => (array) $matches[1], - ), - ); - - return $Block; - } - } - - protected function blockQuoteContinue($Line, array $Block) - { - if ($Line['text'][0] === '>' and preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) - { - if (isset($Block['interrupted'])) - { - $Block['element']['text'] []= ''; - - unset($Block['interrupted']); - } - - $Block['element']['text'] []= $matches[1]; - - return $Block; - } - - if ( ! isset($Block['interrupted'])) - { - $Block['element']['text'] []= $Line['text']; - - return $Block; - } - } - - # - # Rule - - protected function blockRule($Line) - { - if (preg_match('/^(['.$Line['text'][0].'])([ ]*\1){2,}[ ]*$/', $Line['text'])) - { - $Block = array( - 'element' => array( - 'name' => 'hr' - ), - ); - - return $Block; - } - } - - # - # Setext - - protected function blockSetextHeader($Line, array $Block = null) - { - if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) - { - return; - } - - if (chop($Line['text'], $Line['text'][0]) === '') - { - $Block['element']['name'] = $Line['text'][0] === '=' ? 'h1' : 'h2'; - - return $Block; - } - } - - # - # Markup - - protected function blockMarkup($Line) - { - if ($this->markupEscaped) - { - return; - } - - if (preg_match('/^<(\w*)(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*(\/)?>/', $Line['text'], $matches)) - { - if (in_array($matches[1], $this->textLevelElements)) - { - return; - } - - $Block = array( - 'name' => $matches[1], - 'depth' => 0, - 'markup' => $Line['text'], - ); - - $length = strlen($matches[0]); - - $remainder = substr($Line['text'], $length); - - if (trim($remainder) === '') - { - if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) - { - $Block['closed'] = true; - - $Block['void'] = true; - } - } - else - { - if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) - { - return; - } - - if (preg_match('/<\/'.$matches[1].'>[ ]*$/i', $remainder)) - { - $Block['closed'] = true; - } - } - - return $Block; - } - } - - protected function blockMarkupContinue($Line, array $Block) - { - if (isset($Block['closed'])) - { - return; - } - - if (preg_match('/^<'.$Block['name'].'(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*>/i', $Line['text'])) # open - { - $Block['depth'] ++; - } - - if (preg_match('/(.*?)<\/'.$Block['name'].'>[ ]*$/i', $Line['text'], $matches)) # close - { - if ($Block['depth'] > 0) - { - $Block['depth'] --; - } - else - { - $Block['closed'] = true; - } - - $Block['markup'] .= $matches[1]; - } - - if (isset($Block['interrupted'])) - { - $Block['markup'] .= "\n"; - - unset($Block['interrupted']); - } - - $Block['markup'] .= "\n".$Line['body']; - - return $Block; - } - - # - # Reference - - protected function blockReference($Line) - { - if (preg_match('/^\[(.+?)\]:[ ]*?(?:[ ]+["\'(](.+)["\')])?[ ]*$/', $Line['text'], $matches)) - { - $id = strtolower($matches[1]); - - $Data = array( - 'url' => $matches[2], - 'title' => null, - ); - - if (isset($matches[3])) - { - $Data['title'] = $matches[3]; - } - - $this->DefinitionData['Reference'][$id] = $Data; - - $Block = array( - 'hidden' => true, - ); - - return $Block; - } - } - - # - # Table - - protected function blockTable($Line, array $Block = null) - { - if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) - { - return; - } - - if (strpos($Block['element']['text'], '|') !== false and chop($Line['text'], ' -:|') === '') - { - $alignments = array(); - - $divider = $Line['text']; - - $divider = trim($divider); - $divider = trim($divider, '|'); - - $dividerCells = explode('|', $divider); - - foreach ($dividerCells as $dividerCell) - { - $dividerCell = trim($dividerCell); - - if ($dividerCell === '') - { - continue; - } - - $alignment = null; - - if ($dividerCell[0] === ':') - { - $alignment = 'left'; - } - - if (substr($dividerCell, - 1) === ':') - { - $alignment = $alignment === 'left' ? 'center' : 'right'; - } - - $alignments []= $alignment; - } - - # ~ - - $HeaderElements = array(); - - $header = $Block['element']['text']; - - $header = trim($header); - $header = trim($header, '|'); - - $headerCells = explode('|', $header); - - foreach ($headerCells as $index => $headerCell) - { - $headerCell = trim($headerCell); - - $HeaderElement = array( - 'name' => 'th', - 'text' => $headerCell, - 'handler' => 'line', - ); - - if (isset($alignments[$index])) - { - $alignment = $alignments[$index]; - - $HeaderElement['attributes'] = array( - 'style' => 'text-align: '.$alignment.';', - ); - } - - $HeaderElements []= $HeaderElement; - } - - # ~ - - $Block = array( - 'alignments' => $alignments, - 'identified' => true, - 'element' => array( - 'name' => 'table', - 'handler' => 'elements', - ), - ); - - $Block['element']['text'] []= array( - 'name' => 'thead', - 'handler' => 'elements', - ); - - $Block['element']['text'] []= array( - 'name' => 'tbody', - 'handler' => 'elements', - 'text' => array(), - ); - - $Block['element']['text'][0]['text'] []= array( - 'name' => 'tr', - 'handler' => 'elements', - 'text' => $HeaderElements, - ); - - return $Block; - } - } - - protected function blockTableContinue($Line, array $Block) - { - if (isset($Block['interrupted'])) - { - return; - } - - if ($Line['text'][0] === '|' or strpos($Line['text'], '|')) - { - $Elements = array(); - - $row = $Line['text']; - - $row = trim($row); - $row = trim($row, '|'); - - preg_match_all('/(?:(\\\\[|])|[^|`]|`[^`]+`|`)+/', $row, $matches); - - foreach ($matches[0] as $index => $cell) - { - $cell = trim($cell); - - $Element = array( - 'name' => 'td', - 'handler' => 'line', - 'text' => $cell, - ); - - if (isset($Block['alignments'][$index])) - { - $Element['attributes'] = array( - 'style' => 'text-align: '.$Block['alignments'][$index].';', - ); - } - - $Elements []= $Element; - } - - $Element = array( - 'name' => 'tr', - 'handler' => 'elements', - 'text' => $Elements, - ); - - $Block['element']['text'][1]['text'] []= $Element; - - return $Block; - } - } - - # - # ~ - # - - protected function paragraph($Line) - { - $Block = array( - 'element' => array( - 'name' => 'p', - 'text' => $Line['text'], - 'handler' => 'line', - ), - ); - - return $Block; - } - - # - # Inline Elements - # - - protected $InlineTypes = array( - '"' => array('SpecialCharacter'), - '!' => array('Image'), - '&' => array('SpecialCharacter'), - '*' => array('Emphasis'), - ':' => array('Url'), - '<' => array('UrlTag', 'EmailTag', 'Markup', 'SpecialCharacter'), - '>' => array('SpecialCharacter'), - '[' => array('Link'), - '_' => array('Emphasis'), - '`' => array('Code'), - '~' => array('Strikethrough'), - '\\' => array('EscapeSequence'), - ); - - # ~ - - protected $inlineMarkerList = '!"*_&[:<>`~\\'; - - # - # ~ - # - - public function line($text) - { - $markup = ''; - - $unexaminedText = $text; - - $markerPosition = 0; - - while ($excerpt = strpbrk($unexaminedText, $this->inlineMarkerList)) - { - $marker = $excerpt[0]; - - $markerPosition += strpos($unexaminedText, $marker); - - $Excerpt = array('text' => $excerpt, 'context' => $text); - - foreach ($this->InlineTypes[$marker] as $inlineType) - { - $Inline = $this->{'inline'.$inlineType}($Excerpt); - - if ( ! isset($Inline)) - { - continue; - } - - if (isset($Inline['position']) and $Inline['position'] > $markerPosition) # position is ahead of marker - { - continue; - } - - if ( ! isset($Inline['position'])) - { - $Inline['position'] = $markerPosition; - } - - $unmarkedText = substr($text, 0, $Inline['position']); - - $markup .= $this->unmarkedText($unmarkedText); - - $markup .= isset($Inline['markup']) ? $Inline['markup'] : $this->element($Inline['element']); - - $text = substr($text, $Inline['position'] + $Inline['extent']); - - $unexaminedText = $text; - - $markerPosition = 0; - - continue 2; - } - - $unexaminedText = substr($excerpt, 1); - - $markerPosition ++; - } - - $markup .= $this->unmarkedText($text); - - return $markup; - } - - # - # ~ - # - - protected function inlineCode($Excerpt) - { - $marker = $Excerpt['text'][0]; - - if (preg_match('/^('.$marker.'+)[ ]*(.+?)[ ]*(? strlen($matches[0]), - 'element' => array( - 'name' => 'code', - 'text' => $text, - ), - ); - } - } - - protected function inlineEmailTag($Excerpt) - { - if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<((mailto:)?\S+?@\S+?)>/i', $Excerpt['text'], $matches)) - { - $url = $matches[1]; - - if ( ! isset($matches[2])) - { - $url = 'mailto:' . $url; - } - - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => 'a', - 'text' => $matches[1], - 'attributes' => array( - 'href' => $url, - ), - ), - ); - } - } - - protected function inlineEmphasis($Excerpt) - { - if ( ! isset($Excerpt['text'][1])) - { - return; - } - - $marker = $Excerpt['text'][0]; - - if ($Excerpt['text'][1] === $marker and preg_match($this->StrongRegex[$marker], $Excerpt['text'], $matches)) - { - $emphasis = 'strong'; - } - elseif (preg_match($this->EmRegex[$marker], $Excerpt['text'], $matches)) - { - $emphasis = 'em'; - } - else - { - return; - } - - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => $emphasis, - 'handler' => 'line', - 'text' => $matches[1], - ), - ); - } - - protected function inlineEscapeSequence($Excerpt) - { - if (isset($Excerpt['text'][1]) and in_array($Excerpt['text'][1], $this->specialCharacters)) - { - return array( - 'markup' => $Excerpt['text'][1], - 'extent' => 2, - ); - } - } - - protected function inlineImage($Excerpt) - { - if ( ! isset($Excerpt['text'][1]) or $Excerpt['text'][1] !== '[') - { - return; - } - - $Excerpt['text']= substr($Excerpt['text'], 1); - - $Link = $this->inlineLink($Excerpt); - - if ($Link === null) - { - return; - } - - $Inline = array( - 'extent' => $Link['extent'] + 1, - 'element' => array( - 'name' => 'img', - 'attributes' => array( - 'src' => $Link['element']['attributes']['href'], - 'alt' => $Link['element']['text'], - ), - ), - ); - - $Inline['element']['attributes'] += $Link['element']['attributes']; - - unset($Inline['element']['attributes']['href']); - - return $Inline; - } - - protected function inlineLink($Excerpt) - { - $Element = array( - 'name' => 'a', - 'handler' => 'line', - 'text' => null, - 'attributes' => array( - 'href' => null, - 'title' => null, - ), - ); - - $extent = 0; - - $remainder = $Excerpt['text']; - - if (preg_match('/\[((?:[^][]|(?R))*)\]/', $remainder, $matches)) - { - $Element['text'] = $matches[1]; - - $extent += strlen($matches[0]); - - $remainder = substr($remainder, $extent); - } - else - { - return; - } - - if (preg_match('/^[(]((?:[^ (]|[(][^ )]+[)])+)(?:[ ]+("[^"]+"|\'[^\']+\'))?[)]/', $remainder, $matches)) - { - $Element['attributes']['href'] = $matches[1]; - - if (isset($matches[2])) - { - $Element['attributes']['title'] = substr($matches[2], 1, - 1); - } - - $extent += strlen($matches[0]); - } - else - { - if (preg_match('/^\s*\[(.*?)\]/', $remainder, $matches)) - { - $definition = $matches[1] ? $matches[1] : $Element['text']; - $definition = strtolower($definition); - - $extent += strlen($matches[0]); - } - else - { - $definition = strtolower($Element['text']); - } - - if ( ! isset($this->DefinitionData['Reference'][$definition])) - { - return; - } - - $Definition = $this->DefinitionData['Reference'][$definition]; - - $Element['attributes']['href'] = $Definition['url']; - $Element['attributes']['title'] = $Definition['title']; - } - - $Element['attributes']['href'] = str_replace(array('&', '<'), array('&', '<'), $Element['attributes']['href']); - - return array( - 'extent' => $extent, - 'element' => $Element, - ); - } - - protected function inlineMarkup($Excerpt) - { - if ($this->markupEscaped or strpos($Excerpt['text'], '>') === false) - { - return; - } - - if ($Excerpt['text'][1] === '/' and preg_match('/^<\/\w*[ ]*>/s', $Excerpt['text'], $matches)) - { - return array( - 'markup' => $matches[0], - 'extent' => strlen($matches[0]), - ); - } - - if ($Excerpt['text'][1] === '!' and preg_match('/^/s', $Excerpt['text'], $matches)) - { - return array( - 'markup' => $matches[0], - 'extent' => strlen($matches[0]), - ); - } - - if ($Excerpt['text'][1] !== ' ' and preg_match('/^<\w*(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*\/?>/s', $Excerpt['text'], $matches)) - { - return array( - 'markup' => $matches[0], - 'extent' => strlen($matches[0]), - ); - } - } - - protected function inlineSpecialCharacter($Excerpt) - { - if ($Excerpt['text'][0] === '&' and ! preg_match('/^&#?\w+;/', $Excerpt['text'])) - { - return array( - 'markup' => '&', - 'extent' => 1, - ); - } - - $SpecialCharacter = array('>' => 'gt', '<' => 'lt', '"' => 'quot'); - - if (isset($SpecialCharacter[$Excerpt['text'][0]])) - { - return array( - 'markup' => '&'.$SpecialCharacter[$Excerpt['text'][0]].';', - 'extent' => 1, - ); - } - } - - protected function inlineStrikethrough($Excerpt) - { - if ( ! isset($Excerpt['text'][1])) - { - return; - } - - if ($Excerpt['text'][1] === '~' and preg_match('/^~~(?=\S)(.+?)(?<=\S)~~/', $Excerpt['text'], $matches)) - { - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => 'del', - 'text' => $matches[1], - 'handler' => 'line', - ), - ); - } - } - - protected function inlineUrl($Excerpt) - { - if ($this->urlsLinked !== true or ! isset($Excerpt['text'][2]) or $Excerpt['text'][2] !== '/') - { - return; - } - - if (preg_match('/\bhttps?:[\/]{2}[^\s<]+\b\/*/ui', $Excerpt['context'], $matches, PREG_OFFSET_CAPTURE)) - { - $Inline = array( - 'extent' => strlen($matches[0][0]), - 'position' => $matches[0][1], - 'element' => array( - 'name' => 'a', - 'text' => $matches[0][0], - 'attributes' => array( - 'href' => $matches[0][0], - ), - ), - ); - - return $Inline; - } - } - - protected function inlineUrlTag($Excerpt) - { - if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<(\w+:\/{2}[^ >]+)>/i', $Excerpt['text'], $matches)) - { - $url = str_replace(array('&', '<'), array('&', '<'), $matches[1]); - - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => 'a', - 'text' => $url, - 'attributes' => array( - 'href' => $url, - ), - ), - ); - } - } - - # - # ~ - - protected $unmarkedInlineTypes = array("\n" => 'Break', '://' => 'Url'); - - # ~ - - protected function unmarkedText($text) - { - if ($this->breaksEnabled) - { - $text = preg_replace('/[ ]*\n/', "
    \n", $text); - } - else - { - $text = preg_replace('/(?:[ ][ ]+|[ ]*\\\\)\n/', "
    \n", $text); - $text = str_replace(" \n", "\n", $text); - } - - return $text; - } - - # - # Handlers - # - - protected function element(array $Element) - { - $markup = '<'.$Element['name']; - - if (isset($Element['attributes'])) - { - foreach ($Element['attributes'] as $name => $value) - { - if ($value === null) - { - continue; - } - - $markup .= ' '.$name.'="'.$value.'"'; - } - } - - if (isset($Element['text'])) - { - $markup .= '>'; - - if (isset($Element['handler'])) - { - $markup .= $this->{$Element['handler']}($Element['text']); - } - else - { - $markup .= $Element['text']; - } - - $markup .= ''; - } - else - { - $markup .= ' />'; - } - - return $markup; - } - - protected function elements(array $Elements) - { - $markup = ''; - - foreach ($Elements as $Element) - { - $markup .= "\n" . $this->element($Element); - } - - $markup .= "\n"; - - return $markup; - } - - # ~ - - protected function li($lines) - { - $markup = $this->lines($lines); - - $trimmedMarkup = trim($markup); - - if ( ! in_array('', $lines) and substr($trimmedMarkup, 0, 3) === '

    ') - { - $markup = $trimmedMarkup; - $markup = substr($markup, 3); - - $position = strpos($markup, "

    "); - - $markup = substr_replace($markup, '', $position, 4); - } - - return $markup; - } - - # - # Deprecated Methods - # - - function parse($text) - { - $markup = $this->text($text); - - return $markup; - } - - # - # Static Methods - # - - static function instance($name = 'default') - { - if (isset(self::$instances[$name])) - { - return self::$instances[$name]; - } - - $instance = new self(); - - self::$instances[$name] = $instance; - - return $instance; - } - - private static $instances = array(); - - # - # Fields - # - - protected $DefinitionData; - - # - # Read-Only - - protected $specialCharacters = array( - '\\', '`', '*', '_', '{', '}', '[', ']', '(', ')', '>', '#', '+', '-', '.', '!', '|', - ); - - protected $StrongRegex = array( - '*' => '/^[*]{2}((?:\\\\\*|[^*]|[*][^*]*[*])+?)[*]{2}(?![*])/s', - '_' => '/^__((?:\\\\_|[^_]|_[^_]*_)+?)__(?!_)/us', - ); - - protected $EmRegex = array( - '*' => '/^[*]((?:\\\\\*|[^*]|[*][*][^*]+?[*][*])+?)[*](?![*])/s', - '_' => '/^_((?:\\\\_|[^_]|__[^_]*__)+?)_(?!_)\b/us', - ); - - protected $regexHtmlAttribute = '[a-zA-Z_:][\w:.-]*(?:\s*=\s*(?:[^"\'=<>`\s]+|"[^"]*"|\'[^\']*\'))?'; - - protected $voidElements = array( - 'area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', - ); - - protected $textLevelElements = array( - 'a', 'br', 'bdo', 'abbr', 'blink', 'nextid', 'acronym', 'basefont', - 'b', 'em', 'big', 'cite', 'small', 'spacer', 'listing', - 'i', 'rp', 'del', 'code', 'strike', 'marquee', - 'q', 'rt', 'ins', 'font', 'strong', - 's', 'tt', 'sub', 'mark', - 'u', 'xm', 'sup', 'nobr', - 'var', 'ruby', - 'wbr', 'span', - 'time', - ); -} diff --git a/admin/update-checker/vendor/readme-parser.php b/admin/update-checker/vendor/readme-parser.php deleted file mode 100755 index d89a06e..0000000 --- a/admin/update-checker/vendor/readme-parser.php +++ /dev/null @@ -1,334 +0,0 @@ -parse_readme_contents( $file_contents ); - } - - function parse_readme_contents( $file_contents ) { - $file_contents = str_replace(array("\r\n", "\r"), "\n", $file_contents); - $file_contents = trim($file_contents); - if ( 0 === strpos( $file_contents, "\xEF\xBB\xBF" ) ) - $file_contents = substr( $file_contents, 3 ); - - // Markdown transformations - $file_contents = preg_replace( "|^###([^#]+)#*?\s*?\n|im", '=$1='."\n", $file_contents ); - $file_contents = preg_replace( "|^##([^#]+)#*?\s*?\n|im", '==$1=='."\n", $file_contents ); - $file_contents = preg_replace( "|^#([^#]+)#*?\s*?\n|im", '===$1==='."\n", $file_contents ); - - // === Plugin Name === - // Must be the very first thing. - if ( !preg_match('|^===(.*)===|', $file_contents, $_name) ) - return array(); // require a name - $name = trim($_name[1], '='); - $name = $this->sanitize_text( $name ); - - $file_contents = $this->chop_string( $file_contents, $_name[0] ); - - - // Requires at least: 1.5 - if ( preg_match('|Requires at least:(.*)|i', $file_contents, $_requires_at_least) ) - $requires_at_least = $this->sanitize_text($_requires_at_least[1]); - else - $requires_at_least = NULL; - - - // Tested up to: 2.1 - if ( preg_match('|Tested up to:(.*)|i', $file_contents, $_tested_up_to) ) - $tested_up_to = $this->sanitize_text( $_tested_up_to[1] ); - else - $tested_up_to = NULL; - - - // Stable tag: 10.4-ride-the-fire-eagle-danger-day - if ( preg_match('|Stable tag:(.*)|i', $file_contents, $_stable_tag) ) - $stable_tag = $this->sanitize_text( $_stable_tag[1] ); - else - $stable_tag = NULL; // we assume trunk, but don't set it here to tell the difference between specified trunk and default trunk - - - // Tags: some tag, another tag, we like tags - if ( preg_match('|Tags:(.*)|i', $file_contents, $_tags) ) { - $tags = preg_split('|,[\s]*?|', trim($_tags[1])); - foreach ( array_keys($tags) as $t ) - $tags[$t] = $this->sanitize_text( $tags[$t] ); - } else { - $tags = array(); - } - - - // Contributors: markjaquith, mdawaffe, zefrank - $contributors = array(); - if ( preg_match('|Contributors:(.*)|i', $file_contents, $_contributors) ) { - $temp_contributors = preg_split('|,[\s]*|', trim($_contributors[1])); - foreach ( array_keys($temp_contributors) as $c ) { - $tmp_sanitized = $this->user_sanitize( $temp_contributors[$c] ); - if ( strlen(trim($tmp_sanitized)) > 0 ) - $contributors[$c] = $tmp_sanitized; - unset($tmp_sanitized); - } - } - - - // Donate Link: URL - if ( preg_match('|Donate link:(.*)|i', $file_contents, $_donate_link) ) - $donate_link = esc_url( $_donate_link[1] ); - else - $donate_link = NULL; - - - // togs, conts, etc are optional and order shouldn't matter. So we chop them only after we've grabbed their values. - foreach ( array('tags', 'contributors', 'requires_at_least', 'tested_up_to', 'stable_tag', 'donate_link') as $chop ) { - if ( $$chop ) { - $_chop = '_' . $chop; - $file_contents = $this->chop_string( $file_contents, ${$_chop}[0] ); - } - } - - $file_contents = trim($file_contents); - - - // short-description fu - if ( !preg_match('/(^(.*?))^[\s]*=+?[\s]*.+?[\s]*=+?/ms', $file_contents, $_short_description) ) - $_short_description = array( 1 => &$file_contents, 2 => &$file_contents ); - $short_desc_filtered = $this->sanitize_text( $_short_description[2] ); - $short_desc_length = strlen($short_desc_filtered); - $short_description = substr($short_desc_filtered, 0, 150); - if ( $short_desc_length > strlen($short_description) ) - $truncated = true; - else - $truncated = false; - if ( $_short_description[1] ) - $file_contents = $this->chop_string( $file_contents, $_short_description[1] ); // yes, the [1] is intentional - - // == Section == - // Break into sections - // $_sections[0] will be the title of the first section, $_sections[1] will be the content of the first section - // the array alternates from there: title2, content2, title3, content3... and so forth - $_sections = preg_split('/^[\s]*==[\s]*(.+?)[\s]*==/m', $file_contents, -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY); - - $sections = array(); - for ( $i=1; $i <= count($_sections); $i +=2 ) { - $_sections[$i] = preg_replace('/(^[\s]*)=[\s]+(.+?)[\s]+=/m', '$1

    $2

    ', $_sections[$i]); - $_sections[$i] = $this->filter_text( $_sections[$i], true ); - $title = $this->sanitize_text( $_sections[$i-1] ); - $sections[str_replace(' ', '_', strtolower($title))] = array('title' => $title, 'content' => $_sections[$i]); - } - - - // Special sections - // This is where we nab our special sections, so we can enforce their order and treat them differently, if needed - // upgrade_notice is not a section, but parse it like it is for now - $final_sections = array(); - foreach ( array('description', 'installation', 'frequently_asked_questions', 'screenshots', 'changelog', 'change_log', 'upgrade_notice') as $special_section ) { - if ( isset($sections[$special_section]) ) { - $final_sections[$special_section] = $sections[$special_section]['content']; - unset($sections[$special_section]); - } - } - if ( isset($final_sections['change_log']) && empty($final_sections['changelog']) ) - $final_sections['changelog'] = $final_sections['change_log']; - - - $final_screenshots = array(); - if ( isset($final_sections['screenshots']) ) { - preg_match_all('|
  • (.*?)
  • |s', $final_sections['screenshots'], $screenshots, PREG_SET_ORDER); - if ( $screenshots ) { - foreach ( (array) $screenshots as $ss ) - $final_screenshots[] = $ss[1]; - } - } - - // Parse the upgrade_notice section specially: - // 1.0 => blah, 1.1 => fnord - $upgrade_notice = array(); - if ( isset($final_sections['upgrade_notice']) ) { - $split = preg_split( '#

    (.*?)

    #', $final_sections['upgrade_notice'], -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY ); - for ( $i = 0; $i < count( $split ); $i += 2 ) - $upgrade_notice[$this->sanitize_text( $split[$i] )] = substr( $this->sanitize_text( $split[$i + 1] ), 0, 300 ); - unset( $final_sections['upgrade_notice'] ); - } - - // No description? - // No problem... we'll just fall back to the old style of description - // We'll even let you use markup this time! - $excerpt = false; - if ( !isset($final_sections['description']) ) { - $final_sections = array_merge(array('description' => $this->filter_text( $_short_description[2], true )), $final_sections); - $excerpt = true; - } - - - // dump the non-special sections into $remaining_content - // their order will be determined by their original order in the readme.txt - $remaining_content = ''; - foreach ( $sections as $s_name => $s_data ) { - $remaining_content .= "\n

    {$s_data['title']}

    \n{$s_data['content']}"; - } - $remaining_content = trim($remaining_content); - - - // All done! - // $r['tags'] and $r['contributors'] are simple arrays - // $r['sections'] is an array with named elements - $r = array( - 'name' => $name, - 'tags' => $tags, - 'requires_at_least' => $requires_at_least, - 'tested_up_to' => $tested_up_to, - 'stable_tag' => $stable_tag, - 'contributors' => $contributors, - 'donate_link' => $donate_link, - 'short_description' => $short_description, - 'screenshots' => $final_screenshots, - 'is_excerpt' => $excerpt, - 'is_truncated' => $truncated, - 'sections' => $final_sections, - 'remaining_content' => $remaining_content, - 'upgrade_notice' => $upgrade_notice - ); - - return $r; - } - - function chop_string( $string, $chop ) { // chop a "prefix" from a string: Agressive! uses strstr not 0 === strpos - if ( $_string = strstr($string, $chop) ) { - $_string = substr($_string, strlen($chop)); - return trim($_string); - } else { - return trim($string); - } - } - - function user_sanitize( $text, $strict = false ) { // whitelisted chars - if ( function_exists('user_sanitize') ) // bbPress native - return user_sanitize( $text, $strict ); - - if ( $strict ) { - $text = preg_replace('/[^a-z0-9-]/i', '', $text); - $text = preg_replace('|-+|', '-', $text); - } else { - $text = preg_replace('/[^a-z0-9_-]/i', '', $text); - } - return $text; - } - - function sanitize_text( $text ) { // not fancy - $text = strip_tags($text); - $text = esc_html($text); - $text = trim($text); - return $text; - } - - function filter_text( $text, $markdown = false ) { // fancy, Markdown - $text = trim($text); - - $text = call_user_func( array( __CLASS__, 'code_trick' ), $text, $markdown ); // A better parser than Markdown's for: backticks -> CODE - - if ( $markdown ) { // Parse markdown. - if ( !class_exists('Parsedown', false) ) { - /** @noinspection PhpIncludeInspection */ - require_once(dirname(__FILE__) . '/Parsedown' . (version_compare(PHP_VERSION, '5.3.0', '>=') ? '' : 'Legacy') . '.php'); - } - $instance = Parsedown::instance(); - $text = $instance->text($text); - } - - $allowed = array( - 'a' => array( - 'href' => array(), - 'title' => array(), - 'rel' => array()), - 'blockquote' => array('cite' => array()), - 'br' => array(), - 'p' => array(), - 'code' => array(), - 'pre' => array(), - 'em' => array(), - 'strong' => array(), - 'ul' => array(), - 'ol' => array(), - 'li' => array(), - 'h3' => array(), - 'h4' => array() - ); - - $text = balanceTags($text); - - $text = wp_kses( $text, $allowed ); - $text = trim($text); - return $text; - } - - function code_trick( $text, $markdown ) { // Don't use bbPress native function - it's incompatible with Markdown - // If doing markdown, first take any user formatted code blocks and turn them into backticks so that - // markdown will preserve things like underscores in code blocks - if ( $markdown ) - $text = preg_replace_callback("!(
    |)(.*?)(
    |)!s", array( __CLASS__,'decodeit'), $text); - - $text = str_replace(array("\r\n", "\r"), "\n", $text); - if ( !$markdown ) { - // This gets the "inline" code blocks, but can't be used with Markdown. - $text = preg_replace_callback("|(`)(.*?)`|", array( __CLASS__, 'encodeit'), $text); - // This gets the "block level" code blocks and converts them to PRE CODE - $text = preg_replace_callback("!(^|\n)`(.*?)`!s", array( __CLASS__, 'encodeit'), $text); - } else { - // Markdown can do inline code, we convert bbPress style block level code to Markdown style - $text = preg_replace_callback("!(^|\n)([ \t]*?)`(.*?)`!s", array( __CLASS__, 'indent'), $text); - } - return $text; - } - - function indent( $matches ) { - $text = $matches[3]; - $text = preg_replace('|^|m', $matches[2] . ' ', $text); - return $matches[1] . $text; - } - - function encodeit( $matches ) { - if ( function_exists('encodeit') ) // bbPress native - return encodeit( $matches ); - - $text = trim($matches[2]); - $text = htmlspecialchars($text, ENT_QUOTES); - $text = str_replace(array("\r\n", "\r"), "\n", $text); - $text = preg_replace("|\n\n\n+|", "\n\n", $text); - $text = str_replace('&lt;', '<', $text); - $text = str_replace('&gt;', '>', $text); - $text = "$text"; - if ( "`" != $matches[1] ) - $text = "
    $text
    "; - return $text; - } - - function decodeit( $matches ) { - if ( function_exists('decodeit') ) // bbPress native - return decodeit( $matches ); - - $text = $matches[2]; - $trans_table = array_flip(get_html_translation_table(HTML_ENTITIES)); - $text = strtr($text, $trans_table); - $text = str_replace('
    ', '', $text); - $text = str_replace('&', '&', $text); - $text = str_replace(''', "'", $text); - if ( '
    ' == $matches[1] )
    -			$text = "\n$text\n";
    -		return "`$text`";
    -	}
    -
    -} // end class
    -
    -endif;
    \ No newline at end of file
    diff --git a/includes/slm-api-listener.php b/includes/slm-api-listener.php
    index 21b1129..3e62aa5 100755
    --- a/includes/slm-api-listener.php
    +++ b/includes/slm-api-listener.php
    @@ -50,7 +50,7 @@ function creation_api_listener() {
                     $fields['license_key']  = strip_tags($_REQUEST['license_key']); //Use the key you pass via the request
                 }
                 else{
    -                $fields['license_key']  = strtoupper($lic_key_prefix . hyphenate(md5(uniqid(rand(4,8), true) . time() )));
    +                $fields['license_key']  = slm_get_license($lic_key_prefix);
                 }
     
                 $fields['lic_status']       = isset( $_REQUEST['lic_status'] ) ? wp_unslash( strip_tags( $_REQUEST['lic_status'] ) ) : 'pending';
    @@ -269,17 +269,17 @@ function deactivation_api_listener() {
                         }
                         else if ($delete == 0) {
                             $args = (array(
    -                            'result' => 'error',
    -                            'message' => 'The license key on this domain is already inactive',
    -                            'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE,
    -                            'device' => $reg_devices->registered_devices));
    +                            'result'            => 'error',
    +                            'message'           => 'The license key on this domain is already inactive',
    +                            'error_code'        => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE,
    +                            'registered_domain' => $registered_domain->registered_domain));
                             SLM_API_Utility::output_api_response($args);
                         }
                         else {
                             $args = (array(
    -                            'result' => 'success',
    -                            'error_code' => SLM_Error_Codes::KEY_DEACTIVATE_DOMAIN_SUCCESS,
    -                            'message' => 'The license key has been deactivated for this domain'));
    +                            'result'        => 'success',
    +                            'error_code'    => SLM_Error_Codes::KEY_DEACTIVATE_DOMAIN_SUCCESS,
    +                            'message'       => 'The license key has been deactivated for this domain'));
                             SLM_API_Utility::output_api_response($args);
                         }
                     }
    diff --git a/includes/slm-init-time-tasks.php b/includes/slm-init-time-tasks.php
    index eda1ca7..8cf435a 100755
    --- a/includes/slm-init-time-tasks.php
    +++ b/includes/slm-init-time-tasks.php
    @@ -14,7 +14,7 @@ function load_scripts(){
             if(is_admin()){
                 wp_enqueue_script('jquery-ui-datepicker');
                 wp_enqueue_script('wplm-custom-admin-js', SLM_ASSETS_URL . 'js/wplm-custom-admin.js', array( 'jquery-ui-dialog' ));//admin only custom js code
    -            if (isset($_GET['page']) && $_GET['page'] == 'wp_lic_mgr_addedit') {//Only include if we are in the license add/edit interface
    +            if (isset($_GET['page']) && $_GET['page'] == 'slm_manage_license') {//Only include if we are in the license add/edit interface
                     wp_enqueue_style('jquery-ui-style', SLM_ASSETS_URL .'css/jquery-ui.css');
                 }
             }
    diff --git a/includes/slm-utility.php b/includes/slm-utility.php
    index 1488c64..a42548e 100755
    --- a/includes/slm-utility.php
    +++ b/includes/slm-utility.php
    @@ -55,6 +55,32 @@ static function delete_license_key_by_row_id($key_row_id) {
     
         }
     
    +    static function block_license_key_by_row_id($key_row_id){
    +        global $wpdb;
    +        $license_table = SLM_TBL_LICENSE_KEYS;
    +
    +        //Now, delete the key from the licenses table.
    +        $wpdb->update( $license_table, array('lic_status' => 'blocked'), array('id' => $key_row_id));
    +
    +    }
    +
    +    static function expire_license_key_by_row_id($key_row_id){
    +        global $wpdb;
    +        $license_table = SLM_TBL_LICENSE_KEYS;
    +
    +        //Now, delete the key from the licenses table.
    +        $wpdb->update($license_table, array('lic_status' => 'expired'), array('id' => $key_row_id));
    +    }
    +
    +    static function active_license_key_by_row_id($key_row_id)
    +    {
    +        global $wpdb;
    +        $license_table = SLM_TBL_LICENSE_KEYS;
    +
    +        //Now, delete the key from the licenses table.
    +        $wpdb->update($license_table, array('lic_status' => 'active'), array('id' => $key_row_id));
    +    }
    +
         /*
          * Deletes any registered domains info from the domain table for the given key's row id.
          */
    @@ -71,4 +97,31 @@ static function delete_registered_domains_of_key($key_row_id) {
             }
         }
     
    -}
    \ No newline at end of file
    +    static function create_secret_keys() {
    +        $key = strtoupper(implode('-', str_split(substr(strtolower(md5(microtime() . rand(1000, 9999))), 0, 32), 8)));
    +        return hash('sha256', $key);
    +    }
    +
    +}
    +
    +// Helper Class
    +class SLM_Helper_Class{
    +    public static function slm_get_option($option)
    +    {
    +        $option_name    = '';
    +        $slm_opts       = get_option('slm_plugin_options');
    +        $option_name    = $slm_opts[$option];
    +        return $option_name;
    +    }
    +    public static function write_log($log)
    +    {
    +        if (true === WP_DEBUG) {
    +            if (is_array($log) || is_object($log)) {
    +                error_log(print_r($log, true));
    +            } else {
    +                error_log($log);
    +            }
    +        }
    +    }
    +}
    +$slm_helper = new SLM_Helper_Class();
    \ No newline at end of file
    diff --git a/includes/slm_plugin_core.php b/includes/slm_plugin_core.php
    index 90be5fd..62a0d96 100755
    --- a/includes/slm_plugin_core.php
    +++ b/includes/slm_plugin_core.php
    @@ -8,35 +8,9 @@
      * @link      http://epikly.com
      */
     
    -//Defines
    -global $wpdb, $slm_debug_logger;
    -
    -define('SLM_TBL_LICENSE_KEYS',  $wpdb->prefix . "lic_key_tbl");
    -define('SLM_TBL_LIC_DOMAIN',    $wpdb->prefix . "lic_reg_domain_tbl");
    -define('SLM_TBL_LIC_DEVICES',   $wpdb->prefix . "lic_reg_devices_tbl");
    -define('SLM_MANAGEMENT_PERMISSION', 'manage_options');
    -define('SLM_MAIN_MENU_SLUG', 'slm-main');
    -define('SLM_MENU_ICON', 'dashicons-lock');
    -
    -// Helper Class
    -class SLM_Helper_Class {
    -    public static function slm_get_option($option){
    -        $option_name    = '';
    -        $slm_opts       = get_option('slm_plugin_options');
    -        $option_name    = $slm_opts[$option];
    -        return $option_name;
    -    }
    -    public static function write_log ( $log )  {
    -        if ( true === WP_DEBUG ) {
    -            if ( is_array( $log ) || is_object( $log ) ) {
    -                error_log( print_r( $log, true ) );
    -            } else {
    -                error_log( $log );
    -            }
    -        }
    -    }
    -}
    -$slm_helper = new SLM_Helper_Class();
    +
    +require_once(SLM_LIB . 'slm-utility.php');
    +
     
     add_filter('extra_plugin_headers', 'add_extra_headers');
     add_filter('plugin_row_meta', 'filter_authors_row_meta', 1, 4);
    @@ -58,12 +32,22 @@ function filter_authors_row_meta($plugin_meta, $plugin_file, $plugin_data, $stat
         return $plugin_meta;
     }
     
    +//Includes
    +require_once( SLM_LIB .'slm-debug-logger.php');
    +require_once( SLM_LIB .'slm-error-codes.php');
    +
    +require_once( SLM_LIB .'slm-init-time-tasks.php');
    +require_once( SLM_LIB .'slm-api-utility.php');
    +require_once( SLM_LIB .'slm-api-listener.php');
    +require_once( SLM_LIB .'slm-scripts.php');
    +
     /**
      * The code that runs during plugin activation.
      * This action is documented in includes/class-software-license-manager-activator.php
      */
    -function activate_software_license_manager() {
    -    require_once SLM_LIB . 'class-software-license-manager-activator.php';
    +function activate_software_license_manager()
    +{
    +    require_once SLM_LIB . 'class-slm-activator.php';
         $slm_activator->activate();
     }
     
    @@ -71,22 +55,21 @@ function activate_software_license_manager() {
      * The code that runs during plugin deactivation.
      * This action is documented in includes/class-software-license-manager-deactivator.php
      */
    -function deactivate_software_license_manager() {
    -    require_once SLM_LIB . 'class-software-license-manager-deactivator.php';
    +function deactivate_software_license_manager()
    +{
    +    require_once SLM_LIB . 'class-slm-deactivator.php';
         $slm_deactivator->deactivate();
     }
     
    -register_activation_hook( __FILE__, 'activate_software_license_manager' );
    -register_deactivation_hook( __FILE__, 'deactivate_software_license_manager' );
    +function slm_get_license($lic_key_prefix)
    +{
    +    return strtoupper($lic_key_prefix  . hyphenate(md5(uniqid(rand(4, 8), true) . time())));
    +}
     
    -//Includes
    -require_once( SLM_LIB .'slm-debug-logger.php');
    -require_once( SLM_LIB .'slm-error-codes.php');
    -require_once( SLM_LIB .'slm-utility.php');
    -require_once( SLM_LIB .'slm-init-time-tasks.php');
    -require_once( SLM_LIB .'slm-api-utility.php');
    -require_once( SLM_LIB .'slm-api-listener.php');
    -require_once( SLM_LIB .'slm-scripts.php');
    +register_activation_hook(__FILE__, 'activate_software_license_manager');
    +register_deactivation_hook(__FILE__, 'deactivate_software_license_manager');
    +
    +// require_once SLM_LIB . 'admin-page-framework.php';
     
     // Front end-menu
     // TODO check for optional plugins
    @@ -95,7 +78,7 @@ function deactivate_software_license_manager() {
     if (null !== SLM_Helper_Class::slm_get_option('slm_woo') && SLM_Helper_Class::slm_get_option('slm_woo') == 1) {
         require_once( SLM_PUBLIC . 'slm-add-menu-frontend.php');
         // WordPress Plugin :: wc-software-license-manager
    -    require_once( SLM_ADMIN  . 'includes/woocommerce/wc-software-license-manager.php');
    +    require_once( SLM_WOO  . 'includes/wc-slm.php');
         // support for meta boxes
         require_once( SLM_LIB . 'slm-meta-boxes.php');
         require_once( SLM_LIB . 'slm-wc-order-post-type.php');
    @@ -109,7 +92,7 @@ function deactivate_software_license_manager() {
     //Include admin side only files
     if (is_admin()) {
         require_once( SLM_ADMIN . 'slm-admin-init.php');
    -    require_once( SLM_ADMIN . 'includes/slm-list-table-class.php'); //Load our own WP List Table class
    +    // require_once( SLM_ADMIN . 'includes/slm-list-table-class.php'); //Load our own WP List Table class
     }
     
     //Action hooks
    @@ -118,6 +101,8 @@ function deactivate_software_license_manager() {
     add_action('wp_ajax_del_reistered_devices', 'slm_del_reg_devices');
     add_action('wp_ajax_del_reistered_domain', 'slm_del_reg_dom');
     
    +
    +
     //Initialize debug logger
     $slm_debug_logger   = new SLM_Debug_Logger();
     
    @@ -132,8 +117,8 @@ function slm_plugins_loaded_handler() {
         //Runs when plugins_loaded action gets fired
         if (is_admin()) {
             //Check if db update needed
    -        if (get_option('wp_lic_mgr_db_version') != SLM_DB_VERSION) {
    -             require_once( SLM_LIB . 'class-software-license-manager-slm-installer.php');
    +        if (get_option('slm_db_version') != SLM_DB_VERSION) {
    +             require_once( SLM_LIB . 'class-slm-installer.php');
                 // TODO - $slm_activator->slm_db_install();
             }
         }
    @@ -158,28 +143,14 @@ function slm_del_reg_devices() {
         exit(0);
     }
     
    -/**
    - * The permalink structure definition for API calls.
    - */
    -
    -// WIP
    -//add_action('init', 'slm_add_api_endpoint_rules', 10, 0);
    -
    -function slm_add_api_endpoint_rules() {
    -
    -    add_rewrite_rule( '^license/api/slm_action/check/([^/]*)/?',
    -        'index.php?slm_action=slm_check&secret_key=$matches[1]&license_key=$matches[2]',
    -        'top' );
    -
    -    add_rewrite_rule(
    -        '^license/api/([^/]*)/?',
    -        'index.php?pagename=$matches[1]¶m=foo',
    -        'top'
    -    );
    +function wc_print_pretty($args) {
    +    echo '
    ';
    +    print_r($args);
    +    echo '
    '; +} - // If this was the first time, flush rules - if ( get_option( 'slm_rewrite_rules' ) != SLM_REWRITE_VERSION ) { - flush_rewrite_rules(); - update_option( 'slm_rewrite_rules', SLM_REWRITE_VERSION ); - } +function wc_log($msg) { + $log = ABSPATH . DIRECTORY_SEPARATOR . 'slm_log.txt'; + file_put_contents($log, $msg . ' +', FILE_APPEND); } diff --git a/public/assets/css/slm.css b/public/assets/css/slm.css index a09530b..6856d36 100755 --- a/public/assets/css/slm.css +++ b/public/assets/css/slm.css @@ -1,4 +1,4 @@ -body.license-manager_page_wp_lic_mgr_addedit { +body.slm_page_slm_manage_license { background: #f1f1f1; background-color: #f1f1f1; } @@ -30,9 +30,8 @@ body.license-manager_page_wp_lic_mgr_addedit { } .slm-container #order_data { padding: 24px; - -webkit-box-shadow: 0px 0px 24px -5px rgba(0,0,0,0.38); - -moz-box-shadow: 0px 0px 24px -5px rgba(0,0,0,0.38); - box-shadow: 0px 0px 24px -5px rgba(0,0,0,0.38); + background: #fff;; + box-shadow: 0 1px 1px rgba(0,0,0,.04); } .slm-container h1 { font-size: 32px; @@ -70,7 +69,6 @@ body.license-manager_page_wp_lic_mgr_addedit { border-radius: 12px; width: 16px; height: 16px; - vertical-align: 1px; line-height: 8px; text-align: center; } @@ -115,8 +113,14 @@ cursor: pointer; } .col-half { float: left; - width: 48%; - padding: 5px; + width: 50%; +} +.slm-container .tab-pane { + padding: 16px; + background: #f3faff; + border-radius: 4px; + border: 1px dashed #adf; + margin-top: 16px; } .col-4{ float: left; @@ -137,4 +141,26 @@ cursor: pointer; } .error.stripe-apple-pay-message { display: none; +} + +.save_lic, .wp-core-ui .button.save_lic { + display: inline-block; + font-weight: 400; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: 1px solid transparent; + padding: .375rem .75rem; + font-size: 1rem; + height: auto; + line-height: 1.5; + border-radius: .25rem; + transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; + color: #fff; + background-color: #007bff !important; + border-color: #007bff !important; } \ No newline at end of file diff --git a/public/assets/js/slm.js b/public/assets/js/slm.js index 553fe94..e69de29 100644 --- a/public/assets/js/slm.js +++ b/public/assets/js/slm.js @@ -1,46 +0,0 @@ -jQuery().ready(function() { - //jQuery(".slm_license_form").validate(); - jQuery(".slm_license_form").validate({ - ignore: [], - onsubmit: true, - // onfocusout: true, - invalidHandler: function(event, validator) { - // 'this' refers to the form - var errors = validator.numberOfInvalids(); - if (errors) { - var message = errors == 1 - ? 'You missed 1 field. It has been highlighted' - : 'You missed ' + errors + ' fields. They have been highlighted'; - jQuery("div.error_slm span").html(message); - jQuery("div.error_slm").show(); - } - else { - jQuery("div.error_slm").hide(); - } - }, - errorClass: "invalid", - validClass: "success", - errorContainer: "#error_box", - errorElement: "div", - wrapper: "div", - errorLabelContainer: "#error_box", - rules: { - license_key: "required", - first_name: "required", - last_name: "required", - email: { - required: true, - email: true - } - }, - messages: { - license_key: "Please specify your license key", - first_name: "Please specify your first name", - last_name: "Please specify your last name", - email: { - required: "We need your email address.", - email: "Your email address must be in the format of name@domain.com" - } - } - }); -}); \ No newline at end of file diff --git a/software-license-manager.php b/software-license-manager.php index 8809127..616b5bb 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ prefix . "lic_key_tbl"); +define('SLM_TBL_LIC_DOMAIN', $wpdb->prefix . "lic_reg_domain_tbl"); +define('SLM_TBL_LIC_DEVICES', $wpdb->prefix . "lic_reg_devices_tbl"); +define('SLM_MANAGEMENT_PERMISSION', 'manage_options'); +define('SLM_MAIN_MENU_SLUG', 'slm_overview'); +define('SLM_MENU_ICON', 'dashicons-lock'); \ No newline at end of file diff --git a/uninstall.php b/uninstall.php index 5c88149..866f4c1 100755 --- a/uninstall.php +++ b/uninstall.php @@ -20,7 +20,7 @@ // Delete Options $slm_options = array( - 'wp_lic_mgr_db_version', + 'slm_db_version', 'slm_plugin_options', ); @@ -31,7 +31,7 @@ } // Delete Custom Post Type posts -$wpdb->query( "DELETE FROM {$wpdb->posts} WHERE post_type IN ( 'wp_lic_mgr_addedit' );" ); +$wpdb->query( "DELETE FROM {$wpdb->posts} WHERE post_type IN ( 'slm_manage_license' );" ); $wpdb->query( "DELETE FROM {$wpdb->postmeta} meta LEFT JOIN {$wpdb->posts} posts ON posts.ID = meta.post_id WHERE wp.ID IS NULL;" ); diff --git a/woocommerce/emails/customer-completed-order.php b/woocommerce/emails/customer-completed-order.php index 597ee87..c5d2227 100644 --- a/woocommerce/emails/customer-completed-order.php +++ b/woocommerce/emails/customer-completed-order.php @@ -1,19 +1,4 @@ get_billing_first_name() ) ); ?>

    -

    - +

    - Date: Mon, 13 May 2019 15:52:55 -0400 Subject: [PATCH 048/293] fixed sql warning and updated class name --- public/slm-add-menu-frontend.php | 255 ++++++++++++++++--------------- 1 file changed, 133 insertions(+), 122 deletions(-) diff --git a/public/slm-add-menu-frontend.php b/public/slm-add-menu-frontend.php index fdb7003..4fc4144 100755 --- a/public/slm-add-menu-frontend.php +++ b/public/slm-add-menu-frontend.php @@ -1,197 +1,208 @@ -* @link https://github.com/michelve/software-license-manager -*/ + * @author Michel Velis + * @link https://github.com/michelve/software-license-manager + */ -function getActiveUser($action) { +function getActiveUser($action) +{ $info = ''; $current_user = wp_get_current_user(); if ($action == 'email') { - $info = esc_html( $current_user->user_email); + $info = esc_html($current_user->user_email); } if ($action == 'id') { - $info = esc_html( $current_user->ID ); + $info = esc_html($current_user->ID); } return $info; } -class Epikly_Woo_Account { +class SLM_Woo_Account +{ public static $endpoint = 'my-licenses'; - public function __construct() { + public function __construct() + { // Actions used to insert a new endpoint in the WordPress. - add_action( 'init', array( $this, 'add_endpoints' ) ); - add_filter( 'query_vars', array( $this, 'add_query_vars' ), 0 ); + add_action('init', array($this, 'add_endpoints')); + add_filter('query_vars', array($this, 'add_query_vars'), 0); // Change the My Accout page title. - add_filter( 'the_title', array( $this, 'endpoint_title' ) ); + add_filter('the_title', array($this, 'endpoint_title')); // Insering your new tab/page into the My Account page. - add_filter( 'woocommerce_account_menu_items', array( $this, 'new_menu_items' ) ); - add_action( 'woocommerce_account_' . self::$endpoint . '_endpoint', array( $this, 'endpoint_content' ) ); + add_filter('woocommerce_account_menu_items', array($this, 'new_menu_items')); + add_action('woocommerce_account_' . self::$endpoint . '_endpoint', array($this, 'endpoint_content')); } - public function add_endpoints() { - add_rewrite_endpoint( self::$endpoint, EP_ROOT | EP_PAGES ); + public function add_endpoints() + { + add_rewrite_endpoint(self::$endpoint, EP_ROOT | EP_PAGES); } - public function add_query_vars( $vars ) { + public function add_query_vars($vars) + { $vars[] = self::$endpoint; return $vars; } - public function endpoint_title( $title ) { + public function endpoint_title($title) + { global $wp_query; - $is_endpoint = isset( $wp_query->query_vars[ self::$endpoint ] ); - if ( $is_endpoint && ! is_admin() && is_main_query() && in_the_loop() && is_account_page() ) { + $is_endpoint = isset($wp_query->query_vars[self::$endpoint]); + if ($is_endpoint && !is_admin() && is_main_query() && in_the_loop() && is_account_page()) { // New page title. - $title = __( 'My Licenses', 'woocommerce' ); - remove_filter( 'the_title', array( $this, 'endpoint_title' ) ); + $title = __('My Licenses', 'woocommerce'); + remove_filter('the_title', array($this, 'endpoint_title')); } return $title; } - public function new_menu_items( $items ) { + public function new_menu_items($items) + { // Remove the logout menu item. $logout = $items['customer-logout']; - unset( $items['customer-logout'] ); + unset($items['customer-logout']); // Insert your custom endpoint. - $items[ self::$endpoint ] = __( 'My Licenses', 'woocommerce' ); + $items[self::$endpoint] = __('My Licenses', 'woocommerce'); // Insert back the logout item. $items['customer-logout'] = $logout; return $items; } - public function endpoint_content() { + public function endpoint_content() + { global $wpdb; $class_ = 0; $class_id_ = 0; + // get user email - $wc_billing_email = get_user_meta( get_current_user_id(), 'billing_email', true ); - $result = $wpdb->get_results ( "SELECT * FROM ". $wpdb->prefix."lic_key_tbl WHERE email LIKE '%".getActiveUser('email')."%' OR email LIKE '%".$wc_billing_email."%' ORDER BY `email` DESC LIMIT 0,1000" ); - $result_array = $wpdb->get_results ( "SELECT * FROM ". $wpdb->prefix."lic_key_tbl WHERE email LIKE '%".getActiveUser('email')."%' OR email LIKE '%".$wc_billing_email."%' ORDER BY `email` DESC LIMIT 0,1000", ARRAY_A ); - $get_subscription = $wpdb->get_results ("SELECT * FROM ". $wpdb->prefix."postmeta WHERE meta_value = '273' LIMIT 0,1000", ARRAY_A); + $wc_billing_email = get_user_meta(get_current_user_id(), 'billing_email', true); + $result = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "lic_key_tbl WHERE email LIKE '%" . getActiveUser('email') . "%' OR email LIKE '%" . $wc_billing_email . "%' ORDER BY `email` DESC LIMIT 0,1000"); + + $result_array = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "lic_key_tbl WHERE email LIKE '%" . getActiveUser('email') . "%' OR email LIKE '%" . $wc_billing_email . "%' ORDER BY `email` DESC LIMIT 0,1000", ARRAY_A); + + $get_subscription = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "postmeta WHERE meta_value = '273' LIMIT 0,1000", ARRAY_A); $lic_order_id = array(); - ?> +?> - - - - - - - - - - - - - get_results ("SELECT * FROM ". $wpdb->prefix."postmeta WHERE meta_value = $license_info->purchase_id_ LIMIT 0,1000", ARRAY_A); - ?> - - - - - - - +
    OrderStatusLicense KeyExpirationInfo
    purchase_id_; ?>lic_status; ?>license_key; ?>date_expiry; ?>View Info
    + + + + + + + - - + + get_results("SELECT * FROM " . $wpdb->prefix . "postmeta WHERE `meta_value` = '" . $license_info->purchase_id_ . "' LIMIT 0,1000;", ARRAY_A); + ?> + + + + + + + + + + - - + + -
    OrderStatusLicense KeyExpirationInfo
    -
    - get_results ( "SELECT * FROM ".$wpdb->prefix."lic_reg_domain_tbl WHERE `lic_key` = '".$license_info->license_key."' ORDER BY `lic_key_id` LIMIT 0,1000;", ARRAY_A); - - $detailed_devices_info = $wpdb->get_results ( "SELECT * FROM ".$wpdb->prefix."lic_reg_devices_tbl WHERE `lic_key` = '".$license_info->license_key."' ORDER BY `lic_key_id` LIMIT 0,1000;", ARRAY_A); - ?> - -
    -
    Domain(s)
    -
      - +
    purchase_id_; ?>lic_status; ?>license_key; ?>date_expiry; ?>View Info
    +
    + get_results("SELECT * FROM " . $wpdb->prefix . "lic_reg_domain_tbl WHERE `lic_key` = '" . $license_info->license_key . "' ORDER BY `lic_key_id` LIMIT 0,1000;", ARRAY_A); + + $detailed_devices_info = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "lic_reg_devices_tbl WHERE `lic_key` = '" . $license_info->license_key . "' ORDER BY `lic_key_id` LIMIT 0,1000;", ARRAY_A); + ?> + +
    +
    Domain(s)
    + -
    -
    -
    Device(s)
    -
      - '.$devices_info["registered_devices"].''; - } - else { + ?> +
    +
    +
    +
    Device(s)
    +
      + ' . $devices_info["registered_devices"] . ''; + } else { echo "
    • no data available
    • "; } } - ?> -
    + ?> + +
    +
    - - -
    - +

    My Downloads

    '; - echo do_shortcode('[wpdm_all_packages]'); - } - else { - echo "

    No active subscriptions found. Renew or reactivate your subscription.

    "; - } + echo do_shortcode('[wpdm_all_packages]'); + } + else { + echo "

    No active subscriptions found. Renew or reactivate your subscription.

    "; } } - } +} - /** - * Plugin install action. - * Flush rewrite rules to make our custom endpoint available. - */ - public static function install() { - flush_rewrite_rules(); - } +/** + * Plugin install action. + * Flush rewrite rules to make our custom endpoint available. + */ +public static function install() +{ + flush_rewrite_rules(); +} } -new Epikly_Woo_Account(); +new SLM_Woo_Account(); // Flush rewrite rules on plugin activation. -register_activation_hook( __FILE__, array( 'Epikly_Woo_Account', 'install' ) ); \ No newline at end of file +register_activation_hook(__FILE__, array('SLM_Woo_Account', 'install')); From 6b9ca6bd1b202d9f9e27727cf1030531c22940ea Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Tue, 14 May 2019 18:47:49 -0400 Subject: [PATCH 049/293] #### 4.10.3 - WIP - removed auto update helper - added activation date to license key - deleted unnecessary code and files - renamed some functions to keep consistancy - fixed sql warnings and updated some classes - improved api key and secret key - added screen options to license list table - added new utility classes and functions --- CHANGELOG.md | 13 ++++- README.md | 8 +++ admin/slm-add-licenses.php | 26 ++++++--- admin/slm-list-licenses-class.php | 90 +++++++++++++++---------------- admin/slm-manage-licenses.php | 4 +- includes/class-slm-installer.php | 1 + includes/slm-api-listener.php | 23 +++++--- includes/slm-scripts.php | 26 +++++++-- includes/slm-utility.php | 4 +- public/assets/js/slm-js.js | 22 +++++++- public/assets/js/slm.js | 18 +++++++ public/slm-add-menu-frontend.php | 38 +++++++------ software-license-manager.php | 51 +++++++++--------- 13 files changed, 211 insertions(+), 113 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2de4f5e..4b11843 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,24 @@ # CHANGELOG All notable changes to this project will be documented in this file. +#### 4.10.3 - WIP +- removed auto update helper +- added activation date to license key +- deleted unnecessary code and files +- renamed some functions to keep consistancy +- fixed sql warnings and updated some classes +- improved api key and secret key +- added screen options to license list table +- added new utility classes and functions + + #### 4.9 - Removed hard coded email from woocommerce templates #### 4.8 - Removed hard coded email from woocommerce templates -#### 4.7 - WIP +#### 4.7 - The product quantity of WP eStore product is taken into account when creating a new license key. - Added a new action hook in the listener API (can be used to override the API query). diff --git a/README.md b/README.md index 03d877a..3d3c9cf 100755 --- a/README.md +++ b/README.md @@ -15,6 +15,9 @@ Software license management solution for your web applications (WordPress plugin This plugin is very useful for creating a license server and doing the following via API: +Postman samples: +[Demo and samples:]( https://documenter.getpostman.com/view/307939/6tjU1FL?version=latest). + - Create license keys in your system (license server) - Check the status of a license key from from your application (remotely) - Activate a license key from your application (remotely) @@ -23,7 +26,12 @@ This plugin is very useful for creating a license server and doing the following - Update a license key (remotely) - Check a license key (remotely) - Track where the license key is being used. +- Track activation date - You can also create license keys manually from the admin dashboard of this plugin. +- Bulk actions are now available +- [ ] WIP - Users and admins can export licenses +- [ ] WIP - License activity log, track requests and activations per license +- [ ] WIP - Admin widgets ## Installation 1. Go to the Add New plugins screen in your WordPress admin area diff --git a/admin/slm-add-licenses.php b/admin/slm-add-licenses.php index a8939c0..03d762a 100755 --- a/admin/slm-add-licenses.php +++ b/admin/slm-add-licenses.php @@ -55,6 +55,7 @@ function slm_add_licenses_menu() $purchase_id_ = $record->purchase_id_; $created_date = $record->date_created; $renewed_date = $record->date_renewed; + $activated_date = $record->date_activated; $expiry_date = $record->date_expiry; $product_ref = $record->product_ref; $until = $record->until; @@ -85,6 +86,7 @@ function slm_add_licenses_menu() $purchase_id_ = $_POST['purchase_id_']; $created_date = $_POST['date_created']; $renewed_date = $_POST['date_renewed']; + $activated_date = $_POST['date_activated']; $expiry_date = $_POST['date_expiry']; $product_ref = $_POST['product_ref']; $until = $_POST['until']; @@ -116,6 +118,7 @@ function slm_add_licenses_menu() $fields['purchase_id_'] = $purchase_id_; $fields['date_created'] = $created_date; $fields['date_renewed'] = $renewed_date; + $fields['date_activated'] = $activated_date; $fields['date_expiry'] = $expiry_date; $fields['product_ref'] = $product_ref; $fields['until'] = $until; @@ -238,7 +241,7 @@ function slm_add_licenses_menu() @@ -445,24 +448,31 @@ function slm_add_licenses_menu()
    -
    +
    Creation date of license
    -
    +
    Expiry date of license
    -
    +
    Renewal date of license
    + +
    + + + Activation date +
    +
    @@ -513,9 +523,9 @@ function slm_add_licenses_menu() -
    +
    -
    +
    ' . $response . '
    '; + echo '
    ' . $response . '
    '; ?> - + Export License
    diff --git a/admin/slm-list-licenses-class.php b/admin/slm-list-licenses-class.php index 29cfa19..fb94f87 100755 --- a/admin/slm-list-licenses-class.php +++ b/admin/slm-list-licenses-class.php @@ -4,7 +4,7 @@ require_once(ABSPATH . 'wp-admin/includes/class-wp-list-table.php'); } -class SLM_List_Licenses extends WP_List_Table{ +class SLM_List_Licenses extends WP_List_Table { function __construct() { @@ -18,36 +18,42 @@ function __construct() )); } - // TODO - // protected function get_views() - // { - // $status_links = array( - // "all" => __("All", 'slm'), - // "pending" => __("Pending", 'slm'), - // "active" => __("Active", 'slm'), - // "expired" => __("Expired", 'slm'), - // ); - // return $status_links; - // } - public function no_items() { _e('No licenses avaliable.', 'slm'); } + function get_columns() + { + $columns = array( + 'cb' => '', //Render a checkbox + 'id' => 'ID', + 'license_key' => 'Key', + 'lic_status' => 'Status', + 'email' => 'Email', + 'max_allowed_domains' => 'Domains', + 'max_allowed_devices' => 'Devices', + 'purchase_id_' => 'Purchase #', + 'date_created' => 'Created on', + 'date_renewed' => 'Date Renewed', + 'date_activated' => 'Date activated', + 'date_expiry' => 'Expiration', + 'until' => 'Until Ver.', + ); + return $columns; + } + function column_default($item, $column_name) { return $item[$column_name]; } - function column_id($item) { $row_id = $item['id']; $actions = array( 'edit' => sprintf('Edit', $row_id), - // 'delete' => sprintf('Delete', $row_id), - // 'block_license' => sprintf( 'Block', $row_id), + 'delete' => sprintf('Delete', $row_id), ); return sprintf( ' %1$s %2$s', @@ -59,16 +65,7 @@ function column_id($item) } - function column_cb($item) - { - return sprintf( - '', - /*$1%s*/ - $this->_args['singular'], //Let's simply repurpose the table's singular label - /*$2%s*/ - $item['id'] //The value of the checkbox should be the record's id - ); - } + function column_active($item) { @@ -80,23 +77,18 @@ function column_active($item) } - function get_columns() + + + function column_cb($item) { - $columns = array( - 'cb' => '', //Render a checkbox - 'id' => 'ID', - 'license_key' => 'Key', - 'lic_status' => 'Status', - 'email' => 'Email', - 'max_allowed_domains' => 'Domains', - 'max_allowed_devices' => 'Devices', - 'purchase_id_' => 'Purchase #', - 'date_created' => 'Created pn', - // 'date_renewed' => 'Date Renewed', - 'date_expiry' => 'Expiration', - 'until' => 'Until Ver.', + + return sprintf( + '', + /*$1%s*/ + $this->_args['singular'], //Let's simply repurpose the table's singular label + /*$2%s*/ + $item['id'] //The value of the checkbox should be the record's id ); - return $columns; } @@ -111,6 +103,7 @@ function get_sortable_columns() // 'email' => array('email', false), // 'date_created' => array('date_created', false), // 'date_renewed' => array('date_renewed', false), + // 'date_activated' => array('date_activated', false), // 'date_expiry' => array('date_expiry', false), // ); $sortable_columns = array( @@ -178,9 +171,9 @@ function process_bulk_action() return; } else { $nvp_key = $this->_args['singular']; - $licenses_to_block = $_GET[$nvp_key]; + $licenses_to_expire = $_GET[$nvp_key]; - foreach ($licenses_to_block as $row) { + foreach ($licenses_to_expire as $row) { SLM_Utility::expire_license_key_by_row_id($row); } @@ -193,11 +186,14 @@ function process_bulk_action() $error_msg = '

    ' . __('Error - Please select some records using the checkboxes', 'slm') . '

    '; echo '
    ' . $error_msg . '
    '; return; - } else { - $nvp_key = $this->_args['singular']; - $licenses_to_block = $_GET[$nvp_key]; + } + else { + $nvp_key = $this->_args['singular']; + $liceses_to_activate = $_GET[$nvp_key]; - foreach ($licenses_to_block as $row) { + // var_dump( $liceses_to_activate); + + foreach ($liceses_to_activate as $row) { SLM_Utility::active_license_key_by_row_id($row); } diff --git a/admin/slm-manage-licenses.php b/admin/slm-manage-licenses.php index 77d4430..514268c 100755 --- a/admin/slm-manage-licenses.php +++ b/admin/slm-manage-licenses.php @@ -24,8 +24,8 @@ function slm_manage_licenses_menu()
    -
    - + + prepare_items(); $license_list->search_box(__('Search'), 'search-box-id'); diff --git a/includes/class-slm-installer.php b/includes/class-slm-installer.php index ad82d15..00b62c0 100755 --- a/includes/class-slm-installer.php +++ b/includes/class-slm-installer.php @@ -41,6 +41,7 @@ manual_reset_count varchar(128) NOT NULL default '', purchase_id_ varchar(255) NOT NULL default '', date_created date NOT NULL DEFAULT '0000-00-00', + date_activated date NOT NULL DEFAULT '0000-00-00', date_renewed date NOT NULL DEFAULT '0000-00-00', date_expiry date NOT NULL DEFAULT '0000-00-00', product_ref varchar(255) NOT NULL default '', diff --git a/includes/slm-api-listener.php b/includes/slm-api-listener.php index 3e62aa5..9ec07c9 100755 --- a/includes/slm-api-listener.php +++ b/includes/slm-api-listener.php @@ -135,7 +135,7 @@ function activation_api_listener() { $fields['item_reference'] = trim(strip_tags($_REQUEST['item_reference'])); $slm_debug_logger->log_debug("License key: " . $fields['lic_key'] . " Domain: " . $fields['registered_domain']); - $slm_debug_logger->log_debug("License key: " . $fields['lic_key'] . " Device: " . $fields['registered_devices']); + $slm_debug_logger->log_debug("License key: " . $fields['lic_key'] . " Device: " . $fields['registered_devices']); global $wpdb; $tbl_name = SLM_TBL_LICENSE_KEYS; @@ -181,7 +181,9 @@ function activation_api_listener() { $fields['lic_key_id'] = $retLic->id; $wpdb->insert($reg_table, $fields); $slm_debug_logger->log_debug("Updating license key status to active for domain."); - $data = array('lic_status' => 'active'); + + $current_date = date('Y/m/d'); + $data = array('lic_status' => 'active', 'date_activated' => ''.$current_date.''); $where = array('id' => $retLic->id); $updated = $wpdb->update($tbl_name, $data, $where); @@ -213,7 +215,9 @@ function activation_api_listener() { $wpdb->insert($reg_table_devices, $fields); $slm_debug_logger->log_debug("Updating license key status to active for device."); - $data = array('lic_status' => 'active'); + $current_date = date('Y/m/d'); + $data = array('lic_status' => 'active', 'date_activated' => '' . $current_date . ''); + // $data = array('lic_status' => 'active'); $where = array('id' => $retLic->id); $updated = $wpdb->update($tbl_name, $data, $where); @@ -340,16 +344,22 @@ function removal_api_listener(){ // TODO: cleanup devices and domain table if ( $sql_query ) { - $args = (array('result' => 'success', 'code' => SLM_Error_Codes::KEY_CANCELED, 'message' => 'License key removed', 'key' => $key, 'found_in' => $tbl_name )); + $args = (array( + 'result' => 'success', + 'code' => SLM_Error_Codes:: KEY_DELETE_SUCCESS, + 'message' => 'License key removed', + 'key' => $key + // 'found_in' => $tbl_name + )); SLM_API_Utility::output_api_response($args); } else { - $args = (array('result' => 'error', 'code' => SLM_Error_Codes::KEY_CANCELED_FAILED, 'message' => 'License key was not removed', 'key' => $key, 'reason' => 'not found' )); + $args = (array('result' => 'error', 'code' => SLM_Error_Codes:: KEY_DELETE_FAILED, 'message' => 'License key ('. $key .') was not removed', 'key' => $key, 'reason' => 'not found' )); SLM_API_Utility::output_api_response($args); } } else { - $args = (array('result' => 'error', 'message' => 'License key not found.', 'error_code' => SLM_Error_Codes::KEY_CANCELED_FAILED)); + $args = (array('result' => 'error', 'message' => 'License key not found.', 'error_code' => SLM_Error_Codes:: KEY_DELETE_FAILED)); SLM_API_Utility::output_api_response($args); } } @@ -475,7 +485,6 @@ function update_api_listener() { 'message' => 'License update failed. No license key provided', 'error_code' => SLM_Error_Codes::MISSING_KEY_UPDATE_FAILED ) ); - SLM_API_Utility::output_api_response( $args ); } diff --git a/includes/slm-scripts.php b/includes/slm-scripts.php index ee24015..f081d07 100644 --- a/includes/slm-scripts.php +++ b/includes/slm-scripts.php @@ -6,20 +6,38 @@ function slm_admin_assets() { wp_enqueue_script('slm_validate', 'https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.0/jquery.validate.js', array('jquery'), '1.19.0', true); wp_enqueue_script('slm_validate_js', SLM_ASSETS_URL .'js/slm.js', array('jquery'), '1.0.1', true ); } -add_action('admin_enqueue_scripts', 'slm_admin_assets'); - // load frontend styles +function slm_js_license(){ + wp_enqueue_script('slm_js', SLM_ASSETS_URL . 'js/slm-js.js', array('jquery'), '1.0.1', true); +} + function slm_frontend_assets() { - // cdn - if ( class_exists( 'WooCommerce' ) ) { + /** + * Check if WooCommerce is activated + */ + if (!function_exists('is_woocommerce_activated')) { wp_enqueue_style('bootstrapcdn-slm', 'https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css'); wp_enqueue_script( 'bootstrapcdn-slm-js', 'https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js', array('jquery'), '4.1.3', true ); } // custom css wp_enqueue_style('slm', SLM_ASSETS_URL .'css/slm-front-end.css'); } + add_action('wp_enqueue_scripts', 'slm_frontend_assets'); +add_action('admin_enqueue_scripts', 'slm_admin_assets'); + +/** + * Check if WooCommerce is activated + */ +if (!function_exists('is_woocommerce_activated')) { + add_action('template_redirect', 'slm_get_page'); +} +function slm_get_page(){ + if (is_page('my-account')) { + add_action('wp_enqueue_scripts', 'slm_js_license'); + } +} diff --git a/includes/slm-utility.php b/includes/slm-utility.php index a42548e..c2cd30a 100755 --- a/includes/slm-utility.php +++ b/includes/slm-utility.php @@ -76,9 +76,11 @@ static function active_license_key_by_row_id($key_row_id) { global $wpdb; $license_table = SLM_TBL_LICENSE_KEYS; + $current_date = date('Y/m/d'); + // 'lic_status' => ''. $current_date.'' - //Now, delete the key from the licenses table. $wpdb->update($license_table, array('lic_status' => 'active'), array('id' => $key_row_id)); + $wpdb->update($license_table, array('date_activated' => '' . $current_date . ''), array('id' => $key_row_id)); } /* diff --git a/public/assets/js/slm-js.js b/public/assets/js/slm-js.js index 7cb66de..8147722 100644 --- a/public/assets/js/slm-js.js +++ b/public/assets/js/slm-js.js @@ -2,4 +2,24 @@ jQuery(document).ready(function($) { $('#slm_licenses_table .collapse').on('show.bs.collapse', function () { $('#slm_licenses_table .collapse.in').collapse('hide'); }); -}); \ No newline at end of file +}); + +function download(filename, text) { + var element = document.createElement('a'); + element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)); + element.setAttribute('download', filename); + element.style.display = 'none'; + document.body.appendChild(element); + element.click(); + document.body.removeChild(element); +} + +// Start file download. +document.getElementById("export-lic-key").addEventListener("click", function () { + // Generate download of hello.txt file with some content + var license_data = this.getAttribute('data-licdata'); + var text = license_data; + var filename = "license.json"; + download(filename, text); +}, false); + diff --git a/public/assets/js/slm.js b/public/assets/js/slm.js index e69de29..af58546 100644 --- a/public/assets/js/slm.js +++ b/public/assets/js/slm.js @@ -0,0 +1,18 @@ +function download(filename, text) { + var element = document.createElement('a'); + element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)); + element.setAttribute('download', filename); + element.style.display = 'none'; + document.body.appendChild(element); + element.click(); + document.body.removeChild(element); +} + +document.getElementById("btn-lic-export").addEventListener("click", function () { + // Generate download of hello.txt file with some content + var license_data = document.getElementById("lic-json-data").textContent; + var text = license_data; + var filename = "license.json"; + + download(filename, text); +}, false); \ No newline at end of file diff --git a/public/slm-add-menu-frontend.php b/public/slm-add-menu-frontend.php index 4fc4144..dabcd7c 100755 --- a/public/slm-add-menu-frontend.php +++ b/public/slm-add-menu-frontend.php @@ -29,7 +29,7 @@ public function __construct() // Change the My Accout page title. add_filter('the_title', array($this, 'endpoint_title')); // Insering your new tab/page into the My Account page. - add_filter('woocommerce_account_menu_items', array($this, 'new_menu_items')); + add_filter('woocommerce_account_menu_items', array($this, 'slm_woo_menu_list')); add_action('woocommerce_account_' . self::$endpoint . '_endpoint', array($this, 'endpoint_content')); } @@ -56,13 +56,15 @@ public function endpoint_title($title) return $title; } - public function new_menu_items($items) + public function slm_woo_menu_list($items) { // Remove the logout menu item. $logout = $items['customer-logout']; unset($items['customer-logout']); + // Insert your custom endpoint. $items[self::$endpoint] = __('My Licenses', 'woocommerce'); + // Insert back the logout item. $items['customer-logout'] = $logout; return $items; @@ -83,7 +85,7 @@ public function endpoint_content() $get_subscription = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "postmeta WHERE meta_value = '273' LIMIT 0,1000", ARRAY_A); $lic_order_id = array(); -?> + ?> @@ -97,13 +99,13 @@ public function endpoint_content() get_results("SELECT * FROM " . $wpdb->prefix . "postmeta WHERE `meta_value` = '" . $license_info->purchase_id_ . "' LIMIT 0,1000;", ARRAY_A); + $get_subscription = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "postmeta WHERE `meta_value` = '" . $license_info->purchase_id_ . "' LIMIT 0,1000;", ARRAY_A); ?> @@ -117,10 +119,13 @@ public function endpoint_content() diff --git a/software-license-manager.php b/software-license-manager.php index f11c530..4b3e21c 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -2,7 +2,7 @@ /* Plugin Name: Software License Manager -Version: 4.11.2 +Version: 4.12.1 Plugin URI: https://github.com/michelve/software-license-manager/ Author: Michel Velis Author URI: https://www.epikly.com/ @@ -19,24 +19,22 @@ global $wpdb, $slm_debug_logger; //Short name/slug "SLM" or "slm" -define('SLM_VERSION', '4.11.2'); -define('SLM_DB_VERSION', '2.7.6'); -define('SLM_REWRITE_VERSION', '1.1.2'); -define('WOO_SLM_VER', SLM_VERSION); -define('WOO_SLM_API_URL', get_site_url().'/'); +define('SLM_VERSION', '4.12.1'); +define('SLM_DB_VERSION', '2.9.1'); +define('SLM_REWRITE_VERSION', '1.1.4'); define('SLM_FOLDER', dirname(plugin_basename(__FILE__))); define('SLM_URL', plugins_url('' ,__FILE__)); -define('SLM_ASSETS_URL', plugins_url('' ,__FILE__) . '/public/assets/'); +define('SLM_ASSETS_URL', SLM_URL . '/public/assets/'); define('SLM_PATH', plugin_dir_path(__FILE__)); -define('SLM_LIB', SLM_PATH . 'includes/'); -define('SLM_WOO', SLM_PATH . 'woocommerce/'); -define('SLM_ADMIN', SLM_PATH . 'admin/'); -define('SLM_ADMIN_ADDONS', SLM_PATH . 'admin/includes/'); -define('SLM_CRONS', SLM_PATH . 'admin/includes/cronjobs/'); -define('SLM_PUBLIC', SLM_PATH . 'public/'); -define('SLM_TEAMPLATES', SLM_PATH . 'templates/'); +define('SLM_LIB', SLM_PATH . 'includes/'); +define('SLM_WOO', SLM_PATH . 'woocommerce/'); +define('SLM_ADMIN', SLM_PATH . 'admin/'); +define('SLM_ADMIN_ADDONS', SLM_ADMIN . 'includes/'); +define('SLM_CRONS', SLM_ADMIN_ADDONS . 'cronjobs/'); +define('SLM_PUBLIC', SLM_PATH . 'public/'); +define('SLM_TEAMPLATES', SLM_PATH . 'templates/'); define('SLM_SITE_HOME_URL', home_url()); -define('SLM_SITE_URL', site_url()); +define('SLM_SITE_URL', get_site_url() . '/'); define('SLM_TBL_LICENSE_KEYS', $wpdb->prefix . "lic_key_tbl"); define('SLM_TBL_LIC_DOMAIN', $wpdb->prefix . "lic_reg_domain_tbl"); define('SLM_TBL_LIC_DEVICES', $wpdb->prefix . "lic_reg_devices_tbl"); diff --git a/woocommerce/includes/class.php b/woocommerce/includes/class.php index fb9b1fd..fcecfb7 100644 --- a/woocommerce/includes/class.php +++ b/woocommerce/includes/class.php @@ -57,3 +57,17 @@ function slm_get_processing_notification_content( $order, $heading = false, $mai } +if (null !== SLM_Helper_Class::slm_get_option('slm_woo_downloads') && SLM_Helper_Class::slm_get_option('slm_woo_downloads') == 1) { + // disable downloads + function slm_woo_remove_downlaods($items) + { + unset($items['downloads']); + return $items; + } + function slm_remove_order_downloads_from_emails($emails) + { + remove_action('woocommerce_email_order_details', array($emails, 'order_downloads'), 10); + } + add_action('woocommerce_email', 'slm_remove_order_downloads_from_emails', 10, 1); + add_filter('woocommerce_account_menu_items', 'slm_woo_remove_downlaods'); +} diff --git a/woocommerce/includes/purchase.php b/woocommerce/includes/purchase.php index e1e68c6..b27ea10 100755 --- a/woocommerce/includes/purchase.php +++ b/woocommerce/includes/purchase.php @@ -26,7 +26,7 @@ function wc_slm_on_complete_purchase($order_id) { //SLM_Helper_Class::write_log('loading wc_slm_on_complete_purchase'); - if (WOO_SLM_API_URL != '' && WOO_SLM_API_SECRET != '') { + if ( SLM_SITE_URL != '' && WOO_SLM_API_SECRET != '') { wc_slm_create_license_keys($order_id); } } @@ -35,8 +35,9 @@ function wc_slm_create_license_keys($order_id) { // SLM_Helper_Class::write_log('loading wc_slm_create_license_keys'); - $order_id = wc_get_order($order_id); - $purchase_id_ = $order_id->get_id(); + $order_id = wc_get_order($order_id); + $purchase_id_ = $order_id->get_id(); + $variations_items_ = $order_id->get_items(); // SLM_Helper_Class::write_log('purchase_id_ -- '.$purchase_id_ ); // SLM_Helper_Class::write_log('purchase_id_ -- '.$user_id ); @@ -57,132 +58,125 @@ function wc_slm_create_license_keys($order_id) { $licenses = array(); $items = $order_id->get_items(); - //SLM_Helper_Class::write_log($items); - foreach ($items as $item => $values) { $download_id = $product_id = $values['product_id']; $product = new WC_Product($product_id); - // $variation_id = new WC_Product_Variation($product_id); - - //if ($product->is_downloadable('yes')) { - - $download_quantity = absint($values['qty']); - for ($i = 1; $i <= $download_quantity; $i++) { - /** - * Calculate Expire date - * @since 1.0.3 - */ - $renewal_period = (int) wc_slm_get_licensing_renewal_period($product_id); - - if ($renewal_period == 0) { - $renewal_period = '0000-00-00'; - } - else { - $renewal_period = date('Y-m-d', strtotime('+' . $renewal_period . ' years')); - } - - //SLM_Helper_Class::write_log('renewal_period -- '.$renewal_period ); - - - // Sites allowed get license meta from variation - $sites_allowed = wc_slm_get_sites_allowed($product_id); - $devices_allowed = wc_slm_get_devices_allowed($product_id); - $amount_of_licenses = wc_slm_get_licenses_qty($product_id); - - if (!$sites_allowed) { - $sites_allowed_error = __('License could not be created: Invalid sites allowed number.', 'wc-slm'); - $int = wc_insert_payment_note($purchase_id_, $sites_allowed_error); - break; - } - - // Get an instance of the WC_Order object (same as before) - $order = new WC_Order( $order_id ); - - // Get the order ID - $order_id = $order->get_id(); - - // Get the custumer ID - // $user_id = $order->get_user_id(); - $order_data = $order->get_data(); // The Order data - - // Iterating through each WC_Order_Item objects - foreach( $order-> get_items() as $item_key => $item_values ){ - - ## Using WC_Order_Item methods ## - $item_id = $item_values->get_id(); - $item_name = $item_values->get_name(); - $item_type = $item_values->get_type(); - - ## Access Order Items data properties (in an array of values) ## - $item_data = $item_values->get_data(); - $product_name = $item_data['name']; - $product_id = $item_data['product_id']; - // $variation_id = $item_data['variation_id']; - $quantity = $item_data['quantity']; - $tax_class = $item_data['tax_class']; - $line_subtotal = $item_data['subtotal']; - $line_subtotal_tax = $item_data['subtotal_tax']; - $line_total = $item_data['total']; - $line_total_tax = $item_data['total_tax']; - // $post_object = get_post($variation_id); - - $amount_of_licenses = wc_slm_get_sites_allowed($product_id); - $_license_current_version = get_post_meta( $product_id, '_license_current_version', true ); - $amount_of_licenses_devices = wc_slm_get_devices_allowed($product_id); - $current_version = (int)get_post_meta( $product_id, '_license_current_version', true); - $license_type = get_post_meta( $product_id, '_license_type', true ); - } - - // Transaction id - $transaction_id = wc_get_payment_transaction_id($product_id); - - // Build item name - $item_name = $product->get_title(); - - // Build parameters - $api_params = array(); - $api_params['slm_action'] = 'slm_create_new'; - $api_params['secret_key'] = KEY_API; - $api_params['first_name'] = (isset($payment_meta['user_info']['first_name'])) ? $payment_meta['user_info']['first_name'] : ''; - $api_params['last_name'] = (isset($payment_meta['user_info']['last_name'])) ? $payment_meta['user_info']['last_name'] : ''; - $api_params['email'] = (isset($payment_meta['user_info']['email'])) ? $payment_meta['user_info']['email'] : ''; - $api_params['company_name'] = $payment_meta['user_info']['company']; - $api_params['purchase_id_'] = $purchase_id_; - $api_params['product_ref'] = $product_id; // TODO: get product id - $api_params['txn_id'] = $purchase_id_; - $api_params['max_allowed_domains'] = $amount_of_licenses; - $api_params['max_allowed_devices'] = $amount_of_licenses_devices; - $api_params['date_created'] = date('Y-m-d'); - $api_params['date_expiry'] = $renewal_period; - $api_params['until'] = $_license_current_version; - $api_params['subscr_id'] = $order->get_customer_id(); - $api_params['lic_type'] = $license_type; - - //access_expires - - //SLM_Helper_Class::write_log('license_type -- ' . $license_type ); - - // Send query to the license manager server - $url = 'http://' . WOO_SLM_API_URL . '?' . http_build_query($api_params); - $url = str_replace(array('http://', 'https://'), '', $url); - $url = 'http://' . $url; - $response = wp_remote_get($url, array('timeout' => 20, 'sslverify' => false)); - $license_key = wc_slm_get_license_key($response); - - // Collect license keys - if ($license_key) { - $licenses[] = array( - 'item' => $item_name, - 'key' => $license_key, - 'expires' => $renewal_period, - 'type' => $license_type, - 'status' => 'pending', - 'version' => $_license_current_version - ); - } + + $download_quantity = absint($values['qty']); + for ($i = 1; $i <= $download_quantity; $i++) { + /** + * Calculate Expire date + * @since 1.0.3 + */ + $renewal_period = (int) wc_slm_get_licensing_renewal_period($product_id); + + if ($renewal_period == 0) { + $renewal_period = '0000-00-00'; + } + else { + $renewal_period = date('Y-m-d', strtotime('+' . $renewal_period . ' years')); + } + //SLM_Helper_Class::write_log('renewal_period -- '.$renewal_period ); + + // Sites allowed get license meta from variation + $sites_allowed = wc_slm_get_sites_allowed($product_id); + $devices_allowed = wc_slm_get_devices_allowed($product_id); + $amount_of_licenses = wc_slm_get_licenses_qty($product_id); + + if (!$sites_allowed) { + $sites_allowed_error = __('License could not be created: Invalid sites allowed number.', 'slm'); + $int = wc_insert_payment_note($purchase_id_, $sites_allowed_error); + break; } - // } + + // Get an instance of the WC_Order object (same as before) + $order = new WC_Order( $order_id ); + + // Get the order ID + $order_id = $order->get_id(); + + // Get the custumer ID + // $user_id = $order->get_user_id(); + $order_data = $order->get_data(); // The Order data + + // Iterating through each WC_Order_Item objects + foreach( $order-> get_items() as $item_key => $item_values ){ + + ## Using WC_Order_Item methods ## + $item_id = $item_values->get_id(); + $item_name = $item_values->get_name(); + $item_type = $item_values->get_type(); + + ## Access Order Items data properties (in an array of values) ## + $item_data = $item_values->get_data(); + $product_name = $item_data['name']; + $product_id = $item_data['product_id']; + // $variation_id = $item_data['variation_id']; + // $quantity = $item_data['quantity']; + // $tax_class = $item_data['tax_class']; + // $line_subtotal = $item_data['subtotal']; + // $line_subtotal_tax = $item_data['subtotal_tax']; + // $line_total = $item_data['total']; + // $line_total_tax = $item_data['total_tax']; + // $post_object = get_post($variation_id); + + $amount_of_licenses = wc_slm_get_sites_allowed($product_id); + $_license_current_version = get_post_meta( $product_id, '_license_current_version', true ); + $_license_until_version = get_post_meta($product_id, '_license_until_version', true); + $amount_of_licenses_devices = wc_slm_get_devices_allowed($product_id); + $current_version = (int)get_post_meta( $product_id, '_license_current_version', true); + $license_type = get_post_meta( $product_id, '_license_type', true ); + } + + // Transaction id + $transaction_id = wc_get_payment_transaction_id($product_id); + + // Build item name + $item_name = $product->get_title(); + + // Build parameters + $api_params = array(); + $api_params['slm_action'] = 'slm_create_new'; + $api_params['secret_key'] = KEY_API; + $api_params['first_name'] = (isset($payment_meta['user_info']['first_name'])) ? $payment_meta['user_info']['first_name'] : ''; + $api_params['last_name'] = (isset($payment_meta['user_info']['last_name'])) ? $payment_meta['user_info']['last_name'] : ''; + $api_params['email'] = (isset($payment_meta['user_info']['email'])) ? $payment_meta['user_info']['email'] : ''; + $api_params['company_name'] = $payment_meta['user_info']['company']; + $api_params['purchase_id_'] = $purchase_id_; + $api_params['product_ref'] = $product_id; // TODO: get product id + $api_params['txn_id'] = $purchase_id_; + $api_params['max_allowed_domains'] = $amount_of_licenses; + $api_params['max_allowed_devices'] = $amount_of_licenses_devices; + $api_params['date_created'] = date('Y-m-d'); + $api_params['date_expiry'] = $renewal_period; + $api_params['until'] = $_license_until_version; + $api_params['current_ver'] = $_license_current_version; + $api_params['subscr_id'] = $order->get_customer_id(); + $api_params['lic_type'] = $license_type; + + //access_expires + //SLM_Helper_Class::write_log('license_type -- ' . $license_type ); + // Send query to the license manager server + $url = 'http://' . WOO_SLM_API_URL . '?' . http_build_query($api_params); + $url = str_replace(array('http://', 'https://'), '', $url); + $url = 'http://' . $url; + $response = wp_remote_get($url, array('timeout' => 20, 'sslverify' => false)); + $license_key = wc_slm_get_license_key($response); + + // Collect license keys + if ($license_key) { + $licenses[] = array( + 'item' => $item_name, + 'key' => $license_key, + 'expires' => $renewal_period, + 'type' => $license_type, + 'status' => 'pending', + 'version' => $_license_current_version, + 'until' => $_license_until_version + ); + } + } } // Payment note @@ -227,6 +221,7 @@ function wc_slm_payment_note($order_id, $licenses) { add_post_meta($order_id, 'slm_wc_license_type', $license[ 'type']); add_post_meta($order_id, 'slm_wc_license_status', $license['status']); add_post_meta($order_id, 'slm_wc_license_version', $license[ 'version']); + add_post_meta($order_id, 'slm_wc_until_version', $license['until']); //SLM_Helper_Class::write_log($license_key); } @@ -332,7 +327,7 @@ function slm_order_completed( $order_id ) { $order_billing_email = $order_data['billing']['email']; $billing_address = $order_billing_email; - $message = 'ddd00'; + $message = 'error: 000 null'; $get_user_meta = get_user_meta($user_id); @@ -364,22 +359,7 @@ function slm_show_msg( $order_id ) { //var_dump(get_post_meta($product_id)); if ($amount_of_licenses) { - echo '
    -

    My subscriptions

    -
    get_results("SELECT * FROM " . $wpdb->prefix . "lic_reg_domain_tbl WHERE `lic_key` = '" . $license_info->license_key . "' ORDER BY `lic_key_id` LIMIT 0,1000;", ARRAY_A); + global $wpdb; + + $detailed_license_info = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "lic_key_tbl WHERE `license_key` = '" . $license_info->license_key . "' ORDER BY `id` LIMIT 0,1000;", ARRAY_A); + + $detailed_domain_info = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "lic_reg_domain_tbl WHERE `lic_key` = '" . $license_info->license_key . "' ORDER BY `lic_key_id` LIMIT 0,1000;", ARRAY_A); - $detailed_devices_info = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "lic_reg_devices_tbl WHERE `lic_key` = '" . $license_info->license_key . "' ORDER BY `lic_key_id` LIMIT 0,1000;", ARRAY_A); + $detailed_devices_info = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "lic_reg_devices_tbl WHERE `lic_key` = '" . $license_info->license_key . "' ORDER BY `lic_key_id` LIMIT 0,1000;", ARRAY_A); ?>
    @@ -137,7 +142,14 @@ public function endpoint_content() echo "
  • no data available
  • "; } } + $out = array_values($detailed_license_info); + $license_key_json_data = json_encode($out); + ?> + +
    + +
    @@ -173,17 +185,11 @@ public function endpoint_content() if (null !== SLM_Helper_Class::slm_get_option('slm_dl_manager') && SLM_Helper_Class::slm_get_option('slm_dl_manager') == 1) { - //print_r($licenses_status_array); // check if Download Manager is active if (function_exists('add_wdm_settings_tab')) { - if (in_array("pending", $licenses_status_array) || in_array("active", $licenses_status_array)) { - echo ' -
    -
    -

    My Downloads

    -
    '; + echo '

    My Downloads

    '; echo do_shortcode('[wpdm_all_packages]'); } else { diff --git a/software-license-manager.php b/software-license-manager.php index 616b5bb..f57e50f 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ prefix . "lic_key_tbl"); +define('SLM_TBL_LIC_DOMAIN', $wpdb->prefix . "lic_reg_domain_tbl"); +define('SLM_TBL_LIC_DEVICES', $wpdb->prefix . "lic_reg_devices_tbl"); +define('SLM_MANAGEMENT_PERMISSION', 'manage_options'); +define('SLM_MAIN_MENU_SLUG', 'slm_overview'); +define('SLM_MENU_ICON', 'dashicons-lock'); if( file_exists( SLM_LIB . 'slm_plugin_core.php') ) { - require_once( SLM_LIB . 'slm_plugin_core.php'); + require_once SLM_LIB . 'slm_plugin_core.php'; } define('WOO_SLM_API_SECRET', SLM_Helper_Class::slm_get_option('lic_creation_secret')); define('KEY_API', SLM_Helper_Class::slm_get_option('lic_creation_secret')); define('KEY_API_PREFIX', SLM_Helper_Class::slm_get_option('lic_prefix')); - -define('SLM_TBL_LICENSE_KEYS', $wpdb->prefix . "lic_key_tbl"); -define('SLM_TBL_LIC_DOMAIN', $wpdb->prefix . "lic_reg_domain_tbl"); -define('SLM_TBL_LIC_DEVICES', $wpdb->prefix . "lic_reg_devices_tbl"); -define('SLM_MANAGEMENT_PERMISSION', 'manage_options'); -define('SLM_MAIN_MENU_SLUG', 'slm_overview'); -define('SLM_MENU_ICON', 'dashicons-lock'); \ No newline at end of file From 27fe73fe555c4a9b5b3044042be7c8b66cd0f2bd Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Wed, 12 Jun 2019 10:09:54 -0400 Subject: [PATCH 050/293] upgraded jQuery ui version fixed minor links giving 404 from jquery ui library added: activity log for licenses api added: woocommerce order details with license, status, and license type added: subscribers, now you can manage licenses by subscribers added: screen options added: filter by tags inside the license table added: admin stats dashboard fixed: minor depreciation errors bugs: fixed another minor errors and bugs --- CHANGELOG.md | 274 ++-- README.md | 1 + admin/includes/cronjobs/slm-tasks.php | 28 + admin/includes/slm-list-table-class.php | 0 admin/slm-add-licenses.php | 612 ++++---- admin/slm-admin-functions.php | 15 +- admin/slm-admin-init.php | 22 +- admin/slm-dashboard-widgets.php | 80 ++ admin/slm-integration-help-page.php | 79 +- admin/slm-lic-settings.php | 5 + admin/slm-list-licenses-class.php | 120 +- admin/slm-manage-licenses.php | 28 +- admin/slm-subscribers.php | 228 +++ includes/class-slm-activator.php | 4 +- includes/class-slm-deactivator.php | 4 +- includes/class-slm-installer.php | 13 + includes/slm-api-listener.php | 349 ++--- ...lm_plugin_core.php => slm-plugin-core.php} | 16 +- includes/slm-utility.php | 202 ++- includes/slm-wc-order-post-type.php | 2 - package-lock.json | 132 ++ package.json | 41 + public/assets/css/jquery-ui.css | 1226 +---------------- public/assets/css/slm.css | 270 +++- .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 120 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 111 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 110 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes .../assets/images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../assets/images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../assets/images/ui-icons_444444_256x240.png | Bin 0 -> 6992 bytes .../assets/images/ui-icons_454545_256x240.png | Bin 0 -> 4369 bytes .../assets/images/ui-icons_555555_256x240.png | Bin 0 -> 6988 bytes .../assets/images/ui-icons_777620_256x240.png | Bin 0 -> 4549 bytes .../assets/images/ui-icons_777777_256x240.png | Bin 0 -> 6999 bytes .../assets/images/ui-icons_888888_256x240.png | Bin 0 -> 4369 bytes .../assets/images/ui-icons_cc0000_256x240.png | Bin 0 -> 4549 bytes .../assets/images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes .../assets/images/ui-icons_ffffff_256x240.png | Bin 0 -> 6299 bytes public/assets/js/slm.js | 20 +- public/assets/previews/activity-log.png | Bin 0 -> 518618 bytes public/assets/previews/add-key.png | Bin 0 -> 386837 bytes public/assets/previews/dashboard.png | Bin 0 -> 485825 bytes public/assets/previews/export.png | Bin 0 -> 423718 bytes .../previews/my-account-lics-opened.png | Bin 0 -> 358072 bytes public/assets/previews/my-account-lics.png | Bin 0 -> 351324 bytes public/assets/previews/overview-filters.png | Bin 0 -> 430396 bytes public/assets/previews/overview.png | Bin 0 -> 548150 bytes public/assets/previews/screen options.png | Bin 0 -> 540852 bytes .../assets/previews/subscribers-results.png | Bin 0 -> 358844 bytes public/assets/previews/subscribers.png | Bin 0 -> 328927 bytes public/slm-add-menu-frontend.php | 33 +- software-license-manager.php | 15 +- uninstall.php | 3 +- woocommerce/includes/class.php | 19 +- woocommerce/includes/purchase.php | 168 ++- 60 files changed, 1894 insertions(+), 2115 deletions(-) mode change 100755 => 100644 CHANGELOG.md create mode 100644 admin/includes/cronjobs/slm-tasks.php delete mode 100755 admin/includes/slm-list-table-class.php create mode 100644 admin/slm-dashboard-widgets.php create mode 100644 admin/slm-subscribers.php rename includes/{slm_plugin_core.php => slm-plugin-core.php} (92%) delete mode 100644 includes/slm-wc-order-post-type.php create mode 100644 package-lock.json create mode 100644 package.json create mode 100755 public/assets/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100755 public/assets/images/ui-bg_flat_75_ffffff_40x100.png create mode 100755 public/assets/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100755 public/assets/images/ui-bg_glass_65_ffffff_1x400.png create mode 100755 public/assets/images/ui-bg_glass_75_dadada_1x400.png create mode 100755 public/assets/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100755 public/assets/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100755 public/assets/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100755 public/assets/images/ui-icons_222222_256x240.png create mode 100755 public/assets/images/ui-icons_2e83ff_256x240.png create mode 100644 public/assets/images/ui-icons_444444_256x240.png create mode 100755 public/assets/images/ui-icons_454545_256x240.png create mode 100644 public/assets/images/ui-icons_555555_256x240.png create mode 100644 public/assets/images/ui-icons_777620_256x240.png create mode 100644 public/assets/images/ui-icons_777777_256x240.png create mode 100755 public/assets/images/ui-icons_888888_256x240.png create mode 100644 public/assets/images/ui-icons_cc0000_256x240.png create mode 100755 public/assets/images/ui-icons_cd0a0a_256x240.png create mode 100644 public/assets/images/ui-icons_ffffff_256x240.png create mode 100644 public/assets/previews/activity-log.png create mode 100644 public/assets/previews/add-key.png create mode 100644 public/assets/previews/dashboard.png create mode 100644 public/assets/previews/export.png create mode 100644 public/assets/previews/my-account-lics-opened.png create mode 100644 public/assets/previews/my-account-lics.png create mode 100644 public/assets/previews/overview-filters.png create mode 100644 public/assets/previews/overview.png create mode 100644 public/assets/previews/screen options.png create mode 100644 public/assets/previews/subscribers-results.png create mode 100644 public/assets/previews/subscribers.png diff --git a/CHANGELOG.md b/CHANGELOG.md old mode 100755 new mode 100644 index 4b11843..7ab799c --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,176 +1,102 @@ -# CHANGELOG -All notable changes to this project will be documented in this file. - -#### 4.10.3 - WIP -- removed auto update helper -- added activation date to license key -- deleted unnecessary code and files -- renamed some functions to keep consistancy -- fixed sql warnings and updated some classes -- improved api key and secret key -- added screen options to license list table -- added new utility classes and functions - - -#### 4.9 -- Removed hard coded email from woocommerce templates - -#### 4.8 -- Removed hard coded email from woocommerce templates - -#### 4.7 -- The product quantity of WP eStore product is taken into account when creating a new license key. -- Added a new action hook in the listener API (can be used to override the API query). - - - -#### 4.6 -- added: new error codes to api listener -- added: export functionality for license -- added: form validation when creating a new license in wp admin -- fixes: cleaned code and improved ui -- added: license key is saved inside wc order as a custom field value -- added: license key added as a click-able note -- fixed: email notification when order is completed -- added: my subscriptions table to thank you order page -- fixed: license generation for wp-stores - - -#### 4.5 -- added: plugin updater helper - -#### 4.4 -- improved: simple product meta boxes -- added license manager as product type -- added support for "subscr_id" from version 4.3 -- added support for version number -- added license type (lifetime or subscription) :: "lic_type" -- improved license key generator -- fixed minor bug and performance issues -- update wp icon and menu name -- updated meta boxes (simple products) -- [] WIP: support for variations - -#### 4.3 -- Added a new action hook for estore recurring payments. -- BUG FIX: Sanitize DB query value before using (injection) thanks to @eighty20results -- ENHANCEMENT: Added slm_update action handler - update_api_listener() thanks to @eighty20results -- Added a new optional column "subscr_id" to the license keys table. This can be used to store the subsriber ID value (if any) for recurring payment plans. -- The "subscr_id" will also be present in the license query API output. -- The product quantity of WP eStore product is taken into account when creating a new license key. - -#### 4.2 -- Added: Support for license removal using api (slm_action=slm_remove) - -#### 4.1 -- Added: New action hook added. - -#### 4.0 -- Fixed a typo with the slm_api_response_args filter - -#### 3.9 -- The license status parameter can now be passed when executing the license create API query. - -#### 3.8 -- The manage licenses admin interface improvements for mobile devices. -- The product reference (if any) is shown in the manage licenses interface also. - -#### 3.7 -- Added couple of filters to the API response args. - -#### 3.6 -- The check license query now outputs all the db column values. -- It now captures the WP eStore product ID in the \"Product Reference\" column of the license manager (if the license is created by eStore). - -#### 3.5 -- Updated slm-api-utility.php to add Content-Type header to the API response. - -#### 3.4 -- The slm_create_new api call will no longer show an error code incorrectly. - -#### 3.3 -- Check for existence of company_name query value before using to fix undefined index error when it doesn\'t exist. -- Add ability to specify product_ref when creating license via API. Thanks to @maddisondesigns for the update. +# Changelog -#### 3.2 -- Fixed undefined index warning \"enable_auto_key_expiry\" -- The product_ref field is now available in the add/edit license menu. Also, this value is output with the \"slm_check\" API call. Thanks to Tobias Hildebrandt for implementing this. - -#### 3.1 -- Added a new error code for the following condition: -If maximum activation has reached and the license key is used on the domain (where the request came from) then it will return a new error: LICENSE_IN_USE_ON_DOMAIN_AND_MAX_REACHED - -#### 3.0 -- The integration with WP eStore cart will create multiple licenses when a customer purchases more than 1 quantity of a product. - -#### 2.9 -- The API response will now include a numeric error code (in the event of an error). Thanks to Steve Gehrman. - -#### 2.8 -- The registered domains (if any) of a license key will get deleted when that key is deleted from the manage licenses menu. -- Added wp_unslash() for firstname, lastname, registered domain and company name. Thanks to @sgehrman. -- Added a new action hook (slm_license_key_expired) that gets triggered when a license key expires. - -#### 2.7 -- eStore integration update: changed expiry date field to accept number of days so the plugin can dynamically calculate the expiry date for the key. - -#### 2.6 -- Updated the eStore integration so a custom \"Expiry Date\" value can be set in the product configuration. - -#### 2.5 -- Updated the eStore plugin integration so a custom \"Maximum Allowed Domains\" value can be specified in the eStore product configuration. - -#### 2.4 -- Added new action and filter hooks in the add/edit interface so an addon can extend the functionality of that interface. -- Added nonce check in the add/edit license interface. - -#### 2.3 -- Added a new feature to enable auto expiry of the license keys. You can enable this option from the settings. -- If you don\'t specify a expiry date, when adding a manual license key, it will use the current date plus 1 year as the expiry date. -- Increased the width and height of the \"Registered Domains\" box in the edit license interface. -- Added a new table column product_ref in the license keys table. -- Added couple of new hooks in the plugin. - -#### 2.2 -- Added integration with the squeeze form submission of eStore plugin. - -#### 2.1 -- The license check query now outputs the date values also. -- Improvement for the WP eStore integration. - -#### 2.0 -- Added a filter to remove any null values from the DB insert query parameter of the API Utility class. - -#### 1.9 -- Replaced \"esc_url()\" with \"esc_url_raw()\" in the sample plugin. -- Updated some CSS in the admin interface for WordPress 4.4 - -#### 1.8 -- Added new hooks before the API query is executed. This allows a developer to override the API query and do custom stuff. -- Added a new API to check the details of an existing license key. - -#### 1.7 -* The license key is also included with the response sent to the new license creation request. Below is an example response: -{\"result\":\"success\",\"message\":\"License successfully created\",\"key\":\"5580effe188d3\"} - -* You can now pass a pre-generated license key to the license creation API using the \"license_key\" parameter in the request. - -#### 1.6 -* Updated the sample plugin code so the query works better. -* Added the ability to reset the debug log file from the plugin settings interface. -* The item_reference value will be stored in the database (if sent via the activation API query). - -#### 1.5 -* Added the option to search a license key from the manage licenses interface. - -#### 1.4 -* Updated the license key creation API check to use the value from \"Secret Key for License Creation\" field. - -#### 1.3 -* Added more sanitization. - -#### 1.2 -* Fixed a bug with the bulk delete license operation. +All notable changes to this project will be documented in this file. -#### 1.1 -* First commit to wordpress repository. +The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). + +Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). + +## [4.10.4](https://github.com/michelve/software-license-manager/compare/4.10.4...4.10.4) - 2019-05-24 + +## [3.6.2](https://github.com/michelve/software-license-manager/compare/3.1.0...3.6.2) - 2018-02-28 + +### Commits + +- Version increase [`c9e2548`](https://github.com/michelve/software-license-manager/commit/c9e25485c531ac6fdbb70fbd62f37d8c549f0466) +- added support for devices: now you can see the activated list for devices, able to register a device or deactivate it or delete it. [`91a1c3d`](https://github.com/michelve/software-license-manager/commit/91a1c3dc9f59d8bb92e9faed4e4d990279bfec36) +- support for deactivation [`d84ff9f`](https://github.com/michelve/software-license-manager/commit/d84ff9faad68029b6c5fb37d71ad2952ff43bdf2) +- Update slm-api-listener.php [`9737d0e`](https://github.com/michelve/software-license-manager/commit/9737d0ed46fc66b96b933f0fbf87b77d95a3384b) + +## 3.1.0 - 2017-07-19 + +### Merged + +- Added error codes to api results [`#5`](https://github.com/michelve/software-license-manager/pull/5) +- Added wp_unslash() for firstname, lastname, registered domain and com… [`#4`](https://github.com/michelve/software-license-manager/pull/4) + +### Commits + +- first commit [`9345c1c`](https://github.com/michelve/software-license-manager/commit/9345c1c21086995e1318b0f0f3b496fe9b740649) +- added a sample php script. included the jquery ui css in the plugin. [`79f33e5`](https://github.com/michelve/software-license-manager/commit/79f33e528ca45ab974c3152cb9c3a7685b7e486e) +- changes part 1 [`f3ace5b`](https://github.com/michelve/software-license-manager/commit/f3ace5bc2c5f71e14484e20a4fd3f75b86f5100f) +- lots of refactoring and architectural changes [`0334b82`](https://github.com/michelve/software-license-manager/commit/0334b8299dc9ea4fb9d0353050252fc9b54d2e5a) +- added a sample plugin that can do the API query remotely. [`1c1cca5`](https://github.com/michelve/software-license-manager/commit/1c1cca5b0462a01af3a6d61a12e50eb79b30dd31) +- db access file moved inside includes [`a5b97ed`](https://github.com/michelve/software-license-manager/commit/a5b97ed0bdcc505d36bed664dbe36afdadd7f075) +- - added debug functionality [`8860d4b`](https://github.com/michelve/software-license-manager/commit/8860d4b099f7d278925a41624692e58c1920a42f) +- added sample plugin [`f1d1181`](https://github.com/michelve/software-license-manager/commit/f1d1181ca73014ff9fca947a996faf3e3144e627) +- added support for devices, where you can specified the amount of licenses per device or domain. [`b378b0a`](https://github.com/michelve/software-license-manager/commit/b378b0a9a2bb31f0267b70adb0ade99ebf70eb37) +- - fixed user interface stuff [`9319e69`](https://github.com/michelve/software-license-manager/commit/9319e693ba1589fa6659f78f7f60aed20c3f260b) +- added support for registered devices, now yo can view/edit/remote registered devices from admin panel. [`cdcbd1d`](https://github.com/michelve/software-license-manager/commit/cdcbd1da86e2232a5acd39d95d05613c43c14378) +- - Debug logger class fixed. [`46ffa1b`](https://github.com/michelve/software-license-manager/commit/46ffa1bae06160679220dbe48a676b199afe97c1) +- introduced api listener class and moved more classes around. More refactoring done. [`11000f3`](https://github.com/michelve/software-license-manager/commit/11000f32b2215fed535e39eeeadfb82fc66ad0b2) +- v2.5 released [`98bb263`](https://github.com/michelve/software-license-manager/commit/98bb2634c37c7f4a7527cd71e1f1d99e9733ef16) +- - Added a new feature to enable auto expiry of the license keys. You can enable this option from the settings. [`c274ad8`](https://github.com/michelve/software-license-manager/commit/c274ad84af02eee9c0f72b12c581192ccaf6a7fc) +- WP estore plugin integration added [`c773263`](https://github.com/michelve/software-license-manager/commit/c77326309389d069760189bbc7866ea4a88a6513) +- v2.6 released [`54936a7`](https://github.com/michelve/software-license-manager/commit/54936a7d722308715835beb1a8133d3a1b1e23f0) +- v2.8 released [`66a6e83`](https://github.com/michelve/software-license-manager/commit/66a6e8389d671f57e57667a5bdea6811618ff32e) +- changed the settings/options savings to an ARRAY structure [`8b2c03f`](https://github.com/michelve/software-license-manager/commit/8b2c03f8bf1b9f2a0560fcff9d32e9247a8d520d) +- added license API query listener class [`eaa325b`](https://github.com/michelve/software-license-manager/commit/eaa325b2d9d49f1acaac21e0d59096335994e09f) +- more refactoring changes [`fc01f80`](https://github.com/michelve/software-license-manager/commit/fc01f804f9f592b4c72a9fd87b136edd3d947a86) +- v1.8 released [`86cbca0`](https://github.com/michelve/software-license-manager/commit/86cbca0622582d40d5cd02851856bb5e7089b27c) +- v1.5 released [`7fefc50`](https://github.com/michelve/software-license-manager/commit/7fefc508ec1cbe66d8e937f7b457e79f26f4b2be) +- added readme file and a few other small tweaks. [`d8efad8`](https://github.com/michelve/software-license-manager/commit/d8efad862626ee96bbe76f61114d4d309a311d93) +- more refactoring changes 2. [`e2947bf`](https://github.com/michelve/software-license-manager/commit/e2947bf0f8b1fc78db0d8c57a149b89df4dd4fae) +- Moved the api error code class to a separate file [`f4906da`](https://github.com/michelve/software-license-manager/commit/f4906da9a74b92f67ede32404b7b8cbceca66271) +- v2.4 released [`e6a7fff`](https://github.com/michelve/software-license-manager/commit/e6a7fffa9b73d612761fcdcf8563ce96cc9f227c) +- some improvements [`fd6c5bf`](https://github.com/michelve/software-license-manager/commit/fd6c5bfc8d4e09cba6f79933b5c42653b227216d) +- The integration with WP eStore cart will create multiple licenses when a customer purchases more than 1 quantity of a product. [`82df429`](https://github.com/michelve/software-license-manager/commit/82df429d0cf93e379001efe6c6a5713efc425d83) +- v1.2 released [`2a5d95e`](https://github.com/michelve/software-license-manager/commit/2a5d95e03fd5967440a9c6c5e8af22605cbdb204) +- v1.9 released [`67c71be`](https://github.com/michelve/software-license-manager/commit/67c71bee511e79c554f410027469e71d43ed4846) +- v1.4 released [`5ce4a30`](https://github.com/michelve/software-license-manager/commit/5ce4a302c530beeadeb91845a157fdd9cd4f6703) +- v1.1 released [`254cc9b`](https://github.com/michelve/software-license-manager/commit/254cc9b85928283ad4956cea994ad84772922b63) +- some other refactoring [`085071e`](https://github.com/michelve/software-license-manager/commit/085071e6d2417cd9613a09ae615d7688f8151a00) +- Improvement for the WP eStore integration. [`f761bcc`](https://github.com/michelve/software-license-manager/commit/f761bccc7ea499ef2fb8aa8b79491f090012847c) +- more improvements [`b16d379`](https://github.com/michelve/software-license-manager/commit/b16d3792997ced6bc1e857ca16fd038815e10792) +- v2.7 released [`4384553`](https://github.com/michelve/software-license-manager/commit/43845536a22239deab722e31c182d1f512d1d37b) +- v1.7 released [`502f350`](https://github.com/michelve/software-license-manager/commit/502f3500bede05f664020b9dae3ffd960108ea15) +- 1.6 released [`cbe2075`](https://github.com/michelve/software-license-manager/commit/cbe2075e74043eed8f0f2b5e1b07832686a11671) +- 1.3 RC [`f49abd3`](https://github.com/michelve/software-license-manager/commit/f49abd3346a09111e530573cadfa60916780c87a) +- database charset and collate improvements [`ed348a2`](https://github.com/michelve/software-license-manager/commit/ed348a2c50de8b1969e7ad821fbd5b5401f31b92) +- preparing the repository [`cbeeede`](https://github.com/michelve/software-license-manager/commit/cbeeede76eced547bde5ea7df9cffee526f66296) +- added more columns to show in the manage licenses menu. [`585fb50`](https://github.com/michelve/software-license-manager/commit/585fb500d1d2059db240cff1d1b048b60a785302) +- committing v2.2 [`ae4f6af`](https://github.com/michelve/software-license-manager/commit/ae4f6afe2cf9784d771495567fc81d014858d8a7) +- v2.1 released [`dbc0ea8`](https://github.com/michelve/software-license-manager/commit/dbc0ea857f7b4377be2a98e772e9991578675f12) +- renamed the files with proper prefix in the "menu" directory [`e30eb86`](https://github.com/michelve/software-license-manager/commit/e30eb86d913cd5ee6a28f598971b283857701705) +- v2.0 released [`34c8e12`](https://github.com/michelve/software-license-manager/commit/34c8e12f6433af7b60b5c62fe745e91e827138ac) +- Added wp_unslash() for firstname, lastname, registered domain and company name which could all contain ' [`01459d1`](https://github.com/michelve/software-license-manager/commit/01459d1abcd52793186b2ca5071dfcddcb81efbb) +- Replaced "esc_url()" with "esc_url_raw()" in the sample plugin. [`da57ee6`](https://github.com/michelve/software-license-manager/commit/da57ee65812d3f30b29e4a812271b8ed3d624d04) +- added 3rd party integration file [`5c7c7ed`](https://github.com/michelve/software-license-manager/commit/5c7c7ede249b0e2b53d2af3af6c70e253ec00305) +- v2.9 tested and released [`40abd6a`](https://github.com/michelve/software-license-manager/commit/40abd6ac51509e4ed78f9b09af6a5da6daa97929) +- some changes [`bb9e29c`](https://github.com/michelve/software-license-manager/commit/bb9e29ceef9bac33926d7ce573a3fc69f749c774) +- renamed a few files [`633d9a3`](https://github.com/michelve/software-license-manager/commit/633d9a3bf30942608645cee33e57b8dcac0bbae7) +- updated the to-do file [`94656d8`](https://github.com/michelve/software-license-manager/commit/94656d86027c62b1fc95fe1e04271556e34fa5d5) +- minor cleanup [`e095ed7`](https://github.com/michelve/software-license-manager/commit/e095ed7155db6bf4d9befcac70524eed7230ce64) +- v1.3 released [`b5c8c46`](https://github.com/michelve/software-license-manager/commit/b5c8c46e3e453d3b506c64264ec5da95ef533edb) +- some minor changes [`af619bb`](https://github.com/michelve/software-license-manager/commit/af619bbd87621c2a6ada23f904dac72a0d07aea2) +- v2.3 released [`5b3351f`](https://github.com/michelve/software-license-manager/commit/5b3351f0cd8a0f5ff41393ac97fec3c50f15ece6) +- updated the links [`6efa7ce`](https://github.com/michelve/software-license-manager/commit/6efa7ced83d75007d0a1be72843dcab2943f0c74) +- Added a new action hook [`79aa9ab`](https://github.com/michelve/software-license-manager/commit/79aa9ab42e00c3c577c21a77aea2e907c42b6c4b) +- updated readme [`d01f622`](https://github.com/michelve/software-license-manager/commit/d01f622b4bc1706e9e0eb83f50ef57430ce639dc) +- updated readme file [`6ff246d`](https://github.com/michelve/software-license-manager/commit/6ff246d80a390b91555d436606e8e555f7a1e966) +- wp 4.8 [`e4d5e7d`](https://github.com/michelve/software-license-manager/commit/e4d5e7d23e3160879a3c2a3cc67a93c140b1b4f3) +- wp 4.7 [`0a48d4e`](https://github.com/michelve/software-license-manager/commit/0a48d4e61d5f023eb97da5589e5f377d5240e5db) +- contributor list updated [`b48b343`](https://github.com/michelve/software-license-manager/commit/b48b343e757c591b5f183efa42f7a4c5b093ef27) +- escaping a form field value. [`24932ca`](https://github.com/michelve/software-license-manager/commit/24932ca9331bb13d3237f6c66393c44fa031fed0) +- updated readme [`5270497`](https://github.com/michelve/software-license-manager/commit/527049734858ff547f96663b7ba41dddcefa0b82) +- to do list updated [`1ab9992`](https://github.com/michelve/software-license-manager/commit/1ab9992d6619c11318e240877eccb50e58f4d342) +- Initial commit [`27811e4`](https://github.com/michelve/software-license-manager/commit/27811e4c2cb6f458b3fc89b8aee637965e49c538) +- readme file updated [`96d982b`](https://github.com/michelve/software-license-manager/commit/96d982b6a73779f413a4177d44ceb33a1f062a03) +- renamed a folder [`f655ba6`](https://github.com/michelve/software-license-manager/commit/f655ba6eff3347ea3798cb367972add272353b04) +- renamed the main plugin folder [`0f8f5e2`](https://github.com/michelve/software-license-manager/commit/0f8f5e2dc1878f9bf6a25054de1f3b06f307230b) +- renamed the main plugin folder to "license-manager" [`d7024d1`](https://github.com/michelve/software-license-manager/commit/d7024d16d9ecb9bf068e84192e4d070488d39563) diff --git a/README.md b/README.md index 3d3c9cf..fed4f46 100755 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ Postman samples: - [ ] WIP - Users and admins can export licenses - [ ] WIP - License activity log, track requests and activations per license - [ ] WIP - Admin widgets +- [ ] WIP - Send emails on expiration and activation ## Installation 1. Go to the Add New plugins screen in your WordPress admin area diff --git a/admin/includes/cronjobs/slm-tasks.php b/admin/includes/cronjobs/slm-tasks.php new file mode 100644 index 0000000..c36bd08 --- /dev/null +++ b/admin/includes/cronjobs/slm-tasks.php @@ -0,0 +1,28 @@ + 1*60, + 'display' => __('Every 1 minute'), + ); + return $schedules; +} + + +// send automatic scheduled email +if (!wp_next_scheduled('slm_expired_send_email_reminder')) { + wp_schedule_event(time(), 'every_minute', 'slm_expired_send_email_reminder'); +} +add_action('slm_expired_send_email_reminder', 'run_slm_lic_check'); + + +function run_slm_lic_check(){ + SLM_Utility::check_for_expired_lic(); +} \ No newline at end of file diff --git a/admin/includes/slm-list-table-class.php b/admin/includes/slm-list-table-class.php deleted file mode 100755 index e69de29..0000000 diff --git a/admin/slm-add-licenses.php b/admin/slm-add-licenses.php index 03d762a..316a889 100755 --- a/admin/slm-add-licenses.php +++ b/admin/slm-add-licenses.php @@ -160,14 +160,9 @@ function slm_add_licenses_menu() } ?> - - - - - __('Licensing', 'woocommerce' ), - 'target' => 'wc_slm_meta', - 'class' => array( 'show_if_simple', 'show_if_wc_slm_data_tab_enabled'), - ); + function wc_slm_add_tab($wc_slm_data_tabs) + { + $wc_slm_data_tabs['wc_slm_data_tab'] = array( + 'label' => __('Licensing', 'woocommerce'), + 'target' => 'wc_slm_meta', + 'class' => array('show_if_simple', 'show_if_wc_slm_data_tab_enabled'), + ); - return $wc_slm_data_tabs; -} + return $wc_slm_data_tabs; + } -function wc_slm_data_panel() { - global $post; - ?> -
    - - -
    - '_domain_licenses', - 'label' => __( 'Domain Licenses', 'woocommerce' ), - 'placeholder' => '0', - 'desc_tip' => 'true', - 'type' => 'number', - 'description' => __( 'Enter the allowed amount of domains this license can have (websites).', 'woocommerce' ) - ) - ); - woocommerce_wp_text_input( - array( - 'id' => '_devices_licenses', - 'label' => __( 'Devices Licenses', 'woocommerce' ), - 'placeholder' => '0', - 'desc_tip' => 'true', - 'type' => 'number', - 'description' => __( 'Enter the allowed amount of devices this license can have (computers, mobile, etc).', 'woocommerce' ) - ) - ); - woocommerce_wp_text_input( - array( - 'id' => '_license_renewal_period', - 'label' => __( 'Renewal period ', 'woocommerce' ), - 'placeholder' => '0', - 'desc_tip' => 'true', - 'description' => __( 'License renewal period(yearly) , enter 0 for lifetime.', 'woocommerce' ) - ) - ); - woocommerce_wp_select( - array( - 'id' => '_license_type', - 'label' => __( 'License Type', 'woocommerce' ), - 'placeholder' => 'Select one', - 'desc_tip' => 'true', - 'description' => __( 'type of license: subscription base or lifetime', 'woocommerce' ), - 'options' => array( - 'none' => __( 'Select one', 'woocommerce' ), - 'subscription' => __( 'subscription', 'woocommerce' ), - 'lifetime' => __( 'lifetime', 'woocommerce' ), - ) - ) - ); - woocommerce_wp_text_input( - array( - 'id' => '_license_current_version', - 'label' => __( 'Current Version', 'woocommerce' ), - 'placeholder' => '0.0.0', - 'desc_tip' => 'true', - 'description' => __( 'Enter the current version of your application, theme, or plug-in', 'woocommerce' ) - ) - ); - ?> -
    -
    +
    -/** Hook callback function to save custom fields information */ -function wc_slm_save_data($post_id) { - $_domain_licenses = $_POST['_domain_licenses']; - if (!empty($_domain_licenses)) { - update_post_meta($post_id, '_domain_licenses', esc_attr($_domain_licenses)); - } + +
    + '_domain_licenses', + 'label' => __('Domain Licenses', 'woocommerce'), + 'placeholder' => '0', + 'desc_tip' => 'true', + 'type' => 'number', + 'description' => __('Enter the allowed amount of domains this license can have (websites).', 'woocommerce') + ) + ); + woocommerce_wp_text_input( + array( + 'id' => '_devices_licenses', + 'label' => __('Devices Licenses', 'woocommerce'), + 'placeholder' => '0', + 'desc_tip' => 'true', + 'type' => 'number', + 'description' => __('Enter the allowed amount of devices this license can have (computers, mobile, etc).', 'woocommerce') + ) + ); + woocommerce_wp_select( + array( + 'id' => '_license_type', + 'label' => __('License Type', 'woocommerce'), + 'placeholder' => 'Select one', + 'desc_tip' => 'true', + 'description' => __('type of license: subscription base or lifetime', 'woocommerce'), + 'options' => array( + 'none' => __('Select one', 'woocommerce'), + 'subscription' => __('subscription', 'woocommerce'), + 'lifetime' => __('lifetime', 'woocommerce'), + ) + ) + ); + woocommerce_wp_text_input( + array( + 'id' => '_license_renewal_period', + 'label' => __('Renewal period ', 'woocommerce'), + 'placeholder' => '0', + 'desc_tip' => 'true', + 'description' => __('License renewal period(yearly) , enter 0 for lifetime.', 'woocommerce') + ) + ); - $is_wc_slm_data_tab_enabled = isset( $_POST['_wc_slm_data_tab_enabled'] ) ? 'yes' : 'no'; - update_post_meta( $post_id, '_wc_slm_data_tab_enabled', $is_wc_slm_data_tab_enabled ); + woocommerce_wp_text_input( + array( + 'id' => '_license_current_version', + 'label' => __('Current Version', 'woocommerce'), + 'placeholder' => '0.0.0', + 'desc_tip' => 'true', + 'description' => __('Enter the current version of your application, theme, or plug-in', 'woocommerce') + ) + ); - $_license_type = $_POST['_license_type']; - if (!empty($_license_type)) { - update_post_meta($post_id, '_license_type', esc_attr($_license_type)); + woocommerce_wp_text_input( + array( + 'id' => '_license_until_version', + 'label' => __('Until Version', 'woocommerce'), + 'placeholder' => '0.0.0', + 'desc_tip' => 'true', + 'description' => __('Enter the version until support expires.', 'woocommerce') + ) + ); + ?> +
    +
    -
    +
    get_results("SELECT * FROM " . $wpdb->prefix . "lic_reg_devices_tbl WHERE `lic_key` = '" . $license_info->license_key . "' ORDER BY `lic_key_id` LIMIT 0,1000;", ARRAY_A); ?> -
    -
    Domain(s)
    -
      - ' . $domain_info["registered_domain"] . ''; +
      +
      +
      Domain(s)
      +
        + no data available"; } else { + foreach ($detailed_domain_info as $domain_info) { + + if (isset($domain_info["lic_key"]) && !empty($domain_info["lic_key"])) { + echo '
      • ' . $domain_info["registered_domain"] . '
      • '; + } else { + echo "
      • no data available
      • "; + } + } + } + $out = array_values($detailed_license_info); + $license_key_json_data = json_encode($out); + + ?> + +
      +
      +
      +
      Device(s)
      +
        + no data available"; + } else { + foreach ($detailed_devices_info as $devices_info) { + if (isset($devices_info["lic_key"]) && !empty($devices_info["lic_key"])) { + echo '
      • ' . $devices_info["registered_devices"] . '
      • '; + } else { + echo "
      • no data available
      • "; + } + } } - } - $out = array_values($detailed_license_info); - $license_key_json_data = json_encode($out); - - ?> + ?> +
      +
      +
      +
      -
      - + +
      -
    -
    -
    -
    Device(s)
    -
      +
      ' . $devices_info["registered_devices"] . ''; - } else { - echo "
    • no data available
    • "; + // woo download integration + $slm_woo_order_id = $license_info->purchase_id_; + $slm_woo_product_id = $license_info->product_ref; + $woo_download_db = 'woocommerce_downloadable_product_permissions'; + + $get_woo_downloads = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . $woo_download_db . " WHERE `product_id` = '" . $slm_woo_product_id . "' ORDER BY `product_id` LIMIT 0,1000;", ARRAY_A); + + if ($license_info->lic_status == 'active' || $license_info->lic_status == 'pending') { + + echo '
      '; + + foreach ($get_woo_downloads as $download) { + $get_files = get_post_meta($slm_woo_product_id, '_downloadable_files', true); + $file_name = $get_files[$download["download_id"]]['name']; + //var_dump($my_meta); + + if (isset($download["order_key"]) && !empty($download["order_key"]) && $download["user_id"] == SLM_Woo_Account::getActiveUser('id')) { + echo ''; + } } - } - ?> -
    -
    -
    - View Order #purchase_id_; ?> + } else { + echo '

    You are not allowed to view/download files. Renew or upgarde your license.

    '; + } ?> +
    +
    +
    - - - - - - - - - - -
    My Account
    - You can see and manage your licenses inside your account. Manage Licenses
    -
    '; + echo '

    My subscriptions

    My Account
    You can see and manage your licenses inside your account. Manage Licenses
    '; } } } @@ -412,15 +392,13 @@ function slm_add_lic_key_meta_update($order_id) * Display field value on the order edit page */ -function slm_add_lic_key_meta_display($order) -{ +function slm_add_lic_key_meta_display($order){ echo '

    ' . __('License key') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_order_key', true) . '

    '; echo '

    ' . __('License expiration') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_expires', true) . '

    '; - echo '

    ' . __('License type') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_type', true) . '

    '; - echo '

    ' . __('License status') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_status', true) . '

    '; - echo '

    ' . __('License version') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_version', true) . '

    '; + echo '

    ' . __('License current version') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_version', true) . '

    '; + echo '

    ' . __('Supported until version') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_until_version', true) . '

    '; } /** From 4b3adc2a2687f008362fb864eb39a759fc3a22c3 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Mon, 17 Jun 2019 13:01:05 -0400 Subject: [PATCH 054/293] ### 4.12.1 - added support current version and supported version - fixed 404 links from jquery ui - support and integration with woocommerce downloads (user wont be able to view or download the file is the license is not active or pending) - show license key in order confirmation --- admin/slm-add-licenses.php | 9 + admin/slm-lic-settings.php | 6 +- admin/slm-list-licenses-class.php | 14 +- includes/class-slm-installer.php | 9 +- includes/slm-api-listener.php | 4 + includes/slm-meta-boxes.php | 261 +++++++++-------- includes/slm-scripts.php | 2 +- .../{ => images}/previews/activity-log.png | Bin .../assets/{ => images}/previews/add-key.png | Bin .../{ => images}/previews/dashboard.png | Bin .../assets/{ => images}/previews/export.png | Bin .../previews/my-account-lics-opened.png | Bin .../{ => images}/previews/my-account-lics.png | Bin .../previews/overview-filters.png | Bin .../assets/{ => images}/previews/overview.png | Bin .../{ => images}/previews/screen options.png | Bin .../previews/subscribers-results.png | Bin .../{ => images}/previews/subscribers.png | Bin public/slm-add-menu-frontend.php | 106 ++++--- software-license-manager.php | 28 +- woocommerce/includes/class.php | 14 + woocommerce/includes/purchase.php | 270 ++++++++---------- 22 files changed, 397 insertions(+), 326 deletions(-) rename public/assets/{ => images}/previews/activity-log.png (100%) rename public/assets/{ => images}/previews/add-key.png (100%) rename public/assets/{ => images}/previews/dashboard.png (100%) rename public/assets/{ => images}/previews/export.png (100%) rename public/assets/{ => images}/previews/my-account-lics-opened.png (100%) rename public/assets/{ => images}/previews/my-account-lics.png (100%) rename public/assets/{ => images}/previews/overview-filters.png (100%) rename public/assets/{ => images}/previews/overview.png (100%) rename public/assets/{ => images}/previews/screen options.png (100%) rename public/assets/{ => images}/previews/subscribers-results.png (100%) rename public/assets/{ => images}/previews/subscribers.png (100%) diff --git a/admin/slm-add-licenses.php b/admin/slm-add-licenses.php index 316a889..4cc4e36 100755 --- a/admin/slm-add-licenses.php +++ b/admin/slm-add-licenses.php @@ -22,6 +22,7 @@ function slm_add_licenses_menu() $renewed_date = ''; $expiry_date = ''; $until = ''; + $current_ver = ''; $product_ref = ''; $subscr_id = ''; $lic_type = ''; @@ -59,6 +60,7 @@ function slm_add_licenses_menu() $expiry_date = $record->date_expiry; $product_ref = $record->product_ref; $until = $record->until; + $current_ver = $record->current_ver; $subscr_id = $record->subscr_id; $lic_type = $record->lic_type; } @@ -90,6 +92,7 @@ function slm_add_licenses_menu() $expiry_date = $_POST['date_expiry']; $product_ref = $_POST['product_ref']; $until = $_POST['until']; + $current_ver = $_POST['current_ver']; $subscr_id = $_POST['subscr_id']; $lic_type = $_POST['lic_type']; @@ -122,6 +125,7 @@ function slm_add_licenses_menu() $fields['date_expiry'] = $expiry_date; $fields['product_ref'] = $product_ref; $fields['until'] = $until; + $fields['current_ver'] = $current_ver; $subscr_id = $_POST['subscr_id']; $lic_type = $_POST['lic_type']; @@ -542,6 +546,11 @@ function slm_add_licenses_menu() Until what version this product is supported
    +
    + + + What is the current version of this product +
    diff --git a/admin/slm-lic-settings.php b/admin/slm-lic-settings.php index b4fd106..6dc9024 100755 --- a/admin/slm-lic-settings.php +++ b/admin/slm-lic-settings.php @@ -50,7 +50,7 @@ function slm_general_settings() 'enable_auto_key_expiry' => isset($_POST['enable_auto_key_expiry']) ? '1' : '', 'enable_debug' => isset($_POST['enable_debug']) ? '1' : '', 'slm_woo' => isset($_POST['slm_woo']) ? '1' : '', - // 'slm_subscriptio' => isset($_POST['slm_subscriptio']) ? '1':'', + 'slm_woo_downloads' => isset($_POST['slm_woo_downloads']) ? '1' : '', 'slm_wpestores' => isset($_POST['slm_wpestores']) ? '1' : '', 'slm_dl_manager' => isset($_POST['slm_dl_manager']) ? '1' : '', ); @@ -144,6 +144,10 @@ function slm_general_settings() value="1" /> A fully customizable, open source eCommerce platform built for WordPress. + + + value="1" /> + Disable woocommerce download page. Proccess downloads though license order info page. diff --git a/admin/slm-list-licenses-class.php b/admin/slm-list-licenses-class.php index 957db27..c9af8ae 100755 --- a/admin/slm-list-licenses-class.php +++ b/admin/slm-list-licenses-class.php @@ -94,6 +94,7 @@ function get_columns() 'date_activated' => 'Date activated', 'date_expiry' => 'Expiration', 'until' => 'Until Ver.', + 'current_ver' => 'Current Ver.' ); return $columns; } @@ -172,23 +173,12 @@ function column_cb($item) function get_sortable_columns() { - // $sortable_columns = array( - // 'id' => array('id', false), - // 'license_key' => array('license_key', false), - // 'lic_status' => array('lic_status', false), - // 'purchase_id_' => array('purchase_id_', false), - // 'until' => array('until', false), - // 'email' => array('email', false), - // 'date_created' => array('date_created', false), - // 'date_renewed' => array('date_renewed', false), - // 'date_activated' => array('date_activated', false), - // 'date_expiry' => array('date_expiry', false), - // ); $sortable_columns = array( 'id' => array('id', true), 'email' => array('email', true), 'lic_type' => array('lic_type', true), 'until' => array('until', true), + 'current_ver' => array( 'current_ver', true), 'lic_status' => array('lic_status', true) ); diff --git a/includes/class-slm-installer.php b/includes/class-slm-installer.php index 9659ae7..b3e0042 100755 --- a/includes/class-slm-installer.php +++ b/includes/class-slm-installer.php @@ -49,6 +49,7 @@ reminder_sent_date date NOT NULL DEFAULT '0000-00-00', product_ref varchar(255) NOT NULL default '', until varchar(255) NOT NULL default '', + current_ver varchar(255) NOT NULL default '', subscr_id varchar(128) NOT NULL default '', PRIMARY KEY (id) )" . $charset_collate . ";"; @@ -85,7 +86,6 @@ PRIMARY KEY ( id ) )" . $charset_collate . ";"; dbDelta($ldv_tbl_sql); -update_option("slm_db_version", SLM_DB_VERSION); // Add default options $options = array( @@ -97,6 +97,9 @@ 'enable_debug' => '', 'slm_woo' => '', 'slm_wpestores' => '', - 'slm_dl_manager' => '', //Download Manager + 'slm_woo_downloads' => '', + 'slm_dl_manager' => '' ); -add_option('slm_plugin_options', $options); \ No newline at end of file + +update_option('slm_plugin_options', $options); +update_option("slm_db_version", SLM_DB_VERSION); \ No newline at end of file diff --git a/includes/slm-api-listener.php b/includes/slm-api-listener.php index 42ee2cf..dc001eb 100755 --- a/includes/slm-api-listener.php +++ b/includes/slm-api-listener.php @@ -74,6 +74,8 @@ function creation_api_listener() { $fields['date_expiry'] = isset($_REQUEST['date_expiry'])?strip_tags($_REQUEST['date_expiry']):''; $fields['product_ref'] = isset( $_REQUEST['product_ref'] ) ? wp_unslash( strip_tags( $_REQUEST['product_ref'] ) ) : ''; $fields['until'] = isset( $_REQUEST['until'] ) ? wp_unslash( strip_tags( $_REQUEST['until'] ) ) : ''; + $fields[ 'current_ver'] = isset($_REQUEST[ 'current_ver']) ? wp_unslash(strip_tags($_REQUEST[ 'current_ver'])) : ''; + //current_ver $fields['subscr_id'] = isset( $_REQUEST['subscr_id'] ) ? wp_unslash( strip_tags( $_REQUEST['subscr_id'] ) ) : ''; $fields['lic_type'] = isset( $_REQUEST['lic_type'] ) ? wp_unslash( strip_tags( $_REQUEST['lic_type'] ) ) : ''; @@ -466,6 +468,8 @@ function check_api_listener() { 'product_ref' => $retLic->product_ref, 'txn_id' => $retLic->txn_id, 'until' => $retLic->until, + 'current_ver' => $retLic->current_ver, + //current_ver )); //Output the license details diff --git a/includes/slm-meta-boxes.php b/includes/slm-meta-boxes.php index d8b882b..0140081 100644 --- a/includes/slm-meta-boxes.php +++ b/includes/slm-meta-boxes.php @@ -5,153 +5,186 @@ // Since: 4.4.0 // from: https://gist.github.com/JeroenSormani/6b710d079386d096f932 -add_filter('woocommerce_product_data_tabs', 'wc_slm_add_tab' ); +add_filter('woocommerce_product_data_tabs', 'wc_slm_add_tab'); add_action('woocommerce_process_product_meta_simple', 'wc_slm_save_data'); add_action('woocommerce_product_data_panels', 'wc_slm_data_panel'); /** * Add 'License' product option */ -function add_wc_slm_data_tab_enabled_product_option( $product_type_options ) { +function add_wc_slm_data_tab_enabled_product_option($product_type_options) +{ $product_type_options['wc_slm_data_tab_enabled'] = array( 'id' => '_wc_slm_data_tab_enabled', 'wrapper_class' => 'show_if_simple show_if_variable', - 'label' => __( 'License Manager', 'woocommerce' ), + 'label' => __('License Manager', 'woocommerce'), 'default' => 'no', - 'description' => __( 'Enables the license creation api.', 'woocommerce' ) + 'description' => __('Enables the license creation api.', 'woocommerce') ); return $product_type_options; } -add_filter( 'product_type_options', 'add_wc_slm_data_tab_enabled_product_option' ); +add_filter('product_type_options', 'add_wc_slm_data_tab_enabled_product_option'); /** CSS To Add Custom tab Icon */ -function wcpp_custom_style() { +function wcpp_custom_style() +{ ?> __('Licensing', 'woocommerce' ), - 'target' => 'wc_slm_meta', - 'class' => array( 'show_if_simple', 'show_if_wc_slm_data_tab_enabled'), - ); + function wc_slm_add_tab($wc_slm_data_tabs) + { + $wc_slm_data_tabs['wc_slm_data_tab'] = array( + 'label' => __('Licensing', 'woocommerce'), + 'target' => 'wc_slm_meta', + 'class' => array('show_if_simple', 'show_if_wc_slm_data_tab_enabled'), + ); - return $wc_slm_data_tabs; -} + return $wc_slm_data_tabs; + } -function wc_slm_data_panel() { - global $post; - ?> -
    - - -
    - '_domain_licenses', - 'label' => __( 'Domain Licenses', 'woocommerce' ), - 'placeholder' => '0', - 'desc_tip' => 'true', - 'type' => 'number', - 'description' => __( 'Enter the allowed amount of domains this license can have (websites).', 'woocommerce' ) - ) - ); - woocommerce_wp_text_input( - array( - 'id' => '_devices_licenses', - 'label' => __( 'Devices Licenses', 'woocommerce' ), - 'placeholder' => '0', - 'desc_tip' => 'true', - 'type' => 'number', - 'description' => __( 'Enter the allowed amount of devices this license can have (computers, mobile, etc).', 'woocommerce' ) - ) - ); - woocommerce_wp_text_input( - array( - 'id' => '_license_renewal_period', - 'label' => __( 'Renewal period ', 'woocommerce' ), - 'placeholder' => '0', - 'desc_tip' => 'true', - 'description' => __( 'License renewal period(yearly) , enter 0 for lifetime.', 'woocommerce' ) - ) - ); - woocommerce_wp_select( - array( - 'id' => '_license_type', - 'label' => __( 'License Type', 'woocommerce' ), - 'placeholder' => 'Select one', - 'desc_tip' => 'true', - 'description' => __( 'type of license: subscription base or lifetime', 'woocommerce' ), - 'options' => array( - 'none' => __( 'Select one', 'woocommerce' ), - 'subscription' => __( 'subscription', 'woocommerce' ), - 'lifetime' => __( 'lifetime', 'woocommerce' ), - ) - ) - ); - woocommerce_wp_text_input( - array( - 'id' => '_license_current_version', - 'label' => __( 'Current Version', 'woocommerce' ), - 'placeholder' => '0.0.0', - 'desc_tip' => 'true', - 'description' => __( 'Enter the current version of your application, theme, or plug-in', 'woocommerce' ) - ) - ); - ?> -
    -
    +
    -/** Hook callback function to save custom fields information */ -function wc_slm_save_data($post_id) { - $_domain_licenses = $_POST['_domain_licenses']; - if (!empty($_domain_licenses)) { - update_post_meta($post_id, '_domain_licenses', esc_attr($_domain_licenses)); - } + +
    + '_domain_licenses', + 'label' => __('Domain Licenses', 'woocommerce'), + 'placeholder' => '0', + 'desc_tip' => 'true', + 'type' => 'number', + 'description' => __('Enter the allowed amount of domains this license can have (websites).', 'woocommerce') + ) + ); + woocommerce_wp_text_input( + array( + 'id' => '_devices_licenses', + 'label' => __('Devices Licenses', 'woocommerce'), + 'placeholder' => '0', + 'desc_tip' => 'true', + 'type' => 'number', + 'description' => __('Enter the allowed amount of devices this license can have (computers, mobile, etc).', 'woocommerce') + ) + ); + woocommerce_wp_select( + array( + 'id' => '_license_type', + 'label' => __('License Type', 'woocommerce'), + 'placeholder' => 'Select one', + 'desc_tip' => 'true', + 'description' => __('type of license: subscription base or lifetime', 'woocommerce'), + 'options' => array( + 'none' => __('Select one', 'woocommerce'), + 'subscription' => __('subscription', 'woocommerce'), + 'lifetime' => __('lifetime', 'woocommerce'), + ) + ) + ); + woocommerce_wp_text_input( + array( + 'id' => '_license_renewal_period', + 'label' => __('Renewal period ', 'woocommerce'), + 'placeholder' => '0', + 'desc_tip' => 'true', + 'description' => __('License renewal period(yearly) , enter 0 for lifetime.', 'woocommerce') + ) + ); - $is_wc_slm_data_tab_enabled = isset( $_POST['_wc_slm_data_tab_enabled'] ) ? 'yes' : 'no'; - update_post_meta( $post_id, '_wc_slm_data_tab_enabled', $is_wc_slm_data_tab_enabled ); + woocommerce_wp_text_input( + array( + 'id' => '_license_current_version', + 'label' => __('Current Version', 'woocommerce'), + 'placeholder' => '0.0.0', + 'desc_tip' => 'true', + 'description' => __('Enter the current version of your application, theme, or plug-in', 'woocommerce') + ) + ); - $_license_type = $_POST['_license_type']; - if (!empty($_license_type)) { - update_post_meta($post_id, '_license_type', esc_attr($_license_type)); + woocommerce_wp_text_input( + array( + 'id' => '_license_until_version', + 'label' => __('Until Version', 'woocommerce'), + 'placeholder' => '0.0.0', + 'desc_tip' => 'true', + 'description' => __('Enter the version until support expires.', 'woocommerce') + ) + ); + ?> +
    +
    -
    +
    get_results("SELECT * FROM " . $wpdb->prefix . "lic_reg_devices_tbl WHERE `lic_key` = '" . $license_info->license_key . "' ORDER BY `lic_key_id` LIMIT 0,1000;", ARRAY_A); ?> -
    -
    Domain(s)
    -
      - ' . $domain_info["registered_domain"] . ''; +
      +
      +
      Domain(s)
      +
        + no data available"; } else { + foreach ($detailed_domain_info as $domain_info) { + + if (isset($domain_info["lic_key"]) && !empty($domain_info["lic_key"])) { + echo '
      • ' . $domain_info["registered_domain"] . '
      • '; + } else { + echo "
      • no data available
      • "; + } + } + } + $out = array_values($detailed_license_info); + $license_key_json_data = json_encode($out); + + ?> + +
      +
      +
      +
      Device(s)
      +
        + no data available"; + } else { + foreach ($detailed_devices_info as $devices_info) { + if (isset($devices_info["lic_key"]) && !empty($devices_info["lic_key"])) { + echo '
      • ' . $devices_info["registered_devices"] . '
      • '; + } else { + echo "
      • no data available
      • "; + } + } } - } - $out = array_values($detailed_license_info); - $license_key_json_data = json_encode($out); - - ?> + ?> +
      +
      +
      +
      -
      - + +
      -
    -
    -
    -
    Device(s)
    -
      +
      ' . $devices_info["registered_devices"] . ''; - } else { - echo "
    • no data available
    • "; + // woo download integration + $slm_woo_order_id = $license_info->purchase_id_; + $slm_woo_product_id = $license_info->product_ref; + $woo_download_db = 'woocommerce_downloadable_product_permissions'; + + $get_woo_downloads = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . $woo_download_db . " WHERE `product_id` = '" . $slm_woo_product_id . "' ORDER BY `product_id` LIMIT 0,1000;", ARRAY_A); + + if ($license_info->lic_status == 'active' || $license_info->lic_status == 'pending') { + + echo '
      '; + + foreach ($get_woo_downloads as $download) { + $get_files = get_post_meta($slm_woo_product_id, '_downloadable_files', true); + $file_name = $get_files[$download["download_id"]]['name']; + //var_dump($my_meta); + + if (isset($download["order_key"]) && !empty($download["order_key"]) && $download["user_id"] == SLM_Woo_Account::getActiveUser('id')) { + echo ''; + } } - } - ?> -
    -
    -
    - View Order #purchase_id_; ?> + } else { + echo '

    You are not allowed to view/download files. Renew or upgarde your license.

    '; + } ?> +
    +
    +
    diff --git a/software-license-manager.php b/software-license-manager.php index f11c530..4b3e21c 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -2,7 +2,7 @@ /* Plugin Name: Software License Manager -Version: 4.11.2 +Version: 4.12.1 Plugin URI: https://github.com/michelve/software-license-manager/ Author: Michel Velis Author URI: https://www.epikly.com/ @@ -19,24 +19,22 @@ global $wpdb, $slm_debug_logger; //Short name/slug "SLM" or "slm" -define('SLM_VERSION', '4.11.2'); -define('SLM_DB_VERSION', '2.7.6'); -define('SLM_REWRITE_VERSION', '1.1.2'); -define('WOO_SLM_VER', SLM_VERSION); -define('WOO_SLM_API_URL', get_site_url().'/'); +define('SLM_VERSION', '4.12.1'); +define('SLM_DB_VERSION', '2.9.1'); +define('SLM_REWRITE_VERSION', '1.1.4'); define('SLM_FOLDER', dirname(plugin_basename(__FILE__))); define('SLM_URL', plugins_url('' ,__FILE__)); -define('SLM_ASSETS_URL', plugins_url('' ,__FILE__) . '/public/assets/'); +define('SLM_ASSETS_URL', SLM_URL . '/public/assets/'); define('SLM_PATH', plugin_dir_path(__FILE__)); -define('SLM_LIB', SLM_PATH . 'includes/'); -define('SLM_WOO', SLM_PATH . 'woocommerce/'); -define('SLM_ADMIN', SLM_PATH . 'admin/'); -define('SLM_ADMIN_ADDONS', SLM_PATH . 'admin/includes/'); -define('SLM_CRONS', SLM_PATH . 'admin/includes/cronjobs/'); -define('SLM_PUBLIC', SLM_PATH . 'public/'); -define('SLM_TEAMPLATES', SLM_PATH . 'templates/'); +define('SLM_LIB', SLM_PATH . 'includes/'); +define('SLM_WOO', SLM_PATH . 'woocommerce/'); +define('SLM_ADMIN', SLM_PATH . 'admin/'); +define('SLM_ADMIN_ADDONS', SLM_ADMIN . 'includes/'); +define('SLM_CRONS', SLM_ADMIN_ADDONS . 'cronjobs/'); +define('SLM_PUBLIC', SLM_PATH . 'public/'); +define('SLM_TEAMPLATES', SLM_PATH . 'templates/'); define('SLM_SITE_HOME_URL', home_url()); -define('SLM_SITE_URL', site_url()); +define('SLM_SITE_URL', get_site_url() . '/'); define('SLM_TBL_LICENSE_KEYS', $wpdb->prefix . "lic_key_tbl"); define('SLM_TBL_LIC_DOMAIN', $wpdb->prefix . "lic_reg_domain_tbl"); define('SLM_TBL_LIC_DEVICES', $wpdb->prefix . "lic_reg_devices_tbl"); diff --git a/woocommerce/includes/class.php b/woocommerce/includes/class.php index fb9b1fd..fcecfb7 100644 --- a/woocommerce/includes/class.php +++ b/woocommerce/includes/class.php @@ -57,3 +57,17 @@ function slm_get_processing_notification_content( $order, $heading = false, $mai } +if (null !== SLM_Helper_Class::slm_get_option('slm_woo_downloads') && SLM_Helper_Class::slm_get_option('slm_woo_downloads') == 1) { + // disable downloads + function slm_woo_remove_downlaods($items) + { + unset($items['downloads']); + return $items; + } + function slm_remove_order_downloads_from_emails($emails) + { + remove_action('woocommerce_email_order_details', array($emails, 'order_downloads'), 10); + } + add_action('woocommerce_email', 'slm_remove_order_downloads_from_emails', 10, 1); + add_filter('woocommerce_account_menu_items', 'slm_woo_remove_downlaods'); +} diff --git a/woocommerce/includes/purchase.php b/woocommerce/includes/purchase.php index e1e68c6..b27ea10 100755 --- a/woocommerce/includes/purchase.php +++ b/woocommerce/includes/purchase.php @@ -26,7 +26,7 @@ function wc_slm_on_complete_purchase($order_id) { //SLM_Helper_Class::write_log('loading wc_slm_on_complete_purchase'); - if (WOO_SLM_API_URL != '' && WOO_SLM_API_SECRET != '') { + if ( SLM_SITE_URL != '' && WOO_SLM_API_SECRET != '') { wc_slm_create_license_keys($order_id); } } @@ -35,8 +35,9 @@ function wc_slm_create_license_keys($order_id) { // SLM_Helper_Class::write_log('loading wc_slm_create_license_keys'); - $order_id = wc_get_order($order_id); - $purchase_id_ = $order_id->get_id(); + $order_id = wc_get_order($order_id); + $purchase_id_ = $order_id->get_id(); + $variations_items_ = $order_id->get_items(); // SLM_Helper_Class::write_log('purchase_id_ -- '.$purchase_id_ ); // SLM_Helper_Class::write_log('purchase_id_ -- '.$user_id ); @@ -57,132 +58,125 @@ function wc_slm_create_license_keys($order_id) { $licenses = array(); $items = $order_id->get_items(); - //SLM_Helper_Class::write_log($items); - foreach ($items as $item => $values) { $download_id = $product_id = $values['product_id']; $product = new WC_Product($product_id); - // $variation_id = new WC_Product_Variation($product_id); - - //if ($product->is_downloadable('yes')) { - - $download_quantity = absint($values['qty']); - for ($i = 1; $i <= $download_quantity; $i++) { - /** - * Calculate Expire date - * @since 1.0.3 - */ - $renewal_period = (int) wc_slm_get_licensing_renewal_period($product_id); - - if ($renewal_period == 0) { - $renewal_period = '0000-00-00'; - } - else { - $renewal_period = date('Y-m-d', strtotime('+' . $renewal_period . ' years')); - } - - //SLM_Helper_Class::write_log('renewal_period -- '.$renewal_period ); - - - // Sites allowed get license meta from variation - $sites_allowed = wc_slm_get_sites_allowed($product_id); - $devices_allowed = wc_slm_get_devices_allowed($product_id); - $amount_of_licenses = wc_slm_get_licenses_qty($product_id); - - if (!$sites_allowed) { - $sites_allowed_error = __('License could not be created: Invalid sites allowed number.', 'wc-slm'); - $int = wc_insert_payment_note($purchase_id_, $sites_allowed_error); - break; - } - - // Get an instance of the WC_Order object (same as before) - $order = new WC_Order( $order_id ); - - // Get the order ID - $order_id = $order->get_id(); - - // Get the custumer ID - // $user_id = $order->get_user_id(); - $order_data = $order->get_data(); // The Order data - - // Iterating through each WC_Order_Item objects - foreach( $order-> get_items() as $item_key => $item_values ){ - - ## Using WC_Order_Item methods ## - $item_id = $item_values->get_id(); - $item_name = $item_values->get_name(); - $item_type = $item_values->get_type(); - - ## Access Order Items data properties (in an array of values) ## - $item_data = $item_values->get_data(); - $product_name = $item_data['name']; - $product_id = $item_data['product_id']; - // $variation_id = $item_data['variation_id']; - $quantity = $item_data['quantity']; - $tax_class = $item_data['tax_class']; - $line_subtotal = $item_data['subtotal']; - $line_subtotal_tax = $item_data['subtotal_tax']; - $line_total = $item_data['total']; - $line_total_tax = $item_data['total_tax']; - // $post_object = get_post($variation_id); - - $amount_of_licenses = wc_slm_get_sites_allowed($product_id); - $_license_current_version = get_post_meta( $product_id, '_license_current_version', true ); - $amount_of_licenses_devices = wc_slm_get_devices_allowed($product_id); - $current_version = (int)get_post_meta( $product_id, '_license_current_version', true); - $license_type = get_post_meta( $product_id, '_license_type', true ); - } - - // Transaction id - $transaction_id = wc_get_payment_transaction_id($product_id); - - // Build item name - $item_name = $product->get_title(); - - // Build parameters - $api_params = array(); - $api_params['slm_action'] = 'slm_create_new'; - $api_params['secret_key'] = KEY_API; - $api_params['first_name'] = (isset($payment_meta['user_info']['first_name'])) ? $payment_meta['user_info']['first_name'] : ''; - $api_params['last_name'] = (isset($payment_meta['user_info']['last_name'])) ? $payment_meta['user_info']['last_name'] : ''; - $api_params['email'] = (isset($payment_meta['user_info']['email'])) ? $payment_meta['user_info']['email'] : ''; - $api_params['company_name'] = $payment_meta['user_info']['company']; - $api_params['purchase_id_'] = $purchase_id_; - $api_params['product_ref'] = $product_id; // TODO: get product id - $api_params['txn_id'] = $purchase_id_; - $api_params['max_allowed_domains'] = $amount_of_licenses; - $api_params['max_allowed_devices'] = $amount_of_licenses_devices; - $api_params['date_created'] = date('Y-m-d'); - $api_params['date_expiry'] = $renewal_period; - $api_params['until'] = $_license_current_version; - $api_params['subscr_id'] = $order->get_customer_id(); - $api_params['lic_type'] = $license_type; - - //access_expires - - //SLM_Helper_Class::write_log('license_type -- ' . $license_type ); - - // Send query to the license manager server - $url = 'http://' . WOO_SLM_API_URL . '?' . http_build_query($api_params); - $url = str_replace(array('http://', 'https://'), '', $url); - $url = 'http://' . $url; - $response = wp_remote_get($url, array('timeout' => 20, 'sslverify' => false)); - $license_key = wc_slm_get_license_key($response); - - // Collect license keys - if ($license_key) { - $licenses[] = array( - 'item' => $item_name, - 'key' => $license_key, - 'expires' => $renewal_period, - 'type' => $license_type, - 'status' => 'pending', - 'version' => $_license_current_version - ); - } + + $download_quantity = absint($values['qty']); + for ($i = 1; $i <= $download_quantity; $i++) { + /** + * Calculate Expire date + * @since 1.0.3 + */ + $renewal_period = (int) wc_slm_get_licensing_renewal_period($product_id); + + if ($renewal_period == 0) { + $renewal_period = '0000-00-00'; + } + else { + $renewal_period = date('Y-m-d', strtotime('+' . $renewal_period . ' years')); + } + //SLM_Helper_Class::write_log('renewal_period -- '.$renewal_period ); + + // Sites allowed get license meta from variation + $sites_allowed = wc_slm_get_sites_allowed($product_id); + $devices_allowed = wc_slm_get_devices_allowed($product_id); + $amount_of_licenses = wc_slm_get_licenses_qty($product_id); + + if (!$sites_allowed) { + $sites_allowed_error = __('License could not be created: Invalid sites allowed number.', 'slm'); + $int = wc_insert_payment_note($purchase_id_, $sites_allowed_error); + break; } - // } + + // Get an instance of the WC_Order object (same as before) + $order = new WC_Order( $order_id ); + + // Get the order ID + $order_id = $order->get_id(); + + // Get the custumer ID + // $user_id = $order->get_user_id(); + $order_data = $order->get_data(); // The Order data + + // Iterating through each WC_Order_Item objects + foreach( $order-> get_items() as $item_key => $item_values ){ + + ## Using WC_Order_Item methods ## + $item_id = $item_values->get_id(); + $item_name = $item_values->get_name(); + $item_type = $item_values->get_type(); + + ## Access Order Items data properties (in an array of values) ## + $item_data = $item_values->get_data(); + $product_name = $item_data['name']; + $product_id = $item_data['product_id']; + // $variation_id = $item_data['variation_id']; + // $quantity = $item_data['quantity']; + // $tax_class = $item_data['tax_class']; + // $line_subtotal = $item_data['subtotal']; + // $line_subtotal_tax = $item_data['subtotal_tax']; + // $line_total = $item_data['total']; + // $line_total_tax = $item_data['total_tax']; + // $post_object = get_post($variation_id); + + $amount_of_licenses = wc_slm_get_sites_allowed($product_id); + $_license_current_version = get_post_meta( $product_id, '_license_current_version', true ); + $_license_until_version = get_post_meta($product_id, '_license_until_version', true); + $amount_of_licenses_devices = wc_slm_get_devices_allowed($product_id); + $current_version = (int)get_post_meta( $product_id, '_license_current_version', true); + $license_type = get_post_meta( $product_id, '_license_type', true ); + } + + // Transaction id + $transaction_id = wc_get_payment_transaction_id($product_id); + + // Build item name + $item_name = $product->get_title(); + + // Build parameters + $api_params = array(); + $api_params['slm_action'] = 'slm_create_new'; + $api_params['secret_key'] = KEY_API; + $api_params['first_name'] = (isset($payment_meta['user_info']['first_name'])) ? $payment_meta['user_info']['first_name'] : ''; + $api_params['last_name'] = (isset($payment_meta['user_info']['last_name'])) ? $payment_meta['user_info']['last_name'] : ''; + $api_params['email'] = (isset($payment_meta['user_info']['email'])) ? $payment_meta['user_info']['email'] : ''; + $api_params['company_name'] = $payment_meta['user_info']['company']; + $api_params['purchase_id_'] = $purchase_id_; + $api_params['product_ref'] = $product_id; // TODO: get product id + $api_params['txn_id'] = $purchase_id_; + $api_params['max_allowed_domains'] = $amount_of_licenses; + $api_params['max_allowed_devices'] = $amount_of_licenses_devices; + $api_params['date_created'] = date('Y-m-d'); + $api_params['date_expiry'] = $renewal_period; + $api_params['until'] = $_license_until_version; + $api_params['current_ver'] = $_license_current_version; + $api_params['subscr_id'] = $order->get_customer_id(); + $api_params['lic_type'] = $license_type; + + //access_expires + //SLM_Helper_Class::write_log('license_type -- ' . $license_type ); + // Send query to the license manager server + $url = 'http://' . WOO_SLM_API_URL . '?' . http_build_query($api_params); + $url = str_replace(array('http://', 'https://'), '', $url); + $url = 'http://' . $url; + $response = wp_remote_get($url, array('timeout' => 20, 'sslverify' => false)); + $license_key = wc_slm_get_license_key($response); + + // Collect license keys + if ($license_key) { + $licenses[] = array( + 'item' => $item_name, + 'key' => $license_key, + 'expires' => $renewal_period, + 'type' => $license_type, + 'status' => 'pending', + 'version' => $_license_current_version, + 'until' => $_license_until_version + ); + } + } } // Payment note @@ -227,6 +221,7 @@ function wc_slm_payment_note($order_id, $licenses) { add_post_meta($order_id, 'slm_wc_license_type', $license[ 'type']); add_post_meta($order_id, 'slm_wc_license_status', $license['status']); add_post_meta($order_id, 'slm_wc_license_version', $license[ 'version']); + add_post_meta($order_id, 'slm_wc_until_version', $license['until']); //SLM_Helper_Class::write_log($license_key); } @@ -332,7 +327,7 @@ function slm_order_completed( $order_id ) { $order_billing_email = $order_data['billing']['email']; $billing_address = $order_billing_email; - $message = 'ddd00'; + $message = 'error: 000 null'; $get_user_meta = get_user_meta($user_id); @@ -364,22 +359,7 @@ function slm_show_msg( $order_id ) { //var_dump(get_post_meta($product_id)); if ($amount_of_licenses) { - echo '
    -

    My subscriptions

    - - - - - - - - - - - -
    My Account
    - You can see and manage your licenses inside your account. Manage Licenses
    -
    '; + echo '

    My subscriptions

    My Account
    You can see and manage your licenses inside your account. Manage Licenses
    '; } } } @@ -412,15 +392,13 @@ function slm_add_lic_key_meta_update($order_id) * Display field value on the order edit page */ -function slm_add_lic_key_meta_display($order) -{ +function slm_add_lic_key_meta_display($order){ echo '

    ' . __('License key') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_order_key', true) . '

    '; echo '

    ' . __('License expiration') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_expires', true) . '

    '; - echo '

    ' . __('License type') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_type', true) . '

    '; - echo '

    ' . __('License status') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_status', true) . '

    '; - echo '

    ' . __('License version') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_version', true) . '

    '; + echo '

    ' . __('License current version') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_version', true) . '

    '; + echo '

    ' . __('Supported until version') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_until_version', true) . '

    '; } /** From 3c3dfa105f5022fb7fc9381ba425e469dc86992b Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Mon, 17 Jun 2019 13:04:22 -0400 Subject: [PATCH 055/293] 4.12.1 release --- CHANGELOG.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9949cc1..b0832ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,13 +7,22 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +## [4.12.1](https://github.com/michelve/software-license-manager/compare/4.11.2...4.12.1) - 2019-06-17 + +### Commits + +- ### 4.12.1 [`4b3adc2`](https://github.com/michelve/software-license-manager/commit/4b3adc2a2687f008362fb864eb39a759fc3a22c3) +- ### 4.12.1 [`89acaa5`](https://github.com/michelve/software-license-manager/commit/89acaa5718721cfdce40fcab70036367d2592c11) +- added change-log and updated readme file [`123564f`](https://github.com/michelve/software-license-manager/commit/123564f08ba7877da99fb6f826b03dbfceed0795) +- security.md [`3d225ce`](https://github.com/michelve/software-license-manager/commit/3d225ceffe5a5e65049112098656198335d066f1) + ## [4.11.2](https://github.com/michelve/software-license-manager/compare/4.10.3...4.11.2) - 2019-06-12 ### Commits - upgraded jQuery ui version [`27fe73f`](https://github.com/michelve/software-license-manager/commit/27fe73fe555c4a9b5b3044042be7c8b66cd0f2bd) -## [4.10.4](https://github.com/michelve/software-license-manager/compare/4.11.2...4.10.4) - 2019-06-12 +## [4.10.4](https://github.com/michelve/software-license-manager/compare/4.12.1...4.10.4) - 2019-06-17 ## [4.10.3](https://github.com/michelve/software-license-manager/compare/3.6.2...4.10.3) - 2019-05-14 From f9d3edd0f8db2e06fd6a71a2ea3567d9cc3e5446 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Mon, 17 Jun 2019 13:05:57 -0400 Subject: [PATCH 056/293] fixed preview images --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 531b57e..f97bb61 100755 --- a/README.md +++ b/README.md @@ -53,20 +53,20 @@ Changelog: [View changelog](https://github.com/michelve/software-license-manager ## Screenshots -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager - + -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager From 36b80696e3111f5b80910b9e549773fd382543f2 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Mon, 1 Jul 2019 14:50:31 -0400 Subject: [PATCH 057/293] ## Features - added: support for email reminder, user will receive an email when license has expired - fixed: a bug where email will be send-out - added: custom fields to woocommece order - added: product type (license) for woocommerce - rebuilt my licenses in my account page - added: until version and current version to api - ui: change styles to match more wp interface --- CHANGELOG.md | 11 +- README.md | 18 +- admin/includes/cronjobs/slm-tasks.php | 30 +- .../plugin-update-checker/.editorconfig | 15 + .../plugin-update-checker/Puc/v4/Factory.php | 6 + .../Puc/v4p6/Autoloader.php | 49 + .../Puc/v4p6/DebugBar/Extension.php | 177 ++ .../Puc/v4p6/DebugBar/Panel.php | 165 ++ .../Puc/v4p6/DebugBar/PluginExtension.php | 33 + .../Puc/v4p6/DebugBar/PluginPanel.php | 38 + .../Puc/v4p6/DebugBar/ThemePanel.php | 21 + .../Puc/v4p6/Factory.php | 297 ++++ .../Puc/v4p6/InstalledPackage.php | 103 ++ .../Puc/v4p6/Metadata.php | 132 ++ .../Puc/v4p6/OAuthSignature.php | 100 ++ .../Puc/v4p6/Plugin/Info.php | 130 ++ .../Puc/v4p6/Plugin/Package.php | 184 ++ .../Puc/v4p6/Plugin/Ui.php | 277 +++ .../Puc/v4p6/Plugin/Update.php | 110 ++ .../Puc/v4p6/Plugin/UpdateChecker.php | 396 +++++ .../Puc/v4p6/Scheduler.php | 231 +++ .../Puc/v4p6/StateStore.php | 207 +++ .../Puc/v4p6/Theme/Package.php | 65 + .../Puc/v4p6/Theme/Update.php | 84 + .../Puc/v4p6/Theme/UpdateChecker.php | 142 ++ .../plugin-update-checker/Puc/v4p6/Update.php | 34 + .../Puc/v4p6/UpdateChecker.php | 926 ++++++++++ .../Puc/v4p6/UpgraderStatus.php | 199 +++ .../plugin-update-checker/Puc/v4p6/Utils.php | 69 + .../Puc/v4p6/Vcs/Api.php | 302 ++++ .../Puc/v4p6/Vcs/BaseChecker.php | 27 + .../Puc/v4p6/Vcs/BitBucketApi.php | 265 +++ .../Puc/v4p6/Vcs/GitHubApi.php | 413 +++++ .../Puc/v4p6/Vcs/GitLabApi.php | 297 ++++ .../Puc/v4p6/Vcs/PluginUpdateChecker.php | 213 +++ .../Puc/v4p6/Vcs/Reference.php | 49 + .../Puc/v4p6/Vcs/ThemeUpdateChecker.php | 118 ++ .../css/puc-debug-bar.css | 70 + .../plugin-update-checker/js/debug-bar.js | 52 + .../languages/plugin-update-checker-cs_CZ.mo | Bin 0 -> 1077 bytes .../languages/plugin-update-checker-cs_CZ.po | 45 + .../languages/plugin-update-checker-da_DK.mo | Bin 0 -> 1010 bytes .../languages/plugin-update-checker-da_DK.po | 42 + .../languages/plugin-update-checker-de_DE.mo | Bin 0 -> 980 bytes .../languages/plugin-update-checker-de_DE.po | 38 + .../languages/plugin-update-checker-fa_IR.mo | Bin 0 -> 1128 bytes .../languages/plugin-update-checker-fa_IR.po | 38 + .../languages/plugin-update-checker-fr_CA.mo | Bin 0 -> 1208 bytes .../languages/plugin-update-checker-fr_CA.po | 48 + .../languages/plugin-update-checker-fr_FR.mo | Bin 0 -> 1066 bytes .../languages/plugin-update-checker-fr_FR.po | 42 + .../languages/plugin-update-checker-hu_HU.mo | Bin 0 -> 982 bytes .../languages/plugin-update-checker-hu_HU.po | 41 + .../languages/plugin-update-checker-it_IT.mo | Bin 0 -> 989 bytes .../languages/plugin-update-checker-it_IT.po | 38 + .../languages/plugin-update-checker-ja.mo | Bin 0 -> 1105 bytes .../languages/plugin-update-checker-ja.po | 42 + .../languages/plugin-update-checker-nl_BE.mo | Bin 0 -> 1211 bytes .../languages/plugin-update-checker-nl_BE.po | 48 + .../languages/plugin-update-checker-nl_NL.mo | Bin 0 -> 1211 bytes .../languages/plugin-update-checker-nl_NL.po | 48 + .../languages/plugin-update-checker-pt_BR.mo | Bin 0 -> 1014 bytes .../languages/plugin-update-checker-pt_BR.po | 48 + .../languages/plugin-update-checker-sv_SE.mo | Bin 0 -> 1006 bytes .../languages/plugin-update-checker-sv_SE.po | 42 + .../languages/plugin-update-checker.pot | 49 + .../plugin-update-checker/license.txt | 7 + .../plugin-update-checker.php | 34 + .../vendor/Parsedown.php | 1538 +++++++++++++++++ .../vendor/ParsedownLegacy.php | 1535 ++++++++++++++++ .../vendor/readme-parser.php | 341 ++++ admin/includes/wpestores/slm-wpestores.php | 2 +- admin/slm-add-licenses.php | 27 +- admin/slm-admin-functions.php | 6 +- admin/slm-admin-init.php | 7 - admin/slm-integration-help-page.php | 174 +- admin/slm-lic-settings.php | 300 ++-- admin/slm-list-licenses-class.php | 72 +- admin/slm-manage-licenses.php | 20 +- admin/slm-subscribers.php | 14 +- includes/class-slm-installer.php | 21 +- includes/mails/expired.php | 251 +++ includes/slm-meta-boxes.php | 104 +- includes/slm-plugin-core.php | 44 +- includes/slm-scripts.php | 5 +- includes/slm-utility.php | 112 +- includes/slm-wizard.php | 2 + includes/wp-mail-class.php | 437 +++++ languages/softwarelicensemanager-es_ES.mo | Bin 0 -> 11210 bytes languages/softwarelicensemanager-es_ES.po | 495 ++++++ languages/softwarelicensemanager-es_US.mo | Bin 0 -> 11213 bytes languages/softwarelicensemanager-es_US.po | 495 ++++++ languages/softwarelicensemanager.pot | 454 +++++ nbproject/project.properties | 7 + nbproject/project.xml | 9 + public/assets/css/slm-front-end.css | 29 +- public/assets/js/wplm-custom-admin.js | 17 +- public/slm-add-menu-frontend.php | 228 +-- software-license-manager.php | 17 +- software-license-manager/addons/loader.php | 4 + .../addons/woocommerce/includes/emails.php | 55 + .../addons/woocommerce/includes/helper.php | 23 + .../addons/woocommerce/includes/purchase.php | 385 +++++ .../addons/woocommerce/includes/settings.php | 64 + .../addons/woocommerce/loader.php | 103 ++ .../client-side-examples/index.html | 0 .../sample-php-scripts/create-license.php | 27 + .../sample-plugin/slm-sample-plugin.php | 144 ++ software-license-manager/css/jquery-ui.css | 1225 +++++++++++++ .../includes/slm-api-listener.php | 350 ++++ .../includes/slm-api-utility.php | 57 + .../includes/slm-error-codes.php | 20 + .../includes/slm-init-time-tasks.php | 46 + .../includes/slm-meta-boxes.php | 64 + .../includes/slm-third-party-integration.php | 301 ++++ .../includes/slm-utility.php | 73 + software-license-manager/index.html | 0 software-license-manager/js/index.html | 0 .../js/wplm-custom-admin.js | 11 + .../menu/includes/index.html | 0 .../menu/includes/slm-list-table-class.php | 907 ++++++++++ software-license-manager/menu/index.html | 0 .../menu/slm-add-licenses.php | 394 +++++ .../menu/slm-admin-functions.php | 50 + .../menu/slm-admin-init.php | 25 + .../menu/slm-integration-help-page.php | 118 ++ .../menu/slm-lic-settings.php | 143 ++ .../menu/slm-list-licenses-class.php | 157 ++ .../menu/slm-manage-licenses.php | 49 + software-license-manager/slm_bootstrap.php | 51 + software-license-manager/slm_installer.php | 75 + software-license-manager/slm_plugin_core.php | 81 + .../emails/customer-completed-order.php | 27 - woocommerce/includes/class.php | 73 - woocommerce/includes/purchase.php | 47 +- woocommerce/includes/wc-slm.php | 4 +- 136 files changed, 17950 insertions(+), 671 deletions(-) create mode 100755 admin/includes/plugin-update-checker/.editorconfig create mode 100755 admin/includes/plugin-update-checker/Puc/v4/Factory.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Autoloader.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/Extension.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/Panel.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/PluginExtension.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/PluginPanel.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/ThemePanel.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Factory.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/InstalledPackage.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Metadata.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/OAuthSignature.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Info.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Package.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Update.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Plugin/UpdateChecker.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Scheduler.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/StateStore.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Theme/Package.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Theme/Update.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Theme/UpdateChecker.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Update.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/UpdateChecker.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/UpgraderStatus.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Utils.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Vcs/Api.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Vcs/BaseChecker.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Vcs/BitBucketApi.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Vcs/GitHubApi.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Vcs/GitLabApi.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Vcs/PluginUpdateChecker.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Vcs/Reference.php create mode 100755 admin/includes/plugin-update-checker/Puc/v4p6/Vcs/ThemeUpdateChecker.php create mode 100755 admin/includes/plugin-update-checker/css/puc-debug-bar.css create mode 100755 admin/includes/plugin-update-checker/js/debug-bar.js create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-cs_CZ.mo create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-cs_CZ.po create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-da_DK.mo create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-da_DK.po create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-de_DE.mo create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-de_DE.po create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-fa_IR.mo create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-fa_IR.po create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-fr_CA.mo create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-fr_CA.po create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-fr_FR.mo create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-fr_FR.po create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-hu_HU.mo create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-hu_HU.po create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-it_IT.mo create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-it_IT.po create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-ja.mo create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-ja.po create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_BE.mo create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_BE.po create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_NL.mo create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_NL.po create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-pt_BR.mo create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-pt_BR.po create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-sv_SE.mo create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-sv_SE.po create mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker.pot create mode 100755 admin/includes/plugin-update-checker/license.txt create mode 100755 admin/includes/plugin-update-checker/plugin-update-checker.php create mode 100755 admin/includes/plugin-update-checker/vendor/Parsedown.php create mode 100755 admin/includes/plugin-update-checker/vendor/ParsedownLegacy.php create mode 100755 admin/includes/plugin-update-checker/vendor/readme-parser.php create mode 100644 includes/mails/expired.php create mode 100644 includes/slm-wizard.php create mode 100644 includes/wp-mail-class.php create mode 100644 languages/softwarelicensemanager-es_ES.mo create mode 100644 languages/softwarelicensemanager-es_ES.po create mode 100644 languages/softwarelicensemanager-es_US.mo create mode 100644 languages/softwarelicensemanager-es_US.po create mode 100644 languages/softwarelicensemanager.pot create mode 100644 nbproject/project.properties create mode 100644 nbproject/project.xml create mode 100644 software-license-manager/addons/loader.php create mode 100644 software-license-manager/addons/woocommerce/includes/emails.php create mode 100644 software-license-manager/addons/woocommerce/includes/helper.php create mode 100644 software-license-manager/addons/woocommerce/includes/purchase.php create mode 100644 software-license-manager/addons/woocommerce/includes/settings.php create mode 100644 software-license-manager/addons/woocommerce/loader.php create mode 100644 software-license-manager/client-side-examples/index.html create mode 100644 software-license-manager/client-side-examples/sample-php-scripts/create-license.php create mode 100644 software-license-manager/client-side-examples/sample-plugin/slm-sample-plugin.php create mode 100644 software-license-manager/css/jquery-ui.css create mode 100644 software-license-manager/includes/slm-api-listener.php create mode 100644 software-license-manager/includes/slm-api-utility.php create mode 100644 software-license-manager/includes/slm-error-codes.php create mode 100644 software-license-manager/includes/slm-init-time-tasks.php create mode 100644 software-license-manager/includes/slm-meta-boxes.php create mode 100644 software-license-manager/includes/slm-third-party-integration.php create mode 100644 software-license-manager/includes/slm-utility.php create mode 100644 software-license-manager/index.html create mode 100644 software-license-manager/js/index.html create mode 100644 software-license-manager/js/wplm-custom-admin.js create mode 100644 software-license-manager/menu/includes/index.html create mode 100644 software-license-manager/menu/includes/slm-list-table-class.php create mode 100644 software-license-manager/menu/index.html create mode 100644 software-license-manager/menu/slm-add-licenses.php create mode 100644 software-license-manager/menu/slm-admin-functions.php create mode 100644 software-license-manager/menu/slm-admin-init.php create mode 100644 software-license-manager/menu/slm-integration-help-page.php create mode 100644 software-license-manager/menu/slm-lic-settings.php create mode 100644 software-license-manager/menu/slm-list-licenses-class.php create mode 100644 software-license-manager/menu/slm-manage-licenses.php create mode 100644 software-license-manager/slm_bootstrap.php create mode 100644 software-license-manager/slm_installer.php create mode 100644 software-license-manager/slm_plugin_core.php delete mode 100644 woocommerce/emails/customer-completed-order.php delete mode 100644 woocommerce/includes/class.php diff --git a/CHANGELOG.md b/CHANGELOG.md index b0832ac..9949cc1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,22 +7,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). -## [4.12.1](https://github.com/michelve/software-license-manager/compare/4.11.2...4.12.1) - 2019-06-17 - -### Commits - -- ### 4.12.1 [`4b3adc2`](https://github.com/michelve/software-license-manager/commit/4b3adc2a2687f008362fb864eb39a759fc3a22c3) -- ### 4.12.1 [`89acaa5`](https://github.com/michelve/software-license-manager/commit/89acaa5718721cfdce40fcab70036367d2592c11) -- added change-log and updated readme file [`123564f`](https://github.com/michelve/software-license-manager/commit/123564f08ba7877da99fb6f826b03dbfceed0795) -- security.md [`3d225ce`](https://github.com/michelve/software-license-manager/commit/3d225ceffe5a5e65049112098656198335d066f1) - ## [4.11.2](https://github.com/michelve/software-license-manager/compare/4.10.3...4.11.2) - 2019-06-12 ### Commits - upgraded jQuery ui version [`27fe73f`](https://github.com/michelve/software-license-manager/commit/27fe73fe555c4a9b5b3044042be7c8b66cd0f2bd) -## [4.10.4](https://github.com/michelve/software-license-manager/compare/4.12.1...4.10.4) - 2019-06-17 +## [4.10.4](https://github.com/michelve/software-license-manager/compare/4.11.2...4.10.4) - 2019-06-12 ## [4.10.3](https://github.com/michelve/software-license-manager/compare/3.6.2...4.10.3) - 2019-05-14 diff --git a/README.md b/README.md index f97bb61..531b57e 100755 --- a/README.md +++ b/README.md @@ -53,20 +53,20 @@ Changelog: [View changelog](https://github.com/michelve/software-license-manager ## Screenshots -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager - + -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager diff --git a/admin/includes/cronjobs/slm-tasks.php b/admin/includes/cronjobs/slm-tasks.php index c36bd08..6797753 100644 --- a/admin/includes/cronjobs/slm-tasks.php +++ b/admin/includes/cronjobs/slm-tasks.php @@ -1,28 +1,24 @@ 1*60, - 'display' => __('Every 1 minute'), +add_filter('cron_schedules', 'slm_check_expiration_daily'); +add_action('slm_expired_send_email_reminder', 'slm_run_lic_check'); + +// for dev +function slm_check_expiration_daily($schedules){ + $schedules['slm_daily'] = array( + 'interval' => 21600*4, + 'display' => __('Every day'), ); return $schedules; } - // send automatic scheduled email if (!wp_next_scheduled('slm_expired_send_email_reminder')) { - wp_schedule_event(time(), 'every_minute', 'slm_expired_send_email_reminder'); + wp_schedule_event(time(), 'slm_daily', 'slm_expired_send_email_reminder'); } -add_action('slm_expired_send_email_reminder', 'run_slm_lic_check'); - -function run_slm_lic_check(){ +function slm_run_lic_check(){ SLM_Utility::check_for_expired_lic(); -} \ No newline at end of file +} + + diff --git a/admin/includes/plugin-update-checker/.editorconfig b/admin/includes/plugin-update-checker/.editorconfig new file mode 100755 index 0000000..1b51cad --- /dev/null +++ b/admin/includes/plugin-update-checker/.editorconfig @@ -0,0 +1,15 @@ +[*] +charset=utf-8 +end_of_line=lf +insert_final_newline=false +indent_style=tab +tab_width=4 + +[{phpunit.xml.dist,*.jhm,*.xslt,*.xul,*.rng,*.xsl,*.xsd,*.ant,*.tld,*.fxml,*.jrxml,*.xml,*.jnlp,*.wsdl}] +indent_style=space +indent_size=4 + +[*.svg] +indent_style=space +indent_size=4 + diff --git a/admin/includes/plugin-update-checker/Puc/v4/Factory.php b/admin/includes/plugin-update-checker/Puc/v4/Factory.php new file mode 100755 index 0000000..1fd3f0f --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4/Factory.php @@ -0,0 +1,6 @@ +rootDir = dirname(__FILE__) . '/'; + $nameParts = explode('_', __CLASS__, 3); + $this->prefix = $nameParts[0] . '_' . $nameParts[1] . '_'; + + $this->libraryDir = realpath($this->rootDir . '../..') . '/'; + $this->staticMap = array( + 'PucReadmeParser' => 'vendor/readme-parser.php', + 'Parsedown' => 'vendor/ParsedownLegacy.php', + ); + if ( version_compare(PHP_VERSION, '5.3.0', '>=') ) { + $this->staticMap['Parsedown'] = 'vendor/Parsedown.php'; + } + + spl_autoload_register(array($this, 'autoload')); + } + + public function autoload($className) { + if ( isset($this->staticMap[$className]) && file_exists($this->libraryDir . $this->staticMap[$className]) ) { + /** @noinspection PhpIncludeInspection */ + include ($this->libraryDir . $this->staticMap[$className]); + return; + } + + if (strpos($className, $this->prefix) === 0) { + $path = substr($className, strlen($this->prefix)); + $path = str_replace('_', '/', $path); + $path = $this->rootDir . $path . '.php'; + + if (file_exists($path)) { + /** @noinspection PhpIncludeInspection */ + include $path; + } + } + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/Extension.php b/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/Extension.php new file mode 100755 index 0000000..06f81c5 --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/Extension.php @@ -0,0 +1,177 @@ +updateChecker = $updateChecker; + if ( isset($panelClass) ) { + $this->panelClass = $panelClass; + } + + add_filter('debug_bar_panels', array($this, 'addDebugBarPanel')); + add_action('debug_bar_enqueue_scripts', array($this, 'enqueuePanelDependencies')); + + add_action('wp_ajax_puc_v4_debug_check_now', array($this, 'ajaxCheckNow')); + } + + /** + * Register the PUC Debug Bar panel. + * + * @param array $panels + * @return array + */ + public function addDebugBarPanel($panels) { + if ( $this->updateChecker->userCanInstallUpdates() ) { + $panels[] = new $this->panelClass($this->updateChecker); + } + return $panels; + } + + /** + * Enqueue our Debug Bar scripts and styles. + */ + public function enqueuePanelDependencies() { + wp_enqueue_style( + 'puc-debug-bar-style-v4', + $this->getLibraryUrl("/css/puc-debug-bar.css"), + array('debug-bar'), + '20171124' + ); + + wp_enqueue_script( + 'puc-debug-bar-js-v4', + $this->getLibraryUrl("/js/debug-bar.js"), + array('jquery'), + '20170516' + ); + } + + /** + * Run an update check and output the result. Useful for making sure that + * the update checking process works as expected. + */ + public function ajaxCheckNow() { + if ( $_POST['uid'] !== $this->updateChecker->getUniqueName('uid') ) { + return; + } + $this->preAjaxRequest(); + $update = $this->updateChecker->checkForUpdates(); + if ( $update !== null ) { + echo "An update is available:"; + echo '
    ', htmlentities(print_r($update, true)), '
    '; + } else { + echo 'No updates found.'; + } + + $errors = $this->updateChecker->getLastRequestApiErrors(); + if ( !empty($errors) ) { + printf('

    The update checker encountered %d API error%s.

    ', count($errors), (count($errors) > 1) ? 's' : ''); + + foreach (array_values($errors) as $num => $item) { + $wpError = $item['error']; + /** @var WP_Error $wpError */ + printf('

    %d) %s

    ', $num + 1, esc_html($wpError->get_error_message())); + + echo '
    '; + printf('
    Error code:
    %s
    ', esc_html($wpError->get_error_code())); + + if ( isset($item['url']) ) { + printf('
    Requested URL:
    %s
    ', esc_html($item['url'])); + } + + if ( isset($item['httpResponse']) ) { + if ( is_wp_error($item['httpResponse']) ) { + $httpError = $item['httpResponse']; + /** @var WP_Error $httpError */ + printf( + '
    WordPress HTTP API error:
    %s (%s)
    ', + esc_html($httpError->get_error_message()), + esc_html($httpError->get_error_code()) + ); + } else { + //Status code. + printf( + '
    HTTP status:
    %d %s
    ', + wp_remote_retrieve_response_code($item['httpResponse']), + wp_remote_retrieve_response_message($item['httpResponse']) + ); + + //Headers. + echo '
    Response headers:
    ';
    +							foreach (wp_remote_retrieve_headers($item['httpResponse']) as $name => $value) {
    +								printf("%s: %s\n", esc_html($name), esc_html($value));
    +							}
    +							echo '
    '; + + //Body. + $body = wp_remote_retrieve_body($item['httpResponse']); + if ( $body === '' ) { + $body = '(Empty response.)'; + } else if ( strlen($body) > self::RESPONSE_BODY_LENGTH_LIMIT ) { + $length = strlen($body); + $body = substr($body, 0, self::RESPONSE_BODY_LENGTH_LIMIT) + . sprintf("\n(Long string truncated. Total length: %d bytes.)", $length); + } + + printf('
    Response body:
    %s
    ', esc_html($body)); + } + } + echo '
    '; + } + } + + exit; + } + + /** + * Check access permissions and enable error display (for debugging). + */ + protected function preAjaxRequest() { + if ( !$this->updateChecker->userCanInstallUpdates() ) { + die('Access denied'); + } + check_ajax_referer('puc-ajax'); + + error_reporting(E_ALL); + @ini_set('display_errors', 'On'); + } + + /** + * @param string $filePath + * @return string + */ + private function getLibraryUrl($filePath) { + $absolutePath = realpath(dirname(__FILE__) . '/../../../' . ltrim($filePath, '/')); + + //Where is the library located inside the WordPress directory structure? + $absolutePath = Puc_v4p6_Factory::normalizePath($absolutePath); + + $pluginDir = Puc_v4p6_Factory::normalizePath(WP_PLUGIN_DIR); + $muPluginDir = Puc_v4p6_Factory::normalizePath(WPMU_PLUGIN_DIR); + $themeDir = Puc_v4p6_Factory::normalizePath(get_theme_root()); + + if ( (strpos($absolutePath, $pluginDir) === 0) || (strpos($absolutePath, $muPluginDir) === 0) ) { + //It's part of a plugin. + return plugins_url(basename($absolutePath), $absolutePath); + } else if ( strpos($absolutePath, $themeDir) === 0 ) { + //It's part of a theme. + $relativePath = substr($absolutePath, strlen($themeDir) + 1); + $template = substr($relativePath, 0, strpos($relativePath, '/')); + $baseUrl = get_theme_root_uri($template); + + if ( !empty($baseUrl) && $relativePath ) { + return $baseUrl . '/' . $relativePath; + } + } + + return ''; + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/Panel.php b/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/Panel.php new file mode 100755 index 0000000..06a218d --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/Panel.php @@ -0,0 +1,165 @@ +
    '; + + public function __construct($updateChecker) { + $this->updateChecker = $updateChecker; + $title = sprintf( + 'PUC (%s)', + esc_attr($this->updateChecker->getUniqueName('uid')), + $this->updateChecker->slug + ); + parent::__construct($title); + } + + public function render() { + printf( + '
    ', + esc_attr($this->updateChecker->getUniqueName('debug-bar-panel')), + esc_attr($this->updateChecker->slug), + esc_attr($this->updateChecker->getUniqueName('uid')), + esc_attr(wp_create_nonce('puc-ajax')) + ); + + $this->displayConfiguration(); + $this->displayStatus(); + $this->displayCurrentUpdate(); + + echo '
    '; + } + + private function displayConfiguration() { + echo '

    Configuration

    '; + echo ''; + $this->displayConfigHeader(); + $this->row('Slug', htmlentities($this->updateChecker->slug)); + $this->row('DB option', htmlentities($this->updateChecker->optionName)); + + $requestInfoButton = $this->getMetadataButton(); + $this->row('Metadata URL', htmlentities($this->updateChecker->metadataUrl) . ' ' . $requestInfoButton . $this->responseBox); + + $scheduler = $this->updateChecker->scheduler; + if ( $scheduler->checkPeriod > 0 ) { + $this->row('Automatic checks', 'Every ' . $scheduler->checkPeriod . ' hours'); + } else { + $this->row('Automatic checks', 'Disabled'); + } + + if ( isset($scheduler->throttleRedundantChecks) ) { + if ( $scheduler->throttleRedundantChecks && ($scheduler->checkPeriod > 0) ) { + $this->row( + 'Throttling', + sprintf( + 'Enabled. If an update is already available, check for updates every %1$d hours instead of every %2$d hours.', + $scheduler->throttledCheckPeriod, + $scheduler->checkPeriod + ) + ); + } else { + $this->row('Throttling', 'Disabled'); + } + } + + $this->updateChecker->onDisplayConfiguration($this); + + echo '
    '; + } + + protected function displayConfigHeader() { + //Do nothing. This should be implemented in subclasses. + } + + protected function getMetadataButton() { + return ''; + } + + private function displayStatus() { + echo '

    Status

    '; + echo ''; + $state = $this->updateChecker->getUpdateState(); + $checkNowButton = ''; + if ( function_exists('get_submit_button') ) { + $checkNowButton = get_submit_button( + 'Check Now', + 'secondary', + 'puc-check-now-button', + false, + array('id' => $this->updateChecker->getUniqueName('check-now-button')) + ); + } + + if ( $state->getLastCheck() > 0 ) { + $this->row('Last check', $this->formatTimeWithDelta($state->getLastCheck()) . ' ' . $checkNowButton . $this->responseBox); + } else { + $this->row('Last check', 'Never'); + } + + $nextCheck = wp_next_scheduled($this->updateChecker->scheduler->getCronHookName()); + $this->row('Next automatic check', $this->formatTimeWithDelta($nextCheck)); + + if ( $state->getCheckedVersion() !== '' ) { + $this->row('Checked version', htmlentities($state->getCheckedVersion())); + $this->row('Cached update', $state->getUpdate()); + } + $this->row('Update checker class', htmlentities(get_class($this->updateChecker))); + echo '
    '; + } + + private function displayCurrentUpdate() { + $update = $this->updateChecker->getUpdate(); + if ( $update !== null ) { + echo '

    An Update Is Available

    '; + echo ''; + $fields = $this->getUpdateFields(); + foreach($fields as $field) { + if ( property_exists($update, $field) ) { + $this->row(ucwords(str_replace('_', ' ', $field)), htmlentities($update->$field)); + } + } + echo '
    '; + } else { + echo '

    No updates currently available

    '; + } + } + + protected function getUpdateFields() { + return array('version', 'download_url', 'slug',); + } + + private function formatTimeWithDelta($unixTime) { + if ( empty($unixTime) ) { + return 'Never'; + } + + $delta = time() - $unixTime; + $result = human_time_diff(time(), $unixTime); + if ( $delta < 0 ) { + $result = 'after ' . $result; + } else { + $result = $result . ' ago'; + } + $result .= ' (' . $this->formatTimestamp($unixTime) . ')'; + return $result; + } + + private function formatTimestamp($unixTime) { + return gmdate('Y-m-d H:i:s', $unixTime + (get_option('gmt_offset') * 3600)); + } + + public function row($name, $value) { + if ( is_object($value) || is_array($value) ) { + $value = '
    ' . htmlentities(print_r($value, true)) . '
    '; + } else if ($value === null) { + $value = 'null'; + } + printf('%1$s %2$s', $name, $value); + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/PluginExtension.php b/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/PluginExtension.php new file mode 100755 index 0000000..c9462ec --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/PluginExtension.php @@ -0,0 +1,33 @@ +updateChecker->getUniqueName('uid') ) { + return; + } + $this->preAjaxRequest(); + $info = $this->updateChecker->requestInfo(); + if ( $info !== null ) { + echo 'Successfully retrieved plugin info from the metadata URL:'; + echo '
    ', htmlentities(print_r($info, true)), '
    '; + } else { + echo 'Failed to retrieve plugin info from the metadata URL.'; + } + exit; + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/PluginPanel.php b/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/PluginPanel.php new file mode 100755 index 0000000..47a106e --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/PluginPanel.php @@ -0,0 +1,38 @@ +row('Plugin file', htmlentities($this->updateChecker->pluginFile)); + parent::displayConfigHeader(); + } + + protected function getMetadataButton() { + $requestInfoButton = ''; + if ( function_exists('get_submit_button') ) { + $requestInfoButton = get_submit_button( + 'Request Info', + 'secondary', + 'puc-request-info-button', + false, + array('id' => $this->updateChecker->getUniqueName('request-info-button')) + ); + } + return $requestInfoButton; + } + + protected function getUpdateFields() { + return array_merge( + parent::getUpdateFields(), + array('homepage', 'upgrade_notice', 'tested',) + ); + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/ThemePanel.php b/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/ThemePanel.php new file mode 100755 index 0000000..ed2734f --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/ThemePanel.php @@ -0,0 +1,21 @@ +row('Theme directory', htmlentities($this->updateChecker->directoryName)); + parent::displayConfigHeader(); + } + + protected function getUpdateFields() { + return array_merge(parent::getUpdateFields(), array('details_url')); + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Factory.php b/admin/includes/plugin-update-checker/Puc/v4p6/Factory.php new file mode 100755 index 0000000..712035d --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/Factory.php @@ -0,0 +1,297 @@ + 'Plugin Name'), 'plugin'); + return !empty($headers['Name']); + } + + return false; + } + + /** + * Get the name of the theme's directory from a full path to a file inside that directory. + * E.g. "/abc/public_html/wp-content/themes/foo/whatever.php" => "foo". + * + * Note that subdirectories are currently not supported. For example, + * "/xyz/wp-content/themes/my-theme/includes/whatever.php" => NULL. + * + * @param string $absolutePath Normalized path. + * @return string|null Directory name, or NULL if the path doesn't point to a theme. + */ + protected static function getThemeDirectoryName($absolutePath) { + if ( is_file($absolutePath) ) { + $absolutePath = dirname($absolutePath); + } + + if ( file_exists($absolutePath . '/style.css') ) { + return basename($absolutePath); + } + return null; + } + + /** + * Get the name of the hosting service that the URL points to. + * + * @param string $metadataUrl + * @return string|null + */ + private static function getVcsService($metadataUrl) { + $service = null; + + //Which hosting service does the URL point to? + $host = parse_url($metadataUrl, PHP_URL_HOST); + $path = parse_url($metadataUrl, PHP_URL_PATH); + + //Check if the path looks like "/user-name/repository". + //For GitLab.com it can also be "/user/group1/group2/.../repository". + $repoRegex = '@^/?([^/]+?)/([^/#?&]+?)/?$@'; + if ( $host === 'gitlab.com' ) { + $repoRegex = '@^/?(?:[^/#?&]++/){1,20}(?:[^/#?&]++)/?$@'; + } + if ( preg_match($repoRegex, $path) ) { + $knownServices = array( + 'github.com' => 'GitHub', + 'bitbucket.org' => 'BitBucket', + 'gitlab.com' => 'GitLab', + ); + if ( isset($knownServices[$host]) ) { + $service = $knownServices[$host]; + } + } + + return apply_filters('puc_get_vcs_service', $service, $host, $path, $metadataUrl); + } + + /** + * Get the latest version of the specified class that has the same major version number + * as this factory class. + * + * @param string $class Partial class name. + * @return string|null Full class name. + */ + protected static function getCompatibleClassVersion($class) { + if ( isset(self::$classVersions[$class][self::$latestCompatibleVersion]) ) { + return self::$classVersions[$class][self::$latestCompatibleVersion]; + } + return null; + } + + /** + * Get the specific class name for the latest available version of a class. + * + * @param string $class + * @return null|string + */ + public static function getLatestClassVersion($class) { + if ( !self::$sorted ) { + self::sortVersions(); + } + + if ( isset(self::$classVersions[$class]) ) { + return reset(self::$classVersions[$class]); + } else { + return null; + } + } + + /** + * Sort available class versions in descending order (i.e. newest first). + */ + protected static function sortVersions() { + foreach ( self::$classVersions as $class => $versions ) { + uksort($versions, array(__CLASS__, 'compareVersions')); + self::$classVersions[$class] = $versions; + } + self::$sorted = true; + } + + protected static function compareVersions($a, $b) { + return -version_compare($a, $b); + } + + /** + * Register a version of a class. + * + * @access private This method is only for internal use by the library. + * + * @param string $generalClass Class name without version numbers, e.g. 'PluginUpdateChecker'. + * @param string $versionedClass Actual class name, e.g. 'PluginUpdateChecker_1_2'. + * @param string $version Version number, e.g. '1.2'. + */ + public static function addVersion($generalClass, $versionedClass, $version) { + if ( empty(self::$myMajorVersion) ) { + $nameParts = explode('_', __CLASS__, 3); + self::$myMajorVersion = substr(ltrim($nameParts[1], 'v'), 0, 1); + } + + //Store the greatest version number that matches our major version. + $components = explode('.', $version); + if ( $components[0] === self::$myMajorVersion ) { + + if ( + empty(self::$latestCompatibleVersion) + || version_compare($version, self::$latestCompatibleVersion, '>') + ) { + self::$latestCompatibleVersion = $version; + } + + } + + if ( !isset(self::$classVersions[$generalClass]) ) { + self::$classVersions[$generalClass] = array(); + } + self::$classVersions[$generalClass][$version] = $versionedClass; + self::$sorted = false; + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/InstalledPackage.php b/admin/includes/plugin-update-checker/Puc/v4p6/InstalledPackage.php new file mode 100755 index 0000000..da7b17b --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/InstalledPackage.php @@ -0,0 +1,103 @@ +updateChecker = $updateChecker; + } + + /** + * Get the currently installed version of the plugin or theme. + * + * @return string|null Version number. + */ + abstract public function getInstalledVersion(); + + /** + * Get the full path of the plugin or theme directory (without a trailing slash). + * + * @return string + */ + abstract public function getAbsoluteDirectoryPath(); + + /** + * Check whether a regular file exists in the package's directory. + * + * @param string $relativeFileName File name relative to the package directory. + * @return bool + */ + public function fileExists($relativeFileName) { + return is_file( + $this->getAbsoluteDirectoryPath() + . DIRECTORY_SEPARATOR + . ltrim($relativeFileName, '/\\') + ); + } + + /* ------------------------------------------------------------------- + * File header parsing + * ------------------------------------------------------------------- + */ + + /** + * Parse plugin or theme metadata from the header comment. + * + * This is basically a simplified version of the get_file_data() function from /wp-includes/functions.php. + * It's intended as a utility for subclasses that detect updates by parsing files in a VCS. + * + * @param string|null $content File contents. + * @return string[] + */ + public function getFileHeader($content) { + $content = (string)$content; + + //WordPress only looks at the first 8 KiB of the file, so we do the same. + $content = substr($content, 0, 8192); + //Normalize line endings. + $content = str_replace("\r", "\n", $content); + + $headers = $this->getHeaderNames(); + $results = array(); + foreach ($headers as $field => $name) { + $success = preg_match('/^[ \t\/*#@]*' . preg_quote($name, '/') . ':(.*)$/mi', $content, $matches); + + if ( ($success === 1) && $matches[1] ) { + $value = $matches[1]; + if ( function_exists('_cleanup_header_comment') ) { + $value = _cleanup_header_comment($value); + } + $results[$field] = $value; + } else { + $results[$field] = ''; + } + } + + return $results; + } + + /** + * @return array Format: ['HeaderKey' => 'Header Name'] + */ + abstract protected function getHeaderNames(); + + /** + * Get the value of a specific plugin or theme header. + * + * @param string $headerName + * @return string Either the value of the header, or an empty string if the header doesn't exist. + */ + abstract public function getHeaderValue($headerName); + + } +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Metadata.php b/admin/includes/plugin-update-checker/Puc/v4p6/Metadata.php new file mode 100755 index 0000000..4940f4a --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/Metadata.php @@ -0,0 +1,132 @@ +validateMetadata($apiResponse); + if ( is_wp_error($valid) ){ + do_action('puc_api_error', $valid); + trigger_error($valid->get_error_message(), E_USER_NOTICE); + return false; + } + + foreach(get_object_vars($apiResponse) as $key => $value){ + $target->$key = $value; + } + + return true; + } + + /** + * No validation by default! Subclasses should check that the required fields are present. + * + * @param StdClass $apiResponse + * @return bool|WP_Error + */ + protected function validateMetadata(/** @noinspection PhpUnusedParameterInspection */ $apiResponse) { + return true; + } + + /** + * Create a new instance by copying the necessary fields from another object. + * + * @abstract + * @param StdClass|self $object The source object. + * @return self The new copy. + */ + public static function fromObject(/** @noinspection PhpUnusedParameterInspection */ $object) { + throw new LogicException('The ' . __METHOD__ . ' method must be implemented by subclasses'); + } + + /** + * Create an instance of StdClass that can later be converted back to an + * update or info container. Useful for serialization and caching, as it + * avoids the "incomplete object" problem if the cached value is loaded + * before this class. + * + * @return StdClass + */ + public function toStdClass() { + $object = new stdClass(); + $this->copyFields($this, $object); + return $object; + } + + /** + * Transform the metadata into the format used by WordPress core. + * + * @return object + */ + abstract public function toWpFormat(); + + /** + * Copy known fields from one object to another. + * + * @param StdClass|self $from + * @param StdClass|self $to + */ + protected function copyFields($from, $to) { + $fields = $this->getFieldNames(); + + if ( property_exists($from, 'slug') && !empty($from->slug) ) { + //Let plugins add extra fields without having to create subclasses. + $fields = apply_filters($this->getPrefixedFilter('retain_fields') . '-' . $from->slug, $fields); + } + + foreach ($fields as $field) { + if ( property_exists($from, $field) ) { + $to->$field = $from->$field; + } + } + } + + /** + * @return string[] + */ + protected function getFieldNames() { + return array(); + } + + /** + * @param string $tag + * @return string + */ + protected function getPrefixedFilter($tag) { + return 'puc_' . $tag; + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/OAuthSignature.php b/admin/includes/plugin-update-checker/Puc/v4p6/OAuthSignature.php new file mode 100755 index 0000000..e6ffd48 --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/OAuthSignature.php @@ -0,0 +1,100 @@ +consumerKey = $consumerKey; + $this->consumerSecret = $consumerSecret; + } + + /** + * Sign a URL using OAuth 1.0. + * + * @param string $url The URL to be signed. It may contain query parameters. + * @param string $method HTTP method such as "GET", "POST" and so on. + * @return string The signed URL. + */ + public function sign($url, $method = 'GET') { + $parameters = array(); + + //Parse query parameters. + $query = parse_url($url, PHP_URL_QUERY); + if ( !empty($query) ) { + parse_str($query, $parsedParams); + if ( is_array($parameters) ) { + $parameters = $parsedParams; + } + //Remove the query string from the URL. We'll replace it later. + $url = substr($url, 0, strpos($url, '?')); + } + + $parameters = array_merge( + $parameters, + array( + 'oauth_consumer_key' => $this->consumerKey, + 'oauth_nonce' => $this->nonce(), + 'oauth_signature_method' => 'HMAC-SHA1', + 'oauth_timestamp' => time(), + 'oauth_version' => '1.0', + ) + ); + unset($parameters['oauth_signature']); + + //Parameters must be sorted alphabetically before signing. + ksort($parameters); + + //The most complicated part of the request - generating the signature. + //The string to sign contains the HTTP method, the URL path, and all of + //our query parameters. Everything is URL encoded. Then we concatenate + //them with ampersands into a single string to hash. + $encodedVerb = urlencode($method); + $encodedUrl = urlencode($url); + $encodedParams = urlencode(http_build_query($parameters, '', '&')); + + $stringToSign = $encodedVerb . '&' . $encodedUrl . '&' . $encodedParams; + + //Since we only have one OAuth token (the consumer secret) we only have + //to use it as our HMAC key. However, we still have to append an & to it + //as if we were using it with additional tokens. + $secret = urlencode($this->consumerSecret) . '&'; + + //The signature is a hash of the consumer key and the base string. Note + //that we have to get the raw output from hash_hmac and base64 encode + //the binary data result. + $parameters['oauth_signature'] = base64_encode(hash_hmac('sha1', $stringToSign, $secret, true)); + + return ($url . '?' . http_build_query($parameters)); + } + + /** + * Generate a random nonce. + * + * @return string + */ + private function nonce() { + $mt = microtime(); + + $rand = null; + if ( is_callable('random_bytes') ) { + try { + $rand = random_bytes(16); + } catch (Exception $ex) { + //Fall back to mt_rand (below). + } + } + if ( $rand === null ) { + $rand = mt_rand(); + } + + return md5($mt . '_' . $rand); + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Info.php b/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Info.php new file mode 100755 index 0000000..2c97475 --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Info.php @@ -0,0 +1,130 @@ +sections = (array)$instance->sections; + $instance->icons = (array)$instance->icons; + + return $instance; + } + + /** + * Very, very basic validation. + * + * @param StdClass $apiResponse + * @return bool|WP_Error + */ + protected function validateMetadata($apiResponse) { + if ( + !isset($apiResponse->name, $apiResponse->version) + || empty($apiResponse->name) + || empty($apiResponse->version) + ) { + return new WP_Error( + 'puc-invalid-metadata', + "The plugin metadata file does not contain the required 'name' and/or 'version' keys." + ); + } + return true; + } + + + /** + * Transform plugin info into the format used by the native WordPress.org API + * + * @return object + */ + public function toWpFormat(){ + $info = new stdClass; + + //The custom update API is built so that many fields have the same name and format + //as those returned by the native WordPress.org API. These can be assigned directly. + $sameFormat = array( + 'name', 'slug', 'version', 'requires', 'tested', 'rating', 'upgrade_notice', + 'num_ratings', 'downloaded', 'active_installs', 'homepage', 'last_updated', + ); + foreach($sameFormat as $field){ + if ( isset($this->$field) ) { + $info->$field = $this->$field; + } else { + $info->$field = null; + } + } + + //Other fields need to be renamed and/or transformed. + $info->download_link = $this->download_url; + $info->author = $this->getFormattedAuthor(); + $info->sections = array_merge(array('description' => ''), $this->sections); + + if ( !empty($this->banners) ) { + //WP expects an array with two keys: "high" and "low". Both are optional. + //Docs: https://wordpress.org/plugins/about/faq/#banners + $info->banners = is_object($this->banners) ? get_object_vars($this->banners) : $this->banners; + $info->banners = array_intersect_key($info->banners, array('high' => true, 'low' => true)); + } + + return $info; + } + + protected function getFormattedAuthor() { + if ( !empty($this->author_homepage) ){ + /** @noinspection HtmlUnknownTarget */ + return sprintf('%s', $this->author_homepage, $this->author); + } + return $this->author; + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Package.php b/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Package.php new file mode 100755 index 0000000..e880a9f --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Package.php @@ -0,0 +1,184 @@ +pluginAbsolutePath = $pluginAbsolutePath; + $this->pluginFile = plugin_basename($this->pluginAbsolutePath); + + parent::__construct($updateChecker); + + //Clear the version number cache when something - anything - is upgraded or WP clears the update cache. + add_filter('upgrader_post_install', array($this, 'clearCachedVersion')); + add_action('delete_site_transient_update_plugins', array($this, 'clearCachedVersion')); + } + + public function getInstalledVersion() { + if ( isset($this->cachedInstalledVersion) ) { + return $this->cachedInstalledVersion; + } + + $pluginHeader = $this->getPluginHeader(); + if ( isset($pluginHeader['Version']) ) { + $this->cachedInstalledVersion = $pluginHeader['Version']; + return $pluginHeader['Version']; + } else { + //This can happen if the filename points to something that is not a plugin. + $this->updateChecker->triggerError( + sprintf( + "Can't to read the Version header for '%s'. The filename is incorrect or is not a plugin.", + $this->updateChecker->pluginFile + ), + E_USER_WARNING + ); + return null; + } + } + + /** + * Clear the cached plugin version. This method can be set up as a filter (hook) and will + * return the filter argument unmodified. + * + * @param mixed $filterArgument + * @return mixed + */ + public function clearCachedVersion($filterArgument = null) { + $this->cachedInstalledVersion = null; + return $filterArgument; + } + + public function getAbsoluteDirectoryPath() { + return dirname($this->pluginAbsolutePath); + } + + /** + * Get the value of a specific plugin or theme header. + * + * @param string $headerName + * @param string $defaultValue + * @return string Either the value of the header, or $defaultValue if the header doesn't exist or is empty. + */ + public function getHeaderValue($headerName, $defaultValue = '') { + $headers = $this->getPluginHeader(); + if ( isset($headers[$headerName]) && ($headers[$headerName] !== '') ) { + return $headers[$headerName]; + } + return $defaultValue; + } + + protected function getHeaderNames() { + return array( + 'Name' => 'Plugin Name', + 'PluginURI' => 'Plugin URI', + 'Version' => 'Version', + 'Description' => 'Description', + 'Author' => 'Author', + 'AuthorURI' => 'Author URI', + 'TextDomain' => 'Text Domain', + 'DomainPath' => 'Domain Path', + 'Network' => 'Network', + + //The newest WordPress version that this plugin requires or has been tested with. + //We support several different formats for compatibility with other libraries. + 'Tested WP' => 'Tested WP', + 'Requires WP' => 'Requires WP', + 'Tested up to' => 'Tested up to', + 'Requires at least' => 'Requires at least', + ); + } + + /** + * Get the translated plugin title. + * + * @return string + */ + public function getPluginTitle() { + $title = ''; + $header = $this->getPluginHeader(); + if ( $header && !empty($header['Name']) && isset($header['TextDomain']) ) { + $title = translate($header['Name'], $header['TextDomain']); + } + return $title; + } + + /** + * Get plugin's metadata from its file header. + * + * @return array + */ + public function getPluginHeader() { + if ( !is_file($this->pluginAbsolutePath) ) { + //This can happen if the plugin filename is wrong. + $this->updateChecker->triggerError( + sprintf( + "Can't to read the plugin header for '%s'. The file does not exist.", + $this->updateChecker->pluginFile + ), + E_USER_WARNING + ); + return array(); + } + + if ( !function_exists('get_plugin_data') ) { + /** @noinspection PhpIncludeInspection */ + require_once(ABSPATH . '/wp-admin/includes/plugin.php'); + } + return get_plugin_data($this->pluginAbsolutePath, false, false); + } + + public function removeHooks() { + remove_filter('upgrader_post_install', array($this, 'clearCachedVersion')); + remove_action('delete_site_transient_update_plugins', array($this, 'clearCachedVersion')); + } + + /** + * Check if the plugin file is inside the mu-plugins directory. + * + * @return bool + */ + public function isMuPlugin() { + static $cachedResult = null; + + if ( $cachedResult === null ) { + if ( !defined('WPMU_PLUGIN_DIR') || !is_string(WPMU_PLUGIN_DIR) ) { + $cachedResult = false; + return $cachedResult; + } + + //Convert both paths to the canonical form before comparison. + $muPluginDir = realpath(WPMU_PLUGIN_DIR); + $pluginPath = realpath($this->pluginAbsolutePath); + //If realpath() fails, just normalize the syntax instead. + if (($muPluginDir === false) || ($pluginPath === false)) { + $muPluginDir = Puc_v4p6_Factory::normalizePath(WPMU_PLUGIN_DIR); + $pluginPath = Puc_v4p6_Factory::normalizePath($this->pluginAbsolutePath); + } + + $cachedResult = (strpos($pluginPath, $muPluginDir) === 0); + } + + return $cachedResult; + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php b/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php new file mode 100755 index 0000000..93c22aa --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php @@ -0,0 +1,277 @@ +updateChecker = $updateChecker; + $this->manualCheckErrorTransient = $this->updateChecker->getUniqueName('manual_check_errors'); + + add_action('admin_init', array($this, 'onAdminInit')); + } + + public function onAdminInit() { + if ( $this->updateChecker->userCanInstallUpdates() ) { + $this->handleManualCheck(); + + add_filter('plugin_row_meta', array($this, 'addViewDetailsLink'), 10, 3); + add_filter('plugin_row_meta', array($this, 'addCheckForUpdatesLink'), 10, 2); + add_action('all_admin_notices', array($this, 'displayManualCheckResult')); + } + } + + /** + * Add a "View Details" link to the plugin row in the "Plugins" page. By default, + * the new link will appear before the "Visit plugin site" link (if present). + * + * You can change the link text by using the "puc_view_details_link-$slug" filter. + * Returning an empty string from the filter will disable the link. + * + * You can change the position of the link using the + * "puc_view_details_link_position-$slug" filter. + * Returning 'before' or 'after' will place the link immediately before/after + * the "Visit plugin site" link. + * Returning 'append' places the link after any existing links at the time of the hook. + * Returning 'replace' replaces the "Visit plugin site" link. + * Returning anything else disables the link when there is a "Visit plugin site" link. + * + * If there is no "Visit plugin site" link 'append' is always used! + * + * @param array $pluginMeta Array of meta links. + * @param string $pluginFile + * @param array $pluginData Array of plugin header data. + * @return array + */ + public function addViewDetailsLink($pluginMeta, $pluginFile, $pluginData = array()) { + if ( $this->isMyPluginFile($pluginFile) && !isset($pluginData['slug']) ) { + $linkText = apply_filters($this->updateChecker->getUniqueName('view_details_link'), __('View details')); + if ( !empty($linkText) ) { + $viewDetailsLinkPosition = 'append'; + + //Find the "Visit plugin site" link (if present). + $visitPluginSiteLinkIndex = count($pluginMeta) - 1; + if ( $pluginData['PluginURI'] ) { + $escapedPluginUri = esc_url($pluginData['PluginURI']); + foreach ($pluginMeta as $linkIndex => $existingLink) { + if ( strpos($existingLink, $escapedPluginUri) !== false ) { + $visitPluginSiteLinkIndex = $linkIndex; + $viewDetailsLinkPosition = apply_filters( + $this->updateChecker->getUniqueName('view_details_link_position'), + 'before' + ); + break; + } + } + } + + $viewDetailsLink = sprintf('%s', + esc_url(network_admin_url('plugin-install.php?tab=plugin-information&plugin=' . urlencode($this->updateChecker->slug) . + '&TB_iframe=true&width=600&height=550')), + esc_attr(sprintf(__('More information about %s'), $pluginData['Name'])), + esc_attr($pluginData['Name']), + $linkText + ); + switch ($viewDetailsLinkPosition) { + case 'before': + array_splice($pluginMeta, $visitPluginSiteLinkIndex, 0, $viewDetailsLink); + break; + case 'after': + array_splice($pluginMeta, $visitPluginSiteLinkIndex + 1, 0, $viewDetailsLink); + break; + case 'replace': + $pluginMeta[$visitPluginSiteLinkIndex] = $viewDetailsLink; + break; + case 'append': + default: + $pluginMeta[] = $viewDetailsLink; + break; + } + } + } + return $pluginMeta; + } + + /** + * Add a "Check for updates" link to the plugin row in the "Plugins" page. By default, + * the new link will appear after the "Visit plugin site" link if present, otherwise + * after the "View plugin details" link. + * + * You can change the link text by using the "puc_manual_check_link-$slug" filter. + * Returning an empty string from the filter will disable the link. + * + * @param array $pluginMeta Array of meta links. + * @param string $pluginFile + * @return array + */ + public function addCheckForUpdatesLink($pluginMeta, $pluginFile) { + if ( $this->isMyPluginFile($pluginFile) ) { + $linkUrl = wp_nonce_url( + add_query_arg( + array( + 'puc_check_for_updates' => 1, + 'puc_slug' => $this->updateChecker->slug, + ), + self_admin_url('plugins.php') + ), + 'puc_check_for_updates' + ); + + $linkText = apply_filters( + $this->updateChecker->getUniqueName('manual_check_link'), + __('Check for updates', 'plugin-update-checker') + ); + if ( !empty($linkText) ) { + /** @noinspection HtmlUnknownTarget */ + $pluginMeta[] = sprintf('%s', esc_attr($linkUrl), $linkText); + } + } + return $pluginMeta; + } + + protected function isMyPluginFile($pluginFile) { + return ($pluginFile == $this->updateChecker->pluginFile) + || (!empty($this->updateChecker->muPluginFile) && ($pluginFile == $this->updateChecker->muPluginFile)); + } + + /** + * Check for updates when the user clicks the "Check for updates" link. + * + * @see self::addCheckForUpdatesLink() + * + * @return void + */ + public function handleManualCheck() { + $shouldCheck = + isset($_GET['puc_check_for_updates'], $_GET['puc_slug']) + && $_GET['puc_slug'] == $this->updateChecker->slug + && check_admin_referer('puc_check_for_updates'); + + if ( $shouldCheck ) { + $update = $this->updateChecker->checkForUpdates(); + $status = ($update === null) ? 'no_update' : 'update_available'; + + if ( ($update === null) && !empty($this->lastRequestApiErrors) ) { + //Some errors are not critical. For example, if PUC tries to retrieve the readme.txt + //file from GitHub and gets a 404, that's an API error, but it doesn't prevent updates + //from working. Maybe the plugin simply doesn't have a readme. + //Let's only show important errors. + $foundCriticalErrors = false; + $questionableErrorCodes = array( + 'puc-github-http-error', + 'puc-gitlab-http-error', + 'puc-bitbucket-http-error', + ); + + foreach ($this->lastRequestApiErrors as $item) { + $wpError = $item['error']; + /** @var WP_Error $wpError */ + if ( !in_array($wpError->get_error_code(), $questionableErrorCodes) ) { + $foundCriticalErrors = true; + break; + } + } + + if ( $foundCriticalErrors ) { + $status = 'error'; + set_site_transient($this->manualCheckErrorTransient, $this->lastRequestApiErrors, 60); + } + } + + wp_redirect(add_query_arg( + array( + 'puc_update_check_result' => $status, + 'puc_slug' => $this->updateChecker->slug, + ), + self_admin_url('plugins.php') + )); + exit; + } + } + + /** + * Display the results of a manual update check. + * + * @see self::handleManualCheck() + * + * You can change the result message by using the "puc_manual_check_message-$slug" filter. + */ + public function displayManualCheckResult() { + if ( isset($_GET['puc_update_check_result'], $_GET['puc_slug']) && ($_GET['puc_slug'] == $this->updateChecker->slug) ) { + $status = strval($_GET['puc_update_check_result']); + $title = $this->updateChecker->getInstalledPackage()->getPluginTitle(); + $noticeClass = 'updated notice-success'; + $details = ''; + + if ( $status == 'no_update' ) { + $message = sprintf(_x('The %s plugin is up to date.', 'the plugin title', 'plugin-update-checker'), $title); + } else if ( $status == 'update_available' ) { + $message = sprintf(_x('A new version of the %s plugin is available.', 'the plugin title', 'plugin-update-checker'), $title); + } else if ( $status === 'error' ) { + $message = sprintf(_x('Could not determine if updates are available for %s.', 'the plugin title', 'plugin-update-checker'), $title); + $noticeClass = 'error notice-error'; + + $details = $this->formatManualCheckErrors(get_site_transient($this->manualCheckErrorTransient)); + delete_site_transient($this->manualCheckErrorTransient); + } else { + $message = sprintf(__('Unknown update checker status "%s"', 'plugin-update-checker'), htmlentities($status)); + $noticeClass = 'error notice-error'; + } + printf( + '

    %s

    %s
    ', + $noticeClass, + apply_filters($this->updateChecker->getUniqueName('manual_check_message'), $message, $status), + $details + ); + } + } + + /** + * Format the list of errors that were thrown during an update check. + * + * @param array $errors + * @return string + */ + protected function formatManualCheckErrors($errors) { + if ( empty($errors) ) { + return ''; + } + $output = ''; + + $showAsList = count($errors) > 1; + if ( $showAsList ) { + $output .= '
      '; + $formatString = '
    1. %1$s %2$s
    2. '; + } else { + $formatString = '

      %1$s %2$s

      '; + } + foreach ($errors as $item) { + $wpError = $item['error']; + /** @var WP_Error $wpError */ + $output .= sprintf( + $formatString, + $wpError->get_error_message(), + $wpError->get_error_code() + ); + } + if ( $showAsList ) { + $output .= '
    '; + } + + return $output; + } + + public function removeHooks() { + remove_action('admin_init', array($this, 'onAdminInit')); + remove_filter('plugin_row_meta', array($this, 'addViewDetailsLink'), 10); + remove_filter('plugin_row_meta', array($this, 'addCheckForUpdatesLink'), 10); + remove_action('all_admin_notices', array($this, 'displayManualCheckResult')); + } + } +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Update.php b/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Update.php new file mode 100755 index 0000000..5939656 --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Update.php @@ -0,0 +1,110 @@ +copyFields($object, $update); + return $update; + } + + /** + * @return string[] + */ + protected function getFieldNames() { + return array_merge(parent::getFieldNames(), self::$extraFields); + } + + /** + * Transform the update into the format used by WordPress native plugin API. + * + * @return object + */ + public function toWpFormat() { + $update = parent::toWpFormat(); + + $update->id = $this->id; + $update->url = $this->homepage; + $update->tested = $this->tested; + $update->plugin = $this->filename; + + if ( !empty($this->upgrade_notice) ) { + $update->upgrade_notice = $this->upgrade_notice; + } + + if ( !empty($this->icons) && is_array($this->icons) ) { + //This should be an array with up to 4 keys: 'svg', '1x', '2x' and 'default'. + //Docs: https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/#plugin-icons + $icons = array_intersect_key( + $this->icons, + array('svg' => true, '1x' => true, '2x' => true, 'default' => true) + ); + if ( !empty($icons) ) { + $update->icons = $icons; + + //It appears that the 'default' icon isn't used anywhere in WordPress 4.9, + //but lets set it just in case a future release needs it. + if ( !isset($update->icons['default']) ) { + $update->icons['default'] = current($update->icons); + } + } + } + + return $update; + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/UpdateChecker.php b/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/UpdateChecker.php new file mode 100755 index 0000000..1cbe7c6 --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/UpdateChecker.php @@ -0,0 +1,396 @@ +pluginAbsolutePath = $pluginFile; + $this->pluginFile = plugin_basename($this->pluginAbsolutePath); + $this->muPluginFile = $muPluginFile; + + //If no slug is specified, use the name of the main plugin file as the slug. + //For example, 'my-cool-plugin/cool-plugin.php' becomes 'cool-plugin'. + if ( empty($slug) ){ + $slug = basename($this->pluginFile, '.php'); + } + + //Plugin slugs must be unique. + $slugCheckFilter = 'puc_is_slug_in_use-' . $slug; + $slugUsedBy = apply_filters($slugCheckFilter, false); + if ( $slugUsedBy ) { + $this->triggerError(sprintf( + 'Plugin slug "%s" is already in use by %s. Slugs must be unique.', + htmlentities($slug), + htmlentities($slugUsedBy) + ), E_USER_ERROR); + } + add_filter($slugCheckFilter, array($this, 'getAbsolutePath')); + + //Backwards compatibility: If the plugin is a mu-plugin but no $muPluginFile is specified, assume + //it's the same as $pluginFile given that it's not in a subdirectory (WP only looks in the base dir). + if ( (strpbrk($this->pluginFile, '/\\') === false) && $this->isUnknownMuPlugin() ) { + $this->muPluginFile = $this->pluginFile; + } + + //To prevent a crash during plugin uninstallation, remove updater hooks when the user removes the plugin. + //Details: https://github.com/YahnisElsts/plugin-update-checker/issues/138#issuecomment-335590964 + add_action('uninstall_' . $this->pluginFile, array($this, 'removeHooks')); + + parent::__construct($metadataUrl, dirname($this->pluginFile), $slug, $checkPeriod, $optionName); + + $this->extraUi = new Puc_v4p6_Plugin_Ui($this); + } + + /** + * Create an instance of the scheduler. + * + * @param int $checkPeriod + * @return Puc_v4p6_Scheduler + */ + protected function createScheduler($checkPeriod) { + $scheduler = new Puc_v4p6_Scheduler($this, $checkPeriod, array('load-plugins.php')); + register_deactivation_hook($this->pluginFile, array($scheduler, 'removeUpdaterCron')); + return $scheduler; + } + + /** + * Install the hooks required to run periodic update checks and inject update info + * into WP data structures. + * + * @return void + */ + protected function installHooks(){ + //Override requests for plugin information + add_filter('plugins_api', array($this, 'injectInfo'), 20, 3); + + parent::installHooks(); + } + + /** + * Remove update checker hooks. + * + * The intent is to prevent a fatal error that can happen if the plugin has an uninstall + * hook. During uninstallation, WP includes the main plugin file (which creates a PUC instance), + * the uninstall hook runs, WP deletes the plugin files and then updates some transients. + * If PUC hooks are still around at this time, they could throw an error while trying to + * autoload classes from files that no longer exist. + * + * The "site_transient_{$transient}" filter is the main problem here, but let's also remove + * most other PUC hooks to be safe. + * + * @internal + */ + public function removeHooks() { + parent::removeHooks(); + $this->extraUi->removeHooks(); + $this->package->removeHooks(); + + remove_filter('plugins_api', array($this, 'injectInfo'), 20); + } + + /** + * Retrieve plugin info from the configured API endpoint. + * + * @uses wp_remote_get() + * + * @param array $queryArgs Additional query arguments to append to the request. Optional. + * @return Puc_v4p6_Plugin_Info + */ + public function requestInfo($queryArgs = array()) { + list($pluginInfo, $result) = $this->requestMetadata('Puc_v4p6_Plugin_Info', 'request_info', $queryArgs); + + if ( $pluginInfo !== null ) { + /** @var Puc_v4p6_Plugin_Info $pluginInfo */ + $pluginInfo->filename = $this->pluginFile; + $pluginInfo->slug = $this->slug; + } + + $pluginInfo = apply_filters($this->getUniqueName('request_info_result'), $pluginInfo, $result); + return $pluginInfo; + } + + /** + * Retrieve the latest update (if any) from the configured API endpoint. + * + * @uses PluginUpdateChecker::requestInfo() + * + * @return Puc_v4p6_Update|null An instance of Plugin_Update, or NULL when no updates are available. + */ + public function requestUpdate() { + //For the sake of simplicity, this function just calls requestInfo() + //and transforms the result accordingly. + $pluginInfo = $this->requestInfo(array('checking_for_updates' => '1')); + if ( $pluginInfo === null ){ + return null; + } + $update = Puc_v4p6_Plugin_Update::fromPluginInfo($pluginInfo); + + $update = $this->filterUpdateResult($update); + + return $update; + } + + /** + * Intercept plugins_api() calls that request information about our plugin and + * use the configured API endpoint to satisfy them. + * + * @see plugins_api() + * + * @param mixed $result + * @param string $action + * @param array|object $args + * @return mixed + */ + public function injectInfo($result, $action = null, $args = null){ + $relevant = ($action == 'plugin_information') && isset($args->slug) && ( + ($args->slug == $this->slug) || ($args->slug == dirname($this->pluginFile)) + ); + if ( !$relevant ) { + return $result; + } + + $pluginInfo = $this->requestInfo(); + $pluginInfo = apply_filters($this->getUniqueName('pre_inject_info'), $pluginInfo); + if ( $pluginInfo ) { + return $pluginInfo->toWpFormat(); + } + + return $result; + } + + protected function shouldShowUpdates() { + //No update notifications for mu-plugins unless explicitly enabled. The MU plugin file + //is usually different from the main plugin file so the update wouldn't show up properly anyway. + return !$this->isUnknownMuPlugin(); + } + + /** + * @param stdClass|null $updates + * @param stdClass $updateToAdd + * @return stdClass + */ + protected function addUpdateToList($updates, $updateToAdd) { + if ( $this->package->isMuPlugin() ) { + //WP does not support automatic update installation for mu-plugins, but we can + //still display a notice. + $updateToAdd->package = null; + } + return parent::addUpdateToList($updates, $updateToAdd); + } + + /** + * @param stdClass|null $updates + * @return stdClass|null + */ + protected function removeUpdateFromList($updates) { + $updates = parent::removeUpdateFromList($updates); + if ( !empty($this->muPluginFile) && isset($updates, $updates->response) ) { + unset($updates->response[$this->muPluginFile]); + } + return $updates; + } + + /** + * For plugins, the update array is indexed by the plugin filename relative to the "plugins" + * directory. Example: "plugin-name/plugin.php". + * + * @return string + */ + protected function getUpdateListKey() { + if ( $this->package->isMuPlugin() ) { + return $this->muPluginFile; + } + return $this->pluginFile; + } + + /** + * Alias for isBeingUpgraded(). + * + * @deprecated + * @param WP_Upgrader|null $upgrader The upgrader that's performing the current update. + * @return bool + */ + public function isPluginBeingUpgraded($upgrader = null) { + return $this->isBeingUpgraded($upgrader); + } + + /** + * Is there an update being installed for this plugin, right now? + * + * @param WP_Upgrader|null $upgrader + * @return bool + */ + public function isBeingUpgraded($upgrader = null) { + return $this->upgraderStatus->isPluginBeingUpgraded($this->pluginFile, $upgrader); + } + + /** + * Get the details of the currently available update, if any. + * + * If no updates are available, or if the last known update version is below or equal + * to the currently installed version, this method will return NULL. + * + * Uses cached update data. To retrieve update information straight from + * the metadata URL, call requestUpdate() instead. + * + * @return Puc_v4p6_Plugin_Update|null + */ + public function getUpdate() { + $update = parent::getUpdate(); + if ( isset($update) ) { + /** @var Puc_v4p6_Plugin_Update $update */ + $update->filename = $this->pluginFile; + } + return $update; + } + + /** + * Get the translated plugin title. + * + * @deprecated + * @return string + */ + public function getPluginTitle() { + return $this->package->getPluginTitle(); + } + + /** + * Check if the current user has the required permissions to install updates. + * + * @return bool + */ + public function userCanInstallUpdates() { + return current_user_can('update_plugins'); + } + + /** + * Check if the plugin file is inside the mu-plugins directory. + * + * @deprecated + * @return bool + */ + protected function isMuPlugin() { + return $this->package->isMuPlugin(); + } + + /** + * MU plugins are partially supported, but only when we know which file in mu-plugins + * corresponds to this plugin. + * + * @return bool + */ + protected function isUnknownMuPlugin() { + return empty($this->muPluginFile) && $this->package->isMuPlugin(); + } + + /** + * Get absolute path to the main plugin file. + * + * @return string + */ + public function getAbsolutePath() { + return $this->pluginAbsolutePath; + } + + /** + * Register a callback for filtering query arguments. + * + * The callback function should take one argument - an associative array of query arguments. + * It should return a modified array of query arguments. + * + * @uses add_filter() This method is a convenience wrapper for add_filter(). + * + * @param callable $callback + * @return void + */ + public function addQueryArgFilter($callback){ + $this->addFilter('request_info_query_args', $callback); + } + + /** + * Register a callback for filtering arguments passed to wp_remote_get(). + * + * The callback function should take one argument - an associative array of arguments - + * and return a modified array or arguments. See the WP documentation on wp_remote_get() + * for details on what arguments are available and how they work. + * + * @uses add_filter() This method is a convenience wrapper for add_filter(). + * + * @param callable $callback + * @return void + */ + public function addHttpRequestArgFilter($callback) { + $this->addFilter('request_info_options', $callback); + } + + /** + * Register a callback for filtering the plugin info retrieved from the external API. + * + * The callback function should take two arguments. If the plugin info was retrieved + * successfully, the first argument passed will be an instance of PluginInfo. Otherwise, + * it will be NULL. The second argument will be the corresponding return value of + * wp_remote_get (see WP docs for details). + * + * The callback function should return a new or modified instance of PluginInfo or NULL. + * + * @uses add_filter() This method is a convenience wrapper for add_filter(). + * + * @param callable $callback + * @return void + */ + public function addResultFilter($callback) { + $this->addFilter('request_info_result', $callback, 10, 2); + } + + protected function createDebugBarExtension() { + return new Puc_v4p6_DebugBar_PluginExtension($this); + } + + /** + * Create a package instance that represents this plugin or theme. + * + * @return Puc_v4p6_InstalledPackage + */ + protected function createInstalledPackage() { + return new Puc_v4p6_Plugin_Package($this->pluginAbsolutePath, $this); + } + + /** + * @return Puc_v4p6_Plugin_Package + */ + public function getInstalledPackage() { + return $this->package; + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Scheduler.php b/admin/includes/plugin-update-checker/Puc/v4p6/Scheduler.php new file mode 100755 index 0000000..cf1d6b3 --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/Scheduler.php @@ -0,0 +1,231 @@ +updateChecker = $updateChecker; + $this->checkPeriod = $checkPeriod; + + //Set up the periodic update checks + $this->cronHook = $this->updateChecker->getUniqueName('cron_check_updates'); + if ( $this->checkPeriod > 0 ){ + + //Trigger the check via Cron. + //Try to use one of the default schedules if possible as it's less likely to conflict + //with other plugins and their custom schedules. + $defaultSchedules = array( + 1 => 'hourly', + 12 => 'twicedaily', + 24 => 'daily', + ); + if ( array_key_exists($this->checkPeriod, $defaultSchedules) ) { + $scheduleName = $defaultSchedules[$this->checkPeriod]; + } else { + //Use a custom cron schedule. + $scheduleName = 'every' . $this->checkPeriod . 'hours'; + add_filter('cron_schedules', array($this, '_addCustomSchedule')); + } + + if ( !wp_next_scheduled($this->cronHook) && !defined('WP_INSTALLING') ) { + wp_schedule_event(time(), $scheduleName, $this->cronHook); + } + add_action($this->cronHook, array($this, 'maybeCheckForUpdates')); + + //In case Cron is disabled or unreliable, we also manually trigger + //the periodic checks while the user is browsing the Dashboard. + add_action( 'admin_init', array($this, 'maybeCheckForUpdates') ); + + //Like WordPress itself, we check more often on certain pages. + /** @see wp_update_plugins */ + add_action('load-update-core.php', array($this, 'maybeCheckForUpdates')); + //"load-update.php" and "load-plugins.php" or "load-themes.php". + $this->hourlyCheckHooks = array_merge($this->hourlyCheckHooks, $hourlyHooks); + foreach($this->hourlyCheckHooks as $hook) { + add_action($hook, array($this, 'maybeCheckForUpdates')); + } + //This hook fires after a bulk update is complete. + add_action('upgrader_process_complete', array($this, 'upgraderProcessComplete'), 11, 2); + + } else { + //Periodic checks are disabled. + wp_clear_scheduled_hook($this->cronHook); + } + } + + /** + * Runs upon the WP action upgrader_process_complete. + * + * We look at the parameters to decide whether to call maybeCheckForUpdates() or not. + * + * @param WP_Upgrader $upgrader WP_Upgrader instance + * @param array $upgradeInfo extra information about the upgrade + */ + public function upgraderProcessComplete( + /** @noinspection PhpUnusedParameterInspection */ + $upgrader, $upgradeInfo + ) { + + //Sanity check and limitation to relevant types. + if ( + !is_array($upgradeInfo) || !isset($upgradeInfo['type'], $upgradeInfo['action']) + || 'update' !== $upgradeInfo['action'] || !in_array($upgradeInfo['type'], array('plugin', 'theme')) + ) { + return; + } + + //Filter out notifications of upgrades that should have no bearing upon whether or not our + //current info is up-to-date. + if ( is_a($this->updateChecker, 'Puc_v4p6_Theme_UpdateChecker') ) { + if ( 'theme' !== $upgradeInfo['type'] || !isset($upgradeInfo['themes']) ) { + return; + } + + //Letting too many things going through for checks is not a real problem, so we compare widely. + if ( !in_array( + strtolower($this->updateChecker->directoryName), + array_map('strtolower', $upgradeInfo['themes']) + ) ) { + return; + } + } + + if ( is_a($this->updateChecker, 'Puc_v4p6_Plugin_UpdateChecker') ) { + if ( 'plugin' !== $upgradeInfo['type'] || !isset($upgradeInfo['plugins']) ) { + return; + } + + //Themes pass in directory names in the information array, but plugins use the relative plugin path. + if ( !in_array( + strtolower($this->updateChecker->directoryName), + array_map('dirname', array_map('strtolower', $upgradeInfo['plugins'])) + ) ) { + return; + } + } + + $this->maybeCheckForUpdates(); + } + + /** + * Check for updates if the configured check interval has already elapsed. + * Will use a shorter check interval on certain admin pages like "Dashboard -> Updates" or when doing cron. + * + * You can override the default behaviour by using the "puc_check_now-$slug" filter. + * The filter callback will be passed three parameters: + * - Current decision. TRUE = check updates now, FALSE = don't check now. + * - Last check time as a Unix timestamp. + * - Configured check period in hours. + * Return TRUE to check for updates immediately, or FALSE to cancel. + * + * This method is declared public because it's a hook callback. Calling it directly is not recommended. + */ + public function maybeCheckForUpdates() { + if ( empty($this->checkPeriod) ){ + return; + } + + $state = $this->updateChecker->getUpdateState(); + $shouldCheck = ($state->timeSinceLastCheck() >= $this->getEffectiveCheckPeriod()); + + //Let plugin authors substitute their own algorithm. + $shouldCheck = apply_filters( + $this->updateChecker->getUniqueName('check_now'), + $shouldCheck, + $state->getLastCheck(), + $this->checkPeriod + ); + + if ( $shouldCheck ) { + $this->updateChecker->checkForUpdates(); + } + } + + /** + * Calculate the actual check period based on the current status and environment. + * + * @return int Check period in seconds. + */ + protected function getEffectiveCheckPeriod() { + $currentFilter = current_filter(); + if ( in_array($currentFilter, array('load-update-core.php', 'upgrader_process_complete')) ) { + //Check more often when the user visits "Dashboard -> Updates" or does a bulk update. + $period = 60; + } else if ( in_array($currentFilter, $this->hourlyCheckHooks) ) { + //Also check more often on /wp-admin/update.php and the "Plugins" or "Themes" page. + $period = 3600; + } else if ( $this->throttleRedundantChecks && ($this->updateChecker->getUpdate() !== null) ) { + //Check less frequently if it's already known that an update is available. + $period = $this->throttledCheckPeriod * 3600; + } else if ( defined('DOING_CRON') && constant('DOING_CRON') ) { + //WordPress cron schedules are not exact, so lets do an update check even + //if slightly less than $checkPeriod hours have elapsed since the last check. + $cronFuzziness = 20 * 60; + $period = $this->checkPeriod * 3600 - $cronFuzziness; + } else { + $period = $this->checkPeriod * 3600; + } + + return $period; + } + + /** + * Add our custom schedule to the array of Cron schedules used by WP. + * + * @param array $schedules + * @return array + */ + public function _addCustomSchedule($schedules) { + if ( $this->checkPeriod && ($this->checkPeriod > 0) ){ + $scheduleName = 'every' . $this->checkPeriod . 'hours'; + $schedules[$scheduleName] = array( + 'interval' => $this->checkPeriod * 3600, + 'display' => sprintf('Every %d hours', $this->checkPeriod), + ); + } + return $schedules; + } + + /** + * Remove the scheduled cron event that the library uses to check for updates. + * + * @return void + */ + public function removeUpdaterCron() { + wp_clear_scheduled_hook($this->cronHook); + } + + /** + * Get the name of the update checker's WP-cron hook. Mostly useful for debugging. + * + * @return string + */ + public function getCronHookName() { + return $this->cronHook; + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/StateStore.php b/admin/includes/plugin-update-checker/Puc/v4p6/StateStore.php new file mode 100755 index 0000000..23f984e --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/StateStore.php @@ -0,0 +1,207 @@ +optionName = $optionName; + } + + /** + * Get time elapsed since the last update check. + * + * If there are no recorded update checks, this method returns a large arbitrary number + * (i.e. time since the Unix epoch). + * + * @return int Elapsed time in seconds. + */ + public function timeSinceLastCheck() { + $this->lazyLoad(); + return time() - $this->lastCheck; + } + + /** + * @return int + */ + public function getLastCheck() { + $this->lazyLoad(); + return $this->lastCheck; + } + + /** + * Set the time of the last update check to the current timestamp. + * + * @return $this + */ + public function setLastCheckToNow() { + $this->lazyLoad(); + $this->lastCheck = time(); + return $this; + } + + /** + * @return null|Puc_v4p6_Update + */ + public function getUpdate() { + $this->lazyLoad(); + return $this->update; + } + + /** + * @param Puc_v4p6_Update|null $update + * @return $this + */ + public function setUpdate(Puc_v4p6_Update $update = null) { + $this->lazyLoad(); + $this->update = $update; + return $this; + } + + /** + * @return string + */ + public function getCheckedVersion() { + $this->lazyLoad(); + return $this->checkedVersion; + } + + /** + * @param string $version + * @return $this + */ + public function setCheckedVersion($version) { + $this->lazyLoad(); + $this->checkedVersion = strval($version); + return $this; + } + + /** + * Get translation updates. + * + * @return array + */ + public function getTranslations() { + $this->lazyLoad(); + if ( isset($this->update, $this->update->translations) ) { + return $this->update->translations; + } + return array(); + } + + /** + * Set translation updates. + * + * @param array $translationUpdates + */ + public function setTranslations($translationUpdates) { + $this->lazyLoad(); + if ( isset($this->update) ) { + $this->update->translations = $translationUpdates; + $this->save(); + } + } + + public function save() { + $state = new stdClass(); + + $state->lastCheck = $this->lastCheck; + $state->checkedVersion = $this->checkedVersion; + + if ( isset($this->update)) { + $state->update = $this->update->toStdClass(); + + $updateClass = get_class($this->update); + $state->updateClass = $updateClass; + $prefix = $this->getLibPrefix(); + if ( Puc_v4p6_Utils::startsWith($updateClass, $prefix) ) { + $state->updateBaseClass = substr($updateClass, strlen($prefix)); + } + } + + update_site_option($this->optionName, $state); + $this->isLoaded = true; + } + + /** + * @return $this + */ + public function lazyLoad() { + if ( !$this->isLoaded ) { + $this->load(); + } + return $this; + } + + protected function load() { + $this->isLoaded = true; + + $state = get_site_option($this->optionName, null); + + if ( !is_object($state) ) { + $this->lastCheck = 0; + $this->checkedVersion = ''; + $this->update = null; + return; + } + + $this->lastCheck = intval(Puc_v4p6_Utils::get($state, 'lastCheck', 0)); + $this->checkedVersion = Puc_v4p6_Utils::get($state, 'checkedVersion', ''); + $this->update = null; + + if ( isset($state->update) ) { + //This mess is due to the fact that the want the update class from this version + //of the library, not the version that saved the update. + + $updateClass = null; + if ( isset($state->updateBaseClass) ) { + $updateClass = $this->getLibPrefix() . $state->updateBaseClass; + } else if ( isset($state->updateClass) && class_exists($state->updateClass) ) { + $updateClass = $state->updateClass; + } + + if ( $updateClass !== null ) { + $this->update = call_user_func(array($updateClass, 'fromObject'), $state->update); + } + } + } + + public function delete() { + delete_site_option($this->optionName); + + $this->lastCheck = 0; + $this->checkedVersion = ''; + $this->update = null; + } + + private function getLibPrefix() { + $parts = explode('_', __CLASS__, 3); + return $parts[0] . '_' . $parts[1] . '_'; + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Theme/Package.php b/admin/includes/plugin-update-checker/Puc/v4p6/Theme/Package.php new file mode 100755 index 0000000..d4a6dcc --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/Theme/Package.php @@ -0,0 +1,65 @@ +stylesheet = $stylesheet; + $this->theme = wp_get_theme($this->stylesheet); + + parent::__construct($updateChecker); + } + + public function getInstalledVersion() { + return $this->theme->get('Version'); + } + + public function getAbsoluteDirectoryPath() { + if ( method_exists($this->theme, 'get_stylesheet_directory') ) { + return $this->theme->get_stylesheet_directory(); //Available since WP 3.4. + } + return get_theme_root($this->stylesheet) . '/' . $this->stylesheet; + } + + /** + * Get the value of a specific plugin or theme header. + * + * @param string $headerName + * @param string $defaultValue + * @return string Either the value of the header, or $defaultValue if the header doesn't exist or is empty. + */ + public function getHeaderValue($headerName, $defaultValue = '') { + $value = $this->theme->get($headerName); + if ( ($headerName === false) || ($headerName === '') ) { + return $defaultValue; + } + return $value; + } + + protected function getHeaderNames() { + return array( + 'Name' => 'Theme Name', + 'ThemeURI' => 'Theme URI', + 'Description' => 'Description', + 'Author' => 'Author', + 'AuthorURI' => 'Author URI', + 'Version' => 'Version', + 'Template' => 'Template', + 'Status' => 'Status', + 'Tags' => 'Tags', + 'TextDomain' => 'Text Domain', + 'DomainPath' => 'Domain Path', + ); + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Theme/Update.php b/admin/includes/plugin-update-checker/Puc/v4p6/Theme/Update.php new file mode 100755 index 0000000..f1a8f67 --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/Theme/Update.php @@ -0,0 +1,84 @@ + $this->slug, + 'new_version' => $this->version, + 'url' => $this->details_url, + ); + + if ( !empty($this->download_url) ) { + $update['package'] = $this->download_url; + } + + return $update; + } + + /** + * Create a new instance of Theme_Update from its JSON-encoded representation. + * + * @param string $json Valid JSON string representing a theme information object. + * @return self New instance of ThemeUpdate, or NULL on error. + */ + public static function fromJson($json) { + $instance = new self(); + if ( !parent::createFromJson($json, $instance) ) { + return null; + } + return $instance; + } + + /** + * Create a new instance by copying the necessary fields from another object. + * + * @param StdClass|Puc_v4p6_Theme_Update $object The source object. + * @return Puc_v4p6_Theme_Update The new copy. + */ + public static function fromObject($object) { + $update = new self(); + $update->copyFields($object, $update); + return $update; + } + + /** + * Basic validation. + * + * @param StdClass $apiResponse + * @return bool|WP_Error + */ + protected function validateMetadata($apiResponse) { + $required = array('version', 'details_url'); + foreach($required as $key) { + if ( !isset($apiResponse->$key) || empty($apiResponse->$key) ) { + return new WP_Error( + 'tuc-invalid-metadata', + sprintf('The theme metadata is missing the required "%s" key.', $key) + ); + } + } + return true; + } + + protected function getFieldNames() { + return array_merge(parent::getFieldNames(), self::$extraFields); + } + + protected function getPrefixedFilter($tag) { + return parent::getPrefixedFilter($tag) . '_theme'; + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Theme/UpdateChecker.php b/admin/includes/plugin-update-checker/Puc/v4p6/Theme/UpdateChecker.php new file mode 100755 index 0000000..12848a9 --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/Theme/UpdateChecker.php @@ -0,0 +1,142 @@ +stylesheet = $stylesheet; + + parent::__construct( + $metadataUrl, + $stylesheet, + $customSlug ? $customSlug : $stylesheet, + $checkPeriod, + $optionName + ); + } + + /** + * For themes, the update array is indexed by theme directory name. + * + * @return string + */ + protected function getUpdateListKey() { + return $this->directoryName; + } + + /** + * Retrieve the latest update (if any) from the configured API endpoint. + * + * @return Puc_v4p6_Update|null An instance of Update, or NULL when no updates are available. + */ + public function requestUpdate() { + list($themeUpdate, $result) = $this->requestMetadata('Puc_v4p6_Theme_Update', 'request_update'); + + if ( $themeUpdate !== null ) { + /** @var Puc_v4p6_Theme_Update $themeUpdate */ + $themeUpdate->slug = $this->slug; + } + + $themeUpdate = $this->filterUpdateResult($themeUpdate, $result); + return $themeUpdate; + } + + public function userCanInstallUpdates() { + return current_user_can('update_themes'); + } + + /** + * Create an instance of the scheduler. + * + * @param int $checkPeriod + * @return Puc_v4p6_Scheduler + */ + protected function createScheduler($checkPeriod) { + return new Puc_v4p6_Scheduler($this, $checkPeriod, array('load-themes.php')); + } + + /** + * Is there an update being installed right now for this theme? + * + * @param WP_Upgrader|null $upgrader The upgrader that's performing the current update. + * @return bool + */ + public function isBeingUpgraded($upgrader = null) { + return $this->upgraderStatus->isThemeBeingUpgraded($this->stylesheet, $upgrader); + } + + protected function createDebugBarExtension() { + return new Puc_v4p6_DebugBar_Extension($this, 'Puc_v4p6_DebugBar_ThemePanel'); + } + + /** + * Register a callback for filtering query arguments. + * + * The callback function should take one argument - an associative array of query arguments. + * It should return a modified array of query arguments. + * + * @param callable $callback + * @return void + */ + public function addQueryArgFilter($callback){ + $this->addFilter('request_update_query_args', $callback); + } + + /** + * Register a callback for filtering arguments passed to wp_remote_get(). + * + * The callback function should take one argument - an associative array of arguments - + * and return a modified array or arguments. See the WP documentation on wp_remote_get() + * for details on what arguments are available and how they work. + * + * @uses add_filter() This method is a convenience wrapper for add_filter(). + * + * @param callable $callback + * @return void + */ + public function addHttpRequestArgFilter($callback) { + $this->addFilter('request_update_options', $callback); + } + + /** + * Register a callback for filtering theme updates retrieved from the external API. + * + * The callback function should take two arguments. If the theme update was retrieved + * successfully, the first argument passed will be an instance of Theme_Update. Otherwise, + * it will be NULL. The second argument will be the corresponding return value of + * wp_remote_get (see WP docs for details). + * + * The callback function should return a new or modified instance of Theme_Update or NULL. + * + * @uses add_filter() This method is a convenience wrapper for add_filter(). + * + * @param callable $callback + * @return void + */ + public function addResultFilter($callback) { + $this->addFilter('request_update_result', $callback, 10, 2); + } + + /** + * Create a package instance that represents this plugin or theme. + * + * @return Puc_v4p6_InstalledPackage + */ + protected function createInstalledPackage() { + return new Puc_v4p6_Theme_Package($this->stylesheet, $this); + } + } + +endif; \ No newline at end of file diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Update.php b/admin/includes/plugin-update-checker/Puc/v4p6/Update.php new file mode 100755 index 0000000..5369e8a --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/Update.php @@ -0,0 +1,34 @@ +slug = $this->slug; + $update->new_version = $this->version; + $update->package = $this->download_url; + + return $update; + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/UpdateChecker.php b/admin/includes/plugin-update-checker/Puc/v4p6/UpdateChecker.php new file mode 100755 index 0000000..00c916e --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/UpdateChecker.php @@ -0,0 +1,926 @@ +debugMode = (bool)(constant('WP_DEBUG')); + $this->metadataUrl = $metadataUrl; + $this->directoryName = $directoryName; + $this->slug = !empty($slug) ? $slug : $this->directoryName; + + $this->optionName = $optionName; + if ( empty($this->optionName) ) { + //BC: Initially the library only supported plugin updates and didn't use type prefixes + //in the option name. Lets use the same prefix-less name when possible. + if ( $this->filterSuffix === '' ) { + $this->optionName = 'external_updates-' . $this->slug; + } else { + $this->optionName = $this->getUniqueName('external_updates'); + } + } + + $this->package = $this->createInstalledPackage(); + $this->scheduler = $this->createScheduler($checkPeriod); + $this->upgraderStatus = new Puc_v4p6_UpgraderStatus(); + $this->updateState = new Puc_v4p6_StateStore($this->optionName); + + if ( did_action('init') ) { + $this->loadTextDomain(); + } else { + add_action('init', array($this, 'loadTextDomain')); + } + + $this->installHooks(); + } + + /** + * @internal + */ + public function loadTextDomain() { + //We're not using load_plugin_textdomain() or its siblings because figuring out where + //the library is located (plugin, mu-plugin, theme, custom wp-content paths) is messy. + $domain = 'plugin-update-checker'; + $locale = apply_filters( + 'plugin_locale', + (is_admin() && function_exists('get_user_locale')) ? get_user_locale() : get_locale(), + $domain + ); + + $moFile = $domain . '-' . $locale . '.mo'; + $path = realpath(dirname(__FILE__) . '/../../languages'); + + if ($path && file_exists($path)) { + load_textdomain($domain, $path . '/' . $moFile); + } + } + + protected function installHooks() { + //Insert our update info into the update array maintained by WP. + add_filter('site_transient_' . $this->updateTransient, array($this,'injectUpdate')); + + //Insert translation updates into the update list. + add_filter('site_transient_' . $this->updateTransient, array($this, 'injectTranslationUpdates')); + + //Clear translation updates when WP clears the update cache. + //This needs to be done directly because the library doesn't actually remove obsolete plugin updates, + //it just hides them (see getUpdate()). We can't do that with translations - too much disk I/O. + add_action( + 'delete_site_transient_' . $this->updateTransient, + array($this, 'clearCachedTranslationUpdates') + ); + + //Rename the update directory to be the same as the existing directory. + if ( $this->directoryName !== '.' ) { + add_filter('upgrader_source_selection', array($this, 'fixDirectoryName'), 10, 3); + } + + //Allow HTTP requests to the metadata URL even if it's on a local host. + add_filter('http_request_host_is_external', array($this, 'allowMetadataHost'), 10, 2); + + //DebugBar integration. + if ( did_action('plugins_loaded') ) { + $this->maybeInitDebugBar(); + } else { + add_action('plugins_loaded', array($this, 'maybeInitDebugBar')); + } + } + + /** + * Remove hooks that were added by this update checker instance. + */ + protected function removeHooks() { + remove_filter('site_transient_' . $this->updateTransient, array($this,'injectUpdate')); + remove_filter('site_transient_' . $this->updateTransient, array($this, 'injectTranslationUpdates')); + remove_action( + 'delete_site_transient_' . $this->updateTransient, + array($this, 'clearCachedTranslationUpdates') + ); + + remove_filter('upgrader_source_selection', array($this, 'fixDirectoryName'), 10); + remove_filter('http_request_host_is_external', array($this, 'allowMetadataHost'), 10); + remove_action('plugins_loaded', array($this, 'maybeInitDebugBar')); + + remove_action('init', array($this, 'loadTextDomain')); + } + + /** + * Check if the current user has the required permissions to install updates. + * + * @return bool + */ + abstract public function userCanInstallUpdates(); + + /** + * Explicitly allow HTTP requests to the metadata URL. + * + * WordPress has a security feature where the HTTP API will reject all requests that are sent to + * another site hosted on the same server as the current site (IP match), a local host, or a local + * IP, unless the host exactly matches the current site. + * + * This feature is opt-in (at least in WP 4.4). Apparently some people enable it. + * + * That can be a problem when you're developing your plugin and you decide to host the update information + * on the same server as your test site. Update requests will mysteriously fail. + * + * We fix that by adding an exception for the metadata host. + * + * @param bool $allow + * @param string $host + * @return bool + */ + public function allowMetadataHost($allow, $host) { + static $metadataHost = 0; //Using 0 instead of NULL because parse_url can return NULL. + if ( $metadataHost === 0 ) { + $metadataHost = parse_url($this->metadataUrl, PHP_URL_HOST); + } + + if ( is_string($metadataHost) && (strtolower($host) === strtolower($metadataHost)) ) { + return true; + } + return $allow; + } + + /** + * Create a package instance that represents this plugin or theme. + * + * @return Puc_v4p6_InstalledPackage + */ + abstract protected function createInstalledPackage(); + + /** + * @return Puc_v4p6_InstalledPackage + */ + public function getInstalledPackage() { + return $this->package; + } + + /** + * Create an instance of the scheduler. + * + * This is implemented as a method to make it possible for plugins to subclass the update checker + * and substitute their own scheduler. + * + * @param int $checkPeriod + * @return Puc_v4p6_Scheduler + */ + abstract protected function createScheduler($checkPeriod); + + /** + * Check for updates. The results are stored in the DB option specified in $optionName. + * + * @return Puc_v4p6_Update|null + */ + public function checkForUpdates() { + $installedVersion = $this->getInstalledVersion(); + //Fail silently if we can't find the plugin/theme or read its header. + if ( $installedVersion === null ) { + $this->triggerError( + sprintf('Skipping update check for %s - installed version unknown.', $this->slug), + E_USER_WARNING + ); + return null; + } + + //Start collecting API errors. + $this->lastRequestApiErrors = array(); + add_action('puc_api_error', array($this, 'collectApiErrors'), 10, 4); + + $state = $this->updateState; + $state->setLastCheckToNow() + ->setCheckedVersion($installedVersion) + ->save(); //Save before checking in case something goes wrong + + $state->setUpdate($this->requestUpdate()); + $state->save(); + + //Stop collecting API errors. + remove_action('puc_api_error', array($this, 'collectApiErrors'), 10); + + return $this->getUpdate(); + } + + /** + * Load the update checker state from the DB. + * + * @return Puc_v4p6_StateStore + */ + public function getUpdateState() { + return $this->updateState->lazyLoad(); + } + + /** + * Reset update checker state - i.e. last check time, cached update data and so on. + * + * Call this when your plugin is being uninstalled, or if you want to + * clear the update cache. + */ + public function resetUpdateState() { + $this->updateState->delete(); + } + + /** + * Get the details of the currently available update, if any. + * + * If no updates are available, or if the last known update version is below or equal + * to the currently installed version, this method will return NULL. + * + * Uses cached update data. To retrieve update information straight from + * the metadata URL, call requestUpdate() instead. + * + * @return Puc_v4p6_Update|null + */ + public function getUpdate() { + $update = $this->updateState->getUpdate(); + + //Is there an update available? + if ( isset($update) ) { + //Check if the update is actually newer than the currently installed version. + $installedVersion = $this->getInstalledVersion(); + if ( ($installedVersion !== null) && version_compare($update->version, $installedVersion, '>') ){ + return $update; + } + } + return null; + } + + /** + * Retrieve the latest update (if any) from the configured API endpoint. + * + * Subclasses should run the update through filterUpdateResult before returning it. + * + * @return Puc_v4p6_Update An instance of Update, or NULL when no updates are available. + */ + abstract public function requestUpdate(); + + /** + * Filter the result of a requestUpdate() call. + * + * @param Puc_v4p6_Update|null $update + * @param array|WP_Error|null $httpResult The value returned by wp_remote_get(), if any. + * @return Puc_v4p6_Update + */ + protected function filterUpdateResult($update, $httpResult = null) { + //Let plugins/themes modify the update. + $update = apply_filters($this->getUniqueName('request_update_result'), $update, $httpResult); + + $this->fixSupportedWordpressVersion($update); + + if ( isset($update, $update->translations) ) { + //Keep only those translation updates that apply to this site. + $update->translations = $this->filterApplicableTranslations($update->translations); + } + + return $update; + } + + /** + * The "Tested up to" field in the plugin metadata is supposed to be in the form of "major.minor", + * while WordPress core's list_plugin_updates() expects the $update->tested field to be an exact + * version, e.g. "major.minor.patch", to say it's compatible. In other case it shows + * "Compatibility: Unknown". + * The function mimics how wordpress.org API crafts the "tested" field out of "Tested up to". + * + * @param Puc_v4p6_Update|null $update + */ + protected function fixSupportedWordpressVersion(Puc_v4p6_Update $update = null) { + if ( !isset($update->tested) || !preg_match('/^\d++\.\d++$/', $update->tested) ) { + return; + } + + $actualWpVersions = array(); + + $wpVersion = $GLOBALS['wp_version']; + + if ( function_exists('get_preferred_from_update_core') ) { + $coreUpdate = get_preferred_from_update_core(); + if ( isset($coreUpdate->current) && version_compare($coreUpdate->current, $wpVersion, '>') ) { + $actualWpVersions[] = $coreUpdate->current; + } + } + + $actualWpVersions[] = $wpVersion; + + $actualWpPatchNumber = "999"; + foreach ($actualWpVersions as $version) { + if ( preg_match('/^(?P\d++\.\d++)\.(?P\d++)/', $version, $versionParts) ) { + if ( $versionParts['majorMinor'] === $update->tested ) { + $actualWpPatchNumber = $versionParts['patch']; + break; + } + } + } + + $update->tested .= '.' . $actualWpPatchNumber; + } + + /** + * Get the currently installed version of the plugin or theme. + * + * @return string|null Version number. + */ + public function getInstalledVersion() { + return $this->package->getInstalledVersion(); + } + + /** + * Get the full path of the plugin or theme directory. + * + * @return string + */ + public function getAbsoluteDirectoryPath() { + return $this->package->getAbsoluteDirectoryPath(); + } + + /** + * Trigger a PHP error, but only when $debugMode is enabled. + * + * @param string $message + * @param int $errorType + */ + public function triggerError($message, $errorType) { + if ( $this->isDebugModeEnabled() ) { + trigger_error($message, $errorType); + } + } + + /** + * @return bool + */ + protected function isDebugModeEnabled() { + if ( $this->debugMode === null ) { + $this->debugMode = (bool)(constant('WP_DEBUG')); + } + return $this->debugMode; + } + + /** + * Get the full name of an update checker filter, action or DB entry. + * + * This method adds the "puc_" prefix and the "-$slug" suffix to the filter name. + * For example, "pre_inject_update" becomes "puc_pre_inject_update-plugin-slug". + * + * @param string $baseTag + * @return string + */ + public function getUniqueName($baseTag) { + $name = 'puc_' . $baseTag; + if ( $this->filterSuffix !== '' ) { + $name .= '_' . $this->filterSuffix; + } + return $name . '-' . $this->slug; + } + + /** + * Store API errors that are generated when checking for updates. + * + * @internal + * @param WP_Error $error + * @param array|null $httpResponse + * @param string|null $url + * @param string|null $slug + */ + public function collectApiErrors($error, $httpResponse = null, $url = null, $slug = null) { + if ( isset($slug) && ($slug !== $this->slug) ) { + return; + } + + $this->lastRequestApiErrors[] = array( + 'error' => $error, + 'httpResponse' => $httpResponse, + 'url' => $url, + ); + } + + /** + * @return array + */ + public function getLastRequestApiErrors() { + return $this->lastRequestApiErrors; + } + + /* ------------------------------------------------------------------- + * PUC filters and filter utilities + * ------------------------------------------------------------------- + */ + + /** + * Register a callback for one of the update checker filters. + * + * Identical to add_filter(), except it automatically adds the "puc_" prefix + * and the "-$slug" suffix to the filter name. For example, "request_info_result" + * becomes "puc_request_info_result-your_plugin_slug". + * + * @param string $tag + * @param callable $callback + * @param int $priority + * @param int $acceptedArgs + */ + public function addFilter($tag, $callback, $priority = 10, $acceptedArgs = 1) { + add_filter($this->getUniqueName($tag), $callback, $priority, $acceptedArgs); + } + + /* ------------------------------------------------------------------- + * Inject updates + * ------------------------------------------------------------------- + */ + + /** + * Insert the latest update (if any) into the update list maintained by WP. + * + * @param stdClass $updates Update list. + * @return stdClass Modified update list. + */ + public function injectUpdate($updates) { + //Is there an update to insert? + $update = $this->getUpdate(); + + if ( !$this->shouldShowUpdates() ) { + $update = null; + } + + if ( !empty($update) ) { + //Let plugins filter the update info before it's passed on to WordPress. + $update = apply_filters($this->getUniqueName('pre_inject_update'), $update); + $updates = $this->addUpdateToList($updates, $update->toWpFormat()); + } else { + //Clean up any stale update info. + $updates = $this->removeUpdateFromList($updates); + } + + return $updates; + } + + /** + * @param stdClass|null $updates + * @param stdClass|array $updateToAdd + * @return stdClass + */ + protected function addUpdateToList($updates, $updateToAdd) { + if ( !is_object($updates) ) { + $updates = new stdClass(); + $updates->response = array(); + } + + $updates->response[$this->getUpdateListKey()] = $updateToAdd; + return $updates; + } + + /** + * @param stdClass|null $updates + * @return stdClass|null + */ + protected function removeUpdateFromList($updates) { + if ( isset($updates, $updates->response) ) { + unset($updates->response[$this->getUpdateListKey()]); + } + return $updates; + } + + /** + * Get the key that will be used when adding updates to the update list that's maintained + * by the WordPress core. The list is always an associative array, but the key is different + * for plugins and themes. + * + * @return string + */ + abstract protected function getUpdateListKey(); + + /** + * Should we show available updates? + * + * Usually the answer is "yes", but there are exceptions. For example, WordPress doesn't + * support automatic updates installation for mu-plugins, so PUC usually won't show update + * notifications in that case. See the plugin-specific subclass for details. + * + * Note: This method only applies to updates that are displayed (or not) in the WordPress + * admin. It doesn't affect APIs like requestUpdate and getUpdate. + * + * @return bool + */ + protected function shouldShowUpdates() { + return true; + } + + /* ------------------------------------------------------------------- + * JSON-based update API + * ------------------------------------------------------------------- + */ + + /** + * Retrieve plugin or theme metadata from the JSON document at $this->metadataUrl. + * + * @param string $metaClass Parse the JSON as an instance of this class. It must have a static fromJson method. + * @param string $filterRoot + * @param array $queryArgs Additional query arguments. + * @return array [Puc_v4p6_Metadata|null, array|WP_Error] A metadata instance and the value returned by wp_remote_get(). + */ + protected function requestMetadata($metaClass, $filterRoot, $queryArgs = array()) { + //Query args to append to the URL. Plugins can add their own by using a filter callback (see addQueryArgFilter()). + $queryArgs = array_merge( + array( + 'installed_version' => strval($this->getInstalledVersion()), + 'php' => phpversion(), + 'locale' => get_locale(), + ), + $queryArgs + ); + $queryArgs = apply_filters($this->getUniqueName($filterRoot . '_query_args'), $queryArgs); + + //Various options for the wp_remote_get() call. Plugins can filter these, too. + $options = array( + 'timeout' => 10, //seconds + 'headers' => array( + 'Accept' => 'application/json', + ), + ); + $options = apply_filters($this->getUniqueName($filterRoot . '_options'), $options); + + //The metadata file should be at 'http://your-api.com/url/here/$slug/info.json' + $url = $this->metadataUrl; + if ( !empty($queryArgs) ){ + $url = add_query_arg($queryArgs, $url); + } + + $result = wp_remote_get($url, $options); + + $result = apply_filters($this->getUniqueName('request_metadata_http_result'), $result, $url, $options); + + //Try to parse the response + $status = $this->validateApiResponse($result); + $metadata = null; + if ( !is_wp_error($status) ){ + $metadata = call_user_func(array($metaClass, 'fromJson'), $result['body']); + } else { + do_action('puc_api_error', $status, $result, $url, $this->slug); + $this->triggerError( + sprintf('The URL %s does not point to a valid metadata file. ', $url) + . $status->get_error_message(), + E_USER_WARNING + ); + } + + return array($metadata, $result); + } + + /** + * Check if $result is a successful update API response. + * + * @param array|WP_Error $result + * @return true|WP_Error + */ + protected function validateApiResponse($result) { + if ( is_wp_error($result) ) { /** @var WP_Error $result */ + return new WP_Error($result->get_error_code(), 'WP HTTP Error: ' . $result->get_error_message()); + } + + if ( !isset($result['response']['code']) ) { + return new WP_Error( + 'puc_no_response_code', + 'wp_remote_get() returned an unexpected result.' + ); + } + + if ( $result['response']['code'] !== 200 ) { + return new WP_Error( + 'puc_unexpected_response_code', + 'HTTP response code is ' . $result['response']['code'] . ' (expected: 200)' + ); + } + + if ( empty($result['body']) ) { + return new WP_Error('puc_empty_response', 'The metadata file appears to be empty.'); + } + + return true; + } + + /* ------------------------------------------------------------------- + * Language packs / Translation updates + * ------------------------------------------------------------------- + */ + + /** + * Filter a list of translation updates and return a new list that contains only updates + * that apply to the current site. + * + * @param array $translations + * @return array + */ + protected function filterApplicableTranslations($translations) { + $languages = array_flip(array_values(get_available_languages())); + $installedTranslations = $this->getInstalledTranslations(); + + $applicableTranslations = array(); + foreach ($translations as $translation) { + //Does it match one of the available core languages? + $isApplicable = array_key_exists($translation->language, $languages); + //Is it more recent than an already-installed translation? + if ( isset($installedTranslations[$translation->language]) ) { + $updateTimestamp = strtotime($translation->updated); + $installedTimestamp = strtotime($installedTranslations[$translation->language]['PO-Revision-Date']); + $isApplicable = $updateTimestamp > $installedTimestamp; + } + + if ( $isApplicable ) { + $applicableTranslations[] = $translation; + } + } + + return $applicableTranslations; + } + + /** + * Get a list of installed translations for this plugin or theme. + * + * @return array + */ + protected function getInstalledTranslations() { + if ( !function_exists('wp_get_installed_translations') ) { + return array(); + } + $installedTranslations = wp_get_installed_translations($this->translationType . 's'); + if ( isset($installedTranslations[$this->directoryName]) ) { + $installedTranslations = $installedTranslations[$this->directoryName]; + } else { + $installedTranslations = array(); + } + return $installedTranslations; + } + + /** + * Insert translation updates into the list maintained by WordPress. + * + * @param stdClass $updates + * @return stdClass + */ + public function injectTranslationUpdates($updates) { + $translationUpdates = $this->getTranslationUpdates(); + if ( empty($translationUpdates) ) { + return $updates; + } + + //Being defensive. + if ( !is_object($updates) ) { + $updates = new stdClass(); + } + if ( !isset($updates->translations) ) { + $updates->translations = array(); + } + + //In case there's a name collision with a plugin or theme hosted on wordpress.org, + //remove any preexisting updates that match our thing. + $updates->translations = array_values(array_filter( + $updates->translations, + array($this, 'isNotMyTranslation') + )); + + //Add our updates to the list. + foreach($translationUpdates as $update) { + $convertedUpdate = array_merge( + array( + 'type' => $this->translationType, + 'slug' => $this->directoryName, + 'autoupdate' => 0, + //AFAICT, WordPress doesn't actually use the "version" field for anything. + //But lets make sure it's there, just in case. + 'version' => isset($update->version) ? $update->version : ('1.' . strtotime($update->updated)), + ), + (array)$update + ); + + $updates->translations[] = $convertedUpdate; + } + + return $updates; + } + + /** + * Get a list of available translation updates. + * + * This method will return an empty array if there are no updates. + * Uses cached update data. + * + * @return array + */ + public function getTranslationUpdates() { + return $this->updateState->getTranslations(); + } + + /** + * Remove all cached translation updates. + * + * @see wp_clean_update_cache + */ + public function clearCachedTranslationUpdates() { + $this->updateState->setTranslations(array()); + } + + /** + * Filter callback. Keeps only translations that *don't* match this plugin or theme. + * + * @param array $translation + * @return bool + */ + protected function isNotMyTranslation($translation) { + $isMatch = isset($translation['type'], $translation['slug']) + && ($translation['type'] === $this->translationType) + && ($translation['slug'] === $this->directoryName); + + return !$isMatch; + } + + /* ------------------------------------------------------------------- + * Fix directory name when installing updates + * ------------------------------------------------------------------- + */ + + /** + * Rename the update directory to match the existing plugin/theme directory. + * + * When WordPress installs a plugin or theme update, it assumes that the ZIP file will contain + * exactly one directory, and that the directory name will be the same as the directory where + * the plugin or theme is currently installed. + * + * GitHub and other repositories provide ZIP downloads, but they often use directory names like + * "project-branch" or "project-tag-hash". We need to change the name to the actual plugin folder. + * + * This is a hook callback. Don't call it from a plugin. + * + * @access protected + * + * @param string $source The directory to copy to /wp-content/plugins or /wp-content/themes. Usually a subdirectory of $remoteSource. + * @param string $remoteSource WordPress has extracted the update to this directory. + * @param WP_Upgrader $upgrader + * @return string|WP_Error + */ + public function fixDirectoryName($source, $remoteSource, $upgrader) { + global $wp_filesystem; + /** @var WP_Filesystem_Base $wp_filesystem */ + + //Basic sanity checks. + if ( !isset($source, $remoteSource, $upgrader, $upgrader->skin, $wp_filesystem) ) { + return $source; + } + + //If WordPress is upgrading anything other than our plugin/theme, leave the directory name unchanged. + if ( !$this->isBeingUpgraded($upgrader) ) { + return $source; + } + + //Rename the source to match the existing directory. + $correctedSource = trailingslashit($remoteSource) . $this->directoryName . '/'; + if ( $source !== $correctedSource ) { + //The update archive should contain a single directory that contains the rest of plugin/theme files. + //Otherwise, WordPress will try to copy the entire working directory ($source == $remoteSource). + //We can't rename $remoteSource because that would break WordPress code that cleans up temporary files + //after update. + if ( $this->isBadDirectoryStructure($remoteSource) ) { + return new WP_Error( + 'puc-incorrect-directory-structure', + sprintf( + 'The directory structure of the update is incorrect. All files should be inside ' . + 'a directory named %s, not at the root of the ZIP archive.', + htmlentities($this->slug) + ) + ); + } + + /** @var WP_Upgrader_Skin $upgrader ->skin */ + $upgrader->skin->feedback(sprintf( + 'Renaming %s to %s…', + '' . basename($source) . '', + '' . $this->directoryName . '' + )); + + if ( $wp_filesystem->move($source, $correctedSource, true) ) { + $upgrader->skin->feedback('Directory successfully renamed.'); + return $correctedSource; + } else { + return new WP_Error( + 'puc-rename-failed', + 'Unable to rename the update to match the existing directory.' + ); + } + } + + return $source; + } + + /** + * Is there an update being installed right now, for this plugin or theme? + * + * @param WP_Upgrader|null $upgrader The upgrader that's performing the current update. + * @return bool + */ + abstract public function isBeingUpgraded($upgrader = null); + + /** + * Check for incorrect update directory structure. An update must contain a single directory, + * all other files should be inside that directory. + * + * @param string $remoteSource Directory path. + * @return bool + */ + protected function isBadDirectoryStructure($remoteSource) { + global $wp_filesystem; + /** @var WP_Filesystem_Base $wp_filesystem */ + + $sourceFiles = $wp_filesystem->dirlist($remoteSource); + if ( is_array($sourceFiles) ) { + $sourceFiles = array_keys($sourceFiles); + $firstFilePath = trailingslashit($remoteSource) . $sourceFiles[0]; + return (count($sourceFiles) > 1) || (!$wp_filesystem->is_dir($firstFilePath)); + } + + //Assume it's fine. + return false; + } + + /* ------------------------------------------------------------------- + * DebugBar integration + * ------------------------------------------------------------------- + */ + + /** + * Initialize the update checker Debug Bar plugin/add-on thingy. + */ + public function maybeInitDebugBar() { + if ( class_exists('Debug_Bar', false) && file_exists(dirname(__FILE__) . '/DebugBar') ) { + $this->createDebugBarExtension(); + } + } + + protected function createDebugBarExtension() { + return new Puc_v4p6_DebugBar_Extension($this); + } + + /** + * Display additional configuration details in the Debug Bar panel. + * + * @param Puc_v4p6_DebugBar_Panel $panel + */ + public function onDisplayConfiguration($panel) { + //Do nothing. Subclasses can use this to add additional info to the panel. + } + + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/UpgraderStatus.php b/admin/includes/plugin-update-checker/Puc/v4p6/UpgraderStatus.php new file mode 100755 index 0000000..89f9161 --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/UpgraderStatus.php @@ -0,0 +1,199 @@ +isBeingUpgraded('plugin', $pluginFile, $upgrader); + } + + /** + * Is there an update being installed for a specific theme? + * + * @param string $stylesheet Theme directory name. + * @param WP_Upgrader|null $upgrader The upgrader that's performing the current update. + * @return bool + */ + public function isThemeBeingUpgraded($stylesheet, $upgrader = null) { + return $this->isBeingUpgraded('theme', $stylesheet, $upgrader); + } + + /** + * Check if a specific theme or plugin is being upgraded. + * + * @param string $type + * @param string $id + * @param Plugin_Upgrader|WP_Upgrader|null $upgrader + * @return bool + */ + protected function isBeingUpgraded($type, $id, $upgrader = null) { + if ( isset($upgrader) ) { + list($currentType, $currentId) = $this->getThingBeingUpgradedBy($upgrader); + if ( $currentType !== null ) { + $this->currentType = $currentType; + $this->currentId = $currentId; + } + } + return ($this->currentType === $type) && ($this->currentId === $id); + } + + /** + * Figure out which theme or plugin is being upgraded by a WP_Upgrader instance. + * + * Returns an array with two items. The first item is the type of the thing that's being + * upgraded: "plugin" or "theme". The second item is either the plugin basename or + * the theme directory name. If we can't determine what the upgrader is doing, both items + * will be NULL. + * + * Examples: + * ['plugin', 'plugin-dir-name/plugin.php'] + * ['theme', 'theme-dir-name'] + * + * @param Plugin_Upgrader|WP_Upgrader $upgrader + * @return array + */ + private function getThingBeingUpgradedBy($upgrader) { + if ( !isset($upgrader, $upgrader->skin) ) { + return array(null, null); + } + + //Figure out which plugin or theme is being upgraded. + $pluginFile = null; + $themeDirectoryName = null; + + $skin = $upgrader->skin; + if ( isset($skin->theme_info) && ($skin->theme_info instanceof WP_Theme) ) { + $themeDirectoryName = $skin->theme_info->get_stylesheet(); + } elseif ( $skin instanceof Plugin_Upgrader_Skin ) { + if ( isset($skin->plugin) && is_string($skin->plugin) && ($skin->plugin !== '') ) { + $pluginFile = $skin->plugin; + } + } elseif ( $skin instanceof Theme_Upgrader_Skin ) { + if ( isset($skin->theme) && is_string($skin->theme) && ($skin->theme !== '') ) { + $themeDirectoryName = $skin->theme; + } + } elseif ( isset($skin->plugin_info) && is_array($skin->plugin_info) ) { + //This case is tricky because Bulk_Plugin_Upgrader_Skin (etc) doesn't actually store the plugin + //filename anywhere. Instead, it has the plugin headers in $plugin_info. So the best we can + //do is compare those headers to the headers of installed plugins. + $pluginFile = $this->identifyPluginByHeaders($skin->plugin_info); + } + + if ( $pluginFile !== null ) { + return array('plugin', $pluginFile); + } elseif ( $themeDirectoryName !== null ) { + return array('theme', $themeDirectoryName); + } + return array(null, null); + } + + /** + * Identify an installed plugin based on its headers. + * + * @param array $searchHeaders The plugin file header to look for. + * @return string|null Plugin basename ("foo/bar.php"), or NULL if we can't identify the plugin. + */ + private function identifyPluginByHeaders($searchHeaders) { + if ( !function_exists('get_plugins') ){ + /** @noinspection PhpIncludeInspection */ + require_once( ABSPATH . '/wp-admin/includes/plugin.php' ); + } + + $installedPlugins = get_plugins(); + $matches = array(); + foreach($installedPlugins as $pluginBasename => $headers) { + $diff1 = array_diff_assoc($headers, $searchHeaders); + $diff2 = array_diff_assoc($searchHeaders, $headers); + if ( empty($diff1) && empty($diff2) ) { + $matches[] = $pluginBasename; + } + } + + //It's possible (though very unlikely) that there could be two plugins with identical + //headers. In that case, we can't unambiguously identify the plugin that's being upgraded. + if ( count($matches) !== 1 ) { + return null; + } + + return reset($matches); + } + + /** + * @access private + * + * @param mixed $input + * @param array $hookExtra + * @return mixed Returns $input unaltered. + */ + public function setUpgradedThing($input, $hookExtra) { + if ( !empty($hookExtra['plugin']) && is_string($hookExtra['plugin']) ) { + $this->currentId = $hookExtra['plugin']; + $this->currentType = 'plugin'; + } elseif ( !empty($hookExtra['theme']) && is_string($hookExtra['theme']) ) { + $this->currentId = $hookExtra['theme']; + $this->currentType = 'theme'; + } else { + $this->currentType = null; + $this->currentId = null; + } + return $input; + } + + /** + * @access private + * + * @param array $options + * @return array + */ + public function setUpgradedPluginFromOptions($options) { + if ( isset($options['hook_extra']['plugin']) && is_string($options['hook_extra']['plugin']) ) { + $this->currentType = 'plugin'; + $this->currentId = $options['hook_extra']['plugin']; + } else { + $this->currentType = null; + $this->currentId = null; + } + return $options; + } + + /** + * @access private + * + * @param mixed $input + * @return mixed Returns $input unaltered. + */ + public function clearUpgradedThing($input = null) { + $this->currentId = null; + $this->currentType = null; + return $input; + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Utils.php b/admin/includes/plugin-update-checker/Puc/v4p6/Utils.php new file mode 100755 index 0000000..6c4f0a9 --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/Utils.php @@ -0,0 +1,69 @@ +$node) ) { + $currentValue = $currentValue->$node; + } else { + return $default; + } + } + + return $currentValue; + } + + /** + * Get the first array element that is not empty. + * + * @param array $values + * @param mixed|null $default Returns this value if there are no non-empty elements. + * @return mixed|null + */ + public static function findNotEmpty($values, $default = null) { + if ( empty($values) ) { + return $default; + } + + foreach ($values as $value) { + if ( !empty($value) ) { + return $value; + } + } + + return $default; + } + + /** + * Check if the input string starts with the specified prefix. + * + * @param string $input + * @param string $prefix + * @return bool + */ + public static function startsWith($input, $prefix) { + $length = strlen($prefix); + return (substr($input, 0, $length) === $prefix); + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/Api.php b/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/Api.php new file mode 100755 index 0000000..9f27cd2 --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/Api.php @@ -0,0 +1,302 @@ +repositoryUrl = $repositoryUrl; + $this->setAuthentication($credentials); + } + + /** + * @return string + */ + public function getRepositoryUrl() { + return $this->repositoryUrl; + } + + /** + * Figure out which reference (i.e tag or branch) contains the latest version. + * + * @param string $configBranch Start looking in this branch. + * @return null|Puc_v4p6_Vcs_Reference + */ + abstract public function chooseReference($configBranch); + + /** + * Get the readme.txt file from the remote repository and parse it + * according to the plugin readme standard. + * + * @param string $ref Tag or branch name. + * @return array Parsed readme. + */ + public function getRemoteReadme($ref = 'master') { + $fileContents = $this->getRemoteFile($this->getLocalReadmeName(), $ref); + if ( empty($fileContents) ) { + return array(); + } + + $parser = new PucReadmeParser(); + return $parser->parse_readme_contents($fileContents); + } + + /** + * Get the case-sensitive name of the local readme.txt file. + * + * In most cases it should just be called "readme.txt", but some plugins call it "README.txt", + * "README.TXT", or even "Readme.txt". Most VCS are case-sensitive so we need to know the correct + * capitalization. + * + * Defaults to "readme.txt" (all lowercase). + * + * @return string + */ + public function getLocalReadmeName() { + static $fileName = null; + if ( $fileName !== null ) { + return $fileName; + } + + $fileName = 'readme.txt'; + if ( isset($this->localDirectory) ) { + $files = scandir($this->localDirectory); + if ( !empty($files) ) { + foreach ($files as $possibleFileName) { + if ( strcasecmp($possibleFileName, 'readme.txt') === 0 ) { + $fileName = $possibleFileName; + break; + } + } + } + } + return $fileName; + } + + /** + * Get a branch. + * + * @param string $branchName + * @return Puc_v4p6_Vcs_Reference|null + */ + abstract public function getBranch($branchName); + + /** + * Get a specific tag. + * + * @param string $tagName + * @return Puc_v4p6_Vcs_Reference|null + */ + abstract public function getTag($tagName); + + /** + * Get the tag that looks like the highest version number. + * (Implementations should skip pre-release versions if possible.) + * + * @return Puc_v4p6_Vcs_Reference|null + */ + abstract public function getLatestTag(); + + /** + * Check if a tag name string looks like a version number. + * + * @param string $name + * @return bool + */ + protected function looksLikeVersion($name) { + //Tag names may be prefixed with "v", e.g. "v1.2.3". + $name = ltrim($name, 'v'); + + //The version string must start with a number. + if ( !is_numeric(substr($name, 0, 1)) ) { + return false; + } + + //The goal is to accept any SemVer-compatible or "PHP-standardized" version number. + return (preg_match('@^(\d{1,5}?)(\.\d{1,10}?){0,4}?($|[abrdp+_\-]|\s)@i', $name) === 1); + } + + /** + * Check if a tag appears to be named like a version number. + * + * @param stdClass $tag + * @return bool + */ + protected function isVersionTag($tag) { + $property = $this->tagNameProperty; + return isset($tag->$property) && $this->looksLikeVersion($tag->$property); + } + + /** + * Sort a list of tags as if they were version numbers. + * Tags that don't look like version number will be removed. + * + * @param stdClass[] $tags Array of tag objects. + * @return stdClass[] Filtered array of tags sorted in descending order. + */ + protected function sortTagsByVersion($tags) { + //Keep only those tags that look like version numbers. + $versionTags = array_filter($tags, array($this, 'isVersionTag')); + //Sort them in descending order. + usort($versionTags, array($this, 'compareTagNames')); + + return $versionTags; + } + + /** + * Compare two tags as if they were version number. + * + * @param stdClass $tag1 Tag object. + * @param stdClass $tag2 Another tag object. + * @return int + */ + protected function compareTagNames($tag1, $tag2) { + $property = $this->tagNameProperty; + if ( !isset($tag1->$property) ) { + return 1; + } + if ( !isset($tag2->$property) ) { + return -1; + } + return -version_compare(ltrim($tag1->$property, 'v'), ltrim($tag2->$property, 'v')); + } + + /** + * Get the contents of a file from a specific branch or tag. + * + * @param string $path File name. + * @param string $ref + * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. + */ + abstract public function getRemoteFile($path, $ref = 'master'); + + /** + * Get the timestamp of the latest commit that changed the specified branch or tag. + * + * @param string $ref Reference name (e.g. branch or tag). + * @return string|null + */ + abstract public function getLatestCommitTime($ref); + + /** + * Get the contents of the changelog file from the repository. + * + * @param string $ref + * @param string $localDirectory Full path to the local plugin or theme directory. + * @return null|string The HTML contents of the changelog. + */ + public function getRemoteChangelog($ref, $localDirectory) { + $filename = $this->findChangelogName($localDirectory); + if ( empty($filename) ) { + return null; + } + + $changelog = $this->getRemoteFile($filename, $ref); + if ( $changelog === null ) { + return null; + } + + /** @noinspection PhpUndefinedClassInspection */ + return Parsedown::instance()->text($changelog); + } + + /** + * Guess the name of the changelog file. + * + * @param string $directory + * @return string|null + */ + protected function findChangelogName($directory = null) { + if ( !isset($directory) ) { + $directory = $this->localDirectory; + } + if ( empty($directory) || !is_dir($directory) || ($directory === '.') ) { + return null; + } + + $possibleNames = array('CHANGES.md', 'CHANGELOG.md', 'changes.md', 'changelog.md'); + $files = scandir($directory); + $foundNames = array_intersect($possibleNames, $files); + + if ( !empty($foundNames) ) { + return reset($foundNames); + } + return null; + } + + /** + * Set authentication credentials. + * + * @param $credentials + */ + public function setAuthentication($credentials) { + $this->credentials = $credentials; + } + + public function isAuthenticationEnabled() { + return !empty($this->credentials); + } + + /** + * @param string $url + * @return string + */ + public function signDownloadUrl($url) { + return $url; + } + + /** + * @param string $filterName + */ + public function setHttpFilterName($filterName) { + $this->httpFilterName = $filterName; + } + + /** + * @param string $directory + */ + public function setLocalDirectory($directory) { + if ( empty($directory) || !is_dir($directory) || ($directory === '.') ) { + $this->localDirectory = null; + } else { + $this->localDirectory = $directory; + } + } + + /** + * @param string $slug + */ + public function setSlug($slug) { + $this->slug = $slug; + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/BaseChecker.php b/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/BaseChecker.php new file mode 100755 index 0000000..85a5715 --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/BaseChecker.php @@ -0,0 +1,27 @@ +[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { + $this->username = $matches['username']; + $this->repository = $matches['repository']; + } else { + throw new InvalidArgumentException('Invalid BitBucket repository URL: "' . $repositoryUrl . '"'); + } + + parent::__construct($repositoryUrl, $credentials); + } + + /** + * Figure out which reference (i.e tag or branch) contains the latest version. + * + * @param string $configBranch Start looking in this branch. + * @return null|Puc_v4p6_Vcs_Reference + */ + public function chooseReference($configBranch) { + $updateSource = null; + + //Check if there's a "Stable tag: 1.2.3" header that points to a valid tag. + $updateSource = $this->getStableTag($configBranch); + + //Look for version-like tags. + if ( !$updateSource && ($configBranch === 'master') ) { + $updateSource = $this->getLatestTag(); + } + //If all else fails, use the specified branch itself. + if ( !$updateSource ) { + $updateSource = $this->getBranch($configBranch); + } + + return $updateSource; + } + + public function getBranch($branchName) { + $branch = $this->api('/refs/branches/' . $branchName); + if ( is_wp_error($branch) || empty($branch) ) { + return null; + } + + return new Puc_v4p6_Vcs_Reference(array( + 'name' => $branch->name, + 'updated' => $branch->target->date, + 'downloadUrl' => $this->getDownloadUrl($branch->name), + )); + } + + /** + * Get a specific tag. + * + * @param string $tagName + * @return Puc_v4p6_Vcs_Reference|null + */ + public function getTag($tagName) { + $tag = $this->api('/refs/tags/' . $tagName); + if ( is_wp_error($tag) || empty($tag) ) { + return null; + } + + return new Puc_v4p6_Vcs_Reference(array( + 'name' => $tag->name, + 'version' => ltrim($tag->name, 'v'), + 'updated' => $tag->target->date, + 'downloadUrl' => $this->getDownloadUrl($tag->name), + )); + } + + /** + * Get the tag that looks like the highest version number. + * + * @return Puc_v4p6_Vcs_Reference|null + */ + public function getLatestTag() { + $tags = $this->api('/refs/tags?sort=-target.date'); + if ( !isset($tags, $tags->values) || !is_array($tags->values) ) { + return null; + } + + //Filter and sort the list of tags. + $versionTags = $this->sortTagsByVersion($tags->values); + + //Return the first result. + if ( !empty($versionTags) ) { + $tag = $versionTags[0]; + return new Puc_v4p6_Vcs_Reference(array( + 'name' => $tag->name, + 'version' => ltrim($tag->name, 'v'), + 'updated' => $tag->target->date, + 'downloadUrl' => $this->getDownloadUrl($tag->name), + )); + } + return null; + } + + /** + * Get the tag/ref specified by the "Stable tag" header in the readme.txt of a given branch. + * + * @param string $branch + * @return null|Puc_v4p6_Vcs_Reference + */ + protected function getStableTag($branch) { + $remoteReadme = $this->getRemoteReadme($branch); + if ( !empty($remoteReadme['stable_tag']) ) { + $tag = $remoteReadme['stable_tag']; + + //You can explicitly opt out of using tags by setting "Stable tag" to + //"trunk" or the name of the current branch. + if ( ($tag === $branch) || ($tag === 'trunk') ) { + return $this->getBranch($branch); + } + + return $this->getTag($tag); + } + + return null; + } + + /** + * @param string $ref + * @return string + */ + protected function getDownloadUrl($ref) { + return sprintf( + 'https://bitbucket.org/%s/%s/get/%s.zip', + $this->username, + $this->repository, + $ref + ); + } + + /** + * Get the contents of a file from a specific branch or tag. + * + * @param string $path File name. + * @param string $ref + * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. + */ + public function getRemoteFile($path, $ref = 'master') { + $response = $this->api('src/' . $ref . '/' . ltrim($path)); + if ( is_wp_error($response) || !is_string($response) ) { + return null; + } + return $response; + } + + /** + * Get the timestamp of the latest commit that changed the specified branch or tag. + * + * @param string $ref Reference name (e.g. branch or tag). + * @return string|null + */ + public function getLatestCommitTime($ref) { + $response = $this->api('commits/' . $ref); + if ( isset($response->values, $response->values[0], $response->values[0]->date) ) { + return $response->values[0]->date; + } + return null; + } + + /** + * Perform a BitBucket API 2.0 request. + * + * @param string $url + * @param string $version + * @return mixed|WP_Error + */ + public function api($url, $version = '2.0') { + $url = ltrim($url, '/'); + $isSrcResource = Puc_v4p6_Utils::startsWith($url, 'src/'); + + $url = implode('/', array( + 'https://api.bitbucket.org', + $version, + 'repositories', + $this->username, + $this->repository, + $url + )); + $baseUrl = $url; + + if ( $this->oauth ) { + $url = $this->oauth->sign($url,'GET'); + } + + $options = array('timeout' => 10); + if ( !empty($this->httpFilterName) ) { + $options = apply_filters($this->httpFilterName, $options); + } + $response = wp_remote_get($url, $options); + if ( is_wp_error($response) ) { + do_action('puc_api_error', $response, null, $url, $this->slug); + return $response; + } + + $code = wp_remote_retrieve_response_code($response); + $body = wp_remote_retrieve_body($response); + if ( $code === 200 ) { + if ( $isSrcResource ) { + //Most responses are JSON-encoded, but src resources just + //return raw file contents. + $document = $body; + } else { + $document = json_decode($body); + } + return $document; + } + + $error = new WP_Error( + 'puc-bitbucket-http-error', + sprintf('BitBucket API error. Base URL: "%s", HTTP status code: %d.', $baseUrl, $code) + ); + do_action('puc_api_error', $error, $response, $url, $this->slug); + + return $error; + } + + /** + * @param array $credentials + */ + public function setAuthentication($credentials) { + parent::setAuthentication($credentials); + + if ( !empty($credentials) && !empty($credentials['consumer_key']) ) { + $this->oauth = new Puc_v4p6_OAuthSignature( + $credentials['consumer_key'], + $credentials['consumer_secret'] + ); + } else { + $this->oauth = null; + } + } + + public function signDownloadUrl($url) { + //Add authentication data to download URLs. Since OAuth signatures incorporate + //timestamps, we have to do this immediately before inserting the update. Otherwise + //authentication could fail due to a stale timestamp. + if ( $this->oauth ) { + $url = $this->oauth->sign($url); + } + return $url; + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/GitHubApi.php b/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/GitHubApi.php new file mode 100755 index 0000000..f5273f6 --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/GitHubApi.php @@ -0,0 +1,413 @@ +[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { + $this->userName = $matches['username']; + $this->repositoryName = $matches['repository']; + } else { + throw new InvalidArgumentException('Invalid GitHub repository URL: "' . $repositoryUrl . '"'); + } + + parent::__construct($repositoryUrl, $accessToken); + } + + /** + * Get the latest release from GitHub. + * + * @return Puc_v4p6_Vcs_Reference|null + */ + public function getLatestRelease() { + $release = $this->api('/repos/:user/:repo/releases/latest'); + if ( is_wp_error($release) || !is_object($release) || !isset($release->tag_name) ) { + return null; + } + + $reference = new Puc_v4p6_Vcs_Reference(array( + 'name' => $release->tag_name, + 'version' => ltrim($release->tag_name, 'v'), //Remove the "v" prefix from "v1.2.3". + 'downloadUrl' => $this->signDownloadUrl($release->zipball_url), + 'updated' => $release->created_at, + 'apiResponse' => $release, + )); + + if ( isset($release->assets[0]) ) { + $reference->downloadCount = $release->assets[0]->download_count; + } + + if ( $this->releaseAssetsEnabled && isset($release->assets, $release->assets[0]) ) { + //Use the first release asset that matches the specified regular expression. + $matchingAssets = array_filter($release->assets, array($this, 'matchesAssetFilter')); + if ( !empty($matchingAssets) ) { + if ( $this->isAuthenticationEnabled() ) { + /** + * Keep in mind that we'll need to add an "Accept" header to download this asset. + * @see setReleaseDownloadHeader() + */ + $reference->downloadUrl = $this->signDownloadUrl($matchingAssets[0]->url); + } else { + //It seems that browser_download_url only works for public repositories. + //Using an access_token doesn't help. Maybe OAuth would work? + $reference->downloadUrl = $matchingAssets[0]->browser_download_url; + } + + $reference->downloadCount = $matchingAssets[0]->download_count; + } + } + + if ( !empty($release->body) ) { + /** @noinspection PhpUndefinedClassInspection */ + $reference->changelog = Parsedown::instance()->text($release->body); + } + + return $reference; + } + + /** + * Get the tag that looks like the highest version number. + * + * @return Puc_v4p6_Vcs_Reference|null + */ + public function getLatestTag() { + $tags = $this->api('/repos/:user/:repo/tags'); + + if ( is_wp_error($tags) || empty($tags) || !is_array($tags) ) { + return null; + } + + $versionTags = $this->sortTagsByVersion($tags); + if ( empty($versionTags) ) { + return null; + } + + $tag = $versionTags[0]; + return new Puc_v4p6_Vcs_Reference(array( + 'name' => $tag->name, + 'version' => ltrim($tag->name, 'v'), + 'downloadUrl' => $this->signDownloadUrl($tag->zipball_url), + 'apiResponse' => $tag, + )); + } + + /** + * Get a branch by name. + * + * @param string $branchName + * @return null|Puc_v4p6_Vcs_Reference + */ + public function getBranch($branchName) { + $branch = $this->api('/repos/:user/:repo/branches/' . $branchName); + if ( is_wp_error($branch) || empty($branch) ) { + return null; + } + + $reference = new Puc_v4p6_Vcs_Reference(array( + 'name' => $branch->name, + 'downloadUrl' => $this->buildArchiveDownloadUrl($branch->name), + 'apiResponse' => $branch, + )); + + if ( isset($branch->commit, $branch->commit->commit, $branch->commit->commit->author->date) ) { + $reference->updated = $branch->commit->commit->author->date; + } + + return $reference; + } + + /** + * Get the latest commit that changed the specified file. + * + * @param string $filename + * @param string $ref Reference name (e.g. branch or tag). + * @return StdClass|null + */ + public function getLatestCommit($filename, $ref = 'master') { + $commits = $this->api( + '/repos/:user/:repo/commits', + array( + 'path' => $filename, + 'sha' => $ref, + ) + ); + if ( !is_wp_error($commits) && is_array($commits) && isset($commits[0]) ) { + return $commits[0]; + } + return null; + } + + /** + * Get the timestamp of the latest commit that changed the specified branch or tag. + * + * @param string $ref Reference name (e.g. branch or tag). + * @return string|null + */ + public function getLatestCommitTime($ref) { + $commits = $this->api('/repos/:user/:repo/commits', array('sha' => $ref)); + if ( !is_wp_error($commits) && is_array($commits) && isset($commits[0]) ) { + return $commits[0]->commit->author->date; + } + return null; + } + + /** + * Perform a GitHub API request. + * + * @param string $url + * @param array $queryParams + * @return mixed|WP_Error + */ + protected function api($url, $queryParams = array()) { + $baseUrl = $url; + $url = $this->buildApiUrl($url, $queryParams); + + $options = array('timeout' => 10); + if ( !empty($this->httpFilterName) ) { + $options = apply_filters($this->httpFilterName, $options); + } + $response = wp_remote_get($url, $options); + if ( is_wp_error($response) ) { + do_action('puc_api_error', $response, null, $url, $this->slug); + return $response; + } + + $code = wp_remote_retrieve_response_code($response); + $body = wp_remote_retrieve_body($response); + if ( $code === 200 ) { + $document = json_decode($body); + return $document; + } + + $error = new WP_Error( + 'puc-github-http-error', + sprintf('GitHub API error. Base URL: "%s", HTTP status code: %d.', $baseUrl, $code) + ); + do_action('puc_api_error', $error, $response, $url, $this->slug); + + return $error; + } + + /** + * Build a fully qualified URL for an API request. + * + * @param string $url + * @param array $queryParams + * @return string + */ + protected function buildApiUrl($url, $queryParams) { + $variables = array( + 'user' => $this->userName, + 'repo' => $this->repositoryName, + ); + foreach ($variables as $name => $value) { + $url = str_replace('/:' . $name, '/' . urlencode($value), $url); + } + $url = 'https://api.github.com' . $url; + + if ( !empty($this->accessToken) ) { + $queryParams['access_token'] = $this->accessToken; + } + if ( !empty($queryParams) ) { + $url = add_query_arg($queryParams, $url); + } + + return $url; + } + + /** + * Get the contents of a file from a specific branch or tag. + * + * @param string $path File name. + * @param string $ref + * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. + */ + public function getRemoteFile($path, $ref = 'master') { + $apiUrl = '/repos/:user/:repo/contents/' . $path; + $response = $this->api($apiUrl, array('ref' => $ref)); + + if ( is_wp_error($response) || !isset($response->content) || ($response->encoding !== 'base64') ) { + return null; + } + return base64_decode($response->content); + } + + /** + * Generate a URL to download a ZIP archive of the specified branch/tag/etc. + * + * @param string $ref + * @return string + */ + public function buildArchiveDownloadUrl($ref = 'master') { + $url = sprintf( + 'https://api.github.com/repos/%1$s/%2$s/zipball/%3$s', + urlencode($this->userName), + urlencode($this->repositoryName), + urlencode($ref) + ); + if ( !empty($this->accessToken) ) { + $url = $this->signDownloadUrl($url); + } + return $url; + } + + /** + * Get a specific tag. + * + * @param string $tagName + * @return void + */ + public function getTag($tagName) { + //The current GitHub update checker doesn't use getTag, so I didn't bother to implement it. + throw new LogicException('The ' . __METHOD__ . ' method is not implemented and should not be used.'); + } + + public function setAuthentication($credentials) { + parent::setAuthentication($credentials); + $this->accessToken = is_string($credentials) ? $credentials : null; + } + + /** + * Figure out which reference (i.e tag or branch) contains the latest version. + * + * @param string $configBranch Start looking in this branch. + * @return null|Puc_v4p6_Vcs_Reference + */ + public function chooseReference($configBranch) { + $updateSource = null; + + if ( $configBranch === 'master' ) { + //Use the latest release. + $updateSource = $this->getLatestRelease(); + if ( $updateSource === null ) { + //Failing that, use the tag with the highest version number. + $updateSource = $this->getLatestTag(); + } + } + //Alternatively, just use the branch itself. + if ( empty($updateSource) ) { + $updateSource = $this->getBranch($configBranch); + } + + return $updateSource; + } + + /** + * @param string $url + * @return string + */ + public function signDownloadUrl($url) { + if ( empty($this->credentials) ) { + return $url; + } + return add_query_arg('access_token', $this->credentials, $url); + } + + /** + * Enable updating via release assets. + * + * If the latest release contains no usable assets, the update checker + * will fall back to using the automatically generated ZIP archive. + * + * Private repositories will only work with WordPress 3.7 or later. + * + * @param string|null $fileNameRegex Optional. Use only those assets where the file name matches this regex. + */ + public function enableReleaseAssets($fileNameRegex = null) { + $this->releaseAssetsEnabled = true; + $this->assetFilterRegex = $fileNameRegex; + $this->assetApiBaseUrl = sprintf( + '//api.github.com/repos/%1$s/%2$s/releases/assets/', + $this->userName, + $this->repositoryName + ); + + //Optimization: Instead of filtering all HTTP requests, let's do it only when + //WordPress is about to download an update. + add_filter('upgrader_pre_download', array($this, 'addHttpRequestFilter'), 10, 1); //WP 3.7+ + } + + /** + * Does this asset match the file name regex? + * + * @param stdClass $releaseAsset + * @return bool + */ + protected function matchesAssetFilter($releaseAsset) { + if ( $this->assetFilterRegex === null ) { + //The default is to accept all assets. + return true; + } + return isset($releaseAsset->name) && preg_match($this->assetFilterRegex, $releaseAsset->name); + } + + /** + * @internal + * @param bool $result + * @return bool + */ + public function addHttpRequestFilter($result) { + static $filterAdded = false; + if ( $this->releaseAssetsEnabled && !$filterAdded && $this->isAuthenticationEnabled() ) { + add_filter('http_request_args', array($this, 'setReleaseDownloadHeader'), 10, 2); + $filterAdded = true; + } + return $result; + } + + /** + * Set the HTTP header that's necessary to download private release assets. + * + * See GitHub docs: + * @link https://developer.github.com/v3/repos/releases/#get-a-single-release-asset + * + * @internal + * @param array $requestArgs + * @param string $url + * @return array + */ + public function setReleaseDownloadHeader($requestArgs, $url = '') { + //Is WordPress trying to download one of our assets? + if ( strpos($url, $this->assetApiBaseUrl) !== false ) { + $requestArgs['headers']['accept'] = 'application/octet-stream'; + } + return $requestArgs; + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/GitLabApi.php b/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/GitLabApi.php new file mode 100755 index 0000000..a4c11e7 --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/GitLabApi.php @@ -0,0 +1,297 @@ +repositoryHost = parse_url($repositoryUrl, PHP_URL_HOST) . $port; + + if ( $this->repositoryHost !== 'gitlab.com' ) { + $this->repositoryProtocol = parse_url($repositoryUrl, PHP_URL_SCHEME); + } + + //Find the repository information + $path = parse_url($repositoryUrl, PHP_URL_PATH); + if ( preg_match('@^/?(?P[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { + $this->userName = $matches['username']; + $this->repositoryName = $matches['repository']; + } elseif ( ($this->repositoryHost === 'gitlab.com') ) { + //This is probably a repository in a subgroup, e.g. "/organization/category/repo". + $parts = explode('/', trim($path, '/')); + if ( count($parts) < 3 ) { + throw new InvalidArgumentException('Invalid GitLab.com repository URL: "' . $repositoryUrl . '"'); + } + $lastPart = array_pop($parts); + $this->userName = implode('/', $parts); + $this->repositoryName = $lastPart; + } else { + //This is not a traditional url, it could be gitlab is in a deeper subdirectory. + //Get the path segments. + $segments = explode('/', untrailingslashit(ltrim($path, '/'))); + + //We need at least /user-name/repository-name/ + if ( count($segments) < 2 ) { + throw new InvalidArgumentException('Invalid GitLab repository URL: "' . $repositoryUrl . '"'); + } + + //Get the username and repository name. + $usernameRepo = array_splice($segments, -2, 2); + $this->userName = $usernameRepo[0]; + $this->repositoryName = $usernameRepo[1]; + + //Append the remaining segments to the host. + $this->repositoryHost = trailingslashit($this->repositoryHost) . implode('/', $segments); + } + + parent::__construct($repositoryUrl, $accessToken); + } + + /** + * Get the latest release from GitLab. + * + * @return Puc_v4p6_Vcs_Reference|null + */ + public function getLatestRelease() { + return $this->getLatestTag(); + } + + /** + * Get the tag that looks like the highest version number. + * + * @return Puc_v4p6_Vcs_Reference|null + */ + public function getLatestTag() { + $tags = $this->api('/:id/repository/tags'); + if ( is_wp_error($tags) || empty($tags) || !is_array($tags) ) { + return null; + } + + $versionTags = $this->sortTagsByVersion($tags); + if ( empty($versionTags) ) { + return null; + } + + $tag = $versionTags[0]; + return new Puc_v4p6_Vcs_Reference(array( + 'name' => $tag->name, + 'version' => ltrim($tag->name, 'v'), + 'downloadUrl' => $this->buildArchiveDownloadUrl($tag->name), + 'apiResponse' => $tag + )); + } + + /** + * Get a branch by name. + * + * @param string $branchName + * @return null|Puc_v4p6_Vcs_Reference + */ + public function getBranch($branchName) { + $branch = $this->api('/:id/repository/branches/' . $branchName); + if ( is_wp_error($branch) || empty($branch) ) { + return null; + } + + $reference = new Puc_v4p6_Vcs_Reference(array( + 'name' => $branch->name, + 'downloadUrl' => $this->buildArchiveDownloadUrl($branch->name), + 'apiResponse' => $branch, + )); + + if ( isset($branch->commit, $branch->commit->committed_date) ) { + $reference->updated = $branch->commit->committed_date; + } + + return $reference; + } + + /** + * Get the timestamp of the latest commit that changed the specified branch or tag. + * + * @param string $ref Reference name (e.g. branch or tag). + * @return string|null + */ + public function getLatestCommitTime($ref) { + $commits = $this->api('/:id/repository/commits/', array('ref_name' => $ref)); + if ( is_wp_error($commits) || !is_array($commits) || !isset($commits[0]) ) { + return null; + } + + return $commits[0]->committed_date; + } + + /** + * Perform a GitLab API request. + * + * @param string $url + * @param array $queryParams + * @return mixed|WP_Error + */ + protected function api($url, $queryParams = array()) { + $baseUrl = $url; + $url = $this->buildApiUrl($url, $queryParams); + + $options = array('timeout' => 10); + if ( !empty($this->httpFilterName) ) { + $options = apply_filters($this->httpFilterName, $options); + } + + $response = wp_remote_get($url, $options); + if ( is_wp_error($response) ) { + do_action('puc_api_error', $response, null, $url, $this->slug); + return $response; + } + + $code = wp_remote_retrieve_response_code($response); + $body = wp_remote_retrieve_body($response); + if ( $code === 200 ) { + return json_decode($body); + } + + $error = new WP_Error( + 'puc-gitlab-http-error', + sprintf('GitLab API error. URL: "%s", HTTP status code: %d.', $baseUrl, $code) + ); + do_action('puc_api_error', $error, $response, $url, $this->slug); + + return $error; + } + + /** + * Build a fully qualified URL for an API request. + * + * @param string $url + * @param array $queryParams + * @return string + */ + protected function buildApiUrl($url, $queryParams) { + $variables = array( + 'user' => $this->userName, + 'repo' => $this->repositoryName, + 'id' => $this->userName . '/' . $this->repositoryName, + ); + + foreach ($variables as $name => $value) { + $url = str_replace("/:{$name}", '/' . urlencode($value), $url); + } + + $url = substr($url, 1); + $url = sprintf('%1$s://%2$s/api/v4/projects/%3$s', $this->repositoryProtocol, $this->repositoryHost, $url); + + if ( !empty($this->accessToken) ) { + $queryParams['private_token'] = $this->accessToken; + } + + if ( !empty($queryParams) ) { + $url = add_query_arg($queryParams, $url); + } + + return $url; + } + + /** + * Get the contents of a file from a specific branch or tag. + * + * @param string $path File name. + * @param string $ref + * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. + */ + public function getRemoteFile($path, $ref = 'master') { + $response = $this->api('/:id/repository/files/' . $path, array('ref' => $ref)); + if ( is_wp_error($response) || !isset($response->content) || $response->encoding !== 'base64' ) { + return null; + } + + return base64_decode($response->content); + } + + /** + * Generate a URL to download a ZIP archive of the specified branch/tag/etc. + * + * @param string $ref + * @return string + */ + public function buildArchiveDownloadUrl($ref = 'master') { + $url = sprintf( + '%1$s://%2$s/api/v4/projects/%3$s/repository/archive.zip', + $this->repositoryProtocol, + $this->repositoryHost, + urlencode($this->userName . '/' . $this->repositoryName) + ); + $url = add_query_arg('sha', urlencode($ref), $url); + + if ( !empty($this->accessToken) ) { + $url = add_query_arg('private_token', $this->accessToken, $url); + } + + return $url; + } + + /** + * Get a specific tag. + * + * @param string $tagName + * @return void + */ + public function getTag($tagName) { + throw new LogicException('The ' . __METHOD__ . ' method is not implemented and should not be used.'); + } + + /** + * Figure out which reference (i.e tag or branch) contains the latest version. + * + * @param string $configBranch Start looking in this branch. + * @return null|Puc_v4p6_Vcs_Reference + */ + public function chooseReference($configBranch) { + $updateSource = null; + + // GitLab doesn't handle releases the same as GitHub so just use the latest tag + if ( $configBranch === 'master' ) { + $updateSource = $this->getLatestTag(); + } + + if ( empty($updateSource) ) { + $updateSource = $this->getBranch($configBranch); + } + + return $updateSource; + } + + public function setAuthentication($credentials) { + parent::setAuthentication($credentials); + $this->accessToken = is_string($credentials) ? $credentials : null; + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/PluginUpdateChecker.php b/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/PluginUpdateChecker.php new file mode 100755 index 0000000..3ca3dad --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/PluginUpdateChecker.php @@ -0,0 +1,213 @@ +api = $api; + $this->api->setHttpFilterName($this->getUniqueName('request_info_options')); + + parent::__construct($api->getRepositoryUrl(), $pluginFile, $slug, $checkPeriod, $optionName, $muPluginFile); + + $this->api->setSlug($this->slug); + } + + public function requestInfo($unusedParameter = null) { + //We have to make several remote API requests to gather all the necessary info + //which can take a while on slow networks. + if ( function_exists('set_time_limit') ) { + @set_time_limit(60); + } + + $api = $this->api; + $api->setLocalDirectory($this->package->getAbsoluteDirectoryPath()); + + $info = new Puc_v4p6_Plugin_Info(); + $info->filename = $this->pluginFile; + $info->slug = $this->slug; + + $this->setInfoFromHeader($this->package->getPluginHeader(), $info); + + //Pick a branch or tag. + $updateSource = $api->chooseReference($this->branch); + if ( $updateSource ) { + $ref = $updateSource->name; + $info->version = $updateSource->version; + $info->last_updated = $updateSource->updated; + $info->download_url = $updateSource->downloadUrl; + + if ( !empty($updateSource->changelog) ) { + $info->sections['changelog'] = $updateSource->changelog; + } + if ( isset($updateSource->downloadCount) ) { + $info->downloaded = $updateSource->downloadCount; + } + } else { + //There's probably a network problem or an authentication error. + do_action( + 'puc_api_error', + new WP_Error( + 'puc-no-update-source', + 'Could not retrieve version information from the repository. ' + . 'This usually means that the update checker either can\'t connect ' + . 'to the repository or it\'s configured incorrectly.' + ), + null, null, $this->slug + ); + return null; + } + + //Get headers from the main plugin file in this branch/tag. Its "Version" header and other metadata + //are what the WordPress install will actually see after upgrading, so they take precedence over releases/tags. + $mainPluginFile = basename($this->pluginFile); + $remotePlugin = $api->getRemoteFile($mainPluginFile, $ref); + if ( !empty($remotePlugin) ) { + $remoteHeader = $this->package->getFileHeader($remotePlugin); + $this->setInfoFromHeader($remoteHeader, $info); + } + + //Try parsing readme.txt. If it's formatted according to WordPress.org standards, it will contain + //a lot of useful information like the required/tested WP version, changelog, and so on. + if ( $this->readmeTxtExistsLocally() ) { + $this->setInfoFromRemoteReadme($ref, $info); + } + + //The changelog might be in a separate file. + if ( empty($info->sections['changelog']) ) { + $info->sections['changelog'] = $api->getRemoteChangelog($ref, $this->package->getAbsoluteDirectoryPath()); + if ( empty($info->sections['changelog']) ) { + $info->sections['changelog'] = __('There is no changelog available.', 'plugin-update-checker'); + } + } + + if ( empty($info->last_updated) ) { + //Fetch the latest commit that changed the tag or branch and use it as the "last_updated" date. + $latestCommitTime = $api->getLatestCommitTime($ref); + if ( $latestCommitTime !== null ) { + $info->last_updated = $latestCommitTime; + } + } + + $info = apply_filters($this->getUniqueName('request_info_result'), $info, null); + return $info; + } + + /** + * Check if the currently installed version has a readme.txt file. + * + * @return bool + */ + protected function readmeTxtExistsLocally() { + return $this->package->fileExists($this->api->getLocalReadmeName()); + } + + /** + * Copy plugin metadata from a file header to a Plugin Info object. + * + * @param array $fileHeader + * @param Puc_v4p6_Plugin_Info $pluginInfo + */ + protected function setInfoFromHeader($fileHeader, $pluginInfo) { + $headerToPropertyMap = array( + 'Version' => 'version', + 'Name' => 'name', + 'PluginURI' => 'homepage', + 'Author' => 'author', + 'AuthorName' => 'author', + 'AuthorURI' => 'author_homepage', + + 'Requires WP' => 'requires', + 'Tested WP' => 'tested', + 'Requires at least' => 'requires', + 'Tested up to' => 'tested', + ); + foreach ($headerToPropertyMap as $headerName => $property) { + if ( isset($fileHeader[$headerName]) && !empty($fileHeader[$headerName]) ) { + $pluginInfo->$property = $fileHeader[$headerName]; + } + } + + if ( !empty($fileHeader['Description']) ) { + $pluginInfo->sections['description'] = $fileHeader['Description']; + } + } + + /** + * Copy plugin metadata from the remote readme.txt file. + * + * @param string $ref GitHub tag or branch where to look for the readme. + * @param Puc_v4p6_Plugin_Info $pluginInfo + */ + protected function setInfoFromRemoteReadme($ref, $pluginInfo) { + $readme = $this->api->getRemoteReadme($ref); + if ( empty($readme) ) { + return; + } + + if ( isset($readme['sections']) ) { + $pluginInfo->sections = array_merge($pluginInfo->sections, $readme['sections']); + } + if ( !empty($readme['tested_up_to']) ) { + $pluginInfo->tested = $readme['tested_up_to']; + } + if ( !empty($readme['requires_at_least']) ) { + $pluginInfo->requires = $readme['requires_at_least']; + } + + if ( isset($readme['upgrade_notice'], $readme['upgrade_notice'][$pluginInfo->version]) ) { + $pluginInfo->upgrade_notice = $readme['upgrade_notice'][$pluginInfo->version]; + } + } + + public function setBranch($branch) { + $this->branch = $branch; + return $this; + } + + public function setAuthentication($credentials) { + $this->api->setAuthentication($credentials); + return $this; + } + + public function getVcsApi() { + return $this->api; + } + + public function getUpdate() { + $update = parent::getUpdate(); + + if ( isset($update) && !empty($update->download_url) ) { + $update->download_url = $this->api->signDownloadUrl($update->download_url); + } + + return $update; + } + + public function onDisplayConfiguration($panel) { + parent::onDisplayConfiguration($panel); + $panel->row('Branch', $this->branch); + $panel->row('Authentication enabled', $this->api->isAuthenticationEnabled() ? 'Yes' : 'No'); + $panel->row('API client', get_class($this->api)); + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/Reference.php b/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/Reference.php new file mode 100755 index 0000000..fc60eb8 --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/Reference.php @@ -0,0 +1,49 @@ +properties = $properties; + } + + /** + * @param string $name + * @return mixed|null + */ + public function __get($name) { + return array_key_exists($name, $this->properties) ? $this->properties[$name] : null; + } + + /** + * @param string $name + * @param mixed $value + */ + public function __set($name, $value) { + $this->properties[$name] = $value; + } + + /** + * @param string $name + * @return bool + */ + public function __isset($name) { + return isset($this->properties[$name]); + } + + } + +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/ThemeUpdateChecker.php b/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/ThemeUpdateChecker.php new file mode 100755 index 0000000..082e456 --- /dev/null +++ b/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/ThemeUpdateChecker.php @@ -0,0 +1,118 @@ +api = $api; + $this->api->setHttpFilterName($this->getUniqueName('request_update_options')); + + parent::__construct($api->getRepositoryUrl(), $stylesheet, $customSlug, $checkPeriod, $optionName); + + $this->api->setSlug($this->slug); + } + + public function requestUpdate() { + $api = $this->api; + $api->setLocalDirectory($this->package->getAbsoluteDirectoryPath()); + + $update = new Puc_v4p6_Theme_Update(); + $update->slug = $this->slug; + + //Figure out which reference (tag or branch) we'll use to get the latest version of the theme. + $updateSource = $api->chooseReference($this->branch); + if ( $updateSource ) { + $ref = $updateSource->name; + $update->download_url = $updateSource->downloadUrl; + } else { + do_action( + 'puc_api_error', + new WP_Error( + 'puc-no-update-source', + 'Could not retrieve version information from the repository. ' + . 'This usually means that the update checker either can\'t connect ' + . 'to the repository or it\'s configured incorrectly.' + ), + null, null, $this->slug + ); + $ref = $this->branch; + } + + //Get headers from the main stylesheet in this branch/tag. Its "Version" header and other metadata + //are what the WordPress install will actually see after upgrading, so they take precedence over releases/tags. + $remoteHeader = $this->package->getFileHeader($api->getRemoteFile('style.css', $ref)); + $update->version = Puc_v4p6_Utils::findNotEmpty(array( + $remoteHeader['Version'], + Puc_v4p6_Utils::get($updateSource, 'version'), + )); + + //The details URL defaults to the Theme URI header or the repository URL. + $update->details_url = Puc_v4p6_Utils::findNotEmpty(array( + $remoteHeader['ThemeURI'], + $this->package->getHeaderValue('ThemeURI'), + $this->metadataUrl, + )); + + if ( empty($update->version) ) { + //It looks like we didn't find a valid update after all. + $update = null; + } + + $update = $this->filterUpdateResult($update); + return $update; + } + + //FIXME: This is duplicated code. Both theme and plugin subclasses that use VCS share these methods. + + public function setBranch($branch) { + $this->branch = $branch; + return $this; + } + + public function setAuthentication($credentials) { + $this->api->setAuthentication($credentials); + return $this; + } + + public function getVcsApi() { + return $this->api; + } + + public function getUpdate() { + $update = parent::getUpdate(); + + if ( isset($update) && !empty($update->download_url) ) { + $update->download_url = $this->api->signDownloadUrl($update->download_url); + } + + return $update; + } + + public function onDisplayConfiguration($panel) { + parent::onDisplayConfiguration($panel); + $panel->row('Branch', $this->branch); + $panel->row('Authentication enabled', $this->api->isAuthenticationEnabled() ? 'Yes' : 'No'); + $panel->row('API client', get_class($this->api)); + } + } + +endif; diff --git a/admin/includes/plugin-update-checker/css/puc-debug-bar.css b/admin/includes/plugin-update-checker/css/puc-debug-bar.css new file mode 100755 index 0000000..2cb3f8e --- /dev/null +++ b/admin/includes/plugin-update-checker/css/puc-debug-bar.css @@ -0,0 +1,70 @@ +.puc-debug-bar-panel-v4 pre { + margin-top: 0; +} + +/* Style the debug data table to match "widefat" table style used by WordPress. */ +table.puc-debug-data { + width: 100%; + clear: both; + margin: 0; + + border-spacing: 0; + background-color: #f9f9f9; + + border-radius: 3px; + border: 1px solid #dfdfdf; + border-collapse: separate; +} + +table.puc-debug-data * { + word-wrap: break-word; +} + +table.puc-debug-data th { + width: 11em; + padding: 7px 7px 8px; + text-align: left; + + font-family: "Georgia", "Times New Roman", "Bitstream Charter", "Times", serif; + font-weight: 400; + font-size: 14px; + line-height: 1.3em; + text-shadow: rgba(255, 255, 255, 0.804) 0 1px 0; +} + +table.puc-debug-data td, table.puc-debug-data th { + border-width: 1px 0; + border-style: solid; + + border-top-color: #fff; + border-bottom-color: #dfdfdf; + + text-transform: none; +} + +table.puc-debug-data td { + color: #555; + font-size: 12px; + padding: 4px 7px 2px; + vertical-align: top; +} + +.puc-ajax-response { + border: 1px solid #dfdfdf; + border-radius: 3px; + padding: 0.5em; + margin: 5px 0; + background-color: white; +} + +.puc-ajax-nonce { + display: none; +} + +.puc-ajax-response dt { + margin: 0; +} + +.puc-ajax-response dd { + margin: 0 0 1em; +} diff --git a/admin/includes/plugin-update-checker/js/debug-bar.js b/admin/includes/plugin-update-checker/js/debug-bar.js new file mode 100755 index 0000000..b8435db --- /dev/null +++ b/admin/includes/plugin-update-checker/js/debug-bar.js @@ -0,0 +1,52 @@ +jQuery(function($) { + + function runAjaxAction(button, action) { + button = $(button); + var panel = button.closest('.puc-debug-bar-panel-v4'); + var responseBox = button.closest('td').find('.puc-ajax-response'); + + responseBox.text('Processing...').show(); + $.post( + ajaxurl, + { + action : action, + uid : panel.data('uid'), + _wpnonce: panel.data('nonce') + }, + function(data) { + responseBox.html(data); + }, + 'html' + ); + } + + $('.puc-debug-bar-panel-v4 input[name="puc-check-now-button"]').click(function() { + runAjaxAction(this, 'puc_v4_debug_check_now'); + return false; + }); + + $('.puc-debug-bar-panel-v4 input[name="puc-request-info-button"]').click(function() { + runAjaxAction(this, 'puc_v4_debug_request_info'); + return false; + }); + + + // Debug Bar uses the panel class name as part of its link and container IDs. This means we can + // end up with multiple identical IDs if more than one plugin uses the update checker library. + // Fix it by replacing the class name with the plugin slug. + var panels = $('#debug-menu-targets').find('.puc-debug-bar-panel-v4'); + panels.each(function() { + var panel = $(this); + var uid = panel.data('uid'); + var target = panel.closest('.debug-menu-target'); + + //Change the panel wrapper ID. + target.attr('id', 'debug-menu-target-puc-' + uid); + + //Change the menu link ID as well and point it at the new target ID. + $('#debug-bar-menu').find('.puc-debug-menu-link-' + uid) + .closest('.debug-menu-link') + .attr('id', 'debug-menu-link-puc-' + uid) + .attr('href', '#' + target.attr('id')); + }); +}); \ No newline at end of file diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-cs_CZ.mo b/admin/includes/plugin-update-checker/languages/plugin-update-checker-cs_CZ.mo new file mode 100755 index 0000000000000000000000000000000000000000..ac6d20ea77cb6c6ad2aa9204312c53c86078e08c GIT binary patch literal 1077 zcmZWoO>fgc5H(P7$gP|Z>S3s;)T*rGq^c+m;iI8N6={juv{b!B8+#f%adxfUb=pSo z8#o~jobm&Z`UiRnH;&x-8(f*KlYWSm#&5^_=Iz_H=g)(guMUm-6mt}Ho6z`_!zIqr z{4)hme4&`9IH#ym{H9o{DPi$ zOoWgoStk}?Vw2#^8xVK`15`Se0^~7R#)6)bXtx_1{8vquZj-YVj0Ee~bs9=`F)(Z^ zWCyvvKapkmk=VpxVHZ=W4BOV7IArTtN3*8%q0soyWHp7{kTv#}G<_(0rDx1rWn~Xa zp1-=X?5%hn5!o&dVta&JJWGYrs=xAl*`raYb8T2taiJ4#r1IfFcFoW4K?Hle8z%5# zKsg4{Yi(0Eko}ibBRU!HAZsG;`%oLwIxOZuzO!}`2TNBh9|Fy4M}1DW(aJMa6z~rO{OP zo11Lynr9DmjEZfDK!&mC_^{TFP2rH$Wgyv}%v6AO&J)rLbc_5QvUey@<+osIz#uXv z)qb&#;UIv|5!G zR$8Zi>1jD2yrF_z1yO_4nMeAxaB00^k4vA49LZK{lU6F7qaIz5l8GE}1H5N4ay#S! zQp-%6LZBG`fKY0arDA;HIy*QN<57QnG3|zl#@P)4s<`Zt9XS|}Y)cHMy^`6Vyo*\n" +"Language-Team: Czech (Czech Republic)\n" +"Language: cs-CZ\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Loco-Source-Locale: cs_CZ\n" +"X-Generator: Loco - https://localise.biz/\n" +"X-Poedit-Basepath: ..\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" +"X-Poedit-SearchPath-0: .\n" +"X-Loco-Parser: loco_parse_po" + +#: Puc/v4p1/Plugin/UpdateChecker.php:358 +msgid "Check for updates" +msgstr "Zkontrolovat aktualizace" + +#: Puc/v4p1/Plugin/UpdateChecker.php:405 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "Plugin %s je aktuální." + +#: Puc/v4p1/Plugin/UpdateChecker.php:407 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "Nová verze pluginu %s je dostupná." + +#: Puc/v4p1/Plugin/UpdateChecker.php:409 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "Neznámý status kontroly aktualizací \"%s\"" + +#: Puc/v4p1/Vcs/PluginUpdateChecker.php:83 +msgid "There is no changelog available." +msgstr "Changelog není dostupný." diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-da_DK.mo b/admin/includes/plugin-update-checker/languages/plugin-update-checker-da_DK.mo new file mode 100755 index 0000000000000000000000000000000000000000..9c59670712307a7dec1419ce48ba2613300f91aa GIT binary patch literal 1010 zcmZWo&u`N(7!5EuloK2gLLWoZK*J&FHf>7P19Tgjwux$VXt&C1zNV&`UD?ilNF4Yl zICDerA0Tnu9f>>QUxAmVTRUOp<@vKee}1uF{@kDY6rkM!9s;|-UEl*ywy(fF;2S`| z4`3en4K#tjfGGPng5Vc01Rj*}tsqzgAA%o&KY~N>XYdp7PcTx)?Izv`gE`>#c%;%Z z=~mPlaBoO`W2qRW(z6RX1GY@ckv7yDNS$$RGLk1!pfh*m{CqBu%cmzSdDC_fzu32xChlg(SsiwzG zik~&61>Ty%_PAB)N~jWcRep!hPmN98u5v!1Znx3pM)xd?r#a!z{8deTEILSHoGs%F|hy=lDlbzO2ta4E_O#F(`Ea literal 0 HcmV?d00001 diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-da_DK.po b/admin/includes/plugin-update-checker/languages/plugin-update-checker-da_DK.po new file mode 100755 index 0000000..8f2bc0d --- /dev/null +++ b/admin/includes/plugin-update-checker/languages/plugin-update-checker-da_DK.po @@ -0,0 +1,42 @@ +msgid "" +msgstr "" +"Project-Id-Version: plugin-update-checker\n" +"POT-Creation-Date: 2017-05-20 10:53+0300\n" +"PO-Revision-Date: 2017-10-17 11:07+0200\n" +"Last-Translator: Mikk3lRo\n" +"Language-Team: Mikk3lRo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.4\n" +"X-Poedit-Basepath: ..\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" +"Language: da_DK\n" +"X-Poedit-SearchPath-0: .\n" + +#: Puc/v4p1/Plugin/UpdateChecker.php:358 +msgid "Check for updates" +msgstr "Undersøg for opdateringer" + +#: Puc/v4p1/Plugin/UpdateChecker.php:405 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "Plugin'et %s er allerede opdateret." + +#: Puc/v4p1/Plugin/UpdateChecker.php:407 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "En ny version af plugin'et %s er tilgængelig." + +#: Puc/v4p1/Plugin/UpdateChecker.php:409 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "Ukendt opdateringsstatus: \"%s\"" + +#: Puc/v4p1/Vcs/PluginUpdateChecker.php:83 +msgid "There is no changelog available." +msgstr "Der er ingen ændringslog tilgængelig." diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-de_DE.mo b/admin/includes/plugin-update-checker/languages/plugin-update-checker-de_DE.mo new file mode 100755 index 0000000000000000000000000000000000000000..0734cae2dc9b76d41f5f6f99b1380ec2f685e1be GIT binary patch literal 980 zcmZuv&2AGh7+j!$6i)Plgi!Sn35g$h$wp9>4M9MfqKXtEnj&tIll`(;vauuEn^K9_ z;K+>wJOH=e`U)I4apXA|chjbourxcLcR$aL?fJ91@+H8y0^9;Rz%}4A;Kz61KJWv$ z4*UWL_zTrP?cpW?f-vECFuYrGp(Rw^k1}lK~;K#+1 zPM?>3^@0@d)0~aXv?4tsH_j~0@*>R?p^|f%<#Ld77_`PboX|)cDrSjvY=hpI4f`&o zX*iZDVih)w9nRIf$rqP8yTPf*77=s_*2)zB#3@jUaJ{ZC&MKYCpD zb)1n1$`gw*|dEss6VZzTU9UMR*Qx-jz)0iqd+dJ*0 z@hGfST3R_)5I&f}q2o{P;VhS#YWUMLmR)nNw\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.1\n" +"X-Poedit-Basepath: ..\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e\n" +"Language: de_DE\n" +"X-Poedit-SearchPath-0: .\n" + +#: github-checker.php:137 +msgid "There is no changelog available." +msgstr "Es ist keine Liste von Programmänderungen verfügbar." + +#: plugin-update-checker.php:852 +msgid "Check for updates" +msgstr "Nach Update suchen" + +#: plugin-update-checker.php:896 +msgid "This plugin is up to date." +msgstr "Das Plugin ist aktuell." + +#: plugin-update-checker.php:898 +msgid "A new version of this plugin is available." +msgstr "Es ist eine neue Version für das Plugin verfügbar." + +#: plugin-update-checker.php:900 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "Unbekannter Update Status \"%s\"" diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-fa_IR.mo b/admin/includes/plugin-update-checker/languages/plugin-update-checker-fa_IR.mo new file mode 100755 index 0000000000000000000000000000000000000000..a68f1004811da6f8438dcb46da94dd438ba24843 GIT binary patch literal 1128 zcmZWoO;1xn6n!dcQdhb(E^bJSA7q~I6+fECM^FSqgxEkK?#R$i+b55iX5JLUxX^{j zf~|jmh1EtOfHBeE!D5~yE?l_vFLmQ_tX!08MILH_4soF=HQY2)>b;uw zdPS|CiLzl66*kv37#%ueT?g!tl`B3eu~99!!4m8t^drg#;awKwS$L1a+fhF33&J2k zBbye>v0L_dUl_1_!S(eAeL;VJkelSGVI|FFnsB3Z1YgZctY~`f$>e<+tcxU3BYIgS z+%K!8Vf4#dlh*_*3BD8&oYRb1O#}_bvZ_WJTBWY^V|~;cQI*e6Oy{O1rpAsI4E-QC zs-zJT238x`#E9qSRwLoD9B|*VPK6noEse9nQJ*tf6`GC7vZ}fZ4MwZu zD0_3T@#CW#X1B@5BH7ztuORM>xV2jLi+l1=f3@F`b_U@Vf-R`G-B$m$|9^wdU*s>7 C2(8ip literal 0 HcmV?d00001 diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-fa_IR.po b/admin/includes/plugin-update-checker/languages/plugin-update-checker-fa_IR.po new file mode 100755 index 0000000..20b6938 --- /dev/null +++ b/admin/includes/plugin-update-checker/languages/plugin-update-checker-fa_IR.po @@ -0,0 +1,38 @@ +msgid "" +msgstr "" +"Project-Id-Version: plugin-update-checker\n" +"POT-Creation-Date: 2016-02-17 14:21+0100\n" +"PO-Revision-Date: 2016-10-28 14:30+0330\n" +"Last-Translator: studio RVOLA \n" +"Language-Team: Pro Style \n" +"Language: fa_IR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.8\n" +"X-Poedit-Basepath: ..\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e\n" +"X-Poedit-SearchPath-0: .\n" + +#: github-checker.php:120 +msgid "There is no changelog available." +msgstr "شرحی برای تغییرات یافت نشد" + +#: plugin-update-checker.php:637 +msgid "Check for updates" +msgstr "بررسی برای بروزرسانی " + +#: plugin-update-checker.php:681 +msgid "This plugin is up to date." +msgstr "شما از آخرین نسخه استفاده میکنید . به‌روز باشید" + +#: plugin-update-checker.php:683 +msgid "A new version of this plugin is available." +msgstr "نسخه جدیدی برای افزونه ارائه شده است ." + +#: plugin-update-checker.php:685 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "وضعیت ناشناخته برای بروزرسانی \"%s\"" diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-fr_CA.mo b/admin/includes/plugin-update-checker/languages/plugin-update-checker-fr_CA.mo new file mode 100755 index 0000000000000000000000000000000000000000..24639b694e7ba21e2b5f9997b9f12d2d831ac69a GIT binary patch literal 1208 zcmZuwO>Y}F5M>&-1=K^)9{T|d3>Zk!aJ##85MxybNff&LJ!fDKMyPa&$<1lrsRn<7q_YSWChrKqFfjXPxdlxFOM zc9z_TT8pi4VT5Rx0=(tjbB(E>CsM_c{Zv~B99<|T1-&cxc`jQad0PV#doyHHQ*_j3 zoru1754nu;ppp+3DvPB!xhRZW=Gp0gKaf4oDk2kk56%VUX?9a)nasB-yIG|9mua4+ zFqA*=Ot%@Y?RI3E%PglXExyiWdINTcsBxplEC;Nn1$B-Nj`r3fvLx;FoQ-Uw9GumN z7Wr}fsy0g7ZhJvKaNIo}?8}|ComV!D*vmazx=Pz|K|3cpc7BxKvSqKL^9A)CS2|Lj zq{%k^ESB=F3S6r=DJV%gebabl{uqVi|VxZd)2mcduExMcEhKwf}wB_>y}I zSp_Y0txo@r&rY4M!l4eapy9APLq+?eP?k zF)7{j)~a{~jr_28=aLXszMS-ticFDAM?5%x>GeqCr5X-2)dAo0U+EzPivvUU?U zks{TUjh*jWW$@nSmKTOp=}|W|+S-OVL<)_cG3N7DIL2GGu9>kh zylMa(YY-0?$#&imXoc4E^6>}L+J(@DYE@L{FPASLou;Y5sci}?VQ+d 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" +"Last-Translator: Eric Gagnon \n" +"Language: fr_CA\n" +"X-Poedit-SearchPath-0: .\n" + +#: Puc/v4p3/Plugin/UpdateChecker.php:395 +msgid "Check for updates" +msgstr "Vérifier les mises à jour" + +#: Puc/v4p3/Plugin/UpdateChecker.php:548 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "L’extension %s est à jour." + +#: Puc/v4p3/Plugin/UpdateChecker.php:550 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "Une nouvelle version de l’extension %s est disponible." + +#: Puc/v4p3/Plugin/UpdateChecker.php:552 +#, php-format +msgctxt "the plugin title" +msgid "Could not determine if updates are available for %s." +msgstr "Impossible de déterminer si une mise à jour est disponible pour \"%s\"" + +#: Puc/v4p3/Plugin/UpdateChecker.php:558 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "Un problème inconnu est survenu \"%s\"" + +#: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 +msgid "There is no changelog available." +msgstr "Il n’y a aucun journal de mise à jour disponible." diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-fr_FR.mo b/admin/includes/plugin-update-checker/languages/plugin-update-checker-fr_FR.mo new file mode 100755 index 0000000000000000000000000000000000000000..a492d96f6eb4b2d988877b0f15c6adc60613195e GIT binary patch literal 1066 zcmZuw&2AGh5H?Ua1TJs|q*0|xAn1R4EshMJY0DWU2&l2I$v2KbMK|0U|;#BAXDl-5v5>kmhg#p{q2ilDF zG=Mae0WCN$eC}X&&doBPB4jEbNDW?kg)=LlaSS80P8toS4~1gRor&nQO9%WHO_u%@ z=NWhdh2Ma6tl7ud^H#!l%ly$aEiYe*PaRe|TV39?C_H)KuP8WzT3B7=Vey0NLiGIE zldu+sB;?yTl7-i+bql4gP1VW80C^Y1Fro_Ni8QdiyVYKS7peDIG(SHcj{`e0N(8YP zE?3S%BIw)R+ID55wXu5PyBdU*rqLd?=iQ@>40=5D^O+J-*NfY*4t-;%yT+F;bXI8B zN6S}rY!ayl5iIRVUwOyZQKJ>!*a$iX6X~HAgh7q|DVO}EaF_|7Mi2y*j>@f2e9hRQ zi$K%$(b6?)^`e?IZ9LMj4AsZ=i}<%Dw=p(LTM?AL&a=P4qp`7xYfI-N==JJ7toIJ1 z>eE_GOqFo-l7)Fydfb#TmC3>S>g(3#r9)8IIPH*49+J@t+dVz8vM;IS6gn76N6*tQ zuuo=KOM(9N@$(S~5P6*I$*vX(5}YW{gpf#=87-#`4Vg82>hyR>jZan7ItO$fTy955 o^GQ$dXrxafAE8os-pQ0!(Rp-9s3)yWJzYdzPT#&tFf|;ozeSTj4gdfE literal 0 HcmV?d00001 diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-fr_FR.po b/admin/includes/plugin-update-checker/languages/plugin-update-checker-fr_FR.po new file mode 100755 index 0000000..9f18e2c --- /dev/null +++ b/admin/includes/plugin-update-checker/languages/plugin-update-checker-fr_FR.po @@ -0,0 +1,42 @@ +msgid "" +msgstr "" +"Project-Id-Version: plugin-update-checker\n" +"POT-Creation-Date: 2017-07-07 14:53+0200\n" +"PO-Revision-Date: 2017-07-07 14:54+0200\n" +"Language-Team: studio RVOLA \n" +"Language: fr_FR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.2\n" +"X-Poedit-Basepath: ..\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" +"Last-Translator: Nicolas GEHIN\n" +"X-Poedit-SearchPath-0: .\n" + +#: Puc/v4p1/Plugin/UpdateChecker.php:358 +msgid "Check for updates" +msgstr "Vérifier les mises à jour" + +#: Puc/v4p1/Plugin/UpdateChecker.php:405 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "L’extension %s est à jour." + +#: Puc/v4p1/Plugin/UpdateChecker.php:407 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "Une nouvelle version de l’extension %s est disponible." + +#: Puc/v4p1/Plugin/UpdateChecker.php:409 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "Un problème inconnu est survenu \"%s\"" + +#: Puc/v4p1/Vcs/PluginUpdateChecker.php:85 +msgid "There is no changelog available." +msgstr "Il n’y a aucun journal de mise à jour disponible." diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-hu_HU.mo b/admin/includes/plugin-update-checker/languages/plugin-update-checker-hu_HU.mo new file mode 100755 index 0000000000000000000000000000000000000000..4789ef1da358b7fdef2879615c49eac1fb2dad98 GIT binary patch literal 982 zcmZuvO>fgc5M7{v6i#qKAPz$$#7DIzPDNE5f+!)S6)8m2MckroGO^v*yVmYHB@w@X zTMt~gl@mR1LgEit{Rfqs~~X?#;8rCB&Z?SFfx$FSrAE}nHY;G7CSLItQBH^1Vg1EO9#TD zVSb1ji!7<29|{>@tb&sz{=Z^b3RXc;>#%J(l4?)Rw5XiKQG>CCjDN zB0%n=NIaOw9)wwMeY>)`vDrR8k?YhdEhQ~V+HsPSb&K!p{WKPlY!uh34cg|mzs6UN z^9pA})VwYGY7oi5gO#1gR^IaGC{dS|y9x)91=m?|mT9F7`BPyq6*lz1aVp(7(<0_; zN+-qxNzYE9Y1SLXJ=3&#N5ah}xOW@J0$VE6eQcG!JSdILot0K zq7;Shhh5s8*J%F=%RlWFy*G{WZ;&7A5be=EUVSD1gFvNatULm~a8 zlo;jFzMfKm>?J1uRnMEzVeKiY&H7o2REtp|>#z-zQ1e>Sq4nWu+GNF8dgRPZMcI&l E0BAre\n" +"Language-Team: \n" +"Language: hu_HU\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.6\n" +"X-Poedit-Basepath: ..\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e\n" +"X-Poedit-SearchPath-0: .\n" + +#: github-checker.php:137 +msgid "There is no changelog available." +msgstr "Nem érhető el a changelog." + +#: plugin-update-checker.php:852 +msgid "Check for updates" +msgstr "Frissítés ellenőrzése" + +#: plugin-update-checker.php:896 +msgid "This plugin is up to date." +msgstr "Ez a plugin naprakész." + +#: plugin-update-checker.php:898 +msgid "A new version of this plugin is available." +msgstr "Új verzió érhető el a kiegészítőhöz" + +#: plugin-update-checker.php:900 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "Ismeretlen a frissítés ellenőrző státusza \"%s\"" + +#~ msgid "Every %d hours" +#~ msgstr "Minden %d órában" diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-it_IT.mo b/admin/includes/plugin-update-checker/languages/plugin-update-checker-it_IT.mo new file mode 100755 index 0000000000000000000000000000000000000000..6a2c57d98f667286c49857745f52a20c6a54107c GIT binary patch literal 989 zcmY*Y-EPw`7!5E$Dpzm;5<=*s65`h(skSjvih!;|)jFtHhq$ZU#7)goJF=aQAzlOV z3ge0w;BK$L1y@}19GooM+F3d|pOf!9KDNL7y|(nt!?*<80(!s|;44s$1K=U>1GozO z1_<~E+ypM4^SnB^4*mmlfXA5MzTkP+!JFV^@CbYZ{2k1|Kfy>n8VJ25p!86V^A(*w zFP70OQeuy0!dR&l=`p#9w3KH>DitB(GcGee%7pK=CnDaZu{KoX33tMJgNZPr%u<@- z30JAebh=nFI4f4<v8MYz;ITY%B#zQ}-wY73WL3lrhLnl7FCwa!DYL=&GtZ=QJ!3JBK=amM=!my5tbs|+7(b`D5 z+DG@~L{=WY^_@7MZSVR*(iw3*t76mAz&+iEn+<3!lH zujo#T!UxT{z_u<-EZUW?h$>^J@|$9RPn*Q{q;(Muhs~il-G4-h7_N5~qy#tdqz^YN zfS(%fo|7u{jGr`~KuLDeb%zI(NSkXVM=}#0u3nC1%!#L|)JE|sj!=4U(XR15w8NkrO?qy=_TQ!e4N-5_+^ylpBq\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.5\n" +"X-Poedit-Basepath: ..\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e\n" +"Language: de_DE\n" +"X-Poedit-SearchPath-0: .\n" + +#: github-checker.php:137 +msgid "There is no changelog available." +msgstr "Non c'è alcuna sezione di aggiornamento disponibile" + +#: plugin-update-checker.php:852 +msgid "Check for updates" +msgstr "Verifica aggiornamenti" + +#: plugin-update-checker.php:896 +msgid "This plugin is up to date." +msgstr "Il plugin è aggiornato" + +#: plugin-update-checker.php:898 +msgid "A new version of this plugin is available." +msgstr "Una nuova versione del plugin è disponibile" + +#: plugin-update-checker.php:900 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "Si è verificato un problema sconosciuto \"%s\"" diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-ja.mo b/admin/includes/plugin-update-checker/languages/plugin-update-checker-ja.mo new file mode 100755 index 0000000000000000000000000000000000000000..376102a19c8dc7832685e62607d49c44f202859b GIT binary patch literal 1105 zcmZ{iO-~a+7{^CN5A~!+^)Qlf(y7}T0k_ns6%1Npqs8c{8MZ^abUWM3PI-wQ*xmRN z)Wm3n2qq>3gJ1*<#P~w=Gk8}o6RI~qfqkn2!q~(nn9mINzhLa3C7zH`UEP0_6PGF2pxoY6(WUr4PpnxFA!TH z?rTB_QtNFy^stOz3GJ+}gglL57*a)MlyJW-aJ7=Bk~t__WP)MS!Q941k@5nw>;k5P z)U;@y#iFQ}m$*H|8wHR94oqN2QdxCybBoiAWRc;DRV|ntOH*2`=@jN{2oEyhm^R0D zKMpclob@EwZOaCKRRhxR$<+#$HV$~BC?o6vW=PVVCznHiy!*)Gz)nHNy>GeJ7JVdqU=&~ba8DI-_NS;mTsN-lflCi3STBOSsWk<&xE)k|qGL{I=6oyGHu~~V^t_p*tLLeQ7 zL>s>6*~pMB@=n@xq>gjBM2;nL!|>>_!*OGa3!}m)W`KZbzz{*on^wNB{0ZgXQvRy) zZ!7P?x9NA^=kKA~)Jko9Y3Z{|8Dqi q>u__*TT{!24J6q8fGoQ$MTRdf6`lshVj3 literal 0 HcmV?d00001 diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-ja.po b/admin/includes/plugin-update-checker/languages/plugin-update-checker-ja.po new file mode 100755 index 0000000..673c311 --- /dev/null +++ b/admin/includes/plugin-update-checker/languages/plugin-update-checker-ja.po @@ -0,0 +1,42 @@ +msgid "" +msgstr "" +"Project-Id-Version: plugin-update-checker\n" +"POT-Creation-Date: 2017-06-02 18:31+0900\n" +"PO-Revision-Date: 2017-06-02 18:32+0900\n" +"Last-Translator: tak \n" +"Language-Team: \n" +"Language: ja_JP\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.2\n" +"X-Poedit-Basepath: ..\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_x;_x:1,2c\n" +"X-Poedit-SearchPath-0: .\n" + +#: Puc/v4p1/Plugin/UpdateChecker.php:362 +msgid "Check for updates" +msgstr "アップデートを確認" + +#: Puc/v4p1/Plugin/UpdateChecker.php:409 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "%s プラグインは、最新バージョンです。" + +#: Puc/v4p1/Plugin/UpdateChecker.php:411 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "%s プラグインの最新バージョンがあります。" + +#: Puc/v4p1/Plugin/UpdateChecker.php:413 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "バージョンアップの確認で想定外の状態になりました。ステータス:\"%s\"" + +#: Puc/v4p1/Vcs/PluginUpdateChecker.php:83 +msgid "There is no changelog available." +msgstr "更新履歴はありません。" diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_BE.mo b/admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_BE.mo new file mode 100755 index 0000000000000000000000000000000000000000..1cea26dda30ca887087e965d5b494716e48d8416 GIT binary patch literal 1211 zcmah|&59F25N>rQ;T9t9u4ClK@z{3ericUi%PFW*e3e!i-y`f+yUy}&sMoC5~HDc}uIo=?CT;4?tL zH((9;33PzdM}+8sx4;to4*U!F0+jJS9ur~}{2hE1{2P1`yuKnt8~g}d`n?6iWpR$; z7iI!i;`ri5h!aaLbuLbK%E^qz)=`nCDzF!WDLW?Z$yiFJ%1k)36H?nsXKIvjB%Yd? zu{&nz02@SLM?R=fcv@TcYa&dU@~oI>LqUg(S8kKx9olB+wKZhNR9dY2T_a@Mm*9|h z*A`g{J%LgV?B?1);CNRtDd_#{zNls0M~5|_u!AX!oPwpY>PYmReZfhP_fz?-QW-DB z$*M7OS!b>Pa3H&mRX`>3E}Ua()*CHZzapF0sL_fW*DltZ^*RjYW8T(f#s9Rs(yZ(@ z(c?l*SPodtW2$Z4-|Fp&Xhii|*P6g4$ib@|*#f@|m-9?%(=I=d^Bg))2OF}rXXljh zV|KD<5}Rr>iK#Wxq4r$fW5Z4b>tgC#PIaJ0)QYZ04g6PK$UDk&uEI2?D5~|d!l_Jd zSU2}E8GKW``cAW5HV2QL^M+PC)VR>z3-H7iF5zyaET&4@-|!Fk)sA(k-_$MZqVmCOx1&*+}D-m~#^V_d%9vU$*R{TijsRlrF2D6#XK@UB`3 zsoC&OZ=WVsE}8aGmaL<&nkZZ9Y{nQ|o0HL8>~J-oSb?4^=YPU%_HDq3eKOUvky0)a z53v?AHYx9p{Ybx{WEt~N#JJjuDr_0`Kt9@5rX0)z2_9fgU=?tis|+sK8EE~VBXmdN gF4LUZ2XdTXY!*|$SiQwsPx$KxgJsRi;?qd{0TG{S#Q*>R literal 0 HcmV?d00001 diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_BE.po b/admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_BE.po new file mode 100755 index 0000000..e1734bb --- /dev/null +++ b/admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_BE.po @@ -0,0 +1,48 @@ +msgid "" +msgstr "" +"Project-Id-Version: plugin-update-checker\n" +"POT-Creation-Date: 2018-03-25 18:15+0200\n" +"PO-Revision-Date: 2018-03-25 18:32+0200\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.7.1\n" +"X-Poedit-Basepath: ..\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" +"Last-Translator: Frank Goossens \n" +"Language: nl_BE\n" +"X-Poedit-SearchPath-0: .\n" + +#: Puc/v4p3/Plugin/UpdateChecker.php:395 +msgid "Check for updates" +msgstr "Controleer op nieuwe versies" + +#: Puc/v4p3/Plugin/UpdateChecker.php:548 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "De meest recente %s versie is geïnstalleerd." + +#: Puc/v4p3/Plugin/UpdateChecker.php:550 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "Er is een nieuwe versie van %s beschikbaar." + +#: Puc/v4p3/Plugin/UpdateChecker.php:552 +#, php-format +msgctxt "the plugin title" +msgid "Could not determine if updates are available for %s." +msgstr "Kon niet bepalen of er nieuwe versie van %s beschikbaar is." + +#: Puc/v4p3/Plugin/UpdateChecker.php:558 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "Ongekende status bij controle op nieuwe versie: \"%s\"" + +#: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 +msgid "There is no changelog available." +msgstr "Er is geen changelog beschikbaar." diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_NL.mo b/admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_NL.mo new file mode 100755 index 0000000000000000000000000000000000000000..16dde622ba6040399cc911e0d5ef1c970a541b88 GIT binary patch literal 1211 zcmah|&59F25N>rYShMgp(iFTo-2 zt}U_@dIF^!*v+(oz|pQ^QqcR?eO}9oj}B`FtAI-6JvhhItT$S+epNQFQ==6(u3xG*>vb5)r@X1livMYMwOQG% zqsN6Bv+T2)#Z=pPu(7%)q7l_=U26iHAp1KxvIX7_SMp40(=I=d^Bg+Q`)jhbXXljh zBX)AtBsSG%98+tkL+z!!&xV}}*2UDboa#W0s1@Ca8u+iekav~mT!l$YQB>6P~&2IFTgWfxP-fvvY0Aqf5SiIoh|E9zpj0VX)tIH zxINg88<(32xVEl5>MZqVmCQ9fPwBq3-m~#^b5y?Hwt3Jq{TijsRKQ61D6z9!@UB`3 zsoCJs`aVspTr%mQELlfkHBq+I*^Du`HYcOG*y3tFu>z~Eoc}Si*|z~h_Q^y~hf29f zJjPl~*`&NX_Cx)Ol10oz5#wqrs<36$1NmrEnQ|}>BzTB5fmOh5t}?h_XQ1_ej?f*6 gdrUKCAINcnv6)Z(eD&sQJ?5_;43;%3i%%o*2Pb`M*Z=?k literal 0 HcmV?d00001 diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_NL.po b/admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_NL.po new file mode 100755 index 0000000..7f57a89 --- /dev/null +++ b/admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_NL.po @@ -0,0 +1,48 @@ +msgid "" +msgstr "" +"Project-Id-Version: plugin-update-checker\n" +"POT-Creation-Date: 2018-03-25 18:15+0200\n" +"PO-Revision-Date: 2018-03-25 18:32+0200\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.7.1\n" +"X-Poedit-Basepath: ..\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" +"Last-Translator: Frank Goossens \n" +"Language: nl_NL\n" +"X-Poedit-SearchPath-0: .\n" + +#: Puc/v4p3/Plugin/UpdateChecker.php:395 +msgid "Check for updates" +msgstr "Controleer op nieuwe versies" + +#: Puc/v4p3/Plugin/UpdateChecker.php:548 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "De meest recente %s versie is geïnstalleerd." + +#: Puc/v4p3/Plugin/UpdateChecker.php:550 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "Er is een nieuwe versie van %s beschikbaar." + +#: Puc/v4p3/Plugin/UpdateChecker.php:552 +#, php-format +msgctxt "the plugin title" +msgid "Could not determine if updates are available for %s." +msgstr "Kon niet bepalen of er nieuwe versie van %s beschikbaar is." + +#: Puc/v4p3/Plugin/UpdateChecker.php:558 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "Ongekende status bij controle op nieuwe versie: \"%s\"" + +#: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 +msgid "There is no changelog available." +msgstr "Er is geen changelog beschikbaar." diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-pt_BR.mo b/admin/includes/plugin-update-checker/languages/plugin-update-checker-pt_BR.mo new file mode 100755 index 0000000000000000000000000000000000000000..d1c0f283287da07c7060255756947399fde75ca6 GIT binary patch literal 1014 zcmZuv!EVz)6f{scgcF=V;_y_d5=dPW2P%rAAllGEMM|SKMcksreu>>WyVmYHZ4oE_ zfe%0&fCEQPT#)h`h+lzm97qtXGJgB)+1bhN{J6UG*2B02+yFYjW#BbXj*q|<;1fW= zS6~_V4zz%ufGFqZJntKD3|vFMdZFTNpgW5oypn^Ib=kY}AEddv&Zz?~t zX;s<@N5?eKhKf9vj;+^A*f6D*l%^<=YRH)$k{ru4lP@#&y+d`Z^og1+00#ed~o)yDXkxO01OB=CIb?>xs5u>EJ;;!s3t`_28bUuZiG31#98mK-BNl>mZ7K z9;c<(|MMCZuOqD!JtLLPq|+v(S_kJ<$RUd!%h5s)ORm4UU)$Z;-J07B{Ccgem16~& zvmAaLpSs(5CR5cc58qgJt;627SfBIC?FMYbmWp(os$od$FH={0As(}0Q~Bs>j#Ed0 zzwWQ&OVx@^X*riJ3CZ_s-K;P&6WiL1Y)A^Xh1Rwj&GPUtZQWG#fP!1i`T7H0n26hz zt&l2Tf7GAy*@-r>?WER))bBU@-0Yv?7Y3`1XhDUgiIOgSh&r6qJltA3NF!-z!xb`1 zU&+ab$rmK?+2p;ZWb%%R(LxgA)aF`EK94!`y@Pq^C}taJg*2wI_Pr<5brLBa%W3dR uv0NHSC{;9(zXh@CV~k{HTE@P&w?I3B7+Z&@l4Ogy;7B66h9le{qWB9G2Q7U7 literal 0 HcmV?d00001 diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-pt_BR.po b/admin/includes/plugin-update-checker/languages/plugin-update-checker-pt_BR.po new file mode 100755 index 0000000..70a0f62 --- /dev/null +++ b/admin/includes/plugin-update-checker/languages/plugin-update-checker-pt_BR.po @@ -0,0 +1,48 @@ +msgid "" +msgstr "" +"Project-Id-Version: plugin-update-checker\n" +"POT-Creation-Date: 2017-05-19 15:41-0300\n" +"PO-Revision-Date: 2017-05-19 15:42-0300\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.8\n" +"X-Poedit-Basepath: ..\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_x;_x:1,2c\n" +"X-Poedit-SearchPath-0: .\n" + +#: Puc/v4p1/Plugin/UpdateChecker.php:358 +msgid "Check for updates" +msgstr "Verificar Atualizações" + +#: Puc/v4p1/Plugin/UpdateChecker.php:401 Puc/v4p1/Plugin/UpdateChecker.php:406 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "O plugin %s já está na sua versão mais recente." + +#: Puc/v4p1/Plugin/UpdateChecker.php:408 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "Há uma nova versão para o plugin %s disponível para download." + +#: Puc/v4p1/Plugin/UpdateChecker.php:410 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "Status \"%s\" desconhecido." + +#: Puc/v4p1/Vcs/PluginUpdateChecker.php:83 +msgid "There is no changelog available." +msgstr "Não há um changelog disponível." + +#~ msgid "The %s plugin is up to date." +#~ msgstr "O plugin %s já está na sua versão mais recente." + +#~ msgid "A new version of the %s plugin is available." +#~ msgstr "Há uma nova versão para o plugin %s disponível para download." diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-sv_SE.mo b/admin/includes/plugin-update-checker/languages/plugin-update-checker-sv_SE.mo new file mode 100755 index 0000000000000000000000000000000000000000..4d06fc14f5bb99ac14bc019543e9edacfb457e36 GIT binary patch literal 1006 zcmZWn!EO^V5H(OZgcF=NfHYK!L{+@(rWC4;a)7i&6|EZ46mg5(WU^VZwIkb`wi1W_ z1UI-<2!5a!PAEUX2Otjp5qR58+aN5xeIEOH{5(6q@6LS`7`K4?z$S1T_y82+D{u$+ z1`zNam1R4EsX5^8kov|_KI$pYPP7MXnNmmEPaDa zh?X_)x$EUdPrfbl$J4a3e3G0xthBbFNsTPF6 zQ|y$Xe5o9dlpn+t1eI2nTb0RmWA|N58vg>JYt-sRX)tX(()6%F(L((y!H&somz$-p zm`Y=p>0k5Ffw4WenK~a+r&I56y>l2xk852pO5yOz!hKenyev*kZrs^fo4JRT?G9S7 zDnpp9h@Hvlkht&BMEU5v3oTx*tXO4F{Zwm5h*{I*ME8m!Zv5guX~VIY|;YsJcM3XG8e7a;khF F{sQ>&EFS;> literal 0 HcmV?d00001 diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-sv_SE.po b/admin/includes/plugin-update-checker/languages/plugin-update-checker-sv_SE.po new file mode 100755 index 0000000..b894814 --- /dev/null +++ b/admin/includes/plugin-update-checker/languages/plugin-update-checker-sv_SE.po @@ -0,0 +1,42 @@ +msgid "" +msgstr "" +"Project-Id-Version: plugin-update-checker\n" +"POT-Creation-Date: 2017-05-20 10:53+0300\n" +"PO-Revision-Date: 2017-10-16 15:02+0200\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.4\n" +"X-Poedit-Basepath: ..\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" +"Last-Translator: \n" +"Language: sv_SE\n" +"X-Poedit-SearchPath-0: .\n" + +#: Puc/v4p1/Plugin/UpdateChecker.php:358 +msgid "Check for updates" +msgstr "Sök efter uppdateringar" + +#: Puc/v4p1/Plugin/UpdateChecker.php:405 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "Tillägget %s är uppdaterat." + +#: Puc/v4p1/Plugin/UpdateChecker.php:407 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "Det finns en ny version av tillägget %s." + +#: Puc/v4p1/Plugin/UpdateChecker.php:409 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "Okänd status för kontroll av uppdatering “%s”" + +#: Puc/v4p1/Vcs/PluginUpdateChecker.php:83 +msgid "There is no changelog available." +msgstr "Det finns ingen ändringslogg tillgänglig." diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker.pot b/admin/includes/plugin-update-checker/languages/plugin-update-checker.pot new file mode 100755 index 0000000..67f4f00 --- /dev/null +++ b/admin/includes/plugin-update-checker/languages/plugin-update-checker.pot @@ -0,0 +1,49 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: plugin-update-checker\n" +"POT-Creation-Date: 2017-11-24 17:02+0200\n" +"PO-Revision-Date: 2016-01-10 20:59+0100\n" +"Last-Translator: Tamás András Horváth \n" +"Language-Team: \n" +"Language: en_US\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.4\n" +"X-Poedit-Basepath: ..\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" +"X-Poedit-SearchPath-0: .\n" + +#: Puc/v4p3/Plugin/UpdateChecker.php:395 +msgid "Check for updates" +msgstr "" + +#: Puc/v4p3/Plugin/UpdateChecker.php:548 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "" + +#: Puc/v4p3/Plugin/UpdateChecker.php:550 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "" + +#: Puc/v4p3/Plugin/UpdateChecker.php:552 +#, php-format +msgctxt "the plugin title" +msgid "Could not determine if updates are available for %s." +msgstr "" + +#: Puc/v4p3/Plugin/UpdateChecker.php:558 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "" + +#: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 +msgid "There is no changelog available." +msgstr "" diff --git a/admin/includes/plugin-update-checker/license.txt b/admin/includes/plugin-update-checker/license.txt new file mode 100755 index 0000000..be948f6 --- /dev/null +++ b/admin/includes/plugin-update-checker/license.txt @@ -0,0 +1,7 @@ +Copyright (c) 2017 Jānis Elsts + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/admin/includes/plugin-update-checker/plugin-update-checker.php b/admin/includes/plugin-update-checker/plugin-update-checker.php new file mode 100755 index 0000000..81bbc1e --- /dev/null +++ b/admin/includes/plugin-update-checker/plugin-update-checker.php @@ -0,0 +1,34 @@ + 'Puc_v4p6_Plugin_UpdateChecker', + 'Theme_UpdateChecker' => 'Puc_v4p6_Theme_UpdateChecker', + + 'Vcs_PluginUpdateChecker' => 'Puc_v4p6_Vcs_PluginUpdateChecker', + 'Vcs_ThemeUpdateChecker' => 'Puc_v4p6_Vcs_ThemeUpdateChecker', + + 'GitHubApi' => 'Puc_v4p6_Vcs_GitHubApi', + 'BitBucketApi' => 'Puc_v4p6_Vcs_BitBucketApi', + 'GitLabApi' => 'Puc_v4p6_Vcs_GitLabApi', + ) + as $pucGeneralClass => $pucVersionedClass +) { + Puc_v4_Factory::addVersion($pucGeneralClass, $pucVersionedClass, '4.6'); + //Also add it to the minor-version factory in case the major-version factory + //was already defined by another, older version of the update checker. + Puc_v4p6_Factory::addVersion($pucGeneralClass, $pucVersionedClass, '4.6'); +} diff --git a/admin/includes/plugin-update-checker/vendor/Parsedown.php b/admin/includes/plugin-update-checker/vendor/Parsedown.php new file mode 100755 index 0000000..5d96071 --- /dev/null +++ b/admin/includes/plugin-update-checker/vendor/Parsedown.php @@ -0,0 +1,1538 @@ +DefinitionData = array(); + + # standardize line breaks + $text = str_replace(array("\r\n", "\r"), "\n", $text); + + # remove surrounding line breaks + $text = trim($text, "\n"); + + # split text into lines + $lines = explode("\n", $text); + + # iterate through lines to identify blocks + $markup = $this->lines($lines); + + # trim line breaks + $markup = trim($markup, "\n"); + + return $markup; + } + + # + # Setters + # + + function setBreaksEnabled($breaksEnabled) + { + $this->breaksEnabled = $breaksEnabled; + + return $this; + } + + protected $breaksEnabled; + + function setMarkupEscaped($markupEscaped) + { + $this->markupEscaped = $markupEscaped; + + return $this; + } + + protected $markupEscaped; + + function setUrlsLinked($urlsLinked) + { + $this->urlsLinked = $urlsLinked; + + return $this; + } + + protected $urlsLinked = true; + + # + # Lines + # + + protected $BlockTypes = array( + '#' => array('Header'), + '*' => array('Rule', 'List'), + '+' => array('List'), + '-' => array('SetextHeader', 'Table', 'Rule', 'List'), + '0' => array('List'), + '1' => array('List'), + '2' => array('List'), + '3' => array('List'), + '4' => array('List'), + '5' => array('List'), + '6' => array('List'), + '7' => array('List'), + '8' => array('List'), + '9' => array('List'), + ':' => array('Table'), + '<' => array('Comment', 'Markup'), + '=' => array('SetextHeader'), + '>' => array('Quote'), + '[' => array('Reference'), + '_' => array('Rule'), + '`' => array('FencedCode'), + '|' => array('Table'), + '~' => array('FencedCode'), + ); + + # ~ + + protected $unmarkedBlockTypes = array( + 'Code', + ); + + # + # Blocks + # + + protected function lines(array $lines) + { + $CurrentBlock = null; + + foreach ($lines as $line) + { + if (chop($line) === '') + { + if (isset($CurrentBlock)) + { + $CurrentBlock['interrupted'] = true; + } + + continue; + } + + if (strpos($line, "\t") !== false) + { + $parts = explode("\t", $line); + + $line = $parts[0]; + + unset($parts[0]); + + foreach ($parts as $part) + { + $shortage = 4 - mb_strlen($line, 'utf-8') % 4; + + $line .= str_repeat(' ', $shortage); + $line .= $part; + } + } + + $indent = 0; + + while (isset($line[$indent]) and $line[$indent] === ' ') + { + $indent ++; + } + + $text = $indent > 0 ? substr($line, $indent) : $line; + + # ~ + + $Line = array('body' => $line, 'indent' => $indent, 'text' => $text); + + # ~ + + if (isset($CurrentBlock['continuable'])) + { + $Block = $this->{'block'.$CurrentBlock['type'].'Continue'}($Line, $CurrentBlock); + + if (isset($Block)) + { + $CurrentBlock = $Block; + + continue; + } + else + { + if ($this->isBlockCompletable($CurrentBlock['type'])) + { + $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); + } + } + } + + # ~ + + $marker = $text[0]; + + # ~ + + $blockTypes = $this->unmarkedBlockTypes; + + if (isset($this->BlockTypes[$marker])) + { + foreach ($this->BlockTypes[$marker] as $blockType) + { + $blockTypes []= $blockType; + } + } + + # + # ~ + + foreach ($blockTypes as $blockType) + { + $Block = $this->{'block'.$blockType}($Line, $CurrentBlock); + + if (isset($Block)) + { + $Block['type'] = $blockType; + + if ( ! isset($Block['identified'])) + { + $Blocks []= $CurrentBlock; + + $Block['identified'] = true; + } + + if ($this->isBlockContinuable($blockType)) + { + $Block['continuable'] = true; + } + + $CurrentBlock = $Block; + + continue 2; + } + } + + # ~ + + if (isset($CurrentBlock) and ! isset($CurrentBlock['type']) and ! isset($CurrentBlock['interrupted'])) + { + $CurrentBlock['element']['text'] .= "\n".$text; + } + else + { + $Blocks []= $CurrentBlock; + + $CurrentBlock = $this->paragraph($Line); + + $CurrentBlock['identified'] = true; + } + } + + # ~ + + if (isset($CurrentBlock['continuable']) and $this->isBlockCompletable($CurrentBlock['type'])) + { + $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); + } + + # ~ + + $Blocks []= $CurrentBlock; + + unset($Blocks[0]); + + # ~ + + $markup = ''; + + foreach ($Blocks as $Block) + { + if (isset($Block['hidden'])) + { + continue; + } + + $markup .= "\n"; + $markup .= isset($Block['markup']) ? $Block['markup'] : $this->element($Block['element']); + } + + $markup .= "\n"; + + # ~ + + return $markup; + } + + protected function isBlockContinuable($Type) + { + return method_exists($this, 'block'.$Type.'Continue'); + } + + protected function isBlockCompletable($Type) + { + return method_exists($this, 'block'.$Type.'Complete'); + } + + # + # Code + + protected function blockCode($Line, $Block = null) + { + if (isset($Block) and ! isset($Block['type']) and ! isset($Block['interrupted'])) + { + return; + } + + if ($Line['indent'] >= 4) + { + $text = substr($Line['body'], 4); + + $Block = array( + 'element' => array( + 'name' => 'pre', + 'handler' => 'element', + 'text' => array( + 'name' => 'code', + 'text' => $text, + ), + ), + ); + + return $Block; + } + } + + protected function blockCodeContinue($Line, $Block) + { + if ($Line['indent'] >= 4) + { + if (isset($Block['interrupted'])) + { + $Block['element']['text']['text'] .= "\n"; + + unset($Block['interrupted']); + } + + $Block['element']['text']['text'] .= "\n"; + + $text = substr($Line['body'], 4); + + $Block['element']['text']['text'] .= $text; + + return $Block; + } + } + + protected function blockCodeComplete($Block) + { + $text = $Block['element']['text']['text']; + + $text = htmlspecialchars($text, ENT_NOQUOTES, 'UTF-8'); + + $Block['element']['text']['text'] = $text; + + return $Block; + } + + # + # Comment + + protected function blockComment($Line) + { + if ($this->markupEscaped) + { + return; + } + + if (isset($Line['text'][3]) and $Line['text'][3] === '-' and $Line['text'][2] === '-' and $Line['text'][1] === '!') + { + $Block = array( + 'markup' => $Line['body'], + ); + + if (preg_match('/-->$/', $Line['text'])) + { + $Block['closed'] = true; + } + + return $Block; + } + } + + protected function blockCommentContinue($Line, array $Block) + { + if (isset($Block['closed'])) + { + return; + } + + $Block['markup'] .= "\n" . $Line['body']; + + if (preg_match('/-->$/', $Line['text'])) + { + $Block['closed'] = true; + } + + return $Block; + } + + # + # Fenced Code + + protected function blockFencedCode($Line) + { + if (preg_match('/^['.$Line['text'][0].']{3,}[ ]*([\w-]+)?[ ]*$/', $Line['text'], $matches)) + { + $Element = array( + 'name' => 'code', + 'text' => '', + ); + + if (isset($matches[1])) + { + $class = 'language-'.$matches[1]; + + $Element['attributes'] = array( + 'class' => $class, + ); + } + + $Block = array( + 'char' => $Line['text'][0], + 'element' => array( + 'name' => 'pre', + 'handler' => 'element', + 'text' => $Element, + ), + ); + + return $Block; + } + } + + protected function blockFencedCodeContinue($Line, $Block) + { + if (isset($Block['complete'])) + { + return; + } + + if (isset($Block['interrupted'])) + { + $Block['element']['text']['text'] .= "\n"; + + unset($Block['interrupted']); + } + + if (preg_match('/^'.$Block['char'].'{3,}[ ]*$/', $Line['text'])) + { + $Block['element']['text']['text'] = substr($Block['element']['text']['text'], 1); + + $Block['complete'] = true; + + return $Block; + } + + $Block['element']['text']['text'] .= "\n".$Line['body'];; + + return $Block; + } + + protected function blockFencedCodeComplete($Block) + { + $text = $Block['element']['text']['text']; + + $text = htmlspecialchars($text, ENT_NOQUOTES, 'UTF-8'); + + $Block['element']['text']['text'] = $text; + + return $Block; + } + + # + # Header + + protected function blockHeader($Line) + { + if (isset($Line['text'][1])) + { + $level = 1; + + while (isset($Line['text'][$level]) and $Line['text'][$level] === '#') + { + $level ++; + } + + if ($level > 6) + { + return; + } + + $text = trim($Line['text'], '# '); + + $Block = array( + 'element' => array( + 'name' => 'h' . min(6, $level), + 'text' => $text, + 'handler' => 'line', + ), + ); + + return $Block; + } + } + + # + # List + + protected function blockList($Line) + { + list($name, $pattern) = $Line['text'][0] <= '-' ? array('ul', '[*+-]') : array('ol', '[0-9]+[.]'); + + if (preg_match('/^('.$pattern.'[ ]+)(.*)/', $Line['text'], $matches)) + { + $Block = array( + 'indent' => $Line['indent'], + 'pattern' => $pattern, + 'element' => array( + 'name' => $name, + 'handler' => 'elements', + ), + ); + + $Block['li'] = array( + 'name' => 'li', + 'handler' => 'li', + 'text' => array( + $matches[2], + ), + ); + + $Block['element']['text'] []= & $Block['li']; + + return $Block; + } + } + + protected function blockListContinue($Line, array $Block) + { + if ($Block['indent'] === $Line['indent'] and preg_match('/^'.$Block['pattern'].'(?:[ ]+(.*)|$)/', $Line['text'], $matches)) + { + if (isset($Block['interrupted'])) + { + $Block['li']['text'] []= ''; + + unset($Block['interrupted']); + } + + unset($Block['li']); + + $text = isset($matches[1]) ? $matches[1] : ''; + + $Block['li'] = array( + 'name' => 'li', + 'handler' => 'li', + 'text' => array( + $text, + ), + ); + + $Block['element']['text'] []= & $Block['li']; + + return $Block; + } + + if ($Line['text'][0] === '[' and $this->blockReference($Line)) + { + return $Block; + } + + if ( ! isset($Block['interrupted'])) + { + $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); + + $Block['li']['text'] []= $text; + + return $Block; + } + + if ($Line['indent'] > 0) + { + $Block['li']['text'] []= ''; + + $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); + + $Block['li']['text'] []= $text; + + unset($Block['interrupted']); + + return $Block; + } + } + + # + # Quote + + protected function blockQuote($Line) + { + if (preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) + { + $Block = array( + 'element' => array( + 'name' => 'blockquote', + 'handler' => 'lines', + 'text' => (array) $matches[1], + ), + ); + + return $Block; + } + } + + protected function blockQuoteContinue($Line, array $Block) + { + if ($Line['text'][0] === '>' and preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) + { + if (isset($Block['interrupted'])) + { + $Block['element']['text'] []= ''; + + unset($Block['interrupted']); + } + + $Block['element']['text'] []= $matches[1]; + + return $Block; + } + + if ( ! isset($Block['interrupted'])) + { + $Block['element']['text'] []= $Line['text']; + + return $Block; + } + } + + # + # Rule + + protected function blockRule($Line) + { + if (preg_match('/^(['.$Line['text'][0].'])([ ]*\1){2,}[ ]*$/', $Line['text'])) + { + $Block = array( + 'element' => array( + 'name' => 'hr' + ), + ); + + return $Block; + } + } + + # + # Setext + + protected function blockSetextHeader($Line, array $Block = null) + { + if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) + { + return; + } + + if (chop($Line['text'], $Line['text'][0]) === '') + { + $Block['element']['name'] = $Line['text'][0] === '=' ? 'h1' : 'h2'; + + return $Block; + } + } + + # + # Markup + + protected function blockMarkup($Line) + { + if ($this->markupEscaped) + { + return; + } + + if (preg_match('/^<(\w*)(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*(\/)?>/', $Line['text'], $matches)) + { + $element = strtolower($matches[1]); + + if (in_array($element, $this->textLevelElements)) + { + return; + } + + $Block = array( + 'name' => $matches[1], + 'depth' => 0, + 'markup' => $Line['text'], + ); + + $length = strlen($matches[0]); + + $remainder = substr($Line['text'], $length); + + if (trim($remainder) === '') + { + if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) + { + $Block['closed'] = true; + + $Block['void'] = true; + } + } + else + { + if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) + { + return; + } + + if (preg_match('/<\/'.$matches[1].'>[ ]*$/i', $remainder)) + { + $Block['closed'] = true; + } + } + + return $Block; + } + } + + protected function blockMarkupContinue($Line, array $Block) + { + if (isset($Block['closed'])) + { + return; + } + + if (preg_match('/^<'.$Block['name'].'(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*>/i', $Line['text'])) # open + { + $Block['depth'] ++; + } + + if (preg_match('/(.*?)<\/'.$Block['name'].'>[ ]*$/i', $Line['text'], $matches)) # close + { + if ($Block['depth'] > 0) + { + $Block['depth'] --; + } + else + { + $Block['closed'] = true; + } + } + + if (isset($Block['interrupted'])) + { + $Block['markup'] .= "\n"; + + unset($Block['interrupted']); + } + + $Block['markup'] .= "\n".$Line['body']; + + return $Block; + } + + # + # Reference + + protected function blockReference($Line) + { + if (preg_match('/^\[(.+?)\]:[ ]*?(?:[ ]+["\'(](.+)["\')])?[ ]*$/', $Line['text'], $matches)) + { + $id = strtolower($matches[1]); + + $Data = array( + 'url' => $matches[2], + 'title' => null, + ); + + if (isset($matches[3])) + { + $Data['title'] = $matches[3]; + } + + $this->DefinitionData['Reference'][$id] = $Data; + + $Block = array( + 'hidden' => true, + ); + + return $Block; + } + } + + # + # Table + + protected function blockTable($Line, array $Block = null) + { + if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) + { + return; + } + + if (strpos($Block['element']['text'], '|') !== false and chop($Line['text'], ' -:|') === '') + { + $alignments = array(); + + $divider = $Line['text']; + + $divider = trim($divider); + $divider = trim($divider, '|'); + + $dividerCells = explode('|', $divider); + + foreach ($dividerCells as $dividerCell) + { + $dividerCell = trim($dividerCell); + + if ($dividerCell === '') + { + continue; + } + + $alignment = null; + + if ($dividerCell[0] === ':') + { + $alignment = 'left'; + } + + if (substr($dividerCell, - 1) === ':') + { + $alignment = $alignment === 'left' ? 'center' : 'right'; + } + + $alignments []= $alignment; + } + + # ~ + + $HeaderElements = array(); + + $header = $Block['element']['text']; + + $header = trim($header); + $header = trim($header, '|'); + + $headerCells = explode('|', $header); + + foreach ($headerCells as $index => $headerCell) + { + $headerCell = trim($headerCell); + + $HeaderElement = array( + 'name' => 'th', + 'text' => $headerCell, + 'handler' => 'line', + ); + + if (isset($alignments[$index])) + { + $alignment = $alignments[$index]; + + $HeaderElement['attributes'] = array( + 'style' => 'text-align: '.$alignment.';', + ); + } + + $HeaderElements []= $HeaderElement; + } + + # ~ + + $Block = array( + 'alignments' => $alignments, + 'identified' => true, + 'element' => array( + 'name' => 'table', + 'handler' => 'elements', + ), + ); + + $Block['element']['text'] []= array( + 'name' => 'thead', + 'handler' => 'elements', + ); + + $Block['element']['text'] []= array( + 'name' => 'tbody', + 'handler' => 'elements', + 'text' => array(), + ); + + $Block['element']['text'][0]['text'] []= array( + 'name' => 'tr', + 'handler' => 'elements', + 'text' => $HeaderElements, + ); + + return $Block; + } + } + + protected function blockTableContinue($Line, array $Block) + { + if (isset($Block['interrupted'])) + { + return; + } + + if ($Line['text'][0] === '|' or strpos($Line['text'], '|')) + { + $Elements = array(); + + $row = $Line['text']; + + $row = trim($row); + $row = trim($row, '|'); + + preg_match_all('/(?:(\\\\[|])|[^|`]|`[^`]+`|`)+/', $row, $matches); + + foreach ($matches[0] as $index => $cell) + { + $cell = trim($cell); + + $Element = array( + 'name' => 'td', + 'handler' => 'line', + 'text' => $cell, + ); + + if (isset($Block['alignments'][$index])) + { + $Element['attributes'] = array( + 'style' => 'text-align: '.$Block['alignments'][$index].';', + ); + } + + $Elements []= $Element; + } + + $Element = array( + 'name' => 'tr', + 'handler' => 'elements', + 'text' => $Elements, + ); + + $Block['element']['text'][1]['text'] []= $Element; + + return $Block; + } + } + + # + # ~ + # + + protected function paragraph($Line) + { + $Block = array( + 'element' => array( + 'name' => 'p', + 'text' => $Line['text'], + 'handler' => 'line', + ), + ); + + return $Block; + } + + # + # Inline Elements + # + + protected $InlineTypes = array( + '"' => array('SpecialCharacter'), + '!' => array('Image'), + '&' => array('SpecialCharacter'), + '*' => array('Emphasis'), + ':' => array('Url'), + '<' => array('UrlTag', 'EmailTag', 'Markup', 'SpecialCharacter'), + '>' => array('SpecialCharacter'), + '[' => array('Link'), + '_' => array('Emphasis'), + '`' => array('Code'), + '~' => array('Strikethrough'), + '\\' => array('EscapeSequence'), + ); + + # ~ + + protected $inlineMarkerList = '!"*_&[:<>`~\\'; + + # + # ~ + # + + public function line($text) + { + $markup = ''; + + # $excerpt is based on the first occurrence of a marker + + while ($excerpt = strpbrk($text, $this->inlineMarkerList)) + { + $marker = $excerpt[0]; + + $markerPosition = strpos($text, $marker); + + $Excerpt = array('text' => $excerpt, 'context' => $text); + + foreach ($this->InlineTypes[$marker] as $inlineType) + { + $Inline = $this->{'inline'.$inlineType}($Excerpt); + + if ( ! isset($Inline)) + { + continue; + } + + # makes sure that the inline belongs to "our" marker + + if (isset($Inline['position']) and $Inline['position'] > $markerPosition) + { + continue; + } + + # sets a default inline position + + if ( ! isset($Inline['position'])) + { + $Inline['position'] = $markerPosition; + } + + # the text that comes before the inline + $unmarkedText = substr($text, 0, $Inline['position']); + + # compile the unmarked text + $markup .= $this->unmarkedText($unmarkedText); + + # compile the inline + $markup .= isset($Inline['markup']) ? $Inline['markup'] : $this->element($Inline['element']); + + # remove the examined text + $text = substr($text, $Inline['position'] + $Inline['extent']); + + continue 2; + } + + # the marker does not belong to an inline + + $unmarkedText = substr($text, 0, $markerPosition + 1); + + $markup .= $this->unmarkedText($unmarkedText); + + $text = substr($text, $markerPosition + 1); + } + + $markup .= $this->unmarkedText($text); + + return $markup; + } + + # + # ~ + # + + protected function inlineCode($Excerpt) + { + $marker = $Excerpt['text'][0]; + + if (preg_match('/^('.$marker.'+)[ ]*(.+?)[ ]*(? strlen($matches[0]), + 'element' => array( + 'name' => 'code', + 'text' => $text, + ), + ); + } + } + + protected function inlineEmailTag($Excerpt) + { + if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<((mailto:)?\S+?@\S+?)>/i', $Excerpt['text'], $matches)) + { + $url = $matches[1]; + + if ( ! isset($matches[2])) + { + $url = 'mailto:' . $url; + } + + return array( + 'extent' => strlen($matches[0]), + 'element' => array( + 'name' => 'a', + 'text' => $matches[1], + 'attributes' => array( + 'href' => $url, + ), + ), + ); + } + } + + protected function inlineEmphasis($Excerpt) + { + if ( ! isset($Excerpt['text'][1])) + { + return; + } + + $marker = $Excerpt['text'][0]; + + if ($Excerpt['text'][1] === $marker and preg_match($this->StrongRegex[$marker], $Excerpt['text'], $matches)) + { + $emphasis = 'strong'; + } + elseif (preg_match($this->EmRegex[$marker], $Excerpt['text'], $matches)) + { + $emphasis = 'em'; + } + else + { + return; + } + + return array( + 'extent' => strlen($matches[0]), + 'element' => array( + 'name' => $emphasis, + 'handler' => 'line', + 'text' => $matches[1], + ), + ); + } + + protected function inlineEscapeSequence($Excerpt) + { + if (isset($Excerpt['text'][1]) and in_array($Excerpt['text'][1], $this->specialCharacters)) + { + return array( + 'markup' => $Excerpt['text'][1], + 'extent' => 2, + ); + } + } + + protected function inlineImage($Excerpt) + { + if ( ! isset($Excerpt['text'][1]) or $Excerpt['text'][1] !== '[') + { + return; + } + + $Excerpt['text']= substr($Excerpt['text'], 1); + + $Link = $this->inlineLink($Excerpt); + + if ($Link === null) + { + return; + } + + $Inline = array( + 'extent' => $Link['extent'] + 1, + 'element' => array( + 'name' => 'img', + 'attributes' => array( + 'src' => $Link['element']['attributes']['href'], + 'alt' => $Link['element']['text'], + ), + ), + ); + + $Inline['element']['attributes'] += $Link['element']['attributes']; + + unset($Inline['element']['attributes']['href']); + + return $Inline; + } + + protected function inlineLink($Excerpt) + { + $Element = array( + 'name' => 'a', + 'handler' => 'line', + 'text' => null, + 'attributes' => array( + 'href' => null, + 'title' => null, + ), + ); + + $extent = 0; + + $remainder = $Excerpt['text']; + + if (preg_match('/\[((?:[^][]|(?R))*)\]/', $remainder, $matches)) + { + $Element['text'] = $matches[1]; + + $extent += strlen($matches[0]); + + $remainder = substr($remainder, $extent); + } + else + { + return; + } + + if (preg_match('/^[(]((?:[^ ()]|[(][^ )]+[)])+)(?:[ ]+("[^"]*"|\'[^\']*\'))?[)]/', $remainder, $matches)) + { + $Element['attributes']['href'] = $matches[1]; + + if (isset($matches[2])) + { + $Element['attributes']['title'] = substr($matches[2], 1, - 1); + } + + $extent += strlen($matches[0]); + } + else + { + if (preg_match('/^\s*\[(.*?)\]/', $remainder, $matches)) + { + $definition = strlen($matches[1]) ? $matches[1] : $Element['text']; + $definition = strtolower($definition); + + $extent += strlen($matches[0]); + } + else + { + $definition = strtolower($Element['text']); + } + + if ( ! isset($this->DefinitionData['Reference'][$definition])) + { + return; + } + + $Definition = $this->DefinitionData['Reference'][$definition]; + + $Element['attributes']['href'] = $Definition['url']; + $Element['attributes']['title'] = $Definition['title']; + } + + $Element['attributes']['href'] = str_replace(array('&', '<'), array('&', '<'), $Element['attributes']['href']); + + return array( + 'extent' => $extent, + 'element' => $Element, + ); + } + + protected function inlineMarkup($Excerpt) + { + if ($this->markupEscaped or strpos($Excerpt['text'], '>') === false) + { + return; + } + + if ($Excerpt['text'][1] === '/' and preg_match('/^<\/\w*[ ]*>/s', $Excerpt['text'], $matches)) + { + return array( + 'markup' => $matches[0], + 'extent' => strlen($matches[0]), + ); + } + + if ($Excerpt['text'][1] === '!' and preg_match('/^/s', $Excerpt['text'], $matches)) + { + return array( + 'markup' => $matches[0], + 'extent' => strlen($matches[0]), + ); + } + + if ($Excerpt['text'][1] !== ' ' and preg_match('/^<\w*(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*\/?>/s', $Excerpt['text'], $matches)) + { + return array( + 'markup' => $matches[0], + 'extent' => strlen($matches[0]), + ); + } + } + + protected function inlineSpecialCharacter($Excerpt) + { + if ($Excerpt['text'][0] === '&' and ! preg_match('/^&#?\w+;/', $Excerpt['text'])) + { + return array( + 'markup' => '&', + 'extent' => 1, + ); + } + + $SpecialCharacter = array('>' => 'gt', '<' => 'lt', '"' => 'quot'); + + if (isset($SpecialCharacter[$Excerpt['text'][0]])) + { + return array( + 'markup' => '&'.$SpecialCharacter[$Excerpt['text'][0]].';', + 'extent' => 1, + ); + } + } + + protected function inlineStrikethrough($Excerpt) + { + if ( ! isset($Excerpt['text'][1])) + { + return; + } + + if ($Excerpt['text'][1] === '~' and preg_match('/^~~(?=\S)(.+?)(?<=\S)~~/', $Excerpt['text'], $matches)) + { + return array( + 'extent' => strlen($matches[0]), + 'element' => array( + 'name' => 'del', + 'text' => $matches[1], + 'handler' => 'line', + ), + ); + } + } + + protected function inlineUrl($Excerpt) + { + if ($this->urlsLinked !== true or ! isset($Excerpt['text'][2]) or $Excerpt['text'][2] !== '/') + { + return; + } + + if (preg_match('/\bhttps?:[\/]{2}[^\s<]+\b\/*/ui', $Excerpt['context'], $matches, PREG_OFFSET_CAPTURE)) + { + $Inline = array( + 'extent' => strlen($matches[0][0]), + 'position' => $matches[0][1], + 'element' => array( + 'name' => 'a', + 'text' => $matches[0][0], + 'attributes' => array( + 'href' => $matches[0][0], + ), + ), + ); + + return $Inline; + } + } + + protected function inlineUrlTag($Excerpt) + { + if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<(\w+:\/{2}[^ >]+)>/i', $Excerpt['text'], $matches)) + { + $url = str_replace(array('&', '<'), array('&', '<'), $matches[1]); + + return array( + 'extent' => strlen($matches[0]), + 'element' => array( + 'name' => 'a', + 'text' => $url, + 'attributes' => array( + 'href' => $url, + ), + ), + ); + } + } + + # ~ + + protected function unmarkedText($text) + { + if ($this->breaksEnabled) + { + $text = preg_replace('/[ ]*\n/', "
    \n", $text); + } + else + { + $text = preg_replace('/(?:[ ][ ]+|[ ]*\\\\)\n/', "
    \n", $text); + $text = str_replace(" \n", "\n", $text); + } + + return $text; + } + + # + # Handlers + # + + protected function element(array $Element) + { + $markup = '<'.$Element['name']; + + if (isset($Element['attributes'])) + { + foreach ($Element['attributes'] as $name => $value) + { + if ($value === null) + { + continue; + } + + $markup .= ' '.$name.'="'.$value.'"'; + } + } + + if (isset($Element['text'])) + { + $markup .= '>'; + + if (isset($Element['handler'])) + { + $markup .= $this->{$Element['handler']}($Element['text']); + } + else + { + $markup .= $Element['text']; + } + + $markup .= ''; + } + else + { + $markup .= ' />'; + } + + return $markup; + } + + protected function elements(array $Elements) + { + $markup = ''; + + foreach ($Elements as $Element) + { + $markup .= "\n" . $this->element($Element); + } + + $markup .= "\n"; + + return $markup; + } + + # ~ + + protected function li($lines) + { + $markup = $this->lines($lines); + + $trimmedMarkup = trim($markup); + + if ( ! in_array('', $lines) and substr($trimmedMarkup, 0, 3) === '

    ') + { + $markup = $trimmedMarkup; + $markup = substr($markup, 3); + + $position = strpos($markup, "

    "); + + $markup = substr_replace($markup, '', $position, 4); + } + + return $markup; + } + + # + # Deprecated Methods + # + + function parse($text) + { + $markup = $this->text($text); + + return $markup; + } + + # + # Static Methods + # + + static function instance($name = 'default') + { + if (isset(self::$instances[$name])) + { + return self::$instances[$name]; + } + + $instance = new static(); + + self::$instances[$name] = $instance; + + return $instance; + } + + private static $instances = array(); + + # + # Fields + # + + protected $DefinitionData; + + # + # Read-Only + + protected $specialCharacters = array( + '\\', '`', '*', '_', '{', '}', '[', ']', '(', ')', '>', '#', '+', '-', '.', '!', '|', + ); + + protected $StrongRegex = array( + '*' => '/^[*]{2}((?:\\\\\*|[^*]|[*][^*]*[*])+?)[*]{2}(?![*])/s', + '_' => '/^__((?:\\\\_|[^_]|_[^_]*_)+?)__(?!_)/us', + ); + + protected $EmRegex = array( + '*' => '/^[*]((?:\\\\\*|[^*]|[*][*][^*]+?[*][*])+?)[*](?![*])/s', + '_' => '/^_((?:\\\\_|[^_]|__[^_]*__)+?)_(?!_)\b/us', + ); + + protected $regexHtmlAttribute = '[a-zA-Z_:][\w:.-]*(?:\s*=\s*(?:[^"\'=<>`\s]+|"[^"]*"|\'[^\']*\'))?'; + + protected $voidElements = array( + 'area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', + ); + + protected $textLevelElements = array( + 'a', 'br', 'bdo', 'abbr', 'blink', 'nextid', 'acronym', 'basefont', + 'b', 'em', 'big', 'cite', 'small', 'spacer', 'listing', + 'i', 'rp', 'del', 'code', 'strike', 'marquee', + 'q', 'rt', 'ins', 'font', 'strong', + 's', 'tt', 'sub', 'mark', + 'u', 'xm', 'sup', 'nobr', + 'var', 'ruby', + 'wbr', 'span', + 'time', + ); +} \ No newline at end of file diff --git a/admin/includes/plugin-update-checker/vendor/ParsedownLegacy.php b/admin/includes/plugin-update-checker/vendor/ParsedownLegacy.php new file mode 100755 index 0000000..bbc2d32 --- /dev/null +++ b/admin/includes/plugin-update-checker/vendor/ParsedownLegacy.php @@ -0,0 +1,1535 @@ +DefinitionData = array(); + + # standardize line breaks + $text = str_replace(array("\r\n", "\r"), "\n", $text); + + # remove surrounding line breaks + $text = trim($text, "\n"); + + # split text into lines + $lines = explode("\n", $text); + + # iterate through lines to identify blocks + $markup = $this->lines($lines); + + # trim line breaks + $markup = trim($markup, "\n"); + + return $markup; + } + + # + # Setters + # + + function setBreaksEnabled($breaksEnabled) + { + $this->breaksEnabled = $breaksEnabled; + + return $this; + } + + protected $breaksEnabled; + + function setMarkupEscaped($markupEscaped) + { + $this->markupEscaped = $markupEscaped; + + return $this; + } + + protected $markupEscaped; + + function setUrlsLinked($urlsLinked) + { + $this->urlsLinked = $urlsLinked; + + return $this; + } + + protected $urlsLinked = true; + + # + # Lines + # + + protected $BlockTypes = array( + '#' => array('Header'), + '*' => array('Rule', 'List'), + '+' => array('List'), + '-' => array('SetextHeader', 'Table', 'Rule', 'List'), + '0' => array('List'), + '1' => array('List'), + '2' => array('List'), + '3' => array('List'), + '4' => array('List'), + '5' => array('List'), + '6' => array('List'), + '7' => array('List'), + '8' => array('List'), + '9' => array('List'), + ':' => array('Table'), + '<' => array('Comment', 'Markup'), + '=' => array('SetextHeader'), + '>' => array('Quote'), + '[' => array('Reference'), + '_' => array('Rule'), + '`' => array('FencedCode'), + '|' => array('Table'), + '~' => array('FencedCode'), + ); + + # ~ + + protected $DefinitionTypes = array( + '[' => array('Reference'), + ); + + # ~ + + protected $unmarkedBlockTypes = array( + 'Code', + ); + + # + # Blocks + # + + private function lines(array $lines) + { + $CurrentBlock = null; + + foreach ($lines as $line) + { + if (chop($line) === '') + { + if (isset($CurrentBlock)) + { + $CurrentBlock['interrupted'] = true; + } + + continue; + } + + if (strpos($line, "\t") !== false) + { + $parts = explode("\t", $line); + + $line = $parts[0]; + + unset($parts[0]); + + foreach ($parts as $part) + { + $shortage = 4 - mb_strlen($line, 'utf-8') % 4; + + $line .= str_repeat(' ', $shortage); + $line .= $part; + } + } + + $indent = 0; + + while (isset($line[$indent]) and $line[$indent] === ' ') + { + $indent ++; + } + + $text = $indent > 0 ? substr($line, $indent) : $line; + + # ~ + + $Line = array('body' => $line, 'indent' => $indent, 'text' => $text); + + # ~ + + if (isset($CurrentBlock['incomplete'])) + { + $Block = $this->{'block'.$CurrentBlock['type'].'Continue'}($Line, $CurrentBlock); + + if (isset($Block)) + { + $CurrentBlock = $Block; + + continue; + } + else + { + if (method_exists($this, 'block'.$CurrentBlock['type'].'Complete')) + { + $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); + } + + unset($CurrentBlock['incomplete']); + } + } + + # ~ + + $marker = $text[0]; + + # ~ + + $blockTypes = $this->unmarkedBlockTypes; + + if (isset($this->BlockTypes[$marker])) + { + foreach ($this->BlockTypes[$marker] as $blockType) + { + $blockTypes []= $blockType; + } + } + + # + # ~ + + foreach ($blockTypes as $blockType) + { + $Block = $this->{'block'.$blockType}($Line, $CurrentBlock); + + if (isset($Block)) + { + $Block['type'] = $blockType; + + if ( ! isset($Block['identified'])) + { + $Blocks []= $CurrentBlock; + + $Block['identified'] = true; + } + + if (method_exists($this, 'block'.$blockType.'Continue')) + { + $Block['incomplete'] = true; + } + + $CurrentBlock = $Block; + + continue 2; + } + } + + # ~ + + if (isset($CurrentBlock) and ! isset($CurrentBlock['type']) and ! isset($CurrentBlock['interrupted'])) + { + $CurrentBlock['element']['text'] .= "\n".$text; + } + else + { + $Blocks []= $CurrentBlock; + + $CurrentBlock = $this->paragraph($Line); + + $CurrentBlock['identified'] = true; + } + } + + # ~ + + if (isset($CurrentBlock['incomplete']) and method_exists($this, 'block'.$CurrentBlock['type'].'Complete')) + { + $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); + } + + # ~ + + $Blocks []= $CurrentBlock; + + unset($Blocks[0]); + + # ~ + + $markup = ''; + + foreach ($Blocks as $Block) + { + if (isset($Block['hidden'])) + { + continue; + } + + $markup .= "\n"; + $markup .= isset($Block['markup']) ? $Block['markup'] : $this->element($Block['element']); + } + + $markup .= "\n"; + + # ~ + + return $markup; + } + + # + # Code + + protected function blockCode($Line, $Block = null) + { + if (isset($Block) and ! isset($Block['type']) and ! isset($Block['interrupted'])) + { + return; + } + + if ($Line['indent'] >= 4) + { + $text = substr($Line['body'], 4); + + $Block = array( + 'element' => array( + 'name' => 'pre', + 'handler' => 'element', + 'text' => array( + 'name' => 'code', + 'text' => $text, + ), + ), + ); + + return $Block; + } + } + + protected function blockCodeContinue($Line, $Block) + { + if ($Line['indent'] >= 4) + { + if (isset($Block['interrupted'])) + { + $Block['element']['text']['text'] .= "\n"; + + unset($Block['interrupted']); + } + + $Block['element']['text']['text'] .= "\n"; + + $text = substr($Line['body'], 4); + + $Block['element']['text']['text'] .= $text; + + return $Block; + } + } + + protected function blockCodeComplete($Block) + { + $text = $Block['element']['text']['text']; + + $text = htmlspecialchars($text, ENT_NOQUOTES, 'UTF-8'); + + $Block['element']['text']['text'] = $text; + + return $Block; + } + + # + # Comment + + protected function blockComment($Line) + { + if ($this->markupEscaped) + { + return; + } + + if (isset($Line['text'][3]) and $Line['text'][3] === '-' and $Line['text'][2] === '-' and $Line['text'][1] === '!') + { + $Block = array( + 'markup' => $Line['body'], + ); + + if (preg_match('/-->$/', $Line['text'])) + { + $Block['closed'] = true; + } + + return $Block; + } + } + + protected function blockCommentContinue($Line, array $Block) + { + if (isset($Block['closed'])) + { + return; + } + + $Block['markup'] .= "\n" . $Line['body']; + + if (preg_match('/-->$/', $Line['text'])) + { + $Block['closed'] = true; + } + + return $Block; + } + + # + # Fenced Code + + protected function blockFencedCode($Line) + { + if (preg_match('/^(['.$Line['text'][0].']{3,})[ ]*([\w-]+)?[ ]*$/', $Line['text'], $matches)) + { + $Element = array( + 'name' => 'code', + 'text' => '', + ); + + if (isset($matches[2])) + { + $class = 'language-'.$matches[2]; + + $Element['attributes'] = array( + 'class' => $class, + ); + } + + $Block = array( + 'char' => $Line['text'][0], + 'element' => array( + 'name' => 'pre', + 'handler' => 'element', + 'text' => $Element, + ), + ); + + return $Block; + } + } + + protected function blockFencedCodeContinue($Line, $Block) + { + if (isset($Block['complete'])) + { + return; + } + + if (isset($Block['interrupted'])) + { + $Block['element']['text']['text'] .= "\n"; + + unset($Block['interrupted']); + } + + if (preg_match('/^'.$Block['char'].'{3,}[ ]*$/', $Line['text'])) + { + $Block['element']['text']['text'] = substr($Block['element']['text']['text'], 1); + + $Block['complete'] = true; + + return $Block; + } + + $Block['element']['text']['text'] .= "\n".$Line['body'];; + + return $Block; + } + + protected function blockFencedCodeComplete($Block) + { + $text = $Block['element']['text']['text']; + + $text = htmlspecialchars($text, ENT_NOQUOTES, 'UTF-8'); + + $Block['element']['text']['text'] = $text; + + return $Block; + } + + # + # Header + + protected function blockHeader($Line) + { + if (isset($Line['text'][1])) + { + $level = 1; + + while (isset($Line['text'][$level]) and $Line['text'][$level] === '#') + { + $level ++; + } + + if ($level > 6) + { + return; + } + + $text = trim($Line['text'], '# '); + + $Block = array( + 'element' => array( + 'name' => 'h' . min(6, $level), + 'text' => $text, + 'handler' => 'line', + ), + ); + + return $Block; + } + } + + # + # List + + protected function blockList($Line) + { + list($name, $pattern) = $Line['text'][0] <= '-' ? array('ul', '[*+-]') : array('ol', '[0-9]+[.]'); + + if (preg_match('/^('.$pattern.'[ ]+)(.*)/', $Line['text'], $matches)) + { + $Block = array( + 'indent' => $Line['indent'], + 'pattern' => $pattern, + 'element' => array( + 'name' => $name, + 'handler' => 'elements', + ), + ); + + $Block['li'] = array( + 'name' => 'li', + 'handler' => 'li', + 'text' => array( + $matches[2], + ), + ); + + $Block['element']['text'] []= & $Block['li']; + + return $Block; + } + } + + protected function blockListContinue($Line, array $Block) + { + if ($Block['indent'] === $Line['indent'] and preg_match('/^'.$Block['pattern'].'(?:[ ]+(.*)|$)/', $Line['text'], $matches)) + { + if (isset($Block['interrupted'])) + { + $Block['li']['text'] []= ''; + + unset($Block['interrupted']); + } + + unset($Block['li']); + + $text = isset($matches[1]) ? $matches[1] : ''; + + $Block['li'] = array( + 'name' => 'li', + 'handler' => 'li', + 'text' => array( + $text, + ), + ); + + $Block['element']['text'] []= & $Block['li']; + + return $Block; + } + + if ($Line['text'][0] === '[' and $this->blockReference($Line)) + { + return $Block; + } + + if ( ! isset($Block['interrupted'])) + { + $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); + + $Block['li']['text'] []= $text; + + return $Block; + } + + if ($Line['indent'] > 0) + { + $Block['li']['text'] []= ''; + + $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); + + $Block['li']['text'] []= $text; + + unset($Block['interrupted']); + + return $Block; + } + } + + # + # Quote + + protected function blockQuote($Line) + { + if (preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) + { + $Block = array( + 'element' => array( + 'name' => 'blockquote', + 'handler' => 'lines', + 'text' => (array) $matches[1], + ), + ); + + return $Block; + } + } + + protected function blockQuoteContinue($Line, array $Block) + { + if ($Line['text'][0] === '>' and preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) + { + if (isset($Block['interrupted'])) + { + $Block['element']['text'] []= ''; + + unset($Block['interrupted']); + } + + $Block['element']['text'] []= $matches[1]; + + return $Block; + } + + if ( ! isset($Block['interrupted'])) + { + $Block['element']['text'] []= $Line['text']; + + return $Block; + } + } + + # + # Rule + + protected function blockRule($Line) + { + if (preg_match('/^(['.$Line['text'][0].'])([ ]*\1){2,}[ ]*$/', $Line['text'])) + { + $Block = array( + 'element' => array( + 'name' => 'hr' + ), + ); + + return $Block; + } + } + + # + # Setext + + protected function blockSetextHeader($Line, array $Block = null) + { + if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) + { + return; + } + + if (chop($Line['text'], $Line['text'][0]) === '') + { + $Block['element']['name'] = $Line['text'][0] === '=' ? 'h1' : 'h2'; + + return $Block; + } + } + + # + # Markup + + protected function blockMarkup($Line) + { + if ($this->markupEscaped) + { + return; + } + + if (preg_match('/^<(\w*)(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*(\/)?>/', $Line['text'], $matches)) + { + if (in_array($matches[1], $this->textLevelElements)) + { + return; + } + + $Block = array( + 'name' => $matches[1], + 'depth' => 0, + 'markup' => $Line['text'], + ); + + $length = strlen($matches[0]); + + $remainder = substr($Line['text'], $length); + + if (trim($remainder) === '') + { + if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) + { + $Block['closed'] = true; + + $Block['void'] = true; + } + } + else + { + if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) + { + return; + } + + if (preg_match('/<\/'.$matches[1].'>[ ]*$/i', $remainder)) + { + $Block['closed'] = true; + } + } + + return $Block; + } + } + + protected function blockMarkupContinue($Line, array $Block) + { + if (isset($Block['closed'])) + { + return; + } + + if (preg_match('/^<'.$Block['name'].'(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*>/i', $Line['text'])) # open + { + $Block['depth'] ++; + } + + if (preg_match('/(.*?)<\/'.$Block['name'].'>[ ]*$/i', $Line['text'], $matches)) # close + { + if ($Block['depth'] > 0) + { + $Block['depth'] --; + } + else + { + $Block['closed'] = true; + } + + $Block['markup'] .= $matches[1]; + } + + if (isset($Block['interrupted'])) + { + $Block['markup'] .= "\n"; + + unset($Block['interrupted']); + } + + $Block['markup'] .= "\n".$Line['body']; + + return $Block; + } + + # + # Reference + + protected function blockReference($Line) + { + if (preg_match('/^\[(.+?)\]:[ ]*?(?:[ ]+["\'(](.+)["\')])?[ ]*$/', $Line['text'], $matches)) + { + $id = strtolower($matches[1]); + + $Data = array( + 'url' => $matches[2], + 'title' => null, + ); + + if (isset($matches[3])) + { + $Data['title'] = $matches[3]; + } + + $this->DefinitionData['Reference'][$id] = $Data; + + $Block = array( + 'hidden' => true, + ); + + return $Block; + } + } + + # + # Table + + protected function blockTable($Line, array $Block = null) + { + if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) + { + return; + } + + if (strpos($Block['element']['text'], '|') !== false and chop($Line['text'], ' -:|') === '') + { + $alignments = array(); + + $divider = $Line['text']; + + $divider = trim($divider); + $divider = trim($divider, '|'); + + $dividerCells = explode('|', $divider); + + foreach ($dividerCells as $dividerCell) + { + $dividerCell = trim($dividerCell); + + if ($dividerCell === '') + { + continue; + } + + $alignment = null; + + if ($dividerCell[0] === ':') + { + $alignment = 'left'; + } + + if (substr($dividerCell, - 1) === ':') + { + $alignment = $alignment === 'left' ? 'center' : 'right'; + } + + $alignments []= $alignment; + } + + # ~ + + $HeaderElements = array(); + + $header = $Block['element']['text']; + + $header = trim($header); + $header = trim($header, '|'); + + $headerCells = explode('|', $header); + + foreach ($headerCells as $index => $headerCell) + { + $headerCell = trim($headerCell); + + $HeaderElement = array( + 'name' => 'th', + 'text' => $headerCell, + 'handler' => 'line', + ); + + if (isset($alignments[$index])) + { + $alignment = $alignments[$index]; + + $HeaderElement['attributes'] = array( + 'style' => 'text-align: '.$alignment.';', + ); + } + + $HeaderElements []= $HeaderElement; + } + + # ~ + + $Block = array( + 'alignments' => $alignments, + 'identified' => true, + 'element' => array( + 'name' => 'table', + 'handler' => 'elements', + ), + ); + + $Block['element']['text'] []= array( + 'name' => 'thead', + 'handler' => 'elements', + ); + + $Block['element']['text'] []= array( + 'name' => 'tbody', + 'handler' => 'elements', + 'text' => array(), + ); + + $Block['element']['text'][0]['text'] []= array( + 'name' => 'tr', + 'handler' => 'elements', + 'text' => $HeaderElements, + ); + + return $Block; + } + } + + protected function blockTableContinue($Line, array $Block) + { + if (isset($Block['interrupted'])) + { + return; + } + + if ($Line['text'][0] === '|' or strpos($Line['text'], '|')) + { + $Elements = array(); + + $row = $Line['text']; + + $row = trim($row); + $row = trim($row, '|'); + + preg_match_all('/(?:(\\\\[|])|[^|`]|`[^`]+`|`)+/', $row, $matches); + + foreach ($matches[0] as $index => $cell) + { + $cell = trim($cell); + + $Element = array( + 'name' => 'td', + 'handler' => 'line', + 'text' => $cell, + ); + + if (isset($Block['alignments'][$index])) + { + $Element['attributes'] = array( + 'style' => 'text-align: '.$Block['alignments'][$index].';', + ); + } + + $Elements []= $Element; + } + + $Element = array( + 'name' => 'tr', + 'handler' => 'elements', + 'text' => $Elements, + ); + + $Block['element']['text'][1]['text'] []= $Element; + + return $Block; + } + } + + # + # ~ + # + + protected function paragraph($Line) + { + $Block = array( + 'element' => array( + 'name' => 'p', + 'text' => $Line['text'], + 'handler' => 'line', + ), + ); + + return $Block; + } + + # + # Inline Elements + # + + protected $InlineTypes = array( + '"' => array('SpecialCharacter'), + '!' => array('Image'), + '&' => array('SpecialCharacter'), + '*' => array('Emphasis'), + ':' => array('Url'), + '<' => array('UrlTag', 'EmailTag', 'Markup', 'SpecialCharacter'), + '>' => array('SpecialCharacter'), + '[' => array('Link'), + '_' => array('Emphasis'), + '`' => array('Code'), + '~' => array('Strikethrough'), + '\\' => array('EscapeSequence'), + ); + + # ~ + + protected $inlineMarkerList = '!"*_&[:<>`~\\'; + + # + # ~ + # + + public function line($text) + { + $markup = ''; + + $unexaminedText = $text; + + $markerPosition = 0; + + while ($excerpt = strpbrk($unexaminedText, $this->inlineMarkerList)) + { + $marker = $excerpt[0]; + + $markerPosition += strpos($unexaminedText, $marker); + + $Excerpt = array('text' => $excerpt, 'context' => $text); + + foreach ($this->InlineTypes[$marker] as $inlineType) + { + $Inline = $this->{'inline'.$inlineType}($Excerpt); + + if ( ! isset($Inline)) + { + continue; + } + + if (isset($Inline['position']) and $Inline['position'] > $markerPosition) # position is ahead of marker + { + continue; + } + + if ( ! isset($Inline['position'])) + { + $Inline['position'] = $markerPosition; + } + + $unmarkedText = substr($text, 0, $Inline['position']); + + $markup .= $this->unmarkedText($unmarkedText); + + $markup .= isset($Inline['markup']) ? $Inline['markup'] : $this->element($Inline['element']); + + $text = substr($text, $Inline['position'] + $Inline['extent']); + + $unexaminedText = $text; + + $markerPosition = 0; + + continue 2; + } + + $unexaminedText = substr($excerpt, 1); + + $markerPosition ++; + } + + $markup .= $this->unmarkedText($text); + + return $markup; + } + + # + # ~ + # + + protected function inlineCode($Excerpt) + { + $marker = $Excerpt['text'][0]; + + if (preg_match('/^('.$marker.'+)[ ]*(.+?)[ ]*(? strlen($matches[0]), + 'element' => array( + 'name' => 'code', + 'text' => $text, + ), + ); + } + } + + protected function inlineEmailTag($Excerpt) + { + if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<((mailto:)?\S+?@\S+?)>/i', $Excerpt['text'], $matches)) + { + $url = $matches[1]; + + if ( ! isset($matches[2])) + { + $url = 'mailto:' . $url; + } + + return array( + 'extent' => strlen($matches[0]), + 'element' => array( + 'name' => 'a', + 'text' => $matches[1], + 'attributes' => array( + 'href' => $url, + ), + ), + ); + } + } + + protected function inlineEmphasis($Excerpt) + { + if ( ! isset($Excerpt['text'][1])) + { + return; + } + + $marker = $Excerpt['text'][0]; + + if ($Excerpt['text'][1] === $marker and preg_match($this->StrongRegex[$marker], $Excerpt['text'], $matches)) + { + $emphasis = 'strong'; + } + elseif (preg_match($this->EmRegex[$marker], $Excerpt['text'], $matches)) + { + $emphasis = 'em'; + } + else + { + return; + } + + return array( + 'extent' => strlen($matches[0]), + 'element' => array( + 'name' => $emphasis, + 'handler' => 'line', + 'text' => $matches[1], + ), + ); + } + + protected function inlineEscapeSequence($Excerpt) + { + if (isset($Excerpt['text'][1]) and in_array($Excerpt['text'][1], $this->specialCharacters)) + { + return array( + 'markup' => $Excerpt['text'][1], + 'extent' => 2, + ); + } + } + + protected function inlineImage($Excerpt) + { + if ( ! isset($Excerpt['text'][1]) or $Excerpt['text'][1] !== '[') + { + return; + } + + $Excerpt['text']= substr($Excerpt['text'], 1); + + $Link = $this->inlineLink($Excerpt); + + if ($Link === null) + { + return; + } + + $Inline = array( + 'extent' => $Link['extent'] + 1, + 'element' => array( + 'name' => 'img', + 'attributes' => array( + 'src' => $Link['element']['attributes']['href'], + 'alt' => $Link['element']['text'], + ), + ), + ); + + $Inline['element']['attributes'] += $Link['element']['attributes']; + + unset($Inline['element']['attributes']['href']); + + return $Inline; + } + + protected function inlineLink($Excerpt) + { + $Element = array( + 'name' => 'a', + 'handler' => 'line', + 'text' => null, + 'attributes' => array( + 'href' => null, + 'title' => null, + ), + ); + + $extent = 0; + + $remainder = $Excerpt['text']; + + if (preg_match('/\[((?:[^][]|(?R))*)\]/', $remainder, $matches)) + { + $Element['text'] = $matches[1]; + + $extent += strlen($matches[0]); + + $remainder = substr($remainder, $extent); + } + else + { + return; + } + + if (preg_match('/^[(]((?:[^ (]|[(][^ )]+[)])+)(?:[ ]+("[^"]+"|\'[^\']+\'))?[)]/', $remainder, $matches)) + { + $Element['attributes']['href'] = $matches[1]; + + if (isset($matches[2])) + { + $Element['attributes']['title'] = substr($matches[2], 1, - 1); + } + + $extent += strlen($matches[0]); + } + else + { + if (preg_match('/^\s*\[(.*?)\]/', $remainder, $matches)) + { + $definition = $matches[1] ? $matches[1] : $Element['text']; + $definition = strtolower($definition); + + $extent += strlen($matches[0]); + } + else + { + $definition = strtolower($Element['text']); + } + + if ( ! isset($this->DefinitionData['Reference'][$definition])) + { + return; + } + + $Definition = $this->DefinitionData['Reference'][$definition]; + + $Element['attributes']['href'] = $Definition['url']; + $Element['attributes']['title'] = $Definition['title']; + } + + $Element['attributes']['href'] = str_replace(array('&', '<'), array('&', '<'), $Element['attributes']['href']); + + return array( + 'extent' => $extent, + 'element' => $Element, + ); + } + + protected function inlineMarkup($Excerpt) + { + if ($this->markupEscaped or strpos($Excerpt['text'], '>') === false) + { + return; + } + + if ($Excerpt['text'][1] === '/' and preg_match('/^<\/\w*[ ]*>/s', $Excerpt['text'], $matches)) + { + return array( + 'markup' => $matches[0], + 'extent' => strlen($matches[0]), + ); + } + + if ($Excerpt['text'][1] === '!' and preg_match('/^/s', $Excerpt['text'], $matches)) + { + return array( + 'markup' => $matches[0], + 'extent' => strlen($matches[0]), + ); + } + + if ($Excerpt['text'][1] !== ' ' and preg_match('/^<\w*(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*\/?>/s', $Excerpt['text'], $matches)) + { + return array( + 'markup' => $matches[0], + 'extent' => strlen($matches[0]), + ); + } + } + + protected function inlineSpecialCharacter($Excerpt) + { + if ($Excerpt['text'][0] === '&' and ! preg_match('/^&#?\w+;/', $Excerpt['text'])) + { + return array( + 'markup' => '&', + 'extent' => 1, + ); + } + + $SpecialCharacter = array('>' => 'gt', '<' => 'lt', '"' => 'quot'); + + if (isset($SpecialCharacter[$Excerpt['text'][0]])) + { + return array( + 'markup' => '&'.$SpecialCharacter[$Excerpt['text'][0]].';', + 'extent' => 1, + ); + } + } + + protected function inlineStrikethrough($Excerpt) + { + if ( ! isset($Excerpt['text'][1])) + { + return; + } + + if ($Excerpt['text'][1] === '~' and preg_match('/^~~(?=\S)(.+?)(?<=\S)~~/', $Excerpt['text'], $matches)) + { + return array( + 'extent' => strlen($matches[0]), + 'element' => array( + 'name' => 'del', + 'text' => $matches[1], + 'handler' => 'line', + ), + ); + } + } + + protected function inlineUrl($Excerpt) + { + if ($this->urlsLinked !== true or ! isset($Excerpt['text'][2]) or $Excerpt['text'][2] !== '/') + { + return; + } + + if (preg_match('/\bhttps?:[\/]{2}[^\s<]+\b\/*/ui', $Excerpt['context'], $matches, PREG_OFFSET_CAPTURE)) + { + $Inline = array( + 'extent' => strlen($matches[0][0]), + 'position' => $matches[0][1], + 'element' => array( + 'name' => 'a', + 'text' => $matches[0][0], + 'attributes' => array( + 'href' => $matches[0][0], + ), + ), + ); + + return $Inline; + } + } + + protected function inlineUrlTag($Excerpt) + { + if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<(\w+:\/{2}[^ >]+)>/i', $Excerpt['text'], $matches)) + { + $url = str_replace(array('&', '<'), array('&', '<'), $matches[1]); + + return array( + 'extent' => strlen($matches[0]), + 'element' => array( + 'name' => 'a', + 'text' => $url, + 'attributes' => array( + 'href' => $url, + ), + ), + ); + } + } + + # + # ~ + + protected $unmarkedInlineTypes = array("\n" => 'Break', '://' => 'Url'); + + # ~ + + protected function unmarkedText($text) + { + if ($this->breaksEnabled) + { + $text = preg_replace('/[ ]*\n/', "
    \n", $text); + } + else + { + $text = preg_replace('/(?:[ ][ ]+|[ ]*\\\\)\n/', "
    \n", $text); + $text = str_replace(" \n", "\n", $text); + } + + return $text; + } + + # + # Handlers + # + + protected function element(array $Element) + { + $markup = '<'.$Element['name']; + + if (isset($Element['attributes'])) + { + foreach ($Element['attributes'] as $name => $value) + { + if ($value === null) + { + continue; + } + + $markup .= ' '.$name.'="'.$value.'"'; + } + } + + if (isset($Element['text'])) + { + $markup .= '>'; + + if (isset($Element['handler'])) + { + $markup .= $this->{$Element['handler']}($Element['text']); + } + else + { + $markup .= $Element['text']; + } + + $markup .= ''; + } + else + { + $markup .= ' />'; + } + + return $markup; + } + + protected function elements(array $Elements) + { + $markup = ''; + + foreach ($Elements as $Element) + { + $markup .= "\n" . $this->element($Element); + } + + $markup .= "\n"; + + return $markup; + } + + # ~ + + protected function li($lines) + { + $markup = $this->lines($lines); + + $trimmedMarkup = trim($markup); + + if ( ! in_array('', $lines) and substr($trimmedMarkup, 0, 3) === '

    ') + { + $markup = $trimmedMarkup; + $markup = substr($markup, 3); + + $position = strpos($markup, "

    "); + + $markup = substr_replace($markup, '', $position, 4); + } + + return $markup; + } + + # + # Deprecated Methods + # + + function parse($text) + { + $markup = $this->text($text); + + return $markup; + } + + # + # Static Methods + # + + static function instance($name = 'default') + { + if (isset(self::$instances[$name])) + { + return self::$instances[$name]; + } + + $instance = new self(); + + self::$instances[$name] = $instance; + + return $instance; + } + + private static $instances = array(); + + # + # Fields + # + + protected $DefinitionData; + + # + # Read-Only + + protected $specialCharacters = array( + '\\', '`', '*', '_', '{', '}', '[', ']', '(', ')', '>', '#', '+', '-', '.', '!', '|', + ); + + protected $StrongRegex = array( + '*' => '/^[*]{2}((?:\\\\\*|[^*]|[*][^*]*[*])+?)[*]{2}(?![*])/s', + '_' => '/^__((?:\\\\_|[^_]|_[^_]*_)+?)__(?!_)/us', + ); + + protected $EmRegex = array( + '*' => '/^[*]((?:\\\\\*|[^*]|[*][*][^*]+?[*][*])+?)[*](?![*])/s', + '_' => '/^_((?:\\\\_|[^_]|__[^_]*__)+?)_(?!_)\b/us', + ); + + protected $regexHtmlAttribute = '[a-zA-Z_:][\w:.-]*(?:\s*=\s*(?:[^"\'=<>`\s]+|"[^"]*"|\'[^\']*\'))?'; + + protected $voidElements = array( + 'area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', + ); + + protected $textLevelElements = array( + 'a', 'br', 'bdo', 'abbr', 'blink', 'nextid', 'acronym', 'basefont', + 'b', 'em', 'big', 'cite', 'small', 'spacer', 'listing', + 'i', 'rp', 'del', 'code', 'strike', 'marquee', + 'q', 'rt', 'ins', 'font', 'strong', + 's', 'tt', 'sub', 'mark', + 'u', 'xm', 'sup', 'nobr', + 'var', 'ruby', + 'wbr', 'span', + 'time', + ); +} diff --git a/admin/includes/plugin-update-checker/vendor/readme-parser.php b/admin/includes/plugin-update-checker/vendor/readme-parser.php new file mode 100755 index 0000000..ea24751 --- /dev/null +++ b/admin/includes/plugin-update-checker/vendor/readme-parser.php @@ -0,0 +1,341 @@ +parse_readme_contents( $file_contents ); + } + + function parse_readme_contents( $file_contents ) { + $file_contents = str_replace(array("\r\n", "\r"), "\n", $file_contents); + $file_contents = trim($file_contents); + if ( 0 === strpos( $file_contents, "\xEF\xBB\xBF" ) ) + $file_contents = substr( $file_contents, 3 ); + + // Markdown transformations + $file_contents = preg_replace( "|^###([^#]+)#*?\s*?\n|im", '=$1='."\n", $file_contents ); + $file_contents = preg_replace( "|^##([^#]+)#*?\s*?\n|im", '==$1=='."\n", $file_contents ); + $file_contents = preg_replace( "|^#([^#]+)#*?\s*?\n|im", '===$1==='."\n", $file_contents ); + + // === Plugin Name === + // Must be the very first thing. + if ( !preg_match('|^===(.*)===|', $file_contents, $_name) ) + return array(); // require a name + $name = trim($_name[1], '='); + $name = $this->sanitize_text( $name ); + + $file_contents = $this->chop_string( $file_contents, $_name[0] ); + + + // Requires at least: 1.5 + if ( preg_match('|Requires at least:(.*)|i', $file_contents, $_requires_at_least) ) + $requires_at_least = $this->sanitize_text($_requires_at_least[1]); + else + $requires_at_least = NULL; + + + // Tested up to: 2.1 + if ( preg_match('|Tested up to:(.*)|i', $file_contents, $_tested_up_to) ) + $tested_up_to = $this->sanitize_text( $_tested_up_to[1] ); + else + $tested_up_to = NULL; + + + // Stable tag: 10.4-ride-the-fire-eagle-danger-day + if ( preg_match('|Stable tag:(.*)|i', $file_contents, $_stable_tag) ) + $stable_tag = $this->sanitize_text( $_stable_tag[1] ); + else + $stable_tag = NULL; // we assume trunk, but don't set it here to tell the difference between specified trunk and default trunk + + + // Tags: some tag, another tag, we like tags + if ( preg_match('|Tags:(.*)|i', $file_contents, $_tags) ) { + $tags = preg_split('|,[\s]*?|', trim($_tags[1])); + foreach ( array_keys($tags) as $t ) + $tags[$t] = $this->sanitize_text( $tags[$t] ); + } else { + $tags = array(); + } + + + // Contributors: markjaquith, mdawaffe, zefrank + $contributors = array(); + if ( preg_match('|Contributors:(.*)|i', $file_contents, $_contributors) ) { + $temp_contributors = preg_split('|,[\s]*|', trim($_contributors[1])); + foreach ( array_keys($temp_contributors) as $c ) { + $tmp_sanitized = $this->user_sanitize( $temp_contributors[$c] ); + if ( strlen(trim($tmp_sanitized)) > 0 ) + $contributors[$c] = $tmp_sanitized; + unset($tmp_sanitized); + } + } + + + // Donate Link: URL + if ( preg_match('|Donate link:(.*)|i', $file_contents, $_donate_link) ) + $donate_link = esc_url( $_donate_link[1] ); + else + $donate_link = NULL; + + + // togs, conts, etc are optional and order shouldn't matter. So we chop them only after we've grabbed their values. + foreach ( array('tags', 'contributors', 'requires_at_least', 'tested_up_to', 'stable_tag', 'donate_link') as $chop ) { + if ( $$chop ) { + $_chop = '_' . $chop; + $file_contents = $this->chop_string( $file_contents, ${$_chop}[0] ); + } + } + + $file_contents = trim($file_contents); + + + // short-description fu + if ( !preg_match('/(^(.*?))^[\s]*=+?[\s]*.+?[\s]*=+?/ms', $file_contents, $_short_description) ) + $_short_description = array( 1 => &$file_contents, 2 => &$file_contents ); + $short_desc_filtered = $this->sanitize_text( $_short_description[2] ); + $short_desc_length = strlen($short_desc_filtered); + $short_description = substr($short_desc_filtered, 0, 150); + if ( $short_desc_length > strlen($short_description) ) + $truncated = true; + else + $truncated = false; + if ( $_short_description[1] ) + $file_contents = $this->chop_string( $file_contents, $_short_description[1] ); // yes, the [1] is intentional + + // == Section == + // Break into sections + // $_sections[0] will be the title of the first section, $_sections[1] will be the content of the first section + // the array alternates from there: title2, content2, title3, content3... and so forth + $_sections = preg_split('/^[\s]*==[\s]*(.+?)[\s]*==/m', $file_contents, -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY); + + $sections = array(); + for ( $i=0; $i < count($_sections); $i +=2 ) { + $title = $this->sanitize_text( $_sections[$i] ); + if ( isset($_sections[$i+1]) ) { + $content = preg_replace('/(^[\s]*)=[\s]+(.+?)[\s]+=/m', '$1

    $2

    ', $_sections[$i+1]); + $content = $this->filter_text( $content, true ); + } else { + $content = ''; + } + $sections[str_replace(' ', '_', strtolower($title))] = array('title' => $title, 'content' => $content); + } + + + // Special sections + // This is where we nab our special sections, so we can enforce their order and treat them differently, if needed + // upgrade_notice is not a section, but parse it like it is for now + $final_sections = array(); + foreach ( array('description', 'installation', 'frequently_asked_questions', 'screenshots', 'changelog', 'change_log', 'upgrade_notice') as $special_section ) { + if ( isset($sections[$special_section]) ) { + $final_sections[$special_section] = $sections[$special_section]['content']; + unset($sections[$special_section]); + } + } + if ( isset($final_sections['change_log']) && empty($final_sections['changelog']) ) + $final_sections['changelog'] = $final_sections['change_log']; + + + $final_screenshots = array(); + if ( isset($final_sections['screenshots']) ) { + preg_match_all('|
  • (.*?)
  • |s', $final_sections['screenshots'], $screenshots, PREG_SET_ORDER); + if ( $screenshots ) { + foreach ( (array) $screenshots as $ss ) + $final_screenshots[] = $ss[1]; + } + } + + // Parse the upgrade_notice section specially: + // 1.0 => blah, 1.1 => fnord + $upgrade_notice = array(); + if ( isset($final_sections['upgrade_notice']) ) { + $split = preg_split( '#

    (.*?)

    #', $final_sections['upgrade_notice'], -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY ); + if ( count($split) >= 2 ) { + for ( $i = 0; $i < count( $split ); $i += 2 ) { + $upgrade_notice[$this->sanitize_text( $split[$i] )] = substr( $this->sanitize_text( $split[$i + 1] ), 0, 300 ); + } + } + unset( $final_sections['upgrade_notice'] ); + } + + // No description? + // No problem... we'll just fall back to the old style of description + // We'll even let you use markup this time! + $excerpt = false; + if ( !isset($final_sections['description']) ) { + $final_sections = array_merge(array('description' => $this->filter_text( $_short_description[2], true )), $final_sections); + $excerpt = true; + } + + + // dump the non-special sections into $remaining_content + // their order will be determined by their original order in the readme.txt + $remaining_content = ''; + foreach ( $sections as $s_name => $s_data ) { + $remaining_content .= "\n

    {$s_data['title']}

    \n{$s_data['content']}"; + } + $remaining_content = trim($remaining_content); + + + // All done! + // $r['tags'] and $r['contributors'] are simple arrays + // $r['sections'] is an array with named elements + $r = array( + 'name' => $name, + 'tags' => $tags, + 'requires_at_least' => $requires_at_least, + 'tested_up_to' => $tested_up_to, + 'stable_tag' => $stable_tag, + 'contributors' => $contributors, + 'donate_link' => $donate_link, + 'short_description' => $short_description, + 'screenshots' => $final_screenshots, + 'is_excerpt' => $excerpt, + 'is_truncated' => $truncated, + 'sections' => $final_sections, + 'remaining_content' => $remaining_content, + 'upgrade_notice' => $upgrade_notice + ); + + return $r; + } + + function chop_string( $string, $chop ) { // chop a "prefix" from a string: Agressive! uses strstr not 0 === strpos + if ( $_string = strstr($string, $chop) ) { + $_string = substr($_string, strlen($chop)); + return trim($_string); + } else { + return trim($string); + } + } + + function user_sanitize( $text, $strict = false ) { // whitelisted chars + if ( function_exists('user_sanitize') ) // bbPress native + return user_sanitize( $text, $strict ); + + if ( $strict ) { + $text = preg_replace('/[^a-z0-9-]/i', '', $text); + $text = preg_replace('|-+|', '-', $text); + } else { + $text = preg_replace('/[^a-z0-9_-]/i', '', $text); + } + return $text; + } + + function sanitize_text( $text ) { // not fancy + $text = strip_tags($text); + $text = esc_html($text); + $text = trim($text); + return $text; + } + + function filter_text( $text, $markdown = false ) { // fancy, Markdown + $text = trim($text); + + $text = call_user_func( array( __CLASS__, 'code_trick' ), $text, $markdown ); // A better parser than Markdown's for: backticks -> CODE + + if ( $markdown ) { // Parse markdown. + if ( !class_exists('Parsedown', false) ) { + /** @noinspection PhpIncludeInspection */ + require_once(dirname(__FILE__) . '/Parsedown' . (version_compare(PHP_VERSION, '5.3.0', '>=') ? '' : 'Legacy') . '.php'); + } + $instance = Parsedown::instance(); + $text = $instance->text($text); + } + + $allowed = array( + 'a' => array( + 'href' => array(), + 'title' => array(), + 'rel' => array()), + 'blockquote' => array('cite' => array()), + 'br' => array(), + 'p' => array(), + 'code' => array(), + 'pre' => array(), + 'em' => array(), + 'strong' => array(), + 'ul' => array(), + 'ol' => array(), + 'li' => array(), + 'h3' => array(), + 'h4' => array() + ); + + $text = balanceTags($text); + + $text = wp_kses( $text, $allowed ); + $text = trim($text); + return $text; + } + + function code_trick( $text, $markdown ) { // Don't use bbPress native function - it's incompatible with Markdown + // If doing markdown, first take any user formatted code blocks and turn them into backticks so that + // markdown will preserve things like underscores in code blocks + if ( $markdown ) + $text = preg_replace_callback("!(
    |)(.*?)(
    |)!s", array( __CLASS__,'decodeit'), $text); + + $text = str_replace(array("\r\n", "\r"), "\n", $text); + if ( !$markdown ) { + // This gets the "inline" code blocks, but can't be used with Markdown. + $text = preg_replace_callback("|(`)(.*?)`|", array( __CLASS__, 'encodeit'), $text); + // This gets the "block level" code blocks and converts them to PRE CODE + $text = preg_replace_callback("!(^|\n)`(.*?)`!s", array( __CLASS__, 'encodeit'), $text); + } else { + // Markdown can do inline code, we convert bbPress style block level code to Markdown style + $text = preg_replace_callback("!(^|\n)([ \t]*?)`(.*?)`!s", array( __CLASS__, 'indent'), $text); + } + return $text; + } + + function indent( $matches ) { + $text = $matches[3]; + $text = preg_replace('|^|m', $matches[2] . ' ', $text); + return $matches[1] . $text; + } + + function encodeit( $matches ) { + if ( function_exists('encodeit') ) // bbPress native + return encodeit( $matches ); + + $text = trim($matches[2]); + $text = htmlspecialchars($text, ENT_QUOTES); + $text = str_replace(array("\r\n", "\r"), "\n", $text); + $text = preg_replace("|\n\n\n+|", "\n\n", $text); + $text = str_replace('&lt;', '<', $text); + $text = str_replace('&gt;', '>', $text); + $text = "$text"; + if ( "`" != $matches[1] ) + $text = "
    $text
    "; + return $text; + } + + function decodeit( $matches ) { + if ( function_exists('decodeit') ) // bbPress native + return decodeit( $matches ); + + $text = $matches[2]; + $trans_table = array_flip(get_html_translation_table(HTML_ENTITIES)); + $text = strtr($text, $trans_table); + $text = str_replace('
    ', '', $text); + $text = str_replace('&', '&', $text); + $text = str_replace(''', "'", $text); + if ( '
    ' == $matches[1] )
    +			$text = "\n$text\n";
    +		return "`$text`";
    +	}
    +
    +} // end class
    +
    +endif;
    diff --git a/admin/includes/wpestores/slm-wpestores.php b/admin/includes/wpestores/slm-wpestores.php
    index eb38302..df67c8d 100755
    --- a/admin/includes/wpestores/slm-wpestores.php
    +++ b/admin/includes/wpestores/slm-wpestores.php
    @@ -67,7 +67,7 @@ function slm_estore_check_and_generate_key($retrieved_product, $payment_data, $c
         if ($retrieved_product->create_license == 1) {
             $slm_debug_logger->log_debug('Need to create a license key for this product (' . $retrieved_product->id . ')');
             $slm_key = slm_estore_create_license($retrieved_product, $payment_data, $cart_items, $item_name);
    -        $license_data = "\n" . __('Item Name: ', 'slm') . $retrieved_product->name . " - " . __('License Key: ', 'slm') . $slm_key;
    +        $license_data = "\n" . __('Item Name: ', 'softwarelicensemanager') . $retrieved_product->name . " - " . __('License Key: ', 'softwarelicensemanager') . $slm_key;
             $slm_debug_logger->log_debug('Liense data: ' . $license_data);
             $license_data = apply_filters('slm_estore_item_license_data', $license_data);
         }
    diff --git a/admin/slm-add-licenses.php b/admin/slm-add-licenses.php
    index 4cc4e36..f5ddf4f 100755
    --- a/admin/slm-add-licenses.php
    +++ b/admin/slm-add-licenses.php
    @@ -138,7 +138,7 @@ function slm_add_licenses_menu()
                 $result = $wpdb->insert($lk_table, $fields);
                 $id = $wpdb->insert_id;
                 if ($result === false) {
    -                $errors .= __('Record could not be inserted into the database!', 'slm');
    +                $errors .= __('Record could not be inserted into the database!', 'softwarelicensemanager');
                 }
             } else {
                 //Update record
    @@ -146,7 +146,7 @@ function slm_add_licenses_menu()
                 $updated = $wpdb->update($lk_table, $fields, $where);
                 if ($updated === false) {
                     //TODO - log error
    -                $errors .= __('Update of the license key table failed!', 'slm');
    +                $errors .= __('Update of the license key table failed!', 'softwarelicensemanager');
                 }
             }
     
    @@ -175,17 +175,14 @@ function slm_add_licenses_menu()
         
     
         
    -
    +
    -

    - Software License Manager +

    - You can add a new license or edit an existing one from this interface. +

    @@ -231,39 +228,39 @@ function slm_add_licenses_menu() diff --git a/admin/slm-admin-functions.php b/admin/slm-admin-functions.php index a130b40..35a3328 100755 --- a/admin/slm-admin-functions.php +++ b/admin/slm-admin-functions.php @@ -9,7 +9,7 @@ function slm_admin_tools_menu() { echo '
    '; - echo '

    slm logo Software License Manager Admin Tools

    '; + echo '

    slm logo Admin Tools

    '; echo '
    '; $slm_options = get_option('slm_plugin_options'); @@ -38,9 +38,9 @@ function slm_admin_tools_menu() ?>
    -

    +

    -
    Enter the URL where the license deactivation message will be sent to +


    diff --git a/admin/slm-admin-init.php b/admin/slm-admin-init.php index 0cafc52..69f7b9b 100755 --- a/admin/slm-admin-init.php +++ b/admin/slm-admin-init.php @@ -5,13 +5,6 @@ } -/* - * This file only gets included if "is_admin " check is true. - * Admin menu rendering code goes in this file. - */ - - -//Include menu handling files require_once SLM_ADMIN . 'slm-manage-licenses.php'; require_once SLM_ADMIN . 'slm-add-licenses.php'; require_once SLM_ADMIN . 'slm-lic-settings.php'; diff --git a/admin/slm-integration-help-page.php b/admin/slm-integration-help-page.php index acaaa32..069d64c 100755 --- a/admin/slm-integration-help-page.php +++ b/admin/slm-integration-help-page.php @@ -9,123 +9,52 @@ function slm_integration_help_menu() { ?> - slm logo License Manager Integration Help v' . SLM_VERSION . ''; - ?> - -
    -

    -
    - - The License API Query POST URL For Your Installation"; - echo '
    ' . $api_query_post_url . '
    '; - echo "The License Activation or Deactivation API secret key"; - echo '
    ' . $secret_verification_key . '
    '; - echo "The License Creation API secret key"; - echo '
    ' . $creation_secret_key . '
    '; - ?> - -
    -
    - -
    - - - -

    3rd Party Integration

    - - Integrating a 3rd party payment system or shopping cart with License Manager is easy. -

    - The integration process can be accomplished in three steps, namely: -
    -
    1. Generate POST data -
    2. Send POST data to the API POST URL -
    3. Process the returned data -

    - POST Values -
    - License Manager expects a certain set of variables to be sent to it via HTTP POST or GET. These variables are: -

    - Mandatory Variables -
    - ---------------- -
    a. secret_key - A Secret API key for authentication (you can find the secret key value in the settings menu of this plugin) -
    b. slm_action - The action being performed. The values can be slm_create_new or slm_activate or slm_deactivate -

    - Optional Variables -
    - --------------- -
    c. Customer First Name: The first name of the customer -
    d. Customer Last Name: The last name of the customer -
    e. Customer Email: The email address of the customer -
    f. Company Name: The customer's company name -
    g. Maximum Domains Allowed: The number of domains this license key can be used on -
    h. Transaction ID: A unique transaction ID to reference the transaction -

    - Return Value -
    - Upon successful processing, License Manager will return a plain text message that will have two or three lines similar to the following: -
    -
    - Success -
    License key -
    WPLICMGR4bc29fd61e471 -
    - or -
    - Error -
    Secret key is invalid -
    - - 1. The first line is an indication of success or error -
    2. The second line is the result. -
    3. The third line is additional message that resulted from the request. -

    - Sample PHP Code -
    - Below is a sample PHP code that shows how you can create a license via the API -
    - -
    - /*** Mandatory data ***/ -
    // Post URL -
    $postURL = ""; -
    // The Secret key -
    $secretKey = ""; -
    -
    /*** Optional Data ***/ -
    $firstname = "John"; -
    $lastname = "Doe"; -
    $email = "john.doe@gmail.com"; -
    -
    // prepare the data -
    $data = array (); -
    $data['secret_key'] = $secretKey; -
    $data['slm_action'] = 'slm_create_new'; -
    $data['first_name'] = $firstname; -
    $data['last_name'] = $lastname; -
    $data['email'] = $email; -
    -
    // send data to post URL -
    $ch = curl_init ($postURL); -
    curl_setopt ($ch, CURLOPT_POST, true); -
    curl_setopt ($ch, CURLOPT_POSTFIELDS, $data); -
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); -
    $returnValue = curl_exec ($ch); -
    -
    // Process the return values -
    //var_dump($returnValue); -
    - - -
    -

    Error codes and constants

    -
    +    

    License Manager Integration Help v

    + + +
    +
    +

    API Settings

    +
    + The License API Query POST URL For Your Installation"; + echo '
    '; + echo "
    The License Activation or Deactivation API secret key"; + echo '
    '; + echo "
    The License Creation API secret key"; + echo '
    '; + ?> + +
    + +
    +

    Documentation and guides: check out postman demos

    +
    + +
    +

    Error codes and constants

    +
                         const CREATE_FAILED                 = 10;
                         const CREATE_KEY_INVALID            = 100;
                         const DOMAIN_ALREADY_INACTIVE       = 80;
    @@ -151,10 +80,11 @@ function slm_integration_help_menu()
                         const REACHED_MAX_DEVICES           = 120;
                         const REACHED_MAX_DOMAINS           = 50;
                         const VERIFY_KEY_INVALID            = 90;
    -                        
    +
    +
    +
    -
    '; - echo '
    '; - } +'; - echo '

    Settings - Software License Manager

    -
    '; - echo '
    '; - slm_general_settings(); - - echo '
    '; - echo '
    '; } function slm_general_settings() { + ?> + trim($_POST["default_max_domains"]), 'default_max_devices' => trim($_POST["default_max_devices"]), 'lic_verification_secret' => trim($_POST["lic_verification_secret"]), - 'enable_auto_key_expiry' => isset($_POST['enable_auto_key_expiry']) ? '1' : '', + 'enable_auto_key__xpiry' => isset($_POST['enable_auto_key__xpiry']) ? '1' : '', 'enable_debug' => isset($_POST['enable_debug']) ? '1' : '', 'slm_woo' => isset($_POST['slm_woo']) ? '1' : '', 'slm_woo_downloads' => isset($_POST['slm_woo_downloads']) ? '1' : '', 'slm_wpestores' => isset($_POST['slm_wpestores']) ? '1' : '', 'slm_dl_manager' => isset($_POST['slm_dl_manager']) ? '1' : '', + 'expiration_reminder_text' => sanitize_text_field($_POST['expiration_reminder_text']) ); update_option('slm_plugin_options', $options); - echo '

    '; - echo 'Options Updated!'; - echo '

    '; + echo ' +
    +

    Options Updated!

    +
    '; } - $options = get_option('slm_plugin_options'); - + $options = get_option('slm_plugin_options'); $secret_key = $options['lic_creation_secret']; + if (empty($secret_key)) { //$secret_key = md5(uniqid('', true)); $secret_key = SLM_Utility::create_secret_keys(); @@ -74,123 +69,166 @@ function slm_general_settings() //$secret_verification_key = md5(uniqid('', true)); $secret_verification_key = SLM_Utility::create_secret_keys(); } + $tab = ""; //Initialization value; + if (isset($_REQUEST['tab'])) { + $tab = $_REQUEST['tab']; + } else { + $tab = 'general_settings'; + } ?> - - - - -
    -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Secret Key for License Creation -

    This secret key will be used to authenticate any license creation request. You can change it with something random.

    -
    Secret Key for License Verification Requests -

    This secret key will be used to authenticate any license verification request from customer's site. Important! Do not change this value once your customers start to use your product(s)!

    -
    License Key Prefix -

    You can optionaly specify a prefix for the license keys. This prefix will be added to the uniquely generated license keys.

    -
    Maximum Allowed Domains -

    Maximum number of domains/installs which each license is valid for (default value).

    -
    Maximum Allowed Devices -

    Maximum number of devices which each license is valid for (default value).

    -
    Auto Expire License Keys value="1" />Enable auto expiration -

    When enabled, it will automatically set the status of a license key to "Expired" when the expiry date value of the key is reached. It doesn't remotely deactivate a key. It simply changes the status of the key in your database to expired.

    -
    -
    - - -
    - -
    -

    -
    - - - - - - - - - - - - - - - - - - -
    Woocommerce Support - value="1" /> - A fully customizable, open source eCommerce platform built for WordPress. - value="1" /> - Disable woocommerce download page. Proccess downloads though license order info page.
    Download Manager Support - value="1" /> - Download Manager Plugin – Adds a simple download manager to your WordPress blog. -
    WP eStores Support - value="1" /> - WordPress eStore Plugin – Complete Solution to Sell Digital Products from Your WordPress Blog Securely - -
    -
    +
    +

    Settings - Software License Manager

    + +
    + + + + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    +
    +

    +
    +

    +
    +

    +
    +

    +
    value="1" /> + +

    +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + +
    + value="1" /> +
    + value="1" /> +
    + value="1" /> + +
    + value="1" /> + + +
    +
    +
    + +
    +
    + + + + + +
    +

    value="1" /> +

    + - .. + - . +
    +
    +
    + +
    +
    + + + + + +
    + +
    +
    +
    + +
    + +
    +
    -
    -

    -
    - - - - - - - -
    Enable Debug Logging value="1" /> -

    If checked, debug output will be written to log files (keep it disabled unless you are troubleshooting).

    - - View debug log file by clicking here.. - - Reset debug log file by clicking here. -
    -
    -
    - -
    - -
    - -%s(%s)'; @@ -55,21 +56,21 @@ function get_views() esc_url(add_query_arg('view', 'pending', $base . '&s=pending')), $current === 'pending' ? ' class="current"' : '', esc_html__('pending', 'slm'), - SLM_Utility::count_licenses( 'pending') + SLM_Utility::count_licenses('pending') ), 'expired' => sprintf( $link_html, esc_url(add_query_arg('view', 'expired', $base . '&s=expired')), $current === 'expired' ? ' class="current"' : '', esc_html__('expired', 'slm'), - SLM_Utility::count_licenses( 'expired') + SLM_Utility::count_licenses('expired') ), 'blocked' => sprintf( $link_html, esc_url(add_query_arg('view', 'blocked', $base . '&s=blocked')), $current === 'blocked' ? ' class="current"' : '', esc_html__('blocked', 'slm'), - SLM_Utility::count_licenses( 'blocked') + SLM_Utility::count_licenses('blocked') ) ); @@ -108,22 +109,20 @@ function column_default($item, $column_name) break; case 'email': - return '' . $item[$column_name] . ' '; + return '' . $item[$column_name] . ' '; break; case 'date_expiry': $now = $item[$column_name]; $date_today = time(); - if ($now != '0000-00-00'){ - if( strtotime($now) < time()) { - return ' '. $now . ' ' . ' ' . SLM_Utility::get_days_remaining($now) . ' day(s) due'; - } - else { + if ($now != '0000-00-00') { + if (strtotime($now) < time()) { + return ' ' . $now . ' ' . ' ' . SLM_Utility::get_days_remaining($now) . ' day(s) due'; + } else { return '' . $item[$column_name] . '' . ' ' . SLM_Utility::get_days_remaining($now) . ' day(s) left'; } - } - else { + } else { //return $item[$column_name]; return 'not set'; } @@ -178,7 +177,7 @@ function get_sortable_columns() 'email' => array('email', true), 'lic_type' => array('lic_type', true), 'until' => array('until', true), - 'current_ver' => array( 'current_ver', true), + 'current_ver' => array('current_ver', true), 'lic_status' => array('lic_status', true) ); @@ -255,8 +254,7 @@ function process_bulk_action() $error_msg = '

    ' . __('Error - Please select some records using the checkboxes', 'slm') . '

    '; echo '
    ' . $error_msg . '
    '; return; - } - else { + } else { $nvp_key = $this->_args['singular']; $liceses_to_activate = $_GET[$nvp_key]; @@ -292,7 +290,8 @@ function block_license_key($key_row_id) echo $success_msg; } - private function sort_data($a, $b){ + private function sort_data($a, $b) + { // Set defaults $orderby = 'id'; $order = 'desc'; @@ -311,9 +310,19 @@ private function sort_data($a, $b){ return -$result; } - function prepare_items(){ + function prepare_items() + { + + $user = get_current_user_id(); + $screen = get_current_screen(); + $option = $screen->get_option('per_page', 'option'); + + $per_page = get_user_meta($user, $option, true); + + if (empty($per_page) || $per_page < 1) { + $per_page = $screen->get_option('per_page', 'default'); + } - $per_page = 24; $columns = $this->get_columns(); $hidden = array(); $sortable = $this->get_sortable_columns(); @@ -346,7 +355,8 @@ function prepare_items(){ } } -class SLM_Plugin{ +class SLM_Plugin +{ // class instance static $instance; @@ -355,12 +365,14 @@ class SLM_Plugin{ public $licenses_obj; // class constructor - public function __construct(){ + public function __construct() + { add_filter('set-screen-option', [__CLASS__, 'set_screen'], 10, 3); add_action('admin_menu', [$this, 'slm_add_admin_menu']); } - public static function set_screen($status, $option, $value){ + public static function set_screen($status, $option, $value) + { return $value; } @@ -375,37 +387,41 @@ public function slm_add_admin_menu() add_submenu_page(SLM_MAIN_MENU_SLUG, "Tools", "Tools", SLM_MANAGEMENT_PERMISSION, 'slm_admin_tools', "slm_admin_tools_menu"); add_submenu_page(SLM_MAIN_MENU_SLUG, "Settings", "Settings", SLM_MANAGEMENT_PERMISSION, 'slm_settings', "slm_settings_menu"); add_submenu_page(SLM_MAIN_MENU_SLUG, "Help", "Help", SLM_MANAGEMENT_PERMISSION, 'slm_help', "slm_integration_help_menu"); - add_action("load-$hook", [$this, 'screen_option']); } + /** * Screen options */ - public function screen_option(){ + public function screen_option() + { $option = 'per_page'; $args = [ 'label' => 'Pagination', - 'default' => 24, + 'default' => 16, 'option' => 'licenses_per_page' ]; - //add_screen_option($option, $args); + add_screen_option($option, $args); $this->licenses_obj = new SLM_List_Licenses(); } /** Singleton instance */ - public static function get_instance(){ + public static function get_instance() + { if (!isset(self::$instance)) { self::$instance = new self(); } return self::$instance; } + + } add_action('plugins_loaded', function () { SLM_Plugin::get_instance(); -}); \ No newline at end of file +}); diff --git a/admin/slm-manage-licenses.php b/admin/slm-manage-licenses.php index 469f5b5..ea28afa 100755 --- a/admin/slm-manage-licenses.php +++ b/admin/slm-manage-licenses.php @@ -6,24 +6,18 @@ die; } - -function get_user_info() -{ +function get_user_info(){ if (!current_user_can('manage_licenses')) { $response = array( 'success' => false, - 'message' => __('You do not have permission to manage this license.', 'edd_sl'), + 'message' => _e('You do not have permission to manage this license.', 'softwarelicensemanager'), ); - echo json_encode($response); die(); } } - -function slm_manage_licenses_menu() -{ - +function slm_manage_licenses_menu(){ //include_once('slm-list-licenses-class.php'); $license_list = new SLM_List_Licenses(); @@ -33,16 +27,12 @@ function slm_manage_licenses_menu() } } ?> - -
    -
    -
    -

    Overview - Manage licenses

    +


    - +
    diff --git a/admin/slm-subscribers.php b/admin/slm-subscribers.php index 28bed43..1441766 100644 --- a/admin/slm-subscribers.php +++ b/admin/slm-subscribers.php @@ -167,9 +167,9 @@ function slm_subscribers_menu() if (isset($_REQUEST['slm_subscriber_edit']) && $_REQUEST['slm_subscriber_edit'] == 'true') : ?>
    -

    Overview - Manage Subscriber

    +


    - +
    @@ -178,14 +178,14 @@ function slm_subscribers_menu()
    - - - + + +
    IDLicense keyStatus
    @@ -197,7 +197,7 @@ function slm_subscribers_menu()
    -

    Overview - All Subscribers

    +



    diff --git a/includes/class-slm-installer.php b/includes/class-slm-installer.php index b3e0042..6f1ee41 100755 --- a/includes/class-slm-installer.php +++ b/includes/class-slm-installer.php @@ -15,6 +15,7 @@ $lic_domain_table = SLM_TBL_LIC_DOMAIN; $lic_devices_table = SLM_TBL_LIC_DEVICES; $lic_log_tbl = SLM_TBL_LIC_LOG; +$lic_emails_table = SLM_TBL_EMAILS; $charset_collate = ''; if (!empty($wpdb->charset)){ @@ -55,6 +56,8 @@ )" . $charset_collate . ";"; dbDelta($lk_tbl_sql); + + $ld_tbl_sql = "CREATE TABLE " .$lic_domain_table. " ( id INT NOT NULL AUTO_INCREMENT , lic_key_id INT NOT NULL , @@ -66,6 +69,20 @@ )" . $charset_collate . ";"; dbDelta($ld_tbl_sql); + +$slm_emails_tbl = "CREATE TABLE " . $lic_emails_table . " ( + id INT NOT NULL AUTO_INCREMENT , + lic_key varchar(255) NOT NULL , + sent_to varchar(255) NOT NULL , + status varchar(255) NOT NULL , + sent text NOT NULL , + date_sent date NOT NULL DEFAULT '0000-00-00', + disable_notifications text NOT NULL , + PRIMARY KEY ( id ) + )" . $charset_collate . ";"; +dbDelta($slm_emails_tbl); + + $log_tbl_sql = "CREATE TABLE " . $lic_log_tbl . " ( id INT NOT NULL AUTO_INCREMENT , license_key varchar(255) NOT NULL , @@ -98,8 +115,8 @@ 'slm_woo' => '', 'slm_wpestores' => '', 'slm_woo_downloads' => '', - 'slm_dl_manager' => '' -); + 'slm_dl_manager' => '', + 'expiration_reminder_text' => 'Your account has reverted to Basic with limited functionality. Renew today to keep using it on all of your devices and enjoy the valuable features. It’s a smart investment'); update_option('slm_plugin_options', $options); update_option("slm_db_version", SLM_DB_VERSION); \ No newline at end of file diff --git a/includes/mails/expired.php b/includes/mails/expired.php new file mode 100644 index 0000000..5a2fec3 --- /dev/null +++ b/includes/mails/expired.php @@ -0,0 +1,251 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +'; \ No newline at end of file diff --git a/includes/slm-meta-boxes.php b/includes/slm-meta-boxes.php index 0140081..89c20cf 100644 --- a/includes/slm-meta-boxes.php +++ b/includes/slm-meta-boxes.php @@ -8,6 +8,10 @@ add_filter('woocommerce_product_data_tabs', 'wc_slm_add_tab'); add_action('woocommerce_process_product_meta_simple', 'wc_slm_save_data'); add_action('woocommerce_product_data_panels', 'wc_slm_data_panel'); +add_filter('product_type_options', 'add_wc_slm_data_tab_enabled_product_option'); +add_action('init', 'slm_register_product_type'); +add_filter('product_type_selector', 'slm_add_product_type'); +add_action('admin_footer', 'slm_license_admin_custom_js'); /** * Add 'License' product option */ @@ -15,14 +19,13 @@ function add_wc_slm_data_tab_enabled_product_option($product_type_options) { $product_type_options['wc_slm_data_tab_enabled'] = array( 'id' => '_wc_slm_data_tab_enabled', - 'wrapper_class' => 'show_if_simple show_if_variable', - 'label' => __('License Manager', 'woocommerce'), + 'wrapper_class' => 'show_if_slm_license', + 'label' => __('License Manager', 'softwarelicensemanager'), 'default' => 'no', - 'description' => __('Enables the license creation api.', 'woocommerce') + 'description' => __('Enables the license creation api.', 'softwarelicensemanager') ); return $product_type_options; } -add_filter('product_type_options', 'add_wc_slm_data_tab_enabled_product_option'); /** CSS To Add Custom tab Icon */ @@ -37,23 +40,23 @@ function wcpp_custom_style() +' . __('Settings') . ''; + $links[] = '' . __('GitHub') . ''; + return $links; +} + //Includes require_once( SLM_LIB .'slm-debug-logger.php'); require_once( SLM_LIB .'slm-error-codes.php'); - require_once( SLM_LIB .'slm-init-time-tasks.php'); require_once( SLM_LIB .'slm-api-utility.php'); require_once( SLM_LIB .'slm-api-listener.php'); @@ -124,6 +140,30 @@ function slm_plugins_loaded_handler() { } } +class slm_tabbed_plugin +{ + // singleton class variable + static private $classobj = NULL; + + // singleton method + public static function get_object() + { + if (NULL === self::$classobj) { + self::$classobj = new self; + } + return self::$classobj; + } + + private function __construct() + { } +} + +// initialize plugin +if (function_exists('add_action') && function_exists('register_activation_hook')) { + add_action('plugins_loaded', array('slm_tabbed_plugin', 'get_object')); +} + + //TODO - need to move this to an ajax handler file function slm_del_reg_dom() { global $wpdb; diff --git a/includes/slm-scripts.php b/includes/slm-scripts.php index ab77062..f9b24b0 100644 --- a/includes/slm-scripts.php +++ b/includes/slm-scripts.php @@ -2,7 +2,7 @@ // add admin styles and scipts function slm_admin_assets() { - wp_enqueue_style('slm', SLM_ASSETS_URL .'css/slm.css'); + wp_enqueue_style('softwarelicensemanager', SLM_ASSETS_URL .'css/slm.css'); wp_enqueue_script('slm_validate', 'https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.0/jquery.validate.js', array('jquery'), '1.19.0', true); wp_enqueue_script('slm_validate_js', SLM_ASSETS_URL .'js/slm.js', array('jquery'), '1.0.1', true ); } @@ -21,7 +21,7 @@ function slm_frontend_assets() { wp_enqueue_script( 'bootstrapcdn-slm-js', 'https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js', array('jquery'), '4.1.3', true ); } // custom css - wp_enqueue_style('slm', SLM_ASSETS_URL .'css/slm-front-end.css'); + wp_enqueue_style('softwarelicensemanager', SLM_ASSETS_URL .'css/slm-front-end.css'); } add_action('wp_enqueue_scripts', 'slm_frontend_assets'); @@ -41,3 +41,4 @@ function slm_get_page(){ } } + diff --git a/includes/slm-utility.php b/includes/slm-utility.php index bf52df0..33d5b3f 100755 --- a/includes/slm-utility.php +++ b/includes/slm-utility.php @@ -5,8 +5,8 @@ */ // Helper Class -class SLM_Helper_Class -{ +class SLM_Helper_Class { + public static function slm_get_option($option) { $option_name = ''; @@ -29,40 +29,75 @@ static function write_log($log) class SLM_Utility { - static function check_for_expired_lic($lic_key = '') - { + static function check_for_expired_lic($lic_key=''){ + global $wpdb, $first_name, $body, $date_expiry, $license_key, $expiration_reminder_text; + + $headers = array('Content-Type: text/html; charset=UTF-8'); + $response = ''; + $sql_query = $wpdb->get_results("SELECT * FROM " . SLM_TBL_LICENSE_KEYS . " WHERE date_expiry < NOW() ORDER BY date_expiry ASC;", ARRAY_A); + $subject = get_bloginfo('name') . ' - Your license has expired'; + $expiration_reminder_text = SLM_Helper_Class::slm_get_option( 'expiration_reminder_text'); + + //SLM_Helper_Class::write_log('Found: ' . $expiration_reminder_text); - // $lic_key = ''; + if (count( $sql_query) > 0) { - // log - SLM_Helper_Class::write_log('-------------------------------------------'); - SLM_Helper_Class::write_log('check_for_expired_lic: is running class'); + foreach ($sql_query as $expired_licenses) { - require_once(ABSPATH . '/wp-load.php'); + // TODO move to template + include SLM_LIB . 'mails/expired.php'; - $to = 'mvelis90@gmail.com'; - $admin_email = get_option('admin_email'); - $subject = 'The subject'; - $body = 'The email body content'; - $headers = array('Content-Type: text/html; charset=UTF-8'); - $response = ''; + $license_key = $expired_licenses['license_key']; + $first_name = $expired_licenses['first_name']; + $last_name = $expired_licenses['last_name']; + $email = $expired_licenses['email']; + $date_expiry = $expired_licenses['date_expiry']; - $sent_email = wp_mail($to, $subject, $body, $headers); + //SLM_Helper_Class::write_log('Found: ' . $license_key); + self::slm_check_sent_emails($license_key, $email, $subject, $body, $headers); + self::create_log($license_key, 'sent expiration email notification'); - // sent - if ($sent_email) { - $response = 'Reminder message was sent.'; - SLM_Helper_Class::write_log($response); + //SLM_Helper_Class::write_log('DB record logged'); + $response = 'Reminder message was sent to: ' . $license_key; + //SLM_Helper_Class::write_log($response); + } } - // mail failed else { - $response = 'Reminder message was not sent.'; - SLM_Helper_Class::write_log('The message was not sent!'); + SLM_Helper_Class::write_log('array is empty'); + $response = 'array is empty'; } - return $response; } + static function slm_check_sent_emails($license_key, $email, $subject, $body, $headers) + { + global $wpdb; + $query = 'SELECT * FROM ' . SLM_TBL_EMAILS . ' WHERE lic_key = "' . $license_key . '";'; + $lic_log_results = $wpdb->get_results($query, ARRAY_A); + + if (count($lic_log_results) > 0) { + foreach ($lic_log_results as $license) { + if ($license["lic_key"] != $license_key) { + // TODO: use mail class from include + wp_mail($email, $subject, $body, $headers); + self::create_email_log($license_key, $email, 'success', 'yes', date("Y/m/d")); + return '200'; //reminder was never sent before, first time (record does not exist) + } + else { + //reminder was sent before + return '400'; + } + } + } + else { + // array or results are empty (lic key was not found) + // TODO: use mail class from include + wp_mail($email, $subject, $body, $headers); + self::create_email_log($license_key, $email, 'success', 'yes', date("Y/m/d")); + return '300'; + } + } + static function do_auto_key_expiry() { global $wpdb; $current_date = (date ("Y-m-d")); @@ -129,18 +164,14 @@ static function delete_license_key_by_row_id($key_row_id) { } - static function count_licenses($status) - { + static function count_licenses($status){ global $wpdb; $license_table = SLM_TBL_LICENSE_KEYS; - $get_lic_status = $wpdb->get_var("SELECT COUNT(*) FROM $license_table WHERE lic_status = '" . $status . "'"); - return $get_lic_status; } - static function get_total_licenses() - { + static function get_total_licenses(){ global $wpdb; $license_table = SLM_TBL_LICENSE_KEYS; $license_count = $wpdb->get_var("SELECT COUNT(*) FROM " . $license_table . ""); @@ -150,7 +181,6 @@ static function get_total_licenses() static function block_license_key_by_row_id($key_row_id){ global $wpdb; $license_table = SLM_TBL_LICENSE_KEYS; - //Now, delete the key from the licenses table. $wpdb->update( $license_table, array('lic_status' => 'blocked'), array('id' => $key_row_id)); @@ -219,6 +249,26 @@ static function create_log($license_key, $action){ $wpdb->insert( $slm_log_table, $log_data ); } + + static function create_email_log($lic_key, $sent_to, $status, $sent, $date_sent) + { + global $wpdb; + $slm_email_table = SLM_TBL_EMAILS; + + $log_data = array( + 'lic_key' => $lic_key, + 'sent_to' => $sent_to, + 'status' => $status, + 'sent' => $sent, + 'date_sent' => $date_sent + ); + + $wpdb->insert($slm_email_table, $log_data); + SLM_Helper_Class::write_log('email log created for '. $lic_key); + } + + + static function slm_wp_dashboards_stats($amount){ global $wpdb; $slm_log_table = SLM_TBL_LICENSE_KEYS; diff --git a/includes/slm-wizard.php b/includes/slm-wizard.php new file mode 100644 index 0000000..02d344b --- /dev/null +++ b/includes/slm-wizard.php @@ -0,0 +1,2 @@ + + */ +class WP_Mail +{ + + private $to = array(); + private $cc = array(); + private $bcc = array(); + private $headers = array(); + private $attachments = array(); + private $sendAsHTML = TRUE; + private $subject = ''; + private $from = ''; + + private $headerTemplate = FALSE; + private $headerVariables = array(); + private $template = FALSE; + private $variables = array(); + private $afterTemplate = FALSE; + private $footerVariables = array(); + + + public static function init() + { + return new Self; + } + + + /** + * Set recipients + * @param Array|String $to + * @return Object $this + */ + public function to($to) + { + if (is_array($to)) { + $this->to = $to; + } else { + $this->to = array($to); + } + return $this; + } + + + /** + * Get recipients + * @return Array $to + */ + public function getTo() + { + return $this->to; + } + + + /** + * Set Cc recipients + * @param String|Array $cc + * @return Object $this + */ + public function cc($cc) + { + if (is_array($cc)) { + $this->cc = $cc; + } else { + $this->cc = array($cc); + } + return $this; + } + + + /** + * Get Cc recipients + * @return Array $cc + */ + public function getCc() + { + return $this->cc; + } + + + /** + * Set Email Bcc recipients + * @param String|Array $bcc + * @return Object $this + */ + public function bcc($bcc) + { + if (is_array($bcc)) { + $this->bcc = $bcc; + } else { + $this->bcc = array($bcc); + } + + return $this; + } + + + /** + * Set email Bcc recipients + * @return Array $bcc + */ + public function getBcc() + { + return $this->bcc; + } + + + /** + * Set email Subject + * @param Srting $subject + * @return Object $this + */ + public function subject($subject) + { + $this->subject = $subject; + return $this; + } + + + /** + * Retruns email subject + * @return Array + */ + public function getSubject() + { + return $this->subject; + } + + + /** + * Set From header + * @param String + * @return Object $this + */ + public function from($from) + { + $this->from = $from; + return $this; + } + + /** + * Set the email's headers + * @param String|Array $headers [description] + * @return Object $this + */ + public function headers($headers) + { + if (is_array($headers)) { + $this->headers = $headers; + } else { + $this->headers = array($headers); + } + + return $this; + } + + + /** + * Retruns headers + * @return Array + */ + public function getHeaders() + { + return $this->headers; + } + + + /** + * Returns email content type + * @return String + */ + public function HTMLFilter() + { + return 'text/html'; + } + + + /** + * Set email content type + * @param Bool $html + * @return Object $this + */ + public function sendAsHTML($html) + { + $this->sendAsHTML = $html; + return $this; + } + + + /** + * Attach a file or array of files. + * Filepaths must be absolute. + * @param String|Array $path + * @throws Exception + * @return Object $this + */ + public function attach($path) + { + if (is_array($path)) { + $this->attachments = array(); + foreach ($path as $path_) { + if (!file_exists($path_)) { + throw new Exception("Attachment not found at $path"); + } else { + $this->attachments[] = $path_; + } + } + } else { + if (!file_exists($path)) { + throw new Exception("Attachment not found at $path"); + } + $this->attachments = array($path); + } + + return $this; + } + + + /** + * Set the before-template file + * @param String $template Path to HTML template + * @param Array $variables + * @throws Exception + * @return Object $this + */ + public function templateHeader($template, $variables = NULL) + { + if (!file_exists($template)) { + throw new Exception('Template file not found'); + } + + if (is_array($variables)) { + $this->headerVariables = $variables; + } + + $this->headerTemplate = $template; + return $this; + } + + + /** + * Set the template file + * @param String $template Path to HTML template + * @param Array $variables + * @throws Exception + * @return Object $this + */ + public function template($template, $variables = NULL) + { + if (!file_exists($template)) { + throw new Exception('File not found'); + } + + if (is_array($variables)) { + $this->variables = $variables; + } + + $this->template = $template; + return $this; + } + + + /** + * Set the after-template file + * @param String $template Path to HTML template + * @param Array $variables + * @throws Exception + * @return Object $this + */ + public function templateFooter($template, $variables = NULL) + { + if (!file_exists($template)) { + throw new Exception('Template file not found'); + } + + if (is_array($variables)) { + $this->footerVariables = $variables; + } + + $this->afterTemplate = $template; + return $this; + } + + + /** + * Renders the template + * @return String + */ + public function render() + { + return $this->renderPart('before') . + $this->renderPart('main') . + $this->renderPart('after'); + } + + + /** + * Render a specific part of the email + * @author Anthony Budd + * @param String $part before, after, main + * @return String + */ + public function renderPart($part = 'main') + { + switch ($part) { + case 'before': + $templateFile = $this->headerTemplate; + $variables = $this->headerVariables; + break; + + case 'after': + $templateFile = $this->afterTemplate; + $variables = $this->footerVariables; + break; + + case 'main': + default: + $templateFile = $this->template; + $variables = $this->variables; + break; + } + + if ($templateFile === FALSE) { + return ''; + } + + + $extension = strtolower(pathinfo($templateFile, PATHINFO_EXTENSION)); + if ($extension === 'php') { + + ob_start(); + ob_clean(); + + foreach ($variables as $key => $value) { + $$key = $value; + } + + include $templateFile; + + $html = ob_get_clean(); + + return $html; + } elseif ($extension === 'html') { + + $template = file_get_contents($templateFile); + + if (!is_array($variables) || empty($variables)) { + return $template; + } + + return $this->parseAsMustache($template, $variables); + } else { + throw new Exception("Unknown extension {$extension} in path '{$templateFile}'"); + } + } + + public function buildSubject() + { + return $this->parseAsMustache( + $this->subject, + array_merge($this->headerVariables, $this->variables, $this->footerVariables) + ); + } + + public function parseAsMustache($string, $variables = array()) + { + + preg_match_all('/\{\{\s*.+?\s*\}\}/', $string, $matches); + + foreach ($matches[0] as $match) { + $var = str_replace('{', '', str_replace('}', '', preg_replace('/\s+/', '', $match))); + + if (isset($variables[$var]) && !is_array($variables[$var])) { + $string = str_replace($match, $variables[$var], $string); + } + } + + return $string; + } + + + /** + * Builds Email Headers + * @return String email headers + */ + public function buildHeaders() + { + $headers = ''; + + $headers .= implode("\r\n", $this->headers) . "\r\n"; + + foreach ($this->bcc as $bcc) { + $headers .= sprintf("Bcc: %s \r\n", $bcc); + } + + foreach ($this->cc as $cc) { + $headers .= sprintf("Cc: %s \r\n", $cc); + } + + if (!empty($this->from)) { + $headers .= sprintf("From: %s \r\n", $this->from); + } + + return $headers; + } + + + /** + * Sends a rendered email using + * WordPress's wp_mail() function + * @return Bool + */ + public function send() + { + if (count($this->to) === 0) { + throw new Exception('You must set at least 1 recipient'); + } + + if (empty($this->template)) { + throw new Exception('You must set a template'); + } + + if ($this->sendAsHTML) { + add_filter('wp_mail_content_type', array($this, 'HTMLFilter')); + } + + return wp_mail($this->to, $this->buildSubject(), $this->render(), $this->buildHeaders(), $this->attachments); + } +} diff --git a/languages/softwarelicensemanager-es_ES.mo b/languages/softwarelicensemanager-es_ES.mo new file mode 100644 index 0000000000000000000000000000000000000000..126b5bd569b36628d552a787b0c90c2353b9168e GIT binary patch literal 11210 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 literal 0 HcmV?d00001 diff --git a/languages/softwarelicensemanager-es_ES.po b/languages/softwarelicensemanager-es_ES.po new file mode 100644 index 0000000..df749a3 --- /dev/null +++ b/languages/softwarelicensemanager-es_ES.po @@ -0,0 +1,495 @@ +msgid "" +msgstr "" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Project-Id-Version: Software License Manager\n" +"POT-Creation-Date: 2019-06-19 10:05-0400\n" +"PO-Revision-Date: 2019-06-19 11:29-0400\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.1.1\n" +"X-Poedit-Basepath: ..\n" +"X-Poedit-Flags-xgettext: --add-comments=translators:\n" +"X-Poedit-WPHeader: software-license-manager.php\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" +"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" +"_nx_noop:3c,1,2;__ngettext_noop:1,2\n" +"Last-Translator: \n" +"Language: es\n" +"X-Poedit-SearchPath-0: .\n" +"X-Poedit-SearchPathExcluded-0: *.js\n" + +#: admin/includes/cronjobs/slm-tasks.php:13 +msgid "Every 1 minute" +msgstr "Cada 1 minuto" + +#: admin/includes/wpestores/slm-wpestores.php:70 +msgid "Item Name: " +msgstr "Nombre del artículo" + +#: admin/includes/wpestores/slm-wpestores.php:70 +msgid "License Key: " +msgstr "Clave de licencia" + +#: admin/slm-add-licenses.php:141 +msgid "Record could not be inserted into the database!" +msgstr "¡No se pudo insertar un registro en la base de datos!" + +#: admin/slm-add-licenses.php:149 +msgid "Update of the license key table failed!" +msgstr "¡Error al actualizar la tabla de claves de licencia!" + +#. Plugin Name of the plugin/theme +#: admin/slm-add-licenses.php:185 +msgid "Software License Manager" +msgstr "Administrador de licencias de software" + +#: admin/slm-add-licenses.php:188 +msgid "You can add a new license or edit an existing one from this interface." +msgstr "" +"Puede agregar una nueva licencia o editar una existente desde esta interfaz." + +#: admin/slm-add-licenses.php:234 +msgid "License key and status" +msgstr "Clave de licencia y estado" + +#: admin/slm-add-licenses.php:238 +msgid "User information" +msgstr "Información de usuario" + +#: admin/slm-add-licenses.php:244 +msgid "Devices & Domains" +msgstr "Dispositivos y Dominios" + +#: admin/slm-add-licenses.php:249 +msgid "Transaction" +msgstr "Transacción" + +#: admin/slm-add-licenses.php:253 +msgid "Product" +msgstr "Producto" + +#: admin/slm-add-licenses.php:259 +msgid "Activity log " +msgstr "Registro de actividad" + +#: admin/slm-add-licenses.php:266 +msgid "Export " +msgstr "exportar" + +#: admin/slm-admin-functions.php:41 +msgid "Send Deactivation Message for a License" +msgstr "Enviar mensaje de desactivación para una licencia" + +#: admin/slm-admin-functions.php:43 +msgid "Enter the URL where the license deactivation message will be sent to" +msgstr "" +"Introduzca la URL a la que se enviará el mensaje de desactivación de la " +"licencia" + +#: admin/slm-lic-settings.php:76 +msgid "General settings" +msgstr "Los ajustes generales" + +#: admin/slm-lic-settings.php:80 +msgid "Secret Key for License Creation" +msgstr "Clave secreta para la creación de licencias" + +#: admin/slm-lic-settings.php:82 +msgid "" +"This secret key will be used to authenticate any license creation request. " +"You can change it with something random." +msgstr "" +"Esta clave secreta se utilizará para autenticar cualquier solicitud de " +"creación de licencia. Puedes cambiarlo con algo aleatorio." + +#: admin/slm-lic-settings.php:86 +msgid "Secret Key for License Verification Requests" +msgstr "Clave secreta para las solicitudes de verificación de licencias" + +#: admin/slm-lic-settings.php:88 +msgid "" +"This secret key will be used to authenticate any license verification " +"request from customer's site. Important! Do not change this value once your " +"customers start to use your product(s)!" +msgstr "" +"Esta clave secreta se usará para autenticar cualquier solicitud de " +"verificación de licencia desde el sitio del cliente. ¡Importante! ¡No cambie " +"este valor una vez que sus clientes comiencen a usar su(s) producto(s)!" + +#: admin/slm-lic-settings.php:92 +msgid "License Key Prefix" +msgstr "Prefijo de clave de licencia" + +#: admin/slm-lic-settings.php:94 +msgid "" +"You can optionaly specify a prefix for the license keys. This prefix will be " +"added to the uniquely generated license keys." +msgstr "" +"Opcionalmente, puede especificar un prefijo para las claves de licencia. " +"Este prefijo se agregará a las claves de licencia generadas de forma única." + +#: admin/slm-lic-settings.php:98 +msgid "Maximum Allowed Domains" +msgstr "Máximo de dominios permitidos" + +#: admin/slm-lic-settings.php:100 +msgid "" +"Maximum number of domains/installs which each license is valid for (default " +"value)." +msgstr "" +"Número máximo de dominios/instalaciones para los que cada licencia es válida " +"(valor predeterminado)." + +#: admin/slm-lic-settings.php:104 +msgid "Maximum Allowed Devices" +msgstr "Máximo de dispositivos permitidos" + +#: admin/slm-lic-settings.php:106 +msgid "" +"Maximum number of devices which each license is valid for (default value)." +msgstr "" +"Número máximo de dispositivos para los que cada licencia es válida (valor " +"predeterminado)." + +#: admin/slm-lic-settings.php:110 +msgid "Auto Expire License Keys" +msgstr "Claves de licencia de expiración automática" + +#: admin/slm-lic-settings.php:112 +msgid "Enable auto expiration " +msgstr "Habilitar la expiración automática" + +#: admin/slm-lic-settings.php:113 +msgid "" +" When enabled, it will automatically set the status of a license key to " +"\"Expired\" when the expiry date value of the k ey is reached. It doesn't " +"remotely deactivate a key. It simply changes the status of the key in your " +"database to expired." +msgstr "" +"Cuando está habilitado, establecerá automáticamente el estado de una clave " +"de licencia en \"Expirado\" cuando se alcance el valor de fecha de caducidad " +"del k ey. No desactiva de forma remota una clave. Simplemente cambia el " +"estado de la clave en la base de datos a caducado." + +#: admin/slm-lic-settings.php:121 +msgid "Integrations" +msgstr "Integraciones" + +#: admin/slm-lic-settings.php:125 +msgid "Woocommerce Support" +msgstr "Soporte técnico de Woocommerce" + +#: admin/slm-lic-settings.php:128 +msgid "" +"A fully customizable, open source eCommerce platform built for WordPress." +msgstr "" +"Una plataforma de comercio electrónico totalmente personalizable y de código " +"abierto creada para WordPress." + +#: admin/slm-lic-settings.php:132 +msgid "" +"Disable woocommerce download page. Proccess downloads though license order " +"info page." +msgstr "" +"Deshabilite la página de descarga de woocommerce. Proccess descarga a través " +"de la página de información del pedido de licencia." + +#: admin/slm-lic-settings.php:135 +msgid "Download Manager Support" +msgstr "Descargar soporte de Manager" + +#: admin/slm-lic-settings.php:138 +msgid "" +"Download Manager Plugin – Adds a simple download manager to your WordPress " +"blog." +msgstr "" +"Descargar Manager Plugin – Agrega un simple gestor de descargas a tu blog de " +"WordPress." + +#: admin/slm-lic-settings.php:142 +msgid "WP eStores Support" +msgstr "Soporte de WP eStores" + +#: admin/slm-lic-settings.php:145 +msgid "" +"WordPress eStore Plugin – Complete Solution to Sell Digital Products from " +"Your WordPress Blog Securely" +msgstr "" +"WordPress eStore Plugin – Solución completa para vender productos digitales " +"de su blog de WordPress de forma segura" + +#: admin/slm-lic-settings.php:153 +msgid "Debugging settings" +msgstr "Parámetros" + +#: admin/slm-lic-settings.php:158 +msgid "Enable Debug Logging" +msgstr "Habilitar el registro de depuración" + +#: admin/slm-lic-settings.php:160 +msgid "" +"If checked, debug output will be written to log files (keep it disabled " +"unless you are troubleshooting)." +msgstr "" +"Si está marcada, la salida de depuración se escribirá en los archivos de " +"registro (manténgala deshabilitada a menos que esté solucionando problemas)." + +#: admin/slm-lic-settings.php:162 +msgid "View debug log file by clicking" +msgstr "Ver el archivo de registro de depuración haciendo clic en" + +#: admin/slm-lic-settings.php:162 admin/slm-lic-settings.php:163 +msgid "here" +msgstr "aquí" + +#: admin/slm-lic-settings.php:163 +msgid "Reset debug log file by clicking" +msgstr "Restablecer el archivo de registro de depuración haciendo clic en" + +#: admin/slm-lic-settings.php:171 +msgid "Update Options" +msgstr "Opciones de actualización" + +#: admin/slm-list-licenses-class.php:27 +msgid "No licenses avaliable." +msgstr "No hay licencias disponibles." + +#: admin/slm-list-licenses-class.php:43 +msgid "All" +msgstr "Todos" + +#: admin/slm-list-licenses-class.php:50 +msgid "active" +msgstr "Activo" + +#: admin/slm-list-licenses-class.php:57 +msgid "pending" +msgstr "Pendiente" + +#: admin/slm-list-licenses-class.php:64 +msgid "expired" +msgstr "caducado" + +#: admin/slm-list-licenses-class.php:71 +msgid "blocked" +msgstr "Bloqueado" + +#: admin/slm-list-licenses-class.php:204 admin/slm-list-licenses-class.php:221 +#: admin/slm-list-licenses-class.php:238 admin/slm-list-licenses-class.php:255 +msgid "Error - Please select some records using the checkboxes" +msgstr "" +"Error - Seleccione algunos registros usando las casillas de verificación" + +#: admin/slm-manage-licenses.php:15 +msgid "You do not have permission to manage this license." +msgstr "No tiene permiso para administrar esta licencia." + +#: admin/slm-manage-licenses.php:43 +msgid "Overview - Manage licenses" +msgstr "Descripción general - Administrar licencias" + +#: admin/slm-manage-licenses.php:45 +msgid "Add New" +msgstr "Añadir nueva" + +#: admin/slm-manage-licenses.php:57 admin/slm-subscribers.php:211 +msgid "Search" +msgstr "Buscar" + +#: admin/slm-subscribers.php:170 +msgid "Overview - Manage Subscribers" +msgstr "Visión general - Administrar suscriptores" + +#: admin/slm-subscribers.php:172 +msgid "View all" +msgstr "Ver todos los" + +#: admin/slm-subscribers.php:181 +msgid "ID" +msgstr "Id" + +#: admin/slm-subscribers.php:182 woocommerce/includes/purchase.php:396 +msgid "License key" +msgstr "Clave de licencia" + +#: admin/slm-subscribers.php:183 +msgid "Status" +msgstr "Estado" + +#: admin/slm-subscribers.php:200 +msgid "Overview - All Subscribers" +msgstr "Visión general - Todos los suscriptores" + +#: includes/slm-meta-boxes.php:23 +msgid "License Manager" +msgstr "Administrador de licencias" + +#: includes/slm-meta-boxes.php:25 +msgid "Enables the license creation api." +msgstr "Habilita la API de creación de licencias." + +#: includes/slm-meta-boxes.php:73 +msgid "Licensing" +msgstr "Licencias" + +#: includes/slm-meta-boxes.php:93 +msgid "Domain Licenses" +msgstr "Licencias de dominio" + +#: includes/slm-meta-boxes.php:97 +msgid "Enter the allowed amount of domains this license can have (websites)." +msgstr "" +"Introduzca la cantidad permitida de dominios que esta licencia puede tener " +"(sitios web)." + +#: includes/slm-meta-boxes.php:103 +msgid "Devices Licenses" +msgstr "Licencias de dispositivos" + +#: includes/slm-meta-boxes.php:107 +msgid "" +"Enter the allowed amount of devices this license can have (computers, " +"mobile, etc)." +msgstr "" +"Introduzca la cantidad permitida de dispositivos que puede tener esta " +"licencia (ordenadores, móviles, etc.)." + +#: includes/slm-meta-boxes.php:113 +msgid "License Type" +msgstr "Tipo de licencia" + +#: includes/slm-meta-boxes.php:116 +msgid "type of license: subscription base or lifetime" +msgstr "tipo de licencia: base de suscripción o duración" + +#: includes/slm-meta-boxes.php:118 +msgid "Select one" +msgstr "Seleccione uno" + +#: includes/slm-meta-boxes.php:119 +msgid "subscription" +msgstr "Suscripción" + +#: includes/slm-meta-boxes.php:120 +msgid "lifetime" +msgstr "Vida" + +#: includes/slm-meta-boxes.php:127 +msgid "Renewal period " +msgstr "Período de renovación" + +#: includes/slm-meta-boxes.php:130 +msgid "License renewal period(yearly) , enter 0 for lifetime." +msgstr "" +"Período de renovación de la licencia (anual), escriba 0 durante la vida útil." + +#: includes/slm-meta-boxes.php:137 +msgid "Current Version" +msgstr "Versión actual" + +#: includes/slm-meta-boxes.php:140 +msgid "Enter the current version of your application, theme, or plug-in" +msgstr "" +"Introduzca la versión actual de la aplicación, el tema o el complemento" + +#: includes/slm-meta-boxes.php:147 +msgid "Until Version" +msgstr "Hasta la versión" + +#: includes/slm-meta-boxes.php:150 +msgid "Enter the version until support expires." +msgstr "Introduzca la versión hasta que expire el soporte técnico." + +#: includes/slm-meta-boxes.php:210 +msgid "License product" +msgstr "Producto de licencia" + +#: public/slm-add-menu-frontend.php:54 public/slm-add-menu-frontend.php:67 +msgid "My Licenses" +msgstr "Mis licencias" + +#. translators: %s: Customer first name +#: woocommerce/emails/customer-completed-order.php:13 +#, php-format +msgid "Hi %s," +msgstr "Hola %s," + +#. translators: %s: Site title +#: woocommerce/emails/customer-completed-order.php:15 +#, php-format +msgid "" +"Your %s order has been marked complete on our side. Here is you license " +"information." +msgstr "" +"Su pedido %s ha sido marcado como completo de nuestro lado. Aquí está la " +"información de su licencia." + +#: woocommerce/emails/customer-completed-order.php:23 +msgid "Thanks for shopping with us." +msgstr "Gracias por comprar con nosotros." + +#: woocommerce/includes/class.php:27 +msgid "Order Confirmation" +msgstr "Confirmación del pedido" + +#: woocommerce/includes/purchase.php:88 +msgid "License could not be created: Invalid sites allowed number." +msgstr "No se pudo crear la licencia: número permitido de sitios no válidos." + +#: woocommerce/includes/purchase.php:213 +msgid "License Key(s) generated" +msgstr "Clave(s) de licencia generada(s)" + +#: woocommerce/includes/purchase.php:230 +msgid "License Key(s) could not be created." +msgstr "No se han podido crear claves de licencia." + +#: woocommerce/includes/purchase.php:338 +msgid "Order confirmation email sent to: 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 literal 0 HcmV?d00001 diff --git a/languages/softwarelicensemanager-es_US.po b/languages/softwarelicensemanager-es_US.po new file mode 100644 index 0000000..c5dbf07 --- /dev/null +++ b/languages/softwarelicensemanager-es_US.po @@ -0,0 +1,495 @@ +msgid "" +msgstr "" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Project-Id-Version: Software License Manager\n" +"POT-Creation-Date: 2019-06-19 10:05-0400\n" +"PO-Revision-Date: 2019-06-19 11:30-0400\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.1.1\n" +"X-Poedit-Basepath: ..\n" +"X-Poedit-Flags-xgettext: --add-comments=translators:\n" +"X-Poedit-WPHeader: software-license-manager.php\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" +"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" +"_nx_noop:3c,1,2;__ngettext_noop:1,2\n" +"Last-Translator: \n" +"Language: es_US\n" +"X-Poedit-SearchPath-0: .\n" +"X-Poedit-SearchPathExcluded-0: *.js\n" + +#: admin/includes/cronjobs/slm-tasks.php:13 +msgid "Every 1 minute" +msgstr "Cada 1 minuto" + +#: admin/includes/wpestores/slm-wpestores.php:70 +msgid "Item Name: " +msgstr "Nombre del artículo" + +#: admin/includes/wpestores/slm-wpestores.php:70 +msgid "License Key: " +msgstr "Clave de licencia" + +#: admin/slm-add-licenses.php:141 +msgid "Record could not be inserted into the database!" +msgstr "¡No se pudo insertar un registro en la base de datos!" + +#: admin/slm-add-licenses.php:149 +msgid "Update of the license key table failed!" +msgstr "¡Error al actualizar la tabla de claves de licencia!" + +#. Plugin Name of the plugin/theme +#: admin/slm-add-licenses.php:185 +msgid "Software License Manager" +msgstr "Administrador de licencias de software" + +#: admin/slm-add-licenses.php:188 +msgid "You can add a new license or edit an existing one from this interface." +msgstr "" +"Puede agregar una nueva licencia o editar una existente desde esta interfaz." + +#: admin/slm-add-licenses.php:234 +msgid "License key and status" +msgstr "Clave de licencia y estado" + +#: admin/slm-add-licenses.php:238 +msgid "User information" +msgstr "Información de usuario" + +#: admin/slm-add-licenses.php:244 +msgid "Devices & Domains" +msgstr "Dispositivos y Dominios" + +#: admin/slm-add-licenses.php:249 +msgid "Transaction" +msgstr "Transacción" + +#: admin/slm-add-licenses.php:253 +msgid "Product" +msgstr "Producto" + +#: admin/slm-add-licenses.php:259 +msgid "Activity log " +msgstr "Registro de actividad" + +#: admin/slm-add-licenses.php:266 +msgid "Export " +msgstr "exportar" + +#: admin/slm-admin-functions.php:41 +msgid "Send Deactivation Message for a License" +msgstr "Enviar mensaje de desactivación para una licencia" + +#: admin/slm-admin-functions.php:43 +msgid "Enter the URL where the license deactivation message will be sent to" +msgstr "" +"Introduzca la URL a la que se enviará el mensaje de desactivación de la " +"licencia" + +#: admin/slm-lic-settings.php:76 +msgid "General settings" +msgstr "Los ajustes generales" + +#: admin/slm-lic-settings.php:80 +msgid "Secret Key for License Creation" +msgstr "Clave secreta para la creación de licencias" + +#: admin/slm-lic-settings.php:82 +msgid "" +"This secret key will be used to authenticate any license creation request. " +"You can change it with something random." +msgstr "" +"Esta clave secreta se utilizará para autenticar cualquier solicitud de " +"creación de licencia. Puedes cambiarlo con algo aleatorio." + +#: admin/slm-lic-settings.php:86 +msgid "Secret Key for License Verification Requests" +msgstr "Clave secreta para las solicitudes de verificación de licencias" + +#: admin/slm-lic-settings.php:88 +msgid "" +"This secret key will be used to authenticate any license verification " +"request from customer's site. Important! Do not change this value once your " +"customers start to use your product(s)!" +msgstr "" +"Esta clave secreta se usará para autenticar cualquier solicitud de " +"verificación de licencia desde el sitio del cliente. ¡Importante! ¡No cambie " +"este valor una vez que sus clientes comiencen a usar su(s) producto(s)!" + +#: admin/slm-lic-settings.php:92 +msgid "License Key Prefix" +msgstr "Prefijo de clave de licencia" + +#: admin/slm-lic-settings.php:94 +msgid "" +"You can optionaly specify a prefix for the license keys. This prefix will be " +"added to the uniquely generated license keys." +msgstr "" +"Opcionalmente, puede especificar un prefijo para las claves de licencia. " +"Este prefijo se agregará a las claves de licencia generadas de forma única." + +#: admin/slm-lic-settings.php:98 +msgid "Maximum Allowed Domains" +msgstr "Máximo de dominios permitidos" + +#: admin/slm-lic-settings.php:100 +msgid "" +"Maximum number of domains/installs which each license is valid for (default " +"value)." +msgstr "" +"Número máximo de dominios/instalaciones para los que cada licencia es válida " +"(valor predeterminado)." + +#: admin/slm-lic-settings.php:104 +msgid "Maximum Allowed Devices" +msgstr "Máximo de dispositivos permitidos" + +#: admin/slm-lic-settings.php:106 +msgid "" +"Maximum number of devices which each license is valid for (default value)." +msgstr "" +"Número máximo de dispositivos para los que cada licencia es válida (valor " +"predeterminado)." + +#: admin/slm-lic-settings.php:110 +msgid "Auto Expire License Keys" +msgstr "Claves de licencia de expiración automática" + +#: admin/slm-lic-settings.php:112 +msgid "Enable auto expiration " +msgstr "Habilitar la expiración automática" + +#: admin/slm-lic-settings.php:113 +msgid "" +" When enabled, it will automatically set the status of a license key to " +"\"Expired\" when the expiry date value of the k ey is reached. It doesn't " +"remotely deactivate a key. It simply changes the status of the key in your " +"database to expired." +msgstr "" +"Cuando está habilitado, establecerá automáticamente el estado de una clave " +"de licencia en \"Expirado\" cuando se alcance el valor de fecha de caducidad " +"del k ey. No desactiva de forma remota una clave. Simplemente cambia el " +"estado de la clave en la base de datos a caducado." + +#: admin/slm-lic-settings.php:121 +msgid "Integrations" +msgstr "Integraciones" + +#: admin/slm-lic-settings.php:125 +msgid "Woocommerce Support" +msgstr "Soporte técnico de Woocommerce" + +#: admin/slm-lic-settings.php:128 +msgid "" +"A fully customizable, open source eCommerce platform built for WordPress." +msgstr "" +"Una plataforma de comercio electrónico totalmente personalizable y de código " +"abierto creada para WordPress." + +#: admin/slm-lic-settings.php:132 +msgid "" +"Disable woocommerce download page. Proccess downloads though license order " +"info page." +msgstr "" +"Deshabilite la página de descarga de woocommerce. Proccess descarga a través " +"de la página de información del pedido de licencia." + +#: admin/slm-lic-settings.php:135 +msgid "Download Manager Support" +msgstr "Descargar soporte de Manager" + +#: admin/slm-lic-settings.php:138 +msgid "" +"Download Manager Plugin – Adds a simple download manager to your WordPress " +"blog." +msgstr "" +"Descargar Manager Plugin – Agrega un simple gestor de descargas a tu blog de " +"WordPress." + +#: admin/slm-lic-settings.php:142 +msgid "WP eStores Support" +msgstr "Soporte de WP eStores" + +#: admin/slm-lic-settings.php:145 +msgid "" +"WordPress eStore Plugin – Complete Solution to Sell Digital Products from " +"Your WordPress Blog Securely" +msgstr "" +"WordPress eStore Plugin – Solución completa para vender productos digitales " +"de su blog de WordPress de forma segura" + +#: admin/slm-lic-settings.php:153 +msgid "Debugging settings" +msgstr "Parámetros" + +#: admin/slm-lic-settings.php:158 +msgid "Enable Debug Logging" +msgstr "Habilitar el registro de depuración" + +#: admin/slm-lic-settings.php:160 +msgid "" +"If checked, debug output will be written to log files (keep it disabled " +"unless you are troubleshooting)." +msgstr "" +"Si está marcada, la salida de depuración se escribirá en los archivos de " +"registro (manténgala deshabilitada a menos que esté solucionando problemas)." + +#: admin/slm-lic-settings.php:162 +msgid "View debug log file by clicking" +msgstr "Ver el archivo de registro de depuración haciendo clic en" + +#: admin/slm-lic-settings.php:162 admin/slm-lic-settings.php:163 +msgid "here" +msgstr "aquí" + +#: admin/slm-lic-settings.php:163 +msgid "Reset debug log file by clicking" +msgstr "Restablecer el archivo de registro de depuración haciendo clic en" + +#: admin/slm-lic-settings.php:171 +msgid "Update Options" +msgstr "Opciones de actualización" + +#: admin/slm-list-licenses-class.php:27 +msgid "No licenses avaliable." +msgstr "No hay licencias disponibles." + +#: admin/slm-list-licenses-class.php:43 +msgid "All" +msgstr "Todos" + +#: admin/slm-list-licenses-class.php:50 +msgid "active" +msgstr "Activo" + +#: admin/slm-list-licenses-class.php:57 +msgid "pending" +msgstr "Pendiente" + +#: admin/slm-list-licenses-class.php:64 +msgid "expired" +msgstr "caducado" + +#: admin/slm-list-licenses-class.php:71 +msgid "blocked" +msgstr "Bloqueado" + +#: admin/slm-list-licenses-class.php:204 admin/slm-list-licenses-class.php:221 +#: admin/slm-list-licenses-class.php:238 admin/slm-list-licenses-class.php:255 +msgid "Error - Please select some records using the checkboxes" +msgstr "" +"Error - Seleccione algunos registros usando las casillas de verificación" + +#: admin/slm-manage-licenses.php:15 +msgid "You do not have permission to manage this license." +msgstr "No tiene permiso para administrar esta licencia." + +#: admin/slm-manage-licenses.php:43 +msgid "Overview - Manage licenses" +msgstr "Descripción general - Administrar licencias" + +#: admin/slm-manage-licenses.php:45 +msgid "Add New" +msgstr "Añadir nueva" + +#: admin/slm-manage-licenses.php:57 admin/slm-subscribers.php:211 +msgid "Search" +msgstr "Buscar" + +#: admin/slm-subscribers.php:170 +msgid "Overview - Manage Subscribers" +msgstr "Visión general - Administrar suscriptores" + +#: admin/slm-subscribers.php:172 +msgid "View all" +msgstr "Ver todos los" + +#: admin/slm-subscribers.php:181 +msgid "ID" +msgstr "Id" + +#: admin/slm-subscribers.php:182 woocommerce/includes/purchase.php:396 +msgid "License key" +msgstr "Clave de licencia" + +#: admin/slm-subscribers.php:183 +msgid "Status" +msgstr "Estado" + +#: admin/slm-subscribers.php:200 +msgid "Overview - All Subscribers" +msgstr "Visión general - Todos los suscriptores" + +#: includes/slm-meta-boxes.php:23 +msgid "License Manager" +msgstr "Administrador de licencias" + +#: includes/slm-meta-boxes.php:25 +msgid "Enables the license creation api." +msgstr "Habilita la API de creación de licencias." + +#: includes/slm-meta-boxes.php:73 +msgid "Licensing" +msgstr "Licencias" + +#: includes/slm-meta-boxes.php:93 +msgid "Domain Licenses" +msgstr "Licencias de dominio" + +#: includes/slm-meta-boxes.php:97 +msgid "Enter the allowed amount of domains this license can have (websites)." +msgstr "" +"Introduzca la cantidad permitida de dominios que esta licencia puede tener " +"(sitios web)." + +#: includes/slm-meta-boxes.php:103 +msgid "Devices Licenses" +msgstr "Licencias de dispositivos" + +#: includes/slm-meta-boxes.php:107 +msgid "" +"Enter the allowed amount of devices this license can have (computers, " +"mobile, etc)." +msgstr "" +"Introduzca la cantidad permitida de dispositivos que puede tener esta " +"licencia (ordenadores, móviles, etc.)." + +#: includes/slm-meta-boxes.php:113 +msgid "License Type" +msgstr "Tipo de licencia" + +#: includes/slm-meta-boxes.php:116 +msgid "type of license: subscription base or lifetime" +msgstr "tipo de licencia: base de suscripción o duración" + +#: includes/slm-meta-boxes.php:118 +msgid "Select one" +msgstr "Seleccione uno" + +#: includes/slm-meta-boxes.php:119 +msgid "subscription" +msgstr "Suscripción" + +#: includes/slm-meta-boxes.php:120 +msgid "lifetime" +msgstr "Vida" + +#: includes/slm-meta-boxes.php:127 +msgid "Renewal period " +msgstr "Período de renovación" + +#: includes/slm-meta-boxes.php:130 +msgid "License renewal period(yearly) , enter 0 for lifetime." +msgstr "" +"Período de renovación de la licencia (anual), escriba 0 durante la vida útil." + +#: includes/slm-meta-boxes.php:137 +msgid "Current Version" +msgstr "Versión actual" + +#: includes/slm-meta-boxes.php:140 +msgid "Enter the current version of your application, theme, or plug-in" +msgstr "" +"Introduzca la versión actual de la aplicación, el tema o el complemento" + +#: includes/slm-meta-boxes.php:147 +msgid "Until Version" +msgstr "Hasta la versión" + +#: includes/slm-meta-boxes.php:150 +msgid "Enter the version until support expires." +msgstr "Introduzca la versión hasta que expire el soporte técnico." + +#: includes/slm-meta-boxes.php:210 +msgid "License product" +msgstr "Producto de licencia" + +#: public/slm-add-menu-frontend.php:54 public/slm-add-menu-frontend.php:67 +msgid "My Licenses" +msgstr "Mis licencias" + +#. translators: %s: Customer first name +#: woocommerce/emails/customer-completed-order.php:13 +#, php-format +msgid "Hi %s," +msgstr "Hola %s," + +#. translators: %s: Site title +#: woocommerce/emails/customer-completed-order.php:15 +#, php-format +msgid "" +"Your %s order has been marked complete on our side. Here is you license " +"information." +msgstr "" +"Su pedido %s ha sido marcado como completo de nuestro lado. Aquí está la " +"información de su licencia." + +#: woocommerce/emails/customer-completed-order.php:23 +msgid "Thanks for shopping with us." +msgstr "Gracias por comprar con nosotros." + +#: woocommerce/includes/class.php:27 +msgid "Order Confirmation" +msgstr "Confirmación del pedido" + +#: woocommerce/includes/purchase.php:88 +msgid "License could not be created: Invalid sites allowed number." +msgstr "No se pudo crear la licencia: número permitido de sitios no válidos." + +#: woocommerce/includes/purchase.php:213 +msgid "License Key(s) generated" +msgstr "Clave(s) de licencia generada(s)" + +#: woocommerce/includes/purchase.php:230 +msgid "License Key(s) could not be created." +msgstr "No se han podido crear claves de licencia." + +#: woocommerce/includes/purchase.php:338 +msgid "Order confirmation email sent to: query_vars[self::$endpoint]); if ($is_endpoint && !is_admin() && is_main_query() && in_the_loop() && is_account_page()) { // New page title. - $title = __('My Licenses', 'woocommerce'); + $title = __('My Licenses', 'softwarelicensemanager'); remove_filter('the_title', array($this, 'endpoint_title')); } return $title; @@ -64,7 +64,7 @@ public function slm_woo_menu_list($items) unset($items['customer-logout']); // Insert your custom endpoint. - $items[self::$endpoint] = __('My Licenses', 'woocommerce'); + $items[self::$endpoint] = __('My Licenses', 'softwarelicensemanager'); // Insert back the logout item. $items['customer-logout'] = $logout; @@ -88,134 +88,140 @@ public function endpoint_content() ?> - - - - - - - - - - - - - - get_results("SELECT * FROM " . $wpdb->prefix . "postmeta WHERE `meta_value` = '" . $license_info->purchase_id_ . "' LIMIT 0,1000;", ARRAY_A); - ?> - - - - - - - +
    +
    OrderStatusLicense KeyExpirationInfo
    purchase_id_; ?>lic_status; ?>license_key; ?>date_expiry; ?>View Info
    + + + + + + + - - + get_results("SELECT * FROM " . $wpdb->prefix . "lic_key_tbl WHERE `license_key` = '" . $license_info->license_key . "' ORDER BY `id` LIMIT 0,1000;", ARRAY_A); + foreach ($result as $license_info) : ?> + get_results("SELECT * FROM " . $wpdb->prefix . "lic_reg_domain_tbl WHERE `lic_key` = '" . $license_info->license_key . "' ORDER BY `lic_key_id` LIMIT 0,1000;", ARRAY_A); + $get_subscription = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "postmeta WHERE `meta_value` = '" . $license_info->purchase_id_ . "' LIMIT 0,1000;", ARRAY_A); + ?> - $detailed_devices_info = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "lic_reg_devices_tbl WHERE `lic_key` = '" . $license_info->license_key . "' ORDER BY `lic_key_id` LIMIT 0,1000;", ARRAY_A); + + + + + + + + + - - - - +
    + + + + + +
    Tips and Tricks HQ -Text Domain: slm +Text Domain: softwarelicensemanager +Domain Path: /languages/ */ // If this file is called directly, abort. @@ -19,9 +19,9 @@ global $wpdb, $slm_debug_logger; //Short name/slug "SLM" or "slm" -define('SLM_VERSION', '4.12.1'); -define('SLM_DB_VERSION', '2.9.1'); -define('SLM_REWRITE_VERSION', '1.1.4'); +define('SLM_VERSION', '5.0.2'); +define('SLM_DB_VERSION', '4.0.12'); +define('SLM_REWRITE_VERSION', '2.1.3'); define('SLM_FOLDER', dirname(plugin_basename(__FILE__))); define('SLM_URL', plugins_url('' ,__FILE__)); define('SLM_ASSETS_URL', SLM_URL . '/public/assets/'); @@ -36,6 +36,7 @@ define('SLM_SITE_HOME_URL', home_url()); define('SLM_SITE_URL', get_site_url() . '/'); define('SLM_TBL_LICENSE_KEYS', $wpdb->prefix . "lic_key_tbl"); +define('SLM_TBL_EMAILS', $wpdb->prefix . "lic_emails_tbl"); define('SLM_TBL_LIC_DOMAIN', $wpdb->prefix . "lic_reg_domain_tbl"); define('SLM_TBL_LIC_DEVICES', $wpdb->prefix . "lic_reg_devices_tbl"); define('SLM_TBL_LIC_LOG', $wpdb->prefix . "lic_log_tbl"); @@ -47,6 +48,10 @@ require_once SLM_LIB . 'slm-plugin-core.php'; } +// Options and filters define('WOO_SLM_API_SECRET', SLM_Helper_Class::slm_get_option('lic_creation_secret')); define('KEY_API', SLM_Helper_Class::slm_get_option('lic_creation_secret')); define('KEY_API_PREFIX', SLM_Helper_Class::slm_get_option('lic_prefix')); + +add_filter('plugin_action_links_' . plugin_basename(__FILE__), 'slm_settings_link'); + diff --git a/software-license-manager/addons/loader.php b/software-license-manager/addons/loader.php new file mode 100644 index 0000000..b822895 --- /dev/null +++ b/software-license-manager/addons/loader.php @@ -0,0 +1,4 @@ +post->post_status == 'wc-completed') { + $output = ''; + + // Check if licenses were generated + $licenses = get_post_meta($order->post->ID, '_wc_slm_payment_licenses', true); + + if ($licenses && count($licenses) != 0) { + $output = '

    ' . __('Your Licenses', 'wc-slm') . ':

    '; + foreach ($licenses as $license) { + $output .= ''; + if (isset($license['item']) && isset($license['key'])) { + + if ($output) { + $output .= '
    '; + } + $output .= ''; + $output .= ''; + } else { + // $output .= 'No item and key assigned'; + } + /** + * added expire date in table + * @since 1.0.7 + * @author AvdP (Albert van der Ploeg) + */ + if (isset($license['expires'])) { + $output .= ''; + } + $output .= ''; + } + $output .= '
    ' . __('Item', 'wc-slm') . '' . __('License', 'wc-slm') . '' . __('Expire Date', 'wc-slm') . '
    ' . $license['item'] . '' . $license['key'] . '' . $license['expires'] . '
    '; + } else { + // $output .= 'No License Generatred'; + } + + echo $output; + } +} diff --git a/software-license-manager/addons/woocommerce/includes/helper.php b/software-license-manager/addons/woocommerce/includes/helper.php new file mode 100644 index 0000000..1f0300d --- /dev/null +++ b/software-license-manager/addons/woocommerce/includes/helper.php @@ -0,0 +1,23 @@ +'; + print_r($args); + echo '
    '; +} + +function wc_slm_log($msg) { + $log = ABSPATH . DIRECTORY_SEPARATOR . 'slm_log.txt'; + file_put_contents($log, $msg . ' +', FILE_APPEND); +} diff --git a/software-license-manager/addons/woocommerce/includes/purchase.php b/software-license-manager/addons/woocommerce/includes/purchase.php new file mode 100644 index 0000000..1e65268 --- /dev/null +++ b/software-license-manager/addons/woocommerce/includes/purchase.php @@ -0,0 +1,385 @@ +get_user_id(); + + //user data + $user_info = get_userdata($user_id); + +// write_log('user id '. $user_id); +// write_log('Username: ' . $user_info->user_login . "\n"); +// die(); + /** + * get details from billing form & added company name + * @since 1.0.2 + */ + $get_user_meta = get_user_meta($user_id); + $payment_meta['user_info']['first_name'] = $get_user_meta['billing_first_name'][0]; + $payment_meta['user_info']['last_name'] = $get_user_meta['billing_last_name'][0]; + $payment_meta['user_info']['email'] = $get_user_meta['billing_email'][0]; + $payment_meta['user_info']['company'] = $get_user_meta['billing_company'][0]; + + // Collect license keys + $licenses = array(); + $items = $_order->get_items(); + + foreach ($items as $item => $values) { + $download_id = $product_id = $values['product_id']; + $product = new WC_Product($product_id); + $variation_id = new WC_Product_Variation($product_id); + + //if ($product->is_downloadable() && $product->has_file()) { + + $download_quantity = absint($values['qty']); + + for ($i = 1; $i <= $download_quantity; $i++) { + /** + * Calculate Expire date + * @since 1.0.3 + */ + $renewal_period = (int) wc_slm_get_licensing_renewal_period($product_id); + + if ($renewal_period == 0) { + $renewal_period = '0000-00-00'; + } + else { + $renewal_period = date('Y-m-d', strtotime('+' . $renewal_period . ' years')); + } + // Sites allowed get license meta from variation + $sites_allowed = wc_slm_get_sites_allowed($product_id); + $amount_of_licenses = wc_slm_get_licenses_qty($product_id); + + if (!$sites_allowed) { + $sites_allowed_error = __('License could not be created: Invalid sites allowed number.', 'wc-slm'); + $int = wc_insert_payment_note($order_id, $sites_allowed_error); + break; + } + + // Get an instance of the WC_Order object (same as before) + $order = wc_get_order( $order_id ); + // Get the order ID + $order_id = $order->get_id(); + // Get the custumer ID + $order_id = $order->get_user_id(); + $order_data = $order->get_data(); // The Order data + + + // Iterating through each WC_Order_Item objects + foreach( $order-> get_items() as $item_key => $item_values ){ + + ## Using WC_Order_Item methods ## + $item_id = $item_values->get_id(); + $item_name = $item_values->get_name(); + $item_type = $item_values->get_type(); + ## Access Order Items data properties (in an array of values) ## + $item_data = $item_values->get_data(); + $product_name = $item_data['name']; + $product_id = $item_data['product_id']; + $variation_id = $item_data['variation_id']; + $quantity = $item_data['quantity']; + $tax_class = $item_data['tax_class']; + $line_subtotal = $item_data['subtotal']; + $line_subtotal_tax = $item_data['subtotal_tax']; + $line_total = $item_data['total']; + $line_total_tax = $item_data['total_tax']; + //$amount_of_licenses = $item_data['amount_of_licenses']; + //$amount_of_licenses = get_post_meta($product_id, 'amount_of_licenses', true); + $post_object = get_post($variation_id); + $amount_of_licenses = get_post_meta( $post_object->ID, 'amount_of_licenses', true); + $amount_of_licenses_devices = get_post_meta( $post_object->ID, 'amount_of_licenses_devices', true); + } + + + // Transaction id + $transaction_id = wc_get_payment_transaction_id($product_id); + + // Build item name + $item_name = $product->get_title(); + // $item_name = $product->get_formatted_name(); + + // Build parameters + $api_params = array(); + $api_params['slm_action'] = 'slm_create_new'; + $api_params['secret_key'] = KEY_API; + $api_params['first_name'] = (isset($payment_meta['user_info']['first_name'])) ? $payment_meta['user_info']['first_name'] : ''; + $api_params['last_name'] = (isset($payment_meta['user_info']['last_name'])) ? $payment_meta['user_info']['last_name'] : ''; + $api_params['email'] = (isset($payment_meta['user_info']['email'])) ? $payment_meta['user_info']['email'] : ''; + $api_params['company_name'] = $payment_meta['user_info']['company']; + /** + * set product id as txn + * @since 1.0.2 + * can be set to order id by $order_id var instead of $product_id + * @since 1.0.7 txn_id change from $product_id to $order_id + * @ref https://wordpress.org/support/topic/qty-1-generates-same-license + */ + $api_params['txn_id'] = $order_id; + // $api_params['max_allowed_domains'] = $sites_allowed; //unique per product + $api_params['max_allowed_domains'] = $amount_of_licenses; //unique per product + $api_params['max_allowed_devices'] = $amount_of_licenses_devices; //unique per product + $api_params['date_created'] = date('Y-m-d'); + $api_params['date_expiry'] = $renewal_period; + + +// write_log('sites - allowed: '.$sites_allowed); +// write_log('product id: '.$download_id); +// write_log('variation_id '.$variation_id); +// write_log('amount_of_licenses '.$amount_of_licenses); + +//die(); + + // Send query to the license manager server + $url = 'http://' . WC_SLM_API_URL . '?' . http_build_query($api_params); + $url = str_replace(array('http://', 'https://'), '', $url); + $url = 'http://' . $url; + +//write_log($url, array('timeout' => 20, 'sslverify' => false)); + + + $response = wp_remote_get($url, array('timeout' => 20, 'sslverify' => false)); + $license_key = wc_slm_get_license_key($response); + + + // Collect license keys + if ($license_key) { +//write_log('inside if $license_key'); + $licenses[] = array( + 'item' => $item_name, + 'key' => $license_key, + /** + * Add Expire Date + * @since 1.0.7 + * @author AvdP (Albert van der Ploeg) + */ + 'expires' => $renewal_period, + ); + } + else { +//write_log('inside else $license_key'); + } + } + + + } + + //wc_slm_print_pretty($payment_meta); + + // Payment note + + wc_slm_payment_note($order_id, $licenses); + + // Assign licenses + wc_slm_assign_licenses($order_id, $licenses); +} + +/** + * Get generated license key + * + * @since 1.0.0 + * @return mixed + */ +function wc_slm_get_license_key($response) { + // Check for error in the response + if (is_wp_error($response)) { + return false; + } + + // Get License data + $json = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', utf8_encode(wp_remote_retrieve_body($response))); + $license_data = json_decode($json); + + if (!isset($license_data->key)) { + return false; + } + + // Prepare note text + return $license_data->key; +} + +/** + * Leave payment not for license creation + * + * @since 1.0.0 + * @return void + */ +function wc_slm_payment_note($order_id, $licenses) { + + if ($licenses && count($licenses) != 0) { + $message = __('License Key(s) generated', 'wc-slm'); + + foreach ($licenses as $license) { + + $message .= '
    ' . $license['item'] . ': ' . $license['key']; + } + } else { + $message = __('License Key(s) could not be created.', 'wc-slm'); + } + + // Save note + $int = wc_insert_payment_note($order_id, $message); +} + +/** + * Assign generated license keys to payments + * + * @since 1.0.0 + * @return void + */ +function wc_slm_assign_licenses($order_id, $licenses) { + + if (count($licenses) != 0) { + update_post_meta($order_id, '_wc_slm_payment_licenses', $licenses); + } +} + +/** + * Get sites allowed from download. + * + * @since 1.0.0 + * @return mixed + */ +function wc_slm_get_sites_allowed($product_id) { + + $wc_slm_sites_allowed = absint(get_post_meta($product_id, '_wc_slm_sites_allowed', true)); + + if (empty($wc_slm_sites_allowed)) { + return false; + } + + return $wc_slm_sites_allowed; +} + +function wc_slm_get_licenses_qty($product_id) { + + $amount_of_licenses = absint(get_post_meta($product_id, '_amount_of_licenses', true)); + + if (empty($amount_of_licenses)) { + return false; + } + + return $amount_of_licenses; +} + +/** + * Get sites allowed from download. + * + * @since 1.0.0 + * @return mixed + */ +function wc_slm_get_licensing_renewal_period($product_id) { + + $wc_slm_sites_allowed = absint(get_post_meta($product_id, '_wc_slm_licensing_renewal_period', true)); + + if (empty($wc_slm_sites_allowed)) { + return 0; + } + + return $wc_slm_sites_allowed; +} + +/** + * Check if licensing for a certain download is enabled + * + * @since 1.0.0 + * @return bool + */ +function wc_slm_is_licensing_enabled($download_id) { + + $licensing_enabled = absint(get_post_meta($download_id, '_wc_slm_licensing_enabled', true)); + + // Set defaults + if ($licensing_enabled) { + return true; + } else { + return false; + } +} + +function wc_insert_payment_note($order_id, $msg) { + $order = new WC_Order($order_id); + $order->add_order_note($msg); +} + +function wc_get_payment_transaction_id($order_id) { + return get_post_meta($order_id, '_transaction_id', true); +} + +/** + * add license details to user account details + * @since 1.0.3 + */ +add_action('woocommerce_order_details_after_order_table', 'wc_slm_lic_order_meta', 10, 1); + +function wc_slm_lic_order_meta($order) { + $licenses = get_post_meta($order->post->ID, '_wc_slm_payment_licenses', true); + + if ($licenses && count($licenses) != 0) { + $output = '

    ' . __('Your Licenses', 'wc-slm') . ':

    '; + foreach ($licenses as $license) { + $output .= ''; + if (isset($license['item']) && isset($license['key'])) { + + if ($output) { + $output .= '
    '; + } + $output .= ''; + $output .= ''; + } else { + $output .= 'No item and key assigned'; + } + $output .= ''; + } + $output .= '
    ' . __('Item', 'wc-slm') . '' . __('License', 'wc-slm') . '
    ' . $license['item'] . '' . $license['key'] . '
    '; + } + + if (isset($output)) { + echo $output; + } + +} diff --git a/software-license-manager/addons/woocommerce/includes/settings.php b/software-license-manager/addons/woocommerce/includes/settings.php new file mode 100644 index 0000000..d57846f --- /dev/null +++ b/software-license-manager/addons/woocommerce/includes/settings.php @@ -0,0 +1,64 @@ + __('Software License Manager Settings', 'wc-slm'), 'type' => 'title', 'desc' => '', 'id' => 'wcslider'); + + // API URL Option filed + $settings_slm[] = array( + 'name' => __('API URL', 'wc-slm'), + 'desc_tip' => '', + 'id' => 'wc_slm_api_url', + 'type' => 'text', + 'desc' => 'Enter without http://', + ); + + // Secret Key + $settings_slm[] = array( + 'name' => __('Secret Key', 'wc-slm'), + 'desc_tip' => '', + 'id' => 'wc_slm_api_secret', + 'type' => 'text', + 'desc' => '', + ); + + $settings_slm[] = array('type' => 'sectionend', 'id' => 'wcslider'); + return $settings_slm; + + /** + * If not, return the standard settings + **/ + } else { + return $settings; + } +} \ No newline at end of file diff --git a/software-license-manager/addons/woocommerce/loader.php b/software-license-manager/addons/woocommerce/loader.php new file mode 100644 index 0000000..780e858 --- /dev/null +++ b/software-license-manager/addons/woocommerce/loader.php @@ -0,0 +1,103 @@ +setup_constants(); + self::$instance->includes(); + self::$instance->load_textdomain(); + } + + return self::$instance; + } + private function setup_constants() { + + // Plugin version + define('WC_SLM_VER', '1.0.8'); + + // Plugin path + define('WC_SLM_DIR', plugin_dir_path(__FILE__)); + // Plugin URL + define('WC_SLM_URL', plugin_dir_url(__FILE__)); + // SLM Credentials + $api_url = str_replace(array('http://'), array('https://'), rtrim(get_option('wc_slm_api_url'), '/')); + + // get api settinsg from options table + $slm_settings = get_option('slm_plugin_options'); + $lic_creation_secret = $slm_settings['lic_creation_secret']; + $lic_key_prefix = $slm_settings['lic_prefix']; + + define('WC_SLM_API_URL', $api_url); + define('WC_SLM_API_SECRET', get_option('wc_slm_api_secret')); + define('KEY_API', $lic_creation_secret); + define('KEY_API_PREFIX', $lic_key_prefix); +// write_log(KEY_API); +// write_log(KEY_API_PREFIX); + } + + private function includes() { + + // Get out if WC is not active + if (!function_exists('WC')) { + return; + } + + // log files and scripts + require_once WC_SLM_DIR . 'includes/helper.php'; + + if (is_admin()) { + require_once WC_SLM_DIR . 'includes/meta-boxes.php'; + require_once WC_SLM_DIR . 'includes/settings.php'; + } + + // purchases and emails + require_once WC_SLM_DIR . 'includes/emails.php'; + require_once WC_SLM_DIR . 'includes/purchase.php'; + } + + public function load_textdomain() { + + } + + public static function activation() { + // nothing + } + + public static function uninstall() { + // nothing + } + } + + function WC_SLM_load() { + + return WC_SLM::instance(); + } + + register_activation_hook(__FILE__, array('WC_SLM', 'activation')); + register_uninstall_hook(__FILE__, array('WC_SLM', 'uninstall')); + add_action('plugins_loaded', 'WC_SLM_load'); +} \ No newline at end of file diff --git a/software-license-manager/client-side-examples/index.html b/software-license-manager/client-side-examples/index.html new file mode 100644 index 0000000..e69de29 diff --git a/software-license-manager/client-side-examples/sample-php-scripts/create-license.php b/software-license-manager/client-side-examples/sample-php-scripts/create-license.php new file mode 100644 index 0000000..714880a --- /dev/null +++ b/software-license-manager/client-side-examples/sample-php-scripts/create-license.php @@ -0,0 +1,27 @@ +'; + echo '

    Sample License Management

    '; + + /*** License activate button was clicked ***/ + if (isset($_REQUEST['activate_license'])) { + $license_key = $_REQUEST['sample_license_key']; + + // API query parameters + $api_params = array( + 'slm_action' => 'slm_activate', + 'secret_key' => YOUR_SPECIAL_SECRET_KEY, + 'license_key' => $license_key, + 'registered_domain' => $_SERVER['SERVER_NAME'], + 'item_reference' => urlencode(YOUR_ITEM_REFERENCE), + ); + + // Send query to the license manager server + $query = esc_url_raw(add_query_arg($api_params, YOUR_LICENSE_SERVER_URL)); + $response = wp_remote_get($query, array('timeout' => 20, 'sslverify' => false)); + + // Check for error in the response + if (is_wp_error($response)){ + echo "Unexpected Error! The query returned with an error."; + } + + //var_dump($response);//uncomment it if you want to look at the full response + + // License data. + $license_data = json_decode(wp_remote_retrieve_body($response)); + + // TODO - Do something with it. + //var_dump($license_data);//uncomment it to look at the data + + if($license_data->result == 'success'){//Success was returned for the license activation + + //Uncomment the followng line to see the message that returned from the license server + echo '
    The following message was returned from the server: '.$license_data->message; + + //Save the license key in the options table + update_option('sample_license_key', $license_key); + } + else{ + //Show error to the user. Probably entered incorrect license key. + + //Uncomment the followng line to see the message that returned from the license server + echo '
    The following message was returned from the server: '.$license_data->message; + } + + } + /*** End of license activation ***/ + + /*** License activate button was clicked ***/ + if (isset($_REQUEST['deactivate_license'])) { + $license_key = $_REQUEST['sample_license_key']; + + // API query parameters + $api_params = array( + 'slm_action' => 'slm_deactivate', + 'secret_key' => YOUR_SPECIAL_SECRET_KEY, + 'license_key' => $license_key, + 'registered_domain' => $_SERVER['SERVER_NAME'], + 'item_reference' => urlencode(YOUR_ITEM_REFERENCE), + ); + + // Send query to the license manager server + $query = esc_url_raw(add_query_arg($api_params, YOUR_LICENSE_SERVER_URL)); + $response = wp_remote_get($query, array('timeout' => 20, 'sslverify' => false)); + + // Check for error in the response + if (is_wp_error($response)){ + echo "Unexpected Error! The query returned with an error."; + } + + //var_dump($response);//uncomment it if you want to look at the full response + + // License data. + $license_data = json_decode(wp_remote_retrieve_body($response)); + + // TODO - Do something with it. + //var_dump($license_data);//uncomment it to look at the data + + if($license_data->result == 'success'){//Success was returned for the license activation + + //Uncomment the followng line to see the message that returned from the license server + echo '
    The following message was returned from the server: '.$license_data->message; + + //Remove the licensse key from the options table. It will need to be activated again. + update_option('sample_license_key', ''); + } + else{ + //Show error to the user. Probably entered incorrect license key. + + //Uncomment the followng line to see the message that returned from the license server + echo '
    The following message was returned from the server: '.$license_data->message; + } + + } + /*** End of sample license deactivation ***/ + + ?> +

    Please enter the license key for this product to activate it. You were given a license key when you purchased this item.

    +
    + + + + + +
    +

    + + +

    +
    + '; +} \ No newline at end of file diff --git a/software-license-manager/css/jquery-ui.css b/software-license-manager/css/jquery-ui.css new file mode 100644 index 0000000..b775b44 --- /dev/null +++ b/software-license-manager/css/jquery-ui.css @@ -0,0 +1,1225 @@ +/*! jQuery UI - v1.11.0 - 2014-06-26 +* http://jqueryui.com +* Includes: core.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, draggable.css, menu.css, progressbar.css, resizable.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px +* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { + display: none; +} +.ui-helper-hidden-accessible { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} +.ui-helper-reset { + margin: 0; + padding: 0; + border: 0; + outline: 0; + line-height: 1.3; + text-decoration: none; + font-size: 100%; + list-style: none; +} +.ui-helper-clearfix:before, +.ui-helper-clearfix:after { + content: ""; + display: table; + border-collapse: collapse; +} +.ui-helper-clearfix:after { + clear: both; +} +.ui-helper-clearfix { + min-height: 0; /* support: IE7 */ +} +.ui-helper-zfix { + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; + opacity: 0; + filter:Alpha(Opacity=0); +} + +.ui-front { + z-index: 100; +} + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { + cursor: default !important; +} + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + display: block; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; +} + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.ui-accordion .ui-accordion-header { + display: block; + cursor: pointer; + position: relative; + margin: 2px 0 0 0; + padding: .5em .5em .5em .7em; + min-height: 0; /* support: IE7 */ + font-size: 100%; +} +.ui-accordion .ui-accordion-icons { + padding-left: 2.2em; +} +.ui-accordion .ui-accordion-icons .ui-accordion-icons { + padding-left: 2.2em; +} +.ui-accordion .ui-accordion-header .ui-accordion-header-icon { + position: absolute; + left: .5em; + top: 50%; + margin-top: -8px; +} +.ui-accordion .ui-accordion-content { + padding: 1em 2.2em; + border-top: 0; + overflow: auto; +} +.ui-autocomplete { + position: absolute; + top: 0; + left: 0; + cursor: default; +} +.ui-button { + display: inline-block; + position: relative; + padding: 0; + line-height: normal; + margin-right: .1em; + cursor: pointer; + vertical-align: middle; + text-align: center; + overflow: visible; /* removes extra width in IE */ +} +.ui-button, +.ui-button:link, +.ui-button:visited, +.ui-button:hover, +.ui-button:active { + text-decoration: none; +} +/* to make room for the icon, a width needs to be set here */ +.ui-button-icon-only { + width: 2.2em; +} +/* button elements seem to need a little more width */ +button.ui-button-icon-only { + width: 2.4em; +} +.ui-button-icons-only { + width: 3.4em; +} +button.ui-button-icons-only { + width: 3.7em; +} + +/* button text element */ +.ui-button .ui-button-text { + display: block; + line-height: normal; +} +.ui-button-text-only .ui-button-text { + padding: .4em 1em; +} +.ui-button-icon-only .ui-button-text, +.ui-button-icons-only .ui-button-text { + padding: .4em; + text-indent: -9999999px; +} +.ui-button-text-icon-primary .ui-button-text, +.ui-button-text-icons .ui-button-text { + padding: .4em 1em .4em 2.1em; +} +.ui-button-text-icon-secondary .ui-button-text, +.ui-button-text-icons .ui-button-text { + padding: .4em 2.1em .4em 1em; +} +.ui-button-text-icons .ui-button-text { + padding-left: 2.1em; + padding-right: 2.1em; +} +/* no icon support for input elements, provide padding by default */ +input.ui-button { + padding: .4em 1em; +} + +/* button icon element(s) */ +.ui-button-icon-only .ui-icon, +.ui-button-text-icon-primary .ui-icon, +.ui-button-text-icon-secondary .ui-icon, +.ui-button-text-icons .ui-icon, +.ui-button-icons-only .ui-icon { + position: absolute; + top: 50%; + margin-top: -8px; +} +.ui-button-icon-only .ui-icon { + left: 50%; + margin-left: -8px; +} +.ui-button-text-icon-primary .ui-button-icon-primary, +.ui-button-text-icons .ui-button-icon-primary, +.ui-button-icons-only .ui-button-icon-primary { + left: .5em; +} +.ui-button-text-icon-secondary .ui-button-icon-secondary, +.ui-button-text-icons .ui-button-icon-secondary, +.ui-button-icons-only .ui-button-icon-secondary { + right: .5em; +} + +/* button sets */ +.ui-buttonset { + margin-right: 7px; +} +.ui-buttonset .ui-button { + margin-left: 0; + margin-right: -.3em; +} + +/* workarounds */ +/* reset extra padding in Firefox, see h5bp.com/l */ +input.ui-button::-moz-focus-inner, +button.ui-button::-moz-focus-inner { + border: 0; + padding: 0; +} +.ui-datepicker { + width: 17em; + padding: .2em .2em 0; + display: none; +} +.ui-datepicker .ui-datepicker-header { + position: relative; + padding: .2em 0; +} +.ui-datepicker .ui-datepicker-prev, +.ui-datepicker .ui-datepicker-next { + position: absolute; + top: 2px; + width: 1.8em; + height: 1.8em; +} +.ui-datepicker .ui-datepicker-prev-hover, +.ui-datepicker .ui-datepicker-next-hover { + top: 1px; +} +.ui-datepicker .ui-datepicker-prev { + left: 2px; +} +.ui-datepicker .ui-datepicker-next { + right: 2px; +} +.ui-datepicker .ui-datepicker-prev-hover { + left: 1px; +} +.ui-datepicker .ui-datepicker-next-hover { + right: 1px; +} +.ui-datepicker .ui-datepicker-prev span, +.ui-datepicker .ui-datepicker-next span { + display: block; + position: absolute; + left: 50%; + margin-left: -8px; + top: 50%; + margin-top: -8px; +} +.ui-datepicker .ui-datepicker-title { + margin: 0 2.3em; + line-height: 1.8em; + text-align: center; +} +.ui-datepicker .ui-datepicker-title select { + font-size: 1em; + margin: 1px 0; +} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { + width: 49%; +} +.ui-datepicker table { + width: 100%; + font-size: .9em; + border-collapse: collapse; + margin: 0 0 .4em; +} +.ui-datepicker th { + padding: .7em .3em; + text-align: center; + font-weight: bold; + border: 0; +} +.ui-datepicker td { + border: 0; + padding: 1px; +} +.ui-datepicker td span, +.ui-datepicker td a { + display: block; + padding: .2em; + text-align: right; + text-decoration: none; +} +.ui-datepicker .ui-datepicker-buttonpane { + background-image: none; + margin: .7em 0 0 0; + padding: 0 .2em; + border-left: 0; + border-right: 0; + border-bottom: 0; +} +.ui-datepicker .ui-datepicker-buttonpane button { + float: right; + margin: .5em .2em .4em; + cursor: pointer; + padding: .2em .6em .3em .6em; + width: auto; + overflow: visible; +} +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { + float: left; +} + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { + width: auto; +} +.ui-datepicker-multi .ui-datepicker-group { + float: left; +} +.ui-datepicker-multi .ui-datepicker-group table { + width: 95%; + margin: 0 auto .4em; +} +.ui-datepicker-multi-2 .ui-datepicker-group { + width: 50%; +} +.ui-datepicker-multi-3 .ui-datepicker-group { + width: 33.3%; +} +.ui-datepicker-multi-4 .ui-datepicker-group { + width: 25%; +} +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { + border-left-width: 0; +} +.ui-datepicker-multi .ui-datepicker-buttonpane { + clear: left; +} +.ui-datepicker-row-break { + clear: both; + width: 100%; + font-size: 0; +} + +/* RTL support */ +.ui-datepicker-rtl { + direction: rtl; +} +.ui-datepicker-rtl .ui-datepicker-prev { + right: 2px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next { + left: 2px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-prev:hover { + right: 1px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next:hover { + left: 1px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane { + clear: right; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button { + float: left; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, +.ui-datepicker-rtl .ui-datepicker-group { + float: right; +} +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { + border-right-width: 0; + border-left-width: 1px; +} +.ui-dialog { + overflow: hidden; + position: absolute; + top: 0; + left: 0; + padding: .2em; + outline: 0; +} +.ui-dialog .ui-dialog-titlebar { + padding: .4em 1em; + position: relative; +} +.ui-dialog .ui-dialog-title { + float: left; + margin: .1em 0; + white-space: nowrap; + width: 90%; + overflow: hidden; + text-overflow: ellipsis; +} +.ui-dialog .ui-dialog-titlebar-close { + position: absolute; + right: .3em; + top: 50%; + width: 20px; + margin: -10px 0 0 0; + padding: 1px; + height: 20px; +} +.ui-dialog .ui-dialog-content { + position: relative; + border: 0; + padding: .5em 1em; + background: none; + overflow: auto; +} +.ui-dialog .ui-dialog-buttonpane { + text-align: left; + border-width: 1px 0 0 0; + background-image: none; + margin-top: .5em; + padding: .3em 1em .5em .4em; +} +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { + float: right; +} +.ui-dialog .ui-dialog-buttonpane button { + margin: .5em .4em .5em 0; + cursor: pointer; +} +.ui-dialog .ui-resizable-se { + width: 12px; + height: 12px; + right: -5px; + bottom: -5px; + background-position: 16px 16px; +} +.ui-draggable .ui-dialog-titlebar { + cursor: move; +} +.ui-draggable-handle { + -ms-touch-action: none; + touch-action: none; +} +.ui-menu { + list-style: none; + padding: 0; + margin: 0; + display: block; + outline: none; +} +.ui-menu .ui-menu { + position: absolute; +} +.ui-menu .ui-menu-item { + position: relative; + margin: 0; + padding: 3px 1em 3px .4em; + cursor: pointer; + min-height: 0; /* support: IE7 */ + /* support: IE10, see #8844 */ + list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); +} +.ui-menu .ui-menu-divider { + margin: 5px 0; + height: 0; + font-size: 0; + line-height: 0; + border-width: 1px 0 0 0; +} +.ui-menu .ui-state-focus, +.ui-menu .ui-state-active { + margin: -1px; +} + +/* icon support */ +.ui-menu-icons { + position: relative; +} +.ui-menu-icons .ui-menu-item { + padding-left: 2em; +} + +/* left-aligned */ +.ui-menu .ui-icon { + position: absolute; + top: 0; + bottom: 0; + left: .2em; + margin: auto 0; +} + +/* right-aligned */ +.ui-menu .ui-menu-icon { + left: auto; + right: 0; +} +.ui-progressbar { + height: 2em; + text-align: left; + overflow: hidden; +} +.ui-progressbar .ui-progressbar-value { + margin: -1px; + height: 100%; +} +.ui-progressbar .ui-progressbar-overlay { + background: url("images/animated-overlay.gif"); + height: 100%; + filter: alpha(opacity=25); + opacity: 0.25; +} +.ui-progressbar-indeterminate .ui-progressbar-value { + background-image: none; +} +.ui-resizable { + position: relative; +} +.ui-resizable-handle { + position: absolute; + font-size: 0.1px; + display: block; + -ms-touch-action: none; + touch-action: none; +} +.ui-resizable-disabled .ui-resizable-handle, +.ui-resizable-autohide .ui-resizable-handle { + display: none; +} +.ui-resizable-n { + cursor: n-resize; + height: 7px; + width: 100%; + top: -5px; + left: 0; +} +.ui-resizable-s { + cursor: s-resize; + height: 7px; + width: 100%; + bottom: -5px; + left: 0; +} +.ui-resizable-e { + cursor: e-resize; + width: 7px; + right: -5px; + top: 0; + height: 100%; +} +.ui-resizable-w { + cursor: w-resize; + width: 7px; + left: -5px; + top: 0; + height: 100%; +} +.ui-resizable-se { + cursor: se-resize; + width: 12px; + height: 12px; + right: 1px; + bottom: 1px; +} +.ui-resizable-sw { + cursor: sw-resize; + width: 9px; + height: 9px; + left: -5px; + bottom: -5px; +} +.ui-resizable-nw { + cursor: nw-resize; + width: 9px; + height: 9px; + left: -5px; + top: -5px; +} +.ui-resizable-ne { + cursor: ne-resize; + width: 9px; + height: 9px; + right: -5px; + top: -5px; +} +.ui-selectable { + -ms-touch-action: none; + touch-action: none; +} +.ui-selectable-helper { + position: absolute; + z-index: 100; + border: 1px dotted black; +} +.ui-selectmenu-menu { + padding: 0; + margin: 0; + position: absolute; + top: 0; + left: 0; + display: none; +} +.ui-selectmenu-menu .ui-menu { + overflow: auto; + /* Support: IE7 */ + overflow-x: hidden; + padding-bottom: 1px; +} +.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup { + font-size: 1em; + font-weight: bold; + line-height: 1.5; + padding: 2px 0.4em; + margin: 0.5em 0 0 0; + height: auto; + border: 0; +} +.ui-selectmenu-open { + display: block; +} +.ui-selectmenu-button { + display: inline-block; + overflow: hidden; + position: relative; + text-decoration: none; + cursor: pointer; +} +.ui-selectmenu-button span.ui-icon { + right: 0.5em; + left: auto; + margin-top: -8px; + position: absolute; + top: 50%; +} +.ui-selectmenu-button span.ui-selectmenu-text { + text-align: left; + padding: 0.4em 2.1em 0.4em 1em; + display: block; + line-height: 1.4; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.ui-slider { + position: relative; + text-align: left; +} +.ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1.2em; + height: 1.2em; + cursor: default; + -ms-touch-action: none; + touch-action: none; +} +.ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + background-position: 0 0; +} + +/* For IE8 - See #6727 */ +.ui-slider.ui-state-disabled .ui-slider-handle, +.ui-slider.ui-state-disabled .ui-slider-range { + filter: inherit; +} + +.ui-slider-horizontal { + height: .8em; +} +.ui-slider-horizontal .ui-slider-handle { + top: -.3em; + margin-left: -.6em; +} +.ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.ui-slider-horizontal .ui-slider-range-min { + left: 0; +} +.ui-slider-horizontal .ui-slider-range-max { + right: 0; +} + +.ui-slider-vertical { + width: .8em; + height: 100px; +} +.ui-slider-vertical .ui-slider-handle { + left: -.3em; + margin-left: 0; + margin-bottom: -.6em; +} +.ui-slider-vertical .ui-slider-range { + left: 0; + width: 100%; +} +.ui-slider-vertical .ui-slider-range-min { + bottom: 0; +} +.ui-slider-vertical .ui-slider-range-max { + top: 0; +} +.ui-sortable-handle { + -ms-touch-action: none; + touch-action: none; +} +.ui-spinner { + position: relative; + display: inline-block; + overflow: hidden; + padding: 0; + vertical-align: middle; +} +.ui-spinner-input { + border: none; + background: none; + color: inherit; + padding: 0; + margin: .2em 0; + vertical-align: middle; + margin-left: .4em; + margin-right: 22px; +} +.ui-spinner-button { + width: 16px; + height: 50%; + font-size: .5em; + padding: 0; + margin: 0; + text-align: center; + position: absolute; + cursor: default; + display: block; + overflow: hidden; + right: 0; +} +/* more specificity required here to override default borders */ +.ui-spinner a.ui-spinner-button { + border-top: none; + border-bottom: none; + border-right: none; +} +/* vertically center icon */ +.ui-spinner .ui-icon { + position: absolute; + margin-top: -8px; + top: 50%; + left: 0; +} +.ui-spinner-up { + top: 0; +} +.ui-spinner-down { + bottom: 0; +} + +/* TR overrides */ +.ui-spinner .ui-icon-triangle-1-s { + /* need to fix icons sprite */ + background-position: -65px -16px; +} +.ui-tabs { + position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ + padding: .2em; +} +.ui-tabs .ui-tabs-nav { + margin: 0; + padding: .2em .2em 0; +} +.ui-tabs .ui-tabs-nav li { + list-style: none; + float: left; + position: relative; + top: 0; + margin: 1px .2em 0 0; + border-bottom-width: 0; + padding: 0; + white-space: nowrap; +} +.ui-tabs .ui-tabs-nav .ui-tabs-anchor { + float: left; + padding: .5em 1em; + text-decoration: none; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active { + margin-bottom: -1px; + padding-bottom: 1px; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, +.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, +.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { + cursor: text; +} +.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { + cursor: pointer; +} +.ui-tabs .ui-tabs-panel { + display: block; + border-width: 0; + padding: 1em 1.4em; + background: none; +} +.ui-tooltip { + padding: 8px; + position: absolute; + z-index: 9999; + max-width: 300px; + -webkit-box-shadow: 0 0 5px #aaa; + box-shadow: 0 0 5px #aaa; +} +body .ui-tooltip { + border-width: 2px; +} + +/* Component containers +----------------------------------*/ +.ui-widget { + font-family: Verdana,Arial,sans-serif; + font-size: 1.1em; +} +.ui-widget .ui-widget { + font-size: 1em; +} +.ui-widget input, +.ui-widget select, +.ui-widget textarea, +.ui-widget button { + font-family: Verdana,Arial,sans-serif; + font-size: 1em; +} +.ui-widget-content { + border: 1px solid #aaaaaa; + background: #ffffff url("images/ui-bg_flat_75_ffffff_40x100.png") 50% 50% repeat-x; + color: #222222; +} +.ui-widget-content a { + color: #222222; +} +.ui-widget-header { + border: 1px solid #aaaaaa; + background: #cccccc url("images/ui-bg_highlight-soft_75_cccccc_1x100.png") 50% 50% repeat-x; + color: #222222; + font-weight: bold; +} +.ui-widget-header a { + color: #222222; +} + +/* Interaction states +----------------------------------*/ +.ui-state-default, +.ui-widget-content .ui-state-default, +.ui-widget-header .ui-state-default { + border: 1px solid #d3d3d3; + background: #e6e6e6 url("images/ui-bg_glass_75_e6e6e6_1x400.png") 50% 50% repeat-x; + font-weight: normal; + color: #555555; +} +.ui-state-default a, +.ui-state-default a:link, +.ui-state-default a:visited { + color: #555555; + text-decoration: none; +} +.ui-state-hover, +.ui-widget-content .ui-state-hover, +.ui-widget-header .ui-state-hover, +.ui-state-focus, +.ui-widget-content .ui-state-focus, +.ui-widget-header .ui-state-focus { + border: 1px solid #999999; + background: #dadada url("images/ui-bg_glass_75_dadada_1x400.png") 50% 50% repeat-x; + font-weight: normal; + color: #212121; +} +.ui-state-hover a, +.ui-state-hover a:hover, +.ui-state-hover a:link, +.ui-state-hover a:visited, +.ui-state-focus a, +.ui-state-focus a:hover, +.ui-state-focus a:link, +.ui-state-focus a:visited { + color: #212121; + text-decoration: none; +} +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active { + border: 1px solid #aaaaaa; + background: #ffffff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x; + font-weight: normal; + color: #212121; +} +.ui-state-active a, +.ui-state-active a:link, +.ui-state-active a:visited { + color: #212121; + text-decoration: none; +} + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, +.ui-widget-content .ui-state-highlight, +.ui-widget-header .ui-state-highlight { + border: 1px solid #fcefa1; + background: #fbf9ee url("images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x; + color: #363636; +} +.ui-state-highlight a, +.ui-widget-content .ui-state-highlight a, +.ui-widget-header .ui-state-highlight a { + color: #363636; +} +.ui-state-error, +.ui-widget-content .ui-state-error, +.ui-widget-header .ui-state-error { + border: 1px solid #cd0a0a; + background: #fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x; + color: #cd0a0a; +} +.ui-state-error a, +.ui-widget-content .ui-state-error a, +.ui-widget-header .ui-state-error a { + color: #cd0a0a; +} +.ui-state-error-text, +.ui-widget-content .ui-state-error-text, +.ui-widget-header .ui-state-error-text { + color: #cd0a0a; +} +.ui-priority-primary, +.ui-widget-content .ui-priority-primary, +.ui-widget-header .ui-priority-primary { + font-weight: bold; +} +.ui-priority-secondary, +.ui-widget-content .ui-priority-secondary, +.ui-widget-header .ui-priority-secondary { + opacity: .7; + filter:Alpha(Opacity=70); + font-weight: normal; +} +.ui-state-disabled, +.ui-widget-content .ui-state-disabled, +.ui-widget-header .ui-state-disabled { + opacity: .35; + filter:Alpha(Opacity=35); + background-image: none; +} +.ui-state-disabled .ui-icon { + filter:Alpha(Opacity=35); /* For IE8 - See #6059 */ +} + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + width: 16px; + height: 16px; +} +.ui-icon, +.ui-widget-content .ui-icon { + background-image: url("images/ui-icons_222222_256x240.png"); +} +.ui-widget-header .ui-icon { + background-image: url("images/ui-icons_222222_256x240.png"); +} +.ui-state-default .ui-icon { + background-image: url("images/ui-icons_888888_256x240.png"); +} +.ui-state-hover .ui-icon, +.ui-state-focus .ui-icon { + background-image: url("images/ui-icons_454545_256x240.png"); +} +.ui-state-active .ui-icon { + background-image: url("images/ui-icons_454545_256x240.png"); +} +.ui-state-highlight .ui-icon { + background-image: url("images/ui-icons_2e83ff_256x240.png"); +} +.ui-state-error .ui-icon, +.ui-state-error-text .ui-icon { + background-image: url("images/ui-icons_cd0a0a_256x240.png"); +} + +/* positioning */ +.ui-icon-blank { background-position: 16px 16px; } +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-on { background-position: -96px -144px; } +.ui-icon-radio-off { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, +.ui-corner-top, +.ui-corner-left, +.ui-corner-tl { + border-top-left-radius: 4px; +} +.ui-corner-all, +.ui-corner-top, +.ui-corner-right, +.ui-corner-tr { + border-top-right-radius: 4px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-left, +.ui-corner-bl { + border-bottom-left-radius: 4px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-right, +.ui-corner-br { + border-bottom-right-radius: 4px; +} + +/* Overlays */ +.ui-widget-overlay { + background: #aaaaaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x; + opacity: .3; + filter: Alpha(Opacity=30); +} +.ui-widget-shadow { + margin: -8px 0 0 -8px; + padding: 8px; + background: #aaaaaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x; + opacity: .3; + filter: Alpha(Opacity=30); + border-radius: 8px; +} diff --git a/software-license-manager/includes/slm-api-listener.php b/software-license-manager/includes/slm-api-listener.php new file mode 100644 index 0000000..23d8812 --- /dev/null +++ b/software-license-manager/includes/slm-api-listener.php @@ -0,0 +1,350 @@ +creation_api_listener(); + $this->activation_api_listener(); + $this->deactivation_api_listener(); + $this->check_api_listener(); + } + } + + function creation_api_listener() { + if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_create_new') { + //Handle the licene creation API query + global $slm_debug_logger; + + $options = get_option('slm_plugin_options'); + $lic_key_prefix = $options['lic_prefix']; + + SLM_API_Utility::verify_secret_key_for_creation(); //Verify the secret key first. + + $slm_debug_logger->log_debug("API - license creation (slm_create_new) request received."); + + //Action hook + do_action('slm_api_listener_slm_create_new'); + + $fields = array(); + if (isset($_REQUEST['license_key']) && !empty($_REQUEST['license_key'])){ + $fields['license_key'] = strip_tags($_REQUEST['license_key']);//Use the key you pass via the request + } + else{ + $fields['license_key'] = uniqid($lic_key_prefix);//Use random generated key + } + $fields['lic_status'] = 'pending'; + $fields['first_name'] = wp_unslash(strip_tags($_REQUEST['first_name'])); + $fields['last_name'] = wp_unslash(strip_tags($_REQUEST['last_name'])); + $fields['email'] = strip_tags($_REQUEST['email']); + $fields['company_name'] = isset( $_REQUEST['company_name'] ) ? wp_unslash( strip_tags( $_REQUEST['company_name'] ) ) : ''; + $fields['txn_id'] = strip_tags($_REQUEST['txn_id']); + + if (empty($_REQUEST['max_allowed_domains'])) { + $fields['max_allowed_domains'] = $options['default_max_domains']; + } + else { + $fields['max_allowed_domains'] = strip_tags($_REQUEST['max_allowed_domains']); + } + if (empty($_REQUEST['max_allowed_devices'])) { + $fields['max_allowed_devices'] = $options['default_max_devices']; + } + else { + $fields['max_allowed_devices'] = strip_tags($_REQUEST['max_allowed_devices']); + } + $fields['date_created'] = isset($_REQUEST['date_created'])?strip_tags($_REQUEST['date_created']):date("Y-m-d"); + $fields['date_expiry'] = isset($_REQUEST['date_expiry'])?strip_tags($_REQUEST['date_expiry']):''; + $fields['product_ref'] = isset( $_REQUEST['product_ref'] ) ? wp_unslash( strip_tags( $_REQUEST['product_ref'] ) ) : ''; + + global $wpdb; + $tbl_name = SLM_TBL_LICENSE_KEYS; + $result = $wpdb->insert($tbl_name, $fields); + if ($result === false) { + //error inserting + $args = (array('result' => 'error', 'message' => 'License creation failed', 'error_code' => SLM_Error_Codes::CREATE_FAILED)); + SLM_API_Utility::output_api_response($args); + } else { + $args = (array('result' => 'success', 'message' => 'License successfully created', 'key' => $fields['license_key'])); + SLM_API_Utility::output_api_response($args); + } + } + } + + /* + * Query Parameters + * 1) slm_action = slm_create_new + * 2) secret_key + * 3) license_key + * 4) registered_domain (optional) + */ + + function activation_api_listener() { + if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_activate') { + //Handle the license activation API query + global $slm_debug_logger; + + SLM_API_Utility::verify_secret_key(); //Verify the secret key first. + + $slm_debug_logger->log_debug("API - license activation (slm_activate) request received."); + + //Action hook + do_action('slm_api_listener_slm_activate'); + + $fields = array(); + $fields['lic_key'] = trim(strip_tags($_REQUEST['license_key'])); + $fields['registered_domain'] = trim(wp_unslash(strip_tags($_REQUEST['registered_domain']))); //gethostbyaddr($_SERVER['REMOTE_ADDR']); + $fields['registered_devices'] = trim(wp_unslash(strip_tags($_REQUEST['registered_devices']))); //client ip or machine name + $fields['item_reference'] = trim(strip_tags($_REQUEST['item_reference'])); + + $slm_debug_logger->log_debug("License key: " . $fields['lic_key'] . " Domain: " . $fields['registered_domain']); + $slm_debug_logger->log_debug("License key: " . $fields['lic_key'] . " Device: " . $fields['registered_devices']); + + global $wpdb; + $tbl_name = SLM_TBL_LICENSE_KEYS; + $reg_table = SLM_TBL_LIC_DOMAIN; + $reg_table_devices = SLM_TBL_LIC_DEVICES; + + $key = $fields['lic_key']; + + // $sql_prep0 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); + $sql_prep1 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); + $retLic = $wpdb->get_row($sql_prep1, OBJECT); + // $retLicDevices = $wpdb->get_row($sql_prep0, OBJECT); + + $sql_prep2 = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key = %s", $key); + $reg_domains = $wpdb->get_results($sql_prep2, OBJECT); + + $sql_prep3 = $wpdb->prepare("SELECT * FROM $reg_table_devices WHERE lic_key = %s", $key); + $reg_devices = $wpdb->get_results($sql_prep3, OBJECT); + + if ($retLic) { + if ($retLic->lic_status == 'blocked') { + $args = (array('result' => 'error', 'message' => 'Your License key is blocked', 'error_code' => SLM_Error_Codes::LICENSE_BLOCKED)); + SLM_API_Utility::output_api_response($args); + } + elseif ($retLic->lic_status == 'expired') { + $args = (array('result' => 'error', 'message' => 'Your License key has expired', 'error_code' => SLM_Error_Codes::LICENSE_EXPIRED)); + SLM_API_Utility::output_api_response($args); + } + + if (isset($_REQUEST['registered_domain']) && !empty($_REQUEST['registered_domain'])) { + if (count($reg_domains) < floor($retLic->max_allowed_domains)) { + foreach ($reg_domains as $reg_domain) { + if (isset($_REQUEST['migrate_from']) && (trim($_REQUEST['migrate_from']) == $reg_domain->registered_domain)) { + $wpdb->update($reg_table, array('registered_domain' => $fields['registered_domain']), array('registered_domain' => trim(strip_tags($_REQUEST['migrate_from'])))); + $args = (array('result' => 'success', 'message' => 'Registered domain has been updated')); + SLM_API_Utility::output_api_response($args); + } + if ($fields['registered_domain'] == $reg_domain->registered_domain) { + $args = (array('result' => 'error', 'message' => 'License key already in use on ' . $reg_domain->registered_domain, 'error_code' => SLM_Error_Codes::LICENSE_IN_USE)); + SLM_API_Utility::output_api_response($args); + } + } + + $fields['lic_key_id'] = $retLic->id; + $wpdb->insert($reg_table, $fields); + + $slm_debug_logger->log_debug("Updating license key status to active for domain."); + $data = array('lic_status' => 'active'); + $where = array('id' => $retLic->id); + $updated = $wpdb->update($tbl_name, $data, $where); + + $args = (array('result' => 'success', 'message' => 'License key activated')); + SLM_API_Utility::output_api_response($args); + } + else { + $args = (array('result' => 'error', 'message' => 'Reached maximum allowable domains', 'error_code' => SLM_Error_Codes::REACHED_MAX_DOMAINS)); + SLM_API_Utility::output_api_response($args); + } + } + + + if (isset($_REQUEST['registered_devices']) && !empty($_REQUEST['registered_devices'])) { + + if (count($reg_devices) < floor($retLic->max_allowed_devices)) { + + foreach ($reg_devices as $reg_devices) { + if (isset($_REQUEST['migrate_from']) && (trim($_REQUEST['migrate_from']) == $reg_devices->registered_devices)) { + + $wpdb->update($reg_table_devices, array('registered_devices' => $fields['registered_devices']), array('registered_devices' => trim(strip_tags($_REQUEST['migrate_from'])))); + $devices_args = (array('result' => 'success', 'message' => 'Registered device has been updated')); + SLM_API_Utility::output_api_response($devices_args); + } + if ($fields['registered_devices'] == $reg_devices->registered_devices) { + $devices_args = (array('result' => 'error', 'message' => 'License key already in use on ' . $reg_devices->registered_devices, 'error_code' => SLM_Error_Codes::LICENSE_IN_USE)); + SLM_API_Utility::output_api_response($devices_args); + } + } + + $fields['lic_key_id'] = $retLic->id; + $wpdb->insert($reg_table_devices, $fields); + + $slm_debug_logger->log_debug("Updating license key status to active for device."); + $data = array('lic_status' => 'active'); + $where = array('id' => $retLic->id); + $updated = $wpdb->update($tbl_name, $data, $where); + + $args = (array('result' => 'success', 'message' => 'License key activated')); + SLM_API_Utility::output_api_response($args); + } + + else { + $args = (array('result' => 'error', 'message' => 'Reached maximum allowable devices', 'error_code' => SLM_Error_Codes::REACHED_MAX_DEVICES)); + SLM_API_Utility::output_api_response($args); + } + } + + } else { + $args = (array('result' => 'error', 'message' => 'Invalid license key', 'error_code' => SLM_Error_Codes::LICENSE_INVALID)); + SLM_API_Utility::output_api_response($args); + } + } + } + + // TODO : add support for devices deactivation + + function deactivation_api_listener() { + if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_deactivate') { + //Handle the license deactivation API query + global $slm_debug_logger; + + SLM_API_Utility::verify_secret_key(); //Verify the secret key first. + + $slm_debug_logger->log_debug("API - license deactivation (slm_deactivate) request received."); + + //Action hook + do_action('slm_api_listener_slm_deactivate'); + + $registered_domain = trim(wp_unslash(strip_tags($_REQUEST['registered_domain']))); + $license_key = trim(strip_tags($_REQUEST['license_key'])); + $slm_debug_logger->log_debug("License key: " . $license_key . " Domain: " . $registered_domain); + $registered_devices = trim(wp_unslash(strip_tags($_REQUEST['registered_devices']))); + + global $wpdb; + + if (isset($_REQUEST['registered_domain']) && !empty($_REQUEST['registered_domain'])) { + if (empty($_REQUEST['registered_domain'])) { + $args = (array('result' => 'error', 'message' => 'Registered domain information is missing', 'error_code' => SLM_Error_Codes::DOMAIN_MISSING)); + SLM_API_Utility::output_api_response($args); + } + else { + $registered_dom_table = SLM_TBL_LIC_DOMAIN; + $sql_prep = $wpdb->prepare("DELETE FROM $registered_dom_table WHERE lic_key=%s AND registered_domain=%s", $license_key, $registered_domain); + $delete = $wpdb->query($sql_prep); + + if ($delete === false) { + $slm_debug_logger->log_debug("Error - failed to delete the registered domain from the database."); + } + else if ($delete == 0) { + $args = (array('result' => 'error', 'message' => 'The license key on this domain is already inactive', 'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE)); + SLM_API_Utility::output_api_response($args); + } + else { + $args = (array('result' => 'success', 'message' => 'The license key has been deactivated for this domain')); + SLM_API_Utility::output_api_response($args); + } + } + } + if (isset($_REQUEST['registered_devices']) && !empty($_REQUEST['registered_devices'])) { + // devices deactivation + if (empty($_REQUEST['registered_devices'])) { + $args_ = (array('result' => 'error', 'message' => 'Registered device information is missing', 'error_code' => SLM_Error_Codes::DOMAIN_MISSING)); + SLM_API_Utility::output_api_response($args_); + } + else { + $registered_device_table = SLM_TBL_LIC_DEVICES; + $sql_prep2 = $wpdb->prepare("DELETE FROM $registered_device_table WHERE lic_key=%s AND registered_devices=%s", $license_key, $registered_devices); + $delete2 = $wpdb->query($sql_prep2); + + if ($delete2 === false) { + $slm_debug_logger->log_debug("Error - failed to delete the registered device from the database."); + } + else if ($delete2 == 0) { + $args_ = (array('result' => 'error', 'message' => 'The license key on this device is already inactive', 'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE)); + SLM_API_Utility::output_api_response($args_); + } + else { + $args_ = (array('result' => 'success', 'message' => 'The license key has been deactivated for this device')); + SLM_API_Utility::output_api_response($args_); + } + } + } + } + } + + function check_api_listener() { + if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_check') { + //Handle the license check API query + global $slm_debug_logger; + + SLM_API_Utility::verify_secret_key(); //Verify the secret key first. + + $slm_debug_logger->log_debug("API - license check (slm_check) request received."); + + $fields = array(); + $fields['lic_key'] = trim(strip_tags($_REQUEST['license_key'])); + $slm_debug_logger->log_debug("License key: " . $fields['lic_key']); + + //Action hook + do_action('slm_api_listener_slm_check'); + + global $wpdb; + $tbl_name = SLM_TBL_LICENSE_KEYS; + $reg_table = SLM_TBL_LIC_DOMAIN; + $reg_table_devices = SLM_TBL_LIC_DEVICES; + $key = $fields['lic_key']; + $sql_prep1 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); + $retLic = $wpdb->get_row($sql_prep1, OBJECT); + + $sql_prep2 = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key = %s", $key); + $sql_prep3 = $wpdb->prepare("SELECT * FROM $reg_table_devices WHERE lic_key = %s", $key); + + $reg_domains = $wpdb->get_results($sql_prep2, OBJECT); + $reg_devices = $wpdb->get_results($sql_prep3, OBJECT); + if ($retLic) {//A license key exists + $args = (array( + 'result' => 'success', + 'code' => '200', + 'message' => 'License key details retrieved.', + 'status' => $retLic->lic_status, + 'max_allowed_domains' => $retLic->max_allowed_domains, + 'max_allowed_devices' => $retLic->max_allowed_devices, + 'email' => $retLic->email, + 'first_name' => $retLic->first_name, + 'last_name' => $retLic->last_name, + // 'until' => $retLic->until, //until what version license is supported + 'registered_domains' => $reg_domains, + 'registered_devices' => $reg_devices, + 'license_key' => $retLic->license_key, + 'date_created' => $retLic->date_created, + 'date_renewed' => $retLic->date_renewed, + 'date_expiry' => $retLic->date_expiry, + 'product_ref' => $retLic->product_ref, + 'first_name' => $retLic->first_name, + 'last_name' => $retLic->last_name, + 'company_name' => $retLic->company_name, + 'txn_id' => $retLic->txn_id, + + )); + //Output the license details + SLM_API_Utility::output_api_response($args); + } + else { + $args = (array('result' => 'error', 'message' => 'Invalid license key', 'error_code' => SLM_Error_Codes::LICENSE_INVALID)); + SLM_API_Utility::output_api_response($args); + } + } + } + +} \ No newline at end of file diff --git a/software-license-manager/includes/slm-api-utility.php b/software-license-manager/includes/slm-api-utility.php new file mode 100644 index 0000000..75eca81 --- /dev/null +++ b/software-license-manager/includes/slm-api-utility.php @@ -0,0 +1,57 @@ +log_debug('API Response - Result: ' . $args['result'] . ' Message: ' . $args['message']); + //Send response + header('Content-Type: application/json'); //ERICH + echo json_encode($args); + exit(0); + } + + static function verify_secret_key() { + $slm_options = get_option('slm_plugin_options'); + $right_secret_key = $slm_options['lic_verification_secret']; + $received_secret_key = strip_tags($_REQUEST['secret_key']); + if ($received_secret_key != $right_secret_key) { + $args = (array('result' => 'error', 'message' => 'Verification API secret key is invalid', 'error_code' => SLM_Error_Codes::VERIFY_KEY_INVALID)); + SLM_API_Utility::output_api_response($args); + } + } + + static function verify_secret_key_for_creation() { + $slm_options = get_option('slm_plugin_options'); + $right_secret_key = $slm_options['lic_creation_secret']; + $received_secret_key = strip_tags($_REQUEST['secret_key']); + if ($received_secret_key != $right_secret_key) { + $args = (array('result' => 'error', 'message' => 'License Creation API secret key is invalid', 'error_code' => SLM_Error_Codes::CREATE_KEY_INVALID)); + SLM_API_Utility::output_api_response($args); + } + } + + static function insert_license_data_internal($fields) { + /* The fields array should have values for the following keys + //$fields['license_key'] + //$fields['lic_status'] + //$fields['first_name'] + //$fields['last_name'] + //$fields['email'] + //$fields['company_name'] + //$fields['txn_id'] + //$fields['max_allowed_domains'] + */ + global $wpdb; + $tbl_name = SLM_TBL_LICENSE_KEYS; + $fields = array_filter($fields);//Remove any null values. + $result = $wpdb->insert($tbl_name, $fields); + } + +} \ No newline at end of file diff --git a/software-license-manager/includes/slm-error-codes.php b/software-license-manager/includes/slm-error-codes.php new file mode 100644 index 0000000..cdad6ce --- /dev/null +++ b/software-license-manager/includes/slm-error-codes.php @@ -0,0 +1,20 @@ +load_scripts(); + + //Add other init time operations here + add_action ('slm_daily_cron_event', array(&$this, 'slm_daily_cron_event_handler')); + } + + function load_scripts() + { + //Load all common scripts and styles only + wp_enqueue_script('jquery'); + + //Load all admin side scripts and styles only + if(is_admin()) + { + wp_enqueue_script('jquery-ui-datepicker'); + wp_enqueue_script('wplm-custom-admin-js', WP_LICENSE_MANAGER_URL . '/js/wplm-custom-admin.js', array( 'jquery-ui-dialog' ));//admin only custom js code + + if (isset($_GET['page']) && $_GET['page'] == 'wp_lic_mgr_addedit') {//Only include if we are in the license add/edit interface + wp_enqueue_style('jquery-ui-style', WP_LICENSE_MANAGER_URL .'/css/jquery-ui.css'); + } + //wp_enqueue_style('dialogStylesheet', includes_url().'css/jquery-ui-dialog.css'); + } + } + + function slm_daily_cron_event_handler() + { + $options = get_option('slm_plugin_options'); + + do_action('slm_daily_cron_event_triggered'); + + if ( isset($options['enable_auto_key_expiry']) && $options['enable_auto_key_expiry'] == '1'){ + //Do the auto key expiry task + SLM_Debug_Logger::log_debug_st("SLM daily cronjob - auto expiry of license key is enabled."); + SLM_Utility::do_auto_key_expiry(); + } + + //Do any ohter daily cronjob tasks. + + } + +}//End of class \ No newline at end of file diff --git a/software-license-manager/includes/slm-meta-boxes.php b/software-license-manager/includes/slm-meta-boxes.php new file mode 100644 index 0000000..00ed4e1 --- /dev/null +++ b/software-license-manager/includes/slm-meta-boxes.php @@ -0,0 +1,64 @@ +'; + + // License Field + woocommerce_wp_text_input( + array( + 'id' => 'amount_of_licenses['. $loop .']', + 'label' => __( 'Number of Licenses (domain)', 'woocommerce' ), + 'placeholder' => '1-20', + 'desc_tip' => true, + 'wrapper_class' => 'form-row form-row-first', + 'description' => __( 'Ideal for themes, plugins, and websites', 'woocommerce' ), + 'value' => get_post_meta($variation->ID, 'amount_of_licenses', true) + ) + ); + + echo "
    "; + + echo '
    '; + + // License Field + woocommerce_wp_text_input( + array( + 'id' => 'amount_of_licenses_devices['. $loop .']', + 'label' => __( 'Number of Licenses (devices)', 'woocommerce' ), + 'placeholder' => '1-20', + 'desc_tip' => true, + 'wrapper_class' => 'form-row form-row-first', + 'description' => __( 'Ideal for software and apps.', 'woocommerce' ), + 'value' => get_post_meta($variation->ID, 'amount_of_licenses_devices', true) + ) + ); + + echo "
    "; + +} + +/** Save new fields for variations */ +function save_variation_fields( $variation_id, $i) { + + // License Field + $text_field = stripslashes( $_POST['amount_of_licenses'][$i] ); + update_post_meta( $variation_id, 'amount_of_licenses', esc_attr( $text_field ) ); + + $text_field = stripslashes( $_POST['amount_of_licenses_devices'][$i] ); + update_post_meta( $variation_id, 'amount_of_licenses_devices', esc_attr( $text_field ) ); + +} \ No newline at end of file diff --git a/software-license-manager/includes/slm-third-party-integration.php b/software-license-manager/includes/slm-third-party-integration.php new file mode 100644 index 0000000..b873982 --- /dev/null +++ b/software-license-manager/includes/slm-third-party-integration.php @@ -0,0 +1,301 @@ +log_debug("WP eStore integration - checking if a license key needs to be created for this transaction."); + $products_table_name = $wpdb->prefix . "wp_eStore_tbl"; + $slm_data = ""; + + foreach ($cart_items as $current_cart_item) { + $prod_id = $current_cart_item['item_number']; + $qty = $current_cart_item['quantity']; + $retrieved_product = $wpdb->get_row("SELECT * FROM $products_table_name WHERE id = '$prod_id'", OBJECT); + $package_product = eStore_is_package_product($retrieved_product); + if ($package_product) { + $slm_debug_logger->log_debug('Checking license key generation for package/bundle product.'); + $product_ids = explode(',', $retrieved_product->product_download_url); + foreach ($product_ids as $id) { + $id = trim($id); + $retrieved_product_for_specific_id = $wpdb->get_row("SELECT * FROM $products_table_name WHERE id = '$id'", OBJECT); + $slm_data .= slm_estore_check_and_generate_key($retrieved_product_for_specific_id, $payment_data, $cart_items, $qty); + } + } else { + $slm_debug_logger->log_debug('Checking license key generation for single item product.'); + $slm_data .= slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items, $qty); + } + } + + $body = str_replace("{slm_data}", $slm_data, $body); + return $body; +} + +function slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items, $qty=1) { + global $slm_debug_logger; + $license_data = ''; + + if ($retrieved_product->create_license == 1) { + $requested_qty = (int)$qty; + $slm_debug_logger->log_debug('Need to create a license key for this product: ' . $retrieved_product->id . '. Requested qty: ' . $requested_qty); + if($requested_qty > 1){ + //More than 1 qty of the same product + for($i=0; $i < $requested_qty; $i++){ + $slm_key = slm_estore_create_license($retrieved_product, $payment_data, $cart_items); + $license_data .= "\n" . __('Item Name: ', 'slm') . $retrieved_product->name . " - " . __('License Key '.($i+1).': ', 'slm') . $slm_key; + } + } + else { + //Standard 1 qty + $slm_key = slm_estore_create_license($retrieved_product, $payment_data, $cart_items); + $license_data = "\n" . __('Item Name: ', 'slm') . $retrieved_product->name . " - " . __('License Key: ', 'slm') . $slm_key; + } + + $slm_debug_logger->log_debug('Liense data: ' . $license_data); + $license_data = apply_filters('slm_estore_item_license_data', $license_data); + } + return $license_data; +} + +function slm_estore_create_license($retrieved_product, $payment_data, $cart_items) { + global $slm_debug_logger; + global $wpdb; + $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; + + //Retrieve the default settings values. + $options = get_option('slm_plugin_options'); + $lic_key_prefix = $options['lic_prefix']; + $max_domains = $options['default_max_domains']; + $max_devices = $options['default_max_devices']; + + //Lets check any product specific configuration. + $prod_id = $retrieved_product->id; + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_domains'", OBJECT); + if ($product_meta) { + //Found product specific SLM config data. + $max_domains = $product_meta->meta_value; + } else { + //Use the default value from settings (the $max_domains variable contains the default value already). + } + + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_devices'", OBJECT); + if ($product_meta) { + //Found product specific SLM config data. + $max_devices = $product_meta->meta_value; + } else { + //Use the default value from settings (the $max_domains variable contains the default value already). + } + + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_devices'", OBJECT); + if ($product_meta) { + //Found product specific SLM config data. + $max_devices = $product_meta->meta_value; + } else { + //Use the default value from settings (the $max_domains variable contains the default value already). + } //Lets check if any product specific expiry date is set + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_date_of_expiry'", OBJECT); + if ($product_meta) { + //Found product specific SLM config data. + $num_days_before_expiry = $product_meta->meta_value; + $slm_date_of_expiry = date('Y-m-d', strtotime('+'.$num_days_before_expiry.' days')); + } else { + //Use the default value (1 year from today). + $current_date_plus_1year = date('Y-m-d', strtotime('+1 year')); + $slm_date_of_expiry = $current_date_plus_1year; + } + + + $fields = array(); + $fields['license_key'] = uniqid($lic_key_prefix); + $fields['lic_status'] = 'pending'; + $fields['first_name'] = $payment_data['first_name']; + $fields['last_name'] = $payment_data['last_name']; + $fields['email'] = $payment_data['payer_email']; + $fields['company_name'] = $payment_data['company_name']; + $fields['txn_id'] = $payment_data['txn_id']; + $fields['max_allowed_domains'] = $max_domains; + $fields['max_allowed_devices'] = $max_devices; + $fields['date_created'] = date("Y-m-d"); //Today's date + $fields['date_expiry'] = $slm_date_of_expiry; + + $slm_debug_logger->log_debug('Inserting license data into the license manager DB table.'); + $fields = array_filter($fields); //Remove any null values. + + + $tbl_name = SLM_TBL_LICENSE_KEYS; + $result = $wpdb->insert($tbl_name, $fields); + if (!$result) { + $slm_debug_logger->log_debug('Notice! initial database table insert failed on license key table (User Email: ' . $fields['email'] . '). Trying again by converting charset', true); + //Convert the default PayPal IPN charset to UTF-8 format + $first_name = mb_convert_encoding($fields['first_name'], "UTF-8", "windows-1252"); + $fields['first_name'] = esc_sql($first_name); + $last_name = mb_convert_encoding($fields['last_name'], "UTF-8", "windows-1252"); + $fields['last_name'] = esc_sql($last_name); + $company_name = mb_convert_encoding($fields['company_name'], "UTF-8", "windows-1252"); + $fields['company_name'] = esc_sql($company_name); + + $result = $wpdb->insert($tbl_name, $fields); + if (!$result) { + $slm_debug_logger->log_debug('Error! Failed to update license key table. DB insert query failed.', false); + } + } + //SLM_API_Utility::insert_license_data_internal($fields); + + return $fields['license_key']; +} + +/* Code to handle the eStore's product add/edit interface for SLM specific product configuration */ +add_filter('eStore_addon_product_settings_filter', 'slm_estore_product_configuration_html', 10, 2); //Render the product add/edit HTML +add_action('eStore_new_product_added', 'slm_estore_new_product_added', 10, 2); //Handle the DB insert after a product add. +add_action('eStore_product_updated', 'slm_estore_product_updated', 10, 2); //Handle the DB update after a product edit. +add_action('eStore_product_deleted', 'slm_estore_product_deleted'); //Handle the DB delete after a product delete. + +function slm_estore_product_configuration_html($product_config_html, $prod_id) { + global $wpdb; + $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; + + if (empty($prod_id)) { + //New product add + $slm_max_allowed_domains = ""; + $slm_max_allowed_devices = ""; + $slm_date_of_expiry = ""; + } else { + //Existing product edit + + //Retrieve the max domain value + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_domains'", OBJECT); + if ($product_meta) { + $slm_max_allowed_domains = $product_meta->meta_value; + } else { + $slm_max_allowed_domains = ""; + } + + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_devices'", OBJECT); + if ($product_meta) { + $slm_max_allowed_devices = $product_meta->meta_value; + } else { + $slm_max_allowed_devices = ""; + } + + //Retrieve the expiry date value + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_date_of_expiry'", OBJECT); + if ($product_meta) { + $slm_date_of_expiry = $product_meta->meta_value; + } else { + $slm_date_of_expiry = ""; + } + + } + + $product_config_html .= '
    Software License Manager Plugin (Click to Expand)
    '; + + $product_config_html .= ''; + + $product_config_html .= ''; + + $product_config_html .= ''; + + $product_config_html .= '
    Maximum Allowed Domains'; + $product_config_html .= ''; + $product_config_html .= '

    Number of domains/installs in which this license can be used. Leave blank if you wish to use the default value set in the license manager plugin settings.

    '; + $product_config_html .= '
    Maximum Allowed Devices'; + $product_config_html .= ''; + $product_config_html .= '

    Number of devices in which this license can be used. Leave blank if you wish to use the default value set in the license manager plugin settings.

    '; + $product_config_html .= '
    Number of Days before Expiry'; + $product_config_html .= ' Days'; + $product_config_html .= '

    Number of days before expiry. The expiry date of the license will be set based on this value. For example, if you want the key to expire in 6 months then enter a value of 180.

    '; + $product_config_html .= '
    '; + + return $product_config_html; +} + +function slm_estore_new_product_added($prod_dat_array, $prod_id) { + global $wpdb; + $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; + + //Save max domain value + $fields = array(); + $fields['prod_id'] = $prod_id; + $fields['meta_key'] = 'slm_max_allowed_domains'; + $fields['meta_value'] = $prod_dat_array['slm_max_allowed_domains']; + $fields['meta_key'] = 'slm_max_allowed_devices'; + $fields['meta_value'] = $prod_dat_array['slm_max_allowed_devices']; + $result = $wpdb->insert($product_meta_table_name, $fields); + if (!$result) { + //insert query failed + } + + //Save expiry date value + $fields = array(); + $fields['prod_id'] = $prod_id; + $fields['meta_key'] = 'slm_date_of_expiry'; + $fields['meta_value'] = $prod_dat_array['slm_date_of_expiry']; + $result = $wpdb->insert($product_meta_table_name, $fields); + if (!$result) { + //insert query failed + } + +} + +function slm_estore_product_updated($prod_dat_array, $prod_id) { + global $wpdb; + $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; + + //Find the existing value for the max domains field (for the given product) + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_domains'", OBJECT); + if ($product_meta) { + //Found existing value so lets update it + $fields = array(); + $fields['meta_key'] = 'slm_max_allowed_domains'; + $fields['meta_key'] = 'slm_max_allowed_devices'; + $fields['meta_value'] = $prod_dat_array['slm_max_allowed_domains']; + $fields['meta_value'] = $prod_dat_array['slm_max_allowed_devices']; + $result = $wpdb->update($product_meta_table_name, $fields, array('prod_id' => $prod_id)); + + } else { + //No value for this field was there so lets insert one. + $fields = array(); + $fields['prod_id'] = $prod_id; + $fields['meta_key'] = 'slm_max_allowed_domains'; + $fields['meta_key'] = 'slm_max_allowed_devices'; + $fields['meta_value'] = $prod_dat_array['slm_max_allowed_domains']; + $fields['meta_value'] = $prod_dat_array['slm_max_allowed_devices']; + $result = $wpdb->insert($product_meta_table_name, $fields); + } + + //Find the existing value for the expiry date field (for the given product) + $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_date_of_expiry'", OBJECT); + if ($product_meta) { + //Found existing value so lets update it + $fields = array(); + $fields['meta_key'] = 'slm_date_of_expiry'; + $fields['meta_value'] = $prod_dat_array['slm_date_of_expiry']; + $result = $wpdb->update($product_meta_table_name, $fields, array('prod_id' => $prod_id)); + + } else { + //No value for this field was there so lets insert one. + $fields = array(); + $fields['prod_id'] = $prod_id; + $fields['meta_key'] = 'slm_date_of_expiry'; + $fields['meta_value'] = $prod_dat_array['slm_date_of_expiry']; + $result = $wpdb->insert($product_meta_table_name, $fields); + } + +} + +function slm_estore_product_deleted($prod_id) { + global $wpdb; + $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; + + $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_max_allowed_domains')); + $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_max_allowed_devices')); + $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_date_of_expiry')); +} + +/************************************/ +/*** End of WP eStore integration ***/ +/************************************/ \ No newline at end of file diff --git a/software-license-manager/includes/slm-utility.php b/software-license-manager/includes/slm-utility.php new file mode 100644 index 0000000..eb9a678 --- /dev/null +++ b/software-license-manager/includes/slm-utility.php @@ -0,0 +1,73 @@ +prepare("SELECT * FROM $tbl_name WHERE lic_status !=%s", 'expired');//Load the non-expired keys + $licenses = $wpdb->get_results($sql_prep, OBJECT); + if(!$licenses){ + SLM_Debug_Logger::log_debug_st("do_auto_key_expiry() - no license keys found."); + return false; + } + + foreach($licenses as $license){ + $key = $license->license_key; + $expiry_date = $license->date_expiry; + if ($expiry_date == '0000-00-00'){ + SLM_Debug_Logger::log_debug_st("This key (".$key.") doesn't have a valid expiry date set. The expiry of this key will not be checked."); + continue; + } + + $today_dt = new DateTime($current_date); + $expire_dt = new DateTime($expiry_date); + if ($today_dt > $expire_dt) { + //This key has reached the expiry. So expire this key. + SLM_Debug_Logger::log_debug_st("This key (".$key.") has expired. Expiry date: ".$expiry_date.". Setting license key status to expired."); + $data = array('lic_status' => 'expired'); + $where = array('id' => $license->id); + $updated = $wpdb->update($tbl_name, $data, $where); + do_action('slm_license_key_expired',$license->id);//Trigger the license expired action hook. + } + + } + } + + /* + * Deletes a license key from the licenses table + */ + static function delete_license_key_by_row_id($key_row_id) { + global $wpdb; + $license_table = SLM_TBL_LICENSE_KEYS; + + //First delete the registered domains entry of this key (if any). + SLM_Utility::delete_registered_domains_of_key($key_row_id); + + //Now, delete the key from the licenses table. + $wpdb->delete( $license_table, array( 'id' => $key_row_id ) ); + + } + + /* + * Deletes any registered domains info from the domain table for the given key's row id. + */ + static function delete_registered_domains_of_key($key_row_id) { + global $slm_debug_logger; + global $wpdb; + $reg_table = SLM_TBL_LIC_DOMAIN; + $sql_prep = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key_id = %s", $key_row_id); + $reg_domains = $wpdb->get_results($sql_prep, OBJECT); + foreach ($reg_domains as $domain) { + $row_to_delete = $domain->id; + $wpdb->delete( $reg_table, array( 'id' => $row_to_delete ) ); + //$slm_debug_logger->log_debug("Registered domain with row id (".$row_to_delete.") deleted."); + } + } + +} \ No newline at end of file diff --git a/software-license-manager/index.html b/software-license-manager/index.html new file mode 100644 index 0000000..e69de29 diff --git a/software-license-manager/js/index.html b/software-license-manager/js/index.html new file mode 100644 index 0000000..e69de29 diff --git a/software-license-manager/js/wplm-custom-admin.js b/software-license-manager/js/wplm-custom-admin.js new file mode 100644 index 0000000..313fbc1 --- /dev/null +++ b/software-license-manager/js/wplm-custom-admin.js @@ -0,0 +1,11 @@ +jQuery(document).ready(function($){ + //Add date picker listener on date fields + if ($.fn.datepicker){ + $('.wplm_pick_date').datepicker({ + dateFormat : 'yy-mm-dd' + }); + } + + //Add other admin side only jquery code below + +}); \ No newline at end of file diff --git a/software-license-manager/menu/includes/index.html b/software-license-manager/menu/includes/index.html new file mode 100644 index 0000000..e69de29 diff --git a/software-license-manager/menu/includes/slm-list-table-class.php b/software-license-manager/menu/includes/slm-list-table-class.php new file mode 100644 index 0000000..466af4f --- /dev/null +++ b/software-license-manager/menu/includes/slm-list-table-class.php @@ -0,0 +1,907 @@ + '', + 'singular' => '', + 'ajax' => false, + 'screen' => null, + ) ); + + $this->screen = convert_to_screen( $args['screen'] ); + + add_filter( "manage_{$this->screen->id}_columns", array( &$this, 'get_columns' ), 0 ); + + if ( !$args['plural'] ) + $args['plural'] = $this->screen->base; + + $args['plural'] = sanitize_key( $args['plural'] ); + $args['singular'] = sanitize_key( $args['singular'] ); + + $this->_args = $args; + + if ( $args['ajax'] ) { + // wp_enqueue_script( 'list-table' ); + add_action( 'admin_footer', array( &$this, '_js_vars' ) ); + } + } + + /** + * Checks the current user's permissions + * @uses wp_die() + * + * @since 3.1.0 + * @access public + * @abstract + */ + function ajax_user_can() { + die( 'function WP_Photo_Seller_List_Table::ajax_user_can() must be over-ridden in a sub-class.' ); + } + + /** + * Prepares the list of items for displaying. + * @uses WP_Photo_Seller_List_Table::set_pagination_args() + * + * @since 3.1.0 + * @access public + * @abstract + */ + function prepare_items() { + die( 'function WP_Photo_Seller_List_Table::prepare_items() must be over-ridden in a sub-class.' ); + } + + /** + * An internal method that sets all the necessary pagination arguments + * + * @param array $args An associative array with information about the pagination + * @access protected + */ + function set_pagination_args( $args ) { + $args = wp_parse_args( $args, array( + 'total_items' => 0, + 'total_pages' => 0, + 'per_page' => 0, + ) ); + + if ( !$args['total_pages'] && $args['per_page'] > 0 ) + $args['total_pages'] = ceil( $args['total_items'] / $args['per_page'] ); + + // redirect if page number is invalid and headers are not already sent + if ( ! headers_sent() && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) && $args['total_pages'] > 0 && $this->get_pagenum() > $args['total_pages'] ) { + wp_redirect( esc_url(add_query_arg( 'paged', $args['total_pages'] )) ); + exit; + } + + $this->_pagination_args = $args; + } + + /** + * Access the pagination args + * + * @since 3.1.0 + * @access public + * + * @param string $key + * @return array + */ + function get_pagination_arg( $key ) { + if ( 'page' == $key ) + return $this->get_pagenum(); + + if ( isset( $this->_pagination_args[$key] ) ) + return $this->_pagination_args[$key]; + } + + /** + * Whether the table has items to display or not + * + * @since 3.1.0 + * @access public + * + * @return bool + */ + function has_items() { + return !empty( $this->items ); + } + + /** + * Message to be displayed when there are no items + * + * @since 3.1.0 + * @access public + */ + function no_items() { + _e( 'No items found.' ); + } + + /** + * Display the search box. + * + * @since 3.1.0 + * @access public + * + * @param string $text The search button text + * @param string $input_id The search input id + */ + function search_box( $text, $input_id ) { + if ( empty( $_REQUEST['s'] ) && !$this->has_items() ) + return; + + $input_id = $input_id . '-search-input'; + + if ( ! empty( $_REQUEST['orderby'] ) ) + echo ''; + if ( ! empty( $_REQUEST['order'] ) ) + echo ''; + if ( ! empty( $_REQUEST['post_mime_type'] ) ) + echo ''; + if ( ! empty( $_REQUEST['detached'] ) ) + echo ''; +?> + + link ) with the list + * of views available on this table. + * + * @since 3.1.0 + * @access protected + * + * @return array + */ + function get_views() { + return array(); + } + + /** + * Display the list of views available on this table. + * + * @since 3.1.0 + * @access public + */ + function views() { + $views = $this->get_views(); + $views = apply_filters( 'views_' . $this->screen->id, $views ); + + if ( empty( $views ) ) + return; + + echo "
      \n"; + foreach ( $views as $class => $view ) { + $views[ $class ] = "\t
    • $view"; + } + echo implode( " |
    • \n", $views ) . "\n"; + echo "
    "; + } + + /** + * Get an associative array ( option_name => option_title ) with the list + * of bulk actions available on this table. + * + * @since 3.1.0 + * @access protected + * + * @return array + */ + function get_bulk_actions() { + return array(); + } + + /** + * Display the bulk actions dropdown. + * + * @since 3.1.0 + * @access public + */ + function bulk_actions() { + if ( is_null( $this->_actions ) ) { + $no_new_actions = $this->_actions = $this->get_bulk_actions(); + // This filter can currently only be used to remove actions. + $this->_actions = apply_filters( 'bulk_actions-' . $this->screen->id, $this->_actions ); + $this->_actions = array_intersect_assoc( $this->_actions, $no_new_actions ); + $two = ''; + } else { + $two = '2'; + } + + if ( empty( $this->_actions ) ) + return; + + echo "\n"; + + submit_button( __( 'Apply' ), 'action', false, false, array( 'id' => "doaction$two" ) ); + echo "\n"; + } + + /** + * Get the current action selected from the bulk actions dropdown. + * + * @since 3.1.0 + * @access public + * + * @return string|bool The action name or False if no action was selected + */ + function current_action() { + if ( isset( $_REQUEST['action'] ) && -1 != $_REQUEST['action'] ) + return $_REQUEST['action']; + + if ( isset( $_REQUEST['action2'] ) && -1 != $_REQUEST['action2'] ) + return $_REQUEST['action2']; + + return false; + } + + /** + * Generate row actions div + * + * @since 3.1.0 + * @access protected + * + * @param array $actions The list of actions + * @param bool $always_visible Whether the actions should be always visible + * @return string + */ + function row_actions( $actions, $always_visible = false ) { + $action_count = count( $actions ); + $i = 0; + + if ( !$action_count ) + return ''; + + $out = '
    '; + foreach ( $actions as $action => $link ) { + ++$i; + ( $i == $action_count ) ? $sep = '' : $sep = ' | '; + $out .= "$link$sep"; + } + $out .= '
    '; + + return $out; + } + + /** + * Display a monthly dropdown for filtering items + * + * @since 3.1.0 + * @access protected + */ + function months_dropdown( $post_type ) { + global $wpdb, $wp_locale; + + $months = $wpdb->get_results( $wpdb->prepare( " + SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month + FROM $wpdb->posts + WHERE post_type = %s + ORDER BY post_date DESC + ", $post_type ) ); + + $month_count = count( $months ); + + if ( !$month_count || ( 1 == $month_count && 0 == $months[0]->month ) ) + return; + + $m = isset( $_GET['m'] ) ? (int) $_GET['m'] : 0; +?> + + __( 'List View' ), + 'excerpt' => __( 'Excerpt View' ) + ); + +?> + +
    + $title ) { + $class = ( $current_mode == $mode ) ? 'class="current"' : ''; + echo "$title\n"; + } + ?> +
    +'; + + echo "" . number_format_i18n( get_comments_number() ) . ""; + + if ( $pending_comments ) + echo ''; + } + + /** + * Get the current page number + * + * @since 3.1.0 + * @access protected + * + * @return int + */ + function get_pagenum() { + $pagenum = isset( $_REQUEST['paged'] ) ? absint( $_REQUEST['paged'] ) : 0; + + if( isset( $this->_pagination_args['total_pages'] ) && $pagenum > $this->_pagination_args['total_pages'] ) + $pagenum = $this->_pagination_args['total_pages']; + + return max( 1, $pagenum ); + } + + /** + * Get number of items to display on a single page + * + * @since 3.1.0 + * @access protected + * + * @return int + */ + function get_items_per_page( $option, $default = 20 ) { + $per_page = (int) get_user_option( $option ); + if ( empty( $per_page ) || $per_page < 1 ) + $per_page = $default; + + return (int) apply_filters( $option, $per_page ); + } + + /** + * Display the pagination. + * + * @since 3.1.0 + * @access protected + */ + function pagination( $which ) { + if ( empty( $this->_pagination_args ) ) + return; + + extract( $this->_pagination_args, EXTR_SKIP ); + + $output = '' . sprintf( _n( '1 item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . ''; + + $current = $this->get_pagenum(); + + $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ); + + $current_url = remove_query_arg( array( 'hotkeys_highlight_last', 'hotkeys_highlight_first' ), $current_url ); + + $page_links = array(); + + $disable_first = $disable_last = ''; + if ( $current == 1 ) + $disable_first = ' disabled'; + if ( $current == $total_pages ) + $disable_last = ' disabled'; + + $page_links[] = sprintf( "%s", + 'first-page' . $disable_first, + esc_attr__( 'Go to the first page' ), + esc_url( remove_query_arg( 'paged', $current_url ) ), + '«' + ); + + $page_links[] = sprintf( "%s", + 'prev-page' . $disable_first, + esc_attr__( 'Go to the previous page' ), + esc_url( add_query_arg( 'paged', max( 1, $current-1 ), $current_url ) ), + '‹' + ); + + if ( 'bottom' == $which ) + $html_current_page = $current; + else + $html_current_page = sprintf( "", + esc_attr__( 'Current page' ), + $current, + strlen( $total_pages ) + ); + + $html_total_pages = sprintf( "%s", number_format_i18n( $total_pages ) ); + $page_links[] = '' . sprintf( _x( '%1$s of %2$s', 'paging' ), $html_current_page, $html_total_pages ) . ''; + + $page_links[] = sprintf( "%s", + 'next-page' . $disable_last, + esc_attr__( 'Go to the next page' ), + esc_url( add_query_arg( 'paged', min( $total_pages, $current+1 ), $current_url ) ), + '›' + ); + + $page_links[] = sprintf( "%s", + 'last-page' . $disable_last, + esc_attr__( 'Go to the last page' ), + esc_url( add_query_arg( 'paged', $total_pages, $current_url ) ), + '»' + ); + + $pagination_links_class = 'pagination-links'; + if ( ! empty( $infinite_scroll ) ) + $pagination_links_class = ' hide-if-js'; + $output .= "\n" . join( "\n", $page_links ) . ''; + + if ( $total_pages ) + $page_class = $total_pages < 2 ? ' one-page' : ''; + else + $page_class = ' no-pages'; + + $this->_pagination = "
    $output
    "; + + echo $this->_pagination; + } + + /** + * Get a list of columns. The format is: + * 'internal-name' => 'Title' + * + * @since 3.1.0 + * @access protected + * @abstract + * + * @return array + */ + function get_columns() { + die( 'function WP_Photo_Seller_List_Table::get_columns() must be over-ridden in a sub-class.' ); + } + + /** + * Get a list of sortable columns. The format is: + * 'internal-name' => 'orderby' + * or + * 'internal-name' => array( 'orderby', true ) + * + * The second format will make the initial sorting order be descending + * + * @since 3.1.0 + * @access protected + * + * @return array + */ + function get_sortable_columns() { + return array(); + } + + /** + * Get a list of all, hidden and sortable columns, with filter applied + * + * @since 3.1.0 + * @access protected + * + * @return array + */ + function get_column_info() { + if ( isset( $this->_column_headers ) ) + return $this->_column_headers; + + $columns = get_column_headers( $this->screen ); + $hidden = get_hidden_columns( $this->screen ); + + $_sortable = apply_filters( "manage_{$this->screen->id}_sortable_columns", $this->get_sortable_columns() ); + + $sortable = array(); + foreach ( $_sortable as $id => $data ) { + if ( empty( $data ) ) + continue; + + $data = (array) $data; + if ( !isset( $data[1] ) ) + $data[1] = false; + + $sortable[$id] = $data; + } + + $this->_column_headers = array( $columns, $hidden, $sortable ); + + return $this->_column_headers; + } + + /** + * Return number of visible columns + * + * @since 3.1.0 + * @access public + * + * @return int + */ + function get_column_count() { + list ( $columns, $hidden ) = $this->get_column_info(); + $hidden = array_intersect( array_keys( $columns ), array_filter( $hidden ) ); + return count( $columns ) - count( $hidden ); + } + + /** + * Print column headers, accounting for hidden and sortable columns. + * + * @since 3.1.0 + * @access protected + * + * @param bool $with_id Whether to set the id attribute or not + */ + function print_column_headers( $with_id = true ) { + list( $columns, $hidden, $sortable ) = $this->get_column_info(); + + $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ); + $current_url = remove_query_arg( 'paged', $current_url ); + + if ( isset( $_GET['orderby'] ) ) + $current_orderby = $_GET['orderby']; + else + $current_orderby = ''; + + if ( isset( $_GET['order'] ) && 'desc' == $_GET['order'] ) + $current_order = 'desc'; + else + $current_order = 'asc'; + + if ( ! empty( $columns['cb'] ) ) { + static $cb_counter = 1; + $columns['cb'] = '' + . ''; + $cb_counter++; + } + + foreach ( $columns as $column_key => $column_display_name ) { + $class = array( 'manage-column', "column-$column_key" ); + + $style = ''; + if ( in_array( $column_key, $hidden ) ) + $style = 'display:none;'; + + $style = ' style="' . $style . '"'; + + if ( 'cb' == $column_key ) + $class[] = 'check-column'; + elseif ( in_array( $column_key, array( 'posts', 'comments', 'links' ) ) ) + $class[] = 'num'; + + if ( isset( $sortable[$column_key] ) ) { + list( $orderby, $desc_first ) = $sortable[$column_key]; + + if ( $current_orderby == $orderby ) { + $order = 'asc' == $current_order ? 'desc' : 'asc'; + $class[] = 'sorted'; + $class[] = $current_order; + } else { + $order = $desc_first ? 'desc' : 'asc'; + $class[] = 'sortable'; + $class[] = $desc_first ? 'asc' : 'desc'; + } + + $column_display_name = '' . $column_display_name . ''; + } + + $id = $with_id ? "id='$column_key'" : ''; + + if ( !empty( $class ) ) + $class = "class='" . join( ' ', $class ) . "'"; + + echo "$column_display_name"; + } + } + + /** + * Display the table + * + * @since 3.1.0 + * @access public + */ + function display() { + extract( $this->_args ); + + $this->display_tablenav( 'top' ); + +?> + + + + print_column_headers(); ?> + + + + + + print_column_headers( false ); ?> + + + + > + display_rows_or_placeholder(); ?> + +
    +display_tablenav( 'bottom' ); + } + + /** + * Get a list of CSS classes for the tag + * + * @since 3.1.0 + * @access protected + * + * @return array + */ + function get_table_classes() { + return array( 'widefat', 'fixed', $this->_args['plural'] ); + } + + /** + * Generate the table navigation above or below the table + * + * @since 3.1.0 + * @access protected + */ + function display_tablenav( $which ) { + if ( 'top' == $which ) + wp_nonce_field( 'bulk-' . $this->_args['plural'] ); +?> +
    + +
    + bulk_actions(); ?> +
    +extra_tablenav( $which ); + $this->pagination( $which ); +?> + +
    +
    + part of the table + * + * @since 3.1.0 + * @access protected + */ + function display_rows_or_placeholder() { + if ( $this->has_items() ) { + $this->display_rows(); + } else { + list( $columns, $hidden ) = $this->get_column_info(); + echo ''; + } + } + + /** + * Generate the table rows + * + * @since 3.1.0 + * @access protected + */ + function display_rows() { + foreach ( $this->items as $item ) + $this->single_row( $item ); + } + + /** + * Generates content for a single row of the table + * + * @since 3.1.0 + * @access protected + * + * @param object $item The current item + */ + function single_row( $item ) { + static $row_class = ''; + $row_class = ( $row_class == '' ? ' class="alternate"' : '' ); + + echo ''; + echo $this->single_row_columns( $item ); + echo ''; + } + + /** + * Generates the columns for a single row of the table + * + * @since 3.1.0 + * @access protected + * + * @param object $item The current item + */ + function single_row_columns( $item ) { + list( $columns, $hidden ) = $this->get_column_info(); + + foreach ( $columns as $column_name => $column_display_name ) { + $class = "class='$column_name column-$column_name'"; + + $style = ''; + if ( in_array( $column_name, $hidden ) ) + $style = ' style="display:none;"'; + + $attributes = "$class$style"; + + if ( 'cb' == $column_name ) { + echo ''; + } + elseif ( method_exists( $this, 'column_' . $column_name ) ) { + echo ""; + } + else { + echo ""; + } + } + } + + /** + * Handle an incoming ajax request (called from admin-ajax.php) + * + * @since 3.1.0 + * @access public + */ + function ajax_response() { + $this->prepare_items(); + + extract( $this->_args ); + extract( $this->_pagination_args, EXTR_SKIP ); + + ob_start(); + if ( ! empty( $_REQUEST['no_placeholder'] ) ) + $this->display_rows(); + else + $this->display_rows_or_placeholder(); + + $rows = ob_get_clean(); + + $response = array( 'rows' => $rows ); + + if ( isset( $total_items ) ) + $response['total_items_i18n'] = sprintf( _n( '1 item', '%s items', $total_items ), number_format_i18n( $total_items ) ); + + if ( isset( $total_pages ) ) { + $response['total_pages'] = $total_pages; + $response['total_pages_i18n'] = number_format_i18n( $total_pages ); + } + + die( json_encode( $response ) ); + } + + /** + * Send required variables to JavaScript land + * + * @access private + */ + function _js_vars() { + $args = array( + 'class' => get_class( $this ), + 'screen' => array( + 'id' => $this->screen->id, + 'base' => $this->screen->base, + ) + ); + + printf( "\n", json_encode( $args ) ); + } +} diff --git a/software-license-manager/menu/index.html b/software-license-manager/menu/index.html new file mode 100644 index 0000000..e69de29 diff --git a/software-license-manager/menu/slm-add-licenses.php b/software-license-manager/menu/slm-add-licenses.php new file mode 100644 index 0000000..3f9caa5 --- /dev/null +++ b/software-license-manager/menu/slm-add-licenses.php @@ -0,0 +1,394 @@ +'; + echo '

    Add/Edit Licenses

    '; + echo '
    '; + + //If product is being edited, grab current product info + if (isset($_GET['edit_record'])) { + $errors = ''; + $id = $_GET['edit_record']; + $lk_table = SLM_TBL_LICENSE_KEYS; + $sql_prep = $wpdb->prepare("SELECT * FROM $lk_table WHERE id = %s", $id); + $record = $wpdb->get_row($sql_prep, OBJECT); + $license_key = $record->license_key; + $max_domains = $record->max_allowed_domains; + $max_devices = $record->max_allowed_devices; + $license_status = $record->lic_status; + $first_name = $record->first_name; + $last_name = $record->last_name; + $email = $record->email; + $company_name = $record->company_name; + $txn_id = $record->txn_id; + $reset_count = $record->manual_reset_count; + $purchaseid = $record->purchase_id_; + $created_date = $record->date_created; + $renewed_date = $record->date_renewed; + $expiry_date = $record->date_expiry; + $product_ref = $record->product_ref; + } + + + if (isset($_POST['save_record'])) { + + //Check nonce + if ( !isset($_POST['slm_add_edit_nonce_val']) || !wp_verify_nonce($_POST['slm_add_edit_nonce_val'], 'slm_add_edit_nonce_action' )){ + //Nonce check failed. + wp_die("Error! Nonce verification failed for license save action."); + } + + do_action('slm_add_edit_interface_save_submission'); + + //TODO - do some validation + $license_key = $_POST['license_key']; + $max_domains = $_POST['max_allowed_domains']; + $max_devices = $_POST['max_allowed_devices']; + $license_status = $_POST['lic_status']; + $first_name = $_POST['first_name']; + $last_name = $_POST['last_name']; + $email = $_POST['email']; + $company_name = $_POST['company_name']; + $txn_id = $_POST['txn_id']; + $reset_count = $_POST['manual_reset_count']; + $purchaseid = $_POST['purchase_id_']; + $created_date = $_POST['date_created']; + $renewed_date = $_POST['date_renewed']; + $expiry_date = $_POST['date_expiry']; + $product_ref = $_POST['product_ref']; + + if(empty($created_date)){ + $created_date = $current_date; + } + if(empty($renewed_date)){ + $renewed_date = $current_date; + } + if(empty($expiry_date)){ + $expiry_date = $current_date_plus_1year; + } + + //Save the entry to the database + $fields = array(); + $fields['license_key'] = $license_key; + $fields['max_allowed_domains'] = $max_domains; + $fields['max_allowed_devices'] = $max_devices; + $fields['lic_status'] = $license_status; + $fields['first_name'] = $first_name; + $fields['last_name'] = $last_name; + $fields['email'] = $email; + $fields['company_name'] = $company_name; + $fields['txn_id'] = $txn_id; + $fields['manual_reset_count'] = $reset_count; + $fields['purchase_id_'] = $purchaseid; + $fields['date_created'] = $created_date; + $fields['date_renewed'] = $renewed_date; + $fields['date_expiry'] = $expiry_date; + $fields['product_ref'] = $product_ref; + + $id = isset($_POST['edit_record'])?$_POST['edit_record']:''; + $lk_table = SLM_TBL_LICENSE_KEYS; + if (empty($id)) {//Insert into database + $result = $wpdb->insert( $lk_table, $fields); + $id = $wpdb->insert_id; + if($result === false){ + $errors .= __('Record could not be inserted into the database!', 'slm'); + } + } else { //Update record + $where = array('id'=>$id); + $updated = $wpdb->update($lk_table, $fields, $where); + if($updated === false){ + //TODO - log error + $errors .= __('Update of the license key table failed!', 'slm'); + } + } + + if(empty($errors)){ + $message = "Record successfully saved!"; + echo '

    '; + echo $message; + echo '

    '; + }else{ + echo '
    ' . $errors . '
    '; + } + + $data = array('row_id' => $id, 'key' => $license_key); + do_action('slm_add_edit_interface_save_record_processed',$data); + + } + +?> + + You can add a new license or edit an existing one from this interface. +

    + +
    +

    +
    + +
    "> + +
    '; + $this->no_items(); + echo '
    '; + echo $this->column_cb( $item ); + echo '"; + echo call_user_func( array( &$this, 'column_' . $column_name ), $item ); + echo ""; + echo $this->column_default( $item, $column_name ); + echo "
    + + '; + } else { + if(!isset($editing_record)){//Create an empty object + $editing_record = new stdClass(); + } + //Auto generate unique key + $lic_key_prefix = $slm_options['lic_prefix']; + if (!empty($lic_key_prefix)) { + $license_key = uniqid($lic_key_prefix); + } else { + $license_key = uniqid(); + } + } + ?> + + + + + + + + + + + + + + + + + + + + + prepare("SELECT * FROM $reg_table WHERE lic_key_id = %s", $id); + $reg_domains = $wpdb->get_results($sql_prep, OBJECT); + ?> + + + + + + + prepare("SELECT * FROM `$devices_table` WHERE `lic_key_id` = '%s'", $id); + $reg_devices = $wpdb->get_results($sql_prep2, OBJECT); + ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    License Key +
    The unique license key. When adding a new record it automatically generates a unique key in this field for you. You can change this value to customize the key if you like.
    Maximum Allowed Domains
    Number of domains/installs in which this license can be used.
    Maximum Allowed Devices
    Number of domains/installs in which this license can be used.
    License Status + +
    Registered Domains 0) { + ?> +
    +
    + + + > + + + + +
    registered_domain; ?>id ?>>X
    +
    + +
    Registered Devices 0) { + ?> +
    +
    + + + > + + + + +
    registered_devices; ?>id ?>>X
    +
    + +
    First Name
    License user's first name
    Last Name
    License user's last name
    Email Address
    License user's email address
    Company Name
    License user's company name
    Unique Transaction ID
    The unique transaction ID associated with this license key
    Manual Reset Count +
    The number of times this license has been manually reset by the admin (use it if you want to keep track of it). It can be helpful for the admin to keep track of manual reset counts.
    Purchase Order # +
    This is associated with the purchase ID woocommerce support
    Date Created +
    Creation date of license.
    Date Renewed +
    Renewal date of license.
    Date of Expiry +
    Expiry date of license.
    Product +
    The product that this license gives access to.
    + + $id, 'key' => $license_key); + $extra_output = apply_filters('slm_add_edit_interface_above_submit','', $data); + if(!empty($extra_output)){ + echo $extra_output; + } + ?> + +
    + +
    + +
    + Manage Licenses

    +
    +
    + + +'; + echo '

    License Manager Admin Functions

    '; + echo '
    '; + + $slm_options = get_option('slm_plugin_options'); + + if (isset($_POST['send_deactivation_request'])) { + $postURL = $_POST['lic_mgr_deactivation_req_url']; + $secretKeyForVerification = $slm_options['lic_verification_secret']; + $data = array(); + $data['secret_key'] = $secretKeyForVerification; + + $ch = curl_init($postURL); + curl_setopt($ch, CURLOPT_POST, true); + curl_setopt($ch, CURLOPT_POSTFIELDS, $data); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + $returnValue = curl_exec($ch); + + $msg = ""; + if ($returnValue == "Success") { + $msg .= "Success message returned from the remote host."; + } + echo '

    '; + echo 'Request sent to the specified URL!'; + echo '
    ' . $msg; + echo '

    '; + } + ?> +
    +
    +

    +
    +
    Enter the URL where the license deactivation message will be sent to +

    +
    + + +
    + +
    +
    +
    +
    '; + echo '
    '; +} diff --git a/software-license-manager/menu/slm-admin-init.php b/software-license-manager/menu/slm-admin-init.php new file mode 100644 index 0000000..34eff57 --- /dev/null +++ b/software-license-manager/menu/slm-admin-init.php @@ -0,0 +1,25 @@ + + + License Manager Integration Help v' . WP_LICENSE_MANAGER_VERSION . ''; + echo '
    '; + echo '
    '; + + echo '

    For information, updates and documentation, please visit the License Manager Documentation page.

    '; + + $api_query_post_url = SLM_SITE_HOME_URL; + echo "The License API Query POST URL For Your Installation"; + echo '
    ' . $api_query_post_url . '
    '; + + echo "The License Activation or Deactivation API secret key"; + echo '
    ' . $secret_verification_key . '
    '; + + echo "The License Creation API secret key"; + echo '
    ' . $creation_secret_key . '
    '; + ?> +

    3rd Party Integration

    + + Integrating a 3rd party payment system or shopping cart with License Manager is easy. +

    + The integration process can be accomplished in three steps, namely: +
    +
    1. Generate POST data +
    2. Send POST data to the API POST URL +
    3. Process the returned data +

    + POST Values +
    + License Manager expects a certain set of variables to be sent to it via HTTP POST or GET. These variables are: +

    + Mandatory Variables +
    + ---------------- +
    a. secret_key - A Secret API key for authentication (you can find the secret key value in the settings menu of this plugin) +
    b. slm_action - The action being performed. The values can be slm_create_new or slm_activate or slm_deactivate +

    + Optional Variables +
    + --------------- +
    c. Customer First Name: The first name of the customer +
    d. Customer Last Name: The last name of the customer +
    e. Customer Email: The email address of the customer +
    f. Company Name: The customer's company name +
    g. Maximum Domains Allowed: The number of domains this license key can be used on +
    h. Transaction ID: A unique transaction ID to reference the transaction +

    + Return Value +
    + Upon successful processing, License Manager will return a plain text message that will have two or three lines similar to the following: +
    +
    + Success +
    License key +
    WPLICMGR4bc29fd61e471 +
    + or +
    + Error +
    Secret key is invalid +
    + + 1. The first line is an indication of success or error +
    2. The second line is the result. +
    3. The third line is additional message that resulted from the request. +

    + Sample PHP Code +
    + Below is a sample PHP code that shows how you can create a license via the API +
    + +
    + /*** Mandatory data ***/ +
    // Post URL +
    $postURL = ""; +
    // The Secret key +
    $secretKey = ""; +
    +
    /*** Optional Data ***/ +
    $firstname = "John"; +
    $lastname = "Doe"; +
    $email = "john.doe@gmail.com"; +
    +
    // prepare the data +
    $data = array (); +
    $data['secret_key'] = $secretKey; +
    $data['slm_action'] = 'slm_create_new'; +
    $data['first_name'] = $firstname; +
    $data['last_name'] = $lastname; +
    $data['email'] = $email; +
    +
    // send data to post URL +
    $ch = curl_init ($postURL); +
    curl_setopt ($ch, CURLOPT_POST, true); +
    curl_setopt ($ch, CURLOPT_POSTFIELDS, $data); +
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); +
    $returnValue = curl_exec ($ch); +
    +
    // Process the return values +
    //var_dump($returnValue); +
    + +
    '; + echo '
    '; +} diff --git a/software-license-manager/menu/slm-lic-settings.php b/software-license-manager/menu/slm-lic-settings.php new file mode 100644 index 0000000..caaac0e --- /dev/null +++ b/software-license-manager/menu/slm-lic-settings.php @@ -0,0 +1,143 @@ +'; + echo '

    WP License Manager Settings v' . WP_LICENSE_MANAGER_VERSION . '

    '; + echo '
    '; + + wp_lic_mgr_general_settings(); + + echo '
    '; + echo '
    '; +} + +function wp_lic_mgr_general_settings() { + + if (isset($_REQUEST['slm_reset_log'])){ + //$slm_logger = new SLM_Debug_Logger(); + global $slm_debug_logger; + $slm_debug_logger->reset_log_file("log.txt"); + $slm_debug_logger->reset_log_file("log-cron-job.txt"); + echo '

    Debug log files have been reset!

    '; + } + + if (isset($_POST['slm_save_settings'])) { + + if (!is_numeric($_POST["default_max_domains"])) {//Set it to one by default if incorrect value is entered + $_POST["default_max_domains"] = '1'; + } + if (!is_numeric($_POST["default_max_devices"])) {//Set it to one by default if incorrect value is entered + $_POST["default_max_devices"] = '1'; + } + + $options = array( + 'lic_creation_secret' => trim($_POST["lic_creation_secret"]), + 'lic_prefix' => trim($_POST["lic_prefix"]), + 'default_max_domains' => trim($_POST["default_max_domains"]), + 'default_max_devices' => trim($_POST["default_max_devices"]), + 'lic_verification_secret' => trim($_POST["lic_verification_secret"]), + 'enable_auto_key_expiry' => isset($_POST['enable_auto_key_expiry']) ? '1':'', + 'enable_debug' => isset($_POST['enable_debug']) ? '1':'', + ); + update_option('slm_plugin_options', $options); + + echo '

    '; + echo 'Options Updated!'; + echo '

    '; + } + + $options = get_option('slm_plugin_options'); + + $secret_key = $options['lic_creation_secret']; + if (empty($secret_key)) { + $secret_key = uniqid('', true); + } + $secret_verification_key = $options['lic_verification_secret']; + if (empty($secret_verification_key)) { + $secret_verification_key = uniqid('', true); + } + ?> +

    For information, updates and documentation, please visit the License Manager Documentation page.

    + +
    +

    +
    + +

    1. First register a key at purchase time.

    +

    2. Add the code so at activation time it asks for the key.

    +

    3. Integrate the real time online key verification part.

    +
    + +
    + +
    +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Secret Key for License Creation +
    This secret key will be used to authenticate any license creation request. You can change it with something random.
    Secret Key for License Verification Requests +
    This secret key will be used to authenticate any license verification request from customer's site. Important! Do not change this value once your customers start to use your product(s)!
    License Key Prefix +
    You can optionaly specify a prefix for the license keys. This prefix will be added to the uniquely generated license keys.
    Maximum Allowed Domains +
    Maximum number of domains/installs which each license is valid for (default value).
    Maximum Allowed Devices +
    Maximum number of devices which each license is valid for (default value).
    Auto Expire License Keys value="1"/> +

    When enabled, it will automatically set the status of a license key to "Expired" when the expiry date value of the key is reached. + It doesn't remotely deactivate a key. It simply changes the status of the key in your database to expired.

    +
    +
    + +
    +

    +
    + + + + + + + +
    Enable Debug Logging value="1"/> +

    If checked, debug output will be written to log files (keep it disabled unless you are troubleshooting).

    +
    - View debug log file by clicking here. +
    - Reset debug log file by clicking here. +
    +
    + +
    + +
    +
    + 'item', //singular name of the listed records + 'plural' => 'items', //plural name of the listed records + 'ajax' => false //does this table support ajax? + ) ); + + } + + function column_default($item, $column_name){ + return $item[$column_name]; + } + + function column_id($item){ + $row_id = $item['id']; + $actions = array( + 'edit' => sprintf('Edit', $row_id), + 'delete' => sprintf('Delete',$row_id), + ); + return sprintf('%1$s %2$s', + /*$1%s*/ $item['id'], + /*$2%s*/ $this->row_actions($actions) + ); + } + + + function column_cb($item){ + return sprintf( + '', + /*$1%s*/ $this->_args['singular'], //Let's simply repurpose the table's singular label + /*$2%s*/ $item['id'] //The value of the checkbox should be the record's id + ); + } + + function column_active($item){ + if ($item['active'] == 1){ + return 'active'; + } else{ + return 'inactive'; + } + } + + + function get_columns(){ + $columns = array( + 'cb' => '', //Render a checkbox + 'id' => 'ID', + 'license_key' => 'License Key', + 'lic_status' => 'Status', + 'max_allowed_domains' => 'Domains Allowed', + 'email' => 'Registered Email', + 'date_created' => 'Date Created', + 'date_renewed' => 'Date Renewed', + 'date_expiry' => 'Expiry', + ); + return $columns; + } + + function get_sortable_columns() { + $sortable_columns = array( + 'id' => array('id',false), + 'license_key' => array('license_key',false), + 'lic_status' => array('lic_status',false), + 'date_created' => array('date_created',false), + 'date_renewed' => array('date_renewed',false), + 'date_expiry' => array('date_expiry',false), + ); + return $sortable_columns; + } + + function get_bulk_actions() { + $actions = array( + 'delete' => 'Delete', + ); + return $actions; + } + + function process_bulk_action() { + if('delete'===$this->current_action()) + { + //Process delete bulk actions + if(!isset($_REQUEST['item'])){ + $error_msg = '

    '.__('Error - Please select some records using the checkboxes', 'slm').'

    '; + echo '
    '.$error_msg.'
    '; + return; + }else { + $nvp_key = $this->_args['singular']; + $records_to_delete = $_GET[$nvp_key]; + foreach ($records_to_delete as $row){ + SLM_Utility::delete_license_key_by_row_id($row); + } + echo '

    Selected records deleted successfully!

    '; + } + } + } + + + /* + * This function will delete the selected license key entries from the DB. + */ + function delete_license_key($key_row_id) + { + SLM_Utility::delete_license_key_by_row_id($key_row_id); + $success_msg = '

    '; + $success_msg .= 'The selected entry was deleted successfully!'; + $success_msg .= '

    '; + echo $success_msg; + } + + + function prepare_items() { + /** + * First, lets decide how many records per page to show + */ + $per_page = 50; + $columns = $this->get_columns(); + $hidden = array(); + $sortable = $this->get_sortable_columns(); + + $this->_column_headers = array($columns, $hidden, $sortable); + + $this->process_bulk_action(); + + global $wpdb; + $license_table = SLM_TBL_LICENSE_KEYS; + + /* -- Ordering parameters -- */ + //Parameters that are going to be used to order the result + $orderby = !empty($_GET["orderby"]) ? strip_tags($_GET["orderby"]) : 'id'; + $order = !empty($_GET["order"]) ? strip_tags($_GET["order"]) : 'DESC'; + + if (isset($_POST['slm_search'])) { + $search_term = trim(strip_tags($_POST['slm_search'])); + $prepare_query = $wpdb->prepare("SELECT * FROM " . $license_table . " WHERE `license_key` LIKE '%%%s%%' OR `email` LIKE '%%%s%%' OR `txn_id` LIKE '%%%s%%' OR `first_name` LIKE '%%%s%%' OR `last_name` LIKE '%%%s%%'", $search_term, $search_term, $search_term, $search_term, $search_term); + $data = $wpdb->get_results($prepare_query, ARRAY_A); + }else{ + $data = $wpdb->get_results("SELECT * FROM $license_table ORDER BY $orderby $order", ARRAY_A); + } + + $current_page = $this->get_pagenum(); + $total_items = count($data); + $data = array_slice($data,(($current_page-1)*$per_page),$per_page); + $this->items = $data; + $this->set_pagination_args( array( + 'total_items' => $total_items, //WE have to calculate the total number of items + 'per_page' => $per_page, //WE have to determine how many items to show on a page + 'total_pages' => ceil($total_items/$per_page) //WE have to calculate the total number of pages + ) ); + } +} \ No newline at end of file diff --git a/software-license-manager/menu/slm-manage-licenses.php b/software-license-manager/menu/slm-manage-licenses.php new file mode 100644 index 0000000..432f1d0 --- /dev/null +++ b/software-license-manager/menu/slm-manage-licenses.php @@ -0,0 +1,49 @@ +'; + echo '

    Manage Licenses

    '; + echo '
    '; + ?> + +
    +

    +
    + Search for a license by using email, name, key or transaction ID +

    +
    "> + + +
    +
    + + +
    +

    +
    + delete_license_key(sanitize_text_field($_REQUEST['id'])); + } + } + //Fetch, prepare, sort, and filter our data... + $license_list->prepare_items(); + //echo "put table of locked entries here"; + ?> +
    + + + + display(); ?> +
    + +
    + +
    '; + echo '
    '; +} + diff --git a/software-license-manager/slm_bootstrap.php b/software-license-manager/slm_bootstrap.php new file mode 100644 index 0000000..913eb09 --- /dev/null +++ b/software-license-manager/slm_bootstrap.php @@ -0,0 +1,51 @@ +charset)){ + $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset"; +} +else{ + $charset_collate = "DEFAULT CHARSET=utf8"; +} +if (!empty($wpdb->collate)){ + $charset_collate .= " COLLATE $wpdb->collate"; +} + +$lk_tbl_sql = "CREATE TABLE " . $lic_key_table . " ( + id int(12) NOT NULL auto_increment, + license_key varchar(255) NOT NULL, + max_allowed_domains int(40) NOT NULL, + max_allowed_devices int(40) NOT NULL, + lic_status ENUM('pending', 'active', 'blocked', 'expired') NOT NULL DEFAULT 'pending', + first_name varchar(32) NOT NULL default '', + last_name varchar(32) NOT NULL default '', + email varchar(64) NOT NULL, + company_name varchar(100) NOT NULL default '', + txn_id varchar(64) NOT NULL default '', + manual_reset_count varchar(128) NOT NULL default '', + purchase_id_ varchar(255) NOT NULL default '', + date_created date NOT NULL DEFAULT '0000-00-00', + date_renewed date NOT NULL DEFAULT '0000-00-00', + date_expiry date NOT NULL DEFAULT '0000-00-00', + product_ref varchar(255) NOT NULL default '', + PRIMARY KEY (id) + )" . $charset_collate . ";"; +dbDelta($lk_tbl_sql); + +$ld_tbl_sql = "CREATE TABLE " .$lic_domain_table. " ( + id INT NOT NULL AUTO_INCREMENT , + lic_key_id INT NOT NULL , + lic_key varchar(255) NOT NULL , + registered_domain text NOT NULL , + registered_devices text NOT NULL , + item_reference varchar(255) NOT NULL, + PRIMARY KEY ( id ) + )" . $charset_collate . ";"; +dbDelta($ld_tbl_sql); + +$ldv_tbl_sql = "CREATE TABLE " .$lic_devices_table. " ( + id INT NOT NULL AUTO_INCREMENT , + lic_key_id INT NOT NULL , + lic_key varchar(255) NOT NULL , + registered_devices text NOT NULL , + registered_domain text NOT NULL , + item_reference varchar(255) NOT NULL, + PRIMARY KEY ( id ) + )" . $charset_collate . ";"; +dbDelta($ldv_tbl_sql); +update_option("wp_lic_mgr_db_version", WP_LICENSE_MANAGER_DB_VERSION); + +// Add default options +$options = array( + 'lic_creation_secret' => uniqid('', true), + 'lic_prefix' => '', + 'default_max_domains' => '2', + 'default_max_devices' => '1', + 'lic_verification_secret' => uniqid('', true), + 'enable_debug' => '', +); +add_option('slm_plugin_options', $options); \ No newline at end of file diff --git a/software-license-manager/slm_plugin_core.php b/software-license-manager/slm_plugin_core.php new file mode 100644 index 0000000..f690658 --- /dev/null +++ b/software-license-manager/slm_plugin_core.php @@ -0,0 +1,81 @@ +prefix . "lic_key_tbl"); +define('SLM_TBL_LIC_DOMAIN', $wpdb->prefix . "lic_reg_domain_tbl"); +define('SLM_TBL_LIC_DEVICES', $wpdb->prefix . "lic_reg_devices_tbl"); +define('SLM_MANAGEMENT_PERMISSION', 'manage_options'); +define('SLM_MAIN_MENU_SLUG', 'slm-main'); +define('SLM_MENU_ICON', 'dashicons-lock'); + +//Includes +include_once('includes/slm-debug-logger.php'); +include_once('includes/slm-error-codes.php'); +include_once('includes/slm-utility.php'); +include_once('includes/slm-init-time-tasks.php'); +include_once('includes/slm-api-utility.php'); +include_once('includes/slm-api-listener.php'); +include_once('includes/slm-third-party-integration.php'); +// Front end-menu +include_once('menu/slm-add-menu-frontend.php'); + +// support for meta boxes (variations only, this can be applied to single prodicts as well) +include_once('includes/slm-meta-boxes.php'); +//Include admin side only files +if (is_admin()) { + include_once('menu/slm-admin-init.php'); + include_once('menu/includes/slm-list-table-class.php'); //Load our own WP List Table class +} + + +// load addons here +include_once('addons/loader.php'); + +//Action hooks +add_action('init', 'slm_init_handler'); +add_action('plugins_loaded', 'slm_plugins_loaded_handler'); + +//Initialize debug logger +global $slm_debug_logger; +$slm_debug_logger = new SLM_Debug_Logger(); + +//Do init time tasks +function slm_init_handler() { + $init_task = new SLM_Init_Time_Tasks(); + $api_listener = new SLM_API_Listener(); +} + +//Do plugins loaded time tasks +function slm_plugins_loaded_handler() { + //Runs when plugins_loaded action gets fired + if (is_admin()) { + //Check if db update needed + if (get_option('wp_lic_mgr_db_version') != WP_LICENSE_MANAGER_DB_VERSION) { + require_once(dirname(__FILE__) . '/slm_installer.php'); + } + } + +} + +//TODO - need to move this to an ajax handler file +add_action('wp_ajax_del_reistered_domain', 'slm_del_reg_dom'); +function slm_del_reg_dom() { + global $wpdb; + $reg_table = SLM_TBL_LIC_DOMAIN; + $id = strip_tags($_GET['id']); + $ret = $wpdb->query("DELETE FROM $reg_table WHERE id='$id'"); + echo ($ret) ? 'success' : 'failed'; + exit(0); +} + + +add_action('wp_ajax_del_reistered_devices', 'slm_del_reg_devices'); +function slm_del_reg_devices() { + global $wpdb; + $reg_table = SLM_TBL_LIC_DEVICES; + $id = strip_tags($_GET['id']); + $ret = $wpdb->query("DELETE FROM $reg_table WHERE id='$id'"); + echo ($ret) ? 'success' : 'failed'; + exit(0); +} \ No newline at end of file diff --git a/woocommerce/emails/customer-completed-order.php b/woocommerce/emails/customer-completed-order.php deleted file mode 100644 index c5d2227..0000000 --- a/woocommerce/emails/customer-completed-order.php +++ /dev/null @@ -1,27 +0,0 @@ - - - -

    get_billing_first_name() ) ); ?>

    - -

    - - -

    - -

    - -mailer(); - $order = wc_get_order($order_id); - $purchase_id_ = $order->get_id(); - $order_data = $order->get_data(); // The Order data - $order_billing_email = $order_data['billing']['email']; - $recipient = $order_billing_email; - $subject = __('Order Confirmation', 'slm'); - $content = slm_get_processing_notification_content( $order, $subject, $mailer ); - $headers = "Content-Type: text/html\r\n"; - - $mailer->send( $recipient, $subject, $content, $headers ); - -} - -add_action( 'woocommerce_order_status_completed', 'slm_processing_notification', 10, 1 ); -add_action( 'woocommerce_order_status_processing', 'slm_processing_notification', 10, 1 ); - -/** - * Get content html. - * - * @param WC_Order $order - * @param str $heading - * @param obj $mailer - * @return string - */ -function slm_get_processing_notification_content( $order, $heading = false, $mailer ) { - - $template = 'emails/customer-completed-order.php'; - - return wc_get_template_html( $template, array( - 'order' => $order, - 'email_heading' => $heading, - 'sent_to_admin' => true, - 'plain_text' => false, - 'email' => $mailer - ) ); -} - - -if (null !== SLM_Helper_Class::slm_get_option('slm_woo_downloads') && SLM_Helper_Class::slm_get_option('slm_woo_downloads') == 1) { - // disable downloads - function slm_woo_remove_downlaods($items) - { - unset($items['downloads']); - return $items; - } - function slm_remove_order_downloads_from_emails($emails) - { - remove_action('woocommerce_email_order_details', array($emails, 'order_downloads'), 10); - } - add_action('woocommerce_email', 'slm_remove_order_downloads_from_emails', 10, 1); - add_filter('woocommerce_account_menu_items', 'slm_woo_remove_downlaods'); -} diff --git a/woocommerce/includes/purchase.php b/woocommerce/includes/purchase.php index b27ea10..b64f6dc 100755 --- a/woocommerce/includes/purchase.php +++ b/woocommerce/includes/purchase.php @@ -85,7 +85,7 @@ function wc_slm_create_license_keys($order_id) { $amount_of_licenses = wc_slm_get_licenses_qty($product_id); if (!$sites_allowed) { - $sites_allowed_error = __('License could not be created: Invalid sites allowed number.', 'slm'); + $sites_allowed_error = __('License could not be created: Invalid sites allowed number.', 'softwarelicensemanager'); $int = wc_insert_payment_note($purchase_id_, $sites_allowed_error); break; } @@ -158,7 +158,7 @@ function wc_slm_create_license_keys($order_id) { //access_expires //SLM_Helper_Class::write_log('license_type -- ' . $license_type ); // Send query to the license manager server - $url = 'http://' . WOO_SLM_API_URL . '?' . http_build_query($api_params); + $url = SLM_SITE_URL . '?' . http_build_query($api_params); $url = str_replace(array('http://', 'https://'), '', $url); $url = 'http://' . $url; $response = wp_remote_get($url, array('timeout' => 20, 'sslverify' => false)); @@ -210,7 +210,7 @@ function wc_slm_get_license_id($license){ function wc_slm_payment_note($order_id, $licenses) { if ($licenses && count($licenses) != 0) { - $message = __('License Key(s) generated', 'wc-slm'); + $message = __('License Key(s) generated', 'softwarelicensemanager'); foreach ($licenses as $license) { $license_key = $license['key']; @@ -227,7 +227,7 @@ function wc_slm_payment_note($order_id, $licenses) { } } else { - $message = __('License Key(s) could not be created.', 'wc-slm'); + $message = __('License Key(s) could not be created.', 'softwarelicensemanager'); } // Save note @@ -321,18 +321,15 @@ function wc_get_payment_transaction_id($order_id) { function slm_order_completed( $order_id ) { global $user_id, $wpdb; - $order = wc_get_order($order_id); - $purchase_id_ = $order->get_id(); - $order_data = $order->get_data(); // The Order data - $order_billing_email = $order_data['billing']['email']; - - $billing_address = $order_billing_email; - $message = 'error: 000 null'; - - $get_user_meta = get_user_meta($user_id); - - $headers = 'From: '. get_bloginfo( 'name' ).' <'.get_bloginfo('admin_email').'>' . "\r\n"; - wp_mail( $billing_address, 'License details', $message, $headers ); + $order = wc_get_order($order_id); + $purchase_id_ = $order->get_id(); + $order_data = $order->get_data(); // The Order data + $order_billing_email = $order_data['billing']['email']; + $billing_address = $order_billing_email; + $message = 'error: 000 null'; + $get_user_meta = get_user_meta($user_id); + $headers = 'From: '. get_bloginfo( 'name' ).' <'.get_bloginfo('admin_email').'>' . "\r\n"; + //wp_mail( $billing_address, 'License details', $message, $headers ); // The text for the note $note = __("Order confirmation email sent to: " . $billing_address . "" ); @@ -429,4 +426,20 @@ function slm_order_details($order){ '; } -} \ No newline at end of file +} + +/** + * @snippet Add Content to the Customer Processing Order Email - WooCommerce + * https://businessbloomer.com/woocommerce-add-extra-content-order-email/ + */ +add_action('woocommerce_email_before_order_table', 'slm_add_license_to_order_confirmation', 20, 4); + +function slm_add_license_to_order_confirmation($order, $sent_to_admin, $plain_text, $email) +{ + if ($email->id == 'customer_completed_order') { + echo ' +
    License key
    ' . get_post_meta($order->get_id(), 'slm_wc_license_order_key', true) . '


    + '; + } +} + diff --git a/woocommerce/includes/wc-slm.php b/woocommerce/includes/wc-slm.php index 8399053..2f5b872 100755 --- a/woocommerce/includes/wc-slm.php +++ b/woocommerce/includes/wc-slm.php @@ -1,6 +1,6 @@ Date: Mon, 1 Jul 2019 14:52:17 -0400 Subject: [PATCH 058/293] removed unneeded files --- .../client-side-examples/index.html | 0 .../sample-php-scripts/create-license.php | 27 ---- .../sample-plugin/slm-sample-plugin.php | 144 ------------------ 3 files changed, 171 deletions(-) delete mode 100644 software-license-manager/client-side-examples/index.html delete mode 100644 software-license-manager/client-side-examples/sample-php-scripts/create-license.php delete mode 100644 software-license-manager/client-side-examples/sample-plugin/slm-sample-plugin.php diff --git a/software-license-manager/client-side-examples/index.html b/software-license-manager/client-side-examples/index.html deleted file mode 100644 index e69de29..0000000 diff --git a/software-license-manager/client-side-examples/sample-php-scripts/create-license.php b/software-license-manager/client-side-examples/sample-php-scripts/create-license.php deleted file mode 100644 index 714880a..0000000 --- a/software-license-manager/client-side-examples/sample-php-scripts/create-license.php +++ /dev/null @@ -1,27 +0,0 @@ -'; - echo '

    Sample License Management

    '; - - /*** License activate button was clicked ***/ - if (isset($_REQUEST['activate_license'])) { - $license_key = $_REQUEST['sample_license_key']; - - // API query parameters - $api_params = array( - 'slm_action' => 'slm_activate', - 'secret_key' => YOUR_SPECIAL_SECRET_KEY, - 'license_key' => $license_key, - 'registered_domain' => $_SERVER['SERVER_NAME'], - 'item_reference' => urlencode(YOUR_ITEM_REFERENCE), - ); - - // Send query to the license manager server - $query = esc_url_raw(add_query_arg($api_params, YOUR_LICENSE_SERVER_URL)); - $response = wp_remote_get($query, array('timeout' => 20, 'sslverify' => false)); - - // Check for error in the response - if (is_wp_error($response)){ - echo "Unexpected Error! The query returned with an error."; - } - - //var_dump($response);//uncomment it if you want to look at the full response - - // License data. - $license_data = json_decode(wp_remote_retrieve_body($response)); - - // TODO - Do something with it. - //var_dump($license_data);//uncomment it to look at the data - - if($license_data->result == 'success'){//Success was returned for the license activation - - //Uncomment the followng line to see the message that returned from the license server - echo '
    The following message was returned from the server: '.$license_data->message; - - //Save the license key in the options table - update_option('sample_license_key', $license_key); - } - else{ - //Show error to the user. Probably entered incorrect license key. - - //Uncomment the followng line to see the message that returned from the license server - echo '
    The following message was returned from the server: '.$license_data->message; - } - - } - /*** End of license activation ***/ - - /*** License activate button was clicked ***/ - if (isset($_REQUEST['deactivate_license'])) { - $license_key = $_REQUEST['sample_license_key']; - - // API query parameters - $api_params = array( - 'slm_action' => 'slm_deactivate', - 'secret_key' => YOUR_SPECIAL_SECRET_KEY, - 'license_key' => $license_key, - 'registered_domain' => $_SERVER['SERVER_NAME'], - 'item_reference' => urlencode(YOUR_ITEM_REFERENCE), - ); - - // Send query to the license manager server - $query = esc_url_raw(add_query_arg($api_params, YOUR_LICENSE_SERVER_URL)); - $response = wp_remote_get($query, array('timeout' => 20, 'sslverify' => false)); - - // Check for error in the response - if (is_wp_error($response)){ - echo "Unexpected Error! The query returned with an error."; - } - - //var_dump($response);//uncomment it if you want to look at the full response - - // License data. - $license_data = json_decode(wp_remote_retrieve_body($response)); - - // TODO - Do something with it. - //var_dump($license_data);//uncomment it to look at the data - - if($license_data->result == 'success'){//Success was returned for the license activation - - //Uncomment the followng line to see the message that returned from the license server - echo '
    The following message was returned from the server: '.$license_data->message; - - //Remove the licensse key from the options table. It will need to be activated again. - update_option('sample_license_key', ''); - } - else{ - //Show error to the user. Probably entered incorrect license key. - - //Uncomment the followng line to see the message that returned from the license server - echo '
    The following message was returned from the server: '.$license_data->message; - } - - } - /*** End of sample license deactivation ***/ - - ?> -

    Please enter the license key for this product to activate it. You were given a license key when you purchased this item.

    -
    - - - - - -
    -

    - - -

    -
    - '; -} \ No newline at end of file From de8f4e1c527fe09dae01942d3b48acbe07e05116 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Mon, 1 Jul 2019 14:54:25 -0400 Subject: [PATCH 059/293] added missing files --- software-license-manager/CHANGELOG.md | 102 ++++ software-license-manager/LICENSE.md | 674 ++++++++++++++++++++++++++ software-license-manager/README.md | 72 +++ software-license-manager/TODO.md | 12 + software-license-manager/package.json | 41 ++ 5 files changed, 901 insertions(+) create mode 100644 software-license-manager/CHANGELOG.md create mode 100755 software-license-manager/LICENSE.md create mode 100755 software-license-manager/README.md create mode 100755 software-license-manager/TODO.md create mode 100644 software-license-manager/package.json diff --git a/software-license-manager/CHANGELOG.md b/software-license-manager/CHANGELOG.md new file mode 100644 index 0000000..b26cf9e --- /dev/null +++ b/software-license-manager/CHANGELOG.md @@ -0,0 +1,102 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). + +Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). + +## [4.10.4](https://github.com/michelve/software-license-manager/compare/4.10.4...4.10.4) - 2019-07-01 + +## [3.6.2](https://github.com/michelve/software-license-manager/compare/3.1.0...3.6.2) - 2018-02-28 + +### Commits + +- Version increase [`c9e2548`](https://github.com/michelve/software-license-manager/commit/c9e25485c531ac6fdbb70fbd62f37d8c549f0466) +- added support for devices: now you can see the activated list for devices, able to register a device or deactivate it or delete it. [`91a1c3d`](https://github.com/michelve/software-license-manager/commit/91a1c3dc9f59d8bb92e9faed4e4d990279bfec36) +- support for deactivation [`d84ff9f`](https://github.com/michelve/software-license-manager/commit/d84ff9faad68029b6c5fb37d71ad2952ff43bdf2) +- Update slm-api-listener.php [`9737d0e`](https://github.com/michelve/software-license-manager/commit/9737d0ed46fc66b96b933f0fbf87b77d95a3384b) + +## 3.1.0 - 2017-07-19 + +### Merged + +- Added error codes to api results [`#5`](https://github.com/michelve/software-license-manager/pull/5) +- Added wp_unslash() for firstname, lastname, registered domain and com… [`#4`](https://github.com/michelve/software-license-manager/pull/4) + +### Commits + +- first commit [`9345c1c`](https://github.com/michelve/software-license-manager/commit/9345c1c21086995e1318b0f0f3b496fe9b740649) +- added a sample php script. included the jquery ui css in the plugin. [`79f33e5`](https://github.com/michelve/software-license-manager/commit/79f33e528ca45ab974c3152cb9c3a7685b7e486e) +- changes part 1 [`f3ace5b`](https://github.com/michelve/software-license-manager/commit/f3ace5bc2c5f71e14484e20a4fd3f75b86f5100f) +- lots of refactoring and architectural changes [`0334b82`](https://github.com/michelve/software-license-manager/commit/0334b8299dc9ea4fb9d0353050252fc9b54d2e5a) +- added a sample plugin that can do the API query remotely. [`1c1cca5`](https://github.com/michelve/software-license-manager/commit/1c1cca5b0462a01af3a6d61a12e50eb79b30dd31) +- db access file moved inside includes [`a5b97ed`](https://github.com/michelve/software-license-manager/commit/a5b97ed0bdcc505d36bed664dbe36afdadd7f075) +- - added debug functionality [`8860d4b`](https://github.com/michelve/software-license-manager/commit/8860d4b099f7d278925a41624692e58c1920a42f) +- added sample plugin [`f1d1181`](https://github.com/michelve/software-license-manager/commit/f1d1181ca73014ff9fca947a996faf3e3144e627) +- added support for devices, where you can specified the amount of licenses per device or domain. [`b378b0a`](https://github.com/michelve/software-license-manager/commit/b378b0a9a2bb31f0267b70adb0ade99ebf70eb37) +- - fixed user interface stuff [`9319e69`](https://github.com/michelve/software-license-manager/commit/9319e693ba1589fa6659f78f7f60aed20c3f260b) +- added support for registered devices, now yo can view/edit/remote registered devices from admin panel. [`cdcbd1d`](https://github.com/michelve/software-license-manager/commit/cdcbd1da86e2232a5acd39d95d05613c43c14378) +- - Debug logger class fixed. [`46ffa1b`](https://github.com/michelve/software-license-manager/commit/46ffa1bae06160679220dbe48a676b199afe97c1) +- introduced api listener class and moved more classes around. More refactoring done. [`11000f3`](https://github.com/michelve/software-license-manager/commit/11000f32b2215fed535e39eeeadfb82fc66ad0b2) +- v2.5 released [`98bb263`](https://github.com/michelve/software-license-manager/commit/98bb2634c37c7f4a7527cd71e1f1d99e9733ef16) +- - Added a new feature to enable auto expiry of the license keys. You can enable this option from the settings. [`c274ad8`](https://github.com/michelve/software-license-manager/commit/c274ad84af02eee9c0f72b12c581192ccaf6a7fc) +- WP estore plugin integration added [`c773263`](https://github.com/michelve/software-license-manager/commit/c77326309389d069760189bbc7866ea4a88a6513) +- v2.6 released [`54936a7`](https://github.com/michelve/software-license-manager/commit/54936a7d722308715835beb1a8133d3a1b1e23f0) +- v2.8 released [`66a6e83`](https://github.com/michelve/software-license-manager/commit/66a6e8389d671f57e57667a5bdea6811618ff32e) +- changed the settings/options savings to an ARRAY structure [`8b2c03f`](https://github.com/michelve/software-license-manager/commit/8b2c03f8bf1b9f2a0560fcff9d32e9247a8d520d) +- added license API query listener class [`eaa325b`](https://github.com/michelve/software-license-manager/commit/eaa325b2d9d49f1acaac21e0d59096335994e09f) +- more refactoring changes [`fc01f80`](https://github.com/michelve/software-license-manager/commit/fc01f804f9f592b4c72a9fd87b136edd3d947a86) +- v1.8 released [`86cbca0`](https://github.com/michelve/software-license-manager/commit/86cbca0622582d40d5cd02851856bb5e7089b27c) +- v1.5 released [`7fefc50`](https://github.com/michelve/software-license-manager/commit/7fefc508ec1cbe66d8e937f7b457e79f26f4b2be) +- added readme file and a few other small tweaks. [`d8efad8`](https://github.com/michelve/software-license-manager/commit/d8efad862626ee96bbe76f61114d4d309a311d93) +- more refactoring changes 2. [`e2947bf`](https://github.com/michelve/software-license-manager/commit/e2947bf0f8b1fc78db0d8c57a149b89df4dd4fae) +- Moved the api error code class to a separate file [`f4906da`](https://github.com/michelve/software-license-manager/commit/f4906da9a74b92f67ede32404b7b8cbceca66271) +- v2.4 released [`e6a7fff`](https://github.com/michelve/software-license-manager/commit/e6a7fffa9b73d612761fcdcf8563ce96cc9f227c) +- some improvements [`fd6c5bf`](https://github.com/michelve/software-license-manager/commit/fd6c5bfc8d4e09cba6f79933b5c42653b227216d) +- The integration with WP eStore cart will create multiple licenses when a customer purchases more than 1 quantity of a product. [`82df429`](https://github.com/michelve/software-license-manager/commit/82df429d0cf93e379001efe6c6a5713efc425d83) +- v1.2 released [`2a5d95e`](https://github.com/michelve/software-license-manager/commit/2a5d95e03fd5967440a9c6c5e8af22605cbdb204) +- v1.9 released [`67c71be`](https://github.com/michelve/software-license-manager/commit/67c71bee511e79c554f410027469e71d43ed4846) +- v1.4 released [`5ce4a30`](https://github.com/michelve/software-license-manager/commit/5ce4a302c530beeadeb91845a157fdd9cd4f6703) +- v1.1 released [`254cc9b`](https://github.com/michelve/software-license-manager/commit/254cc9b85928283ad4956cea994ad84772922b63) +- some other refactoring [`085071e`](https://github.com/michelve/software-license-manager/commit/085071e6d2417cd9613a09ae615d7688f8151a00) +- Improvement for the WP eStore integration. [`f761bcc`](https://github.com/michelve/software-license-manager/commit/f761bccc7ea499ef2fb8aa8b79491f090012847c) +- more improvements [`b16d379`](https://github.com/michelve/software-license-manager/commit/b16d3792997ced6bc1e857ca16fd038815e10792) +- v2.7 released [`4384553`](https://github.com/michelve/software-license-manager/commit/43845536a22239deab722e31c182d1f512d1d37b) +- v1.7 released [`502f350`](https://github.com/michelve/software-license-manager/commit/502f3500bede05f664020b9dae3ffd960108ea15) +- 1.6 released [`cbe2075`](https://github.com/michelve/software-license-manager/commit/cbe2075e74043eed8f0f2b5e1b07832686a11671) +- 1.3 RC [`f49abd3`](https://github.com/michelve/software-license-manager/commit/f49abd3346a09111e530573cadfa60916780c87a) +- database charset and collate improvements [`ed348a2`](https://github.com/michelve/software-license-manager/commit/ed348a2c50de8b1969e7ad821fbd5b5401f31b92) +- preparing the repository [`cbeeede`](https://github.com/michelve/software-license-manager/commit/cbeeede76eced547bde5ea7df9cffee526f66296) +- added more columns to show in the manage licenses menu. [`585fb50`](https://github.com/michelve/software-license-manager/commit/585fb500d1d2059db240cff1d1b048b60a785302) +- committing v2.2 [`ae4f6af`](https://github.com/michelve/software-license-manager/commit/ae4f6afe2cf9784d771495567fc81d014858d8a7) +- v2.1 released [`dbc0ea8`](https://github.com/michelve/software-license-manager/commit/dbc0ea857f7b4377be2a98e772e9991578675f12) +- renamed the files with proper prefix in the "menu" directory [`e30eb86`](https://github.com/michelve/software-license-manager/commit/e30eb86d913cd5ee6a28f598971b283857701705) +- v2.0 released [`34c8e12`](https://github.com/michelve/software-license-manager/commit/34c8e12f6433af7b60b5c62fe745e91e827138ac) +- Added wp_unslash() for firstname, lastname, registered domain and company name which could all contain ' [`01459d1`](https://github.com/michelve/software-license-manager/commit/01459d1abcd52793186b2ca5071dfcddcb81efbb) +- Replaced "esc_url()" with "esc_url_raw()" in the sample plugin. [`da57ee6`](https://github.com/michelve/software-license-manager/commit/da57ee65812d3f30b29e4a812271b8ed3d624d04) +- added 3rd party integration file [`5c7c7ed`](https://github.com/michelve/software-license-manager/commit/5c7c7ede249b0e2b53d2af3af6c70e253ec00305) +- v2.9 tested and released [`40abd6a`](https://github.com/michelve/software-license-manager/commit/40abd6ac51509e4ed78f9b09af6a5da6daa97929) +- some changes [`bb9e29c`](https://github.com/michelve/software-license-manager/commit/bb9e29ceef9bac33926d7ce573a3fc69f749c774) +- renamed a few files [`633d9a3`](https://github.com/michelve/software-license-manager/commit/633d9a3bf30942608645cee33e57b8dcac0bbae7) +- updated the to-do file [`94656d8`](https://github.com/michelve/software-license-manager/commit/94656d86027c62b1fc95fe1e04271556e34fa5d5) +- minor cleanup [`e095ed7`](https://github.com/michelve/software-license-manager/commit/e095ed7155db6bf4d9befcac70524eed7230ce64) +- v1.3 released [`b5c8c46`](https://github.com/michelve/software-license-manager/commit/b5c8c46e3e453d3b506c64264ec5da95ef533edb) +- some minor changes [`af619bb`](https://github.com/michelve/software-license-manager/commit/af619bbd87621c2a6ada23f904dac72a0d07aea2) +- v2.3 released [`5b3351f`](https://github.com/michelve/software-license-manager/commit/5b3351f0cd8a0f5ff41393ac97fec3c50f15ece6) +- updated the links [`6efa7ce`](https://github.com/michelve/software-license-manager/commit/6efa7ced83d75007d0a1be72843dcab2943f0c74) +- Added a new action hook [`79aa9ab`](https://github.com/michelve/software-license-manager/commit/79aa9ab42e00c3c577c21a77aea2e907c42b6c4b) +- updated readme [`d01f622`](https://github.com/michelve/software-license-manager/commit/d01f622b4bc1706e9e0eb83f50ef57430ce639dc) +- updated readme file [`6ff246d`](https://github.com/michelve/software-license-manager/commit/6ff246d80a390b91555d436606e8e555f7a1e966) +- wp 4.8 [`e4d5e7d`](https://github.com/michelve/software-license-manager/commit/e4d5e7d23e3160879a3c2a3cc67a93c140b1b4f3) +- wp 4.7 [`0a48d4e`](https://github.com/michelve/software-license-manager/commit/0a48d4e61d5f023eb97da5589e5f377d5240e5db) +- contributor list updated [`b48b343`](https://github.com/michelve/software-license-manager/commit/b48b343e757c591b5f183efa42f7a4c5b093ef27) +- escaping a form field value. [`24932ca`](https://github.com/michelve/software-license-manager/commit/24932ca9331bb13d3237f6c66393c44fa031fed0) +- updated readme [`5270497`](https://github.com/michelve/software-license-manager/commit/527049734858ff547f96663b7ba41dddcefa0b82) +- to do list updated [`1ab9992`](https://github.com/michelve/software-license-manager/commit/1ab9992d6619c11318e240877eccb50e58f4d342) +- Initial commit [`27811e4`](https://github.com/michelve/software-license-manager/commit/27811e4c2cb6f458b3fc89b8aee637965e49c538) +- readme file updated [`96d982b`](https://github.com/michelve/software-license-manager/commit/96d982b6a73779f413a4177d44ceb33a1f062a03) +- renamed a folder [`f655ba6`](https://github.com/michelve/software-license-manager/commit/f655ba6eff3347ea3798cb367972add272353b04) +- renamed the main plugin folder [`0f8f5e2`](https://github.com/michelve/software-license-manager/commit/0f8f5e2dc1878f9bf6a25054de1f3b06f307230b) +- renamed the main plugin folder to "license-manager" [`d7024d1`](https://github.com/michelve/software-license-manager/commit/d7024d16d9ecb9bf068e84192e4d070488d39563) diff --git a/software-license-manager/LICENSE.md b/software-license-manager/LICENSE.md new file mode 100755 index 0000000..7a3b7c2 --- /dev/null +++ b/software-license-manager/LICENSE.md @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. \ No newline at end of file diff --git a/software-license-manager/README.md b/software-license-manager/README.md new file mode 100755 index 0000000..531b57e --- /dev/null +++ b/software-license-manager/README.md @@ -0,0 +1,72 @@ +Software License Manager + +# Software License Manager +[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) + +Software license management solution for your web applications (WordPress plugins, Themes, PHP based membership script etc.) + +## Authors +[Arsenal21](https://github.com/Arsenal21) +[Michel Velis](https://github.com/michelve) + + +## Description +Software license management solution for your web applications (WordPress plugins, Themes, PHP based membership script etc.) + +This plugin is very useful for creating a license server and doing the following via API: + +## Postman samples: +[Demo and samples:]( https://documenter.getpostman.com/view/307939/6tjU1FL?version=latest). + +## Features: +- Create license keys in your system (license server) +- Check the status of a license key from from your application (remotely) +- Activate a license key from your application (remotely) +- Deactivate a license key (remotely) +- Delete a license key (remotely) +- Update a license key (remotely) +- Check a license key (remotely) +- Track where the license key is being used. +- Track activation date +- You can also create license keys manually from the admin dashboard of this plugin. +- Bulk actions are now available +- Users and admins can export licenses (new) +- View licenses by subscribers (new) +- License info is now included inside woocommerce order (new) +- License activity log, track requests and activations per license (new) +- Admin stats widgets (new) +- [ ] WIP - Send emails on expiration and activation + +## Installation +1. Go to the Add New plugins screen in your WordPress admin area +1. Click the upload tab +1. Browse for the plugin file (software-license-manager.zip) +1. Click Install Now and then activate the plugin + +## Compatibility +- [-] Woocommerce +- [-] WP eStore +- [-] WP Download Manager + +## Changelog and history +Changelog: [View changelog](https://github.com/michelve/software-license-manager/blob/master/CHANGELOG.md) + + +## Screenshots +Software License Manager + +Software License Manager + +Software License Manager + +Software License Manager + +Software License Manager + + + +Software License Manager + +Software License Manager + +Software License Manager diff --git a/software-license-manager/TODO.md b/software-license-manager/TODO.md new file mode 100755 index 0000000..5e500af --- /dev/null +++ b/software-license-manager/TODO.md @@ -0,0 +1,12 @@ +## TO DO + +- [x] Woocommerce integration (native) +- [x] Add Woocommerce tab to my account page +- [x] Allow license cancellation +- [x] Add Ajax Validation to Forms +- [x] Fix single product meta boxes +- [ ] Combine single and variation products functionality +- [ ] Make Expiry and Renewal dates optional (V4.5) + + +Feedback and ideas are welcome. :)s diff --git a/software-license-manager/package.json b/software-license-manager/package.json new file mode 100644 index 0000000..fc0d960 --- /dev/null +++ b/software-license-manager/package.json @@ -0,0 +1,41 @@ +{ + "name": "software-license-manager", + "version": "4.10.4", + "description": "Software license management solution for your web applications (WordPress plugins, Themes, Applications, PHP based membership script etc.). Supports WooCommerce.", + "scripts": { + "changelog": "auto-changelog -p && git add CHANGELOG.md" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "unreleased": true, + "commitLimit": false, + "includeBranch": [ + "release-v2", + "release-v3" + ] + }, + "repository": { + "type": "git", + "url": "git+https://michelve@github.com/michelve/software-license-manager.git" + }, + "keywords": [ + "software", + "license", + "license", + "license", + "manager", + "wordpress", + "license", + "manager", + "slm", + "woocommerce", + "lcienses" + ], + "author": "Michel Velis and Tips and Tricks HQ", + "license": "MIT", + "bugs": { + "url": "https://github.com/michelve/software-license-manager/issues" + }, + "homepage": "https://github.com/michelve/software-license-manager#readme" +} From e48803cb612bff368aa7906e45e1c29b3bd845f0 Mon Sep 17 00:00:00 2001 From: Michel Date: Mon, 1 Jul 2019 14:59:08 -0400 Subject: [PATCH 060/293] Delete project.properties --- nbproject/project.properties | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 nbproject/project.properties diff --git a/nbproject/project.properties b/nbproject/project.properties deleted file mode 100644 index 04e3d5e..0000000 --- a/nbproject/project.properties +++ /dev/null @@ -1,7 +0,0 @@ -include.path=${php.global.include.path} -php.version=PHP_54 -source.encoding=UTF-8 -src.dir=. -tags.asp=false -tags.short=true -web.root=. From d0d0d7acd701bccb3a93315bf414400ffb316a3d Mon Sep 17 00:00:00 2001 From: Michel Date: Mon, 1 Jul 2019 14:59:17 -0400 Subject: [PATCH 061/293] Delete project.xml --- nbproject/project.xml | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 nbproject/project.xml diff --git a/nbproject/project.xml b/nbproject/project.xml deleted file mode 100644 index 72dcafc..0000000 --- a/nbproject/project.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - org.netbeans.modules.php.project - - - software-license-manager - - - From cef05ca079dd9fe1beb2c5d04a4182e77b31be12 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Mon, 1 Jul 2019 15:03:27 -0400 Subject: [PATCH 062/293] added updates and images --- software-license-manager/README.md | 32 +++++++++++++++++------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/software-license-manager/README.md b/software-license-manager/README.md index 531b57e..de871e9 100755 --- a/software-license-manager/README.md +++ b/software-license-manager/README.md @@ -19,7 +19,7 @@ This plugin is very useful for creating a license server and doing the following [Demo and samples:]( https://documenter.getpostman.com/view/307939/6tjU1FL?version=latest). ## Features: -- Create license keys in your system (license server) +- Create license keys - Check the status of a license key from from your application (remotely) - Activate a license key from your application (remotely) - Deactivate a license key (remotely) @@ -35,13 +35,17 @@ This plugin is very useful for creating a license server and doing the following - License info is now included inside woocommerce order (new) - License activity log, track requests and activations per license (new) - Admin stats widgets (new) -- [ ] WIP - Send emails on expiration and activation +- Send emails on expiration and activation +- Language support (spanish and english) +- Woocommerce product type +- Pass license info to woocommerce order +- ## Installation 1. Go to the Add New plugins screen in your WordPress admin area -1. Click the upload tab -1. Browse for the plugin file (software-license-manager.zip) -1. Click Install Now and then activate the plugin +2. Click the upload tab +3. Browse for the plugin file (software-license-manager.zip) +4. Click Install Now and then activate the plugin ## Compatibility - [-] Woocommerce @@ -53,20 +57,20 @@ Changelog: [View changelog](https://github.com/michelve/software-license-manager ## Screenshots -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager - + -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager From f946ce2d05cef50a1cfea80ad1514c1508c8470b Mon Sep 17 00:00:00 2001 From: Michel Date: Mon, 1 Jul 2019 15:06:50 -0400 Subject: [PATCH 063/293] Update README.md --- README.md | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 531b57e..de871e9 100755 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ This plugin is very useful for creating a license server and doing the following [Demo and samples:]( https://documenter.getpostman.com/view/307939/6tjU1FL?version=latest). ## Features: -- Create license keys in your system (license server) +- Create license keys - Check the status of a license key from from your application (remotely) - Activate a license key from your application (remotely) - Deactivate a license key (remotely) @@ -35,13 +35,17 @@ This plugin is very useful for creating a license server and doing the following - License info is now included inside woocommerce order (new) - License activity log, track requests and activations per license (new) - Admin stats widgets (new) -- [ ] WIP - Send emails on expiration and activation +- Send emails on expiration and activation +- Language support (spanish and english) +- Woocommerce product type +- Pass license info to woocommerce order +- ## Installation 1. Go to the Add New plugins screen in your WordPress admin area -1. Click the upload tab -1. Browse for the plugin file (software-license-manager.zip) -1. Click Install Now and then activate the plugin +2. Click the upload tab +3. Browse for the plugin file (software-license-manager.zip) +4. Click Install Now and then activate the plugin ## Compatibility - [-] Woocommerce @@ -53,20 +57,20 @@ Changelog: [View changelog](https://github.com/michelve/software-license-manager ## Screenshots -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager - + -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager From 9b66e62cb1dabf0e9a353b016ef99f044b1c03fb Mon Sep 17 00:00:00 2001 From: Michel Date: Wed, 17 Jul 2019 11:28:32 -0400 Subject: [PATCH 064/293] removed duplicated files and folders removed duplicated files and folders --- .DS_Store | Bin 0 -> 6148 bytes software-license-manager/CHANGELOG.md | 102 -- software-license-manager/LICENSE.md | 674 --------- software-license-manager/README.md | 76 - software-license-manager/TODO.md | 12 - software-license-manager/addons/loader.php | 4 - .../addons/woocommerce/includes/emails.php | 55 - .../addons/woocommerce/includes/helper.php | 23 - .../addons/woocommerce/includes/purchase.php | 385 ------ .../addons/woocommerce/includes/settings.php | 64 - .../addons/woocommerce/loader.php | 103 -- software-license-manager/css/jquery-ui.css | 1225 ----------------- .../includes/slm-api-listener.php | 350 ----- .../includes/slm-api-utility.php | 57 - .../includes/slm-error-codes.php | 20 - .../includes/slm-init-time-tasks.php | 46 - .../includes/slm-meta-boxes.php | 64 - .../includes/slm-third-party-integration.php | 301 ---- .../includes/slm-utility.php | 73 - software-license-manager/index.html | 0 software-license-manager/js/index.html | 0 .../js/wplm-custom-admin.js | 11 - .../menu/includes/index.html | 0 .../menu/includes/slm-list-table-class.php | 907 ------------ software-license-manager/menu/index.html | 0 .../menu/slm-add-licenses.php | 394 ------ .../menu/slm-admin-functions.php | 50 - .../menu/slm-admin-init.php | 25 - .../menu/slm-integration-help-page.php | 118 -- .../menu/slm-lic-settings.php | 143 -- .../menu/slm-list-licenses-class.php | 157 --- .../menu/slm-manage-licenses.php | 49 - software-license-manager/package.json | 41 - software-license-manager/slm_bootstrap.php | 51 - software-license-manager/slm_installer.php | 75 - software-license-manager/slm_plugin_core.php | 81 -- 36 files changed, 5736 deletions(-) create mode 100644 .DS_Store delete mode 100644 software-license-manager/CHANGELOG.md delete mode 100755 software-license-manager/LICENSE.md delete mode 100755 software-license-manager/README.md delete mode 100755 software-license-manager/TODO.md delete mode 100644 software-license-manager/addons/loader.php delete mode 100644 software-license-manager/addons/woocommerce/includes/emails.php delete mode 100644 software-license-manager/addons/woocommerce/includes/helper.php delete mode 100644 software-license-manager/addons/woocommerce/includes/purchase.php delete mode 100644 software-license-manager/addons/woocommerce/includes/settings.php delete mode 100644 software-license-manager/addons/woocommerce/loader.php delete mode 100644 software-license-manager/css/jquery-ui.css delete mode 100644 software-license-manager/includes/slm-api-listener.php delete mode 100644 software-license-manager/includes/slm-api-utility.php delete mode 100644 software-license-manager/includes/slm-error-codes.php delete mode 100644 software-license-manager/includes/slm-init-time-tasks.php delete mode 100644 software-license-manager/includes/slm-meta-boxes.php delete mode 100644 software-license-manager/includes/slm-third-party-integration.php delete mode 100644 software-license-manager/includes/slm-utility.php delete mode 100644 software-license-manager/index.html delete mode 100644 software-license-manager/js/index.html delete mode 100644 software-license-manager/js/wplm-custom-admin.js delete mode 100644 software-license-manager/menu/includes/index.html delete mode 100644 software-license-manager/menu/includes/slm-list-table-class.php delete mode 100644 software-license-manager/menu/index.html delete mode 100644 software-license-manager/menu/slm-add-licenses.php delete mode 100644 software-license-manager/menu/slm-admin-functions.php delete mode 100644 software-license-manager/menu/slm-admin-init.php delete mode 100644 software-license-manager/menu/slm-integration-help-page.php delete mode 100644 software-license-manager/menu/slm-lic-settings.php delete mode 100644 software-license-manager/menu/slm-list-licenses-class.php delete mode 100644 software-license-manager/menu/slm-manage-licenses.php delete mode 100644 software-license-manager/package.json delete mode 100644 software-license-manager/slm_bootstrap.php delete mode 100644 software-license-manager/slm_installer.php delete mode 100644 software-license-manager/slm_plugin_core.php diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file diff --git a/software-license-manager/README.md b/software-license-manager/README.md deleted file mode 100755 index de871e9..0000000 --- a/software-license-manager/README.md +++ /dev/null @@ -1,76 +0,0 @@ -Software License Manager - -# Software License Manager -[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) - -Software license management solution for your web applications (WordPress plugins, Themes, PHP based membership script etc.) - -## Authors -[Arsenal21](https://github.com/Arsenal21) -[Michel Velis](https://github.com/michelve) - - -## Description -Software license management solution for your web applications (WordPress plugins, Themes, PHP based membership script etc.) - -This plugin is very useful for creating a license server and doing the following via API: - -## Postman samples: -[Demo and samples:]( https://documenter.getpostman.com/view/307939/6tjU1FL?version=latest). - -## Features: -- Create license keys -- Check the status of a license key from from your application (remotely) -- Activate a license key from your application (remotely) -- Deactivate a license key (remotely) -- Delete a license key (remotely) -- Update a license key (remotely) -- Check a license key (remotely) -- Track where the license key is being used. -- Track activation date -- You can also create license keys manually from the admin dashboard of this plugin. -- Bulk actions are now available -- Users and admins can export licenses (new) -- View licenses by subscribers (new) -- License info is now included inside woocommerce order (new) -- License activity log, track requests and activations per license (new) -- Admin stats widgets (new) -- Send emails on expiration and activation -- Language support (spanish and english) -- Woocommerce product type -- Pass license info to woocommerce order -- - -## Installation -1. Go to the Add New plugins screen in your WordPress admin area -2. Click the upload tab -3. Browse for the plugin file (software-license-manager.zip) -4. Click Install Now and then activate the plugin - -## Compatibility -- [-] Woocommerce -- [-] WP eStore -- [-] WP Download Manager - -## Changelog and history -Changelog: [View changelog](https://github.com/michelve/software-license-manager/blob/master/CHANGELOG.md) - - -## Screenshots -Software License Manager - -Software License Manager - -Software License Manager - -Software License Manager - -Software License Manager - - - -Software License Manager - -Software License Manager - -Software License Manager diff --git a/software-license-manager/TODO.md b/software-license-manager/TODO.md deleted file mode 100755 index 5e500af..0000000 --- a/software-license-manager/TODO.md +++ /dev/null @@ -1,12 +0,0 @@ -## TO DO - -- [x] Woocommerce integration (native) -- [x] Add Woocommerce tab to my account page -- [x] Allow license cancellation -- [x] Add Ajax Validation to Forms -- [x] Fix single product meta boxes -- [ ] Combine single and variation products functionality -- [ ] Make Expiry and Renewal dates optional (V4.5) - - -Feedback and ideas are welcome. :)s diff --git a/software-license-manager/addons/loader.php b/software-license-manager/addons/loader.php deleted file mode 100644 index b822895..0000000 --- a/software-license-manager/addons/loader.php +++ /dev/null @@ -1,4 +0,0 @@ -post->post_status == 'wc-completed') { - $output = ''; - - // Check if licenses were generated - $licenses = get_post_meta($order->post->ID, '_wc_slm_payment_licenses', true); - - if ($licenses && count($licenses) != 0) { - $output = '

    ' . __('Your Licenses', 'wc-slm') . ':

    '; - foreach ($licenses as $license) { - $output .= ''; - if (isset($license['item']) && isset($license['key'])) { - - if ($output) { - $output .= '
    '; - } - $output .= ''; - $output .= ''; - } else { - // $output .= 'No item and key assigned'; - } - /** - * added expire date in table - * @since 1.0.7 - * @author AvdP (Albert van der Ploeg) - */ - if (isset($license['expires'])) { - $output .= ''; - } - $output .= ''; - } - $output .= '
    ' . __('Item', 'wc-slm') . '' . __('License', 'wc-slm') . '' . __('Expire Date', 'wc-slm') . '
    ' . $license['item'] . '' . $license['key'] . '' . $license['expires'] . '
    '; - } else { - // $output .= 'No License Generatred'; - } - - echo $output; - } -} diff --git a/software-license-manager/addons/woocommerce/includes/helper.php b/software-license-manager/addons/woocommerce/includes/helper.php deleted file mode 100644 index 1f0300d..0000000 --- a/software-license-manager/addons/woocommerce/includes/helper.php +++ /dev/null @@ -1,23 +0,0 @@ -'; - print_r($args); - echo '
    '; -} - -function wc_slm_log($msg) { - $log = ABSPATH . DIRECTORY_SEPARATOR . 'slm_log.txt'; - file_put_contents($log, $msg . ' -', FILE_APPEND); -} diff --git a/software-license-manager/addons/woocommerce/includes/purchase.php b/software-license-manager/addons/woocommerce/includes/purchase.php deleted file mode 100644 index 1e65268..0000000 --- a/software-license-manager/addons/woocommerce/includes/purchase.php +++ /dev/null @@ -1,385 +0,0 @@ -get_user_id(); - - //user data - $user_info = get_userdata($user_id); - -// write_log('user id '. $user_id); -// write_log('Username: ' . $user_info->user_login . "\n"); -// die(); - /** - * get details from billing form & added company name - * @since 1.0.2 - */ - $get_user_meta = get_user_meta($user_id); - $payment_meta['user_info']['first_name'] = $get_user_meta['billing_first_name'][0]; - $payment_meta['user_info']['last_name'] = $get_user_meta['billing_last_name'][0]; - $payment_meta['user_info']['email'] = $get_user_meta['billing_email'][0]; - $payment_meta['user_info']['company'] = $get_user_meta['billing_company'][0]; - - // Collect license keys - $licenses = array(); - $items = $_order->get_items(); - - foreach ($items as $item => $values) { - $download_id = $product_id = $values['product_id']; - $product = new WC_Product($product_id); - $variation_id = new WC_Product_Variation($product_id); - - //if ($product->is_downloadable() && $product->has_file()) { - - $download_quantity = absint($values['qty']); - - for ($i = 1; $i <= $download_quantity; $i++) { - /** - * Calculate Expire date - * @since 1.0.3 - */ - $renewal_period = (int) wc_slm_get_licensing_renewal_period($product_id); - - if ($renewal_period == 0) { - $renewal_period = '0000-00-00'; - } - else { - $renewal_period = date('Y-m-d', strtotime('+' . $renewal_period . ' years')); - } - // Sites allowed get license meta from variation - $sites_allowed = wc_slm_get_sites_allowed($product_id); - $amount_of_licenses = wc_slm_get_licenses_qty($product_id); - - if (!$sites_allowed) { - $sites_allowed_error = __('License could not be created: Invalid sites allowed number.', 'wc-slm'); - $int = wc_insert_payment_note($order_id, $sites_allowed_error); - break; - } - - // Get an instance of the WC_Order object (same as before) - $order = wc_get_order( $order_id ); - // Get the order ID - $order_id = $order->get_id(); - // Get the custumer ID - $order_id = $order->get_user_id(); - $order_data = $order->get_data(); // The Order data - - - // Iterating through each WC_Order_Item objects - foreach( $order-> get_items() as $item_key => $item_values ){ - - ## Using WC_Order_Item methods ## - $item_id = $item_values->get_id(); - $item_name = $item_values->get_name(); - $item_type = $item_values->get_type(); - ## Access Order Items data properties (in an array of values) ## - $item_data = $item_values->get_data(); - $product_name = $item_data['name']; - $product_id = $item_data['product_id']; - $variation_id = $item_data['variation_id']; - $quantity = $item_data['quantity']; - $tax_class = $item_data['tax_class']; - $line_subtotal = $item_data['subtotal']; - $line_subtotal_tax = $item_data['subtotal_tax']; - $line_total = $item_data['total']; - $line_total_tax = $item_data['total_tax']; - //$amount_of_licenses = $item_data['amount_of_licenses']; - //$amount_of_licenses = get_post_meta($product_id, 'amount_of_licenses', true); - $post_object = get_post($variation_id); - $amount_of_licenses = get_post_meta( $post_object->ID, 'amount_of_licenses', true); - $amount_of_licenses_devices = get_post_meta( $post_object->ID, 'amount_of_licenses_devices', true); - } - - - // Transaction id - $transaction_id = wc_get_payment_transaction_id($product_id); - - // Build item name - $item_name = $product->get_title(); - // $item_name = $product->get_formatted_name(); - - // Build parameters - $api_params = array(); - $api_params['slm_action'] = 'slm_create_new'; - $api_params['secret_key'] = KEY_API; - $api_params['first_name'] = (isset($payment_meta['user_info']['first_name'])) ? $payment_meta['user_info']['first_name'] : ''; - $api_params['last_name'] = (isset($payment_meta['user_info']['last_name'])) ? $payment_meta['user_info']['last_name'] : ''; - $api_params['email'] = (isset($payment_meta['user_info']['email'])) ? $payment_meta['user_info']['email'] : ''; - $api_params['company_name'] = $payment_meta['user_info']['company']; - /** - * set product id as txn - * @since 1.0.2 - * can be set to order id by $order_id var instead of $product_id - * @since 1.0.7 txn_id change from $product_id to $order_id - * @ref https://wordpress.org/support/topic/qty-1-generates-same-license - */ - $api_params['txn_id'] = $order_id; - // $api_params['max_allowed_domains'] = $sites_allowed; //unique per product - $api_params['max_allowed_domains'] = $amount_of_licenses; //unique per product - $api_params['max_allowed_devices'] = $amount_of_licenses_devices; //unique per product - $api_params['date_created'] = date('Y-m-d'); - $api_params['date_expiry'] = $renewal_period; - - -// write_log('sites - allowed: '.$sites_allowed); -// write_log('product id: '.$download_id); -// write_log('variation_id '.$variation_id); -// write_log('amount_of_licenses '.$amount_of_licenses); - -//die(); - - // Send query to the license manager server - $url = 'http://' . WC_SLM_API_URL . '?' . http_build_query($api_params); - $url = str_replace(array('http://', 'https://'), '', $url); - $url = 'http://' . $url; - -//write_log($url, array('timeout' => 20, 'sslverify' => false)); - - - $response = wp_remote_get($url, array('timeout' => 20, 'sslverify' => false)); - $license_key = wc_slm_get_license_key($response); - - - // Collect license keys - if ($license_key) { -//write_log('inside if $license_key'); - $licenses[] = array( - 'item' => $item_name, - 'key' => $license_key, - /** - * Add Expire Date - * @since 1.0.7 - * @author AvdP (Albert van der Ploeg) - */ - 'expires' => $renewal_period, - ); - } - else { -//write_log('inside else $license_key'); - } - } - - - } - - //wc_slm_print_pretty($payment_meta); - - // Payment note - - wc_slm_payment_note($order_id, $licenses); - - // Assign licenses - wc_slm_assign_licenses($order_id, $licenses); -} - -/** - * Get generated license key - * - * @since 1.0.0 - * @return mixed - */ -function wc_slm_get_license_key($response) { - // Check for error in the response - if (is_wp_error($response)) { - return false; - } - - // Get License data - $json = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', utf8_encode(wp_remote_retrieve_body($response))); - $license_data = json_decode($json); - - if (!isset($license_data->key)) { - return false; - } - - // Prepare note text - return $license_data->key; -} - -/** - * Leave payment not for license creation - * - * @since 1.0.0 - * @return void - */ -function wc_slm_payment_note($order_id, $licenses) { - - if ($licenses && count($licenses) != 0) { - $message = __('License Key(s) generated', 'wc-slm'); - - foreach ($licenses as $license) { - - $message .= '
    ' . $license['item'] . ': ' . $license['key']; - } - } else { - $message = __('License Key(s) could not be created.', 'wc-slm'); - } - - // Save note - $int = wc_insert_payment_note($order_id, $message); -} - -/** - * Assign generated license keys to payments - * - * @since 1.0.0 - * @return void - */ -function wc_slm_assign_licenses($order_id, $licenses) { - - if (count($licenses) != 0) { - update_post_meta($order_id, '_wc_slm_payment_licenses', $licenses); - } -} - -/** - * Get sites allowed from download. - * - * @since 1.0.0 - * @return mixed - */ -function wc_slm_get_sites_allowed($product_id) { - - $wc_slm_sites_allowed = absint(get_post_meta($product_id, '_wc_slm_sites_allowed', true)); - - if (empty($wc_slm_sites_allowed)) { - return false; - } - - return $wc_slm_sites_allowed; -} - -function wc_slm_get_licenses_qty($product_id) { - - $amount_of_licenses = absint(get_post_meta($product_id, '_amount_of_licenses', true)); - - if (empty($amount_of_licenses)) { - return false; - } - - return $amount_of_licenses; -} - -/** - * Get sites allowed from download. - * - * @since 1.0.0 - * @return mixed - */ -function wc_slm_get_licensing_renewal_period($product_id) { - - $wc_slm_sites_allowed = absint(get_post_meta($product_id, '_wc_slm_licensing_renewal_period', true)); - - if (empty($wc_slm_sites_allowed)) { - return 0; - } - - return $wc_slm_sites_allowed; -} - -/** - * Check if licensing for a certain download is enabled - * - * @since 1.0.0 - * @return bool - */ -function wc_slm_is_licensing_enabled($download_id) { - - $licensing_enabled = absint(get_post_meta($download_id, '_wc_slm_licensing_enabled', true)); - - // Set defaults - if ($licensing_enabled) { - return true; - } else { - return false; - } -} - -function wc_insert_payment_note($order_id, $msg) { - $order = new WC_Order($order_id); - $order->add_order_note($msg); -} - -function wc_get_payment_transaction_id($order_id) { - return get_post_meta($order_id, '_transaction_id', true); -} - -/** - * add license details to user account details - * @since 1.0.3 - */ -add_action('woocommerce_order_details_after_order_table', 'wc_slm_lic_order_meta', 10, 1); - -function wc_slm_lic_order_meta($order) { - $licenses = get_post_meta($order->post->ID, '_wc_slm_payment_licenses', true); - - if ($licenses && count($licenses) != 0) { - $output = '

    ' . __('Your Licenses', 'wc-slm') . ':

    '; - foreach ($licenses as $license) { - $output .= ''; - if (isset($license['item']) && isset($license['key'])) { - - if ($output) { - $output .= '
    '; - } - $output .= ''; - $output .= ''; - } else { - $output .= 'No item and key assigned'; - } - $output .= ''; - } - $output .= '
    ' . __('Item', 'wc-slm') . '' . __('License', 'wc-slm') . '
    ' . $license['item'] . '' . $license['key'] . '
    '; - } - - if (isset($output)) { - echo $output; - } - -} diff --git a/software-license-manager/addons/woocommerce/includes/settings.php b/software-license-manager/addons/woocommerce/includes/settings.php deleted file mode 100644 index d57846f..0000000 --- a/software-license-manager/addons/woocommerce/includes/settings.php +++ /dev/null @@ -1,64 +0,0 @@ - __('Software License Manager Settings', 'wc-slm'), 'type' => 'title', 'desc' => '', 'id' => 'wcslider'); - - // API URL Option filed - $settings_slm[] = array( - 'name' => __('API URL', 'wc-slm'), - 'desc_tip' => '', - 'id' => 'wc_slm_api_url', - 'type' => 'text', - 'desc' => 'Enter without http://', - ); - - // Secret Key - $settings_slm[] = array( - 'name' => __('Secret Key', 'wc-slm'), - 'desc_tip' => '', - 'id' => 'wc_slm_api_secret', - 'type' => 'text', - 'desc' => '', - ); - - $settings_slm[] = array('type' => 'sectionend', 'id' => 'wcslider'); - return $settings_slm; - - /** - * If not, return the standard settings - **/ - } else { - return $settings; - } -} \ No newline at end of file diff --git a/software-license-manager/addons/woocommerce/loader.php b/software-license-manager/addons/woocommerce/loader.php deleted file mode 100644 index 780e858..0000000 --- a/software-license-manager/addons/woocommerce/loader.php +++ /dev/null @@ -1,103 +0,0 @@ -setup_constants(); - self::$instance->includes(); - self::$instance->load_textdomain(); - } - - return self::$instance; - } - private function setup_constants() { - - // Plugin version - define('WC_SLM_VER', '1.0.8'); - - // Plugin path - define('WC_SLM_DIR', plugin_dir_path(__FILE__)); - // Plugin URL - define('WC_SLM_URL', plugin_dir_url(__FILE__)); - // SLM Credentials - $api_url = str_replace(array('http://'), array('https://'), rtrim(get_option('wc_slm_api_url'), '/')); - - // get api settinsg from options table - $slm_settings = get_option('slm_plugin_options'); - $lic_creation_secret = $slm_settings['lic_creation_secret']; - $lic_key_prefix = $slm_settings['lic_prefix']; - - define('WC_SLM_API_URL', $api_url); - define('WC_SLM_API_SECRET', get_option('wc_slm_api_secret')); - define('KEY_API', $lic_creation_secret); - define('KEY_API_PREFIX', $lic_key_prefix); -// write_log(KEY_API); -// write_log(KEY_API_PREFIX); - } - - private function includes() { - - // Get out if WC is not active - if (!function_exists('WC')) { - return; - } - - // log files and scripts - require_once WC_SLM_DIR . 'includes/helper.php'; - - if (is_admin()) { - require_once WC_SLM_DIR . 'includes/meta-boxes.php'; - require_once WC_SLM_DIR . 'includes/settings.php'; - } - - // purchases and emails - require_once WC_SLM_DIR . 'includes/emails.php'; - require_once WC_SLM_DIR . 'includes/purchase.php'; - } - - public function load_textdomain() { - - } - - public static function activation() { - // nothing - } - - public static function uninstall() { - // nothing - } - } - - function WC_SLM_load() { - - return WC_SLM::instance(); - } - - register_activation_hook(__FILE__, array('WC_SLM', 'activation')); - register_uninstall_hook(__FILE__, array('WC_SLM', 'uninstall')); - add_action('plugins_loaded', 'WC_SLM_load'); -} \ No newline at end of file diff --git a/software-license-manager/css/jquery-ui.css b/software-license-manager/css/jquery-ui.css deleted file mode 100644 index b775b44..0000000 --- a/software-license-manager/css/jquery-ui.css +++ /dev/null @@ -1,1225 +0,0 @@ -/*! jQuery UI - v1.11.0 - 2014-06-26 -* http://jqueryui.com -* Includes: core.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, draggable.css, menu.css, progressbar.css, resizable.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css -* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px -* Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ - -/* Layout helpers -----------------------------------*/ -.ui-helper-hidden { - display: none; -} -.ui-helper-hidden-accessible { - border: 0; - clip: rect(0 0 0 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; -} -.ui-helper-reset { - margin: 0; - padding: 0; - border: 0; - outline: 0; - line-height: 1.3; - text-decoration: none; - font-size: 100%; - list-style: none; -} -.ui-helper-clearfix:before, -.ui-helper-clearfix:after { - content: ""; - display: table; - border-collapse: collapse; -} -.ui-helper-clearfix:after { - clear: both; -} -.ui-helper-clearfix { - min-height: 0; /* support: IE7 */ -} -.ui-helper-zfix { - width: 100%; - height: 100%; - top: 0; - left: 0; - position: absolute; - opacity: 0; - filter:Alpha(Opacity=0); -} - -.ui-front { - z-index: 100; -} - - -/* Interaction Cues -----------------------------------*/ -.ui-state-disabled { - cursor: default !important; -} - - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { - display: block; - text-indent: -99999px; - overflow: hidden; - background-repeat: no-repeat; -} - - -/* Misc visuals -----------------------------------*/ - -/* Overlays */ -.ui-widget-overlay { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; -} -.ui-accordion .ui-accordion-header { - display: block; - cursor: pointer; - position: relative; - margin: 2px 0 0 0; - padding: .5em .5em .5em .7em; - min-height: 0; /* support: IE7 */ - font-size: 100%; -} -.ui-accordion .ui-accordion-icons { - padding-left: 2.2em; -} -.ui-accordion .ui-accordion-icons .ui-accordion-icons { - padding-left: 2.2em; -} -.ui-accordion .ui-accordion-header .ui-accordion-header-icon { - position: absolute; - left: .5em; - top: 50%; - margin-top: -8px; -} -.ui-accordion .ui-accordion-content { - padding: 1em 2.2em; - border-top: 0; - overflow: auto; -} -.ui-autocomplete { - position: absolute; - top: 0; - left: 0; - cursor: default; -} -.ui-button { - display: inline-block; - position: relative; - padding: 0; - line-height: normal; - margin-right: .1em; - cursor: pointer; - vertical-align: middle; - text-align: center; - overflow: visible; /* removes extra width in IE */ -} -.ui-button, -.ui-button:link, -.ui-button:visited, -.ui-button:hover, -.ui-button:active { - text-decoration: none; -} -/* to make room for the icon, a width needs to be set here */ -.ui-button-icon-only { - width: 2.2em; -} -/* button elements seem to need a little more width */ -button.ui-button-icon-only { - width: 2.4em; -} -.ui-button-icons-only { - width: 3.4em; -} -button.ui-button-icons-only { - width: 3.7em; -} - -/* button text element */ -.ui-button .ui-button-text { - display: block; - line-height: normal; -} -.ui-button-text-only .ui-button-text { - padding: .4em 1em; -} -.ui-button-icon-only .ui-button-text, -.ui-button-icons-only .ui-button-text { - padding: .4em; - text-indent: -9999999px; -} -.ui-button-text-icon-primary .ui-button-text, -.ui-button-text-icons .ui-button-text { - padding: .4em 1em .4em 2.1em; -} -.ui-button-text-icon-secondary .ui-button-text, -.ui-button-text-icons .ui-button-text { - padding: .4em 2.1em .4em 1em; -} -.ui-button-text-icons .ui-button-text { - padding-left: 2.1em; - padding-right: 2.1em; -} -/* no icon support for input elements, provide padding by default */ -input.ui-button { - padding: .4em 1em; -} - -/* button icon element(s) */ -.ui-button-icon-only .ui-icon, -.ui-button-text-icon-primary .ui-icon, -.ui-button-text-icon-secondary .ui-icon, -.ui-button-text-icons .ui-icon, -.ui-button-icons-only .ui-icon { - position: absolute; - top: 50%; - margin-top: -8px; -} -.ui-button-icon-only .ui-icon { - left: 50%; - margin-left: -8px; -} -.ui-button-text-icon-primary .ui-button-icon-primary, -.ui-button-text-icons .ui-button-icon-primary, -.ui-button-icons-only .ui-button-icon-primary { - left: .5em; -} -.ui-button-text-icon-secondary .ui-button-icon-secondary, -.ui-button-text-icons .ui-button-icon-secondary, -.ui-button-icons-only .ui-button-icon-secondary { - right: .5em; -} - -/* button sets */ -.ui-buttonset { - margin-right: 7px; -} -.ui-buttonset .ui-button { - margin-left: 0; - margin-right: -.3em; -} - -/* workarounds */ -/* reset extra padding in Firefox, see h5bp.com/l */ -input.ui-button::-moz-focus-inner, -button.ui-button::-moz-focus-inner { - border: 0; - padding: 0; -} -.ui-datepicker { - width: 17em; - padding: .2em .2em 0; - display: none; -} -.ui-datepicker .ui-datepicker-header { - position: relative; - padding: .2em 0; -} -.ui-datepicker .ui-datepicker-prev, -.ui-datepicker .ui-datepicker-next { - position: absolute; - top: 2px; - width: 1.8em; - height: 1.8em; -} -.ui-datepicker .ui-datepicker-prev-hover, -.ui-datepicker .ui-datepicker-next-hover { - top: 1px; -} -.ui-datepicker .ui-datepicker-prev { - left: 2px; -} -.ui-datepicker .ui-datepicker-next { - right: 2px; -} -.ui-datepicker .ui-datepicker-prev-hover { - left: 1px; -} -.ui-datepicker .ui-datepicker-next-hover { - right: 1px; -} -.ui-datepicker .ui-datepicker-prev span, -.ui-datepicker .ui-datepicker-next span { - display: block; - position: absolute; - left: 50%; - margin-left: -8px; - top: 50%; - margin-top: -8px; -} -.ui-datepicker .ui-datepicker-title { - margin: 0 2.3em; - line-height: 1.8em; - text-align: center; -} -.ui-datepicker .ui-datepicker-title select { - font-size: 1em; - margin: 1px 0; -} -.ui-datepicker select.ui-datepicker-month, -.ui-datepicker select.ui-datepicker-year { - width: 49%; -} -.ui-datepicker table { - width: 100%; - font-size: .9em; - border-collapse: collapse; - margin: 0 0 .4em; -} -.ui-datepicker th { - padding: .7em .3em; - text-align: center; - font-weight: bold; - border: 0; -} -.ui-datepicker td { - border: 0; - padding: 1px; -} -.ui-datepicker td span, -.ui-datepicker td a { - display: block; - padding: .2em; - text-align: right; - text-decoration: none; -} -.ui-datepicker .ui-datepicker-buttonpane { - background-image: none; - margin: .7em 0 0 0; - padding: 0 .2em; - border-left: 0; - border-right: 0; - border-bottom: 0; -} -.ui-datepicker .ui-datepicker-buttonpane button { - float: right; - margin: .5em .2em .4em; - cursor: pointer; - padding: .2em .6em .3em .6em; - width: auto; - overflow: visible; -} -.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { - float: left; -} - -/* with multiple calendars */ -.ui-datepicker.ui-datepicker-multi { - width: auto; -} -.ui-datepicker-multi .ui-datepicker-group { - float: left; -} -.ui-datepicker-multi .ui-datepicker-group table { - width: 95%; - margin: 0 auto .4em; -} -.ui-datepicker-multi-2 .ui-datepicker-group { - width: 50%; -} -.ui-datepicker-multi-3 .ui-datepicker-group { - width: 33.3%; -} -.ui-datepicker-multi-4 .ui-datepicker-group { - width: 25%; -} -.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, -.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { - border-left-width: 0; -} -.ui-datepicker-multi .ui-datepicker-buttonpane { - clear: left; -} -.ui-datepicker-row-break { - clear: both; - width: 100%; - font-size: 0; -} - -/* RTL support */ -.ui-datepicker-rtl { - direction: rtl; -} -.ui-datepicker-rtl .ui-datepicker-prev { - right: 2px; - left: auto; -} -.ui-datepicker-rtl .ui-datepicker-next { - left: 2px; - right: auto; -} -.ui-datepicker-rtl .ui-datepicker-prev:hover { - right: 1px; - left: auto; -} -.ui-datepicker-rtl .ui-datepicker-next:hover { - left: 1px; - right: auto; -} -.ui-datepicker-rtl .ui-datepicker-buttonpane { - clear: right; -} -.ui-datepicker-rtl .ui-datepicker-buttonpane button { - float: left; -} -.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, -.ui-datepicker-rtl .ui-datepicker-group { - float: right; -} -.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, -.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { - border-right-width: 0; - border-left-width: 1px; -} -.ui-dialog { - overflow: hidden; - position: absolute; - top: 0; - left: 0; - padding: .2em; - outline: 0; -} -.ui-dialog .ui-dialog-titlebar { - padding: .4em 1em; - position: relative; -} -.ui-dialog .ui-dialog-title { - float: left; - margin: .1em 0; - white-space: nowrap; - width: 90%; - overflow: hidden; - text-overflow: ellipsis; -} -.ui-dialog .ui-dialog-titlebar-close { - position: absolute; - right: .3em; - top: 50%; - width: 20px; - margin: -10px 0 0 0; - padding: 1px; - height: 20px; -} -.ui-dialog .ui-dialog-content { - position: relative; - border: 0; - padding: .5em 1em; - background: none; - overflow: auto; -} -.ui-dialog .ui-dialog-buttonpane { - text-align: left; - border-width: 1px 0 0 0; - background-image: none; - margin-top: .5em; - padding: .3em 1em .5em .4em; -} -.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { - float: right; -} -.ui-dialog .ui-dialog-buttonpane button { - margin: .5em .4em .5em 0; - cursor: pointer; -} -.ui-dialog .ui-resizable-se { - width: 12px; - height: 12px; - right: -5px; - bottom: -5px; - background-position: 16px 16px; -} -.ui-draggable .ui-dialog-titlebar { - cursor: move; -} -.ui-draggable-handle { - -ms-touch-action: none; - touch-action: none; -} -.ui-menu { - list-style: none; - padding: 0; - margin: 0; - display: block; - outline: none; -} -.ui-menu .ui-menu { - position: absolute; -} -.ui-menu .ui-menu-item { - position: relative; - margin: 0; - padding: 3px 1em 3px .4em; - cursor: pointer; - min-height: 0; /* support: IE7 */ - /* support: IE10, see #8844 */ - list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); -} -.ui-menu .ui-menu-divider { - margin: 5px 0; - height: 0; - font-size: 0; - line-height: 0; - border-width: 1px 0 0 0; -} -.ui-menu .ui-state-focus, -.ui-menu .ui-state-active { - margin: -1px; -} - -/* icon support */ -.ui-menu-icons { - position: relative; -} -.ui-menu-icons .ui-menu-item { - padding-left: 2em; -} - -/* left-aligned */ -.ui-menu .ui-icon { - position: absolute; - top: 0; - bottom: 0; - left: .2em; - margin: auto 0; -} - -/* right-aligned */ -.ui-menu .ui-menu-icon { - left: auto; - right: 0; -} -.ui-progressbar { - height: 2em; - text-align: left; - overflow: hidden; -} -.ui-progressbar .ui-progressbar-value { - margin: -1px; - height: 100%; -} -.ui-progressbar .ui-progressbar-overlay { - background: url("images/animated-overlay.gif"); - height: 100%; - filter: alpha(opacity=25); - opacity: 0.25; -} -.ui-progressbar-indeterminate .ui-progressbar-value { - background-image: none; -} -.ui-resizable { - position: relative; -} -.ui-resizable-handle { - position: absolute; - font-size: 0.1px; - display: block; - -ms-touch-action: none; - touch-action: none; -} -.ui-resizable-disabled .ui-resizable-handle, -.ui-resizable-autohide .ui-resizable-handle { - display: none; -} -.ui-resizable-n { - cursor: n-resize; - height: 7px; - width: 100%; - top: -5px; - left: 0; -} -.ui-resizable-s { - cursor: s-resize; - height: 7px; - width: 100%; - bottom: -5px; - left: 0; -} -.ui-resizable-e { - cursor: e-resize; - width: 7px; - right: -5px; - top: 0; - height: 100%; -} -.ui-resizable-w { - cursor: w-resize; - width: 7px; - left: -5px; - top: 0; - height: 100%; -} -.ui-resizable-se { - cursor: se-resize; - width: 12px; - height: 12px; - right: 1px; - bottom: 1px; -} -.ui-resizable-sw { - cursor: sw-resize; - width: 9px; - height: 9px; - left: -5px; - bottom: -5px; -} -.ui-resizable-nw { - cursor: nw-resize; - width: 9px; - height: 9px; - left: -5px; - top: -5px; -} -.ui-resizable-ne { - cursor: ne-resize; - width: 9px; - height: 9px; - right: -5px; - top: -5px; -} -.ui-selectable { - -ms-touch-action: none; - touch-action: none; -} -.ui-selectable-helper { - position: absolute; - z-index: 100; - border: 1px dotted black; -} -.ui-selectmenu-menu { - padding: 0; - margin: 0; - position: absolute; - top: 0; - left: 0; - display: none; -} -.ui-selectmenu-menu .ui-menu { - overflow: auto; - /* Support: IE7 */ - overflow-x: hidden; - padding-bottom: 1px; -} -.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup { - font-size: 1em; - font-weight: bold; - line-height: 1.5; - padding: 2px 0.4em; - margin: 0.5em 0 0 0; - height: auto; - border: 0; -} -.ui-selectmenu-open { - display: block; -} -.ui-selectmenu-button { - display: inline-block; - overflow: hidden; - position: relative; - text-decoration: none; - cursor: pointer; -} -.ui-selectmenu-button span.ui-icon { - right: 0.5em; - left: auto; - margin-top: -8px; - position: absolute; - top: 50%; -} -.ui-selectmenu-button span.ui-selectmenu-text { - text-align: left; - padding: 0.4em 2.1em 0.4em 1em; - display: block; - line-height: 1.4; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -.ui-slider { - position: relative; - text-align: left; -} -.ui-slider .ui-slider-handle { - position: absolute; - z-index: 2; - width: 1.2em; - height: 1.2em; - cursor: default; - -ms-touch-action: none; - touch-action: none; -} -.ui-slider .ui-slider-range { - position: absolute; - z-index: 1; - font-size: .7em; - display: block; - border: 0; - background-position: 0 0; -} - -/* For IE8 - See #6727 */ -.ui-slider.ui-state-disabled .ui-slider-handle, -.ui-slider.ui-state-disabled .ui-slider-range { - filter: inherit; -} - -.ui-slider-horizontal { - height: .8em; -} -.ui-slider-horizontal .ui-slider-handle { - top: -.3em; - margin-left: -.6em; -} -.ui-slider-horizontal .ui-slider-range { - top: 0; - height: 100%; -} -.ui-slider-horizontal .ui-slider-range-min { - left: 0; -} -.ui-slider-horizontal .ui-slider-range-max { - right: 0; -} - -.ui-slider-vertical { - width: .8em; - height: 100px; -} -.ui-slider-vertical .ui-slider-handle { - left: -.3em; - margin-left: 0; - margin-bottom: -.6em; -} -.ui-slider-vertical .ui-slider-range { - left: 0; - width: 100%; -} -.ui-slider-vertical .ui-slider-range-min { - bottom: 0; -} -.ui-slider-vertical .ui-slider-range-max { - top: 0; -} -.ui-sortable-handle { - -ms-touch-action: none; - touch-action: none; -} -.ui-spinner { - position: relative; - display: inline-block; - overflow: hidden; - padding: 0; - vertical-align: middle; -} -.ui-spinner-input { - border: none; - background: none; - color: inherit; - padding: 0; - margin: .2em 0; - vertical-align: middle; - margin-left: .4em; - margin-right: 22px; -} -.ui-spinner-button { - width: 16px; - height: 50%; - font-size: .5em; - padding: 0; - margin: 0; - text-align: center; - position: absolute; - cursor: default; - display: block; - overflow: hidden; - right: 0; -} -/* more specificity required here to override default borders */ -.ui-spinner a.ui-spinner-button { - border-top: none; - border-bottom: none; - border-right: none; -} -/* vertically center icon */ -.ui-spinner .ui-icon { - position: absolute; - margin-top: -8px; - top: 50%; - left: 0; -} -.ui-spinner-up { - top: 0; -} -.ui-spinner-down { - bottom: 0; -} - -/* TR overrides */ -.ui-spinner .ui-icon-triangle-1-s { - /* need to fix icons sprite */ - background-position: -65px -16px; -} -.ui-tabs { - position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ - padding: .2em; -} -.ui-tabs .ui-tabs-nav { - margin: 0; - padding: .2em .2em 0; -} -.ui-tabs .ui-tabs-nav li { - list-style: none; - float: left; - position: relative; - top: 0; - margin: 1px .2em 0 0; - border-bottom-width: 0; - padding: 0; - white-space: nowrap; -} -.ui-tabs .ui-tabs-nav .ui-tabs-anchor { - float: left; - padding: .5em 1em; - text-decoration: none; -} -.ui-tabs .ui-tabs-nav li.ui-tabs-active { - margin-bottom: -1px; - padding-bottom: 1px; -} -.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, -.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, -.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { - cursor: text; -} -.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { - cursor: pointer; -} -.ui-tabs .ui-tabs-panel { - display: block; - border-width: 0; - padding: 1em 1.4em; - background: none; -} -.ui-tooltip { - padding: 8px; - position: absolute; - z-index: 9999; - max-width: 300px; - -webkit-box-shadow: 0 0 5px #aaa; - box-shadow: 0 0 5px #aaa; -} -body .ui-tooltip { - border-width: 2px; -} - -/* Component containers -----------------------------------*/ -.ui-widget { - font-family: Verdana,Arial,sans-serif; - font-size: 1.1em; -} -.ui-widget .ui-widget { - font-size: 1em; -} -.ui-widget input, -.ui-widget select, -.ui-widget textarea, -.ui-widget button { - font-family: Verdana,Arial,sans-serif; - font-size: 1em; -} -.ui-widget-content { - border: 1px solid #aaaaaa; - background: #ffffff url("images/ui-bg_flat_75_ffffff_40x100.png") 50% 50% repeat-x; - color: #222222; -} -.ui-widget-content a { - color: #222222; -} -.ui-widget-header { - border: 1px solid #aaaaaa; - background: #cccccc url("images/ui-bg_highlight-soft_75_cccccc_1x100.png") 50% 50% repeat-x; - color: #222222; - font-weight: bold; -} -.ui-widget-header a { - color: #222222; -} - -/* Interaction states -----------------------------------*/ -.ui-state-default, -.ui-widget-content .ui-state-default, -.ui-widget-header .ui-state-default { - border: 1px solid #d3d3d3; - background: #e6e6e6 url("images/ui-bg_glass_75_e6e6e6_1x400.png") 50% 50% repeat-x; - font-weight: normal; - color: #555555; -} -.ui-state-default a, -.ui-state-default a:link, -.ui-state-default a:visited { - color: #555555; - text-decoration: none; -} -.ui-state-hover, -.ui-widget-content .ui-state-hover, -.ui-widget-header .ui-state-hover, -.ui-state-focus, -.ui-widget-content .ui-state-focus, -.ui-widget-header .ui-state-focus { - border: 1px solid #999999; - background: #dadada url("images/ui-bg_glass_75_dadada_1x400.png") 50% 50% repeat-x; - font-weight: normal; - color: #212121; -} -.ui-state-hover a, -.ui-state-hover a:hover, -.ui-state-hover a:link, -.ui-state-hover a:visited, -.ui-state-focus a, -.ui-state-focus a:hover, -.ui-state-focus a:link, -.ui-state-focus a:visited { - color: #212121; - text-decoration: none; -} -.ui-state-active, -.ui-widget-content .ui-state-active, -.ui-widget-header .ui-state-active { - border: 1px solid #aaaaaa; - background: #ffffff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x; - font-weight: normal; - color: #212121; -} -.ui-state-active a, -.ui-state-active a:link, -.ui-state-active a:visited { - color: #212121; - text-decoration: none; -} - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, -.ui-widget-content .ui-state-highlight, -.ui-widget-header .ui-state-highlight { - border: 1px solid #fcefa1; - background: #fbf9ee url("images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x; - color: #363636; -} -.ui-state-highlight a, -.ui-widget-content .ui-state-highlight a, -.ui-widget-header .ui-state-highlight a { - color: #363636; -} -.ui-state-error, -.ui-widget-content .ui-state-error, -.ui-widget-header .ui-state-error { - border: 1px solid #cd0a0a; - background: #fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x; - color: #cd0a0a; -} -.ui-state-error a, -.ui-widget-content .ui-state-error a, -.ui-widget-header .ui-state-error a { - color: #cd0a0a; -} -.ui-state-error-text, -.ui-widget-content .ui-state-error-text, -.ui-widget-header .ui-state-error-text { - color: #cd0a0a; -} -.ui-priority-primary, -.ui-widget-content .ui-priority-primary, -.ui-widget-header .ui-priority-primary { - font-weight: bold; -} -.ui-priority-secondary, -.ui-widget-content .ui-priority-secondary, -.ui-widget-header .ui-priority-secondary { - opacity: .7; - filter:Alpha(Opacity=70); - font-weight: normal; -} -.ui-state-disabled, -.ui-widget-content .ui-state-disabled, -.ui-widget-header .ui-state-disabled { - opacity: .35; - filter:Alpha(Opacity=35); - background-image: none; -} -.ui-state-disabled .ui-icon { - filter:Alpha(Opacity=35); /* For IE8 - See #6059 */ -} - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { - width: 16px; - height: 16px; -} -.ui-icon, -.ui-widget-content .ui-icon { - background-image: url("images/ui-icons_222222_256x240.png"); -} -.ui-widget-header .ui-icon { - background-image: url("images/ui-icons_222222_256x240.png"); -} -.ui-state-default .ui-icon { - background-image: url("images/ui-icons_888888_256x240.png"); -} -.ui-state-hover .ui-icon, -.ui-state-focus .ui-icon { - background-image: url("images/ui-icons_454545_256x240.png"); -} -.ui-state-active .ui-icon { - background-image: url("images/ui-icons_454545_256x240.png"); -} -.ui-state-highlight .ui-icon { - background-image: url("images/ui-icons_2e83ff_256x240.png"); -} -.ui-state-error .ui-icon, -.ui-state-error-text .ui-icon { - background-image: url("images/ui-icons_cd0a0a_256x240.png"); -} - -/* positioning */ -.ui-icon-blank { background-position: 16px 16px; } -.ui-icon-carat-1-n { background-position: 0 0; } -.ui-icon-carat-1-ne { background-position: -16px 0; } -.ui-icon-carat-1-e { background-position: -32px 0; } -.ui-icon-carat-1-se { background-position: -48px 0; } -.ui-icon-carat-1-s { background-position: -64px 0; } -.ui-icon-carat-1-sw { background-position: -80px 0; } -.ui-icon-carat-1-w { background-position: -96px 0; } -.ui-icon-carat-1-nw { background-position: -112px 0; } -.ui-icon-carat-2-n-s { background-position: -128px 0; } -.ui-icon-carat-2-e-w { background-position: -144px 0; } -.ui-icon-triangle-1-n { background-position: 0 -16px; } -.ui-icon-triangle-1-ne { background-position: -16px -16px; } -.ui-icon-triangle-1-e { background-position: -32px -16px; } -.ui-icon-triangle-1-se { background-position: -48px -16px; } -.ui-icon-triangle-1-s { background-position: -64px -16px; } -.ui-icon-triangle-1-sw { background-position: -80px -16px; } -.ui-icon-triangle-1-w { background-position: -96px -16px; } -.ui-icon-triangle-1-nw { background-position: -112px -16px; } -.ui-icon-triangle-2-n-s { background-position: -128px -16px; } -.ui-icon-triangle-2-e-w { background-position: -144px -16px; } -.ui-icon-arrow-1-n { background-position: 0 -32px; } -.ui-icon-arrow-1-ne { background-position: -16px -32px; } -.ui-icon-arrow-1-e { background-position: -32px -32px; } -.ui-icon-arrow-1-se { background-position: -48px -32px; } -.ui-icon-arrow-1-s { background-position: -64px -32px; } -.ui-icon-arrow-1-sw { background-position: -80px -32px; } -.ui-icon-arrow-1-w { background-position: -96px -32px; } -.ui-icon-arrow-1-nw { background-position: -112px -32px; } -.ui-icon-arrow-2-n-s { background-position: -128px -32px; } -.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } -.ui-icon-arrow-2-e-w { background-position: -160px -32px; } -.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } -.ui-icon-arrowstop-1-n { background-position: -192px -32px; } -.ui-icon-arrowstop-1-e { background-position: -208px -32px; } -.ui-icon-arrowstop-1-s { background-position: -224px -32px; } -.ui-icon-arrowstop-1-w { background-position: -240px -32px; } -.ui-icon-arrowthick-1-n { background-position: 0 -48px; } -.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } -.ui-icon-arrowthick-1-e { background-position: -32px -48px; } -.ui-icon-arrowthick-1-se { background-position: -48px -48px; } -.ui-icon-arrowthick-1-s { background-position: -64px -48px; } -.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } -.ui-icon-arrowthick-1-w { background-position: -96px -48px; } -.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } -.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } -.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } -.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } -.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } -.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } -.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } -.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } -.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } -.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } -.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } -.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } -.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } -.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } -.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } -.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } -.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } -.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } -.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } -.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } -.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } -.ui-icon-arrow-4 { background-position: 0 -80px; } -.ui-icon-arrow-4-diag { background-position: -16px -80px; } -.ui-icon-extlink { background-position: -32px -80px; } -.ui-icon-newwin { background-position: -48px -80px; } -.ui-icon-refresh { background-position: -64px -80px; } -.ui-icon-shuffle { background-position: -80px -80px; } -.ui-icon-transfer-e-w { background-position: -96px -80px; } -.ui-icon-transferthick-e-w { background-position: -112px -80px; } -.ui-icon-folder-collapsed { background-position: 0 -96px; } -.ui-icon-folder-open { background-position: -16px -96px; } -.ui-icon-document { background-position: -32px -96px; } -.ui-icon-document-b { background-position: -48px -96px; } -.ui-icon-note { background-position: -64px -96px; } -.ui-icon-mail-closed { background-position: -80px -96px; } -.ui-icon-mail-open { background-position: -96px -96px; } -.ui-icon-suitcase { background-position: -112px -96px; } -.ui-icon-comment { background-position: -128px -96px; } -.ui-icon-person { background-position: -144px -96px; } -.ui-icon-print { background-position: -160px -96px; } -.ui-icon-trash { background-position: -176px -96px; } -.ui-icon-locked { background-position: -192px -96px; } -.ui-icon-unlocked { background-position: -208px -96px; } -.ui-icon-bookmark { background-position: -224px -96px; } -.ui-icon-tag { background-position: -240px -96px; } -.ui-icon-home { background-position: 0 -112px; } -.ui-icon-flag { background-position: -16px -112px; } -.ui-icon-calendar { background-position: -32px -112px; } -.ui-icon-cart { background-position: -48px -112px; } -.ui-icon-pencil { background-position: -64px -112px; } -.ui-icon-clock { background-position: -80px -112px; } -.ui-icon-disk { background-position: -96px -112px; } -.ui-icon-calculator { background-position: -112px -112px; } -.ui-icon-zoomin { background-position: -128px -112px; } -.ui-icon-zoomout { background-position: -144px -112px; } -.ui-icon-search { background-position: -160px -112px; } -.ui-icon-wrench { background-position: -176px -112px; } -.ui-icon-gear { background-position: -192px -112px; } -.ui-icon-heart { background-position: -208px -112px; } -.ui-icon-star { background-position: -224px -112px; } -.ui-icon-link { background-position: -240px -112px; } -.ui-icon-cancel { background-position: 0 -128px; } -.ui-icon-plus { background-position: -16px -128px; } -.ui-icon-plusthick { background-position: -32px -128px; } -.ui-icon-minus { background-position: -48px -128px; } -.ui-icon-minusthick { background-position: -64px -128px; } -.ui-icon-close { background-position: -80px -128px; } -.ui-icon-closethick { background-position: -96px -128px; } -.ui-icon-key { background-position: -112px -128px; } -.ui-icon-lightbulb { background-position: -128px -128px; } -.ui-icon-scissors { background-position: -144px -128px; } -.ui-icon-clipboard { background-position: -160px -128px; } -.ui-icon-copy { background-position: -176px -128px; } -.ui-icon-contact { background-position: -192px -128px; } -.ui-icon-image { background-position: -208px -128px; } -.ui-icon-video { background-position: -224px -128px; } -.ui-icon-script { background-position: -240px -128px; } -.ui-icon-alert { background-position: 0 -144px; } -.ui-icon-info { background-position: -16px -144px; } -.ui-icon-notice { background-position: -32px -144px; } -.ui-icon-help { background-position: -48px -144px; } -.ui-icon-check { background-position: -64px -144px; } -.ui-icon-bullet { background-position: -80px -144px; } -.ui-icon-radio-on { background-position: -96px -144px; } -.ui-icon-radio-off { background-position: -112px -144px; } -.ui-icon-pin-w { background-position: -128px -144px; } -.ui-icon-pin-s { background-position: -144px -144px; } -.ui-icon-play { background-position: 0 -160px; } -.ui-icon-pause { background-position: -16px -160px; } -.ui-icon-seek-next { background-position: -32px -160px; } -.ui-icon-seek-prev { background-position: -48px -160px; } -.ui-icon-seek-end { background-position: -64px -160px; } -.ui-icon-seek-start { background-position: -80px -160px; } -/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ -.ui-icon-seek-first { background-position: -80px -160px; } -.ui-icon-stop { background-position: -96px -160px; } -.ui-icon-eject { background-position: -112px -160px; } -.ui-icon-volume-off { background-position: -128px -160px; } -.ui-icon-volume-on { background-position: -144px -160px; } -.ui-icon-power { background-position: 0 -176px; } -.ui-icon-signal-diag { background-position: -16px -176px; } -.ui-icon-signal { background-position: -32px -176px; } -.ui-icon-battery-0 { background-position: -48px -176px; } -.ui-icon-battery-1 { background-position: -64px -176px; } -.ui-icon-battery-2 { background-position: -80px -176px; } -.ui-icon-battery-3 { background-position: -96px -176px; } -.ui-icon-circle-plus { background-position: 0 -192px; } -.ui-icon-circle-minus { background-position: -16px -192px; } -.ui-icon-circle-close { background-position: -32px -192px; } -.ui-icon-circle-triangle-e { background-position: -48px -192px; } -.ui-icon-circle-triangle-s { background-position: -64px -192px; } -.ui-icon-circle-triangle-w { background-position: -80px -192px; } -.ui-icon-circle-triangle-n { background-position: -96px -192px; } -.ui-icon-circle-arrow-e { background-position: -112px -192px; } -.ui-icon-circle-arrow-s { background-position: -128px -192px; } -.ui-icon-circle-arrow-w { background-position: -144px -192px; } -.ui-icon-circle-arrow-n { background-position: -160px -192px; } -.ui-icon-circle-zoomin { background-position: -176px -192px; } -.ui-icon-circle-zoomout { background-position: -192px -192px; } -.ui-icon-circle-check { background-position: -208px -192px; } -.ui-icon-circlesmall-plus { background-position: 0 -208px; } -.ui-icon-circlesmall-minus { background-position: -16px -208px; } -.ui-icon-circlesmall-close { background-position: -32px -208px; } -.ui-icon-squaresmall-plus { background-position: -48px -208px; } -.ui-icon-squaresmall-minus { background-position: -64px -208px; } -.ui-icon-squaresmall-close { background-position: -80px -208px; } -.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } -.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } -.ui-icon-grip-solid-vertical { background-position: -32px -224px; } -.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } -.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } -.ui-icon-grip-diagonal-se { background-position: -80px -224px; } - - -/* Misc visuals -----------------------------------*/ - -/* Corner radius */ -.ui-corner-all, -.ui-corner-top, -.ui-corner-left, -.ui-corner-tl { - border-top-left-radius: 4px; -} -.ui-corner-all, -.ui-corner-top, -.ui-corner-right, -.ui-corner-tr { - border-top-right-radius: 4px; -} -.ui-corner-all, -.ui-corner-bottom, -.ui-corner-left, -.ui-corner-bl { - border-bottom-left-radius: 4px; -} -.ui-corner-all, -.ui-corner-bottom, -.ui-corner-right, -.ui-corner-br { - border-bottom-right-radius: 4px; -} - -/* Overlays */ -.ui-widget-overlay { - background: #aaaaaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x; - opacity: .3; - filter: Alpha(Opacity=30); -} -.ui-widget-shadow { - margin: -8px 0 0 -8px; - padding: 8px; - background: #aaaaaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x; - opacity: .3; - filter: Alpha(Opacity=30); - border-radius: 8px; -} diff --git a/software-license-manager/includes/slm-api-listener.php b/software-license-manager/includes/slm-api-listener.php deleted file mode 100644 index 23d8812..0000000 --- a/software-license-manager/includes/slm-api-listener.php +++ /dev/null @@ -1,350 +0,0 @@ -creation_api_listener(); - $this->activation_api_listener(); - $this->deactivation_api_listener(); - $this->check_api_listener(); - } - } - - function creation_api_listener() { - if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_create_new') { - //Handle the licene creation API query - global $slm_debug_logger; - - $options = get_option('slm_plugin_options'); - $lic_key_prefix = $options['lic_prefix']; - - SLM_API_Utility::verify_secret_key_for_creation(); //Verify the secret key first. - - $slm_debug_logger->log_debug("API - license creation (slm_create_new) request received."); - - //Action hook - do_action('slm_api_listener_slm_create_new'); - - $fields = array(); - if (isset($_REQUEST['license_key']) && !empty($_REQUEST['license_key'])){ - $fields['license_key'] = strip_tags($_REQUEST['license_key']);//Use the key you pass via the request - } - else{ - $fields['license_key'] = uniqid($lic_key_prefix);//Use random generated key - } - $fields['lic_status'] = 'pending'; - $fields['first_name'] = wp_unslash(strip_tags($_REQUEST['first_name'])); - $fields['last_name'] = wp_unslash(strip_tags($_REQUEST['last_name'])); - $fields['email'] = strip_tags($_REQUEST['email']); - $fields['company_name'] = isset( $_REQUEST['company_name'] ) ? wp_unslash( strip_tags( $_REQUEST['company_name'] ) ) : ''; - $fields['txn_id'] = strip_tags($_REQUEST['txn_id']); - - if (empty($_REQUEST['max_allowed_domains'])) { - $fields['max_allowed_domains'] = $options['default_max_domains']; - } - else { - $fields['max_allowed_domains'] = strip_tags($_REQUEST['max_allowed_domains']); - } - if (empty($_REQUEST['max_allowed_devices'])) { - $fields['max_allowed_devices'] = $options['default_max_devices']; - } - else { - $fields['max_allowed_devices'] = strip_tags($_REQUEST['max_allowed_devices']); - } - $fields['date_created'] = isset($_REQUEST['date_created'])?strip_tags($_REQUEST['date_created']):date("Y-m-d"); - $fields['date_expiry'] = isset($_REQUEST['date_expiry'])?strip_tags($_REQUEST['date_expiry']):''; - $fields['product_ref'] = isset( $_REQUEST['product_ref'] ) ? wp_unslash( strip_tags( $_REQUEST['product_ref'] ) ) : ''; - - global $wpdb; - $tbl_name = SLM_TBL_LICENSE_KEYS; - $result = $wpdb->insert($tbl_name, $fields); - if ($result === false) { - //error inserting - $args = (array('result' => 'error', 'message' => 'License creation failed', 'error_code' => SLM_Error_Codes::CREATE_FAILED)); - SLM_API_Utility::output_api_response($args); - } else { - $args = (array('result' => 'success', 'message' => 'License successfully created', 'key' => $fields['license_key'])); - SLM_API_Utility::output_api_response($args); - } - } - } - - /* - * Query Parameters - * 1) slm_action = slm_create_new - * 2) secret_key - * 3) license_key - * 4) registered_domain (optional) - */ - - function activation_api_listener() { - if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_activate') { - //Handle the license activation API query - global $slm_debug_logger; - - SLM_API_Utility::verify_secret_key(); //Verify the secret key first. - - $slm_debug_logger->log_debug("API - license activation (slm_activate) request received."); - - //Action hook - do_action('slm_api_listener_slm_activate'); - - $fields = array(); - $fields['lic_key'] = trim(strip_tags($_REQUEST['license_key'])); - $fields['registered_domain'] = trim(wp_unslash(strip_tags($_REQUEST['registered_domain']))); //gethostbyaddr($_SERVER['REMOTE_ADDR']); - $fields['registered_devices'] = trim(wp_unslash(strip_tags($_REQUEST['registered_devices']))); //client ip or machine name - $fields['item_reference'] = trim(strip_tags($_REQUEST['item_reference'])); - - $slm_debug_logger->log_debug("License key: " . $fields['lic_key'] . " Domain: " . $fields['registered_domain']); - $slm_debug_logger->log_debug("License key: " . $fields['lic_key'] . " Device: " . $fields['registered_devices']); - - global $wpdb; - $tbl_name = SLM_TBL_LICENSE_KEYS; - $reg_table = SLM_TBL_LIC_DOMAIN; - $reg_table_devices = SLM_TBL_LIC_DEVICES; - - $key = $fields['lic_key']; - - // $sql_prep0 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); - $sql_prep1 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); - $retLic = $wpdb->get_row($sql_prep1, OBJECT); - // $retLicDevices = $wpdb->get_row($sql_prep0, OBJECT); - - $sql_prep2 = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key = %s", $key); - $reg_domains = $wpdb->get_results($sql_prep2, OBJECT); - - $sql_prep3 = $wpdb->prepare("SELECT * FROM $reg_table_devices WHERE lic_key = %s", $key); - $reg_devices = $wpdb->get_results($sql_prep3, OBJECT); - - if ($retLic) { - if ($retLic->lic_status == 'blocked') { - $args = (array('result' => 'error', 'message' => 'Your License key is blocked', 'error_code' => SLM_Error_Codes::LICENSE_BLOCKED)); - SLM_API_Utility::output_api_response($args); - } - elseif ($retLic->lic_status == 'expired') { - $args = (array('result' => 'error', 'message' => 'Your License key has expired', 'error_code' => SLM_Error_Codes::LICENSE_EXPIRED)); - SLM_API_Utility::output_api_response($args); - } - - if (isset($_REQUEST['registered_domain']) && !empty($_REQUEST['registered_domain'])) { - if (count($reg_domains) < floor($retLic->max_allowed_domains)) { - foreach ($reg_domains as $reg_domain) { - if (isset($_REQUEST['migrate_from']) && (trim($_REQUEST['migrate_from']) == $reg_domain->registered_domain)) { - $wpdb->update($reg_table, array('registered_domain' => $fields['registered_domain']), array('registered_domain' => trim(strip_tags($_REQUEST['migrate_from'])))); - $args = (array('result' => 'success', 'message' => 'Registered domain has been updated')); - SLM_API_Utility::output_api_response($args); - } - if ($fields['registered_domain'] == $reg_domain->registered_domain) { - $args = (array('result' => 'error', 'message' => 'License key already in use on ' . $reg_domain->registered_domain, 'error_code' => SLM_Error_Codes::LICENSE_IN_USE)); - SLM_API_Utility::output_api_response($args); - } - } - - $fields['lic_key_id'] = $retLic->id; - $wpdb->insert($reg_table, $fields); - - $slm_debug_logger->log_debug("Updating license key status to active for domain."); - $data = array('lic_status' => 'active'); - $where = array('id' => $retLic->id); - $updated = $wpdb->update($tbl_name, $data, $where); - - $args = (array('result' => 'success', 'message' => 'License key activated')); - SLM_API_Utility::output_api_response($args); - } - else { - $args = (array('result' => 'error', 'message' => 'Reached maximum allowable domains', 'error_code' => SLM_Error_Codes::REACHED_MAX_DOMAINS)); - SLM_API_Utility::output_api_response($args); - } - } - - - if (isset($_REQUEST['registered_devices']) && !empty($_REQUEST['registered_devices'])) { - - if (count($reg_devices) < floor($retLic->max_allowed_devices)) { - - foreach ($reg_devices as $reg_devices) { - if (isset($_REQUEST['migrate_from']) && (trim($_REQUEST['migrate_from']) == $reg_devices->registered_devices)) { - - $wpdb->update($reg_table_devices, array('registered_devices' => $fields['registered_devices']), array('registered_devices' => trim(strip_tags($_REQUEST['migrate_from'])))); - $devices_args = (array('result' => 'success', 'message' => 'Registered device has been updated')); - SLM_API_Utility::output_api_response($devices_args); - } - if ($fields['registered_devices'] == $reg_devices->registered_devices) { - $devices_args = (array('result' => 'error', 'message' => 'License key already in use on ' . $reg_devices->registered_devices, 'error_code' => SLM_Error_Codes::LICENSE_IN_USE)); - SLM_API_Utility::output_api_response($devices_args); - } - } - - $fields['lic_key_id'] = $retLic->id; - $wpdb->insert($reg_table_devices, $fields); - - $slm_debug_logger->log_debug("Updating license key status to active for device."); - $data = array('lic_status' => 'active'); - $where = array('id' => $retLic->id); - $updated = $wpdb->update($tbl_name, $data, $where); - - $args = (array('result' => 'success', 'message' => 'License key activated')); - SLM_API_Utility::output_api_response($args); - } - - else { - $args = (array('result' => 'error', 'message' => 'Reached maximum allowable devices', 'error_code' => SLM_Error_Codes::REACHED_MAX_DEVICES)); - SLM_API_Utility::output_api_response($args); - } - } - - } else { - $args = (array('result' => 'error', 'message' => 'Invalid license key', 'error_code' => SLM_Error_Codes::LICENSE_INVALID)); - SLM_API_Utility::output_api_response($args); - } - } - } - - // TODO : add support for devices deactivation - - function deactivation_api_listener() { - if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_deactivate') { - //Handle the license deactivation API query - global $slm_debug_logger; - - SLM_API_Utility::verify_secret_key(); //Verify the secret key first. - - $slm_debug_logger->log_debug("API - license deactivation (slm_deactivate) request received."); - - //Action hook - do_action('slm_api_listener_slm_deactivate'); - - $registered_domain = trim(wp_unslash(strip_tags($_REQUEST['registered_domain']))); - $license_key = trim(strip_tags($_REQUEST['license_key'])); - $slm_debug_logger->log_debug("License key: " . $license_key . " Domain: " . $registered_domain); - $registered_devices = trim(wp_unslash(strip_tags($_REQUEST['registered_devices']))); - - global $wpdb; - - if (isset($_REQUEST['registered_domain']) && !empty($_REQUEST['registered_domain'])) { - if (empty($_REQUEST['registered_domain'])) { - $args = (array('result' => 'error', 'message' => 'Registered domain information is missing', 'error_code' => SLM_Error_Codes::DOMAIN_MISSING)); - SLM_API_Utility::output_api_response($args); - } - else { - $registered_dom_table = SLM_TBL_LIC_DOMAIN; - $sql_prep = $wpdb->prepare("DELETE FROM $registered_dom_table WHERE lic_key=%s AND registered_domain=%s", $license_key, $registered_domain); - $delete = $wpdb->query($sql_prep); - - if ($delete === false) { - $slm_debug_logger->log_debug("Error - failed to delete the registered domain from the database."); - } - else if ($delete == 0) { - $args = (array('result' => 'error', 'message' => 'The license key on this domain is already inactive', 'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE)); - SLM_API_Utility::output_api_response($args); - } - else { - $args = (array('result' => 'success', 'message' => 'The license key has been deactivated for this domain')); - SLM_API_Utility::output_api_response($args); - } - } - } - if (isset($_REQUEST['registered_devices']) && !empty($_REQUEST['registered_devices'])) { - // devices deactivation - if (empty($_REQUEST['registered_devices'])) { - $args_ = (array('result' => 'error', 'message' => 'Registered device information is missing', 'error_code' => SLM_Error_Codes::DOMAIN_MISSING)); - SLM_API_Utility::output_api_response($args_); - } - else { - $registered_device_table = SLM_TBL_LIC_DEVICES; - $sql_prep2 = $wpdb->prepare("DELETE FROM $registered_device_table WHERE lic_key=%s AND registered_devices=%s", $license_key, $registered_devices); - $delete2 = $wpdb->query($sql_prep2); - - if ($delete2 === false) { - $slm_debug_logger->log_debug("Error - failed to delete the registered device from the database."); - } - else if ($delete2 == 0) { - $args_ = (array('result' => 'error', 'message' => 'The license key on this device is already inactive', 'error_code' => SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE)); - SLM_API_Utility::output_api_response($args_); - } - else { - $args_ = (array('result' => 'success', 'message' => 'The license key has been deactivated for this device')); - SLM_API_Utility::output_api_response($args_); - } - } - } - } - } - - function check_api_listener() { - if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_check') { - //Handle the license check API query - global $slm_debug_logger; - - SLM_API_Utility::verify_secret_key(); //Verify the secret key first. - - $slm_debug_logger->log_debug("API - license check (slm_check) request received."); - - $fields = array(); - $fields['lic_key'] = trim(strip_tags($_REQUEST['license_key'])); - $slm_debug_logger->log_debug("License key: " . $fields['lic_key']); - - //Action hook - do_action('slm_api_listener_slm_check'); - - global $wpdb; - $tbl_name = SLM_TBL_LICENSE_KEYS; - $reg_table = SLM_TBL_LIC_DOMAIN; - $reg_table_devices = SLM_TBL_LIC_DEVICES; - $key = $fields['lic_key']; - $sql_prep1 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); - $retLic = $wpdb->get_row($sql_prep1, OBJECT); - - $sql_prep2 = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key = %s", $key); - $sql_prep3 = $wpdb->prepare("SELECT * FROM $reg_table_devices WHERE lic_key = %s", $key); - - $reg_domains = $wpdb->get_results($sql_prep2, OBJECT); - $reg_devices = $wpdb->get_results($sql_prep3, OBJECT); - if ($retLic) {//A license key exists - $args = (array( - 'result' => 'success', - 'code' => '200', - 'message' => 'License key details retrieved.', - 'status' => $retLic->lic_status, - 'max_allowed_domains' => $retLic->max_allowed_domains, - 'max_allowed_devices' => $retLic->max_allowed_devices, - 'email' => $retLic->email, - 'first_name' => $retLic->first_name, - 'last_name' => $retLic->last_name, - // 'until' => $retLic->until, //until what version license is supported - 'registered_domains' => $reg_domains, - 'registered_devices' => $reg_devices, - 'license_key' => $retLic->license_key, - 'date_created' => $retLic->date_created, - 'date_renewed' => $retLic->date_renewed, - 'date_expiry' => $retLic->date_expiry, - 'product_ref' => $retLic->product_ref, - 'first_name' => $retLic->first_name, - 'last_name' => $retLic->last_name, - 'company_name' => $retLic->company_name, - 'txn_id' => $retLic->txn_id, - - )); - //Output the license details - SLM_API_Utility::output_api_response($args); - } - else { - $args = (array('result' => 'error', 'message' => 'Invalid license key', 'error_code' => SLM_Error_Codes::LICENSE_INVALID)); - SLM_API_Utility::output_api_response($args); - } - } - } - -} \ No newline at end of file diff --git a/software-license-manager/includes/slm-api-utility.php b/software-license-manager/includes/slm-api-utility.php deleted file mode 100644 index 75eca81..0000000 --- a/software-license-manager/includes/slm-api-utility.php +++ /dev/null @@ -1,57 +0,0 @@ -log_debug('API Response - Result: ' . $args['result'] . ' Message: ' . $args['message']); - //Send response - header('Content-Type: application/json'); //ERICH - echo json_encode($args); - exit(0); - } - - static function verify_secret_key() { - $slm_options = get_option('slm_plugin_options'); - $right_secret_key = $slm_options['lic_verification_secret']; - $received_secret_key = strip_tags($_REQUEST['secret_key']); - if ($received_secret_key != $right_secret_key) { - $args = (array('result' => 'error', 'message' => 'Verification API secret key is invalid', 'error_code' => SLM_Error_Codes::VERIFY_KEY_INVALID)); - SLM_API_Utility::output_api_response($args); - } - } - - static function verify_secret_key_for_creation() { - $slm_options = get_option('slm_plugin_options'); - $right_secret_key = $slm_options['lic_creation_secret']; - $received_secret_key = strip_tags($_REQUEST['secret_key']); - if ($received_secret_key != $right_secret_key) { - $args = (array('result' => 'error', 'message' => 'License Creation API secret key is invalid', 'error_code' => SLM_Error_Codes::CREATE_KEY_INVALID)); - SLM_API_Utility::output_api_response($args); - } - } - - static function insert_license_data_internal($fields) { - /* The fields array should have values for the following keys - //$fields['license_key'] - //$fields['lic_status'] - //$fields['first_name'] - //$fields['last_name'] - //$fields['email'] - //$fields['company_name'] - //$fields['txn_id'] - //$fields['max_allowed_domains'] - */ - global $wpdb; - $tbl_name = SLM_TBL_LICENSE_KEYS; - $fields = array_filter($fields);//Remove any null values. - $result = $wpdb->insert($tbl_name, $fields); - } - -} \ No newline at end of file diff --git a/software-license-manager/includes/slm-error-codes.php b/software-license-manager/includes/slm-error-codes.php deleted file mode 100644 index cdad6ce..0000000 --- a/software-license-manager/includes/slm-error-codes.php +++ /dev/null @@ -1,20 +0,0 @@ -load_scripts(); - - //Add other init time operations here - add_action ('slm_daily_cron_event', array(&$this, 'slm_daily_cron_event_handler')); - } - - function load_scripts() - { - //Load all common scripts and styles only - wp_enqueue_script('jquery'); - - //Load all admin side scripts and styles only - if(is_admin()) - { - wp_enqueue_script('jquery-ui-datepicker'); - wp_enqueue_script('wplm-custom-admin-js', WP_LICENSE_MANAGER_URL . '/js/wplm-custom-admin.js', array( 'jquery-ui-dialog' ));//admin only custom js code - - if (isset($_GET['page']) && $_GET['page'] == 'wp_lic_mgr_addedit') {//Only include if we are in the license add/edit interface - wp_enqueue_style('jquery-ui-style', WP_LICENSE_MANAGER_URL .'/css/jquery-ui.css'); - } - //wp_enqueue_style('dialogStylesheet', includes_url().'css/jquery-ui-dialog.css'); - } - } - - function slm_daily_cron_event_handler() - { - $options = get_option('slm_plugin_options'); - - do_action('slm_daily_cron_event_triggered'); - - if ( isset($options['enable_auto_key_expiry']) && $options['enable_auto_key_expiry'] == '1'){ - //Do the auto key expiry task - SLM_Debug_Logger::log_debug_st("SLM daily cronjob - auto expiry of license key is enabled."); - SLM_Utility::do_auto_key_expiry(); - } - - //Do any ohter daily cronjob tasks. - - } - -}//End of class \ No newline at end of file diff --git a/software-license-manager/includes/slm-meta-boxes.php b/software-license-manager/includes/slm-meta-boxes.php deleted file mode 100644 index 00ed4e1..0000000 --- a/software-license-manager/includes/slm-meta-boxes.php +++ /dev/null @@ -1,64 +0,0 @@ -'; - - // License Field - woocommerce_wp_text_input( - array( - 'id' => 'amount_of_licenses['. $loop .']', - 'label' => __( 'Number of Licenses (domain)', 'woocommerce' ), - 'placeholder' => '1-20', - 'desc_tip' => true, - 'wrapper_class' => 'form-row form-row-first', - 'description' => __( 'Ideal for themes, plugins, and websites', 'woocommerce' ), - 'value' => get_post_meta($variation->ID, 'amount_of_licenses', true) - ) - ); - - echo ""; - - echo '
    '; - - // License Field - woocommerce_wp_text_input( - array( - 'id' => 'amount_of_licenses_devices['. $loop .']', - 'label' => __( 'Number of Licenses (devices)', 'woocommerce' ), - 'placeholder' => '1-20', - 'desc_tip' => true, - 'wrapper_class' => 'form-row form-row-first', - 'description' => __( 'Ideal for software and apps.', 'woocommerce' ), - 'value' => get_post_meta($variation->ID, 'amount_of_licenses_devices', true) - ) - ); - - echo "
    "; - -} - -/** Save new fields for variations */ -function save_variation_fields( $variation_id, $i) { - - // License Field - $text_field = stripslashes( $_POST['amount_of_licenses'][$i] ); - update_post_meta( $variation_id, 'amount_of_licenses', esc_attr( $text_field ) ); - - $text_field = stripslashes( $_POST['amount_of_licenses_devices'][$i] ); - update_post_meta( $variation_id, 'amount_of_licenses_devices', esc_attr( $text_field ) ); - -} \ No newline at end of file diff --git a/software-license-manager/includes/slm-third-party-integration.php b/software-license-manager/includes/slm-third-party-integration.php deleted file mode 100644 index b873982..0000000 --- a/software-license-manager/includes/slm-third-party-integration.php +++ /dev/null @@ -1,301 +0,0 @@ -log_debug("WP eStore integration - checking if a license key needs to be created for this transaction."); - $products_table_name = $wpdb->prefix . "wp_eStore_tbl"; - $slm_data = ""; - - foreach ($cart_items as $current_cart_item) { - $prod_id = $current_cart_item['item_number']; - $qty = $current_cart_item['quantity']; - $retrieved_product = $wpdb->get_row("SELECT * FROM $products_table_name WHERE id = '$prod_id'", OBJECT); - $package_product = eStore_is_package_product($retrieved_product); - if ($package_product) { - $slm_debug_logger->log_debug('Checking license key generation for package/bundle product.'); - $product_ids = explode(',', $retrieved_product->product_download_url); - foreach ($product_ids as $id) { - $id = trim($id); - $retrieved_product_for_specific_id = $wpdb->get_row("SELECT * FROM $products_table_name WHERE id = '$id'", OBJECT); - $slm_data .= slm_estore_check_and_generate_key($retrieved_product_for_specific_id, $payment_data, $cart_items, $qty); - } - } else { - $slm_debug_logger->log_debug('Checking license key generation for single item product.'); - $slm_data .= slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items, $qty); - } - } - - $body = str_replace("{slm_data}", $slm_data, $body); - return $body; -} - -function slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items, $qty=1) { - global $slm_debug_logger; - $license_data = ''; - - if ($retrieved_product->create_license == 1) { - $requested_qty = (int)$qty; - $slm_debug_logger->log_debug('Need to create a license key for this product: ' . $retrieved_product->id . '. Requested qty: ' . $requested_qty); - if($requested_qty > 1){ - //More than 1 qty of the same product - for($i=0; $i < $requested_qty; $i++){ - $slm_key = slm_estore_create_license($retrieved_product, $payment_data, $cart_items); - $license_data .= "\n" . __('Item Name: ', 'slm') . $retrieved_product->name . " - " . __('License Key '.($i+1).': ', 'slm') . $slm_key; - } - } - else { - //Standard 1 qty - $slm_key = slm_estore_create_license($retrieved_product, $payment_data, $cart_items); - $license_data = "\n" . __('Item Name: ', 'slm') . $retrieved_product->name . " - " . __('License Key: ', 'slm') . $slm_key; - } - - $slm_debug_logger->log_debug('Liense data: ' . $license_data); - $license_data = apply_filters('slm_estore_item_license_data', $license_data); - } - return $license_data; -} - -function slm_estore_create_license($retrieved_product, $payment_data, $cart_items) { - global $slm_debug_logger; - global $wpdb; - $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; - - //Retrieve the default settings values. - $options = get_option('slm_plugin_options'); - $lic_key_prefix = $options['lic_prefix']; - $max_domains = $options['default_max_domains']; - $max_devices = $options['default_max_devices']; - - //Lets check any product specific configuration. - $prod_id = $retrieved_product->id; - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_domains'", OBJECT); - if ($product_meta) { - //Found product specific SLM config data. - $max_domains = $product_meta->meta_value; - } else { - //Use the default value from settings (the $max_domains variable contains the default value already). - } - - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_devices'", OBJECT); - if ($product_meta) { - //Found product specific SLM config data. - $max_devices = $product_meta->meta_value; - } else { - //Use the default value from settings (the $max_domains variable contains the default value already). - } - - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_devices'", OBJECT); - if ($product_meta) { - //Found product specific SLM config data. - $max_devices = $product_meta->meta_value; - } else { - //Use the default value from settings (the $max_domains variable contains the default value already). - } //Lets check if any product specific expiry date is set - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_date_of_expiry'", OBJECT); - if ($product_meta) { - //Found product specific SLM config data. - $num_days_before_expiry = $product_meta->meta_value; - $slm_date_of_expiry = date('Y-m-d', strtotime('+'.$num_days_before_expiry.' days')); - } else { - //Use the default value (1 year from today). - $current_date_plus_1year = date('Y-m-d', strtotime('+1 year')); - $slm_date_of_expiry = $current_date_plus_1year; - } - - - $fields = array(); - $fields['license_key'] = uniqid($lic_key_prefix); - $fields['lic_status'] = 'pending'; - $fields['first_name'] = $payment_data['first_name']; - $fields['last_name'] = $payment_data['last_name']; - $fields['email'] = $payment_data['payer_email']; - $fields['company_name'] = $payment_data['company_name']; - $fields['txn_id'] = $payment_data['txn_id']; - $fields['max_allowed_domains'] = $max_domains; - $fields['max_allowed_devices'] = $max_devices; - $fields['date_created'] = date("Y-m-d"); //Today's date - $fields['date_expiry'] = $slm_date_of_expiry; - - $slm_debug_logger->log_debug('Inserting license data into the license manager DB table.'); - $fields = array_filter($fields); //Remove any null values. - - - $tbl_name = SLM_TBL_LICENSE_KEYS; - $result = $wpdb->insert($tbl_name, $fields); - if (!$result) { - $slm_debug_logger->log_debug('Notice! initial database table insert failed on license key table (User Email: ' . $fields['email'] . '). Trying again by converting charset', true); - //Convert the default PayPal IPN charset to UTF-8 format - $first_name = mb_convert_encoding($fields['first_name'], "UTF-8", "windows-1252"); - $fields['first_name'] = esc_sql($first_name); - $last_name = mb_convert_encoding($fields['last_name'], "UTF-8", "windows-1252"); - $fields['last_name'] = esc_sql($last_name); - $company_name = mb_convert_encoding($fields['company_name'], "UTF-8", "windows-1252"); - $fields['company_name'] = esc_sql($company_name); - - $result = $wpdb->insert($tbl_name, $fields); - if (!$result) { - $slm_debug_logger->log_debug('Error! Failed to update license key table. DB insert query failed.', false); - } - } - //SLM_API_Utility::insert_license_data_internal($fields); - - return $fields['license_key']; -} - -/* Code to handle the eStore's product add/edit interface for SLM specific product configuration */ -add_filter('eStore_addon_product_settings_filter', 'slm_estore_product_configuration_html', 10, 2); //Render the product add/edit HTML -add_action('eStore_new_product_added', 'slm_estore_new_product_added', 10, 2); //Handle the DB insert after a product add. -add_action('eStore_product_updated', 'slm_estore_product_updated', 10, 2); //Handle the DB update after a product edit. -add_action('eStore_product_deleted', 'slm_estore_product_deleted'); //Handle the DB delete after a product delete. - -function slm_estore_product_configuration_html($product_config_html, $prod_id) { - global $wpdb; - $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; - - if (empty($prod_id)) { - //New product add - $slm_max_allowed_domains = ""; - $slm_max_allowed_devices = ""; - $slm_date_of_expiry = ""; - } else { - //Existing product edit - - //Retrieve the max domain value - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_domains'", OBJECT); - if ($product_meta) { - $slm_max_allowed_domains = $product_meta->meta_value; - } else { - $slm_max_allowed_domains = ""; - } - - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_devices'", OBJECT); - if ($product_meta) { - $slm_max_allowed_devices = $product_meta->meta_value; - } else { - $slm_max_allowed_devices = ""; - } - - //Retrieve the expiry date value - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_date_of_expiry'", OBJECT); - if ($product_meta) { - $slm_date_of_expiry = $product_meta->meta_value; - } else { - $slm_date_of_expiry = ""; - } - - } - - $product_config_html .= '
    Software License Manager Plugin (Click to Expand)
    '; - - $product_config_html .= ''; - - $product_config_html .= ''; - - $product_config_html .= ''; - - $product_config_html .= '
    Maximum Allowed Domains'; - $product_config_html .= ''; - $product_config_html .= '

    Number of domains/installs in which this license can be used. Leave blank if you wish to use the default value set in the license manager plugin settings.

    '; - $product_config_html .= '
    Maximum Allowed Devices'; - $product_config_html .= ''; - $product_config_html .= '

    Number of devices in which this license can be used. Leave blank if you wish to use the default value set in the license manager plugin settings.

    '; - $product_config_html .= '
    Number of Days before Expiry'; - $product_config_html .= ' Days'; - $product_config_html .= '

    Number of days before expiry. The expiry date of the license will be set based on this value. For example, if you want the key to expire in 6 months then enter a value of 180.

    '; - $product_config_html .= '
    '; - - return $product_config_html; -} - -function slm_estore_new_product_added($prod_dat_array, $prod_id) { - global $wpdb; - $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; - - //Save max domain value - $fields = array(); - $fields['prod_id'] = $prod_id; - $fields['meta_key'] = 'slm_max_allowed_domains'; - $fields['meta_value'] = $prod_dat_array['slm_max_allowed_domains']; - $fields['meta_key'] = 'slm_max_allowed_devices'; - $fields['meta_value'] = $prod_dat_array['slm_max_allowed_devices']; - $result = $wpdb->insert($product_meta_table_name, $fields); - if (!$result) { - //insert query failed - } - - //Save expiry date value - $fields = array(); - $fields['prod_id'] = $prod_id; - $fields['meta_key'] = 'slm_date_of_expiry'; - $fields['meta_value'] = $prod_dat_array['slm_date_of_expiry']; - $result = $wpdb->insert($product_meta_table_name, $fields); - if (!$result) { - //insert query failed - } - -} - -function slm_estore_product_updated($prod_dat_array, $prod_id) { - global $wpdb; - $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; - - //Find the existing value for the max domains field (for the given product) - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_domains'", OBJECT); - if ($product_meta) { - //Found existing value so lets update it - $fields = array(); - $fields['meta_key'] = 'slm_max_allowed_domains'; - $fields['meta_key'] = 'slm_max_allowed_devices'; - $fields['meta_value'] = $prod_dat_array['slm_max_allowed_domains']; - $fields['meta_value'] = $prod_dat_array['slm_max_allowed_devices']; - $result = $wpdb->update($product_meta_table_name, $fields, array('prod_id' => $prod_id)); - - } else { - //No value for this field was there so lets insert one. - $fields = array(); - $fields['prod_id'] = $prod_id; - $fields['meta_key'] = 'slm_max_allowed_domains'; - $fields['meta_key'] = 'slm_max_allowed_devices'; - $fields['meta_value'] = $prod_dat_array['slm_max_allowed_domains']; - $fields['meta_value'] = $prod_dat_array['slm_max_allowed_devices']; - $result = $wpdb->insert($product_meta_table_name, $fields); - } - - //Find the existing value for the expiry date field (for the given product) - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_date_of_expiry'", OBJECT); - if ($product_meta) { - //Found existing value so lets update it - $fields = array(); - $fields['meta_key'] = 'slm_date_of_expiry'; - $fields['meta_value'] = $prod_dat_array['slm_date_of_expiry']; - $result = $wpdb->update($product_meta_table_name, $fields, array('prod_id' => $prod_id)); - - } else { - //No value for this field was there so lets insert one. - $fields = array(); - $fields['prod_id'] = $prod_id; - $fields['meta_key'] = 'slm_date_of_expiry'; - $fields['meta_value'] = $prod_dat_array['slm_date_of_expiry']; - $result = $wpdb->insert($product_meta_table_name, $fields); - } - -} - -function slm_estore_product_deleted($prod_id) { - global $wpdb; - $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; - - $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_max_allowed_domains')); - $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_max_allowed_devices')); - $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_date_of_expiry')); -} - -/************************************/ -/*** End of WP eStore integration ***/ -/************************************/ \ No newline at end of file diff --git a/software-license-manager/includes/slm-utility.php b/software-license-manager/includes/slm-utility.php deleted file mode 100644 index eb9a678..0000000 --- a/software-license-manager/includes/slm-utility.php +++ /dev/null @@ -1,73 +0,0 @@ -prepare("SELECT * FROM $tbl_name WHERE lic_status !=%s", 'expired');//Load the non-expired keys - $licenses = $wpdb->get_results($sql_prep, OBJECT); - if(!$licenses){ - SLM_Debug_Logger::log_debug_st("do_auto_key_expiry() - no license keys found."); - return false; - } - - foreach($licenses as $license){ - $key = $license->license_key; - $expiry_date = $license->date_expiry; - if ($expiry_date == '0000-00-00'){ - SLM_Debug_Logger::log_debug_st("This key (".$key.") doesn't have a valid expiry date set. The expiry of this key will not be checked."); - continue; - } - - $today_dt = new DateTime($current_date); - $expire_dt = new DateTime($expiry_date); - if ($today_dt > $expire_dt) { - //This key has reached the expiry. So expire this key. - SLM_Debug_Logger::log_debug_st("This key (".$key.") has expired. Expiry date: ".$expiry_date.". Setting license key status to expired."); - $data = array('lic_status' => 'expired'); - $where = array('id' => $license->id); - $updated = $wpdb->update($tbl_name, $data, $where); - do_action('slm_license_key_expired',$license->id);//Trigger the license expired action hook. - } - - } - } - - /* - * Deletes a license key from the licenses table - */ - static function delete_license_key_by_row_id($key_row_id) { - global $wpdb; - $license_table = SLM_TBL_LICENSE_KEYS; - - //First delete the registered domains entry of this key (if any). - SLM_Utility::delete_registered_domains_of_key($key_row_id); - - //Now, delete the key from the licenses table. - $wpdb->delete( $license_table, array( 'id' => $key_row_id ) ); - - } - - /* - * Deletes any registered domains info from the domain table for the given key's row id. - */ - static function delete_registered_domains_of_key($key_row_id) { - global $slm_debug_logger; - global $wpdb; - $reg_table = SLM_TBL_LIC_DOMAIN; - $sql_prep = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key_id = %s", $key_row_id); - $reg_domains = $wpdb->get_results($sql_prep, OBJECT); - foreach ($reg_domains as $domain) { - $row_to_delete = $domain->id; - $wpdb->delete( $reg_table, array( 'id' => $row_to_delete ) ); - //$slm_debug_logger->log_debug("Registered domain with row id (".$row_to_delete.") deleted."); - } - } - -} \ No newline at end of file diff --git a/software-license-manager/index.html b/software-license-manager/index.html deleted file mode 100644 index e69de29..0000000 diff --git a/software-license-manager/js/index.html b/software-license-manager/js/index.html deleted file mode 100644 index e69de29..0000000 diff --git a/software-license-manager/js/wplm-custom-admin.js b/software-license-manager/js/wplm-custom-admin.js deleted file mode 100644 index 313fbc1..0000000 --- a/software-license-manager/js/wplm-custom-admin.js +++ /dev/null @@ -1,11 +0,0 @@ -jQuery(document).ready(function($){ - //Add date picker listener on date fields - if ($.fn.datepicker){ - $('.wplm_pick_date').datepicker({ - dateFormat : 'yy-mm-dd' - }); - } - - //Add other admin side only jquery code below - -}); \ No newline at end of file diff --git a/software-license-manager/menu/includes/index.html b/software-license-manager/menu/includes/index.html deleted file mode 100644 index e69de29..0000000 diff --git a/software-license-manager/menu/includes/slm-list-table-class.php b/software-license-manager/menu/includes/slm-list-table-class.php deleted file mode 100644 index 466af4f..0000000 --- a/software-license-manager/menu/includes/slm-list-table-class.php +++ /dev/null @@ -1,907 +0,0 @@ - '', - 'singular' => '', - 'ajax' => false, - 'screen' => null, - ) ); - - $this->screen = convert_to_screen( $args['screen'] ); - - add_filter( "manage_{$this->screen->id}_columns", array( &$this, 'get_columns' ), 0 ); - - if ( !$args['plural'] ) - $args['plural'] = $this->screen->base; - - $args['plural'] = sanitize_key( $args['plural'] ); - $args['singular'] = sanitize_key( $args['singular'] ); - - $this->_args = $args; - - if ( $args['ajax'] ) { - // wp_enqueue_script( 'list-table' ); - add_action( 'admin_footer', array( &$this, '_js_vars' ) ); - } - } - - /** - * Checks the current user's permissions - * @uses wp_die() - * - * @since 3.1.0 - * @access public - * @abstract - */ - function ajax_user_can() { - die( 'function WP_Photo_Seller_List_Table::ajax_user_can() must be over-ridden in a sub-class.' ); - } - - /** - * Prepares the list of items for displaying. - * @uses WP_Photo_Seller_List_Table::set_pagination_args() - * - * @since 3.1.0 - * @access public - * @abstract - */ - function prepare_items() { - die( 'function WP_Photo_Seller_List_Table::prepare_items() must be over-ridden in a sub-class.' ); - } - - /** - * An internal method that sets all the necessary pagination arguments - * - * @param array $args An associative array with information about the pagination - * @access protected - */ - function set_pagination_args( $args ) { - $args = wp_parse_args( $args, array( - 'total_items' => 0, - 'total_pages' => 0, - 'per_page' => 0, - ) ); - - if ( !$args['total_pages'] && $args['per_page'] > 0 ) - $args['total_pages'] = ceil( $args['total_items'] / $args['per_page'] ); - - // redirect if page number is invalid and headers are not already sent - if ( ! headers_sent() && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) && $args['total_pages'] > 0 && $this->get_pagenum() > $args['total_pages'] ) { - wp_redirect( esc_url(add_query_arg( 'paged', $args['total_pages'] )) ); - exit; - } - - $this->_pagination_args = $args; - } - - /** - * Access the pagination args - * - * @since 3.1.0 - * @access public - * - * @param string $key - * @return array - */ - function get_pagination_arg( $key ) { - if ( 'page' == $key ) - return $this->get_pagenum(); - - if ( isset( $this->_pagination_args[$key] ) ) - return $this->_pagination_args[$key]; - } - - /** - * Whether the table has items to display or not - * - * @since 3.1.0 - * @access public - * - * @return bool - */ - function has_items() { - return !empty( $this->items ); - } - - /** - * Message to be displayed when there are no items - * - * @since 3.1.0 - * @access public - */ - function no_items() { - _e( 'No items found.' ); - } - - /** - * Display the search box. - * - * @since 3.1.0 - * @access public - * - * @param string $text The search button text - * @param string $input_id The search input id - */ - function search_box( $text, $input_id ) { - if ( empty( $_REQUEST['s'] ) && !$this->has_items() ) - return; - - $input_id = $input_id . '-search-input'; - - if ( ! empty( $_REQUEST['orderby'] ) ) - echo ''; - if ( ! empty( $_REQUEST['order'] ) ) - echo ''; - if ( ! empty( $_REQUEST['post_mime_type'] ) ) - echo ''; - if ( ! empty( $_REQUEST['detached'] ) ) - echo ''; -?> - - link ) with the list - * of views available on this table. - * - * @since 3.1.0 - * @access protected - * - * @return array - */ - function get_views() { - return array(); - } - - /** - * Display the list of views available on this table. - * - * @since 3.1.0 - * @access public - */ - function views() { - $views = $this->get_views(); - $views = apply_filters( 'views_' . $this->screen->id, $views ); - - if ( empty( $views ) ) - return; - - echo "
      \n"; - foreach ( $views as $class => $view ) { - $views[ $class ] = "\t
    • $view"; - } - echo implode( " |
    • \n", $views ) . "\n"; - echo "
    "; - } - - /** - * Get an associative array ( option_name => option_title ) with the list - * of bulk actions available on this table. - * - * @since 3.1.0 - * @access protected - * - * @return array - */ - function get_bulk_actions() { - return array(); - } - - /** - * Display the bulk actions dropdown. - * - * @since 3.1.0 - * @access public - */ - function bulk_actions() { - if ( is_null( $this->_actions ) ) { - $no_new_actions = $this->_actions = $this->get_bulk_actions(); - // This filter can currently only be used to remove actions. - $this->_actions = apply_filters( 'bulk_actions-' . $this->screen->id, $this->_actions ); - $this->_actions = array_intersect_assoc( $this->_actions, $no_new_actions ); - $two = ''; - } else { - $two = '2'; - } - - if ( empty( $this->_actions ) ) - return; - - echo "\n"; - - submit_button( __( 'Apply' ), 'action', false, false, array( 'id' => "doaction$two" ) ); - echo "\n"; - } - - /** - * Get the current action selected from the bulk actions dropdown. - * - * @since 3.1.0 - * @access public - * - * @return string|bool The action name or False if no action was selected - */ - function current_action() { - if ( isset( $_REQUEST['action'] ) && -1 != $_REQUEST['action'] ) - return $_REQUEST['action']; - - if ( isset( $_REQUEST['action2'] ) && -1 != $_REQUEST['action2'] ) - return $_REQUEST['action2']; - - return false; - } - - /** - * Generate row actions div - * - * @since 3.1.0 - * @access protected - * - * @param array $actions The list of actions - * @param bool $always_visible Whether the actions should be always visible - * @return string - */ - function row_actions( $actions, $always_visible = false ) { - $action_count = count( $actions ); - $i = 0; - - if ( !$action_count ) - return ''; - - $out = '
    '; - foreach ( $actions as $action => $link ) { - ++$i; - ( $i == $action_count ) ? $sep = '' : $sep = ' | '; - $out .= "$link$sep"; - } - $out .= '
    '; - - return $out; - } - - /** - * Display a monthly dropdown for filtering items - * - * @since 3.1.0 - * @access protected - */ - function months_dropdown( $post_type ) { - global $wpdb, $wp_locale; - - $months = $wpdb->get_results( $wpdb->prepare( " - SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month - FROM $wpdb->posts - WHERE post_type = %s - ORDER BY post_date DESC - ", $post_type ) ); - - $month_count = count( $months ); - - if ( !$month_count || ( 1 == $month_count && 0 == $months[0]->month ) ) - return; - - $m = isset( $_GET['m'] ) ? (int) $_GET['m'] : 0; -?> - - __( 'List View' ), - 'excerpt' => __( 'Excerpt View' ) - ); - -?> - -
    - $title ) { - $class = ( $current_mode == $mode ) ? 'class="current"' : ''; - echo "$title\n"; - } - ?> -
    -'; - - echo "" . number_format_i18n( get_comments_number() ) . ""; - - if ( $pending_comments ) - echo ''; - } - - /** - * Get the current page number - * - * @since 3.1.0 - * @access protected - * - * @return int - */ - function get_pagenum() { - $pagenum = isset( $_REQUEST['paged'] ) ? absint( $_REQUEST['paged'] ) : 0; - - if( isset( $this->_pagination_args['total_pages'] ) && $pagenum > $this->_pagination_args['total_pages'] ) - $pagenum = $this->_pagination_args['total_pages']; - - return max( 1, $pagenum ); - } - - /** - * Get number of items to display on a single page - * - * @since 3.1.0 - * @access protected - * - * @return int - */ - function get_items_per_page( $option, $default = 20 ) { - $per_page = (int) get_user_option( $option ); - if ( empty( $per_page ) || $per_page < 1 ) - $per_page = $default; - - return (int) apply_filters( $option, $per_page ); - } - - /** - * Display the pagination. - * - * @since 3.1.0 - * @access protected - */ - function pagination( $which ) { - if ( empty( $this->_pagination_args ) ) - return; - - extract( $this->_pagination_args, EXTR_SKIP ); - - $output = '' . sprintf( _n( '1 item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . ''; - - $current = $this->get_pagenum(); - - $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ); - - $current_url = remove_query_arg( array( 'hotkeys_highlight_last', 'hotkeys_highlight_first' ), $current_url ); - - $page_links = array(); - - $disable_first = $disable_last = ''; - if ( $current == 1 ) - $disable_first = ' disabled'; - if ( $current == $total_pages ) - $disable_last = ' disabled'; - - $page_links[] = sprintf( "%s", - 'first-page' . $disable_first, - esc_attr__( 'Go to the first page' ), - esc_url( remove_query_arg( 'paged', $current_url ) ), - '«' - ); - - $page_links[] = sprintf( "%s", - 'prev-page' . $disable_first, - esc_attr__( 'Go to the previous page' ), - esc_url( add_query_arg( 'paged', max( 1, $current-1 ), $current_url ) ), - '‹' - ); - - if ( 'bottom' == $which ) - $html_current_page = $current; - else - $html_current_page = sprintf( "", - esc_attr__( 'Current page' ), - $current, - strlen( $total_pages ) - ); - - $html_total_pages = sprintf( "%s", number_format_i18n( $total_pages ) ); - $page_links[] = '' . sprintf( _x( '%1$s of %2$s', 'paging' ), $html_current_page, $html_total_pages ) . ''; - - $page_links[] = sprintf( "%s", - 'next-page' . $disable_last, - esc_attr__( 'Go to the next page' ), - esc_url( add_query_arg( 'paged', min( $total_pages, $current+1 ), $current_url ) ), - '›' - ); - - $page_links[] = sprintf( "%s", - 'last-page' . $disable_last, - esc_attr__( 'Go to the last page' ), - esc_url( add_query_arg( 'paged', $total_pages, $current_url ) ), - '»' - ); - - $pagination_links_class = 'pagination-links'; - if ( ! empty( $infinite_scroll ) ) - $pagination_links_class = ' hide-if-js'; - $output .= "\n" . join( "\n", $page_links ) . ''; - - if ( $total_pages ) - $page_class = $total_pages < 2 ? ' one-page' : ''; - else - $page_class = ' no-pages'; - - $this->_pagination = "
    $output
    "; - - echo $this->_pagination; - } - - /** - * Get a list of columns. The format is: - * 'internal-name' => 'Title' - * - * @since 3.1.0 - * @access protected - * @abstract - * - * @return array - */ - function get_columns() { - die( 'function WP_Photo_Seller_List_Table::get_columns() must be over-ridden in a sub-class.' ); - } - - /** - * Get a list of sortable columns. The format is: - * 'internal-name' => 'orderby' - * or - * 'internal-name' => array( 'orderby', true ) - * - * The second format will make the initial sorting order be descending - * - * @since 3.1.0 - * @access protected - * - * @return array - */ - function get_sortable_columns() { - return array(); - } - - /** - * Get a list of all, hidden and sortable columns, with filter applied - * - * @since 3.1.0 - * @access protected - * - * @return array - */ - function get_column_info() { - if ( isset( $this->_column_headers ) ) - return $this->_column_headers; - - $columns = get_column_headers( $this->screen ); - $hidden = get_hidden_columns( $this->screen ); - - $_sortable = apply_filters( "manage_{$this->screen->id}_sortable_columns", $this->get_sortable_columns() ); - - $sortable = array(); - foreach ( $_sortable as $id => $data ) { - if ( empty( $data ) ) - continue; - - $data = (array) $data; - if ( !isset( $data[1] ) ) - $data[1] = false; - - $sortable[$id] = $data; - } - - $this->_column_headers = array( $columns, $hidden, $sortable ); - - return $this->_column_headers; - } - - /** - * Return number of visible columns - * - * @since 3.1.0 - * @access public - * - * @return int - */ - function get_column_count() { - list ( $columns, $hidden ) = $this->get_column_info(); - $hidden = array_intersect( array_keys( $columns ), array_filter( $hidden ) ); - return count( $columns ) - count( $hidden ); - } - - /** - * Print column headers, accounting for hidden and sortable columns. - * - * @since 3.1.0 - * @access protected - * - * @param bool $with_id Whether to set the id attribute or not - */ - function print_column_headers( $with_id = true ) { - list( $columns, $hidden, $sortable ) = $this->get_column_info(); - - $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ); - $current_url = remove_query_arg( 'paged', $current_url ); - - if ( isset( $_GET['orderby'] ) ) - $current_orderby = $_GET['orderby']; - else - $current_orderby = ''; - - if ( isset( $_GET['order'] ) && 'desc' == $_GET['order'] ) - $current_order = 'desc'; - else - $current_order = 'asc'; - - if ( ! empty( $columns['cb'] ) ) { - static $cb_counter = 1; - $columns['cb'] = '' - . ''; - $cb_counter++; - } - - foreach ( $columns as $column_key => $column_display_name ) { - $class = array( 'manage-column', "column-$column_key" ); - - $style = ''; - if ( in_array( $column_key, $hidden ) ) - $style = 'display:none;'; - - $style = ' style="' . $style . '"'; - - if ( 'cb' == $column_key ) - $class[] = 'check-column'; - elseif ( in_array( $column_key, array( 'posts', 'comments', 'links' ) ) ) - $class[] = 'num'; - - if ( isset( $sortable[$column_key] ) ) { - list( $orderby, $desc_first ) = $sortable[$column_key]; - - if ( $current_orderby == $orderby ) { - $order = 'asc' == $current_order ? 'desc' : 'asc'; - $class[] = 'sorted'; - $class[] = $current_order; - } else { - $order = $desc_first ? 'desc' : 'asc'; - $class[] = 'sortable'; - $class[] = $desc_first ? 'asc' : 'desc'; - } - - $column_display_name = '' . $column_display_name . ''; - } - - $id = $with_id ? "id='$column_key'" : ''; - - if ( !empty( $class ) ) - $class = "class='" . join( ' ', $class ) . "'"; - - echo "$column_display_name"; - } - } - - /** - * Display the table - * - * @since 3.1.0 - * @access public - */ - function display() { - extract( $this->_args ); - - $this->display_tablenav( 'top' ); - -?> - - - - print_column_headers(); ?> - - - - - - print_column_headers( false ); ?> - - - - > - display_rows_or_placeholder(); ?> - -
    -display_tablenav( 'bottom' ); - } - - /** - * Get a list of CSS classes for the tag - * - * @since 3.1.0 - * @access protected - * - * @return array - */ - function get_table_classes() { - return array( 'widefat', 'fixed', $this->_args['plural'] ); - } - - /** - * Generate the table navigation above or below the table - * - * @since 3.1.0 - * @access protected - */ - function display_tablenav( $which ) { - if ( 'top' == $which ) - wp_nonce_field( 'bulk-' . $this->_args['plural'] ); -?> -
    - -
    - bulk_actions(); ?> -
    -extra_tablenav( $which ); - $this->pagination( $which ); -?> - -
    -
    - part of the table - * - * @since 3.1.0 - * @access protected - */ - function display_rows_or_placeholder() { - if ( $this->has_items() ) { - $this->display_rows(); - } else { - list( $columns, $hidden ) = $this->get_column_info(); - echo ''; - } - } - - /** - * Generate the table rows - * - * @since 3.1.0 - * @access protected - */ - function display_rows() { - foreach ( $this->items as $item ) - $this->single_row( $item ); - } - - /** - * Generates content for a single row of the table - * - * @since 3.1.0 - * @access protected - * - * @param object $item The current item - */ - function single_row( $item ) { - static $row_class = ''; - $row_class = ( $row_class == '' ? ' class="alternate"' : '' ); - - echo ''; - echo $this->single_row_columns( $item ); - echo ''; - } - - /** - * Generates the columns for a single row of the table - * - * @since 3.1.0 - * @access protected - * - * @param object $item The current item - */ - function single_row_columns( $item ) { - list( $columns, $hidden ) = $this->get_column_info(); - - foreach ( $columns as $column_name => $column_display_name ) { - $class = "class='$column_name column-$column_name'"; - - $style = ''; - if ( in_array( $column_name, $hidden ) ) - $style = ' style="display:none;"'; - - $attributes = "$class$style"; - - if ( 'cb' == $column_name ) { - echo ''; - } - elseif ( method_exists( $this, 'column_' . $column_name ) ) { - echo ""; - } - else { - echo ""; - } - } - } - - /** - * Handle an incoming ajax request (called from admin-ajax.php) - * - * @since 3.1.0 - * @access public - */ - function ajax_response() { - $this->prepare_items(); - - extract( $this->_args ); - extract( $this->_pagination_args, EXTR_SKIP ); - - ob_start(); - if ( ! empty( $_REQUEST['no_placeholder'] ) ) - $this->display_rows(); - else - $this->display_rows_or_placeholder(); - - $rows = ob_get_clean(); - - $response = array( 'rows' => $rows ); - - if ( isset( $total_items ) ) - $response['total_items_i18n'] = sprintf( _n( '1 item', '%s items', $total_items ), number_format_i18n( $total_items ) ); - - if ( isset( $total_pages ) ) { - $response['total_pages'] = $total_pages; - $response['total_pages_i18n'] = number_format_i18n( $total_pages ); - } - - die( json_encode( $response ) ); - } - - /** - * Send required variables to JavaScript land - * - * @access private - */ - function _js_vars() { - $args = array( - 'class' => get_class( $this ), - 'screen' => array( - 'id' => $this->screen->id, - 'base' => $this->screen->base, - ) - ); - - printf( "\n", json_encode( $args ) ); - } -} diff --git a/software-license-manager/menu/index.html b/software-license-manager/menu/index.html deleted file mode 100644 index e69de29..0000000 diff --git a/software-license-manager/menu/slm-add-licenses.php b/software-license-manager/menu/slm-add-licenses.php deleted file mode 100644 index 3f9caa5..0000000 --- a/software-license-manager/menu/slm-add-licenses.php +++ /dev/null @@ -1,394 +0,0 @@ -'; - echo '

    Add/Edit Licenses

    '; - echo '
    '; - - //If product is being edited, grab current product info - if (isset($_GET['edit_record'])) { - $errors = ''; - $id = $_GET['edit_record']; - $lk_table = SLM_TBL_LICENSE_KEYS; - $sql_prep = $wpdb->prepare("SELECT * FROM $lk_table WHERE id = %s", $id); - $record = $wpdb->get_row($sql_prep, OBJECT); - $license_key = $record->license_key; - $max_domains = $record->max_allowed_domains; - $max_devices = $record->max_allowed_devices; - $license_status = $record->lic_status; - $first_name = $record->first_name; - $last_name = $record->last_name; - $email = $record->email; - $company_name = $record->company_name; - $txn_id = $record->txn_id; - $reset_count = $record->manual_reset_count; - $purchaseid = $record->purchase_id_; - $created_date = $record->date_created; - $renewed_date = $record->date_renewed; - $expiry_date = $record->date_expiry; - $product_ref = $record->product_ref; - } - - - if (isset($_POST['save_record'])) { - - //Check nonce - if ( !isset($_POST['slm_add_edit_nonce_val']) || !wp_verify_nonce($_POST['slm_add_edit_nonce_val'], 'slm_add_edit_nonce_action' )){ - //Nonce check failed. - wp_die("Error! Nonce verification failed for license save action."); - } - - do_action('slm_add_edit_interface_save_submission'); - - //TODO - do some validation - $license_key = $_POST['license_key']; - $max_domains = $_POST['max_allowed_domains']; - $max_devices = $_POST['max_allowed_devices']; - $license_status = $_POST['lic_status']; - $first_name = $_POST['first_name']; - $last_name = $_POST['last_name']; - $email = $_POST['email']; - $company_name = $_POST['company_name']; - $txn_id = $_POST['txn_id']; - $reset_count = $_POST['manual_reset_count']; - $purchaseid = $_POST['purchase_id_']; - $created_date = $_POST['date_created']; - $renewed_date = $_POST['date_renewed']; - $expiry_date = $_POST['date_expiry']; - $product_ref = $_POST['product_ref']; - - if(empty($created_date)){ - $created_date = $current_date; - } - if(empty($renewed_date)){ - $renewed_date = $current_date; - } - if(empty($expiry_date)){ - $expiry_date = $current_date_plus_1year; - } - - //Save the entry to the database - $fields = array(); - $fields['license_key'] = $license_key; - $fields['max_allowed_domains'] = $max_domains; - $fields['max_allowed_devices'] = $max_devices; - $fields['lic_status'] = $license_status; - $fields['first_name'] = $first_name; - $fields['last_name'] = $last_name; - $fields['email'] = $email; - $fields['company_name'] = $company_name; - $fields['txn_id'] = $txn_id; - $fields['manual_reset_count'] = $reset_count; - $fields['purchase_id_'] = $purchaseid; - $fields['date_created'] = $created_date; - $fields['date_renewed'] = $renewed_date; - $fields['date_expiry'] = $expiry_date; - $fields['product_ref'] = $product_ref; - - $id = isset($_POST['edit_record'])?$_POST['edit_record']:''; - $lk_table = SLM_TBL_LICENSE_KEYS; - if (empty($id)) {//Insert into database - $result = $wpdb->insert( $lk_table, $fields); - $id = $wpdb->insert_id; - if($result === false){ - $errors .= __('Record could not be inserted into the database!', 'slm'); - } - } else { //Update record - $where = array('id'=>$id); - $updated = $wpdb->update($lk_table, $fields, $where); - if($updated === false){ - //TODO - log error - $errors .= __('Update of the license key table failed!', 'slm'); - } - } - - if(empty($errors)){ - $message = "Record successfully saved!"; - echo '

    '; - echo $message; - echo '

    '; - }else{ - echo '
    ' . $errors . '
    '; - } - - $data = array('row_id' => $id, 'key' => $license_key); - do_action('slm_add_edit_interface_save_record_processed',$data); - - } - -?> - - You can add a new license or edit an existing one from this interface. -

    - -
    -

    -
    - -
    "> - -
    '; - $this->no_items(); - echo '
    '; - echo $this->column_cb( $item ); - echo '"; - echo call_user_func( array( &$this, 'column_' . $column_name ), $item ); - echo ""; - echo $this->column_default( $item, $column_name ); - echo "
    - - '; - } else { - if(!isset($editing_record)){//Create an empty object - $editing_record = new stdClass(); - } - //Auto generate unique key - $lic_key_prefix = $slm_options['lic_prefix']; - if (!empty($lic_key_prefix)) { - $license_key = uniqid($lic_key_prefix); - } else { - $license_key = uniqid(); - } - } - ?> - - - - - - - - - - - - - - - - - - - - - prepare("SELECT * FROM $reg_table WHERE lic_key_id = %s", $id); - $reg_domains = $wpdb->get_results($sql_prep, OBJECT); - ?> - - - - - - - prepare("SELECT * FROM `$devices_table` WHERE `lic_key_id` = '%s'", $id); - $reg_devices = $wpdb->get_results($sql_prep2, OBJECT); - ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    License Key -
    The unique license key. When adding a new record it automatically generates a unique key in this field for you. You can change this value to customize the key if you like.
    Maximum Allowed Domains
    Number of domains/installs in which this license can be used.
    Maximum Allowed Devices
    Number of domains/installs in which this license can be used.
    License Status - -
    Registered Domains 0) { - ?> -
    -
    - - - > - - - - -
    registered_domain; ?>id ?>>X
    -
    - -
    Registered Devices 0) { - ?> -
    -
    - - - > - - - - -
    registered_devices; ?>id ?>>X
    -
    - -
    First Name
    License user's first name
    Last Name
    License user's last name
    Email Address
    License user's email address
    Company Name
    License user's company name
    Unique Transaction ID
    The unique transaction ID associated with this license key
    Manual Reset Count -
    The number of times this license has been manually reset by the admin (use it if you want to keep track of it). It can be helpful for the admin to keep track of manual reset counts.
    Purchase Order # -
    This is associated with the purchase ID woocommerce support
    Date Created -
    Creation date of license.
    Date Renewed -
    Renewal date of license.
    Date of Expiry -
    Expiry date of license.
    Product -
    The product that this license gives access to.
    - - $id, 'key' => $license_key); - $extra_output = apply_filters('slm_add_edit_interface_above_submit','', $data); - if(!empty($extra_output)){ - echo $extra_output; - } - ?> - -
    - -
    - - - Manage Licenses

    - - - - -'; - echo '

    License Manager Admin Functions

    '; - echo '
    '; - - $slm_options = get_option('slm_plugin_options'); - - if (isset($_POST['send_deactivation_request'])) { - $postURL = $_POST['lic_mgr_deactivation_req_url']; - $secretKeyForVerification = $slm_options['lic_verification_secret']; - $data = array(); - $data['secret_key'] = $secretKeyForVerification; - - $ch = curl_init($postURL); - curl_setopt($ch, CURLOPT_POST, true); - curl_setopt($ch, CURLOPT_POSTFIELDS, $data); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - $returnValue = curl_exec($ch); - - $msg = ""; - if ($returnValue == "Success") { - $msg .= "Success message returned from the remote host."; - } - echo '

    '; - echo 'Request sent to the specified URL!'; - echo '
    ' . $msg; - echo '

    '; - } - ?> -
    -
    -

    -
    -
    Enter the URL where the license deactivation message will be sent to -

    -
    - - -
    - -
    -
    -
    -
    '; - echo '
    '; -} diff --git a/software-license-manager/menu/slm-admin-init.php b/software-license-manager/menu/slm-admin-init.php deleted file mode 100644 index 34eff57..0000000 --- a/software-license-manager/menu/slm-admin-init.php +++ /dev/null @@ -1,25 +0,0 @@ - - - License Manager Integration Help v' . WP_LICENSE_MANAGER_VERSION . ''; - echo '
    '; - echo '
    '; - - echo '

    For information, updates and documentation, please visit the License Manager Documentation page.

    '; - - $api_query_post_url = SLM_SITE_HOME_URL; - echo "The License API Query POST URL For Your Installation"; - echo '
    ' . $api_query_post_url . '
    '; - - echo "The License Activation or Deactivation API secret key"; - echo '
    ' . $secret_verification_key . '
    '; - - echo "The License Creation API secret key"; - echo '
    ' . $creation_secret_key . '
    '; - ?> -

    3rd Party Integration

    - - Integrating a 3rd party payment system or shopping cart with License Manager is easy. -

    - The integration process can be accomplished in three steps, namely: -
    -
    1. Generate POST data -
    2. Send POST data to the API POST URL -
    3. Process the returned data -

    - POST Values -
    - License Manager expects a certain set of variables to be sent to it via HTTP POST or GET. These variables are: -

    - Mandatory Variables -
    - ---------------- -
    a. secret_key - A Secret API key for authentication (you can find the secret key value in the settings menu of this plugin) -
    b. slm_action - The action being performed. The values can be slm_create_new or slm_activate or slm_deactivate -

    - Optional Variables -
    - --------------- -
    c. Customer First Name: The first name of the customer -
    d. Customer Last Name: The last name of the customer -
    e. Customer Email: The email address of the customer -
    f. Company Name: The customer's company name -
    g. Maximum Domains Allowed: The number of domains this license key can be used on -
    h. Transaction ID: A unique transaction ID to reference the transaction -

    - Return Value -
    - Upon successful processing, License Manager will return a plain text message that will have two or three lines similar to the following: -
    -
    - Success -
    License key -
    WPLICMGR4bc29fd61e471 -
    - or -
    - Error -
    Secret key is invalid -
    - - 1. The first line is an indication of success or error -
    2. The second line is the result. -
    3. The third line is additional message that resulted from the request. -

    - Sample PHP Code -
    - Below is a sample PHP code that shows how you can create a license via the API -
    - -
    - /*** Mandatory data ***/ -
    // Post URL -
    $postURL = ""; -
    // The Secret key -
    $secretKey = ""; -
    -
    /*** Optional Data ***/ -
    $firstname = "John"; -
    $lastname = "Doe"; -
    $email = "john.doe@gmail.com"; -
    -
    // prepare the data -
    $data = array (); -
    $data['secret_key'] = $secretKey; -
    $data['slm_action'] = 'slm_create_new'; -
    $data['first_name'] = $firstname; -
    $data['last_name'] = $lastname; -
    $data['email'] = $email; -
    -
    // send data to post URL -
    $ch = curl_init ($postURL); -
    curl_setopt ($ch, CURLOPT_POST, true); -
    curl_setopt ($ch, CURLOPT_POSTFIELDS, $data); -
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); -
    $returnValue = curl_exec ($ch); -
    -
    // Process the return values -
    //var_dump($returnValue); -
    - -
    '; - echo '
    '; -} diff --git a/software-license-manager/menu/slm-lic-settings.php b/software-license-manager/menu/slm-lic-settings.php deleted file mode 100644 index caaac0e..0000000 --- a/software-license-manager/menu/slm-lic-settings.php +++ /dev/null @@ -1,143 +0,0 @@ -'; - echo '

    WP License Manager Settings v' . WP_LICENSE_MANAGER_VERSION . '

    '; - echo '
    '; - - wp_lic_mgr_general_settings(); - - echo '
    '; - echo '
    '; -} - -function wp_lic_mgr_general_settings() { - - if (isset($_REQUEST['slm_reset_log'])){ - //$slm_logger = new SLM_Debug_Logger(); - global $slm_debug_logger; - $slm_debug_logger->reset_log_file("log.txt"); - $slm_debug_logger->reset_log_file("log-cron-job.txt"); - echo '

    Debug log files have been reset!

    '; - } - - if (isset($_POST['slm_save_settings'])) { - - if (!is_numeric($_POST["default_max_domains"])) {//Set it to one by default if incorrect value is entered - $_POST["default_max_domains"] = '1'; - } - if (!is_numeric($_POST["default_max_devices"])) {//Set it to one by default if incorrect value is entered - $_POST["default_max_devices"] = '1'; - } - - $options = array( - 'lic_creation_secret' => trim($_POST["lic_creation_secret"]), - 'lic_prefix' => trim($_POST["lic_prefix"]), - 'default_max_domains' => trim($_POST["default_max_domains"]), - 'default_max_devices' => trim($_POST["default_max_devices"]), - 'lic_verification_secret' => trim($_POST["lic_verification_secret"]), - 'enable_auto_key_expiry' => isset($_POST['enable_auto_key_expiry']) ? '1':'', - 'enable_debug' => isset($_POST['enable_debug']) ? '1':'', - ); - update_option('slm_plugin_options', $options); - - echo '

    '; - echo 'Options Updated!'; - echo '

    '; - } - - $options = get_option('slm_plugin_options'); - - $secret_key = $options['lic_creation_secret']; - if (empty($secret_key)) { - $secret_key = uniqid('', true); - } - $secret_verification_key = $options['lic_verification_secret']; - if (empty($secret_verification_key)) { - $secret_verification_key = uniqid('', true); - } - ?> -

    For information, updates and documentation, please visit the License Manager Documentation page.

    - -
    -

    -
    - -

    1. First register a key at purchase time.

    -

    2. Add the code so at activation time it asks for the key.

    -

    3. Integrate the real time online key verification part.

    -
    - -
    - -
    -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Secret Key for License Creation -
    This secret key will be used to authenticate any license creation request. You can change it with something random.
    Secret Key for License Verification Requests -
    This secret key will be used to authenticate any license verification request from customer's site. Important! Do not change this value once your customers start to use your product(s)!
    License Key Prefix -
    You can optionaly specify a prefix for the license keys. This prefix will be added to the uniquely generated license keys.
    Maximum Allowed Domains -
    Maximum number of domains/installs which each license is valid for (default value).
    Maximum Allowed Devices -
    Maximum number of devices which each license is valid for (default value).
    Auto Expire License Keys value="1"/> -

    When enabled, it will automatically set the status of a license key to "Expired" when the expiry date value of the key is reached. - It doesn't remotely deactivate a key. It simply changes the status of the key in your database to expired.

    -
    -
    - -
    -

    -
    - - - - - - - -
    Enable Debug Logging value="1"/> -

    If checked, debug output will be written to log files (keep it disabled unless you are troubleshooting).

    -
    - View debug log file by clicking here. -
    - Reset debug log file by clicking here. -
    -
    - -
    - -
    -
    - 'item', //singular name of the listed records - 'plural' => 'items', //plural name of the listed records - 'ajax' => false //does this table support ajax? - ) ); - - } - - function column_default($item, $column_name){ - return $item[$column_name]; - } - - function column_id($item){ - $row_id = $item['id']; - $actions = array( - 'edit' => sprintf('Edit', $row_id), - 'delete' => sprintf('Delete',$row_id), - ); - return sprintf('%1$s %2$s', - /*$1%s*/ $item['id'], - /*$2%s*/ $this->row_actions($actions) - ); - } - - - function column_cb($item){ - return sprintf( - '', - /*$1%s*/ $this->_args['singular'], //Let's simply repurpose the table's singular label - /*$2%s*/ $item['id'] //The value of the checkbox should be the record's id - ); - } - - function column_active($item){ - if ($item['active'] == 1){ - return 'active'; - } else{ - return 'inactive'; - } - } - - - function get_columns(){ - $columns = array( - 'cb' => '', //Render a checkbox - 'id' => 'ID', - 'license_key' => 'License Key', - 'lic_status' => 'Status', - 'max_allowed_domains' => 'Domains Allowed', - 'email' => 'Registered Email', - 'date_created' => 'Date Created', - 'date_renewed' => 'Date Renewed', - 'date_expiry' => 'Expiry', - ); - return $columns; - } - - function get_sortable_columns() { - $sortable_columns = array( - 'id' => array('id',false), - 'license_key' => array('license_key',false), - 'lic_status' => array('lic_status',false), - 'date_created' => array('date_created',false), - 'date_renewed' => array('date_renewed',false), - 'date_expiry' => array('date_expiry',false), - ); - return $sortable_columns; - } - - function get_bulk_actions() { - $actions = array( - 'delete' => 'Delete', - ); - return $actions; - } - - function process_bulk_action() { - if('delete'===$this->current_action()) - { - //Process delete bulk actions - if(!isset($_REQUEST['item'])){ - $error_msg = '

    '.__('Error - Please select some records using the checkboxes', 'slm').'

    '; - echo '
    '.$error_msg.'
    '; - return; - }else { - $nvp_key = $this->_args['singular']; - $records_to_delete = $_GET[$nvp_key]; - foreach ($records_to_delete as $row){ - SLM_Utility::delete_license_key_by_row_id($row); - } - echo '

    Selected records deleted successfully!

    '; - } - } - } - - - /* - * This function will delete the selected license key entries from the DB. - */ - function delete_license_key($key_row_id) - { - SLM_Utility::delete_license_key_by_row_id($key_row_id); - $success_msg = '

    '; - $success_msg .= 'The selected entry was deleted successfully!'; - $success_msg .= '

    '; - echo $success_msg; - } - - - function prepare_items() { - /** - * First, lets decide how many records per page to show - */ - $per_page = 50; - $columns = $this->get_columns(); - $hidden = array(); - $sortable = $this->get_sortable_columns(); - - $this->_column_headers = array($columns, $hidden, $sortable); - - $this->process_bulk_action(); - - global $wpdb; - $license_table = SLM_TBL_LICENSE_KEYS; - - /* -- Ordering parameters -- */ - //Parameters that are going to be used to order the result - $orderby = !empty($_GET["orderby"]) ? strip_tags($_GET["orderby"]) : 'id'; - $order = !empty($_GET["order"]) ? strip_tags($_GET["order"]) : 'DESC'; - - if (isset($_POST['slm_search'])) { - $search_term = trim(strip_tags($_POST['slm_search'])); - $prepare_query = $wpdb->prepare("SELECT * FROM " . $license_table . " WHERE `license_key` LIKE '%%%s%%' OR `email` LIKE '%%%s%%' OR `txn_id` LIKE '%%%s%%' OR `first_name` LIKE '%%%s%%' OR `last_name` LIKE '%%%s%%'", $search_term, $search_term, $search_term, $search_term, $search_term); - $data = $wpdb->get_results($prepare_query, ARRAY_A); - }else{ - $data = $wpdb->get_results("SELECT * FROM $license_table ORDER BY $orderby $order", ARRAY_A); - } - - $current_page = $this->get_pagenum(); - $total_items = count($data); - $data = array_slice($data,(($current_page-1)*$per_page),$per_page); - $this->items = $data; - $this->set_pagination_args( array( - 'total_items' => $total_items, //WE have to calculate the total number of items - 'per_page' => $per_page, //WE have to determine how many items to show on a page - 'total_pages' => ceil($total_items/$per_page) //WE have to calculate the total number of pages - ) ); - } -} \ No newline at end of file diff --git a/software-license-manager/menu/slm-manage-licenses.php b/software-license-manager/menu/slm-manage-licenses.php deleted file mode 100644 index 432f1d0..0000000 --- a/software-license-manager/menu/slm-manage-licenses.php +++ /dev/null @@ -1,49 +0,0 @@ -'; - echo '

    Manage Licenses

    '; - echo '
    '; - ?> - -
    -

    -
    - Search for a license by using email, name, key or transaction ID -

    -
    "> - - -
    -
    - - -
    -

    -
    - delete_license_key(sanitize_text_field($_REQUEST['id'])); - } - } - //Fetch, prepare, sort, and filter our data... - $license_list->prepare_items(); - //echo "put table of locked entries here"; - ?> -
    - - - - display(); ?> -
    - -
    - -
    '; - echo '
    '; -} - diff --git a/software-license-manager/package.json b/software-license-manager/package.json deleted file mode 100644 index fc0d960..0000000 --- a/software-license-manager/package.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "software-license-manager", - "version": "4.10.4", - "description": "Software license management solution for your web applications (WordPress plugins, Themes, Applications, PHP based membership script etc.). Supports WooCommerce.", - "scripts": { - "changelog": "auto-changelog -p && git add CHANGELOG.md" - }, - "auto-changelog": { - "output": "CHANGELOG.md", - "template": "keepachangelog", - "unreleased": true, - "commitLimit": false, - "includeBranch": [ - "release-v2", - "release-v3" - ] - }, - "repository": { - "type": "git", - "url": "git+https://michelve@github.com/michelve/software-license-manager.git" - }, - "keywords": [ - "software", - "license", - "license", - "license", - "manager", - "wordpress", - "license", - "manager", - "slm", - "woocommerce", - "lcienses" - ], - "author": "Michel Velis and Tips and Tricks HQ", - "license": "MIT", - "bugs": { - "url": "https://github.com/michelve/software-license-manager/issues" - }, - "homepage": "https://github.com/michelve/software-license-manager#readme" -} diff --git a/software-license-manager/slm_bootstrap.php b/software-license-manager/slm_bootstrap.php deleted file mode 100644 index 913eb09..0000000 --- a/software-license-manager/slm_bootstrap.php +++ /dev/null @@ -1,51 +0,0 @@ -charset)){ - $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset"; -} -else{ - $charset_collate = "DEFAULT CHARSET=utf8"; -} -if (!empty($wpdb->collate)){ - $charset_collate .= " COLLATE $wpdb->collate"; -} - -$lk_tbl_sql = "CREATE TABLE " . $lic_key_table . " ( - id int(12) NOT NULL auto_increment, - license_key varchar(255) NOT NULL, - max_allowed_domains int(40) NOT NULL, - max_allowed_devices int(40) NOT NULL, - lic_status ENUM('pending', 'active', 'blocked', 'expired') NOT NULL DEFAULT 'pending', - first_name varchar(32) NOT NULL default '', - last_name varchar(32) NOT NULL default '', - email varchar(64) NOT NULL, - company_name varchar(100) NOT NULL default '', - txn_id varchar(64) NOT NULL default '', - manual_reset_count varchar(128) NOT NULL default '', - purchase_id_ varchar(255) NOT NULL default '', - date_created date NOT NULL DEFAULT '0000-00-00', - date_renewed date NOT NULL DEFAULT '0000-00-00', - date_expiry date NOT NULL DEFAULT '0000-00-00', - product_ref varchar(255) NOT NULL default '', - PRIMARY KEY (id) - )" . $charset_collate . ";"; -dbDelta($lk_tbl_sql); - -$ld_tbl_sql = "CREATE TABLE " .$lic_domain_table. " ( - id INT NOT NULL AUTO_INCREMENT , - lic_key_id INT NOT NULL , - lic_key varchar(255) NOT NULL , - registered_domain text NOT NULL , - registered_devices text NOT NULL , - item_reference varchar(255) NOT NULL, - PRIMARY KEY ( id ) - )" . $charset_collate . ";"; -dbDelta($ld_tbl_sql); - -$ldv_tbl_sql = "CREATE TABLE " .$lic_devices_table. " ( - id INT NOT NULL AUTO_INCREMENT , - lic_key_id INT NOT NULL , - lic_key varchar(255) NOT NULL , - registered_devices text NOT NULL , - registered_domain text NOT NULL , - item_reference varchar(255) NOT NULL, - PRIMARY KEY ( id ) - )" . $charset_collate . ";"; -dbDelta($ldv_tbl_sql); -update_option("wp_lic_mgr_db_version", WP_LICENSE_MANAGER_DB_VERSION); - -// Add default options -$options = array( - 'lic_creation_secret' => uniqid('', true), - 'lic_prefix' => '', - 'default_max_domains' => '2', - 'default_max_devices' => '1', - 'lic_verification_secret' => uniqid('', true), - 'enable_debug' => '', -); -add_option('slm_plugin_options', $options); \ No newline at end of file diff --git a/software-license-manager/slm_plugin_core.php b/software-license-manager/slm_plugin_core.php deleted file mode 100644 index f690658..0000000 --- a/software-license-manager/slm_plugin_core.php +++ /dev/null @@ -1,81 +0,0 @@ -prefix . "lic_key_tbl"); -define('SLM_TBL_LIC_DOMAIN', $wpdb->prefix . "lic_reg_domain_tbl"); -define('SLM_TBL_LIC_DEVICES', $wpdb->prefix . "lic_reg_devices_tbl"); -define('SLM_MANAGEMENT_PERMISSION', 'manage_options'); -define('SLM_MAIN_MENU_SLUG', 'slm-main'); -define('SLM_MENU_ICON', 'dashicons-lock'); - -//Includes -include_once('includes/slm-debug-logger.php'); -include_once('includes/slm-error-codes.php'); -include_once('includes/slm-utility.php'); -include_once('includes/slm-init-time-tasks.php'); -include_once('includes/slm-api-utility.php'); -include_once('includes/slm-api-listener.php'); -include_once('includes/slm-third-party-integration.php'); -// Front end-menu -include_once('menu/slm-add-menu-frontend.php'); - -// support for meta boxes (variations only, this can be applied to single prodicts as well) -include_once('includes/slm-meta-boxes.php'); -//Include admin side only files -if (is_admin()) { - include_once('menu/slm-admin-init.php'); - include_once('menu/includes/slm-list-table-class.php'); //Load our own WP List Table class -} - - -// load addons here -include_once('addons/loader.php'); - -//Action hooks -add_action('init', 'slm_init_handler'); -add_action('plugins_loaded', 'slm_plugins_loaded_handler'); - -//Initialize debug logger -global $slm_debug_logger; -$slm_debug_logger = new SLM_Debug_Logger(); - -//Do init time tasks -function slm_init_handler() { - $init_task = new SLM_Init_Time_Tasks(); - $api_listener = new SLM_API_Listener(); -} - -//Do plugins loaded time tasks -function slm_plugins_loaded_handler() { - //Runs when plugins_loaded action gets fired - if (is_admin()) { - //Check if db update needed - if (get_option('wp_lic_mgr_db_version') != WP_LICENSE_MANAGER_DB_VERSION) { - require_once(dirname(__FILE__) . '/slm_installer.php'); - } - } - -} - -//TODO - need to move this to an ajax handler file -add_action('wp_ajax_del_reistered_domain', 'slm_del_reg_dom'); -function slm_del_reg_dom() { - global $wpdb; - $reg_table = SLM_TBL_LIC_DOMAIN; - $id = strip_tags($_GET['id']); - $ret = $wpdb->query("DELETE FROM $reg_table WHERE id='$id'"); - echo ($ret) ? 'success' : 'failed'; - exit(0); -} - - -add_action('wp_ajax_del_reistered_devices', 'slm_del_reg_devices'); -function slm_del_reg_devices() { - global $wpdb; - $reg_table = SLM_TBL_LIC_DEVICES; - $id = strip_tags($_GET['id']); - $ret = $wpdb->query("DELETE FROM $reg_table WHERE id='$id'"); - echo ($ret) ? 'success' : 'failed'; - exit(0); -} \ No newline at end of file From 1b84a5b722b6a1080c1b62b2650afb60833798a5 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Sat, 27 Jul 2019 10:10:07 -0400 Subject: [PATCH 065/293] version 5.0.3 --- .DS_Store | Bin 6148 -> 12292 bytes CHANGELOG.md | 55 +-------------- SECURITY.md | 21 ------ admin/includes/partials/stats.php | 57 ++++++++++++++++ admin/slm-dashboard-widgets.php | 46 ++++++++++++- admin/slm-lic-settings.php | 19 +++++- admin/slm-list-licenses-class.php | 12 ++-- admin/slm-manage-licenses.php | 28 ++++++-- includes/class-slm-installer.php | 2 + includes/slm-api-utility.php | 58 ---------------- includes/slm-plugin-core.php | 13 ++-- includes/slm-utility.php | 108 ++++++++++++++++++++++++++++++ public/assets/css/slm.css | 67 ++++++++++++++++++ readme.txt | 36 ---------- software-license-manager.php | 8 +-- 15 files changed, 337 insertions(+), 193 deletions(-) delete mode 100644 SECURITY.md create mode 100644 admin/includes/partials/stats.php delete mode 100755 includes/slm-api-utility.php delete mode 100644 readme.txt diff --git a/.DS_Store b/.DS_Store index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..62df2c8dc224bea7d9a4088d9a899a37c44c2b91 100644 GIT binary patch literal 12292 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 S0N&i>X%_#p`2RnH|NjAi$-^!H delta 137 zcmZokXfcprU|?W$DortDU=RQ@Ie-{MGpJ516q~3gIoUvmg$Kk30Y;$QW>5kkt&E J<9X&V0|5NI61@Nb diff --git a/CHANGELOG.md b/CHANGELOG.md index 9949cc1..b26cf9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,60 +7,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). -## [4.11.2](https://github.com/michelve/software-license-manager/compare/4.10.3...4.11.2) - 2019-06-12 - -### Commits - -- upgraded jQuery ui version [`27fe73f`](https://github.com/michelve/software-license-manager/commit/27fe73fe555c4a9b5b3044042be7c8b66cd0f2bd) - -## [4.10.4](https://github.com/michelve/software-license-manager/compare/4.11.2...4.10.4) - 2019-06-12 - -## [4.10.3](https://github.com/michelve/software-license-manager/compare/3.6.2...4.10.3) - 2019-05-14 - -### Commits - -- improved license creation [`f53672b`](https://github.com/michelve/software-license-manager/commit/f53672b4c5e59a9639e364d5259133131418e864) -- added update helper [`c0d5653`](https://github.com/michelve/software-license-manager/commit/c0d56534e2cac38e970fcc176374b0d54fff0bba) -- improved license creation [`a012f34`](https://github.com/michelve/software-license-manager/commit/a012f34d7b9981414d20b4d4e34c9438596b6029) -- version 4.4 release [`620bf33`](https://github.com/michelve/software-license-manager/commit/620bf33369fc83876c64a149cd9604c240e93158) -- Added Change-log, readme, and license [`2d38d99`](https://github.com/michelve/software-license-manager/commit/2d38d99aba938bb6f84ff0d41cdc3a642513bc13) -- new folder structure [`a63639b`](https://github.com/michelve/software-license-manager/commit/a63639b2ebf3d33e2d619f2a0aa9c349dbabbbe1) -- added license file [`165b3a7`](https://github.com/michelve/software-license-manager/commit/165b3a73c291683abffe8cec6e62bdfd2424b08e) -- #### 4.6 [`2dd8f75`](https://github.com/michelve/software-license-manager/commit/2dd8f7547d3c5da2ee7f37c0bf199fd3def13342) -- removed un-used files and code [`39fb2bf`](https://github.com/michelve/software-license-manager/commit/39fb2bf330d26650452a50a30d1f73feae603a20) -- #### 4.10.3 - WIP [`6b9ca6b`](https://github.com/michelve/software-license-manager/commit/6b9ca6bd1b202d9f9e27727cf1030531c22940ea) -- no message [`cbdb605`](https://github.com/michelve/software-license-manager/commit/cbdb6058fb35461a5112983f30edc3ebd9515885) -- Version 4.3 release check change-log file [`24a0b60`](https://github.com/michelve/software-license-manager/commit/24a0b60f3c343ffec61657c332b6ecbaaa2a7dd0) -- fixed sql warning and updated class name [`d8a8d29`](https://github.com/michelve/software-license-manager/commit/d8a8d2925c439f1bf624c9fbe45c77d528a5daf1) -- #### 4.7 - WIP [`27c13e1`](https://github.com/michelve/software-license-manager/commit/27c13e1e1a22aaedd04f6e011c0057dcd9a3762b) -- third party support [`16ba24f`](https://github.com/michelve/software-license-manager/commit/16ba24f9e8337aba88ed85983586d1e45bb49069) -- #### 4.6 [`daec3c2`](https://github.com/michelve/software-license-manager/commit/daec3c25fdb692688ddc8f2d0e4233d0baa78577) -- removed unused files [`b760853`](https://github.com/michelve/software-license-manager/commit/b7608533d6f3c663ce5719bcdc92dba03a944c53) -- Added support for version (until what version a key is supported) [`ffab174`](https://github.com/michelve/software-license-manager/commit/ffab1749c104df2c1621a416431eac908e1a3f09) -- #### 4.1 -- Added: Support for license removal using api (slm_action=slm_remove) [`d8ae377`](https://github.com/michelve/software-license-manager/commit/d8ae3774e4ab7af7f3b0fd8eaee110afa50cb96b) -- formatted code [`58f8864`](https://github.com/michelve/software-license-manager/commit/58f886453bf483acc0c8fddba37cc2b3673b6db6) -- fixed not found error [`3760354`](https://github.com/michelve/software-license-manager/commit/3760354754017fa5cc19f5b3f7c118a9763c9e4c) -- added a new action hook [`26635a1`](https://github.com/michelve/software-license-manager/commit/26635a15976d21898da6e6df7619133d43596a92) -- init [`1a0c954`](https://github.com/michelve/software-license-manager/commit/1a0c954b1e315a02e59e8754d75b81aaaa38d35f) -- removed unneeded folders [`77371fa`](https://github.com/michelve/software-license-manager/commit/77371fa2dcd147ae9cd94930a338c670585269a4) -- updated paths [`7c948a1`](https://github.com/michelve/software-license-manager/commit/7c948a1b6ecd0659204a1c5adf029bd1e6e54f6f) -- added new tasks [`91fbd00`](https://github.com/michelve/software-license-manager/commit/91fbd004a48a0d66a9485827baaf88214b2a764c) -- added change-log notes [`f238963`](https://github.com/michelve/software-license-manager/commit/f2389637e459edb4c74729dbcfb42254b34483fb) -- version 4.8 [`501efc4`](https://github.com/michelve/software-license-manager/commit/501efc4f10dd41e880b745e94f33c06a19c12341) -- added todo file [`ed37d72`](https://github.com/michelve/software-license-manager/commit/ed37d723b214a636b1bab00514e021e74db6f06f) -- added Compatibility [`7a7143b`](https://github.com/michelve/software-license-manager/commit/7a7143bf3d8b2b758dd50a5a789fdbc61e86727d) -- fix: removed hard coded email from previous tests - now emails get send to the costumer after purchase [`bcc191f`](https://github.com/michelve/software-license-manager/commit/bcc191fdc0a6818535d9a4dd6962139d955b07e6) -- Added License Badge [`f4d77ac`](https://github.com/michelve/software-license-manager/commit/f4d77acb5d94ec3007ff1cb3b639fffd14661f34) -- Updated Read me file [`d8d5080`](https://github.com/michelve/software-license-manager/commit/d8d50803d0582b4cf44e8f0b39c557eae6632415) -- Updated Read me file [`fb1bf07`](https://github.com/michelve/software-license-manager/commit/fb1bf0763af6f6feed425db1affcf157162ca85e) -- Update TODO.md [`a85b107`](https://github.com/michelve/software-license-manager/commit/a85b107e51824e89ae950b8ab1c2f53b7ddda32f) -- added support for $this->update_api_listener(); and $this->deletion_api_listener(); [`fb06711`](https://github.com/michelve/software-license-manager/commit/fb06711cf17a74ddd4ba3b8296bdf1f2d1cd73b8) -- fixed typo [`1a8e999`](https://github.com/michelve/software-license-manager/commit/1a8e999e711749d1a51fda6296f2f707ab5d7469) -- fixed typo [`8013168`](https://github.com/michelve/software-license-manager/commit/8013168a071e1d71c1b97dae1881de9deaf3ad79) -- updated features list [`3a8c797`](https://github.com/michelve/software-license-manager/commit/3a8c7979530b614828943f8d2b197caffec97d02) -- Set theme jekyll-theme-tactile [`4633161`](https://github.com/michelve/software-license-manager/commit/4633161f6d68eec07a1473fa4efcc96e9b54fa48) -- updated read me file [`1bd62f9`](https://github.com/michelve/software-license-manager/commit/1bd62f907941a41a389c777494affaabf1758116) -- added screenshot and preview images [`b0b213b`](https://github.com/michelve/software-license-manager/commit/b0b213b05aba050deb2228f984b8213f8f87d892) +## [4.10.4](https://github.com/michelve/software-license-manager/compare/4.10.4...4.10.4) - 2019-07-01 ## [3.6.2](https://github.com/michelve/software-license-manager/compare/3.1.0...3.6.2) - 2018-02-28 diff --git a/SECURITY.md b/SECURITY.md deleted file mode 100644 index 034e848..0000000 --- a/SECURITY.md +++ /dev/null @@ -1,21 +0,0 @@ -# Security Policy - -## Supported Versions - -Use this section to tell people about which versions of your project are -currently being supported with security updates. - -| Version | Supported | -| ------- | ------------------ | -| 5.1.x | :white_check_mark: | -| 5.0.x | :x: | -| 4.0.x | :white_check_mark: | -| < 4.0 | :x: | - -## Reporting a Vulnerability - -Use this section to tell people how to report a vulnerability. - -Tell them where to go, how often they can expect to get an update on a -reported vulnerability, what to expect if the vulnerability is accepted or -declined, etc. diff --git a/admin/includes/partials/stats.php b/admin/includes/partials/stats.php new file mode 100644 index 0000000..8937578 --- /dev/null +++ b/admin/includes/partials/stats.php @@ -0,0 +1,57 @@ +
      +
    • +
      +
      Total licenses
      +
    • + +
    • +
      +
      Licenses this week
      +
    • + +
    • +
      +
      Licenses this month
      +
    • + +
    • +
      +
      Active licenses
      +
    • + +
    • +
      +
      Pending licenses
      +
    • + +
    • +
      +
      Blocked licenses
      + +
    • + +
    • +
      +
      Logs saved
      + +
    • + +
    • +
      +
      Reminders sent
      + +
    • + +
    • +
      +
      Expired licenses
      +
    • + +
    • +
      +
      Licenses about to expire
      +
    • + +
    +
    +
    \ No newline at end of file diff --git a/admin/slm-dashboard-widgets.php b/admin/slm-dashboard-widgets.php index 6cc3999..732d99b 100644 --- a/admin/slm-dashboard-widgets.php +++ b/admin/slm-dashboard-widgets.php @@ -4,6 +4,8 @@ die; } +add_action('wp_dashboard_setup', 'slm_add_dashboard_widgets'); +add_action('admin_bar_menu', 'add_toolbar_items', 100); /** * Add a widget to the dashboard. @@ -19,7 +21,49 @@ function slm_add_dashboard_widgets() 'slm_dashboard_widget_function' // Display function. ); } -add_action('wp_dashboard_setup', 'slm_add_dashboard_widgets'); + +function add_toolbar_items($admin_bar) +{ + $admin_bar->add_menu(array( + 'id' => 'slm-menu', + 'title' => '' . __('SLM', 'softwarelicensemanager'), + 'href' => '#', + 'meta' => array( + 'title' => __('SLM'), + ), + )); + $admin_bar->add_menu(array( + 'id' => 'slm-manage-licenses-overview', + 'parent' => 'slm-menu', + 'title' => 'Overview', + 'href' => admin_url('admin.php?page=slm_overview'), + 'meta' => array( + 'title' => __('Overview'), + 'class' => 'slm_overview_menu' + ), + )); + $admin_bar->add_menu(array( + 'id' => 'slm-manage-licenses-addnew', + 'parent' => 'slm-menu', + 'title' => 'Add new license', + 'href' => admin_url('admin.php?page=slm_manage_license'), + 'meta' => array( + 'title' => __( 'Add new license'), + 'class' => 'slm_addlicense_menu' + ), + )); + $admin_bar->add_menu(array( + 'id' => 'slm-manage-licenses-settings', + 'parent' => 'slm-menu', + 'title' => 'Settings', + 'href' => admin_url( 'admin.php?page=slm_settings'), + 'meta' => array( + 'title' => __('Settings'), + 'class' => 'slm_settings_menu' + ), + )); +} + /** * Create the function to output the contents of our Dashboard Widget. diff --git a/admin/slm-lic-settings.php b/admin/slm-lic-settings.php index f35a8ca..7bac883 100755 --- a/admin/slm-lic-settings.php +++ b/admin/slm-lic-settings.php @@ -44,6 +44,8 @@ function slm_general_settings() 'enable_debug' => isset($_POST['enable_debug']) ? '1' : '', 'slm_woo' => isset($_POST['slm_woo']) ? '1' : '', 'slm_woo_downloads' => isset($_POST['slm_woo_downloads']) ? '1' : '', + 'slm_stats' => isset($_POST['slm_stats']) ? '1' : '', + 'slm_adminbar' => isset($_POST['slm_adminbar']) ? '1' : '', 'slm_wpestores' => isset($_POST['slm_wpestores']) ? '1' : '', 'slm_dl_manager' => isset($_POST['slm_dl_manager']) ? '1' : '', 'expiration_reminder_text' => sanitize_text_field($_POST['expiration_reminder_text']) @@ -158,9 +160,24 @@ function slm_general_settings()

    + + + + value="1" /> + + + + + + + value="1" /> + + + +
    @@ -231,4 +248,4 @@ function slm_general_settings() 'item', //singular name of the listed records @@ -191,6 +190,7 @@ function get_bulk_actions() 'blocked' => 'Block', 'expired' => 'Expire', 'active' => 'Activate', + 'reminder' => 'Send Reminder' ); return $actions; } @@ -382,30 +382,28 @@ public function slm_add_admin_menu() add_menu_page("SLM", "SLM", SLM_MANAGEMENT_PERMISSION, SLM_MAIN_MENU_SLUG, "slm_manage_licenses_menu", $icon_svg); $hook = add_submenu_page(SLM_MAIN_MENU_SLUG, "Manage Licenses", "Manage Licenses", SLM_MANAGEMENT_PERMISSION, SLM_MAIN_MENU_SLUG, "slm_manage_licenses_menu"); + add_submenu_page(SLM_MAIN_MENU_SLUG, "Add License", "Add Licenses", SLM_MANAGEMENT_PERMISSION, 'slm_manage_license', "slm_add_licenses_menu"); add_submenu_page(SLM_MAIN_MENU_SLUG, "Subscribers", "Subscribers", SLM_MANAGEMENT_PERMISSION, 'slm_subscribers', "slm_subscribers_menu"); add_submenu_page(SLM_MAIN_MENU_SLUG, "Tools", "Tools", SLM_MANAGEMENT_PERMISSION, 'slm_admin_tools', "slm_admin_tools_menu"); add_submenu_page(SLM_MAIN_MENU_SLUG, "Settings", "Settings", SLM_MANAGEMENT_PERMISSION, 'slm_settings', "slm_settings_menu"); add_submenu_page(SLM_MAIN_MENU_SLUG, "Help", "Help", SLM_MANAGEMENT_PERMISSION, 'slm_help', "slm_integration_help_menu"); - add_action("load-$hook", [$this, 'screen_option']); + add_action("load-" . $hook, [$this, 'screen_option']); + } /** * Screen options */ - public function screen_option() - { - + public function screen_option(){ $option = 'per_page'; $args = [ 'label' => 'Pagination', 'default' => 16, 'option' => 'licenses_per_page' ]; - add_screen_option($option, $args); - $this->licenses_obj = new SLM_List_Licenses(); } diff --git a/admin/slm-manage-licenses.php b/admin/slm-manage-licenses.php index ea28afa..0351237 100755 --- a/admin/slm-manage-licenses.php +++ b/admin/slm-manage-licenses.php @@ -1,12 +1,14 @@ false, @@ -17,7 +19,8 @@ function get_user_info(){ } } -function slm_manage_licenses_menu(){ +function slm_manage_licenses_menu() +{ //include_once('slm-list-licenses-class.php'); $license_list = new SLM_List_Licenses(); @@ -32,13 +35,28 @@ function slm_manage_licenses_menu(){


    - + + +
    + +
    + +
    +
    diff --git a/includes/class-slm-installer.php b/includes/class-slm-installer.php index 6f1ee41..74cc7e2 100755 --- a/includes/class-slm-installer.php +++ b/includes/class-slm-installer.php @@ -115,6 +115,8 @@ 'slm_woo' => '', 'slm_wpestores' => '', 'slm_woo_downloads' => '', + 'slm_stats' => '', + 'slm_adminbar' => '', 'slm_dl_manager' => '', 'expiration_reminder_text' => 'Your account has reverted to Basic with limited functionality. Renew today to keep using it on all of your devices and enjoy the valuable features. It’s a smart investment'); diff --git a/includes/slm-api-utility.php b/includes/slm-api-utility.php deleted file mode 100755 index 6c7a0c2..0000000 --- a/includes/slm-api-utility.php +++ /dev/null @@ -1,58 +0,0 @@ -log_debug('API Response - Result: ' . $args['result'] . ' Message: ' . $args['message']); - - //Send response - $args = apply_filters( 'slm_ap_response_args', $args); - $args = apply_filters( 'slm_api_response_args', $args); - - header('Content-Type: application/json'); - echo json_encode($args); - exit(0); - } - - static function verify_secret_key() { - $slm_options = get_option('slm_plugin_options'); - $right_secret_key = $slm_options['lic_verification_secret']; - $received_secret_key = strip_tags($_REQUEST['secret_key']); - if ($received_secret_key != $right_secret_key) { - $args = (array( - 'result' => 'error', - 'message' => 'Verification API secret key is invalid', - 'error_code' => SLM_Error_Codes::VERIFY_KEY_INVALID - )); - SLM_API_Utility::output_api_response($args); - } - } - - static function verify_secret_key_for_creation() { - $slm_options = get_option('slm_plugin_options'); - $right_secret_key = $slm_options['lic_creation_secret']; - $received_secret_key = strip_tags($_REQUEST['secret_key']); - if ($received_secret_key != $right_secret_key) { - $args = (array( - 'result' => 'error', - 'message' => 'License Creation API secret key is invalid', - 'error_code' => SLM_Error_Codes::CREATE_KEY_INVALID - )); - SLM_API_Utility::output_api_response($args); - } - } - - static function insert_license_data_internal($fields) { - global $wpdb; - $tbl_name = SLM_TBL_LICENSE_KEYS; - $fields = array_filter($fields);//Remove any null values. - $result = $wpdb->insert($tbl_name, $fields); - } -} \ No newline at end of file diff --git a/includes/slm-plugin-core.php b/includes/slm-plugin-core.php index 2feef16..b8aff7c 100755 --- a/includes/slm-plugin-core.php +++ b/includes/slm-plugin-core.php @@ -9,8 +9,8 @@ * https://api.github.com/repos/michelve/software-license-manager/tags */ -require_once(SLM_LIB . 'slm-wizard.php'); -require_once(SLM_LIB . 'wp-mail-class.php'); +//require_once(SLM_LIB . 'slm-wizard.php'); +//require_once(SLM_LIB . 'wp-mail-class.php'); function slm_load_language(){ load_plugin_textdomain('softwarelicensemanager', false, dirname(plugin_basename(__FILE__)) . '/languages'); @@ -54,7 +54,6 @@ function slm_settings_link($links) require_once( SLM_LIB .'slm-debug-logger.php'); require_once( SLM_LIB .'slm-error-codes.php'); require_once( SLM_LIB .'slm-init-time-tasks.php'); -require_once( SLM_LIB .'slm-api-utility.php'); require_once( SLM_LIB .'slm-api-listener.php'); require_once( SLM_LIB .'slm-scripts.php'); @@ -78,9 +77,11 @@ function deactivate_software_license_manager() $slm_deactivator->deactivate(); } -function slm_get_license($lic_key_prefix ='') -{ - return strtoupper($lic_key_prefix . hyphenate(md5(uniqid(rand(4, 8), true) . date('Y-m-d') . time()))); +function slm_get_license($lic_key_prefix = ''){ + + return strtoupper($lic_key_prefix . hyphenate(md5(uniqid(rand(4, 10), true) . date( 'Y-m-d H:i:s') . time()))); + + } register_activation_hook(__FILE__, 'activate_software_license_manager'); diff --git a/includes/slm-utility.php b/includes/slm-utility.php index 33d5b3f..a4adee1 100755 --- a/includes/slm-utility.php +++ b/includes/slm-utility.php @@ -24,9 +24,86 @@ static function write_log($log) } } } + /** + * PHP Logger + */ + + static function console($data) + { + $output = $data; + if (is_array($output)) + $output = implode(',', $output); + + // print the result into the JavaScript console + echo ""; + } } + $slm_helper = new SLM_Helper_Class(); + +class SLM_API_Utility +{ + /* + * The args array can contain the following: + * result (success or error) + * message (a message describing the outcome of the action + */ + + static function output_api_response($args) + { + //Log to debug file (if enabled) + global $slm_debug_logger; + $slm_debug_logger->log_debug('API Response - Result: ' . $args['result'] . ' Message: ' . $args['message']); + + //Send response + $args = apply_filters('slm_ap_response_args', $args); + $args = apply_filters('slm_api_response_args', $args); + + header('Content-Type: application/json'); + echo json_encode($args); + exit(0); + } + + static function verify_secret_key() + { + $slm_options = get_option('slm_plugin_options'); + $right_secret_key = $slm_options['lic_verification_secret']; + $received_secret_key = strip_tags($_REQUEST['secret_key']); + if ($received_secret_key != $right_secret_key) { + $args = (array( + 'result' => 'error', + 'message' => 'Verification API secret key is invalid', + 'error_code' => SLM_Error_Codes::VERIFY_KEY_INVALID + )); + self::output_api_response($args); + } + } + + static function verify_secret_key_for_creation() + { + $slm_options = get_option('slm_plugin_options'); + $right_secret_key = $slm_options['lic_creation_secret']; + $received_secret_key = strip_tags($_REQUEST['secret_key']); + if ($received_secret_key != $right_secret_key) { + $args = (array( + 'result' => 'error', + 'message' => 'License Creation API secret key is invalid', + 'error_code' => SLM_Error_Codes::CREATE_KEY_INVALID + )); + self::output_api_response($args); + } + } + + static function insert_license_data_internal($fields) + { + global $wpdb; + $tbl_name = SLM_TBL_LICENSE_KEYS; + $fields = array_filter($fields); //Remove any null values. + $result = $wpdb->insert($tbl_name, $fields); + } +} + class SLM_Utility { static function check_for_expired_lic($lic_key=''){ @@ -171,6 +248,30 @@ static function count_licenses($status){ return $get_lic_status; } + static function count_logrequest() + { + global $wpdb; + $license_table = SLM_TBL_LIC_LOG; + $getlogs = $wpdb->get_var("SELECT COUNT(*) FROM $license_table"); + return $getlogs; + } + + static function count_emailsent() + { + global $wpdb; + $license_table = SLM_TBL_EMAILS; + $getlogs = $wpdb->get_var("SELECT COUNT(*) FROM $license_table"); + return $getlogs; + } + + static function getstats_licenses($date_created, $interval) + { + global $wpdb; + $license_table = SLM_TBL_LICENSE_KEYS; + $query = $wpdb->get_var("SELECT COUNT(*) FROM $license_table WHERE $date_created >= DATE_ADD(CURDATE(), INTERVAL -" . $interval . " DAY)"); + return $query; + } + static function get_total_licenses(){ global $wpdb; $license_table = SLM_TBL_LICENSE_KEYS; @@ -178,6 +279,13 @@ static function get_total_licenses(){ return $license_count; } + static function get_lic_expiringsoon(){ + global $wpdb; + $license_table = SLM_TBL_LICENSE_KEYS; + $license_count = $wpdb->get_var("SELECT COUNT(*) FROM $license_table WHERE date_expiry BETWEEN DATE_SUB( CURDATE( ) ,INTERVAL 1 MONTH ) AND DATE_SUB( CURDATE( ) ,INTERVAL 0 MONTH );"); + return $license_count; + } + static function block_license_key_by_row_id($key_row_id){ global $wpdb; $license_table = SLM_TBL_LICENSE_KEYS; diff --git a/public/assets/css/slm.css b/public/assets/css/slm.css index 7ed2716..c32de7e 100755 --- a/public/assets/css/slm.css +++ b/public/assets/css/slm.css @@ -419,4 +419,71 @@ span.days-left { } #slm_dashboard_widget .recent_licenses td { padding: 3px 0; +} +.slm_overview_stats .stats{ + background: #fff; + padding: 24px 32px; + border-radius: 2px; + -webkit-box-shadow: 0px 0px 16px 1px rgba(0,0,0,0.2); + -moz-box-shadow: 0px 0px 16px 1px rgba(0,0,0,0.2); + box-shadow: 0px 0px 16px 1px rgba(0,0,0,0.2); + max-width: 33%; + float: left; + margin: 8px +} +.slm_overview_stats li:first-child { + margin-left: 0 !important +} +/* .slm_overview_stats li:last-child { + margin-left: 0 !important +} */ +.slm_overview_stats .stats .info { + float: left; + text-align: right; +} +.slm_overview_stats .stats .icon { + float: left; + margin-right: 32px; +} +.slm_overview_stats .stats .icon span { + font-size: 24px; + color: #72777c; +} +.slm_overview_stats .stats span { + display: block; + clear: both; + padding: 16px 0 0 0; +} +.slm_overview_stats .stats span.badge { + font-size: 32px; + display: block; + width: 100%; + padding: 0 +} + +#wpadminbar #wp-admin-bar-slm-menu .ab-icon:before { + content: "\f112"; + top: 3px; +} + +#slm_dashboard_widget .slm_status_list .dashicons:before, #slm_dashboard_widget .slm_status_list .dashicons { + width: 29px !important; + height: 12px !important; + font-size: 30px; + +} +.slm-col-half { + float: left; + width: 50% + +} +.v-spacer { + width: 32px; + float: left; + display: block; + height: 53px; +} +.h-spacer { + height: 24px; + clear: both; } \ No newline at end of file diff --git a/readme.txt b/readme.txt deleted file mode 100644 index 73edf50..0000000 --- a/readme.txt +++ /dev/null @@ -1,36 +0,0 @@ -=== Software License Manager === -Contributors: michelve -Donate link: http://velismichel.com/ -Tags: license, slm, license key -Requires at least: 4.7 -Tested up to: 5.1 -Stable tag: 4.7 -Requires PHP: 5.2.4 -License: GPLv2 or later -License URI: https://www.gnu.org/licenses/gpl-2.0.html - -Software license management solution for your web applications (WordPress plugins, Themes, PHP based membership script etc.) - -== Description == - -Software license management solution for your web applications (WordPress plugins, Themes, PHP based membership script etc.) - -This plugin is very useful for creating a license server and doing the following via API: - -* Create license keys in your system (license server) -* Check the status of a license key from from your application (remotely) -* Activate a license key from your application (remotely) -* Deactivate a license key (remotely) -* Delete a license key (remotely) -* Update a license key (remotely) -* Check a license key (remotely) -* Track where the license key is being used. -* You can also create license keys manually from the admin dashboard of this plugin. - -== Installation == - -1. Go to the Add New plugins screen in your WordPress admin area -1. Click the upload tab -1. Browse for the plugin file (software-license-manager.zip) -1. Click Install Now and then activate the plugin - diff --git a/software-license-manager.php b/software-license-manager.php index f58e1aa..9df79a8 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ Date: Tue, 30 Jul 2019 10:46:50 -0400 Subject: [PATCH 066/293] Check if WooCommerce is activated Check if WooCommerce is activated --- includes/slm-scripts.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/includes/slm-scripts.php b/includes/slm-scripts.php index f9b24b0..cefa5b7 100644 --- a/includes/slm-scripts.php +++ b/includes/slm-scripts.php @@ -16,10 +16,15 @@ function slm_frontend_assets() { /** * Check if WooCommerce is activated */ - if (!function_exists('is_woocommerce_activated') && is_account_page()) { - wp_enqueue_style('bootstrapcdn-slm', 'https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css'); - wp_enqueue_script( 'bootstrapcdn-slm-js', 'https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js', array('jquery'), '4.1.3', true ); + if (function_exists('is_woocommerce_activated')) { + + if(is_account_page() && class_exists( 'woocommerce' )) { + wp_enqueue_style('bootstrapcdn-slm', 'https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css'); + wp_enqueue_script( 'bootstrapcdn-slm-js', 'https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js', array('jquery'), '4.1.3', true ); + } + } + // custom css wp_enqueue_style('softwarelicensemanager', SLM_ASSETS_URL .'css/slm-front-end.css'); } From ec547c5fc87b98ad1a0e1b9f53b76032661f5412 Mon Sep 17 00:00:00 2001 From: Michel Date: Tue, 30 Jul 2019 10:52:23 -0400 Subject: [PATCH 067/293] version incremental version incremental --- software-license-manager.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/software-license-manager.php b/software-license-manager.php index 9df79a8..686601a 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ Date: Thu, 8 Aug 2019 15:11:47 -0400 Subject: [PATCH 068/293] Create FUNDING.yml --- .github/FUNDING.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..4b16f59 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] From 07e8262f603b4a58665594baeb9f960163dfeb92 Mon Sep 17 00:00:00 2001 From: Michel Date: Thu, 8 Aug 2019 15:12:57 -0400 Subject: [PATCH 069/293] Update issue templates --- .github/ISSUE_TEMPLATE/bug_report.md | 38 ++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..dd84ea7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,38 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - Version [e.g. 22] + +**Smartphone (please complete the following information):** + - Device: [e.g. iPhone6] + - OS: [e.g. iOS8.1] + - Browser [e.g. stock browser, safari] + - Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. From 8a299d7d6305fc05a3b271b19348f1144cc715e6 Mon Sep 17 00:00:00 2001 From: Michel Date: Thu, 8 Aug 2019 15:21:52 -0400 Subject: [PATCH 070/293] Update FUNDING.yml --- .github/FUNDING.yml | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 4b16f59..d87ecf5 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,12 +1,4 @@ # These are supported funding model platforms -github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] -patreon: # Replace with a single Patreon username -open_collective: # Replace with a single Open Collective username -ko_fi: # Replace with a single Ko-fi username -tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel -community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry -liberapay: # Replace with a single Liberapay username -issuehunt: # Replace with a single IssueHunt username -otechie: # Replace with a single Otechie username -custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] +github: michelve +custom: paypal.me/mvelis From 47c7ec54b934c6e9e74f4436b41ac8659381d83d Mon Sep 17 00:00:00 2001 From: Michel Date: Thu, 8 Aug 2019 15:22:22 -0400 Subject: [PATCH 071/293] Update FUNDING.yml --- .github/FUNDING.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index d87ecf5..296fdf8 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,4 +1,2 @@ # These are supported funding model platforms - -github: michelve custom: paypal.me/mvelis From 2ef8860b4b4ec9d74444d661568248006572591c Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Fri, 9 Aug 2019 10:43:25 -0400 Subject: [PATCH 072/293] no message --- .DS_Store | Bin 12292 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 62df2c8dc224bea7d9a4088d9a899a37c44c2b91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12292 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 S0N&i>X%_#p`2RnH|NjAi$-^!H From 97d05c415f7c953846c971709e2a8c49a29885be Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Fri, 9 Aug 2019 11:20:47 -0400 Subject: [PATCH 073/293] changelog --- .gitignore | 7 +- CHANGELOG.md | 101 +++++++++++++- includes/slm-scripts.php | 11 +- package-lock.json | 249 +++++++++++++++++------------------ package.json | 6 +- software-license-manager.php | 4 +- 6 files changed, 233 insertions(+), 145 deletions(-) diff --git a/.gitignore b/.gitignore index 71ab27d..8ee8f54 100755 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,8 @@ /nbproject/private/ log.txt -log-cron-job.txt \ No newline at end of file +log-cron-job.txt +sftp-config_.json +sftp-config.json +sftp-config-alt.json +Icon +.Icon \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index b26cf9e..d7a4309 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,21 +2,114 @@ All notable changes to this project will be documented in this file. -The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). -## [4.10.4](https://github.com/michelve/software-license-manager/compare/4.10.4...4.10.4) - 2019-07-01 +## [5.0.3](https://github.com/michelve/software-license-manager/compare/5.0.2-patched...5.0.3) - 2019-07-27 -## [3.6.2](https://github.com/michelve/software-license-manager/compare/3.1.0...3.6.2) - 2018-02-28 +### Commits + +- version 5.0.3 [`1b84a5b`](https://github.com/michelve/software-license-manager/commit/1b84a5b722b6a1080c1b62b2650afb60833798a5) + +## [5.0.2](https://github.com/michelve/software-license-manager/compare/4.12.1...5.0.2) - 2019-07-01 + +### Commits + +- ## Features [`36b8069`](https://github.com/michelve/software-license-manager/commit/36b80696e3111f5b80910b9e549773fd382543f2) +- fixed preview images [`f9d3edd`](https://github.com/michelve/software-license-manager/commit/f9d3edd0f8db2e06fd6a71a2ea3567d9cc3e5446) +- 4.12.1 release [`3c3dfa1`](https://github.com/michelve/software-license-manager/commit/3c3dfa105f5022fb7fc9381ba425e469dc86992b) + +## [5.0.2-patched](https://github.com/michelve/software-license-manager/compare/5.0.2...5.0.2-patched) - 2019-07-17 + +### Commits + +- removed duplicated files and folders [`9b66e62`](https://github.com/michelve/software-license-manager/commit/9b66e62cb1dabf0e9a353b016ef99f044b1c03fb) +- added missing files [`de8f4e1`](https://github.com/michelve/software-license-manager/commit/de8f4e1c527fe09dae01942d3b48acbe07e05116) +- removed unneeded files [`8bac6e5`](https://github.com/michelve/software-license-manager/commit/8bac6e5e38d71ef075ffcf31fc789aa233c3e162) +- Update README.md [`f946ce2`](https://github.com/michelve/software-license-manager/commit/f946ce2d05cef50a1cfea80ad1514c1508c8470b) +- added updates and images [`cef05ca`](https://github.com/michelve/software-license-manager/commit/cef05ca079dd9fe1beb2c5d04a4182e77b31be12) +- Delete project.xml [`d0d0d7a`](https://github.com/michelve/software-license-manager/commit/d0d0d7acd701bccb3a93315bf414400ffb316a3d) +- Delete project.properties [`e48803c`](https://github.com/michelve/software-license-manager/commit/e48803cb612bff368aa7906e45e1c29b3bd845f0) + +## [4.12.1](https://github.com/michelve/software-license-manager/compare/4.11.2...4.12.1) - 2019-06-17 + +### Commits + +- ### 4.12.1 [`4b3adc2`](https://github.com/michelve/software-license-manager/commit/4b3adc2a2687f008362fb864eb39a759fc3a22c3) +- ### 4.12.1 [`89acaa5`](https://github.com/michelve/software-license-manager/commit/89acaa5718721cfdce40fcab70036367d2592c11) +- added change-log and updated readme file [`123564f`](https://github.com/michelve/software-license-manager/commit/123564f08ba7877da99fb6f826b03dbfceed0795) +- security.md [`3d225ce`](https://github.com/michelve/software-license-manager/commit/3d225ceffe5a5e65049112098656198335d066f1) + +## [4.11.2](https://github.com/michelve/software-license-manager/compare/4.10.3...4.11.2) - 2019-06-12 + +### Commits + +- upgraded jQuery ui version [`27fe73f`](https://github.com/michelve/software-license-manager/commit/27fe73fe555c4a9b5b3044042be7c8b66cd0f2bd) + +## [4.10.4](https://github.com/michelve/software-license-manager/compare/5.0.3...4.10.4) - 2019-08-09 + +### Commits + +- Update issue templates [`07e8262`](https://github.com/michelve/software-license-manager/commit/07e8262f603b4a58665594baeb9f960163dfeb92) +- Update FUNDING.yml [`8a299d7`](https://github.com/michelve/software-license-manager/commit/8a299d7d6305fc05a3b271b19348f1144cc715e6) +- Create FUNDING.yml [`32f7438`](https://github.com/michelve/software-license-manager/commit/32f7438bc12361b5841f669d0339089c6bfa0064) +- Check if WooCommerce is activated [`55acd38`](https://github.com/michelve/software-license-manager/commit/55acd38ed597a68d776f8748e9eadd1c93fa615e) +- version incremental [`ec547c5`](https://github.com/michelve/software-license-manager/commit/ec547c5fc87b98ad1a0e1b9f53b76032661f5412) +- Update FUNDING.yml [`47c7ec5`](https://github.com/michelve/software-license-manager/commit/47c7ec54b934c6e9e74f4436b41ac8659381d83d) +- no message [`2ef8860`](https://github.com/michelve/software-license-manager/commit/2ef8860b4b4ec9d74444d661568248006572591c) + +## [4.10.3](https://github.com/michelve/software-license-manager/compare/3.1.0...4.10.3) - 2019-05-14 ### Commits +- improved license creation [`f53672b`](https://github.com/michelve/software-license-manager/commit/f53672b4c5e59a9639e364d5259133131418e864) +- added update helper [`c0d5653`](https://github.com/michelve/software-license-manager/commit/c0d56534e2cac38e970fcc176374b0d54fff0bba) - Version increase [`c9e2548`](https://github.com/michelve/software-license-manager/commit/c9e25485c531ac6fdbb70fbd62f37d8c549f0466) +- improved license creation [`a012f34`](https://github.com/michelve/software-license-manager/commit/a012f34d7b9981414d20b4d4e34c9438596b6029) +- version 4.4 release [`620bf33`](https://github.com/michelve/software-license-manager/commit/620bf33369fc83876c64a149cd9604c240e93158) +- Added Change-log, readme, and license [`2d38d99`](https://github.com/michelve/software-license-manager/commit/2d38d99aba938bb6f84ff0d41cdc3a642513bc13) +- new folder structure [`a63639b`](https://github.com/michelve/software-license-manager/commit/a63639b2ebf3d33e2d619f2a0aa9c349dbabbbe1) +- added license file [`165b3a7`](https://github.com/michelve/software-license-manager/commit/165b3a73c291683abffe8cec6e62bdfd2424b08e) +- #### 4.6 [`2dd8f75`](https://github.com/michelve/software-license-manager/commit/2dd8f7547d3c5da2ee7f37c0bf199fd3def13342) +- removed un-used files and code [`39fb2bf`](https://github.com/michelve/software-license-manager/commit/39fb2bf330d26650452a50a30d1f73feae603a20) +- #### 4.10.3 - WIP [`6b9ca6b`](https://github.com/michelve/software-license-manager/commit/6b9ca6bd1b202d9f9e27727cf1030531c22940ea) +- no message [`cbdb605`](https://github.com/michelve/software-license-manager/commit/cbdb6058fb35461a5112983f30edc3ebd9515885) - added support for devices: now you can see the activated list for devices, able to register a device or deactivate it or delete it. [`91a1c3d`](https://github.com/michelve/software-license-manager/commit/91a1c3dc9f59d8bb92e9faed4e4d990279bfec36) +- Version 4.3 release check change-log file [`24a0b60`](https://github.com/michelve/software-license-manager/commit/24a0b60f3c343ffec61657c332b6ecbaaa2a7dd0) +- fixed sql warning and updated class name [`d8a8d29`](https://github.com/michelve/software-license-manager/commit/d8a8d2925c439f1bf624c9fbe45c77d528a5daf1) +- #### 4.7 - WIP [`27c13e1`](https://github.com/michelve/software-license-manager/commit/27c13e1e1a22aaedd04f6e011c0057dcd9a3762b) +- third party support [`16ba24f`](https://github.com/michelve/software-license-manager/commit/16ba24f9e8337aba88ed85983586d1e45bb49069) +- #### 4.6 [`daec3c2`](https://github.com/michelve/software-license-manager/commit/daec3c25fdb692688ddc8f2d0e4233d0baa78577) +- removed unused files [`b760853`](https://github.com/michelve/software-license-manager/commit/b7608533d6f3c663ce5719bcdc92dba03a944c53) +- Added support for version (until what version a key is supported) [`ffab174`](https://github.com/michelve/software-license-manager/commit/ffab1749c104df2c1621a416431eac908e1a3f09) - support for deactivation [`d84ff9f`](https://github.com/michelve/software-license-manager/commit/d84ff9faad68029b6c5fb37d71ad2952ff43bdf2) +- #### 4.1 -- Added: Support for license removal using api (slm_action=slm_remove) [`d8ae377`](https://github.com/michelve/software-license-manager/commit/d8ae3774e4ab7af7f3b0fd8eaee110afa50cb96b) +- formatted code [`58f8864`](https://github.com/michelve/software-license-manager/commit/58f886453bf483acc0c8fddba37cc2b3673b6db6) +- fixed not found error [`3760354`](https://github.com/michelve/software-license-manager/commit/3760354754017fa5cc19f5b3f7c118a9763c9e4c) +- added a new action hook [`26635a1`](https://github.com/michelve/software-license-manager/commit/26635a15976d21898da6e6df7619133d43596a92) +- init [`1a0c954`](https://github.com/michelve/software-license-manager/commit/1a0c954b1e315a02e59e8754d75b81aaaa38d35f) +- removed unneeded folders [`77371fa`](https://github.com/michelve/software-license-manager/commit/77371fa2dcd147ae9cd94930a338c670585269a4) +- updated paths [`7c948a1`](https://github.com/michelve/software-license-manager/commit/7c948a1b6ecd0659204a1c5adf029bd1e6e54f6f) +- added new tasks [`91fbd00`](https://github.com/michelve/software-license-manager/commit/91fbd004a48a0d66a9485827baaf88214b2a764c) +- added change-log notes [`f238963`](https://github.com/michelve/software-license-manager/commit/f2389637e459edb4c74729dbcfb42254b34483fb) +- version 4.8 [`501efc4`](https://github.com/michelve/software-license-manager/commit/501efc4f10dd41e880b745e94f33c06a19c12341) +- added todo file [`ed37d72`](https://github.com/michelve/software-license-manager/commit/ed37d723b214a636b1bab00514e021e74db6f06f) +- added Compatibility [`7a7143b`](https://github.com/michelve/software-license-manager/commit/7a7143bf3d8b2b758dd50a5a789fdbc61e86727d) +- fix: removed hard coded email from previous tests - now emails get send to the costumer after purchase [`bcc191f`](https://github.com/michelve/software-license-manager/commit/bcc191fdc0a6818535d9a4dd6962139d955b07e6) +- Added License Badge [`f4d77ac`](https://github.com/michelve/software-license-manager/commit/f4d77acb5d94ec3007ff1cb3b639fffd14661f34) +- Updated Read me file [`d8d5080`](https://github.com/michelve/software-license-manager/commit/d8d50803d0582b4cf44e8f0b39c557eae6632415) +- Updated Read me file [`fb1bf07`](https://github.com/michelve/software-license-manager/commit/fb1bf0763af6f6feed425db1affcf157162ca85e) - Update slm-api-listener.php [`9737d0e`](https://github.com/michelve/software-license-manager/commit/9737d0ed46fc66b96b933f0fbf87b77d95a3384b) +- Update TODO.md [`a85b107`](https://github.com/michelve/software-license-manager/commit/a85b107e51824e89ae950b8ab1c2f53b7ddda32f) +- added support for $this->update_api_listener(); and $this->deletion_api_listener(); [`fb06711`](https://github.com/michelve/software-license-manager/commit/fb06711cf17a74ddd4ba3b8296bdf1f2d1cd73b8) +- fixed typo [`1a8e999`](https://github.com/michelve/software-license-manager/commit/1a8e999e711749d1a51fda6296f2f707ab5d7469) +- fixed typo [`8013168`](https://github.com/michelve/software-license-manager/commit/8013168a071e1d71c1b97dae1881de9deaf3ad79) +- updated features list [`3a8c797`](https://github.com/michelve/software-license-manager/commit/3a8c7979530b614828943f8d2b197caffec97d02) +- Set theme jekyll-theme-tactile [`4633161`](https://github.com/michelve/software-license-manager/commit/4633161f6d68eec07a1473fa4efcc96e9b54fa48) +- updated read me file [`1bd62f9`](https://github.com/michelve/software-license-manager/commit/1bd62f907941a41a389c777494affaabf1758116) +- added screenshot and preview images [`b0b213b`](https://github.com/michelve/software-license-manager/commit/b0b213b05aba050deb2228f984b8213f8f87d892) ## 3.1.0 - 2017-07-19 diff --git a/includes/slm-scripts.php b/includes/slm-scripts.php index cefa5b7..f9b24b0 100644 --- a/includes/slm-scripts.php +++ b/includes/slm-scripts.php @@ -16,15 +16,10 @@ function slm_frontend_assets() { /** * Check if WooCommerce is activated */ - if (function_exists('is_woocommerce_activated')) { - - if(is_account_page() && class_exists( 'woocommerce' )) { - wp_enqueue_style('bootstrapcdn-slm', 'https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css'); - wp_enqueue_script( 'bootstrapcdn-slm-js', 'https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js', array('jquery'), '4.1.3', true ); - } - + if (!function_exists('is_woocommerce_activated') && is_account_page()) { + wp_enqueue_style('bootstrapcdn-slm', 'https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css'); + wp_enqueue_script( 'bootstrapcdn-slm-js', 'https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js', array('jquery'), '4.1.3', true ); } - // custom css wp_enqueue_style('softwarelicensemanager', SLM_ASSETS_URL .'css/slm-front-end.css'); } diff --git a/package-lock.json b/package-lock.json index b64780e..f71b359 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,132 +1,123 @@ { - "name": "software-license-manager", - "version": "4.10.4", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/polyfill": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.4.4.tgz", - "integrity": "sha512-WlthFLfhQQhh+A2Gn5NSFl0Huxz36x86Jn+E9OW7ibK8edKPq+KLy4apM1yDpQ8kJOVi1OVjpP4vSDLdrI04dg==", - "dev": true, - "requires": { - "core-js": "^2.6.5", - "regenerator-runtime": "^0.13.2" - } - }, - "auto-changelog": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/auto-changelog/-/auto-changelog-1.13.0.tgz", - "integrity": "sha512-djreNOUH6i09Lkm/A3oDApJjSrphUb8dxnyCan8CVEN1uHrD02NlraZic9VdPu37ZYcf1lqYNLjuwT5CFZxtPw==", - "dev": true, - "requires": { - "@babel/polyfill": "^7.4.3", - "commander": "^2.20.0", - "handlebars": "^4.0.12", - "lodash.uniqby": "^4.7.0", - "node-fetch": "^2.3.0", - "parse-github-url": "^1.0.2", - "semver": "^6.0.0" - } - }, - "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", - "dev": true - }, - "core-js": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.8.tgz", - "integrity": "sha512-RWlREFU74TEkdXzyl1bka66O3kYp8jeTXrvJZDzVVMH8AiHUSOFpL1yfhQJ+wHocAm1m+4971W1PPzfLuCv1vg==", - "dev": true - }, - "handlebars": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz", - "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", - "dev": true, - "requires": { - "neo-async": "^2.6.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" - } - }, - "lodash.uniqby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", - "integrity": "sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI=", - "dev": true - }, - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", - "dev": true - }, - "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", - "dev": true - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - } - }, - "parse-github-url": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz", - "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==", - "dev": true - }, - "regenerator-runtime": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", - "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==", - "dev": true - }, - "semver": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.0.tgz", - "integrity": "sha512-kCqEOOHoBcFs/2Ccuk4Xarm/KiWRSLEX9CAZF8xkJ6ZPlIoTZ8V5f7J16vYLJqDbR7KrxTJpR2lqjIEm2Qx9cQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "uglify-js": { - "version": "3.5.15", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.15.tgz", - "integrity": "sha512-fe7aYFotptIddkwcm6YuA0HmknBZ52ZzOsUxZEdhhkSsz7RfjHDX2QDxwKTiv4JQ5t5NhfmpgAK+J7LiDhKSqg==", - "dev": true, - "optional": true, - "requires": { - "commander": "~2.20.0", - "source-map": "~0.6.1" - } - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true + "name": "software-license-manager", + "version": "4.10.4", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "auto-changelog": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/auto-changelog/-/auto-changelog-1.14.1.tgz", + "integrity": "sha512-T98ndHOvMQFz+TCqCi/Tw9jDVgRwECrtB2pkEM8N9snuqZDYPD9QJMRSCt1jr4pOKjvge3Ay2jaMeCpif+hHpw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "core-js": "^3.1.4", + "handlebars": "^4.1.2", + "lodash.uniqby": "^4.7.0", + "node-fetch": "^2.6.0", + "parse-github-url": "^1.0.2", + "regenerator-runtime": "^0.13.2", + "semver": "^6.1.1" + } + }, + "commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "dev": true + }, + "core-js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.2.0.tgz", + "integrity": "sha512-gybgLzmr7SQRSF6UzGYXducx4eE10ONQlyEnQoqiGPbmbn7zLkb73tPfc4YbZN0lvcTQwoLNPjq4RuCaCumGyQ==", + "dev": true + }, + "handlebars": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz", + "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", + "dev": true, + "requires": { + "neo-async": "^2.6.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + } + }, + "lodash.uniqby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", + "integrity": "sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI=", + "dev": true + }, + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true + }, + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", + "dev": true + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, + "parse-github-url": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz", + "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "uglify-js": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", + "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", + "dev": true, + "optional": true, + "requires": { + "commander": "~2.20.0", + "source-map": "~0.6.1" + } + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + } } - } } diff --git a/package.json b/package.json index fc0d960..c93fb4e 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "auto-changelog": { "output": "CHANGELOG.md", "template": "keepachangelog", + "issueUrl": "https://github.com/michelve/software-license-manager/issues/{id}", "unreleased": true, "commitLimit": false, "includeBranch": [ @@ -37,5 +38,8 @@ "bugs": { "url": "https://github.com/michelve/software-license-manager/issues" }, - "homepage": "https://github.com/michelve/software-license-manager#readme" + "homepage": "https://github.com/michelve/software-license-manager#readme", + "devDependencies": { + "auto-changelog": "^1.14.1" + } } diff --git a/software-license-manager.php b/software-license-manager.php index 686601a..9df79a8 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ Date: Fri, 9 Aug 2019 12:38:43 -0400 Subject: [PATCH 074/293] Update README.md --- README.md | 49 +++++++++++++++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index de871e9..6fa0d5f 100755 --- a/README.md +++ b/README.md @@ -1,19 +1,35 @@ -Software License Manager +# Welcome to software license manager 👋 +![Version](https://img.shields.io/badge/version-5.0.3-blue.svg?cacheSeconds=2592000) +[![Documentation](https://img.shields.io/badge/documentation-yes-brightgreen.svg)](https://documenter.getpostman.com/view/307939/6tjU1FL?version=latest) +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/michelve/software-license-manager/blob/master/LICENSE.md) -# Software License Manager -[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) +> Software license management solution for your web applications (WordPress plugins, Themes, Applications, PHP based membership script etc.). Supports WooCommerce. -Software license management solution for your web applications (WordPress plugins, Themes, PHP based membership script etc.) +### 🏠 [Homepage](https://github.com/michelve/software-license-manager#readme) -## Authors -[Arsenal21](https://github.com/Arsenal21) -[Michel Velis](https://github.com/michelve) +## Install +```text +Upload "software-license-manager \" to the \ "/ wp-content / plugins \" directory. +Activate the plugin through the \ "Plugins \" menu in WordPress. +``` -## Description -Software license management solution for your web applications (WordPress plugins, Themes, PHP based membership script etc.) +## Author + +👤 **Michel Velis and Tips and Tricks HQ** + +* Github: [@michelve](https://github.com/michelve) + +## 🤝 Contributing + +Contributions, issues and feature requests are welcome! + +Feel free to check [issues page](https://github.com/michelve/software-license-manager/issues). + +## Show your support + +Give a ⭐️ if this project helped you! -This plugin is very useful for creating a license server and doing the following via API: ## Postman samples: [Demo and samples:]( https://documenter.getpostman.com/view/307939/6tjU1FL?version=latest). @@ -39,13 +55,7 @@ This plugin is very useful for creating a license server and doing the following - Language support (spanish and english) - Woocommerce product type - Pass license info to woocommerce order -- -## Installation -1. Go to the Add New plugins screen in your WordPress admin area -2. Click the upload tab -3. Browse for the plugin file (software-license-manager.zip) -4. Click Install Now and then activate the plugin ## Compatibility - [-] Woocommerce @@ -74,3 +84,10 @@ Changelog: [View changelog](https://github.com/michelve/software-license-manager Software License Manager Software License Manager + + +## 📝 License + +Copyright © 2019 [Michel Velis and Tips and Tricks HQ](https://github.com/michelve). + +This project is [MIT](https://github.com/michelve/software-license-manager/blob/master/LICENSE.md) licensed. From 0f532b1cd20e6166f99cf5747a58e5647e98e486 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 9 Aug 2019 12:40:04 -0400 Subject: [PATCH 075/293] Update README.md --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6fa0d5f..ed51e4b 100755 --- a/README.md +++ b/README.md @@ -10,8 +10,10 @@ ## Install ```text -Upload "software-license-manager \" to the \ "/ wp-content / plugins \" directory. -Activate the plugin through the \ "Plugins \" menu in WordPress. +1. Go to the Add New plugins screen in your WordPress admin area +2. Click the upload tab +3. Browse for the plugin file (software-license-manager.zip) +4. Click Install Now and then activate the plugin ``` ## Author From 9e07f0938bd9bd0ddda655b99af0c9315fccd2f2 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 9 Aug 2019 12:43:57 -0400 Subject: [PATCH 076/293] Update README.md --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index ed51e4b..c3ef738 100755 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ ### 🏠 [Homepage](https://github.com/michelve/software-license-manager#readme) -## Install +## 🔧 Install ```text 1. Go to the Add New plugins screen in your WordPress admin area @@ -33,10 +33,10 @@ Feel free to check [issues page](https://github.com/michelve/software-license-ma Give a ⭐️ if this project helped you! -## Postman samples: -[Demo and samples:]( https://documenter.getpostman.com/view/307939/6tjU1FL?version=latest). +## 📓 Postman samples: +[API Demo and Samples:]( https://documenter.getpostman.com/view/307939/6tjU1FL?version=latest) -## Features: +## 📦 Features: - Create license keys - Check the status of a license key from from your application (remotely) - Activate a license key from your application (remotely) @@ -59,16 +59,16 @@ Give a ⭐️ if this project helped you! - Pass license info to woocommerce order -## Compatibility +## ✅ Compatibility - [-] Woocommerce - [-] WP eStore - [-] WP Download Manager -## Changelog and history +## 🕘 Changelog and history Changelog: [View changelog](https://github.com/michelve/software-license-manager/blob/master/CHANGELOG.md) -## Screenshots +## 🎑 Screenshots Software License Manager Software License Manager From 2462dd9fd6a63f4ad11edd171b0c7bb5cd4f2516 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 9 Aug 2019 12:46:42 -0400 Subject: [PATCH 077/293] Update README.md --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index c3ef738..f647c6d 100755 --- a/README.md +++ b/README.md @@ -69,23 +69,23 @@ Changelog: [View changelog](https://github.com/michelve/software-license-manager ## 🎑 Screenshots -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager - + -Software License Manager +Software License Manager -Software License Manager +Software License Manager -Software License Manager +Software License Manager ## 📝 License From 7e06d7faca5febb8e91d719f15b4e0dc027fbbc6 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 9 Aug 2019 12:47:04 -0400 Subject: [PATCH 078/293] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f647c6d..9aa8207 100755 --- a/README.md +++ b/README.md @@ -81,7 +81,7 @@ Changelog: [View changelog](https://github.com/michelve/software-license-manager -Software License Manager +Software License Manager Software License Manager From ca8634c7ea36dc647ac3fc18f295054483425e03 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 9 Aug 2019 12:57:33 -0400 Subject: [PATCH 079/293] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 9aa8207..80c73a5 100755 --- a/README.md +++ b/README.md @@ -5,6 +5,8 @@ > Software license management solution for your web applications (WordPress plugins, Themes, Applications, PHP based membership script etc.). Supports WooCommerce. +> ⚠️ **NOTICE**: In the next version release this plugin will be rename to: wp license manager (wlm) + ### 🏠 [Homepage](https://github.com/michelve/software-license-manager#readme) ## 🔧 Install From 6f13d8344186c64112b969e647e64d0a6c5dfbe1 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Sat, 24 Aug 2019 16:16:08 -0400 Subject: [PATCH 080/293] Fixed: license values were not been saved inside the woocommerce when saving a product --- includes/slm-meta-boxes.php | 14 ++++++++++---- woocommerce/includes/purchase.php | 12 ++++++------ 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/includes/slm-meta-boxes.php b/includes/slm-meta-boxes.php index 89c20cf..80e2e6f 100644 --- a/includes/slm-meta-boxes.php +++ b/includes/slm-meta-boxes.php @@ -6,9 +6,9 @@ // from: https://gist.github.com/JeroenSormani/6b710d079386d096f932 add_filter('woocommerce_product_data_tabs', 'wc_slm_add_tab'); -add_action('woocommerce_process_product_meta_simple', 'wc_slm_save_data'); +add_action('woocommerce_process_product_meta', 'wc_slm_save_data'); add_action('woocommerce_product_data_panels', 'wc_slm_data_panel'); -add_filter('product_type_options', 'add_wc_slm_data_tab_enabled_product_option'); +//add_filter('product_type_options', 'add_wc_slm_data_tab_enabled_product_option'); //legacy add_action('init', 'slm_register_product_type'); add_filter('product_type_selector', 'slm_add_product_type'); add_action('admin_footer', 'slm_license_admin_custom_js'); @@ -44,7 +44,7 @@ function wcpp_custom_style() var is_wc_slm_data_tab_enabled = jQuery('input#_wc_slm_data_tab_enabled:checked').size(); // console.log( is_wc_slm_data_tab_enabled ); - $jQuery('.show_if_wc_slm_data_tab_enabled').hide(); + jQuery('.show_if_wc_slm_data_tab_enabled').hide(); jQuery('.hide_if_wc_slm_data_tab_enabled').hide(); if (is_wc_slm_data_tab_enabled) { jQuery('.hide_if_wc_slm_data_tab_enabled').hide(); @@ -158,6 +158,12 @@ function wc_slm_data_panel() /** Hook callback function to save custom fields information */ function wc_slm_save_data($post_id) { + // _domain_licenses + // _devices_licenses + // _license_type + // _license_current_version + // _license_until_version + $_domain_licenses = $_POST['_domain_licenses']; if (!empty($_domain_licenses)) { update_post_meta($post_id, '_domain_licenses', esc_attr($_domain_licenses)); @@ -207,7 +213,7 @@ public function __construct($product) function slm_add_product_type($types) { - $types['slm_license'] = __('License product', 'slm_license'); + $types['slm_license'] = __('License product', 'softwarelicensemanager'); return $types; } function slm_license_admin_custom_js() diff --git a/woocommerce/includes/purchase.php b/woocommerce/includes/purchase.php index b64f6dc..c5ebd22 100755 --- a/woocommerce/includes/purchase.php +++ b/woocommerce/includes/purchase.php @@ -216,12 +216,12 @@ function wc_slm_payment_note($order_id, $licenses) { $license_key = $license['key']; $message .= '
    ' . $license['item'] . ': ' . $license_key . ''; - add_post_meta($order_id, 'slm_wc_license_order_key', $license_key); - add_post_meta($order_id, 'slm_wc_license_expires', $license[ 'expires']); - add_post_meta($order_id, 'slm_wc_license_type', $license[ 'type']); - add_post_meta($order_id, 'slm_wc_license_status', $license['status']); - add_post_meta($order_id, 'slm_wc_license_version', $license[ 'version']); - add_post_meta($order_id, 'slm_wc_until_version', $license['until']); + add_post_meta($order_id, 'slm_wc_license_order_key', $license_key); + add_post_meta($order_id, 'slm_wc_license_expires', $license[ 'expires']); + add_post_meta($order_id, 'slm_wc_license_type', $license[ 'type']); + add_post_meta($order_id, 'slm_wc_license_status', $license['status']); + add_post_meta($order_id, 'slm_wc_license_version', $license[ 'version']); + add_post_meta($order_id, 'slm_wc_until_version', $license['until']); //SLM_Helper_Class::write_log($license_key); } From 10de0cab3146795bf86c26f8f9495f529c320ada Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Sat, 24 Aug 2019 16:16:08 -0400 Subject: [PATCH 081/293] Fixed: license values were not been saved inside the woocommerce when saving a product --- includes/slm-meta-boxes.php | 14 ++++++++++---- software-license-manager.php | 8 ++++---- woocommerce/includes/purchase.php | 12 ++++++------ 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/includes/slm-meta-boxes.php b/includes/slm-meta-boxes.php index 89c20cf..80e2e6f 100644 --- a/includes/slm-meta-boxes.php +++ b/includes/slm-meta-boxes.php @@ -6,9 +6,9 @@ // from: https://gist.github.com/JeroenSormani/6b710d079386d096f932 add_filter('woocommerce_product_data_tabs', 'wc_slm_add_tab'); -add_action('woocommerce_process_product_meta_simple', 'wc_slm_save_data'); +add_action('woocommerce_process_product_meta', 'wc_slm_save_data'); add_action('woocommerce_product_data_panels', 'wc_slm_data_panel'); -add_filter('product_type_options', 'add_wc_slm_data_tab_enabled_product_option'); +//add_filter('product_type_options', 'add_wc_slm_data_tab_enabled_product_option'); //legacy add_action('init', 'slm_register_product_type'); add_filter('product_type_selector', 'slm_add_product_type'); add_action('admin_footer', 'slm_license_admin_custom_js'); @@ -44,7 +44,7 @@ function wcpp_custom_style() var is_wc_slm_data_tab_enabled = jQuery('input#_wc_slm_data_tab_enabled:checked').size(); // console.log( is_wc_slm_data_tab_enabled ); - $jQuery('.show_if_wc_slm_data_tab_enabled').hide(); + jQuery('.show_if_wc_slm_data_tab_enabled').hide(); jQuery('.hide_if_wc_slm_data_tab_enabled').hide(); if (is_wc_slm_data_tab_enabled) { jQuery('.hide_if_wc_slm_data_tab_enabled').hide(); @@ -158,6 +158,12 @@ function wc_slm_data_panel() /** Hook callback function to save custom fields information */ function wc_slm_save_data($post_id) { + // _domain_licenses + // _devices_licenses + // _license_type + // _license_current_version + // _license_until_version + $_domain_licenses = $_POST['_domain_licenses']; if (!empty($_domain_licenses)) { update_post_meta($post_id, '_domain_licenses', esc_attr($_domain_licenses)); @@ -207,7 +213,7 @@ public function __construct($product) function slm_add_product_type($types) { - $types['slm_license'] = __('License product', 'slm_license'); + $types['slm_license'] = __('License product', 'softwarelicensemanager'); return $types; } function slm_license_admin_custom_js() diff --git a/software-license-manager.php b/software-license-manager.php index 9df79a8..cb6bd19 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ ' . $license['item'] . ': ' . $license_key . ''; - add_post_meta($order_id, 'slm_wc_license_order_key', $license_key); - add_post_meta($order_id, 'slm_wc_license_expires', $license[ 'expires']); - add_post_meta($order_id, 'slm_wc_license_type', $license[ 'type']); - add_post_meta($order_id, 'slm_wc_license_status', $license['status']); - add_post_meta($order_id, 'slm_wc_license_version', $license[ 'version']); - add_post_meta($order_id, 'slm_wc_until_version', $license['until']); + add_post_meta($order_id, 'slm_wc_license_order_key', $license_key); + add_post_meta($order_id, 'slm_wc_license_expires', $license[ 'expires']); + add_post_meta($order_id, 'slm_wc_license_type', $license[ 'type']); + add_post_meta($order_id, 'slm_wc_license_status', $license['status']); + add_post_meta($order_id, 'slm_wc_license_version', $license[ 'version']); + add_post_meta($order_id, 'slm_wc_until_version', $license['until']); //SLM_Helper_Class::write_log($license_key); } From 7c2240f4a93194c42dc606c645e44ebcd881b335 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Sat, 24 Aug 2019 16:19:07 -0400 Subject: [PATCH 082/293] added change-log --- CHANGELOG.md | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d7a4309..0b0ed02 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +## [5.0.5](https://github.com/michelve/software-license-manager/compare/5.0.3...5.0.5) - 2019-08-24 + +### Commits + +- changelog [`97d05c4`](https://github.com/michelve/software-license-manager/commit/97d05c415f7c953846c971709e2a8c49a29885be) +- Update README.md [`dfd36ba`](https://github.com/michelve/software-license-manager/commit/dfd36ba5e75bca5039e65cc450de7b0fb8266063) +- Update issue templates [`07e8262`](https://github.com/michelve/software-license-manager/commit/07e8262f603b4a58665594baeb9f960163dfeb92) +- Fixed: license values were not been saved inside the woocommerce when saving a product [`10de0ca`](https://github.com/michelve/software-license-manager/commit/10de0cab3146795bf86c26f8f9495f529c320ada) +- Fixed: license values were not been saved inside the woocommerce when saving a product [`6f13d83`](https://github.com/michelve/software-license-manager/commit/6f13d8344186c64112b969e647e64d0a6c5dfbe1) +- Update README.md [`2462dd9`](https://github.com/michelve/software-license-manager/commit/2462dd9fd6a63f4ad11edd171b0c7bb5cd4f2516) +- Update README.md [`9e07f09`](https://github.com/michelve/software-license-manager/commit/9e07f0938bd9bd0ddda655b99af0c9315fccd2f2) +- Update FUNDING.yml [`8a299d7`](https://github.com/michelve/software-license-manager/commit/8a299d7d6305fc05a3b271b19348f1144cc715e6) +- Create FUNDING.yml [`32f7438`](https://github.com/michelve/software-license-manager/commit/32f7438bc12361b5841f669d0339089c6bfa0064) +- Check if WooCommerce is activated [`55acd38`](https://github.com/michelve/software-license-manager/commit/55acd38ed597a68d776f8748e9eadd1c93fa615e) +- Update README.md [`0f532b1`](https://github.com/michelve/software-license-manager/commit/0f532b1cd20e6166f99cf5747a58e5647e98e486) +- version incremental [`ec547c5`](https://github.com/michelve/software-license-manager/commit/ec547c5fc87b98ad1a0e1b9f53b76032661f5412) +- Update README.md [`ca8634c`](https://github.com/michelve/software-license-manager/commit/ca8634c7ea36dc647ac3fc18f295054483425e03) +- Update README.md [`7e06d7f`](https://github.com/michelve/software-license-manager/commit/7e06d7faca5febb8e91d719f15b4e0dc027fbbc6) +- Update FUNDING.yml [`47c7ec5`](https://github.com/michelve/software-license-manager/commit/47c7ec54b934c6e9e74f4436b41ac8659381d83d) +- no message [`2ef8860`](https://github.com/michelve/software-license-manager/commit/2ef8860b4b4ec9d74444d661568248006572591c) + ## [5.0.3](https://github.com/michelve/software-license-manager/compare/5.0.2-patched...5.0.3) - 2019-07-27 ### Commits @@ -48,17 +69,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - upgraded jQuery ui version [`27fe73f`](https://github.com/michelve/software-license-manager/commit/27fe73fe555c4a9b5b3044042be7c8b66cd0f2bd) -## [4.10.4](https://github.com/michelve/software-license-manager/compare/5.0.3...4.10.4) - 2019-08-09 - -### Commits - -- Update issue templates [`07e8262`](https://github.com/michelve/software-license-manager/commit/07e8262f603b4a58665594baeb9f960163dfeb92) -- Update FUNDING.yml [`8a299d7`](https://github.com/michelve/software-license-manager/commit/8a299d7d6305fc05a3b271b19348f1144cc715e6) -- Create FUNDING.yml [`32f7438`](https://github.com/michelve/software-license-manager/commit/32f7438bc12361b5841f669d0339089c6bfa0064) -- Check if WooCommerce is activated [`55acd38`](https://github.com/michelve/software-license-manager/commit/55acd38ed597a68d776f8748e9eadd1c93fa615e) -- version incremental [`ec547c5`](https://github.com/michelve/software-license-manager/commit/ec547c5fc87b98ad1a0e1b9f53b76032661f5412) -- Update FUNDING.yml [`47c7ec5`](https://github.com/michelve/software-license-manager/commit/47c7ec54b934c6e9e74f4436b41ac8659381d83d) -- no message [`2ef8860`](https://github.com/michelve/software-license-manager/commit/2ef8860b4b4ec9d74444d661568248006572591c) +## [4.10.4](https://github.com/michelve/software-license-manager/compare/5.0.5...4.10.4) - 2019-08-24 ## [4.10.3](https://github.com/michelve/software-license-manager/compare/3.1.0...4.10.3) - 2019-05-14 From f18d25bf3175a98f4602c432a8e0ff0865d4d547 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Sat, 24 Aug 2019 16:23:13 -0400 Subject: [PATCH 083/293] added missing information --- LICENSE.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LICENSE.md b/LICENSE.md index 7a3b7c2..b8bb377 100755 --- a/LICENSE.md +++ b/LICENSE.md @@ -632,7 +632,7 @@ state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. - Copyright (C) + Copyright (C) 2019 Michel Velis This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - Copyright (C) + Software License Manager Copyright (C) 2019 Michel Velis This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. From 33d56e02d8e76991afb5d1b3a2e37453cd31eb64 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Wed, 28 Aug 2019 13:31:48 -0400 Subject: [PATCH 084/293] Feature: added custom template for license key product type (for woocommerce) --- includes/slm-meta-boxes.php | 245 +++++++++--------- software-license-manager.php | 8 +- woocommerce/includes/register-template.php | 17 ++ woocommerce/includes/wc-slm.php | 1 + .../add-to-cart/slm_license.php | 35 +++ 5 files changed, 185 insertions(+), 121 deletions(-) create mode 100644 woocommerce/includes/register-template.php create mode 100644 woocommerce/templates/single-product/add-to-cart/slm_license.php diff --git a/includes/slm-meta-boxes.php b/includes/slm-meta-boxes.php index 80e2e6f..9dcad28 100644 --- a/includes/slm-meta-boxes.php +++ b/includes/slm-meta-boxes.php @@ -32,61 +32,61 @@ function add_wc_slm_data_tab_enabled_product_option($product_type_options) function wcpp_custom_style() { ?> + #woocommerce-product-data ul.wc-tabs li.wc_slm_data_tab_options a:before { + font-family: Dashicons; + content: "\f160"; + } + - __('Licensing', 'softwarelicensemanager'), - 'target' => 'wc_slm_meta', - 'class' => array('show_if_slm_license', 'show_if_wc_slm_data_tab_enabled'), - ); + function wc_slm_add_tab($wc_slm_data_tabs) + { + $wc_slm_data_tabs['wc_slm_data_tab'] = array( + 'label' => __('Licensing', 'softwarelicensemanager'), + 'target' => 'wc_slm_meta', + 'class' => array('show_if_slm_license', 'show_if_wc_slm_data_tab_enabled'), + ); - return $wc_slm_data_tabs; - } + return $wc_slm_data_tabs; + } - function wc_slm_data_panel() - { - global $post; - ?> -
    + function wc_slm_data_panel() + { + global $post; + ?> +
    - -
    - +
    + '_domain_licenses', @@ -151,92 +151,103 @@ function wc_slm_data_panel() ) ); ?> -
    -
    +
    product_type = 'slm_license'; - parent::__construct($product); + public function __construct($product) + { + $this->product_type = 'slm_license'; + parent::__construct($product); + } } } - } - function slm_add_product_type($types) - { - $types['slm_license'] = __('License product', 'softwarelicensemanager'); - return $types; - } - function slm_license_admin_custom_js() - { - if ('product' != get_post_type()) : - return; - endif; - ?> - + function slm_add_product_type($types) + { + $types['slm_license'] = __('License product', 'softwarelicensemanager'); + return $types; + } + function slm_license_admin_custom_js() + { + if ('product' != get_post_type()) : + return; + endif; + ?> + get_type()) { + $template_path = SLM_WOO . 'templates/'; + // Load the template + wc_get_template( + 'single-product/add-to-cart/slm_license.php', + '', + '', + trailingslashit($template_path) + ); + } +} \ No newline at end of file diff --git a/woocommerce/includes/wc-slm.php b/woocommerce/includes/wc-slm.php index 2f5b872..c7f8544 100755 --- a/woocommerce/includes/wc-slm.php +++ b/woocommerce/includes/wc-slm.php @@ -13,6 +13,7 @@ public static function instance() { private function includes() { require_once SLM_WOO . 'includes/purchase.php'; + require_once SLM_WOO . 'includes/register-template.php'; } } diff --git a/woocommerce/templates/single-product/add-to-cart/slm_license.php b/woocommerce/templates/single-product/add-to-cart/slm_license.php new file mode 100644 index 0000000..1c39bfb --- /dev/null +++ b/woocommerce/templates/single-product/add-to-cart/slm_license.php @@ -0,0 +1,35 @@ + + + +
    + + + + + + +
    + + + get_id(), '_slm_license_price'); + $price = 0; + if (isset($get_price[0])) { + $price = wc_price($get_price[0]); + } + echo $price; + ?> +
    + + + + Date: Wed, 28 Aug 2019 13:33:00 -0400 Subject: [PATCH 085/293] version 5.1.0 --- CHANGELOG.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b0ed02..b7f486f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -69,7 +69,13 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - upgraded jQuery ui version [`27fe73f`](https://github.com/michelve/software-license-manager/commit/27fe73fe555c4a9b5b3044042be7c8b66cd0f2bd) -## [4.10.4](https://github.com/michelve/software-license-manager/compare/5.0.5...4.10.4) - 2019-08-24 +## [4.10.4](https://github.com/michelve/software-license-manager/compare/5.0.5...4.10.4) - 2019-08-28 + +### Commits + +- Feature: added custom template for license key product type (for woocommerce) [`33d56e0`](https://github.com/michelve/software-license-manager/commit/33d56e02d8e76991afb5d1b3a2e37453cd31eb64) +- added change-log [`7c2240f`](https://github.com/michelve/software-license-manager/commit/7c2240f4a93194c42dc606c645e44ebcd881b335) +- added missing information [`f18d25b`](https://github.com/michelve/software-license-manager/commit/f18d25bf3175a98f4602c432a8e0ff0865d4d547) ## [4.10.3](https://github.com/michelve/software-license-manager/compare/3.1.0...4.10.3) - 2019-05-14 From 0ce21eb9d5acfc3e2ac6c8f5b4ac0aa9850bc609 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Wed, 28 Aug 2019 14:22:36 -0400 Subject: [PATCH 086/293] restructured and set default values --- includes/class-slm-installer.php | 6 +++--- includes/slm-plugin-core.php | 2 +- software-license-manager.php | 4 ++-- {includes => woocommerce/includes}/slm-meta-boxes.php | 1 - 4 files changed, 6 insertions(+), 7 deletions(-) rename {includes => woocommerce/includes}/slm-meta-boxes.php (99%) diff --git a/includes/class-slm-installer.php b/includes/class-slm-installer.php index 74cc7e2..1da33f8 100755 --- a/includes/class-slm-installer.php +++ b/includes/class-slm-installer.php @@ -112,11 +112,11 @@ 'default_max_devices' => '2', 'lic_verification_secret' => SLM_Utility::create_secret_keys(), 'enable_debug' => '', - 'slm_woo' => '', + 'slm_woo' => '1', 'slm_wpestores' => '', 'slm_woo_downloads' => '', - 'slm_stats' => '', - 'slm_adminbar' => '', + 'slm_stats' => '1', + 'slm_adminbar' => '1', 'slm_dl_manager' => '', 'expiration_reminder_text' => 'Your account has reverted to Basic with limited functionality. Renew today to keep using it on all of your devices and enjoy the valuable features. It’s a smart investment'); diff --git a/includes/slm-plugin-core.php b/includes/slm-plugin-core.php index b8aff7c..8e9f67c 100755 --- a/includes/slm-plugin-core.php +++ b/includes/slm-plugin-core.php @@ -100,7 +100,7 @@ function slm_get_license($lic_key_prefix = ''){ require_once( SLM_WOO . 'includes/wc-slm.php'); // support for meta boxes - require_once( SLM_LIB . 'slm-meta-boxes.php'); + require_once( SLM_WOO . 'includes/slm-meta-boxes.php'); } diff --git a/software-license-manager.php b/software-license-manager.php index ce400d2..fd25a33 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@
    -
    Date: Fri, 30 Aug 2019 14:18:38 -0400 Subject: [PATCH 087/293] feature: renewal period now supports monthly yearly or one time --- admin/slm-lic-settings.php | 117 +++---- woocommerce/includes/purchase.php | 7 +- woocommerce/includes/slm-meta-boxes.php | 404 +++++++++++++----------- 3 files changed, 277 insertions(+), 251 deletions(-) diff --git a/admin/slm-lic-settings.php b/admin/slm-lic-settings.php index 7bac883..fa6412b 100755 --- a/admin/slm-lic-settings.php +++ b/admin/slm-lic-settings.php @@ -15,70 +15,70 @@ function slm_general_settings() ?> reset_log_file("log.txt"); - $slm_debug_logger->reset_log_file("log-cron-job.txt"); - echo '

    Debug log files have been reset!

    '; - } + if (isset($_REQUEST['slm_reset_log'])) { + $slm_logger = new SLM_Debug_Logger(); + global $slm_debug_logger; + $slm_debug_logger->reset_log_file("log.txt"); + $slm_debug_logger->reset_log_file("log-cron-job.txt"); + echo '

    Debug log files have been reset!

    '; + } - if (isset($_POST['slm_save_settings'])) { + if (isset($_POST['slm_save_settings'])) { - if (!is_numeric($_POST["default_max_domains"])) { - //Set it to one by default if incorrect value is entered - $_POST["default_max_domains"] = '2'; - } - if (!is_numeric($_POST["default_max_devices"])) { - //Set it to one by default if incorrect value is entered - $_POST["default_max_devices"] = '2'; - } + if (!is_numeric($_POST["default_max_domains"])) { + //Set it to one by default if incorrect value is entered + $_POST["default_max_domains"] = '2'; + } + if (!is_numeric($_POST["default_max_devices"])) { + //Set it to one by default if incorrect value is entered + $_POST["default_max_devices"] = '2'; + } - $options = array( - 'lic_creation_secret' => trim($_POST["lic_creation_secret"]), - 'lic_prefix' => trim($_POST["lic_prefix"]), - 'default_max_domains' => trim($_POST["default_max_domains"]), - 'default_max_devices' => trim($_POST["default_max_devices"]), - 'lic_verification_secret' => trim($_POST["lic_verification_secret"]), - 'enable_auto_key__xpiry' => isset($_POST['enable_auto_key__xpiry']) ? '1' : '', - 'enable_debug' => isset($_POST['enable_debug']) ? '1' : '', - 'slm_woo' => isset($_POST['slm_woo']) ? '1' : '', - 'slm_woo_downloads' => isset($_POST['slm_woo_downloads']) ? '1' : '', - 'slm_stats' => isset($_POST['slm_stats']) ? '1' : '', - 'slm_adminbar' => isset($_POST['slm_adminbar']) ? '1' : '', - 'slm_wpestores' => isset($_POST['slm_wpestores']) ? '1' : '', - 'slm_dl_manager' => isset($_POST['slm_dl_manager']) ? '1' : '', - 'expiration_reminder_text' => sanitize_text_field($_POST['expiration_reminder_text']) - ); - update_option('slm_plugin_options', $options); - - echo ' + $options = array( + 'lic_creation_secret' => trim($_POST["lic_creation_secret"]), + 'lic_prefix' => trim($_POST["lic_prefix"]), + 'default_max_domains' => trim($_POST["default_max_domains"]), + 'default_max_devices' => trim($_POST["default_max_devices"]), + 'lic_verification_secret' => trim($_POST["lic_verification_secret"]), + 'enable_auto_key__xpiry' => isset($_POST['enable_auto_key__xpiry']) ? '1' : '', + 'enable_debug' => isset($_POST['enable_debug']) ? '1' : '', + 'slm_woo' => isset($_POST['slm_woo']) ? '1' : '', + 'slm_woo_downloads' => isset($_POST['slm_woo_downloads']) ? '1' : '', + 'slm_stats' => isset($_POST['slm_stats']) ? '1' : '', + 'slm_adminbar' => isset($_POST['slm_adminbar']) ? '1' : '', + 'slm_wpestores' => isset($_POST['slm_wpestores']) ? '1' : '', + 'slm_dl_manager' => isset($_POST['slm_dl_manager']) ? '1' : '', + 'expiration_reminder_text' => sanitize_text_field($_POST['expiration_reminder_text']) + ); + update_option('slm_plugin_options', $options); + + echo '

    Options Updated!

    '; - } + } - $options = get_option('slm_plugin_options'); - $secret_key = $options['lic_creation_secret']; + $options = get_option('slm_plugin_options'); + $secret_key = $options['lic_creation_secret']; - if (empty($secret_key)) { - //$secret_key = md5(uniqid('', true)); - $secret_key = SLM_Utility::create_secret_keys(); - } + if (empty($secret_key)) { + //$secret_key = md5(uniqid('', true)); + $secret_key = SLM_Utility::create_secret_keys(); + } - $secret_verification_key = $options['lic_verification_secret']; - if (empty($secret_verification_key)) { - //$secret_verification_key = md5(uniqid('', true)); - $secret_verification_key = SLM_Utility::create_secret_keys(); - } - $tab = ""; //Initialization value; - if (isset($_REQUEST['tab'])) { - $tab = $_REQUEST['tab']; - } else { - $tab = 'general_settings'; - } + $secret_verification_key = $options['lic_verification_secret']; + if (empty($secret_verification_key)) { + //$secret_verification_key = md5(uniqid('', true)); + $secret_verification_key = SLM_Utility::create_secret_keys(); + } + $tab = ""; //Initialization value; + if (isset($_REQUEST['tab'])) { + $tab = $_REQUEST['tab']; + } else { + $tab = 'general_settings'; + } - ?> + ?>

    Settings - Software License Manager

    @@ -125,19 +125,20 @@ function slm_general_settings() - - - diff --git a/woocommerce/includes/purchase.php b/woocommerce/includes/purchase.php index c5ebd22..f85391f 100755 --- a/woocommerce/includes/purchase.php +++ b/woocommerce/includes/purchase.php @@ -71,11 +71,14 @@ function wc_slm_create_license_keys($order_id) { */ $renewal_period = (int) wc_slm_get_licensing_renewal_period($product_id); - if ($renewal_period == 0) { + if ($renewal_period == 'onetime') { $renewal_period = '0000-00-00'; } + elseif ($renewal_period == 30) { + $renewal_period = date('Y-m-d', strtotime('+' . 31 . ' days')); + } else { - $renewal_period = date('Y-m-d', strtotime('+' . $renewal_period . ' years')); + $renewal_period = date('Y-m-d', strtotime('+' . 1 . ' years')); } //SLM_Helper_Class::write_log('renewal_period -- '.$renewal_period ); diff --git a/woocommerce/includes/slm-meta-boxes.php b/woocommerce/includes/slm-meta-boxes.php index a99cb5c..e675574 100644 --- a/woocommerce/includes/slm-meta-boxes.php +++ b/woocommerce/includes/slm-meta-boxes.php @@ -32,221 +32,243 @@ function add_wc_slm_data_tab_enabled_product_option($product_type_options) function wcpp_custom_style() { ?> - - __('Licensing', 'softwarelicensemanager'), - 'target' => 'wc_slm_meta', - 'class' => array('show_if_slm_license', 'show_if_wc_slm_data_tab_enabled'), + function wc_slm_add_tab($wc_slm_data_tabs) + { + $wc_slm_data_tabs['wc_slm_data_tab'] = array( + 'label' => __('Licensing', 'softwarelicensemanager'), + 'target' => 'wc_slm_meta', + 'class' => array('show_if_slm_license', 'show_if_wc_slm_data_tab_enabled'), + ); + + return $wc_slm_data_tabs; + } + + function wc_slm_data_panel() + { + global $post; + ?> +
    + +
    + '_domain_licenses', + 'label' => __('Domain Licenses', 'softwarelicensemanager'), + 'placeholder' => '0', + 'desc_tip' => 'true', + 'type' => 'number', + 'description' => __('Enter the allowed amount of domains this license can have (websites).', 'softwarelicensemanager') + ) + ); + woocommerce_wp_text_input( + array( + 'id' => '_devices_licenses', + 'label' => __('Devices Licenses', 'softwarelicensemanager'), + 'placeholder' => '0', + 'desc_tip' => 'true', + 'type' => 'number', + 'description' => __('Enter the allowed amount of devices this license can have (computers, mobile, etc).', 'softwarelicensemanager') + ) + ); + woocommerce_wp_select( + array( + 'id' => '_license_type', + 'label' => __('License Type', 'softwarelicensemanager'), + 'placeholder' => 'Select one', + 'desc_tip' => 'true', + 'description' => __('type of license: subscription base or lifetime', 'softwarelicensemanager'), + 'options' => array( + 'none' => __('Select one', 'softwarelicensemanager'), + 'subscription' => __('subscription', 'softwarelicensemanager'), + 'lifetime' => __('lifetime', 'softwarelicensemanager'), + ) + ) ); + // woocommerce_wp_text_input( + // array( + // 'id' => '_license_renewal_period', + // 'label' => __('Renewal period ', 'softwarelicensemanager'), + // 'placeholder' => '0', + // 'desc_tip' => 'true', + // 'description' => __('License renewal period(yearly) , enter 0 for lifetime.', 'softwarelicensemanager') + // ) + // ); - return $wc_slm_data_tabs; - } + woocommerce_wp_select( + array( + 'id' => '_license_renewal_period', + 'label' => __('Renewal period ', 'softwarelicensemanager'), + 'placeholder' => '0', + 'desc_tip' => 'true', + 'description' => __('License renewal period(yearly) , enter 0 for lifetime, 30 for monthly, 365 yearly.', 'softwarelicensemanager'), + 'options' => array( + 'none' => __('Select one', 'softwarelicensemanager'), + '30' => __('monthly', 'softwarelicensemanager'), + '365' => __('yearly', 'softwarelicensemanager'), + 'onetime' => __('one time', 'softwarelicensemanager') + ) + ) + ); - function wc_slm_data_panel() - { - global $post; - ?> -
    - -
    - '_domain_licenses', - 'label' => __('Domain Licenses', 'softwarelicensemanager'), - 'placeholder' => '0', - 'desc_tip' => 'true', - 'type' => 'number', - 'description' => __('Enter the allowed amount of domains this license can have (websites).', 'softwarelicensemanager') - ) - ); - woocommerce_wp_text_input( - array( - 'id' => '_devices_licenses', - 'label' => __('Devices Licenses', 'softwarelicensemanager'), - 'placeholder' => '0', - 'desc_tip' => 'true', - 'type' => 'number', - 'description' => __('Enter the allowed amount of devices this license can have (computers, mobile, etc).', 'softwarelicensemanager') - ) - ); - woocommerce_wp_select( - array( - 'id' => '_license_type', - 'label' => __('License Type', 'softwarelicensemanager'), - 'placeholder' => 'Select one', - 'desc_tip' => 'true', - 'description' => __('type of license: subscription base or lifetime', 'softwarelicensemanager'), - 'options' => array( - 'none' => __('Select one', 'softwarelicensemanager'), - 'subscription' => __('subscription', 'softwarelicensemanager'), - 'lifetime' => __('lifetime', 'softwarelicensemanager'), + woocommerce_wp_text_input( + array( + 'id' => '_license_current_version', + 'label' => __('Current Version', 'softwarelicensemanager'), + 'placeholder' => '0.0.0', + 'desc_tip' => 'true', + 'description' => __('Enter the current version of your application, theme, or plug-in', 'softwarelicensemanager') ) - ) - ); - woocommerce_wp_text_input( - array( - 'id' => '_license_renewal_period', - 'label' => __('Renewal period ', 'softwarelicensemanager'), - 'placeholder' => '0', - 'desc_tip' => 'true', - 'description' => __('License renewal period(yearly) , enter 0 for lifetime.', 'softwarelicensemanager') - ) - ); - - woocommerce_wp_text_input( - array( - 'id' => '_license_current_version', - 'label' => __('Current Version', 'softwarelicensemanager'), - 'placeholder' => '0.0.0', - 'desc_tip' => 'true', - 'description' => __('Enter the current version of your application, theme, or plug-in', 'softwarelicensemanager') - ) - ); - - woocommerce_wp_text_input( - array( - 'id' => '_license_until_version', - 'label' => __('Until Version', 'softwarelicensemanager'), - 'placeholder' => '0.0.0', - 'desc_tip' => 'true', - 'description' => __('Enter the version until support expires.', 'softwarelicensemanager') - ) - ); - ?> -
    -
    '_license_until_version', + 'label' => __('Until Version', 'softwarelicensemanager'), + 'placeholder' => '0.0.0', + 'desc_tip' => 'true', + 'description' => __('Enter the version until support expires.', 'softwarelicensemanager') + ) + ); + ?> +
    +
    product_type = 'slm_license'; - parent::__construct($product); + public function __construct($product) + { + $this->product_type = 'slm_license'; + parent::__construct($product); + } } } - } - function slm_add_product_type($types) - { - $types['slm_license'] = __('License product', 'softwarelicensemanager'); - return $types; - } - function slm_license_admin_custom_js() - { - if ('product' != get_post_type()) : - return; - endif; - ?> - + function slm_add_product_type($types) + { + $types['slm_license'] = __('License product', 'softwarelicensemanager'); + return $types; + } + function slm_license_admin_custom_js() + { + if ('product' != get_post_type()) : + return; + endif; + ?> + Date: Fri, 30 Aug 2019 14:21:28 -0400 Subject: [PATCH 088/293] version incremental to 5.1.2 --- software-license-manager.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/software-license-manager.php b/software-license-manager.php index fd25a33..305d65a 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ Date: Fri, 30 Aug 2019 14:22:38 -0400 Subject: [PATCH 089/293] 5.1.2 change log --- CHANGELOG.md | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b7f486f..1b6ce7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +## [5.1.2](https://github.com/michelve/software-license-manager/compare/5.1.0...5.1.2) - 2019-08-30 + +### Commits + +- feature: renewal period now supports monthly yearly or one time [`09543d4`](https://github.com/michelve/software-license-manager/commit/09543d46bc830fb84853a4b901504ce17fdb0c57) +- restructured and set default values [`0ce21eb`](https://github.com/michelve/software-license-manager/commit/0ce21eb9d5acfc3e2ac6c8f5b4ac0aa9850bc609) +- version incremental to 5.1.2 [`3ff0a30`](https://github.com/michelve/software-license-manager/commit/3ff0a304277ed1126166cdfa756f3c54621b630c) + +## [5.1.0](https://github.com/michelve/software-license-manager/compare/5.0.5...5.1.0) - 2019-08-28 + +### Commits + +- Feature: added custom template for license key product type (for woocommerce) [`33d56e0`](https://github.com/michelve/software-license-manager/commit/33d56e02d8e76991afb5d1b3a2e37453cd31eb64) +- added change-log [`7c2240f`](https://github.com/michelve/software-license-manager/commit/7c2240f4a93194c42dc606c645e44ebcd881b335) +- version 5.1.0 [`ba5f0eb`](https://github.com/michelve/software-license-manager/commit/ba5f0eb69a377ac0cc5f364c1dfc1a90eea2bcde) +- added missing information [`f18d25b`](https://github.com/michelve/software-license-manager/commit/f18d25bf3175a98f4602c432a8e0ff0865d4d547) + ## [5.0.5](https://github.com/michelve/software-license-manager/compare/5.0.3...5.0.5) - 2019-08-24 ### Commits @@ -69,13 +86,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - upgraded jQuery ui version [`27fe73f`](https://github.com/michelve/software-license-manager/commit/27fe73fe555c4a9b5b3044042be7c8b66cd0f2bd) -## [4.10.4](https://github.com/michelve/software-license-manager/compare/5.0.5...4.10.4) - 2019-08-28 - -### Commits - -- Feature: added custom template for license key product type (for woocommerce) [`33d56e0`](https://github.com/michelve/software-license-manager/commit/33d56e02d8e76991afb5d1b3a2e37453cd31eb64) -- added change-log [`7c2240f`](https://github.com/michelve/software-license-manager/commit/7c2240f4a93194c42dc606c645e44ebcd881b335) -- added missing information [`f18d25b`](https://github.com/michelve/software-license-manager/commit/f18d25bf3175a98f4602c432a8e0ff0865d4d547) +## [4.10.4](https://github.com/michelve/software-license-manager/compare/5.1.2...4.10.4) - 2019-08-30 ## [4.10.3](https://github.com/michelve/software-license-manager/compare/3.1.0...4.10.3) - 2019-05-14 From 116db1e5d93c1d58313d3e9cfa6d25ea29c6a899 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Sat, 31 Aug 2019 16:44:37 -0400 Subject: [PATCH 090/293] Added: key will be set to expired when the expiration date has passed --- admin/slm-lic-settings.php | 6 +++--- includes/class-slm-installer.php | 1 + includes/slm-utility.php | 11 +++++++++++ software-license-manager.php | 6 +++--- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/admin/slm-lic-settings.php b/admin/slm-lic-settings.php index fa6412b..0d74963 100755 --- a/admin/slm-lic-settings.php +++ b/admin/slm-lic-settings.php @@ -40,7 +40,7 @@ function slm_general_settings() 'default_max_domains' => trim($_POST["default_max_domains"]), 'default_max_devices' => trim($_POST["default_max_devices"]), 'lic_verification_secret' => trim($_POST["lic_verification_secret"]), - 'enable_auto_key__xpiry' => isset($_POST['enable_auto_key__xpiry']) ? '1' : '', + 'enable_auto_key_expiration' => isset($_POST['enable_auto_key_expiration']) ? '1' : '', 'enable_debug' => isset($_POST['enable_debug']) ? '1' : '', 'slm_woo' => isset($_POST['slm_woo']) ? '1' : '', 'slm_woo_downloads' => isset($_POST['slm_woo_downloads']) ? '1' : '', @@ -156,9 +156,9 @@ function slm_general_settings() - diff --git a/includes/class-slm-installer.php b/includes/class-slm-installer.php index 1da33f8..10c83ce 100755 --- a/includes/class-slm-installer.php +++ b/includes/class-slm-installer.php @@ -117,6 +117,7 @@ 'slm_woo_downloads' => '', 'slm_stats' => '1', 'slm_adminbar' => '1', + 'enable_auto_key_expiration' => '1', 'slm_dl_manager' => '', 'expiration_reminder_text' => 'Your account has reverted to Basic with limited functionality. Renew today to keep using it on all of your devices and enjoy the valuable features. It’s a smart investment'); diff --git a/includes/slm-utility.php b/includes/slm-utility.php index a4adee1..406e341 100755 --- a/includes/slm-utility.php +++ b/includes/slm-utility.php @@ -124,12 +124,23 @@ static function check_for_expired_lic($lic_key=''){ // TODO move to template include SLM_LIB . 'mails/expired.php'; + $id = $expired_licenses['id']; $license_key = $expired_licenses['license_key']; $first_name = $expired_licenses['first_name']; $last_name = $expired_licenses['last_name']; $email = $expired_licenses['email']; $date_expiry = $expired_licenses['date_expiry']; + + if(SLM_Helper_Class::slm_get_option('enable_auto_key_expiration') == 1 ){ + global $wpdb; + $data = array('lic_status' => 'expired'); + $where = array('id' => $id); + $updated = $wpdb->update(SLM_TBL_LICENSE_KEYS , $data, $where); + + self::create_log($license_key, 'set to expired'); + } + //SLM_Helper_Class::write_log('Found: ' . $license_key); self::slm_check_sent_emails($license_key, $email, $subject, $body, $headers); self::create_log($license_key, 'sent expiration email notification'); diff --git a/software-license-manager.php b/software-license-manager.php index 305d65a..2d7d273 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ Date: Sat, 31 Aug 2019 16:45:16 -0400 Subject: [PATCH 091/293] 5.1.3 --- CHANGELOG.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b6ce7c..1651bac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +## [5.1.3](https://github.com/michelve/software-license-manager/compare/5.1.2...5.1.3) - 2019-08-31 + +### Commits + +- 5.1.2 change log [`4b5648e`](https://github.com/michelve/software-license-manager/commit/4b5648ecbfe71d20d632cb4689416a543679f3f5) +- Added: key will be set to expired when the expiration date has passed [`116db1e`](https://github.com/michelve/software-license-manager/commit/116db1e5d93c1d58313d3e9cfa6d25ea29c6a899) + ## [5.1.2](https://github.com/michelve/software-license-manager/compare/5.1.0...5.1.2) - 2019-08-30 ### Commits @@ -86,7 +93,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - upgraded jQuery ui version [`27fe73f`](https://github.com/michelve/software-license-manager/commit/27fe73fe555c4a9b5b3044042be7c8b66cd0f2bd) -## [4.10.4](https://github.com/michelve/software-license-manager/compare/5.1.2...4.10.4) - 2019-08-30 +## [4.10.4](https://github.com/michelve/software-license-manager/compare/5.1.3...4.10.4) - 2019-08-31 ## [4.10.3](https://github.com/michelve/software-license-manager/compare/3.1.0...4.10.3) - 2019-05-14 From 6ce9491fb766013553e89d5e4bf0f8905ab6ce00 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Wed, 4 Sep 2019 11:16:09 -0400 Subject: [PATCH 092/293] added: user is able to choose between days, months and years when creating a product license using woo-commerce --- CHANGELOG.md | 2 +- public/assets/css/slm.css | 5 ++- woocommerce/includes/purchase.php | 28 ++++++++++---- woocommerce/includes/slm-meta-boxes.php | 51 +++++++++++++++---------- 4 files changed, 56 insertions(+), 30 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1651bac..268ff5c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -93,7 +93,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - upgraded jQuery ui version [`27fe73f`](https://github.com/michelve/software-license-manager/commit/27fe73fe555c4a9b5b3044042be7c8b66cd0f2bd) -## [4.10.4](https://github.com/michelve/software-license-manager/compare/5.1.3...4.10.4) - 2019-08-31 +## [4.10.4](https://github.com/michelve/software-license-manager/compare/5.1.3...4.10.4) - 2019-09-03 ## [4.10.3](https://github.com/michelve/software-license-manager/compare/3.1.0...4.10.3) - 2019-05-14 diff --git a/public/assets/css/slm.css b/public/assets/css/slm.css index c32de7e..20afa38 100755 --- a/public/assets/css/slm.css +++ b/public/assets/css/slm.css @@ -486,4 +486,7 @@ span.days-left { .h-spacer { height: 24px; clear: both; -} \ No newline at end of file +} +.show_if_slm_license.slm-display, .slm-display { +display: block !important +} diff --git a/woocommerce/includes/purchase.php b/woocommerce/includes/purchase.php index f85391f..f1e1eae 100755 --- a/woocommerce/includes/purchase.php +++ b/woocommerce/includes/purchase.php @@ -69,18 +69,23 @@ function wc_slm_create_license_keys($order_id) { * Calculate Expire date * @since 1.0.3 */ + $expiration = ''; + $renewal_period = (int) wc_slm_get_licensing_renewal_period($product_id); + $renewal_term = wc_slm_get_licensing_renewal_period_term($product_id); if ($renewal_period == 'onetime') { - $renewal_period = '0000-00-00'; - } - elseif ($renewal_period == 30) { - $renewal_period = date('Y-m-d', strtotime('+' . 31 . ' days')); + $expiration = '0000-00-00'; } + // elseif ($renewal_period == 30) { + // $renewal_period = date('Y-m-d', strtotime('+' . 31 . ' days')); + // } else { - $renewal_period = date('Y-m-d', strtotime('+' . 1 . ' years')); + $expiration = date('Y-m-d', strtotime('+' . $renewal_period .' '. $renewal_term)); } - //SLM_Helper_Class::write_log('renewal_period -- '.$renewal_period ); + // SLM_Helper_Class::write_log('renewal_period -- '.$renewal_period ); + // SLM_Helper_Class::write_log('exp -- ' . $expiration); + // SLM_Helper_Class::write_log('term -- ' . $renewal_term); // Sites allowed get license meta from variation $sites_allowed = wc_slm_get_sites_allowed($product_id); @@ -152,7 +157,7 @@ function wc_slm_create_license_keys($order_id) { $api_params['max_allowed_domains'] = $amount_of_licenses; $api_params['max_allowed_devices'] = $amount_of_licenses_devices; $api_params['date_created'] = date('Y-m-d'); - $api_params['date_expiry'] = $renewal_period; + $api_params['date_expiry'] = $expiration; $api_params['until'] = $_license_until_version; $api_params['current_ver'] = $_license_current_version; $api_params['subscr_id'] = $order->get_customer_id(); @@ -172,7 +177,7 @@ function wc_slm_create_license_keys($order_id) { $licenses[] = array( 'item' => $item_name, 'key' => $license_key, - 'expires' => $renewal_period, + 'expires' => $expiration, 'type' => $license_type, 'status' => 'pending', 'version' => $_license_current_version, @@ -300,6 +305,13 @@ function wc_slm_get_licensing_renewal_period($product_id) { } return $_license_renewal_period; } +//_license_renewal_period_term + +function wc_slm_get_licensing_renewal_period_term($product_id) +{ + $term = get_post_meta($product_id, '_license_renewal_period_term', true); + return $term; +} function wc_slm_is_licensing_enabled($download_id) { $licensing_enabled = absint(get_post_meta($download_id, '_wc_slm_licensing_enabled', true)); diff --git a/woocommerce/includes/slm-meta-boxes.php b/woocommerce/includes/slm-meta-boxes.php index e675574..e4d7376 100644 --- a/woocommerce/includes/slm-meta-boxes.php +++ b/woocommerce/includes/slm-meta-boxes.php @@ -46,6 +46,7 @@ function wcpp_custom_style() // console.log( is_wc_slm_data_tab_enabled ); jQuery('.show_if_wc_slm_data_tab_enabled').hide(); jQuery('.hide_if_wc_slm_data_tab_enabled').hide(); + if (is_wc_slm_data_tab_enabled) { jQuery('.hide_if_wc_slm_data_tab_enabled').hide(); } @@ -62,8 +63,10 @@ function wcpp_custom_style() jQuery('._license_renewal_period_field').hide(); jQuery('#_license_renewal_period').val('onetime'); jQuery('#_license_renewal_period').prop("disabled", true); + jQuery('._license_renewal_period_term_field').hide(); } else { jQuery('._license_renewal_period_field').show(); + jQuery('._license_renewal_period_term_field').show(); jQuery('#_license_renewal_period').val(''); jQuery('#_license_renewal_period').prop("disabled", false); } @@ -126,31 +129,32 @@ function wc_slm_data_panel() ) ) ); - // woocommerce_wp_text_input( - // array( - // 'id' => '_license_renewal_period', - // 'label' => __('Renewal period ', 'softwarelicensemanager'), - // 'placeholder' => '0', - // 'desc_tip' => 'true', - // 'description' => __('License renewal period(yearly) , enter 0 for lifetime.', 'softwarelicensemanager') - // ) - // ); - woocommerce_wp_select( + echo '
    '; + woocommerce_wp_text_input( array( 'id' => '_license_renewal_period', - 'label' => __('Renewal period ', 'softwarelicensemanager'), + 'label' => __('Renewal period lenght ', 'softwarelicensemanager'), 'placeholder' => '0', - 'desc_tip' => 'true', - 'description' => __('License renewal period(yearly) , enter 0 for lifetime, 30 for monthly, 365 yearly.', 'softwarelicensemanager'), + 'description' => __('Amount of days or months or years', 'softwarelicensemanager'), + ) + ); + + woocommerce_wp_select( + array( + 'id' => '_license_renewal_period_term', + 'label' => __('Expiration term', 'softwarelicensemanager'), + 'placeholder' => 'days', + 'description' => __('Choose between days or months or years', 'softwarelicensemanager'), 'options' => array( - 'none' => __('Select one', 'softwarelicensemanager'), - '30' => __('monthly', 'softwarelicensemanager'), - '365' => __('yearly', 'softwarelicensemanager'), - 'onetime' => __('one time', 'softwarelicensemanager') + 'days' => __('Day(s)', 'softwarelicensemanager'), + 'months' => __('Month(s)', 'softwarelicensemanager'), + 'years' => __('Year(s)', 'softwarelicensemanager'), + 'onetime' => __('One Time', 'softwarelicensemanager'), ) ) ); + echo '

    '; woocommerce_wp_text_input( array( @@ -208,6 +212,11 @@ function wc_slm_save_data($post_id) update_post_meta($post_id, '_license_renewal_period', esc_attr($_license_renewal_period)); } + $_license_renewal_period_term = $_POST['_license_renewal_period_term']; + if (!empty($_license_renewal_period_term)) { + update_post_meta($post_id, '_license_renewal_period_term', esc_attr($_license_renewal_period_term)); + } + $_license_current_version = $_POST['_license_current_version']; if (!empty($_license_current_version)) { update_post_meta($post_id, '_license_current_version', esc_attr($_license_current_version)); @@ -249,16 +258,18 @@ function slm_license_admin_custom_js() jQuery('.product_data_tabs .general_tab').addClass('show_if_slm_license').show(); //options_group show_if_downloadable hidden - jQuery('.options_group').addClass('show_if_slm_license').show(); + //jQuery('.options_group').addClass('show_if_slm_license').show(); jQuery("label[for='_virtual']").addClass('show_if_slm_license').show(); jQuery("label[for='_downloadable']").addClass('show_if_slm_license').show(); - jQuery(".show_if_external").addClass('hide_if_slm_license').hide(); - jQuery('#general_product_data .pricing').addClass('show_if_slm_license').show(); + jQuery('#general_product_data .pricing').addClass('show_if_slm_license slm-display').show(); + jQuery("#_virtual").prop("checked", true); + jQuery("#_downloadable").prop("checked", true); + //for Inventory tab jQuery('.inventory_options').addClass('show_if_slm_license').show(); jQuery('#inventory_product_data ._manage_stock_field').addClass('show_if_slm_license').show(); From ca2a08dc607d8e4ef4c42c904d6bee993a20754a Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Wed, 4 Sep 2019 11:17:18 -0400 Subject: [PATCH 093/293] 5.1.4 release --- software-license-manager.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/software-license-manager.php b/software-license-manager.php index 2d7d273..8722b96 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ Date: Wed, 6 Nov 2019 19:43:12 -0500 Subject: [PATCH 094/293] Fixed woocommerce dependency error Fix an issue that prevented the plugin from working when woocommerce plugin was not active --- includes/slm-plugin-core.php | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/includes/slm-plugin-core.php b/includes/slm-plugin-core.php index 8e9f67c..66cb781 100755 --- a/includes/slm-plugin-core.php +++ b/includes/slm-plugin-core.php @@ -95,12 +95,22 @@ function slm_get_license($lic_key_prefix = ''){ // Third Party Support if (null !== SLM_Helper_Class::slm_get_option('slm_woo') && SLM_Helper_Class::slm_get_option('slm_woo') == 1) { - // WordPress Plugin :: wc-software-license-manager - require_once(SLM_PUBLIC . 'slm-add-menu-frontend.php'); - require_once( SLM_WOO . 'includes/wc-slm.php'); - - // support for meta boxes - require_once( SLM_WOO . 'includes/slm-meta-boxes.php'); + /** + * Check if WooCommerce is activated + */ + if ( ! function_exists( 'is_woocommerce_activated' ) ) { + function is_woocommerce_activated() { + if ( class_exists( 'woocommerce' ) ) { + + // WordPress Plugin :: wc-software-license-manager + require_once(SLM_PUBLIC . 'slm-add-menu-frontend.php'); + require_once( SLM_WOO . 'includes/wc-slm.php'); + + // support for meta boxes + require_once( SLM_WOO . 'includes/slm-meta-boxes.php'); + } + } + } } From b512e57a13f432c0b09cab0ba22ab970c8745706 Mon Sep 17 00:00:00 2001 From: Michel Date: Wed, 6 Nov 2019 19:44:37 -0500 Subject: [PATCH 095/293] Fixed woocommerce dependency error Fix an issue that prevented the plugin from working when woocommerce plugin was not active --- software-license-manager.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/software-license-manager.php b/software-license-manager.php index 8722b96..49557fc 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ Date: Thu, 7 Nov 2019 13:27:00 -0500 Subject: [PATCH 096/293] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 80c73a5..b9bf1ef 100755 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Welcome to software license manager 👋 -![Version](https://img.shields.io/badge/version-5.0.3-blue.svg?cacheSeconds=2592000) +![Version](https://img.shields.io/badge/version-5.1.5-blue.svg?cacheSeconds=2592000) [![Documentation](https://img.shields.io/badge/documentation-yes-brightgreen.svg)](https://documenter.getpostman.com/view/307939/6tjU1FL?version=latest) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/michelve/software-license-manager/blob/master/LICENSE.md) From 9633c644dca41f52e84430e8454a68ffb8b9933a Mon Sep 17 00:00:00 2001 From: Michel Date: Thu, 7 Nov 2019 13:30:31 -0500 Subject: [PATCH 097/293] Set theme jekyll-theme-cayman --- _config.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 _config.yml diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..c419263 --- /dev/null +++ b/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-cayman \ No newline at end of file From de6ec94a153a41ecda48af901389611e8ffc1428 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Sat, 16 Nov 2019 17:18:59 -0500 Subject: [PATCH 098/293] Fixes an issue where license type will not shown when creating a license product in woocommerce --- includes/slm-plugin-core.php | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/includes/slm-plugin-core.php b/includes/slm-plugin-core.php index 66cb781..c8e161f 100755 --- a/includes/slm-plugin-core.php +++ b/includes/slm-plugin-core.php @@ -18,6 +18,8 @@ function slm_load_language(){ add_action('init', 'slm_load_language'); //Includes - utilities and cron jobs +include_once(ABSPATH.'wp-admin/includes/plugin.php'); + require_once(SLM_LIB . 'slm-utility.php'); require_once( SLM_CRONS . 'slm-tasks.php'); @@ -98,22 +100,21 @@ function slm_get_license($lic_key_prefix = ''){ /** * Check if WooCommerce is activated */ - if ( ! function_exists( 'is_woocommerce_activated' ) ) { - function is_woocommerce_activated() { - if ( class_exists( 'woocommerce' ) ) { + // WordPress Plugin :: wc-software-license-manager - // WordPress Plugin :: wc-software-license-manager - require_once(SLM_PUBLIC . 'slm-add-menu-frontend.php'); - require_once( SLM_WOO . 'includes/wc-slm.php'); + if( is_plugin_active( 'woocommerce/woocommerce.php' ) ) { + require_once(SLM_PUBLIC . 'slm-add-menu-frontend.php'); + require_once( SLM_WOO . 'includes/wc-slm.php'); - // support for meta boxes - require_once( SLM_WOO . 'includes/slm-meta-boxes.php'); - } - } + // support for meta boxes + require_once( SLM_WOO . 'includes/slm-meta-boxes.php'); } + } + + if (null !== SLM_Helper_Class::slm_get_option('slm_wpestores') && SLM_Helper_Class::slm_get_option('slm_wpestores') == 1) { // wpestores PLugin Integration require_once( SLM_ADMIN . 'includes/wpestores/slm-wpestores.php'); From 28a1828598dd34f3423ad787ad49d5b13b67fde7 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Sat, 16 Nov 2019 17:19:33 -0500 Subject: [PATCH 099/293] Fixes an issue where license type will not shown when creating a license product in woocommerce --- software-license-manager.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/software-license-manager.php b/software-license-manager.php index 49557fc..bb04b61 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ Date: Sat, 14 Dec 2019 16:04:18 -0500 Subject: [PATCH 100/293] Set theme jekyll-theme-minimal --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index c419263..2f7efbe 100644 --- a/_config.yml +++ b/_config.yml @@ -1 +1 @@ -theme: jekyll-theme-cayman \ No newline at end of file +theme: jekyll-theme-minimal \ No newline at end of file From 22a87ea26de953f66a71b6f7fa283247913d4cf9 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 19 Dec 2019 13:20:20 -0500 Subject: [PATCH 101/293] Fix an issue that prevented the admin dashboard from opening when woo-commerce was not installed or active --- .gitignore | 1 + admin/slm-admin-init.php | 1 - includes/slm-scripts.php | 24 ++++++++++++++---------- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 8ee8f54..43af773 100755 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ sftp-config_.json sftp-config.json sftp-config-alt.json Icon +package-lock.json .Icon \ No newline at end of file diff --git a/admin/slm-admin-init.php b/admin/slm-admin-init.php index 69f7b9b..2b8d0d0 100755 --- a/admin/slm-admin-init.php +++ b/admin/slm-admin-init.php @@ -4,7 +4,6 @@ die; } - require_once SLM_ADMIN . 'slm-manage-licenses.php'; require_once SLM_ADMIN . 'slm-add-licenses.php'; require_once SLM_ADMIN . 'slm-lic-settings.php'; diff --git a/includes/slm-scripts.php b/includes/slm-scripts.php index f9b24b0..ff99f41 100644 --- a/includes/slm-scripts.php +++ b/includes/slm-scripts.php @@ -16,9 +16,13 @@ function slm_frontend_assets() { /** * Check if WooCommerce is activated */ - if (!function_exists('is_woocommerce_activated') && is_account_page()) { - wp_enqueue_style('bootstrapcdn-slm', 'https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css'); - wp_enqueue_script( 'bootstrapcdn-slm-js', 'https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js', array('jquery'), '4.1.3', true ); + if (is_plugin_active('woocommerce/woocommerce.php')) { + + if(is_account_page()) { + wp_enqueue_style('bootstrapcdn-slm', 'https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css'); + wp_enqueue_script('bootstrapcdn-slm-js', 'https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js', array('jquery'), '4.1.3', true); + } + } // custom css wp_enqueue_style('softwarelicensemanager', SLM_ASSETS_URL .'css/slm-front-end.css'); @@ -28,17 +32,17 @@ function slm_frontend_assets() { add_action('admin_enqueue_scripts', 'slm_admin_assets'); + /** * Check if WooCommerce is activated */ -if (!function_exists('is_woocommerce_activated')) { +if (is_plugin_active('woocommerce/woocommerce.php')) { add_action('template_redirect', 'slm_get_page'); -} -function slm_get_page(){ - if (is_page('my-account')) { - add_action('wp_enqueue_scripts', 'slm_js_license'); + function slm_get_page() + { + if (is_page('my-account')) { + add_action('wp_enqueue_scripts', 'slm_js_license'); + } } } - - From 69c37ce9433cb4da54356f8b559fc8bc1928ac70 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 19 Dec 2019 13:21:20 -0500 Subject: [PATCH 102/293] Fix an issue that prevented the admin dashboard from opening when woo-commerce was not installed or active --- includes/slm-plugin-core.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/includes/slm-plugin-core.php b/includes/slm-plugin-core.php index c8e161f..6103156 100755 --- a/includes/slm-plugin-core.php +++ b/includes/slm-plugin-core.php @@ -96,12 +96,10 @@ function slm_get_license($lic_key_prefix = ''){ // Third Party Support if (null !== SLM_Helper_Class::slm_get_option('slm_woo') && SLM_Helper_Class::slm_get_option('slm_woo') == 1) { - /** * Check if WooCommerce is activated */ // WordPress Plugin :: wc-software-license-manager - if( is_plugin_active( 'woocommerce/woocommerce.php' ) ) { require_once(SLM_PUBLIC . 'slm-add-menu-frontend.php'); require_once( SLM_WOO . 'includes/wc-slm.php'); @@ -109,12 +107,9 @@ function slm_get_license($lic_key_prefix = ''){ // support for meta boxes require_once( SLM_WOO . 'includes/slm-meta-boxes.php'); } - - } - if (null !== SLM_Helper_Class::slm_get_option('slm_wpestores') && SLM_Helper_Class::slm_get_option('slm_wpestores') == 1) { // wpestores PLugin Integration require_once( SLM_ADMIN . 'includes/wpestores/slm-wpestores.php'); From b10bd83db7a5f341ee8e6603a53ecfed0003c1c0 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 19 Dec 2019 13:22:31 -0500 Subject: [PATCH 103/293] Fix an issue that prevented the admin dashboard from opening when woo-commerce was not installed or active --- includes/slm-plugin-core.php | 1 + 1 file changed, 1 insertion(+) diff --git a/includes/slm-plugin-core.php b/includes/slm-plugin-core.php index 6103156..fc20f7d 100755 --- a/includes/slm-plugin-core.php +++ b/includes/slm-plugin-core.php @@ -73,6 +73,7 @@ function activate_software_license_manager() * The code that runs during plugin deactivation. * This action is documented in includes/class-software-license-manager-deactivator.php */ + function deactivate_software_license_manager() { require_once SLM_LIB . 'class-slm-deactivator.php'; From f48288ff57ac60362ac566c0ecf92ed578709404 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 19 Dec 2019 13:23:24 -0500 Subject: [PATCH 104/293] Fix an issue that prevented the admin dashboard from opening when woo-commerce was not installed or active --- includes/slm-plugin-core.php | 1 + software-license-manager.php | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/includes/slm-plugin-core.php b/includes/slm-plugin-core.php index fc20f7d..d21c447 100755 --- a/includes/slm-plugin-core.php +++ b/includes/slm-plugin-core.php @@ -96,6 +96,7 @@ function slm_get_license($lic_key_prefix = ''){ // TODO check for optional plugins // Third Party Support + if (null !== SLM_Helper_Class::slm_get_option('slm_woo') && SLM_Helper_Class::slm_get_option('slm_woo') == 1) { /** * Check if WooCommerce is activated diff --git a/software-license-manager.php b/software-license-manager.php index bb04b61..0e90e5b 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ Date: Thu, 19 Dec 2019 13:26:24 -0500 Subject: [PATCH 105/293] Updated change-log --- CHANGELOG.md | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 268ff5c..ac25115 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,39 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +## [5.1.7](https://github.com/michelve/software-license-manager/compare/5.1.6...5.1.7) - 2019-12-19 + +### Commits + +- Fix an issue that prevented the admin dashboard from opening when woo-commerce was not installed or active [`22a87ea`](https://github.com/michelve/software-license-manager/commit/22a87ea26de953f66a71b6f7fa283247913d4cf9) +- Fix an issue that prevented the admin dashboard from opening when woo-commerce was not installed or active [`f48288f`](https://github.com/michelve/software-license-manager/commit/f48288ff57ac60362ac566c0ecf92ed578709404) +- Fix an issue that prevented the admin dashboard from opening when woo-commerce was not installed or active [`69c37ce`](https://github.com/michelve/software-license-manager/commit/69c37ce9433cb4da54356f8b559fc8bc1928ac70) +- Set theme jekyll-theme-minimal [`a38a7e5`](https://github.com/michelve/software-license-manager/commit/a38a7e50f6a2ecd544f9d0ec80b6c9561247d021) +- Fix an issue that prevented the admin dashboard from opening when woo-commerce was not installed or active [`b10bd83`](https://github.com/michelve/software-license-manager/commit/b10bd83db7a5f341ee8e6603a53ecfed0003c1c0) + +## [5.1.6](https://github.com/michelve/software-license-manager/compare/5.1.5...5.1.6) - 2019-11-16 + +### Commits + +- Fixes an issue where license type will not shown when creating a license product in woocommerce [`de6ec94`](https://github.com/michelve/software-license-manager/commit/de6ec94a153a41ecda48af901389611e8ffc1428) +- Fixes an issue where license type will not shown when creating a license product in woocommerce [`28a1828`](https://github.com/michelve/software-license-manager/commit/28a1828598dd34f3423ad787ad49d5b13b67fde7) +- Update README.md [`5b8b6d4`](https://github.com/michelve/software-license-manager/commit/5b8b6d420461d72eecfad2d9ec63b699e14e23dd) +- Set theme jekyll-theme-cayman [`9633c64`](https://github.com/michelve/software-license-manager/commit/9633c644dca41f52e84430e8454a68ffb8b9933a) + +## [5.1.5](https://github.com/michelve/software-license-manager/compare/5.1.4...5.1.5) - 2019-11-07 + +### Commits + +- Fixed woocommerce dependency error [`bfb751f`](https://github.com/michelve/software-license-manager/commit/bfb751fce586eb3ae57f16990ca26375d23d9c4a) +- Fixed woocommerce dependency error [`b512e57`](https://github.com/michelve/software-license-manager/commit/b512e57a13f432c0b09cab0ba22ab970c8745706) + +## [5.1.4](https://github.com/michelve/software-license-manager/compare/5.1.3...5.1.4) - 2019-09-04 + +### Commits + +- added: user is able to choose between days, months and years when creating a product license using woo-commerce [`6ce9491`](https://github.com/michelve/software-license-manager/commit/6ce9491fb766013553e89d5e4bf0f8905ab6ce00) +- 5.1.4 release [`ca2a08d`](https://github.com/michelve/software-license-manager/commit/ca2a08dc607d8e4ef4c42c904d6bee993a20754a) + ## [5.1.3](https://github.com/michelve/software-license-manager/compare/5.1.2...5.1.3) - 2019-08-31 ### Commits @@ -93,7 +126,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - upgraded jQuery ui version [`27fe73f`](https://github.com/michelve/software-license-manager/commit/27fe73fe555c4a9b5b3044042be7c8b66cd0f2bd) -## [4.10.4](https://github.com/michelve/software-license-manager/compare/5.1.3...4.10.4) - 2019-09-03 +## [4.10.4](https://github.com/michelve/software-license-manager/compare/5.1.7...4.10.4) - 2019-12-19 ## [4.10.3](https://github.com/michelve/software-license-manager/compare/3.1.0...4.10.3) - 2019-05-14 From 3101e3431fafc9ce80ecc79f05a7c254922c60a9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 28 Dec 2019 15:11:44 +0000 Subject: [PATCH 106/293] Bump handlebars from 4.1.2 to 4.5.3 Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.1.2 to 4.5.3. - [Release notes](https://github.com/wycats/handlebars.js/releases) - [Changelog](https://github.com/wycats/handlebars.js/blob/master/release-notes.md) - [Commits](https://github.com/wycats/handlebars.js/compare/v4.1.2...v4.5.3) Signed-off-by: dependabot[bot] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index f71b359..83cfcd9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,9 +33,9 @@ "dev": true }, "handlebars": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz", - "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.5.3.tgz", + "integrity": "sha512-3yPecJoJHK/4c6aZhSvxOyG4vJKDshV36VHp0iVCDVh7o9w2vwi3NSnL2MMPj3YdduqaBcu7cGbggJQM0br9xA==", "dev": true, "requires": { "neo-async": "^2.6.0", From 60f94459b2790d11b849cef0398c4e2a6313139b Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Mon, 20 Jan 2020 14:39:19 -0500 Subject: [PATCH 107/293] 5.1.8 -------- Updated license overview page Fixed minor php warnings Added about page Added license key to file name when exporting a license key --- admin/slm-add-licenses.php | 54 ++++++++++++++++++------------- admin/slm-admin-init.php | 1 + admin/slm-list-licenses-class.php | 4 ++- admin/slm_about_menu.php | 54 +++++++++++++++++++++++++++++++ public/assets/css/slm.css | 16 ++++----- public/assets/js/slm.js | 14 ++------ software-license-manager.php | 4 +-- 7 files changed, 103 insertions(+), 44 deletions(-) create mode 100644 admin/slm_about_menu.php diff --git a/admin/slm-add-licenses.php b/admin/slm-add-licenses.php index f5ddf4f..5f05425 100755 --- a/admin/slm-add-licenses.php +++ b/admin/slm-add-licenses.php @@ -29,6 +29,7 @@ function slm_add_licenses_menu() $reg_domains = ''; $reg_devices = ''; $class_hide = ''; + $activated_date = ''; $current_date = (date("Y-m-d")); $current_date_plus_1year = date('Y-m-d', strtotime('+1 year')); @@ -404,6 +405,12 @@ function slm_add_licenses_menu() $sql_prep = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key_id = %s", $id); $reg_domains = $wpdb->get_results($sql_prep, OBJECT); } + + + + if (!isset($_GET["edit_record"])) : ?> + + if (count($reg_domains) > 0) : ?>
    @@ -423,6 +430,9 @@ function slm_add_licenses_menu() Not registered yet'; ?> + + +
    @@ -555,33 +565,33 @@ function slm_add_licenses_menu()
    + if (isset($_GET['edit_record']) && !empty($_GET['edit_record'])) : ?>
    'slm_check', - 'secret_key' => SLM_Helper_Class::slm_get_option('lic_verification_secret'), - 'license_key' => $license_key, - ); - // Send query to the license manager server - $response = wp_remote_get(add_query_arg($api_params, SLM_SITE_URL), array('timeout' => 20, 'sslverify' => false)); - - $data = $response['body']; - - // parsing json - $arr = json_decode($data, true); - - // removing the value - unset($arr['result']); - unset($arr['code']); - unset($arr['message']); - - // and back to json - $response = utf8_encode(json_encode($arr, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE)); - echo '
    ' . $response . '
    '; + $api_params = array( + 'slm_action' => 'slm_check', + 'secret_key' => SLM_Helper_Class::slm_get_option('lic_verification_secret'), + 'license_key' => $license_key, + ); + // Send query to the license manager server + $response = wp_remote_get(add_query_arg($api_params, SLM_SITE_URL), array('timeout' => 20, 'sslverify' => false)); + + $data = $response['body']; + + // parsing json + $arr = json_decode($data, true); + + // removing the value + unset($arr['result']); + unset($arr['code']); + unset($arr['message']); + + // and back to json + $response = utf8_encode(json_encode($arr, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE)); + echo '
    ' . $response . '
    '; ?> Export License diff --git a/admin/slm-admin-init.php b/admin/slm-admin-init.php index 2b8d0d0..b604d63 100755 --- a/admin/slm-admin-init.php +++ b/admin/slm-admin-init.php @@ -9,6 +9,7 @@ require_once SLM_ADMIN . 'slm-lic-settings.php'; require_once SLM_ADMIN . 'slm-admin-functions.php'; require_once SLM_ADMIN . 'slm-integration-help-page.php'; +require_once SLM_ADMIN . 'slm_about_menu.php'; require_once SLM_ADMIN . 'slm-subscribers.php'; require_once SLM_ADMIN . 'slm-list-licenses-class.php'; require_once SLM_ADMIN . 'slm-dashboard-widgets.php'; \ No newline at end of file diff --git a/admin/slm-list-licenses-class.php b/admin/slm-list-licenses-class.php index 510a40a..744c8a3 100755 --- a/admin/slm-list-licenses-class.php +++ b/admin/slm-list-licenses-class.php @@ -388,8 +388,10 @@ public function slm_add_admin_menu() add_submenu_page(SLM_MAIN_MENU_SLUG, "Tools", "Tools", SLM_MANAGEMENT_PERMISSION, 'slm_admin_tools', "slm_admin_tools_menu"); add_submenu_page(SLM_MAIN_MENU_SLUG, "Settings", "Settings", SLM_MANAGEMENT_PERMISSION, 'slm_settings', "slm_settings_menu"); add_submenu_page(SLM_MAIN_MENU_SLUG, "Help", "Help", SLM_MANAGEMENT_PERMISSION, 'slm_help', "slm_integration_help_menu"); - add_action("load-" . $hook, [$this, 'screen_option']); + add_submenu_page(SLM_MAIN_MENU_SLUG, "About", "About", SLM_MANAGEMENT_PERMISSION, 'slm_about', "slm_about_menu"); + + add_action("load-" . $hook, [$this, 'screen_option']); } diff --git a/admin/slm_about_menu.php b/admin/slm_about_menu.php new file mode 100644 index 0000000..5c28f14 --- /dev/null +++ b/admin/slm_about_menu.php @@ -0,0 +1,54 @@ +'; + echo '

    slm logo SLM - About

    '; + echo '
    '; + + $slm_options = get_option('slm_plugin_options'); + + ?> +
    + +
    +

    +
    +
    +

    Software license management solution for your web applications (WordPress plugins, Themes, Applications, PHP based membership script etc.). Supports WooCommerce.


    + +
    -

    +
    +

    +

    +

    value="1" /> + value="1" /> -

    +

    + + + + + + + + + + + + + + + + + + +
    AuthorsMichel Velis and tipsandtricks
    Help and SupportSubmmit a request
    API demosPostman demos
    + + +
    +
    + +
    '; + echo '
    '; +} diff --git a/public/assets/css/slm.css b/public/assets/css/slm.css index 20afa38..a6003ef 100755 --- a/public/assets/css/slm.css +++ b/public/assets/css/slm.css @@ -422,14 +422,14 @@ span.days-left { } .slm_overview_stats .stats{ background: #fff; - padding: 24px 32px; - border-radius: 2px; + padding: 7px 9px; + border-radius: 6px; -webkit-box-shadow: 0px 0px 16px 1px rgba(0,0,0,0.2); -moz-box-shadow: 0px 0px 16px 1px rgba(0,0,0,0.2); box-shadow: 0px 0px 16px 1px rgba(0,0,0,0.2); max-width: 33%; float: left; - margin: 8px + margin: 4px; } .slm_overview_stats li:first-child { margin-left: 0 !important @@ -439,7 +439,7 @@ span.days-left { } */ .slm_overview_stats .stats .info { float: left; - text-align: right; + text-align: left; } .slm_overview_stats .stats .icon { float: left; @@ -447,18 +447,18 @@ span.days-left { } .slm_overview_stats .stats .icon span { font-size: 24px; - color: #72777c; + color: #a4bac5; } .slm_overview_stats .stats span { display: block; clear: both; - padding: 16px 0 0 0; + padding: 4px 0 0 0; } .slm_overview_stats .stats span.badge { - font-size: 32px; + font-size: 25px; display: block; width: 100%; - padding: 0 + padding: 4px 0 0 0; } #wpadminbar #wp-admin-bar-slm-menu .ab-icon:before { diff --git a/public/assets/js/slm.js b/public/assets/js/slm.js index af65ea3..66ebe1b 100644 --- a/public/assets/js/slm.js +++ b/public/assets/js/slm.js @@ -8,19 +8,11 @@ function download(filename, text) { document.body.removeChild(element); } -// document.getElementById("btn-lic-export").addEventListener("click", function () { -// // Generate download of hello.txt file with some content -// var license_data = document.getElementById("lic-json-data").textContent; -// var text = license_data; -// var filename = "license.json"; - -// download(filename, text); -// }, false); - - function slm_exportlicense(){ + var license_expt_id = document.getElementById("lic-json-data"); + var filelicname = license_expt_id.getAttribute('data-lickey'); var license_data = document.getElementById("lic-json-data").textContent; var text = license_data; - var filename = "license.json"; + var filename = "license-" + filelicname + ".json"; download(filename, text); } \ No newline at end of file diff --git a/software-license-manager.php b/software-license-manager.php index 0e90e5b..588d563 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ Date: Mon, 20 Jan 2020 14:46:36 -0500 Subject: [PATCH 108/293] updated readme and change-log files --- CHANGELOG.md | 14 +++++++++++--- README.md | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac25115..d776d5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +## [5.1.8](https://github.com/michelve/software-license-manager/compare/5.1.7...5.1.8) - 2020-01-20 + +### Merged + +- Bump handlebars from 4.1.2 to 4.5.3 [`#12`](https://github.com/michelve/software-license-manager/pull/12) + +### Commits + +- Updated change-log [`19a2c18`](https://github.com/michelve/software-license-manager/commit/19a2c18ae3cdde49222fe49297a702d786516c05) + ## [5.1.7](https://github.com/michelve/software-license-manager/compare/5.1.6...5.1.7) - 2019-12-19 ### Commits @@ -126,8 +136,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - upgraded jQuery ui version [`27fe73f`](https://github.com/michelve/software-license-manager/commit/27fe73fe555c4a9b5b3044042be7c8b66cd0f2bd) -## [4.10.4](https://github.com/michelve/software-license-manager/compare/5.1.7...4.10.4) - 2019-12-19 - ## [4.10.3](https://github.com/michelve/software-license-manager/compare/3.1.0...4.10.3) - 2019-05-14 ### Commits @@ -171,7 +179,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Updated Read me file [`fb1bf07`](https://github.com/michelve/software-license-manager/commit/fb1bf0763af6f6feed425db1affcf157162ca85e) - Update slm-api-listener.php [`9737d0e`](https://github.com/michelve/software-license-manager/commit/9737d0ed46fc66b96b933f0fbf87b77d95a3384b) - Update TODO.md [`a85b107`](https://github.com/michelve/software-license-manager/commit/a85b107e51824e89ae950b8ab1c2f53b7ddda32f) -- added support for $this->update_api_listener(); and $this->deletion_api_listener(); [`fb06711`](https://github.com/michelve/software-license-manager/commit/fb06711cf17a74ddd4ba3b8296bdf1f2d1cd73b8) +- added support for $this->update_api_listener(); and $this->deletion_api_listener(); [`fb06711`](https://github.com/michelve/software-license-manager/commit/fb06711cf17a74ddd4ba3b8296bdf1f2d1cd73b8) - fixed typo [`1a8e999`](https://github.com/michelve/software-license-manager/commit/1a8e999e711749d1a51fda6296f2f707ab5d7469) - fixed typo [`8013168`](https://github.com/michelve/software-license-manager/commit/8013168a071e1d71c1b97dae1881de9deaf3ad79) - updated features list [`3a8c797`](https://github.com/michelve/software-license-manager/commit/3a8c7979530b614828943f8d2b197caffec97d02) diff --git a/README.md b/README.md index b9bf1ef..9960cb0 100755 --- a/README.md +++ b/README.md @@ -92,6 +92,6 @@ Changelog: [View changelog](https://github.com/michelve/software-license-manager ## 📝 License -Copyright © 2019 [Michel Velis and Tips and Tricks HQ](https://github.com/michelve). +Copyright © 2020 [Michel Velis and Tips and Tricks HQ](https://github.com/michelve). This project is [MIT](https://github.com/michelve/software-license-manager/blob/master/LICENSE.md) licensed. From ba86897d3b1d044ae11d4de7c839d3a6652eda5c Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Mon, 20 Jan 2020 14:46:36 -0500 Subject: [PATCH 109/293] updated readme and change-log files --- CHANGELOG.md | 14 +++++++++++--- README.md | 5 ++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac25115..d776d5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +## [5.1.8](https://github.com/michelve/software-license-manager/compare/5.1.7...5.1.8) - 2020-01-20 + +### Merged + +- Bump handlebars from 4.1.2 to 4.5.3 [`#12`](https://github.com/michelve/software-license-manager/pull/12) + +### Commits + +- Updated change-log [`19a2c18`](https://github.com/michelve/software-license-manager/commit/19a2c18ae3cdde49222fe49297a702d786516c05) + ## [5.1.7](https://github.com/michelve/software-license-manager/compare/5.1.6...5.1.7) - 2019-12-19 ### Commits @@ -126,8 +136,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - upgraded jQuery ui version [`27fe73f`](https://github.com/michelve/software-license-manager/commit/27fe73fe555c4a9b5b3044042be7c8b66cd0f2bd) -## [4.10.4](https://github.com/michelve/software-license-manager/compare/5.1.7...4.10.4) - 2019-12-19 - ## [4.10.3](https://github.com/michelve/software-license-manager/compare/3.1.0...4.10.3) - 2019-05-14 ### Commits @@ -171,7 +179,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Updated Read me file [`fb1bf07`](https://github.com/michelve/software-license-manager/commit/fb1bf0763af6f6feed425db1affcf157162ca85e) - Update slm-api-listener.php [`9737d0e`](https://github.com/michelve/software-license-manager/commit/9737d0ed46fc66b96b933f0fbf87b77d95a3384b) - Update TODO.md [`a85b107`](https://github.com/michelve/software-license-manager/commit/a85b107e51824e89ae950b8ab1c2f53b7ddda32f) -- added support for $this->update_api_listener(); and $this->deletion_api_listener(); [`fb06711`](https://github.com/michelve/software-license-manager/commit/fb06711cf17a74ddd4ba3b8296bdf1f2d1cd73b8) +- added support for $this->update_api_listener(); and $this->deletion_api_listener(); [`fb06711`](https://github.com/michelve/software-license-manager/commit/fb06711cf17a74ddd4ba3b8296bdf1f2d1cd73b8) - fixed typo [`1a8e999`](https://github.com/michelve/software-license-manager/commit/1a8e999e711749d1a51fda6296f2f707ab5d7469) - fixed typo [`8013168`](https://github.com/michelve/software-license-manager/commit/8013168a071e1d71c1b97dae1881de9deaf3ad79) - updated features list [`3a8c797`](https://github.com/michelve/software-license-manager/commit/3a8c7979530b614828943f8d2b197caffec97d02) diff --git a/README.md b/README.md index b9bf1ef..3aeec0f 100755 --- a/README.md +++ b/README.md @@ -59,6 +59,9 @@ Give a ⭐️ if this project helped you! - Language support (spanish and english) - Woocommerce product type - Pass license info to woocommerce order +- Expiration reminder (Emails the user when the license expires) +- User can manager and view licenses from my account's page + ## ✅ Compatibility @@ -92,6 +95,6 @@ Changelog: [View changelog](https://github.com/michelve/software-license-manager ## 📝 License -Copyright © 2019 [Michel Velis and Tips and Tricks HQ](https://github.com/michelve). +Copyright © 2020 [Michel Velis and Tips and Tricks HQ](https://github.com/michelve). This project is [MIT](https://github.com/michelve/software-license-manager/blob/master/LICENSE.md) licensed. From ddb6e21bb53a0fc8822d185dab12f310f055a940 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 27 Feb 2020 18:57:27 -0500 Subject: [PATCH 110/293] - Users with blank $wc_billing_email can see all other licenses --- public/slm-add-menu-frontend.php | 10 +++++++++- software-license-manager.php | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/public/slm-add-menu-frontend.php b/public/slm-add-menu-frontend.php index 82a1918..a2de8b2 100755 --- a/public/slm-add-menu-frontend.php +++ b/public/slm-add-menu-frontend.php @@ -76,9 +76,17 @@ public function endpoint_content() global $wpdb; $class_ = 0; $class_id_ = 0; + $get_user_info = $get_user_email = ''; - // get user email + // get user billing email $wc_billing_email = get_user_meta(get_current_user_id(), 'billing_email', true); + + // if wp billing is empty + if ($wc_billing_email == '') { + $get_user_info = get_userdata(get_current_user_id()); + $wc_billing_email = $get_user_info->user_email; + } + $result = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "lic_key_tbl WHERE email LIKE '%" . SLM_Woo_Account::getActiveUser('email') . "%' OR email LIKE '%" . $wc_billing_email . "%' ORDER BY `email` DESC LIMIT 0,1000"); $result_array = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "lic_key_tbl WHERE email LIKE '%" . SLM_Woo_Account::getActiveUser('email') . "%' OR email LIKE '%" . $wc_billing_email . "%' ORDER BY `email` DESC LIMIT 0,1000", ARRAY_A); diff --git a/software-license-manager.php b/software-license-manager.php index 588d563..33f2b30 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ Date: Tue, 17 Mar 2020 09:56:06 -0400 Subject: [PATCH 111/293] 5.2.0 - License overview was not displaying list of activated domains --- README.md | 2 +- admin/slm-add-licenses.php | 7 +- admin/slm-dashboard-widgets.php | 5 +- admin/slm-integration-help-page.php | 137 ++++++++++++++++++++++------ includes/slm-api-listener.php | 23 ++++- public/assets/css/slm.css | 8 +- software-license-manager.php | 12 +-- uninstall.php | 24 ++--- woocommerce/includes/purchase.php | 19 ++-- 9 files changed, 170 insertions(+), 67 deletions(-) diff --git a/README.md b/README.md index 3aeec0f..3147e88 100755 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Welcome to software license manager 👋 -![Version](https://img.shields.io/badge/version-5.1.5-blue.svg?cacheSeconds=2592000) +![Version](https://img.shields.io/badge/version-5.2.0-blue.svg?cacheSeconds=2592000) [![Documentation](https://img.shields.io/badge/documentation-yes-brightgreen.svg)](https://documenter.getpostman.com/view/307939/6tjU1FL?version=latest) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/michelve/software-license-manager/blob/master/LICENSE.md) diff --git a/admin/slm-add-licenses.php b/admin/slm-add-licenses.php index 5f05425..8323272 100755 --- a/admin/slm-add-licenses.php +++ b/admin/slm-add-licenses.php @@ -407,10 +407,6 @@ function slm_add_licenses_menu() } - - if (!isset($_GET["edit_record"])) : ?> - - if (count($reg_domains) > 0) : ?>
    @@ -432,7 +428,6 @@ function slm_add_licenses_menu() -
    @@ -466,6 +461,8 @@ function slm_add_licenses_menu() Not registered yet
    '; ?> + +
    diff --git a/admin/slm-dashboard-widgets.php b/admin/slm-dashboard-widgets.php index 732d99b..9536789 100644 --- a/admin/slm-dashboard-widgets.php +++ b/admin/slm-dashboard-widgets.php @@ -89,12 +89,15 @@ function slm_dashboard_widget_function() Pending licenses + +
  • - Blocked licenses + Blocked licenses
  • +
  • diff --git a/admin/slm-integration-help-page.php b/admin/slm-integration-help-page.php index 069d64c..c8647a7 100755 --- a/admin/slm-integration-help-page.php +++ b/admin/slm-integration-help-page.php @@ -4,7 +4,6 @@ die; } - function slm_integration_help_menu() { ?> @@ -54,33 +53,115 @@ function slm_integration_help_menu()

    Error codes and constants

    -
    -                    const CREATE_FAILED                 = 10;
    -                    const CREATE_KEY_INVALID            = 100;
    -                    const DOMAIN_ALREADY_INACTIVE       = 80;
    -                    const DOMAIN_MISSING                = 70;
    -                    const KEY_CANCELED                  = 130;
    -                    const KEY_CANCELED_FAILED           = 140;
    -                    const KEY_DEACTIVATE_DOMAIN_SUCCESS = 360;
    -                    const KEY_DEACTIVATE_SUCCESS        = 340;
    -                    const KEY_DELETE_FAILED             = 300;
    -                    const KEY_DELETE_SUCCESS            = 320;
    -                    const KEY_DELETED                   = 130;
    -                    const KEY_UPDATE_FAILED             = 220;
    -                    const KEY_UPDATE_SUCCESS            = 240;
    -                    const LICENSE_ACTIVATED             = 380;
    -                    const LICENSE_BLOCKED               = 20;
    -                    const LICENSE_CREATED               = 400;
    -                    const LICENSE_EXIST                 = 200;
    -                    const LICENSE_EXPIRED               = 30;
    -                    const LICENSE_IN_USE                = 40;
    -                    const LICENSE_INVALID               = 60;
    -                    const MISSING_KEY_DELETE_FAILED     = 280;
    -                    const MISSING_KEY_UPDATE_FAILED     = 260;
    -                    const REACHED_MAX_DEVICES           = 120;
    -                    const REACHED_MAX_DOMAINS           = 50;
    -                    const VERIFY_KEY_INVALID            = 90;
    -                                                                            
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ConstantError code
    CREATE_FAILED10
    CREATE_KEY_INVALID100
    DOMAIN_ALREADY_INACTIVE 80
    DOMAIN_MISSING 70
    KEY_CANCELED 130
    KEY_CANCELED_FAILED 140
    KEY_DEACTIVATE_DOMAIN_SUCCESS 360
    KEY_DEACTIVATE_SUCCESS 340
    KEY_DELETE_FAILED 300
    KEY_DELETE_SUCCESS320
    KEY_DELETED 130
    KEY_UPDATE_FAILED 220
    KEY_UPDATE_SUCCESS240
    LICENSE_ACTIVATED 380
    LICENSE_BLOCKED20
    LICENSE_CREATED400
    LICENSE_EXIST200
    LICENSE_EXPIRED30
    LICENSE_IN_USE 40
    LICENSE_INVALID60
    MISSING_KEY_DELETE_FAILED 280
    MISSING_KEY_UPDATE_FAILED 260
    REACHED_MAX_DEVICES 120
    REACHED_MAX_DOMAINS 50
    VERIFY_KEY_INVALID90
    diff --git a/includes/slm-api-listener.php b/includes/slm-api-listener.php index dc001eb..6f58f6c 100755 --- a/includes/slm-api-listener.php +++ b/includes/slm-api-listener.php @@ -112,6 +112,8 @@ function creation_api_listener() { } function activation_api_listener() { + $registered_devices = $item_reference = $registered_domain = ''; + if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_activate') { //Handle the license activation API query global $slm_debug_logger; @@ -124,14 +126,25 @@ function activation_api_listener() { $fields = array(); $fields['lic_key'] = trim(strip_tags($_REQUEST['license_key'])); - $fields['registered_domain'] = trim(wp_unslash(strip_tags($_REQUEST['registered_domain']))); //gethostbyaddr($_SERVER['REMOTE_ADDR']); - $fields['registered_devices'] = trim(wp_unslash(strip_tags($_REQUEST['registered_devices']))); //client ip or machine name - $fields['item_reference'] = trim(strip_tags($_REQUEST['item_reference'])); - $slm_debug_logger->log_debug("License key: " . $fields['lic_key'] . " Domain: " . $fields['registered_domain']); - $slm_debug_logger->log_debug("License key: " . $fields['lic_key'] . " Device: " . $fields['registered_devices']); + if (isset($_REQUEST['registered_domain'])) { + $registered_domain = $fields['registered_domain'] = trim(wp_unslash(strip_tags($_REQUEST['registered_domain']))); + } + + if (isset($_REQUEST['registered_devices'])) { + $registered_devices = $fields['registered_devices'] = trim(wp_unslash(strip_tags($_REQUEST['registered_devices']))); + } + + if (isset($_REQUEST['item_reference'])) { + $item_reference = $fields['item_reference'] = trim(strip_tags($_REQUEST['item_reference'])); + } + + + $slm_debug_logger->log_debug("License key: " . $fields['lic_key'] . " Domain: " . $registered_domain); + $slm_debug_logger->log_debug("License key: " . $fields['lic_key'] . " Device: " . $registered_devices); global $wpdb; + $tbl_name = SLM_TBL_LICENSE_KEYS; $reg_table = SLM_TBL_LIC_DOMAIN; $reg_table_devices = SLM_TBL_LIC_DEVICES; diff --git a/public/assets/css/slm.css b/public/assets/css/slm.css index a6003ef..d9155a7 100755 --- a/public/assets/css/slm.css +++ b/public/assets/css/slm.css @@ -88,17 +88,19 @@ body.slm_page_slm_manage_license { border:1px solid #ccc; padding: 8px; } -.del_device, .del { - color: red; +.del_device, +.del { + color: white; margin: 0 8px; display: block; - background: #ccc; + background: #dc3545; padding: 4px; border-radius: 12px; width: 16px; height: 16px; line-height: 8px; text-align: center; + font-size: 10px; } .del_device:hover, .del:hover { background: red; diff --git a/software-license-manager.php b/software-license-manager.php index 33f2b30..a1f4f5a 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ query( "DELETE FROM {$wpdb->posts} WHERE post_type IN ( 'slm_manage_license' );" ); -$wpdb->query( "DELETE FROM {$wpdb->postmeta} meta LEFT JOIN {$wpdb->posts} posts ON posts.ID = meta.post_id WHERE wp.ID IS NULL;" ); +$wpdb->query("DELETE FROM {$wpdb->posts} WHERE post_type IN ( 'slm_manage_license' );"); +$wpdb->query("DELETE FROM {$wpdb->postmeta} meta LEFT JOIN {$wpdb->posts} posts ON posts.ID = meta.post_id WHERE wp.ID IS NULL;"); // Delete Tables -$wpdb->query( "DROP TABLE IF EXISTS" . $wpdb->prefix . "lic_key_tbl" ); -$wpdb->query( "DROP TABLE IF EXISTS" . $wpdb->prefix . "lic_reg_domain_tbl" ); -$wpdb->query( "DROP TABLE IF EXISTS" . $wpdb->prefix . "lic_reg_devices_tbl" ); -$wpdb->query( "DROP TABLE IF EXISTS" . $wpdb->prefix . "lic_log_tbl"); \ No newline at end of file +$wpdb->query("DROP TABLE IF EXISTS" . $wpdb->prefix . "lic_key_tbl"); +$wpdb->query("DROP TABLE IF EXISTS" . $wpdb->prefix . "lic_reg_domain_tbl"); +$wpdb->query("DROP TABLE IF EXISTS" . $wpdb->prefix . "lic_reg_devices_tbl"); +$wpdb->query("DROP TABLE IF EXISTS" . $wpdb->prefix . "lic_log_tbl"); \ No newline at end of file diff --git a/woocommerce/includes/purchase.php b/woocommerce/includes/purchase.php index f1e1eae..7f35858 100755 --- a/woocommerce/includes/purchase.php +++ b/woocommerce/includes/purchase.php @@ -15,18 +15,17 @@ global $post, $woocommerce, $product; - add_action('woocommerce_checkout_update_order_meta', 'slm_add_lic_key_meta_update'); add_action('woocommerce_admin_order_data_after_billing_address', 'slm_add_lic_key_meta_display', 10, 1); add_action('woocommerce_order_status_completed', 'slm_order_completed', 81); add_action('woocommerce_order_status_completed', 'wc_slm_access_expiration', 82); add_action('woocommerce_order_details_after_order_table', 'slm_order_details', 10, 1); -add_action('woocommerce_thankyou', 'slm_show_msg', 80 ); +add_action('woocommerce_thankyou', 'slm_show_msg', 80); add_action('woocommerce_order_status_completed', 'wc_slm_on_complete_purchase', 10); function wc_slm_on_complete_purchase($order_id) { //SLM_Helper_Class::write_log('loading wc_slm_on_complete_purchase'); - if ( SLM_SITE_URL != '' && WOO_SLM_API_SECRET != '') { + if (SLM_SITE_URL != '' && WOO_SLM_API_SECRET != '') { wc_slm_create_license_keys($order_id); } } @@ -336,14 +335,22 @@ function wc_get_payment_transaction_id($order_id) { function slm_order_completed( $order_id ) { global $user_id, $wpdb; + $get_user_info = ''; $order = wc_get_order($order_id); $purchase_id_ = $order->get_id(); $order_data = $order->get_data(); // The Order data $order_billing_email = $order_data['billing']['email']; + + // if wp billing is empty + if ($order_billing_email == '') { + $get_user_info = get_userdata(get_current_user_id()); + $order_billing_email = $get_user_info->user_email; + } + $billing_address = $order_billing_email; - $message = 'error: 000 null'; - $get_user_meta = get_user_meta($user_id); - $headers = 'From: '. get_bloginfo( 'name' ).' <'.get_bloginfo('admin_email').'>' . "\r\n"; + //$message = 'error: 000 null'; + //$get_user_meta = get_user_meta($user_id); + //$headers = 'From: '. get_bloginfo( 'name' ).' <'.get_bloginfo('admin_email').'>' . "\r\n"; //wp_mail( $billing_address, 'License details', $message, $headers ); // The text for the note From e6870665433537bb067035f5e3f71d948e35e576 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Tue, 17 Mar 2020 09:57:08 -0400 Subject: [PATCH 112/293] 5.2.0 release --- CHANGELOG.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d776d5d..6a96b4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +## [5.2.0](https://github.com/michelve/software-license-manager/compare/5.1.9...5.2.0) - 2020-03-17 + +### Commits + +- 5.2.0 - License overview was not displaying list of activated domains [`c5d6c02`](https://github.com/michelve/software-license-manager/commit/c5d6c026c183e19b8daf612fc30ce0d83eb22745) + +## [5.1.9](https://github.com/michelve/software-license-manager/compare/5.1.8...5.1.9) - 2020-02-27 + +### Commits + +- updated readme and change-log files [`ba86897`](https://github.com/michelve/software-license-manager/commit/ba86897d3b1d044ae11d4de7c839d3a6652eda5c) +- updated readme and change-log files [`d7a7d2b`](https://github.com/michelve/software-license-manager/commit/d7a7d2b841bda28895ec2fe9c6d56ee8a07dd232) +- - Users with blank $wc_billing_email can see all other licenses [`ddb6e21`](https://github.com/michelve/software-license-manager/commit/ddb6e21bb53a0fc8822d185dab12f310f055a940) + ## [5.1.8](https://github.com/michelve/software-license-manager/compare/5.1.7...5.1.8) - 2020-01-20 ### Merged From a1055244aa8ab38296fc76c8d79f41400a68479f Mon Sep 17 00:00:00 2001 From: MechComp <62549367+MechComp@users.noreply.github.com> Date: Mon, 23 Mar 2020 14:36:04 +0100 Subject: [PATCH 113/293] Sorting by ID not working properly When sorting by ID and comparing strings, the order is wrong - it sorts by the first letter in the string - example: descending order 99,98,97...100 --- admin/slm-list-licenses-class.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/admin/slm-list-licenses-class.php b/admin/slm-list-licenses-class.php index 744c8a3..e6cb30b 100755 --- a/admin/slm-list-licenses-class.php +++ b/admin/slm-list-licenses-class.php @@ -303,7 +303,15 @@ private function sort_data($a, $b) if (!empty($_GET['order'])) { $order = $_GET['order']; } - $result = strcmp($a[$orderby], $b[$orderby]); + if ($orderby == 'id'){ + if ($a[$orderby]==$b[$orderby]){ + $result = 0; + }else{ + $result = ($a[$orderby]<$b[$orderby])?-1:1; + } + }else{ + $result = strcmp($a[$orderby], $b[$orderby]); + } if ($order === 'asc') { return $result; } From 469cc076ab450327c72831241e505b28b3379386 Mon Sep 17 00:00:00 2001 From: MechComp <62549367+MechComp@users.noreply.github.com> Date: Mon, 23 Mar 2020 14:51:26 +0100 Subject: [PATCH 114/293] Error - sets all licences as Expired if they don't have Expiration date set After upgrading SLM from old version all my licences were set as expired even though they don't have expiration date set. Also the function check_for_expired_lic sends e-mail to the Customer and creates log entry even though the Auto expiration is not set. --- includes/slm-utility.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/includes/slm-utility.php b/includes/slm-utility.php index 406e341..a6b920d 100755 --- a/includes/slm-utility.php +++ b/includes/slm-utility.php @@ -111,7 +111,7 @@ static function check_for_expired_lic($lic_key=''){ $headers = array('Content-Type: text/html; charset=UTF-8'); $response = ''; - $sql_query = $wpdb->get_results("SELECT * FROM " . SLM_TBL_LICENSE_KEYS . " WHERE date_expiry < NOW() ORDER BY date_expiry ASC;", ARRAY_A); + $sql_query = $wpdb->get_results("SELECT * FROM " . SLM_TBL_LICENSE_KEYS . " WHERE date_expiry < NOW() AND NOT date_expiry='00000000' ORDER BY date_expiry ASC;", ARRAY_A); $subject = get_bloginfo('name') . ' - Your license has expired'; $expiration_reminder_text = SLM_Helper_Class::slm_get_option( 'expiration_reminder_text'); @@ -139,11 +139,11 @@ static function check_for_expired_lic($lic_key=''){ $updated = $wpdb->update(SLM_TBL_LICENSE_KEYS , $data, $where); self::create_log($license_key, 'set to expired'); - } - //SLM_Helper_Class::write_log('Found: ' . $license_key); - self::slm_check_sent_emails($license_key, $email, $subject, $body, $headers); - self::create_log($license_key, 'sent expiration email notification'); + //SLM_Helper_Class::write_log('Found: ' . $license_key); + self::slm_check_sent_emails($license_key, $email, $subject, $body, $headers); + self::create_log($license_key, 'sent expiration email notification'); + } //SLM_Helper_Class::write_log('DB record logged'); $response = 'Reminder message was sent to: ' . $license_key; From c760ea6f4dd5cffce8f7e59995a6849b90626ce3 Mon Sep 17 00:00:00 2001 From: MechComp <62549367+MechComp@users.noreply.github.com> Date: Tue, 24 Mar 2020 10:32:51 +0100 Subject: [PATCH 115/293] Sorting by ID not working properly --- admin/slm-subscribers.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/admin/slm-subscribers.php b/admin/slm-subscribers.php index 1441766..803600d 100644 --- a/admin/slm-subscribers.php +++ b/admin/slm-subscribers.php @@ -116,7 +116,15 @@ private function sort_data($a, $b) if (!empty($_GET['order'])) { $order = $_GET['order']; } - $result = strcmp($a[$orderby], $b[$orderby]); + if ($orderby == 'id'){ + if ($a[$orderby]==$b[$orderby]){ + $result = 0; + }else{ + $result = ($a[$orderby]<$b[$orderby])?-1:1; + } + }else{ + $result = strcmp($a[$orderby], $b[$orderby]); + } if ($order === 'asc') { return $result; } From d7ca1db5232e716a7dcf0f298396c17bc326aa8e Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Wed, 25 Mar 2020 17:26:06 -0400 Subject: [PATCH 116/293] Error - sets all licenses as Expired if they don't have Expiration date Sorting by ID not working properly thanks to @MechComp for the help --- CHANGELOG.md | 15 ++++++++++++++- README.md | 2 +- software-license-manager.php | 8 ++++---- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a96b4a..f045520 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - updated readme and change-log files [`ba86897`](https://github.com/michelve/software-license-manager/commit/ba86897d3b1d044ae11d4de7c839d3a6652eda5c) - updated readme and change-log files [`d7a7d2b`](https://github.com/michelve/software-license-manager/commit/d7a7d2b841bda28895ec2fe9c6d56ee8a07dd232) -- - Users with blank $wc_billing_email can see all other licenses [`ddb6e21`](https://github.com/michelve/software-license-manager/commit/ddb6e21bb53a0fc8822d185dab12f310f055a940) +- Users with blank $wc_billing_email can see all other licenses [`ddb6e21`](https://github.com/michelve/software-license-manager/commit/ddb6e21bb53a0fc8822d185dab12f310f055a940) ## [5.1.8](https://github.com/michelve/software-license-manager/compare/5.1.7...5.1.8) - 2020-01-20 @@ -150,6 +150,19 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - upgraded jQuery ui version [`27fe73f`](https://github.com/michelve/software-license-manager/commit/27fe73fe555c4a9b5b3044042be7c8b66cd0f2bd) +## [4.10.4](https://github.com/michelve/software-license-manager/compare/5.2.0...4.10.4) - 2020-03-25 + +### Merged + +- Sorting by ID not working properly [`#19`](https://github.com/michelve/software-license-manager/pull/19) +- Sorting by ID not working properly [`#18`](https://github.com/michelve/software-license-manager/pull/18) +- Error - sets all licences as Expired if they don't have Expiration da… [`#17`](https://github.com/michelve/software-license-manager/pull/17) + +### Commits + +- 5.2.0 release [`e687066`](https://github.com/michelve/software-license-manager/commit/e6870665433537bb067035f5e3f71d948e35e576) +- Error - sets all licences as Expired if they don't have Expiration date set [`469cc07`](https://github.com/michelve/software-license-manager/commit/469cc076ab450327c72831241e505b28b3379386) + ## [4.10.3](https://github.com/michelve/software-license-manager/compare/3.1.0...4.10.3) - 2019-05-14 ### Commits diff --git a/README.md b/README.md index 3147e88..8f0463a 100755 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Welcome to software license manager 👋 -![Version](https://img.shields.io/badge/version-5.2.0-blue.svg?cacheSeconds=2592000) +![Version](https://img.shields.io/badge/version-5.2.1-blue.svg?cacheSeconds=2592000) [![Documentation](https://img.shields.io/badge/documentation-yes-brightgreen.svg)](https://documenter.getpostman.com/view/307939/6tjU1FL?version=latest) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/michelve/software-license-manager/blob/master/LICENSE.md) diff --git a/software-license-manager.php b/software-license-manager.php index a1f4f5a..1623bca 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ Date: Wed, 25 Mar 2020 17:28:25 -0400 Subject: [PATCH 117/293] 5.2.1 changelog --- CHANGELOG.md | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f045520..732a761 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +## [5.2.1](https://github.com/michelve/software-license-manager/compare/5.2.0...5.2.1) - 2020-03-25 + +### Merged + +- Sorting by ID not working properly [`#19`](https://github.com/michelve/software-license-manager/pull/19) +- Sorting by ID not working properly [`#18`](https://github.com/michelve/software-license-manager/pull/18) +- Error - sets all licences as Expired if they don't have Expiration da… [`#17`](https://github.com/michelve/software-license-manager/pull/17) + +### Commits + +- Error - sets all licenses as Expired if they don't have Expiration date [`d7ca1db`](https://github.com/michelve/software-license-manager/commit/d7ca1db5232e716a7dcf0f298396c17bc326aa8e) +- 5.2.0 release [`e687066`](https://github.com/michelve/software-license-manager/commit/e6870665433537bb067035f5e3f71d948e35e576) +- Error - sets all licences as Expired if they don't have Expiration date set [`469cc07`](https://github.com/michelve/software-license-manager/commit/469cc076ab450327c72831241e505b28b3379386) + ## [5.2.0](https://github.com/michelve/software-license-manager/compare/5.1.9...5.2.0) - 2020-03-17 ### Commits @@ -19,7 +33,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - updated readme and change-log files [`ba86897`](https://github.com/michelve/software-license-manager/commit/ba86897d3b1d044ae11d4de7c839d3a6652eda5c) - updated readme and change-log files [`d7a7d2b`](https://github.com/michelve/software-license-manager/commit/d7a7d2b841bda28895ec2fe9c6d56ee8a07dd232) -- Users with blank $wc_billing_email can see all other licenses [`ddb6e21`](https://github.com/michelve/software-license-manager/commit/ddb6e21bb53a0fc8822d185dab12f310f055a940) +- - Users with blank $wc_billing_email can see all other licenses [`ddb6e21`](https://github.com/michelve/software-license-manager/commit/ddb6e21bb53a0fc8822d185dab12f310f055a940) ## [5.1.8](https://github.com/michelve/software-license-manager/compare/5.1.7...5.1.8) - 2020-01-20 @@ -150,19 +164,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - upgraded jQuery ui version [`27fe73f`](https://github.com/michelve/software-license-manager/commit/27fe73fe555c4a9b5b3044042be7c8b66cd0f2bd) -## [4.10.4](https://github.com/michelve/software-license-manager/compare/5.2.0...4.10.4) - 2020-03-25 - -### Merged - -- Sorting by ID not working properly [`#19`](https://github.com/michelve/software-license-manager/pull/19) -- Sorting by ID not working properly [`#18`](https://github.com/michelve/software-license-manager/pull/18) -- Error - sets all licences as Expired if they don't have Expiration da… [`#17`](https://github.com/michelve/software-license-manager/pull/17) - -### Commits - -- 5.2.0 release [`e687066`](https://github.com/michelve/software-license-manager/commit/e6870665433537bb067035f5e3f71d948e35e576) -- Error - sets all licences as Expired if they don't have Expiration date set [`469cc07`](https://github.com/michelve/software-license-manager/commit/469cc076ab450327c72831241e505b28b3379386) - ## [4.10.3](https://github.com/michelve/software-license-manager/compare/3.1.0...4.10.3) - 2019-05-14 ### Commits From 25b5e19d01eeb0268566577252cc3c0fc8dba620 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Tue, 31 Mar 2020 11:26:05 -0400 Subject: [PATCH 118/293] Fixed: License type was not showing correctly when editing a license Fixed: Activation date was not displaying correctly when saving or adding new licenses UPDATE: when a license is set to lifetime the expiration field will be disabled and ignore. FIXED: when a license was set to lifetime the expiration was getting populated with a future date. Improvement: fixed some typos and improved the Spanish language pack Updated: updated the product type template to work with any theme. --- README.md | 2 +- admin/slm-add-licenses.php | 78 ++- admin/slm-lic-settings.php | 2 - admin/slm-list-licenses-class.php | 35 +- includes/slm-utility.php | 4 +- languages/softwarelicensemanager-es_ES.mo | Bin 11210 -> 13344 bytes languages/softwarelicensemanager-es_ES.po | 495 +++++++++++------- languages/softwarelicensemanager-es_US.mo | Bin 11213 -> 0 bytes languages/softwarelicensemanager-es_US.po | 495 ------------------ languages/softwarelicensemanager.pot | 454 ---------------- software-license-manager.php | 4 +- .../add-to-cart/slm_license.php | 81 +-- 12 files changed, 443 insertions(+), 1207 deletions(-) delete mode 100644 languages/softwarelicensemanager-es_US.mo delete mode 100644 languages/softwarelicensemanager-es_US.po delete mode 100644 languages/softwarelicensemanager.pot diff --git a/README.md b/README.md index 8f0463a..898bf35 100755 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Welcome to software license manager 👋 -![Version](https://img.shields.io/badge/version-5.2.1-blue.svg?cacheSeconds=2592000) +![Version](https://img.shields.io/badge/version-5.3.1-blue.svg?cacheSeconds=2592000) [![Documentation](https://img.shields.io/badge/documentation-yes-brightgreen.svg)](https://documenter.getpostman.com/view/307939/6tjU1FL?version=latest) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/michelve/software-license-manager/blob/master/LICENSE.md) diff --git a/admin/slm-add-licenses.php b/admin/slm-add-licenses.php index 8323272..5db2bcb 100755 --- a/admin/slm-add-licenses.php +++ b/admin/slm-add-licenses.php @@ -29,7 +29,7 @@ function slm_add_licenses_menu() $reg_domains = ''; $reg_devices = ''; $class_hide = ''; - $activated_date = ''; + $date_activated = ''; $current_date = (date("Y-m-d")); $current_date_plus_1year = date('Y-m-d', strtotime('+1 year')); @@ -57,13 +57,13 @@ function slm_add_licenses_menu() $purchase_id_ = $record->purchase_id_; $created_date = $record->date_created; $renewed_date = $record->date_renewed; - $activated_date = $record->date_activated; - $expiry_date = $record->date_expiry; + $date_activated = $record->date_activated; $product_ref = $record->product_ref; $until = $record->until; $current_ver = $record->current_ver; $subscr_id = $record->subscr_id; $lic_type = $record->lic_type; + $expiry_date = $record->date_expiry; } if (isset($_POST['save_record'])) { @@ -76,6 +76,7 @@ function slm_add_licenses_menu() do_action('slm_add_edit_interface_save_submission'); //TODO - do some validation + $expiry_date = ''; $license_key = $_POST['license_key']; $max_domains = $_POST['max_allowed_domains']; $max_devices = $_POST['max_allowed_devices']; @@ -89,21 +90,29 @@ function slm_add_licenses_menu() $purchase_id_ = $_POST['purchase_id_']; $created_date = $_POST['date_created']; $renewed_date = $_POST['date_renewed']; - $activated_date = $_POST['date_activated']; - $expiry_date = $_POST['date_expiry']; + $date_activated = $_POST['date_activated']; + // $expiry_date = $_POST['date_expiry']; $product_ref = $_POST['product_ref']; $until = $_POST['until']; $current_ver = $_POST['current_ver']; $subscr_id = $_POST['subscr_id']; $lic_type = $_POST['lic_type']; + + if ($_POST['lic_type'] == 'lifetime'){ + $expiry_date = '0000-00-00'; + } + else { + $expiry_date = $_POST['date_expiry']; + } + if (empty($created_date)) { $created_date = $current_date; } if (empty($renewed_date)) { $renewed_date = $current_date; } - if (empty($expiry_date)) { + if (empty($expiry_date) && $lic_type !== 'lifetime') { $expiry_date = $current_date_plus_1year; } @@ -122,13 +131,13 @@ function slm_add_licenses_menu() $fields['purchase_id_'] = $purchase_id_; $fields['date_created'] = $created_date; $fields['date_renewed'] = $renewed_date; - $fields['date_activated'] = $activated_date; + $fields['date_activated'] = $date_activated; $fields['date_expiry'] = $expiry_date; $fields['product_ref'] = $product_ref; $fields['until'] = $until; $fields['current_ver'] = $current_ver; - $subscr_id = $_POST['subscr_id']; - $lic_type = $_POST['lic_type']; + $fields['subscr_id'] = $subscr_id; + $fields['lic_type'] = $lic_type; $id = isset($_POST['edit_record']) ? $_POST['edit_record'] : ''; @@ -290,16 +299,16 @@ function slm_add_licenses_menu()
    -

    License key and status

    +

    - + - The unique license key. +
    - + - type of license: subscription base or lifetime +
    @@ -341,32 +350,32 @@ function slm_add_licenses_menu()
    -

    User Information

    +

    - + - License user's first name +
    - + - License user's last name +
    - + - The Subscriber ID (if any). Can be useful if you are using the license key with a recurring payment plan. +
    - + @@ -390,12 +399,12 @@ function slm_add_licenses_menu()
    -

    Allowed Activations

    +

    - + - Number of domains/installs in which this license can be used +
    - + + + + + + + + + + Expiry date of license
    @@ -504,7 +524,7 @@ function slm_add_licenses_menu()
    - + Activation date
    diff --git a/admin/slm-lic-settings.php b/admin/slm-lic-settings.php index 0d74963..d874b71 100755 --- a/admin/slm-lic-settings.php +++ b/admin/slm-lic-settings.php @@ -221,8 +221,6 @@ function slm_general_settings()

    value="1" />

    - - .. - -
    . diff --git a/admin/slm-list-licenses-class.php b/admin/slm-list-licenses-class.php index e6cb30b..9f0ebf3 100755 --- a/admin/slm-list-licenses-class.php +++ b/admin/slm-list-licenses-class.php @@ -82,16 +82,16 @@ function get_columns() $columns = array( 'cb' => '', //Render a checkbox 'id' => 'ID', - 'license_key' => 'Key', 'lic_status' => 'Status', - 'lic_type' => 'Type', + 'license_key' => 'Key', + 'lic_type' => 'License type', 'email' => 'Email', 'max_allowed_domains' => 'Domains', 'max_allowed_devices' => 'Devices', - 'purchase_id_' => 'Purchase #', + 'purchase_id_' => 'Order #', 'date_created' => 'Created on', - 'date_renewed' => 'Date Renewed', - 'date_activated' => 'Date activated', + 'date_renewed' => 'Renewed on', + 'date_activated' => 'Activated on', 'date_expiry' => 'Expiration', 'until' => 'Until Ver.', 'current_ver' => 'Current Ver.' @@ -112,16 +112,23 @@ function column_default($item, $column_name) break; case 'date_expiry': - $now = $item[$column_name]; + $expiration = $item[$column_name]; $date_today = time(); - if ($now != '0000-00-00') { - if (strtotime($now) < time()) { - return ' ' . $now . ' ' . ' ' . SLM_Utility::get_days_remaining($now) . ' day(s) due'; - } else { - return '' . $item[$column_name] . '' . ' ' . SLM_Utility::get_days_remaining($now) . ' day(s) left'; + if ($expiration == '0000-00-00') { + return ' Lifetime ' . ' '; + } + + + if ($expiration != '0000-00-00') { + if (strtotime($expiration) < time()) { + return ' ' . $expiration . ' ' . ' ' . SLM_Utility::get_days_remaining($expiration) . ' day(s) due'; + } + else { + return '' . $item[$column_name] . '' . ' ' . SLM_Utility::get_days_remaining($expiration) . ' day(s) left'; } - } else { + } + else { //return $item[$column_name]; return 'not set'; } @@ -303,11 +310,11 @@ private function sort_data($a, $b) if (!empty($_GET['order'])) { $order = $_GET['order']; } - if ($orderby == 'id'){ + if ($orderby == 'id'){ if ($a[$orderby]==$b[$orderby]){ $result = 0; }else{ - $result = ($a[$orderby]<$b[$orderby])?-1:1; + $result = ($a[$orderby]<$b[$orderby])?-1:1; } }else{ $result = strcmp($a[$orderby], $b[$orderby]); diff --git a/includes/slm-utility.php b/includes/slm-utility.php index a6b920d..eaf4c92 100755 --- a/includes/slm-utility.php +++ b/includes/slm-utility.php @@ -201,8 +201,8 @@ static function do_auto_key_expiry() { foreach($licenses as $license){ $key = $license->license_key; $expiry_date = $license->date_expiry; - if ($expiry_date == '0000-00-00'){ - SLM_Debug_Logger::log_debug_st("This key (".$key.") doesn't have a valid expiry date set. The expiry of this key will not be checked."); + if ($expiry_date == '0000-00-00' || $expiry_date == '00000000' || $expiry_date == ''){ + SLM_Debug_Logger::log_debug_st("This key (".$key.") doesn't have a valid expiration date set. The expiration of this key will not be checked."); continue; } diff --git a/languages/softwarelicensemanager-es_ES.mo b/languages/softwarelicensemanager-es_ES.mo index 126b5bd569b36628d552a787b0c90c2353b9168e..9cffd51ad1e29de187ae0514c71be17651cb8f1b 100644 GIT binary patch delta 5459 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 delta 3452 zcma)-eQcFi9mmh5ybXlW($W?RJ;0zXaBuHryhuUb3gi7n+JSQne0uMp_Zhd(Q=aF! z#cpO7l*Hh489O>MrVjov%w#ihjk=8`W>%d}aYi#W&fyl#mf&P+7L#Fcetyq$`Nz1# zllyx<=bS$0oZrj$JUw50`9S4L-Po@vS^;ap*3>9<8Xg?agLYz~Qh$Rd;WilDqSO@l z0-OL}hAdIPf=%!@@K*RPtb-rGT39zpscG;wcqd#Ad9R`#q_dBS$DwR+4c5a6la*?O zEpRSe1~6 z$eaowd#VbQ2p)vD!LLJca1`=Wf8ZgJUWKymI$RAWaH=@o4Q2h^Q1VgBFP=X&JxS@akYLr1p=|sr#0PZ)qCYhiVTdD*kUi8&$e+}9 zC?z}u?|?7C`{2}uBm<{mFXI=WI95xVB=DvgL+k|N~w#@N)0f7iF|XG>X?-TwhoSCybGpb50p%wtk97RoPl!S*C2bS z@4!>=6-Y3um;BuYT_~v>UaPWpc;bb;4qZ;>viJTJSYyWgyKLitZXQhgR~gy*1$>UAjZ z{~4}_wF?q4?}JMjJ8&WVGW<5Y1jlo}8eo<(s|XUDdKi8VJ_BEaE83C>>hMl7)Cwg- zIk+6|gt0?VN^=f&!6%_)>`#!YsrTU!Z0=wUd>B?9rSm$SEQ|0#l>RB~t4Xk%#D5-HmBXT1^s9@+n=H z%qiPF`FKj(=O@3mxKvUb%8{=(e|pdjjNa+yjTaid!wiS2yBq|@i}ZdIgs$&dXUaPJ z(fh*avD$_Wjz6 z8MZUWd1ufBu3u;$Hcn6)?$Ap#$CyB8^$|bNCHIJl+yRrZXY1zIu$8@Dcg6l|`nmzQ-=)Pf{FS+@nvdQL#({^`D zqrKMfRBljQHU(YwBDbW6lK50_(eaLku@7O<9~@+rKJG?ET@LLVjjKm4HrAx<<)*E6 zVRK8!WNbVA){jHd^j;3y~O{ei)fiH!C=EiZ;{!DRGS zLk-+e5Bp`(kd(spNJpBZwc z;Q!;jT-Q?8$a^~-ufOc{n{=;n2D-HUe#^0%Tqb98vl~ak+3QmFp_Z97UE0{c&uOqf zn$uQuZ#c4)06w;V<$)cuL>41)7ZPAs|pg+H*X+a9%VxBYzYUK5Ny?H7Ec zp^=|IM2X<2ICFwJGU?U4}oEMGXMYp diff --git a/languages/softwarelicensemanager-es_ES.po b/languages/softwarelicensemanager-es_ES.po index df749a3..6827620 100644 --- a/languages/softwarelicensemanager-es_ES.po +++ b/languages/softwarelicensemanager-es_ES.po @@ -1,29 +1,70 @@ msgid "" msgstr "" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Project-Id-Version: Software License Manager\n" -"POT-Creation-Date: 2019-06-19 10:05-0400\n" -"PO-Revision-Date: 2019-06-19 11:29-0400\n" +"POT-Creation-Date: 2020-03-25 18:10-0400\n" +"PO-Revision-Date: 2020-03-25 18:13-0400\n" +"Last-Translator: \n" "Language-Team: \n" +"Language: es_ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.1.1\n" +"X-Generator: Poedit 2.3\n" "X-Poedit-Basepath: ..\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Flags-xgettext: --add-comments=translators:\n" "X-Poedit-WPHeader: software-license-manager.php\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" "_nx_noop:3c,1,2;__ngettext_noop:1,2\n" -"Last-Translator: \n" -"Language: es\n" "X-Poedit-SearchPath-0: .\n" -"X-Poedit-SearchPathExcluded-0: *.js\n" +"X-Poedit-SearchPathExcluded-0: *.min.js\n" +"X-Poedit-SearchPathExcluded-1: node_modules\n" + +#: admin/includes/cronjobs/slm-tasks.php:10 +msgid "Every day" +msgstr "Cada día" -#: admin/includes/cronjobs/slm-tasks.php:13 -msgid "Every 1 minute" -msgstr "Cada 1 minuto" +#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:54 +msgid "View details" +msgstr "Ver detalles" + +#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:77 +#, php-format +msgid "More information about %s" +msgstr "Más información sobre %s" + +#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:128 +msgid "Check for updates" +msgstr "Buscar actualizaciones" + +#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:213 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "El plugin %s está actualizado." + +#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:215 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "Una nueva versión del %s plugin está disponible." + +#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:217 +#, php-format +msgctxt "the plugin title" +msgid "Could not determine if updates are available for %s." +msgstr "No se pudo determinar si hay actualizaciones disponibles para %s." + +#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:223 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "Estado de actualización desconocido \"%s\"" + +#: admin/includes/plugin-update-checker/Puc/v4p6/Vcs/PluginUpdateChecker.php:98 +msgid "There is no changelog available." +msgstr "No hay changelog disponible." #: admin/includes/wpestores/slm-wpestores.php:70 msgid "Item Name: " @@ -33,51 +74,124 @@ msgstr "Nombre del artículo" msgid "License Key: " msgstr "Clave de licencia" -#: admin/slm-add-licenses.php:141 +#: admin/slm-add-licenses.php:142 msgid "Record could not be inserted into the database!" msgstr "¡No se pudo insertar un registro en la base de datos!" -#: admin/slm-add-licenses.php:149 +#: admin/slm-add-licenses.php:150 msgid "Update of the license key table failed!" msgstr "¡Error al actualizar la tabla de claves de licencia!" #. Plugin Name of the plugin/theme -#: admin/slm-add-licenses.php:185 +#: admin/slm-add-licenses.php:183 msgid "Software License Manager" msgstr "Administrador de licencias de software" -#: admin/slm-add-licenses.php:188 +#: admin/slm-add-licenses.php:186 msgid "You can add a new license or edit an existing one from this interface." msgstr "" "Puede agregar una nueva licencia o editar una existente desde esta interfaz." -#: admin/slm-add-licenses.php:234 +#: admin/slm-add-licenses.php:232 admin/slm-add-licenses.php:293 msgid "License key and status" msgstr "Clave de licencia y estado" -#: admin/slm-add-licenses.php:238 +#: admin/slm-add-licenses.php:236 msgid "User information" msgstr "Información de usuario" -#: admin/slm-add-licenses.php:244 +#: admin/slm-add-licenses.php:242 msgid "Devices & Domains" msgstr "Dispositivos y Dominios" -#: admin/slm-add-licenses.php:249 +#: admin/slm-add-licenses.php:247 msgid "Transaction" msgstr "Transacción" -#: admin/slm-add-licenses.php:253 +#: admin/slm-add-licenses.php:251 msgid "Product" msgstr "Producto" -#: admin/slm-add-licenses.php:259 +#: admin/slm-add-licenses.php:257 msgid "Activity log " msgstr "Registro de actividad" -#: admin/slm-add-licenses.php:266 +#: admin/slm-add-licenses.php:264 msgid "Export " -msgstr "exportar" +msgstr "Esportar " + +#: admin/slm-add-licenses.php:295 +msgid "License Key" +msgstr "Clave de licencia" + +#: admin/slm-add-licenses.php:297 +msgid "The unique license key." +msgstr "La clave de licencia única." + +#: admin/slm-add-licenses.php:302 +msgid "License Status" +msgstr "Estado de la licencia" + +#: admin/slm-add-licenses.php:328 +msgid "Subscription" +msgstr "Suscripción" + +#: admin/slm-add-licenses.php:331 +msgid "Life-time" +msgstr "Vida útil" + +#: admin/slm-add-licenses.php:334 woocommerce/includes/slm-meta-boxes.php:124 +msgid "type of license: subscription base or lifetime" +msgstr "tipo de licencia: base de suscripción o duración" + +#: admin/slm-add-licenses.php:344 +msgid "User Information" +msgstr "Información del usuario" + +#: admin/slm-add-licenses.php:347 +msgid "First Name" +msgstr "Primer Nombre" + +#: admin/slm-add-licenses.php:349 +msgid "License user's first name" +msgstr "Nombre del usuario de la licencia" + +#: admin/slm-add-licenses.php:353 +msgid " Last Name" +msgstr " Apellido" + +#: admin/slm-add-licenses.php:355 +msgid "License user's last name" +msgstr "Apellido del usuario de la licencia" + +#: admin/slm-add-licenses.php:362 +msgid "Subscriber ID" +msgstr "Suscriptor ID" + +#: admin/slm-add-licenses.php:364 +msgid "" +"The Subscriber ID (if any). Can be useful if you are using the license key " +"with a recurring payment plan." +msgstr "" +"El ID del suscriptor (si existe). Puede ser útil si está utilizando la clave " +"de licencia con un plan de pago recurrente." + +#: admin/slm-add-licenses.php:369 +msgid "Email Address" +msgstr "Correo electrónico" + +#: admin/slm-add-licenses.php:393 +msgid "Allowed Activations" +msgstr "Activaciones permitidas" + +#: admin/slm-add-licenses.php:396 admin/slm-lic-settings.php:146 +msgid "Maximum Allowed Domains" +msgstr "Máximo de dominios permitidos" + +#: admin/slm-add-licenses.php:398 +msgid "Number of domains/installs in which this license can be used" +msgstr "" +"Número de dominios/instalaciones en los que se puede utilizar esta licencia" #: admin/slm-admin-functions.php:41 msgid "Send Deactivation Message for a License" @@ -89,15 +203,43 @@ msgstr "" "Introduzca la URL a la que se enviará el mensaje de desactivación de la " "licencia" -#: admin/slm-lic-settings.php:76 -msgid "General settings" -msgstr "Los ajustes generales" +#: admin/slm-dashboard-widgets.php:29 admin/slm-dashboard-widgets.php:32 +msgid "SLM" +msgstr "Slm" + +#: admin/slm-dashboard-widgets.php:41 +msgid "Overview" +msgstr "Resumen" + +#: admin/slm-dashboard-widgets.php:51 +msgid "Add new license" +msgstr "Añadir nueva licencia" -#: admin/slm-lic-settings.php:80 +#: admin/slm-dashboard-widgets.php:61 includes/slm-plugin-core.php:50 +msgid "Settings" +msgstr "Parámetros" + +#: admin/slm-lic-settings.php:88 +msgid "General Settings" +msgstr "Configuración general" + +#: admin/slm-lic-settings.php:92 +msgid "Integrations" +msgstr "Integraciones" + +#: admin/slm-lic-settings.php:96 +msgid "Debugging settings" +msgstr "Parámetros" + +#: admin/slm-lic-settings.php:100 +msgid "Emails" +msgstr "Emails" + +#: admin/slm-lic-settings.php:127 msgid "Secret Key for License Creation" msgstr "Clave secreta para la creación de licencias" -#: admin/slm-lic-settings.php:82 +#: admin/slm-lic-settings.php:130 msgid "" "This secret key will be used to authenticate any license creation request. " "You can change it with something random." @@ -105,11 +247,11 @@ msgstr "" "Esta clave secreta se utilizará para autenticar cualquier solicitud de " "creación de licencia. Puedes cambiarlo con algo aleatorio." -#: admin/slm-lic-settings.php:86 +#: admin/slm-lic-settings.php:134 msgid "Secret Key for License Verification Requests" msgstr "Clave secreta para las solicitudes de verificación de licencias" -#: admin/slm-lic-settings.php:88 +#: admin/slm-lic-settings.php:136 msgid "" "This secret key will be used to authenticate any license verification " "request from customer's site. Important! Do not change this value once your " @@ -119,11 +261,11 @@ msgstr "" "verificación de licencia desde el sitio del cliente. ¡Importante! ¡No cambie " "este valor una vez que sus clientes comiencen a usar su(s) producto(s)!" -#: admin/slm-lic-settings.php:92 +#: admin/slm-lic-settings.php:140 msgid "License Key Prefix" msgstr "Prefijo de clave de licencia" -#: admin/slm-lic-settings.php:94 +#: admin/slm-lic-settings.php:142 msgid "" "You can optionaly specify a prefix for the license keys. This prefix will be " "added to the uniquely generated license keys." @@ -131,11 +273,7 @@ msgstr "" "Opcionalmente, puede especificar un prefijo para las claves de licencia. " "Este prefijo se agregará a las claves de licencia generadas de forma única." -#: admin/slm-lic-settings.php:98 -msgid "Maximum Allowed Domains" -msgstr "Máximo de dominios permitidos" - -#: admin/slm-lic-settings.php:100 +#: admin/slm-lic-settings.php:148 msgid "" "Maximum number of domains/installs which each license is valid for (default " "value)." @@ -143,53 +281,59 @@ msgstr "" "Número máximo de dominios/instalaciones para los que cada licencia es válida " "(valor predeterminado)." -#: admin/slm-lic-settings.php:104 +#: admin/slm-lic-settings.php:152 msgid "Maximum Allowed Devices" msgstr "Máximo de dispositivos permitidos" -#: admin/slm-lic-settings.php:106 +#: admin/slm-lic-settings.php:154 msgid "" "Maximum number of devices which each license is valid for (default value)." msgstr "" "Número máximo de dispositivos para los que cada licencia es válida (valor " "predeterminado)." -#: admin/slm-lic-settings.php:110 +#: admin/slm-lic-settings.php:158 msgid "Auto Expire License Keys" msgstr "Claves de licencia de expiración automática" -#: admin/slm-lic-settings.php:112 +#: admin/slm-lic-settings.php:160 msgid "Enable auto expiration " msgstr "Habilitar la expiración automática" -#: admin/slm-lic-settings.php:113 +#: admin/slm-lic-settings.php:161 msgid "" " When enabled, it will automatically set the status of a license key to " -"\"Expired\" when the expiry date value of the k ey is reached. It doesn't " +"\"Expired\" when the expiry date value of the key is reached. It doesn't " "remotely deactivate a key. It simply changes the status of the key in your " "database to expired." msgstr "" "Cuando está habilitado, establecerá automáticamente el estado de una clave " "de licencia en \"Expirado\" cuando se alcance el valor de fecha de caducidad " -"del k ey. No desactiva de forma remota una clave. Simplemente cambia el " +"de la clave. No desactiva de forma remota una clave. Simplemente cambia el " "estado de la clave en la base de datos a caducado." -#: admin/slm-lic-settings.php:121 -msgid "Integrations" -msgstr "Integraciones" +#: admin/slm-lic-settings.php:165 +msgid "General settings" +msgstr "Los ajustes generales" -#: admin/slm-lic-settings.php:125 +#: admin/slm-lic-settings.php:168 admin/slm-lic-settings.php:175 +msgid "Disable stats in licenses overview page." +msgstr "" +"Deshabilite las estadísticas en la página de información general de " +"licencias." + +#: admin/slm-lic-settings.php:186 msgid "Woocommerce Support" msgstr "Soporte técnico de Woocommerce" -#: admin/slm-lic-settings.php:128 +#: admin/slm-lic-settings.php:189 msgid "" "A fully customizable, open source eCommerce platform built for WordPress." msgstr "" "Una plataforma de comercio electrónico totalmente personalizable y de código " "abierto creada para WordPress." -#: admin/slm-lic-settings.php:132 +#: admin/slm-lic-settings.php:195 msgid "" "Disable woocommerce download page. Proccess downloads though license order " "info page." @@ -197,11 +341,11 @@ msgstr "" "Deshabilite la página de descarga de woocommerce. Proccess descarga a través " "de la página de información del pedido de licencia." -#: admin/slm-lic-settings.php:135 +#: admin/slm-lic-settings.php:198 msgid "Download Manager Support" msgstr "Descargar soporte de Manager" -#: admin/slm-lic-settings.php:138 +#: admin/slm-lic-settings.php:201 msgid "" "Download Manager Plugin – Adds a simple download manager to your WordPress " "blog." @@ -209,11 +353,11 @@ msgstr "" "Descargar Manager Plugin – Agrega un simple gestor de descargas a tu blog de " "WordPress." -#: admin/slm-lic-settings.php:142 +#: admin/slm-lic-settings.php:205 msgid "WP eStores Support" msgstr "Soporte de WP eStores" -#: admin/slm-lic-settings.php:145 +#: admin/slm-lic-settings.php:208 msgid "" "WordPress eStore Plugin – Complete Solution to Sell Digital Products from " "Your WordPress Blog Securely" @@ -221,15 +365,11 @@ msgstr "" "WordPress eStore Plugin – Solución completa para vender productos digitales " "de su blog de WordPress de forma segura" -#: admin/slm-lic-settings.php:153 -msgid "Debugging settings" -msgstr "Parámetros" - -#: admin/slm-lic-settings.php:158 +#: admin/slm-lic-settings.php:220 msgid "Enable Debug Logging" msgstr "Habilitar el registro de depuración" -#: admin/slm-lic-settings.php:160 +#: admin/slm-lic-settings.php:223 msgid "" "If checked, debug output will be written to log files (keep it disabled " "unless you are troubleshooting)." @@ -237,19 +377,11 @@ msgstr "" "Si está marcada, la salida de depuración se escribirá en los archivos de " "registro (manténgala deshabilitada a menos que esté solucionando problemas)." -#: admin/slm-lic-settings.php:162 -msgid "View debug log file by clicking" -msgstr "Ver el archivo de registro de depuración haciendo clic en" - -#: admin/slm-lic-settings.php:162 admin/slm-lic-settings.php:163 -msgid "here" -msgstr "aquí" - -#: admin/slm-lic-settings.php:163 -msgid "Reset debug log file by clicking" -msgstr "Restablecer el archivo de registro de depuración haciendo clic en" +#: admin/slm-lic-settings.php:234 +msgid "Expiration reminder" +msgstr "Recordatorio de expiración" -#: admin/slm-lic-settings.php:171 +#: admin/slm-lic-settings.php:244 msgid "Update Options" msgstr "Opciones de actualización" @@ -263,11 +395,11 @@ msgstr "Todos" #: admin/slm-list-licenses-class.php:50 msgid "active" -msgstr "Activo" +msgstr "activo" #: admin/slm-list-licenses-class.php:57 msgid "pending" -msgstr "Pendiente" +msgstr "pendiente" #: admin/slm-list-licenses-class.php:64 msgid "expired" @@ -275,10 +407,10 @@ msgstr "caducado" #: admin/slm-list-licenses-class.php:71 msgid "blocked" -msgstr "Bloqueado" +msgstr "bloqueado" -#: admin/slm-list-licenses-class.php:204 admin/slm-list-licenses-class.php:221 -#: admin/slm-list-licenses-class.php:238 admin/slm-list-licenses-class.php:255 +#: admin/slm-list-licenses-class.php:203 admin/slm-list-licenses-class.php:220 +#: admin/slm-list-licenses-class.php:237 admin/slm-list-licenses-class.php:254 msgid "Error - Please select some records using the checkboxes" msgstr "" "Error - Seleccione algunos registros usando las casillas de verificación" @@ -287,69 +419,118 @@ msgstr "" msgid "You do not have permission to manage this license." msgstr "No tiene permiso para administrar esta licencia." -#: admin/slm-manage-licenses.php:43 +#: admin/slm-manage-licenses.php:36 msgid "Overview - Manage licenses" msgstr "Descripción general - Administrar licencias" -#: admin/slm-manage-licenses.php:45 +#: admin/slm-manage-licenses.php:38 msgid "Add New" msgstr "Añadir nueva" -#: admin/slm-manage-licenses.php:57 admin/slm-subscribers.php:211 +#: admin/slm-manage-licenses.php:65 admin/slm-subscribers.php:219 msgid "Search" msgstr "Buscar" -#: admin/slm-subscribers.php:170 +#: admin/slm-subscribers.php:178 msgid "Overview - Manage Subscribers" msgstr "Visión general - Administrar suscriptores" -#: admin/slm-subscribers.php:172 +#: admin/slm-subscribers.php:180 msgid "View all" msgstr "Ver todos los" -#: admin/slm-subscribers.php:181 +#: admin/slm-subscribers.php:189 msgid "ID" msgstr "Id" -#: admin/slm-subscribers.php:182 woocommerce/includes/purchase.php:396 +#: admin/slm-subscribers.php:190 woocommerce/includes/purchase.php:415 msgid "License key" msgstr "Clave de licencia" -#: admin/slm-subscribers.php:183 +#: admin/slm-subscribers.php:191 msgid "Status" msgstr "Estado" -#: admin/slm-subscribers.php:200 +#: admin/slm-subscribers.php:208 msgid "Overview - All Subscribers" msgstr "Visión general - Todos los suscriptores" -#: includes/slm-meta-boxes.php:23 +#: admin/slm_about_menu.php:21 +msgid "Credits and authors" +msgstr "Créditos y autores" + +#: includes/slm-plugin-core.php:51 +msgid "GitHub" +msgstr "GitHub" + +#: public/slm-add-menu-frontend.php:54 public/slm-add-menu-frontend.php:67 +msgid "My Licenses" +msgstr "Mis licencias" + +#: woocommerce/includes/purchase.php:95 +msgid "License could not be created: Invalid sites allowed number." +msgstr "No se pudo crear la licencia: número permitido de sitios no válidos." + +#: woocommerce/includes/purchase.php:220 +msgid "License Key(s) generated" +msgstr "Clave(s) de licencia generada(s)" + +#: woocommerce/includes/purchase.php:237 +msgid "License Key(s) could not be created." +msgstr "No se han podido crear claves de licencia." + +#: woocommerce/includes/purchase.php:357 +msgid "Order confirmation email sent to: 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 diff --git a/languages/softwarelicensemanager-es_US.po b/languages/softwarelicensemanager-es_US.po deleted file mode 100644 index c5dbf07..0000000 --- a/languages/softwarelicensemanager-es_US.po +++ /dev/null @@ -1,495 +0,0 @@ -msgid "" -msgstr "" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Project-Id-Version: Software License Manager\n" -"POT-Creation-Date: 2019-06-19 10:05-0400\n" -"PO-Revision-Date: 2019-06-19 11:30-0400\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.1.1\n" -"X-Poedit-Basepath: ..\n" -"X-Poedit-Flags-xgettext: --add-comments=translators:\n" -"X-Poedit-WPHeader: software-license-manager.php\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" -"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" -"_nx_noop:3c,1,2;__ngettext_noop:1,2\n" -"Last-Translator: \n" -"Language: es_US\n" -"X-Poedit-SearchPath-0: .\n" -"X-Poedit-SearchPathExcluded-0: *.js\n" - -#: admin/includes/cronjobs/slm-tasks.php:13 -msgid "Every 1 minute" -msgstr "Cada 1 minuto" - -#: admin/includes/wpestores/slm-wpestores.php:70 -msgid "Item Name: " -msgstr "Nombre del artículo" - -#: admin/includes/wpestores/slm-wpestores.php:70 -msgid "License Key: " -msgstr "Clave de licencia" - -#: admin/slm-add-licenses.php:141 -msgid "Record could not be inserted into the database!" -msgstr "¡No se pudo insertar un registro en la base de datos!" - -#: admin/slm-add-licenses.php:149 -msgid "Update of the license key table failed!" -msgstr "¡Error al actualizar la tabla de claves de licencia!" - -#. Plugin Name of the plugin/theme -#: admin/slm-add-licenses.php:185 -msgid "Software License Manager" -msgstr "Administrador de licencias de software" - -#: admin/slm-add-licenses.php:188 -msgid "You can add a new license or edit an existing one from this interface." -msgstr "" -"Puede agregar una nueva licencia o editar una existente desde esta interfaz." - -#: admin/slm-add-licenses.php:234 -msgid "License key and status" -msgstr "Clave de licencia y estado" - -#: admin/slm-add-licenses.php:238 -msgid "User information" -msgstr "Información de usuario" - -#: admin/slm-add-licenses.php:244 -msgid "Devices & Domains" -msgstr "Dispositivos y Dominios" - -#: admin/slm-add-licenses.php:249 -msgid "Transaction" -msgstr "Transacción" - -#: admin/slm-add-licenses.php:253 -msgid "Product" -msgstr "Producto" - -#: admin/slm-add-licenses.php:259 -msgid "Activity log " -msgstr "Registro de actividad" - -#: admin/slm-add-licenses.php:266 -msgid "Export " -msgstr "exportar" - -#: admin/slm-admin-functions.php:41 -msgid "Send Deactivation Message for a License" -msgstr "Enviar mensaje de desactivación para una licencia" - -#: admin/slm-admin-functions.php:43 -msgid "Enter the URL where the license deactivation message will be sent to" -msgstr "" -"Introduzca la URL a la que se enviará el mensaje de desactivación de la " -"licencia" - -#: admin/slm-lic-settings.php:76 -msgid "General settings" -msgstr "Los ajustes generales" - -#: admin/slm-lic-settings.php:80 -msgid "Secret Key for License Creation" -msgstr "Clave secreta para la creación de licencias" - -#: admin/slm-lic-settings.php:82 -msgid "" -"This secret key will be used to authenticate any license creation request. " -"You can change it with something random." -msgstr "" -"Esta clave secreta se utilizará para autenticar cualquier solicitud de " -"creación de licencia. Puedes cambiarlo con algo aleatorio." - -#: admin/slm-lic-settings.php:86 -msgid "Secret Key for License Verification Requests" -msgstr "Clave secreta para las solicitudes de verificación de licencias" - -#: admin/slm-lic-settings.php:88 -msgid "" -"This secret key will be used to authenticate any license verification " -"request from customer's site. Important! Do not change this value once your " -"customers start to use your product(s)!" -msgstr "" -"Esta clave secreta se usará para autenticar cualquier solicitud de " -"verificación de licencia desde el sitio del cliente. ¡Importante! ¡No cambie " -"este valor una vez que sus clientes comiencen a usar su(s) producto(s)!" - -#: admin/slm-lic-settings.php:92 -msgid "License Key Prefix" -msgstr "Prefijo de clave de licencia" - -#: admin/slm-lic-settings.php:94 -msgid "" -"You can optionaly specify a prefix for the license keys. This prefix will be " -"added to the uniquely generated license keys." -msgstr "" -"Opcionalmente, puede especificar un prefijo para las claves de licencia. " -"Este prefijo se agregará a las claves de licencia generadas de forma única." - -#: admin/slm-lic-settings.php:98 -msgid "Maximum Allowed Domains" -msgstr "Máximo de dominios permitidos" - -#: admin/slm-lic-settings.php:100 -msgid "" -"Maximum number of domains/installs which each license is valid for (default " -"value)." -msgstr "" -"Número máximo de dominios/instalaciones para los que cada licencia es válida " -"(valor predeterminado)." - -#: admin/slm-lic-settings.php:104 -msgid "Maximum Allowed Devices" -msgstr "Máximo de dispositivos permitidos" - -#: admin/slm-lic-settings.php:106 -msgid "" -"Maximum number of devices which each license is valid for (default value)." -msgstr "" -"Número máximo de dispositivos para los que cada licencia es válida (valor " -"predeterminado)." - -#: admin/slm-lic-settings.php:110 -msgid "Auto Expire License Keys" -msgstr "Claves de licencia de expiración automática" - -#: admin/slm-lic-settings.php:112 -msgid "Enable auto expiration " -msgstr "Habilitar la expiración automática" - -#: admin/slm-lic-settings.php:113 -msgid "" -" When enabled, it will automatically set the status of a license key to " -"\"Expired\" when the expiry date value of the k ey is reached. It doesn't " -"remotely deactivate a key. It simply changes the status of the key in your " -"database to expired." -msgstr "" -"Cuando está habilitado, establecerá automáticamente el estado de una clave " -"de licencia en \"Expirado\" cuando se alcance el valor de fecha de caducidad " -"del k ey. No desactiva de forma remota una clave. Simplemente cambia el " -"estado de la clave en la base de datos a caducado." - -#: admin/slm-lic-settings.php:121 -msgid "Integrations" -msgstr "Integraciones" - -#: admin/slm-lic-settings.php:125 -msgid "Woocommerce Support" -msgstr "Soporte técnico de Woocommerce" - -#: admin/slm-lic-settings.php:128 -msgid "" -"A fully customizable, open source eCommerce platform built for WordPress." -msgstr "" -"Una plataforma de comercio electrónico totalmente personalizable y de código " -"abierto creada para WordPress." - -#: admin/slm-lic-settings.php:132 -msgid "" -"Disable woocommerce download page. Proccess downloads though license order " -"info page." -msgstr "" -"Deshabilite la página de descarga de woocommerce. Proccess descarga a través " -"de la página de información del pedido de licencia." - -#: admin/slm-lic-settings.php:135 -msgid "Download Manager Support" -msgstr "Descargar soporte de Manager" - -#: admin/slm-lic-settings.php:138 -msgid "" -"Download Manager Plugin – Adds a simple download manager to your WordPress " -"blog." -msgstr "" -"Descargar Manager Plugin – Agrega un simple gestor de descargas a tu blog de " -"WordPress." - -#: admin/slm-lic-settings.php:142 -msgid "WP eStores Support" -msgstr "Soporte de WP eStores" - -#: admin/slm-lic-settings.php:145 -msgid "" -"WordPress eStore Plugin – Complete Solution to Sell Digital Products from " -"Your WordPress Blog Securely" -msgstr "" -"WordPress eStore Plugin – Solución completa para vender productos digitales " -"de su blog de WordPress de forma segura" - -#: admin/slm-lic-settings.php:153 -msgid "Debugging settings" -msgstr "Parámetros" - -#: admin/slm-lic-settings.php:158 -msgid "Enable Debug Logging" -msgstr "Habilitar el registro de depuración" - -#: admin/slm-lic-settings.php:160 -msgid "" -"If checked, debug output will be written to log files (keep it disabled " -"unless you are troubleshooting)." -msgstr "" -"Si está marcada, la salida de depuración se escribirá en los archivos de " -"registro (manténgala deshabilitada a menos que esté solucionando problemas)." - -#: admin/slm-lic-settings.php:162 -msgid "View debug log file by clicking" -msgstr "Ver el archivo de registro de depuración haciendo clic en" - -#: admin/slm-lic-settings.php:162 admin/slm-lic-settings.php:163 -msgid "here" -msgstr "aquí" - -#: admin/slm-lic-settings.php:163 -msgid "Reset debug log file by clicking" -msgstr "Restablecer el archivo de registro de depuración haciendo clic en" - -#: admin/slm-lic-settings.php:171 -msgid "Update Options" -msgstr "Opciones de actualización" - -#: admin/slm-list-licenses-class.php:27 -msgid "No licenses avaliable." -msgstr "No hay licencias disponibles." - -#: admin/slm-list-licenses-class.php:43 -msgid "All" -msgstr "Todos" - -#: admin/slm-list-licenses-class.php:50 -msgid "active" -msgstr "Activo" - -#: admin/slm-list-licenses-class.php:57 -msgid "pending" -msgstr "Pendiente" - -#: admin/slm-list-licenses-class.php:64 -msgid "expired" -msgstr "caducado" - -#: admin/slm-list-licenses-class.php:71 -msgid "blocked" -msgstr "Bloqueado" - -#: admin/slm-list-licenses-class.php:204 admin/slm-list-licenses-class.php:221 -#: admin/slm-list-licenses-class.php:238 admin/slm-list-licenses-class.php:255 -msgid "Error - Please select some records using the checkboxes" -msgstr "" -"Error - Seleccione algunos registros usando las casillas de verificación" - -#: admin/slm-manage-licenses.php:15 -msgid "You do not have permission to manage this license." -msgstr "No tiene permiso para administrar esta licencia." - -#: admin/slm-manage-licenses.php:43 -msgid "Overview - Manage licenses" -msgstr "Descripción general - Administrar licencias" - -#: admin/slm-manage-licenses.php:45 -msgid "Add New" -msgstr "Añadir nueva" - -#: admin/slm-manage-licenses.php:57 admin/slm-subscribers.php:211 -msgid "Search" -msgstr "Buscar" - -#: admin/slm-subscribers.php:170 -msgid "Overview - Manage Subscribers" -msgstr "Visión general - Administrar suscriptores" - -#: admin/slm-subscribers.php:172 -msgid "View all" -msgstr "Ver todos los" - -#: admin/slm-subscribers.php:181 -msgid "ID" -msgstr "Id" - -#: admin/slm-subscribers.php:182 woocommerce/includes/purchase.php:396 -msgid "License key" -msgstr "Clave de licencia" - -#: admin/slm-subscribers.php:183 -msgid "Status" -msgstr "Estado" - -#: admin/slm-subscribers.php:200 -msgid "Overview - All Subscribers" -msgstr "Visión general - Todos los suscriptores" - -#: includes/slm-meta-boxes.php:23 -msgid "License Manager" -msgstr "Administrador de licencias" - -#: includes/slm-meta-boxes.php:25 -msgid "Enables the license creation api." -msgstr "Habilita la API de creación de licencias." - -#: includes/slm-meta-boxes.php:73 -msgid "Licensing" -msgstr "Licencias" - -#: includes/slm-meta-boxes.php:93 -msgid "Domain Licenses" -msgstr "Licencias de dominio" - -#: includes/slm-meta-boxes.php:97 -msgid "Enter the allowed amount of domains this license can have (websites)." -msgstr "" -"Introduzca la cantidad permitida de dominios que esta licencia puede tener " -"(sitios web)." - -#: includes/slm-meta-boxes.php:103 -msgid "Devices Licenses" -msgstr "Licencias de dispositivos" - -#: includes/slm-meta-boxes.php:107 -msgid "" -"Enter the allowed amount of devices this license can have (computers, " -"mobile, etc)." -msgstr "" -"Introduzca la cantidad permitida de dispositivos que puede tener esta " -"licencia (ordenadores, móviles, etc.)." - -#: includes/slm-meta-boxes.php:113 -msgid "License Type" -msgstr "Tipo de licencia" - -#: includes/slm-meta-boxes.php:116 -msgid "type of license: subscription base or lifetime" -msgstr "tipo de licencia: base de suscripción o duración" - -#: includes/slm-meta-boxes.php:118 -msgid "Select one" -msgstr "Seleccione uno" - -#: includes/slm-meta-boxes.php:119 -msgid "subscription" -msgstr "Suscripción" - -#: includes/slm-meta-boxes.php:120 -msgid "lifetime" -msgstr "Vida" - -#: includes/slm-meta-boxes.php:127 -msgid "Renewal period " -msgstr "Período de renovación" - -#: includes/slm-meta-boxes.php:130 -msgid "License renewal period(yearly) , enter 0 for lifetime." -msgstr "" -"Período de renovación de la licencia (anual), escriba 0 durante la vida útil." - -#: includes/slm-meta-boxes.php:137 -msgid "Current Version" -msgstr "Versión actual" - -#: includes/slm-meta-boxes.php:140 -msgid "Enter the current version of your application, theme, or plug-in" -msgstr "" -"Introduzca la versión actual de la aplicación, el tema o el complemento" - -#: includes/slm-meta-boxes.php:147 -msgid "Until Version" -msgstr "Hasta la versión" - -#: includes/slm-meta-boxes.php:150 -msgid "Enter the version until support expires." -msgstr "Introduzca la versión hasta que expire el soporte técnico." - -#: includes/slm-meta-boxes.php:210 -msgid "License product" -msgstr "Producto de licencia" - -#: public/slm-add-menu-frontend.php:54 public/slm-add-menu-frontend.php:67 -msgid "My Licenses" -msgstr "Mis licencias" - -#. translators: %s: Customer first name -#: woocommerce/emails/customer-completed-order.php:13 -#, php-format -msgid "Hi %s," -msgstr "Hola %s," - -#. translators: %s: Site title -#: woocommerce/emails/customer-completed-order.php:15 -#, php-format -msgid "" -"Your %s order has been marked complete on our side. Here is you license " -"information." -msgstr "" -"Su pedido %s ha sido marcado como completo de nuestro lado. Aquí está la " -"información de su licencia." - -#: woocommerce/emails/customer-completed-order.php:23 -msgid "Thanks for shopping with us." -msgstr "Gracias por comprar con nosotros." - -#: woocommerce/includes/class.php:27 -msgid "Order Confirmation" -msgstr "Confirmación del pedido" - -#: woocommerce/includes/purchase.php:88 -msgid "License could not be created: Invalid sites allowed number." -msgstr "No se pudo crear la licencia: número permitido de sitios no válidos." - -#: woocommerce/includes/purchase.php:213 -msgid "License Key(s) generated" -msgstr "Clave(s) de licencia generada(s)" - -#: woocommerce/includes/purchase.php:230 -msgid "License Key(s) could not be created." -msgstr "No se han podido crear claves de licencia." - -#: woocommerce/includes/purchase.php:338 -msgid "Order confirmation email sent to: - -
    - - - - - - - -
    - - - get_id(), '_slm_license_price'); - $price = 0; - if (isset($get_price[0])) { - $price = wc_price($get_price[0]); - } - echo $price; - ?> -
    - -
    -is_purchasable() ) { + return; +} + +echo wc_get_stock_html( $product ); // WPCS: XSS ok. + +if ( $product->is_in_stock() ) : ?> + + + +
    + + + apply_filters( 'woocommerce_quantity_input_min', $product->get_min_purchase_quantity(), $product ), + // 'max_value' => apply_filters( 'woocommerce_quantity_input_max', $product->get_max_purchase_quantity(), $product ), + // 'input_value' => isset( $_POST['quantity'] ) ? wc_stock_amount( wp_unslash( $_POST['quantity'] ) ) : $product->get_min_purchase_quantity(), // WPCS: CSRF ok, input var ok. + // ) + // ); + + // do_action( 'woocommerce_after_add_to_cart_quantity' ); + ?> + + + + +
    + + + + From 16faff4cf9acb9f91be1365f24e1048d57a31988 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Tue, 31 Mar 2020 11:57:07 -0400 Subject: [PATCH 119/293] no message --- woocommerce/includes/slm-meta-boxes.php | 39 +++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/woocommerce/includes/slm-meta-boxes.php b/woocommerce/includes/slm-meta-boxes.php index e4d7376..2880f26 100644 --- a/woocommerce/includes/slm-meta-boxes.php +++ b/woocommerce/includes/slm-meta-boxes.php @@ -208,14 +208,23 @@ function wc_slm_save_data($post_id) } $_license_renewal_period = $_POST['_license_renewal_period']; - if (!empty($_license_renewal_period)) { + if (!empty($_license_renewal_period) && $_license_type == 'lifetime') { + update_post_meta($post_id, '_license_renewal_period', esc_attr('0')); + } + else { update_post_meta($post_id, '_license_renewal_period', esc_attr($_license_renewal_period)); } + $_license_renewal_period_term = $_POST['_license_renewal_period_term']; - if (!empty($_license_renewal_period_term)) { - update_post_meta($post_id, '_license_renewal_period_term', esc_attr($_license_renewal_period_term)); + if (!empty($_license_renewal_period_term) && $_license_type == 'lifetime') { + update_post_meta($post_id, '_license_renewal_period_term', esc_attr('onetime')); } + else { + update_post_meta($post_id, '_license_renewal_period_term', esc_attr($_license_renewal_period_term)); + } + + $_license_current_version = $_POST['_license_current_version']; if (!empty($_license_current_version)) { @@ -255,6 +264,30 @@ function slm_license_admin_custom_js() + + '; + } + ?> + Epikly



    License key was activated successfully !

    '.$message.'

    Regards,

    '.get_bloginfo( 'name' ).'
    '.get_bloginfo( 'admin_email' ).'

    '; + return $template; + + } + static function count_licenses($status){ global $wpdb; $license_table = SLM_TBL_LICENSE_KEYS; $get_lic_status = $wpdb->get_var("SELECT COUNT(*) FROM $license_table WHERE lic_status = '" . $status . "'"); return $get_lic_status; } + static function slm_get_icon_url($size, $filename){ + return SLM_ASSETS_URL . 'icons/' . $size . '/' .$filename; + } static function count_logrequest() { @@ -386,8 +436,6 @@ static function create_email_log($lic_key, $sent_to, $status, $sent, $date_sent) SLM_Helper_Class::write_log('email log created for '. $lic_key); } - - static function slm_wp_dashboards_stats($amount){ global $wpdb; $slm_log_table = SLM_TBL_LICENSE_KEYS; @@ -403,6 +451,25 @@ static function slm_wp_dashboards_stats($amount){ } } + static function slm_get_licinfo ($api_action, $license_key){ + $api_url = get_site_url() . '/?secret_key=' . SLM_Helper_Class::slm_get_option('lic_verification_secret') . '&slm_action='.$api_action.'&license_key='.$license_key; + $curl = curl_init(); + curl_setopt_array($curl, array( + CURLOPT_URL => $api_url, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_ENCODING => "", + CURLOPT_MAXREDIRS => 10, + CURLOPT_TIMEOUT => 0, + CURLOPT_FOLLOWLOCATION => true, + CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, + CURLOPT_CUSTOMREQUEST => "GET", + )); + $response = curl_exec($curl); + curl_close($curl); + $json = json_decode($response); + return $json; + } + static function get_subscriber_licenses(){ global $wpdb; $email = $_GET['email']; @@ -430,15 +497,7 @@ static function get_lic_activity($license_key){ $slm_log_table = SLM_TBL_LIC_LOG; echo ' -
    - - - - - - - - +
    Request IDInfo
    '; $activity = $wpdb->get_results( "SELECT * FROM " . $slm_log_table . " WHERE license_key='" . $license_key."';"); foreach ($activity as $log) { @@ -455,10 +514,4 @@ static function get_lic_activity($license_key){
    ID Request
    '; } - - - - - -} - +} \ No newline at end of file diff --git a/languages/es_ES.mo b/languages/es_ES.mo new file mode 100644 index 0000000000000000000000000000000000000000..d1b73ce7e5a0f9d26f57d8c618b95d614d43fcbf GIT binary patch literal 12777 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 PqhxK`(VeJH34;Fu% * @link https://github.com/michelve/software-license-manager */ - -class SLM_Woo_Account -{ +class SLM_Woo_Account{ public static $endpoint = 'my-licenses'; - public function __construct() - { + public function __construct(){ // Actions used to insert a new endpoint in the WordPress. add_action('init', array($this, 'add_endpoints')); add_filter('query_vars', array($this, 'add_query_vars'), 0); - // Change the My Accout page title. add_filter('the_title', array($this, 'endpoint_title')); - // Insering your new tab/page into the My Account page. add_filter('woocommerce_account_menu_items', array($this, 'slm_woo_menu_list')); add_action('woocommerce_account_' . self::$endpoint . '_endpoint', array($this, 'endpoint_content')); } - public function getActiveUser($action) - { + public function getActiveUser($action){ $info = ''; $current_user = wp_get_current_user(); if ($action == 'email') { @@ -36,13 +29,11 @@ public function getActiveUser($action) return $info; } - public function add_endpoints() - { + public function add_endpoints(){ add_rewrite_endpoint(self::$endpoint, EP_ROOT | EP_PAGES); } - public function add_query_vars($vars) - { + public function add_query_vars($vars){ $vars[] = self::$endpoint; return $vars; } @@ -59,27 +50,22 @@ public function endpoint_title($title) return $title; } - public function slm_woo_menu_list($items) - { + public function slm_woo_menu_list($items){ // Remove the logout menu item. $logout = $items['customer-logout']; unset($items['customer-logout']); - // Insert your custom endpoint. $items[self::$endpoint] = __('My Licenses', 'softwarelicensemanager'); - // Insert back the logout item. $items['customer-logout'] = $logout; return $items; } - public function endpoint_content() - { + public function endpoint_content(){ global $wpdb; $class_ = 0; $class_id_ = 0; $get_user_info = $get_user_email = ''; - // get user billing email $wc_billing_email = get_user_meta(get_current_user_id(), 'billing_email', true); @@ -87,9 +73,7 @@ public function endpoint_content() if ($wc_billing_email == '') { $wc_billing_email = get_userdata(get_current_user_id())->user_email; } - $result = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "lic_key_tbl WHERE email='" . $wc_billing_email . "' ORDER BY `email` DESC LIMIT 0,1000"); - ?>
    -
    @@ -180,7 +158,6 @@ public function endpoint_content() $slm_woo_order_id = $license_info->purchase_id_; $slm_woo_product_id = $license_info->product_ref; $woo_download_db = 'woocommerce_downloadable_product_permissions'; - $get_woo_downloads = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . $woo_download_db . " WHERE `product_id` = '" . $slm_woo_product_id . "' ORDER BY `product_id` LIMIT 0,1000;", ARRAY_A); if ($license_info->lic_status == 'active' || $license_info->lic_status == 'pending') { @@ -213,21 +190,17 @@ public function endpoint_content()
    ' . "\r\n"; - //wp_mail( $billing_address, 'License details', $message, $headers ); // The text for the note $note = __("Order confirmation email sent to: " . $billing_address . "" ); From a2cc6ec9e1b7d79351bcb75fc4691dd1adb4c3e9 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Tue, 28 Apr 2020 11:49:14 -0400 Subject: [PATCH 124/293] added: support for item reference (now you can tag a license under plugins, themes, code, etc), for previous version, a default tag will be set, it is recommended to update the items in your store/or licenses and change the item-reference to match your scenario. fixed: fix a bug where db options would get reset after applying a new update. Signed-off-by: Michel Velis --- admin/slm-add-licenses.php | 53 ++++++++++++++++++++----- admin/slm-lic-settings.php | 14 ++++++- admin/slm-list-licenses-class.php | 3 +- includes/class-slm-installer.php | 29 ++++++++++++++ includes/slm-api-listener.php | 18 ++++++++- software-license-manager.php | 8 ++-- woocommerce/includes/purchase.php | 9 +++++ woocommerce/includes/slm-meta-boxes.php | 47 ++++++++++++++-------- 8 files changed, 145 insertions(+), 36 deletions(-) diff --git a/admin/slm-add-licenses.php b/admin/slm-add-licenses.php index 4dedd5c..5c1b17f 100755 --- a/admin/slm-add-licenses.php +++ b/admin/slm-add-licenses.php @@ -30,6 +30,7 @@ function slm_add_licenses_menu() $reg_devices = ''; $class_hide = ''; $date_activated = ''; + $lic_item_ref = ''; $current_date = (date("Y-m-d")); $current_date_plus_1year = date('Y-m-d', strtotime('+1 year')); @@ -64,6 +65,7 @@ function slm_add_licenses_menu() $subscr_id = $record->subscr_id; $lic_type = $record->lic_type; $expiry_date = $record->date_expiry; + $lic_item_ref = $record->item_reference; } if (isset($_POST['save_record'])) { @@ -97,6 +99,7 @@ function slm_add_licenses_menu() $current_ver = $_POST['current_ver']; $subscr_id = $_POST['subscr_id']; $lic_type = $_POST['lic_type']; + $lic_item_ref = trim($_POST['item_reference']); if ($_POST['lic_type'] == 'lifetime'){ @@ -138,6 +141,7 @@ function slm_add_licenses_menu() $fields['current_ver'] = $current_ver; $fields['subscr_id'] = $subscr_id; $fields['lic_type'] = $lic_type; + $fields['item_reference'] = $lic_item_ref; $id = isset($_POST['edit_record']) ? $_POST['edit_record'] : ''; @@ -343,7 +347,7 @@ function slm_add_licenses_menu()
    - + -
    +
    -
    @@ -589,7 +592,7 @@ function slm_add_licenses_menu() The unique transaction ID associated with this license key
    -
    +
    - -
    - - - Until what version this product is supported -
    -
    +
    +
    + + + Until what version this product is supported +
    +
    What is the current version of this product
    +
    + + prefix . 'postmeta'; + $item_ref_meta = '_license_item_reference'; + $sql_prep = $wpdb->prepare("SELECT DISTINCT(meta_value) FROM $post_meta_tbl WHERE meta_key = %s", $item_ref_meta); + $values_item_refs = $wpdb->get_results($sql_prep, OBJECT); + ?> +
    +
    + + + +
    +
    + + +
    diff --git a/admin/slm-lic-settings.php b/admin/slm-lic-settings.php index c50f3e9..4b6d6d0 100755 --- a/admin/slm-lic-settings.php +++ b/admin/slm-lic-settings.php @@ -46,6 +46,7 @@ function slm_general_settings(){ 'slm_conflictmode' => isset($_POST['slm_conflictmode']) ? '1' : '', 'slm_wpestores' => isset($_POST['slm_wpestores']) ? '1' : '', 'slm_dl_manager' => isset($_POST['slm_dl_manager']) ? '1' : '', + 'slm_multiple_items' => isset($_POST['slm_multiple_items']) ? '1' : '', 'expiration_reminder_text' => sanitize_text_field($_POST['expiration_reminder_text']) ); update_option('slm_plugin_options', $options); @@ -160,7 +161,7 @@ function slm_general_settings(){ value="1" /> - + @@ -170,6 +171,15 @@ function slm_general_settings(){ + + + + value="1" /> + +

    + + + @@ -195,7 +205,7 @@ function slm_general_settings(){ value="1" /> - + diff --git a/admin/slm-list-licenses-class.php b/admin/slm-list-licenses-class.php index 9f0ebf3..0012814 100755 --- a/admin/slm-list-licenses-class.php +++ b/admin/slm-list-licenses-class.php @@ -339,7 +339,8 @@ function prepare_items() } $columns = $this->get_columns(); - $hidden = array(); + // $hidden = array(); + $hidden = get_hidden_columns( $screen ); $sortable = $this->get_sortable_columns(); $this->_column_headers = array($columns, $hidden, $sortable); diff --git a/includes/class-slm-installer.php b/includes/class-slm-installer.php index 29c8a68..432a695 100755 --- a/includes/class-slm-installer.php +++ b/includes/class-slm-installer.php @@ -17,6 +17,9 @@ $lic_log_tbl = SLM_TBL_LIC_LOG; $lic_emails_table = SLM_TBL_EMAILS; +//***Database version check */ +$used_db_version = get_option( 'slm_db_version', SLM_DB_VERSION); + $charset_collate = ''; if (!empty($wpdb->charset)){ $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset"; @@ -38,6 +41,7 @@ first_name varchar(32) NOT NULL default '', last_name varchar(32) NOT NULL default '', email varchar(64) NOT NULL, + item_reference varchar(255) NOT NULL, company_name varchar(100) NOT NULL default '', txn_id varchar(64) NOT NULL default '', manual_reset_count varchar(128) NOT NULL default '', @@ -56,7 +60,24 @@ )" . $charset_collate . ";"; dbDelta($lk_tbl_sql); +// // thanks to @MechComp +if (version_compare($used_db_version, '4.1.3', '<=')) { + $lk_tbl_sql = "ALTER TABLE " . $lic_key_table . " ADD item_reference varchar(255) NOT NULL;"; + dbDelta($lk_tbl_sql); +} +// set default value for reference item when they are empty +if (version_compare($used_db_version, '4.1.3', '<=')) { + // get empty values + $item_result = $wpdb->get_results("SELECT id FROM `$lic_key_table` WHERE `item_reference` LIKE '' ORDER BY id"); + + foreach ($item_result as $reference_item) { + $item_id = $reference_item->id; + // update and set default value + $update_reference = "UPDATE $lic_key_table SET item_reference='default' WHERE id='".$item_id."';"; + dbDelta($update_reference); + } +} $ld_tbl_sql = "CREATE TABLE " .$lic_domain_table. " ( id INT NOT NULL AUTO_INCREMENT , @@ -117,10 +138,18 @@ 'slm_woo_downloads' => '', 'slm_stats' => '1', 'slm_adminbar' => '1', + 'slm_multiple_items' => '', 'slm_conflictmode' => '1', 'enable_auto_key_expiration' => '1', 'slm_dl_manager' => '', 'expiration_reminder_text' => 'Your account has reverted to Basic with limited functionality. Renew today to keep using it on all of your devices and enjoy the valuable features. It’s a smart investment'); +//Bugfix - Prevention of overwriting existing settings +// thanks to @MechComp +$old_options = get_option('slm_plugin_options'); +if($old_options != false){ + $options = array_merge($options,$old_options); +} + update_option('slm_plugin_options', $options); update_option("slm_db_version", SLM_DB_VERSION); \ No newline at end of file diff --git a/includes/slm-api-listener.php b/includes/slm-api-listener.php index bcdb7f7..6e891a0 100755 --- a/includes/slm-api-listener.php +++ b/includes/slm-api-listener.php @@ -80,6 +80,7 @@ function creation_api_listener() { //current_ver $fields['subscr_id'] = isset( $_REQUEST['subscr_id'] ) ? wp_unslash( strip_tags( $_REQUEST['subscr_id'] ) ) : ''; $fields['lic_type'] = isset( $_REQUEST['lic_type'] ) ? wp_unslash( strip_tags( $_REQUEST['lic_type'] ) ) : ''; + $fields['item_reference'] = isset( $_REQUEST['item_reference'] ) ? wp_unslash( strip_tags( $_REQUEST['item_reference'] ) ) : ''; global $wpdb; $tbl_name = SLM_TBL_LICENSE_KEYS; @@ -119,6 +120,7 @@ function activation_api_listener() { if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) == 'slm_activate') { //Handle the license activation API query global $slm_debug_logger; + $options = get_option('slm_plugin_options'); SLM_API_Utility::verify_secret_key(); //Verify the secret key first. $slm_debug_logger->log_debug("API - license activation (slm_activate) request received."); @@ -153,8 +155,17 @@ function activation_api_listener() { $key = $fields['lic_key']; - $sql_prep1 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); - $retLic = $wpdb->get_row($sql_prep1, OBJECT); + // $sql_prep1 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); + // $retLic = $wpdb->get_row($sql_prep1, OBJECT); + + //Enable item_reference verification during activation + if ($options['slm_multiple_items']==1){ + $sql_prep1 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s AND item_reference = %s", $key, $item_reference); + $retLic = $wpdb->get_row($sql_prep1, OBJECT); + }else{ + $sql_prep1 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); + $retLic = $wpdb->get_row($sql_prep1, OBJECT); + } $sql_prep2 = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key = %s", $key); $reg_domains = $wpdb->get_results($sql_prep2, OBJECT); @@ -427,6 +438,7 @@ function update_api_listener(){ $fields['txn_id'] = strip_tags(sanitize_text_field($_REQUEST['txn_id'])); $fields['lic_type'] = isset($_REQUEST['lic_type']) ? wp_unslash(strip_tags(sanitize_text_field($_REQUEST['lic_type']))) : 'subscription'; $fields['lic_status'] = isset($_REQUEST['lic_status']) ? wp_unslash(strip_tags(sanitize_text_field($_REQUEST['lic_status']))) : 'active'; + $fields['item_reference'] = isset( $_REQUEST['item_reference'] ) ? wp_unslash( strip_tags( $_REQUEST['item_reference'] ) ) : ''; global $wpdb; @@ -510,6 +522,7 @@ function check_api_listener() { 'lic_type' => $retLic->lic_type, 'max_allowed_domains' => $retLic->max_allowed_domains, 'max_allowed_devices' => $retLic->max_allowed_devices, + 'item_reference' => $retLic->item_reference, 'registered_domains' => $reg_domains, 'registered_devices' => $reg_devices, 'date_created' => $retLic->date_created, @@ -585,6 +598,7 @@ function check_api_info() { 'license_key' => $retLic->license_key, 'lic_type' => $retLic->lic_type, 'max_allowed_domains' => $retLic->max_allowed_domains, + 'item_reference' => $retLic->item_reference, 'max_allowed_devices' => $retLic->max_allowed_devices, 'date_created' => $retLic->date_created, 'date_renewed' => $retLic->date_renewed, diff --git a/software-license-manager.php b/software-license-manager.php index 9fb7d9d..6d06b3d 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ get_customer_id(); $api_params['lic_type'] = $license_type; + $api_params['item_reference'] = $lic_item_ref; //access_expires //SLM_Helper_Class::write_log('license_type -- ' . $license_type ); @@ -178,6 +180,7 @@ function wc_slm_create_license_keys($order_id) { 'key' => $license_key, 'expires' => $expiration, 'type' => $license_type, + 'item_ref' => $lic_item_ref, 'status' => 'pending', 'version' => $_license_current_version, 'until' => $_license_until_version @@ -226,6 +229,7 @@ function wc_slm_payment_note($order_id, $licenses) { add_post_meta($order_id, 'slm_wc_license_order_key', $license_key); add_post_meta($order_id, 'slm_wc_license_expires', $license[ 'expires']); add_post_meta($order_id, 'slm_wc_license_type', $license[ 'type']); + add_post_meta($order_id, 'slm_wc_license_item_ref', $license[ 'item_ref']); add_post_meta($order_id, 'slm_wc_license_status', $license['status']); add_post_meta($order_id, 'slm_wc_license_version', $license[ 'version']); add_post_meta($order_id, 'slm_wc_until_version', $license['until']); @@ -399,6 +403,10 @@ function slm_add_lic_key_meta_update($order_id) update_post_meta($order_id, 'slm_wc_license_status', sanitize_text_field($_POST['slm_wc_license_status'])); } + if (!empty($_POST['slm_wc_license_item_ref'])) { + update_post_meta($order_id, 'slm_wc_license_item_ref', sanitize_text_field($_POST['slm_wc_license_item_ref'])); + } + if (!empty($_POST['slm_wc_license_version'])) { update_post_meta($order_id, 'slm_wc_license_version', sanitize_text_field($_POST['slm_wc_license_version'])); } @@ -411,6 +419,7 @@ function slm_add_lic_key_meta_display($order){ echo '

    ' . __('License key') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_order_key', true) . '

    '; echo '

    ' . __('License expiration') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_expires', true) . '

    '; echo '

    ' . __('License type') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_type', true) . '

    '; + echo '

    ' . __('License item reference') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_item_ref', true) . '

    '; echo '

    ' . __('License status') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_status', true) . '

    '; echo '

    ' . __('License current version') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_version', true) . '

    '; echo '

    ' . __('Supported until version') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_until_version', true) . '

    '; diff --git a/woocommerce/includes/slm-meta-boxes.php b/woocommerce/includes/slm-meta-boxes.php index 2880f26..874e27d 100644 --- a/woocommerce/includes/slm-meta-boxes.php +++ b/woocommerce/includes/slm-meta-boxes.php @@ -72,25 +72,26 @@ function wcpp_custom_style() } }); }); - + __('Licensing', 'softwarelicensemanager'), - 'target' => 'wc_slm_meta', - 'class' => array('show_if_slm_license', 'show_if_wc_slm_data_tab_enabled'), - ); + function wc_slm_add_tab($wc_slm_data_tabs) + { + $wc_slm_data_tabs['wc_slm_data_tab'] = array( + 'label' => __('Licensing', 'softwarelicensemanager'), + 'target' => 'wc_slm_meta', + 'class' => array('show_if_slm_license', 'show_if_wc_slm_data_tab_enabled'), + ); - return $wc_slm_data_tabs; - } + return $wc_slm_data_tabs; + } - function wc_slm_data_panel() - { - global $post; - ?> + function wc_slm_data_panel(){ + global $post; + $slm_options = get_option('slm_plugin_options'); + ?>
    @@ -115,6 +116,17 @@ function wc_slm_data_panel() 'description' => __('Enter the allowed amount of devices this license can have (computers, mobile, etc).', 'softwarelicensemanager') ) ); + if ($slm_options['slm_multiple_items']==1){ + woocommerce_wp_text_input( + array( + 'id' => '_license_item_reference', + 'label' => __('Item reference', 'softwarelicensemanager'), + 'placeholder' => "Software's item reference", + 'desc_tip' => 'true', + 'description' => __('Enter the item reference of your application, theme, or plug-in. The licence will be then bound to this exact software.', 'softwarelicensemanager') + ) + ); + } woocommerce_wp_select( array( 'id' => '_license_type', @@ -197,6 +209,9 @@ function wc_slm_save_data($post_id) $is_wc_slm_data_tab_enabled = isset($_POST['_wc_slm_data_tab_enabled']) ? 'yes' : 'no'; update_post_meta($post_id, '_wc_slm_data_tab_enabled', $is_wc_slm_data_tab_enabled); + $_license_item_reference = $_POST['_license_item_reference']; + update_post_meta($post_id, '_license_item_reference', esc_attr($_license_item_reference)); + $_license_type = $_POST['_license_type']; if (!empty($_license_type)) { update_post_meta($post_id, '_license_type', esc_attr($_license_type)); From 7da3e7da87b7bc5ca450a8bca3c5adbe043f275c Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Tue, 28 Apr 2020 12:07:46 -0400 Subject: [PATCH 125/293] Added: auto updater support Signed-off-by: Michel Velis --- .../languages/plugin-update-checker-ja.mo | Bin 1105 -> 0 bytes .../languages/plugin-update-checker-ja.po | 42 --- .../plugin-update-checker.php | 34 -- .../.editorconfig | 0 .../Puc/v4/Factory.php | 2 +- .../Puc/v4p9}/Autoloader.php | 30 +- .../Puc/v4p9}/DebugBar/Extension.php | 16 +- .../Puc/v4p9}/DebugBar/Panel.php | 6 +- .../Puc/v4p9}/DebugBar/PluginExtension.php | 8 +- .../Puc/v4p9}/DebugBar/PluginPanel.php | 6 +- .../Puc/v4p9}/DebugBar/ThemePanel.php | 6 +- .../Puc/v4p9}/Factory.php | 73 ++++- .../Puc/v4p9}/InstalledPackage.php | 6 +- .../Puc/v4p9}/Metadata.php | 4 +- .../Puc/v4p9}/OAuthSignature.php | 4 +- .../Puc/v4p9}/Plugin/Info.php | 6 +- .../Puc/v4p9}/Plugin/Package.php | 10 +- .../Puc/v4p9}/Plugin/Ui.php | 6 +- .../Puc/v4p9}/Plugin/Update.php | 20 +- .../Puc/v4p9}/Plugin/UpdateChecker.php | 40 +-- .../Puc/v4p9}/Scheduler.php | 53 ++- .../Puc/v4p9}/StateStore.php | 18 +- .../Puc/v4p9}/Theme/Package.php | 4 +- .../Puc/v4p9}/Theme/Update.php | 8 +- .../Puc/v4p9}/Theme/UpdateChecker.php | 22 +- .../Puc/v4p9}/Update.php | 4 +- .../Puc/v4p9}/UpdateChecker.php | 93 +++--- .../Puc/v4p9}/UpgraderStatus.php | 4 +- .../Puc/v4p9}/Utils.php | 4 +- .../Puc/v4p9}/Vcs/Api.php | 14 +- .../Puc/v4p9}/Vcs/BaseChecker.php | 6 +- .../Puc/v4p9}/Vcs/BitBucketApi.php | 24 +- .../Puc/v4p9}/Vcs/GitHubApi.php | 120 ++++--- .../Puc/v4p9}/Vcs/GitLabApi.php | 46 ++- .../Puc/v4p9}/Vcs/PluginUpdateChecker.php | 21 +- .../Puc/v4p9}/Vcs/Reference.php | 4 +- .../Puc/v4p9}/Vcs/ThemeUpdateChecker.php | 18 +- plugin-update-checker/README.md | 301 ++++++++++++++++++ plugin-update-checker/composer.json | 23 ++ .../css/puc-debug-bar.css | 0 .../js/debug-bar.js | 0 .../languages/plugin-update-checker-ca.mo | Bin 0 -> 1186 bytes .../languages/plugin-update-checker-ca.po | 48 +++ .../languages/plugin-update-checker-cs_CZ.mo | Bin .../languages/plugin-update-checker-cs_CZ.po | 0 .../languages/plugin-update-checker-da_DK.mo | Bin .../languages/plugin-update-checker-da_DK.po | 0 .../languages/plugin-update-checker-de_DE.mo | Bin .../languages/plugin-update-checker-de_DE.po | 0 .../languages/plugin-update-checker-es_AR.mo | Bin 0 -> 1140 bytes .../languages/plugin-update-checker-es_AR.po | 48 +++ .../languages/plugin-update-checker-es_CL.mo | Bin 0 -> 1140 bytes .../languages/plugin-update-checker-es_CL.po | 48 +++ .../languages/plugin-update-checker-es_CO.mo | Bin 0 -> 1140 bytes .../languages/plugin-update-checker-es_CO.po | 48 +++ .../languages/plugin-update-checker-es_CR.mo | Bin 0 -> 1140 bytes .../languages/plugin-update-checker-es_CR.po | 48 +++ .../languages/plugin-update-checker-es_DO.mo | Bin 0 -> 1140 bytes .../languages/plugin-update-checker-es_DO.po | 48 +++ .../languages/plugin-update-checker-es_ES.mo | Bin 0 -> 1140 bytes .../languages/plugin-update-checker-es_ES.po | 48 +++ .../languages/plugin-update-checker-es_GT.mo | Bin 0 -> 1140 bytes .../languages/plugin-update-checker-es_GT.po | 48 +++ .../languages/plugin-update-checker-es_HN.mo | Bin 0 -> 1140 bytes .../languages/plugin-update-checker-es_HN.po | 48 +++ .../languages/plugin-update-checker-es_MX.mo | Bin 0 -> 1140 bytes .../languages/plugin-update-checker-es_MX.po | 48 +++ .../languages/plugin-update-checker-es_PE.mo | Bin 0 -> 1140 bytes .../languages/plugin-update-checker-es_PE.po | 48 +++ .../languages/plugin-update-checker-es_PR.mo | Bin 0 -> 1140 bytes .../languages/plugin-update-checker-es_PR.po | 48 +++ .../languages/plugin-update-checker-es_UY.mo | Bin 0 -> 1140 bytes .../languages/plugin-update-checker-es_UY.po | 48 +++ .../languages/plugin-update-checker-es_VE.mo | Bin 0 -> 1140 bytes .../languages/plugin-update-checker-es_VE.po | 48 +++ .../languages/plugin-update-checker-fa_IR.mo | Bin .../languages/plugin-update-checker-fa_IR.po | 0 .../languages/plugin-update-checker-fr_CA.mo | Bin .../languages/plugin-update-checker-fr_CA.po | 0 .../languages/plugin-update-checker-fr_FR.mo | Bin .../languages/plugin-update-checker-fr_FR.po | 0 .../languages/plugin-update-checker-hu_HU.mo | Bin .../languages/plugin-update-checker-hu_HU.po | 0 .../languages/plugin-update-checker-it_IT.mo | Bin .../languages/plugin-update-checker-it_IT.po | 0 .../languages/plugin-update-checker-ja.mo | Bin 0 -> 1454 bytes .../languages/plugin-update-checker-ja.po | 57 ++++ .../languages/plugin-update-checker-nl_BE.mo | Bin .../languages/plugin-update-checker-nl_BE.po | 0 .../languages/plugin-update-checker-nl_NL.mo | Bin .../languages/plugin-update-checker-nl_NL.po | 0 .../languages/plugin-update-checker-pt_BR.mo | Bin .../languages/plugin-update-checker-pt_BR.po | 0 .../languages/plugin-update-checker-sl_SI.mo | Bin 0 -> 1203 bytes .../languages/plugin-update-checker-sl_SI.po | 48 +++ .../languages/plugin-update-checker-sv_SE.mo | Bin .../languages/plugin-update-checker-sv_SE.po | 0 .../languages/plugin-update-checker.pot | 0 .../license.txt | 0 plugin-update-checker/load-v4p9.php | 28 ++ .../plugin-update-checker.php | 10 + plugin-update-checker/vendor/Parsedown.php | 9 + .../vendor/ParsedownLegacy.php | 0 .../vendor/ParsedownModern.php | 0 .../vendor/PucReadmeParser.php | 7 + readme.txt | 25 ++ software-license-manager.php | 17 +- 107 files changed, 1635 insertions(+), 344 deletions(-) delete mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-ja.mo delete mode 100755 admin/includes/plugin-update-checker/languages/plugin-update-checker-ja.po delete mode 100755 admin/includes/plugin-update-checker/plugin-update-checker.php rename {admin/includes/plugin-update-checker => plugin-update-checker}/.editorconfig (100%) rename {admin/includes/plugin-update-checker => plugin-update-checker}/Puc/v4/Factory.php (54%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Autoloader.php (58%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/DebugBar/Extension.php (91%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/DebugBar/Panel.php (96%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/DebugBar/PluginExtension.php (75%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/DebugBar/PluginPanel.php (82%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/DebugBar/ThemePanel.php (68%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Factory.php (81%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/InstalledPackage.php (95%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Metadata.php (97%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/OAuthSignature.php (96%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Plugin/Info.php (95%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Plugin/Package.php (94%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Plugin/Ui.php (98%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Plugin/Update.php (82%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Plugin/UpdateChecker.php (92%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Scheduler.php (79%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/StateStore.php (89%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Theme/Package.php (93%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Theme/Update.php (89%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Theme/UpdateChecker.php (87%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Update.php (84%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/UpdateChecker.php (92%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/UpgraderStatus.php (98%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Utils.php (96%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Vcs/Api.php (96%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Vcs/BaseChecker.php (75%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Vcs/BitBucketApi.php (92%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Vcs/GitHubApi.php (77%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Vcs/GitLabApi.php (87%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Vcs/PluginUpdateChecker.php (91%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Vcs/Reference.php (92%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker/Puc/v4p6 => plugin-update-checker/Puc/v4p9}/Vcs/ThemeUpdateChecker.php (85%) mode change 100755 => 100644 create mode 100644 plugin-update-checker/README.md create mode 100644 plugin-update-checker/composer.json rename {admin/includes/plugin-update-checker => plugin-update-checker}/css/puc-debug-bar.css (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/js/debug-bar.js (100%) mode change 100755 => 100644 create mode 100644 plugin-update-checker/languages/plugin-update-checker-ca.mo create mode 100644 plugin-update-checker/languages/plugin-update-checker-ca.po rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-cs_CZ.mo (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-cs_CZ.po (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-da_DK.mo (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-da_DK.po (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-de_DE.mo (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-de_DE.po (100%) mode change 100755 => 100644 create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_AR.mo create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_AR.po create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_CL.mo create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_CL.po create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_CO.mo create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_CO.po create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_CR.mo create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_CR.po create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_DO.mo create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_DO.po create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_ES.mo create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_ES.po create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_GT.mo create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_GT.po create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_HN.mo create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_HN.po create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_MX.mo create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_MX.po create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_PE.mo create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_PE.po create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_PR.mo create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_PR.po create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_UY.mo create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_UY.po create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_VE.mo create mode 100644 plugin-update-checker/languages/plugin-update-checker-es_VE.po rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-fa_IR.mo (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-fa_IR.po (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-fr_CA.mo (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-fr_CA.po (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-fr_FR.mo (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-fr_FR.po (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-hu_HU.mo (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-hu_HU.po (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-it_IT.mo (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-it_IT.po (100%) mode change 100755 => 100644 create mode 100644 plugin-update-checker/languages/plugin-update-checker-ja.mo create mode 100644 plugin-update-checker/languages/plugin-update-checker-ja.po rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-nl_BE.mo (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-nl_BE.po (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-nl_NL.mo (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-nl_NL.po (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-pt_BR.mo (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-pt_BR.po (100%) mode change 100755 => 100644 create mode 100644 plugin-update-checker/languages/plugin-update-checker-sl_SI.mo create mode 100644 plugin-update-checker/languages/plugin-update-checker-sl_SI.po rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-sv_SE.mo (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker-sv_SE.po (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/languages/plugin-update-checker.pot (100%) mode change 100755 => 100644 rename {admin/includes/plugin-update-checker => plugin-update-checker}/license.txt (100%) mode change 100755 => 100644 create mode 100644 plugin-update-checker/load-v4p9.php create mode 100644 plugin-update-checker/plugin-update-checker.php create mode 100644 plugin-update-checker/vendor/Parsedown.php rename {admin/includes/plugin-update-checker => plugin-update-checker}/vendor/ParsedownLegacy.php (100%) mode change 100755 => 100644 rename admin/includes/plugin-update-checker/vendor/Parsedown.php => plugin-update-checker/vendor/ParsedownModern.php (100%) mode change 100755 => 100644 rename admin/includes/plugin-update-checker/vendor/readme-parser.php => plugin-update-checker/vendor/PucReadmeParser.php (98%) mode change 100755 => 100644 create mode 100644 readme.txt diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-ja.mo b/admin/includes/plugin-update-checker/languages/plugin-update-checker-ja.mo deleted file mode 100755 index 376102a19c8dc7832685e62607d49c44f202859b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1105 zcmZ{iO-~a+7{^CN5A~!+^)Qlf(y7}T0k_ns6%1Npqs8c{8MZ^abUWM3PI-wQ*xmRN z)Wm3n2qq>3gJ1*<#P~w=Gk8}o6RI~qfqkn2!q~(nn9mINzhLa3C7zH`UEP0_6PGF2pxoY6(WUr4PpnxFA!TH z?rTB_QtNFy^stOz3GJ+}gglL57*a)MlyJW-aJ7=Bk~t__WP)MS!Q941k@5nw>;k5P z)U;@y#iFQ}m$*H|8wHR94oqN2QdxCybBoiAWRc;DRV|ntOH*2`=@jN{2oEyhm^R0D zKMpclob@EwZOaCKRRhxR$<+#$HV$~BC?o6vW=PVVCznHiy!*)Gz)nHNy>GeJ7JVdqU=&~ba8DI-_NS;mTsN-lflCi3STBOSsWk<&xE)k|qGL{I=6oyGHu~~V^t_p*tLLeQ7 zL>s>6*~pMB@=n@xq>gjBM2;nL!|>>_!*OGa3!}m)W`KZbzz{*on^wNB{0ZgXQvRy) zZ!7P?x9NA^=kKA~)Jko9Y3Z{|8Dqi q>u__*TT{!24J6q8fGoQ$MTRdf6`lshVj3 diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-ja.po b/admin/includes/plugin-update-checker/languages/plugin-update-checker-ja.po deleted file mode 100755 index 673c311..0000000 --- a/admin/includes/plugin-update-checker/languages/plugin-update-checker-ja.po +++ /dev/null @@ -1,42 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: plugin-update-checker\n" -"POT-Creation-Date: 2017-06-02 18:31+0900\n" -"PO-Revision-Date: 2017-06-02 18:32+0900\n" -"Last-Translator: tak \n" -"Language-Team: \n" -"Language: ja_JP\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.2\n" -"X-Poedit-Basepath: ..\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_x;_x:1,2c\n" -"X-Poedit-SearchPath-0: .\n" - -#: Puc/v4p1/Plugin/UpdateChecker.php:362 -msgid "Check for updates" -msgstr "アップデートを確認" - -#: Puc/v4p1/Plugin/UpdateChecker.php:409 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "%s プラグインは、最新バージョンです。" - -#: Puc/v4p1/Plugin/UpdateChecker.php:411 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "%s プラグインの最新バージョンがあります。" - -#: Puc/v4p1/Plugin/UpdateChecker.php:413 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "バージョンアップの確認で想定外の状態になりました。ステータス:\"%s\"" - -#: Puc/v4p1/Vcs/PluginUpdateChecker.php:83 -msgid "There is no changelog available." -msgstr "更新履歴はありません。" diff --git a/admin/includes/plugin-update-checker/plugin-update-checker.php b/admin/includes/plugin-update-checker/plugin-update-checker.php deleted file mode 100755 index 81bbc1e..0000000 --- a/admin/includes/plugin-update-checker/plugin-update-checker.php +++ /dev/null @@ -1,34 +0,0 @@ - 'Puc_v4p6_Plugin_UpdateChecker', - 'Theme_UpdateChecker' => 'Puc_v4p6_Theme_UpdateChecker', - - 'Vcs_PluginUpdateChecker' => 'Puc_v4p6_Vcs_PluginUpdateChecker', - 'Vcs_ThemeUpdateChecker' => 'Puc_v4p6_Vcs_ThemeUpdateChecker', - - 'GitHubApi' => 'Puc_v4p6_Vcs_GitHubApi', - 'BitBucketApi' => 'Puc_v4p6_Vcs_BitBucketApi', - 'GitLabApi' => 'Puc_v4p6_Vcs_GitLabApi', - ) - as $pucGeneralClass => $pucVersionedClass -) { - Puc_v4_Factory::addVersion($pucGeneralClass, $pucVersionedClass, '4.6'); - //Also add it to the minor-version factory in case the major-version factory - //was already defined by another, older version of the update checker. - Puc_v4p6_Factory::addVersion($pucGeneralClass, $pucVersionedClass, '4.6'); -} diff --git a/admin/includes/plugin-update-checker/.editorconfig b/plugin-update-checker/.editorconfig similarity index 100% rename from admin/includes/plugin-update-checker/.editorconfig rename to plugin-update-checker/.editorconfig diff --git a/admin/includes/plugin-update-checker/Puc/v4/Factory.php b/plugin-update-checker/Puc/v4/Factory.php old mode 100755 new mode 100644 similarity index 54% rename from admin/includes/plugin-update-checker/Puc/v4/Factory.php rename to plugin-update-checker/Puc/v4/Factory.php index 1fd3f0f..3723e00 --- a/admin/includes/plugin-update-checker/Puc/v4/Factory.php +++ b/plugin-update-checker/Puc/v4/Factory.php @@ -1,6 +1,6 @@ prefix = $nameParts[0] . '_' . $nameParts[1] . '_'; - $this->libraryDir = realpath($this->rootDir . '../..') . '/'; + $this->libraryDir = $this->rootDir . '../..'; + if ( !self::isPhar() ) { + $this->libraryDir = realpath($this->libraryDir); + } + $this->libraryDir = $this->libraryDir . '/'; + $this->staticMap = array( - 'PucReadmeParser' => 'vendor/readme-parser.php', - 'Parsedown' => 'vendor/ParsedownLegacy.php', + 'PucReadmeParser' => 'vendor/PucReadmeParser.php', + 'Parsedown' => 'vendor/Parsedown.php', + 'Puc_v4_Factory' => 'Puc/v4/Factory.php', ); - if ( version_compare(PHP_VERSION, '5.3.0', '>=') ) { - $this->staticMap['Parsedown'] = 'vendor/Parsedown.php'; - } spl_autoload_register(array($this, 'autoload')); } + /** + * Determine if this file is running as part of a Phar archive. + * + * @return bool + */ + private static function isPhar() { + //Check if the current file path starts with "phar://". + static $pharProtocol = 'phar://'; + return (substr(__FILE__, 0, strlen($pharProtocol)) === $pharProtocol); + } + public function autoload($className) { if ( isset($this->staticMap[$className]) && file_exists($this->libraryDir . $this->staticMap[$className]) ) { /** @noinspection PhpIncludeInspection */ diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/Extension.php b/plugin-update-checker/Puc/v4p9/DebugBar/Extension.php old mode 100755 new mode 100644 similarity index 91% rename from admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/Extension.php rename to plugin-update-checker/Puc/v4p9/DebugBar/Extension.php index 06f81c5..9401789 --- a/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/Extension.php +++ b/plugin-update-checker/Puc/v4p9/DebugBar/Extension.php @@ -1,12 +1,12 @@ updateChecker = $updateChecker; @@ -150,11 +150,11 @@ private function getLibraryUrl($filePath) { $absolutePath = realpath(dirname(__FILE__) . '/../../../' . ltrim($filePath, '/')); //Where is the library located inside the WordPress directory structure? - $absolutePath = Puc_v4p6_Factory::normalizePath($absolutePath); + $absolutePath = Puc_v4p9_Factory::normalizePath($absolutePath); - $pluginDir = Puc_v4p6_Factory::normalizePath(WP_PLUGIN_DIR); - $muPluginDir = Puc_v4p6_Factory::normalizePath(WPMU_PLUGIN_DIR); - $themeDir = Puc_v4p6_Factory::normalizePath(get_theme_root()); + $pluginDir = Puc_v4p9_Factory::normalizePath(WP_PLUGIN_DIR); + $muPluginDir = Puc_v4p9_Factory::normalizePath(WPMU_PLUGIN_DIR); + $themeDir = Puc_v4p9_Factory::normalizePath(get_theme_root()); if ( (strpos($absolutePath, $pluginDir) === 0) || (strpos($absolutePath, $muPluginDir) === 0) ) { //It's part of a plugin. diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/Panel.php b/plugin-update-checker/Puc/v4p9/DebugBar/Panel.php old mode 100755 new mode 100644 similarity index 96% rename from admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/Panel.php rename to plugin-update-checker/Puc/v4p9/DebugBar/Panel.php index 06a218d..dd0e259 --- a/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/Panel.php +++ b/plugin-update-checker/Puc/v4p9/DebugBar/Panel.php @@ -1,9 +1,9 @@
    '; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/PluginExtension.php b/plugin-update-checker/Puc/v4p9/DebugBar/PluginExtension.php old mode 100755 new mode 100644 similarity index 75% rename from admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/PluginExtension.php rename to plugin-update-checker/Puc/v4p9/DebugBar/PluginExtension.php index c9462ec..ca3de42 --- a/admin/includes/plugin-update-checker/Puc/v4p6/DebugBar/PluginExtension.php +++ b/plugin-update-checker/Puc/v4p9/DebugBar/PluginExtension.php @@ -1,12 +1,12 @@ '', + 'slug' => '', + 'checkPeriod' => 12, + 'optionName' => '', + 'muPluginFile' => '', + ); + $args = array_merge($defaults, array_intersect_key($args, $defaults)); + extract($args, EXTR_SKIP); + + //Check for the service URI + if ( empty($metadataUrl) ) { + $metadataUrl = self::getServiceURI($fullPath); + } + + /** @noinspection PhpUndefinedVariableInspection These variables are created by extract(), above. */ + return self::buildUpdateChecker($metadataUrl, $fullPath, $slug, $checkPeriod, $optionName, $muPluginFile); + } + /** * Create a new instance of the update checker. * * This method automatically detects if you're using it for a plugin or a theme and chooses * the appropriate implementation for your update source (JSON file, GitHub, BitBucket, etc). * - * @see Puc_v4p6_UpdateChecker::__construct + * @see Puc_v4p9_UpdateChecker::__construct * * @param string $metadataUrl The URL of the metadata file, a GitHub repository, or another supported update source. * @param string $fullPath Full path to the main plugin file or to the theme directory. @@ -32,7 +62,7 @@ class Puc_v4p6_Factory { * @param int $checkPeriod How often to check for updates (in hours). * @param string $optionName Where to store book-keeping info about update checks. * @param string $muPluginFile The plugin filename relative to the mu-plugins directory. - * @return Puc_v4p6_Plugin_UpdateChecker|Puc_v4p6_Theme_UpdateChecker|Puc_v4p6_Vcs_BaseChecker + * @return Puc_v4p9_Plugin_UpdateChecker|Puc_v4p9_Theme_UpdateChecker|Puc_v4p9_Vcs_BaseChecker */ public static function buildUpdateChecker($metadataUrl, $fullPath, $slug = '', $checkPeriod = 12, $optionName = '', $muPluginFile = '') { $fullPath = self::normalizePath($fullPath); @@ -80,7 +110,7 @@ public static function buildUpdateChecker($metadataUrl, $fullPath, $slug = '', $ ); return null; } - + if ( !isset($apiClass) ) { //Plain old update checker. return new $checkerClass($metadataUrl, $id, $slug, $checkPeriod, $optionName, $muPluginFile); @@ -127,7 +157,7 @@ public static function normalizePath($path) { } return $path; } - + /** * Check if the path points to a plugin file. * @@ -178,6 +208,35 @@ protected static function getThemeDirectoryName($absolutePath) { return null; } + /** + * Get the service URI from the file header. + * + * @param string $fullPath + * @return string + */ + private static function getServiceURI($fullPath) { + //Look for the URI + if ( is_readable($fullPath) ) { + $seek = array( + 'github' => 'GitHub URI', + 'gitlab' => 'GitLab URI', + 'bucket' => 'BitBucket URI', + ); + $seek = apply_filters('puc_get_source_uri', $seek); + $data = get_file_data($fullPath, $seek); + foreach ($data as $key => $uri) { + if ( $uri ) { + return $uri; + } + } + } + + //URI was not found so throw an error. + throw new RuntimeException( + sprintf('Unable to locate URI in header of "%s"', htmlentities($fullPath)) + ); + } + /** * Get the name of the hosting service that the URL points to. * @@ -207,7 +266,7 @@ private static function getVcsService($metadataUrl) { $service = $knownServices[$host]; } } - + return apply_filters('puc_get_vcs_service', $service, $host, $path, $metadataUrl); } diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/InstalledPackage.php b/plugin-update-checker/Puc/v4p9/InstalledPackage.php old mode 100755 new mode 100644 similarity index 95% rename from admin/includes/plugin-update-checker/Puc/v4p6/InstalledPackage.php rename to plugin-update-checker/Puc/v4p9/InstalledPackage.php index da7b17b..0a2768a --- a/admin/includes/plugin-update-checker/Puc/v4p6/InstalledPackage.php +++ b/plugin-update-checker/Puc/v4p9/InstalledPackage.php @@ -1,5 +1,5 @@ $field) ) { diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Package.php b/plugin-update-checker/Puc/v4p9/Plugin/Package.php old mode 100755 new mode 100644 similarity index 94% rename from admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Package.php rename to plugin-update-checker/Puc/v4p9/Plugin/Package.php index e880a9f..b92c5f7 --- a/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Package.php +++ b/plugin-update-checker/Puc/v4p9/Plugin/Package.php @@ -1,9 +1,9 @@ pluginAbsolutePath); //If realpath() fails, just normalize the syntax instead. if (($muPluginDir === false) || ($pluginPath === false)) { - $muPluginDir = Puc_v4p6_Factory::normalizePath(WPMU_PLUGIN_DIR); - $pluginPath = Puc_v4p6_Factory::normalizePath($this->pluginAbsolutePath); + $muPluginDir = Puc_v4p9_Factory::normalizePath(WPMU_PLUGIN_DIR); + $pluginPath = Puc_v4p9_Factory::normalizePath($this->pluginAbsolutePath); } $cachedResult = (strpos($pluginPath, $muPluginDir) === 0); diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php b/plugin-update-checker/Puc/v4p9/Plugin/Ui.php old mode 100755 new mode 100644 similarity index 98% rename from admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php rename to plugin-update-checker/Puc/v4p9/Plugin/Ui.php index 93c22aa..390bcdf --- a/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php +++ b/plugin-update-checker/Puc/v4p9/Plugin/Ui.php @@ -1,14 +1,14 @@ updateChecker = $updateChecker; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Update.php b/plugin-update-checker/Puc/v4p9/Plugin/Update.php old mode 100755 new mode 100644 similarity index 82% rename from admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Update.php rename to plugin-update-checker/Puc/v4p9/Plugin/Update.php index 5939656..4456001 --- a/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Update.php +++ b/plugin-update-checker/Puc/v4p9/Plugin/Update.php @@ -1,5 +1,5 @@ id = $this->id; $update->url = $this->homepage; $update->tested = $this->tested; + $update->requires_php = $this->requires_php; $update->plugin = $this->filename; if ( !empty($this->upgrade_notice) ) { diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/UpdateChecker.php b/plugin-update-checker/Puc/v4p9/Plugin/UpdateChecker.php old mode 100755 new mode 100644 similarity index 92% rename from admin/includes/plugin-update-checker/Puc/v4p6/Plugin/UpdateChecker.php rename to plugin-update-checker/Puc/v4p9/Plugin/UpdateChecker.php index 1cbe7c6..e99af5e --- a/admin/includes/plugin-update-checker/Puc/v4p6/Plugin/UpdateChecker.php +++ b/plugin-update-checker/Puc/v4p9/Plugin/UpdateChecker.php @@ -1,5 +1,5 @@ pluginFile), $slug, $checkPeriod, $optionName); + //Backwards compatibility: If the plugin is a mu-plugin but no $muPluginFile is specified, assume //it's the same as $pluginFile given that it's not in a subdirectory (WP only looks in the base dir). if ( (strpbrk($this->pluginFile, '/\\') === false) && $this->isUnknownMuPlugin() ) { @@ -66,19 +68,17 @@ public function __construct($metadataUrl, $pluginFile, $slug = '', $checkPeriod //Details: https://github.com/YahnisElsts/plugin-update-checker/issues/138#issuecomment-335590964 add_action('uninstall_' . $this->pluginFile, array($this, 'removeHooks')); - parent::__construct($metadataUrl, dirname($this->pluginFile), $slug, $checkPeriod, $optionName); - - $this->extraUi = new Puc_v4p6_Plugin_Ui($this); + $this->extraUi = new Puc_v4p9_Plugin_Ui($this); } /** * Create an instance of the scheduler. * * @param int $checkPeriod - * @return Puc_v4p6_Scheduler + * @return Puc_v4p9_Scheduler */ protected function createScheduler($checkPeriod) { - $scheduler = new Puc_v4p6_Scheduler($this, $checkPeriod, array('load-plugins.php')); + $scheduler = new Puc_v4p9_Scheduler($this, $checkPeriod, array('load-plugins.php')); register_deactivation_hook($this->pluginFile, array($scheduler, 'removeUpdaterCron')); return $scheduler; } @@ -124,13 +124,13 @@ public function removeHooks() { * @uses wp_remote_get() * * @param array $queryArgs Additional query arguments to append to the request. Optional. - * @return Puc_v4p6_Plugin_Info + * @return Puc_v4p9_Plugin_Info */ public function requestInfo($queryArgs = array()) { - list($pluginInfo, $result) = $this->requestMetadata('Puc_v4p6_Plugin_Info', 'request_info', $queryArgs); + list($pluginInfo, $result) = $this->requestMetadata('Puc_v4p9_Plugin_Info', 'request_info', $queryArgs); if ( $pluginInfo !== null ) { - /** @var Puc_v4p6_Plugin_Info $pluginInfo */ + /** @var Puc_v4p9_Plugin_Info $pluginInfo */ $pluginInfo->filename = $this->pluginFile; $pluginInfo->slug = $this->slug; } @@ -144,7 +144,7 @@ public function requestInfo($queryArgs = array()) { * * @uses PluginUpdateChecker::requestInfo() * - * @return Puc_v4p6_Update|null An instance of Plugin_Update, or NULL when no updates are available. + * @return Puc_v4p9_Update|null An instance of Plugin_Update, or NULL when no updates are available. */ public function requestUpdate() { //For the sake of simplicity, this function just calls requestInfo() @@ -153,7 +153,7 @@ public function requestUpdate() { if ( $pluginInfo === null ){ return null; } - $update = Puc_v4p6_Plugin_Update::fromPluginInfo($pluginInfo); + $update = Puc_v4p9_Plugin_Update::fromPluginInfo($pluginInfo); $update = $this->filterUpdateResult($update); @@ -180,6 +180,8 @@ public function injectInfo($result, $action = null, $args = null){ } $pluginInfo = $this->requestInfo(); + $this->fixSupportedWordpressVersion($pluginInfo); + $pluginInfo = apply_filters($this->getUniqueName('pre_inject_info'), $pluginInfo); if ( $pluginInfo ) { return $pluginInfo->toWpFormat(); @@ -263,12 +265,12 @@ public function isBeingUpgraded($upgrader = null) { * Uses cached update data. To retrieve update information straight from * the metadata URL, call requestUpdate() instead. * - * @return Puc_v4p6_Plugin_Update|null + * @return Puc_v4p9_Plugin_Update|null */ public function getUpdate() { $update = parent::getUpdate(); if ( isset($update) ) { - /** @var Puc_v4p6_Plugin_Update $update */ + /** @var Puc_v4p9_Plugin_Update $update */ $update->filename = $this->pluginFile; } return $update; @@ -373,20 +375,20 @@ public function addResultFilter($callback) { } protected function createDebugBarExtension() { - return new Puc_v4p6_DebugBar_PluginExtension($this); + return new Puc_v4p9_DebugBar_PluginExtension($this); } /** * Create a package instance that represents this plugin or theme. * - * @return Puc_v4p6_InstalledPackage + * @return Puc_v4p9_InstalledPackage */ protected function createInstalledPackage() { - return new Puc_v4p6_Plugin_Package($this->pluginAbsolutePath, $this); + return new Puc_v4p9_Plugin_Package($this->pluginAbsolutePath, $this); } /** - * @return Puc_v4p6_Plugin_Package + * @return Puc_v4p9_Plugin_Package */ public function getInstalledPackage() { return $this->package; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Scheduler.php b/plugin-update-checker/Puc/v4p9/Scheduler.php old mode 100755 new mode 100644 similarity index 79% rename from admin/includes/plugin-update-checker/Puc/v4p6/Scheduler.php rename to plugin-update-checker/Puc/v4p9/Scheduler.php index cf1d6b3..ef6ed99 --- a/admin/includes/plugin-update-checker/Puc/v4p6/Scheduler.php +++ b/plugin-update-checker/Puc/v4p9/Scheduler.php @@ -1,11 +1,11 @@ cronHook) && !defined('WP_INSTALLING') ) { - wp_schedule_event(time(), $scheduleName, $this->cronHook); + //Randomly offset the schedule to help prevent update server traffic spikes. Without this + //most checks may happen during times of day when people are most likely to install new plugins. + $firstCheckTime = time() - rand(0, max($this->checkPeriod * 3600 - 15 * 60, 1)); + $firstCheckTime = apply_filters( + $this->updateChecker->getUniqueName('first_check_time'), + $firstCheckTime + ); + wp_schedule_event($firstCheckTime, $scheduleName, $this->cronHook); } add_action($this->cronHook, array($this, 'maybeCheckForUpdates')); @@ -80,6 +87,7 @@ public function __construct($updateChecker, $checkPeriod, $hourlyHooks = array(' * Runs upon the WP action upgrader_process_complete. * * We look at the parameters to decide whether to call maybeCheckForUpdates() or not. + * We also check if the update checker has been removed by the update. * * @param WP_Upgrader $upgrader WP_Upgrader instance * @param array $upgradeInfo extra information about the upgrade @@ -88,6 +96,15 @@ public function upgraderProcessComplete( /** @noinspection PhpUnusedParameterInspection */ $upgrader, $upgradeInfo ) { + //Cancel all further actions if the current version of PUC has been deleted or overwritten + //by a different version during the upgrade. If we try to do anything more in that situation, + //we could trigger a fatal error by trying to autoload a deleted class. + clearstatcache(); + if ( !file_exists(__FILE__) ) { + $this->removeHooks(); + $this->updateChecker->removeHooks(); + return; + } //Sanity check and limitation to relevant types. if ( @@ -99,7 +116,7 @@ public function upgraderProcessComplete( //Filter out notifications of upgrades that should have no bearing upon whether or not our //current info is up-to-date. - if ( is_a($this->updateChecker, 'Puc_v4p6_Theme_UpdateChecker') ) { + if ( is_a($this->updateChecker, 'Puc_v4p9_Theme_UpdateChecker') ) { if ( 'theme' !== $upgradeInfo['type'] || !isset($upgradeInfo['themes']) ) { return; } @@ -113,7 +130,7 @@ public function upgraderProcessComplete( } } - if ( is_a($this->updateChecker, 'Puc_v4p6_Plugin_UpdateChecker') ) { + if ( is_a($this->updateChecker, 'Puc_v4p9_Plugin_UpdateChecker') ) { if ( 'plugin' !== $upgradeInfo['type'] || !isset($upgradeInfo['plugins']) ) { return; } @@ -129,7 +146,7 @@ public function upgraderProcessComplete( $this->maybeCheckForUpdates(); } - + /** * Check for updates if the configured check interval has already elapsed. * Will use a shorter check interval on certain admin pages like "Dashboard -> Updates" or when doing cron. @@ -226,6 +243,24 @@ public function removeUpdaterCron() { public function getCronHookName() { return $this->cronHook; } + + /** + * Remove most hooks added by the scheduler. + */ + public function removeHooks() { + remove_filter('cron_schedules', array($this, '_addCustomSchedule')); + remove_action('admin_init', array($this, 'maybeCheckForUpdates')); + remove_action('load-update-core.php', array($this, 'maybeCheckForUpdates')); + + if ( $this->cronHook !== null ) { + remove_action($this->cronHook, array($this, 'maybeCheckForUpdates')); + } + if ( !empty($this->hourlyCheckHooks) ) { + foreach ($this->hourlyCheckHooks as $hook) { + remove_action($hook, array($this, 'maybeCheckForUpdates')); + } + } + } } endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/StateStore.php b/plugin-update-checker/Puc/v4p9/StateStore.php old mode 100755 new mode 100644 similarity index 89% rename from admin/includes/plugin-update-checker/Puc/v4p6/StateStore.php rename to plugin-update-checker/Puc/v4p9/StateStore.php index 23f984e..ff14063 --- a/admin/includes/plugin-update-checker/Puc/v4p6/StateStore.php +++ b/plugin-update-checker/Puc/v4p9/StateStore.php @@ -1,8 +1,8 @@ lazyLoad(); @@ -73,10 +73,10 @@ public function getUpdate() { } /** - * @param Puc_v4p6_Update|null $update + * @param Puc_v4p9_Update|null $update * @return $this */ - public function setUpdate(Puc_v4p6_Update $update = null) { + public function setUpdate(Puc_v4p9_Update $update = null) { $this->lazyLoad(); $this->update = $update; return $this; @@ -138,7 +138,7 @@ public function save() { $updateClass = get_class($this->update); $state->updateClass = $updateClass; $prefix = $this->getLibPrefix(); - if ( Puc_v4p6_Utils::startsWith($updateClass, $prefix) ) { + if ( Puc_v4p9_Utils::startsWith($updateClass, $prefix) ) { $state->updateBaseClass = substr($updateClass, strlen($prefix)); } } @@ -169,8 +169,8 @@ protected function load() { return; } - $this->lastCheck = intval(Puc_v4p6_Utils::get($state, 'lastCheck', 0)); - $this->checkedVersion = Puc_v4p6_Utils::get($state, 'checkedVersion', ''); + $this->lastCheck = intval(Puc_v4p9_Utils::get($state, 'lastCheck', 0)); + $this->checkedVersion = Puc_v4p9_Utils::get($state, 'checkedVersion', ''); $this->update = null; if ( isset($state->update) ) { diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Theme/Package.php b/plugin-update-checker/Puc/v4p9/Theme/Package.php old mode 100755 new mode 100644 similarity index 93% rename from admin/includes/plugin-update-checker/Puc/v4p6/Theme/Package.php rename to plugin-update-checker/Puc/v4p9/Theme/Package.php index d4a6dcc..4766c5c --- a/admin/includes/plugin-update-checker/Puc/v4p6/Theme/Package.php +++ b/plugin-update-checker/Puc/v4p9/Theme/Package.php @@ -1,7 +1,7 @@ requestMetadata('Puc_v4p6_Theme_Update', 'request_update'); + list($themeUpdate, $result) = $this->requestMetadata('Puc_v4p9_Theme_Update', 'request_update'); if ( $themeUpdate !== null ) { - /** @var Puc_v4p6_Theme_Update $themeUpdate */ + /** @var Puc_v4p9_Theme_Update $themeUpdate */ $themeUpdate->slug = $this->slug; } @@ -61,10 +61,10 @@ public function userCanInstallUpdates() { * Create an instance of the scheduler. * * @param int $checkPeriod - * @return Puc_v4p6_Scheduler + * @return Puc_v4p9_Scheduler */ protected function createScheduler($checkPeriod) { - return new Puc_v4p6_Scheduler($this, $checkPeriod, array('load-themes.php')); + return new Puc_v4p9_Scheduler($this, $checkPeriod, array('load-themes.php')); } /** @@ -78,7 +78,7 @@ public function isBeingUpgraded($upgrader = null) { } protected function createDebugBarExtension() { - return new Puc_v4p6_DebugBar_Extension($this, 'Puc_v4p6_DebugBar_ThemePanel'); + return new Puc_v4p9_DebugBar_Extension($this, 'Puc_v4p9_DebugBar_ThemePanel'); } /** @@ -132,11 +132,11 @@ public function addResultFilter($callback) { /** * Create a package instance that represents this plugin or theme. * - * @return Puc_v4p6_InstalledPackage + * @return Puc_v4p9_InstalledPackage */ protected function createInstalledPackage() { - return new Puc_v4p6_Theme_Package($this->stylesheet, $this); + return new Puc_v4p9_Theme_Package($this->stylesheet, $this); } } -endif; \ No newline at end of file +endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Update.php b/plugin-update-checker/Puc/v4p9/Update.php old mode 100755 new mode 100644 similarity index 84% rename from admin/includes/plugin-update-checker/Puc/v4p6/Update.php rename to plugin-update-checker/Puc/v4p9/Update.php index 5369e8a..3db3d60 --- a/admin/includes/plugin-update-checker/Puc/v4p6/Update.php +++ b/plugin-update-checker/Puc/v4p9/Update.php @@ -1,5 +1,5 @@ debugMode = (bool)(constant('WP_DEBUG')); $this->metadataUrl = $metadataUrl; @@ -79,8 +84,8 @@ public function __construct($metadataUrl, $directoryName, $slug = null, $checkPe $this->package = $this->createInstalledPackage(); $this->scheduler = $this->createScheduler($checkPeriod); - $this->upgraderStatus = new Puc_v4p6_UpgraderStatus(); - $this->updateState = new Puc_v4p6_StateStore($this->optionName); + $this->upgraderStatus = new Puc_v4p9_UpgraderStatus(); + $this->updateState = new Puc_v4p9_StateStore($this->optionName); if ( did_action('init') ) { $this->loadTextDomain(); @@ -146,7 +151,7 @@ protected function installHooks() { /** * Remove hooks that were added by this update checker instance. */ - protected function removeHooks() { + public function removeHooks() { remove_filter('site_transient_' . $this->updateTransient, array($this,'injectUpdate')); remove_filter('site_transient_' . $this->updateTransient, array($this, 'injectTranslationUpdates')); remove_action( @@ -159,6 +164,10 @@ protected function removeHooks() { remove_action('plugins_loaded', array($this, 'maybeInitDebugBar')); remove_action('init', array($this, 'loadTextDomain')); + + if ( $this->scheduler ) { + $this->scheduler->removeHooks(); + } } /** @@ -187,12 +196,11 @@ abstract public function userCanInstallUpdates(); * @return bool */ public function allowMetadataHost($allow, $host) { - static $metadataHost = 0; //Using 0 instead of NULL because parse_url can return NULL. - if ( $metadataHost === 0 ) { - $metadataHost = parse_url($this->metadataUrl, PHP_URL_HOST); + if ( $this->cachedMetadataHost === 0 ) { + $this->cachedMetadataHost = parse_url($this->metadataUrl, PHP_URL_HOST); } - if ( is_string($metadataHost) && (strtolower($host) === strtolower($metadataHost)) ) { + if ( is_string($this->cachedMetadataHost) && (strtolower($host) === strtolower($this->cachedMetadataHost)) ) { return true; } return $allow; @@ -201,12 +209,12 @@ public function allowMetadataHost($allow, $host) { /** * Create a package instance that represents this plugin or theme. * - * @return Puc_v4p6_InstalledPackage + * @return Puc_v4p9_InstalledPackage */ abstract protected function createInstalledPackage(); /** - * @return Puc_v4p6_InstalledPackage + * @return Puc_v4p9_InstalledPackage */ public function getInstalledPackage() { return $this->package; @@ -219,14 +227,14 @@ public function getInstalledPackage() { * and substitute their own scheduler. * * @param int $checkPeriod - * @return Puc_v4p6_Scheduler + * @return Puc_v4p9_Scheduler */ abstract protected function createScheduler($checkPeriod); /** * Check for updates. The results are stored in the DB option specified in $optionName. * - * @return Puc_v4p6_Update|null + * @return Puc_v4p9_Update|null */ public function checkForUpdates() { $installedVersion = $this->getInstalledVersion(); @@ -260,7 +268,7 @@ public function checkForUpdates() { /** * Load the update checker state from the DB. * - * @return Puc_v4p6_StateStore + * @return Puc_v4p9_StateStore */ public function getUpdateState() { return $this->updateState->lazyLoad(); @@ -285,7 +293,7 @@ public function resetUpdateState() { * Uses cached update data. To retrieve update information straight from * the metadata URL, call requestUpdate() instead. * - * @return Puc_v4p6_Update|null + * @return Puc_v4p9_Update|null */ public function getUpdate() { $update = $this->updateState->getUpdate(); @@ -306,16 +314,16 @@ public function getUpdate() { * * Subclasses should run the update through filterUpdateResult before returning it. * - * @return Puc_v4p6_Update An instance of Update, or NULL when no updates are available. + * @return Puc_v4p9_Update An instance of Update, or NULL when no updates are available. */ abstract public function requestUpdate(); /** * Filter the result of a requestUpdate() call. * - * @param Puc_v4p6_Update|null $update + * @param Puc_v4p9_Update|null $update * @param array|WP_Error|null $httpResult The value returned by wp_remote_get(), if any. - * @return Puc_v4p6_Update + * @return Puc_v4p9_Update */ protected function filterUpdateResult($update, $httpResult = null) { //Let plugins/themes modify the update. @@ -338,9 +346,9 @@ protected function filterUpdateResult($update, $httpResult = null) { * "Compatibility: Unknown". * The function mimics how wordpress.org API crafts the "tested" field out of "Tested up to". * - * @param Puc_v4p6_Update|null $update + * @param Puc_v4p9_Metadata|null $update */ - protected function fixSupportedWordpressVersion(Puc_v4p6_Update $update = null) { + protected function fixSupportedWordpressVersion(Puc_v4p9_Metadata $update = null) { if ( !isset($update->tested) || !preg_match('/^\d++\.\d++$/', $update->tested) ) { return; } @@ -349,26 +357,39 @@ protected function fixSupportedWordpressVersion(Puc_v4p6_Update $update = null) $wpVersion = $GLOBALS['wp_version']; - if ( function_exists('get_preferred_from_update_core') ) { - $coreUpdate = get_preferred_from_update_core(); - if ( isset($coreUpdate->current) && version_compare($coreUpdate->current, $wpVersion, '>') ) { - $actualWpVersions[] = $coreUpdate->current; + if ( function_exists('get_core_updates') ) { + $coreUpdates = get_core_updates(); + if ( is_array($coreUpdates) ) { + foreach ($coreUpdates as $coreUpdate) { + if ( isset($coreUpdate->current) ) { + $actualWpVersions[] = $coreUpdate->current; + } + } } } $actualWpVersions[] = $wpVersion; - $actualWpPatchNumber = "999"; + $actualWpPatchNumber = null; foreach ($actualWpVersions as $version) { - if ( preg_match('/^(?P\d++\.\d++)\.(?P\d++)/', $version, $versionParts) ) { + if ( preg_match('/^(?P\d++\.\d++)(?:\.(?P\d++))?/', $version, $versionParts) ) { if ( $versionParts['majorMinor'] === $update->tested ) { - $actualWpPatchNumber = $versionParts['patch']; - break; + $patch = isset($versionParts['patch']) ? intval($versionParts['patch']) : 0; + if ( $actualWpPatchNumber === null ) { + $actualWpPatchNumber = $patch; + } else { + $actualWpPatchNumber = max($actualWpPatchNumber, $patch); + } } } } + if ( $actualWpPatchNumber === null ) { + $actualWpPatchNumber = 999; + } - $update->tested .= '.' . $actualWpPatchNumber; + if ( $actualWpPatchNumber > 0 ) { + $update->tested .= '.' . $actualWpPatchNumber; + } } /** @@ -570,7 +591,7 @@ protected function shouldShowUpdates() { * @param string $metaClass Parse the JSON as an instance of this class. It must have a static fromJson method. * @param string $filterRoot * @param array $queryArgs Additional query arguments. - * @return array [Puc_v4p6_Metadata|null, array|WP_Error] A metadata instance and the value returned by wp_remote_get(). + * @return array [Puc_v4p9_Metadata|null, array|WP_Error] A metadata instance and the value returned by wp_remote_get(). */ protected function requestMetadata($metaClass, $filterRoot, $queryArgs = array()) { //Query args to append to the URL. Plugins can add their own by using a filter callback (see addQueryArgFilter()). @@ -909,13 +930,13 @@ public function maybeInitDebugBar() { } protected function createDebugBarExtension() { - return new Puc_v4p6_DebugBar_Extension($this); + return new Puc_v4p9_DebugBar_Extension($this); } /** * Display additional configuration details in the Debug Bar panel. * - * @param Puc_v4p6_DebugBar_Panel $panel + * @param Puc_v4p9_DebugBar_Panel $panel */ public function onDisplayConfiguration($panel) { //Do nothing. Subclasses can use this to add additional info to the panel. diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/UpgraderStatus.php b/plugin-update-checker/Puc/v4p9/UpgraderStatus.php old mode 100755 new mode 100644 similarity index 98% rename from admin/includes/plugin-update-checker/Puc/v4p6/UpgraderStatus.php rename to plugin-update-checker/Puc/v4p9/UpgraderStatus.php index 89f9161..2918fa1 --- a/admin/includes/plugin-update-checker/Puc/v4p6/UpgraderStatus.php +++ b/plugin-update-checker/Puc/v4p9/UpgraderStatus.php @@ -1,5 +1,5 @@ $branch->name, 'updated' => $branch->target->date, 'downloadUrl' => $this->getDownloadUrl($branch->name), @@ -70,7 +70,7 @@ public function getBranch($branchName) { * Get a specific tag. * * @param string $tagName - * @return Puc_v4p6_Vcs_Reference|null + * @return Puc_v4p9_Vcs_Reference|null */ public function getTag($tagName) { $tag = $this->api('/refs/tags/' . $tagName); @@ -78,7 +78,7 @@ public function getTag($tagName) { return null; } - return new Puc_v4p6_Vcs_Reference(array( + return new Puc_v4p9_Vcs_Reference(array( 'name' => $tag->name, 'version' => ltrim($tag->name, 'v'), 'updated' => $tag->target->date, @@ -89,7 +89,7 @@ public function getTag($tagName) { /** * Get the tag that looks like the highest version number. * - * @return Puc_v4p6_Vcs_Reference|null + * @return Puc_v4p9_Vcs_Reference|null */ public function getLatestTag() { $tags = $this->api('/refs/tags?sort=-target.date'); @@ -103,7 +103,7 @@ public function getLatestTag() { //Return the first result. if ( !empty($versionTags) ) { $tag = $versionTags[0]; - return new Puc_v4p6_Vcs_Reference(array( + return new Puc_v4p9_Vcs_Reference(array( 'name' => $tag->name, 'version' => ltrim($tag->name, 'v'), 'updated' => $tag->target->date, @@ -117,7 +117,7 @@ public function getLatestTag() { * Get the tag/ref specified by the "Stable tag" header in the readme.txt of a given branch. * * @param string $branch - * @return null|Puc_v4p6_Vcs_Reference + * @return null|Puc_v4p9_Vcs_Reference */ protected function getStableTag($branch) { $remoteReadme = $this->getRemoteReadme($branch); @@ -187,7 +187,7 @@ public function getLatestCommitTime($ref) { */ public function api($url, $version = '2.0') { $url = ltrim($url, '/'); - $isSrcResource = Puc_v4p6_Utils::startsWith($url, 'src/'); + $isSrcResource = Puc_v4p9_Utils::startsWith($url, 'src/'); $url = implode('/', array( 'https://api.bitbucket.org', @@ -242,7 +242,7 @@ public function setAuthentication($credentials) { parent::setAuthentication($credentials); if ( !empty($credentials) && !empty($credentials['consumer_key']) ) { - $this->oauth = new Puc_v4p6_OAuthSignature( + $this->oauth = new Puc_v4p9_OAuthSignature( $credentials['consumer_key'], $credentials['consumer_secret'] ); diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/GitHubApi.php b/plugin-update-checker/Puc/v4p9/Vcs/GitHubApi.php old mode 100755 new mode 100644 similarity index 77% rename from admin/includes/plugin-update-checker/Puc/v4p6/Vcs/GitHubApi.php rename to plugin-update-checker/Puc/v4p9/Vcs/GitHubApi.php index f5273f6..0187a66 --- a/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/GitHubApi.php +++ b/plugin-update-checker/Puc/v4p9/Vcs/GitHubApi.php @@ -1,8 +1,8 @@ [^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { @@ -52,7 +57,7 @@ public function __construct($repositoryUrl, $accessToken = null) { /** * Get the latest release from GitHub. * - * @return Puc_v4p6_Vcs_Reference|null + * @return Puc_v4p9_Vcs_Reference|null */ public function getLatestRelease() { $release = $this->api('/repos/:user/:repo/releases/latest'); @@ -60,10 +65,10 @@ public function getLatestRelease() { return null; } - $reference = new Puc_v4p6_Vcs_Reference(array( + $reference = new Puc_v4p9_Vcs_Reference(array( 'name' => $release->tag_name, 'version' => ltrim($release->tag_name, 'v'), //Remove the "v" prefix from "v1.2.3". - 'downloadUrl' => $this->signDownloadUrl($release->zipball_url), + 'downloadUrl' => $release->zipball_url, 'updated' => $release->created_at, 'apiResponse' => $release, )); @@ -79,9 +84,10 @@ public function getLatestRelease() { if ( $this->isAuthenticationEnabled() ) { /** * Keep in mind that we'll need to add an "Accept" header to download this asset. - * @see setReleaseDownloadHeader() + * + * @see setUpdateDownloadHeaders() */ - $reference->downloadUrl = $this->signDownloadUrl($matchingAssets[0]->url); + $reference->downloadUrl = $matchingAssets[0]->url; } else { //It seems that browser_download_url only works for public repositories. //Using an access_token doesn't help. Maybe OAuth would work? @@ -103,12 +109,12 @@ public function getLatestRelease() { /** * Get the tag that looks like the highest version number. * - * @return Puc_v4p6_Vcs_Reference|null + * @return Puc_v4p9_Vcs_Reference|null */ public function getLatestTag() { $tags = $this->api('/repos/:user/:repo/tags'); - if ( is_wp_error($tags) || empty($tags) || !is_array($tags) ) { + if ( is_wp_error($tags) || !is_array($tags) ) { return null; } @@ -118,10 +124,10 @@ public function getLatestTag() { } $tag = $versionTags[0]; - return new Puc_v4p6_Vcs_Reference(array( + return new Puc_v4p9_Vcs_Reference(array( 'name' => $tag->name, 'version' => ltrim($tag->name, 'v'), - 'downloadUrl' => $this->signDownloadUrl($tag->zipball_url), + 'downloadUrl' => $tag->zipball_url, 'apiResponse' => $tag, )); } @@ -130,7 +136,7 @@ public function getLatestTag() { * Get a branch by name. * * @param string $branchName - * @return null|Puc_v4p6_Vcs_Reference + * @return null|Puc_v4p9_Vcs_Reference */ public function getBranch($branchName) { $branch = $this->api('/repos/:user/:repo/branches/' . $branchName); @@ -138,7 +144,7 @@ public function getBranch($branchName) { return null; } - $reference = new Puc_v4p6_Vcs_Reference(array( + $reference = new Puc_v4p9_Vcs_Reference(array( 'name' => $branch->name, 'downloadUrl' => $this->buildArchiveDownloadUrl($branch->name), 'apiResponse' => $branch, @@ -166,7 +172,7 @@ public function getLatestCommit($filename, $ref = 'master') { 'sha' => $ref, ) ); - if ( !is_wp_error($commits) && is_array($commits) && isset($commits[0]) ) { + if ( !is_wp_error($commits) && isset($commits[0]) ) { return $commits[0]; } return null; @@ -180,7 +186,7 @@ public function getLatestCommit($filename, $ref = 'master') { */ public function getLatestCommitTime($ref) { $commits = $this->api('/repos/:user/:repo/commits', array('sha' => $ref)); - if ( !is_wp_error($commits) && is_array($commits) && isset($commits[0]) ) { + if ( !is_wp_error($commits) && isset($commits[0]) ) { return $commits[0]->commit->author->date; } return null; @@ -198,6 +204,10 @@ protected function api($url, $queryParams = array()) { $url = $this->buildApiUrl($url, $queryParams); $options = array('timeout' => 10); + if ( $this->isAuthenticationEnabled() ) { + $options['headers'] = array('Authorization' => $this->getAuthorizationHeader()); + } + if ( !empty($this->httpFilterName) ) { $options = apply_filters($this->httpFilterName, $options); } @@ -240,9 +250,6 @@ protected function buildApiUrl($url, $queryParams) { } $url = 'https://api.github.com' . $url; - if ( !empty($this->accessToken) ) { - $queryParams['access_token'] = $this->accessToken; - } if ( !empty($queryParams) ) { $url = add_query_arg($queryParams, $url); } @@ -280,9 +287,6 @@ public function buildArchiveDownloadUrl($ref = 'master') { urlencode($this->repositoryName), urlencode($ref) ); - if ( !empty($this->accessToken) ) { - $url = $this->signDownloadUrl($url); - } return $url; } @@ -300,13 +304,17 @@ public function getTag($tagName) { public function setAuthentication($credentials) { parent::setAuthentication($credentials); $this->accessToken = is_string($credentials) ? $credentials : null; + + //Optimization: Instead of filtering all HTTP requests, let's do it only when + //WordPress is about to download an update. + add_filter('upgrader_pre_download', array($this, 'addHttpRequestFilter'), 10, 1); //WP 3.7+ } /** * Figure out which reference (i.e tag or branch) contains the latest version. * * @param string $configBranch Start looking in this branch. - * @return null|Puc_v4p6_Vcs_Reference + * @return null|Puc_v4p9_Vcs_Reference */ public function chooseReference($configBranch) { $updateSource = null; @@ -327,17 +335,6 @@ public function chooseReference($configBranch) { return $updateSource; } - /** - * @param string $url - * @return string - */ - public function signDownloadUrl($url) { - if ( empty($this->credentials) ) { - return $url; - } - return add_query_arg('access_token', $this->credentials, $url); - } - /** * Enable updating via release assets. * @@ -356,10 +353,6 @@ public function enableReleaseAssets($fileNameRegex = null) { $this->userName, $this->repositoryName ); - - //Optimization: Instead of filtering all HTTP requests, let's do it only when - //WordPress is about to download an update. - add_filter('upgrader_pre_download', array($this, 'addHttpRequestFilter'), 10, 1); //WP 3.7+ } /** @@ -382,32 +375,67 @@ protected function matchesAssetFilter($releaseAsset) { * @return bool */ public function addHttpRequestFilter($result) { - static $filterAdded = false; - if ( $this->releaseAssetsEnabled && !$filterAdded && $this->isAuthenticationEnabled() ) { - add_filter('http_request_args', array($this, 'setReleaseDownloadHeader'), 10, 2); - $filterAdded = true; + if ( !$this->downloadFilterAdded && $this->isAuthenticationEnabled() ) { + add_filter('http_request_args', array($this, 'setUpdateDownloadHeaders'), 10, 2); + add_action('requests-requests.before_redirect', array($this, 'removeAuthHeaderFromRedirects'), 10, 4); + $this->downloadFilterAdded = true; } return $result; } /** - * Set the HTTP header that's necessary to download private release assets. + * Set the HTTP headers that are necessary to download updates from private repositories. * * See GitHub docs: * @link https://developer.github.com/v3/repos/releases/#get-a-single-release-asset + * @link https://developer.github.com/v3/auth/#basic-authentication * * @internal * @param array $requestArgs * @param string $url * @return array */ - public function setReleaseDownloadHeader($requestArgs, $url = '') { - //Is WordPress trying to download one of our assets? - if ( strpos($url, $this->assetApiBaseUrl) !== false ) { - $requestArgs['headers']['accept'] = 'application/octet-stream'; + public function setUpdateDownloadHeaders($requestArgs, $url = '') { + //Is WordPress trying to download one of our release assets? + if ( $this->releaseAssetsEnabled && (strpos($url, $this->assetApiBaseUrl) !== false) ) { + $requestArgs['headers']['Accept'] = 'application/octet-stream'; + } + //Use Basic authentication, but only if the download is from our repository. + $repoApiBaseUrl = $this->buildApiUrl('/repos/:user/:repo/', array()); + if ( $this->isAuthenticationEnabled() && (strpos($url, $repoApiBaseUrl)) === 0 ) { + $requestArgs['headers']['Authorization'] = $this->getAuthorizationHeader(); } return $requestArgs; } + + /** + * When following a redirect, the Requests library will automatically forward + * the authorization header to other hosts. We don't want that because it breaks + * AWS downloads and can leak authorization information. + * + * @internal + * @param string $location + * @param array $headers + */ + public function removeAuthHeaderFromRedirects(&$location, &$headers) { + $repoApiBaseUrl = $this->buildApiUrl('/repos/:user/:repo/', array()); + if ( strpos($location, $repoApiBaseUrl) === 0 ) { + return; //This request is going to GitHub, so it's fine. + } + //Remove the header. + if ( isset($headers['Authorization']) ) { + unset($headers['Authorization']); + } + } + + /** + * Generate the value of the "Authorization" header. + * + * @return string + */ + protected function getAuthorizationHeader() { + return 'Basic ' . base64_encode($this->userName . ':' . $this->accessToken); + } } endif; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/GitLabApi.php b/plugin-update-checker/Puc/v4p9/Vcs/GitLabApi.php old mode 100755 new mode 100644 similarity index 87% rename from admin/includes/plugin-update-checker/Puc/v4p6/Vcs/GitLabApi.php rename to plugin-update-checker/Puc/v4p9/Vcs/GitLabApi.php index a4c11e7..30bbd13 --- a/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/GitLabApi.php +++ b/plugin-update-checker/Puc/v4p9/Vcs/GitLabApi.php @@ -1,8 +1,8 @@ repositoryHost = parse_url($repositoryUrl, PHP_URL_HOST) . $port; @@ -55,6 +55,11 @@ public function __construct($repositoryUrl, $accessToken = null) { $this->userName = implode('/', $parts); $this->repositoryName = $lastPart; } else { + //There could be subgroups in the URL: gitlab.domain.com/group/subgroup/subgroup2/repository + if ( $subgroup !== null ) { + $path = str_replace(trailingslashit($subgroup), '', $path); + } + //This is not a traditional url, it could be gitlab is in a deeper subdirectory. //Get the path segments. $segments = explode('/', untrailingslashit(ltrim($path, '/'))); @@ -69,8 +74,15 @@ public function __construct($repositoryUrl, $accessToken = null) { $this->userName = $usernameRepo[0]; $this->repositoryName = $usernameRepo[1]; - //Append the remaining segments to the host. - $this->repositoryHost = trailingslashit($this->repositoryHost) . implode('/', $segments); + //Append the remaining segments to the host if there are segments left. + if ( count($segments) > 0 ) { + $this->repositoryHost = trailingslashit($this->repositoryHost) . implode('/', $segments); + } + + //Add subgroups to username. + if ( $subgroup !== null ) { + $this->userName = $usernameRepo[0] . '/' . untrailingslashit($subgroup); + } } parent::__construct($repositoryUrl, $accessToken); @@ -79,7 +91,7 @@ public function __construct($repositoryUrl, $accessToken = null) { /** * Get the latest release from GitLab. * - * @return Puc_v4p6_Vcs_Reference|null + * @return Puc_v4p9_Vcs_Reference|null */ public function getLatestRelease() { return $this->getLatestTag(); @@ -88,7 +100,7 @@ public function getLatestRelease() { /** * Get the tag that looks like the highest version number. * - * @return Puc_v4p6_Vcs_Reference|null + * @return Puc_v4p9_Vcs_Reference|null */ public function getLatestTag() { $tags = $this->api('/:id/repository/tags'); @@ -102,11 +114,11 @@ public function getLatestTag() { } $tag = $versionTags[0]; - return new Puc_v4p6_Vcs_Reference(array( - 'name' => $tag->name, - 'version' => ltrim($tag->name, 'v'), + return new Puc_v4p9_Vcs_Reference(array( + 'name' => $tag->name, + 'version' => ltrim($tag->name, 'v'), 'downloadUrl' => $this->buildArchiveDownloadUrl($tag->name), - 'apiResponse' => $tag + 'apiResponse' => $tag, )); } @@ -114,7 +126,7 @@ public function getLatestTag() { * Get a branch by name. * * @param string $branchName - * @return null|Puc_v4p6_Vcs_Reference + * @return null|Puc_v4p9_Vcs_Reference */ public function getBranch($branchName) { $branch = $this->api('/:id/repository/branches/' . $branchName); @@ -122,8 +134,8 @@ public function getBranch($branchName) { return null; } - $reference = new Puc_v4p6_Vcs_Reference(array( - 'name' => $branch->name, + $reference = new Puc_v4p9_Vcs_Reference(array( + 'name' => $branch->name, 'downloadUrl' => $this->buildArchiveDownloadUrl($branch->name), 'apiResponse' => $branch, )); @@ -165,7 +177,7 @@ protected function api($url, $queryParams = array()) { if ( !empty($this->httpFilterName) ) { $options = apply_filters($this->httpFilterName, $options); } - + $response = wp_remote_get($url, $options); if ( is_wp_error($response) ) { do_action('puc_api_error', $response, null, $url, $this->slug); @@ -271,7 +283,7 @@ public function getTag($tagName) { * Figure out which reference (i.e tag or branch) contains the latest version. * * @param string $configBranch Start looking in this branch. - * @return null|Puc_v4p6_Vcs_Reference + * @return null|Puc_v4p9_Vcs_Reference */ public function chooseReference($configBranch) { $updateSource = null; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/PluginUpdateChecker.php b/plugin-update-checker/Puc/v4p9/Vcs/PluginUpdateChecker.php old mode 100755 new mode 100644 similarity index 91% rename from admin/includes/plugin-update-checker/Puc/v4p6/Vcs/PluginUpdateChecker.php rename to plugin-update-checker/Puc/v4p9/Vcs/PluginUpdateChecker.php index 3ca3dad..27200ff --- a/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/PluginUpdateChecker.php +++ b/plugin-update-checker/Puc/v4p9/Vcs/PluginUpdateChecker.php @@ -1,21 +1,21 @@ api; $api->setLocalDirectory($this->package->getAbsoluteDirectoryPath()); - $info = new Puc_v4p6_Plugin_Info(); + $info = new Puc_v4p9_Plugin_Info(); $info->filename = $this->pluginFile; $info->slug = $this->slug; @@ -124,7 +124,7 @@ protected function readmeTxtExistsLocally() { * Copy plugin metadata from a file header to a Plugin Info object. * * @param array $fileHeader - * @param Puc_v4p6_Plugin_Info $pluginInfo + * @param Puc_v4p9_Plugin_Info $pluginInfo */ protected function setInfoFromHeader($fileHeader, $pluginInfo) { $headerToPropertyMap = array( @@ -139,6 +139,8 @@ protected function setInfoFromHeader($fileHeader, $pluginInfo) { 'Tested WP' => 'tested', 'Requires at least' => 'requires', 'Tested up to' => 'tested', + + 'Requires PHP' => 'requires_php', ); foreach ($headerToPropertyMap as $headerName => $property) { if ( isset($fileHeader[$headerName]) && !empty($fileHeader[$headerName]) ) { @@ -155,7 +157,7 @@ protected function setInfoFromHeader($fileHeader, $pluginInfo) { * Copy plugin metadata from the remote readme.txt file. * * @param string $ref GitHub tag or branch where to look for the readme. - * @param Puc_v4p6_Plugin_Info $pluginInfo + * @param Puc_v4p9_Plugin_Info $pluginInfo */ protected function setInfoFromRemoteReadme($ref, $pluginInfo) { $readme = $this->api->getRemoteReadme($ref); @@ -172,6 +174,9 @@ protected function setInfoFromRemoteReadme($ref, $pluginInfo) { if ( !empty($readme['requires_at_least']) ) { $pluginInfo->requires = $readme['requires_at_least']; } + if ( !empty($readme['requires_php']) ) { + $pluginInfo->requires_php = $readme['requires_php']; + } if ( isset($readme['upgrade_notice'], $readme['upgrade_notice'][$pluginInfo->version]) ) { $pluginInfo->upgrade_notice = $readme['upgrade_notice'][$pluginInfo->version]; diff --git a/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/Reference.php b/plugin-update-checker/Puc/v4p9/Vcs/Reference.php old mode 100755 new mode 100644 similarity index 92% rename from admin/includes/plugin-update-checker/Puc/v4p6/Vcs/Reference.php rename to plugin-update-checker/Puc/v4p9/Vcs/Reference.php index fc60eb8..b9b30c1 --- a/admin/includes/plugin-update-checker/Puc/v4p6/Vcs/Reference.php +++ b/plugin-update-checker/Puc/v4p9/Vcs/Reference.php @@ -1,5 +1,5 @@ api; $api->setLocalDirectory($this->package->getAbsoluteDirectoryPath()); - $update = new Puc_v4p6_Theme_Update(); + $update = new Puc_v4p9_Theme_Update(); $update->slug = $this->slug; //Figure out which reference (tag or branch) we'll use to get the latest version of the theme. @@ -60,13 +60,13 @@ public function requestUpdate() { //Get headers from the main stylesheet in this branch/tag. Its "Version" header and other metadata //are what the WordPress install will actually see after upgrading, so they take precedence over releases/tags. $remoteHeader = $this->package->getFileHeader($api->getRemoteFile('style.css', $ref)); - $update->version = Puc_v4p6_Utils::findNotEmpty(array( + $update->version = Puc_v4p9_Utils::findNotEmpty(array( $remoteHeader['Version'], - Puc_v4p6_Utils::get($updateSource, 'version'), + Puc_v4p9_Utils::get($updateSource, 'version'), )); //The details URL defaults to the Theme URI header or the repository URL. - $update->details_url = Puc_v4p6_Utils::findNotEmpty(array( + $update->details_url = Puc_v4p9_Utils::findNotEmpty(array( $remoteHeader['ThemeURI'], $this->package->getHeaderValue('ThemeURI'), $this->metadataUrl, diff --git a/plugin-update-checker/README.md b/plugin-update-checker/README.md new file mode 100644 index 0000000..c60f254 --- /dev/null +++ b/plugin-update-checker/README.md @@ -0,0 +1,301 @@ +Plugin Update Checker +===================== + +This is a custom update checker library for WordPress plugins and themes. It lets you add automatic update notifications and one-click upgrades to your commercial plugins, private themes, and so on. All you need to do is put your plugin/theme details in a JSON file, place the file on your server, and pass the URL to the library. The library periodically checks the URL to see if there's a new version available and displays an update notification to the user if necessary. + +From the users' perspective, it works just like with plugins and themes hosted on WordPress.org. The update checker uses the default upgrade UI that is familiar to most WordPress users. + + + +**Table of Contents** + +- [Getting Started](#getting-started) + - [Self-hosted Plugins and Themes](#self-hosted-plugins-and-themes) + - [How to Release an Update](#how-to-release-an-update) + - [Notes](#notes) + - [GitHub Integration](#github-integration) + - [How to Release an Update](#how-to-release-an-update-1) + - [Notes](#notes-1) + - [BitBucket Integration](#bitbucket-integration) + - [How to Release an Update](#how-to-release-an-update-2) + - [GitLab Integration](#gitlab-integration) + - [How to Release an Update](#how-to-release-an-update-3) +- [License Management](#license-management) +- [Resources](#resources) + + + +Getting Started +--------------- + +*Note:* In each of the below examples, part of the instructions are to create an instance of the update checker class. It's recommended to do this either during the `plugins_loaded` action or outside of any hooks. If you do it only during an `admin_*` action, then updates will not be visible to a wide variety of WordPress maanagement tools; they will only be visible to logged-in users on dashboard pages. + +### Self-hosted Plugins and Themes + +1. Download [the latest release](https://github.com/YahnisElsts/plugin-update-checker/releases/latest) and copy the `plugin-update-checker` directory to your plugin or theme. +2. Go to the `examples` subdirectory and open the .json file that fits your project type. Replace the placeholder data with your plugin/theme details. + - Plugin example: + + ```json + { + "name" : "Plugin Name", + "version" : "2.0", + "download_url" : "http://example.com/plugin-name-2.0.zip", + "sections" : { + "description" : "Plugin description here. You can use HTML." + } + } + ``` + + This is a minimal example that leaves out optional fields. See [this table](https://docs.google.com/spreadsheets/d/1eOBbW7Go2qEQXReOOCdidMTf_tDYRq4JfegcO1CBPIs/edit?usp=sharing) for a full list of supported fields and their descriptions. + - Theme example: + + ```json + { + "version": "2.0", + "details_url": "http://example.com/version-2.0-details.html", + "download_url": "http://example.com/example-theme-2.0.zip" + } + ``` + + This is actually a complete example that shows all theme-related fields. `version` and `download_url` should be self-explanatory. The `details_url` key specifies the page that the user will see if they click the "View version 1.2.3 details" link in an update notification. +3. Upload the JSON file to a publicly accessible location. +4. Add the following code to the main plugin file or to the `functions.php` file: + + ```php + require 'path/to/plugin-update-checker/plugin-update-checker.php'; + $myUpdateChecker = Puc_v4_Factory::buildUpdateChecker( + 'http://example.com/path/to/details.json', + __FILE__, //Full path to the main plugin file or functions.php. + 'unique-plugin-or-theme-slug' + ); + ``` + Note: If you're using the Composer autoloader, you don't need to explicitly `require` the library. + +#### How to Release an Update + +Change the `version` number in the JSON file and make sure that `download_url` points to the latest version. Update the other fields if necessary. Tip: You can use [wp-update-server](https://github.com/YahnisElsts/wp-update-server) to automate this process. + +By default, the library will check the specified URL for changes every 12 hours. You can force it to check immediately by clicking the "Check for updates" link on the "Plugins" page (it's next to the "Visit plugin site" link). Themes don't have that link, but you can also trigger an update check like this: + + 1. Install [Debug Bar](https://srd.wordpress.org/plugins/debug-bar/). + 2. Click the "Debug" menu in the Admin Bar (a.k.a Toolbar). + 3. Open the "PUC (your-slug)" panel. + 4. Click the "Check Now" button. + +#### Notes +- The second argument passed to `buildUpdateChecker` must be the absolute path to the main plugin file or any file in the theme directory. If you followed the "getting started" instructions, you can just use the `__FILE__` constant. +- The third argument - i.e. the slug - is optional but recommended. In most cases, the slug should be the same as the name of your plugin directory. For example, if your plugin lives in `/wp-content/plugins/my-plugin`, set the slug to `my-plugin`. If the slug is omitted, the update checker will use the name of the main plugin file as the slug (e.g. `my-cool-plugin.php` → `my-cool-plugin`). This can lead to conflicts if your plugin has a generic file name like `plugin.php`. + + This doesn't affect themes because PUC uses the theme directory name as the default slug. Still, if you're planning to use the slug in your own code - e.g. to filter updates or override update checker behaviour - it can be a good idea to set it explicitly. + +### GitHub Integration + +1. Download [the latest release](https://github.com/YahnisElsts/plugin-update-checker/releases/latest) and copy the `plugin-update-checker` directory to your plugin or theme. +2. Add the following code to the main plugin file or `functions.php`: + + ```php + require 'plugin-update-checker/plugin-update-checker.php'; + $myUpdateChecker = Puc_v4_Factory::buildUpdateChecker( + 'https://github.com/user-name/repo-name/', + __FILE__, + 'unique-plugin-or-theme-slug' + ); + + //Optional: If you're using a private repository, specify the access token like this: + $myUpdateChecker->setAuthentication('your-token-here'); + + //Optional: Set the branch that contains the stable release. + $myUpdateChecker->setBranch('stable-branch-name'); + ``` +3. Plugins only: Add a `readme.txt` file formatted according to the [WordPress.org plugin readme standard](https://wordpress.org/plugins/readme.txt) to your repository. The contents of this file will be shown when the user clicks the "View version 1.2.3 details" link. + +#### How to Release an Update + +This library supports a couple of different ways to release updates on GitHub. Pick the one that best fits your workflow. + +- **GitHub releases** + + Create a new release using the "Releases" feature on GitHub. The tag name and release title don't matter. The description is optional, but if you do provide one, it will be displayed when the user clicks the "View version x.y.z details" link on the "Plugins" page. Note that PUC ignores releases marked as "This is a pre-release". + + If you want to use release assets, call the `enableReleaseAssets()` method after creating the update checker instance: + ```php + $myUpdateChecker->getVcsApi()->enableReleaseAssets(); + ``` + +- **Tags** + + To release version 1.2.3, create a new Git tag named `v1.2.3` or `1.2.3`. That's it. + + PUC doesn't require strict adherence to [SemVer](http://semver.org/). These are all valid tag names: `v1.2.3`, `v1.2-foo`, `1.2.3_rc1-ABC`, `1.2.3.4.5`. However, be warned that it's not smart enough to filter out alpha/beta/RC versions. If that's a problem, you might want to use GitHub releases or branches instead. + +- **Stable branch** + + Point the update checker at a stable, production-ready branch: + ```php + $updateChecker->setBranch('branch-name'); + ``` + PUC will periodically check the `Version` header in the main plugin file or `style.css` and display a notification if it's greater than the installed version. + + Caveat: If you set the branch to `master` (the default), the update checker will look for recent releases and tags first. It'll only use the `master` branch if it doesn't find anything else suitable. + +#### Notes + +The library will pull update details from the following parts of a release/tag/branch: + +- Version number + - The "Version" plugin header. + - The latest GitHub release or tag name. +- Changelog + - The "Changelog" section of `readme.txt`. + - One of the following files: + CHANGES.md, CHANGELOG.md, changes.md, changelog.md + - GitHub release notes. +- Required and tested WordPress versions + - The "Requires at least" and "Tested up to" fields in `readme.txt`. + - The following plugin headers: + `Required WP`, `Tested WP`, `Requires at least`, `Tested up to` +- "Last updated" timestamp + - The creation timestamp of the latest GitHub release. + - The latest commit in the selected tag or branch. +- Number of downloads + - The `download_count` statistic of the latest release. + - If you're not using GitHub releases, there will be no download stats. +- Other plugin details - author, homepage URL, description + - The "Description" section of `readme.txt`. + - Remote plugin headers (i.e. the latest version on GitHub). + - Local plugin headers (i.e. the currently installed version). +- Ratings, banners, screenshots + - Not supported. + +### BitBucket Integration + +1. Download [the latest release](https://github.com/YahnisElsts/plugin-update-checker/releases/latest) and copy the `plugin-update-checker` directory to your plugin or theme. +2. Add the following code to the main plugin file or `functions.php`: + + ```php + require 'plugin-update-checker/plugin-update-checker.php'; + $myUpdateChecker = Puc_v4_Factory::buildUpdateChecker( + 'https://bitbucket.org/user-name/repo-name', + __FILE__, + 'unique-plugin-or-theme-slug' + ); + + //Optional: If you're using a private repository, create an OAuth consumer + //and set the authentication credentials like this: + //Note: For now you need to check "This is a private consumer" when + //creating the consumer to work around #134: + // https://github.com/YahnisElsts/plugin-update-checker/issues/134 + $myUpdateChecker->setAuthentication(array( + 'consumer_key' => '...', + 'consumer_secret' => '...', + )); + + //Optional: Set the branch that contains the stable release. + $myUpdateChecker->setBranch('stable-branch-name'); + ``` +3. Optional: Add a `readme.txt` file formatted according to the [WordPress.org plugin readme standard](https://wordpress.org/plugins/readme.txt) to your repository. For plugins, the contents of this file will be shown when the user clicks the "View version 1.2.3 details" link. + +#### How to Release an Update + +BitBucket doesn't have an equivalent to GitHub's releases, so the process is slightly different. You can use any of the following approaches: + +- **`Stable tag` header** + + This is the recommended approach if you're using tags to mark each version. Add a `readme.txt` file formatted according to the [WordPress.org plugin readme standard](https://wordpress.org/plugins/readme.txt) to your repository. Set the "stable tag" header to the tag that represents the latest release. Example: + ```text + Stable tag: v1.2.3 + ``` + The tag doesn't have to start with a "v" or follow any particular format. You can use any name you like as long as it's a valid Git tag. + + Tip: If you explicitly set a stable branch, the update checker will look for a `readme.txt` in that branch. Otherwise it will only look at the `master` branch. + +- **Tags** + + You can skip the "stable tag" bit and just create a new Git tag named `v1.2.3` or `1.2.3`. The update checker will look at the most recent tags and pick the one that looks like the highest version number. + + PUC doesn't require strict adherence to [SemVer](http://semver.org/). These are all valid tag names: `v1.2.3`, `v1.2-foo`, `1.2.3_rc1-ABC`, `1.2.3.4.5`. However, be warned that it's not smart enough to filter out alpha/beta/RC versions. + +- **Stable branch** + + Point the update checker at a stable, production-ready branch: + ```php + $updateChecker->setBranch('branch-name'); + ``` + PUC will periodically check the `Version` header in the main plugin file or `style.css` and display a notification if it's greater than the installed version. Caveat: If you set the branch to `master`, the update checker will still look for tags first. + +### GitLab Integration + +1. Download [the latest release](https://github.com/YahnisElsts/plugin-update-checker/releases/latest) and copy the `plugin-update-checker` directory to your plugin or theme. +2. Add the following code to the main plugin file or `functions.php`: + + ```php + require 'plugin-update-checker/plugin-update-checker.php'; + $myUpdateChecker = Puc_v4_Factory::buildUpdateChecker( + 'https://gitlab.com/user-name/repo-name/', + __FILE__, + 'unique-plugin-or-theme-slug' + ); + + //Optional: If you're using a private repository, specify the access token like this: + $myUpdateChecker->setAuthentication('your-token-here'); + + //Optional: Set the branch that contains the stable release. + $myUpdateChecker->setBranch('stable-branch-name'); + ``` + + Alternatively, if you're using a self-hosted GitLab instance, initialize the update checker like this: + ```php + $myUpdateChecker = new Puc_v4p9_Vcs_PluginUpdateChecker( + new Puc_v4p9_Vcs_GitLabApi('https://myserver.com/user-name/repo-name/'), + __FILE__, + 'unique-plugin-or-theme-slug' + ); + //Optional: Add setAuthentication(...) and setBranch(...) as shown above. + ``` + If you're using a self-hosted GitLab instance and [subgroups or nested groups](https://docs.gitlab.com/ce/user/group/subgroups/index.html), you have to tell the update checker which parts of the URL are subgroups: + ```php + $myUpdateChecker = new Puc_v4p9_Vcs_PluginUpdateChecker( + new Puc_v4p9_Vcs_GitLabApi('https://myserver.com/group-name/subgroup-level1/subgroup-level2/subgroup-level3/repo-name/', null, 'subgroup-level1/subgroup-level2/subgroup-level3'), + __FILE__, + 'unique-plugin-or-theme-slug' + ); + + ``` + +3. Plugins only: Add a `readme.txt` file formatted according to the [WordPress.org plugin readme standard](https://wordpress.org/plugins/readme.txt) to your repository. The contents of this file will be shown when the user clicks the "View version 1.2.3 details" link. + +#### How to Release an Update + +GitLab doesn't have an equivalent to GitHub's releases, so the process is slightly different. You can use any of the following approaches: + +- **Tags** + + To release version 1.2.3, create a new Git tag named `v1.2.3` or `1.2.3`. That's it. + + PUC doesn't require strict adherence to [SemVer](http://semver.org/). These are all valid tag names: `v1.2.3`, `v1.2-foo`, `1.2.3_rc1-ABC`, `1.2.3.4.5`. However, be warned that it's not smart enough to filter out alpha/beta/RC versions. If that's a problem, you might want to use GitLab branches instead. + +- **Stable branch** + + Point the update checker at a stable, production-ready branch: + ```php + $updateChecker->setBranch('branch-name'); + ``` + PUC will periodically check the `Version` header in the main plugin file or `style.css` and display a notification if it's greater than the installed version. + + Caveat: If you set the branch to `master` (the default), the update checker will look for recent releases and tags first. It'll only use the `master` branch if it doesn't find anything else suitable. + +License Management +------------------ + +Currently, the update checker doesn't have any built-in license management features. It only provides some hooks that you can use to, for example, append license keys to update requests (`$updateChecker->addQueryArgFilter()`). If you're looking for ways to manage and verify licenses, please post your feedback in [this issue](https://github.com/YahnisElsts/plugin-update-checker/issues/222). + +Resources +--------- + +- [This blog post](http://w-shadow.com/blog/2010/09/02/automatic-updates-for-any-plugin/) has more information about the update checker API. *Slightly out of date.* +- [Debug Bar](https://wordpress.org/plugins/debug-bar/) - useful for testing and debugging the update checker. +- [Update format reference](https://docs.google.com/spreadsheets/d/1eOBbW7Go2qEQXReOOCdidMTf_tDYRq4JfegcO1CBPIs/edit?usp=sharing) - describes all fields supported by the JSON-based update information format used by the update checker. Only covers plugins. Themes use a similar but more limited format. +- [Securing download links](http://w-shadow.com/blog/2013/03/19/plugin-updates-securing-download-links/) - a general overview. +- [A GUI for entering download credentials](http://open-tools.net/documentation/tutorial-automatic-updates.html#wordpress) +- [Theme Update Checker](http://w-shadow.com/blog/2011/06/02/automatic-updates-for-commercial-themes/) - an older, theme-only variant of this update checker. diff --git a/plugin-update-checker/composer.json b/plugin-update-checker/composer.json new file mode 100644 index 0000000..4379eeb --- /dev/null +++ b/plugin-update-checker/composer.json @@ -0,0 +1,23 @@ +{ + "name": "yahnis-elsts/plugin-update-checker", + "type": "library", + "description": "A custom update checker for WordPress plugins and themes. Useful if you can't host your plugin in the official WP repository but still want it to support automatic updates.", + "keywords": ["wordpress", "plugin updates", "automatic updates", "theme updates"], + "homepage": "https://github.com/YahnisElsts/plugin-update-checker/", + "license": "MIT", + "authors": [ + { + "name": "Yahnis Elsts", + "email": "whiteshadow@w-shadow.com", + "homepage": "http://w-shadow.com/", + "role": "Developer" + } + ], + "require": { + "php": ">=5.2.0", + "ext-json": "*" + }, + "autoload": { + "files": ["load-v4p9.php"] + } +} diff --git a/admin/includes/plugin-update-checker/css/puc-debug-bar.css b/plugin-update-checker/css/puc-debug-bar.css old mode 100755 new mode 100644 similarity index 100% rename from admin/includes/plugin-update-checker/css/puc-debug-bar.css rename to plugin-update-checker/css/puc-debug-bar.css diff --git a/admin/includes/plugin-update-checker/js/debug-bar.js b/plugin-update-checker/js/debug-bar.js old mode 100755 new mode 100644 similarity index 100% rename from admin/includes/plugin-update-checker/js/debug-bar.js rename to plugin-update-checker/js/debug-bar.js diff --git a/plugin-update-checker/languages/plugin-update-checker-ca.mo b/plugin-update-checker/languages/plugin-update-checker-ca.mo new file mode 100644 index 0000000000000000000000000000000000000000..59645faba22e5f3b1358ef076a01d5a7fa3aa534 GIT binary patch literal 1186 zcmZ`&%We}f6g5yD3JU~l7MF@jAn=eGUhPB?f>02mg$Po_u5xE?6T{RV*`7X-koW+0 zhy^>uFR+0P5@LzOC$M16M{p*S5}sDhoY=mPbM5P|$7Ws%jDx^&U;rEjo&)uG2OI_7 z0|a~qW`XZO7dWy8}I`73-}WF&`jfh1$+|or(n2@ z$6kD4Ca@&-k5_~^FyUI~c=Se`J*IW*s48<6*o(o49h3HCEM+5QhFsVosZFH|wN`K> zR?K5#x6H%=Hi*EEd{CkCG&|>KMHn%aMK#ohf(`}GTqVO>w8_qEYsjusZ87I}jgak^ z1b=z=Y*pmY6Da4vZbKUgT;Ekp3VMIKk87Fp(ccPYmReZ*Oiw{rQQ zQJGG}$>w0>q|R3V?m+e&tAI-6bvUP#wByS%j%9Lz;>&3}Inz$sZ5YaXys7Jor*;dn zy&#i|6wjye#l~(4XI!Zv%K@v6lv>NTmKUcY;;7x~Srga|VW$KqCtXwwgL#J#*X-o9%M(OOP zBClzLpCXloN)jJ<-gN!%O{ zB>(p8)gMt|<1=e`ScRtXSByfRLdUq(KfSFJ6!629vGE!UXnOYH)9c?7LY#*cWS6#% cwcF+j&+0z~QHeLF5H1o+|4uN~nyX0s0EpISt^fc4 literal 0 HcmV?d00001 diff --git a/plugin-update-checker/languages/plugin-update-checker-ca.po b/plugin-update-checker/languages/plugin-update-checker-ca.po new file mode 100644 index 0000000..36f3ad7 --- /dev/null +++ b/plugin-update-checker/languages/plugin-update-checker-ca.po @@ -0,0 +1,48 @@ +msgid "" +msgstr "" +"Project-Id-Version: plugin-update-checker\n" +"POT-Creation-Date: 2017-11-24 17:02+0200\n" +"PO-Revision-Date: 2019-09-25 18:15+0200\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2.3\n" +"X-Poedit-Basepath: ..\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" +"Last-Translator: \n" +"Language: ca\n" +"X-Poedit-SearchPath-0: .\n" + +#: Puc/v4p3/Plugin/UpdateChecker.php:395 +msgid "Check for updates" +msgstr "Comprova si hi ha actualitzacions" + +#: Puc/v4p3/Plugin/UpdateChecker.php:548 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "L’extensió %s està actualitzada." + +#: Puc/v4p3/Plugin/UpdateChecker.php:550 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "Una nova versió de l’extensió %s està disponible." + +#: Puc/v4p3/Plugin/UpdateChecker.php:552 +#, php-format +msgctxt "the plugin title" +msgid "Could not determine if updates are available for %s." +msgstr "No s’ha pogut determinar si hi ha actualitzacions per a %s." + +#: Puc/v4p3/Plugin/UpdateChecker.php:558 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "Estat del comprovador d’actualitzacions desconegut \"%s\"" + +#: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 +msgid "There is no changelog available." +msgstr "No hi ha cap registre de canvis disponible." diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-cs_CZ.mo b/plugin-update-checker/languages/plugin-update-checker-cs_CZ.mo old mode 100755 new mode 100644 similarity index 100% rename from admin/includes/plugin-update-checker/languages/plugin-update-checker-cs_CZ.mo rename to plugin-update-checker/languages/plugin-update-checker-cs_CZ.mo diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-cs_CZ.po b/plugin-update-checker/languages/plugin-update-checker-cs_CZ.po old mode 100755 new mode 100644 similarity index 100% rename from admin/includes/plugin-update-checker/languages/plugin-update-checker-cs_CZ.po rename to plugin-update-checker/languages/plugin-update-checker-cs_CZ.po diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-da_DK.mo b/plugin-update-checker/languages/plugin-update-checker-da_DK.mo old mode 100755 new mode 100644 similarity index 100% rename from admin/includes/plugin-update-checker/languages/plugin-update-checker-da_DK.mo rename to plugin-update-checker/languages/plugin-update-checker-da_DK.mo diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-da_DK.po b/plugin-update-checker/languages/plugin-update-checker-da_DK.po old mode 100755 new mode 100644 similarity index 100% rename from admin/includes/plugin-update-checker/languages/plugin-update-checker-da_DK.po rename to plugin-update-checker/languages/plugin-update-checker-da_DK.po diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-de_DE.mo b/plugin-update-checker/languages/plugin-update-checker-de_DE.mo old mode 100755 new mode 100644 similarity index 100% rename from admin/includes/plugin-update-checker/languages/plugin-update-checker-de_DE.mo rename to plugin-update-checker/languages/plugin-update-checker-de_DE.mo diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-de_DE.po b/plugin-update-checker/languages/plugin-update-checker-de_DE.po old mode 100755 new mode 100644 similarity index 100% rename from admin/includes/plugin-update-checker/languages/plugin-update-checker-de_DE.po rename to plugin-update-checker/languages/plugin-update-checker-de_DE.po diff --git a/plugin-update-checker/languages/plugin-update-checker-es_AR.mo b/plugin-update-checker/languages/plugin-update-checker-es_AR.mo new file mode 100644 index 0000000000000000000000000000000000000000..85afecd344184a07c3ff0117b87066af6850078c GIT binary patch literal 1140 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

    ?Y+5Q5_Zx+>QQSw1WxG&* zrLezHK%nsfpZ9cg4~#38`f*cCNTU+7K=@3Cu}vkLqX%#+mrMKJtT(ZFrW-cj$W7rV zv{;=R70#L<*`3?;IGcIb$xR=co*aM{%|dP>3?vVbeK7*2U0m0JT0h z!V+FH^0^^o>_yzDWB1!^(Q;aD&hc9@^NoWz$ik)p7GNsIilh2C;c=`mI)HtTFX}R4 z$`jJ2Gc%(z3wH6)_zu}XeWNoRX?eQRTlbkA>em)ACb{=R#4LnYT#lB)ESN^Ys-yh^`RODR#= z7dlz`tI95^Y<*B9>GX4}*TvxWhZ*s ze#7(MH_zQ(`X(=MBYhn3Zh!aV*2)d=(q1F0DqU0QiY}aVx)+uJdoNJ(`CZgsYh=AR y=?qBkY{yP0=y0v7\n" +"Language-Team: \n" +"Language: ja_JP\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2.3\n" +"X-Poedit-Basepath: ../../../../../../Applications/XAMPP/xamppfiles/htdocs/" +"kisagai/wordpress/wp-content/plugins/simple-stripe-gateway/Puc\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Poedit-KeywordsList: __;_x:1,2c\n" +"X-Poedit-SearchPath-0: .\n" + +#: v4p7/Plugin/Ui.php:54 +msgid "View details" +msgstr "詳細を表示" + +#: v4p7/Plugin/Ui.php:77 +#, php-format +msgid "More information about %s" +msgstr "%sについての詳細" + +#: v4p7/Plugin/Ui.php:128 +msgid "Check for updates" +msgstr "アップデートを確認" + +#: v4p7/Plugin/Ui.php:213 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "%s プラグインは、最新バージョンです。" + +#: v4p7/Plugin/Ui.php:215 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "%s プラグインの最新バージョンがあります。" + +#: v4p7/Plugin/Ui.php:217 +#, php-format +msgctxt "the plugin title" +msgid "Could not determine if updates are available for %s." +msgstr "%s のアップデートがあるかどうかを判断できませんでした。" + +#: v4p7/Plugin/Ui.php:223 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "バージョンアップの確認で想定外の状態になりました。ステータス:”%s”" + +#: v4p7/Vcs/PluginUpdateChecker.php:98 +msgid "There is no changelog available." +msgstr "更新履歴はありません。" diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_BE.mo b/plugin-update-checker/languages/plugin-update-checker-nl_BE.mo old mode 100755 new mode 100644 similarity index 100% rename from admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_BE.mo rename to plugin-update-checker/languages/plugin-update-checker-nl_BE.mo diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_BE.po b/plugin-update-checker/languages/plugin-update-checker-nl_BE.po old mode 100755 new mode 100644 similarity index 100% rename from admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_BE.po rename to plugin-update-checker/languages/plugin-update-checker-nl_BE.po diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_NL.mo b/plugin-update-checker/languages/plugin-update-checker-nl_NL.mo old mode 100755 new mode 100644 similarity index 100% rename from admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_NL.mo rename to plugin-update-checker/languages/plugin-update-checker-nl_NL.mo diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_NL.po b/plugin-update-checker/languages/plugin-update-checker-nl_NL.po old mode 100755 new mode 100644 similarity index 100% rename from admin/includes/plugin-update-checker/languages/plugin-update-checker-nl_NL.po rename to plugin-update-checker/languages/plugin-update-checker-nl_NL.po diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-pt_BR.mo b/plugin-update-checker/languages/plugin-update-checker-pt_BR.mo old mode 100755 new mode 100644 similarity index 100% rename from admin/includes/plugin-update-checker/languages/plugin-update-checker-pt_BR.mo rename to plugin-update-checker/languages/plugin-update-checker-pt_BR.mo diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-pt_BR.po b/plugin-update-checker/languages/plugin-update-checker-pt_BR.po old mode 100755 new mode 100644 similarity index 100% rename from admin/includes/plugin-update-checker/languages/plugin-update-checker-pt_BR.po rename to plugin-update-checker/languages/plugin-update-checker-pt_BR.po diff --git a/plugin-update-checker/languages/plugin-update-checker-sl_SI.mo b/plugin-update-checker/languages/plugin-update-checker-sl_SI.mo new file mode 100644 index 0000000000000000000000000000000000000000..df47ca7c0a01cff815ffe3965ee4918e72a600fd GIT binary patch literal 1203 zcmZWoO>YxN7@k5(CHH_@u9bL+6a=EP>~5kaT4SnW5)?I|RxzkIYhu5#$63#;W@a}b zzoDEE|E0YkRe}?@{($}hjvRaFvtApg%1F;X`|iA7&pWgKe7p8WV0{IA2lRojf!~38 z{Q-Of{0R{70ayn<0v+J`7eefU55W@r8vHNt7jOgi+p9v{0{;!J_dhLoeNBi*uzTQ} z;MZV;%-0n>;U@4&d^!Ij#I*(2ea=^R!ow3fwvNhTqyl@A$>eqDqKQ<0ZrZ7ArF^V&~j_>?MkURy)u~>Ychy7^#jUP2flZM8mj$W?J`4AYTxrv; z56F2Ao#*{MxwGnW=3 && n%100<=4 ? 2 : 3);\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" +"Last-Translator: Igor Funa\n" +"Language: sl_SI\n" +"X-Poedit-SearchPath-0: .\n" + +#: Puc/v4p3/Plugin/UpdateChecker.php:395 +msgid "Check for updates" +msgstr "Preveri posodobitve" + +#: Puc/v4p3/Plugin/UpdateChecker.php:548 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "Vtičnik %s je že posodobljen." + +#: Puc/v4p3/Plugin/UpdateChecker.php:550 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "Nova različica vtičnika %s je na razpolago." + +#: Puc/v4p3/Plugin/UpdateChecker.php:552 +#, php-format +msgctxt "the plugin title" +msgid "Could not determine if updates are available for %s." +msgstr "Ne morem ugotoviti če se za vtičnik %s na razpolago posodobitve." + +#: Puc/v4p3/Plugin/UpdateChecker.php:558 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "Neznan status preverjanja posodobitev za \"%s\"" + +#: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 +msgid "There is no changelog available." +msgstr "Dnevnik sprememb ni na razpolago." diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-sv_SE.mo b/plugin-update-checker/languages/plugin-update-checker-sv_SE.mo old mode 100755 new mode 100644 similarity index 100% rename from admin/includes/plugin-update-checker/languages/plugin-update-checker-sv_SE.mo rename to plugin-update-checker/languages/plugin-update-checker-sv_SE.mo diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker-sv_SE.po b/plugin-update-checker/languages/plugin-update-checker-sv_SE.po old mode 100755 new mode 100644 similarity index 100% rename from admin/includes/plugin-update-checker/languages/plugin-update-checker-sv_SE.po rename to plugin-update-checker/languages/plugin-update-checker-sv_SE.po diff --git a/admin/includes/plugin-update-checker/languages/plugin-update-checker.pot b/plugin-update-checker/languages/plugin-update-checker.pot old mode 100755 new mode 100644 similarity index 100% rename from admin/includes/plugin-update-checker/languages/plugin-update-checker.pot rename to plugin-update-checker/languages/plugin-update-checker.pot diff --git a/admin/includes/plugin-update-checker/license.txt b/plugin-update-checker/license.txt old mode 100755 new mode 100644 similarity index 100% rename from admin/includes/plugin-update-checker/license.txt rename to plugin-update-checker/license.txt diff --git a/plugin-update-checker/load-v4p9.php b/plugin-update-checker/load-v4p9.php new file mode 100644 index 0000000..f5634b5 --- /dev/null +++ b/plugin-update-checker/load-v4p9.php @@ -0,0 +1,28 @@ + 'Puc_v4p9_Plugin_UpdateChecker', + 'Theme_UpdateChecker' => 'Puc_v4p9_Theme_UpdateChecker', + + 'Vcs_PluginUpdateChecker' => 'Puc_v4p9_Vcs_PluginUpdateChecker', + 'Vcs_ThemeUpdateChecker' => 'Puc_v4p9_Vcs_ThemeUpdateChecker', + + 'GitHubApi' => 'Puc_v4p9_Vcs_GitHubApi', + 'BitBucketApi' => 'Puc_v4p9_Vcs_BitBucketApi', + 'GitLabApi' => 'Puc_v4p9_Vcs_GitLabApi', + ) + as $pucGeneralClass => $pucVersionedClass +) { + Puc_v4_Factory::addVersion($pucGeneralClass, $pucVersionedClass, '4.9'); + //Also add it to the minor-version factory in case the major-version factory + //was already defined by another, older version of the update checker. + Puc_v4p9_Factory::addVersion($pucGeneralClass, $pucVersionedClass, '4.9'); +} + diff --git a/plugin-update-checker/plugin-update-checker.php b/plugin-update-checker/plugin-update-checker.php new file mode 100644 index 0000000..2abd4ec --- /dev/null +++ b/plugin-update-checker/plugin-update-checker.php @@ -0,0 +1,10 @@ +=') ) { + require __DIR__ . '/ParsedownModern.php'; + } else { + require __DIR__ . '/ParsedownLegacy.php'; + } +} diff --git a/admin/includes/plugin-update-checker/vendor/ParsedownLegacy.php b/plugin-update-checker/vendor/ParsedownLegacy.php old mode 100755 new mode 100644 similarity index 100% rename from admin/includes/plugin-update-checker/vendor/ParsedownLegacy.php rename to plugin-update-checker/vendor/ParsedownLegacy.php diff --git a/admin/includes/plugin-update-checker/vendor/Parsedown.php b/plugin-update-checker/vendor/ParsedownModern.php old mode 100755 new mode 100644 similarity index 100% rename from admin/includes/plugin-update-checker/vendor/Parsedown.php rename to plugin-update-checker/vendor/ParsedownModern.php diff --git a/admin/includes/plugin-update-checker/vendor/readme-parser.php b/plugin-update-checker/vendor/PucReadmeParser.php old mode 100755 new mode 100644 similarity index 98% rename from admin/includes/plugin-update-checker/vendor/readme-parser.php rename to plugin-update-checker/vendor/PucReadmeParser.php index ea24751..1f5cec9 --- a/admin/includes/plugin-update-checker/vendor/readme-parser.php +++ b/plugin-update-checker/vendor/PucReadmeParser.php @@ -52,6 +52,12 @@ function parse_readme_contents( $file_contents ) { else $tested_up_to = NULL; + // Requires PHP: 5.2.4 + if ( preg_match('|Requires PHP:(.*)|i', $file_contents, $_requires_php) ) { + $requires_php = $this->sanitize_text( $_requires_php[1] ); + } else { + $requires_php = null; + } // Stable tag: 10.4-ride-the-fire-eagle-danger-day if ( preg_match('|Stable tag:(.*)|i', $file_contents, $_stable_tag) ) @@ -196,6 +202,7 @@ function parse_readme_contents( $file_contents ) { 'tags' => $tags, 'requires_at_least' => $requires_at_least, 'tested_up_to' => $tested_up_to, + 'requires_php' => $requires_php, 'stable_tag' => $stable_tag, 'contributors' => $contributors, 'donate_link' => $donate_link, diff --git a/readme.txt b/readme.txt new file mode 100644 index 0000000..aee8c90 --- /dev/null +++ b/readme.txt @@ -0,0 +1,25 @@ +=== Software license management === +Contributors: Michel Velis +Donate link: http://paypal.me/mvelis +Tags: license, software license +Requires at least: 4.1 +Tested up to: 5.6 +Stable tag: 5.3.3 +Requires PHP: 5.2.4 +License: GPLv2 or later +License URI: https://www.gnu.org/licenses/gpl-2.0.html + +Software license management solution for your web applications. Supports WooCommerce. + +== Description == + +Software license management solution for your web applications (WordPress plugins, Themes, Applications, PHP based membership script etc.). Supports WooCommerce. + +== Installation == + +This section describes how to install the plugin and get it working. + +1. Go to the Add New plugins screen in your WordPress admin area +2. Click the upload tab +3. Browse for the plugin file (software-license-manager.zip) +4. Click Install Now and then activate the plugin diff --git a/software-license-manager.php b/software-license-manager.php index 6d06b3d..bb18fde 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ Date: Tue, 28 Apr 2020 12:09:24 -0400 Subject: [PATCH 126/293] SML now support auto updates. Signed-off-by: Michel Velis --- README.md | 2 +- readme.txt | 2 +- software-license-manager.php | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 41bf384..919dcdc 100755 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Welcome to software license manager 👋 -![Version](https://img.shields.io/badge/version-5.3.2-blue.svg?cacheSeconds=2592000) +![Version](https://img.shields.io/badge/version-5.5.0-blue.svg?cacheSeconds=2592000) [![Documentation](https://img.shields.io/badge/documentation-yes-brightgreen.svg)](https://documenter.getpostman.com/view/307939/6tjU1FL?version=latest) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/michelve/software-license-manager/blob/master/LICENSE.md) diff --git a/readme.txt b/readme.txt index aee8c90..a5dc581 100644 --- a/readme.txt +++ b/readme.txt @@ -4,7 +4,7 @@ Donate link: http://paypal.me/mvelis Tags: license, software license Requires at least: 4.1 Tested up to: 5.6 -Stable tag: 5.3.3 +Stable tag: 5.5.0 Requires PHP: 5.2.4 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html diff --git a/software-license-manager.php b/software-license-manager.php index bb18fde..106a8fe 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ Date: Tue, 28 Apr 2020 12:12:13 -0400 Subject: [PATCH 127/293] updated wp readme Signed-off-by: Michel Velis --- README.md | 1 - readme.txt | 24 ++++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 919dcdc..964d36a 100755 --- a/README.md +++ b/README.md @@ -5,7 +5,6 @@ > Software license management solution for your web applications (WordPress plugins, Themes, Applications, PHP based membership script etc.). Supports WooCommerce. -> ⚠️ **NOTICE**: In the next version release this plugin will be rename to: wp license manager (wlm) ### 🏠 [Homepage](https://github.com/michelve/software-license-manager#readme) diff --git a/readme.txt b/readme.txt index a5dc581..d423581 100644 --- a/readme.txt +++ b/readme.txt @@ -15,6 +15,30 @@ Software license management solution for your web applications. Supports WooComm Software license management solution for your web applications (WordPress plugins, Themes, Applications, PHP based membership script etc.). Supports WooCommerce. +## 📦 Features: +- Create license keys +- Check the status of a license key from from your application (remotely) +- Activate a license key from your application (remotely) +- Deactivate a license key (remotely) +- Delete a license key (remotely) +- Update a license key (remotely) +- Check a license key (remotely) +- Track where the license key is being used. +- Track activation date +- You can also create license keys manually from the admin dashboard of this plugin. +- Bulk actions are now available +- Users and admins can export licenses (new) +- View licenses by subscribers (new) +- License info is now included inside woocommerce order (new) +- License activity log, track requests and activations per license (new) +- Admin stats widgets (new) +- Send emails on expiration and activation +- Language support (spanish and english) +- Woocommerce product type +- Pass license info to woocommerce order +- Expiration reminder (Emails the user when the license expires) +- User can manager and view licenses from my account's page + == Installation == This section describes how to install the plugin and get it working. From 7b9fde3021ce4cd521b605312864abe2ac1c1f0f Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 30 Apr 2020 09:18:42 -0400 Subject: [PATCH 128/293] added: validation when creating a new license using the admin dashboard improved: item reference (there were cases where it will return empty values) improved: woocommerce support, now slm auto auto populates values from the settings panels when creating a new license product improved: toggling off slm admin bar removes the shortcut link from the admin bar improved: language internalization Signed-off-by: Michel Velis --- README.md | 2 +- admin/slm-add-licenses.php | 120 ++-- admin/slm-dashboard-widgets.php | 7 +- admin/slm-lic-settings.php | 30 +- admin/slm-list-licenses-class.php | 4 +- .../languages/softwarelicensemanager-es_ES.mo | Bin 0 -> 14822 bytes .../languages/softwarelicensemanager-es_ES.po | 361 ++++++---- .../languages}/softwarelicensemanager.pot | 332 +++++---- includes/slm-plugin-core.php | 19 +- languages/es_ES.mo | Bin 12777 -> 0 bytes languages/softwarelicensemanager-es_ES.mo | Bin 13344 -> 0 bytes languages/softwarelicensemanager-es_ES.po | 634 ------------------ public/assets/css/slm.css | 35 +- readme.txt | 2 +- software-license-manager.php | 22 +- .../includes/my-licenses-page.php | 0 woocommerce/includes/slm-meta-boxes.php | 55 +- 17 files changed, 574 insertions(+), 1049 deletions(-) create mode 100644 i18n/languages/softwarelicensemanager-es_ES.mo rename languages/es_ES.po => i18n/languages/softwarelicensemanager-es_ES.po (70%) rename {languages => i18n/languages}/softwarelicensemanager.pot (65%) delete mode 100644 languages/es_ES.mo delete mode 100644 languages/softwarelicensemanager-es_ES.mo delete mode 100644 languages/softwarelicensemanager-es_ES.po rename public/slm-add-menu-frontend.php => woocommerce/includes/my-licenses-page.php (100%) diff --git a/README.md b/README.md index 964d36a..92f33b4 100755 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Welcome to software license manager 👋 -![Version](https://img.shields.io/badge/version-5.5.0-blue.svg?cacheSeconds=2592000) +![Version](https://img.shields.io/badge/version-5.5.1-blue.svg?cacheSeconds=2592000) [![Documentation](https://img.shields.io/badge/documentation-yes-brightgreen.svg)](https://documenter.getpostman.com/view/307939/6tjU1FL?version=latest) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/michelve/software-license-manager/blob/master/LICENSE.md) diff --git a/admin/slm-add-licenses.php b/admin/slm-add-licenses.php index 5c1b17f..3cd3655 100755 --- a/admin/slm-add-licenses.php +++ b/admin/slm-add-licenses.php @@ -1,10 +1,7 @@ prepare("SELECT * FROM $lk_table WHERE id = %s", $id); $record = $wpdb->get_row($sql_prep, OBJECT); @@ -78,7 +75,6 @@ function slm_add_licenses_menu() do_action('slm_add_edit_interface_save_submission'); //TODO - do some validation - $expiry_date = ''; $license_key = $_POST['license_key']; $max_domains = $_POST['max_allowed_domains']; $max_devices = $_POST['max_allowed_devices']; @@ -101,7 +97,7 @@ function slm_add_licenses_menu() $lic_type = $_POST['lic_type']; $lic_item_ref = trim($_POST['item_reference']); - + $expiry_date = ''; if ($_POST['lic_type'] == 'lifetime'){ $expiry_date = '0000-00-00'; } @@ -120,32 +116,30 @@ function slm_add_licenses_menu() } //Save the entry to the database - $fields = array(); - $fields['license_key'] = $license_key; - $fields['max_allowed_domains'] = $max_domains; - $fields['max_allowed_devices'] = $max_devices; - $fields['lic_status'] = $license_status; - $fields['first_name'] = $first_name; - $fields['last_name'] = $last_name; - $fields['email'] = $email; - $fields['company_name'] = $company_name; - $fields['txn_id'] = $txn_id; - $fields['manual_reset_count'] = $reset_count; - $fields['purchase_id_'] = $purchase_id_; - $fields['date_created'] = $created_date; - $fields['date_renewed'] = $renewed_date; - $fields['date_activated'] = $date_activated; - $fields['date_expiry'] = $expiry_date; - $fields['product_ref'] = $product_ref; - $fields['until'] = $until; - $fields['current_ver'] = $current_ver; - $fields['subscr_id'] = $subscr_id; - $fields['lic_type'] = $lic_type; - $fields['item_reference'] = $lic_item_ref; - - - $id = isset($_POST['edit_record']) ? $_POST['edit_record'] : ''; - $lk_table = SLM_TBL_LICENSE_KEYS; + $fields = array(); + $fields['license_key'] = $license_key; + $fields['max_allowed_domains'] = $max_domains; + $fields['max_allowed_devices'] = $max_devices; + $fields['lic_status'] = $license_status; + $fields['first_name'] = $first_name; + $fields['last_name'] = $last_name; + $fields['email'] = $email; + $fields['company_name'] = $company_name; + $fields['txn_id'] = $txn_id; + $fields['manual_reset_count'] = $reset_count; + $fields['purchase_id_'] = $purchase_id_; + $fields['date_created'] = $created_date; + $fields['date_renewed'] = $renewed_date; + $fields['date_activated'] = $date_activated; + $fields['date_expiry'] = $expiry_date; + $fields['product_ref'] = $product_ref; + $fields['until'] = $until; + $fields['current_ver'] = $current_ver; + $fields['subscr_id'] = $subscr_id; + $fields['lic_type'] = $lic_type; + $fields['item_reference'] = $lic_item_ref; + $id = isset($_POST['edit_record']) ? $_POST['edit_record'] : ''; + $lk_table = SLM_TBL_LICENSE_KEYS; if (empty($id)) { //Insert into database @@ -177,26 +171,20 @@ function slm_add_licenses_menu() do_action('slm_add_edit_interface_save_record_processed', $data); } ?> - - - - '; + echo ' + '; } ?> - - - +

    +

    @@ -622,22 +610,26 @@ function slm_add_licenses_menu() prefix . 'postmeta'; - $item_ref_meta = '_license_item_reference'; - $sql_prep = $wpdb->prepare("SELECT DISTINCT(meta_value) FROM $post_meta_tbl WHERE meta_key = %s", $item_ref_meta); - $values_item_refs = $wpdb->get_results($sql_prep, OBJECT); + $post_meta_tbl = $wpdb->prefix . 'postmeta'; + $item_ref_meta = '_license_item_reference'; + $sql_prep = $wpdb->prepare("SELECT DISTINCT(meta_value) FROM $post_meta_tbl WHERE meta_key = %s", $item_ref_meta); + $values_item_refs = $wpdb->get_results($sql_prep, OBJECT); ?>
    @@ -697,8 +689,17 @@ function slm_add_licenses_menu()

    @@ -734,6 +735,7 @@ function slm_add_licenses_menu() var form = jQuery(".slm_license_form") if (form[0].checkValidity() === false) { + jQuery('#userinfo-tab').css("color", "red"); event.preventDefault() event.stopPropagation() } diff --git a/admin/slm-dashboard-widgets.php b/admin/slm-dashboard-widgets.php index 9536789..5403fbe 100644 --- a/admin/slm-dashboard-widgets.php +++ b/admin/slm-dashboard-widgets.php @@ -5,8 +5,10 @@ } add_action('wp_dashboard_setup', 'slm_add_dashboard_widgets'); -add_action('admin_bar_menu', 'add_toolbar_items', 100); +if (null !== SLM_Helper_Class::slm_get_option('slm_adminbar') && SLM_Helper_Class::slm_get_option('slm_adminbar') == 1) { + add_action('admin_bar_menu', 'add_toolbar_items', 100); +} /** * Add a widget to the dashboard. * @@ -22,8 +24,7 @@ function slm_add_dashboard_widgets() ); } -function add_toolbar_items($admin_bar) -{ +function add_toolbar_items($admin_bar){ $admin_bar->add_menu(array( 'id' => 'slm-menu', 'title' => '' . __('SLM', 'softwarelicensemanager'), diff --git a/admin/slm-lic-settings.php b/admin/slm-lic-settings.php index 4b6d6d0..8a0f7bb 100755 --- a/admin/slm-lic-settings.php +++ b/admin/slm-lic-settings.php @@ -17,7 +17,9 @@ function slm_general_settings(){ global $slm_debug_logger; $slm_debug_logger->reset_log_file("log.txt"); $slm_debug_logger->reset_log_file("log-cron-job.txt"); - echo '

    Debug log files have been reset!

    '; + echo '

    + '.__( 'Debug log files have been reset!', 'softwarelicensemanager' ) .' +

    '; } if (isset($_POST['slm_save_settings'])) { @@ -51,7 +53,7 @@ function slm_general_settings(){ ); update_option('slm_plugin_options', $options); - echo '

    Options Updated!

    '; + echo '

    '.__( 'Options updated!', 'softwarelicensemanager' ).'

    '; } $options = get_option('slm_plugin_options'); @@ -81,19 +83,19 @@ function slm_general_settings(){
    @@ -121,14 +123,14 @@ function slm_general_settings(){ - - @@ -168,7 +170,7 @@ function slm_general_settings(){ + @@ -181,7 +183,7 @@ function slm_general_settings(){ - + @@ -207,13 +209,13 @@ function slm_general_settings(){ value="1" /> - + From 4964669769fcfdf6717321f07fe6b391cc2d7a9a Mon Sep 17 00:00:00 2001 From: Martin Date: Thu, 18 Jun 2020 12:27:29 +0200 Subject: [PATCH 138/293] 5.5.4 - fix for Item referece ignored on activation --- includes/slm-api-listener.php | 10 ++++++++-- software-license-manager.php | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/includes/slm-api-listener.php b/includes/slm-api-listener.php index fb96b4e..2e2aa9c 100755 --- a/includes/slm-api-listener.php +++ b/includes/slm-api-listener.php @@ -183,8 +183,14 @@ function activation_api_listener() { $key = $fields['lic_key']; - $sql_prep1 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); - $retLic = $wpdb->get_row($sql_prep1, OBJECT); + //Enable item_reference verification during activation + if ($options['slm_multiple_items']==1){ + $sql_prep1 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s AND item_reference = %s", $key, $item_reference); + $retLic = $wpdb->get_row($sql_prep1, OBJECT); + }else{ + $sql_prep1 = $wpdb->prepare("SELECT * FROM $tbl_name WHERE license_key = %s", $key); + $retLic = $wpdb->get_row($sql_prep1, OBJECT); + } $sql_prep2 = $wpdb->prepare("SELECT * FROM $reg_table WHERE lic_key = %s", $key); $reg_domains = $wpdb->get_results($sql_prep2, OBJECT); diff --git a/software-license-manager.php b/software-license-manager.php index 145c663..ea30f56 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ Date: Thu, 18 Jun 2020 12:51:05 +0200 Subject: [PATCH 139/293] 5.5.4 - CSS update --- assets/admin.css | 3 --- public/assets/css/slm.css | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 assets/admin.css diff --git a/assets/admin.css b/assets/admin.css deleted file mode 100644 index e40dc58..0000000 --- a/assets/admin.css +++ /dev/null @@ -1,3 +0,0 @@ -.stats .description{ - padding: 10px 15px 0px 15px; -} \ No newline at end of file diff --git a/public/assets/css/slm.css b/public/assets/css/slm.css index 5588303..7a37d42 100755 --- a/public/assets/css/slm.css +++ b/public/assets/css/slm.css @@ -549,3 +549,6 @@ span.days-left { .show_if_slm_license.slm-display, .slm-display { display: block !important } +.stats .description{ + padding: 10px 15px 0px 15px; +} \ No newline at end of file From 213f7eea8ed44ef413bdc8bd8393c9cab8d83a6b Mon Sep 17 00:00:00 2001 From: Martin Date: Tue, 23 Jun 2020 16:32:08 +0200 Subject: [PATCH 140/293] 5.5.4 - order meta fix, expiration not compulsory --- admin/slm-add-licenses.php | 7 +- admin/slm-dashboard-widgets.php | 2 +- admin/slm-lic-settings.php | 18 + includes/class-slm-installer.php | 4 +- includes/slm-utility.php | 4 +- software-license-manager.php | 3 +- woocommerce/includes/purchase.php | 420 +++++++++++++-------- woocommerce/includes/slm-meta-boxes.php | 38 ++ woocommerce/includes/wc_licenses_class.php | 10 +- 9 files changed, 347 insertions(+), 159 deletions(-) diff --git a/admin/slm-add-licenses.php b/admin/slm-add-licenses.php index 96e9e8d..c898af7 100755 --- a/admin/slm-add-licenses.php +++ b/admin/slm-add-licenses.php @@ -613,17 +613,20 @@ function slm_add_licenses_menu(){
    diff --git a/admin/slm-dashboard-widgets.php b/admin/slm-dashboard-widgets.php index 5403fbe..9b5c950 100644 --- a/admin/slm-dashboard-widgets.php +++ b/admin/slm-dashboard-widgets.php @@ -28,7 +28,7 @@ function add_toolbar_items($admin_bar){ $admin_bar->add_menu(array( 'id' => 'slm-menu', 'title' => '' . __('SLM', 'softwarelicensemanager'), - 'href' => '#', + 'href' => admin_url('admin.php?page=slm_overview'), 'meta' => array( 'title' => __('SLM'), ), diff --git a/admin/slm-lic-settings.php b/admin/slm-lic-settings.php index 8a0f7bb..693f243 100755 --- a/admin/slm-lic-settings.php +++ b/admin/slm-lic-settings.php @@ -43,12 +43,14 @@ function slm_general_settings(){ 'enable_debug' => isset($_POST['enable_debug']) ? '1' : '', 'slm_woo' => isset($_POST['slm_woo']) ? '1' : '', 'slm_woo_downloads' => isset($_POST['slm_woo_downloads']) ? '1' : '', + 'slm_woo_affect_downloads' => isset($_POST['slm_woo_affect_downloads']) ? '1' : '', 'slm_stats' => isset($_POST['slm_stats']) ? '1' : '', 'slm_adminbar' => isset($_POST['slm_adminbar']) ? '1' : '', 'slm_conflictmode' => isset($_POST['slm_conflictmode']) ? '1' : '', 'slm_wpestores' => isset($_POST['slm_wpestores']) ? '1' : '', 'slm_dl_manager' => isset($_POST['slm_dl_manager']) ? '1' : '', 'slm_multiple_items' => isset($_POST['slm_multiple_items']) ? '1' : '', + 'allow_user_activation_removal' => isset($_POST['allow_user_activation_removal']) ? '1' : '', 'expiration_reminder_text' => sanitize_text_field($_POST['expiration_reminder_text']) ); update_option('slm_plugin_options', $options); @@ -182,6 +184,15 @@ function slm_general_settings(){
    + + + + + + + + +

    +

    value="1" /> -
    Bootstrap library value="1" />
    @@ -230,10 +232,10 @@ function slm_general_settings(){
    - +

    value="1" /> -

    +

    diff --git a/admin/slm-list-licenses-class.php b/admin/slm-list-licenses-class.php index 0012814..8b97a96 100755 --- a/admin/slm-list-licenses-class.php +++ b/admin/slm-list-licenses-class.php @@ -394,12 +394,12 @@ public static function set_screen($status, $option, $value) public function slm_add_admin_menu() { - $icon_svg = SLM_ASSETS_URL . 'images/slm_logo_small.svg'; + $icon_svg = SLM_ASSETS_URL . 'icons/logo/slm_small.svg'; add_menu_page("SLM", "SLM", SLM_MANAGEMENT_PERMISSION, SLM_MAIN_MENU_SLUG, "slm_manage_licenses_menu", $icon_svg); $hook = add_submenu_page(SLM_MAIN_MENU_SLUG, "Manage Licenses", "Manage Licenses", SLM_MANAGEMENT_PERMISSION, SLM_MAIN_MENU_SLUG, "slm_manage_licenses_menu"); - add_submenu_page(SLM_MAIN_MENU_SLUG, "Add License", "Add Licenses", SLM_MANAGEMENT_PERMISSION, 'slm_manage_license', "slm_add_licenses_menu"); + add_submenu_page(SLM_MAIN_MENU_SLUG, __( 'Create license', 'softwarelicensemanager'), __( 'Create license', 'softwarelicensemanager') , SLM_MANAGEMENT_PERMISSION, 'slm_manage_license', "slm_add_licenses_menu"); add_submenu_page(SLM_MAIN_MENU_SLUG, "Subscribers", "Subscribers", SLM_MANAGEMENT_PERMISSION, 'slm_subscribers', "slm_subscribers_menu"); add_submenu_page(SLM_MAIN_MENU_SLUG, "Tools", "Tools", SLM_MANAGEMENT_PERMISSION, 'slm_admin_tools', "slm_admin_tools_menu"); add_submenu_page(SLM_MAIN_MENU_SLUG, "Settings", "Settings", SLM_MANAGEMENT_PERMISSION, 'slm_settings', "slm_settings_menu"); diff --git a/i18n/languages/softwarelicensemanager-es_ES.mo b/i18n/languages/softwarelicensemanager-es_ES.mo new file mode 100644 index 0000000000000000000000000000000000000000..c9af41a04d9ddc256a934049c8e04466b39f35f2 GIT binary patch literal 14822 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 W<5G~ym?rBYbdz>;r&DDw=Dz^4alj4$ literal 0 HcmV?d00001 diff --git a/languages/es_ES.po b/i18n/languages/softwarelicensemanager-es_ES.po similarity index 70% rename from languages/es_ES.po rename to i18n/languages/softwarelicensemanager-es_ES.po index 6a9fc7c..5bf3f2a 100644 --- a/languages/es_ES.po +++ b/i18n/languages/softwarelicensemanager-es_ES.po @@ -1,23 +1,23 @@ msgid "" msgstr "" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Project-Id-Version: Software License Manager\n" -"POT-Creation-Date: 2020-04-21 17:15-0400\n" -"PO-Revision-Date: 2020-04-21 17:15-0400\n" +"POT-Creation-Date: 2020-04-29 13:47-0400\n" +"PO-Revision-Date: 2020-04-29 13:47-0400\n" +"Last-Translator: \n" "Language-Team: \n" +"Language: es_ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.3\n" -"X-Poedit-Basepath: ..\n" +"X-Poedit-Basepath: ../..\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Flags-xgettext: --add-comments=translators:\n" "X-Poedit-WPHeader: software-license-manager.php\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" "_nx_noop:3c,1,2;__ngettext_noop:1,2\n" -"Last-Translator: \n" -"Language: es_ES\n" "X-Poedit-SearchPath-0: .\n" "X-Poedit-SearchPathExcluded-0: *.min.js\n" "X-Poedit-SearchPathExcluded-1: node_modules\n" @@ -26,46 +26,6 @@ msgstr "" msgid "Every day" msgstr "Cada día" -#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:54 -msgid "View details" -msgstr "Ver detalles" - -#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:77 -#, php-format -msgid "More information about %s" -msgstr "Más información sobre %s" - -#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:128 -msgid "Check for updates" -msgstr "Buscar actualizaciones" - -#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:213 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "El plugin %s está actualizado." - -#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:215 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "Una nueva versión del %s plugin está disponible." - -#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:217 -#, php-format -msgctxt "the plugin title" -msgid "Could not determine if updates are available for %s." -msgstr "No se pudo determinar si hay actualizaciones disponibles para %s." - -#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:223 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "Estado de actualización desconocido \"%s\"" - -#: admin/includes/plugin-update-checker/Puc/v4p6/Vcs/PluginUpdateChecker.php:98 -msgid "There is no changelog available." -msgstr "No hay changelog disponible." - #: admin/includes/wpestores/slm-wpestores.php:70 msgid "Item Name: " msgstr "Nombre del artículo" @@ -74,101 +34,101 @@ msgstr "Nombre del artículo" msgid "License Key: " msgstr "Clave de licencia" -#: admin/slm-add-licenses.php:151 +#: admin/slm-add-licenses.php:149 msgid "Record could not be inserted into the database!" msgstr "¡No se pudo insertar un registro en la base de datos!" -#: admin/slm-add-licenses.php:159 +#: admin/slm-add-licenses.php:157 msgid "Update of the license key table failed!" msgstr "¡Error al actualizar la tabla de claves de licencia!" #. Plugin Name of the plugin/theme -#: admin/slm-add-licenses.php:192 +#: admin/slm-add-licenses.php:190 msgid "Software License Manager" msgstr "Administrador de licencias de software" -#: admin/slm-add-licenses.php:195 +#: admin/slm-add-licenses.php:193 msgid "You can add a new license or edit an existing one from this interface." msgstr "" "Puede agregar una nueva licencia o editar una existente desde esta interfaz." -#: admin/slm-add-licenses.php:241 admin/slm-add-licenses.php:302 +#: admin/slm-add-licenses.php:239 admin/slm-add-licenses.php:304 msgid "License key and status" msgstr "Clave de licencia y estado" -#: admin/slm-add-licenses.php:245 +#: admin/slm-add-licenses.php:243 msgid "User information" msgstr "Información de usuario" -#: admin/slm-add-licenses.php:251 +#: admin/slm-add-licenses.php:249 msgid "Devices & Domains" msgstr "Dispositivos y Dominios" -#: admin/slm-add-licenses.php:256 +#: admin/slm-add-licenses.php:254 msgid "Transaction" msgstr "Transacción" -#: admin/slm-add-licenses.php:260 +#: admin/slm-add-licenses.php:258 msgid "Product" msgstr "Producto" -#: admin/slm-add-licenses.php:266 +#: admin/slm-add-licenses.php:264 msgid "Activity log " msgstr "Registro de actividad" -#: admin/slm-add-licenses.php:273 +#: admin/slm-add-licenses.php:271 msgid "Export " msgstr "Esportar " -#: admin/slm-add-licenses.php:304 +#: admin/slm-add-licenses.php:309 msgid "License Key" msgstr "Clave de licencia" -#: admin/slm-add-licenses.php:306 +#: admin/slm-add-licenses.php:311 msgid "The unique license key." msgstr "La clave de licencia única." -#: admin/slm-add-licenses.php:311 +#: admin/slm-add-licenses.php:316 msgid "License Status" msgstr "Estado de la licencia" -#: admin/slm-add-licenses.php:337 +#: admin/slm-add-licenses.php:342 msgid "Subscription" msgstr "Suscripción" -#: admin/slm-add-licenses.php:340 +#: admin/slm-add-licenses.php:345 msgid "Life-time" msgstr "Vida útil" -#: admin/slm-add-licenses.php:343 woocommerce/includes/slm-meta-boxes.php:124 +#: admin/slm-add-licenses.php:347 woocommerce/includes/slm-meta-boxes.php:143 msgid "type of license: subscription base or lifetime" msgstr "tipo de licencia: base de suscripción o duración" -#: admin/slm-add-licenses.php:353 +#: admin/slm-add-licenses.php:361 msgid "User Information" msgstr "Información del usuario" -#: admin/slm-add-licenses.php:356 +#: admin/slm-add-licenses.php:367 msgid "First Name" msgstr "Primer Nombre" -#: admin/slm-add-licenses.php:358 +#: admin/slm-add-licenses.php:369 msgid "License user's first name" msgstr "Nombre del usuario de la licencia" -#: admin/slm-add-licenses.php:362 +#: admin/slm-add-licenses.php:373 msgid " Last Name" msgstr " Apellido" -#: admin/slm-add-licenses.php:364 +#: admin/slm-add-licenses.php:375 msgid "License user's last name" msgstr "Apellido del usuario de la licencia" -#: admin/slm-add-licenses.php:371 +#: admin/slm-add-licenses.php:382 msgid "Subscriber ID" msgstr "Suscriptor ID" -#: admin/slm-add-licenses.php:373 +#: admin/slm-add-licenses.php:384 msgid "" "The Subscriber ID (if any). Can be useful if you are using the license key " "with a recurring payment plan." @@ -176,23 +136,43 @@ msgstr "" "El ID del suscriptor (si existe). Puede ser útil si está utilizando la clave " "de licencia con un plan de pago recurrente." -#: admin/slm-add-licenses.php:378 +#: admin/slm-add-licenses.php:389 msgid "Email Address" msgstr "Correo electrónico" -#: admin/slm-add-licenses.php:402 +#: admin/slm-add-licenses.php:416 msgid "Allowed Activations" msgstr "Activaciones permitidas" -#: admin/slm-add-licenses.php:405 admin/slm-lic-settings.php:146 +#: admin/slm-add-licenses.php:422 admin/slm-lic-settings.php:144 msgid "Maximum Allowed Domains" msgstr "Máximo de dominios permitidos" -#: admin/slm-add-licenses.php:407 +#: admin/slm-add-licenses.php:424 msgid "Number of domains/installs in which this license can be used" msgstr "" "Número de dominios/instalaciones en los que se puede utilizar esta licencia" +#: admin/slm-add-licenses.php:506 +msgid "Advanced Details" +msgstr "Detalles avanzados" + +#: admin/slm-add-licenses.php:566 +msgid "Product Informations" +msgstr "Información del producto" + +#: admin/slm-add-licenses.php:634 +msgid "Item reference of your software" +msgstr "Referencia de artículos de su software" + +#: admin/slm-add-licenses.php:652 +msgid "Export License" +msgstr "Licencia de exportación" + +#: admin/slm-add-licenses.php:672 +msgid "Activity Log" +msgstr "Registro de actividades" + #: admin/slm-admin-functions.php:41 msgid "Send Deactivation Message for a License" msgstr "Enviar mensaje de desactivación para una licencia" @@ -203,43 +183,51 @@ msgstr "" "Introduzca la URL a la que se enviará el mensaje de desactivación de la " "licencia" -#: admin/slm-dashboard-widgets.php:29 admin/slm-dashboard-widgets.php:32 +#: admin/slm-dashboard-widgets.php:30 admin/slm-dashboard-widgets.php:33 msgid "SLM" msgstr "Slm" -#: admin/slm-dashboard-widgets.php:41 +#: admin/slm-dashboard-widgets.php:42 msgid "Overview" msgstr "Resumen" -#: admin/slm-dashboard-widgets.php:51 +#: admin/slm-dashboard-widgets.php:52 msgid "Add new license" msgstr "Añadir nueva licencia" -#: admin/slm-dashboard-widgets.php:61 includes/slm-plugin-core.php:50 +#: admin/slm-dashboard-widgets.php:62 includes/slm-plugin-core.php:55 msgid "Settings" msgstr "Parámetros" -#: admin/slm-lic-settings.php:88 +#: admin/slm-lic-settings.php:21 +msgid "Debug log files have been reset!" +msgstr "" + +#: admin/slm-lic-settings.php:56 +msgid "Options updated!" +msgstr "" + +#: admin/slm-lic-settings.php:86 msgid "General Settings" msgstr "Configuración general" -#: admin/slm-lic-settings.php:92 +#: admin/slm-lic-settings.php:90 msgid "Integrations" msgstr "Integraciones" -#: admin/slm-lic-settings.php:96 +#: admin/slm-lic-settings.php:94 msgid "Debugging settings" msgstr "Parámetros" -#: admin/slm-lic-settings.php:100 +#: admin/slm-lic-settings.php:98 msgid "Emails" msgstr "Emails" -#: admin/slm-lic-settings.php:127 +#: admin/slm-lic-settings.php:125 msgid "Secret Key for License Creation" msgstr "Clave secreta para la creación de licencias" -#: admin/slm-lic-settings.php:130 +#: admin/slm-lic-settings.php:128 msgid "" "This secret key will be used to authenticate any license creation request. " "You can change it with something random." @@ -247,11 +235,11 @@ msgstr "" "Esta clave secreta se utilizará para autenticar cualquier solicitud de " "creación de licencia. Puedes cambiarlo con algo aleatorio." -#: admin/slm-lic-settings.php:134 +#: admin/slm-lic-settings.php:132 msgid "Secret Key for License Verification Requests" msgstr "Clave secreta para las solicitudes de verificación de licencias" -#: admin/slm-lic-settings.php:136 +#: admin/slm-lic-settings.php:134 msgid "" "This secret key will be used to authenticate any license verification " "request from customer's site. Important! Do not change this value once your " @@ -261,11 +249,11 @@ msgstr "" "verificación de licencia desde el sitio del cliente. ¡Importante! ¡No cambie " "este valor una vez que sus clientes comiencen a usar su(s) producto(s)!" -#: admin/slm-lic-settings.php:140 +#: admin/slm-lic-settings.php:138 msgid "License Key Prefix" msgstr "Prefijo de clave de licencia" -#: admin/slm-lic-settings.php:142 +#: admin/slm-lic-settings.php:140 msgid "" "You can optionaly specify a prefix for the license keys. This prefix will be " "added to the uniquely generated license keys." @@ -273,7 +261,7 @@ msgstr "" "Opcionalmente, puede especificar un prefijo para las claves de licencia. " "Este prefijo se agregará a las claves de licencia generadas de forma única." -#: admin/slm-lic-settings.php:148 +#: admin/slm-lic-settings.php:146 msgid "" "Maximum number of domains/installs which each license is valid for (default " "value)." @@ -281,27 +269,26 @@ msgstr "" "Número máximo de dominios/instalaciones para los que cada licencia es válida " "(valor predeterminado)." -#: admin/slm-lic-settings.php:152 +#: admin/slm-lic-settings.php:150 msgid "Maximum Allowed Devices" msgstr "Máximo de dispositivos permitidos" -#: admin/slm-lic-settings.php:154 +#: admin/slm-lic-settings.php:152 msgid "" "Maximum number of devices which each license is valid for (default value)." msgstr "" "Número máximo de dispositivos para los que cada licencia es válida (valor " "predeterminado)." -#: admin/slm-lic-settings.php:158 +#: admin/slm-lic-settings.php:156 msgid "Auto Expire License Keys" msgstr "Claves de licencia de expiración automática" -#: admin/slm-lic-settings.php:160 +#: admin/slm-lic-settings.php:158 msgid "Enable auto expiration " msgstr "Habilitar la expiración automática" -#: admin/slm-lic-settings.php:161 -#, fuzzy +#: admin/slm-lic-settings.php:159 msgid "" " When enabled, it will automatically set the status of a license key to " "\"Expired\" when the expiry date value of the key is reached. It doesn't " @@ -313,40 +300,65 @@ msgstr "" "de la clave. No desactiva de forma remota una clave. Simplemente cambia el " "estado de la clave en la base de datos a caducado." -#: admin/slm-lic-settings.php:165 +#: admin/slm-lic-settings.php:163 msgid "General settings" msgstr "Los ajustes generales" -#: admin/slm-lic-settings.php:168 admin/slm-lic-settings.php:175 -msgid "Disable stats in licenses overview page." +#: admin/slm-lic-settings.php:166 +msgid "Enable stats in licenses overview page." msgstr "" -"Deshabilite las estadísticas en la página de información general de " -"licencias." +"Habilite las estadísticas en la página de información general de licencias." + +#: admin/slm-lic-settings.php:173 +msgid "Enable admin bar shortcut link" +msgstr "Habilitar enlace de acceso directo de la barra de administración" -#: admin/slm-lic-settings.php:186 +#: admin/slm-lic-settings.php:177 +msgid "Multiple items validation" +msgstr "Validación de varios elementos" + +#: admin/slm-lic-settings.php:180 +msgid "Enable verification of Item reference." +msgstr "Habilite la verificación de la referencia del artículo." + +#: admin/slm-lic-settings.php:181 +msgid "" +"When enabled, there will be another field in Licenced product - Item " +"reference. This field should correspond to the API parameter item_reference " +"of your software." +msgstr "" +"Cuando está habilitado, habrá otro campo en Producto con licencia - " +"Referencia de artículo. Este campo debe corresponder al parámetro API " +"item_reference del software." + +#: admin/slm-lic-settings.php:189 +msgid "Enable Bootstrap javascript libray." +msgstr "Habilite la libray javascript de Bootstrap." + +#: admin/slm-lic-settings.php:201 msgid "Woocommerce Support" msgstr "Soporte técnico de Woocommerce" -#: admin/slm-lic-settings.php:189 +#: admin/slm-lic-settings.php:204 msgid "" "A fully customizable, open source eCommerce platform built for WordPress." msgstr "" "Una plataforma de comercio electrónico totalmente personalizable y de código " "abierto creada para WordPress." -#: admin/slm-lic-settings.php:195 +#: admin/slm-lic-settings.php:210 msgid "" -"Disable woocommerce download page. Proccess downloads though license order " +"Disable woocommerce download page. Process downloads though license order " "info page." msgstr "" -"Deshabilite la página de descarga de woocommerce. Proccess descarga a través " -"de la página de información del pedido de licencia." +"Deshabilite la página de descarga de woocommerce. Procesar descargas a " +"través de la página de información del pedido de licencia." -#: admin/slm-lic-settings.php:198 +#: admin/slm-lic-settings.php:213 msgid "Download Manager Support" msgstr "Descargar soporte de Manager" -#: admin/slm-lic-settings.php:201 +#: admin/slm-lic-settings.php:216 msgid "" "Download Manager Plugin – Adds a simple download manager to your WordPress " "blog." @@ -354,11 +366,11 @@ msgstr "" "Descargar Manager Plugin – Agrega un simple gestor de descargas a tu blog de " "WordPress." -#: admin/slm-lic-settings.php:205 +#: admin/slm-lic-settings.php:220 msgid "WP eStores Support" msgstr "Soporte de WP eStores" -#: admin/slm-lic-settings.php:208 +#: admin/slm-lic-settings.php:223 msgid "" "WordPress eStore Plugin – Complete Solution to Sell Digital Products from " "Your WordPress Blog Securely" @@ -366,11 +378,11 @@ msgstr "" "WordPress eStore Plugin – Solución completa para vender productos digitales " "de su blog de WordPress de forma segura" -#: admin/slm-lic-settings.php:220 +#: admin/slm-lic-settings.php:235 msgid "Enable Debug Logging" msgstr "Habilitar el registro de depuración" -#: admin/slm-lic-settings.php:223 +#: admin/slm-lic-settings.php:238 msgid "" "If checked, debug output will be written to log files (keep it disabled " "unless you are troubleshooting)." @@ -378,11 +390,11 @@ msgstr "" "Si está marcada, la salida de depuración se escribirá en los archivos de " "registro (manténgala deshabilitada a menos que esté solucionando problemas)." -#: admin/slm-lic-settings.php:234 +#: admin/slm-lic-settings.php:249 msgid "Expiration reminder" msgstr "Recordatorio de expiración" -#: admin/slm-lic-settings.php:244 +#: admin/slm-lic-settings.php:259 msgid "Update Options" msgstr "Opciones de actualización" @@ -444,7 +456,7 @@ msgstr "Ver todos los" msgid "ID" msgstr "Id" -#: admin/slm-subscribers.php:190 woocommerce/includes/purchase.php:415 +#: admin/slm-subscribers.php:190 woocommerce/includes/purchase.php:419 msgid "License key" msgstr "Clave de licencia" @@ -460,11 +472,52 @@ msgstr "Visión general - Todos los suscriptores" msgid "Credits and authors" msgstr "Créditos y autores" -#: includes/slm-plugin-core.php:51 +#: includes/slm-plugin-core.php:56 msgid "GitHub" msgstr "GitHub" -#: public/slm-add-menu-frontend.php:56 public/slm-add-menu-frontend.php:69 +#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:54 +msgid "View details" +msgstr "Ver detalles" + +#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:77 +#, php-format +msgid "More information about %s" +msgstr "Más información sobre %s" + +#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:128 +msgid "Check for updates" +msgstr "Buscar actualizaciones" + +#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:213 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "El plugin %s está actualizado." + +#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:215 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "Una nueva versión del %s plugin está disponible." + +#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:217 +#, php-format +msgctxt "the plugin title" +msgid "Could not determine if updates are available for %s." +msgstr "No se pudo determinar si hay actualizaciones disponibles para %s." + +#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:223 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "Estado de actualización desconocido \"%s\"" + +#: plugin-update-checker/Puc/v4p9/Vcs/PluginUpdateChecker.php:98 +msgid "There is no changelog available." +msgstr "No hay changelog disponible." + +#: woocommerce/includes/my-licenses-page.php:47 +#: woocommerce/includes/my-licenses-page.php:58 msgid "My Licenses" msgstr "Mis licencias" @@ -472,11 +525,11 @@ msgstr "Mis licencias" msgid "License could not be created: Invalid sites allowed number." msgstr "No se pudo crear la licencia: número permitido de sitios no válidos." -#: woocommerce/includes/purchase.php:220 +#: woocommerce/includes/purchase.php:223 msgid "License Key(s) generated" msgstr "Clave(s) de licencia generada(s)" -#: woocommerce/includes/purchase.php:237 +#: woocommerce/includes/purchase.php:241 msgid "License Key(s) could not be created." msgstr "No se han podido crear claves de licencia." @@ -485,23 +538,27 @@ msgid "Order confirmation email sent to: opmf1UJ_l|w< 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 PqhxK`(VeJH34;Fu%7D7_X=$c= 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 diff --git a/languages/softwarelicensemanager-es_ES.po b/languages/softwarelicensemanager-es_ES.po deleted file mode 100644 index 6827620..0000000 --- a/languages/softwarelicensemanager-es_ES.po +++ /dev/null @@ -1,634 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: Software License Manager\n" -"POT-Creation-Date: 2020-03-25 18:10-0400\n" -"PO-Revision-Date: 2020-03-25 18:13-0400\n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: es_ES\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.3\n" -"X-Poedit-Basepath: ..\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Poedit-Flags-xgettext: --add-comments=translators:\n" -"X-Poedit-WPHeader: software-license-manager.php\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" -"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" -"_nx_noop:3c,1,2;__ngettext_noop:1,2\n" -"X-Poedit-SearchPath-0: .\n" -"X-Poedit-SearchPathExcluded-0: *.min.js\n" -"X-Poedit-SearchPathExcluded-1: node_modules\n" - -#: admin/includes/cronjobs/slm-tasks.php:10 -msgid "Every day" -msgstr "Cada día" - -#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:54 -msgid "View details" -msgstr "Ver detalles" - -#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:77 -#, php-format -msgid "More information about %s" -msgstr "Más información sobre %s" - -#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:128 -msgid "Check for updates" -msgstr "Buscar actualizaciones" - -#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:213 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "El plugin %s está actualizado." - -#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:215 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "Una nueva versión del %s plugin está disponible." - -#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:217 -#, php-format -msgctxt "the plugin title" -msgid "Could not determine if updates are available for %s." -msgstr "No se pudo determinar si hay actualizaciones disponibles para %s." - -#: admin/includes/plugin-update-checker/Puc/v4p6/Plugin/Ui.php:223 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "Estado de actualización desconocido \"%s\"" - -#: admin/includes/plugin-update-checker/Puc/v4p6/Vcs/PluginUpdateChecker.php:98 -msgid "There is no changelog available." -msgstr "No hay changelog disponible." - -#: admin/includes/wpestores/slm-wpestores.php:70 -msgid "Item Name: " -msgstr "Nombre del artículo" - -#: admin/includes/wpestores/slm-wpestores.php:70 -msgid "License Key: " -msgstr "Clave de licencia" - -#: admin/slm-add-licenses.php:142 -msgid "Record could not be inserted into the database!" -msgstr "¡No se pudo insertar un registro en la base de datos!" - -#: admin/slm-add-licenses.php:150 -msgid "Update of the license key table failed!" -msgstr "¡Error al actualizar la tabla de claves de licencia!" - -#. Plugin Name of the plugin/theme -#: admin/slm-add-licenses.php:183 -msgid "Software License Manager" -msgstr "Administrador de licencias de software" - -#: admin/slm-add-licenses.php:186 -msgid "You can add a new license or edit an existing one from this interface." -msgstr "" -"Puede agregar una nueva licencia o editar una existente desde esta interfaz." - -#: admin/slm-add-licenses.php:232 admin/slm-add-licenses.php:293 -msgid "License key and status" -msgstr "Clave de licencia y estado" - -#: admin/slm-add-licenses.php:236 -msgid "User information" -msgstr "Información de usuario" - -#: admin/slm-add-licenses.php:242 -msgid "Devices & Domains" -msgstr "Dispositivos y Dominios" - -#: admin/slm-add-licenses.php:247 -msgid "Transaction" -msgstr "Transacción" - -#: admin/slm-add-licenses.php:251 -msgid "Product" -msgstr "Producto" - -#: admin/slm-add-licenses.php:257 -msgid "Activity log " -msgstr "Registro de actividad" - -#: admin/slm-add-licenses.php:264 -msgid "Export " -msgstr "Esportar " - -#: admin/slm-add-licenses.php:295 -msgid "License Key" -msgstr "Clave de licencia" - -#: admin/slm-add-licenses.php:297 -msgid "The unique license key." -msgstr "La clave de licencia única." - -#: admin/slm-add-licenses.php:302 -msgid "License Status" -msgstr "Estado de la licencia" - -#: admin/slm-add-licenses.php:328 -msgid "Subscription" -msgstr "Suscripción" - -#: admin/slm-add-licenses.php:331 -msgid "Life-time" -msgstr "Vida útil" - -#: admin/slm-add-licenses.php:334 woocommerce/includes/slm-meta-boxes.php:124 -msgid "type of license: subscription base or lifetime" -msgstr "tipo de licencia: base de suscripción o duración" - -#: admin/slm-add-licenses.php:344 -msgid "User Information" -msgstr "Información del usuario" - -#: admin/slm-add-licenses.php:347 -msgid "First Name" -msgstr "Primer Nombre" - -#: admin/slm-add-licenses.php:349 -msgid "License user's first name" -msgstr "Nombre del usuario de la licencia" - -#: admin/slm-add-licenses.php:353 -msgid " Last Name" -msgstr " Apellido" - -#: admin/slm-add-licenses.php:355 -msgid "License user's last name" -msgstr "Apellido del usuario de la licencia" - -#: admin/slm-add-licenses.php:362 -msgid "Subscriber ID" -msgstr "Suscriptor ID" - -#: admin/slm-add-licenses.php:364 -msgid "" -"The Subscriber ID (if any). Can be useful if you are using the license key " -"with a recurring payment plan." -msgstr "" -"El ID del suscriptor (si existe). Puede ser útil si está utilizando la clave " -"de licencia con un plan de pago recurrente." - -#: admin/slm-add-licenses.php:369 -msgid "Email Address" -msgstr "Correo electrónico" - -#: admin/slm-add-licenses.php:393 -msgid "Allowed Activations" -msgstr "Activaciones permitidas" - -#: admin/slm-add-licenses.php:396 admin/slm-lic-settings.php:146 -msgid "Maximum Allowed Domains" -msgstr "Máximo de dominios permitidos" - -#: admin/slm-add-licenses.php:398 -msgid "Number of domains/installs in which this license can be used" -msgstr "" -"Número de dominios/instalaciones en los que se puede utilizar esta licencia" - -#: admin/slm-admin-functions.php:41 -msgid "Send Deactivation Message for a License" -msgstr "Enviar mensaje de desactivación para una licencia" - -#: admin/slm-admin-functions.php:43 -msgid "Enter the URL where the license deactivation message will be sent to" -msgstr "" -"Introduzca la URL a la que se enviará el mensaje de desactivación de la " -"licencia" - -#: admin/slm-dashboard-widgets.php:29 admin/slm-dashboard-widgets.php:32 -msgid "SLM" -msgstr "Slm" - -#: admin/slm-dashboard-widgets.php:41 -msgid "Overview" -msgstr "Resumen" - -#: admin/slm-dashboard-widgets.php:51 -msgid "Add new license" -msgstr "Añadir nueva licencia" - -#: admin/slm-dashboard-widgets.php:61 includes/slm-plugin-core.php:50 -msgid "Settings" -msgstr "Parámetros" - -#: admin/slm-lic-settings.php:88 -msgid "General Settings" -msgstr "Configuración general" - -#: admin/slm-lic-settings.php:92 -msgid "Integrations" -msgstr "Integraciones" - -#: admin/slm-lic-settings.php:96 -msgid "Debugging settings" -msgstr "Parámetros" - -#: admin/slm-lic-settings.php:100 -msgid "Emails" -msgstr "Emails" - -#: admin/slm-lic-settings.php:127 -msgid "Secret Key for License Creation" -msgstr "Clave secreta para la creación de licencias" - -#: admin/slm-lic-settings.php:130 -msgid "" -"This secret key will be used to authenticate any license creation request. " -"You can change it with something random." -msgstr "" -"Esta clave secreta se utilizará para autenticar cualquier solicitud de " -"creación de licencia. Puedes cambiarlo con algo aleatorio." - -#: admin/slm-lic-settings.php:134 -msgid "Secret Key for License Verification Requests" -msgstr "Clave secreta para las solicitudes de verificación de licencias" - -#: admin/slm-lic-settings.php:136 -msgid "" -"This secret key will be used to authenticate any license verification " -"request from customer's site. Important! Do not change this value once your " -"customers start to use your product(s)!" -msgstr "" -"Esta clave secreta se usará para autenticar cualquier solicitud de " -"verificación de licencia desde el sitio del cliente. ¡Importante! ¡No cambie " -"este valor una vez que sus clientes comiencen a usar su(s) producto(s)!" - -#: admin/slm-lic-settings.php:140 -msgid "License Key Prefix" -msgstr "Prefijo de clave de licencia" - -#: admin/slm-lic-settings.php:142 -msgid "" -"You can optionaly specify a prefix for the license keys. This prefix will be " -"added to the uniquely generated license keys." -msgstr "" -"Opcionalmente, puede especificar un prefijo para las claves de licencia. " -"Este prefijo se agregará a las claves de licencia generadas de forma única." - -#: admin/slm-lic-settings.php:148 -msgid "" -"Maximum number of domains/installs which each license is valid for (default " -"value)." -msgstr "" -"Número máximo de dominios/instalaciones para los que cada licencia es válida " -"(valor predeterminado)." - -#: admin/slm-lic-settings.php:152 -msgid "Maximum Allowed Devices" -msgstr "Máximo de dispositivos permitidos" - -#: admin/slm-lic-settings.php:154 -msgid "" -"Maximum number of devices which each license is valid for (default value)." -msgstr "" -"Número máximo de dispositivos para los que cada licencia es válida (valor " -"predeterminado)." - -#: admin/slm-lic-settings.php:158 -msgid "Auto Expire License Keys" -msgstr "Claves de licencia de expiración automática" - -#: admin/slm-lic-settings.php:160 -msgid "Enable auto expiration " -msgstr "Habilitar la expiración automática" - -#: admin/slm-lic-settings.php:161 -msgid "" -" When enabled, it will automatically set the status of a license key to " -"\"Expired\" when the expiry date value of the key is reached. It doesn't " -"remotely deactivate a key. It simply changes the status of the key in your " -"database to expired." -msgstr "" -"Cuando está habilitado, establecerá automáticamente el estado de una clave " -"de licencia en \"Expirado\" cuando se alcance el valor de fecha de caducidad " -"de la clave. No desactiva de forma remota una clave. Simplemente cambia el " -"estado de la clave en la base de datos a caducado." - -#: admin/slm-lic-settings.php:165 -msgid "General settings" -msgstr "Los ajustes generales" - -#: admin/slm-lic-settings.php:168 admin/slm-lic-settings.php:175 -msgid "Disable stats in licenses overview page." -msgstr "" -"Deshabilite las estadísticas en la página de información general de " -"licencias." - -#: admin/slm-lic-settings.php:186 -msgid "Woocommerce Support" -msgstr "Soporte técnico de Woocommerce" - -#: admin/slm-lic-settings.php:189 -msgid "" -"A fully customizable, open source eCommerce platform built for WordPress." -msgstr "" -"Una plataforma de comercio electrónico totalmente personalizable y de código " -"abierto creada para WordPress." - -#: admin/slm-lic-settings.php:195 -msgid "" -"Disable woocommerce download page. Proccess downloads though license order " -"info page." -msgstr "" -"Deshabilite la página de descarga de woocommerce. Proccess descarga a través " -"de la página de información del pedido de licencia." - -#: admin/slm-lic-settings.php:198 -msgid "Download Manager Support" -msgstr "Descargar soporte de Manager" - -#: admin/slm-lic-settings.php:201 -msgid "" -"Download Manager Plugin – Adds a simple download manager to your WordPress " -"blog." -msgstr "" -"Descargar Manager Plugin – Agrega un simple gestor de descargas a tu blog de " -"WordPress." - -#: admin/slm-lic-settings.php:205 -msgid "WP eStores Support" -msgstr "Soporte de WP eStores" - -#: admin/slm-lic-settings.php:208 -msgid "" -"WordPress eStore Plugin – Complete Solution to Sell Digital Products from " -"Your WordPress Blog Securely" -msgstr "" -"WordPress eStore Plugin – Solución completa para vender productos digitales " -"de su blog de WordPress de forma segura" - -#: admin/slm-lic-settings.php:220 -msgid "Enable Debug Logging" -msgstr "Habilitar el registro de depuración" - -#: admin/slm-lic-settings.php:223 -msgid "" -"If checked, debug output will be written to log files (keep it disabled " -"unless you are troubleshooting)." -msgstr "" -"Si está marcada, la salida de depuración se escribirá en los archivos de " -"registro (manténgala deshabilitada a menos que esté solucionando problemas)." - -#: admin/slm-lic-settings.php:234 -msgid "Expiration reminder" -msgstr "Recordatorio de expiración" - -#: admin/slm-lic-settings.php:244 -msgid "Update Options" -msgstr "Opciones de actualización" - -#: admin/slm-list-licenses-class.php:27 -msgid "No licenses avaliable." -msgstr "No hay licencias disponibles." - -#: admin/slm-list-licenses-class.php:43 -msgid "All" -msgstr "Todos" - -#: admin/slm-list-licenses-class.php:50 -msgid "active" -msgstr "activo" - -#: admin/slm-list-licenses-class.php:57 -msgid "pending" -msgstr "pendiente" - -#: admin/slm-list-licenses-class.php:64 -msgid "expired" -msgstr "caducado" - -#: admin/slm-list-licenses-class.php:71 -msgid "blocked" -msgstr "bloqueado" - -#: admin/slm-list-licenses-class.php:203 admin/slm-list-licenses-class.php:220 -#: admin/slm-list-licenses-class.php:237 admin/slm-list-licenses-class.php:254 -msgid "Error - Please select some records using the checkboxes" -msgstr "" -"Error - Seleccione algunos registros usando las casillas de verificación" - -#: admin/slm-manage-licenses.php:15 -msgid "You do not have permission to manage this license." -msgstr "No tiene permiso para administrar esta licencia." - -#: admin/slm-manage-licenses.php:36 -msgid "Overview - Manage licenses" -msgstr "Descripción general - Administrar licencias" - -#: admin/slm-manage-licenses.php:38 -msgid "Add New" -msgstr "Añadir nueva" - -#: admin/slm-manage-licenses.php:65 admin/slm-subscribers.php:219 -msgid "Search" -msgstr "Buscar" - -#: admin/slm-subscribers.php:178 -msgid "Overview - Manage Subscribers" -msgstr "Visión general - Administrar suscriptores" - -#: admin/slm-subscribers.php:180 -msgid "View all" -msgstr "Ver todos los" - -#: admin/slm-subscribers.php:189 -msgid "ID" -msgstr "Id" - -#: admin/slm-subscribers.php:190 woocommerce/includes/purchase.php:415 -msgid "License key" -msgstr "Clave de licencia" - -#: admin/slm-subscribers.php:191 -msgid "Status" -msgstr "Estado" - -#: admin/slm-subscribers.php:208 -msgid "Overview - All Subscribers" -msgstr "Visión general - Todos los suscriptores" - -#: admin/slm_about_menu.php:21 -msgid "Credits and authors" -msgstr "Créditos y autores" - -#: includes/slm-plugin-core.php:51 -msgid "GitHub" -msgstr "GitHub" - -#: public/slm-add-menu-frontend.php:54 public/slm-add-menu-frontend.php:67 -msgid "My Licenses" -msgstr "Mis licencias" - -#: woocommerce/includes/purchase.php:95 -msgid "License could not be created: Invalid sites allowed number." -msgstr "No se pudo crear la licencia: número permitido de sitios no válidos." - -#: woocommerce/includes/purchase.php:220 -msgid "License Key(s) generated" -msgstr "Clave(s) de licencia generada(s)" - -#: woocommerce/includes/purchase.php:237 -msgid "License Key(s) could not be created." -msgstr "No se han podido crear claves de licencia." - -#: woocommerce/includes/purchase.php:357 -msgid "Order confirmation email sent to: Tips and Tricks HQ Text Domain: softwarelicensemanager -Domain Path: /languages/ +Domain Path: /i18n/languages/ */ // If this file is called directly, abort. if (!defined('WPINC')) { die(); } - global $wpdb, $slm_debug_logger; //Short name/slug "SLM" or "slm" -define('SLM_VERSION', '5.5.0'); -define('SLM_DB_VERSION', '4.1.8'); -define('SLM_REWRITE_VERSION', '2.3.6'); +define('SLM_VERSION', '5.5.1'); +define('SLM_DB_VERSION', '4.1.9'); +define('SLM_REWRITE_VERSION', '2.3.7'); define('SLM_FOLDER', dirname(plugin_basename(__FILE__))); define('SLM_URL', plugins_url('' ,__FILE__)); define('SLM_ASSETS_URL', SLM_URL . '/public/assets/'); @@ -55,9 +54,8 @@ add_filter('plugin_action_links_' . plugin_basename(__FILE__), 'slm_settings_link'); -require 'plugin-update-checker/plugin-update-checker.php'; -$myUpdateChecker = Puc_v4_Factory::buildUpdateChecker( - 'https://github.com/michelve/software-license-manager', - __FILE__, - '/software-license-manager' -); \ No newline at end of file +// plugin auto updater helper +if (file_exists('plugin-update-checker/plugin-update-checker.php')) { + require 'plugin-update-checker/plugin-update-checker.php'; + $myUpdateChecker = Puc_v4_Factory::buildUpdateChecker('https://github.com/michelve/software-license-manager',__FILE__,'/software-license-manager'); +} \ No newline at end of file diff --git a/public/slm-add-menu-frontend.php b/woocommerce/includes/my-licenses-page.php similarity index 100% rename from public/slm-add-menu-frontend.php rename to woocommerce/includes/my-licenses-page.php diff --git a/woocommerce/includes/slm-meta-boxes.php b/woocommerce/includes/slm-meta-boxes.php index 874e27d..807ff7d 100644 --- a/woocommerce/includes/slm-meta-boxes.php +++ b/woocommerce/includes/slm-meta-boxes.php @@ -76,15 +76,12 @@ function wcpp_custom_style() __('Licensing', 'softwarelicensemanager'), 'target' => 'wc_slm_meta', 'class' => array('show_if_slm_license', 'show_if_wc_slm_data_tab_enabled'), ); - return $wc_slm_data_tabs; } @@ -100,9 +97,14 @@ function wc_slm_data_panel(){ array( 'id' => '_domain_licenses', 'label' => __('Domain Licenses', 'softwarelicensemanager'), - 'placeholder' => '0', + 'placeholder' => SLM_Helper_Class::slm_get_option('default_max_domains'), 'desc_tip' => 'true', + 'value' => SLM_Helper_Class::slm_get_option('default_max_domains'), 'type' => 'number', + 'custom_attributes' => array( + 'step' => 'any', + 'min' => SLM_Helper_Class::slm_get_option('default_max_domains') + ), 'description' => __('Enter the allowed amount of domains this license can have (websites).', 'softwarelicensemanager') ) ); @@ -110,9 +112,14 @@ function wc_slm_data_panel(){ array( 'id' => '_devices_licenses', 'label' => __('Devices Licenses', 'softwarelicensemanager'), - 'placeholder' => '0', + 'placeholder' => SLM_Helper_Class::slm_get_option('default_max_devices'), + 'value' => SLM_Helper_Class::slm_get_option('default_max_devices'), 'desc_tip' => 'true', 'type' => 'number', + 'custom_attributes' => array( + 'step' => 'any', + 'min' => SLM_Helper_Class::slm_get_option('default_max_devices') + ), 'description' => __('Enter the allowed amount of devices this license can have (computers, mobile, etc).', 'softwarelicensemanager') ) ); @@ -210,7 +217,12 @@ function wc_slm_save_data($post_id) update_post_meta($post_id, '_wc_slm_data_tab_enabled', $is_wc_slm_data_tab_enabled); $_license_item_reference = $_POST['_license_item_reference']; - update_post_meta($post_id, '_license_item_reference', esc_attr($_license_item_reference)); + if (!empty($_license_item_reference)) { + update_post_meta($post_id, '_license_item_reference', esc_attr($_license_item_reference)); + } + else { + update_post_meta($post_id, '_license_item_reference', esc_attr('default')); + } $_license_type = $_POST['_license_type']; if (!empty($_license_type)) { @@ -230,17 +242,14 @@ function wc_slm_save_data($post_id) update_post_meta($post_id, '_license_renewal_period', esc_attr($_license_renewal_period)); } - $_license_renewal_period_term = $_POST['_license_renewal_period_term']; if (!empty($_license_renewal_period_term) && $_license_type == 'lifetime') { update_post_meta($post_id, '_license_renewal_period_term', esc_attr('onetime')); } else { - update_post_meta($post_id, '_license_renewal_period_term', esc_attr($_license_renewal_period_term)); + update_post_meta($post_id, '_license_renewal_period_term', esc_attr($_license_renewal_period_term)); } - - $_license_current_version = $_POST['_license_current_version']; if (!empty($_license_current_version)) { update_post_meta($post_id, '_license_current_version', esc_attr($_license_current_version)); @@ -252,26 +261,20 @@ function wc_slm_save_data($post_id) } } - - function slm_register_product_type() - { - class WC_Product_SLM_License extends WC_Product - { - public function __construct($product) - { + function slm_register_product_type(){ + class WC_Product_SLM_License extends WC_Product{ + public function __construct($product){ $this->product_type = 'slm_license'; parent::__construct($product); } } } - function slm_add_product_type($types) - { + function slm_add_product_type($types){ $types['slm_license'] = __('License product', 'softwarelicensemanager'); return $types; } - function slm_license_admin_custom_js() - { + function slm_license_admin_custom_js(){ if ('product' != get_post_type()) : return; endif; @@ -302,28 +305,20 @@ function slm_license_admin_custom_js() jQuery('._license_renewal_period_term_field').hide(); } }); - jQuery('.product_data_tabs .general_tab').addClass('show_if_slm_license').show(); - //options_group show_if_downloadable hidden //jQuery('.options_group').addClass('show_if_slm_license').show(); - jQuery("label[for='_virtual']").addClass('show_if_slm_license').show(); - jQuery("label[for='_downloadable']").addClass('show_if_slm_license').show(); - jQuery(".show_if_external").addClass('hide_if_slm_license').hide(); - jQuery('#general_product_data .pricing').addClass('show_if_slm_license slm-display').show(); jQuery("#_virtual").prop("checked", true); jQuery("#_downloadable").prop("checked", true); - //for Inventory tab jQuery('.inventory_options').addClass('show_if_slm_license').show(); jQuery('#inventory_product_data ._manage_stock_field').addClass('show_if_slm_license').show(); jQuery('#inventory_product_data ._sold_individually_field').parent().addClass('show_if_slm_license').show(); jQuery('#inventory_product_data ._sold_individually_field').addClass('show_if_slm_license').show(); - jQuery('.shipping_options').addClass('hide_if_slm_license').hide(); jQuery('.marketplace-suggestions_options').addClass('hide_if_slm_license').hide(); jQuery('input#_wc_slm_data_tab_enabled').trigger('change'); From 5cf1d532dff312f910d1eea94659a22cf2b776e7 Mon Sep 17 00:00:00 2001 From: Michel Date: Thu, 30 Apr 2020 09:26:43 -0400 Subject: [PATCH 129/293] Set theme jekyll-theme-cayman --- _config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index 2f7efbe..c419263 100644 --- a/_config.yml +++ b/_config.yml @@ -1 +1 @@ -theme: jekyll-theme-minimal \ No newline at end of file +theme: jekyll-theme-cayman \ No newline at end of file From 0d18684196b051e19f7e3577f10fdf590768e43c Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Sun, 3 May 2020 10:41:27 -0400 Subject: [PATCH 130/293] 5.5.2 release --- README.md | 2 +- admin/slm-add-licenses.php | 207 +++++++-------- includes/class-slm-installer.php | 8 +- includes/slm-api-listener.php | 66 +++-- includes/slm-plugin-core.php | 25 +- includes/slm-utility.php | 70 +++++ public/assets/css/slm-front-end.css | 12 + public/assets/css/slm.css | 13 + readme.txt | 2 +- software-license-manager.php | 10 +- woocommerce/includes/my-licenses-page.php | 206 --------------- woocommerce/includes/purchase.php | 26 +- woocommerce/includes/wc-slm.php | 7 +- woocommerce/includes/wc_licenses_class.php | 247 ++++++++++++++++++ .../add-to-cart/slm_license.php | 18 +- 15 files changed, 524 insertions(+), 395 deletions(-) delete mode 100755 woocommerce/includes/my-licenses-page.php create mode 100755 woocommerce/includes/wc_licenses_class.php diff --git a/README.md b/README.md index 92f33b4..6b31d75 100755 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Welcome to software license manager 👋 -![Version](https://img.shields.io/badge/version-5.5.1-blue.svg?cacheSeconds=2592000) +![Version](https://img.shields.io/badge/version-5.5.2-blue.svg?cacheSeconds=2592000) [![Documentation](https://img.shields.io/badge/documentation-yes-brightgreen.svg)](https://documenter.getpostman.com/view/307939/6tjU1FL?version=latest) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/michelve/software-license-manager/blob/master/LICENSE.md) diff --git a/admin/slm-add-licenses.php b/admin/slm-add-licenses.php index 3cd3655..96e9e8d 100755 --- a/admin/slm-add-licenses.php +++ b/admin/slm-add-licenses.php @@ -4,6 +4,7 @@ function slm_add_licenses_menu(){ $slm_options = get_option('slm_plugin_options'); //initialise some variables $id = ''; + $item_reference =''; $license_key = ''; $max_domains = SLM_Helper_Class::slm_get_option('default_max_domains'); $max_devices = SLM_Helper_Class::slm_get_option('default_max_devices'); @@ -28,6 +29,8 @@ function slm_add_licenses_menu(){ $class_hide = ''; $date_activated = ''; $lic_item_ref = ''; + $slm_billing_length = ''; + $slm_billing_interval = ''; $current_date = (date("Y-m-d")); $current_date_plus_1year = date('Y-m-d', strtotime('+1 year')); @@ -63,6 +66,8 @@ function slm_add_licenses_menu(){ $lic_type = $record->lic_type; $expiry_date = $record->date_expiry; $lic_item_ref = $record->item_reference; + $slm_billing_length = $record->slm_billing_length; + $slm_billing_interval = $record->slm_billing_interval; } if (isset($_POST['save_record'])) { @@ -95,7 +100,17 @@ function slm_add_licenses_menu(){ $current_ver = $_POST['current_ver']; $subscr_id = $_POST['subscr_id']; $lic_type = $_POST['lic_type']; - $lic_item_ref = trim($_POST['item_reference']); + + if("" == trim($_POST['item_reference'])){ + $lic_item_ref = 'default'; + } + else { + $lic_item_ref = trim($_POST['item_reference']); + } + + + $slm_billing_length = trim($_POST['slm_billing_length']); + $slm_billing_interval= trim($_POST['slm_billing_interval']); $expiry_date = ''; if ($_POST['lic_type'] == 'lifetime'){ @@ -138,6 +153,8 @@ function slm_add_licenses_menu(){ $fields['subscr_id'] = $subscr_id; $fields['lic_type'] = $lic_type; $fields['item_reference'] = $lic_item_ref; + $fields['slm_billing_length'] = $slm_billing_length; + $fields['slm_billing_interval'] = $slm_billing_interval; $id = isset($_POST['edit_record']) ? $_POST['edit_record'] : ''; $lk_table = SLM_TBL_LICENSE_KEYS; @@ -158,15 +175,6 @@ function slm_add_licenses_menu(){ } } - if (empty($errors)) { - $message = "Record successfully saved!"; - echo '

    '; - echo $message; - echo '

    '; - } else { - echo '
    ' . $errors . '
    '; - } - $data = array('row_id' => $id, 'key' => $license_key); do_action('slm_add_edit_interface_save_record_processed', $data); } @@ -251,7 +259,7 @@ function slm_add_licenses_menu(){
    + value="1" /> + +

    +
    Bootstrap library @@ -209,6 +220,13 @@ function slm_general_settings(){ value="1" />
    + value="1" /> + +


    License key was activated successfully !

    '.$message.'

    Regards,

    '.get_bloginfo( 'name' ).'
    '.get_bloginfo( 'admin_email' ).'

    '; + $template = ' Epikly



    License key was activated successfully !

    ' . $message . '

    Regards,

    ' . get_bloginfo('name') . '
    ' . get_bloginfo('admin_email') . '

    '; return $template; - } - static function count_licenses($status){ + static function count_licenses($status) + { global $wpdb; $license_table = SLM_TBL_LICENSE_KEYS; $get_lic_status = $wpdb->get_var("SELECT COUNT(*) FROM $license_table WHERE lic_status = '" . $status . "'"); return $get_lic_status; } - static function slm_get_icon_url($size, $filename){ - return SLM_ASSETS_URL . 'icons/' . $size . '/' .$filename; + static function slm_get_icon_url($size, $filename) + { + return SLM_ASSETS_URL . 'icons/' . $size . '/' . $filename; } static function count_logrequest() @@ -333,29 +339,32 @@ static function getstats_licenses($date_created, $interval) return $query; } - static function get_total_licenses(){ + static function get_total_licenses() + { global $wpdb; $license_table = SLM_TBL_LICENSE_KEYS; $license_count = $wpdb->get_var("SELECT COUNT(*) FROM " . $license_table . ""); return $license_count; } - static function get_lic_expiringsoon(){ + static function get_lic_expiringsoon() + { global $wpdb; $license_table = SLM_TBL_LICENSE_KEYS; $license_count = $wpdb->get_var("SELECT COUNT(*) FROM $license_table WHERE date_expiry BETWEEN DATE_SUB( CURDATE( ) ,INTERVAL 1 MONTH ) AND DATE_SUB( CURDATE( ) ,INTERVAL 0 MONTH );"); return $license_count; } - static function block_license_key_by_row_id($key_row_id){ + static function block_license_key_by_row_id($key_row_id) + { global $wpdb; $license_table = SLM_TBL_LICENSE_KEYS; //Now, delete the key from the licenses table. - $wpdb->update( $license_table, array('lic_status' => 'blocked'), array('id' => $key_row_id)); - + $wpdb->update($license_table, array('lic_status' => 'blocked'), array('id' => $key_row_id)); } - static function expire_license_key_by_row_id($key_row_id){ + static function expire_license_key_by_row_id($key_row_id) + { global $wpdb; $license_table = SLM_TBL_LICENSE_KEYS; @@ -367,7 +376,7 @@ static function active_license_key_by_row_id($key_row_id) { global $wpdb; $license_table = SLM_TBL_LICENSE_KEYS; - $current_date = date('Y/m/d'); + $current_date = wp_date('Y/m/d'); // 'lic_status' => ''. $current_date.'' $wpdb->update($license_table, array('lic_status' => 'active'), array('id' => $key_row_id)); @@ -377,7 +386,8 @@ static function active_license_key_by_row_id($key_row_id) /* * Deletes any registered domains info from the domain table for the given key's row id. */ - static function delete_registered_domains_of_key($key_row_id) { + static function delete_registered_domains_of_key($key_row_id) + { global $slm_debug_logger; global $wpdb; $reg_table = SLM_TBL_LIC_DOMAIN; @@ -385,17 +395,19 @@ static function delete_registered_domains_of_key($key_row_id) { $reg_domains = $wpdb->get_results($sql_prep, OBJECT); foreach ($reg_domains as $domain) { $row_to_delete = $domain->id; - $wpdb->delete( $reg_table, array( 'id' => $row_to_delete ) ); - $slm_debug_logger->log_debug("Registered domain with row id (".$row_to_delete.") deleted."); + $wpdb->delete($reg_table, array('id' => $row_to_delete)); + $slm_debug_logger->log_debug("Registered domain with row id (" . $row_to_delete . ") deleted."); } } - static function create_secret_keys() { + static function create_secret_keys() + { $key = strtoupper(implode('-', str_split(substr(strtolower(md5(microtime() . rand(1000, 9999))), 0, 32), 8))); return hash('sha256', $key); } - static function create_log($license_key, $action){ + static function create_log($license_key, $action) + { global $wpdb; $slm_log_table = SLM_TBL_LIC_LOG; $origin = ''; @@ -411,12 +423,11 @@ static function create_log($license_key, $action){ $log_data = array( 'license_key' => $license_key, 'slm_action' => $action, - 'time' => date("Y/m/d"), + 'time' => wp_date("Y/m/d"), 'source' => $origin ); - $wpdb->insert( $slm_log_table, $log_data ); - + $wpdb->insert($slm_log_table, $log_data); } static function create_email_log($lic_key, $sent_to, $status, $sent, $date_sent) @@ -433,10 +444,11 @@ static function create_email_log($lic_key, $sent_to, $status, $sent, $date_sent) ); $wpdb->insert($slm_email_table, $log_data); - SLM_Helper_Class::write_log('email log created for '. $lic_key); + SLM_Helper_Class::write_log('email log created for ' . $lic_key); } - static function slm_wp_dashboards_stats($amount){ + static function slm_wp_dashboards_stats($amount) + { global $wpdb; $slm_log_table = SLM_TBL_LICENSE_KEYS; @@ -445,14 +457,15 @@ static function slm_wp_dashboards_stats($amount){ foreach ($result as $license) { echo ' - '. $license->first_name . ' ' .$license->last_name .'
    + ' . $license->first_name . ' ' . $license->last_name . '
    ' . $license->license_key . ' '; } } - static function slm_get_licinfo ($api_action, $license_key){ - $api_url = get_site_url() . '/?secret_key=' . SLM_Helper_Class::slm_get_option('lic_verification_secret') . '&slm_action='.$api_action.'&license_key='.$license_key; + static function slm_get_licinfo($api_action, $license_key) + { + $api_url = get_site_url() . '/?secret_key=' . SLM_Helper_Class::slm_get_option('lic_verification_secret') . '&slm_action=' . $api_action . '&license_key=' . $license_key; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => $api_url, @@ -470,7 +483,8 @@ static function slm_get_licinfo ($api_action, $license_key){ return $json; } - static function get_subscriber_licenses(){ + static function get_subscriber_licenses() + { global $wpdb; $email = $_GET['email']; $manage_subscriber = $_GET['manage_subscriber']; @@ -492,21 +506,22 @@ static function get_subscriber_licenses(){ } } - static function get_lic_activity($license_key){ + static function get_lic_activity($license_key) + { global $wpdb; $slm_log_table = SLM_TBL_LIC_LOG; echo '
    '; - $activity = $wpdb->get_results( "SELECT * FROM " . $slm_log_table . " WHERE license_key='" . $license_key."';"); + $activity = $wpdb->get_results("SELECT * FROM " . $slm_log_table . " WHERE license_key='" . $license_key . "';"); foreach ($activity as $log) { echo ' ' . - '' . - ' + '' . + ''; } echo ' @@ -515,8 +530,9 @@ static function get_lic_activity($license_key){ '; } - static function get_license_activation($license_key, $tablename, $item_name, $allow_removal = true) { - ?> + static function get_license_activation($license_key, $tablename, $item_name, $allow_removal = true) + { +?>
    -
    - registered_devices .'" aria-label="' .$activation->registered_devices .'" aria-describedby="' .$activation->registered_devices .'" value="' .$activation->registered_devices .'" readonly>'; +
    + registered_devices . '" aria-label="' . $activation->registered_devices . '" aria-describedby="' . $activation->registered_devices . '" value="' . $activation->registered_devices . '" readonly>'; + } else { + echo ''; } - else { - echo ''; - } - ?> - -
    - + ?> + +
    + +
    +
    - -
    @@ -555,20 +570,22 @@ static function get_license_activation($license_key, $tablename, $item_name, $al Not registered yet
    '; ?>
    - is_type( 'slm_license' ) ) { + if ($product->is_type('slm_license')) { $tabs['shipping'] = array( - 'title' => __( 'License information', 'softwarelicensemanager' ), + 'title' => __('License information', 'softwarelicensemanager'), 'priority' => 50, 'callback' => 'slm_woo_tab_lic_info' ); @@ -576,14 +593,15 @@ function slm_woo_product_tab( $tabs ) { return $tabs; } - function slm_woo_tab_lic_info() { + function slm_woo_tab_lic_info() + { global $product; - // The new tab content - echo '

    License information

    '; - echo 'License type: ' . get_post_meta($product->get_id(), '_license_type', true ) . '
    '; - echo 'Domains allowed: ' . get_post_meta($product->get_id(), '_domain_licenses', true ) . '
    '; - echo 'Devices allowed: ' . get_post_meta($product->get_id(), '_devices_licenses', true ) . '
    '; - echo 'Renews every ' . get_post_meta($product->get_id(), '_license_renewal_period', true ) . ' ' . get_post_meta($product->get_id(), '_license_renewal_period_term', true ) . '
    '; + // The new tab content + echo '

    License information

    '; + echo 'License type: ' . get_post_meta($product->get_id(), '_license_type', true) . '
    '; + echo 'Domains allowed: ' . get_post_meta($product->get_id(), '_domain_licenses', true) . '
    '; + echo 'Devices allowed: ' . get_post_meta($product->get_id(), '_devices_licenses', true) . '
    '; + echo 'Renews every ' . get_post_meta($product->get_id(), '_license_renewal_period', true) . ' ' . get_post_meta($product->get_id(), '_license_renewal_period_term', true) . '
    '; } } -} \ No newline at end of file +} diff --git a/package.json b/package.json index 319f3d2..c324cc6 100644 --- a/package.json +++ b/package.json @@ -1,45 +1,45 @@ { - "name": "software-license-manager", - "version": "5.5.6", - "description": "Software license management solution for your web applications (WordPress plugins, Themes, Applications, PHP based membership script etc.). Supports WooCommerce.", - "scripts": { - "changelog": "auto-changelog -p && git add CHANGELOG.md" - }, - "auto-changelog": { - "output": "CHANGELOG.md", - "template": "keepachangelog", - "issueUrl": "https://github.com/michelve/software-license-manager/issues/{id}", - "unreleased": true, - "commitLimit": false, - "includeBranch": [ - "release-v2", - "release-v3" - ] - }, - "repository": { - "type": "git", - "url": "git+https://michelve@github.com/michelve/software-license-manager.git" - }, - "keywords": [ - "software", - "license", - "license", - "license", - "manager", - "wordpress", - "license", - "manager", - "slm", - "woocommerce", - "lcienses" - ], - "author": "Michel Velis and Tips and Tricks HQ", - "license": "MIT", - "bugs": { - "url": "https://github.com/michelve/software-license-manager/issues" - }, - "homepage": "https://github.com/michelve/software-license-manager#readme", - "devDependencies": { - "auto-changelog": "^1.14.1" - } + "name": "software-license-manager", + "version": "5.5.8", + "description": "Software license management solution for your web applications (WordPress plugins, Themes, Applications, PHP based membership script etc.). Supports WooCommerce.", + "scripts": { + "changelog": "auto-changelog -p && git add CHANGELOG.md" + }, + "auto-changelog": { + "output": "CHANGELOG.md", + "template": "keepachangelog", + "issueUrl": "https://github.com/michelve/software-license-manager/issues/{id}", + "unreleased": true, + "commitLimit": false, + "includeBranch": [ + "release-v2", + "release-v3" + ] + }, + "repository": { + "type": "git", + "url": "git+https://michelve@github.com/michelve/software-license-manager.git" + }, + "keywords": [ + "software", + "license", + "license", + "license", + "manager", + "wordpress", + "license", + "manager", + "slm", + "woocommerce", + "lcienses" + ], + "author": "Michel Velis and Tips and Tricks HQ", + "license": "MIT", + "bugs": { + "url": "https://github.com/michelve/software-license-manager/issues" + }, + "homepage": "https://github.com/michelve/software-license-manager#readme", + "devDependencies": { + "auto-changelog": "^1.14.1" + } } diff --git a/readme.txt b/readme.txt index c14d376..243e24b 100644 --- a/readme.txt +++ b/readme.txt @@ -4,7 +4,7 @@ Donate link: http://paypal.me/mvelis Tags: license, software license Requires at least: 4.1 Tested up to: 5.7 -Stable tag: 5.5.7 +Stable tag: 5.5.8 Requires PHP: 5.2.4 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html diff --git a/software-license-manager.php b/software-license-manager.php index 0bc4c17..2d74605 100755 --- a/software-license-manager.php +++ b/software-license-manager.php @@ -1,7 +1,7 @@ Tips and Tricks HQ Text Domain: softwarelicensemanager Domain Path: /i18n/languages/ -WC tested up to: 4.2.1 +WC tested up to: 4.3.0 */ // If this file is called directly, abort. @@ -19,9 +19,9 @@ global $wpdb, $slm_debug_logger; //Short name/slug "SLM" or "slm" -define('SLM_VERSION', '5.5.7'); -define('SLM_DB_VERSION', '4.2.9'); -define('SLM_REWRITE_VERSION', '2.4.0'); +define('SLM_VERSION', '5.5.8'); +define('SLM_DB_VERSION', '4.3.0'); +define('SLM_REWRITE_VERSION', '2.4.1'); define('SLM_FOLDER', dirname(plugin_basename(__FILE__))); define('SLM_URL', plugins_url('', __FILE__)); define('SLM_ASSETS_URL', SLM_URL . '/public/assets/'); From 3963725b0815b6785db5c97006555562f1294345 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 10 Sep 2020 16:01:47 -0400 Subject: [PATCH 161/293] updated change-log and package.json --- CHANGELOG.md | 37 +++++++++++++++++++++++++++++++++--- includes/slm-plugin-core.php | 3 +-- package.json | 19 +++++++++++------- 3 files changed, 47 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c3ac19..7b6edbe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,38 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). -## [5.5.6](https://github.com/michelve/software-license-manager/compare/5.5.6...5.5.6) - 2020-08-10 +## [v5.5.8](https://github.com/michelve/software-license-manager/compare/v5.7.0...v5.5.8) - 2020-09-10 + +### Merged + +- implemneted data-title support [`#34`](https://github.com/michelve/software-license-manager/pull/34) + +### Commits + +- updated pot and mo language files [`d2c6649`](https://github.com/michelve/software-license-manager/commit/d2c6649d5d18719af1d0722ca6efbec6bb097005) +- updated date() to wp_date() [`af90004`](https://github.com/michelve/software-license-manager/commit/af90004fc95cf978cca3edb2298039735898749f) +- added new icons [`95b9957`](https://github.com/michelve/software-license-manager/commit/95b9957ed9db3a43845e507513996f6e642e9b7d) +- resolved bootstrap issues and conflicts [`68481ce`](https://github.com/michelve/software-license-manager/commit/68481ce15a1cc8f06e1c8f3c49f1f46178f629f1) +- 5.5.7 release [`5ea43c0`](https://github.com/michelve/software-license-manager/commit/5ea43c033d68c53baa36691b3f3ad1d1f5a9d61b) +- added new icons [`8306c65`](https://github.com/michelve/software-license-manager/commit/8306c659089fd3458b1855530f945a05f5df00d6) + +## [v5.7.0](https://github.com/michelve/software-license-manager/compare/5.5.7...v5.7.0) - 2020-08-10 + +## [5.5.7](https://github.com/michelve/software-license-manager/compare/5.5.6...5.5.7) - 2020-09-02 + +### Merged + +- implemneted data-title support [`#34`](https://github.com/michelve/software-license-manager/pull/34) + +### Commits + +- updated pot and mo language files [`d2c6649`](https://github.com/michelve/software-license-manager/commit/d2c6649d5d18719af1d0722ca6efbec6bb097005) +- added new icons [`95b9957`](https://github.com/michelve/software-license-manager/commit/95b9957ed9db3a43845e507513996f6e642e9b7d) +- resolved bootstrap issues and conflicts [`68481ce`](https://github.com/michelve/software-license-manager/commit/68481ce15a1cc8f06e1c8f3c49f1f46178f629f1) +- Update software-license-manager.php [`1bd3a30`](https://github.com/michelve/software-license-manager/commit/1bd3a30efbb8f4291b09496a177920662920e912) +- 5.5.7 release [`5ea43c0`](https://github.com/michelve/software-license-manager/commit/5ea43c033d68c53baa36691b3f3ad1d1f5a9d61b) +- no message [`7fc3f02`](https://github.com/michelve/software-license-manager/commit/7fc3f02cece367664bef2f3f6f39033a93812db8) +- added new icons [`8306c65`](https://github.com/michelve/software-license-manager/commit/8306c659089fd3458b1855530f945a05f5df00d6) ## [5.5.6](https://github.com/michelve/software-license-manager/compare/5.5.5...5.5.6) - 2020-08-10 @@ -174,7 +205,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Update README.md [`5b8b6d4`](https://github.com/michelve/software-license-manager/commit/5b8b6d420461d72eecfad2d9ec63b699e14e23dd) - Set theme jekyll-theme-cayman [`9633c64`](https://github.com/michelve/software-license-manager/commit/9633c644dca41f52e84430e8454a68ffb8b9933a) -## [5.1.5](https://github.com/michelve/software-license-manager/compare/5.1.4...5.1.5) - 2019-11-07 +## [5.1.5](https://github.com/michelve/software-license-manager/compare/5.1.4...5.1.5) - 2019-11-06 ### Commits @@ -246,7 +277,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). - Delete project.xml [`d0d0d7a`](https://github.com/michelve/software-license-manager/commit/d0d0d7acd701bccb3a93315bf414400ffb316a3d) - Delete project.properties [`e48803c`](https://github.com/michelve/software-license-manager/commit/e48803cb612bff368aa7906e45e1c29b3bd845f0) -## [5.0.2](https://github.com/michelve/software-license-manager/compare/5.0.2-patched...5.0.2) - 2020-08-10 +## [5.0.2](https://github.com/michelve/software-license-manager/compare/5.0.2-patched...5.0.2) - 2019-07-01 ## [5.0.2-patched](https://github.com/michelve/software-license-manager/compare/4.12.1...5.0.2-patched) - 2019-07-17 diff --git a/includes/slm-plugin-core.php b/includes/slm-plugin-core.php index 7680f47..ecea65c 100755 --- a/includes/slm-plugin-core.php +++ b/includes/slm-plugin-core.php @@ -236,6 +236,5 @@ function wc_print_pretty($args) function wc_log($msg) { $log = ABSPATH . DIRECTORY_SEPARATOR . 'slm_log.txt'; - file_put_contents($log, $msg . ' -', FILE_APPEND); + file_put_contents($log, $msg . '', FILE_APPEND); } diff --git a/package.json b/package.json index c324cc6..5d32d61 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,10 @@ { - "name": "software-license-manager", + "name": "@michelve/software-license-manager", "version": "5.5.8", "description": "Software license management solution for your web applications (WordPress plugins, Themes, Applications, PHP based membership script etc.). Supports WooCommerce.", "scripts": { - "changelog": "auto-changelog -p && git add CHANGELOG.md" + "changelog": "auto-changelog -p && git add CHANGELOG.md", + "postpublish": "npm publish --ignore-scripts --@michelve:registry='https://registry.npmjs.org'" }, "auto-changelog": { "output": "CHANGELOG.md", @@ -18,12 +19,15 @@ }, "repository": { "type": "git", - "url": "git+https://michelve@github.com/michelve/software-license-manager.git" + "url": "git+https://github.com/michelve/software-license-manager.git" + }, + "publishConfig": { + "registry": "https://npm.pkg.github.com" }, "keywords": [ "software", - "license", - "license", + "license manager", + "software license", "license", "manager", "wordpress", @@ -31,7 +35,7 @@ "manager", "slm", "woocommerce", - "lcienses" + "license key generator" ], "author": "Michel Velis and Tips and Tricks HQ", "license": "MIT", @@ -41,5 +45,6 @@ "homepage": "https://github.com/michelve/software-license-manager#readme", "devDependencies": { "auto-changelog": "^1.14.1" - } + }, + "main": "software-license-manager.php" } From 0deb6d3b5eb9c620787d3d7a7baa8b31d59817d9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 10 Sep 2020 20:02:27 +0000 Subject: [PATCH 162/293] Bump node-fetch from 2.6.0 to 2.6.1 Bumps [node-fetch](https://github.com/bitinn/node-fetch) from 2.6.0 to 2.6.1. - [Release notes](https://github.com/bitinn/node-fetch/releases) - [Changelog](https://github.com/node-fetch/node-fetch/blob/master/docs/CHANGELOG.md) - [Commits](https://github.com/bitinn/node-fetch/compare/v2.6.0...v2.6.1) Signed-off-by: dependabot[bot] --- package-lock.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 70cf2dd..52df279 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "software-license-manager", - "version": "5.7.0", + "version": "5.5.8", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -63,9 +63,9 @@ "dev": true }, "node-fetch": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", - "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", "dev": true }, "optimist": { From 6b9afaea455d004252d5c9e2b89bdf424039e221 Mon Sep 17 00:00:00 2001 From: Michel Date: Thu, 10 Sep 2020 16:05:54 -0400 Subject: [PATCH 163/293] Create SECURITY.md --- SECURITY.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..034e848 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,21 @@ +# Security Policy + +## Supported Versions + +Use this section to tell people about which versions of your project are +currently being supported with security updates. + +| Version | Supported | +| ------- | ------------------ | +| 5.1.x | :white_check_mark: | +| 5.0.x | :x: | +| 4.0.x | :white_check_mark: | +| < 4.0 | :x: | + +## Reporting a Vulnerability + +Use this section to tell people how to report a vulnerability. + +Tell them where to go, how often they can expect to get an update on a +reported vulnerability, what to expect if the vulnerability is accepted or +declined, etc. From 03231245361bf65eed6f8cc0ad79e3fed9d49129 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 10 Sep 2020 16:11:11 -0400 Subject: [PATCH 164/293] questions template added --- .github/ISSUE_TEMPLATE/question.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/question.md diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md new file mode 100644 index 0000000..9c742d5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/question.md @@ -0,0 +1,10 @@ +--- +name: Question +about: More information is needed or I have questions +title: "" +labels: "" +assignees: "" +--- + +**Describe the question** +A clear and concise description of what the question is. From ad8460026f90abeebbdda59f0fcd4d19261e1abc Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 10 Sep 2020 16:14:19 -0400 Subject: [PATCH 165/293] templates --- .github/ISSUE_TEMPLATE/question.md | 2 +- .github/ISSUE_TEMPLATE/request.md | 41 ++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 .github/ISSUE_TEMPLATE/request.md diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md index 9c742d5..5b44dc3 100644 --- a/.github/ISSUE_TEMPLATE/question.md +++ b/.github/ISSUE_TEMPLATE/question.md @@ -1,5 +1,5 @@ --- -name: Question +name: :question: Question about: More information is needed or I have questions title: "" labels: "" diff --git a/.github/ISSUE_TEMPLATE/request.md b/.github/ISSUE_TEMPLATE/request.md new file mode 100644 index 0000000..858d403 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/request.md @@ -0,0 +1,41 @@ +--- +name: :earth_asia: Feature Request +about: More information is needed or I have questions +title: "" +labels: "Enhancement" +assignees: "" +--- + +### Is your proposal related to a problem? + + + +(Write your answer here.) + +### Describe the solution you'd like + + + +(Describe your proposed solution here.) + +### Describe alternatives you've considered + + + +(Write your answer here.) + +### Additional context + + + +(Write your answer here.) From fa6dc19094817c0970377f06b958ae7baa010434 Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 10 Sep 2020 16:16:23 -0400 Subject: [PATCH 166/293] no message --- .github/ISSUE_TEMPLATE/bug_report.md | 24 +++++++++++++----------- .github/ISSUE_TEMPLATE/question.md | 2 +- .github/ISSUE_TEMPLATE/request.md | 6 +++--- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index dd84ea7..e2b8498 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,10 +1,9 @@ --- name: Bug report about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - +title: "" +labels: "bug" +assignees: "" --- **Describe the bug** @@ -12,6 +11,7 @@ A clear and concise description of what the bug is. **To Reproduce** Steps to reproduce the behavior: + 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' @@ -24,15 +24,17 @@ A clear and concise description of what you expected to happen. If applicable, add screenshots to help explain your problem. **Desktop (please complete the following information):** - - OS: [e.g. iOS] - - Browser [e.g. chrome, safari] - - Version [e.g. 22] + +- OS: [e.g. iOS] +- Browser [e.g. chrome, safari] +- Version [e.g. 22] **Smartphone (please complete the following information):** - - Device: [e.g. iPhone6] - - OS: [e.g. iOS8.1] - - Browser [e.g. stock browser, safari] - - Version [e.g. 22] + +- Device: [e.g. iPhone6] +- OS: [e.g. iOS8.1] +- Browser [e.g. stock browser, safari] +- Version [e.g. 22] **Additional context** Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md index 5b44dc3..9c742d5 100644 --- a/.github/ISSUE_TEMPLATE/question.md +++ b/.github/ISSUE_TEMPLATE/question.md @@ -1,5 +1,5 @@ --- -name: :question: Question +name: Question about: More information is needed or I have questions title: "" labels: "" diff --git a/.github/ISSUE_TEMPLATE/request.md b/.github/ISSUE_TEMPLATE/request.md index 858d403..029fa38 100644 --- a/.github/ISSUE_TEMPLATE/request.md +++ b/.github/ISSUE_TEMPLATE/request.md @@ -1,8 +1,8 @@ --- -name: :earth_asia: Feature Request -about: More information is needed or I have questions +name: Feature Request +about: New features and enhacements title: "" -labels: "Enhancement" +labels: "enhancement, feature request" assignees: "" --- From 74e74aaeb3e8293a795c898a5144d8ed3956351a Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 10 Sep 2020 16:17:19 -0400 Subject: [PATCH 167/293] no message --- .github/ISSUE_TEMPLATE/question.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md index 9c742d5..a22484a 100644 --- a/.github/ISSUE_TEMPLATE/question.md +++ b/.github/ISSUE_TEMPLATE/question.md @@ -2,7 +2,7 @@ name: Question about: More information is needed or I have questions title: "" -labels: "" +labels: "question" assignees: "" --- From 7f9060c1801f7ebc3b2af1266c215da3fa3a41ca Mon Sep 17 00:00:00 2001 From: Michel Velis Date: Thu, 10 Sep 2020 16:19:55 -0400 Subject: [PATCH 168/293] updated license --- LICENSE.md | 344 ++++++++++++++++++++++++++--------------------------- 1 file changed, 172 insertions(+), 172 deletions(-) diff --git a/LICENSE.md b/LICENSE.md index b8bb377..e088db5 100755 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,190 +1,190 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 +GNU GENERAL PUBLIC LICENSE +Version 3, 29 June 2007 - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. +Copyright (C) 2007 Free Software Foundation, Inc. +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. - Preamble +### Preamble - The GNU General Public License is a free, copyleft license for +The GNU General Public License is a free, copyleft license for software and other kinds of works. - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, +The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the +software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to +any other work released this way by its authors. You can apply it to your programs, too. - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you +When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have +To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. - For example, if you distribute copies of such a program, whether +For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they know their rights. - Developers that use the GNU GPL protect your rights with two steps: +Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and +For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. - Some devices are designed to deny users access to install or run +Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we +use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we +products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. - Finally, every program is threatened constantly by software patents. +Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that +make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. - The precise terms and conditions for copying, distribution and +The precise terms and conditions for copying, distribution and modification follow. - TERMS AND CONDITIONS +### TERMS AND CONDITIONS - 0. Definitions. +0. Definitions. - "This License" refers to version 3 of the GNU General Public License. +"This License" refers to version 3 of the GNU General Public License. - "Copyright" also means copyright-like laws that apply to other kinds of +"Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and +"The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. - To "modify" a work means to copy from or adapt all or part of the work +To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the +exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. - A "covered work" means either the unmodified Program or a work based +A "covered work" means either the unmodified Program or a work based on the Program. - To "propagate" a work means to do anything with it that, without +To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, +computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through +To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. - An interactive user interface displays "Appropriate Legal Notices" +An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If +work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. - 1. Source Code. +1. Source Code. - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source +The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source form of a work. - A "Standard Interface" means an interface that either is an official +A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. - The "System Libraries" of an executable work include anything, other +The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A +implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. - The "Corresponding Source" for a work in object code form means all +The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's +control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source +which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. - The Corresponding Source need not include anything that users +The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. - The Corresponding Source for a work in source code form is that +The Corresponding Source for a work in source code form is that same work. - 2. Basic Permissions. +2. Basic Permissions. - All rights granted under this License are granted for the term of +All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your +content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. - You may make, run and propagate covered works that you do not +You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose +in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works +not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 +Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. +3. Protecting Users' Legal Rights From Anti-Circumvention Law. - No covered work shall be deemed part of an effective technological +No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. - When you convey a covered work, you waive any legal power to forbid +When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or @@ -192,9 +192,9 @@ modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. - 4. Conveying Verbatim Copies. +4. Conveying Verbatim Copies. - You may convey verbatim copies of the Program's source code as you +You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any @@ -202,12 +202,12 @@ non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. - You may charge any price or no price for each copy that you convey, +You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. - 5. Conveying Modified Source Versions. +5. Conveying Modified Source Versions. - You may convey a work based on the Program, or the modifications to +You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: @@ -232,19 +232,19 @@ terms of section 4, provided that you also meet all of these conditions: interfaces that do not display Appropriate Legal Notices, your work need not make them do so. - A compilation of a covered work with other separate and independent +A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work +beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. - 6. Conveying Non-Source Forms. +6. Conveying Non-Source Forms. - You may convey a covered work in object code form under the terms +You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: @@ -290,75 +290,75 @@ in one of these ways: Source of the work are being offered to the general public at no charge under subsection 6d. - A separable portion of the object code, whose source code is excluded +A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. - A "User Product" is either (1) a "consumer product", which means any +A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product +actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. - "Installation Information" for a User Product means any methods, +"Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must +a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. - If you convey an object code work under this section in, or with, or +If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply +by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). - The requirement to provide Installation Information does not include a +The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a +the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. - Corresponding Source conveyed, and Installation Information provided, +Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. - 7. Additional Terms. +7. Additional Terms. - "Additional permissions" are terms that supplement the terms of this +"Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions +that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. - When you convey a copy of a covered work, you may at your option +When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. - Notwithstanding any other provision of this License, for material you +Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: @@ -385,74 +385,74 @@ that material) supplement the terms of this License with terms: any liability that these contractual assumptions directly impose on those licensors and authors. - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you +All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains +restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. - If you add terms to a covered work in accord with this section, you +If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. - Additional terms, permissive or non-permissive, may be stated in the +Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. - 8. Termination. +8. Termination. - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or +You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). - However, if you cease all violation of this License, then your +However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. - Moreover, your license from a particular copyright holder is +Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. - Termination of your rights under this section does not terminate the +Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently +this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. - 9. Acceptance Not Required for Having Copies. +9. Acceptance Not Required for Having Copies. - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work +You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, +to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. - 10. Automatic Licensing of Downstream Recipients. +10. Automatic Licensing of Downstream Recipients. - Each time you convey a covered work, the recipient automatically +Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible +propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. - An "entity transaction" is a transaction transferring control of an +An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered +organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could @@ -460,43 +460,43 @@ give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may +You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. - 11. Patents. +11. Patents. - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The +A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". - A contributor's "essential patent claims" are all patent claims +A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For +consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. - Each contributor grants you a non-exclusive, worldwide, royalty-free +Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. - In the following three paragraphs, a "patent license" is any express +In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a +sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. - If you convey a covered work, knowingly relying on a patent license, +If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, @@ -504,13 +504,13 @@ then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have +license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. - If, pursuant to or in connection with a single transaction or +If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify @@ -518,10 +518,10 @@ or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. - A patent license is "discriminatory" if it does not include within +A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered +specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying @@ -533,73 +533,73 @@ for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. - Nothing in this License shall be construed as excluding or limiting +Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. - 12. No Surrender of Others' Freedom. +12. No Surrender of Others' Freedom. - If conditions are imposed on you (whether by court order, agreement or +If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a +excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you +not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. - 13. Use with the GNU Affero General Public License. +13. Use with the GNU Affero General Public License. - Notwithstanding any other provision of this License, you have +Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this +combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. - 14. Revised Versions of this License. +14. Revised Versions of this License. - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will +The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. - Each version is given a distinguishing version number. If the +Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the +Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. - If the Program specifies that a proxy can decide which future +If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any +Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. - 15. Disclaimer of Warranty. +15. Disclaimer of Warranty. - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - 16. Limitation of Liability. +16. Limitation of Liability. - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE @@ -609,24 +609,24 @@ PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - 17. Interpretation of Sections 15 and 16. +17. Interpretation of Sections 15 and 16. - If the disclaimer of warranty and limitation of liability provided +If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. - END OF TERMS AND CONDITIONS +## END OF TERMS AND CONDITIONS - How to Apply These Terms to Your New Programs +### How to Apply These Terms to Your New Programs - If you develop a new program, and you want it to be of the greatest +If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. - To do so, attach the following notices to the program. It is safest +To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. @@ -649,26 +649,26 @@ the "copyright" line and a pointer to where the full notice is found. Also add information on how to contact you by electronic and paper mail. - If the program does terminal interaction, make it output a short +If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: - Software License Manager Copyright (C) 2019 Michel Velis + Software License Manager Copyright (C) 2020 Michel Velis This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands +parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". - You should also get your employer (if you work as a programmer) or school, +You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you +The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. From 11cd76bf0c94bfb434da0a3de6e75b11ba7b3f49 Mon Sep 17 00:00:00 2001 From: k-kikuchi-idea-hack <34845219+k-kikuchi-idea-hack@users.noreply.github.com> Date: Fri, 11 Sep 2020 08:59:39 +0900 Subject: [PATCH 169/293] Update fixing bugs. https://github.com/michelve/software-license-manager/issues/45 https://github.com/michelve/software-license-manager/issues/43 https://github.com/michelve/software-license-manager/issues/42 https://github.com/michelve/software-license-manager/issues/41 --- woocommerce/includes/wc_licenses_class.php | 72 ++++++++++++---------- 1 file changed, 41 insertions(+), 31 deletions(-) diff --git a/woocommerce/includes/wc_licenses_class.php b/woocommerce/includes/wc_licenses_class.php index babeee2..e6c736d 100755 --- a/woocommerce/includes/wc_licenses_class.php +++ b/woocommerce/includes/wc_licenses_class.php @@ -25,10 +25,10 @@ public function getActiveUser($action) $info = ''; $current_user = wp_get_current_user(); if ($action == 'email') { - $info = esc_html($current_user->user_email); + $info = esc_html__($current_user->user_email); } if ($action == 'id') { - $info = esc_html($current_user->ID); + $info = esc_html__($current_user->ID); } return $info; } @@ -87,38 +87,48 @@ public function endpoint_content() $slm_hide = ''; if (empty($result)) { - echo '
    Browse products No licenses available yet.
    '; + ?> +
    + + + +
    + - - +
    >
    ID Request
    ' . $log->id . ' ' . $log->slm_action . '' . - '

    Source: ' . $log->source . - '

    Time: ' . $log->time . '

    ' . $log->id . ' ' . $log->slm_action . '' . + '

    Source: ' . $log->source . + '

    Time: ' . $log->time . '

    - - - - - - + + + + + + - + @@ -151,7 +161,7 @@ public function endpoint_content() } ?> - + - + '; } } @@ -515,7 +786,7 @@ static function get_lic_activity($license_key) $slm_log_table = SLM_TBL_LIC_LOG; echo ' -
    +
    '. __('ID', 'softwarelicensemanager'). ' '. __('Request', 'softwarelicensemanager'). '
    '; $activity = $wpdb->get_results("SELECT * FROM " . $slm_log_table . " WHERE license_key='" . $license_key . "';"); foreach ($activity as $log) { @@ -523,8 +794,8 @@ static function get_lic_activity($license_key) ' . '' . ' + '

    '. __('Source:', 'slmplus'). ' ' . $log->source . + '

    '. __('Time:', 'slmplus'). ' ' . $log->time . '

    '; } echo ' @@ -570,7 +841,7 @@ static function get_license_activation($license_key, $tablename, $item_name, $ac
    '. __('ID', 'slmplus'). ' '. __('Request', 'slmplus'). '
    ' . $log->id . ' ' . $log->slm_action . '' . - '

    '. __('Source:', 'softwarelicensemanager'). ' ' . $log->source . - '

    '. __('Time:', 'softwarelicensemanager'). ' ' . $log->time . '

    - '.__('Not registered yet', 'softwarelicensemanager').'
    '; ?> + '.__('Not registered yet', 'slmplus').'
    '; ?>
    is_type('slm_license')) { $tabs['shipping'] = array( - 'title' => __('License information', 'softwarelicensemanager'), + 'title' => __('License information', 'slmplus'), 'priority' => 50, 'callback' => 'slm_woo_tab_lic_info' ); @@ -600,11 +871,11 @@ function slm_woo_tab_lic_info() { global $product; // The new tab content - echo '

    '.__('License information', 'softwarelicensemanager') .'

    '; - echo __('License type: ', 'softwarelicensemanager') . get_post_meta($product->get_id(), '_license_type', true) . '
    '; - echo __('Domains allowed: ', 'softwarelicensemanager') . get_post_meta($product->get_id(), '_domain_licenses', true) . '
    '; - echo __('Devices allowed: ', 'softwarelicensemanager') . get_post_meta($product->get_id(), '_devices_licenses', true) . '
    '; - echo __('Renews every ', 'softwarelicensemanager') . get_post_meta($product->get_id(), '_license_renewal_period', true) . ' ' . get_post_meta($product->get_id(), '_license_renewal_period_term', true) . '
    '; + echo '

    '.__('License information', 'slmplus') .'

    '; + echo __('License type: ', 'slmplus') . get_post_meta($product->get_id(), '_license_type', true) . '
    '; + echo __('Domains allowed: ', 'slmplus') . get_post_meta($product->get_id(), '_domain_licenses', true) . '
    '; + echo __('Devices allowed: ', 'slmplus') . get_post_meta($product->get_id(), '_devices_licenses', true) . '
    '; + echo __('Renews every ', 'slmplus') . get_post_meta($product->get_id(), '_license_renewal_period_lenght', true) . ' ' . get_post_meta($product->get_id(), '_license_renewal_period_term', true) . '
    '; } } } diff --git a/readme.txt b/readme.txt index 2ac7ee1..0e5023c 100644 --- a/readme.txt +++ b/readme.txt @@ -1,49 +1,54 @@ -=== Software license management === -Contributors: Michel Velis +=== SLM Plus === +Contributors: Michel Velis, Tips and Tricks HQ Donate link: http://paypal.me/mvelis -Tags: license, software license -Requires at least: 4.1 +Tags: license, software license, woocommerce, license management +Requires at least: 5.6 Tested up to: 6.1.0 -Stable tag: 5.6.2 -Requires PHP: 5.2.4 +Stable tag: 6.1.0 +Requires PHP: 7.4 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html -Software license management solution for your web applications. Supports WooCommerce. +A comprehensive software license management solution for web applications including WordPress plugins, themes, and PHP-based software. Seamlessly integrates with WooCommerce to offer license key generation, management, and validation. Ideal for developers managing software licenses across multiple platforms with built-in multilingual support and performance optimization. == Description == -Software license management solution for your web applications (WordPress plugins, Themes, Applications, PHP based membership script etc.). Supports WooCommerce. +SLM Plus provides a powerful solution for managing software licenses for WordPress plugins, themes, and other web applications. With WooCommerce integration, the plugin allows you to generate, activate, and manage licenses for your customers seamlessly. ## 📦 Features: -- Create license keys -- Check the status of a license key from from your application (remotely) -- Activate a license key from your application (remotely) -- Deactivate a license key (remotely) -- Delete a license key (remotely) -- Update a license key (remotely) -- Check a license key (remotely) -- Track where the license key is being used. -- Track activation date -- You can also create license keys manually from the admin dashboard of this plugin. -- Bulk actions are now available -- Users and admins can export licenses (new) +- Generate and manage license keys for your products +- Remote license key validation and activation +- Track license key usage across different domains and devices +- Manually create licenses from the admin dashboard +- Bulk actions for managing licenses +- Export licenses for both users and admins (new) - View licenses by subscribers (new) -- License info is now included inside woocommerce order (new) -- License activity log, track requests and activations per license (new) -- Admin stats widgets (new) -- Send emails on expiration and activation -- Language support (spanish and english) -- Woocommerce product type -- Pass license info to woocommerce order -- Expiration reminder (Emails the user when the license expires) -- User can manager and view licenses from my account's page +- License info is now included inside WooCommerce order details (new) +- License activity logs to track key usage and activations (new) +- Admin stats widgets to visualize license usage (new) +- Automated emails for license expiration and activation reminders +- Multilingual support (English, Spanish) +- WooCommerce product type integration to manage licenses through orders +- Manage licenses directly from users' "My Account" page +- License expiration reminders and notification emails == Installation == This section describes how to install the plugin and get it working. 1. Go to the Add New plugins screen in your WordPress admin area -2. Click the upload tab +2. Click the Upload tab 3. Browse for the plugin file (software-license-manager.zip) -4. Click Install Now and then activate the plugin \ No newline at end of file +4. Click Install Now and then activate the plugin + +== Changelog == += 6.1.0 = +- Improved compatibility with WordPress 6.1 and WooCommerce +- Enhanced performance for large license databases +- Added multilingual support for Spanish +- New admin widgets for tracking licenses +- Improved license information in WooCommerce order details + +== Upgrade Notice == += 6.1.0 = +- Please ensure your WordPress version is at least 5.6 and PHP version is 7.4 or higher before updating. diff --git a/slm-plus.php b/slm-plus.php new file mode 100644 index 0000000..c3df75e --- /dev/null +++ b/slm-plus.php @@ -0,0 +1,83 @@ +prefix . "lic_key_tbl"); +define('SLM_TBL_EMAILS', $wpdb->prefix . "lic_emails_tbl"); +define('SLM_TBL_LIC_DOMAIN', $wpdb->prefix . "lic_reg_domain_tbl"); +define('SLM_TBL_LIC_DEVICES', $wpdb->prefix . "lic_reg_devices_tbl"); +define('SLM_TBL_LIC_LOG', $wpdb->prefix . "lic_log_tbl"); +define('SLM_TBL_LICENSE_STATUS', $wpdb->prefix . "lic_status_tbl"); +define('SLM_MANAGEMENT_PERMISSION', 'manage_options'); +define('SLM_MAIN_MENU_SLUG', 'slm_overview'); +define('SLM_MENU_ICON', 'dashicons-lock'); + +// Load core plugin functionalities +if (file_exists(SLM_LIB . 'slm-plugin-core.php')) { + require_once SLM_LIB . 'slm-plugin-core.php'; +} + +define('SLM_DEFAULT_MAX_DOMAINS', SLM_API_Utility::get_slm_option('default_max_domains')); +define('SLM_DEFAULT_MAX_DEVICES', SLM_API_Utility::get_slm_option('default_max_devices')); + +// Use native WordPress function for setting options +define('WOO_SLM_API_SECRET', SLM_API_Utility::get_slm_option('lic_creation_secret')); +define('KEY_API', SLM_API_Utility::get_slm_option('lic_creation_secret')); +define('KEY_API_PREFIX', SLM_API_Utility::get_slm_option('lic_prefix')); + +// Auto-updater integration for GitHub updates +if (file_exists('plugin-update-checker/plugin-update-checker.php')) { + require 'plugin-update-checker/plugin-update-checker.php'; + $myUpdateChecker = Puc_v4_Factory::buildUpdateChecker( + 'https://github.com/michelve/software-license-manager', + __FILE__, + 'software-license-manager' + ); +} diff --git a/software-license-manager.php b/software-license-manager.php deleted file mode 100755 index a3b6e1a..0000000 --- a/software-license-manager.php +++ /dev/null @@ -1,64 +0,0 @@ -Tips and Tricks HQ -Text Domain: softwarelicensemanager -Domain Path: /i18n/languages/ -WC tested up to: 6.1.0 -*/ - -// If this file is called directly, abort. -if (!defined('WPINC')) { - die(); -} -global $wpdb, $slm_debug_logger; - -//Short name/slug "SLM" or "slm" -define('SLM_VERSION', '5.6.2'); -define('SLM_DB_VERSION', '4.3.5'); -define('SLM_REWRITE_VERSION', '2.4.5'); -define('SLM_FOLDER', dirname(plugin_basename(__FILE__))); -define('SLM_URL', plugins_url('', __FILE__)); -define('SLM_ASSETS_URL', SLM_URL . '/public/assets/'); -define('SLM_PATH', plugin_dir_path(__FILE__)); -define('SLM_LIB', SLM_PATH . 'includes/'); -define('SLM_WOO', SLM_PATH . 'woocommerce/'); -define('SLM_ADDONS', SLM_PATH . 'addons/'); -define('SLM_ADMIN', SLM_PATH . 'admin/'); -define('SLM_ADMIN_ADDONS', SLM_ADMIN . 'includes/'); -define('SLM_CRONS', SLM_ADMIN_ADDONS . 'cronjobs/'); -define('SLM_PUBLIC', SLM_PATH . 'public/'); -define('SLM_TEAMPLATES', SLM_PATH . 'templates/'); -define('SLM_SITE_HOME_URL', get_home_url()); -define('SLM_SITE_URL', get_site_url() . '/'); -define('SLM_TBL_LICENSE_KEYS', $wpdb->prefix . "lic_key_tbl"); -define('SLM_TBL_EMAILS', $wpdb->prefix . "lic_emails_tbl"); -define('SLM_TBL_LIC_DOMAIN', $wpdb->prefix . "lic_reg_domain_tbl"); -define('SLM_TBL_LIC_DEVICES', $wpdb->prefix . "lic_reg_devices_tbl"); -define('SLM_TBL_LIC_LOG', $wpdb->prefix . "lic_log_tbl"); -define('SLM_MANAGEMENT_PERMISSION', 'manage_options'); -define('SLM_MAIN_MENU_SLUG', 'slm_overview'); -define('SLM_MENU_ICON', 'dashicons-lock'); - - -if (file_exists(SLM_LIB . 'slm-plugin-core.php')) { - include_once SLM_LIB . 'slm-plugin-core.php'; -} - -// Options and filters -define('WOO_SLM_API_SECRET', SLM_Helper_Class::slm_get_option('lic_creation_secret')); -define('KEY_API', SLM_Helper_Class::slm_get_option('lic_creation_secret')); -define('KEY_API_PREFIX', SLM_Helper_Class::slm_get_option('lic_prefix')); - -add_filter('plugin_action_links_' . plugin_basename(__FILE__), 'slm_settings_link'); - -// plugin auto updater helper -if (file_exists('plugin-update-checker/plugin-update-checker.php')) { - require 'plugin-update-checker/plugin-update-checker.php'; - $myUpdateChecker = Puc_v4_Factory::buildUpdateChecker('https://github.com/michelve/software-license-manager', __FILE__, '/software-license-manager'); -} diff --git a/uninstall.php b/uninstall.php index fcd0176..ee99be5 100755 --- a/uninstall.php +++ b/uninstall.php @@ -1,8 +1,8 @@ -
    - +function slm_display_nice_item_meta($item_id, $item, $product) { + // Fetch the metadata associated with the license key + if ($meta_data = wc_get_order_item_meta($item_id, '_slm_lic_key', false)) { + ?> +
    ' . $lic_key . ''; + $cur_link = sprintf( + '%s', + esc_url($admin_link . $lic_id), + esc_html($lic_key) + ); } else { - $cur_link = $lic_key . ' - Licence not exists anymore'; + $cur_link = sprintf( + '%s - %s', + esc_html($lic_key), + esc_html__('License no longer exists', 'slmplus') + ); } ?> - +
    - -
    - + get_id(); + if (!$order) { + SLM_Helper_Class::write_log('Order ID ' . $order_id . ' not found.'); + return; // Stop if the order does not exist + } - // SLM_Helper_Class::write_log('purchase_id_ -- '.$purchase_id_ ); - // SLM_Helper_Class::write_log('purchase_id_ -- '.$user_id ); + $purchase_id_ = $order->get_id(); + SLM_Helper_Class::write_log('Purchase ID: ' . $purchase_id_); global $user_id; - $user_id = $order->get_user_id(); - $user_info = get_userdata($user_id); - $get_user_meta = get_user_meta($user_id); - $payment_meta['user_info']['first_name'] = $get_user_meta['billing_first_name'][0]; - $payment_meta['user_info']['last_name'] = $get_user_meta['billing_last_name'][0]; - $payment_meta['user_info']['email'] = $get_user_meta['billing_email'][0]; - $payment_meta['user_info']['company'] = $get_user_meta['billing_company'][0]; + SLM_Helper_Class::write_log('User ID: ' . $user_id); + + if (!$user_id) { + SLM_Helper_Class::write_log('User ID not found for Order ID: ' . $order_id); + return; // Stop if user ID cannot be found + } - // SLM_Helper_Class::write_log('user_id -- '.$user_id ); + // Get user details + $user_meta = get_user_meta($user_id); + $payment_meta = array( + 'user_info' => array( + 'first_name' => isset($user_meta['billing_first_name'][0]) ? sanitize_text_field($user_meta['billing_first_name'][0]) : '', + 'last_name' => isset($user_meta['billing_last_name'][0]) ? sanitize_text_field($user_meta['billing_last_name'][0]) : '', + 'email' => isset($user_meta['billing_email'][0]) ? sanitize_email($user_meta['billing_email'][0]) : '', + 'company' => isset($user_meta['billing_company'][0]) ? sanitize_text_field($user_meta['billing_company'][0]) : '' + ) + ); - // Collect license keys + + // Initialize licenses array $licenses = array(); $items = $order->get_items(); + foreach ($items as $item_key => $values) { - foreach ($items as $item => $values) { - $download_id = $product_id = $values['product_id']; + $product_id = $values->get_product_id(); $product = $values->get_product(); if ($product->is_type('slm_license')) { - $download_quantity = absint($values['qty']); - //Get all existing licence keys of the product - $order_item_lic_key = $values->get_meta('_slm_lic_key', false); - $lic_to_add = $download_quantity - count($order_item_lic_key); - //Create keys only if there are not keys created already + $download_quantity = absint($values->get_quantity()); + $order_item_lic_keys = $values->get_meta('_slm_lic_key', false); + $lic_to_add = $download_quantity - count($order_item_lic_keys); + + // Generate license keys only if necessary for ($i = 1; $i <= $lic_to_add; $i++) { - /** - * Calculate Expire date - * @since 1.0.3 - */ $expiration = ''; - - $renewal_period = (int)wc_slm_get_licensing_renewal_period($product_id); + $renewal_period = wc_slm_get_licensing_renewal_period($product_id); $renewal_term = wc_slm_get_licensing_renewal_period_term($product_id); - $slm_billing_length = $renewal_period; - $slm_billing_interval = $renewal_term; - - if ($renewal_period == 'onetime') { + // Set expiration date + if ($renewal_term === 'onetime') { $expiration = '0000-00-00'; + } else { + $expiration = date('Y-m-d', strtotime('+' . $renewal_period . ' ' . sanitize_text_field($renewal_term))); } - // elseif ($renewal_period == 30) { - // $renewal_period = date('Y-m-d', strtotime('+' . 31 . ' days')); - // } - else { - $expiration = date('Y-m-d', strtotime('+' . $renewal_period . ' ' . $renewal_term)); - } - // SLM_Helper_Class::write_log('renewal_period -- '.$renewal_period ); - // SLM_Helper_Class::write_log('exp -- ' . $expiration); - // SLM_Helper_Class::write_log('term -- ' . $renewal_term); - // Sites allowed get license meta from variation - $sites_allowed = wc_slm_get_sites_allowed($product_id); + // Log renewal details + SLM_Helper_Class::write_log('Renewal Period: ' . $renewal_period); + SLM_Helper_Class::write_log('Expiration Date: ' . $expiration); + SLM_Helper_Class::write_log('Renewal Term: ' . $renewal_term); + // Get allowed sites/devices and verify them + $sites_allowed = wc_slm_get_sites_allowed($product_id); if (!$sites_allowed) { - $sites_allowed_error = __('License could not be created: Invalid sites allowed number.', 'softwarelicensemanager'); - $int = wc_insert_payment_note($purchase_id_, $sites_allowed_error); + wc_insert_payment_note($purchase_id_, __('License could not be created: Invalid sites allowed number.', 'slmplus')); + SLM_Helper_Class::write_log('License could not be created: Invalid sites allowed number'); break; } - // Get the custumer ID - // $user_id = $order->get_user_id(); - $order_data = $order->get_data(); // The Order data - - ## Access Order Items data properties (in an array of values) ## + // Collect product details $item_data = $values->get_data(); $product_name = $item_data['name']; - $product_id = $item_data['product_id']; $_license_current_version = get_post_meta($product_id, '_license_current_version', true); $_license_until_version = get_post_meta($product_id, '_license_until_version', true); $amount_of_licenses_devices = wc_slm_get_devices_allowed($product_id); - $current_version = (int)get_post_meta($product_id, '_license_current_version', true); $license_type = get_post_meta($product_id, '_license_type', true); $lic_item_ref = get_post_meta($product_id, '_license_item_reference', true); - - // Transaction id - $transaction_id = wc_get_payment_transaction_id($product_id); - - // Build item name - $item_name = $product->get_title(); - - // Build parameters - $api_params = array(); - $api_params['slm_action'] = 'slm_create_new'; - $api_params['secret_key'] = KEY_API; - $api_params['first_name'] = (isset($payment_meta['user_info']['first_name'])) ? $payment_meta['user_info']['first_name'] : ''; - $api_params['last_name'] = (isset($payment_meta['user_info']['last_name'])) ? $payment_meta['user_info']['last_name'] : ''; - $api_params['email'] = (isset($payment_meta['user_info']['email'])) ? $payment_meta['user_info']['email'] : ''; - $api_params['company_name'] = $payment_meta['user_info']['company']; - $api_params['purchase_id_'] = $purchase_id_; - $api_params['product_ref'] = $product_id; // TODO: get product id - $api_params['txn_id'] = $purchase_id_; - $api_params['max_allowed_domains'] = $sites_allowed; - $api_params['max_allowed_devices'] = $amount_of_licenses_devices; - $api_params['date_created'] = date('Y-m-d'); - $api_params['date_expiry'] = $expiration; - $api_params['slm_billing_length'] = $slm_billing_length; - $api_params['slm_billing_interval'] = $slm_billing_interval; - $api_params['until'] = $_license_until_version; - $api_params['current_ver'] = $_license_current_version; - $api_params['subscr_id'] = $order->get_customer_id(); - $api_params['lic_type'] = $license_type; - $api_params['item_reference'] = $lic_item_ref; - - //access_expires - //SLM_Helper_Class::write_log('license_type -- ' . $license_type ); - // Send query to the license manager server - $url = SLM_SITE_HOME_URL . '?' . http_build_query($api_params); - $url = str_replace(array('http://', 'https://'), '', $url); - $url = 'http://' . $url; - $response = wp_remote_get($url, array('timeout' => 20, 'sslverify' => false)); + $transaction_id = wc_get_payment_transaction_id($order_id); + + // Prepare API parameters for license creation + $api_params = array( + 'slm_action' => 'slm_create_new', + 'secret_key' => KEY_API, + 'first_name' => $payment_meta['user_info']['first_name'], + 'last_name' => $payment_meta['user_info']['last_name'], + 'email' => $payment_meta['user_info']['email'], + 'company_name' => $payment_meta['user_info']['company'], + 'purchase_id_' => $purchase_id_, + 'product_ref' => $product_id, + 'txn_id' => $transaction_id, + 'max_allowed_domains' => $sites_allowed, + 'max_allowed_devices' => $amount_of_licenses_devices, + 'date_created' => current_time('Y-m-d'), + 'date_expiry' => $expiration, + 'slm_billing_length' => $renewal_period, + 'slm_billing_interval' => $renewal_term, + 'until' => $_license_until_version, + 'current_ver' => $_license_current_version, + 'subscr_id' => $order->get_customer_id(), + 'lic_type' => $license_type, + 'item_reference' => $lic_item_ref, + ); + + // Send the request to create a license key + $url = esc_url_raw(SLM_SITE_HOME_URL) . '?' . http_build_query($api_params); + + SLM_Helper_Class::write_log('URL: ' . $url); + + $response = wp_safe_remote_get($url, array('timeout' => 20, 'sslverify' => false)); $license_key = wc_slm_get_license_key($response); - // Collect license keys + // If a license key is generated, save it if ($license_key) { $licenses[] = array( - 'item' => $item_name, - 'key' => $license_key, + 'item' => sanitize_text_field($product_name), + 'key' => sanitize_text_field($license_key), 'expires' => $expiration, - 'type' => $license_type, + 'type' => sanitize_text_field($license_type), 'item_ref' => $lic_item_ref, - 'slm_billing_length' => $slm_billing_length, - 'slm_billing_interval' => $slm_billing_interval, + 'slm_billing_length' => $renewal_period, + 'slm_billing_interval' => $renewal_term, 'status' => 'pending', 'version' => $_license_current_version, 'until' => $_license_until_version @@ -234,407 +263,583 @@ function wc_slm_create_license_keys($order_id) } } + // If licenses were successfully generated, add a payment note if (count($licenses) > 0) { - // Payment note wc_slm_payment_note($order_id, $licenses); - - // Assign licenses - - //What does this do? The meta is not used in the plugin anywhere - //wc_slm_assign_licenses($order_id, $licenses); } } -function wc_slm_get_license_key($response) + + +function wc_slm_get_license_key($response) { // Check for error in the response if (is_wp_error($response)) { return false; } - // Get License data - $json = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', utf8_encode(wp_remote_retrieve_body($response))); - $license_data = json_decode($json); - if (!isset($license_data->key)) { + // Retrieve response body + $response_body = wp_remote_retrieve_body($response); + + if (empty($response_body)) { + return false; // If response body is empty, return false + } + + // Decode JSON while handling potential errors + $decoded_data = json_decode($response_body, true); + + if (json_last_error() !== JSON_ERROR_NONE) { + // Handle JSON decoding error appropriately, e.g., log the error + error_log('Failed to decode JSON response: ' . json_last_error_msg()); + return false; + } + + // Remove invalid control characters from response data (control chars except line feeds, tabs, etc.) + $cleaned_data = preg_replace('/[\x00-\x1F\x7F]/', '', json_encode($decoded_data, JSON_UNESCAPED_UNICODE)); + + if ($cleaned_data === false) { + // If the cleaning fails, return false + error_log('Failed to clean the JSON response body.'); return false; } - // Prepare note text + + // Decode cleaned JSON back to PHP associative array + $license_data = json_decode($cleaned_data); + + if (!isset($license_data->key)) { + return false; // Key is not set + } + + // Return the license key return $license_data->key; } -function wc_slm_get_license_id($license) + +function wc_slm_get_license_id($license) { global $wpdb; - $license_id = $wpdb->get_row("SELECT ID, license_key FROM " . $wpdb->prefix . "lic_key_tbl" . " WHERE license_key = '" . $license . "' ORDER BY id DESC LIMIT 0,1"); - return $license_id->ID; + + // Prepare the SQL statement to prevent SQL injection + $table_name = $wpdb->prefix . 'lic_key_tbl'; + $query = $wpdb->prepare( + "SELECT ID FROM {$table_name} WHERE license_key = %s ORDER BY id DESC LIMIT 1", + $license + ); + + // Fetch the result as an object + $license_id = $wpdb->get_var($query); + + // Return the license ID if found, otherwise return false + return $license_id ? intval($license_id) : false; } function wc_slm_payment_note($order_id, $licenses) { - if ($licenses && count($licenses) != 0) { - $message = __('License Key(s) generated', 'softwarelicensemanager'); - - foreach ($licenses as $license) { - $license_key = $license['key']; - $message .= '
    ' . $license['item'] . ': ' . $license_key . ''; + // Get the order object + $order = wc_get_order($order_id); - //These data are irrelevant - they work only when the order is completed and just for one licence key + // Check if the order is valid and licenses are provided + if ($order && !empty($licenses) && is_array($licenses)) { + $message = __('License Key(s) generated:', 'slmplus'); - /* add_post_meta($order_id, 'slm_wc_license_order_key', $license_key); - add_post_meta($order_id, 'slm_wc_license_expires', $license[ 'expires']); - add_post_meta($order_id, 'slm_wc_license_type', $license[ 'type']); - add_post_meta($order_id, 'slm_wc_license_item_ref', $license[ 'item_ref']); - add_post_meta($order_id, 'slm_wc_license_status', $license['status']); - add_post_meta($order_id, 'slm_wc_license_version', $license[ 'version']); - add_post_meta($order_id, 'slm_wc_until_version', $license['until']); */ + foreach ($licenses as $license) { + // Check if required license information is available + if (!isset($license['key']) || !isset($license['item'])) { + continue; // Skip if data is incomplete + } - //SLM_Helper_Class::write_log($license_key); + $license_key = sanitize_text_field($license['key']); + $item_name = sanitize_text_field($license['item']); + + // Fetch the license ID securely + $license_id = wc_slm_get_license_id($license_key); + + // Construct the link to the license edit page + $license_link = esc_url( + add_query_arg( + array( + 'page' => 'slm_manage_license', + 'edit_record' => $license_id, + ), + admin_url('admin.php') + ) + ); + + // Add to the message + $message .= '
    ' . esc_html($item_name) . ': ' . esc_html($license_key) . ''; } } else { - $message = __('License Key(s) could not be created.', 'softwarelicensemanager'); + $message = __('License Key(s) could not be created.', 'slmplus'); } - // Save note - $int = wc_insert_payment_note($order_id, $message); + // Add the message as an order note using the correct method + if ($order) { + $order->add_order_note( wp_kses_post($message) ); + } } + function wc_slm_access_expiration($order_id, $lic_expiry = '') { global $wpdb; + // Fetch the WooCommerce order object $order = wc_get_order($order_id); - $items = $order->get_items(); - foreach ($items as $item_key => $item_details) { - $product_id = $item_details['product_id']; + if (!$order) { + return; // If the order doesn't exist, return early + } + + // Loop through each item in the order + foreach ($order->get_items() as $item_key => $item_details) { + $product_id = $item_details->get_product_id(); $product = wc_get_product($product_id); - if ($product->is_type('slm_license')) { - //Get any existing licence key + + // Check if the product is of type 'slm_license' + if ($product && $product->is_type('slm_license')) { + + // Get the existing license key attached to the order item $order_item_lic_key = $item_details->get_meta('_slm_lic_key', true); if (!empty($order_item_lic_key)) { + + // Fetch license data using a custom helper function $licence = get_licence_by_key($order_item_lic_key); if (!empty($licence)) { + // Retrieve and format the license expiry date $lic_expiry = $licence['date_expiry']; - if ($lic_expiry == '0000-00-00') { + if ($lic_expiry === '0000-00-00') { $lic_expiry = 'NULL'; } else { - $lic_expiry = "'" . $lic_expiry . "'"; + $lic_expiry = $wpdb->prepare('%s', $lic_expiry); } - $query = "UPDATE " . $wpdb->prefix . "woocommerce_downloadable_product_permissions SET access_expires = " . $lic_expiry . " WHERE order_id = " . $order_id . " AND product_id = " . $product_id . ";"; + + // Prepare the SQL query using placeholders + $table_name = $wpdb->prefix . 'woocommerce_downloadable_product_permissions'; + $query = $wpdb->prepare( + "UPDATE {$table_name} + SET access_expires = {$lic_expiry} + WHERE order_id = %d AND product_id = %d", + $order_id, + $product_id + ); + + // Execute the query $wpdb->query($query); } } } } - //SLM_Helper_Class::write_log('log:' . $query ); + + // Optionally, log the query for debugging (commented out by default) + //SLM_Helper_Class::write_log('log:' . $query); } + /** - * Get licence info from given it's key - * @param array $licence_key - licence key for which to retrieve licence - * @return array all the licence fields - * @since 4.5.5 + * Get License by Key + * + * @param string $licence_key License key to fetch the record for. + * @return array|false Returns license data array if found, false otherwise. */ function get_licence_by_key($licence_key) { global $wpdb; + // Check if license key is empty and sanitize input if (empty($licence_key)) { return false; - } else { - $licence_key = esc_attr($licence_key); } + $licence_key = esc_attr($licence_key); + + // Prepare and execute the SQL query $lic_keys_table = SLM_TBL_LICENSE_KEYS; - $sql_prep = $wpdb->prepare("SELECT * FROM $lic_keys_table WHERE license_key = %s ORDER BY id DESC LIMIT 0,1", $licence_key); - $record = $wpdb->get_row($sql_prep, ARRAY_A, 0); - return $record; + $sql_prep = $wpdb->prepare( + "SELECT * FROM {$lic_keys_table} WHERE license_key = %s ORDER BY id DESC LIMIT 1", + $licence_key + ); + + // Fetch the record and return as an associative array + $record = $wpdb->get_row($sql_prep, ARRAY_A); + return $record ? $record : false; } +/** + * Assign Licenses to Order + * + * @param int $order_id WooCommerce Order ID to assign licenses to. + * @param array $licenses An array of licenses to be assigned. + * @return void + */ function wc_slm_assign_licenses($order_id, $licenses) { - if (count($licenses) != 0) { + // Check if licenses are available and valid + if (!empty($licenses) && is_array($licenses)) { add_post_meta($order_id, '_wc_slm_payment_licenses', $licenses); } } - +/** + * Get Allowed Number of Sites for a Product + * + * @param int $product_id WooCommerce Product ID. + * @return int|false Returns the number of allowed domains if set, false otherwise. + */ function wc_slm_get_sites_allowed($product_id) { + // Get the number of allowed domains for a product $wc_slm_sites_allowed = absint(get_post_meta($product_id, '_domain_licenses', true)); - if (empty($wc_slm_sites_allowed)) { - return false; - } - return $wc_slm_sites_allowed; + + // Return false if no value is set, otherwise return the value + return !empty($wc_slm_sites_allowed) ? $wc_slm_sites_allowed : false; } +/** + * Get License Type + * + * @param int $product_id Product ID. + * @return string|false License type or false if not found. + */ function wc_slm_get_lic_type($product_id) { - $_license_type = absint(get_post_meta($product_id, '_license_type', true)); - if (empty($_license_type)) { - return false; - } - return $_license_type; + $_license_type = get_post_meta($product_id, '_license_type', true); + return !empty($_license_type) ? sanitize_text_field($_license_type) : false; } +/** + * Get Number of Allowed Devices + * + * @param int $product_id Product ID. + * @return int|false Number of allowed devices or false if not set. + */ function wc_slm_get_devices_allowed($product_id) { $_devices_licenses = absint(get_post_meta($product_id, '_devices_licenses', true)); - if (empty($_devices_licenses)) { - return false; - } - return $_devices_licenses; + return !empty($_devices_licenses) ? $_devices_licenses : false; } +/** + * Get Quantity of Licenses + * + * @param int $product_id Product ID. + * @return int|false Quantity of licenses or false if not set. + */ function wc_slm_get_licenses_qty($product_id) { $amount_of_licenses = absint(get_post_meta($product_id, '_amount_of_licenses', true)); - if (empty($amount_of_licenses)) { - return false; - } - return $amount_of_licenses; + return !empty($amount_of_licenses) ? $amount_of_licenses : false; } +/** + * Get Licensing Renewal Period + * + * @param int $product_id Product ID. + * @return int Licensing renewal period in days or 0 if not set. + */ function wc_slm_get_licensing_renewal_period($product_id) { - $_license_renewal_period = absint(get_post_meta($product_id, '_license_renewal_period', true)); - if (empty($_license_renewal_period)) { - return 0; - } - return $_license_renewal_period; + $_license_renewal_period_lenght = absint(get_post_meta($product_id, '_license_renewal_period_lenght', true)); + return !empty($_license_renewal_period_lenght) ? $_license_renewal_period_lenght : 0; } -//_license_renewal_period_term - +/** + * Get Licensing Renewal Period Term + * + * @param int $product_id Product ID. + * @return string Renewal period term (e.g., days, months, years) or empty string if not set. + */ function wc_slm_get_licensing_renewal_period_term($product_id) { $term = get_post_meta($product_id, '_license_renewal_period_term', true); - return $term; + return !empty($term) ? sanitize_text_field($term) : ''; } +/** + * Check if Licensing is Enabled + * + * @param int $download_id Downloadable product ID. + * @return bool True if licensing is enabled, false otherwise. + */ function wc_slm_is_licensing_enabled($download_id) { $licensing_enabled = absint(get_post_meta($download_id, '_wc_slm_licensing_enabled', true)); - // Set defaults - if ($licensing_enabled) { - return true; - } else { - return false; - } + return $licensing_enabled === 1; } +/** + * Insert a Payment Note to Order + * + * @param int $order_id WooCommerce Order ID. + * @param string $msg Note to be added to the order. + * @return void + */ function wc_insert_payment_note($order_id, $msg) { - $order = new WC_Order($order_id); - $order->add_order_note($msg); + if (!empty($order_id) && !empty($msg)) { + $order = wc_get_order($order_id); + if ($order) { + $order->add_order_note(esc_html($msg)); + } + } } +/** + * Get Payment Transaction ID + * + * @param int $order_id WooCommerce Order ID. + * @return string|null Transaction ID or null if not found. + */ function wc_get_payment_transaction_id($order_id) { return get_post_meta($order_id, '_transaction_id', true); } +/** + * Handle Order Completion Actions + * + * @param int $order_id WooCommerce Order ID. + * @return void + */ function slm_order_completed($order_id) { - - global $user_id, $wpdb; - $get_user_info = ''; - $order = wc_get_order($order_id); - $purchase_id_ = $order->get_id(); - $order_data = $order->get_data(); // The Order data - $order_billing_email = $order_data['billing']['email']; - - // if wp billing is empty - if ($order_billing_email == '') { - $get_user_info = get_userdata(get_current_user_id()); - $order_billing_email = $get_user_info->user_email; + if (!$order_id) { + return; } - $billing_address = $order_billing_email; - - // The text for the note - $note = __("Order confirmation email sent to: " . $billing_address . ""); - // Add the note - $order->add_order_note($note); - // Save the data - $order->save(); - //SLM_Helper_Class::write_log($to_email . 'License details'. $message . $headers ); -} - -function slm_show_msg($order_id) -{ - $order_id = new WC_Order($order_id); - $purchase_id_ = $order_id->get_id(); $order = wc_get_order($order_id); - $items = $order->get_items(); - - foreach ($items as $item) { - $product_name = $item->get_name(); - $product_id = $item->get_product_id(); - $product_variation_id = $item->get_variation_id(); - $amount_of_licenses = wc_slm_get_sites_allowed($product_id); + if (!$order) { + return; + } - // is a licensed product - //var_dump(get_post_meta($product_id)); + $order_billing_email = $order->get_billing_email(); - if ($amount_of_licenses) { - echo '

    ' . __('My subscriptions', 'softwarelicensemanager') . '

    ' . __('You can see and manage your licenses inside your account', 'softwarelicensemanager') . ' ' . __('Manage Licenses', 'softwarelicensemanager') . '
    '; + // If billing email is empty, use current user's email + if (empty($order_billing_email)) { + $current_user = wp_get_current_user(); + if ($current_user->exists()) { + $order_billing_email = $current_user->user_email; } } + + // Create the note text + if (!empty($order_billing_email)) { + $note = sprintf( + __("Order confirmation email sent to: %s", 'slmplus'), + esc_attr($order_billing_email), + esc_html($order_billing_email) + ); + + // Add the note to the order and save + $order->add_order_note($note); + $order->save(); + } } /** - * Update the order meta with field value + * Update the Order Meta with Custom License Fields + * + * @param int $order_id The WooCommerce Order ID. + * @return void */ - -function slm_add_lic_key_meta_update($order_id) -{ - if (!empty($_POST['slm_wc_license_order_key'])) { - update_post_meta($order_id, 'slm_wc_license_order_key', sanitize_text_field($_POST['slm_wc_license_order_key'])); - } - if (!empty($_POST['slm_wc_license_expires'])) { - update_post_meta($order_id, 'slm_wc_license_expires', sanitize_text_field($_POST['slm_wc_license_expires'])); - } - if (!empty($_POST['slm_wc_license_type'])) { - update_post_meta($order_id, 'slm_wc_license_type', sanitize_text_field($_POST['slm_wc_license_type'])); - } - - if (!empty($_POST['slm_wc_license_status'])) { - update_post_meta($order_id, 'slm_wc_license_status', sanitize_text_field($_POST['slm_wc_license_status'])); - } - - if (!empty($_POST['slm_wc_license_item_ref'])) { - update_post_meta($order_id, 'slm_wc_license_item_ref', sanitize_text_field($_POST['slm_wc_license_item_ref'])); +function slm_add_lic_key_meta_update($order_id) { + // Get the order object from the order ID + $order = wc_get_order($order_id); + + if (!$order) { + SLM_Helper_Class::write_log('Order not found for order ID: ' . $order_id); + return; } - if (!empty($_POST['slm_wc_license_version'])) { - update_post_meta($order_id, 'slm_wc_license_version', sanitize_text_field($_POST['slm_wc_license_version'])); + // Debug to check if the function is called + SLM_Helper_Class::write_log('slm_add_lic_key_meta_update called for order ID: ' . $order->get_id()); + + $fields = [ + 'slm_wc_license_order_key', + 'slm_wc_license_expires', + 'slm_wc_license_type', + 'slm_wc_license_status', + 'slm_wc_license_item_ref', + 'slm_wc_license_version', + ]; + + foreach ($fields as $field) { + if (!empty($_POST[$field])) { + $order->update_meta_data($field, sanitize_text_field($_POST[$field])); + SLM_Helper_Class::write_log('Added meta: ' . $field . ' with value: ' . sanitize_text_field($_POST[$field])); + } else { + SLM_Helper_Class::write_log('Field ' . $field . ' not found in POST data.'); + } } + + // Save the order metadata changes + $order->save(); } +add_action('woocommerce_payment_complete', 'slm_add_lic_key_meta_update', 10, 1); + /** - * Display field value on the order edit page + * Display License Key Information on the Admin Order Edit Page + * + * @param WC_Order $order The WooCommerce Order object. + * @return void */ - function slm_add_lic_key_meta_display($order) { - if (!empty(get_post_meta($order->get_id(), 'slm_wc_license_order_key', true))) { - echo '

    ' . __('License key', 'softwarelicensemanager') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_order_key', true) . '

    '; - echo '

    ' . __('License expiration', 'softwarelicensemanager') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_expires', true) . '

    '; - echo '

    ' . __('License type', 'softwarelicensemanager') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_type', true) . '

    '; - echo '

    ' . __('License item reference', 'softwarelicensemanager') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_item_ref', true) . '

    '; - echo '

    ' . __('License status', 'softwarelicensemanager') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_status', true) . '

    '; - echo '

    ' . __('License current version', 'softwarelicensemanager') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_license_version', true) . '

    '; - echo '

    ' . __('Supported until version', 'softwarelicensemanager') . ':
    ' . get_post_meta($order->get_id(), 'slm_wc_until_version', true) . '

    '; + // Meta keys for License Information + $meta_fields = [ + 'slm_wc_license_order_key' => __('License Key', 'slmplus'), + 'slm_wc_license_expires' => __('License Expiration', 'slmplus'), + 'slm_wc_license_type' => __('License Type', 'slmplus'), + 'slm_wc_license_item_ref' => __('License Item Reference', 'slmplus'), + 'slm_wc_license_status' => __('License Status', 'slmplus'), + 'slm_wc_license_version' => __('License Current Version', 'slmplus'), + 'slm_wc_until_version' => __('Supported Until Version', 'slmplus'), + ]; + + // Display license details if they are available + foreach ($meta_fields as $meta_key => $label) { + $meta_value = get_post_meta($order->get_id(), $meta_key, true); + if (!empty($meta_value)) { + echo '

    ' . esc_html($label) . ':
    ' . esc_html($meta_value) . '

    '; + } } } +add_action('woocommerce_admin_order_data_after_order_details', 'slm_add_lic_key_meta_display'); /** - * Display values on the order details page + * Display License Details on the Order Details Page for Customers + * + * @param WC_Order $order The WooCommerce Order object. + * @return void */ - function slm_order_details($order) { - global $wpdb; - + // Get all the items from the order $items = $order->get_items(); - $licences = array(); + $licences = []; + foreach ($items as $item_key => $item_details) { $product = $item_details->get_product(); + // Check if product is of type 'slm_license' if ($product->is_type('slm_license')) { - if ($lic_keys = wc_get_order_item_meta($item_details->get_id(), '_slm_lic_key', false)) { - $lic_types = wc_get_order_item_meta($item_details->get_id(), '_slm_lic_type', false); - $licences = array_map(function ($keys, $types) { - return array( - 'lic_key' => $keys, - 'lic_type' => $types - ); + // Retrieve license keys and types from the order item meta + $lic_keys = wc_get_order_item_meta($item_details->get_id(), '_slm_lic_key', false); + $lic_types = wc_get_order_item_meta($item_details->get_id(), '_slm_lic_type', false); + + if ($lic_keys && $lic_types) { + $licenses_data = array_map(function ($keys, $types) { + return [ + 'lic_key' => sanitize_text_field($keys), + 'lic_type' => sanitize_text_field($types), + ]; }, $lic_keys, $lic_types); + + $licences = array_merge($licences, $licenses_data); } } } - if ($licences) { + + // Display license details if available + if (!empty($licences)) { echo ' -

    ' . __('License details', 'softwarelicensemanager') . '

    - - - - - - - - - '; +

    ' . esc_html__('License Details', 'slmplus') . '

    +
    ' . __('License key', 'softwarelicensemanager') . '' . __('Type', 'softwarelicensemanager') . '
    + + + + + + + + '; foreach ($licences as $lic_row) { echo ' - - - - - '; + + + + + '; } echo ' - -
    ' . esc_html__('License Key', 'slmplus') . '' . esc_html__('Type', 'slmplus') . '
    - ' . $lic_row['lic_key'] . ' - ' . __('view my licenses', 'softwarelicensemanager') . ' - - ' . $lic_row['lic_type'] . ' -
    + ' . esc_html($lic_row['lic_key']) . ' - + ' . esc_html__('View My Licenses', 'slmplus') . ' + + ' . esc_html($lic_row['lic_type']) . ' +
    - '; + + + '; } } +add_action('woocommerce_order_details_after_order_table', 'slm_order_details'); + -/** - * @snippet Add Content to the Customer Processing Order Email - WooCommerce - * https://businessbloomer.com/woocommerce-add-extra-content-order-email/ - */ add_action('woocommerce_email_before_order_table', 'slm_add_license_to_order_confirmation', 20, 4); +/** + * Adds license key information to the order confirmation email. + * + * @param WC_Order $order Order object. + * @param bool $sent_to_admin Whether the email is sent to the admin. + * @param bool $plain_text Whether the email is in plain text. + * @param WC_Email $email Email object. + */ function slm_add_license_to_order_confirmation($order, $sent_to_admin, $plain_text, $email) { - if ($email->id == 'customer_completed_order') { - $items = $order->get_items(); - $licences = array(); - foreach ($items as $item_key => $item_details) { - $product = $item_details->get_product(); - if ($product->is_type('slm_license')) { - $meta_data = wc_get_order_item_meta($item_details->get_id(), '_slm_lic_key', false); - foreach ($meta_data as $meta_row) { - $licences[] = array( - 'product' => $product->get_name(), - 'lic_key' => $meta_row, - ); - } - } - } - if ($licences) { - echo ' - - - - - - - - '; - foreach ($licences as $lic_row) { - echo ' - - - - - '; + // Only display the license information in customer completed order emails + if ($email->id !== 'customer_completed_order') { + return; + } + + // Fetch the order items + $items = $order->get_items(); + $licenses = []; + + // Iterate through items to find licenses + foreach ($items as $item_key => $item_details) { + $product = $item_details->get_product(); + // Check if the product type is 'slm_license' + if ($product && $product->is_type('slm_license')) { + $meta_data = wc_get_order_item_meta($item_details->get_id(), '_slm_lic_key', false); + + // Store license information in an array + foreach ($meta_data as $meta_row) { + $licenses[] = [ + 'product' => sanitize_text_field($product->get_name()), + 'lic_key' => sanitize_text_field($meta_row), + ]; } - echo ' - -
    - ' . __('License keys', 'softwarelicensemanager') . ' -
    - ' . $lic_row['product'] . ' - - ' . $lic_row['lic_key'] . ' -
    -

    - '; } } + + // If there are licenses, add them to the email + if (!empty($licenses)) { + ?> +

    + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    +

    + get_type()) { + + // Ensure $product is a valid WooCommerce product object + if (!$product || !is_a($product, 'WC_Product')) { + return; + } + + // Get the product type with backward compatibility handling + $product_type = ''; + if (method_exists($product, 'get_type')) { + $product_type = $product->get_type(); + } else { + $product_type = $product->product_type; // For older versions + } + + // Check if the product type is 'slm_license' + if ($product_type === 'slm_license') { $template_path = SLM_WOO . 'templates/'; + + // Ensure the template path exists, if not fall back to plugin's default template directory + if (!file_exists($template_path . 'single-product/add-to-cart/slm_license.php')) { + // If template is not found, provide a fallback to default WooCommerce template directory or a custom one + $template_path = plugin_dir_path(__FILE__) . 'templates/'; + } + // Load the template wc_get_template( 'single-product/add-to-cart/slm_license.php', - '', + array(), '', trailingslashit($template_path) ); } -} \ No newline at end of file +} diff --git a/woocommerce/includes/slm-meta-boxes.php b/woocommerce/includes/slm-meta-boxes.php index 3dcebff..8d935de 100644 --- a/woocommerce/includes/slm-meta-boxes.php +++ b/woocommerce/includes/slm-meta-boxes.php @@ -1,367 +1,358 @@ version, '3.0.0', '>=' ) ) { + class WC_Product_SLM_License extends WC_Product_Simple { + protected $product_type = 'slm_license'; -add_filter('woocommerce_product_data_tabs', 'wc_slm_add_tab'); -add_action('woocommerce_process_product_meta', 'wc_slm_save_data'); -add_action('woocommerce_product_data_panels', 'wc_slm_data_panel'); -//add_filter('product_type_options', 'add_wc_slm_data_tab_enabled_product_option'); //legacy + public function __construct( $product = 0 ) { + parent::__construct( $product ); + } + + public function get_type() { + return 'slm_license'; + } + } + } else { + // Older versions use WC_Product as the base class + class WC_Product_SLM_License extends WC_Product { + protected $product_type = 'slm_license'; + + public function __construct( $product = 0 ) { + parent::__construct( $product ); + } + + public function get_type() { + return 'slm_license'; + } + } + } + } +} add_action('init', 'slm_register_product_type'); -add_filter( 'woocommerce_product_class', 'slm_register_product_class', 10, 2 ); + + +function slm_register_product_class($classname, $product_type) { + if ($product_type == 'slm_license') { + $classname = 'WC_Product_SLM_License'; + } + return $classname; +} +add_filter('woocommerce_product_class', 'slm_register_product_class', 10, 2); + + +function slm_add_product_type($types) { + $types['slm_license'] = __('License product', 'slmplus'); + return $types; + error_log("Saving product type for Product ID: " . $types); + +} add_filter('product_type_selector', 'slm_add_product_type'); -add_action('admin_footer', 'slm_license_admin_custom_js'); + + /** - * Add 'License' product option + * Add 'License Manager' product option. */ -function add_wc_slm_data_tab_enabled_product_option($product_type_options) -{ - $product_type_options['wc_slm_data_tab_enabled'] = array( - 'id' => '_wc_slm_data_tab_enabled', - 'wrapper_class' => 'show_if_slm_license', - 'label' => __('License Manager', 'softwarelicensemanager'), - 'default' => 'no', - 'description' => __('Enables the license creation api.', 'softwarelicensemanager') - ); +function add_wc_slm_data_tab_enabled_product_option($product_type_options) { + // Check if the current product type is the custom license product type + if (isset($_GET['product_type']) && $_GET['product_type'] === 'slm_license') { + $product_type_options['wc_slm_data_tab_enabled'] = array( + 'id' => '_wc_slm_data_tab_enabled', + 'wrapper_class' => 'show_if_slm_license', + 'label' => __('License Manager', 'slmplus'), + 'default' => 'no', + 'description' => __('Enables the license creation API.', 'slmplus'), + 'type' => 'checkbox' + ); + } return $product_type_options; } +add_filter('product_type_options', 'add_wc_slm_data_tab_enabled_product_option', 10); -/** CSS To Add Custom tab Icon */ -function wcpp_custom_style() -{ - ?> - __('Licensing', 'softwarelicensemanager'), - 'target' => 'wc_slm_meta', - 'class' => array('show_if_slm_license', 'show_if_wc_slm_data_tab_enabled'), - ); - return $wc_slm_data_tabs; - } +} +add_action('admin_head', 'wcpp_custom_style'); + +/** + * Add Custom WooCommerce Product Data Tab + */ +function wc_slm_add_tab($wc_slm_data_tabs) { + $wc_slm_data_tabs['wc_slm_data_tab'] = array( + 'label' => __('License Info', 'slmplus'), + 'target' => 'wc_slm_meta', + 'class' => array('show_if_slm_license', 'show_if_wc_slm_data_tab_enabled'), + ); + return $wc_slm_data_tabs; +} +add_filter('woocommerce_product_data_tabs', 'wc_slm_add_tab'); - function wc_slm_data_panel(){ - global $post; - $product_id=get_the_ID(); - $slm_options = get_option('slm_plugin_options'); +/** + * Custom WooCommerce Data Panel + */ +function wc_slm_data_panel() { + global $post; + $product_id = get_the_ID(); + $slm_options = get_option('slm_plugin_options'); ?>
    -
    '_domain_licenses', - 'label' => __('Domain Licenses', 'softwarelicensemanager'), - 'placeholder' => SLM_Helper_Class::slm_get_option('default_max_domains'), - 'desc_tip' => 'true', - 'value' => $value, - 'type' => 'number', - 'custom_attributes' => array( - 'step' => 'any', - 'min' => 0, - ), - 'description' => __('Enter the allowed amount of domains this license can have (websites).', 'softwarelicensemanager') - ) - ); - $value = get_post_meta($product_id, '_devices_licenses',true); - if($value === ''){ - $value = SLM_Helper_Class::slm_get_option('default_max_devices'); - } - woocommerce_wp_text_input( - array( - 'id' => '_devices_licenses', - 'label' => __('Devices Licenses', 'softwarelicensemanager'), - 'placeholder' => SLM_Helper_Class::slm_get_option('default_max_devices'), - 'desc_tip' => 'true', - 'value' => $value, - 'type' => 'number', - 'custom_attributes' => array( - 'step' => 'any', - 'min' => 0, - ), - 'description' => __('Enter the allowed amount of devices this license can have (computers, mobile, etc).', 'softwarelicensemanager') - ) - ); - if ($slm_options['slm_multiple_items']==1){ - woocommerce_wp_text_input( - array( - 'id' => '_license_item_reference', - 'label' => __('Item reference', 'softwarelicensemanager'), - 'placeholder' => "Software's item reference", - 'desc_tip' => 'true', - 'description' => __('Enter the item reference of your application, theme, or plug-in. The licence will be then bound to this exact software.', 'softwarelicensemanager') - ) - ); - } - woocommerce_wp_select( - array( - 'id' => '_license_type', - 'label' => __('License Type', 'softwarelicensemanager'), - 'placeholder' => 'Select one', - 'desc_tip' => 'true', - 'description' => __('type of license: subscription base or lifetime', 'softwarelicensemanager'), - 'options' => array( - 'none' => __('Select one', 'softwarelicensemanager'), - 'subscription' => __('subscription', 'softwarelicensemanager'), - 'lifetime' => __('lifetime', 'softwarelicensemanager'), - ) - ) - ); - - echo '
    '; - woocommerce_wp_text_input( - array( - 'id' => '_license_renewal_period', - 'label' => __('Renewal period lenght ', 'softwarelicensemanager'), - 'placeholder' => '0', - 'description' => __('Amount of days or months or years', 'softwarelicensemanager'), - ) - ); - - woocommerce_wp_select( - array( - 'id' => '_license_renewal_period_term', - 'label' => __('Expiration term', 'softwarelicensemanager'), - 'placeholder' => 'days', - 'description' => __('Choose between days or months or years', 'softwarelicensemanager'), - 'options' => array( - 'days' => __('Day(s)', 'softwarelicensemanager'), - 'months' => __('Month(s)', 'softwarelicensemanager'), - 'years' => __('Year(s)', 'softwarelicensemanager'), - 'onetime' => __('One Time', 'softwarelicensemanager'), - ) - ) - ); - echo '

    '; - - woocommerce_wp_text_input( - array( - 'id' => '_license_current_version', - 'label' => __('Current Version', 'softwarelicensemanager'), - 'placeholder' => '0.0.0', - 'desc_tip' => 'true', - 'description' => __('Enter the current version of your application, theme, or plug-in', 'softwarelicensemanager') - ) - ); - - woocommerce_wp_text_input( - array( - 'id' => '_license_until_version', - 'label' => __('Until Version', 'softwarelicensemanager'), - 'placeholder' => '0.0.0', - 'desc_tip' => 'true', - 'description' => __('Enter the version until support expires.', 'softwarelicensemanager') - ) - ); - ?> -
    -
    '_domain_licenses', + 'label' => __('Domain Licenses', 'slmplus'), + 'placeholder' => SLM_Helper_Class::slm_get_option('default_max_domains'), + 'desc_tip' => 'true', + 'value' => $value, + 'type' => 'number', + 'custom_attributes' => array('step' => 'any', 'min' => 0), + 'description' => __('Enter the allowed number of domains this license can have (websites).', 'slmplus') + )); + + // Device Licenses Input + $value = get_post_meta($product_id, '_devices_licenses', true); + $value = ($value === '') ? SLM_Helper_Class::slm_get_option('default_max_devices') : $value; + + woocommerce_wp_text_input(array( + 'id' => '_devices_licenses', + 'label' => __('Devices Licenses', 'slmplus'), + 'placeholder' => SLM_Helper_Class::slm_get_option('default_max_devices'), + 'desc_tip' => 'true', + 'value' => $value, + 'type' => 'number', + 'custom_attributes' => array('step' => 'any', 'min' => 0), + 'description' => __('Enter the allowed number of devices this license can have (computers, mobile, etc).', 'slmplus') + )); + + // Item Reference Field (if enabled) + if (!empty($slm_options['slm_multiple_items']) && $slm_options['slm_multiple_items'] == 1) { + woocommerce_wp_text_input(array( + 'id' => '_license_item_reference', + 'label' => __('Item Reference', 'slmplus'), + 'placeholder' => __("Software's item reference"), + 'desc_tip' => 'true', + 'description' => __('Enter the item reference of your application, theme, or plug-in. The license will be then bound to this exact software.', 'slmplus') + )); } - /** Hook callback function to save custom fields information */ - function wc_slm_save_data($post_id) - { - // _domain_licenses - // _devices_licenses - // _license_type - // _license_current_version - // _license_until_version + // License Type Dropdown + woocommerce_wp_select(array( + 'id' => '_license_type', + 'label' => __('License Type', 'slmplus'), + 'desc_tip' => 'true', + 'description' => __('Type of license: subscription base or lifetime', 'slmplus'), + 'options' => array( + 'none' => __('Select one', 'slmplus'), + 'subscription' => __('Subscription', 'slmplus'), + 'lifetime' => __('Lifetime', 'slmplus'), + ) + )); - $_domain_licenses = $_POST['_domain_licenses']; - update_post_meta($post_id, '_domain_licenses', esc_attr($_domain_licenses)); + // License Renewal Period Length + woocommerce_wp_text_input(array( + 'id' => '_license_renewal_period_lenght', + 'label' => __('Renewal Period Length', 'slmplus'), + 'description' => __('Amount of days, months, or years.', 'slmplus'), + 'type' => 'text', // Change 'number' to 'text' + 'value' => get_post_meta($product_id, '_license_renewal_period_lenght', true) ?: '1', // Fallback to '1' if empty + )); - $is_wc_slm_data_tab_enabled = isset($_POST['_wc_slm_data_tab_enabled']) ? 'yes' : 'no'; - update_post_meta($post_id, '_wc_slm_data_tab_enabled', $is_wc_slm_data_tab_enabled); + - $_license_item_reference = $_POST['_license_item_reference']; - if (!empty($_license_item_reference)) { - update_post_meta($post_id, '_license_item_reference', esc_attr($_license_item_reference)); - } - else { - update_post_meta($post_id, '_license_item_reference', esc_attr('default')); - } + // License Renewal Period Term Dropdown + woocommerce_wp_select(array( + 'id' => '_license_renewal_period_term', + 'label' => __('Expiration Term', 'slmplus'), + 'placeholder' => 'select time frame', + 'description' => __('Choose between days, months, or years', 'slmplus'), + 'options' => array( + 'days' => __('Day(s)', 'slmplus'), + 'months' => __('Month(s)', 'slmplus'), + 'years' => __('Year(s)', 'slmplus'), + 'onetime' => __('One Time', 'slmplus'), + ), + 'value' => get_post_meta($product_id, '_license_renewal_period_term', true) ?: 'years', // Ensure default value is set to 'years' if empty + )); - $_license_type = $_POST['_license_type']; - if (!empty($_license_type)) { - update_post_meta($post_id, '_license_type', esc_attr($_license_type)); - } + echo '

    '; - $_devices_licenses = $_POST['_devices_licenses']; - update_post_meta($post_id, '_devices_licenses', esc_attr($_devices_licenses)); + // Current Version Input + woocommerce_wp_text_input(array( + 'id' => '_license_current_version', + 'label' => __('Current Version', 'slmplus'), + 'placeholder' => '0.0.0', + 'desc_tip' => 'true', + 'description' => __('Enter the current version of your application, theme, or plug-in', 'slmplus') + )); - $_license_renewal_period = $_POST['_license_renewal_period']; - if (!empty($_license_renewal_period) && $_license_type == 'lifetime') { - update_post_meta($post_id, '_license_renewal_period', esc_attr('0')); - } - else { - update_post_meta($post_id, '_license_renewal_period', esc_attr($_license_renewal_period)); - } + // Until Version Input + woocommerce_wp_text_input(array( + 'id' => '_license_until_version', + 'label' => __('Until Version', 'slmplus'), + 'placeholder' => '0.0.0', + 'desc_tip' => 'true', + 'description' => __('Enter the version until support expires.', 'slmplus') + )); + ?> +
    +
    + product_type = 'slm_license'; - parent::__construct($product); - } - } - } - - function slm_register_product_class( $classname, $product_type ) { - if ( $product_type == 'slm_license' ) { - $classname = 'WC_Product_SLM_License'; - } - return $classname; - } + // Save the tab enable option + $is_wc_slm_data_tab_enabled = isset($_POST['_wc_slm_data_tab_enabled']) ? 'yes' : 'no'; + update_post_meta($post_id, '_wc_slm_data_tab_enabled', $is_wc_slm_data_tab_enabled); - function slm_add_product_type($types){ - $types['slm_license'] = __('License product', 'softwarelicensemanager'); - return $types; - } - function slm_license_admin_custom_js(){ - if ('product' != get_post_type()) : - return; - endif; - $slm_options = get_option('slm_plugin_options'); - $affect_downloads = $slm_options['slm_woo_affect_downloads']==1 ? true : false; - ?> + // Save the item reference + $_license_item_reference = isset($_POST['_license_item_reference']) ? sanitize_text_field($_POST['_license_item_reference']) : ''; + update_post_meta($post_id, '_license_item_reference', empty($_license_item_reference) ? 'default' : $_license_item_reference); + + // Save license type + $_license_type = isset($_POST['_license_type']) ? sanitize_text_field($_POST['_license_type']) : ''; + update_post_meta($post_id, '_license_type', $_license_type); + + // Sanitize and save device licenses + $_devices_licenses = isset($_POST['_devices_licenses']) ? intval($_POST['_devices_licenses']) : 0; + update_post_meta($post_id, '_devices_licenses', $_devices_licenses); + + // Handle license renewal period + + $_license_renewal_period_lenght = isset($_POST['_license_renewal_period_lenght']) ? sanitize_text_field($_POST['_license_renewal_period_lenght']) : ''; + update_post_meta($post_id, '_license_renewal_period_lenght', $_license_renewal_period_lenght); + + // Handle license renewal period term + if (isset($_POST['_license_renewal_period_term'])) { + $_license_renewal_period_term = sanitize_text_field($_POST['_license_renewal_period_term']); + if ($_license_type == 'lifetime' && $_license_renewal_period_term !== 'onetime') { + $_license_renewal_period_term = 'onetime'; + } + update_post_meta($post_id, '_license_renewal_period_term', $_license_renewal_period_term); + } + + // Save current version + $_license_current_version = isset($_POST['_license_current_version']) ? sanitize_text_field($_POST['_license_current_version']) : ''; + update_post_meta($post_id, '_license_current_version', $_license_current_version); + + // Save until version + $_license_until_version = isset($_POST['_license_until_version']) ? sanitize_text_field($_POST['_license_until_version']) : ''; + update_post_meta($post_id, '_license_until_version', $_license_until_version); +} + +add_action('woocommerce_process_product_meta', 'wc_slm_save_data'); + +function slm_license_admin_custom_js() { + if ('product' !== get_post_type()) { + return; + } + + $slm_options = get_option('slm_plugin_options', array()); + $affect_downloads = isset($slm_options['slm_woo_affect_downloads']) && $slm_options['slm_woo_affect_downloads'] === '1'; + + ?> -includes(); - } - return self::$instance; - } - - private function includes() { - require_once SLM_WOO . 'includes/register-template.php'; - require_once SLM_WOO . 'includes/purchase.php'; - } - } - return WOO_SLM::instance(); \ No newline at end of file diff --git a/woocommerce/includes/wc_licenses_class.php b/woocommerce/includes/wc_licenses_class.php index 3d9eb86..1be3d2b 100755 --- a/woocommerce/includes/wc_licenses_class.php +++ b/woocommerce/includes/wc_licenses_class.php @@ -8,8 +8,33 @@ // If this file is called directly, abort. if (!defined('WPINC')) { die(); + } +//slm_woo_downloads +function slm_remove_downloads_from_account_menu($items) { + // Remove "Downloads" menu item. + unset($items['downloads']); + return $items; +} + +function slm_disable_downloads_endpoint_redirect() { + // Check if the current endpoint is "downloads" and if it's part of the My Account page. + if (is_wc_endpoint_url('downloads')) { + // Redirect to the My Account dashboard. + wp_safe_redirect(wc_get_page_permalink('myaccount')); + exit; + } +} + +$enable_downloads_page = SLM_API_Utility::get_slm_option('slm_woo_downloads'); + // Check if the 'enable_downloads_page' option is enabled. + if ($enable_downloads_page == 1) { + // If the option is set and enabled, trigger the action. + add_action('template_redirect', 'slm_disable_downloads_endpoint_redirect'); + add_filter('woocommerce_account_menu_items', 'slm_remove_downloads_from_account_menu', 10); + } + class SLM_Woo_Account { public static $endpoint = 'my-licenses'; @@ -55,7 +80,7 @@ public function endpoint_title($title) $is_endpoint = isset($wp_query->query_vars[self::$endpoint]); if ($is_endpoint && !is_admin() && is_main_query() && in_the_loop() && is_account_page()) { // New page title. - $title = __('My Licenses', 'softwarelicensemanager'); + $title = __('My Licenses', 'slmplus'); remove_filter('the_title', array($this, 'endpoint_title')); } return $title; @@ -67,7 +92,7 @@ public function slm_woo_menu_list($items) $logout = $items['customer-logout']; unset($items['customer-logout']); // Insert your custom endpoint. - $items[self::$endpoint] = __('My Licenses', 'softwarelicensemanager'); + $items[self::$endpoint] = __('My Licenses', 'slmplus'); // Insert back the logout item. $items['customer-logout'] = $logout; return $items; @@ -94,9 +119,9 @@ public function endpoint_content() if (empty($result)) { ?>
    - + - +
    - - - - - - + + + + + + - #purchase_id_; ?> + #purchase_id_; ?> - + lic_status; ?>
    - + product_ref; $product_name = get_the_title($product_id); @@ -138,9 +163,9 @@ public function endpoint_content() ?> - license_key; ?> + license_key; ?> - + date_expiry); $today = new DateTime(); @@ -156,7 +181,7 @@ public function endpoint_content() } ?> - + @@ -190,15 +215,15 @@ public function endpoint_content() @@ -207,15 +232,15 @@ public function endpoint_content()
    - +
      -
    • -
    • max_allowed_devices; ?>
    • -
    • max_allowed_domains; ?>
    • -
    • lic_type; ?>
    • -
    • date_renewed; ?>
    • -
    • date_activated; ?>
    • +
    • +
    • max_allowed_devices; ?>
    • +
    • max_allowed_domains; ?>
    • +
    • lic_type; ?>
    • +
    • date_renewed; ?>
    • +
    • date_activated; ?>
    @@ -287,9 +312,9 @@ public function endpoint_content() jQuery.get('' + 'wp-admin/admin-ajax.php?action=del_activation&id=' + id + '&activation_type=' + activation_type, function(data) { if (data == 'success') { jQuery(class_name).remove(); - jQuery('.slm_ajax_msg').html(''); + jQuery('.slm_ajax_msg').html(''); } else { - jQuery('.slm_ajax_msg').html(''); + jQuery('.slm_ajax_msg').html(''); } }); }); From ce6d3756a2b54f187bd6e8d77c77e6974d7da339 Mon Sep 17 00:00:00 2001 From: Michel Date: Mon, 28 Oct 2024 22:13:53 -0400 Subject: [PATCH 209/293] 6.1.0 release dev branch added - 6.1.0 release --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4b3be81..d57ecf9 100755 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -> :warning: **Future Updates and maintenance**: I don't have the time I used to have before to maintain this project, but I can always merge new pull requests! +> :warning: **Future Updates and maintenance**: I have released under the dev branch version 6.1.0 From 63d08d1cbe81b0b911cdf5862633f12fbd8a711d Mon Sep 17 00:00:00 2001 From: Michel Date: Tue, 29 Oct 2024 11:59:10 -0400 Subject: [PATCH 210/293] improvements fix license creation added language files --- ...{slm_about_menu.php => slm-about-menu.php} | 0 admin/slm-add-licenses.php | 466 +++-- admin/slm-admin-init.php | 2 +- admin/slm-dashboard-widgets.php | 31 +- admin/slm-list-licenses-class.php | 2 +- i18n/languages/slmplus-es_ES.mo | Bin 0 -> 2756 bytes i18n/languages/slmplus-es_ES.po | 1511 +++++++++++++++++ i18n/languages/slmplus.mo | Bin 0 -> 2756 bytes i18n/languages/slmplus.pot | 977 ++++++++--- includes/slm-plugin-core.php | 47 +- package-lock.json | 356 ++-- package.json | 7 +- slm-plus.php | 11 + 13 files changed, 2781 insertions(+), 629 deletions(-) rename admin/{slm_about_menu.php => slm-about-menu.php} (100%) create mode 100644 i18n/languages/slmplus-es_ES.mo create mode 100644 i18n/languages/slmplus-es_ES.po create mode 100644 i18n/languages/slmplus.mo diff --git a/admin/slm_about_menu.php b/admin/slm-about-menu.php similarity index 100% rename from admin/slm_about_menu.php rename to admin/slm-about-menu.php diff --git a/admin/slm-add-licenses.php b/admin/slm-add-licenses.php index f7345f7..67fecdd 100755 --- a/admin/slm-add-licenses.php +++ b/admin/slm-add-licenses.php @@ -11,6 +11,10 @@ function slm_add_licenses_menu() $id = !empty($_GET['edit_record']) ? intval($_GET['edit_record']) : 0; // Check for 'edit_record' parameter in the URL $slm_options = get_option('slm_options'); + //Get the active tab from the $_GET param + $slm_lic_default_tab = null; + $slm_lic_tab = isset($_GET['slm_tab']) ? $_GET['slm_tab'] : $slm_lic_default_tab; + // Check if the form is submitted if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['slm_save_license'])) { // Verify the nonce before processing the form @@ -58,21 +62,25 @@ function slm_add_licenses_menu() 'reminder_sent_date' => SLM_API_Utility::slm_validate_date($_POST['reminder_sent_date']) ]; - // Check for required fields if (empty($data['email']) || empty($data['date_created']) || ($data['lic_type'] != 'lifetime' && empty($data['date_expiry'])) || empty($data['lic_type'])) { - echo '

    ' . __('Required fields are missing.', 'slmplus') . '

    '; + // Custom error notice displayed inline + echo '

    ' . __('Required fields are missing.', 'slmplus') . '

    '; } else { // Insert or update the data in the database if ($id) { $wpdb->update(SLM_TBL_LICENSE_KEYS, $data, ['id' => $id]); - echo '

    ' . __('License updated successfully.', 'slmplus') . '

    '; + // Custom success notice for updating a license + echo '

    ' . __('License updated successfully.', 'slmplus') . '

    '; } else { $wpdb->insert(SLM_TBL_LICENSE_KEYS, $data); - echo '

    ' . __('License created successfully.', 'slmplus') . '

    '; + // Custom success notice for creating a license + echo '

    ' . __('License created successfully.', 'slmplus') . '

    '; + echo '' . __('View License', 'slmplus') . '

    '; } } - } else { + } + else { // If editing, load existing data // Ensure the correct data types and default values for new records if ($id) { @@ -125,176 +133,290 @@ function slm_add_licenses_menu() ?>

    -
    - - - +
    add_menu(array( 'id' => 'slm-menu', - 'title' => '' . __('SLM', 'slmplus'), + 'title' => '' . __('SLM Plus', 'slmplus'), 'href' => admin_url('admin.php?page=slm_overview'), 'meta' => array( 'title' => __('SLM'), @@ -76,33 +76,37 @@ function slm_dashboard_widget_function()
  • - Manage licenses Total active licenses -
  • + + + + +
  • - Active licenses + +
  • - Pending licenses + +
  • - - -
  • +
  • - Blocked licenses + +
  • -
  • - Expired licenses + +
  • @@ -113,7 +117,8 @@ function slm_dashboard_widget_function() - Recent Licenses  – View All + +  –  @@ -125,4 +130,4 @@ function slm_dashboard_widget_function() \ No newline at end of file + diff --git a/admin/slm-list-licenses-class.php b/admin/slm-list-licenses-class.php index cc08677..10586e4 100755 --- a/admin/slm-list-licenses-class.php +++ b/admin/slm-list-licenses-class.php @@ -199,7 +199,7 @@ function get_bulk_actions() 'blocked' => 'Block', 'expired' => 'Expire', 'active' => 'Activate', - 'reminder' => 'Send Reminder', + // 'reminder' => 'Send Reminder', 'export' => 'Export', ); return $actions; diff --git a/i18n/languages/slmplus-es_ES.mo b/i18n/languages/slmplus-es_ES.mo new file mode 100644 index 0000000000000000000000000000000000000000..b27d7a2d8e194676f3b76ddacb6365dc9bf620d4 GIT binary patch literal 2756 zcmaKsU1(fI6vs!~`mwFnwtm&msamTwce~l9P;V?HO_L^=G)p&$g2i=m?{qWq?w#w* z+%&;H>8sKQ>q|ux3I(+vg5U>=R4O9);Dex`AR;Kz7ax66{GWSgvnhzfp8d_4IWyRsLH`8F{w*vfyR#tW z@d8M8pMiAlFTh*DZ@m5sxEcBtkmCFs#E(^Ayan6>()W&a(leI5vT_ zZX5n+pFR+#Y!68G`$5X{sMlve@_!VhxRlp5NPbU%wEsyze+s01PlI&MGa#M z9%}UcKMc7YLNQRgvjpo0cR=V3-w&a?p}gD;={C9-`c~+^so@C4nW#@WqWnDqq5N=2 z4e|iwF-R5CZFC=X$acuR-NB(bojW!ZIkhO+P#p8a@;Dnx5_TZb(epB9!@84+beSI( z9m$4`6i&umr|cj)-0SS1w2@JnQ#2u+P>E$D9iaT@*w{$x$ACp?mU%3e*~n6+j40L> zT{s+7#=6qoA(=`e65f=~skCj`A?3#MIW{JfjEx^;y#tt>E%qanbaXUvv9)&l1;P7zer;yDI-Wj=DnAp z7`-4P7mUZjtTYxog}ga2$s0*-D~+k(h+I@O8qlqTyk4sh1pT$3zL(eQVXZ%?4b*BC zN>We+lL)6x$T5<(b0i>`mZGyt54p6hf&RxUljD;kJ&*m>T4h+LPNvugrwF-|OKw+| z2$c@q!A+J_^?^hiv!xQx9F+Hm=w6-K@T`HB`rJq(S_1RdlS#`4F zYi%HtK@GY5uZfYRD9K|PlflkvN2S#T`@eSmAx8?^Dh={1#upbv^Ag3v99_gmt4#&< zM4CvHWkp*y)Hbp$3{P{psPQUdP2~lzNuYOFcjk=bvE+&1vXh}uh@#NMn#+`pN_|@>hcFvVTy;=RUBTBv?x@@NGwV4Pz=meq^};+tA^}Vc6g(R$?^meUp_A^o0Vy# zItpKuF8eEivZ00CI%#>kEKcz3tJ2VN9*b^SG94f6a3ZL(W->_>Hu>Yi$G@GtSd^z? zrZ_j%sYr>C6+?(Y@}gW}3^f@Sg73~CS7!B$MS+TG%PD6NB;G#`-Hoa&UI-uI`TC_< zQzt4?E|1xP+(yD6J?Syk&W#Us#5%f=CMHqL%k++EgSf_|F``HZax)%N7{xmiQE4@; iGR?+NUj(vcxT6~`Y8ozonMDHilXfmDDh0(*W7)syHicRM literal 0 HcmV?d00001 diff --git a/i18n/languages/slmplus-es_ES.po b/i18n/languages/slmplus-es_ES.po new file mode 100644 index 0000000..a3758ab --- /dev/null +++ b/i18n/languages/slmplus-es_ES.po @@ -0,0 +1,1511 @@ +msgid "" +msgstr "" +"Project-Id-Version: SLM Plus\n" +"POT-Creation-Date: 2024-10-28 22:01-0400\n" +"PO-Revision-Date: 2024-10-28 22:20-0400\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: es_419\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.5\n" +"X-Poedit-Basepath: ../..\n" +"X-Poedit-Flags-xgettext: --add-comments=translators:\n" +"X-Poedit-WPHeader: slm-plus.php\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" +"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" +"_nx_noop:3c,1,2;__ngettext_noop:1,2\n" +"X-Poedit-SearchPath-0: .\n" +"X-Poedit-SearchPathExcluded-0: *.min.js\n" +"X-Poedit-SearchPathExcluded-1: plugin-update-checker\\vendor\n" + +#: admin/includes/cronjobs/slm-tasks.php:10 +msgid "Every day" +msgstr "Todos los días" + +#: admin/includes/partials/stats.php:8 +#, fuzzy +msgid "Total licenses" +msgstr "Total de licencias" + +#: admin/includes/partials/stats.php:18 +#, fuzzy +msgid "Licenses this week" +msgstr "Licencias esta semana" + +#: admin/includes/partials/stats.php:28 +#, fuzzy +msgid "Licenses this month" +msgstr "Licencias este mes" + +#: admin/includes/partials/stats.php:38 +#, fuzzy +msgid "Active licenses" +msgstr "Licencias activas" + +#: admin/includes/partials/stats.php:48 +#, fuzzy +msgid "Pending licenses" +msgstr "Licencias pendientes" + +#: admin/includes/partials/stats.php:58 +#, fuzzy +msgid "Blocked licenses" +msgstr "Licencias bloqueadas" + +#: admin/includes/partials/stats.php:68 +#, fuzzy +msgid "Logs saved" +msgstr "Registros guardados" + +#: admin/includes/partials/stats.php:78 +#, fuzzy +msgid "Reminders sent" +msgstr "Recordatorios enviados" + +#: admin/includes/partials/stats.php:88 +#, fuzzy +msgid "Expired licenses" +msgstr "Licencias caducadas" + +#: admin/includes/partials/stats.php:98 +#, fuzzy +msgid "Licenses about to expire" +msgstr "Licencias a punto de caducar" + +#: admin/includes/wpestores/slm-wpestores.php:73 +#, fuzzy +msgid "Item Name: " +msgstr "Nombre del artículo: " + +#: admin/includes/wpestores/slm-wpestores.php:73 +#, fuzzy +msgid "License Key: " +msgstr "Clave de licencia: " + +#: admin/slm-add-licenses.php:18 +#, fuzzy +msgid "Security check failed" +msgstr "Error en la comprobación de seguridad" + +#: admin/slm-add-licenses.php:64 +#, fuzzy +msgid "Required fields are missing." +msgstr "Faltan los campos obligatorios." + +#: admin/slm-add-licenses.php:69 +#, fuzzy +msgid "License updated successfully." +msgstr "Licencia actualizada con éxito." + +#: admin/slm-add-licenses.php:72 +#, fuzzy +msgid "License created successfully." +msgstr "Licencia creada con éxito." + +#: admin/slm-add-licenses.php:127 +#, fuzzy +msgid "License Management" +msgstr "Gestión de licencias" + +#: admin/slm-add-licenses.php:138 woocommerce/includes/slm-meta-boxes.php:120 +#, fuzzy +msgid "License Info" +msgstr "Información de la licencia" + +#: admin/slm-add-licenses.php:143 woocommerce/includes/purchase.php:689 +#: woocommerce/includes/purchase.php:748 woocommerce/includes/purchase.php:825 +#: woocommerce/includes/wc_licenses_class.php:166 +msgid "License Key" +msgstr "许可 Key" + +#: admin/slm-add-licenses.php:147 +#, fuzzy +msgid "Max Allowed Domains" +msgstr "Dominio máximo permitido" + +#: admin/slm-add-licenses.php:151 +#, fuzzy +msgid "Max Allowed Devices" +msgstr "Máximo de dispositivos permitidos" + +#: admin/slm-add-licenses.php:155 woocommerce/includes/purchase.php:693 +#, fuzzy +msgid "License Status" +msgstr "Estado de la licencia" + +#: admin/slm-add-licenses.php:173 +msgid "Date Created" +msgstr "Fecha de creación" + +#: admin/slm-add-licenses.php:175 admin/slm-add-licenses.php:190 +#: admin/slm-add-licenses.php:200 admin/slm-add-licenses.php:206 +#: admin/slm-add-licenses.php:288 +#, fuzzy, php-format +msgid "Display Format: %s (input: YYYY-MM-DD)" +msgstr "Formato de visualización: %s (entrada: AAAA-MM-DD)" + +#: admin/slm-add-licenses.php:179 woocommerce/includes/purchase.php:691 +#: woocommerce/includes/slm-meta-boxes.php:184 +#, fuzzy +msgid "License Type" +msgstr "Tipo de licencia" + +#: admin/slm-add-licenses.php:182 woocommerce/includes/slm-meta-boxes.php:189 +msgid "Subscription" +msgstr "Suscripción" + +#: admin/slm-add-licenses.php:183 woocommerce/includes/slm-meta-boxes.php:190 +#: woocommerce/includes/wc_licenses_class.php:180 +#, fuzzy +msgid "Lifetime" +msgstr "Vida" + +#: admin/slm-add-licenses.php:188 +#, fuzzy +msgid "Date Expiry" +msgstr "Fecha de caducidad" + +#: admin/slm-add-licenses.php:194 +#, fuzzy +msgid "Subscription ID" +msgstr "ID de suscripción" + +#: admin/slm-add-licenses.php:198 +#, fuzzy +msgid "Date Renewed" +msgstr "Fecha de renovación" + +#: admin/slm-add-licenses.php:204 +#, fuzzy +msgid "Date Activated" +msgstr "Fecha de activación" + +#: admin/slm-add-licenses.php:212 +#, fuzzy +msgid "Subscriber Info" +msgstr "Información del suscriptor" + +#: admin/slm-add-licenses.php:217 admin/slm-subscribers.php:86 +msgid "First Name" +msgstr "Nombre" + +#: admin/slm-add-licenses.php:221 admin/slm-subscribers.php:87 +msgid "Last Name" +msgstr "Apellido" + +#: admin/slm-add-licenses.php:225 admin/slm-list-licenses-class.php:89 +msgid "Email" +msgstr "Correo electrónico" + +#: admin/slm-add-licenses.php:229 +msgid "Company Name" +msgstr "Nombre de la empresa" + +#: admin/slm-add-licenses.php:235 +#, fuzzy +msgid "Transaction" +msgstr "Transacción" + +#: admin/slm-add-licenses.php:239 woocommerce/includes/slm-meta-boxes.php:174 +#, fuzzy +msgid "Item Reference" +msgstr "Referencia del artículo" + +#: admin/slm-add-licenses.php:244 +msgid "Transaction ID" +msgstr "Id de transacción" + +#: admin/slm-add-licenses.php:249 +#, fuzzy +msgid "Purchase ID" +msgstr "ID de compra" + +#: admin/slm-add-licenses.php:254 +#, fuzzy +msgid "Product Reference" +msgstr "Referencia del producto" + +#: admin/slm-add-licenses.php:260 +msgid "Other" +msgstr "Otro" + +#: admin/slm-add-licenses.php:264 +msgid "Until" +msgstr "Hasta" + +#: admin/slm-add-licenses.php:268 woocommerce/includes/slm-meta-boxes.php:225 +#, fuzzy +msgid "Current Version" +msgstr "Versión actual" + +#: admin/slm-add-licenses.php:274 +#, fuzzy +msgid "Billing Length" +msgstr "Duración de la facturación" + +#: admin/slm-add-licenses.php:278 +#, fuzzy +msgid "Billing Interval" +msgstr "Intervalo de facturación" + +#: admin/slm-add-licenses.php:282 +#, fuzzy +msgid "Reminder Sent" +msgstr "Recordatorio enviado" + +#: admin/slm-add-licenses.php:286 +#, fuzzy +msgid "Reminder Sent Date" +msgstr "Fecha de envío del recordatorio" + +#: admin/slm-add-licenses.php:292 +#, fuzzy +msgid "Manual Reset Count" +msgstr "Recuento de restablecimiento manual" + +#: admin/slm-add-licenses.php:296 +#, fuzzy +msgid "Save License" +msgstr "Guardar licencia" + +#: admin/slm-admin-functions.php:14 +#, fuzzy +msgid "Admin Tools" +msgstr "Herramientas de administración" + +#: admin/slm-admin-functions.php:30 +#, fuzzy +msgid "Success message returned from the remote host." +msgstr "Mensaje de éxito devuelto por el host remoto." + +#: admin/slm-admin-functions.php:33 +#, fuzzy +msgid "Request sent to the specified URL!" +msgstr "¡Solicitud enviada a la URL especificada!" + +#: admin/slm-admin-functions.php:45 +#, fuzzy +msgid "Log was cleared successfully!" +msgstr "¡El registro se borró con éxito!" + +#: admin/slm-admin-functions.php:51 +#, fuzzy +msgid "Send Deactivation Message for a License" +msgstr "Enviar mensaje de desactivación de una licencia" + +#: admin/slm-admin-functions.php:56 +#, fuzzy +msgid "Send Request" +msgstr "Enviar solicitud" + +#: admin/slm-admin-functions.php:63 +#, fuzzy +msgid "Clean Activity Log" +msgstr "Limpiar registro de actividad" + +#: admin/slm-admin-functions.php:65 +#, fuzzy +msgid "This will clear/reset license keys activities" +msgstr "Esto borrará/restablecerá las actividades de las claves de licencia" + +#: admin/slm-admin-functions.php:68 +#, fuzzy +msgid "Clear Log" +msgstr "Borrar registro" + +#: admin/slm-admin-functions.php:75 +#, fuzzy +msgid "Backup Database" +msgstr "Base de datos de copia de seguridad" + +#: admin/slm-admin-functions.php:77 +#, fuzzy +msgid "" +"This will create a backup of the database tables related to this plugin and " +"save it to the uploads directory." +msgstr "" +"Esto creará una copia de seguridad de las tablas de la base de datos " +"relacionadas con este complemento y la guardará en el directorio de cargas." + +#: admin/slm-admin-functions.php:80 +#, fuzzy +msgid "Create Backup" +msgstr "Crear copia de seguridad" + +#: admin/slm-admin-functions.php:90 +#, fuzzy +msgid "Last backup created on: " +msgstr "Última copia de seguridad creada el: " + +#: admin/slm-admin-functions.php:90 +#, fuzzy +msgid "Download Backup" +msgstr "Descargar copia de seguridad" + +#: admin/slm-admin-functions.php:172 +#, fuzzy +msgid "Backup created successfully! Download from: " +msgstr "¡Copia de seguridad creada con éxito! Descargar desde: " + +#: admin/slm-admin-functions.php:174 +#, fuzzy +msgid "Error: Failed to create the backup file." +msgstr "Error: No se pudo crear el archivo de copia de seguridad." + +#: admin/slm-dashboard-widgets.php:30 admin/slm-dashboard-widgets.php:33 +#: admin/slm-list-licenses-class.php:479 +#, fuzzy +msgid "SLM" +msgstr "SLM" + +#: admin/slm-dashboard-widgets.php:42 +msgid "Overview" +msgstr "Visión general" + +#: admin/slm-dashboard-widgets.php:52 +#, fuzzy +msgid "Add new license" +msgstr "Agregar nueva licencia" + +#: admin/slm-dashboard-widgets.php:62 admin/slm-list-licenses-class.php:485 +#: includes/slm-plugin-core.php:39 +msgid "Settings" +msgstr "Configuración" + +#: admin/slm-integration-help-page.php:11 +#, fuzzy +msgid "License Manager Integration Help" +msgstr "Ayuda de integración de License Manager" + +#: admin/slm-integration-help-page.php:34 +#, fuzzy +msgid "API Settings" +msgstr "Configuración de la API" + +#: admin/slm-integration-help-page.php:42 +#, fuzzy +msgid "The License API Query POST URL For Your Installation" +msgstr "La URL POST de la consulta de la API de licencia para su instalación" + +#: admin/slm-integration-help-page.php:45 +#, fuzzy +msgid "The License Activation or Deactivation API Secret Key" +msgstr "La clave secreta de la API de activación o desactivación de licencias" + +#: admin/slm-integration-help-page.php:48 +#, fuzzy +msgid "The License Creation API Secret Key" +msgstr "La clave secreta de la API de creación de licencias" + +#: admin/slm-integration-help-page.php:54 +#, fuzzy +msgid "Documentation and guides:" +msgstr "Documentación y guías:" + +#: admin/slm-integration-help-page.php:55 +#, fuzzy +msgid "Check out Postman demos" +msgstr "Echa un vistazo a las demostraciones de Postman" + +#: admin/slm-integration-help-page.php:60 +#, fuzzy +msgid "Error Codes and Descriptions" +msgstr "Códigos de error y descripciones" + +#: admin/slm-integration-help-page.php:65 +#, fuzzy +msgid "Constant" +msgstr "Constante" + +#: admin/slm-integration-help-page.php:66 +#, fuzzy +msgid "Error Code" +msgstr "Código de error" + +#: admin/slm-integration-help-page.php:67 +msgid "Description" +msgstr "Descripción" + +#: admin/slm-integration-help-page.php:73 +#, fuzzy +msgid "The license creation failed due to an unknown error." +msgstr "La creación de la licencia falló debido a un error desconocido." + +#: admin/slm-integration-help-page.php:77 +#, fuzzy +msgid "The license key provided during creation is invalid." +msgstr "La clave de licencia proporcionada durante la creación no es válida." + +#: admin/slm-integration-help-page.php:81 +#, fuzzy +msgid "The domain associated with this license is already inactive." +msgstr "El dominio asociado a esta licencia ya está inactivo." + +#: admin/slm-integration-help-page.php:85 +#, fuzzy +msgid "The domain information is missing in the request." +msgstr "Falta la información del dominio en la solicitud." + +#: admin/slm-integration-help-page.php:89 +#, fuzzy +msgid "The license key has been canceled." +msgstr "La clave de licencia ha sido cancelada." + +#: admin/slm-integration-help-page.php:93 +#, fuzzy +msgid "Failed to cancel the license key." +msgstr "No se pudo cancelar la clave de licencia." + +#: admin/slm-integration-help-page.php:97 +#, fuzzy +msgid "Successfully deactivated the license key for the specified domain." +msgstr "" +"Se ha desactivado correctamente la clave de licencia para el dominio " +"especificado." + +#: admin/slm-integration-help-page.php:101 +#, fuzzy +msgid "The license key was successfully deactivated." +msgstr "La clave de licencia se ha desactivado correctamente." + +#: admin/slm-integration-help-page.php:105 +#, fuzzy +msgid "Failed to delete the license key." +msgstr "No se pudo eliminar la clave de licencia." + +#: admin/slm-integration-help-page.php:109 +#, fuzzy +msgid "The license key was successfully deleted." +msgstr "La clave de licencia se ha eliminado correctamente." + +#: admin/slm-integration-help-page.php:113 +#, fuzzy +msgid "The license key has been deleted." +msgstr "Se ha eliminado la clave de licencia." + +#: admin/slm-integration-help-page.php:117 +#, fuzzy +msgid "Failed to update the license key details." +msgstr "No se pudieron actualizar los detalles de la clave de licencia." + +#: admin/slm-integration-help-page.php:121 +#, fuzzy +msgid "The license key was successfully updated." +msgstr "La clave de licencia se actualizó correctamente." + +#: admin/slm-integration-help-page.php:125 +#, fuzzy +msgid "The license key was successfully activated." +msgstr "La clave de licencia se ha activado correctamente." + +#: admin/slm-integration-help-page.php:129 +#, fuzzy +msgid "The license key has been blocked from further use." +msgstr "Se ha bloqueado el uso posterior de la clave de licencia." + +#: admin/slm-integration-help-page.php:133 +#, fuzzy +msgid "The license key was successfully created." +msgstr "La clave de licencia se ha creado correctamente." + +#: admin/slm-integration-help-page.php:137 +#, fuzzy +msgid "The license key already exists in the system." +msgstr "La clave de licencia ya existe en el sistema." + +#: admin/slm-integration-help-page.php:141 +#, fuzzy +msgid "The license key has expired." +msgstr "La clave de licencia ha caducado." + +#: admin/slm-integration-help-page.php:145 +#, fuzzy +msgid "The license key is already in use on another domain or device." +msgstr "La clave de licencia ya está en uso en otro dominio o dispositivo." + +#: admin/slm-integration-help-page.php:149 +#, fuzzy +msgid "The license key is invalid." +msgstr "La clave de licencia no es válida." + +#: admin/slm-integration-help-page.php:153 +#, fuzzy +msgid "Failed to delete the license key because it was not found." +msgstr "No se pudo eliminar la clave de licencia porque no se encontró." + +#: admin/slm-integration-help-page.php:157 +#, fuzzy +msgid "Failed to update the license key because it was not found." +msgstr "No se pudo actualizar la clave de licencia porque no se encontró." + +#: admin/slm-integration-help-page.php:161 +#, fuzzy +msgid "The license key has reached its maximum allowable devices." +msgstr "" +"La clave de licencia ha alcanzado el máximo de dispositivos permitidos." + +#: admin/slm-integration-help-page.php:165 +#, fuzzy +msgid "The license key has reached its maximum allowable domains." +msgstr "La clave de licencia ha alcanzado sus dominios máximos permitidos." + +#: admin/slm-integration-help-page.php:169 +#, fuzzy +msgid "The key verification failed due to an invalid key." +msgstr "Error en la verificación de la clave debido a una clave no válida." + +#: admin/slm-lic-settings.php:22 +#, fuzzy +msgid "Debug log files have been reset!" +msgstr "¡Se han restablecido los archivos de registro de depuración!" + +#: admin/slm-lic-settings.php:53 +#, fuzzy +msgid "Options updated!" +msgstr "¡Opciones actualizadas!" + +#: admin/slm-lic-settings.php:63 +#, fuzzy +msgid "Settings - SLM Plus" +msgstr "Ajustes - SLM Plus" + +#: admin/slm-lic-settings.php:69 +msgid "General Settings" +msgstr "Ajustes generales" + +#: admin/slm-lic-settings.php:73 +#, fuzzy +msgid "Integrations" +msgstr "Integraciones" + +#: admin/slm-lic-settings.php:77 +#, fuzzy +msgid "Debugging settings" +msgstr "Configuración de depuración" + +#: admin/slm-lic-settings.php:81 +msgid "Emails" +msgstr "Correos electrónicos" + +#: admin/slm-lic-settings.php:107 +#, fuzzy +msgid "Secret Key for License Creation" +msgstr "Clave secreta para la creación de licencias" + +#: admin/slm-lic-settings.php:110 +#, fuzzy +msgid "" +"This secret key will be used to authenticate any license creation request. " +"You can change it with something random." +msgstr "" +"Esta clave secreta se utilizará para autenticar cualquier solicitud de " +"creación de licencia. Puedes cambiarlo con algo aleatorio." + +#: admin/slm-lic-settings.php:114 +#, fuzzy +msgid "Secret Key for License Verification Requests" +msgstr "Clave secreta para solicitudes de verificación de licencias" + +#: admin/slm-lic-settings.php:116 +#, fuzzy +msgid "" +"This secret key will be used to authenticate any license verification " +"request from customer's site. Important! Do not change this value once your " +"customers start to use your product(s)!" +msgstr "" +"Esta clave secreta se utilizará para autenticar cualquier solicitud de " +"verificación de licencia desde el sitio del cliente. ¡Importante! ¡No " +"cambies este valor una vez que tus clientes comiencen a usar tu(s) " +"producto(s)!" + +#: admin/slm-lic-settings.php:120 +#, fuzzy +msgid "License Key Prefix" +msgstr "Prefijo de clave de licencia" + +#: admin/slm-lic-settings.php:122 +#, fuzzy +msgid "" +"You can optionaly specify a prefix for the license keys. This prefix will be " +"added to the uniquely generated license keys." +msgstr "" +"Opcionalmente, puede especificar un prefijo para las claves de licencia. " +"Este prefijo se agregará a las claves de licencia generadas de forma única." + +#: admin/slm-lic-settings.php:126 +#, fuzzy +msgid "Maximum Allowed Domains" +msgstr "Dominios máximos permitidos" + +#: admin/slm-lic-settings.php:128 +#, fuzzy +msgid "" +"Maximum number of domains/installs which each license is valid for (default " +"value)." +msgstr "" +"Número máximo de dominios/instalaciones para los que es válida cada licencia " +"(valor predeterminado)." + +#: admin/slm-lic-settings.php:132 +#, fuzzy +msgid "Maximum Allowed Devices" +msgstr "Dispositivo máximo permitido" + +#: admin/slm-lic-settings.php:134 +#, fuzzy +msgid "" +"Maximum number of devices which each license is valid for (default value)." +msgstr "" +"Número máximo de dispositivos para los que es válida cada licencia (valor " +"predeterminado)." + +#: admin/slm-lic-settings.php:138 +#, fuzzy +msgid "Auto Expire License Keys" +msgstr "Caducidad automática de las claves de licencia" + +#: admin/slm-lic-settings.php:140 +#, fuzzy +msgid "Enable auto expiration " +msgstr "Habilitar la caducidad automática " + +#: admin/slm-lic-settings.php:141 +#, fuzzy +msgid "" +" When enabled, it will automatically set the status of a license key to " +"\"Expired\" when the expiry date value of the key is reached. It doesn't " +"remotely deactivate a key. It simply changes the status of the key in your " +"database to expired." +msgstr "" +" Cuando está habilitado, establecerá automáticamente el estado de una clave " +"de licencia en \"Caducado\" cuando se alcance el valor de la fecha de " +"caducidad de la clave. No desactiva una tecla de forma remota. Simplemente " +"cambia el estado de la clave en su base de datos a caducada." + +#: admin/slm-lic-settings.php:145 +#, fuzzy +msgid "General settings" +msgstr "Ajustes generales" + +#: admin/slm-lic-settings.php:148 +#, fuzzy +msgid "Enable stats in licenses overview page." +msgstr "" +"Habilite las estadísticas en la página de información general de licencias." + +#: admin/slm-lic-settings.php:156 +#, fuzzy +msgid "Enable admin bar shortcut link" +msgstr "Habilitar el enlace de acceso directo de la barra de administración" + +#: admin/slm-lic-settings.php:161 +#, fuzzy +msgid "Multiple items validation" +msgstr "Validación de varios elementos" + +#: admin/slm-lic-settings.php:164 +#, fuzzy +msgid "Enable verification of Item reference." +msgstr "Habilite la verificación de la referencia del artículo." + +#: admin/slm-lic-settings.php:165 +#, fuzzy +msgid "" +"When enabled, there will be another field in Licenced product - Item " +"reference. This field should correspond to the API parameter item_reference " +"of your software." +msgstr "" +"Cuando esté habilitado, habrá otro campo en Producto con licencia - " +"Referencia del artículo. Este campo debe corresponder al item_reference de " +"parámetros de API de su software." + +#: admin/slm-lic-settings.php:170 +#, fuzzy +msgid "User permissions" +msgstr "Permisos de usuario" + +#: admin/slm-lic-settings.php:173 +#, fuzzy +msgid "Allow users to remove domains/devices in My account." +msgstr "Permitir que los usuarios eliminen dominios/dispositivos en Mi cuenta." + +#: admin/slm-lic-settings.php:174 +#, fuzzy +msgid "" +"When enabled, users will be able to remove registered domains or devices in " +"their account." +msgstr "" +"Cuando esté habilitado, los usuarios podrán eliminar dominios o dispositivos " +"registrados en su cuenta." + +#: admin/slm-lic-settings.php:179 +#, fuzzy +msgid "Bootstrap library" +msgstr "Biblioteca de Bootstrap" + +#: admin/slm-lic-settings.php:182 +#, fuzzy +msgid "Enable Bootstrap javascript libray." +msgstr "Habilite la biblioteca javascript de Bootstrap." + +#: admin/slm-lic-settings.php:189 +#, fuzzy +msgid "" +"Enable Bootstrap javascript libray in front-end (woocommerce pages, etc)." +msgstr "" +"Habilite la biblioteca javascript de Bootstrap en el front-end (páginas de " +"woocommerce, etc.)." + +#: admin/slm-lic-settings.php:202 +#, fuzzy +msgid "Woocommerce Support" +msgstr "Soporte de Woocommerce" + +#: admin/slm-lic-settings.php:205 +#, fuzzy +msgid "" +"A fully customizable, open source eCommerce platform built for WordPress." +msgstr "" +"Una plataforma de comercio electrónico de código abierto totalmente " +"personalizable creada para WordPress." + +#: admin/slm-lic-settings.php:212 +#, fuzzy +msgid "" +"Disable woocommerce download page. Process downloads though license order " +"info page." +msgstr "" +"Desactiva la página de descarga de woocommerce. Procese las descargas a " +"través de la página de información del pedido de licencia." + +#: admin/slm-lic-settings.php:219 +#, fuzzy +msgid "" +"Expire WooCommerce downloads. Downloads will expire together with " +"corresponding license." +msgstr "" +"Caducar las descargas de WooCommerce. Las descargas caducarán junto con la " +"licencia correspondiente." + +#: admin/slm-lic-settings.php:223 +#, fuzzy +msgid "Download Manager Support" +msgstr "Soporte técnico de Download Manager" + +#: admin/slm-lic-settings.php:226 +#, fuzzy +msgid "" +"Download Manager Plugin – Adds a simple download manager to your WordPress " +"blog." +msgstr "" +"Plugin de administrador de descargas: agrega un administrador de descargas " +"simple a su blog de WordPress." + +#: admin/slm-lic-settings.php:230 +#, fuzzy +msgid "WP eStores Support" +msgstr "Soporte de WP eStores" + +#: admin/slm-lic-settings.php:233 +#, fuzzy +msgid "" +"WordPress eStore Plugin – Complete Solution to Sell Digital Products from " +"Your WordPress Blog Securely" +msgstr "" +"Plugin de WordPress eStore: solución completa para vender productos " +"digitales desde su blog de WordPress de forma segura" + +#: admin/slm-lic-settings.php:245 +#, fuzzy +msgid "Enable Debug Logging" +msgstr "Habilitar el registro de depuración" + +#: admin/slm-lic-settings.php:248 +#, fuzzy +msgid "If checked, debug output will be written to log files." +msgstr "" +"Si se selecciona, la salida de depuración se escribirá en los archivos de " +"registro." + +#: admin/slm-lic-settings.php:259 +#, fuzzy +msgid "Expiration reminder" +msgstr "Recordatorio de caducidad" + +#: admin/slm-lic-settings.php:269 +#, fuzzy +msgid "Update Options" +msgstr "Opciones de actualización" + +#: admin/slm-list-licenses-class.php:27 +#, fuzzy +msgid "No licenses avaliable." +msgstr "No hay licencias disponibles." + +#: admin/slm-list-licenses-class.php:43 +msgid "All" +msgstr "Todo" + +#: admin/slm-list-licenses-class.php:50 +msgid "active" +msgstr "activos" + +#: admin/slm-list-licenses-class.php:57 +msgid "pending" +msgstr "Pendiente" + +#: admin/slm-list-licenses-class.php:64 +msgid "expired" +msgstr "caducado" + +#: admin/slm-list-licenses-class.php:71 +#, fuzzy +msgid "blocked" +msgstr "bloqueado" + +#: admin/slm-list-licenses-class.php:84 admin/slm-subscribers.php:85 +#: admin/slm-subscribers.php:187 includes/slm-utility.php:789 +msgid "ID" +msgstr "ID" + +#: admin/slm-list-licenses-class.php:85 admin/slm-subscribers.php:189 +#: woocommerce/includes/wc_licenses_class.php:136 +#: woocommerce/includes/wc_licenses_class.php:149 +msgid "Status" +msgstr "Estado" + +#: admin/slm-list-licenses-class.php:86 +msgid "Key" +msgstr "Clave" + +#: admin/slm-list-licenses-class.php:87 +#, fuzzy +msgid "Item reference" +msgstr "Referencia del artículo" + +#: admin/slm-list-licenses-class.php:88 +#: woocommerce/includes/wc_licenses_class.php:241 +#, fuzzy +msgid "License type" +msgstr "Tipo de licencia" + +#: admin/slm-list-licenses-class.php:90 +#, fuzzy +msgid "Domains" +msgstr "Dominios" + +#: admin/slm-list-licenses-class.php:91 +#, fuzzy +msgid "Devices" +msgstr "Dispositivos" + +#: admin/slm-list-licenses-class.php:92 +#, fuzzy +msgid "Order #" +msgstr "Orden #" + +#: admin/slm-list-licenses-class.php:93 +msgid "Created on" +msgstr "Creado en" + +#: admin/slm-list-licenses-class.php:94 +#, fuzzy +msgid "Renewed on" +msgstr "Renovado el" + +#: admin/slm-list-licenses-class.php:95 +#, fuzzy +msgid "Activated on" +msgstr "Activado el" + +#: admin/slm-list-licenses-class.php:96 +#: woocommerce/includes/wc_licenses_class.php:238 +msgid "Expiration" +msgstr "Vencimiento" + +#: admin/slm-list-licenses-class.php:97 +#, fuzzy +msgid "Until Ver." +msgstr "Hasta la Ver." + +#: admin/slm-list-licenses-class.php:98 +#, fuzzy +msgid "Current Ver." +msgstr "La versión actual." + +#: admin/slm-list-licenses-class.php:120 +#, fuzzy +msgid " Lifetime " +msgstr " Vida " + +#: admin/slm-list-licenses-class.php:213 admin/slm-list-licenses-class.php:231 +#: admin/slm-list-licenses-class.php:249 admin/slm-list-licenses-class.php:267 +#: admin/slm-list-licenses-class.php:285 +#, fuzzy +msgid "Error - Please select some records using the checkboxes" +msgstr "" +"Error: seleccione algunos registros usando las casillas de verificación" + +#: admin/slm-list-licenses-class.php:480 +#, fuzzy +msgid "Manage Licenses" +msgstr "Administrar licencias" + +#: admin/slm-list-licenses-class.php:482 +#, fuzzy +msgid "Create license" +msgstr "Crear licencia" + +#: admin/slm-list-licenses-class.php:483 +#, fuzzy +msgid "Subscribers" +msgstr "Suscriptores" + +#: admin/slm-list-licenses-class.php:484 +msgid "Tools" +msgstr "Herramientas" + +#: admin/slm-list-licenses-class.php:486 +msgid "Help" +msgstr "Ayuda" + +#: admin/slm-list-licenses-class.php:488 +msgid "About" +msgstr "Acerca" + +#: admin/slm-manage-licenses.php:15 +#, fuzzy +msgid "You do not have permission to manage this license." +msgstr "No tiene permiso para administrar esta licencia." + +#: admin/slm-manage-licenses.php:36 +#, fuzzy +msgid "Overview - Manage licenses" +msgstr "Información general - Administrar licencias" + +#: admin/slm-manage-licenses.php:38 +msgid "Add New" +msgstr "Agregar nuevo" + +#: admin/slm-manage-licenses.php:62 admin/slm-subscribers.php:217 +msgid "Search" +msgstr "Buscar" + +#: admin/slm-subscribers.php:88 +msgid "Email Address" +msgstr "Correo electronico" + +#: admin/slm-subscribers.php:176 +#, fuzzy +msgid "Overview - Manage Subscribers" +msgstr "Descripción general - Administrar suscriptores" + +#: admin/slm-subscribers.php:178 +msgid "View all" +msgstr "Ver todo" + +#: admin/slm-subscribers.php:188 woocommerce/includes/wc_licenses_class.php:138 +#, fuzzy +msgid "License key" +msgstr "Clave de licencia" + +#: admin/slm-subscribers.php:206 +#, fuzzy +msgid "Overview - All Subscribers" +msgstr "Resumen - Todos los suscriptores" + +#: admin/slm_about_menu.php:15 +#, fuzzy +msgid "SLM Logo" +msgstr "Logotipo de SLM" + +#: admin/slm_about_menu.php:15 +#, fuzzy +msgid "SLM - About" +msgstr "SLM - Acerca de" + +#: admin/slm_about_menu.php:26 +#, fuzzy +msgid "Credits and authors" +msgstr "Créditos y autores" + +#: admin/slm_about_menu.php:28 +#, fuzzy +msgid "" +"Software license management solution for your web applications (WordPress " +"plugins, Themes, Applications, PHP based membership script, etc.). Supports " +"WooCommerce." +msgstr "" +"Solución de gestión de licencias de software para sus aplicaciones web " +"(plugins de WordPress, Temas, Aplicaciones, scripts de membresía basados en " +"PHP, etc.). Compatible con WooCommerce." + +#: admin/slm_about_menu.php:33 +#, fuzzy +msgid "Information" +msgstr "Información" + +#: admin/slm_about_menu.php:34 +msgid "Details" +msgstr "Detalles" + +#: admin/slm_about_menu.php:39 +#, fuzzy +msgid "Authors" +msgstr "Autores" + +#: admin/slm_about_menu.php:42 +msgid "and" +msgstr "y" + +#: admin/slm_about_menu.php:47 +#, fuzzy +msgid "Help and Support" +msgstr "Ayuda y soporte" + +#: admin/slm_about_menu.php:50 +#, fuzzy +msgid "Submit a request" +msgstr "Enviar una solicitud" + +#: admin/slm_about_menu.php:55 +#, fuzzy +msgid "API Demos" +msgstr "Demostraciones de API" + +#: admin/slm_about_menu.php:58 +#, fuzzy +msgid "Postman Demos" +msgstr "Demostraciones de cartero" + +#: includes/class-slm-installer.php:41 +msgid "Pending" +msgstr "Pendientes" + +#: includes/class-slm-installer.php:42 +msgid "Active" +msgstr "Activos" + +#: includes/class-slm-installer.php:43 +msgid "Blocked" +msgstr "Bloqueado" + +#: includes/class-slm-installer.php:44 +#: woocommerce/includes/wc_licenses_class.php:175 +msgid "Expired" +msgstr "Vencido" + +#: includes/slm-plugin-core.php:40 +msgid "GitHub" +msgstr "GitHub" + +#: includes/slm-utility.php:365 +#, fuzzy, php-format +msgid "%s days remaining until %s" +msgstr "%s días que faltan para %s" + +#: includes/slm-utility.php:777 +#, fuzzy +msgid " view" +msgstr " vista" + +#: includes/slm-utility.php:789 +msgid "Request" +msgstr "Solicitud" + +#: includes/slm-utility.php:797 +#, fuzzy +msgid "Source:" +msgstr "Fuente:" + +#: includes/slm-utility.php:798 +msgid "Time:" +msgstr "Hora:" + +#: includes/slm-utility.php:844 +#, fuzzy +msgid "Not registered yet" +msgstr "Aún no se ha registrado" + +#: includes/slm-utility.php:862 includes/slm-utility.php:874 +#: woocommerce/includes/wc_licenses_class.php:235 +#, fuzzy +msgid "License information" +msgstr "Información de la licencia" + +#: includes/slm-utility.php:875 +#, fuzzy +msgid "License type: " +msgstr "Tipo de licencia: " + +#: includes/slm-utility.php:876 +#, fuzzy +msgid "Domains allowed: " +msgstr "Dominios permitidos: " + +#: includes/slm-utility.php:877 +#, fuzzy +msgid "Devices allowed: " +msgstr "Dispositivos permitidos: " + +#: includes/slm-utility.php:878 +#, fuzzy +msgid "Renews every " +msgstr "Renueva cada " + +#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:54 +#, fuzzy +msgid "View details" +msgstr "Ver detalles" + +#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:77 +#, fuzzy, php-format +msgid "More information about %s" +msgstr "Más información sobre %s" + +#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:128 +#, fuzzy +msgid "Check for updates" +msgstr "Buscar actualizaciones" + +#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:213 +#, fuzzy, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "El plugin %s está actualizado." + +#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:215 +#, fuzzy, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "Está disponible una nueva versión del plugin %s." + +#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:217 +#, fuzzy, php-format +msgctxt "the plugin title" +msgid "Could not determine if updates are available for %s." +msgstr "No se pudo determinar si hay actualizaciones disponibles para %s." + +#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:223 +#, fuzzy, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "Estado desconocido del comprobador de actualizaciones \"%s\"" + +#: plugin-update-checker/Puc/v4p9/Vcs/PluginUpdateChecker.php:98 +#, fuzzy +msgid "There is no changelog available." +msgstr "No hay registro de cambios disponible." + +#: woocommerce/includes/purchase.php:94 +#, fuzzy +msgid "License no longer exists" +msgstr "La licencia ya no existe" + +#: woocommerce/includes/purchase.php:99 +#: woocommerce/includes/wc_licenses_class.php:209 +msgid "License Key:" +msgstr "Clave de licencia:" + +#: woocommerce/includes/purchase.php:197 +#, fuzzy +msgid "License could not be created: Invalid sites allowed number." +msgstr "No se pudo crear la licencia: número de sitios permitidos no válidos." + +#: woocommerce/includes/purchase.php:343 +#, fuzzy +msgid "License Key(s) generated:" +msgstr "Clave(s) de licencia generada(s):" + +#: woocommerce/includes/purchase.php:372 +#, fuzzy +msgid "License Key(s) could not be created." +msgstr "No se han podido crear las claves de licencia." + +#: woocommerce/includes/purchase.php:626 +#, fuzzy, php-format +msgid "Order confirmation email sent to: %s" +msgstr "" +"Correo electrónico de confirmación del pedido enviado a: %s" + +#: woocommerce/includes/purchase.php:690 +#, fuzzy +msgid "License Expiration" +msgstr "Caducidad de la licencia" + +#: woocommerce/includes/purchase.php:692 +#, fuzzy +msgid "License Item Reference" +msgstr "Referencia de elementos de licencia" + +#: woocommerce/includes/purchase.php:694 +#, fuzzy +msgid "License Current Version" +msgstr "Licencia Versión actual" + +#: woocommerce/includes/purchase.php:695 +#, fuzzy +msgid "Supported Until Version" +msgstr "Compatible hasta la versión" + +#: woocommerce/includes/purchase.php:744 +#, fuzzy +msgid "License Details" +msgstr "Detalles de la licencia" + +#: woocommerce/includes/purchase.php:749 +msgid "Type" +msgstr "Tipo" + +#: woocommerce/includes/purchase.php:759 +#, fuzzy +msgid "View My Licenses" +msgstr "Ver mis licencias" + +#: woocommerce/includes/purchase.php:817 +msgid "License Keys" +msgstr "Claves de Licencia" + +#: woocommerce/includes/purchase.php:822 +#: woocommerce/includes/wc_licenses_class.php:137 +#: woocommerce/includes/wc_licenses_class.php:155 +msgid "Product" +msgstr "Producto" + +#: woocommerce/includes/slm-meta-boxes.php:51 +#, fuzzy +msgid "License product" +msgstr "Producto de licencia" + +#: woocommerce/includes/slm-meta-boxes.php:68 +msgid "License Manager" +msgstr "Administrador de Licencias" + +#: woocommerce/includes/slm-meta-boxes.php:70 +#, fuzzy +msgid "Enables the license creation API." +msgstr "Habilita la API de creación de licencias." + +#: woocommerce/includes/slm-meta-boxes.php:146 +#, fuzzy +msgid "Domain Licenses" +msgstr "Licencias de dominio" + +#: woocommerce/includes/slm-meta-boxes.php:152 +#, fuzzy +msgid "Enter the allowed number of domains this license can have (websites)." +msgstr "" +"Introduzca el número permitido de dominios que puede tener esta licencia " +"(sitios web)." + +#: woocommerce/includes/slm-meta-boxes.php:161 +#, fuzzy +msgid "Devices Licenses" +msgstr "Licencias de dispositivos" + +#: woocommerce/includes/slm-meta-boxes.php:167 +#, fuzzy +msgid "" +"Enter the allowed number of devices this license can have (computers, " +"mobile, etc)." +msgstr "" +"Introduzca el número permitido de dispositivos que puede tener esta licencia " +"(ordenadores, móviles, etc.)." + +#: woocommerce/includes/slm-meta-boxes.php:175 +#, fuzzy +msgid "Software's item reference" +msgstr "Referencia del artículo del software" + +#: woocommerce/includes/slm-meta-boxes.php:177 +#, fuzzy +msgid "" +"Enter the item reference of your application, theme, or plug-in. The license " +"will be then bound to this exact software." +msgstr "" +"Introduzca la referencia del elemento de la aplicación, el tema o el " +"complemento. A continuación, la licencia se vinculará a este software exacto." + +#: woocommerce/includes/slm-meta-boxes.php:186 +#, fuzzy +msgid "Type of license: subscription base or lifetime" +msgstr "Tipo de licencia: base de suscripción o de por vida" + +#: woocommerce/includes/slm-meta-boxes.php:188 +#, fuzzy +msgid "Select one" +msgstr "Seleccione uno" + +#: woocommerce/includes/slm-meta-boxes.php:197 +#, fuzzy +msgid "Renewal Period Length" +msgstr "Duración del período de renovación" + +#: woocommerce/includes/slm-meta-boxes.php:198 +#, fuzzy +msgid "Amount of days, months, or years." +msgstr "Cantidad de días, meses o años." + +#: woocommerce/includes/slm-meta-boxes.php:208 +#, fuzzy +msgid "Expiration Term" +msgstr "Plazo de caducidad" + +#: woocommerce/includes/slm-meta-boxes.php:210 +#, fuzzy +msgid "Choose between days, months, or years" +msgstr "Elige entre días, meses o años" + +#: woocommerce/includes/slm-meta-boxes.php:212 +#, fuzzy +msgid "Day(s)" +msgstr "Día(s)" + +#: woocommerce/includes/slm-meta-boxes.php:213 +#, fuzzy +msgid "Month(s)" +msgstr "Mes(es)" + +#: woocommerce/includes/slm-meta-boxes.php:214 +#, fuzzy +msgid "Year(s)" +msgstr "Año(s)" + +#: woocommerce/includes/slm-meta-boxes.php:215 +#, fuzzy +msgid "One Time" +msgstr "Una vez" + +#: woocommerce/includes/slm-meta-boxes.php:228 +#, fuzzy +msgid "Enter the current version of your application, theme, or plug-in" +msgstr "Introduce la versión actual de tu aplicación, tema o plug-in" + +#: woocommerce/includes/slm-meta-boxes.php:234 +#, fuzzy +msgid "Until Version" +msgstr "Hasta la versión" + +#: woocommerce/includes/slm-meta-boxes.php:237 +#, fuzzy +msgid "Enter the version until support expires." +msgstr "Introduzca la versión hasta que caduque el soporte." + +#: woocommerce/includes/wc_licenses_class.php:83 +#: woocommerce/includes/wc_licenses_class.php:95 +#, fuzzy +msgid "My Licenses" +msgstr "Mis Licencias" + +#: woocommerce/includes/wc_licenses_class.php:122 +#, fuzzy +msgid "Browse products" +msgstr "Ver productos" + +#: woocommerce/includes/wc_licenses_class.php:124 +#, fuzzy +msgid "No licenses available yet." +msgstr "Todavía no hay licencias disponibles." + +#: woocommerce/includes/wc_licenses_class.php:135 +#: woocommerce/includes/wc_licenses_class.php:147 +msgid "Order" +msgstr "Pedido" + +#: woocommerce/includes/wc_licenses_class.php:139 +#: woocommerce/includes/wc_licenses_class.php:168 +#, fuzzy +msgid "Renews on" +msgstr "Se renueva el" + +#: woocommerce/includes/wc_licenses_class.php:140 +msgid "Info" +msgstr "Información" + +#: woocommerce/includes/wc_licenses_class.php:184 +msgid "view" +msgstr "ver" + +#: woocommerce/includes/wc_licenses_class.php:218 +#, fuzzy +msgid "License Information" +msgstr "Información de la licencia" + +#: woocommerce/includes/wc_licenses_class.php:222 +#, fuzzy +msgid "Activations" +msgstr "Activaciones" + +#: woocommerce/includes/wc_licenses_class.php:226 +#, fuzzy +msgid "Copy License" +msgstr "Licencia de copia" + +#: woocommerce/includes/wc_licenses_class.php:239 +#, fuzzy +msgid "Allowed devices" +msgstr "Dispositivos permitidos" + +#: woocommerce/includes/wc_licenses_class.php:240 +#, fuzzy +msgid "Allowed Domains" +msgstr "Dominios permitidos" + +#: woocommerce/includes/wc_licenses_class.php:242 +#, fuzzy +msgid "Date renewed" +msgstr "Fecha de renovación" + +#: woocommerce/includes/wc_licenses_class.php:243 +#, fuzzy +msgid "Activation Date" +msgstr "Fecha de activación" + +#: woocommerce/includes/wc_licenses_class.php:315 +#, fuzzy +msgid "License key was deactivated!" +msgstr "¡La clave de licencia fue desactivada!" + +#: woocommerce/includes/wc_licenses_class.php:317 +#, fuzzy +msgid "License key was not deactivated!" +msgstr "¡La clave de licencia no se ha desactivado!" + +#. Plugin Name of the plugin/theme +#, fuzzy +msgid "SLM Plus" +msgstr "SLM Plus" + +#. Plugin URI of the plugin/theme +#, fuzzy +msgid "https://github.com/michelve/software-license-manager/" +msgstr "https://github.com/michelve/software-license-manager/" + +#. Description of the plugin/theme +#, fuzzy +msgid "" +"A comprehensive software license management solution for web applications " +"including WordPress plugins, themes, and PHP-based software. Seamlessly " +"integrates with WooCommerce to offer license key generation, management, and " +"validation. Ideal for developers managing software licenses across multiple " +"platforms with built-in multilingual support and performance optimization." +msgstr "" +"Una solución integral de gestión de licencias de software para aplicaciones " +"web, incluidos complementos de WordPress, temas y software basado en PHP. Se " +"integra a la perfección con WooCommerce para ofrecer generación, gestión y " +"validación de claves de licencia. Ideal para desarrolladores que administran " +"licencias de software en múltiples plataformas con soporte multilingüe " +"integrado y optimización del rendimiento." + +#. Author of the plugin/theme +#, fuzzy +msgid "Michel Velis" +msgstr "Michel Velis" + +#. Author URI of the plugin/theme +#, fuzzy +msgid "https://github.com/michelve/" +msgstr "https://github.com/michelve/" diff --git a/i18n/languages/slmplus.mo b/i18n/languages/slmplus.mo new file mode 100644 index 0000000000000000000000000000000000000000..63d5c2a76b3dd2c8f278134934e287720b4cc6d8 GIT binary patch literal 2756 zcmaKsU1(fI6vs!~`mwFnwtm&msamTwce~l9P;V?HO_L^=G)p&$g2i=m?{qWq?w#w* z+%&;H>8sKQ>q|ux3I(+vg5U>=R4O9);Dex`AR;Kz7ax66{GWSgvnhzfp8d_4IWyRsLH`8F{w*vfyR#tW z@d8M8pMiAlFTh*DZ@m5sxEcBtkmCFs#E(^Ayan6>()W&a(leI5vT_ zZX5n+pFR+#Y!68G`$5X{sMlve@_!VhxRlp5NPbU%wEsyze+s01PlI&MGa#M z9%}UcKMc7YLNQRgvjpo0cR=V3-w&a?p}gD;={C9-`c~+^so@C4nW#@WqWnDqq5N=2 z4e|iwF-R5CZFC=X$acuR-NB(bojW!ZIkhO+P#p8a@;Dnx5_TZb(epB9!@84+beSI( z9m$4`6i&umr|cj)-0SS1w2@JnQ#2u+P>E$D9iaT@*w{$x$ACp?mU%3e*~n6+j40L> zT{s+7#=6qoA(=`e65f=~skCj`A?3#MIW{JfjEx^;y#tt>E%qanbaXUvv9)&l1;P7zer;yDI-Wj=DnAp z7`-4P7mUZjtTYxog}ga2$s0*-D~+k(h+I@O8qlqTyk4sh1pT$3zL(eQVZ9dA25Pkm zB`GL^NrclT|OVL@Shg{m$K>y>F$??gNp2z-btum}rCsXW$Q-s{fCATX} zgh~f_G%t*mZr{xGXt1|uM~6QqO)!#1n$j8ay>rS{o({^(Edpt187s$kSNCANRDuJ- z%1pTVkXNg_s@2}aXd>D+SZX8v@E-CY5OEwty3;{icAq1M#Q|;DTl7?8ObXm_$ZgUI zGNi4V&1b#&rp`?yhsz^`ygb87Eclp?YZKcEW#O>Z8f?kIRvPyA)dyQkga{+uPP!Bh zM13@eN6`|_87x@o%3jwmps9J+NxW6jEv<^~%C@ak>#X#dE|tpe(od_E`fRM&tU6io zwKkB+poU!j*Tl$Dl;p9D$zW%-qtfbv{a?HOkRyd{l?Hhhg zjZk|cb@>CTFvUabDh@A5S`;c{B$gz2CFNBZqeErg_ zsS_0`m&fctZX;okp7fY%=f;ORVjW#b6O$\n" -"Language-Team: Michel Velis \n" +"POT-Creation-Date: 2024-10-28 22:01-0400\n" +"PO-Revision-Date: 2024-10-28 22:01-0400\n" +"Last-Translator: \n" +"Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.4.1\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" +"X-Generator: Poedit 3.5\n" "X-Poedit-Basepath: ../..\n" "X-Poedit-Flags-xgettext: --add-comments=translators:\n" -"X-Poedit-WPHeader: software-license-manager.php\n" +"X-Poedit-WPHeader: slm-plus.php\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" "_nx_noop:3c,1,2;__ngettext_noop:1,2\n" "X-Poedit-SearchPath-0: .\n" "X-Poedit-SearchPathExcluded-0: *.min.js\n" +"X-Poedit-SearchPathExcluded-1: plugin-update-checker\\vendor\n" #: admin/includes/cronjobs/slm-tasks.php:10 msgid "Every day" msgstr "" -#: admin/includes/wpestores/slm-wpestores.php:70 -msgid "Item Name: " +#: admin/includes/partials/stats.php:8 +msgid "Total licenses" msgstr "" -#: admin/includes/wpestores/slm-wpestores.php:70 -msgid "License Key: " +#: admin/includes/partials/stats.php:18 +msgid "Licenses this week" msgstr "" -#: admin/slm-add-licenses.php:165 -msgid "Record could not be inserted into the database!" +#: admin/includes/partials/stats.php:28 +msgid "Licenses this month" msgstr "" -#: admin/slm-add-licenses.php:173 -msgid "Update of the license key table failed!" +#: admin/includes/partials/stats.php:38 +msgid "Active licenses" msgstr "" -#. Plugin Name of the plugin/theme -#: admin/slm-add-licenses.php:200 -msgid "SLM Plus" +#: admin/includes/partials/stats.php:48 +msgid "Pending licenses" msgstr "" -#: admin/slm-add-licenses.php:203 -msgid "You can add a new license or edit an existing one from this interface." +#: admin/includes/partials/stats.php:58 +msgid "Blocked licenses" msgstr "" -#: admin/slm-add-licenses.php:249 admin/slm-add-licenses.php:313 -msgid "License key and status" +#: admin/includes/partials/stats.php:68 +msgid "Logs saved" msgstr "" -#: admin/slm-add-licenses.php:253 -msgid "User information" +#: admin/includes/partials/stats.php:78 +msgid "Reminders sent" msgstr "" -#: admin/slm-add-licenses.php:259 -msgid "Devices & Domains" +#: admin/includes/partials/stats.php:88 +msgid "Expired licenses" msgstr "" -#: admin/slm-add-licenses.php:264 -msgid "Subscription and Renewal" +#: admin/includes/partials/stats.php:98 +msgid "Licenses about to expire" msgstr "" -#: admin/slm-add-licenses.php:268 -#: woocommerce/includes/wc_licenses_class.php:107 -#: woocommerce/includes/wc_licenses_class.php:125 -msgid "Product" +#: admin/includes/wpestores/slm-wpestores.php:73 +msgid "Item Name: " msgstr "" -#: admin/slm-add-licenses.php:274 -msgid "Activity log " +#: admin/includes/wpestores/slm-wpestores.php:73 +msgid "License Key: " msgstr "" -#: admin/slm-add-licenses.php:281 -msgid "Export " +#: admin/slm-add-licenses.php:18 +msgid "Security check failed" msgstr "" -#: admin/slm-add-licenses.php:318 -#: woocommerce/includes/wc_licenses_class.php:136 +#: admin/slm-add-licenses.php:64 +msgid "Required fields are missing." +msgstr "" + +#: admin/slm-add-licenses.php:69 +msgid "License updated successfully." +msgstr "" + +#: admin/slm-add-licenses.php:72 +msgid "License created successfully." +msgstr "" + +#: admin/slm-add-licenses.php:127 +msgid "License Management" +msgstr "" + +#: admin/slm-add-licenses.php:138 woocommerce/includes/slm-meta-boxes.php:120 +msgid "License Info" +msgstr "" + +#: admin/slm-add-licenses.php:143 woocommerce/includes/purchase.php:689 +#: woocommerce/includes/purchase.php:748 woocommerce/includes/purchase.php:825 +#: woocommerce/includes/wc_licenses_class.php:166 msgid "License Key" msgstr "" -#: admin/slm-add-licenses.php:320 -msgid "The unique license key." +#: admin/slm-add-licenses.php:147 +msgid "Max Allowed Domains" msgstr "" -#: admin/slm-add-licenses.php:325 +#: admin/slm-add-licenses.php:151 +msgid "Max Allowed Devices" +msgstr "" + +#: admin/slm-add-licenses.php:155 woocommerce/includes/purchase.php:693 msgid "License Status" msgstr "" -#: admin/slm-add-licenses.php:351 +#: admin/slm-add-licenses.php:173 +msgid "Date Created" +msgstr "" + +#: admin/slm-add-licenses.php:175 admin/slm-add-licenses.php:190 +#: admin/slm-add-licenses.php:200 admin/slm-add-licenses.php:206 +#: admin/slm-add-licenses.php:288 +#, php-format +msgid "Display Format: %s (input: YYYY-MM-DD)" +msgstr "" + +#: admin/slm-add-licenses.php:179 woocommerce/includes/purchase.php:691 +#: woocommerce/includes/slm-meta-boxes.php:184 +msgid "License Type" +msgstr "" + +#: admin/slm-add-licenses.php:182 woocommerce/includes/slm-meta-boxes.php:189 msgid "Subscription" msgstr "" -#: admin/slm-add-licenses.php:354 -msgid "Life-time" +#: admin/slm-add-licenses.php:183 woocommerce/includes/slm-meta-boxes.php:190 +#: woocommerce/includes/wc_licenses_class.php:180 +msgid "Lifetime" +msgstr "" + +#: admin/slm-add-licenses.php:188 +msgid "Date Expiry" +msgstr "" + +#: admin/slm-add-licenses.php:194 +msgid "Subscription ID" +msgstr "" + +#: admin/slm-add-licenses.php:198 +msgid "Date Renewed" msgstr "" -#: admin/slm-add-licenses.php:356 woocommerce/includes/slm-meta-boxes.php:153 -msgid "type of license: subscription base or lifetime" +#: admin/slm-add-licenses.php:204 +msgid "Date Activated" msgstr "" -#: admin/slm-add-licenses.php:370 -msgid "User Information" +#: admin/slm-add-licenses.php:212 +msgid "Subscriber Info" msgstr "" -#: admin/slm-add-licenses.php:376 +#: admin/slm-add-licenses.php:217 admin/slm-subscribers.php:86 msgid "First Name" msgstr "" -#: admin/slm-add-licenses.php:378 -msgid "License user's first name" +#: admin/slm-add-licenses.php:221 admin/slm-subscribers.php:87 +msgid "Last Name" msgstr "" -#: admin/slm-add-licenses.php:382 -msgid " Last Name" +#: admin/slm-add-licenses.php:225 admin/slm-list-licenses-class.php:89 +msgid "Email" msgstr "" -#: admin/slm-add-licenses.php:384 -msgid "License user's last name" +#: admin/slm-add-licenses.php:229 +msgid "Company Name" msgstr "" -#: admin/slm-add-licenses.php:391 -msgid "Subscriber ID" +#: admin/slm-add-licenses.php:235 +msgid "Transaction" msgstr "" -#: admin/slm-add-licenses.php:393 -msgid "" -"The Subscriber ID (if any). Can be useful if you are using the license key " -"with a recurring payment plan." +#: admin/slm-add-licenses.php:239 woocommerce/includes/slm-meta-boxes.php:174 +msgid "Item Reference" msgstr "" -#: admin/slm-add-licenses.php:398 -msgid "Email Address" +#: admin/slm-add-licenses.php:244 +msgid "Transaction ID" msgstr "" -#: admin/slm-add-licenses.php:425 -msgid "Allowed Activations" +#: admin/slm-add-licenses.php:249 +msgid "Purchase ID" msgstr "" -#: admin/slm-add-licenses.php:431 admin/slm-lic-settings.php:149 -msgid "Maximum Allowed Domains" +#: admin/slm-add-licenses.php:254 +msgid "Product Reference" +msgstr "" + +#: admin/slm-add-licenses.php:260 +msgid "Other" +msgstr "" + +#: admin/slm-add-licenses.php:264 +msgid "Until" +msgstr "" + +#: admin/slm-add-licenses.php:268 woocommerce/includes/slm-meta-boxes.php:225 +msgid "Current Version" msgstr "" -#: admin/slm-add-licenses.php:433 -msgid "Number of domains/installs in which this license can be used" +#: admin/slm-add-licenses.php:274 +msgid "Billing Length" msgstr "" -#: admin/slm-add-licenses.php:455 -msgid "Advanced Details" +#: admin/slm-add-licenses.php:278 +msgid "Billing Interval" msgstr "" -#: admin/slm-add-licenses.php:491 -msgid "Days" +#: admin/slm-add-licenses.php:282 +msgid "Reminder Sent" msgstr "" -#: admin/slm-add-licenses.php:498 -msgid "Months" +#: admin/slm-add-licenses.php:286 +msgid "Reminder Sent Date" msgstr "" -#: admin/slm-add-licenses.php:505 -msgid "Years" +#: admin/slm-add-licenses.php:292 +msgid "Manual Reset Count" msgstr "" -#: admin/slm-add-licenses.php:560 -msgid "Product Informations" +#: admin/slm-add-licenses.php:296 +msgid "Save License" msgstr "" -#: admin/slm-add-licenses.php:629 -msgid "Item reference of your software" +#: admin/slm-admin-functions.php:14 +msgid "Admin Tools" msgstr "" -#: admin/slm-add-licenses.php:644 -msgid "Export License" +#: admin/slm-admin-functions.php:30 +msgid "Success message returned from the remote host." msgstr "" -#: admin/slm-add-licenses.php:664 -msgid "Activity Log" +#: admin/slm-admin-functions.php:33 +msgid "Request sent to the specified URL!" msgstr "" -#: admin/slm-admin-functions.php:41 +#: admin/slm-admin-functions.php:45 +msgid "Log was cleared successfully!" +msgstr "" + +#: admin/slm-admin-functions.php:51 msgid "Send Deactivation Message for a License" msgstr "" -#: admin/slm-admin-functions.php:43 -msgid "Enter the URL where the license deactivation message will be sent to" +#: admin/slm-admin-functions.php:56 +msgid "Send Request" +msgstr "" + +#: admin/slm-admin-functions.php:63 +msgid "Clean Activity Log" +msgstr "" + +#: admin/slm-admin-functions.php:65 +msgid "This will clear/reset license keys activities" +msgstr "" + +#: admin/slm-admin-functions.php:68 +msgid "Clear Log" +msgstr "" + +#: admin/slm-admin-functions.php:75 +msgid "Backup Database" +msgstr "" + +#: admin/slm-admin-functions.php:77 +msgid "" +"This will create a backup of the database tables related to this plugin and " +"save it to the uploads directory." +msgstr "" + +#: admin/slm-admin-functions.php:80 +msgid "Create Backup" +msgstr "" + +#: admin/slm-admin-functions.php:90 +msgid "Last backup created on: " +msgstr "" + +#: admin/slm-admin-functions.php:90 +msgid "Download Backup" +msgstr "" + +#: admin/slm-admin-functions.php:172 +msgid "Backup created successfully! Download from: " +msgstr "" + +#: admin/slm-admin-functions.php:174 +msgid "Error: Failed to create the backup file." msgstr "" #: admin/slm-dashboard-widgets.php:30 admin/slm-dashboard-widgets.php:33 +#: admin/slm-list-licenses-class.php:479 msgid "SLM" msgstr "" @@ -203,89 +312,242 @@ msgstr "" msgid "Add new license" msgstr "" -#: admin/slm-dashboard-widgets.php:62 includes/slm-plugin-core.php:55 +#: admin/slm-dashboard-widgets.php:62 admin/slm-list-licenses-class.php:485 +#: includes/slm-plugin-core.php:39 msgid "Settings" msgstr "" -#: admin/slm-lic-settings.php:23 +#: admin/slm-integration-help-page.php:11 +msgid "License Manager Integration Help" +msgstr "" + +#: admin/slm-integration-help-page.php:34 +msgid "API Settings" +msgstr "" + +#: admin/slm-integration-help-page.php:42 +msgid "The License API Query POST URL For Your Installation" +msgstr "" + +#: admin/slm-integration-help-page.php:45 +msgid "The License Activation or Deactivation API Secret Key" +msgstr "" + +#: admin/slm-integration-help-page.php:48 +msgid "The License Creation API Secret Key" +msgstr "" + +#: admin/slm-integration-help-page.php:54 +msgid "Documentation and guides:" +msgstr "" + +#: admin/slm-integration-help-page.php:55 +msgid "Check out Postman demos" +msgstr "" + +#: admin/slm-integration-help-page.php:60 +msgid "Error Codes and Descriptions" +msgstr "" + +#: admin/slm-integration-help-page.php:65 +msgid "Constant" +msgstr "" + +#: admin/slm-integration-help-page.php:66 +msgid "Error Code" +msgstr "" + +#: admin/slm-integration-help-page.php:67 +msgid "Description" +msgstr "" + +#: admin/slm-integration-help-page.php:73 +msgid "The license creation failed due to an unknown error." +msgstr "" + +#: admin/slm-integration-help-page.php:77 +msgid "The license key provided during creation is invalid." +msgstr "" + +#: admin/slm-integration-help-page.php:81 +msgid "The domain associated with this license is already inactive." +msgstr "" + +#: admin/slm-integration-help-page.php:85 +msgid "The domain information is missing in the request." +msgstr "" + +#: admin/slm-integration-help-page.php:89 +msgid "The license key has been canceled." +msgstr "" + +#: admin/slm-integration-help-page.php:93 +msgid "Failed to cancel the license key." +msgstr "" + +#: admin/slm-integration-help-page.php:97 +msgid "Successfully deactivated the license key for the specified domain." +msgstr "" + +#: admin/slm-integration-help-page.php:101 +msgid "The license key was successfully deactivated." +msgstr "" + +#: admin/slm-integration-help-page.php:105 +msgid "Failed to delete the license key." +msgstr "" + +#: admin/slm-integration-help-page.php:109 +msgid "The license key was successfully deleted." +msgstr "" + +#: admin/slm-integration-help-page.php:113 +msgid "The license key has been deleted." +msgstr "" + +#: admin/slm-integration-help-page.php:117 +msgid "Failed to update the license key details." +msgstr "" + +#: admin/slm-integration-help-page.php:121 +msgid "The license key was successfully updated." +msgstr "" + +#: admin/slm-integration-help-page.php:125 +msgid "The license key was successfully activated." +msgstr "" + +#: admin/slm-integration-help-page.php:129 +msgid "The license key has been blocked from further use." +msgstr "" + +#: admin/slm-integration-help-page.php:133 +msgid "The license key was successfully created." +msgstr "" + +#: admin/slm-integration-help-page.php:137 +msgid "The license key already exists in the system." +msgstr "" + +#: admin/slm-integration-help-page.php:141 +msgid "The license key has expired." +msgstr "" + +#: admin/slm-integration-help-page.php:145 +msgid "The license key is already in use on another domain or device." +msgstr "" + +#: admin/slm-integration-help-page.php:149 +msgid "The license key is invalid." +msgstr "" + +#: admin/slm-integration-help-page.php:153 +msgid "Failed to delete the license key because it was not found." +msgstr "" + +#: admin/slm-integration-help-page.php:157 +msgid "Failed to update the license key because it was not found." +msgstr "" + +#: admin/slm-integration-help-page.php:161 +msgid "The license key has reached its maximum allowable devices." +msgstr "" + +#: admin/slm-integration-help-page.php:165 +msgid "The license key has reached its maximum allowable domains." +msgstr "" + +#: admin/slm-integration-help-page.php:169 +msgid "The key verification failed due to an invalid key." +msgstr "" + +#: admin/slm-lic-settings.php:22 msgid "Debug log files have been reset!" msgstr "" -#: admin/slm-lic-settings.php:61 +#: admin/slm-lic-settings.php:53 msgid "Options updated!" msgstr "" -#: admin/slm-lic-settings.php:91 +#: admin/slm-lic-settings.php:63 +msgid "Settings - SLM Plus" +msgstr "" + +#: admin/slm-lic-settings.php:69 msgid "General Settings" msgstr "" -#: admin/slm-lic-settings.php:95 +#: admin/slm-lic-settings.php:73 msgid "Integrations" msgstr "" -#: admin/slm-lic-settings.php:99 +#: admin/slm-lic-settings.php:77 msgid "Debugging settings" msgstr "" -#: admin/slm-lic-settings.php:103 +#: admin/slm-lic-settings.php:81 msgid "Emails" msgstr "" -#: admin/slm-lic-settings.php:130 +#: admin/slm-lic-settings.php:107 msgid "Secret Key for License Creation" msgstr "" -#: admin/slm-lic-settings.php:133 +#: admin/slm-lic-settings.php:110 msgid "" "This secret key will be used to authenticate any license creation request. " "You can change it with something random." msgstr "" -#: admin/slm-lic-settings.php:137 +#: admin/slm-lic-settings.php:114 msgid "Secret Key for License Verification Requests" msgstr "" -#: admin/slm-lic-settings.php:139 +#: admin/slm-lic-settings.php:116 msgid "" "This secret key will be used to authenticate any license verification " "request from customer's site. Important! Do not change this value once your " "customers start to use your product(s)!" msgstr "" -#: admin/slm-lic-settings.php:143 +#: admin/slm-lic-settings.php:120 msgid "License Key Prefix" msgstr "" -#: admin/slm-lic-settings.php:145 +#: admin/slm-lic-settings.php:122 msgid "" "You can optionaly specify a prefix for the license keys. This prefix will be " "added to the uniquely generated license keys." msgstr "" -#: admin/slm-lic-settings.php:151 +#: admin/slm-lic-settings.php:126 +msgid "Maximum Allowed Domains" +msgstr "" + +#: admin/slm-lic-settings.php:128 msgid "" "Maximum number of domains/installs which each license is valid for (default " "value)." msgstr "" -#: admin/slm-lic-settings.php:155 +#: admin/slm-lic-settings.php:132 msgid "Maximum Allowed Devices" msgstr "" -#: admin/slm-lic-settings.php:157 +#: admin/slm-lic-settings.php:134 msgid "" "Maximum number of devices which each license is valid for (default value)." msgstr "" -#: admin/slm-lic-settings.php:161 +#: admin/slm-lic-settings.php:138 msgid "Auto Expire License Keys" msgstr "" -#: admin/slm-lic-settings.php:163 +#: admin/slm-lic-settings.php:140 msgid "Enable auto expiration " msgstr "" -#: admin/slm-lic-settings.php:164 +#: admin/slm-lic-settings.php:141 msgid "" " When enabled, it will automatically set the status of a license key to " "\"Expired\" when the expiry date value of the key is reached. It doesn't " @@ -293,110 +555,114 @@ msgid "" "database to expired." msgstr "" -#: admin/slm-lic-settings.php:168 +#: admin/slm-lic-settings.php:145 msgid "General settings" msgstr "" -#: admin/slm-lic-settings.php:171 +#: admin/slm-lic-settings.php:148 msgid "Enable stats in licenses overview page." msgstr "" -#: admin/slm-lic-settings.php:178 +#: admin/slm-lic-settings.php:156 msgid "Enable admin bar shortcut link" msgstr "" -#: admin/slm-lic-settings.php:182 +#: admin/slm-lic-settings.php:161 msgid "Multiple items validation" msgstr "" -#: admin/slm-lic-settings.php:185 +#: admin/slm-lic-settings.php:164 msgid "Enable verification of Item reference." msgstr "" -#: admin/slm-lic-settings.php:186 +#: admin/slm-lic-settings.php:165 msgid "" "When enabled, there will be another field in Licenced product - Item " "reference. This field should correspond to the API parameter item_reference " "of your software." msgstr "" -#: admin/slm-lic-settings.php:191 +#: admin/slm-lic-settings.php:170 msgid "User permissions" msgstr "" -#: admin/slm-lic-settings.php:194 +#: admin/slm-lic-settings.php:173 msgid "Allow users to remove domains/devices in My account." msgstr "" -#: admin/slm-lic-settings.php:195 +#: admin/slm-lic-settings.php:174 msgid "" "When enabled, users will be able to remove registered domains or devices in " "their account." msgstr "" -#: admin/slm-lic-settings.php:203 +#: admin/slm-lic-settings.php:179 +msgid "Bootstrap library" +msgstr "" + +#: admin/slm-lic-settings.php:182 msgid "Enable Bootstrap javascript libray." msgstr "" -#: admin/slm-lic-settings.php:209 +#: admin/slm-lic-settings.php:189 msgid "" "Enable Bootstrap javascript libray in front-end (woocommerce pages, etc)." msgstr "" -#: admin/slm-lic-settings.php:221 +#: admin/slm-lic-settings.php:202 msgid "Woocommerce Support" msgstr "" -#: admin/slm-lic-settings.php:224 +#: admin/slm-lic-settings.php:205 msgid "" "A fully customizable, open source eCommerce platform built for WordPress." msgstr "" -#: admin/slm-lic-settings.php:230 +#: admin/slm-lic-settings.php:212 msgid "" "Disable woocommerce download page. Process downloads though license order " "info page." msgstr "" -#: admin/slm-lic-settings.php:236 +#: admin/slm-lic-settings.php:219 msgid "" "Expire WooCommerce downloads. Downloads will expire together with " "corresponding license." msgstr "" -#: admin/slm-lic-settings.php:240 +#: admin/slm-lic-settings.php:223 msgid "Download Manager Support" msgstr "" -#: admin/slm-lic-settings.php:243 +#: admin/slm-lic-settings.php:226 msgid "" "Download Manager Plugin – Adds a simple download manager to your WordPress " "blog." msgstr "" -#: admin/slm-lic-settings.php:247 +#: admin/slm-lic-settings.php:230 msgid "WP eStores Support" msgstr "" -#: admin/slm-lic-settings.php:250 +#: admin/slm-lic-settings.php:233 msgid "" "WordPress eStore Plugin – Complete Solution to Sell Digital Products from " "Your WordPress Blog Securely" msgstr "" -#: admin/slm-lic-settings.php:262 +#: admin/slm-lic-settings.php:245 msgid "Enable Debug Logging" msgstr "" -#: admin/slm-lic-settings.php:265 +#: admin/slm-lic-settings.php:248 msgid "If checked, debug output will be written to log files." msgstr "" -#: admin/slm-lic-settings.php:276 +#: admin/slm-lic-settings.php:259 msgid "Expiration reminder" msgstr "" -#: admin/slm-lic-settings.php:286 +#: admin/slm-lic-settings.php:269 msgid "Update Options" msgstr "" @@ -424,15 +690,101 @@ msgstr "" msgid "blocked" msgstr "" -#: admin/slm-list-licenses-class.php:212 admin/slm-list-licenses-class.php:229 -#: admin/slm-list-licenses-class.php:246 admin/slm-list-licenses-class.php:263 +#: admin/slm-list-licenses-class.php:84 admin/slm-subscribers.php:85 +#: admin/slm-subscribers.php:187 includes/slm-utility.php:789 +msgid "ID" +msgstr "" + +#: admin/slm-list-licenses-class.php:85 admin/slm-subscribers.php:189 +#: woocommerce/includes/wc_licenses_class.php:136 +#: woocommerce/includes/wc_licenses_class.php:149 +msgid "Status" +msgstr "" + +#: admin/slm-list-licenses-class.php:86 +msgid "Key" +msgstr "" + +#: admin/slm-list-licenses-class.php:87 +msgid "Item reference" +msgstr "" + +#: admin/slm-list-licenses-class.php:88 +#: woocommerce/includes/wc_licenses_class.php:241 +msgid "License type" +msgstr "" + +#: admin/slm-list-licenses-class.php:90 +msgid "Domains" +msgstr "" + +#: admin/slm-list-licenses-class.php:91 +msgid "Devices" +msgstr "" + +#: admin/slm-list-licenses-class.php:92 +msgid "Order #" +msgstr "" + +#: admin/slm-list-licenses-class.php:93 +msgid "Created on" +msgstr "" + +#: admin/slm-list-licenses-class.php:94 +msgid "Renewed on" +msgstr "" + +#: admin/slm-list-licenses-class.php:95 +msgid "Activated on" +msgstr "" + +#: admin/slm-list-licenses-class.php:96 +#: woocommerce/includes/wc_licenses_class.php:238 +msgid "Expiration" +msgstr "" + +#: admin/slm-list-licenses-class.php:97 +msgid "Until Ver." +msgstr "" + +#: admin/slm-list-licenses-class.php:98 +msgid "Current Ver." +msgstr "" + +#: admin/slm-list-licenses-class.php:120 +msgid " Lifetime " +msgstr "" + +#: admin/slm-list-licenses-class.php:213 admin/slm-list-licenses-class.php:231 +#: admin/slm-list-licenses-class.php:249 admin/slm-list-licenses-class.php:267 +#: admin/slm-list-licenses-class.php:285 msgid "Error - Please select some records using the checkboxes" msgstr "" -#: admin/slm-list-licenses-class.php:404 +#: admin/slm-list-licenses-class.php:480 +msgid "Manage Licenses" +msgstr "" + +#: admin/slm-list-licenses-class.php:482 msgid "Create license" msgstr "" +#: admin/slm-list-licenses-class.php:483 +msgid "Subscribers" +msgstr "" + +#: admin/slm-list-licenses-class.php:484 +msgid "Tools" +msgstr "" + +#: admin/slm-list-licenses-class.php:486 +msgid "Help" +msgstr "" + +#: admin/slm-list-licenses-class.php:488 +msgid "About" +msgstr "" + #: admin/slm-manage-licenses.php:15 msgid "You do not have permission to manage this license." msgstr "" @@ -445,49 +797,148 @@ msgstr "" msgid "Add New" msgstr "" -#: admin/slm-manage-licenses.php:62 admin/slm-subscribers.php:219 +#: admin/slm-manage-licenses.php:62 admin/slm-subscribers.php:217 msgid "Search" msgstr "" -#: admin/slm-subscribers.php:178 +#: admin/slm-subscribers.php:88 +msgid "Email Address" +msgstr "" + +#: admin/slm-subscribers.php:176 msgid "Overview - Manage Subscribers" msgstr "" -#: admin/slm-subscribers.php:180 +#: admin/slm-subscribers.php:178 msgid "View all" msgstr "" -#: admin/slm-subscribers.php:189 -msgid "ID" +#: admin/slm-subscribers.php:188 woocommerce/includes/wc_licenses_class.php:138 +msgid "License key" msgstr "" -#: admin/slm-subscribers.php:190 woocommerce/includes/purchase.php:500 -#: woocommerce/includes/purchase.php:539 -#: woocommerce/includes/wc_licenses_class.php:108 -msgid "License key" +#: admin/slm-subscribers.php:206 +msgid "Overview - All Subscribers" msgstr "" -#: admin/slm-subscribers.php:191 woocommerce/includes/wc_licenses_class.php:106 -#: woocommerce/includes/wc_licenses_class.php:119 -msgid "Status" +#: admin/slm_about_menu.php:15 +msgid "SLM Logo" msgstr "" -#: admin/slm-subscribers.php:208 -msgid "Overview - All Subscribers" +#: admin/slm_about_menu.php:15 +msgid "SLM - About" msgstr "" -#: admin/slm_about_menu.php:21 +#: admin/slm_about_menu.php:26 msgid "Credits and authors" msgstr "" -#: includes/slm-plugin-core.php:56 +#: admin/slm_about_menu.php:28 +msgid "" +"Software license management solution for your web applications (WordPress " +"plugins, Themes, Applications, PHP based membership script, etc.). Supports " +"WooCommerce." +msgstr "" + +#: admin/slm_about_menu.php:33 +msgid "Information" +msgstr "" + +#: admin/slm_about_menu.php:34 +msgid "Details" +msgstr "" + +#: admin/slm_about_menu.php:39 +msgid "Authors" +msgstr "" + +#: admin/slm_about_menu.php:42 +msgid "and" +msgstr "" + +#: admin/slm_about_menu.php:47 +msgid "Help and Support" +msgstr "" + +#: admin/slm_about_menu.php:50 +msgid "Submit a request" +msgstr "" + +#: admin/slm_about_menu.php:55 +msgid "API Demos" +msgstr "" + +#: admin/slm_about_menu.php:58 +msgid "Postman Demos" +msgstr "" + +#: includes/class-slm-installer.php:41 +msgid "Pending" +msgstr "" + +#: includes/class-slm-installer.php:42 +msgid "Active" +msgstr "" + +#: includes/class-slm-installer.php:43 +msgid "Blocked" +msgstr "" + +#: includes/class-slm-installer.php:44 +#: woocommerce/includes/wc_licenses_class.php:175 +msgid "Expired" +msgstr "" + +#: includes/slm-plugin-core.php:40 msgid "GitHub" msgstr "" -#: includes/slm-utility.php:571 +#: includes/slm-utility.php:365 +#, php-format +msgid "%s days remaining until %s" +msgstr "" + +#: includes/slm-utility.php:777 +msgid " view" +msgstr "" + +#: includes/slm-utility.php:789 +msgid "Request" +msgstr "" + +#: includes/slm-utility.php:797 +msgid "Source:" +msgstr "" + +#: includes/slm-utility.php:798 +msgid "Time:" +msgstr "" + +#: includes/slm-utility.php:844 +msgid "Not registered yet" +msgstr "" + +#: includes/slm-utility.php:862 includes/slm-utility.php:874 +#: woocommerce/includes/wc_licenses_class.php:235 msgid "License information" msgstr "" +#: includes/slm-utility.php:875 +msgid "License type: " +msgstr "" + +#: includes/slm-utility.php:876 +msgid "Domains allowed: " +msgstr "" + +#: includes/slm-utility.php:877 +msgid "Devices allowed: " +msgstr "" + +#: includes/slm-utility.php:878 +msgid "Renews every " +msgstr "" + #: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:54 msgid "View details" msgstr "" @@ -528,239 +979,231 @@ msgstr "" msgid "There is no changelog available." msgstr "" -#: woocommerce/includes/purchase.php:152 -msgid "License could not be created: Invalid sites allowed number." +#: woocommerce/includes/purchase.php:94 +msgid "License no longer exists" msgstr "" -#: woocommerce/includes/purchase.php:268 -msgid "License Key(s) generated" +#: woocommerce/includes/purchase.php:99 +#: woocommerce/includes/wc_licenses_class.php:209 +msgid "License Key:" msgstr "" -#: woocommerce/includes/purchase.php:288 -msgid "License Key(s) could not be created." -msgstr "" - -#: woocommerce/includes/purchase.php:437 -msgid "Order confirmation email sent to: %s" msgstr "" -#: woocommerce/includes/purchase.php:461 -msgid "Manage Licenses" +#: woocommerce/includes/purchase.php:690 +msgid "License Expiration" msgstr "" -#: woocommerce/includes/purchase.php:501 -msgid "License expiration" +#: woocommerce/includes/purchase.php:692 +msgid "License Item Reference" msgstr "" -#: woocommerce/includes/purchase.php:502 -#: woocommerce/includes/wc_licenses_class.php:171 -msgid "License type" +#: woocommerce/includes/purchase.php:694 +msgid "License Current Version" msgstr "" -#: woocommerce/includes/purchase.php:503 -msgid "License item reference" +#: woocommerce/includes/purchase.php:695 +msgid "Supported Until Version" msgstr "" -#: woocommerce/includes/purchase.php:504 -msgid "License status" +#: woocommerce/includes/purchase.php:744 +msgid "License Details" msgstr "" -#: woocommerce/includes/purchase.php:505 -msgid "License current version" -msgstr "" - -#: woocommerce/includes/purchase.php:506 -msgid "Supported until version" +#: woocommerce/includes/purchase.php:749 +msgid "Type" msgstr "" -#: woocommerce/includes/purchase.php:535 -msgid "License details" +#: woocommerce/includes/purchase.php:759 +msgid "View My Licenses" msgstr "" -#: woocommerce/includes/purchase.php:540 -msgid "Type" +#: woocommerce/includes/purchase.php:817 +msgid "License Keys" msgstr "" -#: woocommerce/includes/purchase.php:549 -msgid "view my licenses" +#: woocommerce/includes/purchase.php:822 +#: woocommerce/includes/wc_licenses_class.php:137 +#: woocommerce/includes/wc_licenses_class.php:155 +msgid "Product" msgstr "" -#: woocommerce/includes/purchase.php:593 -msgid "License keys" +#: woocommerce/includes/slm-meta-boxes.php:51 +msgid "License product" msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:24 +#: woocommerce/includes/slm-meta-boxes.php:68 msgid "License Manager" msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:26 -msgid "Enables the license creation api." +#: woocommerce/includes/slm-meta-boxes.php:70 +msgid "Enables the license creation API." msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:82 -msgid "Licensing" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:105 +#: woocommerce/includes/slm-meta-boxes.php:146 msgid "Domain Licenses" msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:114 -msgid "Enter the allowed amount of domains this license can have (websites)." +#: woocommerce/includes/slm-meta-boxes.php:152 +msgid "Enter the allowed number of domains this license can have (websites)." msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:124 +#: woocommerce/includes/slm-meta-boxes.php:161 msgid "Devices Licenses" msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:133 +#: woocommerce/includes/slm-meta-boxes.php:167 msgid "" -"Enter the allowed amount of devices this license can have (computers, " +"Enter the allowed number of devices this license can have (computers, " "mobile, etc)." msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:140 -msgid "Item reference" +#: woocommerce/includes/slm-meta-boxes.php:175 +msgid "Software's item reference" msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:143 +#: woocommerce/includes/slm-meta-boxes.php:177 msgid "" -"Enter the item reference of your application, theme, or plug-in. The licence " +"Enter the item reference of your application, theme, or plug-in. The license " "will be then bound to this exact software." msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:150 -msgid "License Type" +#: woocommerce/includes/slm-meta-boxes.php:186 +msgid "Type of license: subscription base or lifetime" msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:155 +#: woocommerce/includes/slm-meta-boxes.php:188 msgid "Select one" msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:156 -msgid "subscription" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:157 -msgid "lifetime" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:166 -msgid "Renewal period lenght " +#: woocommerce/includes/slm-meta-boxes.php:197 +msgid "Renewal Period Length" msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:168 -msgid "Amount of days or months or years" +#: woocommerce/includes/slm-meta-boxes.php:198 +msgid "Amount of days, months, or years." msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:175 -msgid "Expiration term" +#: woocommerce/includes/slm-meta-boxes.php:208 +msgid "Expiration Term" msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:177 -msgid "Choose between days or months or years" +#: woocommerce/includes/slm-meta-boxes.php:210 +msgid "Choose between days, months, or years" msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:179 +#: woocommerce/includes/slm-meta-boxes.php:212 msgid "Day(s)" msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:180 +#: woocommerce/includes/slm-meta-boxes.php:213 msgid "Month(s)" msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:181 +#: woocommerce/includes/slm-meta-boxes.php:214 msgid "Year(s)" msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:182 +#: woocommerce/includes/slm-meta-boxes.php:215 msgid "One Time" msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:191 -msgid "Current Version" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:194 +#: woocommerce/includes/slm-meta-boxes.php:228 msgid "Enter the current version of your application, theme, or plug-in" msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:201 +#: woocommerce/includes/slm-meta-boxes.php:234 msgid "Until Version" msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:204 +#: woocommerce/includes/slm-meta-boxes.php:237 msgid "Enter the version until support expires." msgstr "" -#: woocommerce/includes/slm-meta-boxes.php:283 -msgid "License product" +#: woocommerce/includes/wc_licenses_class.php:83 +#: woocommerce/includes/wc_licenses_class.php:95 +msgid "My Licenses" msgstr "" -#: woocommerce/includes/wc_licenses_class.php:53 -#: woocommerce/includes/wc_licenses_class.php:65 -msgid "My Licenses" +#: woocommerce/includes/wc_licenses_class.php:122 +msgid "Browse products" +msgstr "" + +#: woocommerce/includes/wc_licenses_class.php:124 +msgid "No licenses available yet." msgstr "" -#: woocommerce/includes/wc_licenses_class.php:105 +#: woocommerce/includes/wc_licenses_class.php:135 +#: woocommerce/includes/wc_licenses_class.php:147 msgid "Order" msgstr "" -#: woocommerce/includes/wc_licenses_class.php:109 -#: woocommerce/includes/wc_licenses_class.php:138 +#: woocommerce/includes/wc_licenses_class.php:139 +#: woocommerce/includes/wc_licenses_class.php:168 msgid "Renews on" msgstr "" -#: woocommerce/includes/wc_licenses_class.php:110 +#: woocommerce/includes/wc_licenses_class.php:140 msgid "Info" msgstr "" -#: woocommerce/includes/wc_licenses_class.php:145 -msgid "Expired" +#: woocommerce/includes/wc_licenses_class.php:184 +msgid "view" msgstr "" -#: woocommerce/includes/wc_licenses_class.php:150 -msgid "Lifetime" +#: woocommerce/includes/wc_licenses_class.php:218 +msgid "License Information" msgstr "" -#: woocommerce/includes/wc_licenses_class.php:154 -msgid "view" +#: woocommerce/includes/wc_licenses_class.php:222 +msgid "Activations" msgstr "" -#: woocommerce/includes/wc_licenses_class.php:168 -msgid "Expiration" +#: woocommerce/includes/wc_licenses_class.php:226 +msgid "Copy License" msgstr "" -#: woocommerce/includes/wc_licenses_class.php:169 +#: woocommerce/includes/wc_licenses_class.php:239 msgid "Allowed devices" msgstr "" -#: woocommerce/includes/wc_licenses_class.php:170 +#: woocommerce/includes/wc_licenses_class.php:240 msgid "Allowed Domains" msgstr "" -#: woocommerce/includes/wc_licenses_class.php:172 -msgid "Date renewwed" +#: woocommerce/includes/wc_licenses_class.php:242 +msgid "Date renewed" msgstr "" -#: woocommerce/includes/wc_licenses_class.php:173 +#: woocommerce/includes/wc_licenses_class.php:243 msgid "Activation Date" msgstr "" -#: woocommerce/includes/wc_licenses_class.php:203 -msgid "Export license" +#: woocommerce/includes/wc_licenses_class.php:315 +msgid "License key was deactivated!" +msgstr "" + +#: woocommerce/includes/wc_licenses_class.php:317 +msgid "License key was not deactivated!" +msgstr "" + +#. Plugin Name of the plugin/theme +msgid "SLM Plus" msgstr "" #. Plugin URI of the plugin/theme @@ -769,9 +1212,11 @@ msgstr "" #. Description of the plugin/theme msgid "" -"Software license management solution for your web applications (WordPress " -"plugins, Themes, Applications, PHP based membership script etc.). Supports " -"WooCommerce." +"A comprehensive software license management solution for web applications " +"including WordPress plugins, themes, and PHP-based software. Seamlessly " +"integrates with WooCommerce to offer license key generation, management, and " +"validation. Ideal for developers managing software licenses across multiple " +"platforms with built-in multilingual support and performance optimization." msgstr "" #. Author of the plugin/theme @@ -779,5 +1224,5 @@ msgid "Michel Velis" msgstr "" #. Author URI of the plugin/theme -msgid "https://www.epikly.com/" +msgid "https://github.com/michelve/" msgstr "" diff --git a/includes/slm-plugin-core.php b/includes/slm-plugin-core.php index 2450443..f10c015 100755 --- a/includes/slm-plugin-core.php +++ b/includes/slm-plugin-core.php @@ -8,42 +8,12 @@ * @link http://epikly.com */ + //Includes - utilities and cron jobs include_once(ABSPATH . 'wp-admin/includes/plugin.php'); require_once(SLM_LIB . 'slm-utility.php'); require_once(SLM_CRONS . 'slm-tasks.php'); -// Filters for adding extra headers and customizing plugin row meta -add_filter('extra_plugin_headers', 'slmplus_add_extra_headers'); -add_filter('plugin_row_meta', 'slmplus_filter_authors_row_meta', 1, 4); -add_filter('plugin_action_links_' . plugin_basename(__FILE__), 'slm_settings_link'); - -function slmplus_add_extra_headers() { - return array('Author2'); -} - -function hyphenate($str) { - return implode("-", str_split($str, 5)); -} - -function slmplus_filter_authors_row_meta($plugin_meta, $plugin_file, $plugin_data, $status) { - if (!empty($plugin_data['Author2'])) { - $plugin_meta[1] .= ', ' . $plugin_data['Author2']; - } - return $plugin_meta; -} - -// Add settings link -function slm_settings_link($links) -{ - $settings_link = '' . __('Settings') . ''; - $github_link = '' . __('GitHub') . ''; - $links[] = $settings_link; - $links[] = $github_link; - return $links; -} - - // Includes for essential plugin components require_once(SLM_LIB . 'slm-debug-logger.php'); require_once(SLM_LIB . 'slm-error-codes.php'); @@ -56,18 +26,25 @@ function slm_settings_link($links) require_once SLM_ADMIN . 'slm-admin-init.php'; } +if (!function_exists('hyphenate')) { + function hyphenate($str) { + return implode("-", str_split($str, 5)); + } +} + + // WP eStores integration if (SLM_Helper_Class::slm_get_option('slm_wpestores') == 1) { require_once(SLM_ADMIN . 'includes/wpestores/slm-wpestores.php'); } // Activation and deactivation hooks -function activate_software_license_manager() { +function activate_slm_plus() { require_once SLM_LIB . 'class-slm-activator.php'; $slm_activator->activate(); } -function deactivate_software_license_manager() { +function deactivate_slm_plus() { require_once SLM_LIB . 'class-slm-deactivator.php'; $slm_deactivator->deactivate(); } @@ -77,8 +54,8 @@ function slm_get_license($lic_key_prefix = '') return strtoupper($lic_key_prefix . hyphenate(md5(uniqid(rand(4, 10), true) . date('Y-m-d H:i:s') . time()))); } -register_activation_hook(__FILE__, 'activate_software_license_manager'); -register_deactivation_hook(__FILE__, 'deactivate_software_license_manager'); +register_activation_hook(__FILE__, 'activate_slm_plus'); +register_deactivation_hook(__FILE__, 'deactivate_slm_plus'); // License key generator function function slmplus_get_license($lic_key_prefix = '') { diff --git a/package-lock.json b/package-lock.json index 373d1e4..5c2b5fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,141 +1,223 @@ { - "name": "@michelve/software-license-manager", - "version": "5.6.1", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "auto-changelog": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/auto-changelog/-/auto-changelog-1.14.1.tgz", - "integrity": "sha512-T98ndHOvMQFz+TCqCi/Tw9jDVgRwECrtB2pkEM8N9snuqZDYPD9QJMRSCt1jr4pOKjvge3Ay2jaMeCpif+hHpw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "core-js": "^3.1.4", - "handlebars": "^4.1.2", - "lodash.uniqby": "^4.7.0", - "node-fetch": "^2.6.0", - "parse-github-url": "^1.0.2", - "regenerator-runtime": "^0.13.2", - "semver": "^6.1.1" - } - }, - "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", - "dev": true - }, - "core-js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.2.0.tgz", - "integrity": "sha512-gybgLzmr7SQRSF6UzGYXducx4eE10ONQlyEnQoqiGPbmbn7zLkb73tPfc4YbZN0lvcTQwoLNPjq4RuCaCumGyQ==", - "dev": true - }, - "handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", - "dev": true, - "requires": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - "wordwrap": "^1.0.0" - }, - "dependencies": { - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - } - } - }, - "lodash.uniqby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", - "integrity": "sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI=", - "dev": true - }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", - "dev": true - }, - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dev": true, - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "parse-github-url": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz", - "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==", - "dev": true - }, - "regenerator-runtime": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", - "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, - "uglify-js": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", - "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", - "dev": true, - "optional": true, - "requires": { - "commander": "~2.20.0", - "source-map": "~0.6.1" - } - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } + "name": "@michelve/software-license-manager", + "version": "6.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@michelve/software-license-manager", + "version": "6.1.0", + "license": "MIT", + "devDependencies": { + "auto-changelog": "^2.5.0" + } + }, + "node_modules/auto-changelog": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/auto-changelog/-/auto-changelog-2.5.0.tgz", + "integrity": "sha512-UTnLjT7I9U2U/xkCUH5buDlp8C7g0SGChfib+iDrJkamcj5kaMqNKHNfbKJw1kthJUq8sUo3i3q2S6FzO/l/wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^7.2.0", + "handlebars": "^4.7.7", + "import-cwd": "^3.0.0", + "node-fetch": "^2.6.1", + "parse-github-url": "^1.0.3", + "semver": "^7.3.5" + }, + "bin": { + "auto-changelog": "src/index.js" + }, + "engines": { + "node": ">=8.3" + } + }, + "node_modules/auto-changelog/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "dev": true, + "optional": true + }, + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/handlebars/node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "node_modules/import-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz", + "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "import-from": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", + "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true } + } + }, + "node_modules/parse-github-url": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.3.tgz", + "integrity": "sha512-tfalY5/4SqGaV/GIGzWyHnFjlpTPTNpENR9Ea2lLldSJ8EWXMsvacWucqY3m3I4YPtas15IxTLQVQ5NSYXPrww==", + "dev": true, + "license": "MIT", + "bin": { + "parse-github-url": "cli.js" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/uglify-js": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", + "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", + "dev": true, + "optional": true, + "dependencies": { + "commander": "~2.20.0", + "source-map": "~0.6.1" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } } + } } diff --git a/package.json b/package.json index a7b3574..78d7487 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@michelve/software-license-manager", - "version": "5.6.1", + "version": "6.1.0", "description": "Software license management solution for your web applications (WordPress plugins, Themes, Applications, PHP based membership script etc.). Supports WooCommerce.", "scripts": { "changelog": "auto-changelog -p && git add CHANGELOG.md", @@ -44,8 +44,7 @@ }, "homepage": "https://github.com/michelve/software-license-manager#readme", "devDependencies": { - "auto-changelog": "^1.14.1" + "auto-changelog": "^2.5.0" }, - "main": "software-license-manager.php", - "dependencies": {} + "main": "slm-plus.php" } diff --git a/slm-plus.php b/slm-plus.php index c3df75e..a405106 100644 --- a/slm-plus.php +++ b/slm-plus.php @@ -64,6 +64,16 @@ function slmplus_load_textdomain() { require_once SLM_LIB . 'slm-plugin-core.php'; } +function slm_settings_link($links) +{ + $settings_link = '' . __('Settings') . ''; + $github_link = '' . __('GitHub') . ''; + $links[] = $settings_link; + $links[] = $github_link; + return $links; +} +add_filter('plugin_action_links_' . plugin_basename(__FILE__), 'slm_settings_link'); + define('SLM_DEFAULT_MAX_DOMAINS', SLM_API_Utility::get_slm_option('default_max_domains')); define('SLM_DEFAULT_MAX_DEVICES', SLM_API_Utility::get_slm_option('default_max_devices')); @@ -72,6 +82,7 @@ function slmplus_load_textdomain() { define('KEY_API', SLM_API_Utility::get_slm_option('lic_creation_secret')); define('KEY_API_PREFIX', SLM_API_Utility::get_slm_option('lic_prefix')); + // Auto-updater integration for GitHub updates if (file_exists('plugin-update-checker/plugin-update-checker.php')) { require 'plugin-update-checker/plugin-update-checker.php'; From cfde3350e741d0b0b8e67ad24a81b54a9d39e595 Mon Sep 17 00:00:00 2001 From: Michel Date: Wed, 30 Oct 2024 10:40:57 -0400 Subject: [PATCH 211/293] improvements fix: Corrected issue where domains and devices were not added to the API listener table feat: Added license view functionality when managing license keys in wp-admin feat: Introduced VERIFY_KEY_API constant for API key verification feat: Enabled removal of license registrations in wp-admin Removed: log comments func --- admin/includes/wpestores/slm-wpestores.php | 6 +- admin/slm-add-licenses.php | 293 +++++++++++++++++---- includes/slm-api-listener.php | 99 ++++--- includes/slm-utility.php | 16 +- slm-plus.php | 13 +- woocommerce/includes/purchase.php | 34 +-- 6 files changed, 332 insertions(+), 129 deletions(-) diff --git a/admin/includes/wpestores/slm-wpestores.php b/admin/includes/wpestores/slm-wpestores.php index 5698ff7..45d336f 100755 --- a/admin/includes/wpestores/slm-wpestores.php +++ b/admin/includes/wpestores/slm-wpestores.php @@ -128,8 +128,8 @@ function slm_estore_create_license($retrieved_product, $payment_data, $cart_item $fields = array_filter($fields); //Remove any null values. - $tbl_name = SLM_TBL_LICENSE_KEYS; - $result = $wpdb->insert($tbl_name, $fields); + $slm_lic_table = SLM_TBL_LICENSE_KEYS; + $result = $wpdb->insert($slm_lic_table, $fields); if (!$result) { $slm_debug_logger->log_debug('Notice! initial database table insert failed on license key table (User Email: ' . $fields['email'] . '). Trying again by converting charset', true); //Convert the default PayPal IPN charset to UTF-8 format @@ -140,7 +140,7 @@ function slm_estore_create_license($retrieved_product, $payment_data, $cart_item $company_name = mb_convert_encoding($fields['company_name'], "UTF-8", "windows-1252"); $fields['company_name'] = esc_sql($company_name); - $result = $wpdb->insert($tbl_name, $fields); + $result = $wpdb->insert($slm_lic_table, $fields); if (!$result) { $slm_debug_logger->log_debug('Error! Failed to update license key table. DB insert query failed.', false); } diff --git a/admin/slm-add-licenses.php b/admin/slm-add-licenses.php index 67fecdd..914da60 100755 --- a/admin/slm-add-licenses.php +++ b/admin/slm-add-licenses.php @@ -134,6 +134,8 @@ function slm_add_licenses_menu()

    +
    +
    +
    +

    +
    + + + + + + + + + + '; + foreach ($code as $value) { + echo ''; + } + echo ''; + } + ?> + +
    ' . esc_html($value) . '
    +
    +
    + + + + +
    -

    - -
    - - - - -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    -
    -

    -
    -

    -
    -

    -
    -

    -
    -

    -
    -

    -
    -

    - -

    -

    -
    value="1" /> - -

    -
    - value="1" /> - -
    - value="1" /> - -
    - value="1" /> - -

    -
    - value="1" /> - -

    -
    - value="1" /> - -
    - value="1" /> - -
    +
    +
    + + +

    + +
    + + + + +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    +
    +

    +
    +

    +
    +

    +
    +

    +
    +

    +
    +

    +
    +

    + +

    +

    +
    value="1" /> + +

    +
    + value="1" /> + +
    + value="1" /> + +
    + value="1" /> + +

    +
    + value="1" /> + +

    +
    + value="1" /> + +
    + value="1" /> + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + value="1" /> + +
    + value="1" /> + +

    + + + +

    +
    + value="1" /> + +
    + value="1" /> + +
    + value="1" /> + + +
    +
    +
    + +
    +
    + + + + + +
    +

    value="1" /> +

    +
    +
    +
    + +
    +
    + + + + + +
    + +
    +
    +
    + +
    + +
    +
    - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    - value="1" /> - -
    - value="1" /> - -

    - - - -

    -
    - value="1" /> - -
    - value="1" /> - -
    - value="1" /> - - -
    -
    -
    - -
    -
    - - - - - -
    -

    value="1" /> -

    -
    -
    -
    - -
    -
    - - - - - -
    - -
    -
    -
    - -
    - -
    - +
    +
    get_option('per_page', 'option'); - $per_page = get_user_meta($user, $option, true); if (empty($per_page) || $per_page < 1) { $per_page = $screen->get_option('per_page', 'default'); } - $columns = $this->get_columns(); // $hidden = array(); $hidden = get_hidden_columns( $screen ); $sortable = $this->get_sortable_columns(); - $this->_column_headers = array($columns, $hidden, $sortable); $this->process_bulk_action(); - - global $wpdb; $license_table = SLM_TBL_LICENSE_KEYS; - $search = (isset($_REQUEST['s'])) ? $_REQUEST['s'] : false; $search_term = trim(strip_tags($search)); - $do_search = $wpdb->prepare("SELECT * FROM " . $license_table . " WHERE `license_key` LIKE '%%%s%%' OR `email` LIKE '%%%s%%' OR `lic_status` LIKE '%%%s%%' OR `first_name` LIKE '%%%s%%' OR `last_name` LIKE '%%%s%%'", $search_term, $search_term, $search_term, $search_term, $search_term); - $data = $wpdb->get_results($do_search, ARRAY_A); - usort($data, array(&$this, 'sort_data')); - $current_page = $this->get_pagenum(); $total_items = count($data); $data = array_slice($data, (($current_page - 1) * $per_page), $per_page); $this->items = $data; - $this->set_pagination_args(array( 'total_items' => $total_items, //WE have to calculate the total number of items 'per_page' => $per_page, //WE have to determine how many items to show on a page @@ -453,7 +442,6 @@ function prepare_items() class SLM_Plugin { - // class instance static $instance; @@ -475,22 +463,17 @@ public static function set_screen($status, $option, $value) public function slm_add_admin_menu() { $icon_svg = SLM_ASSETS_URL . 'images/slm_logo_small.svg'; - - add_menu_page(__( 'SLM', 'slmplus'), __( 'SLM', 'slmplus'), SLM_MANAGEMENT_PERMISSION, SLM_MAIN_MENU_SLUG, "slm_manage_licenses_menu", $icon_svg); + add_menu_page(__( 'SLM Plus', 'slmplus'), __( 'SLM Plus', 'slmplus'), SLM_MANAGEMENT_PERMISSION, SLM_MAIN_MENU_SLUG, "slm_manage_licenses_menu", $icon_svg); $hook = add_submenu_page(SLM_MAIN_MENU_SLUG, __('Manage Licenses', 'slmplus'), __('Manage Licenses', 'slmplus'), SLM_MANAGEMENT_PERMISSION, SLM_MAIN_MENU_SLUG, "slm_manage_licenses_menu"); - add_submenu_page(SLM_MAIN_MENU_SLUG, __( 'Create license', 'slmplus'), __( 'Create license', 'slmplus') , SLM_MANAGEMENT_PERMISSION, 'slm_manage_license', "slm_add_licenses_menu"); add_submenu_page(SLM_MAIN_MENU_SLUG, __( 'Subscribers', 'slmplus'), __( 'Subscribers', 'slmplus'), SLM_MANAGEMENT_PERMISSION, 'slm_subscribers', "slm_subscribers_menu"); add_submenu_page(SLM_MAIN_MENU_SLUG, __( 'Tools', 'slmplus'), __( 'Tools', 'slmplus'), SLM_MANAGEMENT_PERMISSION, 'slm_admin_tools', "slm_admin_tools_menu"); add_submenu_page(SLM_MAIN_MENU_SLUG, __( 'Settings', 'slmplus'), __( 'Settings', 'slmplus'), SLM_MANAGEMENT_PERMISSION, 'slm_settings', "slm_settings_menu"); add_submenu_page(SLM_MAIN_MENU_SLUG, __( 'Help', 'slmplus'), __( 'Help', 'slmplus'), SLM_MANAGEMENT_PERMISSION, 'slm_help', "slm_integration_help_menu"); - add_submenu_page(SLM_MAIN_MENU_SLUG, __( 'About', 'slmplus'),__( 'About', 'slmplus'), SLM_MANAGEMENT_PERMISSION, 'slm_about', "slm_about_menu"); - add_action("load-" . $hook, [$this, 'screen_option']); } - /** * Screen options */ @@ -514,8 +497,6 @@ public static function get_instance() return self::$instance; } - - } add_action('plugins_loaded', function () { diff --git a/admin/slm-manage-licenses.php b/admin/slm-manage-licenses.php index 3f7c7c2..ea87b78 100755 --- a/admin/slm-manage-licenses.php +++ b/admin/slm-manage-licenses.php @@ -33,7 +33,7 @@ function slm_manage_licenses_menu()
    -

    +


    diff --git a/i18n/languages/slmplus.pot b/i18n/languages/slmplus.pot index 7c43ca5..4a7fe16 100644 --- a/i18n/languages/slmplus.pot +++ b/i18n/languages/slmplus.pot @@ -146,7 +146,7 @@ msgid "Date Expiry" msgstr "" #: admin/slm-add-licenses.php:194 -msgid "Subscription ID" +msgid "Subscriber ID" msgstr "" #: admin/slm-add-licenses.php:198 diff --git a/includes/slm-api-listener.php b/includes/slm-api-listener.php index dc12cb5..5e495e1 100755 --- a/includes/slm-api-listener.php +++ b/includes/slm-api-listener.php @@ -33,15 +33,10 @@ */ -class SLM_API_Listener -{ - function __construct() - { +class SLM_API_Listener{ + function __construct(){ if (isset($_REQUEST['slm_action']) && isset($_REQUEST['secret_key'])) { - - //Trigger an action hook do_action('slm_api_listener_init'); - $this->creation_api_listener(); $this->activation_api_listener(); $this->deactivation_api_listener(); diff --git a/plugin-update-checker/Puc/v5/PucFactory.php b/plugin-update-checker/Puc/v5/PucFactory.php new file mode 100644 index 0000000..a8ebf7e --- /dev/null +++ b/plugin-update-checker/Puc/v5/PucFactory.php @@ -0,0 +1,10 @@ +rootDir = dirname(__FILE__) . '/'; + + $namespaceWithSlash = __NAMESPACE__ . '\\'; + $this->prefix = $namespaceWithSlash; + + $this->libraryDir = $this->rootDir . '../..'; + if ( !self::isPhar() ) { + $this->libraryDir = realpath($this->libraryDir); + } + $this->libraryDir = $this->libraryDir . '/'; + + //Usually, dependencies like Parsedown are in the global namespace, + //but if someone adds a custom namespace to the entire library, they + //will be in the same namespace as this class. + $isCustomNamespace = ( + substr($namespaceWithSlash, 0, strlen(self::DEFAULT_NS_PREFIX)) !== self::DEFAULT_NS_PREFIX + ); + $libraryPrefix = $isCustomNamespace ? $namespaceWithSlash : ''; + + $this->staticMap = array( + $libraryPrefix . 'PucReadmeParser' => 'vendor/PucReadmeParser.php', + $libraryPrefix . 'Parsedown' => 'vendor/Parsedown.php', + ); + + //Add the generic, major-version-only factory class to the static map. + $versionSeparatorPos = strrpos(__NAMESPACE__, '\\v'); + if ( $versionSeparatorPos !== false ) { + $versionSegment = substr(__NAMESPACE__, $versionSeparatorPos + 1); + $pointPos = strpos($versionSegment, 'p'); + if ( ($pointPos !== false) && ($pointPos > 1) ) { + $majorVersionSegment = substr($versionSegment, 0, $pointPos); + $majorVersionNs = __NAMESPACE__ . '\\' . $majorVersionSegment; + $this->staticMap[$majorVersionNs . '\\PucFactory'] = + 'Puc/' . $majorVersionSegment . '/Factory.php'; + } + } + + spl_autoload_register(array($this, 'autoload')); + } + + /** + * Determine if this file is running as part of a Phar archive. + * + * @return bool + */ + private static function isPhar() { + //Check if the current file path starts with "phar://". + static $pharProtocol = 'phar://'; + return (substr(__FILE__, 0, strlen($pharProtocol)) === $pharProtocol); + } + + public function autoload($className) { + if ( isset($this->staticMap[$className]) && file_exists($this->libraryDir . $this->staticMap[$className]) ) { + include($this->libraryDir . $this->staticMap[$className]); + return; + } + + if ( strpos($className, $this->prefix) === 0 ) { + $path = substr($className, strlen($this->prefix)); + $path = str_replace(array('_', '\\'), '/', $path); + $path = $this->rootDir . $path . '.php'; + + if ( file_exists($path) ) { + include $path; + } + } + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/DebugBar/Extension.php b/plugin-update-checker/Puc/v5p5/DebugBar/Extension.php new file mode 100644 index 0000000..14ab6a2 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/DebugBar/Extension.php @@ -0,0 +1,199 @@ +updateChecker = $updateChecker; + if ( isset($panelClass) ) { + $this->panelClass = $panelClass; + } + + if ( (strpos($this->panelClass, '\\') === false) ) { + $this->panelClass = __NAMESPACE__ . '\\' . $this->panelClass; + } + + add_filter('debug_bar_panels', array($this, 'addDebugBarPanel')); + add_action('debug_bar_enqueue_scripts', array($this, 'enqueuePanelDependencies')); + + add_action('wp_ajax_puc_v5_debug_check_now', array($this, 'ajaxCheckNow')); + } + + /** + * Register the PUC Debug Bar panel. + * + * @param array $panels + * @return array + */ + public function addDebugBarPanel($panels) { + if ( $this->updateChecker->userCanInstallUpdates() ) { + $panels[] = new $this->panelClass($this->updateChecker); + } + return $panels; + } + + /** + * Enqueue our Debug Bar scripts and styles. + */ + public function enqueuePanelDependencies() { + wp_enqueue_style( + 'puc-debug-bar-style-v5', + $this->getLibraryUrl("/css/puc-debug-bar.css"), + array('debug-bar'), + '20221008' + ); + + wp_enqueue_script( + 'puc-debug-bar-js-v5', + $this->getLibraryUrl("/js/debug-bar.js"), + array('jquery'), + '20221008' + ); + } + + /** + * Run an update check and output the result. Useful for making sure that + * the update checking process works as expected. + */ + public function ajaxCheckNow() { + //phpcs:ignore WordPress.Security.NonceVerification.Missing -- Nonce is checked in preAjaxRequest(). + if ( !isset($_POST['uid']) || ($_POST['uid'] !== $this->updateChecker->getUniqueName('uid')) ) { + return; + } + $this->preAjaxRequest(); + $update = $this->updateChecker->checkForUpdates(); + if ( $update !== null ) { + echo "An update is available:"; + //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_print_r -- For debugging output. + echo '
    ', esc_html(print_r($update, true)), '
    '; + } else { + echo 'No updates found.'; + } + + $errors = $this->updateChecker->getLastRequestApiErrors(); + if ( !empty($errors) ) { + printf('

    The update checker encountered %d API error%s.

    ', count($errors), (count($errors) > 1) ? 's' : ''); + + foreach (array_values($errors) as $num => $item) { + $wpError = $item['error']; + /** @var \WP_Error $wpError */ + printf('

    %d) %s

    ', intval($num + 1), esc_html($wpError->get_error_message())); + + echo '
    '; + printf('
    Error code:
    %s
    ', esc_html($wpError->get_error_code())); + + if ( isset($item['url']) ) { + printf('
    Requested URL:
    %s
    ', esc_html($item['url'])); + } + + if ( isset($item['httpResponse']) ) { + if ( is_wp_error($item['httpResponse']) ) { + $httpError = $item['httpResponse']; + /** @var \WP_Error $httpError */ + printf( + '
    WordPress HTTP API error:
    %s (%s)
    ', + esc_html($httpError->get_error_message()), + esc_html($httpError->get_error_code()) + ); + } else { + //Status code. + printf( + '
    HTTP status:
    %d %s
    ', + esc_html(wp_remote_retrieve_response_code($item['httpResponse'])), + esc_html(wp_remote_retrieve_response_message($item['httpResponse'])) + ); + + //Headers. + echo '
    Response headers:
    ';
    +							foreach (wp_remote_retrieve_headers($item['httpResponse']) as $name => $value) {
    +								printf("%s: %s\n", esc_html($name), esc_html($value));
    +							}
    +							echo '
    '; + + //Body. + $body = wp_remote_retrieve_body($item['httpResponse']); + if ( $body === '' ) { + $body = '(Empty response.)'; + } else if ( strlen($body) > self::RESPONSE_BODY_LENGTH_LIMIT ) { + $length = strlen($body); + $body = substr($body, 0, self::RESPONSE_BODY_LENGTH_LIMIT) + . sprintf("\n(Long string truncated. Total length: %d bytes.)", $length); + } + + printf('
    Response body:
    %s
    ', esc_html($body)); + } + } + echo '
    '; + } + } + + exit; + } + + /** + * Check access permissions and enable error display (for debugging). + */ + protected function preAjaxRequest() { + if ( !$this->updateChecker->userCanInstallUpdates() ) { + die('Access denied'); + } + check_ajax_referer('puc-ajax'); + + //phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.runtime_configuration_error_reporting -- Part of a debugging feature. + error_reporting(E_ALL); + //phpcs:ignore WordPress.PHP.IniSet.display_errors_Blacklisted + @ini_set('display_errors', 'On'); + } + + /** + * Remove hooks that were added by this extension. + */ + public function removeHooks() { + remove_filter('debug_bar_panels', array($this, 'addDebugBarPanel')); + remove_action('debug_bar_enqueue_scripts', array($this, 'enqueuePanelDependencies')); + remove_action('wp_ajax_puc_v5_debug_check_now', array($this, 'ajaxCheckNow')); + } + + /** + * @param string $filePath + * @return string + */ + private function getLibraryUrl($filePath) { + $absolutePath = realpath(dirname(__FILE__) . '/../../../' . ltrim($filePath, '/')); + + //Where is the library located inside the WordPress directory structure? + $absolutePath = PucFactory::normalizePath($absolutePath); + + $pluginDir = PucFactory::normalizePath(WP_PLUGIN_DIR); + $muPluginDir = PucFactory::normalizePath(WPMU_PLUGIN_DIR); + $themeDir = PucFactory::normalizePath(get_theme_root()); + + if ( (strpos($absolutePath, $pluginDir) === 0) || (strpos($absolutePath, $muPluginDir) === 0) ) { + //It's part of a plugin. + return plugins_url(basename($absolutePath), $absolutePath); + } else if ( strpos($absolutePath, $themeDir) === 0 ) { + //It's part of a theme. + $relativePath = substr($absolutePath, strlen($themeDir) + 1); + $template = substr($relativePath, 0, strpos($relativePath, '/')); + $baseUrl = get_theme_root_uri($template); + + if ( !empty($baseUrl) && $relativePath ) { + return $baseUrl . '/' . $relativePath; + } + } + + return ''; + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/DebugBar/Panel.php b/plugin-update-checker/Puc/v5p5/DebugBar/Panel.php new file mode 100644 index 0000000..9a61e74 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/DebugBar/Panel.php @@ -0,0 +1,186 @@ +
    '; + + public function __construct($updateChecker) { + $this->updateChecker = $updateChecker; + $title = sprintf( + 'PUC (%s)', + esc_attr($this->updateChecker->getUniqueName('uid')), + $this->updateChecker->slug + ); + parent::__construct($title); + } + + public function render() { + printf( + '
    ', + esc_attr($this->updateChecker->getUniqueName('debug-bar-panel')), + esc_attr($this->updateChecker->slug), + esc_attr($this->updateChecker->getUniqueName('uid')), + esc_attr(wp_create_nonce('puc-ajax')) + ); + + $this->displayConfiguration(); + $this->displayStatus(); + $this->displayCurrentUpdate(); + + echo '
    '; + } + + private function displayConfiguration() { + echo '

    Configuration

    '; + echo ''; + $this->displayConfigHeader(); + $this->row('Slug', htmlentities($this->updateChecker->slug)); + $this->row('DB option', htmlentities($this->updateChecker->optionName)); + + $requestInfoButton = $this->getMetadataButton(); + $this->row('Metadata URL', htmlentities($this->updateChecker->metadataUrl) . ' ' . $requestInfoButton . $this->responseBox); + + $scheduler = $this->updateChecker->scheduler; + if ( $scheduler->checkPeriod > 0 ) { + $this->row('Automatic checks', 'Every ' . $scheduler->checkPeriod . ' hours'); + } else { + $this->row('Automatic checks', 'Disabled'); + } + + if ( isset($scheduler->throttleRedundantChecks) ) { + if ( $scheduler->throttleRedundantChecks && ($scheduler->checkPeriod > 0) ) { + $this->row( + 'Throttling', + sprintf( + 'Enabled. If an update is already available, check for updates every %1$d hours instead of every %2$d hours.', + $scheduler->throttledCheckPeriod, + $scheduler->checkPeriod + ) + ); + } else { + $this->row('Throttling', 'Disabled'); + } + } + + $this->updateChecker->onDisplayConfiguration($this); + + echo '
    '; + } + + protected function displayConfigHeader() { + //Do nothing. This should be implemented in subclasses. + } + + protected function getMetadataButton() { + return ''; + } + + private function displayStatus() { + echo '

    Status

    '; + echo ''; + $state = $this->updateChecker->getUpdateState(); + $checkButtonId = $this->updateChecker->getUniqueName('check-now-button'); + if ( function_exists('get_submit_button') ) { + $checkNowButton = get_submit_button( + 'Check Now', + 'secondary', + 'puc-check-now-button', + false, + array('id' => $checkButtonId) + ); + } else { + //get_submit_button() is not available in the frontend. Make a button directly. + //It won't look the same without admin styles, but it should still work. + $checkNowButton = sprintf( + '', + esc_attr($checkButtonId), + esc_attr('Check Now') + ); + } + + if ( $state->getLastCheck() > 0 ) { + $this->row('Last check', $this->formatTimeWithDelta($state->getLastCheck()) . ' ' . $checkNowButton . $this->responseBox); + } else { + $this->row('Last check', 'Never'); + } + + $nextCheck = wp_next_scheduled($this->updateChecker->scheduler->getCronHookName()); + $this->row('Next automatic check', $this->formatTimeWithDelta($nextCheck)); + + if ( $state->getCheckedVersion() !== '' ) { + $this->row('Checked version', htmlentities($state->getCheckedVersion())); + $this->row('Cached update', $state->getUpdate()); + } + $this->row('Update checker class', htmlentities(get_class($this->updateChecker))); + echo '
    '; + } + + private function displayCurrentUpdate() { + $update = $this->updateChecker->getUpdate(); + if ( $update !== null ) { + echo '

    An Update Is Available

    '; + echo ''; + $fields = $this->getUpdateFields(); + foreach($fields as $field) { + if ( property_exists($update, $field) ) { + $this->row( + ucwords(str_replace('_', ' ', $field)), + isset($update->$field) ? htmlentities($update->$field) : null + ); + } + } + echo '
    '; + } else { + echo '

    No updates currently available

    '; + } + } + + protected function getUpdateFields() { + return array('version', 'download_url', 'slug',); + } + + private function formatTimeWithDelta($unixTime) { + if ( empty($unixTime) ) { + return 'Never'; + } + + $delta = time() - $unixTime; + $result = human_time_diff(time(), $unixTime); + if ( $delta < 0 ) { + $result = 'after ' . $result; + } else { + $result = $result . ' ago'; + } + $result .= ' (' . $this->formatTimestamp($unixTime) . ')'; + return $result; + } + + private function formatTimestamp($unixTime) { + return gmdate('Y-m-d H:i:s', $unixTime + (get_option('gmt_offset') * 3600)); + } + + public function row($name, $value) { + if ( is_object($value) || is_array($value) ) { + //This is specifically for debugging, so print_r() is fine. + //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_print_r + $value = '
    ' . htmlentities(print_r($value, true)) . '
    '; + } else if ($value === null) { + $value = 'null'; + } + printf( + '%1$s %2$s', + esc_html($name), + //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped above. + $value + ); + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/DebugBar/PluginExtension.php b/plugin-update-checker/Puc/v5p5/DebugBar/PluginExtension.php new file mode 100644 index 0000000..50972ec --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/DebugBar/PluginExtension.php @@ -0,0 +1,40 @@ +updateChecker->getUniqueName('uid')) ) { + return; + } + $this->preAjaxRequest(); + $info = $this->updateChecker->requestInfo(); + if ( $info !== null ) { + echo 'Successfully retrieved plugin info from the metadata URL:'; + //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_print_r -- For debugging output. + echo '
    ', esc_html(print_r($info, true)), '
    '; + } else { + echo 'Failed to retrieve plugin info from the metadata URL.'; + } + exit; + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/DebugBar/PluginPanel.php b/plugin-update-checker/Puc/v5p5/DebugBar/PluginPanel.php new file mode 100644 index 0000000..8bd2dc5 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/DebugBar/PluginPanel.php @@ -0,0 +1,47 @@ +row('Plugin file', htmlentities($this->updateChecker->pluginFile)); + parent::displayConfigHeader(); + } + + protected function getMetadataButton() { + $buttonId = $this->updateChecker->getUniqueName('request-info-button'); + if ( function_exists('get_submit_button') ) { + $requestInfoButton = get_submit_button( + 'Request Info', + 'secondary', + 'puc-request-info-button', + false, + array('id' => $buttonId) + ); + } else { + $requestInfoButton = sprintf( + '', + esc_attr($buttonId), + esc_attr('Request Info') + ); + } + return $requestInfoButton; + } + + protected function getUpdateFields() { + return array_merge( + parent::getUpdateFields(), + array('homepage', 'upgrade_notice', 'tested',) + ); + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/DebugBar/ThemePanel.php b/plugin-update-checker/Puc/v5p5/DebugBar/ThemePanel.php new file mode 100644 index 0000000..e9c99ff --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/DebugBar/ThemePanel.php @@ -0,0 +1,25 @@ +row('Theme directory', htmlentities($this->updateChecker->directoryName)); + parent::displayConfigHeader(); + } + + protected function getUpdateFields() { + return array_merge(parent::getUpdateFields(), array('details_url')); + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/InstalledPackage.php b/plugin-update-checker/Puc/v5p5/InstalledPackage.php new file mode 100644 index 0000000..54521c8 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/InstalledPackage.php @@ -0,0 +1,105 @@ +updateChecker = $updateChecker; + } + + /** + * Get the currently installed version of the plugin or theme. + * + * @return string|null Version number. + */ + abstract public function getInstalledVersion(); + + /** + * Get the full path of the plugin or theme directory (without a trailing slash). + * + * @return string + */ + abstract public function getAbsoluteDirectoryPath(); + + /** + * Check whether a regular file exists in the package's directory. + * + * @param string $relativeFileName File name relative to the package directory. + * @return bool + */ + public function fileExists($relativeFileName) { + return is_file( + $this->getAbsoluteDirectoryPath() + . DIRECTORY_SEPARATOR + . ltrim($relativeFileName, '/\\') + ); + } + + /* ------------------------------------------------------------------- + * File header parsing + * ------------------------------------------------------------------- + */ + + /** + * Parse plugin or theme metadata from the header comment. + * + * This is basically a simplified version of the get_file_data() function from /wp-includes/functions.php. + * It's intended as a utility for subclasses that detect updates by parsing files in a VCS. + * + * @param string|null $content File contents. + * @return string[] + */ + public function getFileHeader($content) { + $content = (string)$content; + + //WordPress only looks at the first 8 KiB of the file, so we do the same. + $content = substr($content, 0, 8192); + //Normalize line endings. + $content = str_replace("\r", "\n", $content); + + $headers = $this->getHeaderNames(); + $results = array(); + foreach ($headers as $field => $name) { + $success = preg_match('/^[ \t\/*#@]*' . preg_quote($name, '/') . ':(.*)$/mi', $content, $matches); + + if ( ($success === 1) && $matches[1] ) { + $value = $matches[1]; + if ( function_exists('_cleanup_header_comment') ) { + $value = _cleanup_header_comment($value); + } + $results[$field] = $value; + } else { + $results[$field] = ''; + } + } + + return $results; + } + + /** + * @return array Format: ['HeaderKey' => 'Header Name'] + */ + abstract protected function getHeaderNames(); + + /** + * Get the value of a specific plugin or theme header. + * + * @param string $headerName + * @return string Either the value of the header, or an empty string if the header doesn't exist. + */ + abstract public function getHeaderValue($headerName); + + } +endif; diff --git a/plugin-update-checker/Puc/v5p5/Metadata.php b/plugin-update-checker/Puc/v5p5/Metadata.php new file mode 100644 index 0000000..54426cd --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Metadata.php @@ -0,0 +1,162 @@ + + */ + protected $extraProperties = array(); + + /** + * Create an instance of this class from a JSON document. + * + * @abstract + * @param string $json + * @return self + */ + public static function fromJson($json) { + throw new LogicException('The ' . __METHOD__ . ' method must be implemented by subclasses'); + } + + /** + * @param string $json + * @param self $target + * @return bool + */ + protected static function createFromJson($json, $target) { + /** @var \StdClass $apiResponse */ + $apiResponse = json_decode($json); + if ( empty($apiResponse) || !is_object($apiResponse) ){ + $errorMessage = "Failed to parse update metadata. Try validating your .json file with https://jsonlint.com/"; + do_action('puc_api_error', new WP_Error('puc-invalid-json', $errorMessage)); + //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error -- For plugin developers. + trigger_error(esc_html($errorMessage), E_USER_NOTICE); + return false; + } + + $valid = $target->validateMetadata($apiResponse); + if ( is_wp_error($valid) ){ + do_action('puc_api_error', $valid); + //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error -- For plugin developers. + trigger_error(esc_html($valid->get_error_message()), E_USER_NOTICE); + return false; + } + + foreach(get_object_vars($apiResponse) as $key => $value){ + $target->$key = $value; + } + + return true; + } + + /** + * No validation by default! Subclasses should check that the required fields are present. + * + * @param \StdClass $apiResponse + * @return bool|\WP_Error + */ + protected function validateMetadata($apiResponse) { + return true; + } + + /** + * Create a new instance by copying the necessary fields from another object. + * + * @abstract + * @param \StdClass|self $object The source object. + * @return self The new copy. + */ + public static function fromObject($object) { + throw new LogicException('The ' . __METHOD__ . ' method must be implemented by subclasses'); + } + + /** + * Create an instance of StdClass that can later be converted back to an + * update or info container. Useful for serialization and caching, as it + * avoids the "incomplete object" problem if the cached value is loaded + * before this class. + * + * @return \StdClass + */ + public function toStdClass() { + $object = new stdClass(); + $this->copyFields($this, $object); + return $object; + } + + /** + * Transform the metadata into the format used by WordPress core. + * + * @return object + */ + abstract public function toWpFormat(); + + /** + * Copy known fields from one object to another. + * + * @param \StdClass|self $from + * @param \StdClass|self $to + */ + protected function copyFields($from, $to) { + $fields = $this->getFieldNames(); + + if ( property_exists($from, 'slug') && !empty($from->slug) ) { + //Let plugins add extra fields without having to create subclasses. + $fields = apply_filters($this->getPrefixedFilter('retain_fields') . '-' . $from->slug, $fields); + } + + foreach ($fields as $field) { + if ( property_exists($from, $field) ) { + $to->$field = $from->$field; + } + } + } + + /** + * @return string[] + */ + protected function getFieldNames() { + return array(); + } + + /** + * @param string $tag + * @return string + */ + protected function getPrefixedFilter($tag) { + return 'puc_' . $tag; + } + + public function __set($name, $value) { + $this->extraProperties[$name] = $value; + } + + public function __get($name) { + return isset($this->extraProperties[$name]) ? $this->extraProperties[$name] : null; + } + + public function __isset($name) { + return isset($this->extraProperties[$name]); + } + + public function __unset($name) { + unset($this->extraProperties[$name]); + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/OAuthSignature.php b/plugin-update-checker/Puc/v5p5/OAuthSignature.php new file mode 100644 index 0000000..848aa15 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/OAuthSignature.php @@ -0,0 +1,102 @@ +consumerKey = $consumerKey; + $this->consumerSecret = $consumerSecret; + } + + /** + * Sign a URL using OAuth 1.0. + * + * @param string $url The URL to be signed. It may contain query parameters. + * @param string $method HTTP method such as "GET", "POST" and so on. + * @return string The signed URL. + */ + public function sign($url, $method = 'GET') { + $parameters = array(); + + //Parse query parameters. + $query = wp_parse_url($url, PHP_URL_QUERY); + if ( !empty($query) ) { + parse_str($query, $parsedParams); + if ( is_array($parsedParams) ) { + $parameters = $parsedParams; + } + //Remove the query string from the URL. We'll replace it later. + $url = substr($url, 0, strpos($url, '?')); + } + + $parameters = array_merge( + $parameters, + array( + 'oauth_consumer_key' => $this->consumerKey, + 'oauth_nonce' => $this->nonce(), + 'oauth_signature_method' => 'HMAC-SHA1', + 'oauth_timestamp' => time(), + 'oauth_version' => '1.0', + ) + ); + unset($parameters['oauth_signature']); + + //Parameters must be sorted alphabetically before signing. + ksort($parameters); + + //The most complicated part of the request - generating the signature. + //The string to sign contains the HTTP method, the URL path, and all of + //our query parameters. Everything is URL encoded. Then we concatenate + //them with ampersands into a single string to hash. + $encodedVerb = urlencode($method); + $encodedUrl = urlencode($url); + $encodedParams = urlencode(http_build_query($parameters, '', '&')); + + $stringToSign = $encodedVerb . '&' . $encodedUrl . '&' . $encodedParams; + + //Since we only have one OAuth token (the consumer secret) we only have + //to use it as our HMAC key. However, we still have to append an & to it + //as if we were using it with additional tokens. + $secret = urlencode($this->consumerSecret) . '&'; + + //The signature is a hash of the consumer key and the base string. Note + //that we have to get the raw output from hash_hmac and base64 encode + //the binary data result. + $parameters['oauth_signature'] = base64_encode(hash_hmac('sha1', $stringToSign, $secret, true)); + + return ($url . '?' . http_build_query($parameters)); + } + + /** + * Generate a random nonce. + * + * @return string + */ + private function nonce() { + $mt = microtime(); + + $rand = null; + if ( is_callable('random_bytes') ) { + try { + $rand = random_bytes(16); + } catch (\Exception $ex) { + //Fall back to mt_rand (below). + } + } + if ( $rand === null ) { + //phpcs:ignore WordPress.WP.AlternativeFunctions.rand_mt_rand + $rand = function_exists('wp_rand') ? wp_rand() : mt_rand(); + } + + return md5($mt . '_' . $rand); + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/Plugin/Package.php b/plugin-update-checker/Puc/v5p5/Plugin/Package.php new file mode 100644 index 0000000..67b3ca1 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Plugin/Package.php @@ -0,0 +1,188 @@ +pluginAbsolutePath = $pluginAbsolutePath; + $this->pluginFile = plugin_basename($this->pluginAbsolutePath); + + parent::__construct($updateChecker); + + //Clear the version number cache when something - anything - is upgraded or WP clears the update cache. + add_filter('upgrader_post_install', array($this, 'clearCachedVersion')); + add_action('delete_site_transient_update_plugins', array($this, 'clearCachedVersion')); + } + + public function getInstalledVersion() { + if ( isset($this->cachedInstalledVersion) ) { + return $this->cachedInstalledVersion; + } + + $pluginHeader = $this->getPluginHeader(); + if ( isset($pluginHeader['Version']) ) { + $this->cachedInstalledVersion = $pluginHeader['Version']; + return $pluginHeader['Version']; + } else { + //This can happen if the filename points to something that is not a plugin. + $this->updateChecker->triggerError( + sprintf( + "Cannot read the Version header for '%s'. The filename is incorrect or is not a plugin.", + $this->updateChecker->pluginFile + ), + E_USER_WARNING + ); + return null; + } + } + + /** + * Clear the cached plugin version. This method can be set up as a filter (hook) and will + * return the filter argument unmodified. + * + * @param mixed $filterArgument + * @return mixed + */ + public function clearCachedVersion($filterArgument = null) { + $this->cachedInstalledVersion = null; + return $filterArgument; + } + + public function getAbsoluteDirectoryPath() { + return dirname($this->pluginAbsolutePath); + } + + /** + * Get the value of a specific plugin or theme header. + * + * @param string $headerName + * @param string $defaultValue + * @return string Either the value of the header, or $defaultValue if the header doesn't exist or is empty. + */ + public function getHeaderValue($headerName, $defaultValue = '') { + $headers = $this->getPluginHeader(); + if ( isset($headers[$headerName]) && ($headers[$headerName] !== '') ) { + return $headers[$headerName]; + } + return $defaultValue; + } + + protected function getHeaderNames() { + return array( + 'Name' => 'Plugin Name', + 'PluginURI' => 'Plugin URI', + 'Version' => 'Version', + 'Description' => 'Description', + 'Author' => 'Author', + 'AuthorURI' => 'Author URI', + 'TextDomain' => 'Text Domain', + 'DomainPath' => 'Domain Path', + 'Network' => 'Network', + + //The newest WordPress version that this plugin requires or has been tested with. + //We support several different formats for compatibility with other libraries. + 'Tested WP' => 'Tested WP', + 'Requires WP' => 'Requires WP', + 'Tested up to' => 'Tested up to', + 'Requires at least' => 'Requires at least', + ); + } + + /** + * Get the translated plugin title. + * + * @return string + */ + public function getPluginTitle() { + $title = ''; + $header = $this->getPluginHeader(); + if ( $header && !empty($header['Name']) && isset($header['TextDomain']) ) { + $title = translate($header['Name'], $header['TextDomain']); + } + return $title; + } + + /** + * Get plugin's metadata from its file header. + * + * @return array + */ + public function getPluginHeader() { + if ( !is_file($this->pluginAbsolutePath) ) { + //This can happen if the plugin filename is wrong. + $this->updateChecker->triggerError( + sprintf( + "Can't to read the plugin header for '%s'. The file does not exist.", + $this->updateChecker->pluginFile + ), + E_USER_WARNING + ); + return array(); + } + + if ( !function_exists('get_plugin_data') ) { + require_once(ABSPATH . '/wp-admin/includes/plugin.php'); + } + return get_plugin_data($this->pluginAbsolutePath, false, false); + } + + public function removeHooks() { + remove_filter('upgrader_post_install', array($this, 'clearCachedVersion')); + remove_action('delete_site_transient_update_plugins', array($this, 'clearCachedVersion')); + } + + /** + * Check if the plugin file is inside the mu-plugins directory. + * + * @return bool + */ + public function isMuPlugin() { + static $cachedResult = null; + + if ( $cachedResult === null ) { + if ( !defined('WPMU_PLUGIN_DIR') || !is_string(WPMU_PLUGIN_DIR) ) { + $cachedResult = false; + return $cachedResult; + } + + //Convert both paths to the canonical form before comparison. + $muPluginDir = realpath(WPMU_PLUGIN_DIR); + $pluginPath = realpath($this->pluginAbsolutePath); + //If realpath() fails, just normalize the syntax instead. + if (($muPluginDir === false) || ($pluginPath === false)) { + $muPluginDir = PucFactory::normalizePath(WPMU_PLUGIN_DIR); + $pluginPath = PucFactory::normalizePath($this->pluginAbsolutePath); + } + + $cachedResult = (strpos($pluginPath, $muPluginDir) === 0); + } + + return $cachedResult; + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/Plugin/PluginInfo.php b/plugin-update-checker/Puc/v5p5/Plugin/PluginInfo.php new file mode 100644 index 0000000..83ce17b --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Plugin/PluginInfo.php @@ -0,0 +1,136 @@ +sections = (array)$instance->sections; + $instance->icons = (array)$instance->icons; + + return $instance; + } + + /** + * Very, very basic validation. + * + * @param \StdClass $apiResponse + * @return bool|\WP_Error + */ + protected function validateMetadata($apiResponse) { + if ( + !isset($apiResponse->name, $apiResponse->version) + || empty($apiResponse->name) + || empty($apiResponse->version) + ) { + return new \WP_Error( + 'puc-invalid-metadata', + "The plugin metadata file does not contain the required 'name' and/or 'version' keys." + ); + } + return true; + } + + + /** + * Transform plugin info into the format used by the native WordPress.org API + * + * @return object + */ + public function toWpFormat(){ + $info = new \stdClass; + + //The custom update API is built so that many fields have the same name and format + //as those returned by the native WordPress.org API. These can be assigned directly. + $sameFormat = array( + 'name', 'slug', 'version', 'requires', 'tested', 'rating', 'upgrade_notice', + 'num_ratings', 'downloaded', 'active_installs', 'homepage', 'last_updated', + 'requires_php', + ); + foreach($sameFormat as $field){ + if ( isset($this->$field) ) { + $info->$field = $this->$field; + } else { + $info->$field = null; + } + } + + //Other fields need to be renamed and/or transformed. + $info->download_link = $this->download_url; + $info->author = $this->getFormattedAuthor(); + $info->sections = array_merge(array('description' => ''), $this->sections); + + if ( !empty($this->banners) ) { + //WP expects an array with two keys: "high" and "low". Both are optional. + //Docs: https://wordpress.org/plugins/about/faq/#banners + $info->banners = is_object($this->banners) ? get_object_vars($this->banners) : $this->banners; + $info->banners = array_intersect_key($info->banners, array('high' => true, 'low' => true)); + } + + return $info; + } + + protected function getFormattedAuthor() { + if ( !empty($this->author_homepage) ){ + /** @noinspection HtmlUnknownTarget */ + return sprintf('%s', $this->author_homepage, $this->author); + } + return $this->author; + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/Plugin/Ui.php b/plugin-update-checker/Puc/v5p5/Plugin/Ui.php new file mode 100644 index 0000000..ccc5279 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Plugin/Ui.php @@ -0,0 +1,294 @@ +updateChecker = $updateChecker; + $this->manualCheckErrorTransient = $this->updateChecker->getUniqueName('manual_check_errors'); + + add_action('admin_init', array($this, 'onAdminInit')); + } + + public function onAdminInit() { + if ( $this->updateChecker->userCanInstallUpdates() ) { + $this->handleManualCheck(); + + add_filter('plugin_row_meta', array($this, 'addViewDetailsLink'), 10, 3); + add_filter('plugin_row_meta', array($this, 'addCheckForUpdatesLink'), 10, 2); + add_action('all_admin_notices', array($this, 'displayManualCheckResult')); + } + } + + /** + * Add a "View Details" link to the plugin row in the "Plugins" page. By default, + * the new link will appear before the "Visit plugin site" link (if present). + * + * You can change the link text by using the "puc_view_details_link-$slug" filter. + * Returning an empty string from the filter will disable the link. + * + * You can change the position of the link using the + * "puc_view_details_link_position-$slug" filter. + * Returning 'before' or 'after' will place the link immediately before/after + * the "Visit plugin site" link. + * Returning 'append' places the link after any existing links at the time of the hook. + * Returning 'replace' replaces the "Visit plugin site" link. + * Returning anything else disables the link when there is a "Visit plugin site" link. + * + * If there is no "Visit plugin site" link 'append' is always used! + * + * @param array $pluginMeta Array of meta links. + * @param string $pluginFile + * @param array $pluginData Array of plugin header data. + * @return array + */ + public function addViewDetailsLink($pluginMeta, $pluginFile, $pluginData = array()) { + if ( $this->isMyPluginFile($pluginFile) && !isset($pluginData['slug']) ) { + $linkText = apply_filters($this->updateChecker->getUniqueName('view_details_link'), __('View details')); + if ( !empty($linkText) ) { + $viewDetailsLinkPosition = 'append'; + + //Find the "Visit plugin site" link (if present). + $visitPluginSiteLinkIndex = count($pluginMeta) - 1; + if ( $pluginData['PluginURI'] ) { + $escapedPluginUri = esc_url($pluginData['PluginURI']); + foreach ($pluginMeta as $linkIndex => $existingLink) { + if ( strpos($existingLink, $escapedPluginUri) !== false ) { + $visitPluginSiteLinkIndex = $linkIndex; + $viewDetailsLinkPosition = apply_filters( + $this->updateChecker->getUniqueName('view_details_link_position'), + 'before' + ); + break; + } + } + } + + $viewDetailsLink = sprintf('%s', + esc_url(network_admin_url('plugin-install.php?tab=plugin-information&plugin=' . urlencode($this->updateChecker->slug) . + '&TB_iframe=true&width=600&height=550')), + esc_attr(sprintf(__('More information about %s'), $pluginData['Name'])), + esc_attr($pluginData['Name']), + $linkText + ); + switch ($viewDetailsLinkPosition) { + case 'before': + array_splice($pluginMeta, $visitPluginSiteLinkIndex, 0, $viewDetailsLink); + break; + case 'after': + array_splice($pluginMeta, $visitPluginSiteLinkIndex + 1, 0, $viewDetailsLink); + break; + case 'replace': + $pluginMeta[$visitPluginSiteLinkIndex] = $viewDetailsLink; + break; + case 'append': + default: + $pluginMeta[] = $viewDetailsLink; + break; + } + } + } + return $pluginMeta; + } + + /** + * Add a "Check for updates" link to the plugin row in the "Plugins" page. By default, + * the new link will appear after the "Visit plugin site" link if present, otherwise + * after the "View plugin details" link. + * + * You can change the link text by using the "puc_manual_check_link-$slug" filter. + * Returning an empty string from the filter will disable the link. + * + * @param array $pluginMeta Array of meta links. + * @param string $pluginFile + * @return array + */ + public function addCheckForUpdatesLink($pluginMeta, $pluginFile) { + if ( $this->isMyPluginFile($pluginFile) ) { + $linkUrl = wp_nonce_url( + add_query_arg( + array( + 'puc_check_for_updates' => 1, + 'puc_slug' => $this->updateChecker->slug, + ), + self_admin_url('plugins.php') + ), + 'puc_check_for_updates' + ); + + $linkText = apply_filters( + $this->updateChecker->getUniqueName('manual_check_link'), + __('Check for updates', 'plugin-update-checker') + ); + if ( !empty($linkText) ) { + /** @noinspection HtmlUnknownTarget */ + $pluginMeta[] = sprintf('%s', esc_attr($linkUrl), $linkText); + } + } + return $pluginMeta; + } + + protected function isMyPluginFile($pluginFile) { + return ($pluginFile == $this->updateChecker->pluginFile) + || (!empty($this->updateChecker->muPluginFile) && ($pluginFile == $this->updateChecker->muPluginFile)); + } + + /** + * Check for updates when the user clicks the "Check for updates" link. + * + * @see self::addCheckForUpdatesLink() + * + * @return void + */ + public function handleManualCheck() { + $shouldCheck = + isset($_GET['puc_check_for_updates'], $_GET['puc_slug']) + && $_GET['puc_slug'] == $this->updateChecker->slug + && check_admin_referer('puc_check_for_updates'); + + if ( $shouldCheck ) { + $update = $this->updateChecker->checkForUpdates(); + $status = ($update === null) ? 'no_update' : 'update_available'; + $lastRequestApiErrors = $this->updateChecker->getLastRequestApiErrors(); + + if ( ($update === null) && !empty($lastRequestApiErrors) ) { + //Some errors are not critical. For example, if PUC tries to retrieve the readme.txt + //file from GitHub and gets a 404, that's an API error, but it doesn't prevent updates + //from working. Maybe the plugin simply doesn't have a readme. + //Let's only show important errors. + $foundCriticalErrors = false; + $questionableErrorCodes = array( + 'puc-github-http-error', + 'puc-gitlab-http-error', + 'puc-bitbucket-http-error', + ); + + foreach ($lastRequestApiErrors as $item) { + $wpError = $item['error']; + /** @var \WP_Error $wpError */ + if ( !in_array($wpError->get_error_code(), $questionableErrorCodes) ) { + $foundCriticalErrors = true; + break; + } + } + + if ( $foundCriticalErrors ) { + $status = 'error'; + set_site_transient($this->manualCheckErrorTransient, $lastRequestApiErrors, 60); + } + } + + wp_redirect(add_query_arg( + array( + 'puc_update_check_result' => $status, + 'puc_slug' => $this->updateChecker->slug, + ), + self_admin_url('plugins.php') + )); + exit; + } + } + + /** + * Display the results of a manual update check. + * + * @see self::handleManualCheck() + * + * You can change the result message by using the "puc_manual_check_message-$slug" filter. + */ + public function displayManualCheckResult() { + //phpcs:disable WordPress.Security.NonceVerification.Recommended -- Just displaying a message. + if ( isset($_GET['puc_update_check_result'], $_GET['puc_slug']) && ($_GET['puc_slug'] == $this->updateChecker->slug) ) { + $status = sanitize_key($_GET['puc_update_check_result']); + $title = $this->updateChecker->getInstalledPackage()->getPluginTitle(); + $noticeClass = 'updated notice-success'; + $details = ''; + + if ( $status == 'no_update' ) { + $message = sprintf(_x('The %s plugin is up to date.', 'the plugin title', 'plugin-update-checker'), $title); + } else if ( $status == 'update_available' ) { + $message = sprintf(_x('A new version of the %s plugin is available.', 'the plugin title', 'plugin-update-checker'), $title); + } else if ( $status === 'error' ) { + $message = sprintf(_x('Could not determine if updates are available for %s.', 'the plugin title', 'plugin-update-checker'), $title); + $noticeClass = 'error notice-error'; + + $details = $this->formatManualCheckErrors(get_site_transient($this->manualCheckErrorTransient)); + delete_site_transient($this->manualCheckErrorTransient); + } else { + $message = sprintf(__('Unknown update checker status "%s"', 'plugin-update-checker'), $status); + $noticeClass = 'error notice-error'; + } + + $message = esc_html($message); + + //Plugins can replace the message with their own, including adding HTML. + $message = apply_filters( + $this->updateChecker->getUniqueName('manual_check_message'), + $message, + $status + ); + + printf( + '

    %s

    %s
    ', + esc_attr($noticeClass), + //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Was escaped above, and plugins can add HTML. + $message, + //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Contains HTML. Content should already be escaped. + $details + ); + } + //phpcs:enable + } + + /** + * Format the list of errors that were thrown during an update check. + * + * @param array $errors + * @return string + */ + protected function formatManualCheckErrors($errors) { + if ( empty($errors) ) { + return ''; + } + $output = ''; + + $showAsList = count($errors) > 1; + if ( $showAsList ) { + $output .= '
      '; + $formatString = '
    1. %1$s %2$s
    2. '; + } else { + $formatString = '

      %1$s %2$s

      '; + } + foreach ($errors as $item) { + $wpError = $item['error']; + /** @var \WP_Error $wpError */ + $output .= sprintf( + $formatString, + esc_html($wpError->get_error_message()), + esc_html($wpError->get_error_code()) + ); + } + if ( $showAsList ) { + $output .= '
    '; + } + + return $output; + } + + public function removeHooks() { + remove_action('admin_init', array($this, 'onAdminInit')); + remove_filter('plugin_row_meta', array($this, 'addViewDetailsLink'), 10); + remove_filter('plugin_row_meta', array($this, 'addCheckForUpdatesLink'), 10); + remove_action('all_admin_notices', array($this, 'displayManualCheckResult')); + } + } +endif; diff --git a/plugin-update-checker/Puc/v5p5/Plugin/Update.php b/plugin-update-checker/Puc/v5p5/Plugin/Update.php new file mode 100644 index 0000000..b1c6f62 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Plugin/Update.php @@ -0,0 +1,116 @@ +copyFields($object, $update); + return $update; + } + + /** + * @return string[] + */ + protected function getFieldNames() { + return array_merge(parent::getFieldNames(), self::$extraFields); + } + + /** + * Transform the update into the format used by WordPress native plugin API. + * + * @return object + */ + public function toWpFormat() { + $update = parent::toWpFormat(); + + $update->id = $this->id; + $update->url = $this->homepage; + $update->tested = $this->tested; + $update->requires_php = $this->requires_php; + $update->plugin = $this->filename; + + if ( !empty($this->upgrade_notice) ) { + $update->upgrade_notice = $this->upgrade_notice; + } + + if ( !empty($this->icons) && is_array($this->icons) ) { + //This should be an array with up to 4 keys: 'svg', '1x', '2x' and 'default'. + //Docs: https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/#plugin-icons + $icons = array_intersect_key( + $this->icons, + array('svg' => true, '1x' => true, '2x' => true, 'default' => true) + ); + if ( !empty($icons) ) { + $update->icons = $icons; + + //It appears that the 'default' icon isn't used anywhere in WordPress 4.9, + //but lets set it just in case a future release needs it. + if ( !isset($update->icons['default']) ) { + $update->icons['default'] = current($update->icons); + } + } + } + + return $update; + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/Plugin/UpdateChecker.php b/plugin-update-checker/Puc/v5p5/Plugin/UpdateChecker.php new file mode 100644 index 0000000..0b194fd --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Plugin/UpdateChecker.php @@ -0,0 +1,425 @@ +pluginAbsolutePath = $pluginFile; + $this->pluginFile = plugin_basename($this->pluginAbsolutePath); + $this->muPluginFile = $muPluginFile; + + //If no slug is specified, use the name of the main plugin file as the slug. + //For example, 'my-cool-plugin/cool-plugin.php' becomes 'cool-plugin'. + if ( empty($slug) ){ + $slug = basename($this->pluginFile, '.php'); + } + + //Plugin slugs must be unique. + $slugCheckFilter = 'puc_is_slug_in_use-' . $slug; + $slugUsedBy = apply_filters($slugCheckFilter, false); + if ( $slugUsedBy ) { + $this->triggerError(sprintf( + 'Plugin slug "%s" is already in use by %s. Slugs must be unique.', + $slug, + $slugUsedBy + ), E_USER_ERROR); + } + add_filter($slugCheckFilter, array($this, 'getAbsolutePath')); + + parent::__construct($metadataUrl, dirname($this->pluginFile), $slug, $checkPeriod, $optionName); + + //Backwards compatibility: If the plugin is a mu-plugin but no $muPluginFile is specified, assume + //it's the same as $pluginFile given that it's not in a subdirectory (WP only looks in the base dir). + if ( (strpbrk($this->pluginFile, '/\\') === false) && $this->isUnknownMuPlugin() ) { + $this->muPluginFile = $this->pluginFile; + } + + //To prevent a crash during plugin uninstallation, remove updater hooks when the user removes the plugin. + //Details: https://github.com/YahnisElsts/plugin-update-checker/issues/138#issuecomment-335590964 + add_action('uninstall_' . $this->pluginFile, array($this, 'removeHooks')); + + $this->extraUi = new Ui($this); + } + + /** + * Create an instance of the scheduler. + * + * @param int $checkPeriod + * @return Scheduler + */ + protected function createScheduler($checkPeriod) { + $scheduler = new Scheduler($this, $checkPeriod, array('load-plugins.php')); + register_deactivation_hook($this->pluginFile, array($scheduler, 'removeUpdaterCron')); + return $scheduler; + } + + /** + * Install the hooks required to run periodic update checks and inject update info + * into WP data structures. + * + * @return void + */ + protected function installHooks(){ + //Override requests for plugin information + add_filter('plugins_api', array($this, 'injectInfo'), 20, 3); + + parent::installHooks(); + } + + /** + * Remove update checker hooks. + * + * The intent is to prevent a fatal error that can happen if the plugin has an uninstall + * hook. During uninstallation, WP includes the main plugin file (which creates a PUC instance), + * the uninstall hook runs, WP deletes the plugin files and then updates some transients. + * If PUC hooks are still around at this time, they could throw an error while trying to + * autoload classes from files that no longer exist. + * + * The "site_transient_{$transient}" filter is the main problem here, but let's also remove + * most other PUC hooks to be safe. + * + * @internal + */ + public function removeHooks() { + parent::removeHooks(); + $this->extraUi->removeHooks(); + $this->package->removeHooks(); + + remove_filter('plugins_api', array($this, 'injectInfo'), 20); + } + + /** + * Retrieve plugin info from the configured API endpoint. + * + * @uses wp_remote_get() + * + * @param array $queryArgs Additional query arguments to append to the request. Optional. + * @return PluginInfo + */ + public function requestInfo($queryArgs = array()) { + list($pluginInfo, $result) = $this->requestMetadata( + PluginInfo::class, + 'request_info', + $queryArgs + ); + + if ( $pluginInfo !== null ) { + /** @var PluginInfo $pluginInfo */ + $pluginInfo->filename = $this->pluginFile; + $pluginInfo->slug = $this->slug; + } + + $pluginInfo = apply_filters($this->getUniqueName('request_info_result'), $pluginInfo, $result); + return $pluginInfo; + } + + /** + * Retrieve the latest update (if any) from the configured API endpoint. + * + * @uses UpdateChecker::requestInfo() + * + * @return Update|null An instance of Plugin Update, or NULL when no updates are available. + */ + public function requestUpdate() { + //For the sake of simplicity, this function just calls requestInfo() + //and transforms the result accordingly. + $pluginInfo = $this->requestInfo(array('checking_for_updates' => '1')); + if ( $pluginInfo === null ){ + return null; + } + $update = Update::fromPluginInfo($pluginInfo); + + $update = $this->filterUpdateResult($update); + + return $update; + } + + /** + * Intercept plugins_api() calls that request information about our plugin and + * use the configured API endpoint to satisfy them. + * + * @see plugins_api() + * + * @param mixed $result + * @param string $action + * @param array|object $args + * @return mixed + */ + public function injectInfo($result, $action = null, $args = null){ + $relevant = ($action == 'plugin_information') && isset($args->slug) && ( + ($args->slug == $this->slug) || ($args->slug == dirname($this->pluginFile)) + ); + if ( !$relevant ) { + return $result; + } + + $pluginInfo = $this->requestInfo(); + $this->fixSupportedWordpressVersion($pluginInfo); + + $pluginInfo = apply_filters($this->getUniqueName('pre_inject_info'), $pluginInfo); + if ( $pluginInfo ) { + return $pluginInfo->toWpFormat(); + } + + return $result; + } + + protected function shouldShowUpdates() { + //No update notifications for mu-plugins unless explicitly enabled. The MU plugin file + //is usually different from the main plugin file so the update wouldn't show up properly anyway. + return !$this->isUnknownMuPlugin(); + } + + /** + * @param \stdClass|null $updates + * @param \stdClass $updateToAdd + * @return \stdClass + */ + protected function addUpdateToList($updates, $updateToAdd) { + if ( $this->package->isMuPlugin() ) { + //WP does not support automatic update installation for mu-plugins, but we can + //still display a notice. + $updateToAdd->package = null; + } + return parent::addUpdateToList($updates, $updateToAdd); + } + + /** + * @param \stdClass|null $updates + * @return \stdClass|null + */ + protected function removeUpdateFromList($updates) { + $updates = parent::removeUpdateFromList($updates); + if ( !empty($this->muPluginFile) && isset($updates, $updates->response) ) { + unset($updates->response[$this->muPluginFile]); + } + return $updates; + } + + /** + * For plugins, the update array is indexed by the plugin filename relative to the "plugins" + * directory. Example: "plugin-name/plugin.php". + * + * @return string + */ + protected function getUpdateListKey() { + if ( $this->package->isMuPlugin() ) { + return $this->muPluginFile; + } + return $this->pluginFile; + } + + protected function getNoUpdateItemFields() { + return array_merge( + parent::getNoUpdateItemFields(), + array( + 'id' => $this->pluginFile, + 'slug' => $this->slug, + 'plugin' => $this->pluginFile, + 'icons' => array(), + 'banners' => array(), + 'banners_rtl' => array(), + 'tested' => '', + 'compatibility' => new \stdClass(), + ) + ); + } + + /** + * Alias for isBeingUpgraded(). + * + * @deprecated + * @param \WP_Upgrader|null $upgrader The upgrader that's performing the current update. + * @return bool + */ + public function isPluginBeingUpgraded($upgrader = null) { + return $this->isBeingUpgraded($upgrader); + } + + /** + * Is there an update being installed for this plugin, right now? + * + * @param \WP_Upgrader|null $upgrader + * @return bool + */ + public function isBeingUpgraded($upgrader = null) { + return $this->upgraderStatus->isPluginBeingUpgraded($this->pluginFile, $upgrader); + } + + /** + * Get the details of the currently available update, if any. + * + * If no updates are available, or if the last known update version is below or equal + * to the currently installed version, this method will return NULL. + * + * Uses cached update data. To retrieve update information straight from + * the metadata URL, call requestUpdate() instead. + * + * @return Update|null + */ + public function getUpdate() { + $update = parent::getUpdate(); + if ( isset($update) ) { + /** @var Update $update */ + $update->filename = $this->pluginFile; + } + return $update; + } + + /** + * Get the translated plugin title. + * + * @deprecated + * @return string + */ + public function getPluginTitle() { + return $this->package->getPluginTitle(); + } + + /** + * Check if the current user has the required permissions to install updates. + * + * @return bool + */ + public function userCanInstallUpdates() { + return current_user_can('update_plugins'); + } + + /** + * Check if the plugin file is inside the mu-plugins directory. + * + * @deprecated + * @return bool + */ + protected function isMuPlugin() { + return $this->package->isMuPlugin(); + } + + /** + * MU plugins are partially supported, but only when we know which file in mu-plugins + * corresponds to this plugin. + * + * @return bool + */ + protected function isUnknownMuPlugin() { + return empty($this->muPluginFile) && $this->package->isMuPlugin(); + } + + /** + * Get absolute path to the main plugin file. + * + * @return string + */ + public function getAbsolutePath() { + return $this->pluginAbsolutePath; + } + + /** + * Register a callback for filtering query arguments. + * + * The callback function should take one argument - an associative array of query arguments. + * It should return a modified array of query arguments. + * + * @uses add_filter() This method is a convenience wrapper for add_filter(). + * + * @param callable $callback + * @return void + */ + public function addQueryArgFilter($callback){ + $this->addFilter('request_info_query_args', $callback); + } + + /** + * Register a callback for filtering arguments passed to wp_remote_get(). + * + * The callback function should take one argument - an associative array of arguments - + * and return a modified array or arguments. See the WP documentation on wp_remote_get() + * for details on what arguments are available and how they work. + * + * @uses add_filter() This method is a convenience wrapper for add_filter(). + * + * @param callable $callback + * @return void + */ + public function addHttpRequestArgFilter($callback) { + $this->addFilter('request_info_options', $callback); + } + + /** + * Register a callback for filtering the plugin info retrieved from the external API. + * + * The callback function should take two arguments. If the plugin info was retrieved + * successfully, the first argument passed will be an instance of PluginInfo. Otherwise, + * it will be NULL. The second argument will be the corresponding return value of + * wp_remote_get (see WP docs for details). + * + * The callback function should return a new or modified instance of PluginInfo or NULL. + * + * @uses add_filter() This method is a convenience wrapper for add_filter(). + * + * @param callable $callback + * @return void + */ + public function addResultFilter($callback) { + $this->addFilter('request_info_result', $callback, 10, 2); + } + + protected function createDebugBarExtension() { + return new DebugBar\PluginExtension($this); + } + + /** + * Create a package instance that represents this plugin or theme. + * + * @return InstalledPackage + */ + protected function createInstalledPackage() { + return new Package($this->pluginAbsolutePath, $this); + } + + /** + * @return Package + */ + public function getInstalledPackage() { + return $this->package; + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/PucFactory.php b/plugin-update-checker/Puc/v5p5/PucFactory.php new file mode 100644 index 0000000..3494951 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/PucFactory.php @@ -0,0 +1,362 @@ + '', + 'slug' => '', + 'checkPeriod' => 12, + 'optionName' => '', + 'muPluginFile' => '', + ); + $args = array_merge($defaults, array_intersect_key($args, $defaults)); + extract($args, EXTR_SKIP); + + //Check for the service URI + if ( empty($metadataUrl) ) { + $metadataUrl = self::getServiceURI($fullPath); + } + + return self::buildUpdateChecker($metadataUrl, $fullPath, $slug, $checkPeriod, $optionName, $muPluginFile); + } + + /** + * Create a new instance of the update checker. + * + * This method automatically detects if you're using it for a plugin or a theme and chooses + * the appropriate implementation for your update source (JSON file, GitHub, BitBucket, etc). + * + * @see UpdateChecker::__construct + * + * @param string $metadataUrl The URL of the metadata file, a GitHub repository, or another supported update source. + * @param string $fullPath Full path to the main plugin file or to the theme directory. + * @param string $slug Custom slug. Defaults to the name of the main plugin file or the theme directory. + * @param int $checkPeriod How often to check for updates (in hours). + * @param string $optionName Where to store bookkeeping info about update checks. + * @param string $muPluginFile The plugin filename relative to the mu-plugins directory. + * @return Plugin\UpdateChecker|Theme\UpdateChecker|Vcs\BaseChecker + */ + public static function buildUpdateChecker($metadataUrl, $fullPath, $slug = '', $checkPeriod = 12, $optionName = '', $muPluginFile = '') { + $fullPath = self::normalizePath($fullPath); + $id = null; + + //Plugin or theme? + $themeDirectory = self::getThemeDirectoryName($fullPath); + if ( self::isPluginFile($fullPath) ) { + $type = 'Plugin'; + $id = $fullPath; + } else if ( $themeDirectory !== null ) { + $type = 'Theme'; + $id = $themeDirectory; + } else { + throw new \RuntimeException(sprintf( + 'The update checker cannot determine if "%s" is a plugin or a theme. ' . + 'This is a bug. Please contact the PUC developer.', + htmlentities($fullPath) + )); + } + + //Which hosting service does the URL point to? + $service = self::getVcsService($metadataUrl); + + $apiClass = null; + if ( empty($service) ) { + //The default is to get update information from a remote JSON file. + $checkerClass = $type . '\\UpdateChecker'; + } else { + //You can also use a VCS repository like GitHub. + $checkerClass = 'Vcs\\' . $type . 'UpdateChecker'; + $apiClass = $service . 'Api'; + } + + $checkerClass = self::getCompatibleClassVersion($checkerClass); + if ( $checkerClass === null ) { + //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error + trigger_error( + esc_html(sprintf( + 'PUC %s does not support updates for %ss %s', + self::$latestCompatibleVersion, + strtolower($type), + $service ? ('hosted on ' . $service) : 'using JSON metadata' + )), + E_USER_ERROR + ); + } + + if ( !isset($apiClass) ) { + //Plain old update checker. + return new $checkerClass($metadataUrl, $id, $slug, $checkPeriod, $optionName, $muPluginFile); + } else { + //VCS checker + an API client. + $apiClass = self::getCompatibleClassVersion($apiClass); + if ( $apiClass === null ) { + //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error + trigger_error(esc_html(sprintf( + 'PUC %s does not support %s', + self::$latestCompatibleVersion, + $service + )), E_USER_ERROR); + } + + return new $checkerClass( + new $apiClass($metadataUrl), + $id, + $slug, + $checkPeriod, + $optionName, + $muPluginFile + ); + } + } + + /** + * + * Normalize a filesystem path. Introduced in WP 3.9. + * Copying here allows use of the class on earlier versions. + * This version adapted from WP 4.8.2 (unchanged since 4.5.5) + * + * @param string $path Path to normalize. + * @return string Normalized path. + */ + public static function normalizePath($path) { + if ( function_exists('wp_normalize_path') ) { + return wp_normalize_path($path); + } + $path = str_replace('\\', '/', $path); + $path = preg_replace('|(?<=.)/+|', '/', $path); + if ( substr($path, 1, 1) === ':' ) { + $path = ucfirst($path); + } + return $path; + } + + /** + * Check if the path points to a plugin file. + * + * @param string $absolutePath Normalized path. + * @return bool + */ + protected static function isPluginFile($absolutePath) { + //Is the file inside the "plugins" or "mu-plugins" directory? + $pluginDir = self::normalizePath(WP_PLUGIN_DIR); + $muPluginDir = self::normalizePath(WPMU_PLUGIN_DIR); + if ( (strpos($absolutePath, $pluginDir) === 0) || (strpos($absolutePath, $muPluginDir) === 0) ) { + return true; + } + + //Is it a file at all? Caution: is_file() can fail if the parent dir. doesn't have the +x permission set. + if ( !is_file($absolutePath) ) { + return false; + } + + //Does it have a valid plugin header? + //This is a last-ditch check for plugins symlinked from outside the WP root. + if ( function_exists('get_file_data') ) { + $headers = get_file_data($absolutePath, array('Name' => 'Plugin Name'), 'plugin'); + return !empty($headers['Name']); + } + + return false; + } + + /** + * Get the name of the theme's directory from a full path to a file inside that directory. + * E.g. "/abc/public_html/wp-content/themes/foo/whatever.php" => "foo". + * + * Note that subdirectories are currently not supported. For example, + * "/xyz/wp-content/themes/my-theme/includes/whatever.php" => NULL. + * + * @param string $absolutePath Normalized path. + * @return string|null Directory name, or NULL if the path doesn't point to a theme. + */ + protected static function getThemeDirectoryName($absolutePath) { + if ( is_file($absolutePath) ) { + $absolutePath = dirname($absolutePath); + } + + if ( file_exists($absolutePath . '/style.css') ) { + return basename($absolutePath); + } + return null; + } + + /** + * Get the service URI from the file header. + * + * @param string $fullPath + * @return string + */ + private static function getServiceURI($fullPath) { + //Look for the URI + if ( is_readable($fullPath) ) { + $seek = array( + 'github' => 'GitHub URI', + 'gitlab' => 'GitLab URI', + 'bucket' => 'BitBucket URI', + ); + $seek = apply_filters('puc_get_source_uri', $seek); + $data = get_file_data($fullPath, $seek); + foreach ($data as $key => $uri) { + if ( $uri ) { + return $uri; + } + } + } + + //URI was not found so throw an error. + throw new \RuntimeException( + sprintf('Unable to locate URI in header of "%s"', htmlentities($fullPath)) + ); + } + + /** + * Get the name of the hosting service that the URL points to. + * + * @param string $metadataUrl + * @return string|null + */ + private static function getVcsService($metadataUrl) { + $service = null; + + //Which hosting service does the URL point to? + $host = (string)(wp_parse_url($metadataUrl, PHP_URL_HOST)); + $path = (string)(wp_parse_url($metadataUrl, PHP_URL_PATH)); + + //Check if the path looks like "/user-name/repository". + //For GitLab.com it can also be "/user/group1/group2/.../repository". + $repoRegex = '@^/?([^/]+?)/([^/#?&]+?)/?$@'; + if ( $host === 'gitlab.com' ) { + $repoRegex = '@^/?(?:[^/#?&]++/){1,20}(?:[^/#?&]++)/?$@'; + } + if ( preg_match($repoRegex, $path) ) { + $knownServices = array( + 'github.com' => 'GitHub', + 'bitbucket.org' => 'BitBucket', + 'gitlab.com' => 'GitLab', + ); + if ( isset($knownServices[$host]) ) { + $service = $knownServices[$host]; + } + } + + return apply_filters('puc_get_vcs_service', $service, $host, $path, $metadataUrl); + } + + /** + * Get the latest version of the specified class that has the same major version number + * as this factory class. + * + * @param string $class Partial class name. + * @return string|null Full class name. + */ + protected static function getCompatibleClassVersion($class) { + if ( isset(self::$classVersions[$class][self::$latestCompatibleVersion]) ) { + return self::$classVersions[$class][self::$latestCompatibleVersion]; + } + return null; + } + + /** + * Get the specific class name for the latest available version of a class. + * + * @param string $class + * @return null|string + */ + public static function getLatestClassVersion($class) { + if ( !self::$sorted ) { + self::sortVersions(); + } + + if ( isset(self::$classVersions[$class]) ) { + return reset(self::$classVersions[$class]); + } else { + return null; + } + } + + /** + * Sort available class versions in descending order (i.e. newest first). + */ + protected static function sortVersions() { + foreach ( self::$classVersions as $class => $versions ) { + uksort($versions, array(__CLASS__, 'compareVersions')); + self::$classVersions[$class] = $versions; + } + self::$sorted = true; + } + + protected static function compareVersions($a, $b) { + return -version_compare($a, $b); + } + + /** + * Register a version of a class. + * + * @access private This method is only for internal use by the library. + * + * @param string $generalClass Class name without version numbers, e.g. 'PluginUpdateChecker'. + * @param string $versionedClass Actual class name, e.g. 'PluginUpdateChecker_1_2'. + * @param string $version Version number, e.g. '1.2'. + */ + public static function addVersion($generalClass, $versionedClass, $version) { + if ( empty(self::$myMajorVersion) ) { + $lastNamespaceSegment = substr(__NAMESPACE__, strrpos(__NAMESPACE__, '\\') + 1); + self::$myMajorVersion = substr(ltrim($lastNamespaceSegment, 'v'), 0, 1); + } + + //Store the greatest version number that matches our major version. + $components = explode('.', $version); + if ( $components[0] === self::$myMajorVersion ) { + + if ( + empty(self::$latestCompatibleVersion) + || version_compare($version, self::$latestCompatibleVersion, '>') + ) { + self::$latestCompatibleVersion = $version; + } + + } + + if ( !isset(self::$classVersions[$generalClass]) ) { + self::$classVersions[$generalClass] = array(); + } + self::$classVersions[$generalClass][$version] = $versionedClass; + self::$sorted = false; + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/Scheduler.php b/plugin-update-checker/Puc/v5p5/Scheduler.php new file mode 100644 index 0000000..e51624e --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Scheduler.php @@ -0,0 +1,300 @@ +updateChecker = $updateChecker; + $this->checkPeriod = $checkPeriod; + + //Set up the periodic update checks + $this->cronHook = $this->updateChecker->getUniqueName('cron_check_updates'); + if ( $this->checkPeriod > 0 ){ + + //Trigger the check via Cron. + //Try to use one of the default schedules if possible as it's less likely to conflict + //with other plugins and their custom schedules. + $defaultSchedules = array( + 1 => 'hourly', + 12 => 'twicedaily', + 24 => 'daily', + ); + if ( array_key_exists($this->checkPeriod, $defaultSchedules) ) { + $scheduleName = $defaultSchedules[$this->checkPeriod]; + } else { + //Use a custom cron schedule. + $scheduleName = 'every' . $this->checkPeriod . 'hours'; + //phpcs:ignore WordPress.WP.CronInterval.ChangeDetected -- WPCS fails to parse the callback. + add_filter('cron_schedules', array($this, '_addCustomSchedule')); + } + + if ( !wp_next_scheduled($this->cronHook) && !defined('WP_INSTALLING') ) { + //Randomly offset the schedule to help prevent update server traffic spikes. Without this + //most checks may happen during times of day when people are most likely to install new plugins. + $upperLimit = max($this->checkPeriod * 3600 - 15 * 60, 1); + if ( function_exists('wp_rand') ) { + $randomOffset = wp_rand(0, $upperLimit); + } else { + //This constructor may be called before wp_rand() is available. + //phpcs:ignore WordPress.WP.AlternativeFunctions.rand_rand + $randomOffset = rand(0, $upperLimit); + } + $firstCheckTime = time() - $randomOffset; + $firstCheckTime = apply_filters( + $this->updateChecker->getUniqueName('first_check_time'), + $firstCheckTime + ); + wp_schedule_event($firstCheckTime, $scheduleName, $this->cronHook); + } + add_action($this->cronHook, array($this, 'maybeCheckForUpdates')); + + //In case Cron is disabled or unreliable, we also manually trigger + //the periodic checks while the user is browsing the Dashboard. + add_action( 'admin_init', array($this, 'maybeCheckForUpdates') ); + + //Like WordPress itself, we check more often on certain pages. + /** @see wp_update_plugins */ + add_action('load-update-core.php', array($this, 'maybeCheckForUpdates')); + //phpcs:ignore Squiz.PHP.CommentedOutCode.Found -- Not actually code, just file names. + //"load-update.php" and "load-plugins.php" or "load-themes.php". + $this->hourlyCheckHooks = array_merge($this->hourlyCheckHooks, $hourlyHooks); + foreach($this->hourlyCheckHooks as $hook) { + add_action($hook, array($this, 'maybeCheckForUpdates')); + } + //This hook fires after a bulk update is complete. + add_action('upgrader_process_complete', array($this, 'removeHooksIfLibraryGone'), 1, 0); + add_action('upgrader_process_complete', array($this, 'upgraderProcessComplete'), 11, 2); + + } else { + //Periodic checks are disabled. + wp_clear_scheduled_hook($this->cronHook); + } + } + + /** + * Remove all hooks if this version of PUC has been deleted or overwritten. + * + * Callback for the "upgrader_process_complete" action. + */ + public function removeHooksIfLibraryGone() { + //Cancel all further actions if the current version of PUC has been deleted or overwritten + //by a different version during the upgrade. If we try to do anything more in that situation, + //we could trigger a fatal error by trying to autoload a deleted class. + clearstatcache(); + if ( !file_exists(__FILE__) ) { + $this->removeHooks(); + $this->updateChecker->removeHooks(); + } + } + + /** + * Runs upon the WP action upgrader_process_complete. + * + * We look at the parameters to decide whether to call maybeCheckForUpdates() or not. + * We also check if the update checker has been removed by the update. + * + * @param \WP_Upgrader $upgrader WP_Upgrader instance + * @param array $upgradeInfo extra information about the upgrade + */ + public function upgraderProcessComplete( + /** @noinspection PhpUnusedParameterInspection */ + $upgrader, $upgradeInfo + ) { + //Sanity check and limitation to relevant types. + if ( + !is_array($upgradeInfo) || !isset($upgradeInfo['type'], $upgradeInfo['action']) + || 'update' !== $upgradeInfo['action'] || !in_array($upgradeInfo['type'], array('plugin', 'theme')) + ) { + return; + } + + //Filter out notifications of upgrades that should have no bearing upon whether or not our + //current info is up-to-date. + if ( is_a($this->updateChecker, Theme\UpdateChecker::class) ) { + if ( 'theme' !== $upgradeInfo['type'] || !isset($upgradeInfo['themes']) ) { + return; + } + + //Letting too many things going through for checks is not a real problem, so we compare widely. + if ( !in_array( + strtolower($this->updateChecker->directoryName), + array_map('strtolower', $upgradeInfo['themes']) + ) ) { + return; + } + } + + if ( is_a($this->updateChecker, Plugin\UpdateChecker::class) ) { + if ( 'plugin' !== $upgradeInfo['type'] || !isset($upgradeInfo['plugins']) ) { + return; + } + + //Themes pass in directory names in the information array, but plugins use the relative plugin path. + if ( !in_array( + strtolower($this->updateChecker->directoryName), + array_map('dirname', array_map('strtolower', $upgradeInfo['plugins'])) + ) ) { + return; + } + } + + $this->maybeCheckForUpdates(); + } + + /** + * Check for updates if the configured check interval has already elapsed. + * Will use a shorter check interval on certain admin pages like "Dashboard -> Updates" or when doing cron. + * + * You can override the default behaviour by using the "puc_check_now-$slug" filter. + * The filter callback will be passed three parameters: + * - Current decision. TRUE = check updates now, FALSE = don't check now. + * - Last check time as a Unix timestamp. + * - Configured check period in hours. + * Return TRUE to check for updates immediately, or FALSE to cancel. + * + * This method is declared public because it's a hook callback. Calling it directly is not recommended. + */ + public function maybeCheckForUpdates() { + if ( empty($this->checkPeriod) ){ + return; + } + + $state = $this->updateChecker->getUpdateState(); + $shouldCheck = ($state->timeSinceLastCheck() >= $this->getEffectiveCheckPeriod()); + + if ( $shouldCheck ) { + //Sanity check: Do not proceed if one of the critical classes is missing. + //That can happen - theoretically and extremely rarely - if maybeCheckForUpdates() + //is called before the old version of our plugin has been fully deleted, or + //called from an independent AJAX request during deletion. + if ( !( + class_exists(Utils::class) + && class_exists(Metadata::class) + && class_exists(Plugin\Update::class) + && class_exists(Theme\Update::class) + ) ) { + return; + } + } + + //Let plugin authors substitute their own algorithm. + $shouldCheck = apply_filters( + $this->updateChecker->getUniqueName('check_now'), + $shouldCheck, + $state->getLastCheck(), + $this->checkPeriod + ); + + if ( $shouldCheck ) { + $this->updateChecker->checkForUpdates(); + } + } + + /** + * Calculate the actual check period based on the current status and environment. + * + * @return int Check period in seconds. + */ + protected function getEffectiveCheckPeriod() { + $currentFilter = current_filter(); + if ( in_array($currentFilter, array('load-update-core.php', 'upgrader_process_complete')) ) { + //Check more often when the user visits "Dashboard -> Updates" or does a bulk update. + $period = 60; + } else if ( in_array($currentFilter, $this->hourlyCheckHooks) ) { + //Also check more often on /wp-admin/update.php and the "Plugins" or "Themes" page. + $period = 3600; + } else if ( $this->throttleRedundantChecks && ($this->updateChecker->getUpdate() !== null) ) { + //Check less frequently if it's already known that an update is available. + $period = $this->throttledCheckPeriod * 3600; + } else if ( defined('DOING_CRON') && constant('DOING_CRON') ) { + //WordPress cron schedules are not exact, so let's do an update check even + //if slightly less than $checkPeriod hours have elapsed since the last check. + $cronFuzziness = 20 * 60; + $period = $this->checkPeriod * 3600 - $cronFuzziness; + } else { + $period = $this->checkPeriod * 3600; + } + + return $period; + } + + /** + * Add our custom schedule to the array of Cron schedules used by WP. + * + * @param array $schedules + * @return array + */ + public function _addCustomSchedule($schedules) { + if ( $this->checkPeriod && ($this->checkPeriod > 0) ){ + $scheduleName = 'every' . $this->checkPeriod . 'hours'; + $schedules[$scheduleName] = array( + 'interval' => $this->checkPeriod * 3600, + 'display' => sprintf('Every %d hours', $this->checkPeriod), + ); + } + return $schedules; + } + + /** + * Remove the scheduled cron event that the library uses to check for updates. + * + * @return void + */ + public function removeUpdaterCron() { + wp_clear_scheduled_hook($this->cronHook); + } + + /** + * Get the name of the update checker's WP-cron hook. Mostly useful for debugging. + * + * @return string + */ + public function getCronHookName() { + return $this->cronHook; + } + + /** + * Remove most hooks added by the scheduler. + */ + public function removeHooks() { + remove_filter('cron_schedules', array($this, '_addCustomSchedule')); + remove_action('admin_init', array($this, 'maybeCheckForUpdates')); + remove_action('load-update-core.php', array($this, 'maybeCheckForUpdates')); + + if ( $this->cronHook !== null ) { + remove_action($this->cronHook, array($this, 'maybeCheckForUpdates')); + } + if ( !empty($this->hourlyCheckHooks) ) { + foreach ($this->hourlyCheckHooks as $hook) { + remove_action($hook, array($this, 'maybeCheckForUpdates')); + } + } + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/StateStore.php b/plugin-update-checker/Puc/v5p5/StateStore.php new file mode 100644 index 0000000..b3dac76 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/StateStore.php @@ -0,0 +1,214 @@ +optionName = $optionName; + } + + /** + * Get time elapsed since the last update check. + * + * If there are no recorded update checks, this method returns a large arbitrary number + * (i.e. time since the Unix epoch). + * + * @return int Elapsed time in seconds. + */ + public function timeSinceLastCheck() { + $this->lazyLoad(); + return time() - $this->lastCheck; + } + + /** + * @return int + */ + public function getLastCheck() { + $this->lazyLoad(); + return $this->lastCheck; + } + + /** + * Set the time of the last update check to the current timestamp. + * + * @return $this + */ + public function setLastCheckToNow() { + $this->lazyLoad(); + $this->lastCheck = time(); + return $this; + } + + /** + * @return null|Update + */ + public function getUpdate() { + $this->lazyLoad(); + return $this->update; + } + + /** + * @param Update|null $update + * @return $this + */ + public function setUpdate(Update $update = null) { + $this->lazyLoad(); + $this->update = $update; + return $this; + } + + /** + * @return string + */ + public function getCheckedVersion() { + $this->lazyLoad(); + return $this->checkedVersion; + } + + /** + * @param string $version + * @return $this + */ + public function setCheckedVersion($version) { + $this->lazyLoad(); + $this->checkedVersion = strval($version); + return $this; + } + + /** + * Get translation updates. + * + * @return array + */ + public function getTranslations() { + $this->lazyLoad(); + if ( isset($this->update, $this->update->translations) ) { + return $this->update->translations; + } + return array(); + } + + /** + * Set translation updates. + * + * @param array $translationUpdates + */ + public function setTranslations($translationUpdates) { + $this->lazyLoad(); + if ( isset($this->update) ) { + $this->update->translations = $translationUpdates; + $this->save(); + } + } + + public function save() { + $state = new \stdClass(); + + $state->lastCheck = $this->lastCheck; + $state->checkedVersion = $this->checkedVersion; + + if ( isset($this->update)) { + $state->update = $this->update->toStdClass(); + + $updateClass = get_class($this->update); + $state->updateClass = $updateClass; + $prefix = $this->getLibPrefix(); + if ( Utils::startsWith($updateClass, $prefix) ) { + $state->updateBaseClass = substr($updateClass, strlen($prefix)); + } + } + + update_site_option($this->optionName, $state); + $this->isLoaded = true; + } + + /** + * @return $this + */ + public function lazyLoad() { + if ( !$this->isLoaded ) { + $this->load(); + } + return $this; + } + + protected function load() { + $this->isLoaded = true; + + $state = get_site_option($this->optionName, null); + + if ( + !is_object($state) + //Sanity check: If the Utils class is missing, the plugin is probably in the process + //of being deleted (e.g. the old version gets deleted during an update). + || !class_exists(Utils::class) + ) { + $this->lastCheck = 0; + $this->checkedVersion = ''; + $this->update = null; + return; + } + + $this->lastCheck = intval(Utils::get($state, 'lastCheck', 0)); + $this->checkedVersion = Utils::get($state, 'checkedVersion', ''); + $this->update = null; + + if ( isset($state->update) ) { + //This mess is due to the fact that the want the update class from this version + //of the library, not the version that saved the update. + + $updateClass = null; + if ( isset($state->updateBaseClass) ) { + $updateClass = $this->getLibPrefix() . $state->updateBaseClass; + } else if ( isset($state->updateClass) ) { + $updateClass = $state->updateClass; + } + + $factory = array($updateClass, 'fromObject'); + if ( ($updateClass !== null) && is_callable($factory) ) { + $this->update = call_user_func($factory, $state->update); + } + } + } + + public function delete() { + delete_site_option($this->optionName); + + $this->lastCheck = 0; + $this->checkedVersion = ''; + $this->update = null; + } + + private function getLibPrefix() { + //This assumes that the current class is at the top of the versioned namespace. + return __NAMESPACE__ . '\\'; + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/Theme/Package.php b/plugin-update-checker/Puc/v5p5/Theme/Package.php new file mode 100644 index 0000000..7180229 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Theme/Package.php @@ -0,0 +1,69 @@ +stylesheet = $stylesheet; + $this->theme = wp_get_theme($this->stylesheet); + + parent::__construct($updateChecker); + } + + public function getInstalledVersion() { + return $this->theme->get('Version'); + } + + public function getAbsoluteDirectoryPath() { + if ( method_exists($this->theme, 'get_stylesheet_directory') ) { + return $this->theme->get_stylesheet_directory(); //Available since WP 3.4. + } + return get_theme_root($this->stylesheet) . '/' . $this->stylesheet; + } + + /** + * Get the value of a specific plugin or theme header. + * + * @param string $headerName + * @param string $defaultValue + * @return string Either the value of the header, or $defaultValue if the header doesn't exist or is empty. + */ + public function getHeaderValue($headerName, $defaultValue = '') { + $value = $this->theme->get($headerName); + if ( ($headerName === false) || ($headerName === '') ) { + return $defaultValue; + } + return $value; + } + + protected function getHeaderNames() { + return array( + 'Name' => 'Theme Name', + 'ThemeURI' => 'Theme URI', + 'Description' => 'Description', + 'Author' => 'Author', + 'AuthorURI' => 'Author URI', + 'Version' => 'Version', + 'Template' => 'Template', + 'Status' => 'Status', + 'Tags' => 'Tags', + 'TextDomain' => 'Text Domain', + 'DomainPath' => 'Domain Path', + ); + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/Theme/Update.php b/plugin-update-checker/Puc/v5p5/Theme/Update.php new file mode 100644 index 0000000..dfb8c44 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Theme/Update.php @@ -0,0 +1,88 @@ + $this->slug, + 'new_version' => $this->version, + 'url' => $this->details_url, + ); + + if ( !empty($this->download_url) ) { + $update['package'] = $this->download_url; + } + + return $update; + } + + /** + * Create a new instance of Theme_Update from its JSON-encoded representation. + * + * @param string $json Valid JSON string representing a theme information object. + * @return self New instance of ThemeUpdate, or NULL on error. + */ + public static function fromJson($json) { + $instance = new self(); + if ( !parent::createFromJson($json, $instance) ) { + return null; + } + return $instance; + } + + /** + * Create a new instance by copying the necessary fields from another object. + * + * @param \StdClass|self $object The source object. + * @return self The new copy. + */ + public static function fromObject($object) { + $update = new self(); + $update->copyFields($object, $update); + return $update; + } + + /** + * Basic validation. + * + * @param \StdClass $apiResponse + * @return bool|\WP_Error + */ + protected function validateMetadata($apiResponse) { + $required = array('version', 'details_url'); + foreach($required as $key) { + if ( !isset($apiResponse->$key) || empty($apiResponse->$key) ) { + return new \WP_Error( + 'tuc-invalid-metadata', + sprintf('The theme metadata is missing the required "%s" key.', $key) + ); + } + } + return true; + } + + protected function getFieldNames() { + return array_merge(parent::getFieldNames(), self::$extraFields); + } + + protected function getPrefixedFilter($tag) { + return parent::getPrefixedFilter($tag) . '_theme'; + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/Theme/UpdateChecker.php b/plugin-update-checker/Puc/v5p5/Theme/UpdateChecker.php new file mode 100644 index 0000000..0851cbd --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Theme/UpdateChecker.php @@ -0,0 +1,159 @@ +stylesheet = $stylesheet; + + parent::__construct( + $metadataUrl, + $stylesheet, + $customSlug ? $customSlug : $stylesheet, + $checkPeriod, + $optionName + ); + } + + /** + * For themes, the update array is indexed by theme directory name. + * + * @return string + */ + protected function getUpdateListKey() { + return $this->directoryName; + } + + /** + * Retrieve the latest update (if any) from the configured API endpoint. + * + * @return Update|null An instance of Update, or NULL when no updates are available. + */ + public function requestUpdate() { + list($themeUpdate, $result) = $this->requestMetadata(Update::class, 'request_update'); + + if ( $themeUpdate !== null ) { + /** @var Update $themeUpdate */ + $themeUpdate->slug = $this->slug; + } + + $themeUpdate = $this->filterUpdateResult($themeUpdate, $result); + return $themeUpdate; + } + + protected function getNoUpdateItemFields() { + return array_merge( + parent::getNoUpdateItemFields(), + array( + 'theme' => $this->directoryName, + 'requires' => '', + ) + ); + } + + public function userCanInstallUpdates() { + return current_user_can('update_themes'); + } + + /** + * Create an instance of the scheduler. + * + * @param int $checkPeriod + * @return Scheduler + */ + protected function createScheduler($checkPeriod) { + return new Scheduler($this, $checkPeriod, array('load-themes.php')); + } + + /** + * Is there an update being installed right now for this theme? + * + * @param \WP_Upgrader|null $upgrader The upgrader that's performing the current update. + * @return bool + */ + public function isBeingUpgraded($upgrader = null) { + return $this->upgraderStatus->isThemeBeingUpgraded($this->stylesheet, $upgrader); + } + + protected function createDebugBarExtension() { + return new DebugBar\Extension($this, DebugBar\ThemePanel::class); + } + + /** + * Register a callback for filtering query arguments. + * + * The callback function should take one argument - an associative array of query arguments. + * It should return a modified array of query arguments. + * + * @param callable $callback + * @return void + */ + public function addQueryArgFilter($callback){ + $this->addFilter('request_update_query_args', $callback); + } + + /** + * Register a callback for filtering arguments passed to wp_remote_get(). + * + * The callback function should take one argument - an associative array of arguments - + * and return a modified array or arguments. See the WP documentation on wp_remote_get() + * for details on what arguments are available and how they work. + * + * @uses add_filter() This method is a convenience wrapper for add_filter(). + * + * @param callable $callback + * @return void + */ + public function addHttpRequestArgFilter($callback) { + $this->addFilter('request_update_options', $callback); + } + + /** + * Register a callback for filtering theme updates retrieved from the external API. + * + * The callback function should take two arguments. If the theme update was retrieved + * successfully, the first argument passed will be an instance of Theme_Update. Otherwise, + * it will be NULL. The second argument will be the corresponding return value of + * wp_remote_get (see WP docs for details). + * + * The callback function should return a new or modified instance of Theme_Update or NULL. + * + * @uses add_filter() This method is a convenience wrapper for add_filter(). + * + * @param callable $callback + * @return void + */ + public function addResultFilter($callback) { + $this->addFilter('request_update_result', $callback, 10, 2); + } + + /** + * Create a package instance that represents this plugin or theme. + * + * @return InstalledPackage + */ + protected function createInstalledPackage() { + return new Package($this->stylesheet, $this); + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/Update.php b/plugin-update-checker/Puc/v5p5/Update.php new file mode 100644 index 0000000..106d21f --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Update.php @@ -0,0 +1,38 @@ +slug = $this->slug; + $update->new_version = $this->version; + $update->package = $this->download_url; + + return $update; + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/UpdateChecker.php b/plugin-update-checker/Puc/v5p5/UpdateChecker.php new file mode 100644 index 0000000..af5dcd5 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/UpdateChecker.php @@ -0,0 +1,1141 @@ +debugMode = (bool)(constant('WP_DEBUG')); + $this->metadataUrl = $metadataUrl; + $this->directoryName = $directoryName; + $this->slug = !empty($slug) ? $slug : $this->directoryName; + + $this->optionName = $optionName; + if ( empty($this->optionName) ) { + //BC: Initially the library only supported plugin updates and didn't use type prefixes + //in the option name. Lets use the same prefix-less name when possible. + if ( $this->filterSuffix === '' ) { + $this->optionName = 'external_updates-' . $this->slug; + } else { + $this->optionName = $this->getUniqueName('external_updates'); + } + } + + if ( empty($this->translationType) ) { + $this->translationType = $this->componentType; + } + + $this->package = $this->createInstalledPackage(); + $this->scheduler = $this->createScheduler($checkPeriod); + $this->upgraderStatus = new UpgraderStatus(); + $this->updateState = new StateStore($this->optionName); + + if ( did_action('init') ) { + $this->loadTextDomain(); + } else { + add_action('init', array($this, 'loadTextDomain')); + } + + $this->installHooks(); + + if ( ($this->wpCliCheckTrigger === null) && defined('WP_CLI') ) { + $this->wpCliCheckTrigger = new WpCliCheckTrigger($this->componentType, $this->scheduler); + } + } + + /** + * @internal + */ + public function loadTextDomain() { + //We're not using load_plugin_textdomain() or its siblings because figuring out where + //the library is located (plugin, mu-plugin, theme, custom wp-content paths) is messy. + $domain = 'plugin-update-checker'; + $locale = apply_filters( + 'plugin_locale', + (is_admin() && function_exists('get_user_locale')) ? get_user_locale() : get_locale(), + $domain + ); + + $moFile = $domain . '-' . $locale . '.mo'; + $path = realpath(dirname(__FILE__) . '/../../languages'); + + if ($path && file_exists($path)) { + load_textdomain($domain, $path . '/' . $moFile); + } + } + + protected function installHooks() { + //Insert our update info into the update array maintained by WP. + add_filter('site_transient_' . $this->updateTransient, array($this,'injectUpdate')); + + //Insert translation updates into the update list. + add_filter('site_transient_' . $this->updateTransient, array($this, 'injectTranslationUpdates')); + + //Clear translation updates when WP clears the update cache. + //This needs to be done directly because the library doesn't actually remove obsolete plugin updates, + //it just hides them (see getUpdate()). We can't do that with translations - too much disk I/O. + add_action( + 'delete_site_transient_' . $this->updateTransient, + array($this, 'clearCachedTranslationUpdates') + ); + + //Rename the update directory to be the same as the existing directory. + if ( $this->directoryName !== '.' ) { + add_filter('upgrader_source_selection', array($this, 'fixDirectoryName'), 10, 3); + } + + //Allow HTTP requests to the metadata URL even if it's on a local host. + add_filter('http_request_host_is_external', array($this, 'allowMetadataHost'), 10, 2); + + //Potentially exclude information about this entity from core update check requests to api.wordpress.org. + //phpcs:ignore WordPressVIPMinimum.Hooks.RestrictedHooks.http_request_args -- Doesn't modify timeouts. + add_filter('http_request_args', array($this, 'excludeEntityFromWordPressAPI'), 10, 2); + + //DebugBar integration. + if ( did_action('plugins_loaded') ) { + $this->maybeInitDebugBar(); + } else { + add_action('plugins_loaded', array($this, 'maybeInitDebugBar')); + } + } + + /** + * Remove hooks that were added by this update checker instance. + */ + public function removeHooks() { + remove_filter('site_transient_' . $this->updateTransient, array($this,'injectUpdate')); + remove_filter('site_transient_' . $this->updateTransient, array($this, 'injectTranslationUpdates')); + remove_action( + 'delete_site_transient_' . $this->updateTransient, + array($this, 'clearCachedTranslationUpdates') + ); + + remove_filter('upgrader_source_selection', array($this, 'fixDirectoryName'), 10); + remove_filter('http_request_host_is_external', array($this, 'allowMetadataHost'), 10); + remove_filter('http_request_args', array($this, 'excludeEntityFromWordPressAPI')); + remove_action('plugins_loaded', array($this, 'maybeInitDebugBar')); + + remove_action('init', array($this, 'loadTextDomain')); + + if ( $this->scheduler ) { + $this->scheduler->removeHooks(); + } + + if ( $this->debugBarExtension ) { + $this->debugBarExtension->removeHooks(); + } + } + + /** + * Check if the current user has the required permissions to install updates. + * + * @return bool + */ + abstract public function userCanInstallUpdates(); + + /** + * Explicitly allow HTTP requests to the metadata URL. + * + * WordPress has a security feature where the HTTP API will reject all requests that are sent to + * another site hosted on the same server as the current site (IP match), a local host, or a local + * IP, unless the host exactly matches the current site. + * + * This feature is opt-in (at least in WP 4.4). Apparently some people enable it. + * + * That can be a problem when you're developing your plugin and you decide to host the update information + * on the same server as your test site. Update requests will mysteriously fail. + * + * We fix that by adding an exception for the metadata host. + * + * @param bool $allow + * @param string $host + * @return bool + */ + public function allowMetadataHost($allow, $host) { + if ( $this->cachedMetadataHost === 0 ) { + $this->cachedMetadataHost = wp_parse_url($this->metadataUrl, PHP_URL_HOST); + } + + if ( is_string($this->cachedMetadataHost) && (strtolower($host) === strtolower($this->cachedMetadataHost)) ) { + return true; + } + return $allow; + } + + /** + * Create a package instance that represents this plugin or theme. + * + * @return InstalledPackage + */ + abstract protected function createInstalledPackage(); + + /** + * @return InstalledPackage + */ + public function getInstalledPackage() { + return $this->package; + } + + /** + * Create an instance of the scheduler. + * + * This is implemented as a method to make it possible for plugins to subclass the update checker + * and substitute their own scheduler. + * + * @param int $checkPeriod + * @return Scheduler + */ + abstract protected function createScheduler($checkPeriod); + + /** + * Remove information about this plugin or theme from the requests that WordPress core sends + * to api.wordpress.org when checking for updates. + * + * @param array $args + * @param string $url + * @return array + */ + public function excludeEntityFromWordPressAPI($args, $url) { + //Is this an api.wordpress.org update check request? + $parsedUrl = wp_parse_url($url); + if ( !isset($parsedUrl['host']) || (strtolower($parsedUrl['host']) !== 'api.wordpress.org') ) { + return $args; + } + + $typePluralised = $this->componentType . 's'; + $expectedPathPrefix = '/' . $typePluralised . '/update-check/1.'; //e.g. "/plugins/update-check/1.1/" + if ( !isset($parsedUrl['path']) || !Utils::startsWith($parsedUrl['path'], $expectedPathPrefix) ) { + return $args; + } + + //Plugins and themes can disable this feature by using the filter below. + if ( !apply_filters( + $this->getUniqueName('remove_from_default_update_checks'), + true, $this, $args, $url + ) ) { + return $args; + } + + if ( empty($args['body'][$typePluralised]) ) { + return $args; + } + + $reportingItems = json_decode($args['body'][$typePluralised], true); + if ( $reportingItems === null ) { + return $args; + } + + //The list of installed items uses different key formats for plugins and themes. + //Luckily, we can reuse the getUpdateListKey() method here. + $updateListKey = $this->getUpdateListKey(); + if ( isset($reportingItems[$typePluralised][$updateListKey]) ) { + unset($reportingItems[$typePluralised][$updateListKey]); + } + + if ( !empty($reportingItems['active']) ) { + if ( is_array($reportingItems['active']) ) { + foreach ($reportingItems['active'] as $index => $relativePath) { + if ( $relativePath === $updateListKey ) { + unset($reportingItems['active'][$index]); + } + } + //Re-index the array. + $reportingItems['active'] = array_values($reportingItems['active']); + } else if ( $reportingItems['active'] === $updateListKey ) { + //For themes, the "active" field is a string that contains the theme's directory name. + //Pretend that the default theme is active so that we don't reveal the actual theme. + if ( defined('WP_DEFAULT_THEME') ) { + $reportingItems['active'] = WP_DEFAULT_THEME; + } + + //Unfortunately, it doesn't seem to be documented if we can safely remove the "active" + //key. So when we don't know the default theme, we'll just leave it as is. + } + } + + $args['body'][$typePluralised] = wp_json_encode($reportingItems); + return $args; + } + + /** + * Check for updates. The results are stored in the DB option specified in $optionName. + * + * @return Update|null + */ + public function checkForUpdates() { + $installedVersion = $this->getInstalledVersion(); + //Fail silently if we can't find the plugin/theme or read its header. + if ( $installedVersion === null ) { + $this->triggerError( + sprintf('Skipping update check for %s - installed version unknown.', $this->slug), + E_USER_WARNING + ); + return null; + } + + //Start collecting API errors. + $this->lastRequestApiErrors = array(); + add_action('puc_api_error', array($this, 'collectApiErrors'), 10, 4); + + $state = $this->updateState; + $state->setLastCheckToNow() + ->setCheckedVersion($installedVersion) + ->save(); //Save before checking in case something goes wrong + + $state->setUpdate($this->requestUpdate()); + $state->save(); + + //Stop collecting API errors. + remove_action('puc_api_error', array($this, 'collectApiErrors'), 10); + + return $this->getUpdate(); + } + + /** + * Load the update checker state from the DB. + * + * @return StateStore + */ + public function getUpdateState() { + return $this->updateState->lazyLoad(); + } + + /** + * Reset update checker state - i.e. last check time, cached update data and so on. + * + * Call this when your plugin is being uninstalled, or if you want to + * clear the update cache. + */ + public function resetUpdateState() { + $this->updateState->delete(); + } + + /** + * Get the details of the currently available update, if any. + * + * If no updates are available, or if the last known update version is below or equal + * to the currently installed version, this method will return NULL. + * + * Uses cached update data. To retrieve update information straight from + * the metadata URL, call requestUpdate() instead. + * + * @return Update|null + */ + public function getUpdate() { + $update = $this->updateState->getUpdate(); + + //Is there an update available? + if ( isset($update) ) { + //Check if the update is actually newer than the currently installed version. + $installedVersion = $this->getInstalledVersion(); + if ( ($installedVersion !== null) && version_compare($update->version, $installedVersion, '>') ){ + return $update; + } + } + return null; + } + + /** + * Retrieve the latest update (if any) from the configured API endpoint. + * + * Subclasses should run the update through filterUpdateResult before returning it. + * + * @return Update An instance of Update, or NULL when no updates are available. + */ + abstract public function requestUpdate(); + + /** + * Filter the result of a requestUpdate() call. + * + * @template T of Update + * @param T|null $update + * @param array|WP_Error|null $httpResult The value returned by wp_remote_get(), if any. + * @return T + */ + protected function filterUpdateResult($update, $httpResult = null) { + //Let plugins/themes modify the update. + $update = apply_filters($this->getUniqueName('request_update_result'), $update, $httpResult); + + $this->fixSupportedWordpressVersion($update); + + if ( isset($update, $update->translations) ) { + //Keep only those translation updates that apply to this site. + $update->translations = $this->filterApplicableTranslations($update->translations); + } + + return $update; + } + + /** + * The "Tested up to" field in the plugin metadata is supposed to be in the form of "major.minor", + * while WordPress core's list_plugin_updates() expects the $update->tested field to be an exact + * version, e.g. "major.minor.patch", to say it's compatible. In other case it shows + * "Compatibility: Unknown". + * The function mimics how wordpress.org API crafts the "tested" field out of "Tested up to". + * + * @param Metadata|null $update + */ + protected function fixSupportedWordpressVersion(Metadata $update = null) { + if ( !isset($update->tested) || !preg_match('/^\d++\.\d++$/', $update->tested) ) { + return; + } + + $actualWpVersions = array(); + + $wpVersion = $GLOBALS['wp_version']; + + if ( function_exists('get_core_updates') ) { + $coreUpdates = get_core_updates(); + if ( is_array($coreUpdates) ) { + foreach ($coreUpdates as $coreUpdate) { + if ( isset($coreUpdate->current) ) { + $actualWpVersions[] = $coreUpdate->current; + } + } + } + } + + $actualWpVersions[] = $wpVersion; + + $actualWpPatchNumber = null; + foreach ($actualWpVersions as $version) { + if ( preg_match('/^(?P\d++\.\d++)(?:\.(?P\d++))?/', $version, $versionParts) ) { + if ( $versionParts['majorMinor'] === $update->tested ) { + $patch = isset($versionParts['patch']) ? intval($versionParts['patch']) : 0; + if ( $actualWpPatchNumber === null ) { + $actualWpPatchNumber = $patch; + } else { + $actualWpPatchNumber = max($actualWpPatchNumber, $patch); + } + } + } + } + if ( $actualWpPatchNumber === null ) { + $actualWpPatchNumber = 999; + } + + if ( $actualWpPatchNumber > 0 ) { + $update->tested .= '.' . $actualWpPatchNumber; + } + } + + /** + * Get the currently installed version of the plugin or theme. + * + * @return string|null Version number. + */ + public function getInstalledVersion() { + return $this->package->getInstalledVersion(); + } + + /** + * Get the full path of the plugin or theme directory. + * + * @return string + */ + public function getAbsoluteDirectoryPath() { + return $this->package->getAbsoluteDirectoryPath(); + } + + /** + * Trigger a PHP error, but only when $debugMode is enabled. + * + * @param string $message + * @param int $errorType + */ + public function triggerError($message, $errorType) { + if ( $this->isDebugModeEnabled() ) { + //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error -- Only happens in debug mode. + trigger_error(esc_html($message), $errorType); + } + } + + /** + * @return bool + */ + protected function isDebugModeEnabled() { + if ( $this->debugMode === null ) { + $this->debugMode = (bool)(constant('WP_DEBUG')); + } + return $this->debugMode; + } + + /** + * Get the full name of an update checker filter, action or DB entry. + * + * This method adds the "puc_" prefix and the "-$slug" suffix to the filter name. + * For example, "pre_inject_update" becomes "puc_pre_inject_update-plugin-slug". + * + * @param string $baseTag + * @return string + */ + public function getUniqueName($baseTag) { + $name = 'puc_' . $baseTag; + if ( $this->filterSuffix !== '' ) { + $name .= '_' . $this->filterSuffix; + } + return $name . '-' . $this->slug; + } + + /** + * Store API errors that are generated when checking for updates. + * + * @internal + * @param \WP_Error $error + * @param array|null $httpResponse + * @param string|null $url + * @param string|null $slug + */ + public function collectApiErrors($error, $httpResponse = null, $url = null, $slug = null) { + if ( isset($slug) && ($slug !== $this->slug) ) { + return; + } + + $this->lastRequestApiErrors[] = array( + 'error' => $error, + 'httpResponse' => $httpResponse, + 'url' => $url, + ); + } + + /** + * @return array + */ + public function getLastRequestApiErrors() { + return $this->lastRequestApiErrors; + } + + /* ------------------------------------------------------------------- + * PUC filters and filter utilities + * ------------------------------------------------------------------- + */ + + /** + * Register a callback for one of the update checker filters. + * + * Identical to add_filter(), except it automatically adds the "puc_" prefix + * and the "-$slug" suffix to the filter name. For example, "request_info_result" + * becomes "puc_request_info_result-your_plugin_slug". + * + * @param string $tag + * @param callable $callback + * @param int $priority + * @param int $acceptedArgs + */ + public function addFilter($tag, $callback, $priority = 10, $acceptedArgs = 1) { + add_filter($this->getUniqueName($tag), $callback, $priority, $acceptedArgs); + } + + /* ------------------------------------------------------------------- + * Inject updates + * ------------------------------------------------------------------- + */ + + /** + * Insert the latest update (if any) into the update list maintained by WP. + * + * @param \stdClass $updates Update list. + * @return \stdClass Modified update list. + */ + public function injectUpdate($updates) { + //Is there an update to insert? + $update = $this->getUpdate(); + + if ( !$this->shouldShowUpdates() ) { + $update = null; + } + + if ( !empty($update) ) { + //Let plugins filter the update info before it's passed on to WordPress. + $update = apply_filters($this->getUniqueName('pre_inject_update'), $update); + $updates = $this->addUpdateToList($updates, $update->toWpFormat()); + } else { + //Clean up any stale update info. + $updates = $this->removeUpdateFromList($updates); + //Add a placeholder item to the "no_update" list to enable auto-update support. + //If we don't do this, the option to enable automatic updates will only show up + //when an update is available. + $updates = $this->addNoUpdateItem($updates); + } + + return $updates; + } + + /** + * @param \stdClass|null $updates + * @param \stdClass|array $updateToAdd + * @return \stdClass + */ + protected function addUpdateToList($updates, $updateToAdd) { + if ( !is_object($updates) ) { + $updates = new stdClass(); + $updates->response = array(); + } + + $updates->response[$this->getUpdateListKey()] = $updateToAdd; + return $updates; + } + + /** + * @param \stdClass|null $updates + * @return \stdClass|null + */ + protected function removeUpdateFromList($updates) { + if ( isset($updates, $updates->response) ) { + unset($updates->response[$this->getUpdateListKey()]); + } + return $updates; + } + + /** + * See this post for more information: + * @link https://make.wordpress.org/core/2020/07/30/recommended-usage-of-the-updates-api-to-support-the-auto-updates-ui-for-plugins-and-themes-in-wordpress-5-5/ + * + * @param \stdClass|null $updates + * @return \stdClass + */ + protected function addNoUpdateItem($updates) { + if ( !is_object($updates) ) { + $updates = new stdClass(); + $updates->response = array(); + $updates->no_update = array(); + } else if ( !isset($updates->no_update) ) { + $updates->no_update = array(); + } + + $updates->no_update[$this->getUpdateListKey()] = (object) $this->getNoUpdateItemFields(); + + return $updates; + } + + /** + * Subclasses should override this method to add fields that are specific to plugins or themes. + * @return array + */ + protected function getNoUpdateItemFields() { + return array( + 'new_version' => $this->getInstalledVersion(), + 'url' => '', + 'package' => '', + 'requires_php' => '', + ); + } + + /** + * Get the key that will be used when adding updates to the update list that's maintained + * by the WordPress core. The list is always an associative array, but the key is different + * for plugins and themes. + * + * @return string + */ + abstract protected function getUpdateListKey(); + + /** + * Should we show available updates? + * + * Usually the answer is "yes", but there are exceptions. For example, WordPress doesn't + * support automatic updates installation for mu-plugins, so PUC usually won't show update + * notifications in that case. See the plugin-specific subclass for details. + * + * Note: This method only applies to updates that are displayed (or not) in the WordPress + * admin. It doesn't affect APIs like requestUpdate and getUpdate. + * + * @return bool + */ + protected function shouldShowUpdates() { + return true; + } + + /* ------------------------------------------------------------------- + * JSON-based update API + * ------------------------------------------------------------------- + */ + + /** + * Retrieve plugin or theme metadata from the JSON document at $this->metadataUrl. + * + * @param class-string $metaClass Parse the JSON as an instance of this class. It must have a static fromJson method. + * @param string $filterRoot + * @param array $queryArgs Additional query arguments. + * @return array A metadata instance and the value returned by wp_remote_get(). + */ + protected function requestMetadata($metaClass, $filterRoot, $queryArgs = array()) { + //Query args to append to the URL. Plugins can add their own by using a filter callback (see addQueryArgFilter()). + $queryArgs = array_merge( + array( + 'installed_version' => strval($this->getInstalledVersion()), + 'php' => phpversion(), + 'locale' => get_locale(), + ), + $queryArgs + ); + $queryArgs = apply_filters($this->getUniqueName($filterRoot . '_query_args'), $queryArgs); + + //Various options for the wp_remote_get() call. Plugins can filter these, too. + $options = array( + 'timeout' => wp_doing_cron() ? 10 : 3, + 'headers' => array( + 'Accept' => 'application/json', + ), + ); + $options = apply_filters($this->getUniqueName($filterRoot . '_options'), $options); + + //The metadata file should be at 'http://your-api.com/url/here/$slug/info.json' + $url = $this->metadataUrl; + if ( !empty($queryArgs) ){ + $url = add_query_arg($queryArgs, $url); + } + + $result = wp_remote_get($url, $options); + + $result = apply_filters($this->getUniqueName('request_metadata_http_result'), $result, $url, $options); + + //Try to parse the response + $status = $this->validateApiResponse($result); + $metadata = null; + if ( !is_wp_error($status) ){ + if ( (strpos($metaClass, '\\') === false) ) { + $metaClass = __NAMESPACE__ . '\\' . $metaClass; + } + $metadata = call_user_func(array($metaClass, 'fromJson'), $result['body']); + } else { + do_action('puc_api_error', $status, $result, $url, $this->slug); + $this->triggerError( + sprintf('The URL %s does not point to a valid metadata file. ', $url) + . $status->get_error_message(), + E_USER_WARNING + ); + } + + return array($metadata, $result); + } + + /** + * Check if $result is a successful update API response. + * + * @param array|WP_Error $result + * @return true|WP_Error + */ + protected function validateApiResponse($result) { + if ( is_wp_error($result) ) { /** @var WP_Error $result */ + return new WP_Error($result->get_error_code(), 'WP HTTP Error: ' . $result->get_error_message()); + } + + if ( !isset($result['response']['code']) ) { + return new WP_Error( + 'puc_no_response_code', + 'wp_remote_get() returned an unexpected result.' + ); + } + + if ( $result['response']['code'] !== 200 ) { + return new WP_Error( + 'puc_unexpected_response_code', + 'HTTP response code is ' . $result['response']['code'] . ' (expected: 200)' + ); + } + + if ( empty($result['body']) ) { + return new WP_Error('puc_empty_response', 'The metadata file appears to be empty.'); + } + + return true; + } + + /* ------------------------------------------------------------------- + * Language packs / Translation updates + * ------------------------------------------------------------------- + */ + + /** + * Filter a list of translation updates and return a new list that contains only updates + * that apply to the current site. + * + * @param array $translations + * @return array + */ + protected function filterApplicableTranslations($translations) { + $languages = array_flip(array_values(get_available_languages())); + $installedTranslations = $this->getInstalledTranslations(); + + $applicableTranslations = array(); + foreach ($translations as $translation) { + //Does it match one of the available core languages? + $isApplicable = array_key_exists($translation->language, $languages); + //Is it more recent than an already-installed translation? + if ( isset($installedTranslations[$translation->language]) ) { + $updateTimestamp = strtotime($translation->updated); + $installedTimestamp = strtotime($installedTranslations[$translation->language]['PO-Revision-Date']); + $isApplicable = $updateTimestamp > $installedTimestamp; + } + + if ( $isApplicable ) { + $applicableTranslations[] = $translation; + } + } + + return $applicableTranslations; + } + + /** + * Get a list of installed translations for this plugin or theme. + * + * @return array + */ + protected function getInstalledTranslations() { + if ( !function_exists('wp_get_installed_translations') ) { + return array(); + } + $installedTranslations = wp_get_installed_translations($this->translationType . 's'); + if ( isset($installedTranslations[$this->directoryName]) ) { + $installedTranslations = $installedTranslations[$this->directoryName]; + } else { + $installedTranslations = array(); + } + return $installedTranslations; + } + + /** + * Insert translation updates into the list maintained by WordPress. + * + * @param stdClass $updates + * @return stdClass + */ + public function injectTranslationUpdates($updates) { + $translationUpdates = $this->getTranslationUpdates(); + if ( empty($translationUpdates) ) { + return $updates; + } + + //Being defensive. + if ( !is_object($updates) ) { + $updates = new stdClass(); + } + if ( !isset($updates->translations) ) { + $updates->translations = array(); + } + + //In case there's a name collision with a plugin or theme hosted on wordpress.org, + //remove any preexisting updates that match our thing. + $updates->translations = array_values(array_filter( + $updates->translations, + array($this, 'isNotMyTranslation') + )); + + //Add our updates to the list. + foreach($translationUpdates as $update) { + $convertedUpdate = array_merge( + array( + 'type' => $this->translationType, + 'slug' => $this->directoryName, + 'autoupdate' => 0, + //AFAICT, WordPress doesn't actually use the "version" field for anything. + //But lets make sure it's there, just in case. + 'version' => isset($update->version) ? $update->version : ('1.' . strtotime($update->updated)), + ), + (array)$update + ); + + $updates->translations[] = $convertedUpdate; + } + + return $updates; + } + + /** + * Get a list of available translation updates. + * + * This method will return an empty array if there are no updates. + * Uses cached update data. + * + * @return array + */ + public function getTranslationUpdates() { + return $this->updateState->getTranslations(); + } + + /** + * Remove all cached translation updates. + * + * @see wp_clean_update_cache + */ + public function clearCachedTranslationUpdates() { + $this->updateState->setTranslations(array()); + } + + /** + * Filter callback. Keeps only translations that *don't* match this plugin or theme. + * + * @param array $translation + * @return bool + */ + protected function isNotMyTranslation($translation) { + $isMatch = isset($translation['type'], $translation['slug']) + && ($translation['type'] === $this->translationType) + && ($translation['slug'] === $this->directoryName); + + return !$isMatch; + } + + /* ------------------------------------------------------------------- + * Fix directory name when installing updates + * ------------------------------------------------------------------- + */ + + /** + * Rename the update directory to match the existing plugin/theme directory. + * + * When WordPress installs a plugin or theme update, it assumes that the ZIP file will contain + * exactly one directory, and that the directory name will be the same as the directory where + * the plugin or theme is currently installed. + * + * GitHub and other repositories provide ZIP downloads, but they often use directory names like + * "project-branch" or "project-tag-hash". We need to change the name to the actual plugin folder. + * + * This is a hook callback. Don't call it from a plugin. + * + * @access protected + * + * @param string $source The directory to copy to /wp-content/plugins or /wp-content/themes. Usually a subdirectory of $remoteSource. + * @param string $remoteSource WordPress has extracted the update to this directory. + * @param \WP_Upgrader $upgrader + * @return string|WP_Error + */ + public function fixDirectoryName($source, $remoteSource, $upgrader) { + global $wp_filesystem; + /** @var \WP_Filesystem_Base $wp_filesystem */ + + //Basic sanity checks. + if ( !isset($source, $remoteSource, $upgrader, $upgrader->skin, $wp_filesystem) ) { + return $source; + } + + //If WordPress is upgrading anything other than our plugin/theme, leave the directory name unchanged. + if ( !$this->isBeingUpgraded($upgrader) ) { + return $source; + } + + //Fix the remote source structure if necessary. + //The update archive should contain a single directory that contains the rest of plugin/theme files. + //Otherwise, WordPress will try to copy the entire working directory ($source == $remoteSource). + //We can't rename $remoteSource because that would break WordPress code that cleans up temporary files + //after update. + if ( $this->isBadDirectoryStructure($remoteSource) ) { + //Create a new directory using the plugin slug. + $newDirectory = trailingslashit($remoteSource) . $this->slug . '/'; + + if ( !$wp_filesystem->is_dir($newDirectory) ) { + $wp_filesystem->mkdir($newDirectory); + + //Move all files to the newly created directory. + $sourceFiles = $wp_filesystem->dirlist($remoteSource); + if ( is_array($sourceFiles) ) { + $sourceFiles = array_keys($sourceFiles); + $allMoved = true; + foreach ($sourceFiles as $filename) { + //Skip our newly created folder. + if ( $filename === $this->slug ) { + continue; + } + + $previousSource = trailingslashit($remoteSource) . $filename; + $newSource = trailingslashit($newDirectory) . $filename; + + if ( !$wp_filesystem->move($previousSource, $newSource, true) ) { + $allMoved = false; + break; + } + } + + if ( $allMoved ) { + //Rename source. + $source = $newDirectory; + } else { + //Delete our newly created folder including all files in it. + $wp_filesystem->rmdir($newDirectory, true); + + //And return a relevant error. + return new WP_Error( + 'puc-incorrect-directory-structure', + sprintf( + 'The directory structure of the update was incorrect. All files should be inside ' . + 'a directory named %s, not at the root of the ZIP archive. Plugin Update Checker tried to fix the directory structure, but failed.', + htmlentities($this->slug) + ) + ); + } + } + } + } + + //Rename the source to match the existing directory. + $correctedSource = trailingslashit($remoteSource) . $this->directoryName . '/'; + if ( $source !== $correctedSource ) { + $upgrader->skin->feedback(sprintf( + 'Renaming %s to %s…', + '' . basename($source) . '', + '' . $this->directoryName . '' + )); + + if ( $wp_filesystem->move($source, $correctedSource, true) ) { + $upgrader->skin->feedback('Directory successfully renamed.'); + return $correctedSource; + } else { + return new WP_Error( + 'puc-rename-failed', + 'Unable to rename the update to match the existing directory.' + ); + } + } + + return $source; + } + + /** + * Is there an update being installed right now, for this plugin or theme? + * + * @param \WP_Upgrader|null $upgrader The upgrader that's performing the current update. + * @return bool + */ + abstract public function isBeingUpgraded($upgrader = null); + + /** + * Check for incorrect update directory structure. An update must contain a single directory, + * all other files should be inside that directory. + * + * @param string $remoteSource Directory path. + * @return bool + */ + protected function isBadDirectoryStructure($remoteSource) { + global $wp_filesystem; + /** @var \WP_Filesystem_Base $wp_filesystem */ + + $sourceFiles = $wp_filesystem->dirlist($remoteSource); + if ( is_array($sourceFiles) ) { + $sourceFiles = array_keys($sourceFiles); + $firstFilePath = trailingslashit($remoteSource) . $sourceFiles[0]; + return (count($sourceFiles) > 1) || (!$wp_filesystem->is_dir($firstFilePath)); + } + + //Assume it's fine. + return false; + } + + /* ------------------------------------------------------------------- + * DebugBar integration + * ------------------------------------------------------------------- + */ + + /** + * Initialize the update checker Debug Bar plugin/add-on thingy. + */ + public function maybeInitDebugBar() { + if ( + class_exists('Debug_Bar', false) + && class_exists('Debug_Bar_Panel', false) + && file_exists(dirname(__FILE__) . '/DebugBar') + ) { + $this->debugBarExtension = $this->createDebugBarExtension(); + } + } + + protected function createDebugBarExtension() { + return new DebugBar\Extension($this); + } + + /** + * Display additional configuration details in the Debug Bar panel. + * + * @param DebugBar\Panel $panel + */ + public function onDisplayConfiguration($panel) { + //Do nothing. Subclasses can use this to add additional info to the panel. + } + + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/UpgraderStatus.php b/plugin-update-checker/Puc/v5p5/UpgraderStatus.php new file mode 100644 index 0000000..f06db1c --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/UpgraderStatus.php @@ -0,0 +1,200 @@ +isBeingUpgraded('plugin', $pluginFile, $upgrader); + } + + /** + * Is there an update being installed for a specific theme? + * + * @param string $stylesheet Theme directory name. + * @param \WP_Upgrader|null $upgrader The upgrader that's performing the current update. + * @return bool + */ + public function isThemeBeingUpgraded($stylesheet, $upgrader = null) { + return $this->isBeingUpgraded('theme', $stylesheet, $upgrader); + } + + /** + * Check if a specific theme or plugin is being upgraded. + * + * @param string $type + * @param string $id + * @param \Plugin_Upgrader|\WP_Upgrader|null $upgrader + * @return bool + */ + protected function isBeingUpgraded($type, $id, $upgrader = null) { + if ( isset($upgrader) ) { + list($currentType, $currentId) = $this->getThingBeingUpgradedBy($upgrader); + if ( $currentType !== null ) { + $this->currentType = $currentType; + $this->currentId = $currentId; + } + } + return ($this->currentType === $type) && ($this->currentId === $id); + } + + /** + * Figure out which theme or plugin is being upgraded by a WP_Upgrader instance. + * + * Returns an array with two items. The first item is the type of the thing that's being + * upgraded: "plugin" or "theme". The second item is either the plugin basename or + * the theme directory name. If we can't determine what the upgrader is doing, both items + * will be NULL. + * + * Examples: + * ['plugin', 'plugin-dir-name/plugin.php'] + * ['theme', 'theme-dir-name'] + * + * @param \Plugin_Upgrader|\WP_Upgrader $upgrader + * @return array + */ + private function getThingBeingUpgradedBy($upgrader) { + if ( !isset($upgrader, $upgrader->skin) ) { + return array(null, null); + } + + //Figure out which plugin or theme is being upgraded. + $pluginFile = null; + $themeDirectoryName = null; + + $skin = $upgrader->skin; + if ( isset($skin->theme_info) && ($skin->theme_info instanceof \WP_Theme) ) { + $themeDirectoryName = $skin->theme_info->get_stylesheet(); + } elseif ( $skin instanceof \Plugin_Upgrader_Skin ) { + if ( isset($skin->plugin) && is_string($skin->plugin) && ($skin->plugin !== '') ) { + $pluginFile = $skin->plugin; + } + } elseif ( $skin instanceof \Theme_Upgrader_Skin ) { + if ( isset($skin->theme) && is_string($skin->theme) && ($skin->theme !== '') ) { + $themeDirectoryName = $skin->theme; + } + } elseif ( isset($skin->plugin_info) && is_array($skin->plugin_info) ) { + //This case is tricky because Bulk_Plugin_Upgrader_Skin (etc) doesn't actually store the plugin + //filename anywhere. Instead, it has the plugin headers in $plugin_info. So the best we can + //do is compare those headers to the headers of installed plugins. + $pluginFile = $this->identifyPluginByHeaders($skin->plugin_info); + } + + if ( $pluginFile !== null ) { + return array('plugin', $pluginFile); + } elseif ( $themeDirectoryName !== null ) { + return array('theme', $themeDirectoryName); + } + return array(null, null); + } + + /** + * Identify an installed plugin based on its headers. + * + * @param array $searchHeaders The plugin file header to look for. + * @return string|null Plugin basename ("foo/bar.php"), or NULL if we can't identify the plugin. + */ + private function identifyPluginByHeaders($searchHeaders) { + if ( !function_exists('get_plugins') ){ + require_once( ABSPATH . '/wp-admin/includes/plugin.php' ); + } + + $installedPlugins = get_plugins(); + $matches = array(); + foreach($installedPlugins as $pluginBasename => $headers) { + $diff1 = array_diff_assoc($headers, $searchHeaders); + $diff2 = array_diff_assoc($searchHeaders, $headers); + if ( empty($diff1) && empty($diff2) ) { + $matches[] = $pluginBasename; + } + } + + //It's possible (though very unlikely) that there could be two plugins with identical + //headers. In that case, we can't unambiguously identify the plugin that's being upgraded. + if ( count($matches) !== 1 ) { + return null; + } + + return reset($matches); + } + + /** + * @access private + * + * @param mixed $input + * @param array $hookExtra + * @return mixed Returns $input unaltered. + */ + public function setUpgradedThing($input, $hookExtra) { + if ( !empty($hookExtra['plugin']) && is_string($hookExtra['plugin']) ) { + $this->currentId = $hookExtra['plugin']; + $this->currentType = 'plugin'; + } elseif ( !empty($hookExtra['theme']) && is_string($hookExtra['theme']) ) { + $this->currentId = $hookExtra['theme']; + $this->currentType = 'theme'; + } else { + $this->currentType = null; + $this->currentId = null; + } + return $input; + } + + /** + * @access private + * + * @param array $options + * @return array + */ + public function setUpgradedPluginFromOptions($options) { + if ( isset($options['hook_extra']['plugin']) && is_string($options['hook_extra']['plugin']) ) { + $this->currentType = 'plugin'; + $this->currentId = $options['hook_extra']['plugin']; + } else { + $this->currentType = null; + $this->currentId = null; + } + return $options; + } + + /** + * @access private + * + * @param mixed $input + * @return mixed Returns $input unaltered. + */ + public function clearUpgradedThing($input = null) { + $this->currentId = null; + $this->currentType = null; + return $input; + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/Utils.php b/plugin-update-checker/Puc/v5p5/Utils.php new file mode 100644 index 0000000..8aecb75 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Utils.php @@ -0,0 +1,70 @@ +$node) ) { + $currentValue = $currentValue->$node; + } else { + return $default; + } + } + + return $currentValue; + } + + /** + * Get the first array element that is not empty. + * + * @param array $values + * @param mixed|null $default Returns this value if there are no non-empty elements. + * @return mixed|null + */ + public static function findNotEmpty($values, $default = null) { + if ( empty($values) ) { + return $default; + } + + foreach ($values as $value) { + if ( !empty($value) ) { + return $value; + } + } + + return $default; + } + + /** + * Check if the input string starts with the specified prefix. + * + * @param string $input + * @param string $prefix + * @return bool + */ + public static function startsWith($input, $prefix) { + $length = strlen($prefix); + return (substr($input, 0, $length) === $prefix); + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/Vcs/Api.php b/plugin-update-checker/Puc/v5p5/Vcs/Api.php new file mode 100644 index 0000000..c7f44ce --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Vcs/Api.php @@ -0,0 +1,379 @@ +repositoryUrl = $repositoryUrl; + $this->setAuthentication($credentials); + } + + /** + * @return string + */ + public function getRepositoryUrl() { + return $this->repositoryUrl; + } + + /** + * Figure out which reference (i.e. tag or branch) contains the latest version. + * + * @param string $configBranch Start looking in this branch. + * @return null|Reference + */ + public function chooseReference($configBranch) { + $strategies = $this->getUpdateDetectionStrategies($configBranch); + + if ( !empty($this->strategyFilterName) ) { + $strategies = apply_filters( + $this->strategyFilterName, + $strategies, + $this->slug + ); + } + + foreach ($strategies as $strategy) { + $reference = call_user_func($strategy); + if ( !empty($reference) ) { + return $reference; + } + } + return null; + } + + /** + * Get an ordered list of strategies that can be used to find the latest version. + * + * The update checker will try each strategy in order until one of them + * returns a valid reference. + * + * @param string $configBranch + * @return array Array of callables that return Vcs_Reference objects. + */ + abstract protected function getUpdateDetectionStrategies($configBranch); + + /** + * Get the readme.txt file from the remote repository and parse it + * according to the plugin readme standard. + * + * @param string $ref Tag or branch name. + * @return array Parsed readme. + */ + public function getRemoteReadme($ref = 'master') { + $fileContents = $this->getRemoteFile($this->getLocalReadmeName(), $ref); + if ( empty($fileContents) ) { + return array(); + } + + $parser = new PucReadmeParser(); + return $parser->parse_readme_contents($fileContents); + } + + /** + * Get the case-sensitive name of the local readme.txt file. + * + * In most cases it should just be called "readme.txt", but some plugins call it "README.txt", + * "README.TXT", or even "Readme.txt". Most VCS are case-sensitive so we need to know the correct + * capitalization. + * + * Defaults to "readme.txt" (all lowercase). + * + * @return string + */ + public function getLocalReadmeName() { + static $fileName = null; + if ( $fileName !== null ) { + return $fileName; + } + + $fileName = 'readme.txt'; + if ( isset($this->localDirectory) ) { + $files = scandir($this->localDirectory); + if ( !empty($files) ) { + foreach ($files as $possibleFileName) { + if ( strcasecmp($possibleFileName, 'readme.txt') === 0 ) { + $fileName = $possibleFileName; + break; + } + } + } + } + return $fileName; + } + + /** + * Get a branch. + * + * @param string $branchName + * @return Reference|null + */ + abstract public function getBranch($branchName); + + /** + * Get a specific tag. + * + * @param string $tagName + * @return Reference|null + */ + abstract public function getTag($tagName); + + /** + * Get the tag that looks like the highest version number. + * (Implementations should skip pre-release versions if possible.) + * + * @return Reference|null + */ + abstract public function getLatestTag(); + + /** + * Check if a tag name string looks like a version number. + * + * @param string $name + * @return bool + */ + protected function looksLikeVersion($name) { + //Tag names may be prefixed with "v", e.g. "v1.2.3". + $name = ltrim($name, 'v'); + + //The version string must start with a number. + if ( !is_numeric(substr($name, 0, 1)) ) { + return false; + } + + //The goal is to accept any SemVer-compatible or "PHP-standardized" version number. + return (preg_match('@^(\d{1,5}?)(\.\d{1,10}?){0,4}?($|[abrdp+_\-]|\s)@i', $name) === 1); + } + + /** + * Check if a tag appears to be named like a version number. + * + * @param \stdClass $tag + * @return bool + */ + protected function isVersionTag($tag) { + $property = $this->tagNameProperty; + return isset($tag->$property) && $this->looksLikeVersion($tag->$property); + } + + /** + * Sort a list of tags as if they were version numbers. + * Tags that don't look like version number will be removed. + * + * @param \stdClass[] $tags Array of tag objects. + * @return \stdClass[] Filtered array of tags sorted in descending order. + */ + protected function sortTagsByVersion($tags) { + //Keep only those tags that look like version numbers. + $versionTags = array_filter($tags, array($this, 'isVersionTag')); + //Sort them in descending order. + usort($versionTags, array($this, 'compareTagNames')); + + return $versionTags; + } + + /** + * Compare two tags as if they were version number. + * + * @param \stdClass $tag1 Tag object. + * @param \stdClass $tag2 Another tag object. + * @return int + */ + protected function compareTagNames($tag1, $tag2) { + $property = $this->tagNameProperty; + if ( !isset($tag1->$property) ) { + return 1; + } + if ( !isset($tag2->$property) ) { + return -1; + } + return -version_compare(ltrim($tag1->$property, 'v'), ltrim($tag2->$property, 'v')); + } + + /** + * Get the contents of a file from a specific branch or tag. + * + * @param string $path File name. + * @param string $ref + * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. + */ + abstract public function getRemoteFile($path, $ref = 'master'); + + /** + * Get the timestamp of the latest commit that changed the specified branch or tag. + * + * @param string $ref Reference name (e.g. branch or tag). + * @return string|null + */ + abstract public function getLatestCommitTime($ref); + + /** + * Get the contents of the changelog file from the repository. + * + * @param string $ref + * @param string $localDirectory Full path to the local plugin or theme directory. + * @return null|string The HTML contents of the changelog. + */ + public function getRemoteChangelog($ref, $localDirectory) { + $filename = $this->findChangelogName($localDirectory); + if ( empty($filename) ) { + return null; + } + + $changelog = $this->getRemoteFile($filename, $ref); + if ( $changelog === null ) { + return null; + } + + return Parsedown::instance()->text($changelog); + } + + /** + * Guess the name of the changelog file. + * + * @param string $directory + * @return string|null + */ + protected function findChangelogName($directory = null) { + if ( !isset($directory) ) { + $directory = $this->localDirectory; + } + if ( empty($directory) || !is_dir($directory) || ($directory === '.') ) { + return null; + } + + $possibleNames = array('CHANGES.md', 'CHANGELOG.md', 'changes.md', 'changelog.md'); + $files = scandir($directory); + $foundNames = array_intersect($possibleNames, $files); + + if ( !empty($foundNames) ) { + return reset($foundNames); + } + return null; + } + + /** + * Set authentication credentials. + * + * @param $credentials + */ + public function setAuthentication($credentials) { + $this->credentials = $credentials; + } + + public function isAuthenticationEnabled() { + return !empty($this->credentials); + } + + /** + * @param string $url + * @return string + */ + public function signDownloadUrl($url) { + return $url; + } + + /** + * @param string $filterName + */ + public function setHttpFilterName($filterName) { + $this->httpFilterName = $filterName; + } + + /** + * @param string $filterName + */ + public function setStrategyFilterName($filterName) { + $this->strategyFilterName = $filterName; + } + + /** + * @param string $directory + */ + public function setLocalDirectory($directory) { + if ( empty($directory) || !is_dir($directory) || ($directory === '.') ) { + $this->localDirectory = null; + } else { + $this->localDirectory = $directory; + } + } + + /** + * @param string $slug + */ + public function setSlug($slug) { + $this->slug = $slug; + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/Vcs/BaseChecker.php b/plugin-update-checker/Puc/v5p5/Vcs/BaseChecker.php new file mode 100644 index 0000000..d1cdc7b --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Vcs/BaseChecker.php @@ -0,0 +1,29 @@ +[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { + $this->username = $matches['username']; + $this->repository = $matches['repository']; + } else { + throw new \InvalidArgumentException('Invalid BitBucket repository URL: "' . $repositoryUrl . '"'); + } + + parent::__construct($repositoryUrl, $credentials); + } + + protected function getUpdateDetectionStrategies($configBranch) { + $strategies = array( + self::STRATEGY_STABLE_TAG => function () use ($configBranch) { + return $this->getStableTag($configBranch); + }, + ); + + if ( ($configBranch === 'master' || $configBranch === 'main') ) { + $strategies[self::STRATEGY_LATEST_TAG] = array($this, 'getLatestTag'); + } + + $strategies[self::STRATEGY_BRANCH] = function () use ($configBranch) { + return $this->getBranch($configBranch); + }; + return $strategies; + } + + public function getBranch($branchName) { + $branch = $this->api('/refs/branches/' . $branchName); + if ( is_wp_error($branch) || empty($branch) ) { + return null; + } + + //The "/src/{stuff}/{path}" endpoint doesn't seem to handle branch names that contain slashes. + //If we don't encode the slash, we get a 404. If we encode it as "%2F", we get a 401. + //To avoid issues, if the branch name is not URL-safe, let's use the commit hash instead. + $ref = $branch->name; + if ((urlencode($ref) !== $ref) && isset($branch->target->hash)) { + $ref = $branch->target->hash; + } + + return new Reference(array( + 'name' => $ref, + 'updated' => $branch->target->date, + 'downloadUrl' => $this->getDownloadUrl($branch->name), + )); + } + + /** + * Get a specific tag. + * + * @param string $tagName + * @return Reference|null + */ + public function getTag($tagName) { + $tag = $this->api('/refs/tags/' . $tagName); + if ( is_wp_error($tag) || empty($tag) ) { + return null; + } + + return new Reference(array( + 'name' => $tag->name, + 'version' => ltrim($tag->name, 'v'), + 'updated' => $tag->target->date, + 'downloadUrl' => $this->getDownloadUrl($tag->name), + )); + } + + /** + * Get the tag that looks like the highest version number. + * + * @return Reference|null + */ + public function getLatestTag() { + $tags = $this->api('/refs/tags?sort=-target.date'); + if ( !isset($tags, $tags->values) || !is_array($tags->values) ) { + return null; + } + + //Filter and sort the list of tags. + $versionTags = $this->sortTagsByVersion($tags->values); + + //Return the first result. + if ( !empty($versionTags) ) { + $tag = $versionTags[0]; + return new Reference(array( + 'name' => $tag->name, + 'version' => ltrim($tag->name, 'v'), + 'updated' => $tag->target->date, + 'downloadUrl' => $this->getDownloadUrl($tag->name), + )); + } + return null; + } + + /** + * Get the tag/ref specified by the "Stable tag" header in the readme.txt of a given branch. + * + * @param string $branch + * @return null|Reference + */ + protected function getStableTag($branch) { + $remoteReadme = $this->getRemoteReadme($branch); + if ( !empty($remoteReadme['stable_tag']) ) { + $tag = $remoteReadme['stable_tag']; + + //You can explicitly opt out of using tags by setting "Stable tag" to + //"trunk" or the name of the current branch. + if ( ($tag === $branch) || ($tag === 'trunk') ) { + return $this->getBranch($branch); + } + + return $this->getTag($tag); + } + + return null; + } + + /** + * @param string $ref + * @return string + */ + protected function getDownloadUrl($ref) { + return sprintf( + 'https://bitbucket.org/%s/%s/get/%s.zip', + $this->username, + $this->repository, + $ref + ); + } + + /** + * Get the contents of a file from a specific branch or tag. + * + * @param string $path File name. + * @param string $ref + * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. + */ + public function getRemoteFile($path, $ref = 'master') { + $response = $this->api('src/' . $ref . '/' . ltrim($path)); + if ( is_wp_error($response) || !is_string($response) ) { + return null; + } + return $response; + } + + /** + * Get the timestamp of the latest commit that changed the specified branch or tag. + * + * @param string $ref Reference name (e.g. branch or tag). + * @return string|null + */ + public function getLatestCommitTime($ref) { + $response = $this->api('commits/' . $ref); + if ( isset($response->values, $response->values[0], $response->values[0]->date) ) { + return $response->values[0]->date; + } + return null; + } + + /** + * Perform a BitBucket API 2.0 request. + * + * @param string $url + * @param string $version + * @return mixed|\WP_Error + */ + public function api($url, $version = '2.0') { + $url = ltrim($url, '/'); + $isSrcResource = Utils::startsWith($url, 'src/'); + + $url = implode('/', array( + 'https://api.bitbucket.org', + $version, + 'repositories', + $this->username, + $this->repository, + $url + )); + $baseUrl = $url; + + if ( $this->oauth ) { + $url = $this->oauth->sign($url,'GET'); + } + + $options = array('timeout' => wp_doing_cron() ? 10 : 3); + if ( !empty($this->httpFilterName) ) { + $options = apply_filters($this->httpFilterName, $options); + } + $response = wp_remote_get($url, $options); + if ( is_wp_error($response) ) { + do_action('puc_api_error', $response, null, $url, $this->slug); + return $response; + } + + $code = wp_remote_retrieve_response_code($response); + $body = wp_remote_retrieve_body($response); + if ( $code === 200 ) { + if ( $isSrcResource ) { + //Most responses are JSON-encoded, but src resources just + //return raw file contents. + $document = $body; + } else { + $document = json_decode($body); + } + return $document; + } + + $error = new \WP_Error( + 'puc-bitbucket-http-error', + sprintf('BitBucket API error. Base URL: "%s", HTTP status code: %d.', $baseUrl, $code) + ); + do_action('puc_api_error', $error, $response, $url, $this->slug); + + return $error; + } + + /** + * @param array $credentials + */ + public function setAuthentication($credentials) { + parent::setAuthentication($credentials); + + if ( !empty($credentials) && !empty($credentials['consumer_key']) ) { + $this->oauth = new OAuthSignature( + $credentials['consumer_key'], + $credentials['consumer_secret'] + ); + } else { + $this->oauth = null; + } + } + + public function signDownloadUrl($url) { + //Add authentication data to download URLs. Since OAuth signatures incorporate + //timestamps, we have to do this immediately before inserting the update. Otherwise, + //authentication could fail due to a stale timestamp. + if ( $this->oauth ) { + $url = $this->oauth->sign($url); + } + return $url; + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/Vcs/GitHubApi.php b/plugin-update-checker/Puc/v5p5/Vcs/GitHubApi.php new file mode 100644 index 0000000..0eb0e56 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Vcs/GitHubApi.php @@ -0,0 +1,467 @@ +[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { + $this->userName = $matches['username']; + $this->repositoryName = $matches['repository']; + } else { + throw new \InvalidArgumentException('Invalid GitHub repository URL: "' . $repositoryUrl . '"'); + } + + parent::__construct($repositoryUrl, $accessToken); + } + + /** + * Get the latest release from GitHub. + * + * @return Reference|null + */ + public function getLatestRelease() { + //The "latest release" endpoint returns one release and always skips pre-releases, + //so we can only use it if that's compatible with the current filter settings. + if ( + $this->shouldSkipPreReleases() + && ( + ($this->releaseFilterMaxReleases === 1) || !$this->hasCustomReleaseFilter() + ) + ) { + //Just get the latest release. + $release = $this->api('/repos/:user/:repo/releases/latest'); + if ( is_wp_error($release) || !is_object($release) || !isset($release->tag_name) ) { + return null; + } + $foundReleases = array($release); + } else { + //Get a list of the most recent releases. + $foundReleases = $this->api( + '/repos/:user/:repo/releases', + array('per_page' => $this->releaseFilterMaxReleases) + ); + if ( is_wp_error($foundReleases) || !is_array($foundReleases) ) { + return null; + } + } + + foreach ($foundReleases as $release) { + //Always skip drafts. + if ( isset($release->draft) && !empty($release->draft) ) { + continue; + } + + //Skip pre-releases unless specifically included. + if ( + $this->shouldSkipPreReleases() + && isset($release->prerelease) + && !empty($release->prerelease) + ) { + continue; + } + + $versionNumber = ltrim($release->tag_name, 'v'); //Remove the "v" prefix from "v1.2.3". + + //Custom release filtering. + if ( !$this->matchesCustomReleaseFilter($versionNumber, $release) ) { + continue; + } + + $reference = new Reference(array( + 'name' => $release->tag_name, + 'version' => $versionNumber, + 'downloadUrl' => $release->zipball_url, + 'updated' => $release->created_at, + 'apiResponse' => $release, + )); + + if ( isset($release->assets[0]) ) { + $reference->downloadCount = $release->assets[0]->download_count; + } + + if ( $this->releaseAssetsEnabled ) { + //Use the first release asset that matches the specified regular expression. + if ( isset($release->assets, $release->assets[0]) ) { + $matchingAssets = array_values(array_filter($release->assets, array($this, 'matchesAssetFilter'))); + } else { + $matchingAssets = array(); + } + + if ( !empty($matchingAssets) ) { + if ( $this->isAuthenticationEnabled() ) { + /** + * Keep in mind that we'll need to add an "Accept" header to download this asset. + * + * @see setUpdateDownloadHeaders() + */ + $reference->downloadUrl = $matchingAssets[0]->url; + } else { + //It seems that browser_download_url only works for public repositories. + //Using an access_token doesn't help. Maybe OAuth would work? + $reference->downloadUrl = $matchingAssets[0]->browser_download_url; + } + + $reference->downloadCount = $matchingAssets[0]->download_count; + } else if ( $this->releaseAssetPreference === Api::REQUIRE_RELEASE_ASSETS ) { + //None of the assets match the filter, and we're not allowed + //to fall back to the auto-generated source ZIP. + return null; + } + } + + if ( !empty($release->body) ) { + $reference->changelog = Parsedown::instance()->text($release->body); + } + + return $reference; + } + + return null; + } + + /** + * Get the tag that looks like the highest version number. + * + * @return Reference|null + */ + public function getLatestTag() { + $tags = $this->api('/repos/:user/:repo/tags'); + + if ( is_wp_error($tags) || !is_array($tags) ) { + return null; + } + + $versionTags = $this->sortTagsByVersion($tags); + if ( empty($versionTags) ) { + return null; + } + + $tag = $versionTags[0]; + return new Reference(array( + 'name' => $tag->name, + 'version' => ltrim($tag->name, 'v'), + 'downloadUrl' => $tag->zipball_url, + 'apiResponse' => $tag, + )); + } + + /** + * Get a branch by name. + * + * @param string $branchName + * @return null|Reference + */ + public function getBranch($branchName) { + $branch = $this->api('/repos/:user/:repo/branches/' . $branchName); + if ( is_wp_error($branch) || empty($branch) ) { + return null; + } + + $reference = new Reference(array( + 'name' => $branch->name, + 'downloadUrl' => $this->buildArchiveDownloadUrl($branch->name), + 'apiResponse' => $branch, + )); + + if ( isset($branch->commit, $branch->commit->commit, $branch->commit->commit->author->date) ) { + $reference->updated = $branch->commit->commit->author->date; + } + + return $reference; + } + + /** + * Get the latest commit that changed the specified file. + * + * @param string $filename + * @param string $ref Reference name (e.g. branch or tag). + * @return \StdClass|null + */ + public function getLatestCommit($filename, $ref = 'master') { + $commits = $this->api( + '/repos/:user/:repo/commits', + array( + 'path' => $filename, + 'sha' => $ref, + ) + ); + if ( !is_wp_error($commits) && isset($commits[0]) ) { + return $commits[0]; + } + return null; + } + + /** + * Get the timestamp of the latest commit that changed the specified branch or tag. + * + * @param string $ref Reference name (e.g. branch or tag). + * @return string|null + */ + public function getLatestCommitTime($ref) { + $commits = $this->api('/repos/:user/:repo/commits', array('sha' => $ref)); + if ( !is_wp_error($commits) && isset($commits[0]) ) { + return $commits[0]->commit->author->date; + } + return null; + } + + /** + * Perform a GitHub API request. + * + * @param string $url + * @param array $queryParams + * @return mixed|\WP_Error + */ + protected function api($url, $queryParams = array()) { + $baseUrl = $url; + $url = $this->buildApiUrl($url, $queryParams); + + $options = array('timeout' => wp_doing_cron() ? 10 : 3); + if ( $this->isAuthenticationEnabled() ) { + $options['headers'] = array('Authorization' => $this->getAuthorizationHeader()); + } + + if ( !empty($this->httpFilterName) ) { + $options = apply_filters($this->httpFilterName, $options); + } + $response = wp_remote_get($url, $options); + if ( is_wp_error($response) ) { + do_action('puc_api_error', $response, null, $url, $this->slug); + return $response; + } + + $code = wp_remote_retrieve_response_code($response); + $body = wp_remote_retrieve_body($response); + if ( $code === 200 ) { + $document = json_decode($body); + return $document; + } + + $error = new \WP_Error( + 'puc-github-http-error', + sprintf('GitHub API error. Base URL: "%s", HTTP status code: %d.', $baseUrl, $code) + ); + do_action('puc_api_error', $error, $response, $url, $this->slug); + + return $error; + } + + /** + * Build a fully qualified URL for an API request. + * + * @param string $url + * @param array $queryParams + * @return string + */ + protected function buildApiUrl($url, $queryParams) { + $variables = array( + 'user' => $this->userName, + 'repo' => $this->repositoryName, + ); + foreach ($variables as $name => $value) { + $url = str_replace('/:' . $name, '/' . urlencode($value), $url); + } + $url = 'https://api.github.com' . $url; + + if ( !empty($queryParams) ) { + $url = add_query_arg($queryParams, $url); + } + + return $url; + } + + /** + * Get the contents of a file from a specific branch or tag. + * + * @param string $path File name. + * @param string $ref + * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. + */ + public function getRemoteFile($path, $ref = 'master') { + $apiUrl = '/repos/:user/:repo/contents/' . $path; + $response = $this->api($apiUrl, array('ref' => $ref)); + + if ( is_wp_error($response) || !isset($response->content) || ($response->encoding !== 'base64') ) { + return null; + } + return base64_decode($response->content); + } + + /** + * Generate a URL to download a ZIP archive of the specified branch/tag/etc. + * + * @param string $ref + * @return string + */ + public function buildArchiveDownloadUrl($ref = 'master') { + $url = sprintf( + 'https://api.github.com/repos/%1$s/%2$s/zipball/%3$s', + urlencode($this->userName), + urlencode($this->repositoryName), + urlencode($ref) + ); + return $url; + } + + /** + * Get a specific tag. + * + * @param string $tagName + * @return void + */ + public function getTag($tagName) { + //The current GitHub update checker doesn't use getTag, so I didn't bother to implement it. + throw new \LogicException('The ' . __METHOD__ . ' method is not implemented and should not be used.'); + } + + public function setAuthentication($credentials) { + parent::setAuthentication($credentials); + $this->accessToken = is_string($credentials) ? $credentials : null; + + //Optimization: Instead of filtering all HTTP requests, let's do it only when + //WordPress is about to download an update. + add_filter('upgrader_pre_download', array($this, 'addHttpRequestFilter'), 10, 1); //WP 3.7+ + } + + protected function getUpdateDetectionStrategies($configBranch) { + $strategies = array(); + + if ( $configBranch === 'master' || $configBranch === 'main') { + //Use the latest release. + $strategies[self::STRATEGY_LATEST_RELEASE] = array($this, 'getLatestRelease'); + //Failing that, use the tag with the highest version number. + $strategies[self::STRATEGY_LATEST_TAG] = array($this, 'getLatestTag'); + } + + //Alternatively, just use the branch itself. + $strategies[self::STRATEGY_BRANCH] = function () use ($configBranch) { + return $this->getBranch($configBranch); + }; + + return $strategies; + } + + /** + * Get the unchanging part of a release asset URL. Used to identify download attempts. + * + * @return string + */ + protected function getAssetApiBaseUrl() { + return sprintf( + '//api.github.com/repos/%1$s/%2$s/releases/assets/', + $this->userName, + $this->repositoryName + ); + } + + protected function getFilterableAssetName($releaseAsset) { + if ( isset($releaseAsset->name) ) { + return $releaseAsset->name; + } + return null; + } + + /** + * @param bool $result + * @return bool + * @internal + */ + public function addHttpRequestFilter($result) { + if ( !$this->downloadFilterAdded && $this->isAuthenticationEnabled() ) { + //phpcs:ignore WordPressVIPMinimum.Hooks.RestrictedHooks.http_request_args -- The callback doesn't change the timeout. + add_filter('http_request_args', array($this, 'setUpdateDownloadHeaders'), 10, 2); + add_action('requests-requests.before_redirect', array($this, 'removeAuthHeaderFromRedirects'), 10, 4); + $this->downloadFilterAdded = true; + } + return $result; + } + + /** + * Set the HTTP headers that are necessary to download updates from private repositories. + * + * See GitHub docs: + * + * @link https://developer.github.com/v3/repos/releases/#get-a-single-release-asset + * @link https://developer.github.com/v3/auth/#basic-authentication + * + * @internal + * @param array $requestArgs + * @param string $url + * @return array + */ + public function setUpdateDownloadHeaders($requestArgs, $url = '') { + //Is WordPress trying to download one of our release assets? + if ( $this->releaseAssetsEnabled && (strpos($url, $this->getAssetApiBaseUrl()) !== false) ) { + $requestArgs['headers']['Accept'] = 'application/octet-stream'; + } + //Use Basic authentication, but only if the download is from our repository. + $repoApiBaseUrl = $this->buildApiUrl('/repos/:user/:repo/', array()); + if ( $this->isAuthenticationEnabled() && (strpos($url, $repoApiBaseUrl)) === 0 ) { + $requestArgs['headers']['Authorization'] = $this->getAuthorizationHeader(); + } + return $requestArgs; + } + + /** + * When following a redirect, the Requests library will automatically forward + * the authorization header to other hosts. We don't want that because it breaks + * AWS downloads and can leak authorization information. + * + * @param string $location + * @param array $headers + * @internal + */ + public function removeAuthHeaderFromRedirects(&$location, &$headers) { + $repoApiBaseUrl = $this->buildApiUrl('/repos/:user/:repo/', array()); + if ( strpos($location, $repoApiBaseUrl) === 0 ) { + return; //This request is going to GitHub, so it's fine. + } + //Remove the header. + if ( isset($headers['Authorization']) ) { + unset($headers['Authorization']); + } + } + + /** + * Generate the value of the "Authorization" header. + * + * @return string + */ + protected function getAuthorizationHeader() { + return 'Basic ' . base64_encode($this->userName . ':' . $this->accessToken); + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/Vcs/GitLabApi.php b/plugin-update-checker/Puc/v5p5/Vcs/GitLabApi.php new file mode 100644 index 0000000..4d9350a --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Vcs/GitLabApi.php @@ -0,0 +1,414 @@ +repositoryHost = wp_parse_url($repositoryUrl, PHP_URL_HOST) . $port; + + if ( $this->repositoryHost !== 'gitlab.com' ) { + $this->repositoryProtocol = wp_parse_url($repositoryUrl, PHP_URL_SCHEME); + } + + //Find the repository information + $path = wp_parse_url($repositoryUrl, PHP_URL_PATH); + if ( preg_match('@^/?(?P[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { + $this->userName = $matches['username']; + $this->repositoryName = $matches['repository']; + } elseif ( ($this->repositoryHost === 'gitlab.com') ) { + //This is probably a repository in a subgroup, e.g. "/organization/category/repo". + $parts = explode('/', trim($path, '/')); + if ( count($parts) < 3 ) { + throw new \InvalidArgumentException('Invalid GitLab.com repository URL: "' . $repositoryUrl . '"'); + } + $lastPart = array_pop($parts); + $this->userName = implode('/', $parts); + $this->repositoryName = $lastPart; + } else { + //There could be subgroups in the URL: gitlab.domain.com/group/subgroup/subgroup2/repository + if ( $subgroup !== null ) { + $path = str_replace(trailingslashit($subgroup), '', $path); + } + + //This is not a traditional url, it could be gitlab is in a deeper subdirectory. + //Get the path segments. + $segments = explode('/', untrailingslashit(ltrim($path, '/'))); + + //We need at least /user-name/repository-name/ + if ( count($segments) < 2 ) { + throw new \InvalidArgumentException('Invalid GitLab repository URL: "' . $repositoryUrl . '"'); + } + + //Get the username and repository name. + $usernameRepo = array_splice($segments, -2, 2); + $this->userName = $usernameRepo[0]; + $this->repositoryName = $usernameRepo[1]; + + //Append the remaining segments to the host if there are segments left. + if ( count($segments) > 0 ) { + $this->repositoryHost = trailingslashit($this->repositoryHost) . implode('/', $segments); + } + + //Add subgroups to username. + if ( $subgroup !== null ) { + $this->userName = $usernameRepo[0] . '/' . untrailingslashit($subgroup); + } + } + + parent::__construct($repositoryUrl, $accessToken); + } + + /** + * Get the latest release from GitLab. + * + * @return Reference|null + */ + public function getLatestRelease() { + $releases = $this->api('/:id/releases', array('per_page' => $this->releaseFilterMaxReleases)); + if ( is_wp_error($releases) || empty($releases) || !is_array($releases) ) { + return null; + } + + foreach ($releases as $release) { + if ( + //Skip invalid/unsupported releases. + !is_object($release) + || !isset($release->tag_name) + //Skip upcoming releases. + || ( + !empty($release->upcoming_release) + && $this->shouldSkipPreReleases() + ) + ) { + continue; + } + + $versionNumber = ltrim($release->tag_name, 'v'); //Remove the "v" prefix from "v1.2.3". + + //Apply custom filters. + if ( !$this->matchesCustomReleaseFilter($versionNumber, $release) ) { + continue; + } + + $downloadUrl = $this->findReleaseDownloadUrl($release); + if ( empty($downloadUrl) ) { + //The latest release doesn't have valid download URL. + return null; + } + + if ( !empty($this->accessToken) ) { + $downloadUrl = add_query_arg('private_token', $this->accessToken, $downloadUrl); + } + + return new Reference(array( + 'name' => $release->tag_name, + 'version' => $versionNumber, + 'downloadUrl' => $downloadUrl, + 'updated' => $release->released_at, + 'apiResponse' => $release, + )); + } + + return null; + } + + /** + * @param object $release + * @return string|null + */ + protected function findReleaseDownloadUrl($release) { + if ( $this->releaseAssetsEnabled ) { + if ( isset($release->assets, $release->assets->links) ) { + //Use the first asset link where the URL matches the filter. + foreach ($release->assets->links as $link) { + if ( $this->matchesAssetFilter($link) ) { + return $link->url; + } + } + } + + if ( $this->releaseAssetPreference === Api::REQUIRE_RELEASE_ASSETS ) { + //Falling back to source archives is not allowed, so give up. + return null; + } + } + + //Use the first source code archive that's in ZIP format. + foreach ($release->assets->sources as $source) { + if ( isset($source->format) && ($source->format === 'zip') ) { + return $source->url; + } + } + + return null; + } + + /** + * Get the tag that looks like the highest version number. + * + * @return Reference|null + */ + public function getLatestTag() { + $tags = $this->api('/:id/repository/tags'); + if ( is_wp_error($tags) || empty($tags) || !is_array($tags) ) { + return null; + } + + $versionTags = $this->sortTagsByVersion($tags); + if ( empty($versionTags) ) { + return null; + } + + $tag = $versionTags[0]; + return new Reference(array( + 'name' => $tag->name, + 'version' => ltrim($tag->name, 'v'), + 'downloadUrl' => $this->buildArchiveDownloadUrl($tag->name), + 'apiResponse' => $tag, + )); + } + + /** + * Get a branch by name. + * + * @param string $branchName + * @return null|Reference + */ + public function getBranch($branchName) { + $branch = $this->api('/:id/repository/branches/' . $branchName); + if ( is_wp_error($branch) || empty($branch) ) { + return null; + } + + $reference = new Reference(array( + 'name' => $branch->name, + 'downloadUrl' => $this->buildArchiveDownloadUrl($branch->name), + 'apiResponse' => $branch, + )); + + if ( isset($branch->commit, $branch->commit->committed_date) ) { + $reference->updated = $branch->commit->committed_date; + } + + return $reference; + } + + /** + * Get the timestamp of the latest commit that changed the specified branch or tag. + * + * @param string $ref Reference name (e.g. branch or tag). + * @return string|null + */ + public function getLatestCommitTime($ref) { + $commits = $this->api('/:id/repository/commits/', array('ref_name' => $ref)); + if ( is_wp_error($commits) || !is_array($commits) || !isset($commits[0]) ) { + return null; + } + + return $commits[0]->committed_date; + } + + /** + * Perform a GitLab API request. + * + * @param string $url + * @param array $queryParams + * @return mixed|\WP_Error + */ + protected function api($url, $queryParams = array()) { + $baseUrl = $url; + $url = $this->buildApiUrl($url, $queryParams); + + $options = array('timeout' => wp_doing_cron() ? 10 : 3); + if ( !empty($this->httpFilterName) ) { + $options = apply_filters($this->httpFilterName, $options); + } + + $response = wp_remote_get($url, $options); + if ( is_wp_error($response) ) { + do_action('puc_api_error', $response, null, $url, $this->slug); + return $response; + } + + $code = wp_remote_retrieve_response_code($response); + $body = wp_remote_retrieve_body($response); + if ( $code === 200 ) { + return json_decode($body); + } + + $error = new \WP_Error( + 'puc-gitlab-http-error', + sprintf('GitLab API error. URL: "%s", HTTP status code: %d.', $baseUrl, $code) + ); + do_action('puc_api_error', $error, $response, $url, $this->slug); + + return $error; + } + + /** + * Build a fully qualified URL for an API request. + * + * @param string $url + * @param array $queryParams + * @return string + */ + protected function buildApiUrl($url, $queryParams) { + $variables = array( + 'user' => $this->userName, + 'repo' => $this->repositoryName, + 'id' => $this->userName . '/' . $this->repositoryName, + ); + + foreach ($variables as $name => $value) { + $url = str_replace("/:{$name}", '/' . urlencode($value), $url); + } + + $url = substr($url, 1); + $url = sprintf('%1$s://%2$s/api/v4/projects/%3$s', $this->repositoryProtocol, $this->repositoryHost, $url); + + if ( !empty($this->accessToken) ) { + $queryParams['private_token'] = $this->accessToken; + } + + if ( !empty($queryParams) ) { + $url = add_query_arg($queryParams, $url); + } + + return $url; + } + + /** + * Get the contents of a file from a specific branch or tag. + * + * @param string $path File name. + * @param string $ref + * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. + */ + public function getRemoteFile($path, $ref = 'master') { + $response = $this->api('/:id/repository/files/' . $path, array('ref' => $ref)); + if ( is_wp_error($response) || !isset($response->content) || $response->encoding !== 'base64' ) { + return null; + } + + return base64_decode($response->content); + } + + /** + * Generate a URL to download a ZIP archive of the specified branch/tag/etc. + * + * @param string $ref + * @return string + */ + public function buildArchiveDownloadUrl($ref = 'master') { + $url = sprintf( + '%1$s://%2$s/api/v4/projects/%3$s/repository/archive.zip', + $this->repositoryProtocol, + $this->repositoryHost, + urlencode($this->userName . '/' . $this->repositoryName) + ); + $url = add_query_arg('sha', urlencode($ref), $url); + + if ( !empty($this->accessToken) ) { + $url = add_query_arg('private_token', $this->accessToken, $url); + } + + return $url; + } + + /** + * Get a specific tag. + * + * @param string $tagName + * @return void + */ + public function getTag($tagName) { + throw new \LogicException('The ' . __METHOD__ . ' method is not implemented and should not be used.'); + } + + protected function getUpdateDetectionStrategies($configBranch) { + $strategies = array(); + + if ( ($configBranch === 'main') || ($configBranch === 'master') ) { + $strategies[self::STRATEGY_LATEST_RELEASE] = array($this, 'getLatestRelease'); + $strategies[self::STRATEGY_LATEST_TAG] = array($this, 'getLatestTag'); + } + + $strategies[self::STRATEGY_BRANCH] = function () use ($configBranch) { + return $this->getBranch($configBranch); + }; + + return $strategies; + } + + public function setAuthentication($credentials) { + parent::setAuthentication($credentials); + $this->accessToken = is_string($credentials) ? $credentials : null; + } + + /** + * Use release assets that link to GitLab generic packages (e.g. .zip files) + * instead of automatically generated source archives. + * + * This is included for backwards compatibility with older versions of PUC. + * + * @return void + * @deprecated Use enableReleaseAssets() instead. + * @noinspection PhpUnused -- Public API + */ + public function enableReleasePackages() { + $this->enableReleaseAssets( + /** @lang RegExp */ '/\.zip($|[?&#])/i', + Api::REQUIRE_RELEASE_ASSETS + ); + } + + protected function getFilterableAssetName($releaseAsset) { + if ( isset($releaseAsset->url) ) { + return $releaseAsset->url; + } + return null; + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/Vcs/PluginUpdateChecker.php b/plugin-update-checker/Puc/v5p5/Vcs/PluginUpdateChecker.php new file mode 100644 index 0000000..20a6f4a --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Vcs/PluginUpdateChecker.php @@ -0,0 +1,275 @@ +api = $api; + + parent::__construct($api->getRepositoryUrl(), $pluginFile, $slug, $checkPeriod, $optionName, $muPluginFile); + + $this->api->setHttpFilterName($this->getUniqueName('request_info_options')); + $this->api->setStrategyFilterName($this->getUniqueName('vcs_update_detection_strategies')); + $this->api->setSlug($this->slug); + } + + public function requestInfo($unusedParameter = null) { + //We have to make several remote API requests to gather all the necessary info + //which can take a while on slow networks. + if ( function_exists('set_time_limit') ) { + @set_time_limit(60); + } + + $api = $this->api; + $api->setLocalDirectory($this->package->getAbsoluteDirectoryPath()); + + $info = new Plugin\PluginInfo(); + $info->filename = $this->pluginFile; + $info->slug = $this->slug; + + $this->setInfoFromHeader($this->package->getPluginHeader(), $info); + $this->setIconsFromLocalAssets($info); + $this->setBannersFromLocalAssets($info); + + //Pick a branch or tag. + $updateSource = $api->chooseReference($this->branch); + if ( $updateSource ) { + $ref = $updateSource->name; + $info->version = $updateSource->version; + $info->last_updated = $updateSource->updated; + $info->download_url = $updateSource->downloadUrl; + + if ( !empty($updateSource->changelog) ) { + $info->sections['changelog'] = $updateSource->changelog; + } + if ( isset($updateSource->downloadCount) ) { + $info->downloaded = $updateSource->downloadCount; + } + } else { + //There's probably a network problem or an authentication error. + do_action( + 'puc_api_error', + new \WP_Error( + 'puc-no-update-source', + 'Could not retrieve version information from the repository. ' + . 'This usually means that the update checker either can\'t connect ' + . 'to the repository or it\'s configured incorrectly.' + ), + null, null, $this->slug + ); + return null; + } + + //Get headers from the main plugin file in this branch/tag. Its "Version" header and other metadata + //are what the WordPress install will actually see after upgrading, so they take precedence over releases/tags. + $mainPluginFile = basename($this->pluginFile); + $remotePlugin = $api->getRemoteFile($mainPluginFile, $ref); + if ( !empty($remotePlugin) ) { + $remoteHeader = $this->package->getFileHeader($remotePlugin); + $this->setInfoFromHeader($remoteHeader, $info); + } + + //Sanity check: Reject updates that don't have a version number. + //This can happen when we're using a branch, and we either fail to retrieve the main plugin + //file or the file doesn't have a "Version" header. + if ( empty($info->version) ) { + do_action( + 'puc_api_error', + new \WP_Error( + 'puc-no-plugin-version', + 'Could not find the version number in the repository.' + ), + null, null, $this->slug + ); + return null; + } + + //Try parsing readme.txt. If it's formatted according to WordPress.org standards, it will contain + //a lot of useful information like the required/tested WP version, changelog, and so on. + if ( $this->readmeTxtExistsLocally() ) { + $this->setInfoFromRemoteReadme($ref, $info); + } + + //The changelog might be in a separate file. + if ( empty($info->sections['changelog']) ) { + $info->sections['changelog'] = $api->getRemoteChangelog($ref, $this->package->getAbsoluteDirectoryPath()); + if ( empty($info->sections['changelog']) ) { + $info->sections['changelog'] = __('There is no changelog available.', 'plugin-update-checker'); + } + } + + if ( empty($info->last_updated) ) { + //Fetch the latest commit that changed the tag or branch and use it as the "last_updated" date. + $latestCommitTime = $api->getLatestCommitTime($ref); + if ( $latestCommitTime !== null ) { + $info->last_updated = $latestCommitTime; + } + } + + $info = apply_filters($this->getUniqueName('request_info_result'), $info, null); + return $info; + } + + /** + * Check if the currently installed version has a readme.txt file. + * + * @return bool + */ + protected function readmeTxtExistsLocally() { + return $this->package->fileExists($this->api->getLocalReadmeName()); + } + + /** + * Copy plugin metadata from a file header to a Plugin Info object. + * + * @param array $fileHeader + * @param Plugin\PluginInfo $pluginInfo + */ + protected function setInfoFromHeader($fileHeader, $pluginInfo) { + $headerToPropertyMap = array( + 'Version' => 'version', + 'Name' => 'name', + 'PluginURI' => 'homepage', + 'Author' => 'author', + 'AuthorName' => 'author', + 'AuthorURI' => 'author_homepage', + + 'Requires WP' => 'requires', + 'Tested WP' => 'tested', + 'Requires at least' => 'requires', + 'Tested up to' => 'tested', + + 'Requires PHP' => 'requires_php', + ); + foreach ($headerToPropertyMap as $headerName => $property) { + if ( isset($fileHeader[$headerName]) && !empty($fileHeader[$headerName]) ) { + $pluginInfo->$property = $fileHeader[$headerName]; + } + } + + if ( !empty($fileHeader['Description']) ) { + $pluginInfo->sections['description'] = $fileHeader['Description']; + } + } + + /** + * Copy plugin metadata from the remote readme.txt file. + * + * @param string $ref GitHub tag or branch where to look for the readme. + * @param Plugin\PluginInfo $pluginInfo + */ + protected function setInfoFromRemoteReadme($ref, $pluginInfo) { + $readme = $this->api->getRemoteReadme($ref); + if ( empty($readme) ) { + return; + } + + if ( isset($readme['sections']) ) { + $pluginInfo->sections = array_merge($pluginInfo->sections, $readme['sections']); + } + if ( !empty($readme['tested_up_to']) ) { + $pluginInfo->tested = $readme['tested_up_to']; + } + if ( !empty($readme['requires_at_least']) ) { + $pluginInfo->requires = $readme['requires_at_least']; + } + if ( !empty($readme['requires_php']) ) { + $pluginInfo->requires_php = $readme['requires_php']; + } + + if ( isset($readme['upgrade_notice'], $readme['upgrade_notice'][$pluginInfo->version]) ) { + $pluginInfo->upgrade_notice = $readme['upgrade_notice'][$pluginInfo->version]; + } + } + + /** + * Add icons from the currently installed version to a Plugin Info object. + * + * The icons should be in a subdirectory named "assets". Supported image formats + * and file names are described here: + * @link https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/#plugin-icons + * + * @param Plugin\PluginInfo $pluginInfo + */ + protected function setIconsFromLocalAssets($pluginInfo) { + $icons = $this->getLocalAssetUrls(array( + 'icon.svg' => 'svg', + 'icon-256x256.png' => '2x', + 'icon-256x256.jpg' => '2x', + 'icon-128x128.png' => '1x', + 'icon-128x128.jpg' => '1x', + )); + + if ( !empty($icons) ) { + //The "default" key seems to be used only as last-resort fallback in WP core (5.8/5.9), + //but we'll set it anyway in case some code somewhere needs it. + reset($icons); + $firstKey = key($icons); + $icons['default'] = $icons[$firstKey]; + + $pluginInfo->icons = $icons; + } + } + + /** + * Add banners from the currently installed version to a Plugin Info object. + * + * The banners should be in a subdirectory named "assets". Supported image formats + * and file names are described here: + * @link https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/#plugin-headers + * + * @param Plugin\PluginInfo $pluginInfo + */ + protected function setBannersFromLocalAssets($pluginInfo) { + $banners = $this->getLocalAssetUrls(array( + 'banner-772x250.png' => 'high', + 'banner-772x250.jpg' => 'high', + 'banner-1544x500.png' => 'low', + 'banner-1544x500.jpg' => 'low', + )); + + if ( !empty($banners) ) { + $pluginInfo->banners = $banners; + } + } + + /** + * @param array $filesToKeys + * @return array + */ + protected function getLocalAssetUrls($filesToKeys) { + $assetDirectory = $this->package->getAbsoluteDirectoryPath() . DIRECTORY_SEPARATOR . 'assets'; + if ( !is_dir($assetDirectory) ) { + return array(); + } + $assetBaseUrl = trailingslashit(plugins_url('', $assetDirectory . '/imaginary.file')); + + $foundAssets = array(); + foreach ($filesToKeys as $fileName => $key) { + $fullBannerPath = $assetDirectory . DIRECTORY_SEPARATOR . $fileName; + if ( !isset($icons[$key]) && is_file($fullBannerPath) ) { + $foundAssets[$key] = $assetBaseUrl . $fileName; + } + } + + return $foundAssets; + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/Vcs/Reference.php b/plugin-update-checker/Puc/v5p5/Vcs/Reference.php new file mode 100644 index 0000000..bbffc25 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Vcs/Reference.php @@ -0,0 +1,51 @@ +properties = $properties; + } + + /** + * @param string $name + * @return mixed|null + */ + public function __get($name) { + return array_key_exists($name, $this->properties) ? $this->properties[$name] : null; + } + + /** + * @param string $name + * @param mixed $value + */ + public function __set($name, $value) { + $this->properties[$name] = $value; + } + + /** + * @param string $name + * @return bool + */ + public function __isset($name) { + return isset($this->properties[$name]); + } + + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/Vcs/ReleaseAssetSupport.php b/plugin-update-checker/Puc/v5p5/Vcs/ReleaseAssetSupport.php new file mode 100644 index 0000000..d24b3b2 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Vcs/ReleaseAssetSupport.php @@ -0,0 +1,83 @@ +releaseAssetsEnabled = true; + $this->assetFilterRegex = $nameRegex; + $this->releaseAssetPreference = $preference; + } + + /** + * Disable release assets. + * + * @return void + * @noinspection PhpUnused -- Public API + */ + public function disableReleaseAssets() { + $this->releaseAssetsEnabled = false; + $this->assetFilterRegex = null; + } + + /** + * Does the specified asset match the name regex? + * + * @param mixed $releaseAsset Data type and structure depend on the host/API. + * @return bool + */ + protected function matchesAssetFilter($releaseAsset) { + if ( $this->assetFilterRegex === null ) { + //The default is to accept all assets. + return true; + } + + $name = $this->getFilterableAssetName($releaseAsset); + if ( !is_string($name) ) { + return false; + } + return (bool)preg_match($this->assetFilterRegex, $releaseAsset->name); + } + + /** + * Get the part of asset data that will be checked against the filter regex. + * + * @param mixed $releaseAsset + * @return string|null + */ + abstract protected function getFilterableAssetName($releaseAsset); + } + +endif; \ No newline at end of file diff --git a/plugin-update-checker/Puc/v5p5/Vcs/ReleaseFilteringFeature.php b/plugin-update-checker/Puc/v5p5/Vcs/ReleaseFilteringFeature.php new file mode 100644 index 0000000..faff106 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Vcs/ReleaseFilteringFeature.php @@ -0,0 +1,108 @@ + 100 ) { + throw new \InvalidArgumentException(sprintf( + 'The max number of releases is too high (%d). It must be 100 or less.', + $maxReleases + )); + } else if ( $maxReleases < 1 ) { + throw new \InvalidArgumentException(sprintf( + 'The max number of releases is too low (%d). It must be at least 1.', + $maxReleases + )); + } + + $this->releaseFilterCallback = $callback; + $this->releaseFilterByType = $releaseTypes; + $this->releaseFilterMaxReleases = $maxReleases; + return $this; + } + + /** + * Filter releases by their version number. + * + * @param string $regex A regular expression. The release version number must match this regex. + * @param int $releaseTypes + * @param int $maxReleasesToExamine + * @return $this + * @noinspection PhpUnused -- Public API + */ + public function setReleaseVersionFilter( + $regex, + $releaseTypes = Api::RELEASE_FILTER_SKIP_PRERELEASE, + $maxReleasesToExamine = 20 + ) { + return $this->setReleaseFilter( + function ($versionNumber) use ($regex) { + return (preg_match($regex, $versionNumber) === 1); + }, + $releaseTypes, + $maxReleasesToExamine + ); + } + + /** + * @param string $versionNumber The detected release version number. + * @param object $releaseObject Varies depending on the host/API. + * @return bool + */ + protected function matchesCustomReleaseFilter($versionNumber, $releaseObject) { + if ( !is_callable($this->releaseFilterCallback) ) { + return true; //No custom filter. + } + return call_user_func($this->releaseFilterCallback, $versionNumber, $releaseObject); + } + + /** + * @return bool + */ + protected function shouldSkipPreReleases() { + //Maybe this could be a bitfield in the future, if we need to support + //more release types. + return ($this->releaseFilterByType !== Api::RELEASE_FILTER_ALL); + } + + /** + * @return bool + */ + protected function hasCustomReleaseFilter() { + return isset($this->releaseFilterCallback) && is_callable($this->releaseFilterCallback); + } + } + +endif; \ No newline at end of file diff --git a/plugin-update-checker/Puc/v5p5/Vcs/ThemeUpdateChecker.php b/plugin-update-checker/Puc/v5p5/Vcs/ThemeUpdateChecker.php new file mode 100644 index 0000000..5348fc7 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Vcs/ThemeUpdateChecker.php @@ -0,0 +1,83 @@ +api = $api; + + parent::__construct($api->getRepositoryUrl(), $stylesheet, $customSlug, $checkPeriod, $optionName); + + $this->api->setHttpFilterName($this->getUniqueName('request_update_options')); + $this->api->setStrategyFilterName($this->getUniqueName('vcs_update_detection_strategies')); + $this->api->setSlug($this->slug); + } + + public function requestUpdate() { + $api = $this->api; + $api->setLocalDirectory($this->package->getAbsoluteDirectoryPath()); + + $update = new Theme\Update(); + $update->slug = $this->slug; + + //Figure out which reference (tag or branch) we'll use to get the latest version of the theme. + $updateSource = $api->chooseReference($this->branch); + if ( $updateSource ) { + $ref = $updateSource->name; + $update->download_url = $updateSource->downloadUrl; + } else { + do_action( + 'puc_api_error', + new \WP_Error( + 'puc-no-update-source', + 'Could not retrieve version information from the repository. ' + . 'This usually means that the update checker either can\'t connect ' + . 'to the repository or it\'s configured incorrectly.' + ), + null, null, $this->slug + ); + $ref = $this->branch; + } + + //Get headers from the main stylesheet in this branch/tag. Its "Version" header and other metadata + //are what the WordPress install will actually see after upgrading, so they take precedence over releases/tags. + $remoteHeader = $this->package->getFileHeader($api->getRemoteFile('style.css', $ref)); + $update->version = Utils::findNotEmpty(array( + $remoteHeader['Version'], + Utils::get($updateSource, 'version'), + )); + + //The details URL defaults to the Theme URI header or the repository URL. + $update->details_url = Utils::findNotEmpty(array( + $remoteHeader['ThemeURI'], + $this->package->getHeaderValue('ThemeURI'), + $this->metadataUrl, + )); + + if ( empty($update->version) ) { + //It looks like we didn't find a valid update after all. + $update = null; + } + + $update = $this->filterUpdateResult($update); + return $update; + } + } + +endif; diff --git a/plugin-update-checker/Puc/v5p5/Vcs/VcsCheckerMethods.php b/plugin-update-checker/Puc/v5p5/Vcs/VcsCheckerMethods.php new file mode 100644 index 0000000..a732110 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/Vcs/VcsCheckerMethods.php @@ -0,0 +1,59 @@ +branch = $branch; + return $this; + } + + /** + * Set authentication credentials. + * + * @param array|string $credentials + * @return $this + */ + public function setAuthentication($credentials) { + $this->api->setAuthentication($credentials); + return $this; + } + + /** + * @return Api + */ + public function getVcsApi() { + return $this->api; + } + + public function getUpdate() { + $update = parent::getUpdate(); + + if ( isset($update) && !empty($update->download_url) ) { + $update->download_url = $this->api->signDownloadUrl($update->download_url); + } + + return $update; + } + + public function onDisplayConfiguration($panel) { + parent::onDisplayConfiguration($panel); + $panel->row('Branch', $this->branch); + $panel->row('Authentication enabled', $this->api->isAuthenticationEnabled() ? 'Yes' : 'No'); + $panel->row('API client', get_class($this->api)); + } + } + +endif; \ No newline at end of file diff --git a/plugin-update-checker/Puc/v5p5/WpCliCheckTrigger.php b/plugin-update-checker/Puc/v5p5/WpCliCheckTrigger.php new file mode 100644 index 0000000..695ca93 --- /dev/null +++ b/plugin-update-checker/Puc/v5p5/WpCliCheckTrigger.php @@ -0,0 +1,84 @@ +componentType = $componentType; + $this->scheduler = $scheduler; + + if ( !defined('WP_CLI') || !class_exists(WP_CLI::class, false) ) { + return; //Nothing to do if WP-CLI is not available. + } + + /* + * We can't hook directly into wp_update_plugins(), but we can hook into the WP-CLI + * commands that call it. We'll use the "before_invoke:xyz" hook to trigger update checks. + */ + foreach ($this->getRelevantCommands() as $command) { + WP_CLI::add_hook('before_invoke:' . $command, [$this, 'triggerUpdateCheckOnce']); + } + } + + private function getRelevantCommands() { + $result = []; + foreach (['status', 'list', 'update'] as $subcommand) { + $result[] = $this->componentType . ' ' . $subcommand; + } + return $result; + } + + /** + * Trigger a potential update check once. + * + * @param mixed $input + * @return mixed The input value, unchanged. + * @internal This method is public so that it can be used as a WP-CLI hook callback. + * It should not be called directly. + * + */ + public function triggerUpdateCheckOnce($input = null) { + if ( $this->wasCheckTriggered ) { + return $input; + } + + $this->wasCheckTriggered = true; + $this->scheduler->maybeCheckForUpdates(); + + return $input; + } +} \ No newline at end of file diff --git a/plugin-update-checker/README.md b/plugin-update-checker/README.md index c60f254..843ed82 100644 --- a/plugin-update-checker/README.md +++ b/plugin-update-checker/README.md @@ -19,7 +19,8 @@ From the users' perspective, it works just like with plugins and themes hosted o - [BitBucket Integration](#bitbucket-integration) - [How to Release an Update](#how-to-release-an-update-2) - [GitLab Integration](#gitlab-integration) - - [How to Release an Update](#how-to-release-an-update-3) + - [How to Release a GitLab Update](#how-to-release-a-gitlab-update) +- [Migrating from 4.x](#migrating-from-4x) - [License Management](#license-management) - [Resources](#resources) @@ -28,7 +29,7 @@ From the users' perspective, it works just like with plugins and themes hosted o Getting Started --------------- -*Note:* In each of the below examples, part of the instructions are to create an instance of the update checker class. It's recommended to do this either during the `plugins_loaded` action or outside of any hooks. If you do it only during an `admin_*` action, then updates will not be visible to a wide variety of WordPress maanagement tools; they will only be visible to logged-in users on dashboard pages. +*Note:* In each of the below examples, part of the instructions is to create an instance of the update checker class. It's recommended to do this either during the `plugins_loaded` action or outside of any hooks. If you do it only during an `admin_*` action, then updates will not be visible to a wide variety of WordPress management tools; they will only be visible to logged-in users on dashboard pages. ### Self-hosted Plugins and Themes @@ -40,7 +41,7 @@ Getting Started { "name" : "Plugin Name", "version" : "2.0", - "download_url" : "http://example.com/plugin-name-2.0.zip", + "download_url" : "https://example.com/plugin-name-2.0.zip", "sections" : { "description" : "Plugin description here. You can use HTML." } @@ -53,8 +54,8 @@ Getting Started ```json { "version": "2.0", - "details_url": "http://example.com/version-2.0-details.html", - "download_url": "http://example.com/example-theme-2.0.zip" + "details_url": "https://example.com/version-2.0-details.html", + "download_url": "https://example.com/example-theme-2.0.zip" } ``` @@ -64,8 +65,10 @@ Getting Started ```php require 'path/to/plugin-update-checker/plugin-update-checker.php'; - $myUpdateChecker = Puc_v4_Factory::buildUpdateChecker( - 'http://example.com/path/to/details.json', + use YahnisElsts\PluginUpdateChecker\v5\PucFactory; + + $myUpdateChecker = PucFactory::buildUpdateChecker( + 'https://example.com/path/to/details.json', __FILE__, //Full path to the main plugin file or functions.php. 'unique-plugin-or-theme-slug' ); @@ -96,17 +99,19 @@ By default, the library will check the specified URL for changes every 12 hours. ```php require 'plugin-update-checker/plugin-update-checker.php'; - $myUpdateChecker = Puc_v4_Factory::buildUpdateChecker( + use YahnisElsts\PluginUpdateChecker\v5\PucFactory; + + $myUpdateChecker = PucFactory::buildUpdateChecker( 'https://github.com/user-name/repo-name/', __FILE__, 'unique-plugin-or-theme-slug' ); + + //Set the branch that contains the stable release. + $myUpdateChecker->setBranch('stable-branch-name'); //Optional: If you're using a private repository, specify the access token like this: $myUpdateChecker->setAuthentication('your-token-here'); - - //Optional: Set the branch that contains the stable release. - $myUpdateChecker->setBranch('stable-branch-name'); ``` 3. Plugins only: Add a `readme.txt` file formatted according to the [WordPress.org plugin readme standard](https://wordpress.org/plugins/readme.txt) to your repository. The contents of this file will be shown when the user clicks the "View version 1.2.3 details" link. @@ -127,7 +132,7 @@ This library supports a couple of different ways to release updates on GitHub. P To release version 1.2.3, create a new Git tag named `v1.2.3` or `1.2.3`. That's it. - PUC doesn't require strict adherence to [SemVer](http://semver.org/). These are all valid tag names: `v1.2.3`, `v1.2-foo`, `1.2.3_rc1-ABC`, `1.2.3.4.5`. However, be warned that it's not smart enough to filter out alpha/beta/RC versions. If that's a problem, you might want to use GitHub releases or branches instead. + PUC doesn't require strict adherence to [SemVer](https://semver.org/). These are all valid tag names: `v1.2.3`, `v1.2-foo`, `1.2.3_rc1-ABC`, `1.2.3.4.5`. However, be warned that it's not smart enough to filter out alpha/beta/RC versions. If that's a problem, you might want to use GitHub releases or branches instead. - **Stable branch** @@ -175,7 +180,9 @@ The library will pull update details from the following parts of a release/tag/b ```php require 'plugin-update-checker/plugin-update-checker.php'; - $myUpdateChecker = Puc_v4_Factory::buildUpdateChecker( + use YahnisElsts\PluginUpdateChecker\v5\PucFactory; + + $myUpdateChecker = PucFactory::buildUpdateChecker( 'https://bitbucket.org/user-name/repo-name', __FILE__, 'unique-plugin-or-theme-slug' @@ -214,7 +221,7 @@ BitBucket doesn't have an equivalent to GitHub's releases, so the process is sli You can skip the "stable tag" bit and just create a new Git tag named `v1.2.3` or `1.2.3`. The update checker will look at the most recent tags and pick the one that looks like the highest version number. - PUC doesn't require strict adherence to [SemVer](http://semver.org/). These are all valid tag names: `v1.2.3`, `v1.2-foo`, `1.2.3_rc1-ABC`, `1.2.3.4.5`. However, be warned that it's not smart enough to filter out alpha/beta/RC versions. + PUC doesn't require strict adherence to [SemVer](https://semver.org/). These are all valid tag names: `v1.2.3`, `v1.2-foo`, `1.2.3_rc1-ABC`, `1.2.3.4.5`. However, be warned that it's not smart enough to filter out alpha/beta/RC versions. - **Stable branch** @@ -227,11 +234,13 @@ BitBucket doesn't have an equivalent to GitHub's releases, so the process is sli ### GitLab Integration 1. Download [the latest release](https://github.com/YahnisElsts/plugin-update-checker/releases/latest) and copy the `plugin-update-checker` directory to your plugin or theme. -2. Add the following code to the main plugin file or `functions.php`: +2. Add the following code to the main plugin file or `functions.php` and define how you want to check for updates from Gitlab (refer to: [Gitlab: How to Release an Update](#how-to-release-a-gitlab-update)): ```php require 'plugin-update-checker/plugin-update-checker.php'; - $myUpdateChecker = Puc_v4_Factory::buildUpdateChecker( + use YahnisElsts\PluginUpdateChecker\v5\PucFactory; + + $myUpdateChecker = PucFactory::buildUpdateChecker( 'https://gitlab.com/user-name/repo-name/', __FILE__, 'unique-plugin-or-theme-slug' @@ -239,63 +248,125 @@ BitBucket doesn't have an equivalent to GitHub's releases, so the process is sli //Optional: If you're using a private repository, specify the access token like this: $myUpdateChecker->setAuthentication('your-token-here'); - - //Optional: Set the branch that contains the stable release. - $myUpdateChecker->setBranch('stable-branch-name'); ``` - + Alternatively, if you're using a self-hosted GitLab instance, initialize the update checker like this: ```php - $myUpdateChecker = new Puc_v4p9_Vcs_PluginUpdateChecker( - new Puc_v4p9_Vcs_GitLabApi('https://myserver.com/user-name/repo-name/'), - __FILE__, - 'unique-plugin-or-theme-slug' - ); - //Optional: Add setAuthentication(...) and setBranch(...) as shown above. - ``` - If you're using a self-hosted GitLab instance and [subgroups or nested groups](https://docs.gitlab.com/ce/user/group/subgroups/index.html), you have to tell the update checker which parts of the URL are subgroups: - ```php - $myUpdateChecker = new Puc_v4p9_Vcs_PluginUpdateChecker( - new Puc_v4p9_Vcs_GitLabApi('https://myserver.com/group-name/subgroup-level1/subgroup-level2/subgroup-level3/repo-name/', null, 'subgroup-level1/subgroup-level2/subgroup-level3'), - __FILE__, - 'unique-plugin-or-theme-slug' - ); - - ``` + use YahnisElsts\PluginUpdateChecker\v5p5\Vcs\PluginUpdateChecker; + use YahnisElsts\PluginUpdateChecker\v5p5\Vcs\GitLabApi; + + $myUpdateChecker = new PluginUpdateChecker( + new GitLabApi('https://myserver.com/user-name/repo-name/'), + __FILE__, + 'unique-plugin-or-theme-slug' + ); + //Optional: Add setAuthentication(...) and setBranch(...) as shown above. + ``` + If you're using a self-hosted GitLab instance and [subgroups or nested groups](https://docs.gitlab.com/ce/user/group/subgroups/index.html), you have to tell the update checker which parts of the URL are subgroups: + ```php + use YahnisElsts\PluginUpdateChecker\v5p5\Vcs\PluginUpdateChecker; + use YahnisElsts\PluginUpdateChecker\v5p5\Vcs\GitLabApi; + $myUpdateChecker = new PluginUpdateChecker( + new GitLabApi( + 'https://myserver.com/group-name/subgroup-level1/subgroup-level2/subgroup-level3/repo-name/', + null, + 'subgroup-level1/subgroup-level2/subgroup-level3' + ), + __FILE__, + 'unique-plugin-or-theme-slug' + ); + ``` + 3. Plugins only: Add a `readme.txt` file formatted according to the [WordPress.org plugin readme standard](https://wordpress.org/plugins/readme.txt) to your repository. The contents of this file will be shown when the user clicks the "View version 1.2.3 details" link. -#### How to Release an Update +#### How to Release a GitLab Update -GitLab doesn't have an equivalent to GitHub's releases, so the process is slightly different. You can use any of the following approaches: +A GitLab repository can be checked for updates in 3 different ways. + +- **GitLab releases** -- **Tags** + Create a new release using the "Releases" feature on GitLab. The tag name should match the version number. You can add a `v` prefix to the tag, like `v1.2.3`. Releases that are marked as ["Upcoming Release"](https://docs.gitlab.com/ee/user/project/releases/index.html#upcoming-releases) will be automatically ignored. - To release version 1.2.3, create a new Git tag named `v1.2.3` or `1.2.3`. That's it. + If you want to use custom release assets, call the `enableReleaseAssets()` method after creating the update checker instance: + ```php + $myUpdateChecker->getVcsApi()->enableReleaseAssets(); + ``` - PUC doesn't require strict adherence to [SemVer](http://semver.org/). These are all valid tag names: `v1.2.3`, `v1.2-foo`, `1.2.3_rc1-ABC`, `1.2.3.4.5`. However, be warned that it's not smart enough to filter out alpha/beta/RC versions. If that's a problem, you might want to use GitLab branches instead. + By default, PUC will use the first available asset link, regardless of type. You can pass a regular expression to `enableReleaseAssets()` to make it pick the first link where the URL matches the regex. For example: + ```php + $myUpdateChecker->getVcsApi()->enableReleaseAssets('/\.zip($|[?&#])/i'); + ``` + + **Tip:** You can use a Gitlab CI/CD Pipeline to automatically generate your update on release using a Generic Package. For more information about generic packages, refer to the following links: + - [Gitlab CI/CD Release Documentation](https://docs.gitlab.com/ee/user/project/releases/#create-release-from-gitlab-ci) + - [Gitlab Release Assets as Generic Package Documentation](https://gitlab.com/gitlab-org/release-cli/-/tree/master/docs/examples/release-assets-as-generic-package/) + - [Example .gitlab-ci.yml file using Release Generic Packages for generating a update package from the Sensei-LMS wordpress plugin](https://gist.github.com/timwiel/9dfd3526c768efad4973254085e065ce) -- **Stable branch** +- **Tags** + + To release version 1.2.3, create a new Git tag named `v1.2.3` or `1.2.3`. The update checker will look at recent tags and use the one that looks like the highest version number. - Point the update checker at a stable, production-ready branch: - ```php - $updateChecker->setBranch('branch-name'); - ``` - PUC will periodically check the `Version` header in the main plugin file or `style.css` and display a notification if it's greater than the installed version. - - Caveat: If you set the branch to `master` (the default), the update checker will look for recent releases and tags first. It'll only use the `master` branch if it doesn't find anything else suitable. + PUC doesn't require strict adherence to [SemVer](https://semver.org/). However, be warned that it's not smart enough to filter out alpha/beta/RC versions. If that's a problem, you might want to use GitLab branches instead. + +- **Stable branch** + + Point the update checker at any stable, production-ready branch: + ```php + $myUpdateChecker->setBranch('stable-branch-name'); + ``` + PUC will periodically check the `Version` header in the main plugin file or `style.css` and display a notification if it's greater than the installed version. Caveat: Even if you set the branch to `main` (the default) or `master` (the historical default), the update checker will still look for recent releases and tags first. + +Migrating from 4.x +------------------ + +Older versions of the library didn't use namespaces. Code that was written for those versions will need to be updated to work with the current version. At a minimum, you'll need to change the factory class name. + +Old code: +```php +$myUpdateChecker = Puc_v4_Factory::buildUpdateChecker( + 'https://example.com/info.json', + __FILE__, + 'my-slug' +); +``` + +New code: +```php +use YahnisElsts\PluginUpdateChecker\v5\PucFactory; + +$myUpdateChecker = PucFactory::buildUpdateChecker( + 'https://example.com/info.json', + __FILE__, + 'my-slug' +); +``` + +Other classes have also been renamed, usually by simply removing the `Puc_vXpY_` prefix and converting `Category_Thing` to `Category\Thing`. Here's a table of the most commonly used classes and their new names: + +| Old class name | New class name | +|-------------------------------------|----------------------------------------------------------------| +| `Puc_v4_Factory` | `YahnisElsts\PluginUpdateChecker\v5\PucFactory` | +| `Puc_v4p13_Factory` | `YahnisElsts\PluginUpdateChecker\v5p5\PucFactory` | +| `Puc_v4p13_Plugin_UpdateChecker` | `YahnisElsts\PluginUpdateChecker\v5p5\Plugin\UpdateChecker` | +| `Puc_v4p13_Theme_UpdateChecker` | `YahnisElsts\PluginUpdateChecker\v5p5\Theme\UpdateChecker` | +| `Puc_v4p13_Vcs_PluginUpdateChecker` | `YahnisElsts\PluginUpdateChecker\v5p5\Vcs\PluginUpdateChecker` | +| `Puc_v4p13_Vcs_ThemeUpdateChecker` | `YahnisElsts\PluginUpdateChecker\v5p5\Vcs\ThemeUpdateChecker` | +| `Puc_v4p13_Vcs_GitHubApi` | `YahnisElsts\PluginUpdateChecker\v5p5\Vcs\GitHubApi` | +| `Puc_v4p13_Vcs_GitLabApi` | `YahnisElsts\PluginUpdateChecker\v5p5\Vcs\GitLabApi` | +| `Puc_v4p13_Vcs_BitBucketApi` | `YahnisElsts\PluginUpdateChecker\v5p5\Vcs\BitBucketApi` | License Management ------------------ -Currently, the update checker doesn't have any built-in license management features. It only provides some hooks that you can use to, for example, append license keys to update requests (`$updateChecker->addQueryArgFilter()`). If you're looking for ways to manage and verify licenses, please post your feedback in [this issue](https://github.com/YahnisElsts/plugin-update-checker/issues/222). +Currently, the update checker doesn't have any built-in license management features. It only provides some hooks that you can use to, for example, append license keys to update requests (`$updateChecker->addQueryArgFilter()`). If you're looking for ways to manage and verify licenses, please post your feedback in [this issue](https://github.com/YahnisElsts/plugin-update-checker/issues/222). Resources --------- -- [This blog post](http://w-shadow.com/blog/2010/09/02/automatic-updates-for-any-plugin/) has more information about the update checker API. *Slightly out of date.* +- [This blog post](https://w-shadow.com/blog/2010/09/02/automatic-updates-for-any-plugin/) has more information about the update checker API. *Slightly out of date.* - [Debug Bar](https://wordpress.org/plugins/debug-bar/) - useful for testing and debugging the update checker. - [Update format reference](https://docs.google.com/spreadsheets/d/1eOBbW7Go2qEQXReOOCdidMTf_tDYRq4JfegcO1CBPIs/edit?usp=sharing) - describes all fields supported by the JSON-based update information format used by the update checker. Only covers plugins. Themes use a similar but more limited format. -- [Securing download links](http://w-shadow.com/blog/2013/03/19/plugin-updates-securing-download-links/) - a general overview. -- [A GUI for entering download credentials](http://open-tools.net/documentation/tutorial-automatic-updates.html#wordpress) -- [Theme Update Checker](http://w-shadow.com/blog/2011/06/02/automatic-updates-for-commercial-themes/) - an older, theme-only variant of this update checker. +- [Securing download links](https://w-shadow.com/blog/2013/03/19/plugin-updates-securing-download-links/) - a general overview. +- [A GUI for entering download credentials](https://open-tools.net/documentation/tutorial-automatic-updates.html#wordpress) +- [Theme Update Checker](https://w-shadow.com/blog/2011/06/02/automatic-updates-for-commercial-themes/) - an older, theme-only variant of this update checker. diff --git a/plugin-update-checker/composer.json b/plugin-update-checker/composer.json index 4379eeb..5cb6861 100644 --- a/plugin-update-checker/composer.json +++ b/plugin-update-checker/composer.json @@ -9,15 +9,15 @@ { "name": "Yahnis Elsts", "email": "whiteshadow@w-shadow.com", - "homepage": "http://w-shadow.com/", + "homepage": "https://w-shadow.com/", "role": "Developer" } ], "require": { - "php": ">=5.2.0", + "php": ">=5.6.20", "ext-json": "*" }, "autoload": { - "files": ["load-v4p9.php"] + "files": ["load-v5p5.php"] } } diff --git a/plugin-update-checker/css/puc-debug-bar.css b/plugin-update-checker/css/puc-debug-bar.css index 2cb3f8e..649db4f 100644 --- a/plugin-update-checker/css/puc-debug-bar.css +++ b/plugin-update-checker/css/puc-debug-bar.css @@ -1,4 +1,4 @@ -.puc-debug-bar-panel-v4 pre { +.puc-debug-bar-panel-v5 pre { margin-top: 0; } diff --git a/plugin-update-checker/js/debug-bar.js b/plugin-update-checker/js/debug-bar.js index b8435db..80f53f1 100644 --- a/plugin-update-checker/js/debug-bar.js +++ b/plugin-update-checker/js/debug-bar.js @@ -2,7 +2,7 @@ jQuery(function($) { function runAjaxAction(button, action) { button = $(button); - var panel = button.closest('.puc-debug-bar-panel-v4'); + var panel = button.closest('.puc-debug-bar-panel-v5'); var responseBox = button.closest('td').find('.puc-ajax-response'); responseBox.text('Processing...').show(); @@ -14,19 +14,21 @@ jQuery(function($) { _wpnonce: panel.data('nonce') }, function(data) { + //The response contains HTML that should already be escaped in server-side code. + //phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html responseBox.html(data); }, 'html' ); } - $('.puc-debug-bar-panel-v4 input[name="puc-check-now-button"]').click(function() { - runAjaxAction(this, 'puc_v4_debug_check_now'); + $('.puc-debug-bar-panel-v5 input[name="puc-check-now-button"]').on('click', function() { + runAjaxAction(this, 'puc_v5_debug_check_now'); return false; }); - $('.puc-debug-bar-panel-v4 input[name="puc-request-info-button"]').click(function() { - runAjaxAction(this, 'puc_v4_debug_request_info'); + $('.puc-debug-bar-panel-v5 input[name="puc-request-info-button"]').on('click', function() { + runAjaxAction(this, 'puc_v5_debug_request_info'); return false; }); @@ -34,7 +36,7 @@ jQuery(function($) { // Debug Bar uses the panel class name as part of its link and container IDs. This means we can // end up with multiple identical IDs if more than one plugin uses the update checker library. // Fix it by replacing the class name with the plugin slug. - var panels = $('#debug-menu-targets').find('.puc-debug-bar-panel-v4'); + var panels = $('#debug-menu-targets').find('.puc-debug-bar-panel-v5'); panels.each(function() { var panel = $(this); var uid = panel.data('uid'); diff --git a/plugin-update-checker/languages/plugin-update-checker-el.mo b/plugin-update-checker/languages/plugin-update-checker-el.mo new file mode 100644 index 0000000000000000000000000000000000000000..08306de69e2d1258c0ab69400fac88e54439e837 GIT binary patch literal 1455 zcma)5&u<$=6kZ?*$v1lD@ER$nb~c+$6PmSrXibVL64ewJ!6};96MNgujI}eHw4B-` z{ShftNDzqw5*LnjqtI9-P%B8>Xa55Z@DK1O@Xgwd6E%mf_560;``&xsdvEsdb7Q+6 zo(~`&LF(>+XJ?=a{UP4Jg%IRt$T;LrNComQWFB(<9nWLXEvMi0yj|#vIREwD!2cig z=Qz)fdEVF1PoTep{s+1Yt>4FAwJjQVXho%zb(-7=?bX{N6%=cdiW+S$TOv^{;%huk z_;MnA@0PqH)w&!80D}x7C2hFLG>uQ_anG~`b&{+VOER%Z#Ml**Vx87Rs$(Tdt&l@Z z=+_`rJ5k_`=&H(+Cioa?3M10hSc2fnYsSRE_c*-hWkUOJazJCJOJ*H1id@&eS4-7x z(J<_KlYKd084by?!C=_1&r_#sVHkzsg#b@!fosF+DVI9oMx_ziAMKGn$hY$c_IbWR_Ivxg-OIP~ zO?#AY04`e@ZwXcxd==nb`v-n6ZQmXO_w3jokw{95*B9qU4Ndt$sj8$A5(V#dz}$$t zX0ns;SeD(gQ!Py8R{a{gJi<9*DY(;c=IX0zQlBGOh*HpTyBa+xQj=B<- z-PrJ2k#xR7Q{~cE>{B5{I%sV{H59dt>F8*3GEohl#9H{v@i&ve)s$$)hF#@abhv3p zx=NdRA=W0MrKR$cC@Q*xAV*xETAJ?E-j+pd+&TL+@U3DE7LK zB2R7K_v|B7>Elvt=38**_krE9zZR>1h2qYdKRnH08^-4a6u!-()>gg^F2zS`f3kay zb>DWK>f-hs6u6fz%O33eXYqu0(C!HyMe<%@aG&0=W8B^?a@<+~FNpuNW0h tD1$K;9ibq(uDfRr)=})aL7zF{w;=S(@yJe5J=N&R+}l`47fg?Q?|%dqbwmIF literal 0 HcmV?d00001 diff --git a/plugin-update-checker/languages/plugin-update-checker-el.po b/plugin-update-checker/languages/plugin-update-checker-el.po new file mode 100644 index 0000000..6b1ba21 --- /dev/null +++ b/plugin-update-checker/languages/plugin-update-checker-el.po @@ -0,0 +1,52 @@ +msgid "" +msgstr "" +"Project-Id-Version: plugin-update-checker\n" +"POT-Creation-Date: 2022-07-29 15:34+0300\n" +"PO-Revision-Date: 2024-05-09 22:22+0000\n" +"Last-Translator: theogk\n" +"Language-Team: Ελληνικά\n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Loco https://localise.biz/\n" +"X-Poedit-Basepath: ..\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" +"X-Poedit-SearchPath-0: .\n" +"Report-Msgid-Bugs-To: \n" +"X-Loco-Version: 2.6.9; wp-6.5.3" + +#: Puc/v5p4/Plugin/Ui.php:128 +msgid "Check for updates" +msgstr "Έλεγχος για ενημερώσεις" + +#: Puc/v5p4/Plugin/Ui.php:214 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "Το πρόσθετο %s είναι ενημερωμένο." + +#: Puc/v5p4/Plugin/Ui.php:216 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "Μία νέα έκδοση είναι διαθέσιμη για το πρόσθετο %s." + +#: Puc/v5p4/Plugin/Ui.php:218 +#, php-format +msgctxt "the plugin title" +msgid "Could not determine if updates are available for %s." +msgstr "" +"Δεν ήταν εφικτό να εκτελεστεί ο έλεγχος για νέες ενημερώσεις για το πρόσθετο " +"%s." + +#: Puc/v5p4/Plugin/Ui.php:224 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "Άγνωστο πρόβλημα του ενημερωτή προσθέτων \"%s\"" + +#: Puc/v5p4/Vcs/PluginUpdateChecker.php:100 +msgid "There is no changelog available." +msgstr "Δεν υπάρχει διαθέσιμο αρχείο αλλαγών." diff --git a/plugin-update-checker/languages/plugin-update-checker-it_IT.mo b/plugin-update-checker/languages/plugin-update-checker-it_IT.mo index 6a2c57d98f667286c49857745f52a20c6a54107c..4b40d32304dd2746496014f89ffc22d7a2b97b53 100644 GIT binary patch literal 1135 zcmZWo%We}f6g5yl3JU}aHn6x(hWBZYo!8co?Ne#7)JzW+epTRe#dQ`8==#i{P6h(1u`EFE?qRKj2SEvEYE~`;Ym5uhs z>QU@kHLA3%32cJw9_EM=_#oWRGo?+V?7Q2#*>|?b$?P zy8L+FotSj!wY$esv2w|<1GO@O-ip9==)O)Aslh;7XVeHi)8ZB8D7p3XE2%6g3^^Vk zyTf&ImNAXcA2{L0Q|)tW^o}k^cM~%T6HN(P?`)RYlTpdzgY}6nU^brQEu+X3c2CWQ z7ZEv|%`GMv3QnXbb>S?x-j9=(eq;R@QqL2~(0ja?Qqf!_<@lG%`ECD~W#$oVRr~{k C>Q&|d delta 531 zcmY+A&r2IY6vrpoSVfDp9#o=)M?ep)6LyzGF^DJ{L>f?RPQ8>#GFb=LnXo@1NFaZM ztm40*C$Ap7Nd5&6?Lm)1PyHACF4Bq*KKpt5<}velf5#q22TxPE3x@ar=0P1yfIdj$ z3VZ?A;4^pt1fD@2jAj@s!bSKOsDUN?7c9o6;csvmZo)J0CCuR)7_AMYj3H+^kPeYX z_ErDCBWbotTAol(2B9*VOoyUF6;juaJ*5em=n3VErY}opx8>Q!`@^_Pk)gJT&i*VW z_nDdFLQSlY1MVU+Kz3H@9*&g*;DD0Z+$D=cDPd^$E~{M z*S@+4Bi;yv4t)`sph~-*38+52YaL0S)|Bp;4TX{)%d}Fm+HyUa$__@HQl(T$&a?eb z<8`6ESa_JFEq`v;k_~Gv`E3;@hgZ~AVb^HYRK84pSc@M8h4K_LNt`5hF2BQe{eP=K qyYM_^0*y)7cSR^*YpSDKC{V1a8yKwV7?-q+HepM}s23N)B6|UA1%vzm diff --git a/plugin-update-checker/languages/plugin-update-checker-it_IT.po b/plugin-update-checker/languages/plugin-update-checker-it_IT.po index d894642..db62bb1 100644 --- a/plugin-update-checker/languages/plugin-update-checker-it_IT.po +++ b/plugin-update-checker/languages/plugin-update-checker-it_IT.po @@ -1,38 +1,48 @@ msgid "" msgstr "" "Project-Id-Version: plugin-update-checker\n" -"POT-Creation-Date: 2016-06-29 20:21+0100\n" -"PO-Revision-Date: 2017-01-15 12:24+0100\n" -"Last-Translator: Igor Lückel \n" +"POT-Creation-Date: 2020-08-08 14:36+0300\n" +"PO-Revision-Date: 2022-05-20 00:17+0200\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.5.5\n" +"X-Generator: Poedit 3.0\n" "X-Poedit-Basepath: ..\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e\n" -"Language: de_DE\n" +"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" +"Last-Translator: d79\n" +"Language: it_IT\n" "X-Poedit-SearchPath-0: .\n" -#: github-checker.php:137 -msgid "There is no changelog available." -msgstr "Non c'è alcuna sezione di aggiornamento disponibile" - -#: plugin-update-checker.php:852 +#: Puc/v4p11/Plugin/Ui.php:128 msgid "Check for updates" msgstr "Verifica aggiornamenti" -#: plugin-update-checker.php:896 -msgid "This plugin is up to date." -msgstr "Il plugin è aggiornato" +#: Puc/v4p11/Plugin/Ui.php:213 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "Il plugin %s è aggiornato." + +#: Puc/v4p11/Plugin/Ui.php:215 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "Una nuova versione del plugin %s è disponibile." -#: plugin-update-checker.php:898 -msgid "A new version of this plugin is available." -msgstr "Una nuova versione del plugin è disponibile" +#: Puc/v4p11/Plugin/Ui.php:217 +#, php-format +msgctxt "the plugin title" +msgid "Could not determine if updates are available for %s." +msgstr "Non è possibile verificare se c'è un aggiornamento disponibile per %s." -#: plugin-update-checker.php:900 +#: Puc/v4p11/Plugin/Ui.php:223 #, php-format msgid "Unknown update checker status \"%s\"" -msgstr "Si è verificato un problema sconosciuto \"%s\"" +msgstr "Stato di controllo aggiornamenti sconosciuto \"%s\"" + +#: Puc/v4p11/Vcs/PluginUpdateChecker.php:98 +msgid "There is no changelog available." +msgstr "Non c'è alcun registro delle modifiche disponibile." diff --git a/plugin-update-checker/languages/plugin-update-checker-ru_RU.mo b/plugin-update-checker/languages/plugin-update-checker-ru_RU.mo new file mode 100644 index 0000000000000000000000000000000000000000..50b330e9332d5024e9bf5f931e5b1e76dca7cd7a GIT binary patch literal 1337 zcmZuw&u<$=6dq`R${Y|}xNvxlltO7{+1&&h*4}=9X zJv7OUR;mz!8|uGcN~*d9Q*njM>_5O?z=^+rZ+7zw+L52Xc{|@X?|X0Uzuubpo?*R) zcn8rzypFh!aBG5i6Y&&5h(8gth`$jr;*FOWTL!KGIq*B+$(I@X9r!NtKTa@q4)_nS z3w(cuv3cM(K$kxOo&vu83S*E|3vvcJ!x6*dYQ4IT&S$k+L)p7YYni5E)E7qPtTU8a zQj(L(s5ca9Ak%C>VnZaUxRFYat*VQ+{yefTldmqzOKM8V+NfnyTzdnm7ZnajQB zJ)p7wmMlhOGICvetgW-JWzX;{eSW=m8SR_n^bm`takk(D{w4m~kNnl6Rz7kEpS7Wo7xu zMBw?2R;G+phIej{P|e6&=7Uix64i7sNaxbTtDVby>4>L=%Gadk%c__46E%ov=|*B2 zU-8eRl3JKdN7T+_KQR<~A)eO>|3u_+B+M`(&ug^PLW`7N&h&a7k;3~#n#T)GHyCW= z_taeA$8kWXPm|mFr{W->i{umN$S=gQVxl>Q<%W>fy&lduB3*Q^ ztsbi*h3*a8=$ZTIy20$j@~-{OKC+L2lXAPfPe^~V)9T@#eT?0te8B7vDv)KQ13o-9)+N{JLMh-GwQXgq3H`cx{G|?z%3j!>U_X4doGg p^$6zwr!DW1J9>c)S9aI#RRwYXL(s|fZP{fYnp literal 0 HcmV?d00001 diff --git a/plugin-update-checker/languages/plugin-update-checker-ru_RU.po b/plugin-update-checker/languages/plugin-update-checker-ru_RU.po new file mode 100644 index 0000000..33a1199 --- /dev/null +++ b/plugin-update-checker/languages/plugin-update-checker-ru_RU.po @@ -0,0 +1,48 @@ +msgid "" +msgstr "" +"Project-Id-Version: plugin-update-checker\n" +"POT-Creation-Date: 2020-08-08 14:36+0300\n" +"PO-Revision-Date: 2021-12-20 17:59+0200\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2\n" +"X-Poedit-Basepath: ..\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" +"Last-Translator: \n" +"Language: ru_RU\n" +"X-Poedit-SearchPath-0: .\n" + +#: Puc/v4p11/Plugin/Ui.php:128 +msgid "Check for updates" +msgstr "Проверить обновления" + +#: Puc/v4p11/Plugin/Ui.php:213 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "Плагин %s обновлён." + +#: Puc/v4p11/Plugin/Ui.php:215 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "Новая версия %s доступна." + +#: Puc/v4p11/Plugin/Ui.php:217 +#, php-format +msgctxt "the plugin title" +msgid "Could not determine if updates are available for %s." +msgstr "Не удалось определить, доступны ли обновления для %s." + +#: Puc/v4p11/Plugin/Ui.php:223 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "Неизвестный статус средства проверки обновлений \"%s\"" + +#: Puc/v4p11/Vcs/PluginUpdateChecker.php:98 +msgid "There is no changelog available." +msgstr "Журнал изменений отсутствует." diff --git a/plugin-update-checker/languages/plugin-update-checker-tr_TR.mo b/plugin-update-checker/languages/plugin-update-checker-tr_TR.mo new file mode 100644 index 0000000000000000000000000000000000000000..58be2f9306dd0e01aa725c03d583ca53bdd536a0 GIT binary patch literal 1118 zcmZWn&uA(EYi8EL z|3fcT#W_dLkt#u@Tq?V#{trF(&_ANz+WCbT?YG~~&U@c{@6G)4+0q+RH zH>2~*AyOlH>8_q_yQT8Vzs6>7pAB>FBwq5t#2acVW{Y|-k9_N(} z`|M@cW-ixukka~|j*T6;#g@H_&ZpFKoa;zy(BF}ZiF~XAk5n9{lq8Lwsk}0B)A=%_ zWN}QGhR$lct{0!3FD!lDq1N5@xxfoo`HVLfu2NdqI+K6KlLP1T@LY$O((Z11m)pCq z)7F=(85oTSsIm5L78biD4y@}7W$9s|y!x(w8C3#4u^bN+aE;g<#7Y2uh1&iB_Og+~Q(_=q9E~m#-@;IwvA`q&lZxM4* h*%@3qXG)dNj%J6mBiduQgCI)C^*rfJ|1>cX{{#HHSPlRH literal 0 HcmV?d00001 diff --git a/plugin-update-checker/languages/plugin-update-checker-tr_TR.po b/plugin-update-checker/languages/plugin-update-checker-tr_TR.po new file mode 100644 index 0000000..ba5e291 --- /dev/null +++ b/plugin-update-checker/languages/plugin-update-checker-tr_TR.po @@ -0,0 +1,48 @@ +msgid "" +msgstr "" +"Project-Id-Version: plugin-update-checker\n" +"POT-Creation-Date: 2017-11-24 17:02+0200\n" +"PO-Revision-Date: 2021-11-15 19:07+0300\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.0\n" +"X-Poedit-Basepath: ..\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" +"Last-Translator: Emre Erkan \n" +"Language: tr\n" +"X-Poedit-SearchPath-0: .\n" + +#: Puc/v4p3/Plugin/UpdateChecker.php:395 +msgid "Check for updates" +msgstr "Güncellemeleri kontrol et" + +#: Puc/v4p3/Plugin/UpdateChecker.php:548 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "%s eklentisi güncel." + +#: Puc/v4p3/Plugin/UpdateChecker.php:550 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "%s eklentisinin yeni bir sürümü mevcut." + +#: Puc/v4p3/Plugin/UpdateChecker.php:552 +#, php-format +msgctxt "the plugin title" +msgid "Could not determine if updates are available for %s." +msgstr "%s için güncelleme olup olmadığı belirlenemedi." + +#: Puc/v4p3/Plugin/UpdateChecker.php:558 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "Bilinmeyen güncelleme denetleyicisi durumu \"%s\"" + +#: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 +msgid "There is no changelog available." +msgstr "Kullanılabilir bir değişiklik yok." diff --git a/plugin-update-checker/languages/plugin-update-checker-uk_UA.mo b/plugin-update-checker/languages/plugin-update-checker-uk_UA.mo new file mode 100644 index 0000000000000000000000000000000000000000..79494e524ebd28dcba540d54c7f4949d5a436508 GIT binary patch literal 1309 zcmZuwO>YxN7#`a6L*`J?a}O_(LZM-{yPHs=HA@94(heN%>IG?f}VQqrO)i<3(}EaKQpuM^S;mXuKm}?6TdL5 z4-lUqT8QI_M+mz{h!cpH2txdcm_+=I2oWD0V{9I{0OY`*fFHiY*zdqkasK07#^!+k z0KW!KPcZfwPy>GiZUIjM{{@0lF3=g$8LrrS7n+;~Zn09Ae7m55^u^L;)2YDX%eD1sCoe$2Pn+DIVUB`^`s3&+!L@NQ+7OpMK zABgZAx7J9d7E<%podLROaa(^rNTOKQ?F&+w(BWe13ZFa3Q<2P;gyQqElXhd-3ux|U ztZP5;t3nDD=~M;OOhq@=YbLph5`HCBD_KAi?-R!?oT=Nv zU>ly6Q=S`!9-TTxcI%!DJ&(R5mynM0#n9h-bRnFz+mhj4@O-*^x1wD1X3v1)f#RR3 zA1L`Q%~eMhzoN%w4#yF|%c!7x&C_^Q71Wj*16nL}tf~5l_rE9*oVn*kI-{wy(^v z_?gTzvs2tJ9u({5b(#0n?2!4jSOhGx51C-cI*DmKm7sfZ|UStu|vFUgWo2?dJ# zgc^qh{C1>$@u>QfL4lPtBz%E^BAdmA{e{1!XIS;LY0s>hQtXC3j-Uzxi-(oXvt)N~ e(TmOhac^_B%Vwy(g_1+_)VeFXzd5TNhy4cu&FZoM literal 0 HcmV?d00001 diff --git a/plugin-update-checker/languages/plugin-update-checker-uk_UA.po b/plugin-update-checker/languages/plugin-update-checker-uk_UA.po new file mode 100644 index 0000000..b84b16e --- /dev/null +++ b/plugin-update-checker/languages/plugin-update-checker-uk_UA.po @@ -0,0 +1,48 @@ +msgid "" +msgstr "" +"Project-Id-Version: plugin-update-checker\n" +"POT-Creation-Date: 2020-08-08 14:36+0300\n" +"PO-Revision-Date: 2021-12-20 17:55+0200\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2\n" +"X-Poedit-Basepath: ..\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" +"Last-Translator: \n" +"Language: uk_UA\n" +"X-Poedit-SearchPath-0: .\n" + +#: Puc/v4p11/Plugin/Ui.php:128 +msgid "Check for updates" +msgstr "Перевірити оновлення" + +#: Puc/v4p11/Plugin/Ui.php:213 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "Плагін %s оновлено." + +#: Puc/v4p11/Plugin/Ui.php:215 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "Нова версія %s доступна." + +#: Puc/v4p11/Plugin/Ui.php:217 +#, php-format +msgctxt "the plugin title" +msgid "Could not determine if updates are available for %s." +msgstr "Не вдалося визначити, чи доступні оновлення для %s." + +#: Puc/v4p11/Plugin/Ui.php:223 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "Невідомий статус перевірки оновлень \"%s\"" + +#: Puc/v4p11/Vcs/PluginUpdateChecker.php:98 +msgid "There is no changelog available." +msgstr "Немає доступного журналу змін." diff --git a/plugin-update-checker/languages/plugin-update-checker-zh_CN.mo b/plugin-update-checker/languages/plugin-update-checker-zh_CN.mo new file mode 100644 index 0000000000000000000000000000000000000000..5236777ef4caecf0cc9162cdcb1f2789f00093ad GIT binary patch literal 1174 zcmZ`&-)j_C7`?So>(YSwCKmZf$xH1WCuxLb)`+@|#cFibD1CCd*}d7FWODB^_fDcd z#cH8xDJ`@%Auedph=^n*7N0CW_z(0iklJ)-`{slHfM<4MHYIrBaQ1#b&Ue0<*_XS! zZZe!5z$ZW%=ms7E$@v@D1-t_G0B-;Sx<6p72kd}92A>5Ff-ixGz;!SO{{vnDc5X@Q zUVO;dZp8lr?*p%b3B08%&3_6`;x70z@EP!4@KrEm*hc_b+6N)F71$1JYe&*OFsgI% zRau&#F&$D=D+?XU*%^XjkA75KKQ#ixV$tgcsgnx-%kNVyI0q!2;eOYo{&&}?4v#y&t zC5+`Gp-?6eR)-#)mtaL-`*^@~sOldv?Z9|)cS?HlFj`b45*5iuq?q(*{qE7#YB7I0 zGkjursAI3saWi?XtW=nDr3NEbUbY8nf$&u>d5@uycJRW;ah~neC4RqC5>|6T68E^)WNw55v zFtR3W)g#C0M9=FeEXjOo$fMNJde2FDWm<=2bILc?qhc{vl)2(%ukZ8z5_p4(6k(}a zfI4@fpJDOcnfUfneCv<+_s0z1QfuJ`F3o!j|2|)guQgb_vKZHAn?E;NzdcBED2(Tp zn$PD}XTD`|{bB3&QYXvB2Jl|;ka{s-hty{~9(tIPX&%je__WQX0D3N&!QqYmS literal 0 HcmV?d00001 diff --git a/plugin-update-checker/languages/plugin-update-checker-zh_CN.po b/plugin-update-checker/languages/plugin-update-checker-zh_CN.po new file mode 100644 index 0000000..b9e0eb6 --- /dev/null +++ b/plugin-update-checker/languages/plugin-update-checker-zh_CN.po @@ -0,0 +1,57 @@ +msgid "" +msgstr "" +"Project-Id-Version: plugin-update-checker\n" +"POT-Creation-Date: 2024-05-18 00:08+0800\n" +"PO-Revision-Date: 2024-05-18 00:08+0800\n" +"Last-Translator: Seaton Jiang \n" +"Language-Team: \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 3.4.4\n" +"X-Poedit-Basepath: ..\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" +"X-Poedit-SearchPath-0: .\n" + +#: Puc/v5p4/Plugin/Ui.php:56 +msgid "View details" +msgstr "查看详情" + +#: Puc/v5p4/Plugin/Ui.php:79 +#, php-format +msgid "More information about %s" +msgstr "%s 的更多信息" + +#: Puc/v5p4/Plugin/Ui.php:130 +msgid "Check for updates" +msgstr "检查更新" + +#: Puc/v5p4/Plugin/Ui.php:217 +#, php-format +msgctxt "the plugin title" +msgid "The %s plugin is up to date." +msgstr "%s 目前是最新版本。" + +#: Puc/v5p4/Plugin/Ui.php:219 +#, php-format +msgctxt "the plugin title" +msgid "A new version of the %s plugin is available." +msgstr "%s 当前有可用的更新。" + +#: Puc/v5p4/Plugin/Ui.php:221 +#, php-format +msgctxt "the plugin title" +msgid "Could not determine if updates are available for %s." +msgstr "%s 无法确定是否有可用的更新。" + +#: Puc/v5p4/Plugin/Ui.php:227 +#, php-format +msgid "Unknown update checker status \"%s\"" +msgstr "未知的更新检查状态:%s" + +#: Puc/v5p4/Vcs/PluginUpdateChecker.php:113 +msgid "There is no changelog available." +msgstr "没有可用的更新日志。" diff --git a/plugin-update-checker/languages/plugin-update-checker.pot b/plugin-update-checker/languages/plugin-update-checker.pot index 67f4f00..a3f9aca 100644 --- a/plugin-update-checker/languages/plugin-update-checker.pot +++ b/plugin-update-checker/languages/plugin-update-checker.pot @@ -2,48 +2,48 @@ msgid "" msgstr "" "Project-Id-Version: plugin-update-checker\n" -"POT-Creation-Date: 2017-11-24 17:02+0200\n" +"POT-Creation-Date: 2024-10-16 17:23+0300\n" "PO-Revision-Date: 2016-01-10 20:59+0100\n" -"Last-Translator: Tamás András Horváth \n" +"Last-Translator: \n" "Language-Team: \n" "Language: en_US\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.4\n" -"X-Poedit-Basepath: ..\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.5\n" +"X-Poedit-Basepath: ..\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" "X-Poedit-SearchPath-0: .\n" -#: Puc/v4p3/Plugin/UpdateChecker.php:395 +#: Puc/v5p5/Plugin/Ui.php:130 msgid "Check for updates" msgstr "" -#: Puc/v4p3/Plugin/UpdateChecker.php:548 +#: Puc/v5p5/Plugin/Ui.php:217 #, php-format msgctxt "the plugin title" msgid "The %s plugin is up to date." msgstr "" -#: Puc/v4p3/Plugin/UpdateChecker.php:550 +#: Puc/v5p5/Plugin/Ui.php:219 #, php-format msgctxt "the plugin title" msgid "A new version of the %s plugin is available." msgstr "" -#: Puc/v4p3/Plugin/UpdateChecker.php:552 +#: Puc/v5p5/Plugin/Ui.php:221 #, php-format msgctxt "the plugin title" msgid "Could not determine if updates are available for %s." msgstr "" -#: Puc/v4p3/Plugin/UpdateChecker.php:558 +#: Puc/v5p5/Plugin/Ui.php:227 #, php-format msgid "Unknown update checker status \"%s\"" msgstr "" -#: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 +#: Puc/v5p5/Vcs/PluginUpdateChecker.php:113 msgid "There is no changelog available." msgstr "" diff --git a/plugin-update-checker/license.txt b/plugin-update-checker/license.txt index be948f6..7fff536 100644 --- a/plugin-update-checker/license.txt +++ b/plugin-update-checker/license.txt @@ -1,4 +1,4 @@ -Copyright (c) 2017 Jānis Elsts +Copyright (c) 2023 Jānis Elsts Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/plugin-update-checker/load-v4p9.php b/plugin-update-checker/load-v4p9.php deleted file mode 100644 index f5634b5..0000000 --- a/plugin-update-checker/load-v4p9.php +++ /dev/null @@ -1,28 +0,0 @@ - 'Puc_v4p9_Plugin_UpdateChecker', - 'Theme_UpdateChecker' => 'Puc_v4p9_Theme_UpdateChecker', - - 'Vcs_PluginUpdateChecker' => 'Puc_v4p9_Vcs_PluginUpdateChecker', - 'Vcs_ThemeUpdateChecker' => 'Puc_v4p9_Vcs_ThemeUpdateChecker', - - 'GitHubApi' => 'Puc_v4p9_Vcs_GitHubApi', - 'BitBucketApi' => 'Puc_v4p9_Vcs_BitBucketApi', - 'GitLabApi' => 'Puc_v4p9_Vcs_GitLabApi', - ) - as $pucGeneralClass => $pucVersionedClass -) { - Puc_v4_Factory::addVersion($pucGeneralClass, $pucVersionedClass, '4.9'); - //Also add it to the minor-version factory in case the major-version factory - //was already defined by another, older version of the update checker. - Puc_v4p9_Factory::addVersion($pucGeneralClass, $pucVersionedClass, '4.9'); -} - diff --git a/plugin-update-checker/load-v5p5.php b/plugin-update-checker/load-v5p5.php new file mode 100644 index 0000000..1ce30a1 --- /dev/null +++ b/plugin-update-checker/load-v5p5.php @@ -0,0 +1,34 @@ + Plugin\UpdateChecker::class, + 'Theme\\UpdateChecker' => Theme\UpdateChecker::class, + + 'Vcs\\PluginUpdateChecker' => Vcs\PluginUpdateChecker::class, + 'Vcs\\ThemeUpdateChecker' => Vcs\ThemeUpdateChecker::class, + + 'GitHubApi' => Vcs\GitHubApi::class, + 'BitBucketApi' => Vcs\BitBucketApi::class, + 'GitLabApi' => Vcs\GitLabApi::class, + ) + as $pucGeneralClass => $pucVersionedClass +) { + MajorFactory::addVersion($pucGeneralClass, $pucVersionedClass, '5.5'); + //Also add it to the minor-version factory in case the major-version factory + //was already defined by another, older version of the update checker. + MinorFactory::addVersion($pucGeneralClass, $pucVersionedClass, '5.5'); +} + diff --git a/plugin-update-checker/plugin-update-checker.php b/plugin-update-checker/plugin-update-checker.php index 2abd4ec..0c070a8 100644 --- a/plugin-update-checker/plugin-update-checker.php +++ b/plugin-update-checker/plugin-update-checker.php @@ -1,10 +1,10 @@ =') ) { - require __DIR__ . '/ParsedownModern.php'; - } else { - require __DIR__ . '/ParsedownLegacy.php'; - } + require __DIR__ . '/ParsedownModern.php'; } diff --git a/plugin-update-checker/vendor/PucReadmeParser.php b/plugin-update-checker/vendor/PucReadmeParser.php index 1f5cec9..a794c49 100644 --- a/plugin-update-checker/vendor/PucReadmeParser.php +++ b/plugin-update-checker/vendor/PucReadmeParser.php @@ -241,7 +241,11 @@ function user_sanitize( $text, $strict = false ) { // whitelisted chars } function sanitize_text( $text ) { // not fancy - $text = strip_tags($text); + $text = function_exists('wp_strip_all_tags') + ? wp_strip_all_tags($text) + //phpcs:ignore WordPressVIPMinimum.Functions.StripTags.StripTagsOneParameter -- Using wp_strip_all_tags() if available + : strip_tags($text); + $text = esc_html($text); $text = trim($text); return $text; diff --git a/slm-plus.php b/slm-plus.php index 837b8e7..4772589 100644 --- a/slm-plus.php +++ b/slm-plus.php @@ -65,12 +65,11 @@ function slmplus_load_textdomain() { require_once SLM_LIB . 'slm-plugin-core.php'; } -function slm_settings_link($links) -{ +function slm_settings_link($links){ $settings_link = '' . __('Settings') . ''; - $github_link = '' . __('GitHub') . ''; + // $github_link = '' . __('GitHub') . ''; $links[] = $settings_link; - $links[] = $github_link; + //$links[] = $github_link; return $links; } add_filter('plugin_action_links_' . plugin_basename(__FILE__), 'slm_settings_link'); @@ -84,7 +83,6 @@ function slm_settings_link($links) define('VERIFY_KEY_API', SLM_API_Utility::get_slm_option('lic_verification_secret')); define('KEY_API_PREFIX', SLM_API_Utility::get_slm_option('lic_prefix')); - // Auto-updater integration for GitHub updates if (file_exists('plugin-update-checker/plugin-update-checker.php')) { require 'plugin-update-checker/plugin-update-checker.php'; diff --git a/woocommerce/includes/create-license-orders.php b/woocommerce/includes/create-license-orders.php index da9fc95..2920a18 100644 --- a/woocommerce/includes/create-license-orders.php +++ b/woocommerce/includes/create-license-orders.php @@ -17,19 +17,52 @@ function slm_generate_licenses_callback() { check_ajax_referer('slm_generate_licenses_nonce', 'security'); global $wpdb; - $response_data = ['html' => '']; - $success_count = 0; - $failure_count = 0; - $skipped_orders = []; + $response_data = ['html' => '']; + $success_count = 0; + $failure_count = 0; + $skipped_orders = []; + $skipped_reasons = []; $generated_licenses = []; - $skipped_reasons = []; // Retrieve Product ID and Subscription Type from the request - $default_product_id = isset($_POST['slm_product_id']) ? absint($_POST['slm_product_id']) : 38; // Fallback to 38 if not provided - $slm_lic_type = isset($_POST['subscription_type']) ? sanitize_text_field($_POST['subscription_type']) : 'subscription'; + $default_product_id = isset($_POST['slm_product_id']) ? absint($_POST['slm_product_id']) : null; + $slm_lic_type = isset($_POST['subscription_type']) && in_array($_POST['subscription_type'], ['subscription', 'lifetime']) + ? sanitize_text_field($_POST['subscription_type']) + : 'subscription'; SLM_Helper_Class::write_log("Starting license generation with Product ID: {$default_product_id} and License Type: {$slm_lic_type}."); + // Check if Product ID is missing; if so, log an error, add an error response, and exit. + if (empty($default_product_id)) { + SLM_Helper_Class::write_log('Error: Product ID is missing in the request.'); + + // Track failure and skip reason for the response + $failure_count++; + $skipped_orders[] = 0; + $skipped_reasons[0] = __('Product ID is missing in the request.', 'slmplus'); + + // Return early with a JSON error response for AJAX display + $response_data['html'] .= '
  • Error: Product ID is missing in the request. Please provide a valid product ID.
  • '; + wp_send_json_error($response_data); + return; + } + + // Check if the Product ID corresponds to an existing WooCommerce product + $product = wc_get_product($default_product_id); + if (!$product) { + SLM_Helper_Class::write_log("Error: Product with ID $default_product_id does not exist in WooCommerce."); + + // Track failure and skip reason for the response + $failure_count++; + $skipped_orders[] = 0; + $skipped_reasons[0] = __('The provided Product ID does not correspond to a valid WooCommerce product. Please check the ID and try again.', 'slmplus'); + + // Return early with a JSON error response for AJAX display + $response_data['html'] .= '
  • Error: The provided Product ID does not correspond to a valid WooCommerce product. Please check the ID and try again.
  • '; + wp_send_json_error($response_data); + return; + } + // Query to get WooCommerce orders without a license key $orders_without_license = $wpdb->get_results(" SELECT p.ID as order_id @@ -66,8 +99,28 @@ function slm_generate_licenses_callback() { $slm_billing_interval = SLM_API_Utility::get_slm_option('slm_billing_interval'); $subscr_id = $user_id; - // Calculate the expiry date based on billing interval and length - $date_expiry = date('Y-m-d', strtotime("+$slm_billing_interval $slm_billing_length", strtotime($date_created))); + // Check license type and set expiration date accordingly + if ($slm_lic_type === 'lifetime') { + $date_expiry = date('Y-m-d', strtotime("+120 years", strtotime($date_created))); + } else { + // Calculate expiration based on billing interval and length + switch ($slm_billing_interval) { + case 'years': + $date_expiry = date('Y-m-d', strtotime("+$slm_billing_length years", strtotime($date_created))); + break; + case 'months': + $date_expiry = date('Y-m-d', strtotime("+$slm_billing_length months", strtotime($date_created))); + break; + case 'days': + $date_expiry = date('Y-m-d', strtotime("+$slm_billing_length days", strtotime($date_created))); + break; + default: + $date_expiry = $date_created; + } + } + + SLM_Helper_Class::write_log("Interval: {$slm_billing_interval} - Length: {$slm_billing_length}"); + $order_items = $order->get_items(); if (count($order_items) === 0) { @@ -85,14 +138,12 @@ function slm_generate_licenses_callback() { $item->set_quantity(1); $item->set_total($product->get_price()); - // Check if a license key already exists for this item if ($item->meta_exists('_slm_lic_key')) { $skipped_orders[] = $order_id; $skipped_reasons[$order_id] = 'Already has a license'; continue; } - // License data for API call $license_data = [ 'slm_action' => 'slm_create_new', 'lic_status' => 'pending', @@ -109,6 +160,7 @@ function slm_generate_licenses_callback() { 'date_expiry' => $date_expiry, 'product_ref' => $product->get_name(), 'current_ver' => SLM_API_Utility::get_slm_option('license_current_version'), + 'until' => SLM_API_Utility::get_slm_option('license_until_version'), 'subscr_id' => $subscr_id, 'item_reference' => $order_id, 'slm_billing_length' => $slm_billing_length, @@ -116,7 +168,6 @@ function slm_generate_licenses_callback() { 'secret_key' => KEY_API ]; - // Call the API to generate the license key $license_key = ''; $response = wp_remote_post(SLM_API_URL, [ 'method' => 'POST', @@ -133,14 +184,12 @@ function slm_generate_licenses_callback() { $license_key = sanitize_text_field($api_response['key']); $success_count++; - // Add license meta data and note to the order $item->add_meta_data('_slm_lic_key', $license_key, true); $item->add_meta_data('_slm_lic_type', $slm_lic_type, true); $order->add_order_note( sprintf(__('License Key generated: %s', 'slmplus'), $license_key) ); - // Collect for response message $generated_licenses[] = [ 'license_key' => $license_key, 'order_id' => $order_id, @@ -154,45 +203,20 @@ function slm_generate_licenses_callback() { $order->add_item($item); $order->save(); - } else { - // Process orders with items foreach ($order_items as $item) { $product_id = $item->get_product_id(); $product_name = $item->get_name(); - // Skip if the item already has a license key if ($item->meta_exists('_slm_lic_key')) { $skipped_orders[] = $order_id; $skipped_reasons[$order_id] = 'Already has a license'; continue; } - // License data for API call - $license_data = [ - 'slm_action' => 'slm_create_new', - 'lic_status' => 'pending', - 'lic_type' => $slm_lic_type, - 'first_name' => $first_name, - 'last_name' => $last_name, - 'email' => $email, - 'purchase_id_' => $purchase_id, - 'txn_id' => $txn_id, - 'company_name' => $company_name, - 'max_allowed_domains' => SLM_DEFAULT_MAX_DOMAINS, - 'max_allowed_devices' => SLM_DEFAULT_MAX_DEVICES, - 'date_created' => $date_created, - 'date_expiry' => $date_expiry, - 'product_ref' => $product_name, - 'current_ver' => SLM_API_Utility::get_slm_option('license_current_version'), - 'subscr_id' => $subscr_id, - 'item_reference' => $order_id, - 'slm_billing_length' => $slm_billing_length, - 'slm_billing_interval' => $slm_billing_interval, - 'secret_key' => KEY_API - ]; - + $license_data['product_ref'] = $product_name; $license_key = ''; + $response = wp_remote_post(SLM_API_URL, [ 'method' => 'POST', 'body' => $license_data, @@ -220,28 +244,27 @@ function slm_generate_licenses_callback() { } else { $failure_count++; } - $item->save(); // Save item meta + $item->save(); } $order->save(); } } - // Log grouped skipped orders if (!empty($skipped_orders)) { foreach ($skipped_orders as $order_id) { SLM_Helper_Class::write_log("Skipping Order ID {$order_id}: {$skipped_reasons[$order_id]}."); } } - // Summarize counts in log - SLM_Helper_Class::write_log("License generation completed. Success: {$success_count}, Failures: {$failure_count}, Skipped: " . count($skipped_orders)); - - // Generate HTML response for display if (!empty($skipped_orders)) { $response_data['html'] .= '
  • ' . sprintf(__('%d orders were skipped:', 'slmplus'), count($skipped_orders)) . '
      '; foreach ($skipped_orders as $order_id) { - $order_link = admin_url('post.php?post=' . $order_id . '&action=edit'); - $response_data['html'] .= '
    • ' . sprintf(__('Order ID %d was skipped due to: %s. View Order', 'slmplus'), $order_id, esc_html($skipped_reasons[$order_id]), esc_url($order_link)) . '
    • '; + if ($order_id !== 0) { + $order_link = admin_url('post.php?post=' . $order_id . '&action=edit'); + $response_data['html'] .= '
    • ' . sprintf(__('Order ID %d was skipped due to: %s. View Order', 'slmplus'), $order_id, esc_html($skipped_reasons[$order_id]), esc_url($order_link)) . '
    • '; + } else { + $response_data['html'] .= '
    • ' . esc_html($skipped_reasons[0]) . '
    • '; + } } $response_data['html'] .= '
  • '; } @@ -259,7 +282,5 @@ function slm_generate_licenses_callback() { $response_data['html'] .= '
  • ' . sprintf(__('%d licenses failed to generate.', 'slmplus'), $failure_count) . '
  • '; } - // Return the JSON response wp_send_json_success($response_data); - } From 39fa2cfe21fec4194d1a428332ad99eaed10ce22 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 09:49:50 -0400 Subject: [PATCH 215/293] WooCommerce enhancements added: metabox to the woocommerce order details page, where a user can generate a new license key. improved: validation check and logic when manually creating license keys --- admin/slm-add-licenses.php | 176 ++++++++++++++------ woocommerce/includes/slm-meta-boxes.php | 204 +++++++++++++++++++++++- 2 files changed, 333 insertions(+), 47 deletions(-) diff --git a/admin/slm-add-licenses.php b/admin/slm-add-licenses.php index 35732b1..afaa414 100755 --- a/admin/slm-add-licenses.php +++ b/admin/slm-add-licenses.php @@ -11,12 +11,21 @@ function slm_add_licenses_menu() $id = !empty($_GET['edit_record']) ? intval($_GET['edit_record']) : 0; // Check for 'edit_record' parameter in the URL $slm_options = get_option('slm_options'); + // Set initial variables for slm_billing_length and slm_billing_interval + $slm_billing_length = SLM_API_Utility::get_slm_option('slm_billing_length'); + $slm_billing_interval = SLM_API_Utility::get_slm_option('slm_billing_interval'); + + // Calculate date_expiry based on slm_billing_length and slm_billing_interval + $date_created = date_i18n($slm_wp_date_format, strtotime('now')); + $date_expiry = date_i18n($slm_wp_date_format, strtotime("+$slm_billing_length $slm_billing_interval")); + + //Get the active tab from the $_GET param $slm_lic_default_tab = null; $slm_lic_tab = isset($_GET['slm_tab']) ? $_GET['slm_tab'] : $slm_lic_default_tab; // Check if the form is submitted - if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['slm_save_license'])) { + if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['slm_save_license'])) { // Verify the nonce before processing the form if (!isset($_POST['slm_nonce']) || !wp_verify_nonce($_POST['slm_nonce'], 'slm_save_license')) { die(__('Security check failed', 'slmplus')); @@ -30,51 +39,37 @@ function slm_add_licenses_menu() 'lic_status' => sanitize_text_field($_POST['lic_status']), 'first_name' => sanitize_text_field($_POST['first_name']), 'last_name' => sanitize_text_field($_POST['last_name']), - - // Validate email 'email' => is_email($_POST['email']) ? sanitize_email($_POST['email']) : '', - 'company_name' => sanitize_text_field($_POST['company_name']), 'txn_id' => sanitize_text_field($_POST['txn_id']), 'manual_reset_count' => intval($_POST['manual_reset_count']), 'purchase_id_' => sanitize_text_field($_POST['purchase_id_']), - - // Date validation - 'date_created' => SLM_API_Utility::slm_validate_date($_POST['date_created']), + 'date_created' => isset($_POST['date_created']) ? SLM_API_Utility::slm_validate_date($_POST['date_created']) : date_i18n('Y-m-d'), // Default to today's date if not set 'date_renewed' => SLM_API_Utility::slm_validate_date($_POST['date_renewed']), 'date_activated' => SLM_API_Utility::slm_validate_date($_POST['date_activated']), - 'product_ref' => sanitize_text_field($_POST['product_ref']), 'until' => sanitize_text_field($_POST['until']), 'current_ver' => sanitize_text_field($_POST['current_ver']), 'subscr_id' => sanitize_text_field($_POST['subscr_id']), 'lic_type' => sanitize_text_field($_POST['lic_type']), - - // Handle 'lifetime' license expiration properly - 'date_expiry' => ($_POST['lic_type'] == 'lifetime') ? '0000-00-00' : SLM_API_Utility::slm_validate_date($_POST['date_expiry']), - + 'date_expiry' => ($_POST['lic_type'] === 'lifetime') ? date('Y-m-d', strtotime('+200 years')) : SLM_API_Utility::slm_validate_date($_POST['date_expiry']), 'item_reference' => sanitize_text_field($_POST['item_reference']), 'slm_billing_length' => sanitize_text_field($_POST['slm_billing_length']), 'slm_billing_interval' => sanitize_text_field($_POST['slm_billing_interval']), 'reminder_sent' => intval($_POST['reminder_sent']), - - // Reminder date validation - 'reminder_sent_date' => SLM_API_Utility::slm_validate_date($_POST['reminder_sent_date']) + 'reminder_sent_date' => SLM_API_Utility::slm_validate_date($_POST['reminder_sent_date']), ]; // Check for required fields - if (empty($data['email']) || empty($data['date_created']) || ($data['lic_type'] != 'lifetime' && empty($data['date_expiry'])) || empty($data['lic_type'])) { - // Custom error notice displayed inline + if (empty($data['email']) || empty($data['date_created']) || ($data['lic_type'] !== 'lifetime' && empty($data['date_expiry'])) || empty($data['lic_type'])) { echo '

    ' . __('Required fields are missing.', 'slmplus') . '

    '; } else { // Insert or update the data in the database if ($id) { $wpdb->update(SLM_TBL_LICENSE_KEYS, $data, ['id' => $id]); - // Custom success notice for updating a license echo '

    ' . __('License updated successfully.', 'slmplus') . '

    '; } else { $wpdb->insert(SLM_TBL_LICENSE_KEYS, $data); - // Custom success notice for creating a license echo '

    ' . __('License created successfully.', 'slmplus') . '

    '; echo '' . __('View License', 'slmplus') . '

    '; } @@ -82,7 +77,6 @@ function slm_add_licenses_menu() } else { // If editing, load existing data - // Ensure the correct data types and default values for new records if ($id) { $license = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . SLM_TBL_LICENSE_KEYS . " WHERE id = %d", $id)); if ($license) { @@ -111,10 +105,10 @@ function slm_add_licenses_menu() 'current_ver' => '', 'subscr_id' => '', 'lic_type' => 'subscription', - 'date_expiry' => date_i18n($slm_wp_date_format, strtotime('+1 year')), // Use WP date format + 'date_expiry' => $date_expiry, // Calculated expiration date 'item_reference' => '', - 'slm_billing_length' => '', - 'slm_billing_interval' => 'days', // Default value + 'slm_billing_length' => $slm_billing_length, + 'slm_billing_interval' => $slm_billing_interval, 'reminder_sent' => '0', 'reminder_sent_date' => '0000-00-00' ]; @@ -302,7 +296,7 @@ function slm_add_licenses_menu() $.post(ajax_uri, { _wpnonce: nonce // Include the nonce in the request }, function(response) { - console.log(response); // Debugging to ensure we're getting the response + ////console.log(response); // Debugging to ensure we're getting the response // Handle success response if (response.result === 'success') { @@ -448,7 +442,25 @@ function slm_add_licenses_menu() -

    +

    Choose this date to set when the license should renew or expire.
    Format: %s (input: YYYY-MM-DD).', 'slmplus'), $slm_wp_date_format); ?>

    + + + + + +

    For example, a length of 2 with a term of years means
    the license renews every two years.','slmplus'); ?>

    + + + + + + + +

    @@ -538,24 +550,6 @@ function slm_add_licenses_menu() - - - - - - - - - - - -

    - - @@ -573,14 +567,12 @@ function slm_add_licenses_menu()
    - - + + ID, '_slm_lic_key', true); + $license_type = get_post_meta($post->ID, '_slm_lic_type', true); + + $order = wc_get_order($post->ID); + $order_status = $order->get_status(); + + // Check if license can be created based on order status and license key existence + $can_create_license = empty($license_key) && in_array($order_status, ['completed', 'processing']); + + // Display license information if a key exists + if (!empty($license_key)) { + echo '

    ' . __('License Key:', 'slmplus') . ' ' . esc_html($license_key) . '

    '; + echo '

    ' . __('License Type:', 'slmplus') . ' ' . esc_html($license_type) . '

    '; + echo '

    ' . __('A license key is already assigned to this order.', 'slmplus') . '

    '; + + $license_view_url = esc_url(admin_url('admin.php?page=slm_manage_license&edit_record=' . $license_key)); + echo '' . __('View License', 'slmplus') . ''; + } else if ($can_create_license) { + // Show the license creation option if no license exists and order is eligible + echo ''; + echo '

    '; + + echo ''; + } else { + // Display informational message for new or ineligible orders + echo '

    ' . __('Order must be completed or processing to create a license.', 'slmplus') . '

    '; + echo ''; + } + ?> + + + __('Invalid order ID', 'slmplus')]); + } + + $order = wc_get_order($order_id); + if (!$order || !in_array($order->get_status(), ['completed', 'processing'])) { + wp_send_json_error(['message' => __('Order must be completed or processing to create a license', 'slmplus')]); + } + + // Gather required order details + $first_name = $order->get_billing_first_name(); + $last_name = $order->get_billing_last_name(); + $email = $order->get_billing_email(); + $purchase_id = $order->get_id(); + $txn_id = $order->get_transaction_id(); + $company_name = $order->get_billing_company(); + $date_created = $order->get_date_created()->date('Y-m-d'); + $user_id = $order->get_user_id(); + $product_ref = $order->get_items() ? $order->get_items()[0]->get_name() : ''; // Using the first item name for simplicity + + $slm_billing_length = SLM_API_Utility::get_slm_option('slm_billing_length'); + $slm_billing_interval = SLM_API_Utility::get_slm_option('slm_billing_interval'); + + $date_expiry = $lic_type === 'lifetime' ? date('Y-m-d', strtotime("+120 years", strtotime($date_created))) : + date('Y-m-d', strtotime("+$slm_billing_length $slm_billing_interval", strtotime($date_created))); + + // License data array, using all fields from original + $license_data = [ + 'slm_action' => 'slm_create_new', + 'lic_status' => 'pending', + 'lic_type' => $lic_type, + 'first_name' => $first_name, + 'last_name' => $last_name, + 'email' => $email, + 'purchase_id_' => $purchase_id, + 'txn_id' => $txn_id, + 'company_name' => $company_name, + 'max_allowed_domains' => SLM_DEFAULT_MAX_DOMAINS, + 'max_allowed_devices' => SLM_DEFAULT_MAX_DEVICES, + 'date_created' => $date_created, + 'date_expiry' => $date_expiry, + 'product_ref' => $product_ref, + 'current_ver' => SLM_API_Utility::get_slm_option('license_current_version'), + 'until' => SLM_API_Utility::get_slm_option('license_until_version'), + 'subscr_id' => $user_id, + 'item_reference' => $order_id, + 'slm_billing_length' => $slm_billing_length, + 'slm_billing_interval' => $slm_billing_interval, + 'secret_key' => KEY_API + ]; + + $response = wp_remote_post(SLM_API_URL, [ + 'method' => 'POST', + 'body' => $license_data, + 'timeout' => 45, + 'sslverify' => false, + ]); + + if (is_wp_error($response)) { + wp_send_json_error(['message' => __('API request failed', 'slmplus')]); + } + + $body = wp_remote_retrieve_body($response); + $api_response = json_decode($body, true); + + if ($api_response && isset($api_response['result']) && $api_response['result'] === 'success') { + $license_key = sanitize_text_field($api_response['key']); + update_post_meta($order_id, '_slm_lic_key', $license_key); + update_post_meta($order_id, '_slm_lic_type', $lic_type); // Save the license type + + $order->add_order_note( + sprintf(__('License Key generated: %s', 'slmplus'), $license_key) + ); + + wp_send_json_success(['message' => __('License created successfully', 'slmplus')]); + } else { + wp_send_json_error(['message' => __('License creation failed', 'slmplus')]); + } +} + +add_action('wp_ajax_check_order_user_info', 'check_order_user_info_callback'); +function check_order_user_info_callback() { + check_ajax_referer('slm_generate_license_nonce', 'security'); + + $order_id = isset($_POST['order_id']) ? absint($_POST['order_id']) : null; + if (!$order_id) { + wp_send_json_error(['message' => __('Invalid order ID', 'slmplus')]); + } + + $order = wc_get_order($order_id); + if ($order) { + $last_name = $order->get_billing_last_name(); + $email = $order->get_billing_email(); + wp_send_json_success(['last_name' => $last_name, 'email' => $email]); + } else { + wp_send_json_error(['message' => __('Order not found', 'slmplus')]); + } +} \ No newline at end of file From 540fafa3eef15730116cc9541d2684da44a1157b Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 09:50:23 -0400 Subject: [PATCH 216/293] Update slm-plus.php incremented version --- slm-plus.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/slm-plus.php b/slm-plus.php index 4772589..980de82 100644 --- a/slm-plus.php +++ b/slm-plus.php @@ -1,7 +1,7 @@ Date: Fri, 1 Nov 2024 10:11:36 -0400 Subject: [PATCH 217/293] release workflow --- .github/workflows/release.yml | 67 +++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..6461f2d --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,67 @@ +name: Build, Sign, and Release Plugin + +on: + release: + types: [published] + +jobs: + build: + runs-on: ubuntu-latest + steps: + # Checkout code + - name: Checkout code + uses: actions/checkout@v2 + + # Generate Changelog + - name: Generate Changelog + id: changelog + run: | + latest_tag=$(git describe --tags --abbrev=0) + changelog=$(git log ${latest_tag}..HEAD --pretty=format:"* %s: %b ([View Commit](https://github.com/${{ github.repository }}/commit/%H))" --no-merges) + echo "::set-output name=changelog::$changelog" + + # Build Plugin Zip + - name: Build Plugin Zip + run: zip -r slm-plus.zip . -x '*.git*' '*.github*' + + # Import GPG Key + - name: Import GPG Key + env: + GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} + run: | + echo "$GPG_PRIVATE_KEY" | gpg --batch --import + + # Sign the Plugin Zip + - name: Sign Plugin Zip + env: + GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} + run: | + echo "$GPG_PASSPHRASE" | gpg --batch --yes --passphrase-fd 0 --detach-sign -a slm-plus.zip + + # Upload Release Asset (Zip File) + - name: Upload Release Asset + uses: actions/upload-release-asset@v1 + with: + upload_url: ${{ github.event.release.upload_url }} + asset_path: ./slm-plus.zip + asset_name: slm-plus.zip + asset_content_type: application/zip + + # Upload Release Signature (Signature File) + - name: Upload Signature + uses: actions/upload-release-asset@v1 + with: + upload_url: ${{ github.event.release.upload_url }} + asset_path: ./slm-plus.zip.asc + asset_name: slm-plus.zip.asc + asset_content_type: application/pgp-signature + + # Update Release with Changelog + - name: Update Release Description + uses: octokit/request-action@v2.x + with: + route: PATCH /repos/${{ github.repository }}/releases/${{ github.event.release.id }} + release_id: ${{ github.event.release.id }} + description: | + ## Changelog + ${{ steps.changelog.outputs.changelog }} From 2b85bd3654ccb1fe29a64595b6efccde932f8fbd Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 10:13:36 -0400 Subject: [PATCH 218/293] Create release.yml --- .github/workflows/release.yml | 67 +++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..6461f2d --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,67 @@ +name: Build, Sign, and Release Plugin + +on: + release: + types: [published] + +jobs: + build: + runs-on: ubuntu-latest + steps: + # Checkout code + - name: Checkout code + uses: actions/checkout@v2 + + # Generate Changelog + - name: Generate Changelog + id: changelog + run: | + latest_tag=$(git describe --tags --abbrev=0) + changelog=$(git log ${latest_tag}..HEAD --pretty=format:"* %s: %b ([View Commit](https://github.com/${{ github.repository }}/commit/%H))" --no-merges) + echo "::set-output name=changelog::$changelog" + + # Build Plugin Zip + - name: Build Plugin Zip + run: zip -r slm-plus.zip . -x '*.git*' '*.github*' + + # Import GPG Key + - name: Import GPG Key + env: + GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} + run: | + echo "$GPG_PRIVATE_KEY" | gpg --batch --import + + # Sign the Plugin Zip + - name: Sign Plugin Zip + env: + GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} + run: | + echo "$GPG_PASSPHRASE" | gpg --batch --yes --passphrase-fd 0 --detach-sign -a slm-plus.zip + + # Upload Release Asset (Zip File) + - name: Upload Release Asset + uses: actions/upload-release-asset@v1 + with: + upload_url: ${{ github.event.release.upload_url }} + asset_path: ./slm-plus.zip + asset_name: slm-plus.zip + asset_content_type: application/zip + + # Upload Release Signature (Signature File) + - name: Upload Signature + uses: actions/upload-release-asset@v1 + with: + upload_url: ${{ github.event.release.upload_url }} + asset_path: ./slm-plus.zip.asc + asset_name: slm-plus.zip.asc + asset_content_type: application/pgp-signature + + # Update Release with Changelog + - name: Update Release Description + uses: octokit/request-action@v2.x + with: + route: PATCH /repos/${{ github.repository }}/releases/${{ github.event.release.id }} + release_id: ${{ github.event.release.id }} + description: | + ## Changelog + ${{ steps.changelog.outputs.changelog }} From 17379906fa227bb9b8a464f2360694b542a2ebe5 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 10:17:37 -0400 Subject: [PATCH 219/293] Update release.yml --- .github/workflows/release.yml | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6461f2d..2b062b5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,37 +8,31 @@ jobs: build: runs-on: ubuntu-latest steps: - # Checkout code - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v3 - # Generate Changelog - name: Generate Changelog id: changelog run: | latest_tag=$(git describe --tags --abbrev=0) changelog=$(git log ${latest_tag}..HEAD --pretty=format:"* %s: %b ([View Commit](https://github.com/${{ github.repository }}/commit/%H))" --no-merges) - echo "::set-output name=changelog::$changelog" + echo "changelog=$changelog" >> $GITHUB_ENV - # Build Plugin Zip - name: Build Plugin Zip run: zip -r slm-plus.zip . -x '*.git*' '*.github*' - # Import GPG Key - name: Import GPG Key env: GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} run: | echo "$GPG_PRIVATE_KEY" | gpg --batch --import - - # Sign the Plugin Zip + - name: Sign Plugin Zip env: GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} run: | echo "$GPG_PASSPHRASE" | gpg --batch --yes --passphrase-fd 0 --detach-sign -a slm-plus.zip - # Upload Release Asset (Zip File) - name: Upload Release Asset uses: actions/upload-release-asset@v1 with: @@ -47,7 +41,6 @@ jobs: asset_name: slm-plus.zip asset_content_type: application/zip - # Upload Release Signature (Signature File) - name: Upload Signature uses: actions/upload-release-asset@v1 with: @@ -56,7 +49,6 @@ jobs: asset_name: slm-plus.zip.asc asset_content_type: application/pgp-signature - # Update Release with Changelog - name: Update Release Description uses: octokit/request-action@v2.x with: @@ -64,4 +56,4 @@ jobs: release_id: ${{ github.event.release.id }} description: | ## Changelog - ${{ steps.changelog.outputs.changelog }} + ${{ env.changelog }} From 40b4de8606923d4d1a64be4674d40f4d690e8eaf Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 10:19:25 -0400 Subject: [PATCH 220/293] Delete .github/workflows/release.yml --- .github/workflows/release.yml | 59 ----------------------------------- 1 file changed, 59 deletions(-) delete mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 2b062b5..0000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,59 +0,0 @@ -name: Build, Sign, and Release Plugin - -on: - release: - types: [published] - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Generate Changelog - id: changelog - run: | - latest_tag=$(git describe --tags --abbrev=0) - changelog=$(git log ${latest_tag}..HEAD --pretty=format:"* %s: %b ([View Commit](https://github.com/${{ github.repository }}/commit/%H))" --no-merges) - echo "changelog=$changelog" >> $GITHUB_ENV - - - name: Build Plugin Zip - run: zip -r slm-plus.zip . -x '*.git*' '*.github*' - - - name: Import GPG Key - env: - GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} - run: | - echo "$GPG_PRIVATE_KEY" | gpg --batch --import - - - name: Sign Plugin Zip - env: - GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} - run: | - echo "$GPG_PASSPHRASE" | gpg --batch --yes --passphrase-fd 0 --detach-sign -a slm-plus.zip - - - name: Upload Release Asset - uses: actions/upload-release-asset@v1 - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./slm-plus.zip - asset_name: slm-plus.zip - asset_content_type: application/zip - - - name: Upload Signature - uses: actions/upload-release-asset@v1 - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./slm-plus.zip.asc - asset_name: slm-plus.zip.asc - asset_content_type: application/pgp-signature - - - name: Update Release Description - uses: octokit/request-action@v2.x - with: - route: PATCH /repos/${{ github.repository }}/releases/${{ github.event.release.id }} - release_id: ${{ github.event.release.id }} - description: | - ## Changelog - ${{ env.changelog }} From 346f7c425920144e206484689b17d3975512a450 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 10:20:10 -0400 Subject: [PATCH 221/293] Create buildblugin.yml --- .github/workflows/buildblugin.yml | 67 +++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 .github/workflows/buildblugin.yml diff --git a/.github/workflows/buildblugin.yml b/.github/workflows/buildblugin.yml new file mode 100644 index 0000000..c5f71c4 --- /dev/null +++ b/.github/workflows/buildblugin.yml @@ -0,0 +1,67 @@ +name: Build Plugin + +on: + release: + types: [published] + +jobs: + build: + runs-on: ubuntu-latest + steps: + # Checkout code - updated to v3 + - name: Checkout code + uses: actions/checkout@v3 + + # Generate Changelog + - name: Generate Changelog + id: changelog + run: | + latest_tag=$(git describe --tags --abbrev=0) + changelog=$(git log ${latest_tag}..HEAD --pretty=format:"* %s: %b ([View Commit](https://github.com/${{ github.repository }}/commit/%H))" --no-merges) + echo "changelog=$changelog" >> $GITHUB_ENV + + # Build Plugin Zip + - name: Build Plugin Zip + run: zip -r slm-plus.zip . -x '*.git*' '*.github*' + + # Import GPG Key + - name: Import GPG Key + env: + GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} + run: | + echo "$GPG_PRIVATE_KEY" | gpg --batch --import + + # Sign the Plugin Zip + - name: Sign Plugin Zip + env: + GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} + run: | + echo "$GPG_PASSPHRASE" | gpg --batch --yes --passphrase-fd 0 --detach-sign -a slm-plus.zip + + # Upload Release Asset (Zip File) + - name: Upload Release Asset + uses: actions/upload-release-asset@v1 + with: + upload_url: ${{ github.event.release.upload_url }} + asset_path: ./slm-plus.zip + asset_name: slm-plus.zip + asset_content_type: application/zip + + # Upload Release Signature (Signature File) + - name: Upload Signature + uses: actions/upload-release-asset@v1 + with: + upload_url: ${{ github.event.release.upload_url }} + asset_path: ./slm-plus.zip.asc + asset_name: slm-plus.zip.asc + asset_content_type: application/pgp-signature + + # Update Release with Changelog + - name: Update Release Description + uses: octokit/request-action@v2.x + with: + route: PATCH /repos/${{ github.repository }}/releases/${{ github.event.release.id }} + release_id: ${{ github.event.release.id }} + description: | + ## Changelog + ${{ env.changelog }} From 3b1aaa8a93a6b82e9bc68a908551f91f54334a17 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 11:41:59 -0400 Subject: [PATCH 222/293] added workflow action --- .github/workflows/{release.yml => buildblugin.yml} | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) rename .github/workflows/{release.yml => buildblugin.yml} (90%) diff --git a/.github/workflows/release.yml b/.github/workflows/buildblugin.yml similarity index 90% rename from .github/workflows/release.yml rename to .github/workflows/buildblugin.yml index 6461f2d..c6c381c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/buildblugin.yml @@ -1,4 +1,4 @@ -name: Build, Sign, and Release Plugin +name: Build Plugin on: release: @@ -8,9 +8,9 @@ jobs: build: runs-on: ubuntu-latest steps: - # Checkout code + # Checkout code - updated to v3 - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v3 # Generate Changelog - name: Generate Changelog @@ -18,7 +18,7 @@ jobs: run: | latest_tag=$(git describe --tags --abbrev=0) changelog=$(git log ${latest_tag}..HEAD --pretty=format:"* %s: %b ([View Commit](https://github.com/${{ github.repository }}/commit/%H))" --no-merges) - echo "::set-output name=changelog::$changelog" + echo "changelog=$changelog" >> $GITHUB_ENV # Build Plugin Zip - name: Build Plugin Zip @@ -30,7 +30,7 @@ jobs: GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} run: | echo "$GPG_PRIVATE_KEY" | gpg --batch --import - + # Sign the Plugin Zip - name: Sign Plugin Zip env: @@ -64,4 +64,4 @@ jobs: release_id: ${{ github.event.release.id }} description: | ## Changelog - ${{ steps.changelog.outputs.changelog }} + ${{ env.changelog }} \ No newline at end of file From c0a0a4741a3cdbd6c058fa7d6ba725af11039454 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 11:46:56 -0400 Subject: [PATCH 223/293] Update buildblugin.yml --- .github/workflows/buildblugin.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/buildblugin.yml b/.github/workflows/buildblugin.yml index c5f71c4..3fc6909 100644 --- a/.github/workflows/buildblugin.yml +++ b/.github/workflows/buildblugin.yml @@ -8,7 +8,13 @@ jobs: build: runs-on: ubuntu-latest steps: - # Checkout code - updated to v3 + # Set up Node.js (Node 20) + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: '20' + + # Checkout code - name: Checkout code uses: actions/checkout@v3 From 2b3dec02258e65d1066bb15cee927d218bb6b3cc Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 11:47:23 -0400 Subject: [PATCH 224/293] node 20 --- .github/workflows/buildblugin.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/buildblugin.yml b/.github/workflows/buildblugin.yml index c6c381c..3fc6909 100644 --- a/.github/workflows/buildblugin.yml +++ b/.github/workflows/buildblugin.yml @@ -8,7 +8,13 @@ jobs: build: runs-on: ubuntu-latest steps: - # Checkout code - updated to v3 + # Set up Node.js (Node 20) + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: '20' + + # Checkout code - name: Checkout code uses: actions/checkout@v3 @@ -64,4 +70,4 @@ jobs: release_id: ${{ github.event.release.id }} description: | ## Changelog - ${{ env.changelog }} \ No newline at end of file + ${{ env.changelog }} From beab5e9483f1377dd3881f557d4bd85b05628cad Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 11:50:44 -0400 Subject: [PATCH 225/293] Update buildblugin.yml --- .github/workflows/buildblugin.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/buildblugin.yml b/.github/workflows/buildblugin.yml index 3fc6909..a867bd1 100644 --- a/.github/workflows/buildblugin.yml +++ b/.github/workflows/buildblugin.yml @@ -8,15 +8,15 @@ jobs: build: runs-on: ubuntu-latest steps: - # Set up Node.js (Node 20) + # Set up Node.js (Node 20) with updated action - name: Set up Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: '20' - # Checkout code + # Checkout code with updated action version - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 # Generate Changelog - name: Generate Changelog From 31ea1046cbd9a8a853022ae452b036572d2e6d2e Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 11:50:56 -0400 Subject: [PATCH 226/293] update actions/checkout@v4: Updated from v3 to v4, which is configured to use Node 20. actions/setup-node@v4: Updated from v3 to v4, ensuring compatibility with Node 20. --- .github/workflows/buildblugin.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/buildblugin.yml b/.github/workflows/buildblugin.yml index 3fc6909..a867bd1 100644 --- a/.github/workflows/buildblugin.yml +++ b/.github/workflows/buildblugin.yml @@ -8,15 +8,15 @@ jobs: build: runs-on: ubuntu-latest steps: - # Set up Node.js (Node 20) + # Set up Node.js (Node 20) with updated action - name: Set up Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: '20' - # Checkout code + # Checkout code with updated action version - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 # Generate Changelog - name: Generate Changelog From a432b93386e8f91c59bdd2f2e42d3586201e3c78 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 11:56:53 -0400 Subject: [PATCH 227/293] Update buildblugin.yml --- .github/workflows/buildblugin.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/buildblugin.yml b/.github/workflows/buildblugin.yml index a867bd1..70a67ed 100644 --- a/.github/workflows/buildblugin.yml +++ b/.github/workflows/buildblugin.yml @@ -37,12 +37,12 @@ jobs: run: | echo "$GPG_PRIVATE_KEY" | gpg --batch --import - # Sign the Plugin Zip + # Sign the Plugin Zip with updated flag - name: Sign Plugin Zip env: GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} run: | - echo "$GPG_PASSPHRASE" | gpg --batch --yes --passphrase-fd 0 --detach-sign -a slm-plus.zip + echo "$GPG_PASSPHRASE" | gpg --batch --yes --pinentry-mode loopback --passphrase-fd 0 --detach-sign -a slm-plus.zip # Upload Release Asset (Zip File) - name: Upload Release Asset From 0b8da30880a1b1db29e18c09cad48a6a0f8ba126 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 11:57:08 -0400 Subject: [PATCH 228/293] sign update --- .github/workflows/buildblugin.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/buildblugin.yml b/.github/workflows/buildblugin.yml index a867bd1..70a67ed 100644 --- a/.github/workflows/buildblugin.yml +++ b/.github/workflows/buildblugin.yml @@ -37,12 +37,12 @@ jobs: run: | echo "$GPG_PRIVATE_KEY" | gpg --batch --import - # Sign the Plugin Zip + # Sign the Plugin Zip with updated flag - name: Sign Plugin Zip env: GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} run: | - echo "$GPG_PASSPHRASE" | gpg --batch --yes --passphrase-fd 0 --detach-sign -a slm-plus.zip + echo "$GPG_PASSPHRASE" | gpg --batch --yes --pinentry-mode loopback --passphrase-fd 0 --detach-sign -a slm-plus.zip # Upload Release Asset (Zip File) - name: Upload Release Asset From 36dff5af7f11abd18b300d4b55bb18a32ba13aa6 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 12:58:21 -0400 Subject: [PATCH 229/293] Update buildblugin.yml --- .github/workflows/buildblugin.yml | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/.github/workflows/buildblugin.yml b/.github/workflows/buildblugin.yml index 70a67ed..1e26e5a 100644 --- a/.github/workflows/buildblugin.yml +++ b/.github/workflows/buildblugin.yml @@ -18,6 +18,10 @@ jobs: - name: Checkout code uses: actions/checkout@v4 + # Install GitHub CLI + - name: Install GitHub CLI + run: sudo apt-get install -y gh + # Generate Changelog - name: Generate Changelog id: changelog @@ -44,14 +48,18 @@ jobs: run: | echo "$GPG_PASSPHRASE" | gpg --batch --yes --pinentry-mode loopback --passphrase-fd 0 --detach-sign -a slm-plus.zip + # Authenticate GitHub CLI + - name: Authenticate GitHub CLI + env: + GH_TOKEN: ${{ secrets.GH_PAT }} + run: echo "${{ secrets.GH_PAT }}" | gh auth login --with-token + # Upload Release Asset (Zip File) - - name: Upload Release Asset - uses: actions/upload-release-asset@v1 - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./slm-plus.zip - asset_name: slm-plus.zip - asset_content_type: application/zip + - name: Upload Release Asset with `gh` + env: + GH_TOKEN: ${{ secrets.GH_PAT }} + run: | + gh release upload "${{ github.event.release.tag_name }}" "./slm-plus.zip" --clobber # Upload Release Signature (Signature File) - name: Upload Signature From 4a9f84685139adb4ec821813d72bef73c222e237 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 12:59:05 -0400 Subject: [PATCH 230/293] updated --- .github/workflows/buildblugin.yml | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/.github/workflows/buildblugin.yml b/.github/workflows/buildblugin.yml index 70a67ed..0be6912 100644 --- a/.github/workflows/buildblugin.yml +++ b/.github/workflows/buildblugin.yml @@ -18,6 +18,10 @@ jobs: - name: Checkout code uses: actions/checkout@v4 + # Install GitHub CLI + - name: Install GitHub CLI + run: sudo apt-get install -y gh + # Generate Changelog - name: Generate Changelog id: changelog @@ -44,14 +48,18 @@ jobs: run: | echo "$GPG_PASSPHRASE" | gpg --batch --yes --pinentry-mode loopback --passphrase-fd 0 --detach-sign -a slm-plus.zip + # Authenticate GitHub CLI + - name: Authenticate GitHub CLI + env: + GH_TOKEN: ${{ secrets.GH_PAT }} + run: echo "${{ secrets.GH_PAT }}" | gh auth login --with-token + # Upload Release Asset (Zip File) - - name: Upload Release Asset - uses: actions/upload-release-asset@v1 - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./slm-plus.zip - asset_name: slm-plus.zip - asset_content_type: application/zip + - name: Upload Release Asset with `gh` + env: + GH_TOKEN: ${{ secrets.GH_PAT }} + run: | + gh release upload "${{ github.event.release.tag_name }}" "./slm-plus.zip" --clobber # Upload Release Signature (Signature File) - name: Upload Signature @@ -70,4 +78,4 @@ jobs: release_id: ${{ github.event.release.id }} description: | ## Changelog - ${{ env.changelog }} + ${{ env.changelog }} \ No newline at end of file From 06d682e766b780b6c2142c2959f41b9ce20417de Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 13:04:25 -0400 Subject: [PATCH 231/293] Update buildblugin.yml --- .github/workflows/buildblugin.yml | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/.github/workflows/buildblugin.yml b/.github/workflows/buildblugin.yml index 1e26e5a..b4b3cdf 100644 --- a/.github/workflows/buildblugin.yml +++ b/.github/workflows/buildblugin.yml @@ -48,27 +48,19 @@ jobs: run: | echo "$GPG_PASSPHRASE" | gpg --batch --yes --pinentry-mode loopback --passphrase-fd 0 --detach-sign -a slm-plus.zip - # Authenticate GitHub CLI + # Authenticate GitHub CLI non-interactively - name: Authenticate GitHub CLI env: GH_TOKEN: ${{ secrets.GH_PAT }} - run: echo "${{ secrets.GH_PAT }}" | gh auth login --with-token + run: gh auth setup-git - # Upload Release Asset (Zip File) - - name: Upload Release Asset with `gh` + # Upload Release Asset and Signature with `gh` + - name: Upload Release Assets with `gh` env: GH_TOKEN: ${{ secrets.GH_PAT }} run: | gh release upload "${{ github.event.release.tag_name }}" "./slm-plus.zip" --clobber - - # Upload Release Signature (Signature File) - - name: Upload Signature - uses: actions/upload-release-asset@v1 - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./slm-plus.zip.asc - asset_name: slm-plus.zip.asc - asset_content_type: application/pgp-signature + gh release upload "${{ github.event.release.tag_name }}" "./slm-plus.zip.asc" --clobber # Update Release with Changelog - name: Update Release Description From 875b06f316d36ae10119f22af6eef8fdcf24c72d Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 13:04:45 -0400 Subject: [PATCH 232/293] updated --- .github/workflows/buildblugin.yml | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/.github/workflows/buildblugin.yml b/.github/workflows/buildblugin.yml index 0be6912..b4b3cdf 100644 --- a/.github/workflows/buildblugin.yml +++ b/.github/workflows/buildblugin.yml @@ -48,27 +48,19 @@ jobs: run: | echo "$GPG_PASSPHRASE" | gpg --batch --yes --pinentry-mode loopback --passphrase-fd 0 --detach-sign -a slm-plus.zip - # Authenticate GitHub CLI + # Authenticate GitHub CLI non-interactively - name: Authenticate GitHub CLI env: GH_TOKEN: ${{ secrets.GH_PAT }} - run: echo "${{ secrets.GH_PAT }}" | gh auth login --with-token + run: gh auth setup-git - # Upload Release Asset (Zip File) - - name: Upload Release Asset with `gh` + # Upload Release Asset and Signature with `gh` + - name: Upload Release Assets with `gh` env: GH_TOKEN: ${{ secrets.GH_PAT }} run: | gh release upload "${{ github.event.release.tag_name }}" "./slm-plus.zip" --clobber - - # Upload Release Signature (Signature File) - - name: Upload Signature - uses: actions/upload-release-asset@v1 - with: - upload_url: ${{ github.event.release.upload_url }} - asset_path: ./slm-plus.zip.asc - asset_name: slm-plus.zip.asc - asset_content_type: application/pgp-signature + gh release upload "${{ github.event.release.tag_name }}" "./slm-plus.zip.asc" --clobber # Update Release with Changelog - name: Update Release Description @@ -78,4 +70,4 @@ jobs: release_id: ${{ github.event.release.id }} description: | ## Changelog - ${{ env.changelog }} \ No newline at end of file + ${{ env.changelog }} From 021884ab00dc7b04e27f506c98966fa30f73466a Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 13:08:32 -0400 Subject: [PATCH 233/293] Update buildblugin.yml --- .github/workflows/buildblugin.yml | 47 ++++++------------------------- 1 file changed, 9 insertions(+), 38 deletions(-) diff --git a/.github/workflows/buildblugin.yml b/.github/workflows/buildblugin.yml index b4b3cdf..5564931 100644 --- a/.github/workflows/buildblugin.yml +++ b/.github/workflows/buildblugin.yml @@ -18,10 +18,6 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - # Install GitHub CLI - - name: Install GitHub CLI - run: sudo apt-get install -y gh - # Generate Changelog - name: Generate Changelog id: changelog @@ -34,40 +30,15 @@ jobs: - name: Build Plugin Zip run: zip -r slm-plus.zip . -x '*.git*' '*.github*' - # Import GPG Key - - name: Import GPG Key - env: - GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} - run: | - echo "$GPG_PRIVATE_KEY" | gpg --batch --import - - # Sign the Plugin Zip with updated flag - - name: Sign Plugin Zip - env: - GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} - run: | - echo "$GPG_PASSPHRASE" | gpg --batch --yes --pinentry-mode loopback --passphrase-fd 0 --detach-sign -a slm-plus.zip - - # Authenticate GitHub CLI non-interactively - - name: Authenticate GitHub CLI - env: - GH_TOKEN: ${{ secrets.GH_PAT }} - run: gh auth setup-git - - # Upload Release Asset and Signature with `gh` - - name: Upload Release Assets with `gh` - env: - GH_TOKEN: ${{ secrets.GH_PAT }} - run: | - gh release upload "${{ github.event.release.tag_name }}" "./slm-plus.zip" --clobber - gh release upload "${{ github.event.release.tag_name }}" "./slm-plus.zip.asc" --clobber - - # Update Release with Changelog - - name: Update Release Description - uses: octokit/request-action@v2.x + # Upload Release Asset and Update Description + - name: Upload Release with Changelog + uses: ncipollo/release-action@v1 with: - route: PATCH /repos/${{ github.repository }}/releases/${{ github.event.release.id }} - release_id: ${{ github.event.release.id }} - description: | + token: ${{ secrets.GITHUB_TOKEN }} + tag: ${{ github.event.release.tag_name }} + release_name: ${{ github.event.release.tag_name }} + body: | ## Changelog ${{ env.changelog }} + artifacts: "slm-plus.zip" + allowUpdates: true From 6e419d46ecdd43a48544e0443f00b87f6f637897 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 13:08:41 -0400 Subject: [PATCH 234/293] simplified --- .github/workflows/buildblugin.yml | 47 ++++++------------------------- 1 file changed, 9 insertions(+), 38 deletions(-) diff --git a/.github/workflows/buildblugin.yml b/.github/workflows/buildblugin.yml index b4b3cdf..5564931 100644 --- a/.github/workflows/buildblugin.yml +++ b/.github/workflows/buildblugin.yml @@ -18,10 +18,6 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - # Install GitHub CLI - - name: Install GitHub CLI - run: sudo apt-get install -y gh - # Generate Changelog - name: Generate Changelog id: changelog @@ -34,40 +30,15 @@ jobs: - name: Build Plugin Zip run: zip -r slm-plus.zip . -x '*.git*' '*.github*' - # Import GPG Key - - name: Import GPG Key - env: - GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }} - run: | - echo "$GPG_PRIVATE_KEY" | gpg --batch --import - - # Sign the Plugin Zip with updated flag - - name: Sign Plugin Zip - env: - GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} - run: | - echo "$GPG_PASSPHRASE" | gpg --batch --yes --pinentry-mode loopback --passphrase-fd 0 --detach-sign -a slm-plus.zip - - # Authenticate GitHub CLI non-interactively - - name: Authenticate GitHub CLI - env: - GH_TOKEN: ${{ secrets.GH_PAT }} - run: gh auth setup-git - - # Upload Release Asset and Signature with `gh` - - name: Upload Release Assets with `gh` - env: - GH_TOKEN: ${{ secrets.GH_PAT }} - run: | - gh release upload "${{ github.event.release.tag_name }}" "./slm-plus.zip" --clobber - gh release upload "${{ github.event.release.tag_name }}" "./slm-plus.zip.asc" --clobber - - # Update Release with Changelog - - name: Update Release Description - uses: octokit/request-action@v2.x + # Upload Release Asset and Update Description + - name: Upload Release with Changelog + uses: ncipollo/release-action@v1 with: - route: PATCH /repos/${{ github.repository }}/releases/${{ github.event.release.id }} - release_id: ${{ github.event.release.id }} - description: | + token: ${{ secrets.GITHUB_TOKEN }} + tag: ${{ github.event.release.tag_name }} + release_name: ${{ github.event.release.tag_name }} + body: | ## Changelog ${{ env.changelog }} + artifacts: "slm-plus.zip" + allowUpdates: true From 279e8dd8f9a57d4465ac938322f5c383ca3b8c53 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 13:10:45 -0400 Subject: [PATCH 235/293] Update buildblugin.yml --- .github/workflows/buildblugin.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/buildblugin.yml b/.github/workflows/buildblugin.yml index 5564931..83c5faf 100644 --- a/.github/workflows/buildblugin.yml +++ b/.github/workflows/buildblugin.yml @@ -36,7 +36,7 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} tag: ${{ github.event.release.tag_name }} - release_name: ${{ github.event.release.tag_name }} + name: ${{ github.event.release.tag_name }} body: | ## Changelog ${{ env.changelog }} From 0856a5e62ceb1991717eb6fa096a2f8a1e3d9ccf Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 13:13:21 -0400 Subject: [PATCH 236/293] Update buildblugin.yml --- .github/workflows/buildblugin.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/buildblugin.yml b/.github/workflows/buildblugin.yml index 83c5faf..88f9064 100644 --- a/.github/workflows/buildblugin.yml +++ b/.github/workflows/buildblugin.yml @@ -23,8 +23,9 @@ jobs: id: changelog run: | latest_tag=$(git describe --tags --abbrev=0) - changelog=$(git log ${latest_tag}..HEAD --pretty=format:"* %s: %b ([View Commit](https://github.com/${{ github.repository }}/commit/%H))" --no-merges) + changelog=$(git log ${latest_tag}..HEAD --pretty=format:"- %s ([View Commit](https://github.com/${{ github.repository }}/commit/%H))" --no-merges) echo "changelog=$changelog" >> $GITHUB_ENV + echo "$changelog" # Build Plugin Zip - name: Build Plugin Zip From 667f76be5946b685bd08b1f21886d63c4354701c Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 13:26:26 -0400 Subject: [PATCH 237/293] Create generate-changelog.yml --- .github/workflows/generate-changelog.yml | 43 ++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/generate-changelog.yml diff --git a/.github/workflows/generate-changelog.yml b/.github/workflows/generate-changelog.yml new file mode 100644 index 0000000..e7b8b54 --- /dev/null +++ b/.github/workflows/generate-changelog.yml @@ -0,0 +1,43 @@ +name: Generate Changelog + +on: + push: + tags: + - '*' # Triggers for tags like 1.0, 2.1, etc. + - 'v*' # Also triggers for tags like v1.0, v2.1, etc. + +jobs: + generate-changelog: + runs-on: ubuntu-latest + steps: + # Checkout the repository + - name: Checkout code + uses: actions/checkout@v3 + + # Set up Git user for commit + - name: Set up Git config + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + + # Generate Changelog Content + - name: Generate Changelog + id: changelog + run: | + # Get the latest tag, ignoring any 'v' prefix if present + latest_tag=$(git describe --tags --abbrev=0 HEAD^ | sed 's/^v//') + + # Generate changelog for commits since the last tag + echo "## Changelog" > CHANGELOG.md + echo "### Changes since $latest_tag" >> CHANGELOG.md + git log ${latest_tag}..HEAD --pretty=format:"* %s: %b ([View Commit](https://github.com/${{ github.repository }}/commit/%H))" --no-merges >> CHANGELOG.md + + # Show the generated changelog + cat CHANGELOG.md + + # Commit and Push the Changelog + - name: Commit and push changes + run: | + git add CHANGELOG.md + git commit -m "Update CHANGELOG.md for new release" + git push From edee7407d33fbe6a2128fb970bf8081883f0524e Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 13:31:00 -0400 Subject: [PATCH 238/293] Update generate-changelog.yml --- .github/workflows/generate-changelog.yml | 35 ++++++++---------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/.github/workflows/generate-changelog.yml b/.github/workflows/generate-changelog.yml index e7b8b54..20187f7 100644 --- a/.github/workflows/generate-changelog.yml +++ b/.github/workflows/generate-changelog.yml @@ -3,8 +3,8 @@ name: Generate Changelog on: push: tags: - - '*' # Triggers for tags like 1.0, 2.1, etc. - - 'v*' # Also triggers for tags like v1.0, v2.1, etc. + - '*' # Match any tag format (e.g., 1.0, 2.1, etc.) + - 'v*' # Match tags with a 'v' prefix (e.g., v1.0, v2.1, etc.) jobs: generate-changelog: @@ -14,30 +14,19 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - # Set up Git user for commit - - name: Set up Git config - run: | - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" + # Generate Changelog using janheinrichmerker/action-github-changelog-generator + - name: Generate changelog + uses: janheinrichmerker/action-github-changelog-generator@v2.4 + with: + token: ${{ secrets.GITHUB_TOKEN }} + output: CHANGELOG.md # Optional, if you want the changelog saved to a file - # Generate Changelog Content - - name: Generate Changelog - id: changelog - run: | - # Get the latest tag, ignoring any 'v' prefix if present - latest_tag=$(git describe --tags --abbrev=0 HEAD^ | sed 's/^v//') - - # Generate changelog for commits since the last tag - echo "## Changelog" > CHANGELOG.md - echo "### Changes since $latest_tag" >> CHANGELOG.md - git log ${latest_tag}..HEAD --pretty=format:"* %s: %b ([View Commit](https://github.com/${{ github.repository }}/commit/%H))" --no-merges >> CHANGELOG.md - - # Show the generated changelog - cat CHANGELOG.md - - # Commit and Push the Changelog + # Commit and Push the Changelog (if saving to a file) - name: Commit and push changes + if: success() # Only run if previous steps succeeded run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" git add CHANGELOG.md git commit -m "Update CHANGELOG.md for new release" git push From 814be308e9ba5ded66a9ed87948e74b17b63aa88 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 13:32:04 -0400 Subject: [PATCH 239/293] Update generate-changelog.yml --- .github/workflows/generate-changelog.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/generate-changelog.yml b/.github/workflows/generate-changelog.yml index 20187f7..4d0b61e 100644 --- a/.github/workflows/generate-changelog.yml +++ b/.github/workflows/generate-changelog.yml @@ -5,25 +5,23 @@ on: tags: - '*' # Match any tag format (e.g., 1.0, 2.1, etc.) - 'v*' # Match tags with a 'v' prefix (e.g., v1.0, v2.1, etc.) + workflow_dispatch: # Allows manual triggering of the workflow jobs: generate-changelog: runs-on: ubuntu-latest steps: - # Checkout the repository - name: Checkout code uses: actions/checkout@v3 - # Generate Changelog using janheinrichmerker/action-github-changelog-generator - name: Generate changelog uses: janheinrichmerker/action-github-changelog-generator@v2.4 with: token: ${{ secrets.GITHUB_TOKEN }} - output: CHANGELOG.md # Optional, if you want the changelog saved to a file + output: CHANGELOG.md - # Commit and Push the Changelog (if saving to a file) - name: Commit and push changes - if: success() # Only run if previous steps succeeded + if: success() run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" From ae9123efecafd2830e082db1059983ac333e672c Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 13:33:34 -0400 Subject: [PATCH 240/293] workflow added workflow --- .github/workflows/buildblugin.yml | 6 +++-- .github/workflows/generate-changelog.yml | 30 ++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/generate-changelog.yml diff --git a/.github/workflows/buildblugin.yml b/.github/workflows/buildblugin.yml index 5564931..bdac4c2 100644 --- a/.github/workflows/buildblugin.yml +++ b/.github/workflows/buildblugin.yml @@ -23,8 +23,9 @@ jobs: id: changelog run: | latest_tag=$(git describe --tags --abbrev=0) - changelog=$(git log ${latest_tag}..HEAD --pretty=format:"* %s: %b ([View Commit](https://github.com/${{ github.repository }}/commit/%H))" --no-merges) + changelog=$(git log ${latest_tag}..HEAD --pretty=format:"- %s ([View Commit](https://github.com/${{ github.repository }}/commit/%H))" --no-merges) echo "changelog=$changelog" >> $GITHUB_ENV + echo "$changelog" # Build Plugin Zip - name: Build Plugin Zip @@ -36,9 +37,10 @@ jobs: with: token: ${{ secrets.GITHUB_TOKEN }} tag: ${{ github.event.release.tag_name }} - release_name: ${{ github.event.release.tag_name }} + name: ${{ github.event.release.tag_name }} body: | ## Changelog ${{ env.changelog }} artifacts: "slm-plus.zip" allowUpdates: true + \ No newline at end of file diff --git a/.github/workflows/generate-changelog.yml b/.github/workflows/generate-changelog.yml new file mode 100644 index 0000000..b0f1746 --- /dev/null +++ b/.github/workflows/generate-changelog.yml @@ -0,0 +1,30 @@ +name: Generate Changelog + +on: + push: + tags: + - '*' # Match any tag format (e.g., 1.0, 2.1, etc.) + - 'v*' # Match tags with a 'v' prefix (e.g., v1.0, v2.1, etc.) + workflow_dispatch: # Allows manual triggering of the workflow + +jobs: + generate-changelog: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Generate changelog + uses: janheinrichmerker/action-github-changelog-generator@v2.4 + with: + token: ${{ secrets.GITHUB_TOKEN }} + output: CHANGELOG.md + + - name: Commit and push changes + if: success() + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add CHANGELOG.md + git commit -m "Update CHANGELOG.md for new release" + git push \ No newline at end of file From 2b671c7ddf98d172e44f10b61ddc3035451c18ee Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 1 Nov 2024 17:34:16 +0000 Subject: [PATCH 241/293] Update CHANGELOG.md for new release --- CHANGELOG.md | 675 ++++++++++++++++++++++----------------------------- 1 file changed, 291 insertions(+), 384 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f45ce91..2930e28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,515 +1,422 @@ # Changelog -All notable changes to this project will be documented in this file. +## [Unreleased](https://github.com/michelve/software-license-manager/tree/HEAD) -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +[Full Changelog](https://github.com/michelve/software-license-manager/compare/6.1.4...HEAD) -Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +**Merged pull requests:** -## [v5.7.0](https://github.com/michelve/software-license-manager/compare/5.5.6...v5.7.0) - 2020-08-10 +- There are 6 TD tags and not 5 Update wc\_licenses\_class.php [\#98](https://github.com/michelve/software-license-manager/pull/98) ([ricardo777](https://github.com/ricardo777)) +- Remove unnecessary metadata [\#95](https://github.com/michelve/software-license-manager/pull/95) ([fabolivark](https://github.com/fabolivark)) +- Small fixes to license info view [\#94](https://github.com/michelve/software-license-manager/pull/94) ([MechComp](https://github.com/MechComp)) +- Correct error on activate that trys to load a non-existent option. [\#90](https://github.com/michelve/software-license-manager/pull/90) ([Narimm](https://github.com/Narimm)) +- Bump minimist from 1.2.5 to 1.2.6 [\#85](https://github.com/michelve/software-license-manager/pull/85) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump node-fetch from 2.6.1 to 2.6.7 [\#80](https://github.com/michelve/software-license-manager/pull/80) ([dependabot[bot]](https://github.com/apps/dependabot)) -### Commits +## [6.1.4](https://github.com/michelve/software-license-manager/tree/6.1.4) (2024-11-01) -- Update software-license-manager.php [`1bd3a30`](https://github.com/michelve/software-license-manager/commit/1bd3a30efbb8f4291b09496a177920662920e912) -- no message [`7fc3f02`](https://github.com/michelve/software-license-manager/commit/7fc3f02cece367664bef2f3f6f39033a93812db8) +[Full Changelog](https://github.com/michelve/software-license-manager/compare/6.1.1...6.1.4) -## [v5.6.1](https://github.com/michelve/software-license-manager/compare/5.6.1...v5.6.1) - 2022-01-06 +## [6.1.1](https://github.com/michelve/software-license-manager/tree/6.1.1) (2024-11-01) -## [5.6.1](https://github.com/michelve/software-license-manager/compare/5.5.12...5.6.1) - 2022-01-06 +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.6.2...6.1.1) -### Merged +**Implemented enhancements:** -- Front-end licence removal doesn't reflect setting allow_user_activation_removal [`#57`](https://github.com/michelve/software-license-manager/pull/57) -- Update slm-add-licenses.php [`#71`](https://github.com/michelve/software-license-manager/pull/71) -- Update slm-subscribers.php [`#62`](https://github.com/michelve/software-license-manager/pull/62) -- Update slm-add-licenses.php [`#63`](https://github.com/michelve/software-license-manager/pull/63) -- Update slm-admin-functions.php [`#64`](https://github.com/michelve/software-license-manager/pull/64) -- Update slm-lic-settings.php [`#65`](https://github.com/michelve/software-license-manager/pull/65) -- Update purchase.php [`#66`](https://github.com/michelve/software-license-manager/pull/66) -- Update slm-utility.php [`#67`](https://github.com/michelve/software-license-manager/pull/67) -- Update stats.php [`#68`](https://github.com/michelve/software-license-manager/pull/68) -- Update slm_about_menu.php [`#69`](https://github.com/michelve/software-license-manager/pull/69) -- Update slm-list-licenses-class.php [`#70`](https://github.com/michelve/software-license-manager/pull/70) -- Bump handlebars from 4.5.3 to 4.7.7 [`#59`](https://github.com/michelve/software-license-manager/pull/59) -- Sync with Michelve master [`#8`](https://github.com/michelve/software-license-manager/pull/8) +- Automatic generation of license code for existing customer orders \(for orders before installing the plugin\) [\#96](https://github.com/michelve/software-license-manager/issues/96) -### Commits +**Fixed bugs:** -- Updated License Details view inside my account page > my licenses (woo-commerce support) [`73509f9`](https://github.com/michelve/software-license-manager/commit/73509f91103c0d48cebf55dd8c3f0d9f290056e7) +- WooCommerce 7.x not creating Keys on order completion. [\#93](https://github.com/michelve/software-license-manager/issues/93) +- Error on Activation [\#89](https://github.com/michelve/software-license-manager/issues/89) +- Double Plugin entries [\#88](https://github.com/michelve/software-license-manager/issues/88) -## [5.5.12](https://github.com/michelve/software-license-manager/compare/5.5.11...5.5.12) - 2020-10-29 +**Closed issues:** -### Commits +- \[Question\] Smart way to integrate license product type with WC subscriptions? [\#86](https://github.com/michelve/software-license-manager/issues/86) -- hide sample code [`8f6c12c`](https://github.com/michelve/software-license-manager/commit/8f6c12c97b626dcf62905f5cb4ecac478392fc2e) +## [5.6.2](https://github.com/michelve/software-license-manager/tree/5.6.2) (2022-06-23) -## [5.5.11](https://github.com/michelve/software-license-manager/compare/5.5.10...5.5.11) - 2020-10-28 +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.6.1...5.6.2) -### Commits +**Implemented enhancements:** -- fixes debug logger issue - Problem in the process of activating and deactivating user-side licenses #52 [`f5bc56d`](https://github.com/michelve/software-license-manager/commit/f5bc56d69e1e375105978c302ab2c3f99a6c6e7a) -- removed files [`6fd51f6`](https://github.com/michelve/software-license-manager/commit/6fd51f6f71a66caf7c88ca20b97b5ebc9badfe22) -- removed unneeded files fixes debug logger issue - Problem in the process of activating and deactivating user-side licenses #52 [`dbc2da2`](https://github.com/michelve/software-license-manager/commit/dbc2da29b36b42f3636b153487ca6f7728d5033e) +- License status check [\#79](https://github.com/michelve/software-license-manager/issues/79) +- Would you mind using escape functions. [\#40](https://github.com/michelve/software-license-manager/issues/40) +- Translation issues [\#22](https://github.com/michelve/software-license-manager/issues/22) -## [5.5.10](https://github.com/michelve/software-license-manager/compare/5.5.9...5.5.10) - 2020-10-27 +## [5.6.1](https://github.com/michelve/software-license-manager/tree/5.6.1) (2022-01-06) -### Merged +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.5.12...5.6.1) -- Bug-fix - multiple licences created when order item qty changed [`#50`](https://github.com/michelve/software-license-manager/pull/50) -- Merge from parent [`#7`](https://github.com/michelve/software-license-manager/pull/7) +**Implemented enhancements:** -### Commits +- Would you ming adding toggle button to open license infor panel in wc\_licenses\_class.php [\#44](https://github.com/michelve/software-license-manager/issues/44) +- Features Request / Enhancement: Let users give their licenses to someone else [\#35](https://github.com/michelve/software-license-manager/issues/35) -- Fixes issue: Clear Logs saved #51 [`89afc37`](https://github.com/michelve/software-license-manager/commit/89afc37826506b07e84ab08d1b5db0525dd4b19a) -- esc_html and home_url fixes [`d4520a2`](https://github.com/michelve/software-license-manager/commit/d4520a26b8cc3a8d133d059c7a329c813d25b825) -- fixes issue: cannot delete an actively licensed device from the license manager #47 [`d7497a8`](https://github.com/michelve/software-license-manager/commit/d7497a8e7e27e3d9ca2446e839cacf993eddd925) -- added composer support [`66b959e`](https://github.com/michelve/software-license-manager/commit/66b959e70d04b0c0397498fb2c5086353d63ea5b) -- change-log 5.5.10 [`e4e9f86`](https://github.com/michelve/software-license-manager/commit/e4e9f868d299b6a391ee663e71809c44b7315011) -- test [`6bd0485`](https://github.com/michelve/software-license-manager/commit/6bd04852725b77bf75815d9211ba7dccac9c71bf) +**Closed issues:** -## [5.5.9](https://github.com/michelve/software-license-manager/compare/5.5.8...5.5.9) - 2020-09-14 +- missing key [\#58](https://github.com/michelve/software-license-manager/issues/58) -### Merged +**Merged pull requests:** -- Bump node-fetch from 2.6.0 to 2.6.1 [`#37`](https://github.com/michelve/software-license-manager/pull/37) -- I created bug fix for wc_licenses_class.php [`#46`](https://github.com/michelve/software-license-manager/pull/46) -- Update fixing bugs. [`#1`](https://github.com/michelve/software-license-manager/pull/1) +- Update slm-add-licenses.php [\#71](https://github.com/michelve/software-license-manager/pull/71) ([ghost](https://github.com/ghost)) +- Update slm-list-licenses-class.php [\#70](https://github.com/michelve/software-license-manager/pull/70) ([ghost](https://github.com/ghost)) +- Update slm\_about\_menu.php [\#69](https://github.com/michelve/software-license-manager/pull/69) ([ghost](https://github.com/ghost)) +- Update stats.php [\#68](https://github.com/michelve/software-license-manager/pull/68) ([ghost](https://github.com/ghost)) +- Update slm-utility.php [\#67](https://github.com/michelve/software-license-manager/pull/67) ([ghost](https://github.com/ghost)) +- Update purchase.php [\#66](https://github.com/michelve/software-license-manager/pull/66) ([ghost](https://github.com/ghost)) +- Update slm-lic-settings.php [\#65](https://github.com/michelve/software-license-manager/pull/65) ([ghost](https://github.com/ghost)) +- Update slm-admin-functions.php [\#64](https://github.com/michelve/software-license-manager/pull/64) ([ghost](https://github.com/ghost)) +- Update slm-add-licenses.php [\#63](https://github.com/michelve/software-license-manager/pull/63) ([ghost](https://github.com/ghost)) +- Update slm-subscribers.php [\#62](https://github.com/michelve/software-license-manager/pull/62) ([ghost](https://github.com/ghost)) +- Bump handlebars from 4.5.3 to 4.7.7 [\#59](https://github.com/michelve/software-license-manager/pull/59) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Front-end licence removal doesn't reflect setting allow\_user\_activation\_removal [\#57](https://github.com/michelve/software-license-manager/pull/57) ([MechComp](https://github.com/MechComp)) -### Commits +## [5.5.12](https://github.com/michelve/software-license-manager/tree/5.5.12) (2020-10-29) -- updated license [`7f9060c`](https://github.com/michelve/software-license-manager/commit/7f9060c1801f7ebc3b2af1266c215da3fa3a41ca) -- use of home_url instead of site_url [`0c8e6b7`](https://github.com/michelve/software-license-manager/commit/0c8e6b752db2016b69f21f1add6cf6937c1eb377) -- updated change-log and package.json [`3963725`](https://github.com/michelve/software-license-manager/commit/3963725b0815b6785db5c97006555562f1294345) -- templates [`ad84600`](https://github.com/michelve/software-license-manager/commit/ad8460026f90abeebbdda59f0fcd4d19261e1abc) -- version 5.5.9 [`bfd573a`](https://github.com/michelve/software-license-manager/commit/bfd573a1e6b617a766e398a7e27e28bb4a3ffbd5) -- no message [`fa6dc19`](https://github.com/michelve/software-license-manager/commit/fa6dc19094817c0970377f06b958ae7baa010434) -- Create SECURITY.md [`6b9afae`](https://github.com/michelve/software-license-manager/commit/6b9afaea455d004252d5c9e2b89bdf424039e221) -- questions template added [`0323124`](https://github.com/michelve/software-license-manager/commit/03231245361bf65eed6f8cc0ad79e3fed9d49129) -- no message [`74e74aa`](https://github.com/michelve/software-license-manager/commit/74e74aaeb3e8293a795c898a5144d8ed3956351a) +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.5.11...5.5.12) -## [5.5.8](https://github.com/michelve/software-license-manager/compare/5.5.7...5.5.8) - 2020-09-08 +## [5.5.11](https://github.com/michelve/software-license-manager/tree/5.5.11) (2020-10-28) -### Commits +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.5.10...5.5.11) -- updated date() to wp_date() [`af90004`](https://github.com/michelve/software-license-manager/commit/af90004fc95cf978cca3edb2298039735898749f) +**Implemented enhancements:** -## [5.5.7](https://github.com/michelve/software-license-manager/compare/v5.7.0...5.5.7) - 2020-09-02 +- Clear Logs saved [\#51](https://github.com/michelve/software-license-manager/issues/51) -### Merged +## [5.5.10](https://github.com/michelve/software-license-manager/tree/5.5.10) (2020-10-27) -- implemneted data-title support [`#34`](https://github.com/michelve/software-license-manager/pull/34) +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.5.9...5.5.10) -### Commits +**Implemented enhancements:** -- updated pot and mo language files [`d2c6649`](https://github.com/michelve/software-license-manager/commit/d2c6649d5d18719af1d0722ca6efbec6bb097005) -- added new icons [`95b9957`](https://github.com/michelve/software-license-manager/commit/95b9957ed9db3a43845e507513996f6e642e9b7d) -- resolved bootstrap issues and conflicts [`68481ce`](https://github.com/michelve/software-license-manager/commit/68481ce15a1cc8f06e1c8f3c49f1f46178f629f1) -- 5.5.7 release [`5ea43c0`](https://github.com/michelve/software-license-manager/commit/5ea43c033d68c53baa36691b3f3ad1d1f5a9d61b) -- added new icons [`8306c65`](https://github.com/michelve/software-license-manager/commit/8306c659089fd3458b1855530f945a05f5df00d6) +- Would you mind using escape functions. [\#40](https://github.com/michelve/software-license-manager/issues/40) -## [5.5.6](https://github.com/michelve/software-license-manager/compare/5.5.5...5.5.6) - 2020-08-10 +**Merged pull requests:** -### Merged +- Bug-fix - multiple licences created when order item qty changed [\#50](https://github.com/michelve/software-license-manager/pull/50) ([MechComp](https://github.com/MechComp)) -- 5.5.5 - Order mail fix [`#28`](https://github.com/michelve/software-license-manager/pull/28) +## [5.5.9](https://github.com/michelve/software-license-manager/tree/5.5.9) (2020-09-14) -### Commits +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.5.8...5.5.9) -- Update software-license-manager.php [`80e28a5`](https://github.com/michelve/software-license-manager/commit/80e28a506d6249dcf3c21c76d78c6451ddfe086b) -- Update readme.txt [`3e89d9d`](https://github.com/michelve/software-license-manager/commit/3e89d9d47964a234143e26f7e5e3704c23a74d5c) -- Update README.md [`a3e6ecb`](https://github.com/michelve/software-license-manager/commit/a3e6ecbf2e0b2dd81ac98f004d973cc388554875) +**Implemented enhancements:** -## [5.5.5](https://github.com/michelve/software-license-manager/compare/5.5.4...5.5.5) - 2020-07-11 +- Would you ming using wp\_enqueue\_script & wp\_enqueue\_style in wc\_licenses\_class.php? [\#43](https://github.com/michelve/software-license-manager/issues/43) +- Would you mind using home\_url instead of site\_url [\#39](https://github.com/michelve/software-license-manager/issues/39) +- date\(\) is used in this plugin. Would you mind using wp\_date\(\) introduced in WP 5.3? [\#29](https://github.com/michelve/software-license-manager/issues/29) -### Merged +**Fixed bugs:** -- 5.5.4 - bugfix - validation of licence fields - product editor [`#26`](https://github.com/michelve/software-license-manager/pull/26) -- 5.5.4 - Orders backward compatibility view; fixed icon [`#25`](https://github.com/michelve/software-license-manager/pull/25) +- Translation issue due to no text domain in wc\_licenses\_class.php [\#45](https://github.com/michelve/software-license-manager/issues/45) +- It seems that "slm-front-end.css" does not load on slm 5.5.8 \(in wc\_licenses\_class.php\) [\#42](https://github.com/michelve/software-license-manager/issues/42) +- There is no link string for "slm-view" in wc\_licenses\_class.php [\#41](https://github.com/michelve/software-license-manager/issues/41) +- HTML markup is incorrect in wc\_licenses\_class.php [\#38](https://github.com/michelve/software-license-manager/issues/38) -### Commits +**Merged pull requests:** -- Update software-license-manager.php [`c3300c4`](https://github.com/michelve/software-license-manager/commit/c3300c46ecfc980b8b4e23772126925931ff0ac1) -- Update README.md [`69b1509`](https://github.com/michelve/software-license-manager/commit/69b15096656804595a1a299c29d5eb4607788b72) -- Update readme.txt [`dc4a195`](https://github.com/michelve/software-license-manager/commit/dc4a195bda487a445f9c4cf42ad8801eedf00a83) +- I created bug fix for wc\_licenses\_class.php [\#46](https://github.com/michelve/software-license-manager/pull/46) ([k-kikuchi-waverworks](https://github.com/k-kikuchi-waverworks)) +- Bump node-fetch from 2.6.0 to 2.6.1 [\#37](https://github.com/michelve/software-license-manager/pull/37) ([dependabot[bot]](https://github.com/apps/dependabot)) -## [5.5.4](https://github.com/michelve/software-license-manager/compare/5.5.3...5.5.4) - 2020-06-24 +## [5.5.8](https://github.com/michelve/software-license-manager/tree/5.5.8) (2020-09-08) -### Merged +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.5.7...5.5.8) -- MechComp [`#24`](https://github.com/michelve/software-license-manager/pull/24) -- Version 5.5.3 merge [`#5`](https://github.com/michelve/software-license-manager/pull/5) +**Implemented enhancements:** -### Commits +- Software License Manager changes theme [\#30](https://github.com/michelve/software-license-manager/issues/30) -- 5.5.4 - order meta fix, expiration not compulsory [`213f7ee`](https://github.com/michelve/software-license-manager/commit/213f7eea8ed44ef413bdc8bd8393c9cab8d83a6b) -- 5.5.4 - Stats and licences overview changes [`5a26db6`](https://github.com/michelve/software-license-manager/commit/5a26db6ab728246c9438586969c3bcf51ee119d3) -- 5.5.4 - fix for Item referece ignored on activation [`4964669`](https://github.com/michelve/software-license-manager/commit/4964669769fcfdf6717321f07fe6b391cc2d7a9a) -- 5.5.4 - CSS update [`5ed5a9e`](https://github.com/michelve/software-license-manager/commit/5ed5a9eaee1b4888592146cf7e3310004b23fe1d) -- 5.5.4 - fix for Expired license date when empty in My licenses [`8e193e5`](https://github.com/michelve/software-license-manager/commit/8e193e5163c5b7f54cc391436c553cb0cf9c3ce5) -- Merge from Michelve - v 5.5.3 [`f00990b`](https://github.com/michelve/software-license-manager/commit/f00990b7afbd867f7b7d5ae1463467fdb0a6eb6d) +**Closed issues:** -## [5.5.3](https://github.com/michelve/software-license-manager/compare/5.5.2...5.5.3) - 2020-05-18 +- my license [\#32](https://github.com/michelve/software-license-manager/issues/32) -### Merged +## [5.5.7](https://github.com/michelve/software-license-manager/tree/5.5.7) (2020-09-02) -- Sync 2020-05-07 [`#4`](https://github.com/michelve/software-license-manager/pull/4) -- Sync 2020-05-07 [`#3`](https://github.com/michelve/software-license-manager/pull/3) +[Full Changelog](https://github.com/michelve/software-license-manager/compare/v5.7.0...5.5.7) -### Commits +**Closed issues:** -- Updated changelog [`fd7f833`](https://github.com/michelve/software-license-manager/commit/fd7f833b4a3ac83a1e86d6d628f4ca94e099678c) -- 5.5.3 - Fixed a product editing glitch with the WP eStore plugin integration. [`706ec58`](https://github.com/michelve/software-license-manager/commit/706ec58dec6e4fc883836093adcd1825b236dbda) -- 5.5.3 - Fixed a product editing glitch with the WP eStore plugin integration. [`5249021`](https://github.com/michelve/software-license-manager/commit/5249021451ea5a36f1c35b76889c5db792c3954e) -- updated TODO list [`de9589e`](https://github.com/michelve/software-license-manager/commit/de9589e44974790dbae421923e7c8c8f4dee652f) -- updated image preview [`5626421`](https://github.com/michelve/software-license-manager/commit/56264212e6bfb33fb826e9c841d78dbad02243f2) -- updated image preview [`1bf014b`](https://github.com/michelve/software-license-manager/commit/1bf014b84300ba58e7ce614c25f9976c7fab6cb1) +- On License management page\(for WooCommerce\), table heading datas are not displayed properly on SP. [\#33](https://github.com/michelve/software-license-manager/issues/33) +- what is difference [\#31](https://github.com/michelve/software-license-manager/issues/31) -## [5.5.2](https://github.com/michelve/software-license-manager/compare/5.5.1...5.5.2) - 2020-05-03 +**Merged pull requests:** -### Commits +- implemneted data-title support [\#34](https://github.com/michelve/software-license-manager/pull/34) ([michelve](https://github.com/michelve)) -- 5.5.2 release [`0d18684`](https://github.com/michelve/software-license-manager/commit/0d18684196b051e19f7e3577f10fdf590768e43c) -- Set theme jekyll-theme-cayman [`5cf1d53`](https://github.com/michelve/software-license-manager/commit/5cf1d532dff312f910d1eea94659a22cf2b776e7) +## [v5.7.0](https://github.com/michelve/software-license-manager/tree/v5.7.0) (2020-08-10) -## [5.5.1](https://github.com/michelve/software-license-manager/compare/5.5.0...5.5.1) - 2020-04-30 +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.5.6...v5.7.0) -### Merged +## [5.5.6](https://github.com/michelve/software-license-manager/tree/5.5.6) (2020-08-10) -- Sync - 2020-04-29 [`#1`](https://github.com/michelve/software-license-manager/pull/1) +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.5.5...5.5.6) -### Commits +**Merged pull requests:** -- added: validation when creating a new license using the admin dashboard [`7b9fde3`](https://github.com/michelve/software-license-manager/commit/7b9fde3021ce4cd521b605312864abe2ac1c1f0f) -- updated wp readme [`85e02c1`](https://github.com/michelve/software-license-manager/commit/85e02c119281112c10389c4af648b1f38e4996df) +- 5.5.5 - Order mail fix [\#28](https://github.com/michelve/software-license-manager/pull/28) ([MechComp](https://github.com/MechComp)) -## [5.5.0](https://github.com/michelve/software-license-manager/compare/5.4.2...5.5.0) - 2020-04-28 +## [5.5.5](https://github.com/michelve/software-license-manager/tree/5.5.5) (2020-07-11) -### Commits +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.5.4...5.5.5) -- Added: auto updater support [`7da3e7d`](https://github.com/michelve/software-license-manager/commit/7da3e7da87b7bc5ca450a8bca3c5adbe043f275c) -- SML now support auto updates. [`5c8161e`](https://github.com/michelve/software-license-manager/commit/5c8161e80565b800deefd78655d31f17d5a6e277) +**Merged pull requests:** -## [5.4.2](https://github.com/michelve/software-license-manager/compare/5.4.1...5.4.2) - 2020-04-28 +- 5.5.4 - bugfix - validation of licence fields - product editor [\#26](https://github.com/michelve/software-license-manager/pull/26) ([MechComp](https://github.com/MechComp)) +- 5.5.4 - Orders backward compatibility view; fixed icon [\#25](https://github.com/michelve/software-license-manager/pull/25) ([MechComp](https://github.com/MechComp)) -### Commits +## [5.5.4](https://github.com/michelve/software-license-manager/tree/5.5.4) (2020-06-24) -- added: support for item reference (now you can tag a license under plugins, themes, code, etc), for previous version, a default tag will be set, it is recommended to update the items in your store/or licenses and change the item-reference to match your scenario. [`a2cc6ec`](https://github.com/michelve/software-license-manager/commit/a2cc6ec9e1b7d79351bcb75fc4691dd1adb4c3e9) +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.5.3...5.5.4) -## [5.4.1](https://github.com/michelve/software-license-manager/compare/5.3.3...5.4.1) - 2020-04-27 +**Merged pull requests:** -### Commits +- MechComp [\#24](https://github.com/michelve/software-license-manager/pull/24) ([MechComp](https://github.com/MechComp)) -- Added: new icons to manage license interface. [`1f672fc`](https://github.com/michelve/software-license-manager/commit/1f672fc6f1b4670be11d566235a489ade999e37b) -- pot language file added [`073b735`](https://github.com/michelve/software-license-manager/commit/073b735cbf0411508be8f6132363f703e0416709) +## [5.5.3](https://github.com/michelve/software-license-manager/tree/5.5.3) (2020-05-18) -## [5.3.3](https://github.com/michelve/software-license-manager/compare/5.3.2...5.3.3) - 2020-03-31 +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.5.2...5.5.3) -### Commits +## [5.5.2](https://github.com/michelve/software-license-manager/tree/5.5.2) (2020-05-03) -- IMPROVED: removed unnecessary code [`da00a42`](https://github.com/michelve/software-license-manager/commit/da00a42479b0a783faa9890d1cd44d7cd4cd0f44) +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.5.1...5.5.2) -## [5.3.2](https://github.com/michelve/software-license-manager/compare/5.3.1...5.3.2) - 2020-03-31 +## [5.5.1](https://github.com/michelve/software-license-manager/tree/5.5.1) (2020-04-30) -### Commits +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.5.0...5.5.1) -- no message [`16faff4`](https://github.com/michelve/software-license-manager/commit/16faff4cf9acb9f91be1365f24e1048d57a31988) -- 5.3.2 - make lifetime license work better with woocommerce download functionality [`07efc0c`](https://github.com/michelve/software-license-manager/commit/07efc0c02361622bc16dc8cba31e4f526d3cc604) +## [5.5.0](https://github.com/michelve/software-license-manager/tree/5.5.0) (2020-04-28) -## [5.3.1](https://github.com/michelve/software-license-manager/compare/5.2.1...5.3.1) - 2020-03-31 +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.4.2...5.5.0) -### Commits +## [5.4.2](https://github.com/michelve/software-license-manager/tree/5.4.2) (2020-04-28) -- Fixed: License type was not showing correctly when editing a license [`25b5e19`](https://github.com/michelve/software-license-manager/commit/25b5e19d01eeb0268566577252cc3c0fc8dba620) -- 5.2.1 changelog [`3c50ec3`](https://github.com/michelve/software-license-manager/commit/3c50ec3f063f8e03d1f52af8e8ddf9304b2dd90b) +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.4.1...5.4.2) -## [5.2.1](https://github.com/michelve/software-license-manager/compare/5.2.0...5.2.1) - 2020-03-25 +**Implemented enhancements:** -### Merged +- License Manager Add or Edit Tabs not working [\#20](https://github.com/michelve/software-license-manager/issues/20) -- Sorting by ID not working properly [`#19`](https://github.com/michelve/software-license-manager/pull/19) -- Sorting by ID not working properly [`#18`](https://github.com/michelve/software-license-manager/pull/18) -- Error - sets all licences as Expired if they don't have Expiration da… [`#17`](https://github.com/michelve/software-license-manager/pull/17) +## [5.4.1](https://github.com/michelve/software-license-manager/tree/5.4.1) (2020-04-27) -### Commits +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.3.3...5.4.1) -- Error - sets all licenses as Expired if they don't have Expiration date [`d7ca1db`](https://github.com/michelve/software-license-manager/commit/d7ca1db5232e716a7dcf0f298396c17bc326aa8e) -- 5.2.0 release [`e687066`](https://github.com/michelve/software-license-manager/commit/e6870665433537bb067035f5e3f71d948e35e576) -- Error - sets all licences as Expired if they don't have Expiration date set [`469cc07`](https://github.com/michelve/software-license-manager/commit/469cc076ab450327c72831241e505b28b3379386) +## [5.3.3](https://github.com/michelve/software-license-manager/tree/5.3.3) (2020-03-31) -## [5.2.0](https://github.com/michelve/software-license-manager/compare/5.1.9...5.2.0) - 2020-03-17 +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.3.2...5.3.3) -### Commits +## [5.3.2](https://github.com/michelve/software-license-manager/tree/5.3.2) (2020-03-31) -- 5.2.0 - License overview was not displaying list of activated domains [`c5d6c02`](https://github.com/michelve/software-license-manager/commit/c5d6c026c183e19b8daf612fc30ce0d83eb22745) +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.3.1...5.3.2) -## [5.1.9](https://github.com/michelve/software-license-manager/compare/5.1.8...5.1.9) - 2020-02-27 +## [5.3.1](https://github.com/michelve/software-license-manager/tree/5.3.1) (2020-03-31) -### Commits +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.2.1...5.3.1) -- updated readme and change-log files [`ba86897`](https://github.com/michelve/software-license-manager/commit/ba86897d3b1d044ae11d4de7c839d3a6652eda5c) -- updated readme and change-log files [`d7a7d2b`](https://github.com/michelve/software-license-manager/commit/d7a7d2b841bda28895ec2fe9c6d56ee8a07dd232) -- - Users with blank $wc_billing_email can see all other licenses [`ddb6e21`](https://github.com/michelve/software-license-manager/commit/ddb6e21bb53a0fc8822d185dab12f310f055a940) +## [5.2.1](https://github.com/michelve/software-license-manager/tree/5.2.1) (2020-03-25) -## [5.1.8](https://github.com/michelve/software-license-manager/compare/5.1.7...5.1.8) - 2020-01-20 +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.2.0...5.2.1) -### Merged +**Fixed bugs:** -- Bump handlebars from 4.1.2 to 4.5.3 [`#12`](https://github.com/michelve/software-license-manager/pull/12) +- devices and domains menu [\#16](https://github.com/michelve/software-license-manager/issues/16) -### Commits +**Merged pull requests:** -- Updated change-log [`19a2c18`](https://github.com/michelve/software-license-manager/commit/19a2c18ae3cdde49222fe49297a702d786516c05) +- Sorting by ID not working properly [\#19](https://github.com/michelve/software-license-manager/pull/19) ([MechComp](https://github.com/MechComp)) +- Sorting by ID not working properly [\#18](https://github.com/michelve/software-license-manager/pull/18) ([MechComp](https://github.com/MechComp)) +- Error - sets all licences as Expired if they don't have Expiration da… [\#17](https://github.com/michelve/software-license-manager/pull/17) ([MechComp](https://github.com/MechComp)) -## [5.1.7](https://github.com/michelve/software-license-manager/compare/5.1.6...5.1.7) - 2019-12-19 +## [5.2.0](https://github.com/michelve/software-license-manager/tree/5.2.0) (2020-03-17) -### Commits +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.1.9...5.2.0) -- Fix an issue that prevented the admin dashboard from opening when woo-commerce was not installed or active [`22a87ea`](https://github.com/michelve/software-license-manager/commit/22a87ea26de953f66a71b6f7fa283247913d4cf9) -- Fix an issue that prevented the admin dashboard from opening when woo-commerce was not installed or active [`f48288f`](https://github.com/michelve/software-license-manager/commit/f48288ff57ac60362ac566c0ecf92ed578709404) -- Fix an issue that prevented the admin dashboard from opening when woo-commerce was not installed or active [`69c37ce`](https://github.com/michelve/software-license-manager/commit/69c37ce9433cb4da54356f8b559fc8bc1928ac70) -- Set theme jekyll-theme-minimal [`a38a7e5`](https://github.com/michelve/software-license-manager/commit/a38a7e50f6a2ecd544f9d0ec80b6c9561247d021) -- Fix an issue that prevented the admin dashboard from opening when woo-commerce was not installed or active [`b10bd83`](https://github.com/michelve/software-license-manager/commit/b10bd83db7a5f341ee8e6603a53ecfed0003c1c0) +**Implemented enhancements:** -## [5.1.6](https://github.com/michelve/software-license-manager/compare/5.1.5...5.1.6) - 2019-11-16 +- Integrate with WooCommerce Subscriptions [\#10](https://github.com/michelve/software-license-manager/issues/10) -### Commits +**Closed issues:** -- Fixes an issue where license type will not shown when creating a license product in woocommerce [`de6ec94`](https://github.com/michelve/software-license-manager/commit/de6ec94a153a41ecda48af901389611e8ffc1428) -- Fixes an issue where license type will not shown when creating a license product in woocommerce [`28a1828`](https://github.com/michelve/software-license-manager/commit/28a1828598dd34f3423ad787ad49d5b13b67fde7) -- Update README.md [`5b8b6d4`](https://github.com/michelve/software-license-manager/commit/5b8b6d420461d72eecfad2d9ec63b699e14e23dd) -- Set theme jekyll-theme-cayman [`9633c64`](https://github.com/michelve/software-license-manager/commit/9633c644dca41f52e84430e8454a68ffb8b9933a) +- Users with blank $wc\_billing\_email can see all other licenses [\#15](https://github.com/michelve/software-license-manager/issues/15) -## [5.1.5](https://github.com/michelve/software-license-manager/compare/5.1.4...5.1.5) - 2019-11-07 +## [5.1.9](https://github.com/michelve/software-license-manager/tree/5.1.9) (2020-02-27) -### Commits +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.1.8...5.1.9) -- Fixed woocommerce dependency error [`bfb751f`](https://github.com/michelve/software-license-manager/commit/bfb751fce586eb3ae57f16990ca26375d23d9c4a) -- Fixed woocommerce dependency error [`b512e57`](https://github.com/michelve/software-license-manager/commit/b512e57a13f432c0b09cab0ba22ab970c8745706) +**Implemented enhancements:** -## [5.1.4](https://github.com/michelve/software-license-manager/compare/5.1.3...5.1.4) - 2019-09-04 +- Log and export option [\#13](https://github.com/michelve/software-license-manager/issues/13) -### Commits +**Closed issues:** -- added: user is able to choose between days, months and years when creating a product license using woo-commerce [`6ce9491`](https://github.com/michelve/software-license-manager/commit/6ce9491fb766013553e89d5e4bf0f8905ab6ce00) -- 5.1.4 release [`ca2a08d`](https://github.com/michelve/software-license-manager/commit/ca2a08dc607d8e4ef4c42c904d6bee993a20754a) +- Complete order email displays incorrect expiration date info [\#14](https://github.com/michelve/software-license-manager/issues/14) -## [5.1.3](https://github.com/michelve/software-license-manager/compare/5.1.2...5.1.3) - 2019-08-31 +## [5.1.8](https://github.com/michelve/software-license-manager/tree/5.1.8) (2020-01-20) -### Commits +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.1.7...5.1.8) -- 5.1.2 change log [`4b5648e`](https://github.com/michelve/software-license-manager/commit/4b5648ecbfe71d20d632cb4689416a543679f3f5) -- Added: key will be set to expired when the expiration date has passed [`116db1e`](https://github.com/michelve/software-license-manager/commit/116db1e5d93c1d58313d3e9cfa6d25ea29c6a899) +**Implemented enhancements:** -## [5.1.2](https://github.com/michelve/software-license-manager/compare/5.1.0...5.1.2) - 2019-08-30 +- Log and export option [\#13](https://github.com/michelve/software-license-manager/issues/13) -### Commits +**Closed issues:** -- feature: renewal period now supports monthly yearly or one time [`09543d4`](https://github.com/michelve/software-license-manager/commit/09543d46bc830fb84853a4b901504ce17fdb0c57) -- restructured and set default values [`0ce21eb`](https://github.com/michelve/software-license-manager/commit/0ce21eb9d5acfc3e2ac6c8f5b4ac0aa9850bc609) -- version incremental to 5.1.2 [`3ff0a30`](https://github.com/michelve/software-license-manager/commit/3ff0a304277ed1126166cdfa756f3c54621b630c) +- Complete order email displays incorrect expiration date info [\#14](https://github.com/michelve/software-license-manager/issues/14) -## [5.1.0](https://github.com/michelve/software-license-manager/compare/5.0.5...5.1.0) - 2019-08-28 +**Merged pull requests:** -### Commits +- Bump handlebars from 4.1.2 to 4.5.3 [\#12](https://github.com/michelve/software-license-manager/pull/12) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Feature: added custom template for license key product type (for woocommerce) [`33d56e0`](https://github.com/michelve/software-license-manager/commit/33d56e02d8e76991afb5d1b3a2e37453cd31eb64) -- added change-log [`7c2240f`](https://github.com/michelve/software-license-manager/commit/7c2240f4a93194c42dc606c645e44ebcd881b335) -- version 5.1.0 [`ba5f0eb`](https://github.com/michelve/software-license-manager/commit/ba5f0eb69a377ac0cc5f364c1dfc1a90eea2bcde) -- added missing information [`f18d25b`](https://github.com/michelve/software-license-manager/commit/f18d25bf3175a98f4602c432a8e0ff0865d4d547) +## [5.1.7](https://github.com/michelve/software-license-manager/tree/5.1.7) (2019-12-19) -## [5.0.5](https://github.com/michelve/software-license-manager/compare/5.0.3...5.0.5) - 2019-08-24 +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.1.6...5.1.7) -### Commits +**Implemented enhancements:** -- changelog [`97d05c4`](https://github.com/michelve/software-license-manager/commit/97d05c415f7c953846c971709e2a8c49a29885be) -- Update README.md [`dfd36ba`](https://github.com/michelve/software-license-manager/commit/dfd36ba5e75bca5039e65cc450de7b0fb8266063) -- Update issue templates [`07e8262`](https://github.com/michelve/software-license-manager/commit/07e8262f603b4a58665594baeb9f960163dfeb92) -- Fixed: license values were not been saved inside the woocommerce when saving a product [`10de0ca`](https://github.com/michelve/software-license-manager/commit/10de0cab3146795bf86c26f8f9495f529c320ada) -- Fixed: license values were not been saved inside the woocommerce when saving a product [`6f13d83`](https://github.com/michelve/software-license-manager/commit/6f13d8344186c64112b969e647e64d0a6c5dfbe1) -- Update README.md [`2462dd9`](https://github.com/michelve/software-license-manager/commit/2462dd9fd6a63f4ad11edd171b0c7bb5cd4f2516) -- Update README.md [`9e07f09`](https://github.com/michelve/software-license-manager/commit/9e07f0938bd9bd0ddda655b99af0c9315fccd2f2) -- Update FUNDING.yml [`8a299d7`](https://github.com/michelve/software-license-manager/commit/8a299d7d6305fc05a3b271b19348f1144cc715e6) -- Create FUNDING.yml [`32f7438`](https://github.com/michelve/software-license-manager/commit/32f7438bc12361b5841f669d0339089c6bfa0064) -- Check if WooCommerce is activated [`55acd38`](https://github.com/michelve/software-license-manager/commit/55acd38ed597a68d776f8748e9eadd1c93fa615e) -- Update README.md [`0f532b1`](https://github.com/michelve/software-license-manager/commit/0f532b1cd20e6166f99cf5747a58e5647e98e486) -- version incremental [`ec547c5`](https://github.com/michelve/software-license-manager/commit/ec547c5fc87b98ad1a0e1b9f53b76032661f5412) -- Update README.md [`ca8634c`](https://github.com/michelve/software-license-manager/commit/ca8634c7ea36dc647ac3fc18f295054483425e03) -- Update README.md [`7e06d7f`](https://github.com/michelve/software-license-manager/commit/7e06d7faca5febb8e91d719f15b4e0dc027fbbc6) -- Update FUNDING.yml [`47c7ec5`](https://github.com/michelve/software-license-manager/commit/47c7ec54b934c6e9e74f4436b41ac8659381d83d) -- no message [`2ef8860`](https://github.com/michelve/software-license-manager/commit/2ef8860b4b4ec9d74444d661568248006572591c) +- Integrate with WooCommerce Subscriptions [\#10](https://github.com/michelve/software-license-manager/issues/10) -## [5.0.3](https://github.com/michelve/software-license-manager/compare/5.0.2-patched...5.0.3) - 2019-07-27 +**Fixed bugs:** -### Commits +- Integration with newest WooCommerce not working [\#11](https://github.com/michelve/software-license-manager/issues/11) -- version 5.0.3 [`1b84a5b`](https://github.com/michelve/software-license-manager/commit/1b84a5b722b6a1080c1b62b2650afb60833798a5) +## [5.1.6](https://github.com/michelve/software-license-manager/tree/5.1.6) (2019-11-16) -## [5.0.2](https://github.com/michelve/software-license-manager/compare/4.12.1...5.0.2) - 2019-07-01 +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.1.5...5.1.6) -### Commits +**Implemented enhancements:** -- ## Features [`36b8069`](https://github.com/michelve/software-license-manager/commit/36b80696e3111f5b80910b9e549773fd382543f2) -- fixed preview images [`f9d3edd`](https://github.com/michelve/software-license-manager/commit/f9d3edd0f8db2e06fd6a71a2ea3567d9cc3e5446) -- 4.12.1 release [`3c3dfa1`](https://github.com/michelve/software-license-manager/commit/3c3dfa105f5022fb7fc9381ba425e469dc86992b) +- Getting Fatal error when install without WooCpmmerce [\#9](https://github.com/michelve/software-license-manager/issues/9) -## [5.0.2-patched](https://github.com/michelve/software-license-manager/compare/5.0.2...5.0.2-patched) - 2019-07-17 +**Fixed bugs:** -### Commits - -- removed duplicated files and folders [`9b66e62`](https://github.com/michelve/software-license-manager/commit/9b66e62cb1dabf0e9a353b016ef99f044b1c03fb) -- added missing files [`de8f4e1`](https://github.com/michelve/software-license-manager/commit/de8f4e1c527fe09dae01942d3b48acbe07e05116) -- removed unneeded files [`8bac6e5`](https://github.com/michelve/software-license-manager/commit/8bac6e5e38d71ef075ffcf31fc789aa233c3e162) -- Update README.md [`f946ce2`](https://github.com/michelve/software-license-manager/commit/f946ce2d05cef50a1cfea80ad1514c1508c8470b) -- added updates and images [`cef05ca`](https://github.com/michelve/software-license-manager/commit/cef05ca079dd9fe1beb2c5d04a4182e77b31be12) -- Delete project.xml [`d0d0d7a`](https://github.com/michelve/software-license-manager/commit/d0d0d7acd701bccb3a93315bf414400ffb316a3d) -- Delete project.properties [`e48803c`](https://github.com/michelve/software-license-manager/commit/e48803cb612bff368aa7906e45e1c29b3bd845f0) - -## [4.12.1](https://github.com/michelve/software-license-manager/compare/4.11.2...4.12.1) - 2019-06-17 - -### Commits - -- ### 4.12.1 [`4b3adc2`](https://github.com/michelve/software-license-manager/commit/4b3adc2a2687f008362fb864eb39a759fc3a22c3) -- ### 4.12.1 [`89acaa5`](https://github.com/michelve/software-license-manager/commit/89acaa5718721cfdce40fcab70036367d2592c11) -- added change-log and updated readme file [`123564f`](https://github.com/michelve/software-license-manager/commit/123564f08ba7877da99fb6f826b03dbfceed0795) -- security.md [`3d225ce`](https://github.com/michelve/software-license-manager/commit/3d225ceffe5a5e65049112098656198335d066f1) - -## [4.11.2](https://github.com/michelve/software-license-manager/compare/4.10.3...4.11.2) - 2019-06-12 - -### Commits - -- upgraded jQuery ui version [`27fe73f`](https://github.com/michelve/software-license-manager/commit/27fe73fe555c4a9b5b3044042be7c8b66cd0f2bd) - -## [4.10.3](https://github.com/michelve/software-license-manager/compare/3.1.0...4.10.3) - 2019-05-14 - -### Commits - -- improved license creation [`f53672b`](https://github.com/michelve/software-license-manager/commit/f53672b4c5e59a9639e364d5259133131418e864) -- added update helper [`c0d5653`](https://github.com/michelve/software-license-manager/commit/c0d56534e2cac38e970fcc176374b0d54fff0bba) -- Version increase [`c9e2548`](https://github.com/michelve/software-license-manager/commit/c9e25485c531ac6fdbb70fbd62f37d8c549f0466) -- improved license creation [`a012f34`](https://github.com/michelve/software-license-manager/commit/a012f34d7b9981414d20b4d4e34c9438596b6029) -- version 4.4 release [`620bf33`](https://github.com/michelve/software-license-manager/commit/620bf33369fc83876c64a149cd9604c240e93158) -- Added Change-log, readme, and license [`2d38d99`](https://github.com/michelve/software-license-manager/commit/2d38d99aba938bb6f84ff0d41cdc3a642513bc13) -- new folder structure [`a63639b`](https://github.com/michelve/software-license-manager/commit/a63639b2ebf3d33e2d619f2a0aa9c349dbabbbe1) -- added license file [`165b3a7`](https://github.com/michelve/software-license-manager/commit/165b3a73c291683abffe8cec6e62bdfd2424b08e) -- #### 4.6 [`2dd8f75`](https://github.com/michelve/software-license-manager/commit/2dd8f7547d3c5da2ee7f37c0bf199fd3def13342) -- removed un-used files and code [`39fb2bf`](https://github.com/michelve/software-license-manager/commit/39fb2bf330d26650452a50a30d1f73feae603a20) -- #### 4.10.3 - WIP [`6b9ca6b`](https://github.com/michelve/software-license-manager/commit/6b9ca6bd1b202d9f9e27727cf1030531c22940ea) -- no message [`cbdb605`](https://github.com/michelve/software-license-manager/commit/cbdb6058fb35461a5112983f30edc3ebd9515885) -- added support for devices: now you can see the activated list for devices, able to register a device or deactivate it or delete it. [`91a1c3d`](https://github.com/michelve/software-license-manager/commit/91a1c3dc9f59d8bb92e9faed4e4d990279bfec36) -- Version 4.3 release check change-log file [`24a0b60`](https://github.com/michelve/software-license-manager/commit/24a0b60f3c343ffec61657c332b6ecbaaa2a7dd0) -- fixed sql warning and updated class name [`d8a8d29`](https://github.com/michelve/software-license-manager/commit/d8a8d2925c439f1bf624c9fbe45c77d528a5daf1) -- #### 4.7 - WIP [`27c13e1`](https://github.com/michelve/software-license-manager/commit/27c13e1e1a22aaedd04f6e011c0057dcd9a3762b) -- third party support [`16ba24f`](https://github.com/michelve/software-license-manager/commit/16ba24f9e8337aba88ed85983586d1e45bb49069) -- #### 4.6 [`daec3c2`](https://github.com/michelve/software-license-manager/commit/daec3c25fdb692688ddc8f2d0e4233d0baa78577) -- removed unused files [`b760853`](https://github.com/michelve/software-license-manager/commit/b7608533d6f3c663ce5719bcdc92dba03a944c53) -- Added support for version (until what version a key is supported) [`ffab174`](https://github.com/michelve/software-license-manager/commit/ffab1749c104df2c1621a416431eac908e1a3f09) -- support for deactivation [`d84ff9f`](https://github.com/michelve/software-license-manager/commit/d84ff9faad68029b6c5fb37d71ad2952ff43bdf2) -- #### 4.1 -- Added: Support for license removal using api (slm_action=slm_remove) [`d8ae377`](https://github.com/michelve/software-license-manager/commit/d8ae3774e4ab7af7f3b0fd8eaee110afa50cb96b) -- formatted code [`58f8864`](https://github.com/michelve/software-license-manager/commit/58f886453bf483acc0c8fddba37cc2b3673b6db6) -- fixed not found error [`3760354`](https://github.com/michelve/software-license-manager/commit/3760354754017fa5cc19f5b3f7c118a9763c9e4c) -- added a new action hook [`26635a1`](https://github.com/michelve/software-license-manager/commit/26635a15976d21898da6e6df7619133d43596a92) -- init [`1a0c954`](https://github.com/michelve/software-license-manager/commit/1a0c954b1e315a02e59e8754d75b81aaaa38d35f) -- removed unneeded folders [`77371fa`](https://github.com/michelve/software-license-manager/commit/77371fa2dcd147ae9cd94930a338c670585269a4) -- updated paths [`7c948a1`](https://github.com/michelve/software-license-manager/commit/7c948a1b6ecd0659204a1c5adf029bd1e6e54f6f) -- added new tasks [`91fbd00`](https://github.com/michelve/software-license-manager/commit/91fbd004a48a0d66a9485827baaf88214b2a764c) -- added change-log notes [`f238963`](https://github.com/michelve/software-license-manager/commit/f2389637e459edb4c74729dbcfb42254b34483fb) -- version 4.8 [`501efc4`](https://github.com/michelve/software-license-manager/commit/501efc4f10dd41e880b745e94f33c06a19c12341) -- added todo file [`ed37d72`](https://github.com/michelve/software-license-manager/commit/ed37d723b214a636b1bab00514e021e74db6f06f) -- added Compatibility [`7a7143b`](https://github.com/michelve/software-license-manager/commit/7a7143bf3d8b2b758dd50a5a789fdbc61e86727d) -- fix: removed hard coded email from previous tests - now emails get send to the costumer after purchase [`bcc191f`](https://github.com/michelve/software-license-manager/commit/bcc191fdc0a6818535d9a4dd6962139d955b07e6) -- Added License Badge [`f4d77ac`](https://github.com/michelve/software-license-manager/commit/f4d77acb5d94ec3007ff1cb3b639fffd14661f34) -- Updated Read me file [`d8d5080`](https://github.com/michelve/software-license-manager/commit/d8d50803d0582b4cf44e8f0b39c557eae6632415) -- Updated Read me file [`fb1bf07`](https://github.com/michelve/software-license-manager/commit/fb1bf0763af6f6feed425db1affcf157162ca85e) -- Update slm-api-listener.php [`9737d0e`](https://github.com/michelve/software-license-manager/commit/9737d0ed46fc66b96b933f0fbf87b77d95a3384b) -- Update TODO.md [`a85b107`](https://github.com/michelve/software-license-manager/commit/a85b107e51824e89ae950b8ab1c2f53b7ddda32f) -- added support for $this->update_api_listener(); and $this->deletion_api_listener(); [`fb06711`](https://github.com/michelve/software-license-manager/commit/fb06711cf17a74ddd4ba3b8296bdf1f2d1cd73b8) -- fixed typo [`1a8e999`](https://github.com/michelve/software-license-manager/commit/1a8e999e711749d1a51fda6296f2f707ab5d7469) -- fixed typo [`8013168`](https://github.com/michelve/software-license-manager/commit/8013168a071e1d71c1b97dae1881de9deaf3ad79) -- updated features list [`3a8c797`](https://github.com/michelve/software-license-manager/commit/3a8c7979530b614828943f8d2b197caffec97d02) -- Set theme jekyll-theme-tactile [`4633161`](https://github.com/michelve/software-license-manager/commit/4633161f6d68eec07a1473fa4efcc96e9b54fa48) -- updated read me file [`1bd62f9`](https://github.com/michelve/software-license-manager/commit/1bd62f907941a41a389c777494affaabf1758116) -- added screenshot and preview images [`b0b213b`](https://github.com/michelve/software-license-manager/commit/b0b213b05aba050deb2228f984b8213f8f87d892) - -## 3.1.0 - 2017-07-19 - -### Merged - -- Added error codes to api results [`#5`](https://github.com/michelve/software-license-manager/pull/5) -- Added wp_unslash() for firstname, lastname, registered domain and com… [`#4`](https://github.com/michelve/software-license-manager/pull/4) - -### Commits - -- first commit [`9345c1c`](https://github.com/michelve/software-license-manager/commit/9345c1c21086995e1318b0f0f3b496fe9b740649) -- added a sample php script. included the jquery ui css in the plugin. [`79f33e5`](https://github.com/michelve/software-license-manager/commit/79f33e528ca45ab974c3152cb9c3a7685b7e486e) -- changes part 1 [`f3ace5b`](https://github.com/michelve/software-license-manager/commit/f3ace5bc2c5f71e14484e20a4fd3f75b86f5100f) -- lots of refactoring and architectural changes [`0334b82`](https://github.com/michelve/software-license-manager/commit/0334b8299dc9ea4fb9d0353050252fc9b54d2e5a) -- added a sample plugin that can do the API query remotely. [`1c1cca5`](https://github.com/michelve/software-license-manager/commit/1c1cca5b0462a01af3a6d61a12e50eb79b30dd31) -- db access file moved inside includes [`a5b97ed`](https://github.com/michelve/software-license-manager/commit/a5b97ed0bdcc505d36bed664dbe36afdadd7f075) -- - added debug functionality [`8860d4b`](https://github.com/michelve/software-license-manager/commit/8860d4b099f7d278925a41624692e58c1920a42f) -- added sample plugin [`f1d1181`](https://github.com/michelve/software-license-manager/commit/f1d1181ca73014ff9fca947a996faf3e3144e627) -- added support for devices, where you can specified the amount of licenses per device or domain. [`b378b0a`](https://github.com/michelve/software-license-manager/commit/b378b0a9a2bb31f0267b70adb0ade99ebf70eb37) -- - fixed user interface stuff [`9319e69`](https://github.com/michelve/software-license-manager/commit/9319e693ba1589fa6659f78f7f60aed20c3f260b) -- added support for registered devices, now yo can view/edit/remote registered devices from admin panel. [`cdcbd1d`](https://github.com/michelve/software-license-manager/commit/cdcbd1da86e2232a5acd39d95d05613c43c14378) -- - Debug logger class fixed. [`46ffa1b`](https://github.com/michelve/software-license-manager/commit/46ffa1bae06160679220dbe48a676b199afe97c1) -- introduced api listener class and moved more classes around. More refactoring done. [`11000f3`](https://github.com/michelve/software-license-manager/commit/11000f32b2215fed535e39eeeadfb82fc66ad0b2) -- v2.5 released [`98bb263`](https://github.com/michelve/software-license-manager/commit/98bb2634c37c7f4a7527cd71e1f1d99e9733ef16) -- - Added a new feature to enable auto expiry of the license keys. You can enable this option from the settings. [`c274ad8`](https://github.com/michelve/software-license-manager/commit/c274ad84af02eee9c0f72b12c581192ccaf6a7fc) -- WP estore plugin integration added [`c773263`](https://github.com/michelve/software-license-manager/commit/c77326309389d069760189bbc7866ea4a88a6513) -- v2.6 released [`54936a7`](https://github.com/michelve/software-license-manager/commit/54936a7d722308715835beb1a8133d3a1b1e23f0) -- v2.8 released [`66a6e83`](https://github.com/michelve/software-license-manager/commit/66a6e8389d671f57e57667a5bdea6811618ff32e) -- changed the settings/options savings to an ARRAY structure [`8b2c03f`](https://github.com/michelve/software-license-manager/commit/8b2c03f8bf1b9f2a0560fcff9d32e9247a8d520d) -- added license API query listener class [`eaa325b`](https://github.com/michelve/software-license-manager/commit/eaa325b2d9d49f1acaac21e0d59096335994e09f) -- more refactoring changes [`fc01f80`](https://github.com/michelve/software-license-manager/commit/fc01f804f9f592b4c72a9fd87b136edd3d947a86) -- v1.8 released [`86cbca0`](https://github.com/michelve/software-license-manager/commit/86cbca0622582d40d5cd02851856bb5e7089b27c) -- v1.5 released [`7fefc50`](https://github.com/michelve/software-license-manager/commit/7fefc508ec1cbe66d8e937f7b457e79f26f4b2be) -- added readme file and a few other small tweaks. [`d8efad8`](https://github.com/michelve/software-license-manager/commit/d8efad862626ee96bbe76f61114d4d309a311d93) -- more refactoring changes 2. [`e2947bf`](https://github.com/michelve/software-license-manager/commit/e2947bf0f8b1fc78db0d8c57a149b89df4dd4fae) -- Moved the api error code class to a separate file [`f4906da`](https://github.com/michelve/software-license-manager/commit/f4906da9a74b92f67ede32404b7b8cbceca66271) -- v2.4 released [`e6a7fff`](https://github.com/michelve/software-license-manager/commit/e6a7fffa9b73d612761fcdcf8563ce96cc9f227c) -- some improvements [`fd6c5bf`](https://github.com/michelve/software-license-manager/commit/fd6c5bfc8d4e09cba6f79933b5c42653b227216d) -- The integration with WP eStore cart will create multiple licenses when a customer purchases more than 1 quantity of a product. [`82df429`](https://github.com/michelve/software-license-manager/commit/82df429d0cf93e379001efe6c6a5713efc425d83) -- v1.2 released [`2a5d95e`](https://github.com/michelve/software-license-manager/commit/2a5d95e03fd5967440a9c6c5e8af22605cbdb204) -- v1.9 released [`67c71be`](https://github.com/michelve/software-license-manager/commit/67c71bee511e79c554f410027469e71d43ed4846) -- v1.4 released [`5ce4a30`](https://github.com/michelve/software-license-manager/commit/5ce4a302c530beeadeb91845a157fdd9cd4f6703) -- v1.1 released [`254cc9b`](https://github.com/michelve/software-license-manager/commit/254cc9b85928283ad4956cea994ad84772922b63) -- some other refactoring [`085071e`](https://github.com/michelve/software-license-manager/commit/085071e6d2417cd9613a09ae615d7688f8151a00) -- Improvement for the WP eStore integration. [`f761bcc`](https://github.com/michelve/software-license-manager/commit/f761bccc7ea499ef2fb8aa8b79491f090012847c) -- more improvements [`b16d379`](https://github.com/michelve/software-license-manager/commit/b16d3792997ced6bc1e857ca16fd038815e10792) -- v2.7 released [`4384553`](https://github.com/michelve/software-license-manager/commit/43845536a22239deab722e31c182d1f512d1d37b) -- v1.7 released [`502f350`](https://github.com/michelve/software-license-manager/commit/502f3500bede05f664020b9dae3ffd960108ea15) -- 1.6 released [`cbe2075`](https://github.com/michelve/software-license-manager/commit/cbe2075e74043eed8f0f2b5e1b07832686a11671) -- 1.3 RC [`f49abd3`](https://github.com/michelve/software-license-manager/commit/f49abd3346a09111e530573cadfa60916780c87a) -- database charset and collate improvements [`ed348a2`](https://github.com/michelve/software-license-manager/commit/ed348a2c50de8b1969e7ad821fbd5b5401f31b92) -- preparing the repository [`cbeeede`](https://github.com/michelve/software-license-manager/commit/cbeeede76eced547bde5ea7df9cffee526f66296) -- added more columns to show in the manage licenses menu. [`585fb50`](https://github.com/michelve/software-license-manager/commit/585fb500d1d2059db240cff1d1b048b60a785302) -- committing v2.2 [`ae4f6af`](https://github.com/michelve/software-license-manager/commit/ae4f6afe2cf9784d771495567fc81d014858d8a7) -- v2.1 released [`dbc0ea8`](https://github.com/michelve/software-license-manager/commit/dbc0ea857f7b4377be2a98e772e9991578675f12) -- renamed the files with proper prefix in the "menu" directory [`e30eb86`](https://github.com/michelve/software-license-manager/commit/e30eb86d913cd5ee6a28f598971b283857701705) -- v2.0 released [`34c8e12`](https://github.com/michelve/software-license-manager/commit/34c8e12f6433af7b60b5c62fe745e91e827138ac) -- Added wp_unslash() for firstname, lastname, registered domain and company name which could all contain ' [`01459d1`](https://github.com/michelve/software-license-manager/commit/01459d1abcd52793186b2ca5071dfcddcb81efbb) -- Replaced "esc_url()" with "esc_url_raw()" in the sample plugin. [`da57ee6`](https://github.com/michelve/software-license-manager/commit/da57ee65812d3f30b29e4a812271b8ed3d624d04) -- added 3rd party integration file [`5c7c7ed`](https://github.com/michelve/software-license-manager/commit/5c7c7ede249b0e2b53d2af3af6c70e253ec00305) -- v2.9 tested and released [`40abd6a`](https://github.com/michelve/software-license-manager/commit/40abd6ac51509e4ed78f9b09af6a5da6daa97929) -- some changes [`bb9e29c`](https://github.com/michelve/software-license-manager/commit/bb9e29ceef9bac33926d7ce573a3fc69f749c774) -- renamed a few files [`633d9a3`](https://github.com/michelve/software-license-manager/commit/633d9a3bf30942608645cee33e57b8dcac0bbae7) -- updated the to-do file [`94656d8`](https://github.com/michelve/software-license-manager/commit/94656d86027c62b1fc95fe1e04271556e34fa5d5) -- minor cleanup [`e095ed7`](https://github.com/michelve/software-license-manager/commit/e095ed7155db6bf4d9befcac70524eed7230ce64) -- v1.3 released [`b5c8c46`](https://github.com/michelve/software-license-manager/commit/b5c8c46e3e453d3b506c64264ec5da95ef533edb) -- some minor changes [`af619bb`](https://github.com/michelve/software-license-manager/commit/af619bbd87621c2a6ada23f904dac72a0d07aea2) -- v2.3 released [`5b3351f`](https://github.com/michelve/software-license-manager/commit/5b3351f0cd8a0f5ff41393ac97fec3c50f15ece6) -- updated the links [`6efa7ce`](https://github.com/michelve/software-license-manager/commit/6efa7ced83d75007d0a1be72843dcab2943f0c74) -- Added a new action hook [`79aa9ab`](https://github.com/michelve/software-license-manager/commit/79aa9ab42e00c3c577c21a77aea2e907c42b6c4b) -- updated readme [`d01f622`](https://github.com/michelve/software-license-manager/commit/d01f622b4bc1706e9e0eb83f50ef57430ce639dc) -- updated readme file [`6ff246d`](https://github.com/michelve/software-license-manager/commit/6ff246d80a390b91555d436606e8e555f7a1e966) -- wp 4.8 [`e4d5e7d`](https://github.com/michelve/software-license-manager/commit/e4d5e7d23e3160879a3c2a3cc67a93c140b1b4f3) -- wp 4.7 [`0a48d4e`](https://github.com/michelve/software-license-manager/commit/0a48d4e61d5f023eb97da5589e5f377d5240e5db) -- contributor list updated [`b48b343`](https://github.com/michelve/software-license-manager/commit/b48b343e757c591b5f183efa42f7a4c5b093ef27) -- escaping a form field value. [`24932ca`](https://github.com/michelve/software-license-manager/commit/24932ca9331bb13d3237f6c66393c44fa031fed0) -- updated readme [`5270497`](https://github.com/michelve/software-license-manager/commit/527049734858ff547f96663b7ba41dddcefa0b82) -- to do list updated [`1ab9992`](https://github.com/michelve/software-license-manager/commit/1ab9992d6619c11318e240877eccb50e58f4d342) -- Initial commit [`27811e4`](https://github.com/michelve/software-license-manager/commit/27811e4c2cb6f458b3fc89b8aee637965e49c538) -- readme file updated [`96d982b`](https://github.com/michelve/software-license-manager/commit/96d982b6a73779f413a4177d44ceb33a1f062a03) -- renamed a folder [`f655ba6`](https://github.com/michelve/software-license-manager/commit/f655ba6eff3347ea3798cb367972add272353b04) -- renamed the main plugin folder [`0f8f5e2`](https://github.com/michelve/software-license-manager/commit/0f8f5e2dc1878f9bf6a25054de1f3b06f307230b) -- renamed the main plugin folder to "license-manager" [`d7024d1`](https://github.com/michelve/software-license-manager/commit/d7024d16d9ecb9bf068e84192e4d070488d39563) +- Integration with newest WooCommerce not working [\#11](https://github.com/michelve/software-license-manager/issues/11) + +## [5.1.5](https://github.com/michelve/software-license-manager/tree/5.1.5) (2019-11-07) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.1.4...5.1.5) + +**Implemented enhancements:** + +- Product type "License product" broken again [\#8](https://github.com/michelve/software-license-manager/issues/8) +- Getting Fatal error when install without WooCpmmerce [\#9](https://github.com/michelve/software-license-manager/issues/9) + +## [5.1.4](https://github.com/michelve/software-license-manager/tree/5.1.4) (2019-09-04) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.1.3...5.1.4) + +**Implemented enhancements:** + +- License does not set itself to expired automatically [\#7](https://github.com/michelve/software-license-manager/issues/7) +- Product type "License product" broken again [\#8](https://github.com/michelve/software-license-manager/issues/8) + +## [5.1.3](https://github.com/michelve/software-license-manager/tree/5.1.3) (2019-08-31) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.1.2...5.1.3) + +**Implemented enhancements:** + +- License does not set itself to expired automatically [\#7](https://github.com/michelve/software-license-manager/issues/7) + +## [5.1.2](https://github.com/michelve/software-license-manager/tree/5.1.2) (2019-08-30) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.1.0...5.1.2) + +**Closed issues:** + +- Licensed Product type not actually Purchasable in WooCommerce [\#5](https://github.com/michelve/software-license-manager/issues/5) + +## [5.1.0](https://github.com/michelve/software-license-manager/tree/5.1.0) (2019-08-28) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.0.5...5.1.0) + +**Closed issues:** + +- Unable to add Product of type "License Manager" [\#4](https://github.com/michelve/software-license-manager/issues/4) + +## [5.0.5](https://github.com/michelve/software-license-manager/tree/5.0.5) (2019-08-24) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/v.5.0.4...5.0.5) + +**Closed issues:** + +- Unable to add Product of type "License Manager" [\#4](https://github.com/michelve/software-license-manager/issues/4) + +## [v.5.0.4](https://github.com/michelve/software-license-manager/tree/v.5.0.4) (2019-07-30) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/v.5.0.3...v.5.0.4) + +## [v.5.0.3](https://github.com/michelve/software-license-manager/tree/v.5.0.3) (2019-07-30) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.0.3...v.5.0.3) + +## [5.0.3](https://github.com/michelve/software-license-manager/tree/5.0.3) (2019-07-27) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.0.2-patched...5.0.3) + +## [5.0.2-patched](https://github.com/michelve/software-license-manager/tree/5.0.2-patched) (2019-07-17) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.0.2...5.0.2-patched) + +## [5.0.2](https://github.com/michelve/software-license-manager/tree/5.0.2) (2019-07-01) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/4.12.1...5.0.2) + +## [4.12.1](https://github.com/michelve/software-license-manager/tree/4.12.1) (2019-06-17) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/4.11.2...4.12.1) + +## [4.11.2](https://github.com/michelve/software-license-manager/tree/4.11.2) (2019-06-12) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/4.10.3...4.11.2) + +## [4.10.3](https://github.com/michelve/software-license-manager/tree/4.10.3) (2019-05-14) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/4.8...4.10.3) + +## [4.8](https://github.com/michelve/software-license-manager/tree/4.8) (2019-04-01) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/4.7...4.8) + +## [4.7](https://github.com/michelve/software-license-manager/tree/4.7) (2019-03-07) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/4.6...4.7) + +## [4.6](https://github.com/michelve/software-license-manager/tree/4.6) (2018-12-31) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/4.06...4.6) + +## [4.06](https://github.com/michelve/software-license-manager/tree/4.06) (2018-12-31) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/4.5...4.06) + +## [4.5](https://github.com/michelve/software-license-manager/tree/4.5) (2018-12-04) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/4.4...4.5) + +## [4.4](https://github.com/michelve/software-license-manager/tree/4.4) (2018-12-02) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/4.3...4.4) + +**Closed issues:** + +- Make Expiry and Renewal dates optional? [\#1](https://github.com/michelve/software-license-manager/issues/1) + +## [4.3](https://github.com/michelve/software-license-manager/tree/4.3) (2018-11-30) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/4.2...4.3) + +## [4.2](https://github.com/michelve/software-license-manager/tree/4.2) (2018-08-08) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/4.1...4.2) + +## [4.1](https://github.com/michelve/software-license-manager/tree/4.1) (2018-07-13) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/3.1.0...4.1) + +## [3.1.0](https://github.com/michelve/software-license-manager/tree/3.1.0) (2017-07-19) + +[Full Changelog](https://github.com/michelve/software-license-manager/compare/27811e4c2cb6f458b3fc89b8aee637965e49c538...3.1.0) + + + +\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)* From 7be4679ee0f3ad8ae51a9e4d8c1ab5f246c22747 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 13:38:28 -0400 Subject: [PATCH 242/293] Update buildblugin.yml --- .github/workflows/buildblugin.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/buildblugin.yml b/.github/workflows/buildblugin.yml index 88f9064..55ad004 100644 --- a/.github/workflows/buildblugin.yml +++ b/.github/workflows/buildblugin.yml @@ -18,12 +18,17 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - # Generate Changelog - - name: Generate Changelog + # Generate Changelog if CHANGELOG.md exists + - name: Check for CHANGELOG.md and Generate Changelog id: changelog run: | - latest_tag=$(git describe --tags --abbrev=0) - changelog=$(git log ${latest_tag}..HEAD --pretty=format:"- %s ([View Commit](https://github.com/${{ github.repository }}/commit/%H))" --no-merges) + if [ -f CHANGELOG.md ]; then + changelog=$(awk '/## Changelog/ {flag=1; next} /##/{flag=0} flag' CHANGELOG.md) + else + # Fallback to generating a changelog based on commit history + latest_tag=$(git describe --tags --abbrev=0) + changelog=$(git log ${latest_tag}..HEAD --pretty=format:"- %s ([View Commit](https://github.com/${{ github.repository }}/commit/%H))" --no-merges) + fi echo "changelog=$changelog" >> $GITHUB_ENV echo "$changelog" From 01b38228321c3e3d822a282fdba64f914a1f59d1 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 13:38:53 -0400 Subject: [PATCH 243/293] Update generate-changelog.yml --- .github/workflows/generate-changelog.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/generate-changelog.yml b/.github/workflows/generate-changelog.yml index 4d0b61e..9e10e0b 100644 --- a/.github/workflows/generate-changelog.yml +++ b/.github/workflows/generate-changelog.yml @@ -28,3 +28,4 @@ jobs: git add CHANGELOG.md git commit -m "Update CHANGELOG.md for new release" git push + From 38cd0676e1eced39dcf4f13b3dce53f1298c7aeb Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 13:39:05 -0400 Subject: [PATCH 244/293] actions --- .github/workflows/buildblugin.yml | 14 +++++++++----- .github/workflows/generate-changelog.yml | 7 +++---- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/.github/workflows/buildblugin.yml b/.github/workflows/buildblugin.yml index bdac4c2..55ad004 100644 --- a/.github/workflows/buildblugin.yml +++ b/.github/workflows/buildblugin.yml @@ -18,12 +18,17 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - # Generate Changelog - - name: Generate Changelog + # Generate Changelog if CHANGELOG.md exists + - name: Check for CHANGELOG.md and Generate Changelog id: changelog run: | - latest_tag=$(git describe --tags --abbrev=0) - changelog=$(git log ${latest_tag}..HEAD --pretty=format:"- %s ([View Commit](https://github.com/${{ github.repository }}/commit/%H))" --no-merges) + if [ -f CHANGELOG.md ]; then + changelog=$(awk '/## Changelog/ {flag=1; next} /##/{flag=0} flag' CHANGELOG.md) + else + # Fallback to generating a changelog based on commit history + latest_tag=$(git describe --tags --abbrev=0) + changelog=$(git log ${latest_tag}..HEAD --pretty=format:"- %s ([View Commit](https://github.com/${{ github.repository }}/commit/%H))" --no-merges) + fi echo "changelog=$changelog" >> $GITHUB_ENV echo "$changelog" @@ -43,4 +48,3 @@ jobs: ${{ env.changelog }} artifacts: "slm-plus.zip" allowUpdates: true - \ No newline at end of file diff --git a/.github/workflows/generate-changelog.yml b/.github/workflows/generate-changelog.yml index b0f1746..4b66fbf 100644 --- a/.github/workflows/generate-changelog.yml +++ b/.github/workflows/generate-changelog.yml @@ -3,9 +3,8 @@ name: Generate Changelog on: push: tags: - - '*' # Match any tag format (e.g., 1.0, 2.1, etc.) - - 'v*' # Match tags with a 'v' prefix (e.g., v1.0, v2.1, etc.) - workflow_dispatch: # Allows manual triggering of the workflow + - '*' # Match any tag format, with or without 'v' + workflow_dispatch: # Allow manual runs jobs: generate-changelog: @@ -27,4 +26,4 @@ jobs: git config user.email "github-actions[bot]@users.noreply.github.com" git add CHANGELOG.md git commit -m "Update CHANGELOG.md for new release" - git push \ No newline at end of file + git push From 524e68a513a869ed84c1569f559ebad5ed438a60 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 1 Nov 2024 17:42:12 +0000 Subject: [PATCH 245/293] Update CHANGELOG.md for new release --- CHANGELOG.md | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2930e28..1063ec4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,11 +15,7 @@ ## [6.1.4](https://github.com/michelve/software-license-manager/tree/6.1.4) (2024-11-01) -[Full Changelog](https://github.com/michelve/software-license-manager/compare/6.1.1...6.1.4) - -## [6.1.1](https://github.com/michelve/software-license-manager/tree/6.1.1) (2024-11-01) - -[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.6.2...6.1.1) +[Full Changelog](https://github.com/michelve/software-license-manager/compare/5.6.2...6.1.4) **Implemented enhancements:** @@ -379,15 +375,15 @@ ## [4.7](https://github.com/michelve/software-license-manager/tree/4.7) (2019-03-07) -[Full Changelog](https://github.com/michelve/software-license-manager/compare/4.6...4.7) +[Full Changelog](https://github.com/michelve/software-license-manager/compare/4.06...4.7) -## [4.6](https://github.com/michelve/software-license-manager/tree/4.6) (2018-12-31) +## [4.06](https://github.com/michelve/software-license-manager/tree/4.06) (2018-12-31) -[Full Changelog](https://github.com/michelve/software-license-manager/compare/4.06...4.6) +[Full Changelog](https://github.com/michelve/software-license-manager/compare/4.6...4.06) -## [4.06](https://github.com/michelve/software-license-manager/tree/4.06) (2018-12-31) +## [4.6](https://github.com/michelve/software-license-manager/tree/4.6) (2018-12-31) -[Full Changelog](https://github.com/michelve/software-license-manager/compare/4.5...4.06) +[Full Changelog](https://github.com/michelve/software-license-manager/compare/4.5...4.6) ## [4.5](https://github.com/michelve/software-license-manager/tree/4.5) (2018-12-04) From 367e8301ce7bfdc124b181756317df7e01daf199 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 15:33:48 -0400 Subject: [PATCH 246/293] my licenses page added my licenses and view license page under my account --- admin/slm-add-licenses.php | 5 +- includes/slm-api-listener.php | 2 + includes/slm-plugin-core.php | 26 +- public/assets/css/slm-front-end.css | 81 +-- slm-plus.php | 4 +- woocommerce/includes/wc_licenses_class.php | 559 ++++++++++----------- 6 files changed, 307 insertions(+), 370 deletions(-) diff --git a/admin/slm-add-licenses.php b/admin/slm-add-licenses.php index afaa414..deb70de 100755 --- a/admin/slm-add-licenses.php +++ b/admin/slm-add-licenses.php @@ -118,9 +118,8 @@ function slm_add_licenses_menu() if (!isset($editing_record)) { $editing_record = new stdClass(); } - - $lic_key_prefix = isset($slm_options['lic_prefix']) ? $slm_options['lic_prefix'] : ''; - $data['license_key'] = slm_get_license($lic_key_prefix); + + $data['license_key'] = slm_get_license(KEY_API_PREFIX); } } diff --git a/includes/slm-api-listener.php b/includes/slm-api-listener.php index 5e495e1..c99680e 100755 --- a/includes/slm-api-listener.php +++ b/includes/slm-api-listener.php @@ -174,6 +174,8 @@ function activation_api_listener() { // Get the license details from the database $retLic = $wpdb->get_row($sql_prep1, OBJECT); + SLM_Helper_Class::write_log('User ID (subscr_id): ' . $sql_prep1); + if (!$retLic) { $args = ['result' => 'error', 'message' => 'Invalid license key, key was not found.', 'error_code' => SLM_Error_Codes::LICENSE_INVALID]; diff --git a/includes/slm-plugin-core.php b/includes/slm-plugin-core.php index 0f0f510..26b80d2 100755 --- a/includes/slm-plugin-core.php +++ b/includes/slm-plugin-core.php @@ -62,20 +62,6 @@ function slmplus_get_license($lic_key_prefix = '') { return strtoupper($lic_key_prefix . hyphenate(md5(uniqid(rand(4, 10), true) . date('Y-m-d H:i:s') . time()))); } -// WooCommerce integration -if (SLM_Helper_Class::slm_get_option('slm_woo') == 1 && is_plugin_active('woocommerce/woocommerce.php')) { - require_once(SLM_WOO . 'includes/wc_licenses_class.php'); - require_once(SLM_WOO . 'includes/slm-meta-boxes.php'); - - require_once SLM_WOO . 'includes/register-template.php'; - require_once SLM_WOO . 'includes/purchase.php'; - require_once SLM_WOO . 'includes/create-license-orders.php'; - - // Build WooCommerce tabs - SLM_Utility::slm_woo_build_tab(); -} - - // Action hooks add_action('init', 'slmplus_init_handler'); add_action('plugins_loaded', 'slmplus_plugins_loaded_handler'); @@ -156,3 +142,15 @@ function wc_log($msg) { file_put_contents($log, $msg . '', FILE_APPEND); } +// WooCommerce integration +if (SLM_Helper_Class::slm_get_option('slm_woo') == 1 && is_plugin_active('woocommerce/woocommerce.php')) { + require_once(SLM_WOO . 'includes/wc_licenses_class.php'); + require_once(SLM_WOO . 'includes/slm-meta-boxes.php'); + + require_once SLM_WOO . 'includes/register-template.php'; + require_once SLM_WOO . 'includes/purchase.php'; + require_once SLM_WOO . 'includes/create-license-orders.php'; + + // Build WooCommerce tabs + SLM_Utility::slm_woo_build_tab(); +} diff --git a/public/assets/css/slm-front-end.css b/public/assets/css/slm-front-end.css index 3f9d4eb..0e26ff1 100644 --- a/public/assets/css/slm-front-end.css +++ b/public/assets/css/slm-front-end.css @@ -1,71 +1,26 @@ -#slm_licenses_table ul.list-unstyled { - padding: 0; - margin: 0; -} -#slm_licenses_table .row-p { - padding: 25px; -} -.slm-status .slm-key-status .key-status { +/* General Badge Styling */ +.slm-status-badge { + padding: 3px 8px; + border-radius: 4px; + color: white; + font-weight: bold; + text-transform: capitalize; display: inline-block; - padding: 4px 10px; - background: #f2f2f2; - color: #ffffff; - border-radius: 24px; -} -.slm-status .slm-key-status .key-status.pending { -background: #72777c; -} -.clear { - clear: both; - float: none; - width: 100%; -} -.slm-shadow { - background: #fff; - margin: 2%; - padding: 2%; - box-shadow: 0px 2px 13px #d4d4d4; - border-radius: 3px; -} -.slm-status .slm-key-status .key-status.blocked { -background: #6649c9; -} -.slm-status .slm-key-status .key-status.active { -background: #00a0d2; -} -.slm-status .slm-key-status .key-status.expired { -background: #f0283e; } -#slm_licenses_table td.hiddenRow { - padding: 0 16px; - margin: 0; +/* Specific Styling for Each Status */ +.slm-status-badge.status-pending { + background-color: #ffc107; /* Amber */ } -#slm_licenses_table tbody tr:nth-child(even) {background: #fbfbfb} -#slm_licenses_table tbody tr:nth-child(odd) {background: #FFF} - -.lic-group-details li span { - font-weight: bold; -} -ul#myLics { - margin: 0; +.slm-status-badge.status-active { + background-color: #007bff; /* Blue */ } -#myLics a { - text-decoration: none; - font-weight: bold; -} -#MyLicDetails { - border: 1px solid #ddd; - padding: 16px; + +.slm-status-badge.status-blocked { + background-color: #dc3545; /* Red */ } -.lic-group-details { - margin-left: 0; + +.slm-status-badge.status-expired { + background-color: #6c757d; /* Gray */ } -.lic-copy-code pre { - white-space: pre-wrap; /* css-3 */ - white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - word-wrap: break-word; /* Internet Explorer 5.5+ */ -} \ No newline at end of file diff --git a/slm-plus.php b/slm-plus.php index 980de82..0d387c6 100644 --- a/slm-plus.php +++ b/slm-plus.php @@ -1,7 +1,7 @@ user_email); + return $items; +} +add_filter('woocommerce_account_menu_items', 'slm_add_my_licenses_endpoint'); + +// Step 3: Display content based on endpoint value +add_action('woocommerce_account_my-licenses_endpoint', function($value) { + + SLM_Helper_Class::write_log('slm_add_my_licenses_endpoint loaded'); + + if ($value === 'view') { + // Use $_GET instead of get_query_var to directly retrieve the URL parameter + $license_id = isset($_GET['slm_lic']) ? $_GET['slm_lic'] : false; + SLM_Helper_Class::write_log('license_id var ' . $license_id); + + if ($license_id) { + SLM_Helper_Class::write_log('license_id call2 ' . $license_id); + slm_license_view($license_id); } - if ($action == 'id') { - $info = esc_html__($current_user->ID); + else { + echo '

    ' . __('Invalid license or access denied.', 'slmplus') . '

    '; + SLM_Helper_Class::write_log('user id ' . get_current_user_id()); } - return $info; + } else { + // Display the licenses table if no specific value is passed + slm_display_license_table(); } +}); + +// Step 4: Display the main licenses table +function slm_display_license_table() { + + SLM_Helper_Class::write_log('slm_display_license_table loaded'); + + $user_id = get_current_user_id(); + $user_email = wp_get_current_user()->user_email; + + global $wpdb; + + $licenses = $wpdb->get_results($wpdb->prepare( + "SELECT DISTINCT license_key, purchase_id_, lic_status FROM " . SLM_TBL_LICENSE_KEYS . " + WHERE email = %s OR subscr_id = %d", + $user_email, $user_id + )); + + if ($licenses) { + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + foreach ($licenses as $license) { + $order_id = $license->purchase_id_; + $license_key = $license->license_key; + $status = $license->lic_status; + $encoded_license = base64_encode($license_key); + $action_link = esc_url(add_query_arg(['my-licenses' => 'view', 'slm_lic' => $encoded_license], site_url('/my-account/my-licenses'))); + + echo ''; + + // Display Order ID or Custom Message + if (!empty($order_id)) { + echo ''; + } else { + echo ''; + } + + echo ''; + + // Display the status with custom badge classes + echo ''; + + echo ''; + echo ''; + } + + - public function add_endpoints() - { - add_rewrite_endpoint(self::$endpoint, EP_ROOT | EP_PAGES); + echo ''; + echo ''; + } else { + echo '

    No licenses found.

    '; } +} + + +SLM_Helper_Class::write_log('file loaded'); + - public function add_query_vars($vars) - { - $vars[] = self::$endpoint; - return $vars; +// Step 5: Display individual license details +function slm_license_view($encoded_license_id) { + global $wpdb; + $user_email = wp_get_current_user()->user_email; + $user_id = get_current_user_id(); + + // Decode the license key and trim any whitespace + $license_id = trim(base64_decode($encoded_license_id)); + + // Log the decoded license key, user email, and user ID + SLM_Helper_Class::write_log('Decoded License Key: ' . $license_id); + SLM_Helper_Class::write_log('User Email: ' . $user_email); + SLM_Helper_Class::write_log('User ID (subscr_id): ' . $user_id); + + // Construct the query based on whether user ID is available + if ($user_id) { + $query = $wpdb->prepare( + "SELECT * FROM " . SLM_TBL_LICENSE_KEYS . " WHERE (email = %s OR subscr_id = %d) AND license_key = %s", + $user_email, $user_id, $license_id + ); + } else { + $query = $wpdb->prepare( + "SELECT * FROM " . SLM_TBL_LICENSE_KEYS . " WHERE email = %s AND license_key = %s", + $user_email, $license_id + ); } - public function endpoint_title($title) - { - global $wp_query; - $is_endpoint = isset($wp_query->query_vars[self::$endpoint]); - if ($is_endpoint && !is_admin() && is_main_query() && in_the_loop() && is_account_page()) { - // New page title. - $title = __('My Licenses', 'slmplus'); - remove_filter('the_title', array($this, 'endpoint_title')); - } - return $title; + // Log the SQL query for debugging + SLM_Helper_Class::write_log('SQL Query: ' . $query); + + // Execute the query + $license = $wpdb->get_row($query); + + // Check if license was found + if (!$license) { + echo '

    ' . __('Invalid license or access denied.', 'slmplus') . '

    '; + SLM_Helper_Class::write_log('error'); + return; } - public function slm_woo_menu_list($items) - { - // Remove the logout menu item. - $logout = $items['customer-logout']; - unset($items['customer-logout']); - // Insert your custom endpoint. - $items[self::$endpoint] = __('My Licenses', 'slmplus'); - // Insert back the logout item. - $items['customer-logout'] = $logout; - return $items; + // Back Button with dynamic URL generation + $back_url = wc_get_account_endpoint_url('my-licenses'); + echo '' . __('Back to My Licenses', 'slmplus') . ''; + + + // Define the fields and labels for dynamic generation + $slm_license_fields = [ + 'license_key' => __('License Key', 'slmplus'), + 'lic_status' => __('Status', 'slmplus'), + 'lic_type' => __('License Type', 'slmplus'), + 'purchase_id_' => __('Order ID', 'slmplus'), + 'date_created' => __('Date Created', 'slmplus'), + 'date_activated' => __('Date Activated', 'slmplus'), + 'date_renewed' => __('Date Renewed', 'slmplus'), + 'date_expiry' => __('Date Expiry', 'slmplus'), + 'product_ref' => __('Product Reference', 'slmplus'), + 'subscr_id' => __('Subscription ID', 'slmplus'), + 'max_allowed_domains' => __('Max Allowed Domains', 'slmplus'), + 'max_allowed_devices' => __('Max Allowed Devices', 'slmplus'), + 'company_name' => __('Company Name', 'slmplus'), + ]; + + // Display license details header + echo '

    ' . __('License Details', 'slmplus') . '

    '; + echo ''; + echo ''; + + // Loop through each field and output its label and value dynamically + foreach ($slm_license_fields as $field_key => $field_label) { + $field_value = isset($license->$field_key) ? esc_html($license->$field_key) : ''; // Retrieve and escape the field value + echo ''; } - public function endpoint_content() - { - global $wpdb, $wp_query; - $slm_options = get_option('slm_plugin_options'); - $allow_domain_removal = $slm_options['allow_user_activation_removal'] == 1 ? true : false; - $class_ = 0; - $class_id_ = 0; - $get_user_info = $get_user_email = ''; - // get user billing email - $wc_billing_email = get_user_meta(get_current_user_id(), 'billing_email', true); - - // if wp billing is empty - if ($wc_billing_email == '') { - $wc_billing_email = get_userdata(get_current_user_id())->user_email; - } - $result = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "lic_key_tbl WHERE email='" . $wc_billing_email . "' ORDER BY `email` DESC LIMIT 0,1000"); - $slm_hide = ''; - - if (empty($result)) { -?> -
    - - - -
    - '; + echo ''; + + + + + + + + + + global $wpdb; + + // Define the license key for querying activations + $license_key = $license->license_key; + + // Fetch all domain and device activations associated with the license key + $domains = $wpdb->get_results($wpdb->prepare( + "SELECT id, 'domain' AS type, registered_domain AS origin FROM " . SLM_TBL_LIC_DOMAIN . " WHERE lic_key = %s", + $license_key + )); + + $devices = $wpdb->get_results($wpdb->prepare( + "SELECT id, 'device' AS type, registered_devices AS origin FROM " . SLM_TBL_LIC_DEVICES . " WHERE lic_key = %s", + $license_key + )); + + // Merge domains and devices into a single array + $activations = array_merge($domains, $devices); + + // Display the "Activations" section header + echo '

    ' . __('Activations', 'slmplus') . '

    '; + + // Check if there are any activations + if (empty($activations)) { + echo '

    ' . __('No activations found.', 'slmplus') . '

    '; + } else { + // Display the table header if activations exist + echo ''; + echo ''; + echo ''; + + // Loop through each activation and display in the table + foreach ($activations as $activation) { + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; } - ?> - -
    > -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - -'; + echo ''; } + - /** - * Plugin install action. - * Flush rewrite rules to make our custom endpoint available. - */ - public static function install() - { - flush_rewrite_rules(); + + + + // Handle the deletion request +if (isset($_POST['delete_activation'])) { + $activation_id = intval($_POST['activation_id']); + $activation_type = sanitize_text_field($_POST['activation_type']); + + // Determine the table based on the activation type + $table = ($activation_type === 'domain') ? SLM_TBL_LIC_DOMAIN : SLM_TBL_LIC_DEVICES; + + // Delete the activation record from the relevant table + $deleted = $wpdb->delete($table, ['id' => $activation_id], ['%d']); + + // Display a confirmation or error message + if ($deleted) { + echo '

    ' . __('Activation successfully deleted. Reload Page.', 'slmplus') . '

    '; + } else { + echo '

    ' . __('Failed to delete activation. Please try again.', 'slmplus') . '

    '; } } -new SLM_Woo_Account(); -// Flush rewrite rules on plugin activation. -register_activation_hook(__FILE__, array('SLM_Woo_Account', 'install')); + + + + + + + + + +} From 66a3c57fe6f0ac536a4298aab3253b56cdbff70e Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 1 Nov 2024 15:42:51 -0400 Subject: [PATCH 247/293] label and classes added better labels for front end within table view --- woocommerce/includes/wc_licenses_class.php | 52 +++++++++++++++++----- 1 file changed, 41 insertions(+), 11 deletions(-) diff --git a/woocommerce/includes/wc_licenses_class.php b/woocommerce/includes/wc_licenses_class.php index 0b6832e..6414b7e 100755 --- a/woocommerce/includes/wc_licenses_class.php +++ b/woocommerce/includes/wc_licenses_class.php @@ -198,7 +198,6 @@ function slm_license_view($encoded_license_id) { $back_url = wc_get_account_endpoint_url('my-licenses'); echo '' . __('Back to My Licenses', 'slmplus') . ''; - // Define the fields and labels for dynamic generation $slm_license_fields = [ 'license_key' => __('License Key', 'slmplus'), @@ -223,18 +222,49 @@ function slm_license_view($encoded_license_id) { // Loop through each field and output its label and value dynamically foreach ($slm_license_fields as $field_key => $field_label) { - $field_value = isset($license->$field_key) ? esc_html($license->$field_key) : ''; // Retrieve and escape the field value - echo '' . $field_label . '' . $field_value . ''; - } - - echo ''; - echo ''; - - + // Check if the field is set and get the value + $field_value = isset($license->$field_key) ? esc_html($license->$field_key) : ''; + + // Special handling for purchase_id_ to link to the order + if ($field_key === 'purchase_id_') { + if (!empty($field_value)) { + // Generate the link to the specific order in the My Account section + $order_link = wc_get_account_endpoint_url('view-order/' . $field_value); + $field_value = '' . esc_html($field_value) . ''; + } else { + $field_value = __('No Order Information Available', 'slmplus'); + } + } + // Special handling for product_ref to link to the product page + if ($field_key === 'product_ref') { + if (!empty($field_value)) { + // Retrieve the product URL and name by product ID + $product_id = $field_value; + $product_url = get_permalink($product_id); + $product_name = get_the_title($product_id); + + if ($product_url && $product_name) { + // Format as "#ID - ProductName" + $field_value = '#' . esc_html($product_id) . ' - ' . esc_html($product_name) . ''; + } else { + $field_value = __('Product Not Found', 'slmplus'); + } + } else { + $field_value = __('No Product Information Available', 'slmplus'); + } + } + // Special handling for date fields with '0000-00-00' as value + if (($field_key === 'date_activated' || $field_key === 'date_renewed') && $field_value === '0000-00-00') { + $field_value = ($field_key === 'date_activated') ? __('Not activated yet', 'slmplus') : __('Not renewed yet', 'slmplus'); + } + echo '' . $field_label . '' . $field_value . ''; + } + echo ''; + echo ''; @@ -304,9 +334,9 @@ function slm_license_view($encoded_license_id) { // Display a confirmation or error message if ($deleted) { - echo '

    ' . __('Activation successfully deleted. Reload Page.', 'slmplus') . '

    '; + echo '

    ' . __('Activation successfully deleted. Reload Page.', 'slmplus') . '

    '; } else { - echo '

    ' . __('Failed to delete activation. Please try again.', 'slmplus') . '

    '; + echo '

    ' . __('Failed to delete activation. Please try again.', 'slmplus') . '

    '; } } From 37d02d7aa7aae8eba48ebf8a3bc2a830752e390c Mon Sep 17 00:00:00 2001 From: Michel Date: Sun, 3 Nov 2024 10:17:15 -0500 Subject: [PATCH 248/293] updated html --- admin/slm-add-licenses.php | 68 ++++++++++++++++++++++++++------------ 1 file changed, 46 insertions(+), 22 deletions(-) diff --git a/admin/slm-add-licenses.php b/admin/slm-add-licenses.php index deb70de..7b51ab7 100755 --- a/admin/slm-add-licenses.php +++ b/admin/slm-add-licenses.php @@ -98,8 +98,8 @@ function slm_add_licenses_menu() 'manual_reset_count' => '', 'purchase_id_' => '', 'date_created' => date_i18n($slm_wp_date_format, strtotime('now')), // Use WP date format - 'date_renewed' => '0000-00-00', - 'date_activated' => '0000-00-00', + 'date_renewed' => '', + 'date_activated' => '', 'product_ref' => '', 'until' => '', 'current_ver' => '', @@ -445,21 +445,29 @@ function slm_add_licenses_menu() - - -

    For example, a length of 2 with a term of years means
    the license renews every two years.','slmplus'); ?>

    - - - - - + - -

    +
    +
    + + +

    + +

    +
    + +
    + + +

    + +

    +
    +
    @@ -468,14 +476,24 @@ function slm_add_licenses_menu() - -

    + + +

    + +

    - -

    + + +

    + +

    @@ -555,8 +573,14 @@ function slm_add_licenses_menu() - -

    + + +

    + +

    From acc2488fe0e094feb2128799434f6c3e624ae7e8 Mon Sep 17 00:00:00 2001 From: Michel Date: Sun, 3 Nov 2024 10:29:36 -0500 Subject: [PATCH 249/293] updated name and default values for wood product creation Fixed: field name spelling Fixed: default values when adding a product --- woocommerce/includes/slm-meta-boxes.php | 56 ++++++++++++------------- 1 file changed, 27 insertions(+), 29 deletions(-) diff --git a/woocommerce/includes/slm-meta-boxes.php b/woocommerce/includes/slm-meta-boxes.php index 3624cca..d2c01f3 100644 --- a/woocommerce/includes/slm-meta-boxes.php +++ b/woocommerce/includes/slm-meta-boxes.php @@ -193,14 +193,13 @@ function wc_slm_data_panel() { // License Renewal Period Length woocommerce_wp_text_input(array( - 'id' => '_license_renewal_period_lenght', + 'id' => '_license_renewal_period_length', 'label' => __('Renewal Period Length', 'slmplus'), - 'description' => __('Amount of days, months, or years.', 'slmplus'), - 'type' => 'text', // Change 'number' to 'text' - 'value' => get_post_meta($product_id, '_license_renewal_period_lenght', true) ?: '1', // Fallback to '1' if empty + 'description' => __('XX Amount of days, months, or years.', 'slmplus'), + 'type' => 'text', + 'value' => get_post_meta($product_id, '_license_renewal_period_length', true) ?: SLM_Helper_Class::slm_get_option('slm_billing_length'), )); - - + // License Renewal Period Term Dropdown woocommerce_wp_select(array( @@ -214,7 +213,7 @@ function wc_slm_data_panel() { 'years' => __('Year(s)', 'slmplus'), 'onetime' => __('One Time', 'slmplus'), ), - 'value' => get_post_meta($product_id, '_license_renewal_period_term', true) ?: 'years', // Ensure default value is set to 'years' if empty + 'value' => get_post_meta($product_id, '_license_renewal_period_term', true) ?: SLM_Helper_Class::slm_get_option('slm_billing_interval'), // Ensure default value is set to 'years' if empty )); echo '

    '; @@ -269,8 +268,8 @@ function wc_slm_save_data($post_id) { // Handle license renewal period - $_license_renewal_period_lenght = isset($_POST['_license_renewal_period_lenght']) ? sanitize_text_field($_POST['_license_renewal_period_lenght']) : ''; - update_post_meta($post_id, '_license_renewal_period_lenght', $_license_renewal_period_lenght); + $_license_renewal_period_length = isset($_POST['_license_renewal_period_length']) ? sanitize_text_field($_POST['_license_renewal_period_length']) : ''; + update_post_meta($post_id, '_license_renewal_period_length', $_license_renewal_period_length); // Handle license renewal period term if (isset($_POST['_license_renewal_period_term'])) { @@ -302,29 +301,28 @@ function slm_license_admin_custom_js() { ?> - -

    + + + + +

    + + + + + + +

    + + + + + + +

    + + + + diff --git a/includes/slm-plugin-core.php b/includes/slm-plugin-core.php index 26b80d2..4e4239d 100755 --- a/includes/slm-plugin-core.php +++ b/includes/slm-plugin-core.php @@ -154,3 +154,45 @@ function wc_log($msg) { // Build WooCommerce tabs SLM_Utility::slm_woo_build_tab(); } + +add_action('wp_ajax_slm_user_search', 'slm_user_search'); +function slm_user_search() { + $value = sanitize_text_field($_POST['value']); + + // Meta query to search for user data + $meta_query = [ + 'relation' => 'OR', + ['key' => 'first_name', 'value' => $value, 'compare' => 'LIKE'], + ['key' => 'last_name', 'value' => $value, 'compare' => 'LIKE'], + ['key' => 'billing_first_name', 'value' => $value, 'compare' => 'LIKE'], + ['key' => 'billing_last_name', 'value' => $value, 'compare' => 'LIKE'], + ]; + + // Arguments to find users + $args = [ + 'meta_query' => $meta_query, + 'number' => 10, + ]; + + $users = get_users($args); + $results = []; + + foreach ($users as $user) { + // Fallback to billing info if WooCommerce is active + $first_name = get_user_meta($user->ID, 'first_name', true) ?: get_user_meta($user->ID, 'billing_first_name', true); + $last_name = get_user_meta($user->ID, 'last_name', true) ?: get_user_meta($user->ID, 'billing_last_name', true); + $company_name = get_user_meta($user->ID, 'company_name', true); // Retrieve company name if available + + $results[] = [ + 'ID' => $user->ID, + 'display_name' => $user->display_name ?: "{$first_name} {$last_name}", + 'first_name' => $first_name, + 'last_name' => $last_name, + 'email' => $user->user_email, + 'company_name' => $company_name, + 'subscr_id' => $user->ID, // Pass user ID as the subscription ID + ]; + } + + wp_send_json_success($results); +} diff --git a/includes/slm-scripts.php b/includes/slm-scripts.php index 63670a9..7d0ec56 100644 --- a/includes/slm-scripts.php +++ b/includes/slm-scripts.php @@ -7,34 +7,7 @@ // Enqueue admin styles and scripts function slm_admin_assets() { - wp_enqueue_style('slmplus-admin', SLM_ASSETS_URL . 'css/slm.css'); - wp_enqueue_script('slm-validate', 'https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.0/jquery.validate.min.js', array('jquery'), '1.19.0', true); - wp_enqueue_script('slm-admin-js', SLM_ASSETS_URL . 'js/slm.js', array('jquery'), '1.0.1', true); -} - -// Enqueue frontend styles and scripts -function slm_frontend_assets() { - if (is_plugin_active('woocommerce/woocommerce.php')) { - if (is_account_page() && SLM_Helper_Class::slm_get_option('slm_front_conflictmode') == 1) { - wp_enqueue_style('bootstrapcdn-slm', 'https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css'); - wp_enqueue_script('bootstrapcdn-slm-js', 'https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js', array('jquery'), '4.1.3', true); - } - } - wp_enqueue_style('slmplus-frontend', SLM_ASSETS_URL . 'css/slm-front-end.css'); -} - -// Hook assets into the appropriate actions -add_action('wp_enqueue_scripts', 'slm_frontend_assets'); -add_action('admin_enqueue_scripts', 'slm_admin_assets'); - -// If WooCommerce is active, add specific actions for handling scripts on certain pages -if (is_plugin_active('woocommerce/woocommerce.php')) { - add_action('template_redirect', 'slm_handle_my_account_page'); - - function slm_handle_my_account_page() { - if (is_page('my-account')) { - // If you need to enqueue additional scripts on the "my-account" page, uncomment the line below - // wp_enqueue_script('slm-js', SLM_ASSETS_URL . 'js/slm-js.js', array('jquery'), '1.0.1', true); - } - } + wp_enqueue_style('slmplus-admin', SLM_ASSETS_URL . 'css/slm.css', array(), time(), 'all'); + wp_enqueue_script('slm-admin-js', SLM_ASSETS_URL . 'js/slm.js', array('jquery'), time(), true); } +add_action('admin_enqueue_scripts', 'slm_admin_assets'); \ No newline at end of file diff --git a/includes/slm-utility.php b/includes/slm-utility.php index 10f4d2b..c4376dd 100755 --- a/includes/slm-utility.php +++ b/includes/slm-utility.php @@ -198,125 +198,186 @@ public static function export_license_to_json($license_id_or_key) return false; // Return false if no data was found } - public static function check_for_expired_lic($lic_key = '') - { + public static function check_for_expired_lic($lic_key = '') { global $wpdb; - + + // Set up email headers and subject line $headers = array('Content-Type: text/html; charset=UTF-8'); - $response = ''; - $sql_query = $wpdb->get_results( - "SELECT * FROM " . SLM_TBL_LICENSE_KEYS . " WHERE date_expiry < NOW() AND date_expiry != '00000000' ORDER BY date_expiry ASC;", - ARRAY_A - ); $subject = get_bloginfo('name') . ' - Your license has expired'; $expiration_reminder_text = SLM_Helper_Class::slm_get_option('expiration_reminder_text'); - - if (count($sql_query) > 0) { - foreach ($sql_query as $expired_licenses) { - // TODO move to template - include SLM_LIB . 'mails/expired.php'; - - $id = intval($expired_licenses['id']); - $license_key = sanitize_text_field($expired_licenses['license_key']); - $first_name = sanitize_text_field($expired_licenses['first_name']); - $last_name = sanitize_text_field($expired_licenses['last_name']); - $email = sanitize_email($expired_licenses['email']); - $date_expiry = sanitize_text_field($expired_licenses['date_expiry']); - - if (SLM_Helper_Class::slm_get_option('enable_auto_key_expiration') == 1) { - $data = array('lic_status' => 'expired'); - $where = array('id' => $id); - $updated = $wpdb->update(SLM_TBL_LICENSE_KEYS, $data, $where); - - self::create_log($license_key, 'set to expired'); - self::slm_check_sent_emails($license_key, $email, $subject, $body, $headers); + $expired_licenses_list = []; + $reinstated_licenses_list = []; + + // Query licenses marked as expired but with future expiration dates to correct their status + $incorrectly_expired_query = $wpdb->prepare( + "SELECT * FROM " . SLM_TBL_LICENSE_KEYS . " WHERE lic_status = %s AND date_expiry > NOW()", + 'expired' + ); + $incorrectly_expired_licenses = $wpdb->get_results($incorrectly_expired_query, ARRAY_A); + + // Reinstate incorrectly expired licenses + foreach ($incorrectly_expired_licenses as $license) { + $license_key = sanitize_text_field($license['license_key']); + $id = intval($license['id']); + + // Update license status to 'active' + $wpdb->update( + SLM_TBL_LICENSE_KEYS, + ['lic_status' => 'active'], + ['id' => $id] + ); + + self::create_log($license_key, 'status corrected to active'); + $reinstated_licenses_list[] = $license_key; + } + + // Log reinstated licenses + if (!empty($reinstated_licenses_list)) { + SLM_Helper_Class::write_log('Reinstated licenses set to active: ' . implode(', ', $reinstated_licenses_list)); + } + + // Query expired licenses + $expired_query = $wpdb->prepare( + "SELECT * FROM " . SLM_TBL_LICENSE_KEYS . " WHERE date_expiry < NOW() AND date_expiry != %s ORDER BY date_expiry ASC;", + '00000000' + ); + $expired_licenses = $wpdb->get_results($expired_query, ARRAY_A); + + // Check if any expired licenses were found + if (empty($expired_licenses)) { + SLM_Helper_Class::write_log('No expired licenses found'); + return []; // Return an empty array if no licenses found + } + + // Process each expired license + foreach ($expired_licenses as $license) { + $id = intval($license['id']); + $license_key = sanitize_text_field($license['license_key']); + // $first_name = sanitize_text_field($license['first_name']); + // $last_name = sanitize_text_field($license['last_name']); + $email = sanitize_email($license['email']); + $date_expiry = sanitize_text_field($license['date_expiry']); + + // Include email template and generate the email body + ob_start(); + include SLM_LIB . 'mails/expired.php'; + $body = ob_get_clean(); + + // Check if auto-expiration is enabled and update the license status + if (SLM_Helper_Class::slm_get_option('enable_auto_key_expiration') == 1) { + $update_data = ['lic_status' => 'expired']; + $where_clause = ['id' => $id]; + $wpdb->update(SLM_TBL_LICENSE_KEYS, $update_data, $where_clause); + + // Log and send expiration notification + self::create_log($license_key, 'set to expired'); + $email_result = self::slm_check_sent_emails($license_key, $email, $subject, $body, $headers); + if ($email_result === '200') { self::create_log($license_key, 'sent expiration email notification'); } - - $response = 'Reminder message was sent to: ' . $license_key; } - } else { - SLM_Helper_Class::write_log('No expired licenses found'); - $response = 'No expired licenses found'; + + // Add license to the expired list + $expired_licenses_list[] = $license_key; } - return $response; + + // Log the total count of expired licenses + SLM_Helper_Class::write_log('Expired licenses found and processed: ' . implode(', ', $expired_licenses_list)); + + return [ + 'expired_licenses' => $expired_licenses_list, + 'reinstated_licenses' => $reinstated_licenses_list + ]; // Return both expired and reinstated licenses } + + // Define return codes for clarity + const EMAIL_SENT_FIRST_TIME = '200'; + const EMAIL_ALREADY_SENT = '400'; + const EMAIL_SENT_RECORD_NOT_FOUND = '300'; - public static function slm_check_sent_emails($license_key, $email, $subject, $body, $headers) - { + public static function slm_check_sent_emails($license_key, $email, $subject, $body, $headers) { global $wpdb; - // Prepare the query to avoid SQL injection + // Check if an email has already been sent for this license key $query = $wpdb->prepare( - 'SELECT * FROM ' . SLM_TBL_EMAILS . ' WHERE lic_key = %s', + 'SELECT COUNT(*) FROM ' . SLM_TBL_EMAILS . ' WHERE lic_key = %s', $license_key ); - $lic_log_results = $wpdb->get_results($query, ARRAY_A); - - if (!empty($lic_log_results)) { - foreach ($lic_log_results as $license) { - if ($license['lic_key'] !== $license_key) { - // Send email if the license key does not match - wp_mail($email, $subject, $body, $headers); - self::create_email_log($license_key, $email, 'success', 'yes', current_time('mysql')); - return '200'; // Reminder was never sent before, first time (record does not exist) - } else { - // Reminder was sent before - return '400'; - } - } - } else { - // Array or results are empty (lic key was not found) - wp_mail($email, $subject, $body, $headers); + $email_already_sent = $wpdb->get_var($query) > 0; + + // If email already sent, return status code without resending + if ($email_already_sent) { + return self::EMAIL_ALREADY_SENT; + } + + // Send the email if it hasn't been sent before + $mail_sent = wp_mail($email, $subject, $body, $headers); + + // Log the email status + if ($mail_sent) { self::create_email_log($license_key, $email, 'success', 'yes', current_time('mysql')); - return '300'; + return self::EMAIL_SENT_FIRST_TIME; + } else { + self::create_email_log($license_key, $email, 'failure', 'no', current_time('mysql')); + return self::EMAIL_SENT_RECORD_NOT_FOUND; } } + - - public static function do_auto_key_expiry() - { + public static function do_auto_key_expiry() { global $wpdb; $current_date = current_time('Y-m-d'); $slm_lic_table = SLM_TBL_LICENSE_KEYS; - - // Load the non-expired keys + + // Query for active (non-expired) licenses $licenses = $wpdb->get_results( $wpdb->prepare("SELECT * FROM $slm_lic_table WHERE lic_status != %s", 'expired'), OBJECT ); - + + // Log and return if no licenses are found if (empty($licenses)) { - SLM_Debug_Logger::log_debug_st("do_auto_key_expiry() - no license keys found."); + SLM_Debug_Logger::log_debug_st("do_auto_key_expiry() - No active license keys found."); return false; } - + + $today_dt = new DateTime($current_date); + foreach ($licenses as $license) { - $key = sanitize_text_field($license->license_key); + $license_key = sanitize_text_field($license->license_key); $expiry_date = sanitize_text_field($license->date_expiry); - - if ($expiry_date === '0000-00-00' || $expiry_date === '00000000' || empty($expiry_date)) { - SLM_Debug_Logger::log_debug_st("This key (" . $key . ") doesn't have a valid expiration date set. The expiration of this key will not be checked."); + + // Skip if expiration date is invalid or empty + if (empty($expiry_date) || in_array($expiry_date, ['0000-00-00', '00000000'])) { + SLM_Debug_Logger::log_debug_st("License key ($license_key) has no valid expiration date set. Skipping expiry check."); continue; } - - $today_dt = new DateTime($current_date); + + // Check if the license has expired $expire_dt = new DateTime($expiry_date); - if ($today_dt > $expire_dt) { - // This key has reached the expiry. So expire this key. - SLM_Debug_Logger::log_debug_st("This key (" . $key . ") has expired. Expiry date: " . $expiry_date . ". Setting license key status to expired."); - $data = array('lic_status' => 'expired'); - $where = array('id' => intval($license->id)); + // Update license status to 'expired' + $data = ['lic_status' => 'expired']; + $where = ['id' => intval($license->id)]; $updated = $wpdb->update($slm_lic_table, $data, $where); - - do_action('slm_license_key_expired', $license->id); - self::check_for_expired_lic($key); + + // Log the expiry and trigger action if successfully updated + if ($updated) { + SLM_Debug_Logger::log_debug_st("License key ($license_key) expired on $expiry_date. Status set to 'expired'."); + do_action('slm_license_key_expired', $license->id); + + // Optional: Send expiry reminder email + self::check_for_expired_lic($license_key); + } else { + SLM_Debug_Logger::log_debug_st("Failed to update status for expired license key ($license_key)."); + } } } + return true; } + public static function get_user_info($by, $value) @@ -330,44 +391,41 @@ public static function get_user_info($by, $value) return $user; } - public static function get_days_remaining($date1) - { + public static function get_days_remaining($date1) { // Validate and sanitize the date input $date1 = sanitize_text_field($date1); - // Convert the future date to timestamp - $future = strtotime($date1); + // Retrieve the date format setting from WordPress settings + $date_format = get_option('date_format'); - // Check if the date is valid - if (!$future) { - return 0; // Return 0 if the date is invalid - } + try { + // Create DateTime objects for future and current dates + $future_date = new DateTime($date1); + $current_date = new DateTime(); - // Get the current timestamp - $now = time(); + // Check if the future date is valid and in the future + if ($future_date < $current_date) { + return __('0 days remaining', 'slmplus'); + } - // Calculate the time difference in seconds - $timeleft = $future - $now; + // Calculate the difference in days + $interval = $current_date->diff($future_date); + $days_remaining = (int) $interval->days; - // Convert time difference to days - $daysleft = floor($timeleft / (60 * 60 * 24)); + // Format and return the result + return sprintf( + __('%s days remaining until %s', 'slmplus'), + $days_remaining, + date_i18n($date_format, $future_date->getTimestamp()) + ); - // Ensure we don't return negative days if the date has passed - if ($daysleft < 0) { - $daysleft = 0; + } catch (Exception $e) { + // Return 0 days remaining if date parsing fails + return __('0 days remaining', 'slmplus'); } - - // Retrieve the date format setting from WordPress settings - $date_format = get_option('date_format'); - - // Return the formatted date remaining with the number of days left - return sprintf( - __('%s days remaining until %s', 'slmplus'), - $daysleft, - date_i18n($date_format, $future) - ); } + /* @@ -391,18 +449,27 @@ public static function delete_license_key_by_row_id($key_row_id) /* * Retrieves the email associated with a license key */ - public static function slm_get_lic_email($license) - { + public static function slm_get_lic_email($license) { global $wpdb; $lic_key_table = SLM_TBL_LICENSE_KEYS; - + // Sanitize the input $license = sanitize_text_field($license); - - // Prepare the query - $email = $wpdb->get_var($wpdb->prepare("SELECT email FROM $lic_key_table WHERE license_key = %s", $license)); - return $email; + + // Prepare and execute the query to fetch the email + $email = $wpdb->get_var( + $wpdb->prepare("SELECT email FROM $lic_key_table WHERE license_key = %s", $license) + ); + + // Check if an email was found and is valid + if ($email && is_email($email)) { + return $email; + } else { + // Return a WP_Error if the email was not found or invalid + return new WP_Error('license_not_found', __('License key not found or invalid email.', 'slmplus')); + } } + /* * Sends an email with the specified parameters @@ -680,45 +747,70 @@ static function create_secret_keys() return hash('sha256', $key); } - static function create_log($license_key, $action) - { + public static function create_log($license_key, $action) { global $wpdb; - $slm_log_table = SLM_TBL_LIC_LOG; - $origin = ''; - - if (array_key_exists('HTTP_ORIGIN', $_SERVER)) { - $origin = $_SERVER['HTTP_ORIGIN']; - } else if (array_key_exists('HTTP_REFERER', $_SERVER)) { - $origin = $_SERVER['HTTP_REFERER']; + $slm_log_table = SLM_TBL_LIC_LOG; + + // Sanitize inputs + $license_key = sanitize_text_field($license_key); + $action = sanitize_text_field($action); + + // Determine the request origin + if (!empty($_SERVER['HTTP_ORIGIN'])) { + $origin = sanitize_text_field($_SERVER['HTTP_ORIGIN']); + } elseif (!empty($_SERVER['HTTP_REFERER'])) { + $origin = sanitize_text_field($_SERVER['HTTP_REFERER']); } else { - $origin = $_SERVER['REMOTE_ADDR']; + $origin = sanitize_text_field($_SERVER['REMOTE_ADDR']); } - + + // Prepare log data $log_data = array( - 'license_key' => $license_key, - 'slm_action' => $action, - 'time' => wp_date("Y/m/d"), - 'source' => $origin + 'license_key' => $license_key, + 'slm_action' => $action, + 'time' => current_time('mysql'), // Standardized date-time format + 'source' => $origin, ); - - $wpdb->insert($slm_log_table, $log_data); + + // Insert log data into the database + $inserted = $wpdb->insert($slm_log_table, $log_data); + + // Check for insertion errors + if ($inserted === false) { + error_log("Failed to insert log for license key: $license_key, action: $action. Error: " . $wpdb->last_error); + } } + - static function create_email_log($lic_key, $sent_to, $status, $sent, $date_sent) - { + public static function create_email_log($lic_key, $sent_to, $status, $sent, $date_sent = null) { global $wpdb; - $slm_email_table = SLM_TBL_EMAILS; + $slm_email_table = SLM_TBL_EMAILS; + // Sanitize inputs + $lic_key = sanitize_text_field($lic_key); + $sent_to = sanitize_email($sent_to); + $status = sanitize_text_field($status); + $sent = sanitize_text_field($sent); + $date_sent = $date_sent ? sanitize_text_field($date_sent) : current_time('mysql'); + + // Prepare log data $log_data = array( - 'lic_key' => $lic_key, - 'sent_to' => $sent_to, - 'status' => $status, - 'sent' => $sent, - 'date_sent' => $date_sent + 'lic_key' => $lic_key, + 'sent_to' => $sent_to, + 'status' => $status, + 'sent' => $sent, + 'date_sent' => $date_sent, ); - $wpdb->insert($slm_email_table, $log_data); - SLM_Helper_Class::write_log('email log created for ' . $lic_key); + // Insert log data into the database + $inserted = $wpdb->insert($slm_email_table, $log_data); + + // Check for insertion success and log accordingly + if ($inserted !== false) { + SLM_Helper_Class::write_log("Email log created for license key: $lic_key"); + } else { + error_log("Failed to create email log for license key: $lic_key. Error: " . $wpdb->last_error); + } } static function slm_wp_dashboards_stats($amount) diff --git a/public/assets/css/slm.css b/public/assets/css/slm.css index 7a37d42..72c65b8 100755 --- a/public/assets/css/slm.css +++ b/public/assets/css/slm.css @@ -551,4 +551,38 @@ display: block !important } .stats .description{ padding: 10px 15px 0px 15px; -} \ No newline at end of file +} +/* Suggestions box styling */ +.user-search-suggestions { + display: none; /* Start hidden */ + position: absolute; + border: 1px solid #ddd; + background: #fff; + z-index: 1000; + max-width: 300px; + width: 100%; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + margin-top: 5px; + padding: 5px 0; +} + + +/* Individual suggestion item */ +.user-search-suggestions .suggestion-item { + padding: 8px 12px; + cursor: pointer; + font-size: 13px; +} + +/* Hover effect for suggestion items */ +.user-search-suggestions .suggestion-item:hover { + background-color: #007cba; /* WP blue */ + color: #fff; +} + +/* Style for no results found */ +.user-search-suggestions .no-results { + padding: 8px 12px; + color: #a0a5aa; + font-style: italic; +} diff --git a/public/assets/js/slm.js b/public/assets/js/slm.js index 2776548..5c99be1 100644 --- a/public/assets/js/slm.js +++ b/public/assets/js/slm.js @@ -17,3 +17,181 @@ function slm_exportlicense(){ download(filename, text); } +jQuery(document).ready(function($) { + $('.user-search-input').on('input', function() { + const field = $(this).attr('id'); + const value = $(this).val(); + const suggestionsBox = $(`.user-search-suggestions[data-field="${field}"]`); + + if (value.length > 1) { // Trigger search on 2+ characters + $.ajax({ + url: ajaxurl, + method: 'POST', + data: { + action: 'slm_user_search', + value: value, + }, + success: function(response) { + suggestionsBox.empty(); // Clear previous suggestions + + if (response.data.length > 0) { + response.data.forEach(user => { + const suggestion = $('
    ') + .addClass('suggestion-item') + .text(`${user.first_name} ${user.last_name} (${user.email})`); + suggestion.data('user', user); + suggestionsBox.append(suggestion); + }); + suggestionsBox.show(); // Show suggestions box if results are found + } else { + suggestionsBox.hide(); // Hide suggestions box if no results + } + + // Handle suggestion click + $('.suggestion-item').on('click', function() { + const user = $(this).data('user'); + $('#user_id').val(user.ID); + $('#first_name').val(user.first_name); + $('#last_name').val(user.last_name); + $('#email').val(user.email); + $('#subscr_id').val(user.subscr_id); // Populate the subscr_id field + + // Populate company_name if available + if (user.company_name) { + $('#company_name').val(user.company_name); + } else { + $('#company_name').val(''); // Clear if no company name is available + } + + suggestionsBox.hide(); // Hide suggestions after selection + }); + }, + }); + } else { + suggestionsBox.hide(); // Hide suggestions if input length < 2 + } + }); + + // Hide suggestions if clicking outside of them + $(document).on('click', function(e) { + if (!$(e.target).closest('.user-search-input, .user-search-suggestions').length) { + $('.user-search-suggestions').hide(); + } + }); +}); + + +jQuery(document).ready(function($) { + let userSelectedDay = null; // Store manually set day of the month + + // Helper to calculate expiry date based on length, interval, and stored day + function calculateExpiryDate() { + // Exit if lifetime is selected + if ($('#lic_type').val() === 'lifetime') return; + + const dateCreated = new Date($('#date_created').val()); + const billingLength = parseInt($('#slm_billing_length').val()) || 0; + const billingInterval = $('#slm_billing_interval').val(); + + // Use user-selected day if it exists, otherwise default to the day in `dateCreated` + const dayToPreserve = userSelectedDay || dateCreated.getDate(); + + // Adjust expiry date based on interval and preserved day + let expiryDate = new Date(dateCreated); + if (billingInterval === 'years') { + expiryDate.setFullYear(dateCreated.getFullYear() + billingLength); + } else if (billingInterval === 'months') { + expiryDate.setMonth(dateCreated.getMonth() + billingLength); + } else if (billingInterval === 'days') { + expiryDate.setDate(dateCreated.getDate() + billingLength); + } + + // Set the day to the preserved day, adjusting for month-end overflow + expiryDate.setDate(Math.min(dayToPreserve, daysInMonth(expiryDate))); + + // Format and set expiry date + $('#date_expiry').val(expiryDate.toISOString().split('T')[0]); + } + + // Helper to calculate the number of days in a given month/year + function daysInMonth(date) { + return new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate(); + } + + // Calculate interval and length based on expiry date + function calculateIntervalAndLengthFromExpiry() { + if ($('#lic_type').val() === 'lifetime') return; // Skip if lifetime + + const dateCreated = new Date($('#date_created').val()); + const dateExpiry = new Date($('#date_expiry').val()); + + if (dateExpiry < dateCreated) { + alert('Expiration date cannot be before the creation date.'); + $('#date_expiry').val($('#date_created').val()); // Reset to creation date + return; + } + + const diffTime = dateExpiry - dateCreated; + const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24)); + const diffMonths = Math.ceil(diffDays / 30); + const diffYears = Math.ceil(diffMonths / 12); + + if (diffYears >= 1) { + $('#slm_billing_interval').val('years'); + $('#slm_billing_length').val(diffYears); + } else if (diffMonths >= 1) { + $('#slm_billing_interval').val('months'); + $('#slm_billing_length').val(diffMonths); + } else { + $('#slm_billing_interval').val('days'); + $('#slm_billing_length').val(diffDays); + } + } + + // Adjust fields based on license type + function adjustFieldsBasedOnType() { + const licType = $('#lic_type').val(); + const isLifetime = licType === 'lifetime'; + + if (isLifetime) { + // Set expiration far in the future for lifetime licenses + const expiryDate = new Date(); + expiryDate.setFullYear(expiryDate.getFullYear() + 200); + $('#date_expiry').val(expiryDate.toISOString().split('T')[0]); + userSelectedDay = null; // Clear any selected day + } + + // Disable or enable fields based on license type + $('#date_expiry, #slm_billing_length, #slm_billing_interval, #date_renewed') + .prop('disabled', isLifetime) + .closest('tr').toggle(!isLifetime); + } + + // Track user-selected day when the expiration date is set manually + $('#date_expiry').on('change', function() { + const selectedDate = new Date($(this).val()); + userSelectedDay = selectedDate.getDate(); // Store selected day (e.g., 15) + calculateIntervalAndLengthFromExpiry(); // Update interval and length if needed + }); + + // Set today's date for date_created if new record and disable the field + const isEditRecord = window.location.search.includes('edit_record') || window.location.search.includes('slm_save_license'); + if (!isEditRecord) { + const today = new Date().toISOString().split('T')[0]; + $('#date_created').val(today).prop('disabled', true); + } + + // Recalculate expiry date when billing length or interval changes + $('#slm_billing_length, #slm_billing_interval').on('change', function() { + if ($('#lic_type').val() !== 'lifetime') { + calculateExpiryDate(); + } + }); + + // Attach change event to license type and initialize on page load + $('#lic_type').on('change', adjustFieldsBasedOnType); + adjustFieldsBasedOnType(); // Initialize + + // Calculate initial expiry date on page load for new records + calculateExpiryDate(); +}); diff --git a/public/assets/js/wplm-custom-admin.js b/public/assets/js/wplm-custom-admin.js index ecce1f0..ad40813 100755 --- a/public/assets/js/wplm-custom-admin.js +++ b/public/assets/js/wplm-custom-admin.js @@ -7,16 +7,4 @@ jQuery(document).ready(function($){ } }); -jQuery(document).ready(function ($) { - if (jQuery("body").hasClass("plugins-php")) { - document.querySelector('[data-slug="software-license-manager"] a').addEventListener('click', function (event) { - event.preventDefault() - var urlRedirect = document.querySelector('[data-slug="software-license-manager"] a').getAttribute('href'); - if (confirm('Are you sure you want to disable this plugin?')) { - window.location.href = urlRedirect; - } else { - console.log('Ohhh, you are so sweet!') - } - }) - } -}); \ No newline at end of file + diff --git a/samples/ActivateLicense.php b/samples/ActivateLicense.php new file mode 100644 index 0000000..ef64a64 --- /dev/null +++ b/samples/ActivateLicense.php @@ -0,0 +1,69 @@ +licenseAPI = new LicenseAPI(); + } + + /** + * Activate a license on a specific domain or device. + * + * @param array $activationData Activation data, including license key, domain, and optionally device. + * @return void Outputs the result based on the activation response. + */ + public function activate($activationData) + { + $response = $this->licenseAPI->activateLicense($activationData); + + // Handle different scenarios based on the API response + if ($response['result'] === 'success') { + echo "License activated successfully for domain: " . $activationData['registered_domain']; + if (!empty($activationData['registered_devices'])) { + echo " and device: " . $activationData['registered_devices']; + } + } elseif (isset($response['error_code'])) { + // Specific error handling based on the API's error code + switch ($response['error_code']) { + case SLM_Error_Codes::LICENSE_EXPIRED: + echo "Error: The license has expired. Please renew your license."; + break; + case SLM_Error_Codes::LICENSE_BLOCKED: + echo "Error: The license is blocked. Contact support for assistance."; + break; + case SLM_Error_Codes::LICENSE_IN_USE: + echo "Error: This license is already in use on the specified domain or device."; + break; + case SLM_Error_Codes::REACHED_MAX_DOMAINS: + echo "Error: Maximum allowed domains reached. Upgrade your license for additional domains."; + break; + case SLM_Error_Codes::REACHED_MAX_DEVICES: + echo "Error: Maximum allowed devices reached. Upgrade your license for additional devices."; + break; + default: + echo "Error: Activation failed. " . ($response['message'] ?? 'Unknown error.'); + break; + } + } else { + // Generic error message for unexpected issues + echo "Error: Unable to activate license. " . ($response['message'] ?? 'Please try again later.'); + } + } +} + +// Usage example +$activateLicense = new ActivateLicense(); + +$activationData = [ + 'license_key' => 'YOUR_LICENSE_KEY', + 'registered_domain' => 'example.com', // Required: Domain for license activation + 'registered_devices' => 'Device12345' // Optional: Device identifier (if applicable) +]; + +$activateLicense->activate($activationData); + diff --git a/samples/CheckLicense.php b/samples/CheckLicense.php new file mode 100644 index 0000000..57426eb --- /dev/null +++ b/samples/CheckLicense.php @@ -0,0 +1,68 @@ +licenseAPI = new LicenseAPI(); + } + + /** + * Check the status of a license. + * + * @param string $licenseKey The license key to check. + * @return void Outputs the result of the license status check. + */ + public function check($licenseKey) + { + $data = [ + 'license_key' => $licenseKey, + ]; + + $response = $this->licenseAPI->checkLicenseStatus($data); + + // Interpret the response based on license status and other indicators + if ($response['result'] === 'success') { + $status = $response['data']['status']; + switch ($status) { + case 'active': + echo "License is active and valid."; + break; + case 'expired': + echo "License has expired. Please renew to continue using the product."; + break; + case 'blocked': + echo "License is blocked. Contact support for further assistance."; + break; + default: + echo "License status: " . ucfirst($status) . "."; + break; + } + } elseif (isset($response['error_code'])) { + // Handle specific error codes for license check failure + switch ($response['error_code']) { + case SLM_Error_Codes::LICENSE_INVALID: + echo "Error: Invalid license key provided."; + break; + default: + echo "Error checking license status: " . ($response['message'] ?? 'Unknown error.'); + break; + } + } else { + // Fallback for unexpected issues + echo "Error: Unable to check license status. " . ($response['message'] ?? 'Please try again later.'); + } + } +} + +// Usage example +$checkLicense = new CheckLicense(); + +// License key to check +$licenseKey = 'YOUR_LICENSE_KEY'; +$checkLicense->check($licenseKey); + diff --git a/samples/CoreConfig.php b/samples/CoreConfig.php new file mode 100644 index 0000000..c87d324 --- /dev/null +++ b/samples/CoreConfig.php @@ -0,0 +1,114 @@ + 'error', + 'message' => 'Invalid response format from the API.', + ]; + } + + // Handle success and error cases + if (isset($response['result']) && $response['result'] === 'success') { + return ['result' => 'success', 'data' => $response]; + } elseif (isset($response['result']) && $response['result'] === 'error') { + self::logError($response['message'] ?? 'Unknown error'); + return ['result' => 'error', 'message' => $response['message'] ?? 'An error occurred.']; + } + + // Fallback for unexpected response structures + return ['result' => 'error', 'message' => 'Unexpected response structure.']; + } + + /** + * Log errors for troubleshooting. + * + * @param string $message The error message to log. + */ + public static function logError($message) + { + error_log("[API ERROR] " . $message); + } + + /** + * Sanitize and validate input fields for security. + * + * @param array $fields Fields to be sanitized. + * @return array Sanitized fields. + */ + public static function sanitizeFields($fields) + { + foreach ($fields as $key => $value) { + switch ($key) { + case 'email': + $fields[$key] = filter_var($value, FILTER_SANITIZE_EMAIL); + break; + case 'max_allowed_domains': + case 'max_allowed_devices': + $fields[$key] = intval($value); + break; + default: + $fields[$key] = htmlspecialchars(strip_tags($value)); + } + } + return $fields; + } + + /** + * Send a secure API request with cURL. + * + * @param string $action API action name. + * @param array $data Data to send in the request. + * @return array Processed API response. + */ + public static function apiRequest($action, $data) + { + $data['secret_key'] = self::SECRET_KEY; + $data = self::sanitizeFields($data); + + $ch = curl_init(self::getApiUrl($action)); + curl_setopt($ch, CURLOPT_POST, true); + curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + + $response = curl_exec($ch); + + if (curl_errno($ch)) { + self::logError('cURL Error: ' . curl_error($ch)); + curl_close($ch); + return [ + 'result' => 'error', + 'message' => 'Network error during API request.', + ]; + } + + curl_close($ch); + + return self::processResponse(json_decode($response, true)); + } +} + diff --git a/samples/CreateLicense.php b/samples/CreateLicense.php new file mode 100644 index 0000000..70e9372 --- /dev/null +++ b/samples/CreateLicense.php @@ -0,0 +1,47 @@ +licenseAPI = new LicenseAPI(); + } + + /** + * Create a new license using provided data. + * + * @param array $licenseData Data for license creation. + * @return void Displays success or error message based on response. + */ + public function create($licenseData) + { + $response = $this->licenseAPI->createLicense($licenseData); + + if ($response['result'] === 'success') { + echo "License created successfully. Key: " . $response['data']['key']; + } else { + echo "Error creating license: " . $response['message']; + } + } +} + +// Usage example +$createLicense = new CreateLicense(); + +$licenseData = [ + 'first_name' => 'John', + 'last_name' => 'Doe', + 'email' => 'johndoe@example.com', + 'purchase_id_' => '12345', + 'max_allowed_domains' => 2, + 'max_allowed_devices' => 1, + 'date_created' => date('Y-m-d'), + 'product_ref' => 'ThemePro' +]; + +$createLicense->create($licenseData); + diff --git a/samples/DeactivateLicense.php b/samples/DeactivateLicense.php new file mode 100644 index 0000000..79a2ff1 --- /dev/null +++ b/samples/DeactivateLicense.php @@ -0,0 +1,61 @@ +licenseAPI = new LicenseAPI(); + } + + /** + * Deactivate a license on a specific domain or device. + * + * @param array $deactivationData Deactivation data, including license key, domain, and/or device. + * @return void Outputs the result based on the deactivation response. + */ + public function deactivate($deactivationData) + { + $response = $this->licenseAPI->deactivateLicense($deactivationData); + + // Handle response scenarios + if ($response['result'] === 'success') { + echo "License deactivated successfully for domain: " . ($deactivationData['registered_domain'] ?? 'N/A'); + if (!empty($deactivationData['registered_devices'])) { + echo " and device: " . $deactivationData['registered_devices']; + } + } elseif (isset($response['error_code'])) { + // Handle specific deactivation error codes + switch ($response['error_code']) { + case SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE: + echo "Error: The license is already inactive on the specified domain or device."; + break; + case SLM_Error_Codes::DOMAIN_MISSING: + echo "Error: The specified domain or device was not found."; + break; + default: + echo "Error: Deactivation failed. " . ($response['message'] ?? 'Unknown error.'); + break; + } + } else { + // Fallback for unexpected issues + echo "Error: Unable to deactivate license. " . ($response['message'] ?? 'Please try again later.'); + } + } +} + +// Usage example +$deactivateLicense = new DeactivateLicense(); + +$deactivationData = [ + 'license_key' => 'YOUR_LICENSE_KEY', + 'registered_domain' => 'example.com', // Optional: Domain to deactivate the license on + 'registered_devices' => 'Device12345' // Optional: Device to deactivate (if applicable) +]; + +// If both domain and device are provided, only one needs to match for deactivation. +$deactivateLicense->deactivate($deactivationData); + diff --git a/samples/GetLicenseInfo.php b/samples/GetLicenseInfo.php new file mode 100644 index 0000000..215d7b7 --- /dev/null +++ b/samples/GetLicenseInfo.php @@ -0,0 +1,83 @@ +licenseAPI = new LicenseAPI(); + } + + /** + * Retrieve and display detailed information about a license. + * + * @param string $licenseKey The license key to retrieve information for. + * @return void Outputs detailed license information based on the response. + */ + public function retrieve($licenseKey) + { + $data = [ + 'license_key' => $licenseKey, + ]; + + $response = $this->licenseAPI->getLicenseInfo($data); + + // Interpret and display license information based on the API response + if ($response['result'] === 'success') { + $info = $response['data']; + + echo "License Information:\n"; + echo "-----------------------\n"; + echo "License Key: " . $info['license_key'] . "\n"; + echo "Status: " . ucfirst($info['status']) . "\n"; + echo "Registered User: " . $info['first_name'] . " " . $info['last_name'] . "\n"; + echo "Email: " . $info['email'] . "\n"; + echo "Company: " . ($info['company_name'] ?? 'N/A') . "\n"; + echo "Product: " . $info['product_ref'] . "\n"; + echo "Created Date: " . $info['date_created'] . "\n"; + echo "Expiry Date: " . ($info['date_expiry'] ?? 'N/A') . "\n"; + echo "Max Domains: " . $info['max_allowed_domains'] . "\n"; + echo "Max Devices: " . $info['max_allowed_devices'] . "\n"; + + if (!empty($info['registered_domains'])) { + echo "Registered Domains:\n"; + foreach ($info['registered_domains'] as $domain) { + echo " - " . $domain->registered_domain . "\n"; + } + } + + if (!empty($info['registered_devices'])) { + echo "Registered Devices:\n"; + foreach ($info['registered_devices'] as $device) { + echo " - " . $device->registered_devices . "\n"; + } + } + echo "-----------------------\n"; + + } elseif (isset($response['error_code'])) { + // Handle specific error codes for information retrieval + switch ($response['error_code']) { + case SLM_Error_Codes::LICENSE_INVALID: + echo "Error: Invalid license key provided."; + break; + default: + echo "Error retrieving license information: " . ($response['message'] ?? 'Unknown error.'); + break; + } + } else { + // Fallback for unexpected issues + echo "Error: Unable to retrieve license information. " . ($response['message'] ?? 'Please try again later.'); + } + } +} + +// Usage example +$getLicenseInfo = new GetLicenseInfo(); + +// License key to retrieve information for +$licenseKey = 'YOUR_LICENSE_KEY'; +$getLicenseInfo->retrieve($licenseKey); + diff --git a/samples/LicenseAPI.php b/samples/LicenseAPI.php new file mode 100644 index 0000000..8cb5cf9 --- /dev/null +++ b/samples/LicenseAPI.php @@ -0,0 +1,73 @@ +' . __('Invalid license or access denied.', 'slmplus') . '

    '; - SLM_Helper_Class::write_log('user id ' . get_current_user_id()); + //SLM_Helper_Class::write_log('user id ' . get_current_user_id()); } } else { // Display the licenses table if no specific value is passed @@ -93,7 +93,7 @@ function slm_add_my_licenses_endpoint($items) { // Step 4: Display the main licenses table function slm_display_license_table() { - SLM_Helper_Class::write_log('slm_display_license_table loaded'); + //SLM_Helper_Class::write_log('slm_display_license_table loaded'); $user_id = get_current_user_id(); $user_email = wp_get_current_user()->user_email; @@ -141,8 +141,6 @@ function slm_display_license_table() { echo ''; } - - echo ''; echo ''; } else { @@ -150,9 +148,7 @@ function slm_display_license_table() { } } - -SLM_Helper_Class::write_log('file loaded'); - +//SLM_Helper_Class::write_log('file loaded'); // Step 5: Display individual license details function slm_license_view($encoded_license_id) { @@ -164,9 +160,9 @@ function slm_license_view($encoded_license_id) { $license_id = trim(base64_decode($encoded_license_id)); // Log the decoded license key, user email, and user ID - SLM_Helper_Class::write_log('Decoded License Key: ' . $license_id); - SLM_Helper_Class::write_log('User Email: ' . $user_email); - SLM_Helper_Class::write_log('User ID (subscr_id): ' . $user_id); + //SLM_Helper_Class::write_log('Decoded License Key: ' . $license_id); + //SLM_Helper_Class::write_log('User Email: ' . $user_email); + //SLM_Helper_Class::write_log('User ID (subscr_id): ' . $user_id); // Construct the query based on whether user ID is available if ($user_id) { @@ -182,7 +178,7 @@ function slm_license_view($encoded_license_id) { } // Log the SQL query for debugging - SLM_Helper_Class::write_log('SQL Query: ' . $query); + //SLM_Helper_Class::write_log('SQL Query: ' . $query); // Execute the query $license = $wpdb->get_row($query); @@ -190,7 +186,7 @@ function slm_license_view($encoded_license_id) { // Check if license was found if (!$license) { echo '

    ' . __('Invalid license or access denied.', 'slmplus') . '

    '; - SLM_Helper_Class::write_log('error'); + //SLM_Helper_Class::write_log('error'); return; } @@ -262,12 +258,10 @@ function slm_license_view($encoded_license_id) { echo '' . $field_label . '' . $field_value . ''; } - echo ''; echo ''; - global $wpdb; // Define the license key for querying activations @@ -316,37 +310,23 @@ function slm_license_view($encoded_license_id) { echo ''; echo ''; } - - - - // Handle the deletion request -if (isset($_POST['delete_activation'])) { - $activation_id = intval($_POST['activation_id']); - $activation_type = sanitize_text_field($_POST['activation_type']); + if (isset($_POST['delete_activation'])) { + $activation_id = intval($_POST['activation_id']); + $activation_type = sanitize_text_field($_POST['activation_type']); - // Determine the table based on the activation type - $table = ($activation_type === 'domain') ? SLM_TBL_LIC_DOMAIN : SLM_TBL_LIC_DEVICES; + // Determine the table based on the activation type + $table = ($activation_type === 'domain') ? SLM_TBL_LIC_DOMAIN : SLM_TBL_LIC_DEVICES; - // Delete the activation record from the relevant table - $deleted = $wpdb->delete($table, ['id' => $activation_id], ['%d']); + // Delete the activation record from the relevant table + $deleted = $wpdb->delete($table, ['id' => $activation_id], ['%d']); - // Display a confirmation or error message - if ($deleted) { - echo '

    ' . __('Activation successfully deleted. Reload Page.', 'slmplus') . '

    '; - } else { - echo '

    ' . __('Failed to delete activation. Please try again.', 'slmplus') . '

    '; + // Display a confirmation or error message + if ($deleted) { + echo '

    ' . __('Activation successfully deleted. Reload Page.', 'slmplus') . '

    '; + } else { + echo '

    ' . __('Failed to delete activation. Please try again.', 'slmplus') . '

    '; + } } } - - - - - - - - - - -} From 1330f9cfb4ef9353e7c1ceed4a0f719621bd2093 Mon Sep 17 00:00:00 2001 From: Michel Date: Wed, 6 Nov 2024 15:03:19 -0500 Subject: [PATCH 255/293] Updates 6.1.7 updated: version fixed: when viewing a license in edit mode values would not display for user information --- admin/slm-add-licenses.php | 13 ++++++++----- slm-plus.php | 8 ++++---- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/admin/slm-add-licenses.php b/admin/slm-add-licenses.php index d28215b..1a5dcd2 100755 --- a/admin/slm-add-licenses.php +++ b/admin/slm-add-licenses.php @@ -390,33 +390,36 @@ function slm_add_licenses_menu() - +
    - +
    - +
    - + + +
    - + +

    diff --git a/slm-plus.php b/slm-plus.php index ec16c90..f0a8816 100644 --- a/slm-plus.php +++ b/slm-plus.php @@ -1,7 +1,7 @@ Date: Wed, 6 Nov 2024 15:34:17 -0500 Subject: [PATCH 256/293] new images, and fixed typo --- public/assets/images/Screen-Shot-0.png | Bin 254689 -> 0 bytes public/assets/images/Screen-Shot-1.png | Bin 278452 -> 0 bytes public/assets/images/Screen-Shot-2.png | Bin 362349 -> 0 bytes public/assets/images/Screen-Shot-3.png | Bin 360249 -> 0 bytes public/assets/images/Screen-Shot-4.png | Bin 357456 -> 0 bytes public/assets/images/Screen-Shot-5.png | Bin 193478 -> 0 bytes public/assets/images/Screen-Shot-6.png | Bin 112783 -> 0 bytes public/assets/images/Screen-Shot-7.png | Bin 113695 -> 0 bytes public/assets/images/bg.png | Bin 600 -> 0 bytes public/assets/images/previews/1.png | Bin 0 -> 192325 bytes public/assets/images/previews/10.png | Bin 0 -> 338277 bytes public/assets/images/previews/11.png | Bin 0 -> 133721 bytes public/assets/images/previews/12.png | Bin 0 -> 168617 bytes public/assets/images/previews/13.png | Bin 0 -> 132464 bytes public/assets/images/previews/14.png | Bin 0 -> 167241 bytes public/assets/images/previews/2.png | Bin 0 -> 170234 bytes public/assets/images/previews/3.png | Bin 0 -> 181186 bytes public/assets/images/previews/4.png | Bin 0 -> 153294 bytes public/assets/images/previews/5.png | Bin 0 -> 265203 bytes public/assets/images/previews/6.png | Bin 0 -> 157448 bytes public/assets/images/previews/7.png | Bin 0 -> 227682 bytes public/assets/images/previews/8.png | Bin 0 -> 117484 bytes public/assets/images/previews/9.png | Bin 0 -> 401109 bytes .../assets/images/previews/activity-log.png | Bin 518618 -> 0 bytes public/assets/images/previews/add-key.png | Bin 386837 -> 0 bytes public/assets/images/previews/dashboard.png | Bin 485825 -> 0 bytes public/assets/images/previews/export.png | Bin 423718 -> 0 bytes .../previews/my-account-lics-opened.png | Bin 90837 -> 0 bytes .../images/previews/my-account-lics.png | Bin 351324 -> 0 bytes .../images/previews/overview-filters.png | Bin 430396 -> 0 bytes public/assets/images/previews/overview.png | Bin 548150 -> 0 bytes .../assets/images/previews/screen options.png | Bin 540852 -> 0 bytes .../images/previews/subscribers-results.png | Bin 358844 -> 0 bytes public/assets/images/previews/subscribers.png | Bin 328927 -> 0 bytes public/assets/images/slm_logo.png | Bin 8815 -> 0 bytes public/assets/images/slm_logo_small.png | Bin 1020 -> 0 bytes .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 180 -> 0 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 178 -> 0 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 120 -> 0 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 105 -> 0 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 111 -> 0 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 110 -> 0 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 119 -> 0 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 101 -> 0 bytes .../assets/images/ui-icons_222222_256x240.png | Bin 4369 -> 0 bytes .../assets/images/ui-icons_2e83ff_256x240.png | Bin 4369 -> 0 bytes .../assets/images/ui-icons_444444_256x240.png | Bin 6992 -> 0 bytes .../assets/images/ui-icons_454545_256x240.png | Bin 4369 -> 0 bytes .../assets/images/ui-icons_555555_256x240.png | Bin 6988 -> 0 bytes .../assets/images/ui-icons_777620_256x240.png | Bin 4549 -> 0 bytes .../assets/images/ui-icons_777777_256x240.png | Bin 6999 -> 0 bytes .../assets/images/ui-icons_888888_256x240.png | Bin 4369 -> 0 bytes .../assets/images/ui-icons_cc0000_256x240.png | Bin 4549 -> 0 bytes .../assets/images/ui-icons_cd0a0a_256x240.png | Bin 4369 -> 0 bytes .../assets/images/ui-icons_ffffff_256x240.png | Bin 6299 -> 0 bytes woocommerce/includes/purchase.php | 28 +++++++++--------- 56 files changed, 14 insertions(+), 14 deletions(-) delete mode 100755 public/assets/images/Screen-Shot-0.png delete mode 100755 public/assets/images/Screen-Shot-1.png delete mode 100755 public/assets/images/Screen-Shot-2.png delete mode 100755 public/assets/images/Screen-Shot-3.png delete mode 100755 public/assets/images/Screen-Shot-4.png delete mode 100755 public/assets/images/Screen-Shot-5.png delete mode 100644 public/assets/images/Screen-Shot-6.png delete mode 100644 public/assets/images/Screen-Shot-7.png delete mode 100755 public/assets/images/bg.png create mode 100644 public/assets/images/previews/1.png create mode 100644 public/assets/images/previews/10.png create mode 100644 public/assets/images/previews/11.png create mode 100644 public/assets/images/previews/12.png create mode 100644 public/assets/images/previews/13.png create mode 100644 public/assets/images/previews/14.png create mode 100644 public/assets/images/previews/2.png create mode 100644 public/assets/images/previews/3.png create mode 100644 public/assets/images/previews/4.png create mode 100644 public/assets/images/previews/5.png create mode 100644 public/assets/images/previews/6.png create mode 100644 public/assets/images/previews/7.png create mode 100644 public/assets/images/previews/8.png create mode 100644 public/assets/images/previews/9.png delete mode 100644 public/assets/images/previews/activity-log.png delete mode 100644 public/assets/images/previews/add-key.png delete mode 100644 public/assets/images/previews/dashboard.png delete mode 100644 public/assets/images/previews/export.png delete mode 100644 public/assets/images/previews/my-account-lics-opened.png delete mode 100644 public/assets/images/previews/my-account-lics.png delete mode 100644 public/assets/images/previews/overview-filters.png delete mode 100644 public/assets/images/previews/overview.png delete mode 100644 public/assets/images/previews/screen options.png delete mode 100644 public/assets/images/previews/subscribers-results.png delete mode 100644 public/assets/images/previews/subscribers.png delete mode 100755 public/assets/images/slm_logo.png delete mode 100755 public/assets/images/slm_logo_small.png delete mode 100755 public/assets/images/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100755 public/assets/images/ui-bg_flat_75_ffffff_40x100.png delete mode 100755 public/assets/images/ui-bg_glass_55_fbf9ee_1x400.png delete mode 100755 public/assets/images/ui-bg_glass_65_ffffff_1x400.png delete mode 100755 public/assets/images/ui-bg_glass_75_dadada_1x400.png delete mode 100755 public/assets/images/ui-bg_glass_75_e6e6e6_1x400.png delete mode 100755 public/assets/images/ui-bg_glass_95_fef1ec_1x400.png delete mode 100755 public/assets/images/ui-bg_highlight-soft_75_cccccc_1x100.png delete mode 100755 public/assets/images/ui-icons_222222_256x240.png delete mode 100755 public/assets/images/ui-icons_2e83ff_256x240.png delete mode 100644 public/assets/images/ui-icons_444444_256x240.png delete mode 100755 public/assets/images/ui-icons_454545_256x240.png delete mode 100644 public/assets/images/ui-icons_555555_256x240.png delete mode 100644 public/assets/images/ui-icons_777620_256x240.png delete mode 100644 public/assets/images/ui-icons_777777_256x240.png delete mode 100755 public/assets/images/ui-icons_888888_256x240.png delete mode 100644 public/assets/images/ui-icons_cc0000_256x240.png delete mode 100755 public/assets/images/ui-icons_cd0a0a_256x240.png delete mode 100644 public/assets/images/ui-icons_ffffff_256x240.png diff --git a/public/assets/images/Screen-Shot-0.png b/public/assets/images/Screen-Shot-0.png deleted file mode 100755 index 31e36e2d6b6b30ea78c8a57b3169ddbcd46896e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254689 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

    qK@%Gjg~i5_Sz9y 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


    $C27N6m(f1mqDJouN?z0W;V{d4GzQ|N=|XN%`~ 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�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 diff --git a/public/assets/images/Screen-Shot-1.png b/public/assets/images/Screen-Shot-1.png deleted file mode 100755 index 8983e802307493cbd871d84cb101b3ff154bb554..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278452 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%0DA`e1vB@K?)M@oyT!Y%>!O3h3j^z(Lnlp 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 Uy210gH*BylvpHLF`ueT^12;5!RR910 diff --git a/public/assets/images/Screen-Shot-2.png b/public/assets/images/Screen-Shot-2.png deleted file mode 100755 index 34ec35798f9786d4c594eafcaf976e530b2f3a22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 362349 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⪚17JH-M)AHaK!mqft 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

    0=ijCJ)@ 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 diff --git a/public/assets/images/Screen-Shot-3.png b/public/assets/images/Screen-Shot-3.png deleted file mode 100755 index 0bbab41fa02dc3401208dc24549021bac986bdae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 360249 zcmeFZWmFtt(gvCkoZuD+9talP9RdUk?(Ps|fB=JQa3=}w7JSfQa7l0tE`tVVaCf+q z-S6AobMALGIrsOS(?6Q-eyysy-m2%RCPGC?1{0kW{mGLjm~ygGYEPb^6hC=_D2|E@ zzoO27Ir!wsQy&{iNfkLsNh%d*M=Kk9%O_75KAW4EFv-1P=rc7nG3gs-W<+;(R|^l1 zRx@eu>=^For0O#1rpih&Fj#qkv(g!W@6+7Vftts*`)Nr2^v-jlu+Ha!h_^D;S&L4v z;XLrEyS(j3&S%eFp~PoqsAXheSZqC+6YNKlrW3z-PNiSpQt+fp^r=M@!BcWni{+=) z6V!XyRBm`F!(9kk_;~BjEfk*2A;{rCki#>vO!Wh1`$-}g#UUtttl=*^0wy}8zb|yC z&3q1MmP2k7_{J_Ip4v)Epli({^R3g>-OVgdsN`Xv$Z{OtS7YYHY?F~c-U|~WZP)yxaugr7c_SS zu$o#pnpv`X0G!}@dh$frLlAxnuyi%0@&MR7xCnZP(EQ^GLHPOa%WO1M|9HgJPJ~8B zQH4s<(b88sLi54Z)k%){y9%e51W6F3`h%pQgfWznAbIOZun0{&5v9Fi~`2wtop< z6dkszf&1i%_!BuP2@Q{@dzmOEgwhYa?PzFdbU0KA;sF7<3i#4eh`0n8k%YS?+h|Nn zj9Tj&4=^;CXI~~c_V*tpIW(v!43XnevJ9aCvH?%1snMuI&ep}+eI36H*Hmt_j^4%A zJ6idjreDl05+C@wTRla_qk8)PAODs>F(ZNm&(slRgCXbrvuq!wOhnm$KOHO4uT=bc zhPP>z!p%zUt}NElFctpX>L1-M;OA5UI=AB9{CN1h<>10NDuqBR{uhT60@@ul(wd90f~Mu~|3buYH8??W`ElQ#L~M6D z9u);q>8qQUm$==FGTQ&qB>wrpN;JKS`X^__x|i|z&P-8Y9u7#_2ledmG<*Ha?LglIhrG`e@9*(l}fUHHZjw=-IaWh|fK85EsNT z8F1E)i!l9RT4CQK4k`uBEy(}<0{jXLVTUEB3yl)X%Hnl&W?iF}~+pq-Q7?eYG^=>;;H2y0Y zQU#VGBCt$*&1doX1)h`$n#+u&L-t|UmO>W6fv9F;y9D44 z)P47N-K*3h-r?GaOacGd2}8s0PGSp+c=usf_Cl(8Ho%*Y+PyQJ+7A_b2;+vSd>d^U z&y{_z$BBI9{_X|bLqk*xKA%i#cGk9Za}!F>G6W8~`r7SPh?F_jozTC1abAb5{7^Bl zzqbTM%*w13Y9?tYYqH9Q724J8!(t=O|H?P6Xwa#Ar77bBG@l%IJ8aome|1?IsQ4LI z(&?)7dhW3UC?jN%&zApDb1|R`qa$1ZyxJ=&Nl;0udvCTNWNISh9-KN*WPTm#11>P z)X9+x8N28U?t`)~tpC>eouGLzk2amu);8Db4hnCC#834mDo%h;XDp{@iH+?H>#x%Y zRD5mbGb;^Kr#4yHEN@V?Yy`mVvBUBI-v(TT4> zlA*n=vdX%OK_5l5qBijEz|4q4o#$6#2|*2VQ&{o-`x&+BNuC+LBF)dZEp?6XX&#t0 z`z>78M*o#)Wjovv4!ZQ+L5*eB+ME5aH=Gkn^L5CjVGOQ?(p8Y@OPXJ19c;eMp4a^l|4Xu#ogYXR=U6;6QDdpYt?mqq0yzc9x#9L6no8z<1Ye)f9$Lo z1PI=j2fkZPyA|HL5tF*MPiji_q9!>hYGwDB0Owy@5Nq2zSFc^DW^G zfzPd~XAPSx?#kWz(*c_;0xZ5ZVu0kvkg~*ydbJE9;pczrbeW!xaZAr@tYK(}eaO_i zOrW-7(I^5g?U}Q{N8aD<)AVbq(e~n3Te{KRo!flIsNyZeuI;DQ+}zUmeq7Ko*3!Xr ze-g3;;VSz4ce)QiRH8;u0&u;@l*5?h6s$!qov>==*;h33p-q{0(b*GgJ+G|<)F7+n z@bc_(?%1yUbF3mdNTH=e?#YNva=z))zZNbHVg}Tzm^7BC7(`ketuepw4P@!&SuMw2 zzg0E4Vx5C%>yHco?Xp%5(()D|eV%&lf`NvG<-i*9w*sVfV#0T_O{cbv*2_uyr3X~e z<^?3{pnyu62JD*os_R%BVPsqQsDaS=z}aive^_oWCrKu6uiMVrYo%v@y^v3cQitFP z;bC48dw1TlxU!a6pb)fIa}ShVb`yGXP{SU8wDf!umVb(uKEe4$o7W|EPG;}#7g35o zDp(Y2+43dHBzD-w(5j9k@%_2$66-W@e*nSi>&CAKM1SO+iVD_=>S)!X)(DX3!_a4- zB4SNV4GtxxV+}hzX26j}X!SaOYhhtQm2RQ`M*}P(e(G2^;>^Qx%+t%ME|fkyEODCx zSSq|P!SF}2bwp--21YI$&fqHoiU3Yu6H%V#&YSGf2Y&j5U_V!blx*OPmd3YL)_UL7 z52JM=3!I$PxVu`5+n%py`_b7M$6OTnCwpAMmgrF0<&GLvJ79GTE%5EOQkvf|oa>^f z!U=a*X?_{~ew?(N*JX(n1UN8boCrHBnrMmzJ|EH!>Ug-n9ji8%iJX`+>1Co_!F=j@ zBzaK1zHZ^Tup{}WE!oKmugW%avt?SWH6|qfqONfNq{7||TlPpMhgZ3vDTt%qGh+Oe^~^rR`o5U zP^Dd+`GxLHPCLDmDYS9_y0<{Mqy@pJ)wTT{!)}>w#Pf*}!w1DgFSJVKS2_ZpeOPSb z`SIgNDG|F2T)!#^&T-vcUE&7faN&Mm_KC4-cBjsBFhu0BGn-`mDJwbhsq%AD z6{e-Oaa2ugrU--%OF}nYmDvV4Ey>}X)V&~TY$P`8#C;#4#=2*YVSlD4)?dHMOzMrqRjOLFqhTSsByA3t)ueft)NK!fFaY^GxP zrl<%@IzEZY&*~$TJxz3PpiXgN$i{GZq;Rm5JiGXtC#OfViS-O`#IQ|CCBUi~qC41q zaC#S=I3b@AE0Pk8ET4c`s;yn8HpoxQ!pn&NRNqGgSyuqmwZmIi&rIEj_Gx!owN_=n zL~`8hE9Y_G$vJ_=1~_~I4d^eKzo}ZB-=o3I(Dl!@l*gD-vPw#!<=YnU>GFR>T+fL#vJEhDQT>s(^8M9OB*pP==f*B~HYUma_E3Kr#UGEU5q|99YT4Dh7l^KVX@} z_v`$HFrk%&MUGLc*N5@0>d1w!V*k*!B>eqtyj-UMH$S@VL%+3gA)MkwE`|>d4pPrY zx$n)6LHwHq!G99c&bu7DnTo5GAZ(>N)2PVeIwg0nqT&!daNIf_00K97&Jz0XBby8# zeZ16JvznA$4Cld>2z7v06w#a?noa6S1%(&)(M)O0Wo189#tQ+wb`T?tCeQ+jZb{S>9soozft)pG-c z-DI^YE5w}@Ag=Sl!lyq|_YDsqz-03L0@}&tYra&U%96VRw$^Uvl|Sb3c!~@%!4%VZ z=g_;tuqi|D#>zDn+N5k>Ta?(DZjEHV6T^HdXhf&NB~q>Vhx8QnO(40Dn+X(bvprdY z-*$JR;Ciq?f-QXX#K>!hj*Q>wiT}++HoNU4!`@;u@nP#Fg^~9@kNFd^`!jqa&ke%$ ztu6EI(Oi$c>RucQ3Wo%cQ7h?MZ=8&k)$515EwQy}eMg?XRUw;k+H!+NJOC8T0Xy3s z>&!-L92cr{vY8Ukq$wQxHYYPbTuqS-&h@QRG}CsgjWf1UU3x}R&R!0fPi(H0OKmjR z0>0Vb1((eVB41t?ETW=gyJTT)3E+NidRv?XhH3aDRQASa2CN9ykvq`5)&{S=7ecb? zl)3goZ{OUP0@x^rz79h?y~=Pq#x?eT>*fYgZPhH(df?6vWqeE|3FBT*B#Yrv;RGg@9kyJ*)Y$Tok`C@b>bJ=yWP)Y zFGOzK7W|smJWP9>85l_!WIKwN?#F!fS_an5yzJjB#q!AubL$5r6j-b$@h`4t7>bZa zeL-h}(XsgwYa8>EDtyH_+65nMFW)|s$*!6N760;I?WOeZlEfC#_(pxbM(xk-8hpgArZ#l$XdRe(&AsHyhb zv@hr~jNmYT_bb-!)~vt54oAooSN=!y>KZ7$3V1fx1AgiH?8n<-M1ukaw|s@egDXSg zG8c$hxBcFbn-7Wgz3{U|N3ysBWzpDNQ0ExnOsjlZko5DaBdBa1Rs4i%*$MohLQq)zO6dKk-V<*aDwC?fJ1xS)K3w2ghw`J1Px%8EC3 zSnNJ5wKN_FCrwdow}elIgoN}Bi^NclqH+^J;33d|!Hb>raN@OXM9(MH_F(cY zJkgbfSpTFj=a_qZxD*q^6#6 zE5V5D8`*+u^WwsaQppPTin}cbs<$4IzS+jj7Yu9+uCX0+fcVG__D=;7~P+ujQ^bMsc) zw^BRf&b=^I+=8H>Pl;qKUzuf;bV>c#i~=!{xT>iR<;dR5*@JbBEd8Ao_-ws*yh3fL zD?FUFHX?Ua>YNt|YTQ`6F?vc@#ys3r5u&?W=onM-gWGu+W52Z`^$#ZE@T2UEc*)sn z9yUjPc@NsQFn0~gyN$tP!Q&bZnf3p{mRdHnwaLMZ_|> zkE21o)YIGh((L?Tv6)%x{UE;jNw3VOav!5Alc!4_YnYO<(`BX7D@!$&7+BVDRID04T>zPIxChkLa@d#X%3nGE33A@ewJYB#_#P}|wLCYL9gOaPDA$Rqb-cw7AE zUo)Q+idMCAQJV&}qvhy^{LE%NGm~aDahCD%GEP2--#GJqa7k6tHzx^(M@EK5_HAV2 zNi(_d@P3`abb9;8wzRLt+2(uZpsVo8A{B}$N`Xds9ks&{Ug+nUZh1W{xiZ=D)mLp< zKSE+gBqg#)vum@)12F-5XEt)XeqAy?WiKtxUBj@*;qjUBemH|6bKf!R!d;F19%F3p zz}?Ry%aN!n8f%)QWS?k}7(SYU7CLB{LAiyUCwATKAe%Dq<}U1Tt#r=(IC{yexxtyX zX3^b#`DJzce4?$i6JK5- zSgdG$HsdA~+8pZky?vUYM2wb+5;qqxjwTLXz^ry=iZL-%Gfy4re0gr zwc7o9nd74Y0=mH@PuxT{IK1n`!3sBku8#;FO5MI$XJnj9ll)X(oOJn4_G-}h;nVr< z%o?n$k{7c3uqF1WTYaMkInZhIX*}*_pru7@cH8HKJi)~^K(x0}-V@x`oEKy}Ce$`C z6^^0H1BXuvCeecnhScN5GT<>%@WR(ks?!9Pj){r$eB#aVj>4CG4)&-ICt*o{O7E43 z5%e-H+*)dE^@vJ$sDv^c78+Eo0mP-!Qc~hw2j3KuNpFHa;G77m-TT2J2ioYQr0{u0 zXCyE4c2iG(d)Luw9sog_=#by*+QWW%%kImjEZZwi+1g4t*e1J_ESb$t?oDc)cv91L z9}iF1fY`5@Gu8V661M3p&Rg-(45)MhbFy}nD97gn^68k}zlO3^x3=9T9bV)n*_B?9 z30CBn;uS^3Zmu|ivT%%*f2XHazdi`##Xf|3jc1`Qmdd^2XWS^c@Jh_YJO(K-Ffnmv z!CtVN1oXma`XW@^syrzDSQY}##_w%I&KxEkXiu5cEMYtNQ}VK&FPznXILX|r+V*`9 z72hxUsCzu0GdOiMb0>rAu4w%HWqgRj?zSG1&dG&uN06}zv=hrgf0sV@7Gzs@wtuHQws!`jWRAT?L5_F_9mN&4i8YJ`k9Vv$OMLj1k6;wZ z{C!6|+_=m8r0|6B&A$GHz*OwmXRKc2A4^NJ_aWz6hlPH=tLVb*uGkc!+Ps@>2;|jI zgD4)6FDpnxm>*nGSV`*%J0DzyyyTOSY1IWK2fO?4!c}Y!Wlfn@L2uPtR*Ny5UwWYI*?E zpXWN+P|Q6$`ot9+|L~?;nVu#JU^j@w#NOLwcs$gwBMdQ?^#&6E&;Q zbd?n2PsM@wN52+3K>5}t?rqRj{fH7upN#fNbI~!$eCGE~gvrf2nSl zp6R=@-Sa z6&(D-?DL&st_A(;=bB|1Q?~^&=LFPqqLb>I^@pU9thV|)Z9xuQ)2Bu~H_9>sOK1T7 zZ#n=BKU~&5gSkyz;<#WhyzjpZS9L~=?DafY%9bj<9@O7>JxaW9sutR$OGO{{ot>QO zZWJnfd1!?bID0yVWcY5VWC3Amt`CXWz~t^Y9>h-@p5t@9kt_+hNCLH4&ST;xTb4QK zlG|ggrhi>qI5Z#(&&Hy$4+|-=8zr&Oge>71%(p~r*f1G?T8KKCOj=0aq%!|1=CxVW zIJ6P?ez2KeO{8EX=-_A4odc%h@i;HtgIV? zL&PFegvMp<5MA@dq$!7CJF&_&ICiG$cbWaU$qxjr;HQv6;&du;gQk7GAA|^Z-um!ys4FT(as|IU;5i!vi}Q9L~$pT{s%;% zucf4|ok4Ugx75hY7sn@oF$|KNH`Q2|)XA>&m_q-t`AN#Y{QRYSfA%7vFYnNf#=KU^O+aNC$`b{W5#G@rCECCcER@N0;Zx^B6E~hA{5*&o)W4y66LtuDp@Z*Yk6N?g!6xpRyhn@J4Oc;2A8{vYeg* z%kY~04CX9Ge(S+L_LE|VZbxA$`_H_&o+ISn~6= z(EIf-#}w-gkChY)MGn%$muZPC6L|)WgQj*=@=WXAdT6(lYDv75xG2>+IT}SdM1Fn$ zY|zb$G4KR6>HhY0S8S$rc(1sS!2<)k<+y!xi{4Vu0>vvC)~cy~eRFd) z^rZv)fVA+zytar*&ZqLKq|pL7{8vj=ra{$sUT_4kZ)Bur&N>?~J4~r&-1ABl9(i`z z=r-CDMeQ$1w0;<)SzDa&(s!JL>W}Mzc`tvlviJ_RmMrIkd@ZHx?{WwG`bG;$qc-A7 z%jN6Stz&=#p?|2oSV6@9Fk3}EvJ|9<4u`O?-_w9iqu18CfWLf?wy47DCp1yG|Z#4&O3Jg<)~ARL2Nk z`n~ZoVl2!9myX^jWZ!DQ2Sd-0o)*X02ywynWZD~}b}^_kdYX}tbuw}BaFo(B2e zG4m5zc15qsRLJdd@tmt2LY<4d<@W1-Cxf%2q8BAMG3xq0_2Dnkg>R@2zJQwYk{dJ+a9d9jos>jktMoVC zSM#IHN=+^pAPmx>4_bo>rafQZfq06qgyUJ`wd#qHs6I^WvmvOgar$-T~2&%McEQ4r2Lln)3oNfi*yL+kA7(zUA> z(%lfMQD=5`c8uzN#eEH5|FI_({_7$7EAUT7!%c58B{b}rnkK+zg9hE~)4T^K?Fcqy z2~_CSB0F!681fwU_v$%}%zuO9!ghM|;Kdu)fW`%b!ih~CaEBF)yjH9!?Zv((THo|i zjhE|aj)W$L&rrl@rdC?aCN(Cr?EtzRi<$O|X9*0d%&8a&PYjJCtm#=3il-V&wd*#j z>tqnAGBq0ot9;@^MP}r416_k!mVjc)3YgW)7q;!Y*6vi^}n)`9zcf zsy+irTkrCNE9WYFeItg?Q{5z~1O(=mi6JjRQGN8Q;Bb$g>19}LVVBJgJ8jDY8c|V< zQOxDBUbl^Z&npBl=t;Sho#*9YKVFfg(yz$s{n>(}=V(ij6P$*|KF?y{3EQWIvS}QA zd~}HT;t0r3jlnAWcGC22c2zgFly>$Y;?cVZyyAUi z5Pj(&H_mT*5@-)eooHGh%^te$zfwx4(!ZE4QSbHm=uL$TC{NLPTX#onpV1=@9^i#X za_b_a&Xs!gb40&%Aj_g&XCGoDzqq^WFNYYeW!60V!Jsu|)m#UtgUjBX6$3M*?2ye8hNcVJ-H-c`v1)k6g z4#Fw*UEXpx$5X#4?6ZpRo8MC=Hv4t z1rp~Sg!~~O4nQPB9MUT)pp$)b=r(O>HsN_cV!dAmuSP*JthoR7zTWPl7HW8{v+I$F z4HgH?lw=jho(Gq=sX2%YiB5Amo^JA{K&Www-IeFL74gyH#W8W?H7C6<_9SL149m`N z2nj7)YVT&N&3n98$_S7dULCGf=+`?0=$Ui<(VmD9w8%9g>lBOj&B~76h;Ev&5;ucO z0D>TMm)3wnCMko1gs6jNwLNOA5*R;Y7Z}fW4uy(aGb1}b z=a^^0cP`%Q^uZxdKt0rTiBzHaIV)=4t?kqyXz&*^w9Z0e^i9D|Q)S5kQM zJ)^SZTEI(iSS%_k3T_XkEwvZi+2~=)2=JPVleV3qq4#~QL;r;~_~$LB9vt@FOgGZv z_md;N_Vqv5Z}kVuJzcV=IonSI7gqJLCns`R&bjLI18veryrcc^j%5tPszU-=B;Afy zzN2Dd)+Mkjz;RqboOtic-|7F!#vt`!hSeWQeEwIceKZDTSWNg_^R7mY8!VRaAoTO; z9piaR$r>oTm*QM}QK0FRBYEyy-7uK~l$DKFXclTk95rk|bFDW(Q5Z|4tE-El@#iJ} zuMCQW1N-{=e%Z!{O{x~hssR&Hv2efcpFkaA=|I>e`4fU#g-pDe^-;sT@FJB>s{Q8Y zG}~JADbky;$z;Jz-XR+oZ!4v1j2-o8i%v!%V0#Bn_t+^p$gK*hc#qF(tfG^_XXV7;d#u-En_HG5_U0 zl;{!MphZ)KTlxE&Ed?MqLx-4dWfT`Z`{|a8GB*Q!1YjM?n%O5UC&5FkP(IPW2n7CB z*PHVi)gvDWz5b96d~YUZ`BoM)wo6!5+s5V6in7{!z>f0R#XX#|ljMC)dHM5Z_rrJc z^5~IKQ9oBwoo)Z%L~vdp3uHIPSn1EouyW9^$gL@5$2-* zUgo9Zf@twQ`3}O`Ud;tZ?BHKV43QQIuslm_nJV1h)EUPsZxgIE4@-8>Rx1)bF9lPe z1~$nDB}G?0M+~pLNMC*er83_1>W*I2`_u}Q89@IX^T_2!T z%rDDM+7-5^Aa{8oxWk6m17@$5{mudo%#80B>wpHjiWrljhv z+N;TGP0--PS1np5bZo%1Xb47>!siV2*kJ)veglp96x|7^^frlV_%yBrDhBA=NJ-}< z;(MVL!@l!kY?n1>5UkT)EM(k`-T+>fmupMuV(-`PN>%jAS9bm>S|CyJBBp$2HQZ08 zPG}h$TE*05&klz{w1q^yxL-Q9-nJdn-ORqi)@&v>W-2Tsf2XTUlExGB7Nl3_Qv$0y ztTw;aX>%t0f=wn4%jG6WPRi4C<<{#3|B!yhDt_;E9t|P#zx5RlS#LZgGTFb$j)5r1 zE3n^1ni|EW#{S_I6i2u~oGza?L8T?eZt7dgMK0g4+(1QlljY5`3&&xQ=z{h2$&$_b zKe4f~`7lu!V|r?hN~2WidnExjI_D8=8eKWn_6PX{_&uH&7fk0B4oSaNQc~(Z`c|Gb zu4?g2B7!PyA?u*WeuK7(B|)C&Y~ahHD8X3QyvM z=lskzNT#NyCY&jB(7$0}WaOwA6i1yJU!DfElMcI!HK$Yi?Y7;852snvF~|gc;fop* zbezd-9Lj*)G%?rS+$4&P>H7?J4Si3$gbcxbicK#xDRWrwC%`CbLZ;S5MMq(z{bvd73xq8BL(klcA5TPNqZ&{80D*OO#+aul%?!)2V1PZ{|z;Utaf zIcs!w{~vUyHxu6ciT5O=@CYUMklx%oU&XJt3zYE~jBD<)FWpE9gdy0xMB_mn-1rGe3ZiaiRr zk)Lmpp8L9{Hcy-O_xKi1PrABWO803z(n~zV{ZOqupffy%7F!qBc}ARYfNf zeiTlkwRqro%~tzH_WKEvLe;B@srI0|W|;zvH9?~~j86@Pha@}y=Vmt|g>drn?o#Y7 z{2PoPSKd$X{9g7h#dZu&poGUFpSwn%OeU_fC;CHi`@xd-)egvIu9?$C?Jtz2S zeV6Ft%zwuEhQ?jV)A`>_tt~dX(4U;1YU;y&A$RMz5KY5_An0(V4s<%qz#mS%_c`OvCsCo=8}q0OI0Gv_lLrE=zLCFyB6CH@i1(W#XFk;3QQ!cOA; z!uRX^EhpoTBw+<8XNT6|Q*3FL}CVZx6eJ%nzjV``+o) zx{0)1*=8Lh;e@v>)E%!rK7=HcbNifk-1boK5ECf@wZF;F{W2C4KdbF@nzB|lJ^Nwp zbZKoqx;5u=)RUCJdT%wVwOy8@@JcIS{$7CNl&wBY4l5|uETguPr%*$r4JQe_*fO`5onJOxiyD(l2;#2 zG<@3nV>PGR63AkKT*h5xr~a34iohqkv=y{sBoCCU+!@{?RpHEe^Qo`;_S5!t)FI>N5?H_*}`|PU&`N&dZ zVAT1r_-Z`=BRShJJEHBb$k$piisecL&Vg7;a+d$o5vK*bd9U!Zk2|)DT&S+G$Bacb zea&3nJs!{lk3H%?jQzl&#U>Zj03CZUEA95&6PDDeq$VeaiFjYU5Lz0T#X!e!dh?hv zu6?4Sqw*mkqJcC#hbWIZmnbFA&*!G1;pvZ)+ObwYl1~;PP2)OVlWdw0G9UFxoI^4K zRqcB%O+^t+*uelpkN*YV+w?2xhMV1w4f!tY@02`Hlaz_g$K-Q4k z#0thh=tRzf;-sK%ZKcxg>_Xg>)o{A+Vj~`lDg23pB*X`!lcq!*|WcJV& zBt=rbACl$=To3?G7WR@qc3v9y_t2Phc73$j8-?XVB}48b;GJ2E>!SMhYB$X8kTmt9r7%YX+?mx~`s7y|Q^r-N{g+PZP#d#x`op!Hse9MqGV+ZLc}E;lm@_ho z92dKZqqAY{Mgk}orCG@Njcdb5q8G5A9)ZP1Gp4Iu5!(}Qob*>TQUjdq zDL&c$(wNy8$+lv=Zb3P?8(h1ZSNH!OE;?L&Q6@cWY}nmAurd<=o(09w^Vd5kDY66Y zt<#Fr{Gajto>}i?i;Kzz+r7J91fB{e%|pF@t`}8w4|MzI5bkCvqlx@0Kl%4bM^Xp2 zScQ1{G)E6^ai%IjNbTJm=iD2qt<6nRv;Bwldxke}xWO^2X6O3lr#QGZaM(JOy=3|8 zeknlcHmzOQq&$-7*WA1bQAsN({~o;krmPJgA3r7&#nOl~8|PgAGg*jqEYfqCSh7IW z(;6C`1`WPG)*XRw5-FatAn1rdXfJfKhwT}x6x13tR%^;~=d5ZN?LZj0vVd?$|BdX# z&$dK8GhSOK(%n5YcVuawf20EMU;hi>u~{1jV*QMUwGmm7jWqfOV6NJ(_$CeOMYIE3 zYoNk|5B-RtFvd=3|Pa@j=~@-O;N?MI1I<3E%rOi;1Z4q3Ioj`fa}=lfL?faFF( zGHQcR$YF{Tg^FX3pB}bnDziVzHYs_KnhxybYxf`A%Rn&hS^=s=AyK5k8 z{(7;p=V17p8d`CX?6PG(2nlAAPR43%kYAdAZ(~Cuns%NFWfdOt$i4`&CG@(#NksqL zB9mhsS35PqEL3gh{slTN{LI>Y-`+>Sb3W{fj*c!@A(@q;tOdNS*y1s~M(BqLlM=U& zGZrlTvB~-I4X*#=$ESj4>ESZob=(U-V34g^E5l_^K>^$JqQ~Qx{rOvj~U(5n9uaB*Xm|^UeVR?K>Yb|C8OQ^B%~%Ax0l`zYroww_2D|C zyR+=U_fYG}(n85xYs#%==&?7N7$D*4-<5Q>gRDNz2JSQvT(m*aOcPU!tkdUu__R~>S{{$#ZjNTEzWHfiyxXF z#!iR?dDQWo!i0)P_lqK(#GvcS2SV&SbIg%OH&o|#w+o;jiBa<|k0YdthT-IvEa1{D_*4?O3w~B>NC5m*?#GBx1m?CnUtrS{$jG0 zq^LwD@s0R+&s2(-|LaYb_fn-dDDq#olfvUgX%jZ6P0#DEoO_CNQalhpE7GWBkj9<$ ziEe)zQSkb4sgu7{q~>NKvgF}UbWuo@mwOZD>NH?AbbIIPbL~Qdu8^Li`2LkSMJk$@ zN&g6ytL+5pw^X6Y2EKe@?w8E%9@w>-k23O|qcw^y!P*PYEN7b!xa@`Os95cm`(BKX z`RZ4@9-H~xYzWgH3`^^1xNtkJ`0Rb}^ias~O+uvn4r5#H-OETo!?tEyU18gaO@Hr~?wsf^JVA@3U!aw`* ze}UN+2FvjqA@bq4_1C#Qt?Wa!4d-PEu||uf7?C;kBhHnv+n`iK874(By$(GO7jl1+ zHa(&?6Mp+3lKJ>0UrvYDv8|~vSb?3CuOws`qfN#rs&*7yVLsw4O5`g-T)V~MdIh!* z2~DIQ<+r||^b9v2i>c!s#SB zEPG;fE6*q#^~>!$4vrWx>qjjgK6h5p#N)D4-DWu#?ii;G%6Tn?j2Q_J2EWIhmqRJ7 z(+v*hW-#-gP{-qtCivHi%F?KV`jMl`mgEVT!SKf6}dmhwfggGm;8Gk!}6f^lI1bI5VYmP&R_!Jy!(Dk!AAJqmTc!ceGEfYc12 zS}lpF@fKiZRhVnY4VWfSoXq3)WUCF2uOZc1Qe_FVM`F#(o!wX*ZVS#Uk|CM*l4-x^ zFPhgXhK`Iu{)iIh$CgFy~a0dPf zcOnZ%K7nx&-;X&L`d^W!^Ep!hY?HxVwp@p(qz@iiDCXU6je^F`m^^#F6t?t-;;_=h z*`<5ZjKv%r7MSMU6|59P{}#>@J-5np=?7BHNWzPmW5S4OE3wzoR4cWnnKJ<|UCa}_ zr79$J;WeD${EHxczDe|wJ4~%{wInzGVVr);Z$RsBAX!5a8Q`Z$yQP-Yj~exuF70gX zcPGS5Y=sbaL^{@p;nM=$)Z&d%~u<=M6G#>e8d0k1KK8@LX{I$yENpn&x$vC)-MP zw;?-ZOFFz%Gk|Tm9kHI}k#y_41^Z{Vx9H}>9m37sDgOEk5v@bX2b(IMUy9Mnc5#fI z2a+=x*+<)F`c-?Vqcv044I`rp`gz7-58HTCeLaQKgv3_nAksrg%B7$%H$IL{Z=*3} z;hSHYDG*7>8teC(ILGhXJW*rrD=r@D5hE^q?a@yiM|dHlO1hUEOQ{z`ycDiZNvQ;u z6dKGTLivhc2NH`(yeB&eM4+$K+WJr8%+6bsoz&Y!8*Fq5tcJXZ?>R-k@89eFKa{;? zSX{xDE}Reu65L$_!3pk=1P$&k!QI^h!QI{68g~uuPSe4IYj@*LbD8_ynK|>#nVEZk z^pD-ouG(wYu3ELM-gm3paPhA?Uur#mo>22tsN&lm!UaMxNM5uCZ%>pqbR(Qa6)KfB zY*N=u2@ep!_rS!-#|ZWt^kr2i)jW;#cJ=Af&T}F(5(;z44M?KL(L6jxd;U-Wj1ONALSS`~&XfCPt;+JpJOgy0->9=#J z%o^**>St#6M_T+)n#q+ns1)pK?_=Uhdx9z`SiUTJ(R}7AMPFitAu+l0>oAXP#<9pQ zM6&?Mb_^o;^QOdpZP0x7{rNzyeUDe_-&=K&Gij!MXIJ#FVFUG4DyBChE1kYWA+Z_x zF?dZgOXW+`lPQ9SoH6_%R5%XwqZ!+9O8Y0>0ouq)Ea#ggTya-1&2(K_^!t+x!U%J3BBz ztanHh%$sGBnj}u|!gl%qz9b7}{H+hbI1qK9FqeNuVglZi3v7E2 zhS2>8^?qZUk*TUsztcai3O!7{tS|YB7)|KJPi(6lN~CH*HRd_i=8etEhRAQ-NwIuU zcA?agEi}Z7+8l{f&%71irz1W|_F;(_^i1_BH@e$-z3Sz%|$&V%GQ-@ii0mKnP5IA|PcB>I!Erm2x&@M1@S;{7n zsV9DH9hb+8;F4PLXj#`WGaaP@nsrUtEHu#F@>J2>Z*lKqp49e5diNexVyA-@=2b@S zeP=$-#cWX360UM!>ItILs;CL`B2gu!VTpI)dB@aRE{w=Z5$j&idA6)M5zXNyQU3Qn z*F8W1sJ(J6yph@bCL(5~!l#EfmgNpLk7fNGUoHjvI%l6HCh)zVaml7+ctnguGXCk% z;J>E){xL8TpadrsYq~|D3X4fI@SpMofdfPz;i^CYsj#+2N0^u2tR`8#-Rh5_WA3}% z#%0eP@a@?=)61Z!!Aq-7{qa;4w(u{!z>Z?IZWkT025&8KNh~uGZf6*UFEDslBAJy{ znW+LuRb@Iv2YtHcK1^AVuOSM|?)FiBNf?Ro;FJ}FN+1|LPZA-KyRxg~MEMNyKsS^v z-5>MfkDBi1%O)AbA|6XCs$J_S-w&QGRptqBYi>GcreN3fv?+)S@6znwCwdb8$!9U_L9cl?icOtWW zHtoDgwXRQrpKCI8>#ecT?fa#C963!JCJJsll4M15iSGiMzm_C+Uvq*g=9+eHhl#=c zHhd6CqxT0WZ8vj!0??XuMzaRz*8(==hVI*9%`!EH)(I{f;*b&YSKnx~h=m(mr^uVW zMtO7`k-a~a>1De*y%m1Bcfk%I<;@0K+~EySN>TQYygZW%2CSNKrDS^l@q`;z?{qs^ z`Z`{qR>WuILoITD<+A2B0;pN5GTY2Z-EGM2Y#5iBBXj{3X~DK|<(@9c-O3ZgFVD1I zIvt_$uwm$Ngv~}@D<8%OLtl&o!p*tczx^3vj;me#gaKQ^ca9LLFIQsHgdTBQ0ibx< zxr-sJJEKR|HN2g}ig8V!aGFmSW#^h-B-r&0`!YM(xHURbNbiU-D#*%4HX7h(vKJOD z|1Q}B=9FX3tGYqkH7(a@S+x{}ABJ4-1eex4O6Fz&!aJDH$Eu-PPi>hahAyc_kjg&K z!w#Qp>Y^C=?uiv7yAc|rQ|S?3wjRQmydEr^ms=LdsVkActVUt|@d4Dj(+fGxtrtnO zl!t2`ZRJKRZo0x6;m4k)nnpuMuJMjih2jB~mo}sK+G4*JgHFBX?VhKS}eQLRhHn@Q26T*?M59mbx07orAoj)NBox|%Hpwg|{1HtJKWqQAm)*-t9KVk_( z(Xi7jivA>%juU(NbE8SZTU^JH&e12&Xp_@c{n&I_vag3c4+a@z}HNnz% znI^R8rnppe9fUru5O&`snERVFckA$Mv5UXrqD@xS$(^o6Nbl_LKZNoPjVl1MD)9CV zjTRvOgxCjsZ0NO>c`<@(vC8X3bEO$O6(g+HR(G-s*a@oeixcaCwaK$UXlXs+5|9eh zL$r#PuJ>9UDEawK+?pu-yzFf`rd)0hp%~N;g58j$O}#)p7R#GkUGc0- zEzj~C98y|Pk)9A=VA{mDBb2g7s(|tgTu27`dP{g30Atz3tqf4I zfbH*j24Z0d#TYc$c|ey&{m;pY(c5r5(5%Y5RRryKFiY(O%)?9jrmLpzKBcn#CY`zn=MrzMrz_UlgOv`3cHwR$ox?q5RQIKri>;X~OHfDNB>=LWm{FJ%1^i!LKHm-Rz`S)Y$l$wu5h| zu=N#Yfx!@`cKZR)LgF7G85mnH&Q+6K2$?|MV z?IW#4`N_Z#&tE)HAN`t8UCf-y!1i-`Gsk-qDGaG(MkpChD2v0CnDf56wV+QkiXnu? zEdbqRBTs)ta!1r*sy@1bVi;yexX7|g7hEvI(rTjA$u|n9WhLaA+$<-@Tn-BonH!aN z&25wd@<+vAh*(l^6D$DvlP12_;N0Feg}JPhk+-m@TU3l74OOT0RV&s`TV6oam=|XB z)Ye|Nsig{xhdpTj@DpElfIo#rM0C_YE5d-a!4p?$TEzzVl9u+|$F8K_y?L+iN@cJ1 zft~T2G*Yhj6P6fd5}9fm?2N{EvGQ1o+&h09y$lZqlnzH?(&d!JEMV6HGywn_Na-Fw zxy7ZMRa(B)sYk}x#^|$1s9)nO9iSvLyuIr^wz^?I+LLx5}8Rz_*U#>6JZLW>_Y>gB(AIoIZ7QmxyH-XK;1ubtpCCqYnPF_WuR zZ;W6aw!{N(mnYyXP=!{ZE)%gJQ0p)Eqyo^p+y05Im2#L-cuE#9DiPmLpe8H6CZnzb za?-eFWK=@~j?1ZjKqR5;GPBvyiReB>DW(`3e&~Hct2i*M)YuXZ70Fp4GIJ|5ndK_w z4{DgNe@TDxhw$ARxb3?pg6Bi3oXRtZL1CGV)jFvu^9{uM8eFoo+ciQ+v(?1j>5Cvc z=~ZXD6$Gz8zX`)S6iT3QwBr-~bH|~8Rex@B;)I6=phq0ULbH{@MVNo+0kd?lugT7ZHOBq-P=!}&b- z&)x1qU?m{lE;1Pf zoKH6P@+F3x$Nm{Om^#SOJb&ls|Fv|h+jr{3(>yBN#Tv^gcPDOVOK|Z)Y^+tUe4Wc9R0J!fC^UAZXDsfpxwKrv zWs6a5!gCo6x!jbR2UoJlxUpXh!j9LJ_dCZ(RCa8?!NNa>jz&<$oQzs%H1fPR3O9WV zgMo@_PorJJ>O)oox&galIsVNJdgaT(*{0PRaEoL+@6}_;?9NXyVtu$RPTs4JJ>Q9! zSNGF*5qa}!en`YH-+7|r*UBW0%Cd(>^EbLv+IU)+LNpoxI`u47Gh~{w%mPhzdhBg0 z%5yTAD!OzQ<@Y1x1A5Il?Zn0shraigYt`Tw8UGl*{EWlIA&aa-^pzs(Hb2!74isMiTouRs}PBO71H7DO7IN?kMl(@CBJe ze;MTU6jgS{c8Hk>Tq2Wl`~2pojdGmO5!iD`-ar+8Cz>vb(h8 za-8PmYiM_pPc0{tSR7s-@8s_oRNKg-QU(D1QBxo3c~H=zZ4`Apu!2qsVmfACF=N8* zjw7tRoPlj-K-n#z=s-f!mXJj#AK0=e#q|5ljxis?#OJMU|}W_Y$F2ql4YwKu5IxpK>*Y8l%#OPh~- zd1P3sdDQMk0W(MY{S|5M_R#v>Hac$1FJ6y~?Dj-ipxKux$e_A|DT?($Vz8!!i;#sh z^SSFgsP~BxzA9x>?7%k;n^w&t!=HInK~`et?K?6-yUJnl->G$vIjzxc0u+VMqgrM_ zkElcZVfVd;oYrc50xE-+xKvFm$yTKgM#<$2RbwfqIyp6r$7AJtNE$9AgxVhtDm=V; zTHs?>5Z#WfFAe$Upk1+TQ@&R~8gAfcAV}@DLJ7AwlhH>MQ!skqwV9-_~>3 z5l-`vhs(9dd&RFB@?~TSye$OrYLz8KasU#Go=$nU zgk97XOxgjcL0akTa9`nEfN(8SQWD@@ucAzko7~QU^br;L7xIsvKPW#^4ZQf- zjD2^;?tiKg60`wx=Xqe*fT8-Ett%LPajQ|G*->>a2WZ?+A)u>}q!-dA@NioTJM5hl zXP=~h2vsklXcr;VBkK?as5fkxqSqGvDl;%U0;4VbgG1F`$mlqp&KbD{Fl#uM-(8xE z>2c>_36|b$gEec;#GS(E)QcT0|q(svzy?-q~5P zH{804M4y(a8nYc~V+kKOOpN&FgTS)vJ`qozRE!SLl%M$X76Ak@0VQZ4_&>eA>lQ1W zmKlo=dd2A?7dh}4gWh`gv{55Mn!t};0SxR>YdS~nS**5=>9BKX%`f{54~asSymWsX zG-sU!YlmLQ3B_s0{q4Z2v$0E~jLL|hJ}e>EpO;#90xzjM)}`@gbQ}A2{cmzb`B}b{ z49E6%&45ybK(Yrep7v^drVy&|cF0j~BgK6M*i`qY_}Y=~DW(AaMsCPH@YJAt?@Gkc z&WpwZ^0>rcKtq>L_R{%ne6bm2qyjsoq4$!rmX*We*?}TDmBp02kT>6|S_R3*K{8E~ zfkG3;8f;PAVq@JhfrVrEwwIP#r3Q@*ixN)!Clcmc>M!u&Z~pCKmJ&YMG55kDiT$zF z1r6(Y%E4DZTybS{tDEuci)78j}AScw=Y1y^d=&6Q{?Asg12`#Q;->VE2-j^B_` z`$S8-Y&keGvNKyC_FimgE`Ir&DTSars($Cvl*K*c`TMoV66+S-+ixB=%1r#v8EaDR zSV7(P>=#dM6YrOFH@ys(v-G&jfL3i0+1-me`gU7C z{|_}&2dp*&ORZkVSF7VPF%)vSKcua>&jD=ieqODK>ZED?2#E{U3SISV4&avdlbTGeu>nGg?PD=U&XP0@F-y ziOdkQA0}kK6@@&mu_L@J4WQi0I-ZSwZ?bZjv6IT2_Gq&y!Z@ws(#ocT*=h3R;<4zC zYYA z9N=%H8dy_C^DCJ_jocl_Rk zq;V*_?baMKTBGYG@6W=?$=xeXpNhvzkkMkx$y6bIR>ZCQhjvlphA*4=yf*|35}?rXB!`6#d5kGH!&NnHBXI{qPmpu2IiJSrX#Q*T&1rfvPkr!8AJZ~WfM-)d|o z(h^WNt$t{H1q#4EkP_F3tZ<@AqtTB-xFMy-yxhOhNujcks;L`hs1ZSY|7@K+xImvu zXVT^7uk5I`Eq>Y6tdE5iL9!4K3Q6fJgKuszbZ?kG*@OtNf334e6cJq5WItyCkc;ki z@Cr@kYwma0R}gZI-Y$vXXQ=i!Gk*1hdt5T79yv_!B*@K98DdyJE5}~E06jy*Cv~rS z7U83bmt=CwSTB0~$e=cAP*hOMo6I5+W-i6>>D3o*uaWZ~hCXpAG!~cM*_Nw_&z;R^ z^@SacAz>$O0+ITN3i(l>K@YD!s?n3NXePI`8%36fwe}kve;)LluC##1yfiQ5W9h+9 zqmLGsU$q0*D9E~QCzjb19yNmmauXhEtab^EMaAr+OhPbC_BXtT9tI4&z7O4?T8{9$ z-JO3)6tdKi#Qy)Ov;VEz+V(LWlUG&>{Cow)6b?|%OIek17gw5rcb7Z3*6-As!_~*+ zTlJeb^ror?+cMQOG}Y8hZ?4oYYRx86dwg|T*lVsjPU`HB6&?TH_DWjJ=|N!4h;rN- zx&kk38GK;u&h?K|<=3N^PBI$SFSpRmxRc^%L1-5aiD|C`_e)M{YAC%j^Bh--nUqf< z$$Ih}V_M6!^-IVhItC7$cF;~M{?7FbwHcekkDYUraOJN%l^>P#7)+b_rU=Zx6}+5m zHo!yOwV{Jz`eZ#BE!dm+Zx&`dDC|y;T$3nuenDw*5*ijFX*Ij#8@Ky#x=&d6 z^7_%;uQXg4Rqra?ER_Cc^`ggt{`;5X@1!!5-;f9r97m%eWi=ZRZi)v$KF zeepz7*`b=Xejh%x_y(;%iuB8}`69P=`-<{#-=w0=$GY~dutPylZ@RR zPr2J<-444*>mA%TnWnV4(YWC>Ib9DBSnhmjY7LXwvh#tk3SIP5)cZYpKf%sX<+PEX zY^^(*v^%3t1hI{gNfkHl-MU(AgYy(7 z>xK0-kSMlDEYQyCpX())-zP<%&zo5kzQw;Vy+D1R%(_o!n635@VL|ll^7Aj7A*9$Y z8z!3%dVB<7cm3jP+(+L}S)(NApQ|Dgh#x?1 zYUUN)TdK?{u5J_i&*WL^I}eWdsXa|f^!4IvD-(&*3go>n-?EQfUDj{xzS&a@^i^Mb z`WL)`DD|GXN^`6LD4rk~Dh?tj7bP191Ss9Wrka*jjoUnpjyBQ6XB^ZS*%(u)mf7^^!Bh|kbWY*6Mfm^<% zvuPB1Wb2N^Kp&N5Zg>aDxpI-qn3RC2Ya?K`_^QzlL;USy}TfkKkYXG^^Qk~4V%hjvM$fZ3$jPnWNN5xK*MXYGM8WR~-k$a2OD@}ZhYS^!3RUHabu*Rx= zhnhLbK6C2hp4MA*h+d2)0pJ{{^}?w#!;Ob?UC}V~W~s{zaukGff44huKf1;uFHI5D ze%N-hN2Nsv%^=O@!*Trep6NH=f3z0=kLd^^g!7T;soXu%b?E(dVBm`|^Wu#UvzRkx z7hZq+cypkK$)(d|X%sF-`;x5J6o$QcFg{J>{BTw&vJ!$BV@KkP+M(MLX?Li!oqxK7F2cj**{K3_ip)Zz{8U2F#DF{P^WZE1jaW+3mx7 z16~b#{q4Z8Zg;8-pBb^Su~GT$ru?fSppt@Y+8v!*;i_}dX?CS#+uBW9OJl<;B#LU3 z%rbJZvhS?ZS>?hPnWdaMm2FMf5(?ZRS-&o=C)I6rr;Oe|+su+74Y)$T9YrPD>O;FR ztQ4mPJ1BffvNm-Cg~fWJ6zUJ+i!WN=cjOBD5C`d;tHEi-(bqFq1lM2>R3_9IUE678 z%|3ZM@Ge^EkJr0FH^>kW5H3hh2ZrTIoGu2x=V?0t9vi!6Ch{(8x3l52Nz$8#cn_s?5+7csGY)7f*h=Y|Mfmav zNN+Q)?NOX{-dZkmpc_)$b3YlK=OwgX)zT-YQ2*+2CDDmuh-~DDFF%6Xt%?o}v%GLU ze)B!aGUPQQhTkyDY;TRv>WqV+tq96jfh0DAL8V-*2-NJ!v5zt7?y!ymj!8p6$Wk1)n!G_(<)w8*v9u>Jkw5OoO5yp&VbSR4Y3Cder30_a!wxoVc)`Mo^Uz5kr!GZzd zjSoJ&{CGm12M%Wxt!_M@dec9@v)J$@-t?D8)^VB>J9}hMBxF`RoELP8#nXarjK6Ge z1Uz`oK9{B3`JJ}*N}LxfOZ&~M1wx%_EDw4)6TA-X}pi z*RzaJ@g01K237=X$H>Jbw|y#VjfV$3w&G@L2bL(fIlXh7SaN!9U^gzF4kH?CycMDl z5@!v3(zew|v4_Qjz{gziVK7r2BnogyvB$m(_@l@JzJ}c}SF>7&3YI`KII~%WZdNhQ zvo%S&ATWeJ=_*W)au66~blG8WIKOmH=9J@2g=K@8G*9~z16y^>b%6`9m zjHnI;xFH>&h%{L1%S-ktpcS=u^(L^GR)*}k{^DKt!}0d#yH7ZdH*uH68z6bP<8_+P zo=_FsyHk=6On5ellf7rsh;hg1zm?ozj@t6&)v30IJI=tPz(+-!Qu|*VpYP62M)k_0 z31>z1rwfSpj*p=ZXFNIcHvy*AP`V`Klm)3IIwPNv<*s8UHiDyPEUf(lse8HF6YQ8( zsp#MBB~k2BRQRBPK@aw(GEN-S+eMWfH>VA^Xq{i_oDONfLTYQd_7c2#Vc;r1{S(rG z?yY_9Xe$uNKL^z7#T)%Nc3Y>TmZ8b28@bV1wzH+Yezs)nAX>~zX5UU>B3o4FxJ+$( z(}QA9!H(~-{%7gP2I)l@+&QX(t^RZ)%Ps?+OTN+aM(6JN}6f$*kW78XY z?zeEh-a!APP%~o>o#A-Cwd(3TIS>7{fe5?>uqgW(dOA-05*3SzWvai)dl~HbbMpD3 z6UTJ#Sg4-aNPp^rX9(=1SC*y2mGc?PLD2(oSqs_3}GIH%^1I|zx7_UKK zJ2CW?Q46bV*LBT>jsFwc9h8P)K-_?OWgIUB@9q`WH;_gume5$IYJ6s9Bv;t_mx`HB zf=HL2nY@hUOSPxV-ghdq8SNpQvT8+}6%E>bV3l}@_g=(j-`b*6u-y*HU*4$L-yR)l ze>L&^>Wu~iM%}$crC!!oXOH?Es7h5egVo3Eox?El4=JDpO=4`mTvsFXay@9G(n1mD zeK%BqGCSH!4054xP7BiZ`VB#AIs+&|RNA$jx_6EFDVQ9{BZ6xWX3?$oRb{yB4pvY#E(b*25G%ApI0+PZEqnN2AwZxe@1 z64rhZrR;8kmuSdjWb8mNzEZe$Nz~BO%`}wkO-kHe_+~0aU6bLldo6n{n!)Qp{tBu5 zmtuL*q9pHcZrSio)#l4+It5!I3>Yfa?Z+k>D*EJ%j@^69xt98OQec`?FDA|Z76AsX zz_P4zcCo7zUVQDiN;YxB*(TfaSM8xxZF&+vukzrsg2h6g{aGyPdLNW z^%>-NBw;`FF;;ph3Au}D%tm;2+W7@P-&Z&_d?_F`+iTE_u0}<@zpc`?);1zwt)d0* zojLSk@0ndJj@mNL+jXvps^a9SQ`;PIYT*jvi}qIO#&oz*#iP^qJ-RSF=oUp4!so;x z^!k!@e|n)@pq!lMnsRMR$CVi5)B3_H=;Z=OtJk`S5Er9d*}hYubt7=MWrM9;$^V-f zmOISllTeO>q@vAD{!`r=$t7kIJJDvBL>gYZ{&VjqmGjicO_~{7CCv$Lz_jkGNw&$& zedKms(7_)14{^DFU*DL4I+%Z8M+%d9&Gxa{_!rgtY z_XW31@1vW(nc9g?1h`Hz9aq%vf$Q}Yv#?2vZiF1T6Bdh|0PaMdPPep}F@Ed>QV7_V zFXwgC^dQKtvaW&2mJ5@eB^T?0yYK|Jsrj*DcIefc66u$JHE>Ka@g>22CO{yzo|6MCBDXG=$gTJb!zue zvbu=N!h|udXvflOtZrsKNnVdT=R;#Zpq{h~=nnILxHF70<)8$G2%}wF+w^o?bS&8Z zd5C#Hu$MnBUkPrDsceUQdw8Qq@2sQSb2Kb+n3^6Av{~AYw}lV58fA|_lWMisk6)|$ zWZ%+>-KWNMAIx!Vi8~4-715NNK?~IYdRZQ)m&H1ZTux7;pVuk)W)vq z2#0a{E51*G+NcH)1Mng4;laS2TB-@&EC2%pTlnOn8M(hn{~|0NyeP~HNWnen)LFp| zYG-Ga9M@N2Hv1WyRK!D29nkl=65u=QY2r_(8E*9*@1mj4g@-oxFq4ofz@|*% z-KZ55W3IKrx7DGpO=)JDhlbFXa!Q+oA8bm8Tw9E4aw) zWT~Mb2m%AUJ8yKDSw1H|j@7;t(yqTQE(Dd04%Ysi+6$=tXHPyM6bldLf$frsc!4{6 zS1aW}vI&jI0?5f{o^oUuroW<}C&*d8O7LIYnN4m0TXzS`f3NLaFB5~IO2NXLS+)F9y?7f0=tv5LbC~P20`+u_3;Qo z**x&%@6x|@Ezl8>bo4~8=b2Gm1YZJCEQTreU&Z9ddJxp~1@j zl$ScU#h+FR1O70W<13;u6;vM_SNZnV?>4zBoHQyl7yZjIGw#5|#&K<=UzCq_Rr|e+ z999NCe>h^!A4}Iv@q;b3(Rc$JMf)FgN(4#&1eYEue_}sn!L{!B&69cBRYPG+f}A=+ zM!;;lv)CH8WHGR$DN|HaR|@iIYcA!k%{?hVow+Xj`YgJ=pid3I{|uAYE@|d1UP=lk z%{$9sr`mI~==ejt2x+MuJd>Eqm!xW`-V8VYE;iR0Bf7WXI5|FaCDo292`siV(?%Ze zH+yqlrK9m<3^q6Quo<&q(71-?a3aH^j8hc)lsKLUcPi?Op5slYr{mm1m4i;@5K+y8 zN+9nV7mKP{%=ESA6q!6_mh60rdu{#>xxp26FeQ#bQqkErmA@8UcG}FZnHdQ})dG zHWG~W&q9rqaGJ<)F?0FuFIV&PDu;6oX0k=T7TlTuDBXwkJz|_1#iR${F)NQeIBxrO ztG@n9&p&DqjFDgyT-xy3rc~jql6enBN$QSc(w>d449%rZsg5GLjQICGNCUBjTE5Ch zqggtkX*9GDX4kSlEyY2vga!G9)nSk^RP1_vI&og!E1=^kL3u#Hhl^CJ@_>o0W|-XGWv(D=^uwg4+(xcEx!lT z&p1c?uZ|QYe9#K^{52LZ)wbnh^ELMdS<5}H_kYr^weZlrFI7!HJaw&u0I6@|h`(%FV2E-?nnws0%c5csE24DtVv z4Wm?pS8J)^aQ~NkS!LnZ^vVSF3@x}F#4bRZhDl|H5O}wwmmeCQ*HrQG@jnA#mw6v6 zYI|fS48{MsS^n>W5+J>$EmQy3zQcbHiT_>(KN+`p!tA(%uY0RC5wk^ctG{9$ZgdOY zyhf8TM4vEU(HCjx|D%BaLE3-4_#%u{zTcF%z-UrN11J8sL5xx@wvnpq$n27)Ry;@m z_v~A@Wx?W*P#Qnn*4EbHa$^}k>t#)Y&;Lc&|2s$cIx00X)0ftt&+XWvuf@9aC#C+U z*ZqgC+psa~^vbVmgGCU*JHRhWh_E^)SRp)&G8g9`XU@M5)jzbQg!}(49ObDUflhgv zG++JXH!_~){>d$0{tJ-;C&=DnFQz@>8Nd8<%j%yC@w%cDG{>Oj*A~8QPXjs&>Hk&# z|GYT?MqpKLKJ0u3HZvra#PVOLjeq_cUjRt6gC2m{&w>9bQTyKsk%=8xm64BbBa^R1 z@c*!Yej;U4z-e-R_46OCpife?HWIC*Z#h|7(R&e16Y9 zD}TV}|F`F1YD+b00#-c9dY50J!#@?h76*pM#qowo;^X3`n?N_ZN2kXtYf(yH=apjw z77_-=h@av8E2z^9H8nM<#gJjA`xGq%FYD9)jjX@b<9_aCR0TcHuOM0L(raaO%m?lD z8gF-aKw}HU!U`K2P+sZiwR%0sUJ*0oUvRLo9Rl-RPyq?{L0^=@sm!mK*8LC*rrn*Zf!ZpjXDEMyr!Ei!i6ky0gNj z3CVvQtN&tE5a0yX)qReJ?Tg9J?^57*uYbJOqf4RpAWaTWz00@iLpmPDo({otF0Kxv#@Bc z)q&Cb>hNt&dPOG#tpvUUc%TKKtE{2n{{3-eIO5-H4gT2-A%F|4*u1Bk4pGl%JSC-O zV!~3#i!~PiYg>$Xu-m2Wg+Lt{rA$l|___X!m_e#7Qc2<~j}RkvEexVaP^e2#r~q!x z@ z`phbG{XKE?-N@csYu;t!A{9r<9wl2CA}%W@7d(O! z5>RcRuj@YiIxjJ);bbIFcnBXzB_$;8Q|6nAH7L@eD%=K{gty{uEWqZ3+IJ;ZrTt$t^2uZyErl#Co z!@UO<| z83~2*`s&(Lu63mHJ8=9e6GiW%YO5r4SwAcO5Dq*#a3e4O>i3nTs;I0*{{)l(OxvA) zE%mrHt7OafQD6%Qc!k5Zjo`6c`SBcjeV8>*fQU~1N=}LR7Ykg6qCCRJ#KJA!f;~{B z@l5tQ^Ef{?XTpO7SQq^l?VTS0yqjF22V3kWsNVsZiyj+ZWf8CFK$ecH76nFY9AWz8@{~ zO?mhm>f_d$l1-P~CHLPS6P~NJz6df!lZ~wY#rxsH4?RjBd+@&LpsT7tU3-DO? z<3*D+ zX81}1rt^X$<)0Hi$>6cIj0Us1&I!?JQIX#NoGg}Ht{mYwmx(^IG?jHOvGH~;J67yN z{ozAjWk7z{DcAf%2?~fXCNa|4GdQWraZKdoMDa_<-WNda7{u|*4RKkfrnl{Qc|d)R z-DZ*+Q=mCX$auaU%T>ZYPcp zS61zTLe9W`$5-OA$Cc$)hr9~06KiV%X$21)c{}0c@>j*RWY3`O~(KR=j$u86L2cMlqP5i)@Ln5xRYW)YMaeF)aFd7v-pX zVQNvtSrnBp(87N!9nhMi*x62z_;}lo#l-}`H?`09fNx-VOv=0K9s_#V5Jv>2g25gW~#BdZvTUgQTuL%jO> ztvkrBM*2-ui>K!|*)?`%d|_`1D!Njto%)vfpEep6Wi3B$VZOLz0zXN|2nd*<^7?OZ z2Qv=j^Z22HeEcO89CTB^1>epX#ur{oX1EbIH|aWT32ssQfoZ7PJsdpL zW*u8ay5m=*a;f@8$j2hpgIJUEU)_g)o00#?Hv1j(g*Snv^jh9kD#P(uA|C7`UN3Hz zU%)QS-EnxOY8JpC_IW=d6JJnDo|J)9H4(GRnigmXBktn)#IsQ~iN9W1qu00ajYYTM zs^%<8Mu};!s*^NV1jb+L%lS@}_*p$V;7r7|d&`@2bVAC?j8A5QHtvTy^OH$N{IYAI zvOmkOd>_mG-QBug_`hs`Gu^kkAb%+zezdN7w zDT>`~SWrqw&LJcLfybxlWc>KTt8PQHVf+$Whw2|E{8uoH+*8R?D)xEV+UOYw_ zk*Z~ASJzB5k6WYpRCMpBRWEyouA|aYYsOvgY{89RUojMMvAylx+P664_xJvgc5S)| z+wiP9%4IBJIDJEL@b=O-{(TTcM@QuXxlE_Q3Cf<_ zYpA0dZG`%{idjvxEGvm>7>o=+A|#SOp|%#^D+Vf%*8ZL*Gv4>RoIK6)Y@*=Ptw!ur)new}pKK%Kt z3!**`MW+{X!)M5;9fABp47sTkFD@42DyR8a%YF$y8EGbID@8uOyYsBx>{O86@8MI` zvqdromTEL;>t`+5&9=K(kP5gWb-F_ayKmQ`km?C)osO#_wsvEtl(`Gn+*p2N@=iOf$Xkmj@X9i|*%Bg#yd5ZbzHGwOp;C8jMuG{vZC1rA@+n-Y13 zEn~l{34i7a%K*~C!4ygUU!0;;;R3GWT}Mv|iR|8eL4m#!%B< z_-C#mB=%0>`%lYE11yDF{Q}E?7KJYliU&wk0{lq)ix{;%m(=gwT6ljW`GR|V&i;%t zjCvkA6@S_aEPe)rEPI6EPyaY1)!bDE+glxc#k3!*GstTrK59lU1ij>zAC8~ zR3qmC*&14qjQS3JRL+0b91ot6BZ=+GdO;|;^=;m7d}&G#sogWEnA4!CRWvniqk1*0 zK>=z(3uTNkJlB7z>Sx7rm|wACP4Gq^novn-XZEjYA;vw9&mh!v0bag+Hl(BbNjCG0 z14{3|G(7@hD5egQSf&l7A8?v}+BTnUOwjnht271K+$LdcP@vuruUa)>6TG zKZjL#b{MQ4p^&2s%Vdxdg_h69P0?^HhH+{j8*;CYF$Y~mmmPQwP`{rfjBO$^bV|PL zLJ2|Z5H4HR0?fvz+a($aWR^7DUun(d&YY5;+HaNM~E`Eh|wNw~ibnleeZyI59k zpN4$3Aouw#$Z3g)%4n9L$~>{6=gu>CAQ|6ApV9V<+wmIA5-t`s$Wl=$J>UCfw?nr3 z-E+~F!CI76f(NQeO(2^zGe(cnrh*6MygZH$BEo{{$?TAn+{ndMA-|q-wUt`zL5Vm0 zSU|UOK!a_k|By2Ipdj^9qvVM~LdOcPV-rxFn$#3`ih@5(e_UB-o&h<|WW+^6hxubO z*xpL}O0Av67o$+VonVBykJ_?C6Q4iwY)X8F@qyIS0*=ctkKvfr(~>3uKH zXRN!=yPx}`c>S~Fo^k8+XnPNcH9E*w4zK3L*GF6jHoJmxrLh{z?{oC(mYC)}{41np zZUs#%-3R>KOuKm7FLrU<TQMhWd88@wiDcN6?e zyzA_ew127_|K17tk;vA`<%_@e**%Yol=oZUB{dG3TC%pRNf-4`Iebp-XC(1bHLm;{ zL9%QUn$Aik`R7miyCRUDbZZx5$6=&zJc^u;x6KQB zX0fYD_;GY(G`-XZg9F|r@nEzR9sAC~ebV7Fo~u-{A}>z{N&S$k~)$k-g*tP7v8|1H5=^`I5B-)&MfBt?`a8v7+t zNKh>>kwohAe&Y#Wz}q_t`#--8(&-*?@s=BeN50okayg29j>=W^sKhl5u+4Al|7hX) zw%D#C`M3%ja;=L@;_2h1a+>j=sb{TDJ!{2uhplb9;wUV~nGo#kC_N1gORr=0ZoT#L zy-l3vh}mLHI^1^fnBXoCn9y-Zujc!lgga{>mR4hN)Ml+~B`pQjm^VSZo{!qO$<`tP zyQm@-FZR^;Kw8$2BLR%@5w~yKc)wY*;&QmNypNcL8|w0(wXH{|Mh>DplRZEWKt7A6`FOtV`*zB^tXk){Vjbz>lqmw{eJ27oZ3u(s7O zknOE2$D%a9(Icysmo2_n%SB3c%$Y}4bLP|g29>%-gg4H@y63 zSh^V+AsrffUV%t>v;#}CriffRy1F|oXB}#zKJ#`&dUdT#Rf@JcDCh0YG7<@SB%2X* zXh=%Id;!K(@pl*Ec1O2rG1D79!c+Z6Qtu}L(N((9{^{s-qLx^L!(R9_*OK?n9Wge` z7o;00MdE~VgL9Zcyu_*qscTm)XJTIF6NE-3g0d$_iK5DW;$B`4V(hrV28L_=!m9L# z!~IT(BM+1fWh=|*EpFe3X}+gx@H)b&;-ea)dZu(tTJn^aFLxQ4iVi+I=u)&+-pv6}F2ly~jT!uaI3a!A4!#8x?ydb(%`}HABWx$AxpOrw{%+g0n@Ck-V%mR!5Xs(T)Nvg zS$Jr7S2;!t)y^F3r^S&J#RVm0tVnQV6BI(H)u;~{ z<_($JDnLz5W8!=8WJa+)Z$H##8l9)3L;a<;RIx&H-a=K2t-7JI&~6}_VBn|<5ag$K zj~axCr)rxhr4%j;r7R{J6@1*wZk2vaQbB7GTP~;3cj*N&}5! z{d7C&ck5OM_gt{Cp^I8s@s_qB6IP4Sxo)I!%J@QJR{qE((yR%lKjBYA*I3Ybv-yD@gkEC~UYu;8>4)&#C zQ@MQ?MBRj?2>a-)QNh;q!LomTipD#teLOB+_`QVt8h2}58uW}N-CJ*MK|<3%FlhfR~`cW<(u-Z$;&>2#P{K<^OH9O{`| zAI))CC#nE+b8<_{H==s@26iPQ$j(VN6fK`Vq)A%kKex zB{!t+Ki_!X4SP{_3FsUlIK@_KnCUN>cxQ&2_Q`mBSBfJ#Hkl12$}ftJmkW1kUe=W? zp#>`KwUzpehe*cR1J`m+j8hMWX$;bGxw6vhKG@17eY6-B)No@%&g&QOvkuqmhpD5K zcAWT!ok_nDcxdst<{A09V!rhI-C(T5{ma=wOUuME>#qJ|W>WaCd^;PQ#iIQh(!-3- zUZ{oqU#t_x=jc5#3nb-dV#apxFc;I=j@t}S8ZpDLPkfq4+y%qbBR=n>A}7uTRCbrY zXa_682N@Ns2hyJ8FPq>GY!(TK_3I#U2@wAQ3{FWu$)uSYJ+D~Bj}#4V(QGBb!&McW zjfu?hkq;#c??j23;%OK;8=vGbE-JTbW2vI3gqIvr2dI@Y2rd1gJRV*9sk_RZTU(Cn zdj~Rcd&z@bn1UW6V*HIZtdIJ9wMWJ1X~~7OSk&|6&qj}eV}ZA_GUC^Yy#aaLfs$^> z;OrU_kHO3t@XLv9ZM1pdVtA{}b@Rzu9&9Ryt~L zSaPi*cLB||xy(862uoa@6Svqn!a`MjXPgo}_Z%Hi{)Y{Rekk|mZn1gAmt zc&yg(`gz3t;Ci7w{v}d!RwY|(|D5wJN6Z)Ox+n^`jU@l7RpQi}hu+>`I!9>8&B|I| zSbBI|tT-AdZcZH~M?D{WQp?pxP+4x?VWTlQ^}~lG^%-h}zi6pu&ock=fEQ~z+Ar%) zm1-JSbM{A*%A_po4M+#N+ZO(sQL8xeaWfsG^%c^}B!B3gbA4L5I^rMEJ95GuU!y2| zVEZaVEx=w#Gv~#tbQmAZ|N9;P1EM)ic4>?p4UN-6)j>B&x1I3b2QTuaX+8WkgpYV6 zqdxc>7Pg}4r=l5c3?c6u$b;<0gnG1T;JfZ5lqtYVMnz2h+7&($1i#E=WCc8vtqKT- z%xl$+<${jZimUG7G;q(ZKSp3rBPk~XyBkr~y!8%g=6_u3@VIW~AAj|J`0YnYPv75< zcx0I{$J9`xIkTI2jym0F=%^RE+tN|Q#^2en678Uq)?JWsk7XnVWLGJO_E3^Jh!(WC z=Y#rqSokB^`G45Eg^-jsCCnS+$fXFaFs&?Y>%}0vTq|-_Rsd~#kUEJr?+q(?G(mWk zNr-+Mt=e@=5?^}a<)8SmP=`>f6HU6b5wYD;?R=BV0p;jYCkBF)I^msckR#(4F2ag5=fv@SF}dQ$x#a~e8`I(_EztY0fUrI7BY2x&FWDOT9m*@cyw%%}T5 ztTu&XTrI|-t~gE0LRwHT`D1YElvqn=N1IS*n?U>ub0Xh9=5$~q@%|y4^O=G2zh!RD z$$i@ZK0KLrV7htWY`wyc8U=-XT#6isB(JcjwbtDD^`0aDtG}6)d>Un8&z>q;Tt)h@ z9&$Wn%W*trmIaN;bdy^q6KA5>-H3dB12ZdN?@7Su?ELr#LL}sj{__Kt&p01Z?2MG$ zQNyQ2JiXxdI`4@VVFE8}J8Tz>hW>0E(X`fDWDT4P;mTcykzZ_{%*?Ql=-86847a0^ zEfVrF-Iq-!fEAN86p*|O_>+W4SE`yFNIqE~*w2Rr0%XOAi!L;OtJJw3p!}6!C=+UI zt?vBQ*U-v}#p!SbyM>FZFatuY&;E^SzB?W)3<=)(1l_+N+Y%oPe%;mTZ?5|0eZSjL zzZ=TiCl7c@CA+A8iunbLIcDiyh-+bSjv8T=8kA0H* zx0yxvm04}_8nx$i+@h6NJasXxUM#(H0l&062QDFXWBhCtUsso4MkhWARE)gI)C${m6w!_0|jP`7wAJi+5%+Tfn0pwL&u}Pve4d8;@T63|nIuV`kQO z?68m5tb>hYjLl+IM`}t* zd%GG%*7u7nJRBBDe<2P8l08SX4jG6M21-!dA@oEGJ2 z)Q_J*0q?-#F0OoX!o4O`O5{hbDM$p+rL}xfX6_GTZ=|d^(L7!Cup`}VXTdl*Pd2*z zEY6kBe!1qwfb&zNOrr@wr$%HaB`T?=0?@kRP_EJ`Mce!xnBiw)83oV8k6I%1t4fEZ z0pGth^$7KhBgvX8N^4r2m`-uH@srME<*^J^sbQW16-M&Nc!JT(T*kuH(03>6X$+=4 zYWvo8Qhp?Xh*B4HtTZ2n?ruJHfb=c=WC67rT8>k$ybogAaXIY@lN%%Cveqa_pQ^#{ zAJF|)H;1!jh$wjUp4>?2C)-#|nB|%?o+4?|H!YFq(_NB=9!`B>=>3HNi#>B4wQv^J zka<>rG#8%~)KNT;5AM%z z=lJIbXUo)vYL=4MCVtlfthsIQmm|6t zBsA4%wxepWqK*cJraY)t;OkE(^4QER8zya=Yq*oaq}Cx-V;(SH7~ieF zI2Q6kjfdOn&j>CK@Z=!4r!{34+X~cA&uVYh2V@P!^@Ufv7{k3E%8ecJW)+TI+-muZ^W-A{W3`WZm-XK~z(`?Aq0E$3EI z(ZG!6htmN*l`8GFM3~rKB?>uE=ef(a@lOUhsfd1$cmdX*0<%2X6X{|yg*~=1SjR;< z5eyQys)~>EQz3yQzE{Q_M|+JW8x312U`!qJ~F04SynecA`5t z=H@FkYACOcHgoy}@FHiL1VlWBB}P4+(8<#W9E;)WS5BjNPCq-eA}}#A^?Uf83gGQ) zdS*%D5U2-7R&CJmf7PCFRk)^>dCIAD`J#J)9lP**ufK(RHc<`mkhE1%Kys$cG?K++ zo*MtPQgS!_U^WGt_#ZYHld<2-o>%;c!oD+3Q8X*nsw~{WFl-t;=Lw_rjaLh5HWcTd z3L+(xzAjd6lDYM(=LZuCvsNGq5T5VzPM+*zozxpJ8_=`w@RNqw;9Gf&moc&szVqg3 z64vms6Ge7?;TY5PPoM0T{Cx7;i;a#7ICwLhu5EL7R317#d2(XPL}|j=U&QI|I7i!S zL>waTNvr_3KeM&{CgJGt8pxWDh`iXURzhn!ma93k*`Hm%&KVXi^{2&5 zzUiiSvlXWm$}q5{z8sa}B6{OKgOAk5ns|JR6HYgiFiG^%pDV$+{&UTR#*DJWU2nPfZ0tg`=Q);&cj_qds2_ z2)wqVkyn&Fzl$q&PPv_9e>)-&(Rw2*0%G8#6jXo)F8-~H3 z+aZTn=WI=ZsnSo##4s~M zFPllVUO%%6<86Hitl|HMExQSIm{g(4-Nd{1$>KLX?KgeYrcUhSNGbZ;kY1?Ko^(Y? z^@nr3ASfHFc}p5olLk>@g7H#1WxBISsCpt&Nw3YGxjH1=tM_`YSjcE8p}4BlSbN0Cl9t)Av_8 z+6a;+6uE%IIntlLVd3w$ZL#7WDuRl@?yjyK?Oe(p+a7O(BnJTo8qYNukUy)kN1GpDYcT zp8)uy5gia)d=?FZcDy)SgX+<{qbaFNQLTXQ#x%%!Qe_2VlrxG{((G13yM*)T=XrwRLq9^!)gck;fL_W?Kuy;$xq1Ye8bQ@c)OAuAj^f5b%)a`!2G~}kG#WgVnX1kB5_l7{Vsc1uv{n874 z{5GF-no3c8g`rLZ)6jZ`M*iz5I2wQU-N#yn;^VIxq!03{p?q$udUc6rYRL(>OfUQ9NpU zYu)edZoA&g^X>XiB)faK6%O``y=bUlQ~jA3-S6OK{~n%dtJ80z0H`my$;X>I{z38? z<-Jp6ru1J&)YRfFGCfaHeF-5|iz%CqSyLrIr`}y3rk?&*5Mu5LWYD!niroLui2c`o z_iywt!AX9_=0ycazt+v!%(2B-T6;wsznUx#JWT!Fy0!R<<;P`kv2`Ha}l$4Mt zC+}EoRkohJr&{Slt);Bv66_2*e)9#8XWVl9faY;ePh}M{Hf42yU@>(kfLzGhZ$y92)hv&J>yw2x*XSAtWK#IN|5sb*=Qne` zuF6jLnjB}=AC1FJ)>|T*eDqr(M@?6K^wr0I;&p|Xk6}jqYP3&^uwnLJdLATQ^wbOl zpBVzbLAd4JyIlpAf<+C)24h>xLda2JL1p4>7-z_VIlIkU`~9^k({c95k9&p3BuB(= z)M(zca#!1ezFqE53Xjfm_IM}$DqRHl5;R(`!jYA{E{X6T*jgle?A4Zu8v#;|wt3f|#LBhck<$_|M0Ta_AWE#|PE_A>IUE-RQ$dzp{+% zUHloM)%Tr*9X;^#&mX&lEE@5}7Ut<3$fc-g1Q-}W=jRRy2?>Hd zkSon6m^H=C%}dUn&ZY47hR0J}tX4I1tmThF!orwO%=K7xkEX60Y-H62e9&yyD7@&e zGJ0=5f&4R`_`MIupEf@Sg5fes(>(3? zbF^UqRnzh~ZAL{MT7KvBuC>*14~PxwFN69PYDDq@k+6hK z?p?p8>Jh|7y2~?;p6VN|_o)MO)>{qubVX;!9A~@Uo4oK|^mqIl4_X-P_A5+AR0GmL z`QvmcZ%+Zc_HDP4o40$Q$F&XDF93$S)!+ZN3;Qq|Rdj_pSHijN@W~JdXM3~{18V>% zh0BrrqeV{)*GsureWXLya`iG2!jZc&o~oASQJq1PJfekX;=Ud;%(tIQl?jN~vAG0Q z7H}h#*$v;nIWw1)S)T-mHDsuGDqo}}|4Jx{6Tn-kV3gUqny8&y!~~2PU1%AU?#{QK zY-{L6B~5$>gmQq>dZCuB*6FsFZbO;&|`)5c?p5p4!RIr`1=Ob2^TOu zSy&>%6sI${z2aMhB(utL)Veh#u@TF3hBav=%l1!yxF?n|+plwKyNRmV02OLS%)6ar zz(&)DE+3v$#$K)W;%gM&opG{8EG&_|vi>|(7)7ABI z7tTPyT}KbZp9)e0&O9?g$;{D(E5YZ~PrB92JgLnmPe5Ea-3v`+n(rII4%?jiavKD$vZ^qEX}9X7rb6H*@j#C{*A7zxMs4QHv- zja65Ykw;NwN zZDT~E!9%x?T9qO3TD$xu_J-roD-3LWZ=a~~-}?0Gb(~e3yh#_fkO$_81SLOa7UAYD zb${C7kBWoYp-9MroQrp--2p`%>t?+hmVc!C9A{gcX6trPkSw9lw!kONxlH-*G>Bu? zV92auJZP04veEpP!_D+ISun%KwOdpQNt)%M;~kWv&LCm37@(b)xy!vMTI9=D&bq2jJGOCfxFj1DsN>E0$y)>Jl4JiljSw=Ltu@x_(UbwcL@3Rv{~G% zx7yQgj<0C;Zj>BevVy?bMTr3Yz>ITwC=n|HT8 z#S}&F2Iu%)=%P*F-$?a04us$Fjf3A0ds9~Bdc`=%w!l(~7e1yrc#69pYwk%l!#1Q~ z+&*h`FN!sfLlRKfpsV(hPtszR-jG#EDlC_Yyu=YPKJyq^dTD3S2te8aq~?mtia(!g zJkxHJccKn)e<;DILmiZo(u%aesj_dB$!@WgRaVkq^ZK@5VW6cuT`%Xkz*;eay0jFO z*+wA@vBjKc$j!$r=?9=f78tD);M`t)D{~aOze^cbN=WohYh025YzC-O$2lnAb2y3QSd>2l;dUzk&m$@#1OBK6tBu#CY>D z;DQ=xlp&hwB3E%?2?Uf4ng5&pW;}m5eE7?y(j!5Lk2dSBZvi-i9O(jp9=_r$__`&C zKlT65{`6;m8@#2x$VJeS6HpxoI80zvCDzPXmHry2B^9PgyeKPIwp))n4k<(NpM1|a zHs?z+n~N44GkRxoZ%`bJ3QAQ&l5ILm)!TBaRzT$=XYW`0o8CD+yDnOsV8GWt>kk27 z+bAB0F9~e4hh3;c5O-Cf;|dWleGB0d_hF*fSnl;rvjH&J0q{Qp9B~ERo8FOK{Ai16JRzGN)53-LG~`C>q(TGS)=` zcxd9-Y)t}V#2t#Koh+5c;w+>Dm)$DH;XXH%%OzYgZrGWEEIffeYVevN5GLeL28xsa zEkVPc)B$!Fk!)~HgFsKW_tBMh%}q@7dy8@J%x_;;v}`X1e#dv*(#dh`PrXLb zE`RLZ_3)QFalOphBKUyq+UvLR01#-B=Mu?}ZBaPgQh(lhb)wr6TTXpd-GN=$gnz*JO?ptYkG*921ci2JS3A&wgx?VP_{)^ofHyjUW zzi&MB`r4y_Ktil`5OqiuzQ_5$eW#-b%<7}ZeIfFH$=rq1VU53-uCuGgYgys$<4ra@ zYYI4PHlz{dzX%Wu>A&E#XUTP?|kr6839*?znAw%$h1tlN!$g=r{WR=Ikmxq zT1S&0r^cl*O}S93v9ikC+U_F1ig-g|pAr6rL)xzu-qj-U)_T)c+JszVK0M#&of`n$ zn1y^6CPar2pV~VskoaA;e31FxB!v8;M!_Q%(g@cr#Yut+y3PgX zq~m-yD=HnZ&g;h@)M3AyNVvMH4z=SHXej~jXHnd_5Iz8A3h7)l`J2&2JKyt6w9L4Q#9J|SB9|od1%VfWjyQjckdN^S@ z92L(UwFhj6WZ`S^%8PUV#ETVj6sg=p3V!L_WYJd&o9bB~q@PO&=Pj7Zs`hNgNF(cL zh7%~uOA~~>xmabF6^iyW0dqJfq3pXPY(O6E55&_maWeJ&a-Or zQ3pmW#>`*!;?$nd9)br$G2_1k%4;fh?x{QGp#14;OZ3`XZiZ?Ha=xPWu=B4O9ETl( zErmw2N;T_{Z0s*np<1;+URC+ZqJe_W9G-%|T<5#}`yT7wsB3{V}xvNJN%`ylc>$B?Z$l)nLOwj^91s z31l9rR`w;hefV ze=nBDA0A8ueRvG+Rj0Z79kFcVyv|e}yXvxJ5gWnq8@TqCFd}s3w>cw@-N2h7#WgI{ z6=d!Q;JrM?e70I53WQ_EtWu||nOBwktbdV|fx7&Z z(tAyiFt}k6Iy19@KuSjK14}tdMeVg;sxwxmqOqsY@V3w>%Zq%nqD>p`9h^R91*q`q zIDTe>BrfD2NU0cLG_`F~UkPuEa9xosXcf~(brzjxNLB3Oe?7lnWE1t3P$tBHW z?7C#0R4{Tf%^B*aFlHegeo%{j{>2VrgqSzvB`LotZgU3H8x2InN;BY5=%w&#^hlem z|L~jAxhVUDpKwSb-tD8G&NpF#`JT}38#MZX@C$tN~nZ^%O8wi#AWz3m}_zyL2~& zAW(r`Z}(lm1;@ds1F}1`bCqo)mC2le6RfJpXU>dUus`1e+4Y(SmD`n0Xh)9fBpl@c z|HI19i9$q1$%D_+DDSF_9{7{}t+OP$4kJ-D04l_=NYWxrZ)K7&Onu&-Q*6r*W#- ze|6k$hVR_l>N1#Su&G1lL+rHdWyT}oun+czq7~HED$%#E3uSCunn2EiBYN(+DG39} zZ(e$wQk?GGQk?ok_NwOo9A~Q3p8wPtQ0}Q2$v+~PHE(OLv9U!n2_C)yKjdh$)QTjv zH+aBYp#6ImKu+ipT|ArBVaNGT9EO+-X;5sT<|1>2*>e$8c91?ypbBkjqthJI_x1V_ zq~8aHz!fM$vmGY>8c_~GV=u{Of_a1p7dWPlA5O)j!ks%r1XsWJcJp+%w^FQJD~{k_ zeHI`Mq(}!yx=Jt{;o$KIJ@<}BZkN@D(@HYP6L_R3(d>7#rIB6_YoX55wQjXWy5_g` z58=d+jedPL1J>h~B<)x7p=#AB!s(mqRMk#mXOQM-`E9lQNe6KGD$^I@``^b0-4h;q zPxTX-=b=o%9ePVJ3=L%Rd(qy$0sc&fT}G2*HU;9^oLRpq4AL;4HVrZl4>qvDJ@9gW zo2Qu7*YhU;+JcdcLoSWnXh8QEM&l)nxNN@MWipmTycJpKbiGSBKi4*}T=%3(W03(t z97K8p;+G6U!lxCU@`(w;j7lS(1~BOw?_8XpmJl{-zKl0KD?Ul>)R-o-Po__v-yq2) z*Q`bj8eOEduJzK5#jsuX`^Kaw_e&o%zR*asv-P}Pl1O9$@bqYK8I3ky*gHjFFCh4b zcxes6d@n9+?59!^q>POoLj7dK^0_=V$Pf$vu7!~8Fi@BucZzaZ|9n;+#k!kqJCC+J z;6y{+B-qlbsmb5K*D?K1+qPHtU7AzyW!&S(J8HmN-%~bIij38+x;es$2Se!x}n%;i=gEM zo<^rXC9n&A$>}?ra`EooLCbG#)pR*t@H^geNUqDb;EjIeZ z?$MQ)EJL+C33%~BTH~yhUY@-f;CfI^R|J0!6fsK1$|=&ZE`V|sA8&NX_}a~B(1z{l(7k%9sNmzR2@^>UD*-toN$yu~6w za(CCN>q+vCv*ol~x7PRKh*;T&)HULWA+)D$`{%6I6>UZ3RGz880m!v!wCXYQ@gb6= zfU-tyu40wGA>&dL?BlR#qGNJ8Ol+Ei$3U4_yKSST*~; zK`Rh9h)odvbo7Lie;vWEWWTGQ!kd#k`gG!uaup659y6jL%`A=^!*P{tmu|V-&zo;} z)}z-ZLK=Gr)Ml@ii8@wi0Q=Uf4Y%IJ;XlES{IHgnm>mQUZf`u947MaH73P&$?2%KY zoa5aMhd6|)fgMh$N+(Xn9umy;$hh0zu>rIBG3t=WRK10uP2QD2f9YZVxC0Fboi2ut z`%4sya$$JQSgHwq#?wyVocT`klSwQR8P%cxdgPHldt7M#i15;(sLnzJlKVBU<-laZ ziB*%HMo8y(UxJL#EzS+jF5aG3Qa3|^&^qq{*#X%u^eF7MQKGLE?4#>t$Cc9ULjmgY zRY^P!v#$)K{*%BNOsykw4VIP4q!;qr1rIwYpi&M9Vu6*6z`DGt2{vwkqPf^+cx zP|R2=MIUc}JT%JC?z?-q`~`4--|#V$pEv2&e7^htz&atQtAgaH`1AAgAlo!KXxi7z zgib{zYb4+!8crfKax-M;iP)X&cigwxYd8cY%Z^BirAWz=h7*a*?HA(b>xrPGte1_O z^UGGLCTEUH6=yt}c;G3u=kta8-EMi-;50y!C=b9Sxk*qJR|I0XfV$eaIQAi3P$D2`dx}vW#&}&_} z*t*skEP@p0&~n0|re&>P?Vya)kRvS>tWpF6y)G!jz3P(0G)UAxY-GnkV?ua55<|}N+IQQ($&B-| zTHXc3dtOUE7R=}WdAe$CKsAO#$De6Kp1e+-egzjU{zLJ{KtA2Qt z+&Zxu8iZjPAX5OY-#j58l?<>qa~d5OcdQ+rT2qVYmT^M0 zIxW5RroL~kE3of$s`NBJldko=p=eo5IdA4*un`Gd=${v8yOX**h%ehY)O(iF?Nwcg zmH}#O)$ik#Ou=3^o2A;+R4jWk+?LGHdTJK>ywu3BSh!Rq2Oi9{HqF7a$28K7RmVDx ziI?q6${h4Dzg+30DwQ2x48NN%ThpU;WSPetRQ8qABWPB)$#e_my^0!)2c%F`wLjMK zau+ZwPZ6gj^V40#V*RSL-3pWO6u}sDurl@e!b!5E-aoyPP>ALl$SVRgkJ z#|D&p^C#H8OzWG-)*1<7uOR5*50meq)|zeL47Z^J`kl88-sRS9OIT(u*Z}yrAJVp9 zKpz0o4C(g#5H@psR!#ldx@AVW&-5C8{ZJ6Sp@no{@=%mqYmxE!AZg*uI_7CT`#~_~ z6OSNwt4UFBme*I~*?TeO&)dXP?o;l=eQTvj9v=?n83_z=74#Adz;l@EPsOHry73M* z98qt|BwBtsFzsya<|W_ubJt!xz`Aa8@B&@KMIBvvZa6AI)w*l$4<|-*4)vbV?#gJG zrjdL+8Co;~DG#tI+;5ik=Z7<+8wX2IOqeZ1zI^b#&@-88o^^QXnKqsolq%U*rb?FW zP+n_w%U^k1|EecGnr%bc(+r^f=(}srO{Nm;I0bvNM20zsTXUorPoZ~TgWxDz7MGzl zHv){yVJ`PoZ&#h`XyP1=Ni7Zf;S}lVgLYzJr}iMf{bm5WAUKl?@kcYg%APK>F0!i( zAdw-&GY2`FmE4VU1%BcS@VD8InPymjVV!*7Y^cLvFw1*r`*hn#Qz7>dPX&(jGMdv0 zjhIHyV{HB3i#E2Rz~^1guBPAMxQmZ_wo`ah(vZZXY;eGZ^_l1X94@qCExUiJwGFL2 ze}miNmyEP_DPP8r!+pab?OnU46 zihYZWl=kd+2NV_bE;GKH4s=*F`Z8}_YpUZOTrOgQ38EOmSNx&r*T;0jPb`qNq?6fx zh;diqIbrO6+4o=^VKd36&EA~OaIZY$o3C9Fh*1Eq>uq1q|5-%t?JRm8#Ry}AlWuY+ zzq8l7-+=-@%a3WD40ijrZhYLuLO3_*YGJ4uI)Q`uMQ9Sn0Rgi zjDn+@={oXw_$8Oc_td4+W}RRW;OA}P{Kt_bH_MVGb?jr~M+o&4*+)(zLKDcU<{fusaxu9$Y0!KCcLb` zYsI()VZauwM<@Sm`!0h*mrPA9Dq#SVmtJ~pg&Ja+VM=Y#RqNxWaIDD}x@Jey|aB=Br_j^_oDM(4XLh#-C0MbW6Y3P<=NpdnVUjDv9!V*fTKXB!Gl zO-t>l{8!Bv%umB*kedZKO(aOa*zXA#jbeX@^c-zn60}@?gS+#akQhYk*@dN_mg6QP zVEtr!lTBMmgczMTX$HS!q7{mx>{m;P#++r<1S$=DI>F>y7-o(_dwJSe-f$hdgOTC- zJ6<3W1Ihfm2>dwAkRDx?z8)Ahq(@Oo905~;_RCbKW2Y%2j%V`PcV84sDRgM3+Ez4V zm0oS;9{h?>#Z|ePW8ij)4x}r7thX~HN0kLL%V@S{WL~hflHx8f#nXV(G~0F}%*f6` z=zt9*e)n^gTJ`blpoih@p$#(30hgiXo90zNYEwn+Z|d}U^luK2bYy4g-F+vgnUD1B zc3XxA8RX-^@`}=1WtH)Ysg;Xu(xt=q5-D$%^YGh*F(PkUwE4dI9pO+bYDdPF8Sk`H z7*EdSoJXhja!s{VUT6O-^lsE#m#T_&=!uA>*HLZ|&AflU$>_V3x4p+aU;^u6Px}^Y z^Enp-IxQP`9aiO8`M)Kt0lAVgV**d2Xa99iH5a86>4D zNv=qTRN3`}>7|=TYk-kBV%^{`-<}nxQ_nqJq<>ZRWbe$l0VT-pvhKK8`gf2*7HY>@ zo5SFrB352{*FJQ$L6hW2fy!D{v%7PXTH_&9>0PdGBl|fSCJOUEYxl>l!Vsh997{$_ zHoE%`_9%bwx@X%|bf{GU98t&npFB>l{17{zSH95WS1kW{E4sFHd#_-vrPlDg_7YV- zQ;68+R*L|xRl%U2>s3sr$%E8lC$8J9N1~M~NlXAQr&>x{%17miXS&tZKeLfA{kx$m zpufCzdXE;0JnRd#LjE~5@Vlg>Bsr4FS7ZHH>z(Q)9Ovby53yqWhYjplj5a4wSUO6F zNBw+Ot_??8*G*adTynQMhWwj<)enk*bZf*Nq`pF()NReNUgdjr%V;lnphoGa1zY96iUdybGY<;mbD6gg^_C7PmXy3) zFF^0v0zvG)S?;?jAVnt8Chs_s9|mM5=O zQRk?^`s;2h2PTIEY%=rY7F9ge%2#5jXckkMqAv5~qPgK}_4f;C)O^{;z0N-dH!xzw z(!0vJ2qIe?DAQy}Gny=sg%ps;nV>#OY^Cn>91?so=Outay3!{z`}Mu;Np0i7z5uM*9_%3RB^9T8TGL}ws6`;q<}^dGDBuGLxmW7A8}P^V>8 zoia*K4+?V9BbnslN}ZQ*M(01bVM_#ZI>S8JXPqI==}mhzh)wcoxGy0*4Gkm-Z;8kL zqtAZ7y+r%hG-IYGpNtmo-=)N~2DZaGH!KV@pS{XePp`TS8pb|+vljej?|VAL@+4sc zjNgon)9fSWlvkr+*!my5njJ<3zpudl!GcqqG1ZbIvPqg(z}5QV{$4jt2-{s1<7$Io z%1$DWPJ-jzaP_J#ise%{zlkr0>YQCVWtf6hC6(LkY3*!YVw8a(HLmv z0c$n46RwqVI5~lVNGtxY8tV4ty8QS5#n)SgRkgM6+Y6V3l8ST-3P^W%cPb?UQqtYs zBHbVF$tPu;_T_Lih9RXYb$tJ=PZwzcJ?=W8C+3o!32vG9uXgFbhL| zQj9;zES}H__}MFMJSO<_q0a;5TG9NYn0zHnK&vE2z%->p6Fb1LW5%ru=I-;K3as31 zi8v2@i$~7cx6Yau$)Yk$*vFVg5m8Yv=# z>@tM>rTFLzu3srMfC(R7$hyni-1mG8l(jvNuZ0C`ybcx)DLGW3%SDezhIc4Ho$je- z!RVJ1vGUTM-PEy!tjdph_toysjEuj|j0oUxM=m7G1^SHk@nKBC<6*J;1tW)M$h4e} z2Gh$1$wX4Tdh^A3a8)uI7qZ0E=~{H$HpkXF14;}2$p%^;wx9N0pG6XVbPsj=wQWNU zVzTvsT}7kez&Ye zmpo$!=%3hQTONcQ)iO3bo$LJ-{nn8a|0!c1&`F7UM|)bzK^M|*>g1n#2s(sWUU{xc zIMFv45DG+(k#W2b@~V(BS{-)0H3GwzGmnqMjdkyND)3iQNW1*?Q`Ada^+P5l7f#3N zWF0LsPGJxGhcqbdOW68Qx9Fs;xpL2bXvp|^IrMQGOK}EzAW}h^MZ#L!uVbwd%|c{b z!a`_iFhe2^5Ol`w%T_a8kd_DDwTdGejSpSMBK z=8(nIlbQQkC>q|+8M|v${IUwQp4~q4xZ$}WeXqWy=pIt^>`NjfevC%%<1EI7ly~$M z`MC%*AnQ5cZIls=B87+63}A{T$qTT;7J?C!Gi-#oA0U_ylxiU}bN}t7wY`JuKUBgb zH>%;avY4|Dr}D_6;LRX91_mctdFJ~_iqzOQ^d!g_`F=am?Y%E=vWb%)uFllVzsJMF z_R+JEyGoStKY3&ahXtkoo>I;V+?; zC68*$*x3{he&`?Q`kJ8n4Ih=30|Od(w9V5#uI#2&0B*s0>LqKkovay&21SssQY$3(;ZBxCOOCgq|_OCiN#0om!&pual=(IBS-F_vjw0o#dm7j9!+_SiW^qAaFloZ8VZ z1;c*h%G(r}9jNEzM#*)l_wq?9b7s7xvLERw3el$VMR;=0hVU+?`F|zfTL$GTxV;}< zKH<+D;e-Ti@C`XP-n8wv-3&6CEOMI-s2?;Qx7~+J9JzcMiLrxpWMVggo-b|rBN*P2 zH(P4C6ZmW~J)XO*k85M|=fTptUFbzo{M5(Zu)2ATz$16b!t;y1&rH)-^gI^Ie~bff z?Q)L>Q92wg;2*P$SMhdiq10zmtwTiphY-wlC84u}@0i$Giv8v&^468b%vOiY0}+(z zz=gEz@Pp)WR*hb$K@qHNcg)5Po0UF+qRpWHm$;WRA5}iq==jt&ul%C&qKI3Fz4N+b z0Yr?XM~XoH5?IZ&sPM7Kym&!{d(@c zL%ZE_3)`=EzWY%Nc?;#A9%0|@KMgCJ_RPvJbJs=({Ce7FN!+m zb#@rs<24W%(Kot?#;9k>%7==Mn?665IeC$vCV4*EI~@(?2DYT&`QQue)+6Gzx79RC z`$m9z;I0skux(g)8{7iewjR1YO73o>7wy0uThX9uJmY45qK-!jVfE;xTBP4*>(g1rBk2_RTlI7VXw`6ob6n>pW4v5OSwnk7j=A12oIp5xh~7 zuW7kSOHWCDck%8mO$-MM_Gj;(Tp5Il&n~}AcudYBrmgR4e*M*=7J^PhU)_+5hfx)M zq;F?pz`oXBK!k};6u(gzk~QCb)CR8uJ^MSn~5Q^w0qRrUvsJZ zI135q2QT%gNt}K?>)>BU&R@G%`negtSqW*K%eXGO@Z!4x8#{#OB*K{VAy`k*m(hf| zHIl0xibQBY?3BBGFD4_{Q6B7tV2YT-jo0w6EZ?P9cn%Vyu*_(*7E8Pmhn#n8zTY^n z1g&(?QJ(8wNYKNJ`M5n-cSYbV4fMo0*Bk&_1>Ht6ddMw5{Jabz$L^uPWbrb;{^XyU zYwm<#aVw~3@>EFLI~sboQwhUfSQ`kzUcx`-tq8v9heFcuUAcqks=UBTMv*UNKUT++ z?-k_{b-Yas!9R>=v3roSpiS*+WRSAqa=SQw*k^`x9CA+E={4jSJLu_d!L1SEqn zYZPEkzO7Ix!I2?3$LP{(m}kG3;I`k;52 zMWI#&$NbQy#>~D1MXUYptknbZAu&RmNMPr~qtkGFEpgHH zN~a66Uvjp4$N!!Xil7SSmP{_X&j}(r&8FY;!(q<|tpcpzM}*}a9Q{%Pb(j-(XVKq$ z>j+H1&~N$RX}MBzubr+M=Z3GrCG!a_)=pXwRjf@>PyPAEzLy#AezD=y8O>TW5iCx-PD$=B)>(>X+2ns33EslLU1cmbEJ3$lSZ7 z3SL9%Lysq-;Zi0;)fT?yf}L>UVc8sX>kHp}735Lz3^7&a+hRCEX0_h@r_(C!%L@#1 zw@D!NMXc7ECss7ASc_wOUh=_j=g1kT`&9A!$6>fF}?%PcSj4w8S-(`_QoYtFHhv=u#cWO)m@-2 zuz{6tje~X)Jz;XPYo*&C=J!(b)5dMf*)~Kl6>Ui^)7`MH@L|+bh7H4H!`O$7t1dEd zj~Uhj)Mxp|c-S>nY0fXMfclH6Yf2B>Aysy!`u{w!K!aIbfiCQM9H6#~K>u&%BIun+ z#Z1bi!Ys*BtL-9LZ5fV8?9^%vC28{kmoZ7b6ZU`!fznaX@B4&0dDGdkN6f7V&q+j6 zBtu|my4~4>BKW#w<-^LI|G=d*oz{2GCmCFF*&Lx10HPfVlKk5TagMc5y!?TVzj00a0L8fSv@jbJ`M2fbf?| zT~||Ggsav+y#cGDy^};i1`)!(rT(lcDUcxDtM*WCtq!^?J`WnJ>izywn+L$Z4OUp6 z(!oGUuTN6(49$oYpZavL>o3KmapCVL8H|jH-%?=%TN!Jy7gt%@igesw2U#sSEgN=C zdgK1u2-_<(K2NW4n0Dx$n)`S#RaY&_dXo z0Huz7g%D)3`n}zp5TlQy!)~a&2G-^Dm*I}8vB;gdd1W>;?*QNsD%u~5!l}}!;o{Jq zn>u|U71_=^QwQh*qK9DIS>LVW&;vwUqpF#zJ_f|G7K)J;uP14OR4{G__gg<~Z!&NJ z_7+>g(KK1Z4_B|-hcZrktInm_Kp7VcZ9=97Dw>b zYBu{W`Bd|^o@W?CSruT9iI4t$=AY29SXPrJ+s%|j#E%0QXe7R$L5Lg`j_0^f zR~zO1PxoBWm{I!ZY4`@Rr=c;Xr>oYd5f;g-220>2EIR-JQO4$uKt=n=b_2K7>x5L6xsI>WR1Y@oe@a^A{9>44zFG`?u z#7f{wN7udX2e5#woOq_fD2{86^B2&US*VNHiY|8zb{1lF-0D?kRb6WDgMUMa14A9s z7BEoF8HULGbb~hXCJ^~Fimz2(H_YRBt}9;$@(f4$ZVn9d+7^C)wY_bQM>rPj=?d}V z4+J%-MEwjpmAYOpujcl(%Pp}6=i9XkU{8!7)$sLGRkmKgQ2woZ@#BZtAb7R^eG!y& z`rs8f*;XO(u@@3AVof>|e|fEDd%YliTr8{7F178QmpGQ`<*d4oqtd@V`3z6wNo*jv z;AnwKB_Tm|BU6qi0{ZM+WSe3ZpB!HP0WEp^_%d>O3^uICn(=eXhl>}R+q@4IMN!SE z2aRv=7cB|?E1&#T%UZQQ{{CvmZ-36g1x$g6PD`)+m51AfuqdRx33Mj@z86~_5oEX; z^s0#Ci)%$i^1C0rgn@X*c4Z1Ji6K~St{9^I$nVjG5l=sng8N2V{J-6+(YXu+5`3}1 zFLCRLp&g6VpSADX zO2b-C(<9X4V+KarK}hGFK!24ocEx!84UY)(cS#S(E58rIT|gC6(8;yEWTaN3NzFtu z&{aLZagKlG_RM?tNhpSpj=C#w4h|))QfFpBF2x(1W6nw*Dkde!*zZWG3i(iANLkn1 z6wvNaIjzmnU_tmk7csQX$INf;vm=SLR7HBy_{C1 zn7uQ{YY5W*N107Isf$ymUdRcFs?dI|rq=rCkDp|ARu=Lzd#fycX7Nn4LyZ!rca@-? zgn$kL>|-QXmSEzA&Gv4kyYVtQbtIS3Y8nP%=vtFTq;#soPaUC<6a%-v$VLFD0AO1& zZRL>GCo3hR;98~DPAxGmL`5)umoxPzRm@id&+?vOWOWJD_vtZn)M3W)JjvESYd`pe z(S4O)dw?`-xiuV1cwT_*R%8C~w+<}U9?X7M92Pold_8JBHm%j?pL~lChdUz%_35Mc z*xv+7@+!d+pZNERlpuVIL=%AjZt&ZG|Gv-KIQ{4dyn&6Wm_r6{ZQ(LwY}r$?8SN{V zPu4-Ybx>VuE*iU6*7J1jx{`b{-DMxCMn*QmO0!?~Z<$IEbML-c-Q3TSot(@woU<4= zq&s*?wn;Fy9l(4TeDBoknXbdB)cr7zAtH*b_i%|)6}|)j*YU0eexQp0D@Siv-ByBt zg55oq(YHvflj+XqQ+n_jvv?xiePffNI<5XdnY z^3mT7T9F45YVr}GSS>nQ>6RGU4>S;*BJ@aV)rqsll(%&?WALl2;Si4&AkX7J^AIf6 zdQ)1FzI!rLYM4h&d^w{tW}jvxLg1a`EpIDmrxvKD2rmuFNmPF|9^_D7CON(lQGimX zq&spe_H<{U>EVpAeMA+UU8PP`hDs{(Nq0Y2h@PAr!AL93%ugJfsUg#AM9&gbWq>g? z(-(p><+dGQA_W^NRqt9MFOOqB#y;&cYlt3MX9KK)4L~O1W1MnXqW=6#@6I_P%gu-Y z%n11Jaa#MxK`=6@YnE81hyv<1y8$?S66N>-2h2Wcow|;u$R`eMu1ahBgZy zGoPjw7z=IiiKeEPNgUobGYH3tC;)6bHHUplhfje|Af4Vg$2IMHxwr&x5xX7&g5@0I zneH}m2XGd+eD!^J419Q>lofzgaKFkQ*c|$($WoVjQvp8Ia_U78pR)m=WjDScbxp#U zG3VvHQ4RIldW?ltcpDWI3vuz|D?K3;F0ogHM$}GsT#h^KzkmsNC@ZSnfcO#kH$)bY z(~#jJ54DA>--A?pU=f6aw>e~(zU%TAn&xDnSNR=Rn7PaN5~@?~$j?^)O&Iv=^_yQN z;MZv1sncBb_kOF>{=B}%sg7|Ed`>FW-hTGm$L|%^I9cZYptDB^4i;miW zlif2Pbnd$UBTgfbhwP)xluu?qg1cd8(W~4PbM05ccRNCY9=D7; zfy;Pqm)b_^ZDh#;dAZW*m%uDjdOo9CufTFS#@NXurU{e$+?)CZna8gdsYh=>S&H1g z4X_2isXTer1TYPtj5tC$;Nm>skCpjj1i_VhxSscUUeN0b)fNTV74xLl2_V896@wtt z{(qN4fBt;^FdJ@^g5*F1`tN?+?Exz7ccL|ZWsS&Wyz0;^{eTgLJHZ<2iUfS}WH4MD z-1=S07*k))iPU; z+|j#U?53qzJV5{c53?oN#kT<%9>!`ipgC1zWigBxUV$7r4|bVz3sF-Qr<}5iMYs@E z_8ZpLRNoY~U@qwiU zPklf4QSHVO;dHQj^gcguKqy8L{4NZyh>KA>D>f1mx5$qC*K67zU6&+eUbJ}^pWw>hMs|FbPnvA4UY0fLev!Ry^SwLUhL9wSUkL!y;SCd9F$xa4Q;ce<=dt$M+_Ep?Ldd+6LDfk& zvwCqJ40Qigj@%Fn5EK{e`%73IHx3MZpfpDU0rAtWd#L2enU%aCB=pr zu=?J3q3<670WBLSn!h2zpG|TlcjlQ@AGgoWDLlthcoqCW19(17#BhvAZlr(tbUx{Q zACm2xF9%^Sbtp*$Dr?1=xb@y9(Y?QVCZOj&DjurKDw(~3mh`T*<#FStXsE7djD4x@me7)wTK_cye%!DPxFHJsYU0 z5cnU#UN#J;xO3*`13HwKWkJ~UW~yc?MSIV)!2nD_Kw82=QrP>qL$HpMMap3wAC7Mq z>9Ozab@?c_=26>0vHO0m9kxHnVsx3DiCC zcg$>ST&tc+&v>>lt5qQML>Xa$A|_|fPv(a8baIdP^zthJgPiGJRKDc~*n1=|^0`BQ zz!Va*{Rju}q2=D*mNGYuwrh=#WtfzMlxK%y>x@T7G6bk@N_HR>=W>rphV`E64n|AM zl*?|uI2D%Mg2+5=c9+eyz?=Bi5ym8=%Fr5>-;AU@aSf%FVbrD%H7=8}pV}d8+53)T z^Lgh`HhA3C=a%%soRFtLpCA5-;cvo)_O>+O6kbEpse13`=g!$mNoDj$wySEI6~4*6 z-sX6qYImmw;@}sThK$+ ztq-B|dS8~#VpOYtF-)0Z>Q7R*FV1VZaDe=BSX$QzlGQ;1nkwN~W>}`6Z}s1b({<31 zFz9|n|0fG|C&}OcyCe^qI~W)2H*JK~8u&CGezRM4p;>g@R$HExW2nxt?gGa60e$9KIUVJiAzWF2ksCaK=<7v;5OI*7I6H zrbLISkYPsrWY0;*om!*tCl^)o$~&85PaBbRRXIBzM`atcu2Y`K6XKooM{_1kiX|OD zyIViD`E;$nE^dKk6$q4IiZn+FWt4JkJ_9N`WS|GSW{ih)o4Bk34S-w5mCVeBQe7t( z_g1k(g%RhLalhj~OgiAX!U|M2`m;m={59~lW@`6C10Xpzv6nWPRNs*?6Dih1EIiMo z>(@_cN3CFm!GxI-=gP0%HdiNybTriDjtqw1wY z-CTm-m_j-adQd)#lKyib`?TGj6zFdEBi;bZwe2-I3F~!FE&pl`>DjEO1z84Q@-zs( z{ht6%MaxJz<*L%vtTe#T^u!)ltZf-D&FtqgIIF!N0zLg%na>gU%&zjYoE(++3hc3f zOJKHj!;cdk8@X$TAvx&v&!-+IABY8upXa{F*?g|HB;Lj8x7U@#BbX4GxyS$OSXWwK^5i9n5}dYVkb z_8Bd)LrQMV=5|kSEy4w_H};uN!ZaJ5v2>XrtI<2Altz8Gv-jBHE(tb2nj~L*;p#IS z%8(VHKGVdtsX#XIb_uSuM;coJ{E46#zaI)LVjR^RitmERF`qxkVkLeq8_z{fXvPdV z=ovyRJmd#*9{{_7E^L1NWaRm4F~PoXvXdEzJC-$kjeYTVp4$KLu>3uuf;CnL3+WKT zsn7|t!Wn}xtlCsIUDX$dGuDakt#{Ket{i0aFLz-(5<#R1lm|hp`{x9{g!^t^U+lv+ zYMUPw5_tK=%@U%N+O*cn>akK%%W|$oZq8svx!ZpApa{88Bq7!6~kn>9YWWK7`6~3%Xz%-J@4`Y{>CT1BsNtzY zg{RueItz8HfNkmxC%I&DIOv4)SuO~x%UKK%%u4C|f@Y9&BnrUi%1HMB=LA)i5)+Mi zPeN-p;HAFn^U?JP8OisouWHwFNM}Pl|AS%t0h3p7fIMVb-yFhwPs<(XLg#*o>e4jR zyPyHz>Jm~%i7y1B4V3EbwXM%$p!U@t=ILOq7ZEe=GeQivL;WC#iOAgSzRL?((JytU zJsx-m#9Nd=eHQF z^e}60yt#4KeaF#d{`gta>lb3dXffH}vJcYP>_A+~eZ^Xp+HbsIKjm*&D3O%+b!XaC z-6zwzdTSYfQHEZp8tq+Du66QoNiQrXt9w;RID3=EkqY!1_teRZ?q25`O=6NJq%w|H zT-Nj;r#j1-xiM`C=m*OGs?vR|>n>+jXx&Mm&~uYMvlg+@(6?|?MwFXPLy-M5XI*pP zQ;ll~pkhPo~Zqw4Lx=*&wd`UoTh>1>G<_LJ|MquUaGE3fy=U%~E@ zb3C(+0fwjY!yGSOzw^+}$XqB?f2;9k=|wF=%h9!k z%C3uinR;#I$s-DA8e^9H%8GDdpW!LQ!rd*e8GcNft|@egx^Zz?{V!qSstSU=)X;qf zzQAm2B>8D|W*cyIQopg9pz$UKxV@z30}dVWq6>uR8>*RaLxD%$>~X}7(FMa8Wb|CI zerwdb6w=kHB(q;+lhFU-gV9Dsw^84~E$z{U(6dHl`Pc^m9{s+3rK&Hz{m`}u<1lfr zFzZ+HZ>7A?wKeM3i>{6Ki=z6hZikLox5f)qYt|&{p`U%?U8Ix}_H|h_mpvBZZoOAd zSMjtpw(`s)(y!!khxEh&|IO+nMI>86R3{n&s91@HrWh9j$||=`LP#wJ z5o#1xZ4|O<*}(01cC%~t7^s0%`J81{*Q{)4<~{dazFa4bI@HJEr73x1K_C5YuX-_K z$*2J3^=s#u$aW08!)h^Hp#s)bXjY0461R@z|FN*<>+EvWHxuV3*BfbTPs%KeZ<^ff z4;DqJ9e>T#mKDC08j=G;?1~+kXkzi3-bROhzg!c-yC$n&Sz73a*bGHe%$@dM5#6R1 z%THA84OQF!*j>r{b>Qq~l+qO~+o3tO)T%V3BakvSF3y3bvCUl? ziHIC+7{8AJG*yRret>m_PA<{nmXD&=3EJimp7J#bv;}3UFg0l@q;_J$(@5Bld1_`( z>tP(CCoYDz9|3JX@F-Mo`1^U|_>Y)eJ^;2!f~PPzF>iGXDlCqB9(6C!f%ioZ4!5M= zj2)Kg(LG9tiL)4&hL+U6{9^NYgVu+n^(OW4mJS7NLN&J15H?Qa$9*@q?K1Tw##jhL z3!DW2iXVZ%EqfX~AnN>DzJAiN2-2;3i~dm<2*Vuq_H<<-p$J%Pspc7^9IZsDkbmI{yh=lSdR^q#AVbi{%CJtP{sj1GF9x}5u8Mk@<1 zd%hk{^yKuf_ZEK=VUbMDLk@q`i|97zEXKiMJwt&-4UT2G`Qp^ik5X;YX(@^hwI#v0 zr=+41LupyiNK0p0glz>{jIftPi9ue&*%o=D%1|^Xds^imygOc&e!c7aEE0Q;G zBy!m^oA33aCKB9>&P|H+0hLfS%SXT29`9PDm0_xEM6Z6*T&&>+V*TQ9A@GeuiZ^@F z!e~(#`3dz+6GT8t=*GnDjboq2Gu6VOZ=B0R14-&mgucLwSSxCM{H(K72reM{wQdpw0IavKitI#b)I_AZzupMfPrw zbE|GK7nv(EEt9Mrhd}yFJx)3MgbKqo$2PQcO0|*2Ph$#CBNNYWk&50qjg`fS1U-C1 zZN7ThnoO^t3z1Zc^PZKf5eChK0T7BF46{ z6_rH35%cBU=q4$k`<}1R*o)xD=lm<0@LG7#-?yYxQ=}Cb&D*y(*XXdv>t~e2#CUl` zozz!-%dZtYclDKDt6rUx`l1I1o1$Q%uP+EwW(ty&SL{RPw$>|UG_tdkXW8*?>yyS< zbd`s&%55n0j8dXvbBIIrjrMaKmm3jMk~+;B_pkC@X!H(F_5N35#R9`mdUQ1QYxjen zqE5sFgQd|ygrfBEg!=kFpakLJ2%UAveHii8IKt1*zI_?$`{WHVuxfi%xvq>cpJ9AT z9A@_W^!|&8Jj5l;P4YIyg;Hl!J_WFYao60$^;U_YAm>4f>JQ7j7Utv)!e5S(A~8;& zwzBQ(IRZ@fgD9cbKNik*PHG)YLo-}5jzSl%6;;WKf6__W=;h{iXxtul$4=L)t!OHH z97C7s~eIV_EXjFLmspW;$lmbAKfdNX?N6p5^(e~ppH0%(Gn%rqo z$XmwZ1d*bXw14eCVTp6-NETyQ$kKyMk-1hMpZcxOHl}S`dbby}TGuz1swzuExo;{> zs+*1!r?byBn;nZS1SI=^sHwXyG|H?qYEC=$D##g|CZVoYEM4citmzY|P63FRVwv`t zjr~w-S%QW}n0%UTMn=M%(jW55UlloUAu*2ou6 zzgRL^df#Dk_4hO9L!W2c1dx!(#RY4=ilRh$L}NzrMu%W+%nF;KMe%dTb71N!Jx#GS ztHL}b8VkRS`R`jZstsEK+G{cQEw_i2DC}<#C|uEhLw+^hQy}Uig z%)x#xEskeFt>>ewBs8`%G)q}A6ngxN;?Qg?Z6LxhB1cC zL(XxMS*Apf+FrBv*I>O++@5`~cnDfdd|y=|CKqY*?8u%?=M^vFa#X?VpmVGYcwsgw zw@pz1yip)s(7HkiIE#kucq+FF&CNd$@i9AOBFPrq4n$lSZ9@bCcr8@7I(o-WhX@*; zO`tC{jQEYsxL77F0CPtNzdaFPwV7vQ1#V~2Dt{XUzEvztn!nOWVc*kh{rW-T7V4#S z%=FaoxsvnvNGcu^F3v`?&TZhV=MU_sVp9D-!TrWVekB#qAHUwrMS0%pK;I`w)SY3Z zTnZJJHdnYE@=Y~-vk%{BM*jMfQ}}JF;~~g$!D_J_?33mc;KM$u{7yI-k&^~2lymC>Umin}u#r4q-@ z-#n8D;w{3q%&T$lXv`!1{-FSXy50wW6owNn0Np{UcB|0zDQB7L&B<1skC{mNjTLYw z5R!mPLw+%kYK7m40usHPYCo`EXqk&;Al!reTp{~n16|z#TAAu}zK>1Q1?erNx(X9N z3)tD9BjD4)2DxqXowPOf?EqsLkxxQW(}VQlg2`sDziS4>;!(W9Mp#5DK$ApGl)-Yf zJ1O!5_W;}*-kNRHgU$l5+ktXo7CnEdj$j`p<|4cB@pA04yzU+I@+W`|(8-a2lKY2! zf-dy!3e?{*?qK)1eH24SJ7ZAriq*uH?bxd4{qzQ&x7RqTw>+ zv7Umocx<-7^UGIl8-eBoi2l&M4-Z9l!%{}Gbr$`g%^tu^K{kQF4Nl_>?(8F^#12E! zcNDFSQNs+`aYYh^nBx9SjJiO>?{*+({?=HhExp{3H?>C}Jp`a~@RJcfPbhLk>KBc$ z`xahZ%kVQn=#POrKL?R_xMtg&t4O(H;q}j&&-W}S0r6dbS zpN4BjGL8bz*ol+;9VH4!#@6eX6FE{Q2+aQh0)J}|@OUUdFb@KbkmCtFbl7%pFz#n& zE@CnU(XhX^kG8L0e-cv?&>}fbl6_@gYpx2}4F!4#yRUuj z6dcnJ6=Dlr$P@Agt+eCz{nd?xvgn5`!kc}-{;V?AbQtT`tR`Klv`Pg#HA|FVrcO8- zt=2!L-KDB9iO8VvnnZo27;O73KzvAOK}#8RFikOF>V4XhNgGq%9R|Pfr%3uQR|@}JKn%WoFFiK^ zf^2(O#}hlt`Fo(xB>2Y|*k$O-8f;4lV!cZlp}ew2C5PzeQ9NhUR3zfo)k&H|B0jgR zaY9=THF|337vYgUsyx&lEJg@xBeJy`>gMS0N6eoB1_M00oGH6ny;~I>`<@0z`KkH= zLTRl|BRE@%CLvEE;{q>vdoqpi=m4Kw&-h4G@N8e*uDpY5iwDB-6Jx;X%#kn`sV+6j z@yl1?Y*WkxX<3)o+WD_W>tXu~Oe3hU@GZ8XcxkPao*S>hSl$mMWjJY(k*cT`PQ5}+ zZW%KR#qrGCaM2fYrHG;+7p>ALO4x{iUrJCu=i$t5Ml zkUO(uHk%yY`A8122*JtI_E~9n8TU}Oh6rjKMRx)|N9l)xb0yCq=GedFBh#&HZ$?8f zWRI8Sp78HI?|oUME?uBPswH9PF~1}hd-01c6oY7;J`drQ6cf?Dh(&c;u-w(2TXp!n zJLE*d{Wx|rsSInxMds#E!bRz`w~MpmK@(?uDVd?3AnP>6yAwaqUeYZ?D2>taxWrGLGTxW&J?;=R+Huh35 z0+EJMHNNPy`e}i3tQQ?wmxjEZGk4SV*Ne zdNU_o$@L`Mr(R!i)toa4y1E}MVc{%Zb3NG{|ppKg5|_3Y8f zuNcThtL*(SYrZYFpOafMQKPbjola29*0^{+Y9beoxs1sKy^#wKS=pfiMXQ1%da|^9 zXDbllsTj#Il6r=TvRV9JotTfp#QU#=I zhiKfnDni=~FCY$E50@E-Kvu7%=CHCJO&`TX@fMTT%-Hw@2#PLzZLK8d0H_8DN_f+u zpRow9UU`)OGrMoUOH8oF_>WVbT4fA@x}GNKloDkL;~Cez^Mvi%)B z_VxK^Dm|Tb(OkqCce3viNSHC3XAernmxF+zC|me>GlO~Jr}l-iHhPgPO26}V+Z5!~ zad(Onfb`t;7*X;~2w`zY6nH}^Y#}f^gG{N;(P+Mg0BNuucab|xZv-DaD7$PMILD+aMikQCy zQe5Go$O*3lWVhcg_U=UjP$j-y_!9z15RBR5)>d@is;%Tu4!#QAC=Y*gchHSqxqSI7 zxy)B%iu>`4^dhkD+DPO*57A_Xw=lRP|R(PgA)z z@|(}SZ=Y}Tc@EaAE>tF|@go3}G<)2z4BIwAe;xVJz!O3F9Q@nPKCMGML~30b4edk6 z6uM$YFsG)t5Hc&LkHh{q^qP_x8Z*A_HNkUI#rp|E{$DT z652R0XmAI>*2L@;V3q14ZZ&yh!m02)2D$dK*f*SH&Be3~F|iy)U~)oL1ZOGHcOY0{ zUOCJ;_ZAciNCNNHv|?w^K8c&#k-~a^lCjt}6lm5W>rwX#HOEh!tY2P#zsUMoKq#cL z>^|@q4n}{nRB#h)T+Dz|A3ebkjlxgxU|*&(K;KCKP0g+d-g~aJS7An;2+qOmAOo6hw6tJ*@SY~{sib}*IyHD3 zf@S$Hi(2=xiZsx+CjhJcuQZqczW?vhL>Yq700j0{@&5iJf7U;cyr&zWlF(j1U*Y)q zc%iYomk29%iI}V?)HBccND^QorE+z+;H~+4L8j{cO6*c0_Z!5=mls^H;_at0yVK8l zH`W7sR-1tj#;2(4;+H`zq@-~ZOuum+Wh zy0u&{Qr$0Ld0RQSs{Q}oN&ZaQWM8k94Yns+WPbI8Qk<}Z0L`+L*WT&97TM;p@Owe^a-vl(;HOZ=g*lV7wWHm{jR zj+pMdmnM$+By{+nKOUhBTOYZYkr(lPX!)Sy*+>fnX#W4ed5|!A5aRu6O?IoTv>J1a+D2B}hC;UdPY3MG zL>)Lfjsa8O{Z+M=jx&1YBAXd@JQJj~E46%`}h>ir^RCnd+#TDC0j ziQ^tbD_h`64=JZ;wuXFcfpr)Ot(v|@6um6td0cMdjaL7&)co`x$2U%5gNYEgjYhIPkcTSs*w+(H|Ht*b44S5s~N@%(hM+h9!T$}3- zUDA{Y2|K4|+wDdxR*VMIcxIQ0-daubJQ{jT_|M6i|H;KNA2qV2C9t8i@ac(Eb96to z=Wq`u3iJSV>VIZg`c8o^E*F)eXAaXnaJy=)3Oz ziDlD+*&+tO=g!7AfzXn;ZdQ$oin0WeWTM(8&p==TFra+_6Mz@H4XT{n7i)BEoZFb& zOnjRa9+^s2?O?0sC!&C2R2XLyA2QT>qTGNY)9(p~3P6`)g1bASJb=+>@F|qMSz1R} zgm%L3PD9QMkWZHg@7UYFx=mmnitD`rMEI&&+XDg0)b8N|04ztUYsgs+S>tr!#J);t z=RyDYtYk>GxmDKaJFg7MMg}uye zdTd}{hs!=5k}fdYE4QhUN=6|DABQ&WN)9K2nsWi+sOA^vSZ)%eTeMZa{?l$RdRJ|9 z6s&P9Tc}tGO~?$D`@s+pGVN`sa{RX`4m_1Vkp%hzkwBJu4n)NO19S~-;ED}yMCLxR zEEZpaS3F1TZ{%osC@kLMdg7*D@xg{kdcqQ#VQWxsdp1bDB z`*j!xX_ff0QtfmAO`*PCqxr?rJck7 zYC&wvkDpuq*YH>T;WUWDv@PbI)SKse{h#Qe6j`4b!K!WKRM@1zKq+`|t>DfB<6Js%$X-XxlQ#6@;oakaas z0er^XTVV9(#4)dyCu)2c(H_5)fW7ks4;(It%S-xgxb@!|ZZeQw_vW8-GwSb~UfIou zvtGW#R;%PeH>{ud_seZqvguZ*I|iaS!HXHF(6^}azQf6n-`chIJ$Wd=r9!KZwq7b- z8x1}bB{sGr!2ne};(({nl+h>y!6*^z+a1^ANPz}gue-mLz8eS_`)>-ZXYv0?q3r^( z>I^Lk#2rE9lT`l!ae%;k2ZSdToxFxpUV%NDGAL{dYpI?HgV?s@>|(~ z7of2S!3IApztInx`1M;}=8$tdmjQo5U7r6oC2WDELL;V(EV`P*zwKcBL>~|n=94kO zAMMb6xu8q>9O%d<5A9|himhDjNJP2scE8X|8w^ywGu;Naz`HDBdT=7J6a6VIM3w5s z*IV;))m1z58h)OdSVesJ0s8VX@c?xrMR5M6fZ*1+aAyops8Ct)2sH)R3Itkc@qjtT zHyuPw%KKtoIIsYS1@OW6hzf{z{}ekwGnXdSLN@#RXqMmEB7OtkhN>!c>xQl8$dDi= zEiEnD{pQn*T32)?=0Vak|GU}}LmH!ftKotd8706kP>$;QWV%cF>HTQ51Hf?h6X*uxivw`-QW2gHIO$lgurL`aRDP$;zP7VP1EYo9w9iN;7rfEzfJx3(JYb3z)KodF zX^u$jNNgfhVED(;BJH9TJvo(6HZC>r8oRfbM-sD=qy{&iA~tYyMj}qU;0bX4UXNXn za`Ww`fCOM7^c+J|zaMzO$IsmjY}tIJ{q_bJfeC%Kg|UWIYlsZ59dr5eITWF7U`$}D zv&`3GnG*1i{AW@D>Fz%8)hM5lR@i|lW3a0BX)inaxDa4Jk-=0;=X$Sq%y zzjnHyK*z`3vMO_Psl;A?%I)maqp|#S;5*tQ{EqplzO)MP0cdDwG!Dl%_k>81^oXGZ zVQ-f=3@bxyNOi)%_)^o`05*C$!)8ZfrQcZD=X6r5m(T-5@M4cb@e&UivY7q^FMf-z zCD4UxFJ$SFy{KpIU;7@cM5Bv}q;Gw`%qg8nfu65v#15*pI2!soX59T+N=Dtbk(&qO z-4!_Ovq`5$EVqja%KS@9a~7$pvVyBVIz8{!R{W=G5k-`R#7)ABwus5)O_S+$lH#~O zE>QV}(73NLsUH~VM2IU?el}dzd+o!eTiW8@w8_%ve2t7b>}}8nHknaI8hf?*0nxmfKBsy2BQi95E_zn+f%XrOHvGecHb!De)u zL|t^So-iLj)`R(Wgp(Lf5dzS8%Ln)-2_HxWEFeZ}+WKT5mX6DRM9t8`ky2yvXO7XI z#bWJCm^iWyx)3;-G=#1b*>KBkIqi)1ZjR)T2pbqHKFA{VikrQild*SR)91$x^kfHc5xKOE~tg%G|ixN>-ODl zZcy}m$Irub?wM1y)8IXV>U)2(Zo=$o={Wa51X%?Ly%gN&{bu1q%gf8*FFD^+08fZO zp0#h$+tqjIK)K*=p2w>xoTMkF+i&mSsT(u}c%Xq<$>E045fukGHJRG^e&4xJbA7k~ z8%c&FoW?JgxRY{3;@iJ3-fQYmF7#9sdeX6W#H9Bulo3d>{RTPi!>H~0I{(aKnP5_j zl82v{i4&NE83K)BHisl3qX~>N;IC=(&6jcVNXtEZ9z9bj{Nmow|BtY*4vVVozNQ4E z5tS}cDJi9g4iS(RQIL|(0fZTe89?*b zyRUIZt5JSbGlmG_CjVhVy0#}Rfo?mUfp1hcwiwdPZ;s>CIgx_9gB7SL>_#YauWy7Z zUDW*gXkAw>Cj$(`3{bC*<;#bvyr zjjk58bCJSUfyQZZJgJ@13zE% z25!Gr&0WO2{V8PZa42V&JME)*vIAN!Yk6z_P!c2JdC)oAWmJ6m^VCYwz{GY;-5aEkjuiAOgvAQGm1RPH@XlV&t$xS{;#}d zJDippHAY;s84d1Vi@D}}A_yDS1nvFr5 zKcoH|K0DpxrHKa<&c%La01g@NyK>I&@SyI2SsE~F%lO5Q(@Oa?R9Jh z?@7(nja&ru0QLRZPq-i4mOeYA6lA}AD|y`hHXml_ZGIWpsXLa>x-2Xm^A6CsUJmdM zb7)h_UtB$XwpY4jfqg^Ip{%(G84F95`b_?SLg9P_(KRC#NNGxZD`cYG?LSe7)9RnE zOnmz()|b*&i3p}(cDooTGyo@_f9P~BdERaow(VlHBRIRDLVl(hN3TbyzL3r5mII6e z7ue=`B{;g4_9ij#|(szd&(7zrdE+IXysagopYWQ?$zWPO`PeC}SW8!>7^bea`pJgZL0s0B z(d{gsCW$+)I$r z=AFM}P-f5oV_j)y=jlhtm7XYc6Gq8lyzw{#gQ03a#2}I~3flXhO?9~rmz&036)DI+`L$mhjb)nX8 zuWuvnL{HjZsCk$dV(`aNUq5T5yJx*hWYTu2HKBbobqg3BfiR5QhqnG)!49dbdV89T zt;p66%pS{MWQcXlLqngpFe>XrKE9}WzBdV-S5Y|lB z!HsKcU=yt-`avwi5T+)zVz5u=k2h|Ad`pRe#bb`qk2Lh=)YjLzul;`}_gqkrpWGBr zzmA^a!=k3OW1vk9;P!#ZHg)q&-iOin2FAQr#eC7@?V#IPbudLT?cEkWURma$Ly{p@ zIx!t3+%ur}Qj;(Tm>`|-XR6^|m^&c5B7%X=G*~l}4p^%mcQNCe%QY!rbo4W(^dsli zV8)0#O3fUk5O4U6u3FPZHqfsE%kkV{%Te;|8PS>UbT5URd)32>@g%pOb|Ub-t+q{0 zjLST`fpNH75K}=NUi}tei2i!=8!4q?%YrZn7QEMOy#URmCp0uc%#tNP^D+T-hcyhOJv9C$UER zbwrclIDNz^7)#rfyYp@7p^-L=$Gjv!WHwzpytLVNnydJ-aegWAKoGx!>pn3>p4nOf zuU*)>T9PxvvYvzb@{ykz1H&MH%~}7sll5g3>@8O*##g|%(l;KWI3sJPZfNLi8AMrl zBxm(3G_NEncIiZzr$?Idy#MUQ@o{56%(WjN74Pp$c!^Vv)%1C+c&Bfk9Z0OccuX`1 z@{3I3+-(@}PNZL7;9Qu!7pMSvgnDFx?j!H)Ug%_qiI0i*&cw_J`2;q&qbEk;Cpv@I z_5^foxI9itf8m$b*PPlqz@R7YqaiTM{2MKv6Y*tXyH`3WqhS#mnAjr6_@Zbx36J{&e? z72lsAS~@Ks16m(f%^b0Y_Q-bM3|dXls4`-$9=hv(H7|&vjzfHIv(Lwu(CTT<=-99J zZ5e#3{5mJ5A4PAVQim~pP@^+*mB}cVnCosm0Z3u&TeRBl@V(`G zLsV8qI18DYR4~;k%XP`N{pP%5f}3}5iWJ-o8IOeoO!43geeJ!_vFg4D&3x8ls@0vQ zHSCk-W~vPF^)?0mzJ($5IF$WXcJz+7(bmVIb`qKgU1J>ag?u(XL3LUS*v!J<0}(u3s1{nadD>t6(H^oq3F0oMtG1Pcp` z!|F0WjZWl2%tUqzp<8{@xwFn%G_3PW5%pp~9T@z0?)|0$)n{S+M9uX;uB(TpQ_1svU9F0jY5G`jLMVX7hEAz*nXW)Ry5P;@vmJ{K=js znJ#-HxRq(sqIr3{(N<2A#BkeK)ub_LQJIQiYtR}^U+Jp|7G~TH?{u&4&faz@sjn2u zncX@p&-N|uPGMSm(=eTCb!LOcM<(tH!$}}OGaQEJ}3xoZ@5)cnK@dbl^tF@W6O&tUNlg3{p1I7pX1RB zkTBCGGbXIv0eUmi{~juECA4vYP&tId!sVL#Tgcl8WHm&#HrWfEktRiWU8s^0=t_Oy zf8=b2{|qFq!K_lYmvWGZ5S5&1eN|WG?lArHCr%c$(kn?K+cWD}_gv|mQARFq`YMG~ zXLkYkWI>`+9oUpoe8o#=O427{8d5z$1m13I>1kCA$S^alA0Jld(-WphyIY9MG}_Z0 zo%FOSA|}ntpx0as&y9e`+iVAX3j2PS>U6>~zx4DWBnc^e+QcCfg~q%Ui=$oGa@unn z%u>c@$cTVgr<6{}p1QelTknqzm#q#9r{}-m%LAp?q()ZF? z=)}zK3CbtH?KEU%hkPS68);KG8rWqGTAU6&a$noub)#8Ehu~epW+SsWSno)@`EI`Y z%ErKES|mJxRgTUaw}fnGvCADiCrm*wd2M}oTNP?FTs1aa^#BpwGPufvAltD z!%qD&2NB%H=k-8EMC-feCzG4uYYo?Bxp!am#&Rj%h6X81@JN`}Oig-_y3+v>Ph?zW zCi5r~_G)8Ru{CSl+<~PmGxFj-!*0qLfn0CqEZvs3`f2#i*Y$|Syyv|gFw5=0S-z%| z=U!h9o~@VerFU#|G)11vOsrmCK8{Yk+tjc_c#tIqeD%!hU@em92IiDX>}?0?2a3ne zP^HoEhfj8+p_;Ll&-s|$j# zZiyb`j#fXqIhA9%Mr5?uYlsp@a(R19)@_BW20s_8OhBgEZmLFpVBwWj$}8;jjd9X- z@w|cN~%0bl<)2Y)lY*rPpKiq&d!1CObRaXnb$26V=f_h!Xkug(Tg;0V5%NgXY1 zte&F3A~++hFh#5s>;>*`U>fWdLEJ{ICIt-Q%(@yVYO_^;9F5J7cqFSdnSUrF)0X8* zdn;TC+)L9Ck3|VFpqThnBN&9hSRNgEz=I$kGq@u_R8(J4vS0mx>8xQrBee3)__bCO zpG;zH8_*{qv|!isXX&{Y&nQIuR$4E6M4KFHJy<;6lTX;hAycPqvVSyL(JsIbI$`NKE>^|cSZKpv3c9fO@hGIDV9JJC_Xv_yp<6Vgz!l#s?id4(<0FQk>&YNs`3`p8W@mxL&#~=?$c9~ak)!X;x);Kz zJ!iQ=qkX0A+>_9gs-=h}tIF3Dl2k8jGT!>_}0ocqO;zHrJ)zjOf)Mn%azwEKAZM ze_HOT7Xr4-aCh0TFui^$kmp@A{p+>gjl9R-3}!uRoxHj;N1q$8wqtLWJ9}!7(sQb^ zRjYn=S^8>p=y}pm)1B2jt3+ifV-)rkr*6bIt(71BeZ$Z4{W&`b`QB0$WCDC?KG;HS zLJ>SxAFiu2_vZNn4#5<7onKAtn_=-i@tc*|ZRiFFD z)W_8`J>Dw=jZ`}>NALzPr1krBlFvr99T>jlS z>=c6KjQ+pUD%$6kSfD4>WvbHDnTsv{*5H8F5Fh*cp(;|IxSK>3BF@0(-kx&JI=;Wi zwZQoyENm_p8|yvz*b54Hx?8^ZP8GnMI(}3cuBJE4OmZ?iztu)uyV)~JP?vQ#h2jR) zW)D71}RqSZ!PGJwmHOz9%4Gu5K`g7<1SS(_ zHY14oh(MEr3si^4#RSo|kSmP|J;M3vCqF_hSb~4c*sb0je0BE6)ngY~O=4(=_#+Kz z95GmClxwPxJJgDV$7(yi(S=rLwSV8$c6vh79jFDglQ_KuernxHcTeNN7%xTs{HYTI znyBiGYVFYLrTK%K?h_FvV`fbB9Nu2E8>--Zu8Z&t_P8=oyP2V=V4Uso-chj8N;*dd z=|ZtpM%DN{6(+O}vPcJh4%D(K=%0Q2M`WtqZSp+%SL(~~eg$Ni~@DzUqd-;dR{ zYT8YJj0DnR;kPaVq3TEV=bR^Rq7(zyIAf%N=s2neuJ!2U%bN)8yR>9Ev>EaUgzySPvR{T`%RhG7<*_)~QCPoYLd<2( z`9ySm(d{PK@&f#H!t1!)7-)qCAoJvhi$%Y3gWP}IZ#U$&nqr3F+0C5R>85x=dhi+upRZwJ(4{oT${vnm)KppG3QdnJcWP|H>QqLJi~6s6gW2z&W;R-%-KTYTO! z8vCAIup7+p^JM$;KjGM4euz6_yux2^Hu|(pU&Thny%BemsNH{*To+E1^qLl2-;-@je~Imf$}}X8^EGzYJ=buRP(0;Hs;3TYZl_wOmd8 zv!dUBS`FMN;aI*zE&rhC?8fC4XxjTwY)j-(akI>q$>r$3WS$EH-AVBExsdJaOMLFv zZ)H4q`6J}o@DJ5)3LXN!X5qGifC1z~kBo#kbZ@d)`$%fT2+ewcq%IB^z1zr!bK$*Y z>+0v)^*-{9Ib{Xj#Za~O^>;mxgJhxsF8=p1phO)m&%||-9-=>~M(xs?!mRF*iJD1Q zW1O^rY#@M#3_APUm_m}Bm&Wd$z8w6pWD}dN0T(@;fQ z-1v^-;c)uu@DrSGmuhNf;dtq%2l-jI7WxxeSZoX# z7jA8Bd8Bh?7iH+&J_b$61(Gk)?=x&}i<_DvXk&83gsH{y{{8 z6a1J|zQCBjPl97*$FPU}fy4T&m5bq??w;dFe!-&H2cluMKIP zl~{-KxK6$NY)0GndqhAC-TmKUXr;H|ha?H}9T$8#x}A7GGs2L&Cso&}bOpI}Q%tzU zd;9DN&^z<3>UGINUhD1t)~HPKV;WZqD%?gp^`+Xe;WWuOYq^7Yj-YrnHk5i}kw!b% zj5asCFgw9x(8>I#I-Uz1vdH!AcINU$W2-53APp%3WCU=SvDXzV?`75b5j_QaeI|G} z)uFfnBFDN*o>9m~5`tG3ibs66QRorQ^j!6W4V=80XzK6@^JTE+tJF$NuWd69c#{O| zq~UqR5Nd!Esc_q6Ci2NE?eMb(7TkFXUebC;v&9{DD(?TN(Tpj$H?|S7e0F&Z}c3 zfR=-=j|qrZ#J4i9iudxbP;;m#;r2>4^sNwL$F6KsUHg-9UbOr#k z05Cs_*?fH7jc%MbDszzl>NqXzN;bg${@5ovtdae9xPLyKAVgExlSJV0C^TH0b} z*v_uaXhQ;!gr~5j;uzo%YApGmmwretUy{8_8n;wMi=Yx^MHS3sfVEW;z8pkuhaA28 z8_XQc3}I`RUlf1kMj4M?PTpoa0_w+HGZI^Jui#O1B1X*ljLky|DiEKfZRZskKgY>y zwY7C>pc0*T9Ivl6257kWB?(n$E%mP^jV-5c0lz$wtWJR#U>cI2?&o}YvewYE5_qC& zN$si=hDGb?Q48D3qM)uzwLT(kJ+$ijZDs(|lmc9kfq8bPX7_ex$4yUlz*T&wK@CoP zTIiO(9qU`N)aov62-i4`wle()WjpiMIg;xz{Z_Sb+w`={fbc*J7%SX_-*sBExqN>3 z_wxS6Y8M82K*mfEJB~R)*3%?0cjL4(1+TS<`n`hFz9J}({UG9JMgTP{MfbGmCVas! zIM{keKj&6&V_W%#8h5#mGEKwimdAVlvk-!CqXTOb+q5TX{29P?#kNbcyUiwh8+uz{ zJ{UB_)YrW$-Q{!ujRY3K>QNt;M&6oCVKMwepWWM zGsY8D=^WxO2#SQpr+3rEtnGqtsld(=rmhA@Kn7Zr9@&@jvqQ6^Bb=J;SV=GNLqKv{ zyoE1eu0DvTzpIMxr6<_bgXeqWvM(Z6Ve}D-K!V5fIbMEl`lDhuIUs4G#qNJU<=Fqd zpmfSI0X}|`c;Ff!IQsVI7CTSc!8^4mCpW04TwkyOI8y;DQ|pt6MtS3_TM~1~Z~w$X zX9O9}wzeg$6tdG4bYgv?U}s7{v%1SIHD!M%T|bV-t8^@M%XC=;%@((sg}{LUzQl{f zPl$FBDw14|Zdh>%8r3S^CXYUn3Xn_0tXDM_$*{1hrs7X7tusE<+UUvz=wqRMt(>{s5HcbTb+k?CX?JpZ%$zvIV{JwI+S>+I{g5Go2k_h*lYl=Fa% z=T1(d6$qHRE$PN<+9vsq49+0qJ%d+3vOg$MW9F-(?&GHKk!7WdRpYE62gl)?m!F74 z`5*_yb(Vd~)Hp@-x-xAf1GMbdp^wJKlm{3VQza9w9SU+?A3g69TDjv?z^eP;wgasR zcOytc+W%}VfQmV=HKfDyRgG$On`ukW|WNW1PJd?^p z{-iZMP{$X&=!Qvd?OTXVMIX*of^k0M-(|q(US83bg*^#wm^QZ91hF+KsQGL4$jIU~ ze|g`U*&l6foVvVN2ZOVxP!IWi=W-PHv|F8ZfBZolphHE)n?p)rIPtg%S1X`I-2E=u zQMG6^`s5EEO8p(+LoH`ZMyty?29>vYG@-q*Cuyfy)D7`gEO!CY{UbSim4tJiZb&?r8~KtP2A)& zyzM7x7&jqnRRP&7Ggbd12K+hEwXHaZ08xZA&QGzY;naAi`3U{BEN+edMKkSyW-E=qQQJOgTt+^{n&o{E}btCJV+JX!?d6$}=1;|hwC z|1%vxi8IpnDyt?y5wh$kevQj!#2!*9Roqn<$Hl>Mv2E4c!LU*EFdOoVQ?s0dQ>(I- zXW=$Lu&Y+OPBHQ`OFRqxG_-vv-suu0zV}`v zSHu5+A7J%ZhzX#}^mX?MI@synRJ;rE{Ow=6%*?x~eopM0e&u6%|ERQPoc+82qgiRJ z7Cin^1C+ud=$vvfPw86%pn32aqBMW3 znRXW27O{MZQEwGIGl)&~eCZMLtR3XGE$2ik7mgP+_vtG)%AFr&uNnF3l}qiUSiTUF zxu>nb!kmEZKKR;&TW_j4g|43FTjoO(73mAA{lkOJpzJo|kP525D5wx$bpQcEoDV0c z*E#9IaVGjEmO%CW@8?f}ppTwivf<@_dCz$$+Efqo4Eg9!UUh7mDfyjDQ~iSdTI~MK zqWyI=W^fLHPs!O5vAR84-}XA1u-S@lI)BUj+DwmtmbLm)#^~~3_(tg`I|agPH@DGx zyv1?oHKAA9gxXW24o>sovt^v=UOb`7F6e3Xtx;bLXC3mvE98QfiEa7i%43lG zelZd;TQNypUR(~sq?2w92(?ez(84A#?8r8mqnwGO$n-Sl_Q%O~2C&`j1!-2;?3B~F zj?JY0<-wJ+o)prph3Bl5pUxaB>fq?O=ll1JAd3dbu=I;3qrTOU^8}ZzOqZ{8))D+a zz>mFaQZ!4m!RNG$fGcQ{S6`+@`u;iIaXrQQjSQS7*18m-k;UVbDqPJf+DQ(scX*_> zK%YG(nrDcl#~OdKAD4CMLS8doiABaz)h9ulNNxv?%M&>%-F@UE8FYQ1ga( zD@mBVKrVaOR!D_iF`iao^wrb~8xTez#ei$`wBS!o=(ycn{IltS#2p|d3Sc3Bzkh>q zx?#o>)(QG=l29e`d$cR4b4lsfAv2N7ylHCa0) zt4xM+vVeUtM;3}Hj^CQlU!}*S`Wu^;S|I~Fh7R7=4bsQTDpPMEsGaSHa^y~QqC zn~e4^4<)9KGhCm(KJYc#9L9{r55w#$$G4m&pmE*b0>q##UlMhi*#gb)5vSEZxGz}_ zs{4{%j-1nsqzv*xojfd99J#YBvk@8>Dky~VXbBolv60l{$R+p4f%_V2$)X&`u*KqE zQ;B|FGDD1x`mPIS)~ z(@T+lVFj{N0CuN29J2EBvT6o0#aFo-HH?hwT-=IM&E9GW*MLk$XZIqW*@S7G`oS=j zbz962tf!(a?6-D7H^)8GjqG_@(k;tdg%%Wzo=#QJ`#Q|lT!?~}q#taR3_3x!$BdA1 z>Y9}oUw=J?pIRJ6j?G$AQpmRS$$aT%Y1o`PdPJRpnS&>C^jyje1wrA>8z7T!wKzfG z+G0sL@`8&kgDcvgnQ{3o-XEXo%js$wX~=#${s^JI<3dlkMFJ{Z(^;~M)a{ox`tCcu z*hg=G);W@PY2pRcKZLwJDiaJ2i0&6(*ZU2r%V@|COstud&vU3wi}zJ@cefo~pO|(s z&$2g2@421q%8k$|>#Mj>Iik^}QT&f4458fbnna z@`IsGFddU2Yn7#3Kn`<&Z#D#8hNN3^YKHj6LqpY2Pd4E@4bXqDMbr*CZU~^?6Q;)%E#p8G?c-FRjRrJfZ;>+Ti zqeHj-A(&mBRp*t_m)jMeE)T=2Z?QGx`FM~xcH4z7%rx9V`k*N45`(QtB-A9{+$f>T zrLhW|`4yPi+NI*Fk}EsiFBX%SFV+3wX`D9-+Ac9BwDX!G!h3R$X)*`4NIW;u`1u=W zw)WqWNr><9hiQ4p;azByRmb-t6wW=UReJz?t5-~X2iMXaKWJPgZq8k0lOfteso1r> zm_{Zx6;bqgUWA-+X0};tC0Q73IDTI~KL4QoRa6ba06u-Nyto3N913a_LG48_0d;zy zL6q^jD781w1EWn?A$Ty_|+`r=cVLuQG#)AGNO%D-BzYbMwvM&5M zW8Jjd=M>YM0Q)RbA#HUmJxd4Cj;v6@?5jhz7oP{{El68y$y7|EmLClL+KLiy#P}|+km-TQ>QT#N_@RKQ6Ji>N`Dq3HLYkP!xhB%*3 zP4=CtjRB$fVowCcRz|fOWi&===%XZh89rJ2QcL|*nATAs8@A*NOxm39cV8RRyD)F zo{Qeqt7&C=RTJ{~9EaeOI?@9f_lOo(y+D*>c3PF z-BF@k1FPDy&Ehnaru1lfienzwzd=vO}Uvj6nLtMSK&pJK(8O@@Lq5ec5*Gg5Znq-TCvZp(P6RbPw1XaB-uoc2W;A-A_{&CM|j~KyQMbo z&TySNS2y=uEiHCIRx#4SBV}93iGl4|dHuRKc8{MN!P*c{@4^O;fxX0SETZV4y5W3Y{P0HF ztNrk3VrOvu0l$FQ;ftxeDOJCqmfpz;Z8k+^g^e=3nA7j;khQBnz9>(jMUD=yKtCj1 zy1jCu#5ojm>OE_GZXe(8lCF@5SA>(J_Fy(b&Q*oYMf&1nAZVs0LSa4veBE<9z+1b+ zP93yij4K~~3^~wZl_7+tJdm8M8QO-uK1+*(0sD1S^Rs?Piknq^WxEW~y%T&!PD^Uz`*pCWohjt!!}S0w;q zry}da%9gRzd{5?D!Ak#h!*#S+e+KNcZyi6Ym}5u((=z=f))9bRSYY0V29}-cTX~zD z1BMgJu+1TUD56LFss&RAJBT*poOY#qnfE!ruk>GX%&(W|E!(1etG!>h9u}}{>Jgx|(i`HbM3WB{-e-OC*#Y&QC3&NLC$YXEAR;-x>MSE6wqjN0z)&+q0etLr z;0;!nIW+K;hIO0XxyH#`?zg} z!L;|M^|U5p*(;CaO@GzeUMQ*~FKc)x$1AKtu*{;K%0b01?@gA=t!1w>CvUi#(~Ps= zFQ1j+^mm$eP?!CxF>+GghXMB^6sg~)e8}ON7koSQt^mNLh5Jmf)U>|n z>}H1EpU+W1vCT$-{Dya?U%&9eiM$#Ytw(^qRsF(U;+@5@Tp3;VC%O&chS_nRr-E7>L*Kg*7aU`l<2VMDP3~2|9 zC9X0dhzX{Vzq78MiPF8_vX}mIF$A;Mm(7u!wc@q!YhOEV9e{N=2DOOej4$s-@^4~z zCSAktM{m}*j>NWAwwQjLBp<1h;q%q6+$Hc5+D@$;h?87Xb@x&P6?vu(C(lMYn4}LS z!JVj9Plw zk!e|*l|Ui^eOSiJD}uKc3^%R`=5~{fmb`^`{Z4F$N3jaM$1;t!*-6NJZljOLt;ON$ z?uYSz$>vJu-oU8>$-Y1-wLgsl9ky;}zt3d32xIQx&ySMsxW5+ec;ID8S4LX%NbQll z3B*t@@=FdS9&FBbUP4Lio}Eh073s;`Ip2C%jR zd}YUk0^KSnYBlKipiQe}5HQ+k9aVa|0R|V6j0i+6GF|F%;yr#!_iKJIfAhve)$7xhj3MB zNdy4idv3uJ(S0-s)?!5z8);2im!u`-R#cb?Yory4Ta@=co50>XFKC1iA=*q#?)anQ zF722@5P=n8Zz)|==m^c#X_Xzxwz)ceSIfa?>EiZ0Ndd3I&C<1>MWoqa zy$CNR49`t_Lg~b#PbTE7`3NUf^j){&vFJ!IuYp;hlwf^x`kl!f^(2*3UU2|8RfAI8 z@JWA~*+4NR3H&A(`q+4oH@@uiGRsh$jWYU#+Jl!)3k$r)`;tRGh)wh@55c5HAdv#X z%-L+$lB1nxUz+ENuj77RZ{_ak>ej04WsTFbCK(b1uo#_g#2Ne^(+sSCvlV$%DS38O z=pmH*SbFTnXT3R^^8QFNszv%cSA&QP9xDm0zRr5`tmK`;j}GcViC*cR)|h}gV$D~k zDmKq{Z!k?B1P_0dNtyU=8)_1Sn>}6kMk}3LFXExXYyD3g+K}Lqwp3isEGW=nD;2t( z_vd2TiU$qwd;saJ1WHoe0McY3G0IHosYFNEy<69^EO?P}503^v8h5+WzKVh#toI3_ za~{hcY{9fymo3%;q%8L25F8%US{YiAaqD1pD8z?li<=|6bGWK|OT3Y1F^{hP}Cr6XyO51iD_jR@JDUZgZdn ze*J*+*8ILgyhZd~p$(5rro-I~qWwNEfP~REfSzveLrnmWQenz*y9BqdekaQZ)*7Gt z0sHh-O^bL(&A!AvjJvUp@=;)>sLQk7^-GpDP=UwYSC*>Mm-|41oCKiDvwm`SG1Vn zp#he5aVs?Y0EJ(26s^);|=YW-!4)oOIXTrGYaa02zHSuBiKjaKB(=87dsSsCW(VDledf3Iuu z@Adp%-S`=|UqmGMN&_qFQ>m{Zy)@>=JcoCD^~Ie-H=V(qlnV815pJeXXQ1#t00p1~)o#!^`nY1|lN6S=qbYpSS`K#p(G$~)IAZ@%hSrm$MM z$vt)q%;y-&;zvLE=N>Bg`>Ws{_}&72+PzlS^sZ@S3*V6tNv!L5?RWpk{G4S@C1_dvo@W-FHt&?vt)wH*dN);$60Q zi=qBUv?}@Is^U6s(wh1VZftHW+N|oHU28JvjVgI2lS1{VVd~nRfxfdzw6EYj$Vbx$ zX!m86kC#(0-tUZrESmQRn&eYu4aE1Uj=rFmiu3;=&E1fj+21bU^$x*f+SQQLX~v~2 zd5j}<7msQGq4-I#V5ppj_DHq@OV@gz-3Aj=n3@+fuON0c33SRmEPIjH)rdd&V)eNn zQ4YpuW4-lk5XLa^rFHmxUnxh*$?YwBkxj;Kc|sECTJA`ULUP)J+4>YE(wrLOvd^u=ASQcP6%x;%+ABcHER|* zeRCo>Eh+qEBuV5&gWP)(gi19p|L;u%{?*)^-;5n10(*g)T^RNlzk0%69|6?DST+iq zfMzGI7R+7Qo3i0dqqy00k)<3)pv}pn6O{LXcj!;s)U?51i!GKICduHx)a*K>!5Unj zKKZPZx9B=K&nQ`siy^m@TOToxq)8uO6xZ-3dRWbhOU|~%8(6UKH93C(jS{-h6mhBs zlz#()Po6R!f}Y`Z92gnEU>u6*F6np(5T12htdJ)tHuVtx$VXQX6q~CRG{c!eq96ZT zWcrZoklQ=rpKAfO{|-?#0!H@j;_s_(rTt|!FrW9VNwBuvI97@MFraR%#|;hj8Q1Z> zu@x=gS+jVE0Q)Z7#w*}GWN)4m{%42H4Y^c|Zr3sC6~KL&gGW&GsW(C`s53LL94{)a zY+JB9U>GxFe_e~|B+gGRL!b+u~d z;)SHM!h-lFH7v$iDt=j7zaMT7*!7y0ixo`B0zLourBc@vfwlns|E(?H#d#;`qNWht z%X113?OJbqu}RV`YPN^Fga>lX*R<=YzVN$n*A1Z};7vEvZ=|WXX!}V{4hJ3SJPJ05 z7IFWA$n9>PQC$=qcCac^1x}+944f0yuDwZ$n>e zsqNkIabPgni1v!t1H96ZW?Z6!hb{%%57V<>HN?liEjU{2-}S~Ij&r$DCZP_zBzffM>^43f9qB{fp*=&Q=Wg` zfIcMkJKsrNW3NE`&vH)+clGBZLolBg#PW9aJ54{NssW@FR`cuzOllW%yHlhYMI*t0 zx;^MjWi7*SGPE59&m z9=@S=n3>A^f9QJauqfZI3v}oXr9>n}Qb0O}6ct2iX({O(LOKRiL>dG{Bn9d2Zt0X9 zx*1}~ff<_f;P3t3@0{;_&&74|4}T1EJ@>Qs+H0@1?jsPe2$Ur>+uZBJ7TYDL%;Jml z-@f#cCXE1t?;HMIgK+v|wtP~RP^G%zJ?eJop*N@6kLssiOX?Te4pEuqH|zTUeP*pK zauE(ySzsij&X{X5$UE{v z{+A#AU(3gK-=a#Ee>zCP7v3TsQM#n7D{HO$ba%vF_^y(;l1L~O$l1@&@BKz>4$l-p zar9Ue);OsK7OSSJtX}4=>qgeK+2PIU^fGm%at7q7YF{%TyWx;MUN}$M{;}xIw;HK; z%bsS;IqN-FdY|}Nl36tcoOPd$E|Yjv=06e50Vm-8IZZ3YJ18MnoZk<+;er@zu-|&l zU@?2KvA6oc4NRo$HDsBj=ZhpN(0)3}`73}9yk)V*Y43NI{8Ez(zLnEng1t z9F6q;fHn9RiMN43PJ7O+U=)?C%lX4oscT{x=@6@btyHrQQ^{}rhF_poOs+;&)u*>+}`+U2(gQ-*udI{!Ihw8>%kYQpe=&i^G{$Q{$|vH2ryq)rwn?iSG;Wxq*c zAIQ{Y+(_660e)Vhr12p=BKrJ{D7NHJhooyv0p3hE_2;waDVP&+KO=__r;Y(U#hPp& z7m(~~qk>$w>3*naXdU;PxsMs^+|XP&!%R(0O~T9{88>NMfX}Y5RyeluS|q)DDrLlo z;S>SB=FRXpf#eG={@r3UBm?EsoLz@l``Nn9!rsFU$DWI_HK1}n1zH|(P)Wf#>ots}{uhD8ckt5} z#(-7fwEINR80J%54jC_sY3&BHKPRXPmm(Le0L;9vpGMzq_Go`NFBXV9R8A6k&MffD zQn5EtRVq{zeYz*9(<2I5cmp{Y(^2h1RYD~RL@CCIO#0Bqc#Uc1gQ?bPE^Q?~k7!fI&;P!rIprhD5x@Wnyj&Jh7VDeASxH z3Q*s?1V*YbF~)oO5Z&JUlV%O<3|9NnCvW;mO;i{d%B_-J^XE}$`1DHJo5_Mov<7JD zUeIit&Gp?@)9tr+*iQnO+_G3OWtTS{@Sby4gvOzss6o2jD7`d_$0GefjW!BW1K;i9 z)DJM42o}0%MbHy~uS2uL)hqH=0+aelwR5NG@gX7b?m^-%cVobn@_S-T5pVN$iitk3 zUox%{x%8&I?&&Ng=IDEL_3-~RjxU%WKVqKd;KN8@^QR*RI;QgDpHwkpR!UZc*w8x8 zhW{AL20T9jXBJwK7tYkkJd3E2y3TJRVeef)1zwa?7a+D4QSpet-QmLOx(fI#O$jS+ zRReVPZgqpmwDHwE9DV%dxN%+)1GG%J7NJ0cV{sp+J&`$7_~~ysE4)PY-|9no3d~j( ztm#5-h*q{owJfS&$o`Tr=SlG~^7UfTX92jM=CD}Z;tt@2P4e1Cw$bqavmyc%4peok zDr^bhdt^ga?wMlRQ~yzC4%jk5(wvv(0EFpW(LO7v&uk$x4*wS|b5nC!_Hl~wf{kL{ zPx`@b`kw1oN2_2%oQvstVapxsmaaV`;XeykBjF$otMt`izLud4m9%#xz=_W!pPAK1 z?ClI!1bL|0Ru?$FwceM`@7=cRs7jccJ)gu)8i&0j8cw$J2&T5WymE7&u3NrdI;}b= zg!`Xifzg6Gt`&x->lPwNzNC&SHTCKmMwykpWQ3oyLWYe_`vKj=njYL;EtXbKo8x3 z){Z+Iw=3VCi&S?xQ~_v^z@!Oa5o4c_EzPei&hmLg%QvrL)O{WRwl3!6>i>o2BEtb0 zk3~?!NKPwq3oJ!z>6xKgs6o@)iRH1w)35)4-3((JrWIB!L+%mM?d$WPh8gZu-`~kE z*UegF8b>zLz!UdBSI@56P0g$hSL*r6$EF;{aIZ=sA(vKQGbK>YqIH?VRB^@A4p#6x zm&}Q%2UHhg?@(^;6Tux<7>)kk^WHu`3x?Ppctp-S4?eDNa@h015~FYSy7H_=*NG0? zXH%}?ZuYn7^n9~PM<`ZGT#CaKj;xIWTIi`P0*0$B8PK%Q~8K}zj4K^IWb{Eiub1y%5o6SHzs}treg$9Xb!oZs( zii60l1pj+jyLur?iT?O^h{;x&M)=SN_5dFo!U+@`r+Sba5HvtQO6ggB>T&o!fj$mQ z9~8-9tb6&p%&(*Vb0>~Yvlv&i^|`|TAsESVa7l0uR88$xlUO=~gBWoe`eo!5nkxzf z&kLBs|MG1moHFH?ivaUP1TarjKta7aA@aa6DP;x?c8)Ae+O}N(aY?$E(E4c^FLi|! zcVDjSM?{J%Pr_ho*l8VETd{@wtPU;Bd{{Yk(1{e(DLi|Y|M2}m$fVfUKHQ4~DKsqj zEC{Rl4dV`*Zbugw>%CNO7X$jvg^id-W6`>}&v77?`(DQS+^>;tN~f$uN9R_o>vl=Q zFPIz@phz1!szVmp*9$sd>ob5Gz&1JJK<3*7&2&E`r<^YpKupK|RZo2aUmZ@9+S0VM z;Nz7TZtX9O(su)~i}8Mc2bSA>27qWzK@Cp7R7#iDJ zfa?-1TAJoRk2;YljkU5|{4_+i9NwQWtpyk9-madc_PK=fxc_$6o1U%43us`mubP$d zHK?zeAiQih`A#=m)U@;5=h*JmZkVxwosJ>$4%o7fHEBesS4F}j^6K~#r-*Bp1u_WZTx&$}+#Dy-W_@S$5 zU?y+Z-%w@qs>Pp=(}KmXR3cth<}VxnHAVkcHHf{y4G_ANRZTAJhW4H8tkK*y^a8;W z|Fv5K1I|)Ieo-Dz3h$=BAX;HL$|;TZnhU}I!5EDyA9J5m`FIVqZANaH@>7DO3jB7u zav+&-+Ue`*D)AEZm;@+T&UUNr@O)L7+gz^Z!M*P{yx`qrBqC$DuoQkUdo;hTQ%?WV zEGOAo;dGuo*-YU#{pg!YeLCfO{arhFiWPhapa0moy8@9%%Cy$FgHVw9ZlMa@V*#TF z#&%C_h!9qM!Kl?A2t`MoO-;gdrc5CU^-JBekfUJ1h4`&n?t1(;WCi_^%kGbwfbkL7 z=)9C1Wdn^K(|E`Q+s%Ez-r8E0QXc^`%?CL zAAw9cn$=1546S@Xd<)#Dtnp4#uY=ID3wR>1!;0d{v+ksn_e1Z&arC2js%3TV&GQY{ zP3~R4EDcaM^Csx)>cL2HKYd9|$sMlp^DGB1h&v2U- zEAQjt@z1{&*Yz=+Tkzhh+1XN~x_6LAuy)r4$Lo`%d^1xwKH}HsZ*SrE9jN}#WCm~r z2WqV{P&g1~h7H3zEf6Ca5!I`0A#8a24zbv26xN-8 z(*!-*bo>2Cn?AgkFCrKOQ6Hsl#N%~T#Mj4lofrMkiEwTMd&7)f(x5U;hmAx9J%=4l z)Jc3n!Gbpg&U&#~*(-ud?{y#Gk9D~Dq3u)bkSmNBvtG3mo#{-|vr%Y)n}gqvwz z`)mxJa%o3o>N^F-1@n^>2UG>*I?NC~mXjZ;5D!)je6{hGl73$pLlGDBB9Nt%GwP|K zjxh~AYFsl|Kt-xg>_hc^F=e{#U~CidYN8T39S@z}x_!(a>SHuYQWzGga3``n_?1^2 zE#1`^+lvVBsQfXhf+H0?>oz6ec1kRzv`uos)6-DiW6J!3Z62x62dEexssHB?B_|u0 zVC2nto_Y{`2Siu;5dV~Ej!cfe8DFC$HmykIIzJ<741SAFb=tuBXUqrAcB%Lf6H-Kk zSg-KZ+X{i#yMT^Vmxa|sGZZ7%445uYxQ8l z9Q7h>p8jHKMdD%wK?bAQf}H<$GWP_;;uPmPFnY=Z$hsKPj<0g|+a6C0ZFy{=eyelT z===n&yAVwa#xnPZT&oifXKRn@hJi96I5$s|0COT1q~GneRE zZ}8KLk5-MGJ825WzZJOCc^djZ8<1*tr1x~;FRWZpmB_VXS-$QdfDZ=z!a9JMGYUEpwXsP;TUJm^o6DF!rdU=VJS|A1K-9NM- z08ZY?UN$@)tJc|Dl5`2C7<%-8qeuGa*&2g|dE|eYX&DGj@RkZ#OlWFbLM3YMl!8IC z2mMO`qx%mgNd%xSqt~lr8$rh8w7;aF&y|+XEkdcn1YB#E?G3xS`)jlfsSZ^Qj$WPF zsRF%hjTT?&y{%&-5VjQx`+AOW=$S#oLX$Vp0&W#IFJ&{Vkyj5q`WniWl?=^Oe=0L1 zznEtFJ&}Q-mW>FXY_r}Ui!ywE4=Y!Fe<^=TJ<^O|IAbUi3!me94*tOqQ1bglM%$*E zcSiz3Z_n^sRDlA>wC}@Ir(gPMwqryOs6IrVMw*ZOU(%&DJ-s!IuUYrd;~h;clqik5 z8jJG;wghZCWqN#_X1{tdL*p-dZZll&ZHk3No))W7;kuiu?uIY8aTQnARfu~VEf1<- z#93*(zp(PvsUa!g-izklqn3|(diLVai?Ws4jLWhG4kOSX(D<4S9mX27q4pTn9>Em; z6SKvv`9FGfL_h4XQ@cGcy~Zz26}J-pp;!J@5t^gHJu;^RE}a(l%6ovU0^gPT|MIkW z2~EgOF}3Zn@$&L=5dM#A*a4R8e|Yz=E%|(xTD-;!2(ez-DZ zW+A7lb3 zzrh1>>9d%JQPDSG@Fd_}2@HuPKBm7-aiklQ$!OjC*@{zP`J(eaIToHYrXb&A&?oW9 zB*S5j>=FeG`8!dey0v^bK!&n9ntt-_s($wbWDO~#jV_X*`^G41Ultfod$9lOki*`2!Ft`0Pj&u-bg>6euU-Az>N zdX?696gXQLSh_dM2hFU^YK0dJcz}yZK7h9UnHv}+bZ?`x7EN_Xl3)DU(1jQuiU7nq zK3j*7^CWoHT#KnsVmH&}&K|*zQs&+5r8_6j_D+^U8*1ci9;JQwb37ROFUi23M zOo!kC`<_S^AT!TZ;^_6^zC$0qC7A%*I=ebO!`BJHk}ud8<1xhlF|^#Hq&yuqP_A^yK106rny56C;3 z{vh#Jq*-{cj4-2>;a4kQ#(mc9tGXma=wStu>LRtJe0{TlA_FzV!+K2D9iQSg;##!*iv<507%a3fo^;?|jacT;blXXv+k zf`Z(jAgGjvX0rll*^s_Sv!y)BrZoGC?tIB~cIvhJ&B9b`fUEb&&t^c;Rrgz_3i2cLY^Ijj%uT&vNG7?raCR1x=B5~$l{|E zsv)Ov-GZoPxwtuMS;_#(?Xx{iZMXZtV)exo8f9%raVub0QkMIt?YET{Rlm2o=DAcS z)e!92EFnxwb%jn;%hFEU%v$9D3O%U(F(0HOb?UF~tL(1PnDO7uJ}zJk!izTK?@ef0 z82h(^QYVbFbl{}&b+f)Xy5|3@mDVE1IS;~YIX`>&XE^9(-T!0((5A^u&e9(hzrS#! zbWA>O*1Xf1JhHIB(6$C_z&+_rrgt{`sormI5d|eTYdX#Bc;Q}=Teo;2H(#>FLuM*DXRp*K#;em$ zMu$E(+BoSww zz_MS%Mdd}+?-uY7=L%y)n)cIVj-?wWMN}eHdOkW$!r}R^=r~%WC}EY8yx#k74MZJN z{q|*K-hr>VsqNSCRBN*6IQm^cP^HlcopDQ|r*u0$ee+}Pz!I}F{= z2c949b%i;W&hmXPkCoaI`CHsj4{%aFS3>UIiy$L1p12L$V9|cD>|c0Z?@b3V@%FF4 z0QdH=sI;Oq>u)XaU+Yt~Tk(m$t=*@Y{V{+pTKu3DONQau3X<88u#EeEQajhIod8*M z6FnV+V+eZWbF}JMJ&eg_b=`N{?^%E-RNVsj_|1oe$G?QS&6=<_UvGm1Lm!cP?Oh%b8B;_90t$3r&TQ+K%n{^nn8(@_)i4 zEi8;LS$)6BUHWhz)bXvUnAiR-4DLTL>6#l_EvehKI2r5bzRjOYHQZcZI82|2!dA!= zuHaYh!(`1?qR;BzI#yQ4r*PAFo zCyCmW-61clX+5i%%NogH$-C26s zGU@G}Gn%&OZ?@H(UCQzLFUAXO3dEea)H*GmGk)Gjs&ZEF`T63%v}cVcIa8y9dbfHe zVRGlMO>(LGefNU*`UdND0E)&tN7f&Guh0B^a4V8$+Cx;2AXN4Q)$!S~kDZB=5FF^^ zr%?6rPr&$`d>R0>GVZE^7nyfu1<@6RRO<^KRewa8QB>|KSiIzy4A9T})If;DbBzC? z&ph)^J@#FK(b#qJt%{#K%0JLf19*Sr#qEFW9*D_P;IOfxRrXQbxM{+Ye(_CJMg1KT zk;Bui>Qfoj%84nz$>P&V34`;zg2JUU48?` zo$c37`mEgyH#xgelI5k{X$5$W%7Im)g_R_XKi*MzY*^qoY$ZSod>z{(_p=whCG-D^ zq)b%RKy)BuN_VVkOc88%thP2?mGf6uTBNdPn0jZ^<%3*DWZFX%8!@+wQ$eydAmgvJ zW|h_FDFYfVh^>ZZKRH2Qs0P~hsVP`x2V_2TO%cF|z7M+J7Lt)t%!)(ooc`U1ytL9S zDA~t)xL6vZa5H{(PYoqC61h2i@!*^Lo|Ce}e6|poL`?G^$1Rqj*{8_|-Tg z4s%24j($%-Zhweyw(VzVs11;tocc^7MDgx7SvDd&^33a63~7zFM43tLY3yp8Vk+ zhj~MW4gBPRFhW*<)32eO;ewD`4UizU3QeW(Bdtcsz?B4Vk(s}nRA)xJXvKhgnf8iL zeE`*dMsRBQ(_0e+lZVL%|K=$GP1r097(9asC&lYMs@ZR zDgpgG)h^6A?5}H7jh-|?Zz!bAu@3pZ2|$cH-AcFTRJH^m?(8(tUZ6f1JJ3d04Q1c2j$6B?^` zOT%8ixdiuAJlkVR^AvTG=rp_|w)ryU5`nf#G;%S&@ z({_kfwf`8g9m=d0DbHD{_o_c^a%Sd!AVNKpt|-qYL-=@{L000y`n(Y$X9?t1w(xGo zvFPy2meUU)A^G~Op<+&}^qbX`!K)p+Lr%Ac3PCLeZCygbdh)7k$1M*I$ zB9>{3cz7nu`7@2@dt_T`g!EQ(-!{C3`uu`*ENb|>-@B;bnLJl2XrlI4>ss(^y=P}T z=Wo(LzUM#yh3?P=N}C$^t@KW$>4^LEsZA-aZ4FF3Hzc!XNdoKyy;g+p#KVJiWbSQfC$v!0 zZQf$$%@9lw9}K@4U)r&`l~Jpb`@nR$EOa-Add5`a5H> znVnWbZ5v08EY4U1+MVGuH@Brlc$hpsK;9m(lVx*(~atZnkSx;P)#8Y20{ z;XVF$&+K;sgmFNyy~*ON`#4qyYdJ?`;2IpH`Ck z$1RcQ`o+W4XN`0SSfup`^&L*%x8aZ)tVQE!41q+RTdafsNF& zVvV0$D=0&GB&$YM(wZvA zb(Z5vs?TS+?K{iC4u%Lz0OnjrQSNVD(MGTjmUF|0tMkD1rRnER9;MYL1vF`nI+uGI z4e%Yo{D4jz1LQme_Mx-iCtbB-@N6^-LwEP=%Rw~>*>nqU^NhB%enfkO2sdIW?W#G? zK&oLqSZCJDxOr^DZXo;7h93O4_Ev@j1=jSy@jMydq5WMatLyyx}gC4qNPjlts)kS8juwY$gVh$zTp_> zra`v)05ZuO`X?`BI)mo6d6;)b_R(*UxCCEB+w~+j&b2XT-FAcyn`K=UI3BnXInIX zvOhK3$GBik6Xbaou~<==#4woNQLTQ)qbc2!A!)7Uie&G;0f;gBE{gQE$7L@mfbs`*U^N}A?uccAFf ztDSZ_hY6B|>3l1i8L5Pnda5roBWe&HJ8hU3QZQhoOS#Ndg~0E@xV^K2k51UU7+lhT zA&tLt<1K%`ij=no?2In8%rvE_5jd^BPIZH1hod0-!A(4qf)kJDE^Dz*Q0t}$l{8u; ze0sWDH3ZyDR8k3>5iUTSgAj|S>vis{HNaKhhBBF$zjGSC;Xx{qyv7VZj{Y|fF4m@V zW`1EQBszExPD(Y7e*1ipz?Tf^-*1|0uGvI{UJ&t>M4=~|8i%w8lI*5r?uTMrHXePb zaOg9bwxDxwl0ilD+&ukmyr^%&c&ZgP&#>WFpZv4bG(JVzRSppx1VT#p5MV7YfXtDi zmy)2OR~_wP&ygMNk9+m`JLh2b3FNi4!$ai zjsqgqllR@c1L#s$sm7loRX-;tFS}Wipjb;slu76;agp845D~UQWv|01JBRff0_54B z_&}?|s-3;JmYV4Ph(`ypVVE)@rP zP$eIKm5|6o`>nT;^W(t#>^KWBp)S%zKD%XA&0BrpY&Hl~2`O}Xa{nT!-WFJc+_{}0 zIuT!u1;JZ)3=D4H*F-$~*AEFHo4h>ME|S=^6#zwC!=sGeqh7BFs%Uv=Japss?}bP) z_1OW_2@vFv|9n!>rwKk5*U{XiDuL)Rc$&{dcua)jf3%41q)Ou;eDeE^Zo2Np;WII~ zdi!+eK)zZrM)=COYMYHtvq?UKP4HNn>^6_)n! zYGB$Pk|=ulzv)1;-@v>jmws}*%)!yzpCX?IJIplZt$EH=+Qcd+mLrF*V0nNH7FQ65 zkj}nsOE7}(&&;wQq8=x$G7myvy)*P#c?VIBHll1@FRgIhbE`fuGuU^@+9AP6PCZ*+ zXP&Yqf;3I24DMnt9L)FIZ>)$koOO%Bo;|L5TWhz_VE-p`to@|3_k`NuzPn6ur5aQ< zmk%UXsS6_WNWXR!7zT-kPLhe2{&73sfG) z4@UMM23Q*SUhInSJlE|f%S{EMefhvrmoJtfE$pD*6W5=%MZFzjJ|`W4b7wIfhWo6E z{EA7A^W4MTe-e)h8^8YuNC^fyX8mhMhkjHDN#_3Hy_r#VcNad88u8d_Osp0FokqZo zt!j)1Op$u9gQ6#pVl$M*ax(X~Y53w4qSNIEXbb+BFn!}CsqN>M-S#IkPZ!~Don32d z&R2q}bF`<=Drm4l)n43cZie?do;wr6VI&^@3)yQJQ%^#xK_8$Z0ZReJvvY^W3~u~z zS20A-l^iUF&U)^s1IHA8%9Z3kJy>0vfJ3t|QGfH@js~aIvnykEcQp1smaJi2!{Y48 zx-Z1{Cf>n~4g8jF zuS0ZC%LR_X$@-W>8(BxJO8vOwRSxZ;6bkM=bF_3+%CYi-Zzk?+`S&NXc=%xPRra+{ ze0@z9+SpO_a(8-SG0H`79bmH3X$UXRr&_9k`|Q5?>cdE3`lq#XQJvYuAe-&dN7fGk z>o7s*mG54~UlzNjMYE*@&;mB!ZW=I*dM}oaf&|jt&YK%);k~Das{lQ+bxV)Ltl~|t z$Ec1;98Iizd*@dbSD*T>_D%i9Z7hF5eBLXp;ZTf#zuq->3LG_JwRH7grtZyOIdMdL zTuHKfcr7spzDg|CZJ7w195#$#3}iP=jo~@0s#Jko#z>u71MP~ve5~3R$c9bvL`}pU zK);3e%FFlPyPV7E09uAm=&nT>z@*d63M`)HW9OFr0@GOVRxc=;d4lIKYG3TNn%%Bb zO=vjOMEM`M`WXhim-l>^HF&eBhbktbfrZ|9_e?rihk#=}exZd$4e8sqHb4(}_b`&P zTSAt<>>ISaSLvymp<346FU6=AsI2L9IbBhXUy66o_G;?QHpb39zNtV9AE;|tEkH5Y z+h3Im-=QD5YaMc6N7x{zizY*4l-WMWSr{#9qGislM`zl4lhyN%Qc{oVcI|o8VbMy1D1j<=&jnFxqbj zjg%R7RZ{mJAXwx$ppAjCit%j0BPidX58NMs$9fXV4(NSmL1+STT7R_yl{YRFm#^E7 zI@MckJ|pIcWKQcIhUlT4n?ec>jYC05yN*^H3|_L(_dH1UrNi?NJxfBX+rlo?BKRgO0aiLat)ru#(#>PmFExzc)h`CqUaJ}*zSoZRME5~2@k zuJGUcRAMMY;gfG;qpapDW~M^v^uy@+^Q$%XZ})n)97^KwcG3di5F)XNy}DC5;E!#q z7v?5)KcP5W`3`=R!DM8nkr+8+rAJjgOO*tR+*sUcgYbuwgGRy8s!ytmE|8>yU-dbK zjo;{s(k0k8a)^u$(Du~l<)x4~=q}bxvk;06@+qfCGwRK+FURwUEwix0jBt`)EWUjl zf~g|d2&{KwY%bh#U6qMANFc2?lfCW0SMKn6uHkPcN6ko=RLwDV%9Nt%^37!D0ZtAb zg}y@^W>HQ+k}(x*jcW(DpG?y~{s>R6VD9AE*^fR2?dzHqlI7LskCD3uGUe4Jz{Qs} zB}b!k)q;f4>X5_}^FE4G;ia-C>qYvI*}%~>jQZbXSI(u6R-5nOvwaeRfto-%5Ca+*MSebJE``I{8E=UukFy&A9R~kz5h` zGvge*s`Lx^#Sjr+D8hH1L#alXOo!8$r+btJE^U+@3V5XW{`L4e?_JK3mlRKIe?JLt z@WB0cp!FX~PCEm={uM8q~i@CnpbEnj#*XK4a_gx9mfT@p-G#*Q6N=xK8z zeb)nEHOom9nKqxZ>WPX(d+I zv$#-U|4XQI%Ey4X*#&7UD&D(!&KH*ZEW2l~THc&BcIB58@%ijO+Abmah3b=tdvT4u zbK+V%6{7FDVfd>nLB+;MtI1-NHSR0S>XH-hUDZ=SUwUb^ zmS>n(soP0y{LxbkVU=Pyc&X-AsR*t}wSVDUSy60wo#cynoWJDyJ#COfd~HPV$IXnW zu^=7a*Br~bO0s7M^Pf-ruE%@6j%^v;j zsSa}gvZ=|f%B#ol`@DV1ab)u6wi?dGN)nM9guxWW;EIQs4$>>&r(Z>{QfW*sSf_ zY(8{QGqG6@Aal2d5!e+bUtmcu!5-0sx=O3K(L9Q>PScp9+D{`We2wTOLiHyiQ^MCu zd`4AYnj|sEK{l2{xr^~JCWIH2AVusmybi`0S0Sjy2OnqN%`L-dZ01ZaZR0SN0+H#m z-JZW92fF%{ead`hUldYJj8$N_Ds3eN%$Tus*1FSf3?zpVn7z11u(OM&Dx_3+zU1z@ z_r7lcksVkf+v6GDEHl;UuwYD8DwT$(S|X(0!{gGqgMJpr%5x(u2gjacwHjeNRu#Ql zndA{-yZj>izR%>{`~9-|#xg=1FJ)2TZ?T#i7XD0I z+DeUFf0eK*$FO4mTDY3e%CJw?y>)1xa$RJTH0L@Y%{ssN8Nma~6bY_bSfSCyXF6jN z3+4 zS~X!R6t_yGWRzh@Ex?i&N){!{bP%41kebVO=ohl9R&;L2oU;1o%$Q6jl$%zW1xI4| zQ=J*Fd2up6JtOZ6b`rAUVw_$ss=;CW;QVYwo@3GI5ceGm%}%ZB&_{bPK`zJ*%*iom zdGQOxKKWqnvB~R$1X%&FB=}U1YV@+bUy8+)ZO{Gd&=CKF~msV9C@!(tzw zF0iL_JB=v6+*tV9avGNuZo6{S(ftE7p?^1aF)G(_sP<#}s%6Z8n?>YM#!T%R6-Hsb z6?42%J<5&M+GCeMi~DuUJ^=?`%_p$H2NUpWvyXtl)1mNes|1^apY<+e3|`|gbMNc0 z8Dd>WAAWe#OlBK#?9kN{N6tAS+lo)tbnP5nHm|u*_zsT$b9Sf?EmswbhBAy7{wh$O zc=+|At~`->I{DAz_XSMfzX!%qW6qItZioN8y9Q%^gE#&OTxK;l-p@9+)}+9QM@iD2 zL!g+J%52J2>eR;}d7V5SF~cG2ro*R!m%}ohI(_Y&5`*gOspNpCi4KM4sD@%pbE6u@ z!$nb(0!cfL?S&XC@%ITb-rz0zK;F?-ft)C?XJs|BBes3|dd8_ILa-sL0!Y?hEI!`V z_V4h&sbxOC__PNp?0A~l)V4mO1`)|)eP#pUO$+S)v~!M|Iw+s?%|>8U^T$JP>!b5* zpldwK3BU-wypLPA!2%6)?<>)`PCpV($t;T_`y=9uzYgVI7)f>hx|wNhU;92ZV%R#V zr1tuJC&sy-XLEV?kNu~dd{tAOmjnwy)odKWsif(pB=P=iehu5P$6_jm(hZ`^-+R+#$qKrtCrV*r{C=S_!Y4 zs)Vmad3?Zot%EE&p7dU^794TUyCS%FWmkFQI9)66w%|Uu?D^X{Xf;er^|x!z%U6-$ z_nF4RN*GzKIN7prPfwr2y8-Lfy}8nr^hitUj1`#e>+kUa^v_+i%guidEwy0|xj`^r z6AtGqu+}_(SM~M{m!@Mm6?2CfVI!LArBmaZPYxFaPiFYyUn(qyxMa?Vt)r4I1N0_v`?y6S^%@F?1| zc>De~C!%PrZsI`O+qo;CSlhzwJG&H z+9gNr+>8D%{QoHHoL$=%&Z;uH!JF&app$jr6r;t&sQ6~F0o`(vS?!_Nu;SjH+Fdr{ zdK+?$^WzUwNuVg#_84%kW{G>R_{sv8I>F+b>qpPCr?#7UZvfndm(ttP#AV@;WUZXdcv>0s7eUms|~OOXmTo zaa`-5$B$b=8@bkXI9rs?v~CX@0HG4@s*J7#R?&OE37FBc=E2FK{ltXo2`84Ua4+J< z^?O73Nh5%QO{K6-GiU%g<6h&TDKAhde&ugs1KQfLQ&lQv|bL9k_ib-M8%B|6D)2*q;msyHmvZ zBxlff(;Gc-9p}J_!-OkhBz8>nPB$E;7zF?D)KoCr)#kGdPYQ8~nVh@6fUp?6**qU2 zf5h{=3O|{xMpx|#hE#F938rFK%Bs~Tys-TwHjTXJ9P`I)+j}aciV*F_xmBGF_tqM;Rwz+}^*cae2Y#b~~gS9g1W>pr_ShyJujkWpAieVAIEkqSml z%3S!u@hkegx*xrP@MfD!O_XZ>s26{@==f&D#{j2Vgob-w)6s|Ar$vf37_~3gTk^`h zLOw`w5qSi`CzqiWN3PGoi9N5ZlrK~s9DN+5f?aa=-dymU;(klBAIXh~vWq=uO!E%w zNiU(ePo25K5VPklx*OGBcAiDp>-9>@s9(Q~XB$l5&5(V*WI2%3G!UbL?v5Q1rR{C{ zH5l^#JzojUOBV*u`Qo7OHAWI?NP(Xb$afrL$nyszg_K`R32V=^UVM4#ssGk$hNO7S z_)qHoH{<8Kfxw{wP`Gdk$s&Rw&UpR(*S+g!w@1mAq$OYKn4MpeDgbl5c+??et+L-I zjJ0U~T0Sk7-|Sk5SQ$n5@ad2!7)kSBp@JkV^+ZtUsnm`EI18j@KU?wil;ETtafU!x zS+a9H>Sdu-X(k92@#VTZcrBQ-8_6`|`fjLTOwa0RpJA4j4A_os#~fwQlAJywvsz(g z@8qKDbDnAVELy)6@_Eb`e5~nhCuItr07@2ss^HRlPK^)cLz2n{P9KG{gBhHeTMrc@ zG-NrQ_9$~bZE&-T3uUh>8u;s@=z4ACk~6$Lt{aJ8>%RH$wcHj<%_rQ`?#?^2%i2wRx1XXG6C_+^-X@>U%%Q)&OIU za%z7}jdxAJdeP%3*~i9+kMOsFM?+0(g%JO%#|VG6fGVr9I%4}OX^{5N##P^w^a!VTKQLVQP_4N!rq1=TI%hg1zDB@~{ZSUaSZu;`X-bkQ;!3y= zz9P>h*ZqI0&W~))?=t@?K=7dwTQaeirB&Saw>w>UfzaGvWZonZTUgGhuyJvE55Y3)l7`JeO z(F>gvEn;t@?{}y8SpCXsH4MeB4B;L1zN@b)#v4Q1DXsnYyf{*Rq3JdL;Q-N2^s&3S zdrm4K_xLeuN8@)5bys?>Aeechi$8){iI8Yy_M1R!-Xa4}%;dXa1NP)KyY<&LFN3X= zeB@hs_(ok7gWbfAQ)BnH%kMsH0ei&-<=qP+d(=n} zYvy@FeKpS48Wk2cV>hd3omGnM(4Sq#YwO+l2B{>R7Zfdg-2|a?zy;E3chA1Nl6t&) zc-TwZ=Ehi)(Okv4qWH({m?_n&f=s1*E%8;U2OM{eWStFrx{@hL=ry_e^dOrWk5x!b z*Qu_5%&5IGD{o70rt9E~FbD2e&(7+Et1|MF>1JYMu6DbuqzsJPE`mz-+bT08dlL@} zu9l83N$6sH47eI~2!rHjO1SOcuBPx;<}GbdB-CUx*m2hhc3SX$6>wWuWCVH=h71nN zVL?w)`6bs;)_cFaoqolWPj-q1sy$c}-Wey)c3!e~pmiFVQBGfV(}Xx=uj&$6mNbsn71r32cY_PDMNQ+7RiFF}7JX3mTNv*Cumj`#r znITOBb-FqU7*;2J!C$v;hckO%JWFx?FgA3xLt^>+nS>yqg*$i&Dio=~`FGR==CbTv58{)Gw zv1}m=6Gx>JEnL5I2h=&F?|))3NVHAzM0>`DA3ODy(0kXgYAlxVd_TUT<(Rvn>27GF znff``qMkl2hTZzO(Sq`YGM76>+2Ci}(T)(~!M4&n9i=(q$xQ`{Tr%|(Bp=eeI{tC3!RWPph@U5hf^+m0)~*w2PdX~9lQZMDvqW|)wARc8l5FF6y?zRn%y zobmkbPd8YzOG*ffo%Pqc8brwg8NSGJgR4OK=g^B~hupgavqy&5siRJs(2pNJW4|9N zq}GG!;JiK2GDG@1GyDiLznO0DLUvDZ{B&BcGBjY?8Wb$-2rQ0fec0^jops-B6{Zy~ zZ^hzGP*Et~n}4_LmF%J&9aQH#oallp-Fg!A^649agvsj1c{Mc<5r%H!?EAK4j`b0J zlYuMr>l+JmjH067OK7Tw9ndGF-Uf$8M4+2U0!35$Siug}9@=g4iKEs1rR>iR8K`EQ z`L=oiGb|Gc$GtMRI)Y2r~ zmxMJ<>t5;tBgJ%a!`YW|MeP6L9uqKC?(U3X;pED|?=t*AJRVr!To;fWhEKRE#gp!+8gR4Oej0_Pz#_p@tsfa2yWKp>b%c7 z(O51~y*>=|aNkqnIf0qO-~I7d;Wy+XRFh@;m4{E};P#3!E?dr0D9OHItZi%n%yYX0 zBpCu=A8l;|xCJ=7Jg<+)Aucz;B3pfisv29xjzR>OAdRxh^(R&B5N6n{Tk{gSpy76G z5e~;7H&XF?r}*EPw3Zot{#oQ!$)_-N{B~?0W*=Vf0Obvb``p&DCT=d9jYD04qoPFN z3kCQ@CJ3d=q>FFa1G~XYC?^FcRk~_AVgP#1L0oCidy`f78(EN4cW7oa95%sqo2&_Zs7a;EMy}t%?8o8xCqfI&~9lZMh}V-Lq)o>;&rXlH)cei;x4t5e`;xd&Im zv-RHfj6A|cN`bt1NG z-y-GeJ3-IR!$d+klz?b=nY`H>L+8PLnlB^sBJwCBxl1fAg1_a>wLo01EeeG%n# z=Fa*P6MYY5w0pjUcYCt^cIA_p->7?kdgP!|Tn*8zY?Z4obb{?R(!!lOsrthnek*8b zMTG~DswMHm$KxAoNcLVIsHVM371jVdTqT$hNDPBaNM?c5!N1EF90&22U{bH8v5oGr+2%BWg?ovJxQ&bNIK9iW#nm z0uO`mz5X3KbQA;a#MiNe2izJ;AKu{Fcb#)M`+~IaorjH&Q_o-4EvR~Y?VxSiTRG)q zpS$2tgh?O4peGF?M9kCngX?@8+n#0h_?v}U(DsV2jkX{<%>`mUxS?x6SE@U|BDC+l zHcE^>Y)`}(CO?PS^W03q@}OkW8wxc%0L~>Q@(nOSPA6D%yZ-JG-79!L)ZQ47j&NlMW4rw8`5+2AyrrYg>vm zV~M3U*!E&ZgavZ+B#szi!e;Ir2o?&YH@%>~ zQ3@;$bo;2yhSFoB>b$kX21AxdzF6wCBCbR;s)1aqR*Ja;<-&@7C-97X+-;Wt+S}V( zY|urfa*pbjiCd^!sr?zZ2}0e099<(VJbkN z3yT>;Z|mKS;s+C2$i3V^8FV9IbF%Agrd`Jg=M!DwA9e(seNx^1gdhs74n!C^W8INC zOV_pHWa|B&gVF7mIa8HMw;J@fFW<3^q2C~&-&(>G&Qnp)T&;GP%2qCb?Bfa6LL*N! zH*k@EBw+k_8NSzBQfR}zL2ru^&Bi9h?GPB@of&CEI?5e`gwFnMig*C#TB$hR5R>*%|{vW*cTT1L&q`)?HP3`ZHq!$PVjz;Y{m># z0cY+(l+(NboSlXzEl6?cQXz%=i-#J9b$p9$!CVltiG069JqG7qR}|CD%PCTh8*>tE zT8IItQY`J+0Mvm?65Cz2Mr=z56wE@B?%gj=HN2!m)G%%z^Ca<}Y}4HVY;SL)Wq)Gm zp6k3yfI2O3g9@diV_zj=b25ovTP zbwW3~z8#?rD~kskkR|O7Bkiy~9>!KMVS3t^u~nw7EUBU)kP1rIYcIbK zG{$`+;39jS8l73ki1%zaDC3*4l}gtu3R=XvF#!SknXp+U%W6!0inEt?gV97LIKrf= zVkR{D9$T2bb|HkUF&&$j1B@b{dwL226%mNM(Ujhrvk7mqLX#HAky3@8J__GXCl=XD zU=G}e_seGD&v4RK_Fn+~9RiU`UH%JaC`DiXDw*$;7YLNdswZ_zb_;pf$M2sE=NOYt zSc_B?O4CXpDHj{T;cs8dPbK=7J>s<1g_+!6F&*GpAtFULD9loUv|jY<#6MJ^x_FHB z%`p#;VrJ5#*Cy%3rVU{BGL8ZIzG|@qB7;32;I40~xNN?$>@>erkkG_7Wxw4EL!y;* zOOh61vGefZnTuqh&bzN$l(#VK!^94Z7Vd0{ZJHAGGecYq68;G=V;U```A&WzEnSP+ zS5c%@B3ka}%-jrz1*~dKp3L*KsUf1u*gu0H52U}P1;!XEUTFJAz3sNDLUn!2Fg5ph zg;71ZfvAL=UtCr`cv4F6B(v8b#1LK5iRl6V@l(B-V#T@vpOVH9aL7u~$+y|u4`*aH zmiSTB+fLpSMghDe(i;0(YN9}b{FH7KFSK~9)pcjQEN>c(-QKU{)i_t<`muj5if=m2 z*-zVwx zGdPzEW=V5!lmn`IRZ1PDza92AKLd%f%d-{zw)T`AC=69-AB0Jdrq-7=zSfJaNzWKZ zh1K}`*z>vwM>{N&v$NWliM?S~37wON3wxW`=70NOv>+wWvKLg8-K`fLE5DjRvzYb` zHiUq4Me6UF+2y)Md_jfF?^RZ*A!8KEAKuTEY)xt)FDz5SBt*PR4k$-QPc49P7$82vH# z{ZXQYzr5}ruYjA z&EzPp{1?VhWJqk)Z}8mj!vH5V^oj3hk5~<%?!$S2h5LL_Ya~BvO}M{0_@2P$wHnKy zjD+=Vs>5cZ!}#?dS;2}zfO2~Ip%m_?(n~cV+v*{pV}^|Ep0nVjO%h6C8X*%PE(1fT zd~y@YM(&o>3LL18BoZF>7yYf% zeA;o(2n!SKz$&f>JhG2makl<3!q-pv0dIp7UaPf{?!rmvpc5*SSCzc$fgCul@^<8b zJa7|`z=P(WOJ$;koikV1T#El7_Z*(4netrD_nSkbYy?}9mVeX6L#{})5jTY$U?Tu< z?>i2q7c!o|z748B=F__7)AiSmvx*He|KU(pfvXf(_7J&j`JtrcuZM#E)onn%tX)H3 zFO-aJgk`&^q(CtTPhoSh+5or%(@jBB10|H~B5dHgdRth77@X}eB>B2D0inA^sJA}< znpK3m=sFg(=SRba{Ci_wn9$RAc>JE~-s{p+%o%OlIE%{m`_`GYw;vTTd)vR?EdyIu zq9FmBVEtx#=1l}n#@#CI_h zth*Y-XxaoW);|{*620$Kqzi{HM|c1Pt*8PI+s7EbTPdl*D4oQ&2@uUr8p3mCEQv=G z;2N8hTQD|~vu?X3iC3#wzWwG&oA%cxn&X2;x+4{)m?ZuWvh#%7kat%|6?mF%1rohe z+OHy03im`2T@H1J8Argn%Be1=ew?MrJLL=OqHQ!>9v($Q6GtQp4_YDKt9Z0zX?;#7 zeCOMDR@^-70a++klKc+jrbW@2Ad1r&(wJe!3;8{=BTIVf1AJI-Z5&v&gshM{E5p|l zt~6>rJPg+9kR3NQ=h6Y@1C!2xzA;mg)RZT6dwmv%dG9B9rT-#(U%u?q=)FobZt0^x zNDrv3{B#A(u?CLB{+>b&sF$I;dC98Tra&^(Gba>X$45whUQnxPRw$I27FW$nI-oWAgiU&VGKDNyl8Ej z5OZpZY~+*sYSWLi%q^>r?F9QlDX`YlV})Y7oIM}sA=X{1PdosBtuOG58H&zjaQvYX zgps_ziPZu9v;7bUIwd(V9LE|xXBlvt=H;l!BN9TCY?9WXy#*Mm*w)4TToxl^-J{%$ zkI?nQPBmo{BQp#;lkPXX^<{a0WL%GVi8R$JwX=9E!sWZa=e76ftoS>FJ2SjVsZwu( zne_3f9qW)cFd3zy;utY2Oz+6d+o(>$p}lflx`O}d6y+OiY0Jvb++p z@*n4~vOm-Gpj>_Im&nOvpKH0H&-yaMY%!?FZ%-4jg6(EgnuP7s;?=Qn1`4+zj9C69 zp_b%KeZGn@ntrV9HuW+F-vtKa@N%5n>J3$s&NO}F|Abk90SAo$Kr)v95~$SWP+!Yg zc$-|A``obFB^qPvv;Vg91(lXEaS)Z0`BjshL^$#X?PoU}MgX`1c*tP0#m@q~f~d(l zr<#Y+{Mq4#2vZc$!2GP`h?NDos(2{~mX?}&I=+2&HN#mm0`ItzqH5o09)q?n1ThXM zSJ&RGv)3LjO*+I{n%YDDIi7wvtvl9Eo_myj_mtux8jzH4B;~-1^DXYc_b@?5ZgCV@ zE3t1=+g9DfJBDUAHY8LyjgFAKa_L#6d$nM)9=CO-?4&x%u58u|^_{n8QyC9KZX=Cb zthRnXiCP#JUWU8AK9vFK&#-hr?uO)le?!I~rH zsxz;vXkxHS=rcSUW@aY`8*`xy0AMCI6;dqx{Iu#;G}DwG@!y1 z*|Y-0dkCV*RjPm@nl-Vq#B=<9XyJ6ee8t5`Jn{$H#@4L6350GTFw#fQ+SWM^PU_FMjgjNx4%zQ2 z+djL|lhLBXJlu)&JuKkmvJJEm8EC4t&-efSyI*+5Bo$18lf0>F?=GutO%ke&? z=`hZ^U-5t6dg!;2#&=-IY!5VYs)yXi ziDeS_i#=ubh^ap`p6;tB8|i6iR%v$FO`5YuL=u}0+$H2u*Z^mfPN)LfhRn~m9tm0Y z*kZ1JRPd(RS%$5*O&0#>nVGsBqb|c{jb0a7re^8{SdZUK_Mic)(8IPFKQ(;N#rM}F zi&I^>Io?et!+6#(qq~3#>dokGUi8$RYc85K$y(zo_FKEBqydnv@JfND`}BL?ZR)ZQ z_l}a(0A92KuFH_x_OH|(_!VTIQ&rCWra`>r(oZGrzv2L5EQo5M{@!^Mg_|{A_`G%R zeqs<|(S#N9b0N`7mf6s=vHeco)GGenXP2qTltSPgbpc9+X<1wE@r_otr~E!>xk%a0J_%o89IN~ZIO%W2hV*Fu^c)WUwL0gd;fb$=8w`o zNxM97XA^6wWU{ZF*1mYJQ+1GPvjXVNUtJg84u~D@*|8bM!iF>P)p9!!L2FbU!&Bss z(uE!0jf6W_v4+D!5<3d<-e#f?EEdCB!5ghy*N>9#BNz7lP~2Vkns$CWBmW91GIu#3wEM4xR$M>w^MrUhJL^9b2v1Ie6h)3yt2@FNpqY3>;{sRDqX{W?>8K{@L*I&JpdiN@->mHQk0|6K$E zFqE4|*fC(07}^e`6dY?pEhX#)UHziKqm^IyLByZFN0Sg9`he4SOXS9Y97R z;+T12=#A(Cf9%Xx7_Jc00detw2B6q4;t!umgVrIfx%kY02z-%4iV1sF24#$jE(fTXwSE-f98% zN9=!nxxdkvFo{xLOUvp}c9+-gOn?ua9=n2kY>z)a4L}XrlN3o%f3nL;Pl!5KbZ9v0e1=9 zoH5q@`wwq%ma{ob$l~FhYbH(3I*DVr!SW>t0GS$%zR!r=V5D5liz+^-I`5&*9C~WC z+{b@y;m@P|@5l68Eb4l>=p@**YIf7Jru74>+sTplbBaVlyGyx|B`PaoeDOJ*S{ILo?N^m}%FP=Wnb%?fU@n+6h=&PH7 zBOv2joWxM$&`sdERz)W-eI`9>N5;XmzuTTxZ5xOTA%6qQc}Az%!JsnG!Dz1B9vPqY zkiVqah?OI|6wgq!bgPv2WQV6}9pbeJ{wr;x&D z08m8!>|Q3wThW=^+D_OuTupOc<`zi|?|lk@vy!v~HnG_AZUm$rkIWk@$2GbvJAgc- z6=bd<;r2a9fzW2ai|p)jA{%)$!%_(^B9q5wX*!%pH~G~$0{5eXpGa=?=E4w^&-0w>*luD*E{v{*Y23}Nt{I!)jA)pkzoY-&nb}%{_h0$R>REO&2 zle(AQO~v;!g8^F{<|Dsnqt94GK{Ro9-j?GwxR}hoD}7S=yI=p3V^)lS#arhT<}zS5 z{#{keh~Tc`KTGw$lh8g6@b}vy{;lvP>dmklFt%EIFM$q>KknIRaMI}cY&^{Tt}@yw z*QL6L`JX}PFVZm57-QAZo+XIKg;nEQTkq7l@>%+&URXK(U`V?H)PY*S<{FajA3YQT zXd5hsJtztLeX+rtjPxLbmPqKYwJ3Ig|94?MY$iKIYidPyWRkg-?^%d5o3q8eW71}q z#UbAgc}9~nZZaSvA+T=sTxWvIhW}Tkmne1yu9ctvhm0$PuX9`_x*3Y*K2>sU7BuI! zE&;2@>bd)0@%8fzv6YbDq_6jZ_MKH3@+Yu%)$bYH&OCv-E;CKgL7OWp{u^DjY^}yy zay$+9d}?Eq+lbig;>fc-6~BAd`oBa4crUR-S~l3skN+o+i~O6%sroJ_MXq-;d|6HA z{v(avbQ3@3DvR%W;M+Y6>Jo-rSIB$DaaG7mj+x;q22yksa-ZzfGT|&2lblFjW>3R$;Ybq3 zcIio#L@zdOmz0*?mHDh6|0@Fh^I2`7ZN#7xrG%g-9rVA`GfP+EJNUIr(o z5}K=~W=862>sh%W+w30zlQc^MS) z2St~J3q&aqM^QQ6Uhvd3o4!DrWBV8_QI}RdnrPV80G>ZYt#k4G27YKx;X=S zPa>1Ffz1Cm<1kS|e1W*n24tf+HR{~wKdn~{MYsS-P9GC^ix(-9(PVj7ozEIFi19qZ zhJQwg>ZbUl-{BDyP#-4N@zn}Awfy}81x2*4vK(5uP!xFia__>&8I%g|!EW<){gPV! zX(N%*GCtpy|K7A#R!6*0QU7~Qx!6@ocS=*qwLhuX1d@*kq@w~M&bGIj-tO;+5HB{*KEMGuhl_2h=W+sBDj;MLSfdp)Xl&G+(AyH4`i!dT6kJ z$NZ_DdWYz%6D!a4#z#jl2T!@y-g}QBn~>YU9ezx2C)PzmZT|AvXcuG=z4Y|~nnki- z++?qxr)UIq1y;T?M%=d+8(lt|RlA1e4y$&tW-s z=~$-Jncr>oUn9j$C1vF=Oi``BQ{8HQ#MZrC@cJIP3|e=tng22cD(K==^tAx97z)@< z^W~w|W&!)LdcUinww|;Xbi{SGx?na!fSQZDH~4vU+=sIdEed)6=?{-zv}01a=uQG!l`F4Kk3|NqD!S1L=jmRbt zvXYjpnE_ax>@(qYINetA$H)K}knu*)96)AM0e2EJA1@yTVQH{ThX;qWoDGm;((DGA z1Wy4YA0Y$L-1{Pc?2S>^M456610&nJ-FB0feemfe|cJH5^K=;f*&hcS?hiL&6N8}urw>( zaUA8ydQj)B8c(P(BWGkMtsObL339vo3jBh#pp?PxJQ~OpEAzfSCtxZO#RM;(&p`YC2qnPelgb1NDJ>+j{r2u84?-3lc)qXT-60fO$}O5rN( z>A7+YARkJ*H3Je!1)dLN8Y{x?s)t;5z&DBk-<8PqM;VdtS)6&_|R ziXw@(YB7pC*M~LsAycxjzFus-`LSyRWwl7&w0!2r%IRua`YmsE&{+b{{*Ya_%a&#x zwYdVaSC~Hj*+7Hgm0(cN-k;ni+5LzMd4Qi%*flso6H! z>?PL-J*{*0*O&KPffbx+w8}*;3W0}KNX;{Q{i?EWFfto}RVW9{-sy+)W0*eAZUrS$ z1)yx4DDeee6Afi6@zq>+F3C}?+nQ~X(445TeUTruKRRyo+CtqF=$2q1M@V+Eok)U* zEaE(B*kqYZDkRFwx`!Q&IFAenj#tpGg9(HKEpanO*wIzb*qmJ)jsOQQ7R|6z>#QRe zm}mu5rD zXiV|j@QQko!b5tq!Owzuj(I!6X}fknEfH9C*D=Q1`EDK+6@d$Je_@w(e||)=8gCnHMYK&+HmCx?mb_6+jt4`3%ooiPm?9@qb3^2Gjg@> zj>mjT$Zz$g48~IrYCFi_!E<%5@qEx8^LhriqZZzt=pSmci4gyJk4`z#zUa9K3>0(j zp|Uy1WJ&3;E{9K()R-k6i6ArncHcd{#$kU5YVZg3OpZX4)QnEF)Bo$YWXOux>+y^z zVxf)aow)s)ehyCARc-B(9ftk9Hva?P0QgU-V?*H;SOOtc~gL$XG*bs4iJknJdz3DP#vyT7{ z)!B+jZ>b&w?($Og*dblUHPqm3eYbjUVyhVTt+N$l(@%PO({|hybpj{MRiR$1p%w_G z2wm569VD{t+LZaOzohaGWkLLfzK=n{D=V29ZePnZ>20q)g|~eXsIi+qqIZ0QzVBAK zTCYXUh)5x+q0GW#p{(oY>!mZb(Ul_B`%B%fw(nEhibo`A`Vx^_E&6|lzzq;zM?{xnUQyX)6$XGsEL>-a(G z-t|iQE|^mX6VkLAIyM|q5(hv-AQ=k$*LA6(RSuwf{HuWs?aEMntZZFTZ@ka+OXzz^ z<^VaBC0BWGU`YCP0_^eq{1Sj1NNm%PM-8WZKAFG3eXvMfCains2Z}dD@%@~!+V7`N zROf=r16HIt(Au*M@DIKdo|ln2KC9 zBrV~$dYp^oj?{@#+>FcVN)FK-&)cyxMCqQiq#-^0?gJ)QUeaCVU!LNzf_VGU;%j!I z)5YK?m5quxo@R^qaBK_X7kJOt{zaU=&tL;5j8Eq%K;c6%u&1s0a7hFxF`b}mrl|2N zcRN3Frzh+4Ee@H&MZX=W5X$NBz(i4@uI>dNCg&OOZSt)TwXSw?Snp2)dbF-vBG{Lf zjLzjea)@wc4riDy@{Q`_X6#6BNAki*%uqhB5M4i@insn$+P3#aZPd|r+ZDyggetF@ z0T|s^-^C%jFV_U-Y2xH_d2YGNu^dSWpB&qf{bIx4hse3nrlZalUO3Eo@O2tXTR)LI8=1qSZtB?^ z_Q~A`w$+QS;meS!(rp6p&=dIK1JJ#drtj5}*I4PB1yyDmdQwr50ecBC@lVpG+dp0* zdW)NUf?@7HLNb43ek)nW@%fEOa)+zT*R7Z}Oqs0EXcU%Q%6N*NwL(*XPXQo0i`{M)BE|}4$bNJv z9(cEWmkg-qTb(mlU@Cg67$yjM_bSNRtz=fmP~q7U&&*chb-A#NC3%5OVEWlWh}s=` zOBDLx5O}WBiU3o5{nD9MLcg!Epxb@+ZR+48@3M==Y-?exU$a9heKJd&a08Ki7qs;b z|0_#A&MaQ2wUCSVv~{Hy~|bqAy(piOz9zuf#t z>-!>$Jc<%B0FuoO{uOxWyxTuMLe4YWH*WTJ)Pcin(Jk(WoNX$K!*99v zRflHalBo7TB3~=4*Nhz7o}P*1{{uNDyTmbd_hdi~Wot7=z>h>0c@c#LIekpev*i=xOOt!gkCD-u$Cdp>Wa$ zOc;xjV^B%q-kK%YC&L!Z=y^lPw=YdNvW0%7ZEgXI;yR<4s)HWN{TmQ6D1 zRh3*G3C+13es)Ht7jt3Q@wu-=6pVl(Z|62L=lKl65=aXN(?Ik^U!U%IYXK}ulerin z_QN-aqoz0H)03s%#0t9vo-lg|;({M30o_68h+!O0MedPJ-@1-VT1C?C%uhL}2?&6rL8=UEdKedqLP~*S2u@#fsX+okt*man&QY*lFRRA2;@jVAYm%e9LWjkiw&V z%&BGRsSqh2?V@j3d*vTz2d8E!S!mFY9;Yy40{olT{7I5*^JQ(ChN81di2ExRfhB&J z48Xy}XE?{zejv?01?uKmdfJMtD!Zj&qZu(HPr5{Fvy=KD9T_+rbh0bWhsN|4xA};? zPk2HzVCRi~JQ|C%)QbRfHYpg#F@mK)62JT3r>qYJ!Yd>jFG;uBR` z9weqkfZs@+$-w@6N{mAzBvVDtct3-IZiVdov9&aWbwZzb`=U^1%Y{sw5WrnwY6Lm%qOR>obiZSa^Y7Y2VXLpWqpaK5tU95>4@1Lc*fp$bnu3S zArqLm{5$_|yap)zKU**+F4m8RIxjXR21<4R6Aawu7+?(EffqE#_v&VhtW(ZIZ9=8o ztkul~vH+9fE6y#>BOoy^?zR#6`CuM<83e2VRsk#SKEFc}}j ze!!`gp!W#Up-PAZ&!ywZKeo8y}%q7*Z?1k*uQnn z_YcL_{(gbwh(u!R^>a3*P3t6}MEP^#^0Ja&T()kx;+&uJmGYEL3_<=^64QdW1N_}8 zM3i?je(0T|bi{GQPQBGTu~!VYv4WuYwGHo8Cp-Rt0o=^P_w#;zg(u$XDg=1`i74~~ zJ)VjIRLGfQq`MB1d;RlyYT7z860_7ED`^)iDT&TFL*$gq03E)a5+EqK0|mG5ti(7 zY`8Hot$~mcQdPExljy-~TU?yE47fn#IMt2;ws*OE(RabyjOAf-ER1`n3W#mzaJ9L1 z81xL4UHi1P_VSwQVQKM+ z6j|xSCJ>;_jkjVM;%q2%UibA(8R%1%3zPQMl9sPRb#&oj>Zf5KzF%}}{HYrEG>_Ul z)o4ukE`r2JC{CbZXXjuxZ(i`eQnvN9&4+pJ>O|raGV(>amvSh=#Hl)YAFMs$^_xEwSt-r5o-+rtM0LQlI?XKBNa%`AH zApnV;Qv~_uR_>QmF1z&p#C@{Ypc87WQAH;VblD?xIMq+cL}e(I zV&}JYV%_d!>&xBitmr|qtg(cK?ncGMUQ9r$Z5tmr_&JlCCHzD6`Imvs9 zOc>w>d&yBWIk2Gv%!kO0;=6ypkV#r3sbBPnX2L$cS*Jz$%WOA_0@+Wy{-npj92k9C znu9?6!=gHw2La2qnB--BClZ}gqX3RyCUR*Fw8B3saWNQlF5@M~5X#cHGZfD}!wloH znP1!z(|EQy>f9Q%;&AA&%Y?-LUKfK;_ibEk#yQ4c^dLYSj0{xcTAs zq0yn(o0+@~sE5+3*m z8gVX(Iq-QiZEpO~wPw$E(_$DUyK=K6E%{oUw!s&NBu#=0DcpkGPL2W$Ac7f=*kQ)a zvoULEk|4+=H3CTFmu*lCC>dnp<193oIyLyue;PONSMMa_ximeE6u%_dMSBC(5jxf{BoMa@gL=E$ znJF;9)#o?|s!OW`4hz-^%=Qv!oQ+&IgoV7PzVkn8^P;9KiG8JZ3vGO0rR4ZXsKUvy z5z})obQ-?rTkgo$J_7S_Ix#ZMmY{MW<=GGf*T{Ipc9y_e?7}L0akyC06) z<{cX6hl;><7E>hxYrZ#bO(WXY;T+GdA^J-u>BXd6(#08BohIl8?<@o3?2@VP+>z^6 zi2|^M435sKs;J(<@@xukJl~!+H^aI})e_;0jsP z^$x732Q=M296%KJxSjkF069_=me5j8ZO`o$ZdFkDTrA=5mUHbYX)q{wH~0gUar%l}r9&yCQ1UIz@JJ&hjZ3L>k8f^<=}f zZ1}?Nn)E{pLjO$(fl!PMFqC-EnCPnAM6dkJySec(#gXm!vu(!lD9n;GrcL1Rb%T|D z^X}zW+=trn-gjbkx!hkh5%sT z^9wa@JNU(#m@fhs3zz-5E*E<>XnL+9DFNIqVdV7GZ!CZL)iJOpkeK=m9rBhB^RS-$AH_UE?8F+F|H6 zBhlex88aURde~g^(o~SWWyKKBh6#HNNIWa)^R{WGNyNO774Q-NiP$$ii*D(6bb-9) zXHT4X>cbKLU4BeP%(GF$w{htg10tJb-F=_Nmtv1YdfV@*9GsDE&tUn+C+%VbaQil! zlU=hO=WWzmU&+@@AGM)grFZq7sP?)>5xO=$uKBRE;7W5XfE#uD6Z_ouv+A}|l+qSj zVbi7aB@_4uCGB`U$O0k@@VozIrRfk%9`^#OrUpglNN(6?6>Iin4={;)tUsk+^r86B zh!&M^Ba+8ZBQT}e?>@L!maAyH9=VWA`k+}Dv{z^eI7aQcu;%6yYvCB0`TtPjdJp>~ zc?90BSx2Wm{;VHqJlHX->15QHrNUC!fq}oNHi8rB@y+=>(_h2~#-8GlT=bcfcsz(^ zOkTeR$*V-}(W}2(V9E*{E`S8U ze)}-g{^5h()!?>ixQ_k2V>DZ%XDMdYtL6bx^En4wj-W1=0bUKDV#ENv6KAFN%LTk& zloIYY4u~IQ@g9-C(yh451OXkqU(3-7?y6rjXHW^%aHD`^nu9`eH^h;UQ145f*aV>x zfr#@C z1ub5Kix!j@0jp~#?0H?qDIPk*=0~=T>x0;Hv~GVdIE6PY&JyKXRikNQ@gsf|_?xCW z(CYgWu55(uL*e=g!-bV%h0I=kqBRB&|G^^P6Bdyh3_U-J%}U*tN}O~%H8`F77h9_? zR#5uuMgT%A5554&Qg?u9>SkDnaA5E`Iu?+`ZvK?x>~++z0BDx>X%T#q0y5F`^O~og zGU=0Q?Mfg&#t$U?v;!{BZXH+Mr9?Ne=_Vg0w4=RN=C{{(Cz+Y0OEH3t3wI`_4d~>1 zBKbk%J4SDk>3DbWUpcV0Q@L1p=>2pF=w*kX-|cPleYER#0>ghd(h_eh1EftKgwsbo zOxdo}z_mUR3D(~NaU7Vz=jgb)%XK?+RM;&@%64+wUuEtAlU}ks1%P|Ybxy)+%>d-( zJ^8ZFDCWGsU5J=EAlb!C0&oOGpLTBlAcUc;Uv8zdBfQe*btQFT3oCfSeA2#$X4-^@ zKLJcZ%3=jN#r{GR!UetnI0Ar`vhCGUeqyEJ@hnjn!g#_4eMC*)2}Sve%lU~l6xBnOun}0*_PgP9Z3}UPY zsnZ^Mq?fK(p;7@E1WQ@lWa-vhzWS<^P!O`@itKzOUddcX(fcoMuhP2De>K*gq{{ z09K(Cy7ls(m|hZ62O^K5ssB$(qaOQ!H!Ie|zRBjF9^^>0lH=4oCB%&& z$u6(r7Xwa}iS#fGYQ<{%8f9tLJcnt!@m`8KT;%n=qP3 zZ`JU$N_e4*hm8U5EWswmVNQgair=VG=V>TNP}#Mfyzfs0afo7-ag$17_qwv@LTv^$ zX+epTas%uY7`mBaVl!`zD-8GVMgw=jlsDD8tw)DQ7rRf&Zq3z=J`Z$i5fU4c!FEYi zuZ5&8~)!ZaPXu3J5cQSe4DcdoQJ3@WzVW(GM-+c~bvfK9h=1T7 z?k0ubq&x7bG5`fWWx(a0+;jhN5TM8`PEOg;7s^qz^$b~Tx4vb2yX_iFEjJWo?CHgLS5>ot=fsYyi`0nPk^YpbI(LK zXqy56*MERH-t)d5*UF9m!&7}e)wu(8+$(w~6jlS~- z={Y_urmTj&=4GUizmk$`(-ai%*T)fZBWuqhqTN8rN z+x6JgvtoKZ3AnIwI>9^A4L%V2BqlirtiMFn=i(8v8PJ&Ri}WYXe+z&yJ1~QJLPU3} zgjOpV>(1ocsnry5ZF*Z&mX0}$Ur3S=T+1|$b!pT)6_<0PT%uSYpsSH>0{np`8Cyw< z05Pf{<*XS7ws$xss#kUfifrNK7;b0`x=l=Ytt2kpo3ojG=oF#^T6A_ixG~-vM*C*% zH?Up@W{8Z^&6y>IygPdebnHAzEXBg-8##>KWM?7MF2C=f6&8IghZSFN7q+|#g#2x^E&PaARydYFEK z55K;*yE~vQ46Lhtk2gkQf((7+ocmcH>4p7#?jyUJtA82Q*P{1q0w!4?v3KVo0nX{3 z1qjL7;Ai(QK4<7OqILk8g-9Old-T(|8>o9kHoRwCh~oFq_)ER24&STr8zxfno|P3o zPTvrOJ}W8eYSM#P3xyZwx|YBk-i<~M8$k8MB~xpxpwVrSPEW!1GjN-eYA$RksT@eQ zkCfGcYn_oTNzGVA)>vVeh`8LtNIrC0gxb4|B0(B)8UMK&`;f*Y|$_H$x@P|b+j z_IjRZ{s(P6TPOlzSKFxfB*q@*&!gT1pJUBgoqp?){LVh46&^En3B`*^Oa>4CMmsl` zM62#B!n%c2XlOK+yna5uhCsYq)9+c$`Z9U9!cg@h2QjL|LSJZ@? zsYWk9Z-()`g83=3IzwM1?v>~tZ9khN)+7SUMw3>OIXply$j z&e-p!p3RjuG81Zsd})w3W?7QDrf5p37^q4$Y8Zd$ocZwmz6L@L*nX`o^H*QIoF~|* zUW*sv`Y+P^t5CN75Q45~#$3c2PS{9nJt^q@Qg%miLP|3n0wk7tqr!%h8G@qF?|~b~ zRdy)`JCd5|&kEd#H*P7GM6Y>g)6~_$$o;QlLt(~We7vlh^6>NZg*)4Ukoy!E4Hf6N zmuR}PW~x=hDsl3z7E5=`V)er({0h2)qjzydUIX}*jq{TrA>4)>(CK@^igMTue|7D?Bl*u4jT^Oj-S|g89v_y4g#kbUV0|q`VAuz z^^_D?v=xa_DmOUOdblscxqQ#o^9n4%KM9A#AiwGEBoiM6^GZFM+wzO6w<)z|QD4PmPy>!U4Vdo=`6 zDw(5hturCoJeA%&G)2PG;evUs8~Ji0wcq-pqN1CR{99xz;MV3)sjR1Rk)0 z@N^B$+bE2SAPL-Tb@zK|ZtTy_KNhU~PuaEFk@4E|8B(%i0~SmZ0ZV}Qq>5kAMH7ds zRREt5Qk$CI@Z`Ghs&5UxL;llvAH?3t^!rf3=f3{NKrWobZrOg>>{tSwzo7YWGS#9D z$&N#{oiJZo-9q0B>DvQK!yurNo$STm)SKKLOy~|M*Uu<7HZmZx+bwzsk^R)ul_hOjEBUyGssV%G9^u)GQ{Lw@-djc+LAWn26m_`&T&m zGP3pU@ib=SYOGse_)Wd)xTAIRX;HiAk;&uRT2>V=Qx5hy+@Bq4_){wcD<0%w!B=Va zff(<6dI@NXR=CJlt!>c2!=o#{b4}u-QuQ-+ay;zhYAng$F)9tzLmE2t2~i)F>vbxeP9t{u0mkX%M&-h@)rhRAvy-9*bpZg%Ogf7Drr|WKuBtTm~ zFB9Gt>9Ma&;*)5Q6w(8Bj8ZR9RkQ8a4wiyD;f*k7UVTMEA|qk^3daCPrXw!6`silA zD=p^#=BW|%^i_emxWfuEfZdG)-g6$-| zIrmDu$(rND6ov+XE+LLwWb8WMy1j(y5QR1-0|*yB1V#ip%S*Nu_zSkD zc&?$fiOB07GlUH0(*`@juB*3~l&m(+pDARQFuBL@h@_|l^#qm#UvtE6LZl{n6HF%#aR<=&wt zF&v(Nircs4;k=}Gu4=EgkE>Z?!Ae65rqTIIyST>u;yA`Oq|T++RlmVP8--Vyh@oqe zY&LkqmbvV1NGnhx@Zr*Zd5v^0g`X22Lno`8)3HK0I*?a2Leki$shZu7#(E z_Dbab=u8ZWBL9({&6LOS=L`MY`(4INZ|x4nUx1k$se{>4tnVN`|CG#SHI(kc0;zEB zrp^vv;PKrd?b{;-n_xrY#rhNZk#nRlNAz(KeeL{Fb?@wtt<|mCx z{s@e2*l`a$;Qc+4|9J6{(%uUVj$8}h=ss_-Ehf9#S}adFTR)_q9&6X`%t-LzPLoFM zcbp}rGDh!2@~qKRBLc`$6LOYlPe`5swkE4lU!h$%xt!vWRXyghFXViHXfnW<;tX<$VyjBGWcbHB zP+Tw9Qf~RiDAJ9JFP*tC-P^o^sBV6Dfz9T3LYRVi(=ija-K)3#LA<&^u}HPf@Ye8u zk2M46JukeCt?h!kS4*Xi5J#}8om%p1Fasx)+^I@OLYOTgL@B`|V!!?Akn7@;;Or`>1+uUhM1A(!`E$hQRcE z^llJ&EGIx3IJNBsJIe}`%%z2-*?#w25S}+pLlwH=TB1$8{|vqPmDD@Q z&4FMYw@uei@enYt{Pxz5bG>A7({qPll#oUJf`h^oC$%lLKTceEmn_yX;fd4+&pLHI zIB4ZN@inT3n_J`Qe%kNs^|!;;O7Z*}GabHa$yzi0hIWYdQ+SuvZo34!jtdgR6ua)a za)&gmI6#IFt_OX>y&!e&Z0URyZ>UQB#!SKOnSyctKHv^YUkD>H zz{l-$C{ z?7n%Gkm7I*V%cju;4>RJ^3M}3g$(*NUG~}t zZ;*K48lHaWZ7$B5a8KQr-2z<88!8BTqNcpV1Pf0&M9nsY;l5_&Sq5ir-+pYRTG?GQnSn@!r*(XOnap`g4uk zSRn_Y<1|#FPGNml$NJbK5W6xUDlm^+EP%iApIrdDq$I2z;43D22ow70X^PuquraQP z7NTXhF}Pocw_Bwtba7IuP;1snckMFpi0~we@W1+>>uYdN+W%E-wZu|6Ejf42paK8B%z1jvsz|B6nqS-@qdPo(56qd zho!w)y?{BLut<5MACp{2ZNFU2r00LS+AyBCTx^VlbfoFWk!?6bb!97~#6JfV#cGGu zeIxDrF??AwZpxP0uX=f*OQKs`W<2YR567J$wDZyvtBDnyJZ7M9v7z5u|Ntj7W7s}o_@~d{~ z()GW5$9t{515;lZ?k|a;tDsh6(0o9bOW}K(TuN=54GIVb#XDPlTte^9RA*R5bXe3Z zn>rr;@Ex$gw?nq7plQLfGY&-5W^Rh@FQ+(TmRQO;FLiN^-4?Ng&L~XzUG+nwIkRW4 z2yuzS+Z}rgq=HYJP_M(}X#&q-uhBYw=6s8r!Cneuo%`44-BHbHc@`}8SIrkc? zFBxX&)vD*DYYVZ<@YZfUX2|a}{49O42z z3WFhgS&}pv9|SXawgWCLSJyOQmCQ)fX9#g-MeiT0 zXGpcLbir>b`s2B~5A%Vjr8{{RhPVE9K&ZK+-%@Olg;uS)kkP}Op6&mF$fv;dPzMIf zH@UrR#dlM|N;2+P?m!S-Lu8@FO#s2OjpZqLN6r#6Wn+0iyR4t6Y1oFOLykLV1FNFz zL!u>8xt;4-w(e~L$p($bIzx_Y-F|MK_?_Y@z8+%EqH(Q)>C-3OI22sF{|nvxH@-Jo zQg|ky;A^`a!5Im2?Q%}b5i-(>K60&!8Oa}A(Gttb%IK0WCHkE>nG~|Ogmu*Ec?(X` zc6xoUC9((ZsA?gXIr`kR^Pi>-7lVA=3u=C6XmNaLvpZhw=B&mbUiuRjL>Uy~Gc}nC zjRbgBj?#aCz1BPdXp7?_{+IR|c4vA0a_-pY3gbz}+*@SXhRpZrJFJr718n?;H&sVO}+$ zvmqPFc8clKROjB29aEz2V?v-?sHwuRJTbf=;kh31TL9d^RD!L`oV zNKUUuK$wPtg0hclBKqu~$O6ntQR;r{z)o*8lI{%=vkptYp&ug84Mv(!y2g=6Y6g<; z?*ye4Hy8MWUX#)5v@QgXPX~Xy+dgkf4q}NkEM_Z@m{bjy12px6omR&%+ zpCVAS%WtUjJ&7a^x zntqDeQZ1F1btBz1WMl0$M+uoDrRJ4K6pfe*sC!uP~SAz3Qnn zAN-1viANaKahmd*sXm2o&>%=^>EBR|hUOD}+KS5%Vb2afcbH}2vDxTW0rGmvI9u|Y zv9~aDt6XC(rT5LRen8b+O$vkx+R9o-!dAUvGu!qR1xdqYP-+)2rKRKe*?~R{WWfMu zf|%2;_qx%L$p2Iq4>fD}^t(z}tS}ivk>Ncglmcj zQ%gqBD-nh~N<^ z++<{?Cb9>zBm(qh;CoM)w1xjiDNFt8djpyQ)h|uQfY^l>% z?lf+qF=FfNvgesTcOS09)(l@tO=SwBZ2hx(c*&BSP?j1F6Xm33rUv0`CFU=!-bLG5 z50N{iQaF;0gMsI3{&CMrK81vbPyyRk9R;fK956 z`<%*(#(`d9b&@EHdY~eyprfK1o666|E_ONhHYvsXWcl} zh*Zy=W}H^d=|vN*fCy~hUedYM<|36QU6Nf~a|-jd9(;F=yCW*9>DY~DSnK-FT==`o zs?sMZ5ds&_kDg=1SN4BQ>yo{P~I}{VxT*{Sr zW>E5*r%fzg1Hp6zU`gmCkW2S*sxhV6*p9;zm75%x9I3q$bCy-z&yMOAne7zSI9tCK zW}?y1#sAcOo-EMNgJ~dzgZ3INjsOh?LGch*l=>;P@5QmDT5(q&-%eklK^yZekD0X%$h4UuN%zgSHFO}4BO;S+^S#Ta~HYJEmH zx3RHsfYqT&VvK1P8-uq|V^KELGK5#OTiOsx{=st0+R001sSZIupzhW*F)QVc;WhD? zs+s~uO~Ji5&7{)f&Sx*s2CARF4ym%n%@>-mm(3#0?|D0ehZ~(NvBx!U%O3wX?|I96 z!!$VTgNES8gA(g0IfwATEp{uqzE6n(y<7w6_xEsSr9WWUXNzKwES@dp5`#rPo!idx zj@LNIUC#bI^n7%M&8>nCrr)I7Nd9j>xOzRK8Vj@!iG^&&lVlHCeG}6}AuxPo@CUE% z#V@Nz+S0K5F{|qcgMDx@>+5d%ExRQAcm!l`D!E@HiR84BU_F3h<-oE~G5V(o17DZR z`{kD^1`Kff*M9JO`@m;l!2B0`^wDFNA2*n|1;mbxwmW9-I-_KQVY7!=o6D26&wB(jdFK_Y$-1v4)hbY)i-PSGC=v>MCRbXG zv)5Y11qM>sUzYY+jHC<5L~Pw6Nl-seZ|8+~Ekc2J<#APo_w=tj;=gApnwZ-jWYgV$ za~Gt4Vg3}Z6jtVIHHI%VUM%T&$}YZ7Yn0Fk#-=@+bo<}d0Z5ANl%;w-Xe?jNz2cP* z31m}-*Hk;_$2_r`aFB;Tg4nKf=qTmt~$C70J>y`X2llF$Q=;u zopnAy8$LV#mnL{miK(TVqLsFJrxyz8BZhMJYo~!=klO_k{3C@?!N@+Gjq`+~*^OH3#xJ?;PGGM2xkw;nVu2w16x(p+^QbK4}T-Xx34 z7z!KS&lNj^167brtTzcC6#iLj+Ps8RG>p$d!K`Q#_Ld9WopywfB1SpiM!W8o81 zm^wURPl-Eta<+Jg&#!Tj@~haN;;29Jb#iHIOxmYTd8hQ@ws0RdrNF2_26e>u{_?Hq z%YFOW(KJCGLZD1&ZtpcUhYuGfq4lA?FLmK^!EMrK z6iU}n~>o53n|CN*BZbWT3ygfqu;@Z6!iG7 zdFUK3+giiW)Bi7mj>q^`3ljixSB;DzpqqOaFX0{54u+>>lECUskQz>&jEThTRzc`c zV8|iqc5R8$QW`GfZWc;lhIDs#BalPg4B50NH^$9TFb)76@I{TJDf!s&Q+H3M_u8?% z^ti#MSzcLr`zkT*Fv62^iS*tn(vf44!b4YAH}u%lwd|ki_GnE``|@Bxin!Yu`dpd2 zKCJnbG`Q*8KuhkNjSGE3IHJAI@6JIw&g2QrSQ9Yb*X$I4vERRvVzOR+51Z@08W@lr z1OIQ_Mt^hk!o+icb>CNHr>KunotILhiJE~mVjW}vXmF6L50PDrx3+|Iws_ASffHqG zfiQjt3qVJLm~Mvi3|@im&ou5~1Y2VJ+vayQel>>!{Sfl4-?=!t#BUm0Z-uL#qHj37 z*Y$~n>8r{&X`A6TTx!r8gC#}$$ z3GAF1LxwSbIU9rBdF3NEew;(B3LHb!)U^SMqdmjdz4MQAtCVtBxHCEExn8@c*NuFo1ww;xGDfw*>5%K5RAACaEQ?z@AL%2ekPm05LZl-+i_;hJ$MP z)u^e-{CGbOliO;BI1`Gc12~$05UqbPRM!dv6BO`BG6jBiO}Sn_DxiQlNBQaOqas1! zTIL+eucj_kSH__t8Oc0iSoeJ)D%b)hEhNNL^UUb|D_vm8r(U1LXQH8ZwEZa!-RLLi zwmva%;Q@yc0i%?MqfEHPZeOiwRV#C4Q_bnw|Mzi##*-VgzOez11Oej9mtA1n$dsBAWoh@jYtsXKvQND97rq8W8d-2I>XZW5wd_ z{fH~C($o)amVSt9izQUmqxg(_sEqbFVGS3xA>!_l8-Z+VK?HwW;EIP;eQEB@()|FL)CN1)^X8^u*ntwiMvf;5&XFMf2l?Y zETQC6eC}QVh}$f=lO{KX;`tpwF(UliG5kLiV`+l6CD^KiF|y+=1+V(AF{TvHTW!VE zc8(58FWKjgKFYwVI|k71K!4>xhr$mx^0af^SMb=F{MyO>6$G1l$xmg|L1({n&-1s; zSG`E^n!~`xt@8MG+bv)X(RkBo3SFPe2@XdnhQPu4yZOIl9)&D^ZSw>*C&em)*nBBj zlJqVVC;R+e#hH3h@BO(NL}(K}+(E5&XW!kjD|NYD^DWaSxRn1e2A~GfP29G!_Oqo$ z#?0&zD&~9=TCm7_;0mlALm5}`(cT?tow#q`d@UC0SI!_wgg98ukG#axO2zM`q=u|F zY9u1Xp_#;daL)k!?eq68;jZN%_H1K-KX{FRb?N8l7uF`1M~p%EWjo%erl|%cj{89% z_Hg7>CLvXSG_Q1%Xq~uUUzIakFLnC{#;D(f`ga%YM}4Jx9(LaR1xQa~>5s|)q{j{; z{j<>uxceF{qRD;Y(~tGju{YSMj3?o52R7Y7o`0I-aBy#2|O@>-SJl6*Ld3U)p*81kkP3#1vop-z{8PIbPP z+RPc|WLQ*@?03Zs*>sKX)?$OU+01FR1XQDnedXVk_h%%vEC;|??$es(e?6o?r=*SC zzuI+f{OT6M?e7*qa&DY?_Xhnn?cm?EGnocTeunzmb;MuP+#!ePSXumc?HxAr-v$^5 zC)`2LzlC9?yjM4KPhKQ>CD|EXOs;0|>Z8Ubp9Sp$yva=V4b>|H8T2+o%>ezHw}|TE zwYvrJqFb+$gRf{2%u@l5!JPcBHZ}Kymco=(l+2U z?};=zTS5EW5ec0{kTYnup6MGeJOx@5h)Mn^d+noaH#P2{>oYwSkgutVYBh1P0U_>? zV<`b=cFqJ#hw+c1Ek%Z~Xy}3(^7%jb&oc)t8PcKO*|OWwj+LuNx*9*5yhP`!?F%Ad zxaGbgMgfH>4oU?E{`viqLa;3i(#@4+Anax&G=Hg^|gw#{PgpAvc?ldy9y_>`{ zV|YgYCwscMiVAt{T8{_ubmhe9!0+TIgRzbRB*14_v9 z3WzI%-cjt+B*J2k)Kh)q^Zn?q@JoJlIJiCDXB=}j1`lG$LG`^9jYdrXhWB*L32lDf zps}(UYCXqU$mdVUD>Cp@IyoI|%r=~i*J^6C^Yh&TSRlvmuj5V#sp1Ge(7J^g5Bxm> zxhPxBn=XU9&f>T(R$}1mjIeKE5$r<*KZ?&pO?5l@F-*7JqZqfurFDU+;>okIjvb+pc?+^aS=`#)P3_~r zE){iJrX>=&+3$KaSh{g=##(NR0i?W%goLP_gkK2@+tr^n;lW{VL zgc=V=6hvH&6>yLI6cyS9L*{AaW{J9P5>CDt?^7__^Z^9woflD3EOenX<(7oU#|QklAppj6{f5EFzb|X>_d!%2T>Q>ckWQ`z&i=@iN36X zzoDjdY+3&2CaKJW6*+Z9?6f(^QcA&L-?8rpCPV4nOW2&+8o?b|ejeYs^aGutjKo;6#~GD=*V-gF#eg z=BB1bLBa9x`4Uij?y8`HF!|Z`t+u!wak?`C8S5x)m|nEpb5x=cF}a@{(n(6GB;aTB zw_^~rWV-q0m!7pX>~z20P8|itx0FE{O%kCuUEmjmTu(?qV?C#QE@MPTb)o2E!-|tY zMvoQ(=SlgVk%!)2)@gZij_Q*UcsNASJD9g$(R(50ZGo70Eqv6sHtrB5D=)rq9d#Aa z9x%+pS=E45d-KGcTA(3-y>;)$ey85>!=n$uR&D_(WxbBQ0soUOWT+bJkF4^zY!l~P zAU3n=pXI!kVwd8#f=`o9=K#hynFbW!+*fhI@+7`ctGemjC_{P@7Zdk{!m1n&^d)4DN_3fena5j{@>cz&I=w?fA|;DW$Ct*C=fr8tt-H|d^Iq(WSC((y zywTp9EV`=kT;teKuuU+nVC1KXlW+JATfyWdfU`o-mVp(h{v7ylkN}dBh_zp^>GX=hMQK1>Ge9->Ls1t9`7Hvdr4XAW>&sv!FRI6n{Hx+ zZNWopybovmU_yBqQ}bEzCbc>K<^ebPbV1eZ>yGb1Wj7tA;7~ri@)xPvlbj+AcNCQJ z;~`J94(3|oL+RacAB8lS6uNGX&~x01#rDUY5d z(ahUA-^~rjk1E96e5frLE+HP9=BPaE=)`WXzU&nnqkkS2E=iiw?VEFS(r3K)hH*w%%6x;d;=p>}RYHK+J!BmA8)-+T>> zz5MBVO$6{^N#+p1FClIY`-JQ?6q-Bi*16WDho}UfRIA5ctzO$Zw}6%ZlkZY6NksDa z-wr2N`{`Gmaw&)wU74S&TYK1gxY~+%M+-wQ2+Oo_7`h3#f8tmAQO}^NU`r?9j&-gA zPz+Du(xeHrYNPb=4|A*tKr5=(@}W~q3LCwcb|bMa=uo^eBwTc{n43nk5f>4is52)a z;b7ippJOgEF)=7ZC_wl2Vqdw!g_W*0o%!Kh3$e~n>xF33z4n912pd=4y|l)x01up* zFf^}|ZJuvWx^0a&U8C#m8=Pj{173+2+O@7+fL>tM;~zTb9S^oUaO8V<;Aa zS{{7-@>6vcSRxnv8gVl@ap)~Ihju9F96fm4;r;^pmRk=*DP|sTPnIB|O9AxdK!Ng@ zn;`&D$a}NI74H_Pe%w2SwO10apHuH(v1DsYzH6_9%fb4**(pPt zg-immNjyf)f+uzdpcsGqU81Id#SLoCh;)x*{<5@Am^DbMB6Xl-<+sT(rW(kDZtct z=XFZMxo|S~Bs(xPWt({uEB`Wg`HBG%dXg^0Gzg_lym%gSOIW;SMJ-g{d*1HXD4)+5 zg6ZGF0|&nY&oFtVb+@(_Y}P-snTn3&G`L0JEF~dv79-;~w?W;e(X2O@x?dPezyE&O z8Rg+<7H0jcu=N;x%J+!o50WnnmV6|yPEHy|G{Rcw=Ib$=it$3!{Lw{90&NL&4H$H(&bBze+5kPWab%-N}S?G?@gn-sT%f93_diWt_ zqwv=rTHfQluxCbCidHdx{)jCvCQ@1)CF$lIc4)nY5*3LPc*s3S+&qEg5 z9NJ<6pNuoRLGPagPsIltGPfQ^hJVvulI1Ydn}bi0UMa}n=%0!wX({&Hjh!WCi?TiW zfIeqOGNrz+*VYD52MYPyw=4bhQ&~Th_cT54&(Ubi#&a2GD~-QM^W9?}_ASmC8ykZQ z_EnUd-S8G&4|(h&w)AXmn{0FSRM+yGUt5QH4a2LL{`guqU8+E`JV}W=UV~4-+hk2E zWxCLg_2}H)uV0dI4(6Su3NK^acKUX;?M_rkldG@dv7~VcU9);2;BGx6+h?5R9CQ*< z$9?pi;%0B7exlYFBmJVT{g4fz28-U#+FAKjilpsQANl;=dLL1Dl<&b?80En`2XUlc zoqwY;7#10R{^54*Koep}pGf!>A)qyzCKAm6j(~6;`}49YFO9Tus%gA&-jiyRiC5eK zH~9r6B9Pkb?a88~3Vz8Krn~qSjiV}Zj{CD%vN^&W!H}r2mv#s99Lhe+{t7myN``te zw-?*IS4?lj!UlwG=qhTv3T&-38s4Dd66_7xKDhZM^DW#k;nc8uW}TjEWgwZ_bwNke zW?nrDu1>d-aZQHAkd!#GRrGH^oOhKFKab!x;4&CGG5bbMB}yCLf3m9)nVeR1sdMMD z$Tr>@dnTUZhxLy#JW2sDeju!e3R@&jt`)UH`5h!C zW(nGS1!YI-R=7^ZJ%eY4L@-02PN=sfBN7h{>u3V(wOuUM1`T~y>?A}{EI4EPx!r0e z=D6mP?3e)Ktj=TUAH=&pwag58Sj-_N4i?vgAUq0=VkEi^^z)sMn)?6d|E{9ozyJ11 zb!4m2%LUhm(FK+85Iv5-;f6}C=Pz>O4+FSQ^!xfx+SudG^y+}KLF?XxWyshu45jIy z-lKLmzhJ>#HGswLR*W5}4e9bZQrly7D4)N4#u@e`qgVK;Pq%tK*vgSIi@aS=NUeF= zx`n=3V!tJm16=sU`n;JM>b(|tnNDlwwe?P&Pi+vL7&$hG}7?z%+r(Q{^^(i{)MZpSwJIp5C#w`?j9gXK7+{)09*6; z&gqPwE%~#LTLTW0A21LEf43FDM2;v_D_8>bYi(O54Jy1i9EdlrYEqtYp-Pq7$iry< zmS^p0iD4y(A#EJSLJWH`6=k}5FX(=`a;(0U9y-ATR)q+v%ZlA0mfK$ys|Ya&7v?rB z@xog=sswfI)x2)L7p^TA<+|MLs?ZeKG^LDb-hvf#ZV=b#^2||U)F4sWJU!t;>_2RD zLtXUP%(?o&a7%sLKe<*8@1i-{{2Fx2KU6}r;Q1zs^I6+mwCZx!zICldYgd$1HFO%^ ziv;JbEZY``t6>hvi2Ed87tAf0de2f)%N#8lII}exli!a!MK$0WUeaek{a93#WJZM> zvCtk_1|q9$Sc@_HHcaqU3NgQ;RieIp+i;^B@u^Jf7M21%=zMR&ky_?nux0bd@a2&% zp4qM4Z=m2?g)tno_|&=)xN=m_UTJJ&gB4;9uW%HOr$KaKCjpUL3uZ!+an-6TGT_$E~*T`BB+PG;SlFA+&4pY zGOAzaR&6vReHcf&vzYuiv&f0Cb$4bnZ`1!Aak3j5i$s3Nu6bC+inu75dtHn$|5tVI zAnMFfcvu%@`E)sk?w- zA6Eb>H!SS9dPR{m<;&~-BW4s3Iw-1^)*LRvz}aH&b)X&*)eSlkH!h}>J(qQC!J$46 zZgDGAzue0Bu10tAfBmnH=YWN~M5b9NwWI&vU%OYZ;{6R39SEK7Gplkf_ak4)Uj!=+X@mt>PxfRXOm zTi&t-XF^S!7D31Ts;QNB6#Bv^+EB4j*&Chjd(rVv>xJ73`&dXr^?>kZ_vA|2R@JNNJDk-MuSwG<2rQY?y&n-*jq@z=IJDZ{Hl*uVfN(KtYN(JlkiT;L5#}g%; zFkhhE5;;xX%3tDlZnu1Tr&KV3jeM)O*#A7tNKCLYJLIKP1M%&Kuj!<>tG zD!$yQe@Hmpj5C2_c^_~@i*4eW0ozy9u zE5q@OZz9CFofI`OG1<>cpZGpYS*p{45R%}E+j6kvt`LWA| z#b~;95Ha`5>YcYO0&D9sfwwL4Ged%>PU$4<1JEoPj_bKdT8c73UMD>buvj7vWbG8} zCTcQMQX1!eMdjMyq`(>E6aRCB<$b>6zmt;cxnJ>a3U|iQ|HcJV6EFr(E`oXj*SXcKriO!e=rf~09X%0%uh3_UiL zXuw?1Fd*?xI(!DC``3cEh39|~w361U@H^K;kL3k&7|uGr-I*BvSYX&6(?2*9Z}lCG zchH?yI_Qu2#G6Gl1u||W?;I7~Fi;y-)lqk12v94Mh{IuijKylEJYqdK8nZbZ(!Y>1y^=U%DqDV^DpJJff*T+^|1-YEF*S6vE}+Yk;)7U0r# z7{HA2Mfk09^)XlBy#adjVx9DjD~26s0f$R9AM7)|#%sAy1v){^0n!Xk=-sDLtE;8Q zdo9#gEJz&z=;6<)geQl=cu?mU%#+ItSWC;3)N%y$fq92Jv>)o|Yuv-dnE84fmxw#l zL^MMxFgkPF=K;HRC_a1rwZJw&`62A~=QzJR-_qSoS;Pe-zdUuX>ON1|4XbqEa4~M!YEt~UxDPTK-6PR-ar*Xn7-)%ME2_I0j~I>u zhGDBmE>_yT)|;3I855utKmfpP6(Hy@u0G$3OMTk}Fn(Xxh{etC=+?L@lix`n*I& z7^;9<4`u9XG1VORdwxmRWO`m!8;!MAEc4Z|=DPkMeqPWk5X~!??FE5H>=MlLN#l1p z7~uPg&Nt_ORf_=Dg5n1li^OdHO{E5gi^GIzn%2rf{Pu}*r%ZDtw%%hw~kzeT$9Vgv$1OI8CbsZcYwwAn12G zp@@i!3vgEXQCsOwF!bE{onq_f7jt2A8wWhTk52X+#mywhmUMmXu4x{@4u&iO;w$9R z%?;S$P3H;ot~T-qmjPBPJ&HZ|bp6UT6s4}07CA|)jb65tM8TqIws0*&!JITXmoMEF z80OE+vWd@jz{Ds9!yrp%Nx9*7-& zb&<_kk+DYhxI`1!>xi#;hxqzdvHafHn0K<|3cGB7NXSO_%WF^L2W*;QgnBz3d<0u! zu~aM4TQsaSOJYLGVGO(bxgM>R417AIxIq*YxA5#dVOFsN< z7d(iaW0kxIyHn6bNdbtbAK~tk>fBIb-L45At~^bT>2Ydo_nSj<-%eK>z*heh(Pi{* zC7V$vc^H6uQzJ$p?f~QHTER|IPzzt5{Yl!nM=qvmt~??}EhHN`@WeGyA?kb`k`WcB zM1bY3*B7F%cC?+8rgM-rwGsls_tJwZ%AJW#Vhw9srN3Oe*uq&YBVDl48?Kji<+ks53vs< zYkzQ!>5t;J?P}dSBfsjOT)EZH_*AnV>$DOVx4f{i1lGi;u7oO~3;CfDw56+e?Tt^u zQIxpx7LQrU9mB6UWp1}%fKLn)m`e!WYE%O{Q>`5WZxvAU8M{tY1Ig+J9=IAh#EE5n;EEyAsOpusHY^g}E&5)K9~TsHuu`3EFjlfYKmIYrBOE1*(bMSK58iL- zvrZ@eb^IhHyvFMzwZg{>SJ77%b3EHownsPQNgdTobo;8yHDBs8mplhwkQ|j(NadWX zC2)B;L)f&-y#zNF5Ykm%OW?b6)cdQ2$nskMkXEs6X)U$4R=%?%W+`IPKNm4*dL%_~ zb0U%1#@Tka7HzbWzjlzj=#G{SD0fu2ryJ}3MlciPv3ka8M58ubFtOpNYyT4-^YXDU zy5i!|Xy3sq04jTrGWZo$`S-;tC+K1~!x~Wui^^8EMlzhMG@8cy?WzyKtsYwEv9>32 zsrHj9QV7bGMzS%Qf?3|9S)y@2Q3A@3wk?VM9Ji%v$#fZ3igvcu=UTKz4J2@HD8}AN zw1rX<$Y1JQOqca;b3s=e?h_mYOw^TLDtZK~l($k!IWS%K6VOpXc_b2qUx-PL@>j2D zHF}V9qJ%r|XGxZKU6Pvh%>?r`wGgpuxS+jEyum(3F7bH(Ip=(Z;&~Htg~t@)&xy+X z@J7#R>h{~78Xg_sN(?3gA!dn&62td&b|{w|VQ)ih;q1rxtflxqh?Gkm5=8=>f>eWt$^ZL0rKTSs)xRwIhGHT8L$=zs6V-+kH_T?~FF3?Tb z8Q1xR^Q*OQe2mR>wLIlb#+#emzaomlcD9FAs%Vw%VI1w?#QCDkTj@U*Eu(%?DV_93 z&gw{V=&Ba)8c#w`7ZQ5Mq=W^+?8hF*s_R=-C%PwE0a=0MI1U-q)!}?Mun25geE5lJ z=WB&;uu@dxZuRG>Qq(BEnwvCljd!$R z{B?QCuow714oCDxYw3l&E8C51n=xZiSNk=LR8FPvrbbHX(axpyD~W!i18spg8pA=pqf@DaRO|$}>gx3a+nxBuB@YdVRMt-ANGv9ifVTkn=)*iyGAHCO1JBce6Rijxnn#JDt%ZcdJ~&lWruN= z#sD3cno4k&XMgXH^0E9qUFN|5BkL{WqVBr3VNwv3?rxPvYKQ>@5s*>=>28UkyF*e^ zx*MdsyStQT=#F8ip$6XZysq=P-{-l%^5etoz1QArtz#X>@#ot?#m(LY-N8A;oxlF^ zye8iGbDK5-AFJ2CUf(0lRO5WnQ#u?m+frz-RKAC-M8wv0=UX;Vb&Kw1vdf~-`li4u zbIU8-M%Jz_)$Iu^S++Kiz_rVoi?oNTWKNRI_(^bpCt#zcD&g*VhVnll_ZP)j|EohN zeE~Wn;isa^{(SYA;EiCj?SIY5 z{d6s<>X*Espj?C^d~s$(@tx;ooSRFZG=*0Xmk3>mbMUQ@n=_a`vX%RfzrE+Y`Q~tA zgONuE6X_>UgLz&ktyC+zpD^+iSnIn?B8^1FdsmxTl;|IARKqpcJmoGli&JE-S^5Dy z`k@XExx3l|+FPBvF!e1!WM8i;YmrRaeAgTc{SidY@G{ z(jbU)?|7(SAidW6gz8eR6)?=}%Fqkr7#L|hLpl!c>~Dw`?@4z4akfyv?6&l=7A6jdohmPm|2M^OvM3MAdMov1e3acNlE zpQ-udpmpl&f8YB`-Q_`#a7y|);OI84ZP&OPE<8m ze74g0k%R=(CysLvNwn~U%a>5k(-~Edu*HF0)@lwZ@4H^4*qiZnS{0X!^``93Di*l% z&X`k+-PdXC&V{g$H4V)QkJJvGY@})Iwc*%oi#GUE#U%$I2K_zIbK~|H#^W|le;ilO zWz*Lcy|uC3+^n&`B*Ayu!HS-DHw=?New(T1w`0zn)2QJF?vxZOjGT4Vj}HgqMJSWA zTR?}a-8X?rt=03Is+_2Ib#M9|XK)TYikOU6_T^VvG2_g~6JXwLB4=W^b9Z2t`n#>!-+)(Zr|<_en4F z0^_=wLT|&q$l<%lQ%}xt0n>Fb6vYX=NDTr$vI~qZ8!fpE0*z_nBSg09gr(z zuq}h+bsWPep?-ZrrRE0km6Dr_Bl3kdc_Ye!?2ClXo&}Lg|5DOxg9+@(^+|}Shr0?B zBqL7nQ9iQWH=qxNoKS|2*Bz4u=p{7QDM*~=2@IX^s?<>ReK@a8rYPoJ6EV4Lf2+io z#9`fc=kePl-E)xp_=LmMB5<%P_j-FQ64Z{q~6YvXWfv|J=@WCO^Im02{D4gaJe!EtL_Aqk0warJ@5~s=s?c>#E+ERfX z1HWy3=5;j)FA9?N0;%*@1M6?vFMejJ?w74JZZ_MOQUid8n`olR1V19xwC#K4OYzzK zzU2&+b8&(Rn7SH>wPWc4?<9`^MB&8X9_QN%ZyMju*WKrD1UN z5^jRiTsB+QxE$83AT`R|5(6i?MvFimpxi*JM@80{MsEVoT?adI5j`aS#^uU{eWWMy z3SCyVEaa-W6&kiustxolLIO?8&IZ#`eD3uDOf~1SQp;;4R-4~bSnD#;)%(qAQwoq) zH444eZ^D?I&fqE(phQR^C=ePbbNB%z&qZB-v|bO$&&)^(cSLFNsyK&GQK9`~HwEaxB7 z3=)dQ?X5*oYCQ3bZ-cS$E%vqLK_@}59Jw#rxF)0qLL9^N6$`gJW@EZi3lwp%ubM>l z?_KO=2f5urgzk`^)xDzJ6!!%a+B`O!Xk%T(=ck7IoSl~6MJt7BteValHud3n{Dnh6 z{bxQJ8%i65x9DWoZGN*ex--lCk`tfrKy$5*+-^P{myLh}P}qKpui)uZRoT<0#E}H3 zTVqKto8q)qt_Le$>N^i)^iSrXoQfn2R)d$sQ49iO>MCu3Tgu zB)`&PFKNa~FvUwYYnuBDb^e7sz6|0~Du<_^zaNxACsq@%WaOn8pUA@TjNI2yH4B#lTMnB@A1IZ-nRkCd0DJCBY?k1fB7ZheZ~ovEQEgU z*W@09ltd}mpJ6cU>L6xfj6L-d3NeaIhiSYXnF}U}iv?<}FzhOxdux z$Wca+%1@g{6i~A;VFxy{aIoR*?aWtFg~aoBpGl?IX{XAvv~|?4_x`!3F>&bEXpg(}og;>zWt&hbt5P zB#uhlj)-oQWRHmp_#fb|J^iOIHs@bQb17OtCX{y}dfHKgAx^y`Wo^II?4J-Pz<1<9 z5~dlp<(5o;Qf1HU#rODelGWXSbB0DY2znuCp!yW#M+`z0LT${dtx^EhB9Yf=(EP@B z9pyx+tKoFBpn2wwr5vG;biWa6x5MC2TCVY0mzUS>`bw|V3`S@7@kIk}$ZDJ+F-&ouQb_ZEW zd$pdDqk!u~vfy|*nzEqf#3;bi$eu;c+tWLg@d^VE>m=C5mB?CX?A+4SN1dBa`LsG-9 zH1DUHQKi0xP{Jy8yV%l8**W=uux5=WCm_utGj?zOQ+N;BENW}lgJ(3;XNMU12zlAA zP5bsK)jJ3y?oe(~_#Ncx>TJnNlZXj!Q+O;qrCL)68<&1)l6F&S$yvJ{oYW|iGhHi> zq@|X?6&maqzg+xct{Li-MNPV1R0KZKiJwfz{WK`uPI85qXTB34-k$JH7yLvz;Ewu( z?Z)~a!TjIqM)>HPplYrHvcy< z7heog0~#wfH*mjnr{7vQD`sWaqp%RIrzE{d4WRIz^M?|h-_oGx-O?21NT($#`la9A zf=B*3Y+&sFCE8o88H(5bm$ZOjlgL_zl{qCDzgmz%=*os%F~2ynv7U2ZQ#%rWUPp5I zJkJ{b6~!sDG(-%x8ala?V>iw~`m=i9@mTj(2n%II>zSEXW*}H;Ci+8?>bMTB<=*q; zRLy{%fnhT6hps9`?P+*N`Tpt$c4@BIlYsjII+v$sjm#VkCw&=P=B*A}xj+d@{cR(z zw(`N%QLABbe5f=E4Sa$Xaz7ZZ|4mKxfMVc_|iEmMnPi-IW_G1hC!i-j_IMZ*VPS2|qiQv#UJBY3F zsn^LLSU-WTfrw>PaI@aR`8ax0b!FWj^^0nSsr^ecZK#;AlR>QSHEvCTV0rqW$tWl4!IzL7O|s5!ff_ZZN#%8o*)SXR z&C`md#waE9O!IQ5*JF7Jbq@_bD0IK9=J21Uol(Dssg;}4DxC4r-z)GS->$n5$a*r72Yx8R7i(_ff-X_up|6 zY0c_&ohR2|Cmd>A-9y?X*2e?9NN{`$V_4W}K<6aIcYFO4QeR4DlS+*OlO=QOcc%fI z{y{n3Q6hEvvDKDG=*HE`GqF4pW!Wj9gT9Tj7RA-U%vNKmTX9LALN9cRL zXErxlN4w>Swa&RI3pmcEL%mWvfIrQmV5LE4;8dI=PsIoWWzq4yi)8@Yv(dRVF81zy zfB3Xc!+yu+xfSp1-u(ZV^X8U)_%fQig73+l_&XL3I72V1*ZjEA|rDzscVqovR$iCjEzC z&>4re;_f+U^x|iH&B&es; zsJ-7n^nCBt7FQ)bES5bIHb8?Itl)xQ3ywLX5NVLff2wRqd@6uY&Dt z_E>6s1Y^G9HGmgKF)f1wcI$RA%YG@whVZDUvsTo9cAnt*WPcqYkf9R0=#IL}L9njm zLXj-0KjD_yS&+_O>N)9Coj#se>(6x>y5X(TZzP0sEb~e;hpUjDmW@USv5L7YhaF!kdw>m$6 ztd7D~c3aj>;>tJ6^zpE56CurjKSHntwmQX!dtL%32Le%rbJo`lb?BCbAR?-f=vJE*;;N$Tdx(- zwp}@ve@1VcwwmThx^uUAO{99~n)2;s!0)cGwecq`MV!w3TMbo$u~%M^Osd}utavB$ zxL_7m#Maq}Fv3UZo48E{3Om%rDiu-!CtM>M=EcJWxikWsv%Dgs_a?euRF`E!9UMgg z&J+YmV&Ng%DF!g+`O&Y-z={5!NqcTPO%STUzQP@Gfa$BHo+R9t9W6Qt2Olf8T;)B0 zZldGbJ6{oy0kA3@91Gy zQ#)nnTNl%JpxHt!fTuJx-D>i^NdA7;7U$yiGVFPNba2wF5oHpsU{8|Ew~${5HyGpJ z?)Fgy5!#FD>70=*wSLU}hzWJHd!vLROg79KJ z3=tK}S`=RKc5~dB&|opeR}*lv#FUjvl24lJMHZ>VXpt+wju~^~h<9E;e24X*fcP`f zVah}TJ&A4Iwi#K*zgihzs%mH-rHYW=U-@B`Fgb#_o2_!J50K#diDtx&V!edF0A7gD z72EN4qHRPHdI|j80W$^K!-mBCk3@x{8ZZ^L6V)faCr0$J3)NmrS<4>>&@)!{FDtKw zYR+SYYI{jER7bh28%nk|bU578DIVA3q0CTywtb0a=edSI$<;?|HdWEqwp{1UWt)71 zi(DlTQKsTw-$CU%^P#3(i%UYS`Pe}ZI*4*gH=tNF;q4AV-uYcu1_{=Fx{8wM-RCY3DZ?6r0j1*D7Rg|DA1_bhw#y18t^N=Nase@}Oi6JI#b^3+WKz9~H@(`ftLHzA&I~PrYi7}M zx9oNgG7GL8Q3CE)&u^R0$*1{LKY2y%e$!iRqOMJfq zxTF!iIJ92;;#rr!#JDw}WHLcyCv1vVIGGtx?J(ff;`e);S)j^2az*a3phKX+{P{B+ zs?g^VBS_llTMv~{C4+aQhId~2dPC&1pwOMhiVtVz#r-f*ALA&EtNY5$UNB14$Yu{b z{~X)3r@%n}c@T!n$Kt9dEC|b!FXAVxPY`col+HQ$hwd4rdB8ava=ssTy**GrWZjZk z=8L^0{^I8m^2s|P;7@w=7ny$Q6b1bq%^!|p-~N)HYp9E(1}=vRpT4eU9F!UXBN^@9 z2k|DJZ7?pG_duz?|1nF?mt>)!$M-L>4|<@uC;#BD^}+uWx=)PeP|7UTO}OvbSCONS zpA;t@bJWhZ>Es5@>x<{!C6=P6g!supE&D4J5MmnYi?^9k%kxeO^Dz z!7O+1sDwzmH_?Hm&?Y_8w5k%b&CShcOxh! zIU7hlU6k=t=mJ||;@RWtn)m&8R+=_k5UpfSq)Ej`Jgyh=?;LuiH1>&V7;rIV0S`S~ zG1Zb289wcpuKLpinh_m+8EiNPbo|ZreF;O;%$44C&sD^32ts-paARKz*Wm}Ws zMmP3$4kO$V_iE%5N1fKF!CQ`zKie|CvLY8wUT2Gqe>of_wEX2$GwF4i%`2!Xl-LZe zUnS!i4-WzFeZQ9J#NoW zp+vpq3}UJ5-ec0_<2Exe7d_wom@@lQZF?;7#|rQK%ITth5XNK6i@XXs^w|){VZnR` z?*py2*GO9xHbP`RmTZe5Vz{7=dUOz`HU+;Fo z4Z7$oV18r)WvJnJGx_6k} zN0FwQO*|Z$WzTy%ZPdA&QZ8dZkcnR)eH{+S8{|w}Q zVBiitLN|^Mt>eIW3|_`7{Chdv@`+zF+sa`0fxqcs!pcsuw~>1fT}YZs5xgVVTcJIW};=Y#6u3tF-1UuM6?WdiRn@yF3T4Tk1Q z@+DfuaNxSI6CaMZ3-OO2Uw{5DgLMlG0tM%fl&`cm<)0=rstKdpGQ&P6HAu`E2|Y4( zEz33BxcppjfG&xokj-ei%-oz|H?m>6_PiFw692|1G+ztuZ-wsOvrV^}lL{4f&$h}I z3*{i~A^n!N2X`Ty#_@jj&NK_U-d!A(5>1Jr{H%7@O4zlub}OXi^Dg@jomOhKTaH23 zfZI>_zy5_1fSCFJS1ubMKpu<*MoT1qZAOE2tWb&~biv*3+X_mYz&d|b~C^qC|h6%U*_NxgZI?(T!%O8d@LOfv9I(E zk5mStd#fE*vv>+VQ@+E5h&mBZ*rR*^Yqvc^wgj{xBOTHto#uGMQ!`dz+8H*@28qWdn?N!5xg}P$eemPn zsL*+ijR=Lkwcu?(*^}X-pj^C-GHok^+5|-Ldc<}GfAXmY$ra9ARJJ2;d47TJ{CtT5w!tJBZvf`k_9ZylKxtvaDMyo_ z*vESMsZNto=rX#&&?8D<|1W4PjF7u}ZLvc~EkBS72WVnVdhG2{pYF)oNxW(dD^#xTs!3NhrA#gTh~(A!20IT0q9QEX?&YLR)HWwH`TBn^{|`Gl_U1 zKyUvQ=k@ymbaly-8`nJRgVhF8`X2{!_hywZ9p2_b`Pw=edx7O84Yt#4pHmis<> z{qoNF)rOmS66Y63&~&7!*`0G8U?e3|t2|y6NfOJ}25m&r=A)Vjj|PeI)Rma{b3z%H zxK^pqBxRNxwa|-wY66YZ>PB`iGU&rcF7_7uLa=M|W#F@>$HMmtzNSUiuOL6hbyZRg z4V1(Ru?^Zie7~VXP=)!nlOfGF*vkxxOD7dS8w_3Pr=0jtT#py<_cA>>Srk))cqc_? zhY89E%YWfg0sJC3TZ#{noTYp*@RJjb<5~tXpi|VVJl8ufBHP7#gY_JG`8C8Hao(~_ z48-hB&ithJ!A@};4OF! ztvA#6+5O`My-AzsJEh*jh;Dw@s6k+R--lKcT1@k!8gf$VoB8~lr#F(P(k=|^t>p^k zpSy9{)?loVP6u|BoeZxL5r^YI9Z|E5-Jce1)x&IJ0vyEA^~3#)M(E<+B|*cR1)ptj z*83TFUc?M8?a9llXO9Zjm%&8;N749c&I+wA-qhL9!|OuCNfH;h4Yt9Ae(us4=s^+zcewuap3SA z=)WGgIIf=qOxyrjh8vumBESFg`H6=A>jHwXE%_FNGD^aQi84y`{qi{d`^$E6#$fx* zemVMZgDTbwawY$8_unmA=nktWIv3nJv+>>M%|1Z>yeZ?olgVS57(9N&=96!And+Jkon9VUpPIUDO;Q?vzOpysP3&qE*jj|fa!Iqkf z>IxYj2v)5cPtTEW+)eRSv7~>&7j?}W0?MQ5x=#(U&+cstI=Q@>6QZy;YJbb_cjpqY zFW*ql`P5?QLsmi@3DUA>HOHrG;p7%%j@ufVhRnfVJz>;w9bD!zuULX;Wfsj=aVpHxj&WFDEB?5l<_})Uu`?6_h5MKqHwHDTT)W;>WfKp+fVcl(KJ8as1%~P z>TA}RJa+@$tOxGQWS#}a5Hr^Rlo}>o#`7#_uZacU5sD}4F3OukbyPNC^1MuSyMW*_|GC3fWWk(Wffrd0R|9Q`i~u#anM1hFXkrNQ&zhxa#^nMeCL{- z9Lh&2vy1Pnj^WU|C$`vMz$oG5zaM74ZNGLXq2wwBs7kZAYXbF6XpXywG~ zzOMjvKD--!d*B)fo?re58JsyH7_Ns9TJcC(?VJ7(~xc;z`xkBFGDhti?8{ZYHB_vV#N>I)0Vm1|44 z%GVg2A9;s8;>XwmA+8}b1k~XHq12B&xCH@tcqoz*n3(>OGV6ct10~w4#xhgH-jXZk z34s7(j0k#t`#0a)qi6TJ`z23fii6(UR&{j}tLcrEZK)XkyClVFMXDnOc=&F&J4v;< zygCUN`d;eYYR!OgLDWq?QM3#|pL!VWrMX0#nfD%(+t&4jROnM8_*1B`Tr>?3ODp@s zx*FmaWC!DQ7eXUm{SZc4ZEka?xwrgQ}l>ssk|F?NOz)g*^Mw%q-$?vP!zcc zMLqq!wNKbo81d{UBZrcT(ge&cLEG&@=k}tDclaW2FW)c^zddOf&&oq7E?V->nqsZU z0*h?n5;x>6Ev~4zmn<75GCdtykRP4}F6Pf5q3S_e@(&gkv1#S?Nsl$%BteFukW2>? zY~4I*tO|u-#J`1LcF76p_rs9WQISs-y#6E(!NO=2DA;Zs8T4v}1*Y(#5g(cN*T#F| zXwR8)j+1o7Z4mL4&q2+;Cq&^0lOW0^7v@HzvJQ14EwcYbw{6c#x3^mS;WKxB|LrDV z;xz*q6tHi95HmI|Mb%4NeZy1XZ@(+rM{q5)3kAT@u7_#;)4eR5lfjb{Kgu0K+)08P zGvn#z{+=_z;m1Q;#1b1t7U&^RKixde;d13FU#!2!`gf5_*eF?Ko&j(x`Bm#=^?Usy z!P(yg9BLnS*#546hz<#~L(Q?U+lnj}(d4!E@{yXpa#6wv34x)cf28 zn(B7W6xEM@Ku6l=T}9^$@-B411_56U>zsLT#W#Ob&0^ZDJA~vLCM>6Txr6|$aWxEG zSFWoj2|ip#xkQ?WOGuT0+dT(u;P@#2?tlvy+BeC-eSV1gGH(K8`T4zbm0r8Yi5|MD zWh$}1^U>U*aiwiFeqf6xgj?B3?iEFY;1ToB6ueN(GM(nPqrT9SE*Ls?cPCFWj)lDL z`FNLW(9N&+=_KN>_2OOMiPqdebnH_-zIaF(9xw^6d0mtlkceYqx8qQzy=r*_-MBA|(dZbCgYD0b5;}BAX52k|ov2`G+$}Ij2RZ0h z=)!-6V;;yqN&hUwEgcucaR^P9;^GhWfy63$R48|BOOeYe%d5H?0ivBSSAujlw0B6r zq98QjD-SNUENc#>(nl~)Yi*cNaiC%zRAo@9yCPU<`>90 zq8IEU``LlkYsmLYG4xW_aL=P3bNN`3*>5m)JfOkT_ADHmd??CJZK!V`y&kPd8ELc! z_G7w1*B=|rRLmyk$EKFk_bxJPbXyA=-eIf0w|b9^;vS2OJ-?HzpJhz5HzBrHywamR z`5YukaH;o8Os?_$)!l3suKtnG;+>GcYVIDY%Mamx8~l6r<5G-z@poF-e}f(o*$eG> zpKuRXk6;!DGsPIr@{DB<)c*BW^JbmsMvQY^^4*H~=^$Cu$<$kswpwLuz?O&bDde*;TfZy32_n<(~O^m;ZGES4OIHWD_LX_hHLrm)v}* z#&q;}T86fs-wON<*KVIi90dilJ*X~Tg6bK8c^Zi?npW@t&14FA8gmhC#+~hpRt$p@ z;S5Sm#4Ny4v^9P7Y6Wwv&vk#HTiE%SNISbFTe8E4)9PAt2$kMH`=9VPWI}0A`lbB# zN3g2zD}iwv8I=>9>!`ZluU_n&Fw_qkI)G9etsg1F6fnS8{CYzYm4sN9(M~DO`me#;+>=Jz=^=^8RbHgkfMN z7?HDtUDM#ZT3#KN=NBiJsg0H)yV;x^9QB{`l&YXb8D^BF0!u5+(H~x!SAso*CGX3b zB(JJ^zc12wo?3!BZp~amQzU&goP0&1x=fSwsH81k0CTM7E2dMvN6Mr}F?lCXM)>88 z#}wh+{-`%Ocd}*QiV;ZBTNLdC>;jH-CPTKExggMxivv^o@=4$che}ukH02xt0f<)VC`|b<-z}VLL_lY=G%i0DlR@{kLp5WjtFzcrqFm%X7)07b*V&Xr0E93Zsi%py?!s7Ey4&b-;kY zvkdEbMbWpB!|9h}k;4M#t{LN*9w8jxj@vRqX}v~F((Gh^th$~=+Z-sRSE`5!qkt*! zs~0?(Zs z!Zy!B4IT458HlJCY242FC(y3)u=m?vrdit<+;s?L3g?kIpS<`a&4P=PVi9K!xUXP{y z$ZVIwhyom?xj+~4%8$;o7UC;Ur%HsvWR_Q>9~KHD4=u$r;6>@iORFR(NjgsNoXYUy z?2FsgD4(J3`G3vDyY3?l;Z+iy0Q4A$*{AaLF|rRj<Z?C^YR^a`*m9Fb`xsd1@ekzDR9NgpHiGg?-=d zab;BS?`4(1JT}8D#<;S*4y?1Y{~g#8jQsUl6AkRXmoWtF4#Bq=J6s{53cA4S>z1y% z20*R*H%s4A6^RofUN7~}(c4?}>rGebvY>TxiwNOiMZwj4p9lz=7{gZ#;A%R)*S?3x2}vxs%YjjCjZhJ=7sqxWLQN zlioTpxi9bm6@i`B+A?+V>-*)X)kW2}^ps z_^>eBftK}Z3(=l<*}@0>vu203^U{ivh87M(i(EPiMuk0WJQ!fLK1~XHdMtew?3n7N z6d6w}K7yT7>5<0H*dYZr6 z^{p)(wf&hI8dPlioGk*pUNE}W)6Aojrgz?DOqUUr;ImW? zccA@oQ%|GMgO!MJ%;GV~XShONB64v@{4NWxvAcrS(SN-9-SsN1KCQIF1a4+F$Ngxp z%PzeCdPvc@jC6j*JQ4{1Et}>Dm%BFThn)=6N-ef9=Q>}tRxW~UfrGZ`@)KB5NPQv` z_?wjx?P*qmGWMzF*g0e~;C^FSuk?_Uu-WvqiL?hxV0iWkusZC*Dkd@bmelSc>=iY3 z50a%W`+};fxL4dr2H+l%&%^#6-tVJdokuoWh+MWEOQ^I!j!9%qyUe}-ysl38KjrJc zuXY_R+6|6hDZ`oWx)-ti;}1Od5<0!!(Jpm+1yOBpb1bOZ->VQ-nTtcLuLhz_9Z|0* z&Inp-jFAeF>}aNL7ewoj68A1v1njMFo4_!xXR{s~)gFPYLp*E^=8u;}U%$?+a;808 zB_}$%u>KY}=HR=@r4u!OOEFa`gO_u^5N3{s4A}3a{Mu1>z@_sxNKsvD!$<`HFbSW?4^%w>t5%otiP5F1|h@MsxM}K*;$t z?IgmS&o!LhITvozbp{o<4-jiGl&bHadA8xvdzjF$dF6OAATNVqzhu2A&$TooD4-z+ zdvqC4b6wuJTC`%LlaLO{^Sg*798XVIjf*)4EQj{STmd$!&tDwr*e^+2&CtKDRqh!3 zvxOrvFM-5$n*NZPzm?h-FNp0Ah{A89I$en;5fk^5c;3&)T?+ zt4^^?>sC8+uK&#cdgrld{1GUI8`s|W4GFP+!V6zcpHFRtf3M5tN&JNOi5#MOFh|sf z7Y{vSQb40VOcB1zT%X;8+XlOLGdoSL5U|UxrhWq=J8lbE4d#BlrZiR-^)lJ#p`JKe z7;iE4VCZZ(Tg=9Msqpr`YQ~nz*&hh7r~yJ}4ZE=_>&O`=>pVB7q1WQdx`wDYR5oiA zx`cfP*(CFAX7ka)gJ$MYlQ@I;O_bPw>V38uM4(kG7q6BXCw&$@PN5CdK-=(D*zeW3 zrynvl?7h*^j~$BJzn!_3eh_jsN*i9B(>_IKe7Wv0FLr*09O~*?*!bJFdZIstW+nw} z^to>0lCGD>yeW6Zu)V#JmzZl=Q>MLmPWbnC$1ef3uo-Y&vmuwodx3z6>Fw^TP}q6( zE~=kZ@k*L;FY(Z`&+D#s4o6bYKQez7KZ! z?&oviavj(>b8-&s5)AZZJbQ^FC@s47V#4?q7Iec3RXa=CF+y!b=9j$OpEkBe5Jq^^G&O(SLj@+RW^(9oNL{gW?O0Sn8s_qu$(Hf9 z8CI|KoNXg@uYXUTylc3-dI3+7g6uFm@^13Q)*e5Kdo6Z|6c#y)0307^eMdrPhoR<= zJc|>6n3I#BY46B5>zl!gk_$*xwG22`$lj?-Aw>6uqks%~k>W8Ex(4L%kwoK34=oAI`F?+&5=9u0hp&+_Pu=1{G(}ez|eSXfB zPKE4hjxmD{VYHO8^yp@Qgww7ht~HvCM|rif78Rw3yQ6MGt8t%}+tELnHedD%hO^&}Z{`5QqBZeb6es*b>cdEOwCKbqxZf(P?qAl-K`o`){N0`ZZd>Z5^&4sM@yz zch>&5bIs{$tBi==C&7|5OFyK}>ObYxz8%#o!ky~Yx*|M^8i7npmKd1a#0)Dc^3MRQ zPqua)5g@cCPLdAF^g)M?@bl100)1vZ-h*wXj*p0v=U30XoYo8u1jk)I+qS22s;tLp z*W*tm@SDsmW%KkWV|jfGK+eT?*gU_iZaWW7TgH!4@RZ%-z#$;A370BUF>!Uj{|tQA z9rkGZ=ZIog-0g;&5)Wr`cuX?`$TODW-JNV~Jp%*PZHWQYyJezl$(3o%U<#tM zX1}Au^?VVO!C$|AjbII9j)3D|3@&R2ZJupe%*w|CW`s(j8I`E8qlAq3u8&(h9nYFmA}m@4yy7^Mx`D-?kj%K;e-G|Ru^{NGkNoh<#iLukU{lD>fd zZO^d?{Cj(JGkl!hfm3Z+G5pWZ9q#{h{@m;P)(E7p^13~@min1UR07vV!iflmpmw|r z-O~;L+^}{qr&n$^Aud8-EQF|%e2ox{0UeUV;5dA_N8jfwkEn%Sqlq<4!J{+MC7P!U z7tvvR?Xiu{CAhp8^RFbG`m3e|011yj^X^}HTK#&d)i@tBS-9&*V_#;T}HOMSK;G)Ob^u8Rft{kOTaZvxV9 zY4=uNa?!q2x~_G3n|VniEAKqDw_qMX)K{KONcRC}bfc|+FyquNkrQ24M(F$QZSw zRyYA!T$-p5u3-v)ZawxOz$`r?K8qwZFFVqLx}p~ky!}pEG1Uo-xt%`gJekmUpCQ-S;O`YDdz7w0FJEslT=a~Ms#(rEKwxeKoFKHYNZyqUKfHs-;K5JyMTfCg!&#`WAC3W2xZ;HMaMdA}xUM zvM4u#h(RCps09|napikfWx1IF@=S_j-n}l$i{TvJ}_r|D(obxyL;GHK+ zwqvzYfK%DaljYeF@#<)so3)6OVMUqcDSzTQ*L8n^OO^Y@LHTdiivgN0i`3W`U=`0F zZO1ba7vXJyS-`k0T~AkDwK=IhJJ}1;4E%^yo;}e`O}qxn=@H2`u6*XGHhamH#XHwM3qX!`6q?VBe${?iiBdj7?}iXUxLSN&CcDxebv(N&BK)QJXnxv%yb z3e1(Y!1X%WRFneNRf)+h1v?+h(-GM2|1_~dT@}&>h;%uJAXD$RUaZc3*~oAOhpk~v z7(@S-omQKg!bHKK=&Ah#5Y|j+<;M?VMB>RWUUK~dk3oVEpDmX5Qk%VDwSL}xf+Jw& zTBdBOP?B1;r>U(hK}Qtl-@3%TqRKj%dB0%h!-?&r_=l*tYG67cg;E}5usD>}Thlc@svq+=H~H8m<= zRel}Qxdzf0?0v@s(SOPNh^ev0r#~s3oUR#B#v*G0 zRf=96R}JqWb|1eI{R4Z6tclqlbX^%CfC{AEWl*Qhr1+DUlLM<5G>rS$gaONp`5pdE3e%@0W zZWB=|mio0-6^~)HDW~kiqi80ke65L>rP(^AkZJi@_*w_sUUkVjeop+^165SXN>7@( z%%q$V@0A`)9_yJxvDkA+@F9pM*h2g-4na5>wk&`^cgPy5O{o~Gq9t_o^k`t(hq$I+ za1RqD)o=grjmJW1{e^KglEAj*icHP7o`3Vf?h$)!HTXN9esC2XVrG!-s~`Ti@Ojks zK)ue5agHldDI#&g{f5BCpfvV&yW^fCkLO8GR(T&X46^Qi7d0HHBmBI4>j!Cl$M%8c zbZ8V(bXl`hd*HFqQ7Yw0WJF1rz^c?N0_IdQb`lDi%guL2PH~jQ?S@D;QCe^X!jcQi z@{OTZw?f;~8uF@$0nm}q0ofXFdlGdmBX_abB2lUDhn`RH48EA2C<9lWx`By&8=}FL zLS!0&!4oAk72kh*%YV^u3sTH88zlAqINOC07_z?`=yu5N?j-3WK;T5pTky`D&7|$iFJ(IQGiJcc82Ig^Zxo7tVBiuy ziV&ub*G6BNLFBAXZ3zp(#S6`C4o|#RyQ++_kfy=n%^1h1h^ewL^Z$>rw+xGNYx{>4 zQBYc>q@`4(n_&nk5djeaksJ{aX@*XbZgCU^W(WZh=^S9_6zPzLp@$k8hUUFSpMBqZ z|DXLF$NQBp9M`P1&UK!@T45YR_uz^$B%YLQi6*1-bDrAw`i~k@Ny`iyWn|gOd17{u z3u`%eRQ&f84L~5x>lMaO!>33t>jy2eFJx_=*O;#s$`S6R#t1IO{=L8fOqMR8n=Zv` zmGpU3{pHsccNUW@OTUW(KwTKrD#JT#!!AH->BtDvWI@rnEkGxAn-HM{{$}`# z>vc_J-Bv53ThFBXID075i#BF=pL;)GTCxy<>dpH%E*KWPta3KI|0X^;E~qDL-~$5k zHrzb?W~^=FSG_~dG)V$QQ>SH^oV749QZ_Mj?^=97oXcTtaTt0GJ8AED?Bfq= zO;YP?bnfJDT`Tf`B1%iI|GuC@R0O_jy+C9ifr_+%0x}}BM$Q^sq_0#6s#ZTqH)&bS zz>;tM8*1Ql<8CeUfnHcm=1jUUI>qtXrmm>%f}{_PPdt8zniYe2-N)mS(jTds^~Dec zuWh8&w#(_(O@ThB+X40Z*LOj=J!rY(41xDfmjn{_JTzEdk&s)fs#*M(Z3H+=ia-rr zSpj`C4{jUTshNQMQ#p3-*;XvzzH)b)Ta>r;%SGszq|dtPLU!MJHpHZdoY}49-0ew zMp0u8!gzrC#gPvj)O{`JW8{shpZb58zCYVJ^)cm$F8CW74;^aFWR+~@EuYY$Q+y(K zz}l$FA^Py%SfDpCT{sEy(AfGhTbC(uqe{~m_%ym*ropQm&u+6kC7C4RET!(_bGd3^ zm`XftW`*$~o)x9xc9PNJmsE9=R#JLS*B zRO7zwdu&4?69|9V3$t#o(tbLj^($9{eP$3VTLpNm;cK$C?~_lW{7+6#3M0< zT1ZZgWSQ`t()l*I{i|ynA4&@TP>xKp0H1Iaj0vDnrUh1H)7k7ku>VkLlQW0YQVn0t z0Nzn4iF%g4j}dgmkI>e5W2$D(P5rci|2sf8rRDhiqqn$rIl%Z=px46Bk8$pAy=TWS z`XhqtaY{zQ&?nS9wRe}L$n<83T5KXh0SbAl)^~G1cq;HYff!57Tgq4Lgp}W?-Wd?% znN(Y1FS@wdYz8r3q!v6mA4y-~F z<09z*#V+QWr8?88<^~~?si&CnWYSarjn9(`?=;7mZK?L|xbci-^&UysTB`1`2}`_q z{#O>jDG(pdY-g%|nnrs4o8dL%KeX{*J=5dc#A|m0j`EOGKb;Mi9oBbm2M`M~zkSe! zdn@5cgTHhCfJ6O^W09J|KxW!omRUmr*EEmVs@Tcv0qO#^g#nV$A{q+`>r&YJ&~-Al zkm)xlV(drzuCGUsdTSxI&9v&#{K+Tdsh3~hsB4lLA*B1(-Vtn5C)*~&KRl{m34;s= zyZ1x&{?x+uQc@HD)@$N>s(bDS&$^31VZRJl?$3QQ8!l8IVW-_U7}29x8C1;B_~&lx zeTe@IFYH*^sKdn#WikmoM7)tl&ngWG3#FuJfU=v2cnX|=FH%#?vX?Ic<0a;yzZynr znaoa|r*bBQk@K;)GTl%bNcrF!7^g7q#l= z`7rrd3%Ff~xl{U^0gcrH7XeGsJ6~?wcqOxIQX9#KY`Qz$#57-ix^2ly#Ns5CJaA_@ zL4)bA$kDF9xG?2d;SVv0Z+Jy*?`0gJtldJB`w@YY%e_L@l*-0$yBgOkuxhwMOO#bl za-T`rAnRHRKz99WxgZb&e>>FN)MT2*5OAW?4mR#Jds5hV@V@L$4IN&u8 zzDu_pXd;|k`=nDOHKgyFFcnFnAAHq!17hlj;xJys1N?*)C9&ok77Y!!%B;yP9{yIV zpBQVPYwQyFg5mU!w3xEP?^&Y?y;B5nZ}ceh6dh6{x5$FUYjxfMFa$Ts4BTKk7fwQL%EfZO+VV3BJaF-$ zOmn#>@fKQ5RSL{wwe7$o%u^d(q#tH0)H<6td}8zhA?+UF#QzEk zx0(4-xW7uR#ghDo)evPemf!f@B!leT*Ssnff@PGFb-uf>!_KF8?Thx?hDX znH5DF_^?t^vdk1c+hM+FrA%q6D_8vGKw&Gfn$E{?=U%gWNC-2;RL0r3T=CNm(!v@x? z3-|5nSdKq*MN3#bu8ibhX#|N{{*d|f*XXUWI)?>XQZ-o=O#Lpz{TVU9jzz4-A1Nk? zHoO08E#-P#x6=&@Po+H&B)FdhHFTuxR-`1NYZ#mRGkf1*NjQ2_pQyqYG66FT>1#O|pM4&x~H5k0t45`S{<{Y81sSht@3MdVE}v;hMwlc;<;wy7WMukJ#5M z?w5T&D>wa@jh6l zrK53(_N_c%FdgWzykw=>qvoT}&?moP@hXjx_%fcjs)?yD*VPB!l(}W+UTAs-uXr4d zjVKq&?da$*95mU2Ld4^uS{^}-YNSmXZX z`-jgp$6j+0a{FN?mN=W^pOa=Wdp+5?a=_G2xo6$TQWROp=ajh1Zwr-Gp|fiCE~Ub3 zWi%DJo5Pc{5=EKJnLFsV0i_msdZx2OL|rV<*fe^l;hq56f{kX`wXn%86>V$pAS`=^ z9l6`t?$dsnZnPKe8Y&iBM>!PMa-xNb>eZn2j948s}&Cyuvz>zN57%5Ci z2Cr#s+XHjBv5O^ZTXM^s0cs$2ZewA`<0DE^oSzctPrp6zP~A1*j(+wO4?jdq&eUvK zT}I7Dr-!voNseZ)*D5F}{Jlw&CobhDKs`+TO5`dHFj^C)SK0PWS)!IQh! z@**w}l;Pg3kFXC6NDbsjf#E?Qn!`nStAe`_<68i6lU%4))7(V~xy4Cie_*6>a7EdB zOgp8`u!2b9yY3pz_kY9a23n-wWYxUla?Ui#@;+HJEtGTG#mbN~syL3%m3J_{ii<6m}+Hqy~Tel+vPXEmo3lmlidlnupywRUh5D?XhZlKQ-nX7+YSK9nuJVb zc_QQ72nj#W-yr2NDY4s0L{2zIh8(!@u;)?*4zT}A#nn82GGPrEdd zG-R9=S$@wMn8ZRF?O|dgU4GMFL&?;8srE}$mD6iQ|FTuf&L2KU-Xt&ux!(tL2}0ja zw!;UsOQ(!%lEfV%tkpiT$bN2|gHvm90R@%0h$${n@~&z3UPQcJrV-57^noIi4IQQA z;?{hVCzB5TL#h9?ef~F4fqd;_`Bg_$GR4tpuO(DbDh0dS+uO8d!-G~U3X@+bd7=Nj zN#*f3De(Sj=e0p=p_{}AqB-vmk5OC<-TL@%#0a$D@lK%KTS?#4wFbX*&({(qa&@^> z>~G|_ANF6R;Oq<0!$UVOzJM`*t~^7si(ZetDNsJZXaT8eG5o}DTs$lMvWBE{*R9on z$CvX+k+-rpUvz)P#r%;BiDosC`vjQm?S=96&bZ|2$*rs>?h1I(8=&!|A_ESeSi}k} zgikwLUDw|My}r3?X5PQ2wkF10Eivnv|BU$hHxAMx4#I!T{Lg6ujJX~c7?gZf;326k zs%Ga!Q^XZqgXT1bHt2>Ie2@Md#(JY*8JyLk&!wA*Z-#<%VGn>6yUu9S=gzmTiV-Con=jK9A@v_`%)atCPvREAeF{{UPz<#iRPoM1hVb3^~Dib7>MY=Oa z`gIVq$FzcW#y4(NMM{01)%gX_cH?z3bi1?$O5Uhca?p?Psu z^pH6v@DeTSW~f5OL57j*-3{x78QxD|U-3<`3eXhir?J=m>sa$J;3g}=LA`>fmIhw% zLPLgRN6Y=kZU#4*Q<(K^&UpN_5uk$)?fZEsRMn829fM8XO-nzx0|_31J1BP{e~KR{3k2{4U%iSX z(Sj>sc_!aZ;=or8-d6$AMQ0}uuf>U;{?xC1;d}H{N%Xs-P4y>}qoh2eqFd6BYP>&< z11eQgDsTDoi%z3XBUeUU<&q#g`vRJTsyBCC?iF7Q3>gV)x-#}He4x0C{$_`FJv#^X zAkH^;am&We&B8o8k=HMkS?*RGY}tMD1Z$e6 zk@>3AdcX3%_%E&pSkZ$4+Ao#C#4ic8zlGx(gmOqWWU*gVFe@Z&1QM)x<7# zPXf^7DNb`xp)O?y*|l4_KS*c$XORn%KUR3-aG{p@(0t)`Y$u-&J?*G zO}RPJ)nTNmbXEI!U{4ZL%ks*{o^cI*<7DE_bb(@1pB~8ykBGO!4r7$oD^WkpysLo5*(maH0UF}z%y?=o_O6p-4 zE0uDp&t{YAmc1Bv^P;r$v=lg{(!sr2is;fRpMMyJDQID3WyMx{o2R>DI!~jLcKO-K z^JH9kv-L;NavXm(BdaE__=nydX1Qd5XO(iA&8QhdkFfD1^ow6hn*R(iN>-XIg$4in zHAxFlW*e zo(wDh2D?$E$`&BKLm~pl6}7Q2;--wx^G|2#6&w0nebPJ+M%19ClXi@X5R#VfMs3t>)sPK( zTTg_mamce({rwh&mU4blK9fEk=vmc6)Hx&F7`0+S34ZAw|FvU zSz&KK?Y?$5%q69J?lcL8d zl>f3nfHU~Us5W9<9MH}=wCEqYUqaLJ3x@;h`X3^k!0Ween%85EP`bXi&OlM+cWctR zRso`zCXB4}q%q}WUN%nN0tZMlyLdIBwrgrU%1v$Mp&DWutntp>B_H)@G;`@aKZ4JC zAEB^`4&%)_o4iP;@vtQ+#|}G&%d>i1$$PXHPRGCA-}Nv8 z1^l-Wlhg6*-k!>?59EGuPkDZdUYYFr{{6jP4DGrz7PPxtK6n_|SXNNnbc`#lqR<=Z zNSkm)phkO(^hav+$w}^@E-TcGTw(Ri*efuE2;6)AdgB-E_?z^$@v^2a?kNuh!o%!# z8>(Y1*wJ+3SFm|gn^kx8r!njq8`Ipq%7I50gs7e*RF_-e2B( znt%)v^)$2v^?HGp@~!$1zxVq`HU(l{tu-Q6&yn_O zJrJ#30Fgah+#iM(lq6BCTYvI#`n)%WN{L4$nKIRRA_QX zL06f1t+U;Goh3xg^a*6hzpk&G6NU@vZ8|>K$tUqn$NDEr_kT~|1<}x+wpoZTXMGe} z96M$~79Eonr>{AKmUlR?%T{gU5vsLTR+<*wD}CZZCkrPHbQ+rZr>!M!oeAiN&Y%VF z{aqk)YO{T2WT1e@iB)fmLaUjGeHjn`GE#5pD7F z#a!K=3YjmR+!Eje*?e!>%uGWHUxY9?(X%H)BH1ubtxn<(B6k)vr9!yDAL4MmYXE%k zC=%kt+We}1l5)00OO=Y^P6!RYCTfKqZZ6X zpmz`L-917_+SUuBPtCI@jTpmukjj0x|KIk7k^oC^(c_+^(7DQ+$Xn#=QFgU*C#bYl z7UMagm`GqiQoeL$D{(e1o8x!;!oNmr8XVwSdo9}1y+G>^o7gEZA+pQF?X!7Cq`ljr zn>jW&8!F-?w%_R+HV_>&Hf-yr0_SeQvHFN}-&gxn*c*^kNv2N3d;YUiUcq$B$MdyI_bA2CQ+JsV^ zy8cb1u2Gs>mmCrc#)UPSaaWD%Q#-(|cl`Z7A+9@{h}P!UwLGJH(0! z!=Xo5WeELl&xzSr@F~(_f9k9B>VU&Lg!8h?@!oFa3T(sDkpCWsBuYm?V9}*#xfI~R zEWH$A@leVHFok0x|T0ZI_A2w=CFAZE4CSZkaka;l=7|803DaKH*8Aq z(ps56VQirhe}{;+3mj6@<{$AH#tvKnSNpskqc$fqyf%jn=R(&jks~;*ZJxXvT(_xP9|%Q&OQW6 z-7|vgRl<^&8bKodRRBoEviw{1hw@X3VJ-uW@UD^5tDtCa>OtI%;H_u3{}M6$Ma==0 zz6U$HF69q)1brj`MXKBn#yCICW?){W1x%{!!zT52XufMcSuzP&1Qwz3`~<_O4WCnB z5wVP_DYrEc^*dy_0MGQrO%9uQE`0O}MKZXb2KtxwnC?k2`lu`&g62I94`yvFEg&o_ zJ!B$R+WdB+hi&^B*(gOewtw)hjgk2m+c#;IQ?(P%lWnsI?%zcrS1G+0^OE;lbV6Fp zBU6q%AKTV3F1D{bQ2WabTG>C0)+!zl>p9a&go_xq#1$Wj;G6i@b!0nVX>Fpi4w?3S9^Y@JJ zvR2dM4ojAX4E9&(3W|LxPKr;D*8R#0i(6yp!Tnyr<_>3v`r=u(VZIVcUaQge7T`Q! z!d~0*&KieX@#c*OKv*{3gv?bP`gFcS5>h_$wTL;Lr-EnFcF+kG$-b`?YRCzYrX2F{o{|IJ#Eha zXgR$@v6`;BuBD(6Mx@h-DAH~Oz;V2!!#&=f{jY`Prwo(PpRS*7m`*#eH-n^XTsgR_ zA~J_c<3HJP$>72pHkW$B|HJO%7nwYOaHUh=1n3+_t37wtD&}HJ)-5Knxh1u>__@xo zuC_sPY^cmeA2b&wVwd8(UnF-jL$SX*u;aeQkZ=k`jSfy)_P2*#V_Uj z+FwcWx3co(4Qm$vk^Jn40p#>p?)YT%w9zlRrt-_!-J_?5uJ<$@JKoA0)TDJ^VfKFg zK!X@_K11g=8q3?XzqkM6;=ubIEzAk!>#34pitbV=@!|N%sUG_znX#i-$3*_Z=O<>JvZ<8PfvACbPOzq=61ZFZqH4rL(S81LIPoap zOgdO99e_%QWd@bLS(_F0R6Lj~oXdd5n4{CoiB<=TYLVjB?ZZ75U9u#ey&^I4vcJKR z>r;2|NbLO@waJ_#RITMl1 zU(r7o_rx8#WegoG+^jm)wYzi;OiF@#to?e`G|_73jLNS)V#aN)aGUw3 zdidWU?p_wEHzl*j-_1i~M*A)!B%rd_WE-VK4(|3-pHyTGyN|{AX9d&&D0k6poNmek zhmjh<`;Mb zinr&wkzpcq;!1FG&m^wYenZwFvKO%v)X=0lelhLRPDjZOoHb*WT9qik>r^_agbj>w zdEYnFq*$=p%RAawMz_!oG97f^@Se~d#fT+|ZWD|PN*jT8;mKh4)#@EYQVd82uD*dO zD+slbaCTVUB`YT)E1^E#D=k|!MJkiH?ap73Dm&<&#n35H(YGaFY+}JH304oh;BTt< z(j;7*FiVcGE10C+bsC=pb z6Q%g7>!Rs!hh_~Jw$LzuP0`XURN)-XD=;*+Ha%?CPCHB;E#*14rem6z7eRLCbTvO6 z6{tH=L+us`E_9M|28VTeX-|+W~CKJGE#i;1myQaQw@j)#tnvNNI zla@K0OcSi46uaDzwV^)~OpDUmXwklgu2TueV%0G?0U{f~CD z?8ONC-Bzu;gJSawJ%0NlpsnU2w_XJz1GOcMqh&=|=1&veCV(Mi4H7+qEP?b*pzRFl z^K&Pjmv&c<^j|&y~>g!Q;`f=Z+9ip{Nzt$;adHUQPrRu zTtRZ<_wbHfxg?{e7VDskb>hom0@rp-s41L!#+1WuoBenBi%eV@XI#InY}k!6e@(3C zhv*loj)?Fi)%VLKN_GqNm$yHz8CiF8N@RQ{+_G5k*({wm(LgZRf-THe++S;D?ptTGw-LVbRvjnoNg*oz|h1f|uWS5U5 zyl9I5U_IvA;7q9&C%7Oq-eNsXbVq$XDXR@f{y|;s@1??oa#JPmY;qb+=)+pCFLaX) zecihDT0Y(Zqadk^pL_6H!dC*)YV60CvEkQj`Zo?{LRrUh4JcZY2U1Sg;`B_WKw)oX zk!sO-MwLI$XuWg=o>vsA9nw7iLdG~W=3Ve~tRvXXoXBeXjG@2?C zBYF=1mPP+Gmx*JZI?D-oJL$xV{hb7-96@>Hg)R95812>D6rLsAHKvhb$HW5jJ+(g( zqF3un{N1j8h*o<+^ z*x0Iygrs*8?wWnJI2D%@@Rl;{QH6wK-n9jCouVM;Pi_xc1b)W zI2!z+y7l1c8(u^oL(sS7lF51olK*p54IE}>DC z(>XC~Op6%45ev`P!c)6rRJGsn{)RP*QVnrOx)VS_zWe@ko(DG)EipwOx>b9;j#>ls z7sUx8{$utn)@F65vn95JQp0vgD;)np_*gU75)GMff4Y4eDhu4Qio02%QjJn`H|JF|*IE-GagIwh+j|~#nU(oJjRiDGHZp_)|Drq1 z)n&g=rfIgcDu`QP$;*Xc?$z>1hdLI}^SSb8V`(~mFG}ng=#Utb(|3FnUo7oCe9wHv zUl-KarknyM^y3Y4Z>($Wq=a{J&Buoo9*Z9+>po#!Px#8K6j)ZV`6P-ylHw~zhg(rq zzev{NNmNHoeD5cpig<=#??{{uP3=MTJEMmuRuAs%Pb=a^_0>A|a1_H7PCI7}#M*lh z^932yBJYfJnh$AZEyaS&nUDA8q3&Mz$XMx5mg@BrM=Ymtb;>(*`o|6N2gof}_PRNd z1(M+j9;5S6Ip5y++A+4#efRIq@7J{L=W4xUyCk_d3VSNrX!CKRjCKtIexIjjaaF^& zQ8wNElH4EdOze>%-b`E38P);8+*e?&A>L=L0(>Ui-VPsYL|WBfoxmM()*atI?rSpCSepwTe*U+S8hhm;CgfKtC9jbTkOEDwktW&3r zMCeSp4pdWdmYSld=Phi-le))=(2<}!lB6?Z?q-GsyT4a9`zsFegFOS(GkGbn!_Z%R zlb6b#ny~TPm5sz#v56h)Z+OJ7dJil%8t&NrG*`>k0v!^97K4;h#ZgUuJD+l&-=xkp zJ>USX4c;l2T-)O3>e#UT$)(?Nm~}dJj2#ykHF6FF@8dq)MZE|x76VDSjJ2n^?-NC0 zPqYv(B|1&uKLwVhe9udF?9Q{p!!#VM^R3m_k!qhF6}1%)YtFX%TfWvKF8J=#yD#;+ zdXj2AyEaPUg2{El2_eO`e2fUL)brzHzg3t<)#(h}1vjoAJBDUCG5k8Qx;WaNa`jM% z$$h^{S^Sg{wkAF+>wLSc&om{m-6CI?Un?K9Q3bD!fxi+~|l! zl`n0%I4n6v3WS{21+jEPDmI9E)YkJF4ljnZloS+cADU8TjWB~-f+~*A`s)B^5cXwC-r9C&^ z+-SoPjHfU@u?1B1`a>p7b8g8ySlm^i%Vw}Ae1b;UZEP`x4v=r2yy|KZ&31-)j6-3otCz(on=hLt{h#b~`)WnlfqVxgwUwpZriK zUY`YdH34mRR2FNu$7shZ$4vcSs9HXay>|r1RsCtla`V~p#uYr>+H7MVF%fm}Jp&eh zu+jSruR;Pi3Cm;XhAM$8|E)1Pg08R&Zv`$|d8yk8v%20u2{#JQ3TjGpOKcs6>~SZ% zygMZ9Z;gN3aL^1DR!sk@ys|4MNt6`~HHxzDOyHn+jsPqw-iFZ(yKv4gWm6q5gNX6E zIBTX~Pf>F(VdESt)NjWT6$7+qL69%3Rnk<^s{ZE$j5oS`D-mZY3^VSFdE#i0c7drq zi3m>guy)*bB7i}=4D%Rul+Qr6Q9i&1I{mKn$k+#)o-kFlYB!UsM9S**tHL9%_)<@K z8|z^W_-si;e5-KE$$mL{BfngiOm)rv9WH8>zeFKHo#GUZ+b@@FEB1YCO<~~`XnHvP z6l7`kzOWSc7`4{0yua5`Yp?HD=I{eJQnaWO_9V$$m2T}OMB_9iwJ;-xcHQ#nygj`` zk6Sm!GlG0%+{S(l zKf9uvbez=-t)!0LGMbPb|Jmd-0lDT-0*)!PV!1rrhV3q3w&!AAwVgZO7z3@Y1d!cH zqW>-e4HhUj^!Eq_S2XXV{;n1jX=3ag;rDcmdnEeM|t>+-XY>?Yh>#5MTJzxvwHV-pFb3)a771%hC+}SFL9~W61$~0ADG6{ zO#@f;_;AAHW#;7e&sw*85O%{x-qFUseL{NAYbF*gf4)G*YAtqrQd*gwnSKK)*~ zxh)Yte$pv81(O3+Kn$e!$^x~l>B~yI_il+uJvCg=;eU)aQ~cZk(kZVYr%ze#VhY(Y zNd}d=J)9?R+^hGMwN$6;E@L%H>=dfeIuCGb%P?GC!!e47>A$jpT6U-^9(fucPoOAx)SJ2Ni-M|Os9wLnx&JesG`wYr#V*f>P0?o;o+uoEn!QS0J$^F@jxh-*vv5zPILG zV578ho6|DLAq4bgmYenYjjubKr9!es6n(+fVLXpR#()s0+tWUD_5ZQ=!SWdCvd=UH z0U<&myNN>ucy6v(=YYt5M9`L`=c7c}sG83B-K?%U-1kmbDmH&B^r64Mew{;_lfeke zf7=1OQc?>%8~urp%iHq3ow=^pw2+$xz3%bQyLLr?pN5!q2>~ko$b52e616sTkJY|N z3lYNx@6420tS%T2Q@rwgL4qH74AWee(kH%k&+fv_y%TDJd&wWh^~^+~7bLIe(@-Cz z^oh?@mwq<3v|yF+#$m5Bj-i^11L5vpY@9oSGW}f?s(w7IKvJAYEAI#Iblbo2H5i_n zIe5+J@~WycS+<0HCt}03H`^%`v-_@(+ICP|_1S3go&CTB&w#FWwzBc;32wO}V8VKp zf4VI}F|uJP13!szg<{Jcf)?tsM&**LQxzC=tZa1t)};zxh??ZyLWBj7>Mk#U|cYW8nC`hWw9@%SL%Kx26I;p^R9#^KYe0mcFK z`*3#nHx03*7d_Vf_qVCplzshPN8M?Pci~@$(_~8#HL^C%#(a((%-|6qu=Yvv-F6j9 zbb&V+4aw?Xek;9|%!643teWdbDi<43GrhGw_l|%tMWvo_yld0m9nj22f0YiRQh3`R z4xVLzup1{`U8Ng46@m4WgK;-e+dHR?^ZE(>L_J=61GsUdRWI!DN)oRBB`E#HJ0THK zAuYMOpDHO8?%YoFf+*(z&y-c$jF00Lf^yq=`m(mrI;UV`Cr9C@`%8wJ#Hz%);^$M3 z92RuGjzyk(27I)VIno8+#hw)e*G_s5Vun8C_1iMgjaNTzHGg8^Gm~5}_AN(onWA>` z>~OxKw`pu`rWfS3iz_HzKF7Q}T9c@=5s)#o{*}q)=9sc=TLnt?YdG86F<%+b6(|d} z8r~4Mw#n&kg)CwHJImA{CTsK&`9*z@XWPT7gc+>qxe_A?q|qzmCkX<+egS#p1a9Y- zc8CYt*~IjuFzcNRbB)!5=a9DDZX*v@1Ill8@jva3lXMIC3(;rj;b=&ILG?ZllRJN}%Mru?domR!HvUGelwxgAiUC3y6SZ-L zE)UQl&Zgrx(I}KhX7z7hH9l>i7~4wsy$;qV;kGX|`UJ%_#;ii*grX*U%6L$6vUM!1=tehcVVYt) zCo9+8ihvt5?qAm7@7Nbj-t7=Pb{S;@Nt5n9sxWWV72oKJ?mHWyA`;nFW^$kNXo zr)DKm`&usX+{?FWwLowK$0YK)F(veT_bp$Z(QEbd{kJuRj>(hm12@JoBBouWFv^ER5_;Ca;!m@ zk>Z=HsOEfjTrloCVBf_uG143}*pX7(#ceFy-Yw@E1U^6#X2oK~ddXRZIFmk!|9$0? zsir|@hCaW5Kmj1(i_EKq0zY3Hq1i31emhf$F8<=N%aOg~BBub@sLmU!>hzRTi)aze z1I6KQv{RLD6BOeTRm`|q(&+o>n+!|tbTT3szFfJ_8kZ;|**2#}!LVA>H{x!UGSxq? zFlCe?Q{|#|L`xMrtuYcWiNBEX^l7#Oo;{s1K+SOk&zFGuh_UjVuY)Nfj%{{i=iyLWWEsn*y`h1q~I@fj^f3M;dqfd&=P9`#7miZN; zKWLg$dQW6xzf-N;|Ff0n;FkC02DfVP^e9-oMYC3xDt@)+bp_3pQ_bMVt%hGMe|pp* zcC&qpJ>Qe~{czU=-TEr`V%FXE(Fl@_LQC53eBR_}%>je1mHe8tnKC?*+MDjZRH<*- zpI{7Kfk2X9Fa9K7w!GJV?I4?AezG%OXaW9M)jPq9U!lC_l{ zo|-QmGr}3ghE}yvEj!o!rbx(>FSV z*>&OtqDvH3zz9~Emj8OI0m%R+XF7Wpr(pS#%j3?L?ytByeB$PS=W{$KEkt@IBPsD| zT?%jo3VI&jcPHk2Om`%Zdu*dicvFNn%*V;&OJS>rnUP~BRXl?wV_ZUf29x;~i#!w0 zJKBIzGKv@4V{A?nI~k;srA$2F<9qL_G9o>Ll5KbAxnokDd20Ibj=-8vYLgj9oY^|r z0=oV@WVz29*Oe}nqRu^Sin_dnh!G7Ynib|QYh@_cICX5$PC=CQ=M=B@99=!PgO}c0 z`UB}^9hJ%gSK{Jj`~)ZS&z`(DRm>~yY_-_AU0iT3M^@n4`GLsx$TRe1zV=J?7YVgy z!zW3m63yVPc%c%PYLhq|ZN7k=`%fy`I{VQyx)ENj&O(8gvoIOO#57YR(PGVubYnKO z`8V+9_FURT!m8DJ=C>tE)M8yq(Q;arE2)L*2w0%AxPXJcO$O#IJ6~;Md!%dnV7B~b z6{^<9cCY6HmlS#j;v42WQ=Eeh;4vvBI$QWWsAl1|Un4L^+Ee!`oUeUeXoiSlgm*xb zqNX19SbCa1DXy__si}ALbcq*>L;8SqrW_GrtL$zI6#4D5PoD06sbO4P=Eo-A(c*6E z2g@b{L8ehSnO4g#?|SZ_shy&ei#!4yboq%8fiqQKgC`QHe|H_0GX5T|^$#?CB1THzq-nDOG0Z)wx7{W0;RL08GtLuW{O0)9@mUJ=o?xv~)xuri~ zf&#v@7eW^9+CbRuwmC7ktUxTRA_F&P%OU7Q+DDTfb3t=DF{t#y!h&PkABBA*C>>X< z;G2e5JC(1IyIn)wfAgrGMM#)_-2UCp}|P?FpE(}>xAEZZ>adw%iWs-oQ7`*->VDtE}5yxSCVK_8!gCilv^ulob) z`vX;K{sWn%UgcSQ#FjxaToMD>+;EhOPapwFScuoTNI|K^aA%8zNse?ywwci%_(1-W z!@vaC%|+fK7gP)`4^Vrb(O|kRCso$`u(2{aKC{69@ZbN3j*wqv19F9&bH0815z)-2 z8^NU>-)z%snCNiX$Bh6@6&L!`rT-1doFw`N|I>(qhf17yHx5S|FVKzAAZ9WonlY)p zF7NBh;LMNaRtjxN)y-g05N7D`vLuk*L2odN5BRXX8d}`;+ojWu)H0HG%%g{gZ29H^ zfcYyGLin2=>EVWFf+?agqTS+cqdfAv95?5ToMo^c9E6@M@Jk6B&^^kHW>7|57WCqH z#~YE20GE4yd~$7H!w`aZTY&yBm8U zzq~S;el)RzP&cYA-Ln#_`Z(dA9_so(S<=66D(v-(wHFU8%>sz#Pyw1Wfa@?!748-j zbzsDzjvqaeDbBfR0F)?o89mVr-dPV*9fHofW=rh$LEnF#nnVmgdT3DL56kD>!(qV5 ztL8WD7yi4ip?tf^`_;hj_SJhSdD44VI&X&Wl@{@u^l#hGkXoa)r6%)T|L37EZaCf$ zye2uKxd>(AVa5bNC;9-9zT%q_%NeFwgCBvCLlD7sTMD~b;*7muae*?!*K@L(Oc)gP zryjsH{KpJqB9V=cIlTd7nnq(nGVRrcZxN6C(3iMvUp-d5EughX6$9ei3>CH;DP&(> z9w#{DRsS0}2JrHaiHQa8Ya#6?Z&?MQr=CE7_>V1otU|2_kQ39*1i2=Cz>8s@E`x(O zq9fyGN1G|WrcnP@faSoCE%|_?3`O=OPMs`G1Pu$8qOozJAbQW){-KW~I2oTApA&>w zBkH|t@k=>aK1uPfRE3EPO@!2K*LmANl=R5PNX&}H=(cHw&tVCK`Me}!eg6b2KutQ4 zitl4Qm^@>gSQ;9}69Qe1>F!r@O{88hS%hCwDP3!?%{kl>SsF@n@ z3R4a9?S*=4|K9;8pp9y3Dc%zo+6rC_a++hh>>&9YAox?gwQK%Yl8iD!ftejxyFm9Z zx1S>LJ`esSmOs%6AJ!G|Nv>x1N}!L3E+$@sNj?v)ng;aoy#zM`SMpSxs;IJz<@Zb1 z-vF`9q!cXCPIiK=5OznnO$EmW_&cC#Gor^B!TsYan4f=h{;g``-wdnV?3Se~eF;QF zh_3bi&XaZD89_{Ty5vayr>6Z+j?o$cAtm*+(f>|Os5uzf&w;HGKqtO`0#Zx#f=%fJ zTnM}6HsH5q@G7yHro zFYw1ayZXB~)=hcL`a4=ZkPT4|8o9Niv!+?91rZG?Okn;Mxa+-9Bk>sdEEOM?Kx$%f zkMM8J{bRPjg(Xh& zLcHPf>uu+mv4S3<*bY}grIt1x@N>+IrA? zRS|y$OkLedZ1=uMUa27COo?srH_Yl3{nFjDEM?k*h1I&$?pHxLkBst z{qu@I?w?l#Zhm+Mx^G5z3vbljdR?hW0FHMmXNYN0CWYHS_s{eeQXCPnrNGA}yrnXt z588Aux`7EQB?RIU%!4W(ndLu?<&dMLyJmFn$0^(6|CqsUiqk$hofJhWYFV#ohQ_D` z-d?$G8&A?Nqrc2DWQ$uH6&cHkKMK@%`hQdiyk%DmeRV4Q(#dpQ*qryp^GRh|55brQ zLm)loj|UP@c;8)9NL%H+{_XJNY9L@Uhy9Dq`hRTZqnUK7R5#ladVy&ArB{m0C`qg$ zooCMDsGP_lAn&7JduukVgPST$mGh@GkV|2 zvGV^>_U8Xk_U-?8iIAOSClr;C?0YDZP$ZR|n5<*p#*&?^CHvSbA?w)ptl6`bF$~7e zjIqwxea~^-*ZuCgKKC!*$NU9zp6Baz9LMu`F4LqN#*}OQWRHb()CO+z8n=Z+l$782 z6$vmg&cs2UhpmekaZ)!G{$3JLtmfbCsEeSGYJ4UT2toh#Sbw-~jMg+9Or#}|BNoGZ zelwY5Hd(T@LowXjqb^s46E`BC7vVA_BeP=g;nycSmnd7>aen_T!J9%6Z4la}Kna9l z?^3~^t_asu=m<#{faBo`xluKPJL%RB47J-O3S0+MwZW9S}2rZqL@LtuGGh?u^fo;8U&ZR5N-iQp$SQ9<7kPK#ya*_2`i91+^BZ)u_;WiDS|X%*;b7-?saij^b#mI4WUD}@=L zu${)Om1)BpbYge{dpI^}k=Y_Di?yRJIcHjVuU$r# z;Eec#I$Z!n98q_uTj3)gZJ11%33O@lRZRTfrXGY!v3z5Qh*UY#_;qEPtp&S$w#X%7 zs1y55$}h6>pSGp*8ZEC4NO{p>W29r45!N534F=zH{dSytJn`Yf2Q=wh6Ig&KQ*rN| zNA1AcNA}omRhk@|La>3(c6fH&=v%LAWW<4aHL-5mJh}c)F9ZvL>rbk0wD%bP0huai zodbN1h;{*2Hje!}O;j^w$#pT69vR^c&-P9N5$_uG_c#Zg&CYtRnrCP0EP#FDnD+FI zO!sKM?)4{mK85!+3u7Ptk572bpWnWco`|8@-N7}(LZfI#ZlpC{@~!bmyV7VLIpjV~ zYt{Wb!xpaOQ0;}t3t0Jy@NLiG+41@x$$wiQBsm?(o7{3qfao6io;mJN{I%i0*8JE1 zz|?|loEtq#u-74&uDNRx{cqEtGkr3jAH`dOK$@qzLozUuVnE}&*XL#qIR)yjTN#21 z?gJOzaeX`O9Ci8NT1N+Dwg7!)PUa`Co2z|QIcIuhqw57Pd=3Bavi-NaN3z_?hl@Op zVKLo5MZH!KPO7GT6gkSNy`b^ASDF3LFbuFm zfW`9mq6l^fvPTj?29YqJ$OfR$zdSW5Ykvb>CAm8y$Y`_kX}bmZt3DZ^Np8(j{Kr+K zoTW!7Du55oNC1`y=)6ky+)Xv*re{!vS#^T$pJ>lANSudLRF6D7nLbHg76X@XH;rT{ z^9bcx7{28j_{&4_58smhlANCfWLE)&`AQ7OUHNp;#?+BEhkD)j-~nrPCngy8-b!?+ z?m*i7{bn``cCYrp3f|1MNf+watIg{MkzF^bJUt5VV2S5~3vj$49z%3WqSAD=P3lK9x1JI>+%;iB{*lxR8}; z_{Wqa9ZKP)xI`tjHnB2FZOe?Fx#q|uzngqEpK-D)E6nciZ;#64H2>U64Sk*c>E2D% z^S4BKqRxx9QJ(I;gfwBld3k}716V@6mR{DuAtjZ#i8Ws<%68?U7GR*gC=Q6Ci>@~@sGS#) zqFSlt$~!!=7(m#%h@@^ENlj^F0R{{*>z9dz8fK29dZpjV_;B&lZU{+O+=$Qy6ricA z$)svfPpBi&@AsK5#j}&??)(Sxf=Ge+GXsYGZWTX?V7o*Wo@mdlyBg!z4n%UXU=oxPjy#69p|9n>z_uuAs(=wPs?Q)Ww~FPsW?3nd2XzF22THuHAhpuqv7EE+|2Z&JkWQCg zH`3!DqO>{jj{XkRGWEe@si`F{7o>4o4b3YPYpN@x=@z*>?AeH|X`qOXH*E+RK3CJF(b2 z_F`Vm-782Nes7_%%&(_N7J~l*ytpV@z;oU>v;aYmVTBEo(r`{@<5Eu^i++{8Y|be3 zkIs?!%%2JvFQo%y7;^*SoPxJsK!1;cdiT#17Ds2^1cdnnLurz*%3bf`uY;b>8Zds) zHY{-YzUj{_C5e^!_#*8W&-b|spTk>2DC~`pk~)`+zdq!qrFDFt(f@WQNBb;f{{=NLxRg#{p~|pGH_*l=#tu?<*(|WVP6%Wo=#n<50VdjY(5vy z)KDCr{{2eXP)6OOuV23|-_p~Q|AS6=mAH)B;$ez=i9kJ**OyZPS$T# zqlF$-tye9aI;onbXB2EK_Jrib)VGKE6n6% zjc&R!ww4H(71aG7Gz{F3u8PDy!y(&xkNZsR`lS(xr4#fPw^8XOC{`}pmVoam()^vq zgnpAy;AY@wW{p?UKaDpA*=3(}n$$L~2<)%?-$~wHXt+5TJ94ZgxY^jn2?>_Od&9@e zETZ9soR025+8{@B{9cbh$^C%Ak%>Akamz2hoAIYMb74)^+Cs)7zj_mzDXwm$Xqzyn zulnS%fLQZb)Y1ffEcs=|+RJ7i*9JwuK*vb`rW*_`jpiLtZ2-?-k8##@N|lLIZOP6v zl(=t$+UFCur0uF~&quZzV6GX+m<)bCV8F(&@Q?XdBiHZU3SjajXAb0Y4-@qBm+^Fp zS$TW@g3M^SE{)*kR5op)*SnBkROecPfs?v0@hatYbBXXhLQfEg0$A})h!acV(eziJ&m&E zozm$6jQwqT%E*%c)=|yQ7MRm-ypvtxOT@$e>xUT0ADvv%NWjIMP5n8P$f~@2{;_SF zKCq?lisf{`N}*{F=b$DNtG|rD`WRgdpb(a7&ic`d20=;dh>^=VBkkE)Bf%AUBcJ5y z21UHo`D;|PQYl7-bY%Cn6`)=NH{;j3+r0dYhu2yqOQ+yVuTYmFMhZMel8Az zAAj8eDIG@~V0{4j)w@Q-nWMrFN*k2Vy{RG5_}W-vn{N$&(gJ`1^bO~k&52RH#Fq9b zad9s`>ZXt3c@q-w;)>%df&swYn9DTWoGA(_M;=u+M1#Sehp2fBs6X|3fQ&a8T(R%D zmWua!*NVbv@-}Y5r%G&L->Ggon`IP8=gCX=IN5i4i8TWPpE{%2ilpDOE-klQpsC=E zk!tOXVqr);_Cre8Pkcm;9BsA>BlHK@t%r_RjT{c`k}YVOekOA~bw(8JuDl#Ly31O! z^d@afzIGPLt)h}~I~#t~*Vw;g>ndqQHE$n6_@#NU~tZUo71u7`KXeK+HOqQLgM+#@?hj2P^(Jl9uA z8)gAKdy(Z8aiKSbXI~=Q(MoNf@xv#CV=C?*CU-)9DQ0TjG)by6(X5LMx*a$@^F3(J zOYK-i{@N3d%XPQ@QHHW!ob{rq;NpO|^?7&{^kl!q>ov)9Y92_ICbeTH zMD8@Fm;Q@u05s(i(+K#lB0h;TIi0}O3{u9%<2_CX_@Hiqno`HTRvv>r<=PGHi~eh_ z0)^ki*zUCVyfl-$J=lQGuSd@%O)sGKSYgr`~M=J^1bT07km=HN?`K$=ha61KiWsBYG; ze)&tSJB~X6H^cSFeyf|e-}t2|)1=;%-3hr#&6q>#-S#W;yOL>+M|&If%47?I2k>b3 zAwh~(^@wygxTgEi%{kaK{pzb-{B<10|FB_->6WgJbLy1$5+#sxRaF6U8xz3I2##Rb z@Rq8Hs5+Y)*S0#r;EOsL)E{r+6m8IAr->qp%y++<9;O+@tdIVG@(LzOX@L`yC;Mdauc7HV4U>FV2 zvhaw4sIU7QrE&IZ*_V;S|3W{2JDHT2nXN^y?7O6h!_0zSCn+)N__O{};SUw#r7~2M z(x#sD)zV5fkcd^CDR7<)G2b*9@yIfld0}D!IOJqY3r0!wY><&mYnP zZa9_lJG41A7WY1JiZ0$!`E;_Rng{_?_O)9VO4+-oYAW!Amx-5*;~n-21Pd>L@lkRU z1A~kPoDUYZxK+O474^qaOZwxXoS!9D_g37OEaT0Kx2`@)!pOIWCOTAoHe19M^f%fs z|4?_I<4{_rHXE&#gzJGwlxn)3L%iUZ4C=3c;_|ASf=unid4K6YK&>c2kv4^i^5Dp% zA_)P(YI2Yktee~I&ECb=@V9ODk7)BWs-GD=SZESla=(c;;;HcH6 z@JmCiR_sD_s#Bq_^`oyESR07+=L6OfMaJNhrwoR!{6e-!ML6HsKA%aFv=?d;n ze(`Z~2vqy=>w!ws`@;Nws2!5Jgw?%;JuVpApOI(jT+daln|)zm@LEV5RbWUK9%vE;Je%32xVA# zdi7Y$H~#>O?zm}3RkO32(#Vhk_Bdj=(*EC2(7(a%pT4xFlmu(*tC)KYU-n*P5~CX4 zc}i^Bq2PCY^Tr#A$^uAETD29AD>gYkie0A9_jnAYMr}sjagly(Xng!b&VbXZ(+?Y= z-&%BWe7?jI<+9$CFgQ_`r&UcM1a;sy-nF%OI`ouFYJ@M?_oMXMuW=eJ!1mj37KB#e zH?kK{ehvRIhtU91q?YocX=)45YF(P;)=TNOd5x#^22~>AgADxed39{5Z;)f-!4MlJ zYTIfeYWoWuY|iho92mD$7LVhGUyu=4_-~WGG4~j)FQMu|E&J7uC4Iq!6!?__L5?lSqIhFee0s%slgQmuAG49 z;DLphZt>ZQ=?q*|sfF44YUyJf-dXy}_>}hh?7p71Y8dGbZ}#MX_cAx+=zXcYYkD+~ zPQk`j3*io4=<;u;T%v7ltj<&70(2MO5NvXckmC2b3wB60>&(+F#fpAts3NZJPoO$ z44#{FDWgR`f?sjK@RpXYb}`=bZ2VfT-SJaDRmCL80RiX2?Pr7bC@JkI}v&aZ&`pEu4xFEm?X{(5zy>g?u15^$Tvu4pJMwL z5)z{@p(QnY{0qjCbNPK;-Ioc6=HsgQ9trjssCC!Xi($g*N$awGp`ZghDGC!C^pgNjueaMfD!oOzio(hDQ&H}gKJ&3$ti zaGCCW-l*b#75LO!H8=>v;7`fWCWB*-H4L>oS$&Yv_u`?Xc|8BP;-4h^GyQKJ6Vb+V zg`q%;PO6QU?ToCFdr|}}PbuT_W-5ICTIU4t3jEcCOnmg7u3qa{XL(cisLg~q7dMoz zi)p8UCNtzo>VvDiwin@8KYYERtm#W^^KFw1S@7ETmrGn+!DcYVZ4kU2ANsPL3ISTr z?bDH6+)1hB3FGv0b^Q^3<7SG31zlDA%K=MLPKWplLusFr#^)p2=A7c(1#KGL5^(-` znlMoXxv_!0-`4Kaipjc0_JlMLWejAi&C;2J3N!t`1!=WccvPqHr)pz}! zt>fEXIPZPgUHVXmlse?A-|Z=ZZxo<`TM}sn@_Ak08(!yk?ZzA=>D6wke(J{&M(yNX zbPSRGZSgBozxGjL;E)4+zLU^ZOd};R5DAcU&2i#pZpH1}=Q$Ja@d#7P=ZNnAz~)Fo znlo%24}8B={SK1Pp|ISOr-)e1P-Gm_1J7dYM>=FH8RU~zwMYHIKt|(lYkr5dx}0?V z^nXmFKpQNELr1!F;%v}{Mga|Tm+`@x2@oE5Vh3)j9Z-#7w`@MyJ%vdkJ$aK#>`CM8 zdY-DZUQfUw3bA14l^om5sxdR`wQP%+YS`^GX+!rP*Xr?ypK)m+3GSmGN9HJ(s0QV& zXhH=BXIF=3aS0}qHWpkj%rC@byzVN!wO_Y{QKQJH9Kyadv(N_ofA{@e>{@-b)1rN} z`AnN%TBju!bF^;Y0lH1Up#yJgB?I+q-1ZY$P^YKHgVkgw*?lfMs1yfG@)#5_g+HV~ zYjjap!WO3;7Pd30$~QRdR$n!4(cpFsl#K@K`luC7?xsOT-s2EiBh9Bf>OivydzV_B zdS#4ckTx(yq%%=iYr6<^-HLt~q?=#4lU$)y`uf2LP?9dfiQrsIb-*D()wZAE?sch8MN?9QnU@r zaIA`E{W;yE@f+R}6!xm*-o$$C>30d7k%is8>5S*Q!@0Nxmfr{)+4ccBtS8&JXn2$_ zzPfCVrkd`;;VYmumRNGhEGHG{Pn36$rSikSW^-#f@4h_VhWS}d(jocj)CZS`PCUI? zHm4wmyhy`p9v01Ep@Ju$jy*Y46__q8;i&P~Hh3=Er<$M-2V-lxPFQXBe|Nna@W)ep zcAtD`Owe26rfCHAAc?PHpRUH=b_qwxw%NClq~_i}sL0Mml$)S{j9?hcVx zv&N;k#NNcIjB`Wm*ac>Hu+z;dJ^I=I0-~8|Uo`tQCL|@Pad9X%5Bbu@*Y^le-|Hn*{>$4e!Ne@6%NRV^8joLpe{zJ72+}6um zg!uO1P-+g=W4EO+8I+m`UHH}^ZpGHpw;ZdLXF@`Y1e29MfJTW^vQ92wpc*1>q?s(16@bUQAsn}!m&9y=28KpZh(|H4h_v28# zkM>h5Ny@52QaXDx?VmduUuph4b>p(IO+M5yvuZImLF1I%?d8XeB@W?NPvlxFPQ}bG(5&th7iI!-J^n52t_{ibx8_k`Ps75!}Sh3S*sMi z-MZ^Y#Nr^7kAojt4*4i1^t)er)6OtfiN}$~12-r6igjJHX-_b7W6BmawSs2}Ebzd6 zDF*I~A(#A<;FIB?1MDw2hn1E^QmODbFPa5MQXbKA?)+_a{^*APCr-wdi};AGT)|;O z&B*`9NqUIjnlrQC{M0jT&AC&L4BuXZb@#FzMSKPhG{hDq9b-A}ds z%@zIUI|B3HP5RRAjYes!qByu&!X`k`W_Rx7e75{t3xC}{8^sVS8k4K{5Xwihd0pv6 z%zi6xhezJj`z4v4tEG7(*RK*e`WKsFyZjVO*cRgW9SS_!^*lkMT#cBYiDO!PpdI+Fj(^E!OMY@L1#OSZYvky9?dV zE|fG~H@mf2)+>04YaZTX@AY)a+{wt0d^bAVv}>@YhrKxT)Dr|dwidPFpOqc~UN$kP z+3Y&S?sQ5ECH200Skh_f&HSlsMK}8IAvShQn`mGG^Y|&pmC^+Iudz*O$rS^xDVu#844s;Mbw`O-<9GK^R( zadkA#$Zd!6YrhrFrFxo4kCUPaPP~6->kuus{e^#QA1+f6mTSiK?)L1!{&~7-)?hRMVID>M;N!*jsV=ennR^9xi(->mXZ)-8 zuq2djQ-Fdp!9v!2SpC`)i(|G6=8mkxEl|83ZfP>C ze-3`;!N0rhIVO8#AM9Z#Y{L(K{1mv;G;R|*`RdMf)3$~pQ~gp1ntYt?fH5#}4+z8h zSDx|De8Ou@Wf`?LH9Rxnx44LF7rn>?1P;aFW-K%&NbK7s2dsH*_zAyZw$kfGvxRla z{yEp1bhWt|l17-BvLb*Joax`^1+f=W)y?3_g8)|idY5Gw0p?k-CG>NKd@DXHWo7bC zp|p`ZqGLsQ8ru2YStQLiC0bQlPW__>Yv}KEPZ^T|b&Was7|$NFxl}RaT9>>YHZ}bH zf3B(f$M^v_2m11N`&fh!YKr=O6}IWn{cC?G5|}c=l)tt9V^Vo{j)3<6z57+@2~k}t z9Or!^8+)cEixu>h>t>GEY_MvZ&%5(0)Z-#Qz?}oKG2HEqU2tglE0nC$W!j*TxQs)m zx)D5Q3bdFp7mZ=q%$G7U(&gBmc|sS< zpfw}2`;#BoAmcb zE#mJsnYskXXbq5UMsYw(c#H_+G2p(h*FPc1NANWUfXCnJVnKEJYV&|=`IjZ2+1iek z2AA}Aydj)D;ed(LM-v{bM48EcT7cbt<<$)ez;6F&N(Tgxhb@e^KKGL9dO=-KPA!h@ zxx9(|It*dC1C{d&tjJpn8PG#jPSoTIzFa=TxhCdsT!papgMff6;%lJ#Dv9Em_Yjr> z2aO8bhADZ^jT!37-#Z|Tcu;D&Iaw9J=k(-6vFV_CjW`a1Qg6!r5^Oe}*IZ3B?wQVU zQE9Q$sMG^r67JlkCRWL=^Kc+>^Z4UwxC#)vC){ha>Q9BM`h`Oben$Q5Z!||58_aj2TF+_5Z3v&-xeBv?!U>Ut%z#u}O+bHUu*CYgKO9;qAq!(M@3yXN3RiVUT zO#WNPs@&dF=Jjhsaa*kUr=_X$r2D4fzN|-bNg3C?Q`Hz{@N06hFP~TY+x-YHGW0R3 zY-CEHX=9i2cEVlvF! zprF}1m>6K!H?}jmy;$6DIjPm?yzlxqJ^V~B@bf*{9qKoLEe!p0144#doD)a`a~}ZG zZ)Lvu?EXPsASwU|pNrKRe(&z-al?RUcYQV3w03wR7Ff28%>+8v13s_WrmtUp)B?gJ11N&kfYD2L*{d7LIqTTeKoBiRCziU3!oHM_w2Q)H)$nYHK54@Y|0 z%vTSt;}Hu>A$6e#k7cpW_5NOMhKqHT?x!9?)z;i6WWx%Fnuo`V<#qPHb0mi+mLsqf z_$=Pn|3stgTga(+TQPZ#XWS+RUE&KOqAkDRJBL;ZC01 z`E6VQvC^y#dmdt5Wmno!B3M<)#&&;7QXf92p>p!h# zz6I_l>=PEG#$J)6R{{lhogn-tjt8HQ*H7ae4A_YAr$;|RsvOhdy)MnBr(Te__-T(~ zBNwE4)lONh`>ZuAXr{iWSjsGQ>ZrxVy=Bh=^LFFVp$Sb{zn^~z@x<4(Jxul^yJL7l zlGA+lgfTUq+fe4%H&Npj7f4dr@C^miKy}1|60toU|&7w6S@mTO- zggiI?D`61`R@j_IVP@yY>(aD_hpK8|z1T500pebU*_M%pWZIe?em1mcTgwvbo1mP5L>?uzljN0#QSR~kg zQb^85*kCU`-~BsAc%neE&CV**50f&yo!Ikud%sc>Cp__)OXlX@)o$l;rb$xh zdu-k3HSyaDVVM_O`uVWgPSn9`$Zsz#34>Y zgy|vyW65MPRD@L?k%B?qOs4v>eB zlKo`X8rJP%6KM}I2Nte8C9fUXS6M@{Y`sO(U_>_O|w6$9aEsgTZB{S(T19Tk=m-5+Qx%Ufc=*Dp49>t}#{vxs% zic|O6d1R zxdySmPvBwgPJa)rY+Wbp#IGfQJ!%q9g7=EAND!xQ&)}h{&md3^Sp~A3&HCP#JFN)e zYBs;J@fa%e^|?Wz3WQaR#@6=Kl9NP^QkE9Ia~O^I?Vv_4`zm$`a>1mO`ihjGJ8k1q;^Ag+kRG;0<&pyGTJ12=v}|#dk8NWGr&ak z`rF_Yw@UlTr*jtdC;jKBsvO#ZCdERCtXcSW|M4C#9)WN6ZR~Ga9q+WPSBXI)j=b>Y zPI<3i_?#Zpqqz)P^ThYCT(NLQr91vdLrGMc(hOz4C)Q4*s>}Mp4H;9|@rq&z1 z96#kN-Y#P!%$n^RKiuc|$0+Q2gNU%@dpcJZdI6*|$44 zJ1*3ytpe4dm}0L;rM%gZIgnV#SE*+yAz0M?((yX0ateltpE(R{P*Pkqq?Y-{^V;^w zQW$PLlM^QWTN@VHyupRbi~d}-y0kR0voeBCg_x9{Cygn+KwG7<*x2>B;y5sN6NQ2_(udP^F{ zwd8hn3du;4d^}b6F76sjIITL(erpv<-`A`^&Gwpwj7he$WlH(ocSzY$X6|4M_Af}& z8pJJ!Hb0&9UbwsRr#w|TONGwV?wkopHOVQx*SD4+x=d%Y{ke+(YXeAKu!=paatis6 zeF&P5`ogJ|Cn^nWmxThnCHHv0Uh0TEhXUWy>iQhns)HnK)`i}h-}m9;b0X`Mnp6-4 zUZU3AH-@gX2Way7Jh@{0kdP~kOp*jBY$ zhh0{ia|Piq>s1WQR}`Kfnw~pXJl-J0;EiF7sQ7S~_;(}vQ+{68HihC{kwfx;*8(?J zxMKM;JZd?v3}n`lKnhEV{ja{*k-%0}R{zJv>H5c>rSFPcZ`$jh}ZQ{GaF{1*= zm#6=5zjhTPijqt(G50wKda!Z5+4pV;f#8hz6ZN&NetxAu#b0`00Q{Q>G{&!{-1t1;y=6czKajq?P@8xU`tHQGENsGVt8{@vI0?e|ujXmEewJWKzy?J}z zVl6E-o2H?RrMZ?4c%0kp;m7_xemUm09zj)x@f zQZ!foT;O(6Nv7f$*}h{(o?G=xW&a<+&QoBidt(7VZV~%K|GgRk=-;G`9wZ%%h^;1&K0Y9y_{gZ2c7aGmySwHk%!JyW zo0w*HIvKt}OwgLV(Kd83c-Zq9ppOnJ3b|?-vexKRdR-orAgWl}_HEMt@CWDwBY;lw zHd7f8tn5acu@@$!rC4>Q!9|gi0}%J>ILXK$&GzS?K^KdDHUXg*)emYflFBpYIgQrF zTyNmsyBS+e=KGvWi+q5L%^F&t8wf)M26VY-c^#>-2W1m6O)?QzV0t_xIe53^SzYKDCS?-lhMankcVeR-}e z@y^8ix@Fcs`f*ne;$I~u;Dv<+X{DOnjTbO0&6rbj^xNhE)eRBV*bjG{ED8yqI*OZF zBQosA^XnmM8w!C6Dn5EuIs&MQ3H8mDYrjqWj~h&{oU&92n%QdIchK~ykuxSd@;qYl z(V}1u`i%=*QbWm_weI$9cwz&uqH;HrvtaR&&u_M(NkT8EtZvSCi16?ASq=DhitmbZg7uEv(084!WeaTsVMj)14=cu#`3eqY|V>Xd(`b zuz9{u9wMHc8jY{t%lhO_YH;8G-BbiFUoH1x^fAvVfH+TQQ(tgfz8z4f;-7qp>CZV6 zh)@Y9h!TPSvddnb5L5f|X56_j60XRH{hmrbdJ?+NfzeZQlQzVQ%u$`-h%?OgPKiH7 z+%}PTwY|%%%K1;U8TOg*4f)phXLYiq%DAOAZl_}_hAdPO6#geJhN*W+as<0vKhBNr~tjh=;f{J4CDznWJLhMN{4+_KgYgXiy`+v>0$ll6fac!GpQzn(!4^q`1> zQ-`#v2y?&W{kKI#vS?biB|CPeZOYX*S-Y|ST3-?oz|Fdx93IIlZ(RbC%z5`b1v3RIKo|?%;S1WrE`!g<&cBLqkCUe?L4SY?lQa$NSR`s=9z;wd|dloz66cFOG{7o-wENl@I#+uy#N%89=SK5FS72e@UAS(#cD&((TG?Z^f=pTA|`r- z9lWW4@@+p1$7h=)AmcRK$ERHBPb50n0XF~MS`3@y01gS^g6s^bq5Ek3#|@#t#wvZv zYYBQ|m9gfV+tap~3Otv8Lqf=;6cOiD5Pzm$!_;v|?1bBKY(;mMcKO(tKN->PafW3V zZr1OkxWq>{{BMu)Zybe6)lHYWQnaX42B&MZGZm!eCR32Fn#I4&I^u;e9L+^4sSNm! zv!Z#m%wd!1;2vD{rYpDS|E@0Xq@jcv$7I-GY zY3g&Xqyu4ni{%J(~ctszQT3ggIvf_JE$eC@5(zr6rLso0$Lch-In{+Rv()+rejDmgjK#qF2$ z!2;T(xE!$Q68&1zcHzfspk}+@zWm`q+*L9LWzsSxKFxANFjx)kEWIT4ghaqj^YM31 zpV4n9cysW)o%LqmJ}XbPVBU&vb?tLHL7ulk(QU!uQ1f2t7|)m1FOSwmsU@ka2F=~` z>f@v|IeT*Kn%Y!2W8mSSId9_gMEK>gdi}?E>@yee7M%%w(}mUP)7RMay4CbXN&@Zf zte0-y$vUZbbI${{-Srt~Wcper9H&Wa{E0|ocq&G^bAsah9~U#h{Z~4lrn1I(CbdS^diH<&7@unwX1C zo7x@8WQOJGI(ZYaHDa|h9e}IeeXzj`*GeHgpHPuLQpajgar6?lFc0~~X?UkkVPiC9 z)`GRKNUOD7!|tS7`AB0M{c#)IN3S|i0RhX76s*_(8mKi3h*ns$m9XvHl&FAW>3)yD zV=^h*QVBJsfQKr`1^}KnfSz?x=dO}k-bUY{T#EKz?iwoprpqcPD6+h5VzNh#A zTZlR44ST^7|K@^q14{eUR#(x(LW@k>=1bf2t8d$aEim96r5_geoQj>krik?WYmMq& z;}Eb8K1vz+G+W9*vp=Y6dPVG7^Wgn9Ykb^0;?b~jc>FZBBg3VgsAtJ=cOVK%fb(8% zfkG_glMF2UvkBV)19VLMqx>_w_0ayOfAg;YMv=1)uf}cZInh6$Wn%^%P!wnWgop?pfAS}1PPS=*>X;&FC$>QrJ;Gfbha(6{i+TPmqJdKRHOdB zFAZ=<9bW z;sd3o5YGi6$i(7FJKoNyihvA<1#WOH702Cc?HCrTk$>{usjV3lWTyDSh6kJ1ZPMhd z!r^HGcAMM1c5T0O*hDrT*KbqIv0;mHCAeF@y&={@9^L=cnO#gi&9wy1c=y9P`%~?W z)oCbBGBCVLq@*}MhKTO>Q;8MY$_1Ws)-s)AQ%@JEBcK{%Jw+1+qqA5b zh37tYxq3GSc>A*k4(r$J2b;V^tinfw)!HQUeHX=0VzV8eg(u>*6XbHDD?L*|z-NCWM1Dm}l? zIQs`J4@@6=2ET4itP_-;9S6nMmMNWU6)8c`H<5E#JzxN8?hjw+Xa)M=R@g#QZRhl@ z>oGo)K@E1{BMsJ%ux{^ixg$WZs(^+aKY&Sx_4llgQ;L@{p#!gC82l|Qxb@GMp6RqP3vW?o2At##ED=MS%013WI)f^uflirMlLNr^`3??>Niv*ikULWw9sxS zZIu{xsN`-_o%pCd{Th!H{e!0_k81skIAoA5tzJ!M$MWKR8)AE;j80>ShX$dwd!196(Q7ABbP$i$ z^xvJHB`Lg!`1N7Rsk|FQcTD~rqa`==FReSUZKWVSx^Bv4BKqa(r%i?PXQnA!YVUwm zd+Q0y?k)Pyd{g< zUf^M^3)##Im8R`Qka{dSja+MH?ipR|2uFxj(=mIKpyu1J{28|Jhy20;YvbX)Mrr&y zq72b@YxHl~xkSsl^o=e~ZqvuMv>N|slv;s!u5=ud?efoVQ&17z9t=CccBbqWS@Sz} zx@JseN1J(!2NnJ6ED3F6X z9!F!t6YB%b)uReb22(2C)bNAeq!$nRQzXpyHr>}O!SI6ffU)BtE6Lp2qP+R3GrU`3 z6@^C6USjN&SC6oUzQ;)9P9s*1OXzd?5fMpzV-~_>CRi z`0l0C05%CqgmOI(C*srJmG5sr>mFXIrHjb%g^;Q$9bXh3vj#1xNym%U{aeGpu+0^9 z6zti*2i=eh2QuBL@{~`PA6DyPBKc!0cu(C5I9SXjz7>~labNg$P;_q* ziKnW+>JxSV0X26ay(ZN+ag6>Y6#=Bw;aykSEyK-v3OsXfc}&JJyT9~y+moKIIS7-m z!MU=zZPcTA&3NsQrLBIuL4|W=C)Tn=2$$3qN?Ti-xjySHz^3>P&xsKoR47q!#b`p7 zU&n>YU!Og$LdC5-vz%;x(_-M}Z-AlknPJi3*NMFzu^X!Kak1bvtwLnVPvHhO{c}%b z^J50fGc*XSH3|erM)bqmo5RmyOL-o8^3pZEdf9mQr?am6GdVw6xHhZ(}dZuF_Vr8*8JFa;_? ziVNbO;LWM`?MzR+PQZhIz)LEcyl3zd+ZqR?0WeW$;`ZIxP*FRTLRYgP_Xj*CKHlWA z=?lwA3tpXIE&TSaf>F5Hj-VnVAVBIg0o>!uGSv;b{!m zWoD5N;$z>lFA<3miEEKuYa0C6DZ+pC+FY`W7ORFU?`=_-j9XuAh711@-8tHi`E9=r zN+&&QLR;kJVv{gLMAZJTtPU<-vCKzCw>EA#v?~K8^ZH;AVO=oJQO&*UW)`Y4$SGYP zfcYMJRR{Kt)IB^YmyAPw*-0BcvpQCY$qJ%=her(g(|!%3WTD51+Z!wWgFbl3^ER`) z3gE6#?}9w8w+iSNS7fV%sS4%u9#4JNNK(~`oc@)2t&iycW9uv&qT1TFuXLvfNU3y} zgtQ9OqbE3i9|Tp{p7&%Zwp8C8w!HEbfxD+cKSg7X*m;u$8bnFo8K>Ei<~r1eb{{ej=o9P39?;i89hVFbor`G)J0Bnfw>U)dyOQ0| zl$xr|mcHfU^vRNaxBfDevypVUCVcgGxxDTD*Ru}T0Kl6}=2ANqenc+8twfv`hOS5E z@5aDR@yi{WvP3SrsMr(#O%-1tf7m6RK1A*^2>u*C0*P*QzreBdA%uqZ1h%FJVp2qi z9)P{y^f`Zf)p&n$^8nUv$&+v&@q&RyP(;m8k$ z)sy}C2MIR^#|U4vd6P}=1A7YhaZe+4fkLlEACW6wm!*B3L)&)(@Pngtv*wpgxg2at z>; zqyNhGym7%*N-sy*6&oc5lu`i9SIyRKsN$a-lm0X`L?q)BBDfXd-9OprIORZlSk}*aXE{gqn z8hIHrek2Ae_65lw^VE%L^$dG3Aqq2*p#=V3N%Rd3b7rHSL zK-fC_9smOKmipu>=n~6Zr8-ULd!MrAC%CQ8sbe!@50|Ml#I&HG21qw^x)`M7P-MZd%u$jxM{*VY@rKt1lr> zrhwSWy|M}{)X@6_iLXpW{cb@B;EN90j7(ncNwYxQTf>^-RHkX#?s)>u*|%BB>gwu1 zL2#E|FKud?3j>&*BQ8h6kN)vQ>IIPOx$T-S@^C2yOPN0ZE1v@S3G9#nH?GUU4}08R zO;n-HB&sw=;5z=8V0m|*-2L5%>V1RWj`5HC`l0aIpxz&E?y!6@5NmMHvb^K9)^6*H ztre~hRD@OqB08KEEYjZ1FxN~e1xh&3wxnjn1lSSeUsSO*NK$I=(GfeQf++1eEGbzN zcoeAE%~%|%@ai@}-D#rRI;8!um~~oe*^C#(Qe+0z{8>5A@TY1k^k;=JCRdt)+JW}I zcG#-J;cWUT9_pQU2_F!v0$jS?rNTH^(83S{SGR=oXdjZ)xLKv$L62YZ#VIFly!yFZtXqi&GD)K76ZfwqTrULj9+Pj19nBh;Zu8|-P?@zDz4WK z8*-q3DS9(+oPq3F8z=`zpMBA~k!L9XeYg0sp`91C_kB$+M{_{nLa3d9tYWV3KVIH_ z76lI@2ddbG9#MfImi-YZgE0S;L2mko1j5}?z-Qq*s_q!F3vzmCWut1!DdmfS#gV4X3cNtI)*T z-HrdUdj0tjov@G&bR%ew#2?ZDZm(rX1n1u^f~JSrlhj@l`@@+|VSbB&0uus1U7t$ks)idJfm-TnMWDH zm6}N`8$2K*VoJ2>&K!Lw$Y>w+7E<>o3|?+`z6FF4NN4|?enmjrlVTQ&9~GdUFwUkC zbcZcYbJvJAhVWSof5&rvR2qKyKUU~rcEXl?;P=hl=Ij5Lpki;^50+O-1FY*mur=>P zKbWqp_x|9MAiy7748Ha7_J6`C0bEi1s%alw;Kd9D#p%icrfmk?ql}qfD5Oc=GF8Hv z9Z;|HJ+tV|Ckao@-mdYMbHDvpWRbpLA#_FPh}%E)E2kHr1E(Tn-u_9On9L=H1J3lp z{qf0h8Bfy0J?y0fD18wC&a$8=Q~%$v2`9>O{xU$1o#y5E9Bfdyo|y%8Q(Q>saqx?B ztHxmk)Sv=D^CWJ&&)Kx`KPpgevt!-(PX6y*Tg-a}b;Kd>dB_;qz?K{OyT!y)nY29Q zLHxCD?lZ_l=XT0$3T10FvdRG*>Iekvrq*!Zzqa~Ux{iMEf8%w)mbTqTy6Ee1b^Z_!QZfFgmmiL09sAP#+Z#&~){^p4R_5Qh%J zZx=@7#`>siX36Ju55w1?rRVgx4k=%;dN`D!IV-gw_A?M|1o2X~IsWcMg@zaM1S(12 zsnrY!B14XWiSl>c{k`w#dHGjh1Inv|Srjd_F2*F@2IMvp=8Oqi<2n5Ai=aVyu214t zk|A2Ig8Wjyv$p?&sf!wt+^W&)Oem7>5Y%NU3|to)I|1e4{-zM@qwXQ)yq4!8kRAY5 z;tn48O?u2ZZbyui9`YcHS0)3uy97`PVse5bT+M~BhHxbT_1K!+)^*f@h?y2pFnbm* zq7^IDqrbg8I9c)H~JHefSM=^r=ldyK-q{{zmVJTDSr4oA-Nu#&Lr ztn=14TnclcZi6jaf6oYi(!bv_N7|tAReVT1m4D{CZ=n93LNFJtTIurYAV}tIetGzb_UN ziLwurr4_wuZidcf)+s)GOi)Vu+-~G05t60}kDzD|M%Vvx{yQ&@88G@xnRu~Nzw|7V z{&Qrm!vHp(?zo~CkX7P{`YWrHZ|22A3sv-ZElZLAB$%RG7-E1ICHRByuw%uIINIM2 z3TzwqNi0!?a<5k_8=hDl#I;d882jU(h@=j0rqm{ys~f?5+iy@LN&E@n)n|?VV@tyv ze~A>TcT{@Dv&8@b6bNBmMw#^W^jPdpwOui$p6rH+vX1e^fE?LBw$wFc!{|wi*ztYu`15a zdsmz2Csd#PiZL}~hAiekLVPB>k~^9#Q8Y%ExpmX}O17l{VF+7fuOi@su#J!|NW4)H^-uFYyF)@cZ^xW(Bzgn{f ziWs`-Q;h(7iT*7khfH1`pG?lb?}+~ng#7CtU#q-{hJd`(!q+R?BTOcGp5-k?K4z)ikGi{3TdX{00byE zj=!R<=`+FA(^NE%@(?}fn7;;Fm0{q!Taiyxj{&+AS>-?Sbqh}(3O)ilq;^PFQ^k?j z#2N^|-|na#LHL7=3W!w~V39@hAi1L&QGZC(xXD(oTXFG#CL8 z-Z)qS=f5dlIuUsyKrD;s=NR}~lrXAaGO73PP>lI(^Xd~EWm*(b-qaaTlxoWggtYa# zVS)?`!wX`(xEuhCHiw*A{{pQXh9C+4<`4owyr)GnL^lO*Za=89=oKuk*wHo`d#Vce zE;f#VlAAjI*j%jk@X)5`un=7^?89k}|1*r`#}V{EtQcjd`feoYRXSQ1D#WhU(yt(V zB%-xbDf?JU?W?HlGi|GWgF+1HOK$GtgpmBc?prpUlWW|>1HlOqv(heRI zsnh`g(8WIhP+;>Zk0E>O8$0-1<1U@8XzIZ6+g$88wL9fs7*Ntf+hDml*ClV^aWgfV z{{_`KDWV+M-G81c`dV7#jD|THZGL5~Di>~FM3JhFHGxxH<6?TWJ5B^hlvkKGb<&zs zK8C%5(WT-r>Qz`Br&O2^O%g4IW`71oNc<-Ta4d$qI&q_ZO1c#Un4<{wcQW3Gx&d!_%K&6)+8mq0SB zjv4>{+8z&5n#P*-x0_A^8fzA4e7;Rx%Ro%)f4<5k4y4nor8}RiVRG|n;qItN65wtZ zdFKMygIoyDJ5E49j3Yx{1O=|BHx+vNVC^kD?7}$ORDT}1DMY%b3904f8 zEw8$SMxA!;-1#`rQjZj+CnyW1_qZ`N~zLpOLK8{UkczxKwjWqBbLGBXRVJRe;FmoWV2-LHw#EH*# zbqzL(B+{IZWPgb35HGSuRtPPS5f23s!&|9bhot79)9Ejd)T)JVop$~O#nT@7yKJ|- zWMH{xX2IsDKH~E;z*JTXx0kU9RT_+F<-Y&_vC8`|c|PpVmpoalJ7*G$YRu*v6MrbR zR?t?XzS6$@yF+6_`px|j`vVqkk)K%6SwIq>29GBEYKtUf;k!7rPB0wr=_S zP>J9tKHlijdVgw1)wao+rOPR4{@k?atsz+d!_3;Ks+!p>srcc;-P7SX#1sRw(DrYP z1Kdv-=Nmx5y3cNi(9}(O73trbn!P5=6jaI>)nb4yxfHl@$%P$hRhv<(tDi`2f8<&BjU=%X(*ej!2k)d0z9wDF(*5<9mFMasTy4Tv;3RquSRcP*sb~6C zr_<%w0%!22saDI>Z2K!aTwe_S6F~Ak{Ml1KkM3K8-N~YG5i+P>(J46?m1g}pU#?6u zi1J4na@r|3t|D-s^7NI6-Mv?TEM{Pgzhz!?vpT|%NX>T|j_8exs!WN$ zGX{It$;T?!Ga+SOoCKnFS~9LV)Xya0!tfqK0KK>CVK)UMr6kR>)ZGwsDK013FK$ac ziX!XvUsol0JtgY{VuwVq{fV*OH!M#GQQ#^T#H(O{x}p9z&okv%y!~-VWlv6^WrT1geq!e?7A$o4+vo2E z!#GGJR;<fqv%;Sr1%n=iUe4GRjON2P)zi?58>0L(3A`lkpc%Y755g{-9b`zNvB!a}yZ zm5xo}4GyM?d_0WB{XL-WxN<1_EWilGnIVvU+tkjA3`ov7D|3e)92JSCu#U{wYFuS)d0x1Zuvs4WqFNLQ^#hAt3H+M={Q zXTA>rtS}bbsHe^e^qK;rxJgqU$|_awn#ZF@kh?uW9jndu zG06up>)Iw8x1PJD#A*M{rD>n|5At(Q-}aFIUWjF1ihTGq9fb6p5AB)Ia;u-h65V={ zs%v8%nrwLE{#Ow0g?lRGSXInH4?WErf6e&V^MY^94ic*N?_T5%Sli0A^c654ia(5h zjUP8PV9=of%CGQ`SlGSwDU9YHS(R&#Rl;#OP%}$rcNj7MJtoCENe2q+sKeeY8wY|! z!ig(hb;ksjjrX9-S!$QWTY&oZ5Ww=LgAeR{jwu?}C$(1*J+$Bj<$Z)AwL{Bi&FOOV zW*c5HzINryaS`n%2Y;KNJPlh7<|q!cdv!E}rM!7VrIvR>z59C9L_w66n{Phph&6t? zD6v^BW1Kn5n0wU!+s(&M3EwoG`+~RnXL%nBf8&G?$p?8ESD1$^W0U`xhbQ!Joy32XxkX1y@Mksp@(a zo@*W=fVlMnE6`un+5=a{gYjv(ZhL59!%}!vvDEa4mTUAvfP&KK(ew40%jNbRQDFOe zf8q@9kVxDWgFS1wopbe7hNc+}B|@3P6QWdokj+=^amtDqNGqASOFk~tbvCc|I{q2G z_$k`=#iQQMkt~FmoXXT@$kAzL*uJiL>P1>ML!u6e z>D;@Jq+(woyoZ!*W?{Ma@f8Pa!PPxc`~6j?M}_V0WH^*TkV5mL2F=J2SQNJBXfJ6$ zE^La50_DM|V0S6EcB%vgW0aK+9TSYILLVCX+jy=f{Fp0bQ*skHsrw8h0v!1F`Kyp5+Y2&_} z?!Fzw6FF$n*^40O-Rot{3_)4*T=IMq6+$-zsCs+m;;9s!P4lR8!dpvUvx+@Z(@ec7 zvL7!9jV(4^BQ+S#mhrnxzop=@&QZEJQF0kSe~EY_Rh`m@HMi_#YpVI2w}aF3kkf3X zV(dfB>|=I|p4tNj;q4@Pmx;n(2uOSI-0)5C47ZxubX#cf+)G3G15@0YN-JL!`#h`P z?Mr!v8%_$NP=m2&tD45Id&1QoX2El6z^_6+58xrIDn1Aw zQEVFsf^Sqgc5q$3cLVV1Pr1QujqDjy!Vi_9b<9QNpnG+6N zRe_Tis44;VdqJ9U1{UEetRaWwjI?E$pFa6IjRCWJvlbeq;>br$4Pbo`t@u8}8$+2( zWOYs1r|PP59O4J|sYGd|`e?0$k##vH-;^>0MJP>QpKmq`PvzlwbSkHL*gm3HWY9G_ zE)g0-!+Bz)o=Q-o2&=d&Jt)hxz*t&5yeW`V|uj>r0&%-U(H5~ z2`)50h70sIpS4U`OEOtG^)UJgwM{&`8&=(D=BA>wru<1Z#Rb9%rf_&dNDxd3RS<#* znluZqaVU>bLnmpk`0?F$cXyy0mhvRbKFHBqJE%0b1sROjaexf1&i7s|ICa( zjxkd&a+w?XtuX*v-n(xQTq-3H)zl;B=KR!iqQA8p5?rjtp zKJwoHN0uj*fAu8TKVgVq+jFcIgsCyku;aQ3e*ji5auNo}j;41US{=w8Ol5{Iav-sX z^3i#{jRF=*l0U;t8#Jduoni&|KEeNR`XM>eXX%jt6Z~ykkg1D)(uIioB3P(=OZ8>NVRgVdG%{Sdkg!~9ZKTi1~GMSErH|D|E#BSoOPg~kuQs`bC*|DwXTr3jc`>`m~`j zevMS{p3Q`M$#jWrT}Ot_K~huMk}AIgK&M;IGPd5!k}9lh?t6T**5I*%yo4&JREH|;Nu-S_{iS00ck{{(H|ud@&GVQo5N!4U2BC)ZNxY0k?yi_Es)R4ZJw z>@;sz!<|jO)++3a-{!ny}(%AW_e+ba`H*1TW1_l-U zP|jHbwy5bN`@O?U`nrt&icMcdDc}&B&Sw_Fom}U5ItJ{@e%nK|04~oExzOll$$F&i`Xq+meYDgq8lChU zJzu-tRO+j7?+&|?B7Dx}b?|M<=Mk;*7s0PUhw|~D;JU^-f1P)mR8A7QLf?BJ?fLPp zh^2Wg80c!k`aEY0!D}nfU3?yC(-aH^FZ6BlSXT)w%^P{b(+M5xwp;`)lorM=V|_hu z^n~AAopC-#H9ae_dDouqRow>1!%o$*%*=D~)fW6@b5mb5>6gitDTSOY*20BGYi^D+ z?`LReXWn7Bm}q&^pa_aI3md394;woe9GmFUwnX- zP{BDJUp%echHY#foO$?hnm-WtVMtBw(U~P>cOZWc+bT9J)XElHzU~FEN-nwsA)$)M zXJHThG_ooPG;3S-Z&xUrO>;Fw8OTFJM(GCyR zRHB4{|2Vh-6vAI11fZ*Pn3!_}gK%&|gh6pN85N4+p1*Y88(g*ikbVYZMRZSc{;uHV zvz(}+&_9pSb=r=$HZE|4yXDRLvXu^@y%9UhrJ1>`OzPX*O9cBsK7|(eaIDo?CoZd% zofD>llMYk0KxEcBUb5%HizAiIhha8%mTbmxH&3r2sdu%8b8i|%%;FZ@FLGU`0Df?_ zip6z0OifRNiT*5A>S}L(vu5)4d>4H$x}-Bd7t={`|2j+;F?Qc*xTJ%V?;R|WIW(3} z47qD(NZkz*M%M|41e3nA$UITCq=_|C+MTloC+d~XQ41_Bvf1z!{q~(Cy_s6o9p|jB z^BKIum>ta(cPqZYVb2{08wu!n{PIR9>f4Mij`7D@$(|PMY3nzPW_VTPB1wIm#jk?G z=OMbOi>?jHHG`#V5LQ@u=AG$WfSJ+9Ku=&sGAzMVbZVy6hxZ{{z#Vof@3f}LzJno?17quRYP^ue8Mi1r* zVf=YN#3F}IjQ9^!I`Q}2K25|UZP!r?HD zgU23(x$kp-O23lU{`DMn?U~WY<6q<9>K}8ZS@ryUTOVteAx$v-c$6*YuBL}(Er}6* zcWIXCTs{O5bB{p};M=Sj8pseWxq&5DP3l>hAqbqT3+Ykee8UI{?=qW_N*${Gc7|B< z&4%#OpFdw->ZLuigGGFc=l3Xy&3O3^vK^XLlOrME6}_mj=8^N$Xed4|BBLGsS(((Q z7h-y1k@(dr(3zKE+SHpqm4mT7Yy7HotY=|ijSCplPknVqJXSlq$7$-)`w)q>u<SRz}-ECp6Gf2>L5`IyHk_GB}*Lrj=mywJO`tFg?REySUhyRU4W=JwXb${V6_ zz4khDZpF7T5LY_=V3@e(N4(wU*Ca6_n5-^WqY6*njR%QG)DEGVQ)8Ul*{|*Jvan8O zJ+EG|@AM>Bp}q9nN5x&?XT^PaKYBP1J~Y&mE%BOe(ic00>Ei5nB;2rlWeBkwAYf9a zzIvb)TFaIE+F^v>jk)P=wV60nv>6*akyG+gz%$F#1g9fARaM8|7^2}fImqODGjfhK zIykz<{OhR#g_n}xFMlsiIoof0j~xhzn`sCbn`sYh&taAm8i(EyaNZ3D)azsTK5UO;fh2?>}nY!>P#sC;yK58l0d_d`Jo>y_%O(ahntAPEel zJ=Q&`_ZwIGGH%MR8V%n`oh_JS&F^XJ$ahHv+VaeOcSxDidfdO^>h`{D2-J0K;PV7! zOA}qg`dBD(_@lrWx7e#@6B6>FU*qR*P%=f4==5+I2>yimSD zTjbYXXdc zG1DjFksIM`uIs*vGK(F$HGNNUH2tTiB*oo1H0-U;#9dDhBWEc85sXVV>3~xZo^Xt%NZLuThLzGRAy^h?rwTHU&Ymf2r3U$BCuw3z8PkM z=T98FfD9=a!!3;_^R`bl*Q&E|?ZYDT$8P!&;I8&%!d8P4gW;!56kSmbgzPRQ-Lbh6 zQ{mdi#yJ_Zj{3b?8q3WM=-*AZ#MDrKoa+Vs=+Yf-mf~^r5vKqx4v@@X%QbLOoJDPg zo4o^RHV8BdQLrAR8f?yu;>pJ`oE_U+o~fB-5>|Lh8LS`2mF_R0f2D!(7R6*X;KZ48 zw(8YoLAz7GFa6}+;*>dcHeE0eyi!c_aYE!LU36&6*;V7(`931U_Id$9z4Bu5&>KTd zU2?uDz>~<>DU27r4H45Q%P1 za+BH}c3i_V(p~&`y(SyZb&wAoj>oUyA|3O2L6hDs65>PI@5F;=E_TQPv1z~$Us|N^ z8s(lo+Kbb?-hM?+hHJ8S`?kxL0pZn%qSE8$Ftic@;ySS<_cZcCL}#NFdCK|jMxSMp z;g>Zafw~Ph__Db!wY5Y*QNnePnr@J&dzf1uwlch|K;Lh+BS1hhLjt#=L!~SW15cn@ zZaWnmZeH*0T=g7r5D|*m3e}bbvkG@d4YS7%9dE**$f}KQ6tUd^hWHx2G=m z5*m^{!F}Bq&*|HWh=fOWR(Kmb%ySiH@RGuXZ|y15OX^5meH86QtBJ8QJ)ZPC;$w+h ze#R~#-{`ceTeZ906?vmyN`l-SDFru5K-wd`rE;_NA6snyIRmeoC*Jp&ANgF&^LVQ= zI<3h{6^Ap$BlU!KWoZ}7^E=4E+Wn>X-5m0@T85OYeg^Di_(6rahM?ZOMAzy8cg>I8 zWTPZp^6VAwWtmFM13^Y`gfGg4dpXhKl=!-_lje&8I`8AENf^>*zN+f&hYxyFHJiXd z0h6`R`J7X0Agu{t_fZYrFt^C*}m6Jud7ZEJ+3PmREx<$blitNo|z z?ajFN`qG(EaP)Bv2LXv@#q(43arHl2|M;&Iy|I&?`xBsj`$vs9U#-XbM{)v1Rt-5_ zi1f29z}ef=-w*10Pm-{6Bs$lmPKER+iAfWL%6o-Ja`fW0+A|e~zWC(JbSm|6UaAsq z{Ul)P56AP=-XDD+;g=C*T8^WaPbh&8j`<8ToH8Z*}dl>&gE4_N^)L1?1O8M+dXGmgup#a*+>fUtTQ1F<*IzpKI+Q3VHL8d)pu^5UrF6#8j399&n<$X!fw;p{zq@k2`g`aG&R z!y%>aqpsh|l!^T3pu$%cOQjFAo2OY6x{j*6hlF1!({zM5#Bo_&bI}$1kgMD{lRD~U zFtSc~u8wH&t~CoAtY2SD_gp?N9$ZK6_{zjMnlU19MxYk3Ijb-Fj*BcXs$r?!ZfTzW zoT??G=m$Zf&736){H3FanF<)4s-`*6JkdIQjb$4)Q;+X?6uvxrw!v^h@e;3sA>#F{ zY(LklYQe}U+n(c(XNdeQUNe!ri0x>Rx=hoCjwC7%@xx4&H{os|Tu6I5x3?KhMtT*> zFQc_IcCyG?N~0F7FV|S}<`-9rjV_N3Hz!Xu6NxCXxr>5#kLv~xm)8!-=G7x$Jj|=l zTR~kn$ZzQsZlvo_dpym>9o2-J#09qV zjz+0;yej3x+zvF4i|5yh_jsQ$t|ZpjsrT_Y?4QT2FW{mWFcwo>6b5QbMEP&e&l}q&Q8SdCr4JL*|JL}V1J^5t)iMEng ztPLdQtlVf#iu4xmEm9X*ID)e{7u()&E1yyEVpe1lNHI@BXEXx3_H_L)jnZsEFu8%) ztL=$52_CXK?iTNzC>1j7pZv^qzug!@WNmAduhCK46k_cAc|L-2S-!7OG_nji%Uho) zfx!r(_j^rpA)Ckr`t&f;vrZPa+iMID{mBO)YQkA(GZhg*LlGJL9-`S(!N+#-S7N2O z!Y_}Xt{ydi^`XhVAe!MKW)Czganry+t2V5P2p6?0am-|#K7c5!Wlmt);B~l*HRd}T zoiurTJ3!0zMPEIuG042&N!zy@>AJjreZjU^u7$rWOCq>@6Ep6sV>fW}KmPYMK zq=gl{@>wsSn{E#BD?1;xUVE|cPcC`IfCu+;R@9e>D%{t*7yurL`7-2Cjmz{sjn~Ot zM$8bcTM{Ef|5}vzP}dsjZVY>-eF(R5zi6OnjcM;qpo;6)pk9+whxYl`xHh?nn8}BF z-lvwAc7_6c;@3Z-T;y~5AFRrD3NA=Sz$;!)Zh20MAM{&tW-~34;lhyj6zO$G zv_!caj_Bsy0o&hpl7RqYM05NAtD5=nS#a5P(Ox6!^Rb?tU9+;&Vr%Mf_(ga7wudIG z5L%ZR-W-@i-6Zrdi776_rTK=)>^4S3tQu}#9tk=v=Q>YVBzp7OHw)hMaolx;e#?y6 z@mv4$?dk!PI43o&=f}}|5k1ZMpg8eI@S9i}OW;OL-FA|aC(D0Rliw}SbhB;4`0}Fe zBDAV>G1RnXKIrqaw@;AjS2K9UEpuFCw%Xd2nN?n~4yYQc7;EZ4D=~HggGFgEk1MQ; z<+5WlPgTE~lbh&$dT>CIUB^yTbCg#KkB;UMo>88kWgk*J0Cicm&s~N_@KPkos6_Z^ z;4VFj9>t_lZ3cB{%Tsj`t5nrKR~^Q?g^*axa*;HF9S9FD7}mV&NGR51!m7c+o10Am zY3W9fNT3ij)$2>D8abFpyF_JT{A-w}?z5mprD?Ukv%mIB-}vQ)h49Gz{q$i0CqbR;151~` zeu9JzJDhcg-}m)3pUP-0)MLKXRvS4QK>OTL6;a6ITDL==ZQQUy^zEwGVt;bd(sJGM zDq&tJR_EJ=uTID&X-WLoLcIQ&fRh0>y1mEQ)8po)mvW2|-si!P(tOhjDwsAsHXgaH zvvB;dgaA$xk0Mu(B)mVa?2uR$Qb3jv8-^%90(I{Fa{JWUu;q2kG=Ek!IkLKnTJ3es zJnW8fssHqBvJhD&JZpKyO8BW>!-A+Q)#pXnyOBy=74G*TswP){2UpB?nHR2_nU+y2 z_)(HBJ0IAtVIpigv^~8bHkK*x52fIaUD@)t>`rVbEhm>=zLl121^Hl)43Rk7t+}k1 z?@R*iHCh?(`k%kJ+2M*H$%b##kQzcj;f;1d*i@mx<|lPBJF(srI!t;m{TO;JSuXXK z9(pD;uX{k|N=itfRxVDgZb~XSX#H5L8AsQ5b*~^{E{45dNK3aCY#gPV;i;Y&>?W&S z8S6s^qiKn6om!t>J6ZD|)oj!|x)y2&nUk`0nMEDWpH9@L|6iNKN)T=qw zoDj=UKp*UaG+88j+c~opQlyE<(jm=06*5^7T8cu)Aon*MGBt1HznB}|!xEt@c#+zN z5(TWE&l5-Nx>{50XBG1AdJ&x(u3t%R21o2V2uOzt*U2|;H`V!Z*;=}W{195nY+_N0 z#bo=2xoLzs&zfJ4$Px$d%a0b{Tp~$kTaYc3Iih}@LD%gZ?p2Y%X;QlMta$HqeaUt5 z*k2RUy~n9X6aN`B!t&xv<&8LR**cZ`2G60fIrL2qqiuUVC*IS|1>~*E%mbe7c%16UjKZC@HI}aWvB&91MfhrJQDIy ze5g9li0~cEJqh7h9C55#KK8o2ga^}y{I0I5*Wx*5%C}{^5i#8_r0zDkl<)Jf>r@7z zher7MuVeTwBZ;!FZlaEzJ}?q_fvd?i=7`v4s=IP{&W(3LP&fNtrSDCHseak^F}QFYnYQef|f(2vnwrH z7teR;FuEaOGpz9`w0ym;NIHY|OME=6?c&gnI5)NVDzYEj+fo_vbgANoxb0T~kGJ}v z8n0-;_Omzms(c<8W4@_+$M37-9)SYu$-}%Uey5&UxSC>&KSBD0!T`L#6ICV82wL=ptdR2bqd*PC%+d(p|4-SV|3cU6Kb%J#a8b{mgjgi&yxmD`*G7yD(!%8c{WmX+ZH7_ zK(yQY_)sHweyH{#hr{$SbHxzlT)@jXGecuD(i7MOF7g;&50(SB=(j5|)=~YaF3WsU zxGj$f+j-2vrAPTx@N;iw)eqhE=1k|-7f{|L#4NuPYyy3u1Qva*b=+vh9ry^k{Uba$ z{1IIA+fh7}BxSJzf0T5fD;D2`WQFt>*?fWX8yh|3a(j-N2c#NwXGuQI5%2-DcbRWc zw#PoY$O%R53HyWK6$-oKkV1!AoV`e9W3B5f;L-dVGU(J`(tcyfe4(Tn% zPO(m!=_oAq#r)|<+Oi)ezSt-ffr`8f+~js8!;O$%6J|#1Di9#NVF~d(q4v)0n)l~i zq=`snC_=yFi=!f1)Co_pgGrsWYRFaV_JP&EXDy1o71LYFX`h;#jGL6@!QV81YT9Vy7Bt z>8M;@;8~M;jprFZWqdCaq_=OwC$T3VMej;~O@~AKYFFW-5+#&Wyk^wlh$o&=>CItt z-01P8JS&Xg1GD zH0kw_Vx{u_D_x_oaSbLLr_ivgD81;zWEpP5T9k!vnBJQS&*wU!-NmufAG*?*2}3Sp z>P1~P9E0yjjA?vs)*{rsNwmAqkR~)#?|#5BlsW0)MB~P)`s-7JNq;(mQ!hk$ECaT| zgNw_Xxa$)d=`1d>adG|{x&>ZF9up*==*f|SJ_kR*q>AhuN&Z+)FAz!>fApx@xsx~0 zUKWTNKWQDeP(tNG<;5lsBgJlPwjU3hEZAJeP%%W;*h@rMzgN zJhFbp=BA@7cNbYk<@ww^#ZB?M=Io$P>%uQgre2b&etOKOEQMWHCu$KXHsd{<-%e;= zEB8{dD#LWieX&^gxe8@hA8L7|`Frh;E@CPbm(+S*<^^%GjtLxz*G6Q5jC!d#13|qO z%mpi7IC7<}LO(_a`kHD5n_BHmt!1QSAHU3<59Y;tY_QoHrXpbxll-iJ;4BN4+cYfD zz!+7i?Kj~WS7x*$>b8upJyNiAS_{v3^(CnA`8?$`kNOV#r6bKPRaxATp3yh(ZR%VV z4lO)2Vvt;vd&^V2V;B|*n9T#t{(SrR#*IO z(2r`iJs(7d>V=q^eT$8|*uj-Rwp}#H#B<3e<6V=^S?>q+@8C3$i<|HmvMWX1OzqIq z&yjadLmw=CgRLCqTEr|gDti~Sa|C_MS5;dT!tjhXpT&S(o9X9p`$J-I*4evBK9(S( zxu|rm)^XB;{R@3?pQ(gKrqT}5E6b!-2W=BxTa(Z(Y%xU3X%obs8~HJX&(KJpbcV6XB{QuRkQk=$jdF+CqxYbX-wVG~HVy zw(eP~IE7^18)n7)>&6!$J2sTKd{Kiv4A$?-2^;M)K*h4ct68QUQ8FL8_Jw-Ow_WbUmLZev z{32FUPjv?rZmE7Q|D8rUb9b?d$Iukj1*Oa5%`?BNaVuua4!9`Wr9lZJ=|JW-&LR40 zgzBJ1IsO*O(5ApoeVx+2Qz;)>ud3IXsWU8i-d5D9FYPxL%(ETWaZ3b%;qf$*Q^*rR zX;|KmQ_5b6C6_0Q7!G~BcDWGC(PwKIl-mJRh8~vF&<#{iM1Sy{{}9s=K|lRmFC!zr z!pJM1`R`A*%_^f&ZMRLtBJ)drEGnLwjTgD}2UqG7Og}*| z^3s%qRrj8}0^L_Wx)^Uizc;*`9x>ie9kUH|GN~eqY_Ie);x( zFQi21qRsW>33Tah@Xh=!#bkQGVoikfmB%2o+A=o>pAXWfFjR(IZFmVcGa7_ze!wcX zBZuxAr9xXKoAy>yUG~FUNjq%&XK!Pv<<2LpYF+m}h=lYg{YN|8ci<>*!hr$&F_cV-)+$zf_MpLy@&TZ?^Hqfe$9FktdxnN*Ada^)VqS`<=!f++JojpnFg zbFrvx;|rZwolD*|_Zm2n9>iHH*SC}=WbC%re#*yt-gU?m0c#y2idvB9wnEs@mKh$6 zosa1D)9E5jGhVq0qPt7g8@AcyL0ts&1owSIifzidE@ze8R(mluk)pEmMwiM>-_T|6 znkJvGv#P8v76}-4y#<$P?eiIm>!n=NmP9j{8Fr{#df3EHWZsy*>pa%>{E=_Y9c^jV z%T0EqV}cV<^Q)GLeKV^;L?@MBUZOQc<16T!tksgC zdDc!(YE_RXp?h9h=#A%_D(i((l(W-Mq*wzQCO0l-(XU^a^x^nGzE4ZfQ3UUEoA!0y z3~NP%XnUNx5MxS+apj3K40xfQ6(3q?T#2=Fl~Q3E>Ay%tJlU_eiV0Br`X~#xlaJ?H zM23dhiqZ;ly0(0|*@C@HTX1bDFaTp!G_z_mbNBo$x2W1>;*%P%rB;-!N(Nct{?**3 zXamxBJ;r&)IBuV#)cms50=2d)bs0wsFMp&uUk584{i9=6U!{l5M^7)pqB`F@!Rd{+ zT;og!2(#bUxjf)(EPu=^gVP?ADHa?o1Evq8f2!+3K{o%4kYbTgWL{4B5%luu|D)@y zE9!|0T zX-uq}*vp3gKu{}q8SLR7HX(U~A^p+LQyvpbAYiR$rw>+JF-UWHsTQ@Lll8ox4YGCT z+nd-yJd7snu;DY$XVqg%t**N)%{o?H5Ac_is3NaP-XlPX`7iHx@=^vZg6$4$sCQs5 z4#uO4Cc?ozV)KqE#|-1Yo*=JJj1g>)$!PgQB|2f9qmmXAWP)|fy)wk~z=Pb&4&|X< zgB6eW4vrrDw8y_t$CzOZx9+qTKHqP~&rPyhqHCXZ;mQ?_*uCdrHso@D<5^ykAqYXD z9G<<4p96jENq8KWGjViO_gmjtFMNTYNS^^!ytXfgM=5SG|!ZWj1WKK#@L0{o(xJOJ%mP#*gyCrH0Zw=VI9Jr`;pl;QAT{jEkHF<;0y9 zlmI-CFF1Rpe0dHb+;bJVAZs4$C6Ct_8Q};5*xwC!H#dcA{i>5+ z9G?1i?(Dj%b~WRC?FOD-{+g@$S#_Z(BAWWC2<>~oYx4Ba!!SucumV5*VxJYaZPj}Z zr2`cAg_e?%x}(+BOQpo0=)G3E=z2%SkU`kHW&Ac;>yX&oX~zMh|Z$Y>AiP4THNh>883qG%5TFh)XLNL;-`C_5woA1%2 zo|j3h$$nG3v%{rY1f^QF4s9YB7~^I>R-mGM>X^CQ-g`4FLD_A__BBN|#Ep@cQ&x#q zJlCyA9Gi^ClWYKghHB2yvV|kmjgFg#HLWJIfTjSM4o0cG0b2mcl8jj$q~y zjfh|wgSa=`_k67oYQ()Y$0*+sa2^uu(v`i&iG6XU&%Kpw=ha!4oFz1|YfjDFj|#mQ zKgyH6??2;cj4Fhv!@%hD)7kVi5} z$cYvev(T5lve7R^j#YS>U3t8uKY2j;=w4NK%27CH!@R$LWf5whYO7YBmES3>^AJjq zCvx6BehE`l?22@JQW zIBK%Du6^Wiqp8l*+kL)G6<=r0&g;E;vF0h8Px)=^Ysw&R>#rw4*;Z0woeCdux?<;X zr!Uw&X44<;oLx^0QRi^RaMMX7U7kK>XErJ=7M)q{{~F<6v`D$2=3PLm_0tS^!1rSy z^eM1mhnH(R&40Z|I}n6C$TDpR`#f;t7pYdsq<}d^NS*{MR1x~KUp%> zj|Ah)fcEZU(Artp+s;!A&(o#zVWYCb zA{oHb-ubxU&qk$kXULB+jfc@6=-5so{6N&Eo6;9iRZ*wT;Hl}(lE}!7thyPpruhUnjiVENLmvavs&3Gw z@zLE=^V+sri_q+dCC zH84a9!L1T0CXWy~HG-a7)TZfSG1;G>uxp3gGakRH;*`ghxNPxrH_36vY3 z7hX20E1fN6Cfk_l{u&?p)!t7G9_WA?YEj;9}!8ku;bAa%#EO$U-rZ({%>WdkB67~l+T&n`o|#UqmJdIx#R-aq?s0$Doj!Q8jqkp&eYVI3Mm}2`1MG8uxT>R zrdTLxf*mhbT-5WD9IVlc(_I%g)}Hmwa91SLM%JjL4CC2sv)ph#tbj2KtM@g()|PCr z!LCIPWu@1`Q7=&1H0Df_$-41%1J)aB)G9e{OxQK@-?1>G!#pdMtDF_=W5GYNg7Kh4d*UKGr*izUQ=pTU3?84F6{$>h@t54*I~;ALK@g# zj@Do8RcKSxStbe#_Ub=9w4{j5{xI)UJqT<^t>0U*ZOz5?49At|9L)mF^}%7p?%p2s zn`vTYWu>Lbcu_0X=on@hp$!J`bA5cS|L2c9`lGye_c%=)VOqeOoyRIiB!gMHpVstW zFyx;L{NRRH5Q2SdkV0TCNw}5U!{D=>el|llV?Y3I{IN)sTbHs_)=9yBuS%|3(YHeU z{C|A0=lhijQk3ZhK56rn>QWmir2)mS3F($+PAH#WZCl*2`B|C~Y!+`pR|!`blFz#H zpok(wX;~1i5WmXPYwVS?$m8j)sk@5FMR<}BXE$yGNWt&+tJ^qoCTls|TG$MZ>J2>t z;^`0u@rzv~d49M^HTfvHNlZ(7{oAtguaErw=k4|j;4E0$?8{u?lRN2bD7j=K88-?q z8S>6;4E_zgZQXOsxnaJR&Rs90&w=u)Y*8!a%5vVTBHNx#BTeS)0bZ7FqQp9ED8S(q zuK;0Rc(TiHD!pzRe{?q6FOubNFyk-Tq|qZTRx|O0iZd{iGy|Uu!jSAlLx<{2f2@H9 zyg0$1P$or%!bd*nnun)_-QOVYTZ4INvz*wbP-+(M+BLLpMWJg%{`*S84^KkcH^XJ%J?^n> zYA4{y)Y&7B)2^*S;GZoZ^>33*NwD z!(1AWWLnRkQ@fjDq2XUG6bdg2UWb_L0D0-+fM}Jo1op{o`WePR7Wa)tT<(j{@b0&~ zIjDz(9*QK(6$f0<`3t#g*a3O!gidFFRqgt8{^}AQW@Djs{W1)f@Og%UqRGR&4v*X& z_Iz>qBJ+QJ>Fsx0V%>$2$*Z-u3YNv}qC196yn_}%F*nMlgM@BL#`lg{1?Xd^y>ppl z@J=_r4~Z1tkJ>fH<%-ght)0J;8ue5uN7fJtGpX2&k)k+}`=qlv)^_2S^YBHtg`uO` zzZS%tk{ zzSHVQ4BVgvRyD=mMLOFqoP3+Fe0zS|i;auh<;dIZ55zhkmu-8&Z*WPs7`EL~uBN8n zS$0qZnK@jv9jvhGO`8{0RL%6c zdHg4Pe#@$YL9%7V4kp+5>;D|@=5_y%>xFmVxQV(ImEA-+;hdgD>)ZXZiW4TjN|I#i z6O?{4dOD&X{f#iElZW$#QA1lfc-d10aGjJ#3hjQ86q#&-Ib{!%3sVzx)kNT5`XL=` z>Nn29ZkFGN z!h2kziBgZQ_jS~3J@A|%jkqj1qFzMB7N3}o zcXBIFB!djZy8sULLE&cMNIetXs6mhDi3gaKKWQCZ2D%=q)N_&} z!F(;6eXE7b6Kzv-cE(uc(o8MXJKNT1%HiKPzvS0`H5DhWDqCM1+{P_^_Y-3JTZGKY zyDUz)VxD|PGD=NJ2#wuxkHw0VtgN#INv^orKrImT)Ur4|`{im~DF`>(&1DS2WJBQ` znY6hOlL{NFn)!Yr;oDpC9aTswWUAK=M0|B3fT!>Tk)inR9LJSxFp#o!$s1HVg}xqg z@PdeY@+Rygz3;_>-*fKc^T;T-}Yu?A3K%{&Eov z(oMj1v<@SbQp-5pb04Nz)nIh<7JMw4Bl(BU49*$(m5dndNak`7W4=4W+}F`ag=}eJ zJKbku*o(4|8d~8qVqNILLR@XPXYy2(L1qMqCaw>Ji1}aPJM6f36gPO;jmVWcEJ3hf z&nA17YAM*$AP;4dKC~u=4gaM%*>`|8J+_0h=a;-``*Q?#<>cKpVaA*sy zA9(D&T2o%Sw{I3P@fxr2CYFJiI`hIs+~6#x_&+40&_U*%hqTh7!`O?gwcFzn_VF}r z->Vyg9j10#7iwG#+OmvFmnUh<&fva^YWMOt0~FP0#v8A(Rv2}{sXnRLj}zAJ?%Xw} zgL^r=*iUwgpY*)bfz#cl^y7MDV5+@i4CcUOdhJ2+rt46`mwk9QR$kxNc zX@958VFy&y1^$!*ZVG5rv`rknvXz|K7EC4jweyIYvFC3A-p5knqZ{K!+Yz}>-K!1- zmkw5h*m2|YQE+k&4rVtm1ZGZ7f46;b_(6og!pi=pAel z?S5&AyGbYni(R5)bJB~I^xGtZo6?1a@!i&(OsIA)z~f|f7l0@`C)83w6{>{`qKxpkNT4Vf9fFVxVf!6%67G?X!BiBx|pI);K|Duw@6+fTh(cV zmfdlaUVCOTM@S0jUPUMFJ^MI=`A*cIhhfCpi0RK>RGkLnpCctN%t>f2b+MWW3`l7W z2UmMpEq}fErsE*h%#B@?%q|lG&nITH0nr4Nxvx&K7_1yn5p$QbDBjQYqH14rE1C8f zCA?+be#ZYIQlbeLKBXFgaXn=9XrTsie|z|b(euG3X7;q18C9+wWnVn!J^X;v=DKW_ zXA%pCF5s4p@Fe}BZPAHy0 zWjf?tVd$&9jh@4(xN>oCLbm9f9?WWu^HPE3*y;vTy>NMLJRc4+Pp%l$9;MH*KB%}q z)i%bmm><*abG^VWYebZqNZqksQO;(EBnW}gU`wTXJtZ^N+JSh|&+@9lzMsYH@gGl{zgprJL3*h~opr714NnfQ$D(EQn%J&JwLFsv*a?GB>So zU(mWxy5(}lJxvX^&}&6`8&XFe5b~oLYM->t81f-CxF5{YQto6G*~!>)QS%!y`cgD& z!qd;@hJ<{lSr>Gd`}G|&iZX7k4_03O{hq^__T4u{3||idGOYZ+4R&>W=~Xi{9iTOz z3@$7pOAnok9vO-g`y}?Lb^9ZQIsN{OiHQ@ATUJF8mc%KAWI|dmO~&e8nR()cToFVC zYn)P&j~W+yMa*7M2OU?`J!jVmRZ%xJfM2it^5+C;;wOueFf|;9&paz69yi5nlSOw1 z2V*MOf3rl?s;UZ7fjqCz(;FEfx@_+BCz9^&y*)dE%+VKj&p1w( ztc82=VAl(s^SwF;$@pxa29*}zP>Mjh8QgS>YZ}l?*H)x*FZXFzcSN8LdWH+1E81G% zPGE4U-NoIb`erp3Lk08tm%cpz$nsF{!X6HB_lr2`dq~V(px|!Qypm8FSMZG4sQ8o1 zT2VNsMRRz@tQT@Wk)%>-daR9QhAdF`jM?FKFIeNW@)MfS&n`<$CM`NsE(j7H4&}mW z=UGi&OuU-x7%X)gD|kPH()*PkWpRbj&0e_VXhbg0yjT0d{a4(DrR2s>E>~zm;am6( z9SK?5?a~s@lkMt8G-57oP%DYcoK&hi*u!nGOQgSu#vWH_#{!QU+uV~~5$$xeMknu8 z0c3-1Pk0jdt)Yb*7z;_tuV8>!b9o#f>US4O5<4D zOnv-VP5B7D1x!*Gp(ZK7-(YnUoZQ=)VMQ$_!3L?pTQtCX9g(8?F{k{PM+eeCu%q>P zGo-X~#h*t!cs@#eJ8Z!A!T(@DlJVju#aM`)#4cP6g1ov{@)*$KiK%EkyV^B)RU3aXd|98KjMhI(qStHFjL@FuO&W|DpS z>B~ca?q2k!?-a@CjFzBmaavWY9X0pg+=;O7oF?F}dAm)OF3heaj0y^ElHCg<&i$Sk z(!zz^FWqY;-711TVENg3LR50~z1a#J65C(N*hx~g%|(1Bk%j9X-X`JUL2o(moU9xp?7Z9Rq~%~D>=hIqCNmzgyc3Cg|`A+tEkRGV#S z^6T8Wep{`2Ev$Ox+#U3tT-Nb@LpnMV!TPu{sr$*Spx&p<4h!?=`6ua|NaItXG#m-z z!p$m4p4F|rGsj56rKui(q4#SoDS4^RbUxV6sLQ`ie_XR0pUfdG-pk&wvNc(Uy=Kc~ zL-rGWJLru;mMEM#B{k9~Gg+)_(&1@m_)c3z)ROzCcT6P*l*YNGxe$GRpjWBP{=|Cn z(=UeJ3pw#5=Vr7?Q}@H?3F@>6+3W2CPsyg*C`8!Kp!~qzUF&o0kfRAih|uJWkIeV4 zgJwdwOk!9SdRq=Zt-Z`LT50g~RBMylI{G75dg9#qq*4cM=E`S1hfWI^J!(BrPoBWS zBTr>IR)EywsFBjpd{uO*SR>ptq1@2pRG_l4k_c&f+7{`=Q0fMLZM-97=e=(f_mzH7 z0~T}jOOrP3gSVN0=|D;V)4S~B{8D$u2jT>D-ZOl$e${-&^kUs8OdbD7z1}w8lzaeo z5>QvckIHxz{M@YJoxmM9NF{5=_l~m^5mnH2TVJ`?>Wpm`m@fmbp=mr=bgZ$N*_(Br zb}Pklk>&DW*Xmtx=8QbbG#>SX`+=pK3)7+%WRrX2PI@{xKRD0rhTo7vJKh-$a|Yib zJaDYz4MEfA6oq$5FS3$jciVKtvFhuz_dy;nJaaH@KzuCfu!xmG6%3s!3U{TOJIqsS zq97e*(Jd|(x9pcnJKobLnSJkV#pUhi3Evd<$$g@Mu_of;*a(70}7t|QM73t+c)7~^-*~BF77!NP4LP#SWhr9gZojYt5#md z!91Z~ou21-o=TQIkf$=fkaByrt_Gbusn^9bctJvE|DiuviuG(*E27bW)Qd-GM2gQ= zmFp7nmUeRCLWdUm+Iw|3On9P6u4ORI^UYHT}8(BBf@UU#gN$V843?4E;1)8Cu}Elf~iF?zf$YGUr1OZ)*R6Ekh7Et@{}%-?ta1~cu^hs zll9!KNm&ZK#T0k&?u2g@13Gp&qM${EV-Uw5wr6Z~l@LiB&u;_tw! zeKA}w43WKi!Ad&JqrELDRPIJC@WJ_$CdgpZg-b`eL+iLXB~9d5+meXX z^JX^Bc>}C%Sb=E0Qp5PqrhlYnVISdYfjb2-53|_U>7@Djhl>29$BzowvtU8Hi;iwH zN7l1X*4sp#JeED>lp69MjyB|+vNeXUM>e7w=bYxp&vvf8JDzlrL~ND^51Vv_q7C|< zQv9u1DPO1W5kFX4>MO<1soUx$s8M3}r&*a6LFO>XFZu3dl#Amfi%uQE?)BAfNgvqr zVydgJuPr$@jaiL6&eV)bN6{;F;;~?g7sIbHgpXNgNNZxws^q0EqfRP51cQSW8T7Lw%ze)M%-L+MkqwKH-KXh8t$fi7@L{O*&#B0`dRfSBBCe4U^ zss=1ERsEqbJ2jJ~{Uf6mZ>M#!_CVsnOR%BjY&?YREbRNK36{4th_|IECCS`Kqp z!G=c}cP>YclWL1!U_0UqGviw?1>deJ`!@n#izE*Yrbd43%BU4ZzugeFNQ>9gNnmVx zdMe$gNP5WGyh^VS#=>=Gt>Mzw*gm%=rSkyGD76Bb2juPm`gr~xyTi&QKVd8LKbs+0 z7Q=eBfuvZo%HE9*_E0rWtKOOEE7{8|11dS9_EQv?ORdZ2tj^3dtwmQr8=StlKV^iZ z2ebM8RyHVcZ=2X$7FCmE4Px$2-LhXJBiTeLwwZZqEqx04YPqzAPCMD2IuG@9ow26b z?c)H(#++MOG$4h2U{^iPq56|%&I#?skTwz~&Gb!g$M&6>@>4yY z8AO~NDw@ulWNy34M`_UO``(?jm9LDp@SDVMZn}g;Y~s9+SgWDl_@{_BcW>sX7&du> zLu)^WaT)An`3`5B;1el9&YlT)IMIj;lpI^VKP<$*%Xw+9QlXc(%7eP={|@`d?wY)X z>|HH2Hl;j$H~Pad?k;D=Ghbzxy6?pBl2lj(!>mx<_jnGl#AGK zkJH3`>wBJ@!rb?&tETpXT5bt)LV-r`GQNO5I^<-g`5p>yz6yfuDCOh-@8R?PhlkIQHXrSY#|S|;VW*eccxCOJ)6IAPD=*f* z!vbE%D$ZVbDI%95->zb1{oWOq`mim~RkoYVj^nxKw~`%+Y&hgiHwlhq-jMTlyI1dQ z_gF-1`aAJnqi(q+^5LcHEW?>{d6>rrZtZ@#s=4jboi|?9-_3Zj`OQQDhyM*oJBzD>AA$Hf*guyqHZ&}-ZGqx*wt47PSL6z{4R16d< zn=6=713W_7M^i0uxLJrMk(wPZuha~*_$mY-8@N%6Sr<9rtO7zq$J$`hTP)dB`Da;&!97AI`{V~-SpiMG z-8T#*ft#9}>kyu>;b4tVOa2CUtO`k=Kkzl`we9i*%pWHoyRhO3!_?o>fx9Ae91_o1 zSa4+$Irbf8@g^I2pG`J-Hx>FKS$Uaz()(m3$Ukp9CzjB;?-|O@uk{sxLwIGk|3D)a z67dwDcx^UmO~Lw<+=ScI@Lajo)1_-B^n{lQ#wNJk8wdX9A%%dwEKka(QK#OSm~{_r z(k4e?T6wA(e6QvkkAcfI`Pr`2$mgJ)=B-)8kBXA!yXt!@=9Qb#p=FZ+b}|+dgK6tl z!swL?E$dn3CTD{-?L}kF=QTGdO?B5;1V}}VQY7A7fw@gmaT|2c_IYhK*Pul_j)U^F z(wcyqs49m9%%_MUmt=4<3q<<#P*tg-$f%S59v9(NVl4ZY_|)Yxa)MFGFC>GGAyn{{ z?;VH99qKC;&hBTw3mw@Hzf%kySD1*GL^i&f4Bz$3AlhZVC7C6Om7ajNO6N~1{!!xr z9gKA5XU(V98yV)HOy*#>SG+KG*3?xGus&~xf}Ys#3_d{@j*WWy=RaWu2gm}YAF_&| zUz?_17{dDfp4oP1$1T(&uF{AX9bq1&;K5XWZe<7tIu1qiCiI3fHHmAGf&cY-* zxPx)>-L!W9^SAAMewIiM>P_b<<#DBt@;>iFJ40B)?Gjz9taE7DmR)kz&F`m|>j8}r zUkle#;2ll6C9A8WG4(mD*>RhIG}2svWDxc}jvAp2RTnJtGCZ0}B2dADiNHin2wbE8 z`*&%6#O?VA!yTM%^B$0;b8qcrj|{Fp??(KR%ezt}cQW#x&GA(*j$c%S==`&{)1&xWSL=7rfD0a=| zeUXy7M;aeAUlhV8SPuf1Yq!=TiO-WY@(FV{PRP19+%ZQ%)9+2rX=s}=TD`x?$v*{ z^gcefMLuhGx$iV8v=79;c+i?MIA`C(TYe^Xqh%urc!EM&P`!vO=2VJPI|)eD6K~DT zB08l}uhNPNy?{rz)OJfzPQ_5yU2ayr-xKFrB)cxh#1&3(r>v4>YB}|GsEIyvpxk(J zQ^!y~P5u<2({T*C33YB|c>)WYUj?_waACK^G(uZMnzU#id>z_I#<~9dq{Q@o9wgVH zqE=L2*{BS2vLHQouir{&v63`iC1bEWK6aV+d9rKUm-iXLSJC2@CErXnG|><9_BBvl zo9<4r%vE4vUXR-hel&!*Pnnh7s0;G+?aX!fhf0B82M^;9He3E~c|uUv1H+iO{S4}!E#^lQ`XUo)8cR2{K@HtC;oLGXzlJd;oKzn z@E+JEz4;I{-`W)Jtg-zbw8M3MgeK76&xEI^g17UKp)hwrE-e_Z?wwhm4mS}#1q8!E zPcuwvxni`lrYSTam1VKc!>sOSc7~lMer5fFX~R*QNbP3WaP7`(Fz%kPm+*{s=yL#> z6xX9)#NQBuF>Pz{^g}qE74qh|sMgG%nSu@vo@E(m@{;;NSeX;K^uIYH79(G)H|g1$ zP;k=klTCmoDnrc3*0k!e!JD+RqPS#nvo6h&z^t05F2wRYE&B#Xe9rdK2VWsqZFET} zz}*~b6e4h#!2Y*x&hO@^4;q1m7#AJ2fI4>5HOB*k{?O*u>%g;;GJ^oJbc_ zgx+o#>++92daHMMnAlPAbY+n*+d|w=Ia~@5hU|L|vw!dex2^VhjHQ30KGT0tpJA2e zx+qEn-kLJ{k5jC=tj@5yQ}lmn$N{YUq9DLsR`@k}pdE-_t+KC8dZOd}u&=dnY@B+Q zb7T0a3wz1_P(D2vspw>cf2&H)uzP|3GvnS$|D1V?PccXnP)W4L7>GSOcSLJYDKK)Q%l@{jJ&@u`ltZ)B-$M>WVgD_1mv3rZ{CMh>?#pZyvsvcw+g&nt)*_)kK#^BhU&Ct00-8f@-$ZGF zjD$U>Hl>C%tI8VFOuN0KeC^=yP)8lRKg5WXwA+GFzpf3fe5SyoB4B4IL!<v>R*tnt_nJnt!6Bc zY5J+kr_mMWur%xmCr=iUFmHKeP+1@9L4MFFUvX(u&41wATdxka-@=BL0E?mRo}h}g zJGDr#EM@t_^6gw$BvtbKi_{@$zjHhd{tglug7W;KTwAe4HZ#ADzGpE8QfRH4+I}6N zzQJ1a28>ODpCodAg7AX$-Ora@E_Cs!VHPt%Z%E#Uz>$@I;T5-@!j~?vXN??4@{Dkk zJ@Ny3uLa?AoO4Vy!7fruA~}KV21b7Vnf;s%q!GVbf-?MHvjD0;)zuAE*<=43x44Zj z8<;4ZRiE5|_jzP-#d)sI*yNhTJPEKzM%9M*8-0T5mGxA{4Kdy27!dA>UNx!+IPj|@ z)!|fe90!05<0dSiJmvhAgxz#>op97N-IN8t#%h9@%W9WFZ~gPMoWPHp#%o@jr`&To zmEI!hUoobyeW!%Y91Da~g}HF?+OzykUJH`u(ork!x58nF!J41{OsJZ zIgd5`xYPcs!vd4EL0qDx$KG{_cmRTV#pr9-*UPq8AuGz&OK=_YkJT722!X*+M zVHy#~ihGWO%XOoeLrM>RC$+f4Hn#c`hh1Kc5~f=IpQ`f~!ZSx~_)=NCBITpRd~}oZl49G7ZvB*!#Dw z6HpRs>IxicLQNr=A2eKCMBW!uh`m7KJX}KC_68o2xwc2O+p+T*!t6C`Ie3XZt^@Z~ zmO*~jn5rCiHdSY^*qKPM$o*JyRx{8n371sP2OSAkTnAn!=wbK&sB9P@w4vW(2ZI1< zo}7=ac@M{%4k!z*+SUSVmaB%ryX|j*z3_z14$X4jS6id_GTfs_RX*w-z-IsR#xpo=o*R!COn(z;S8kuVH$sK zK9mD>g@ih(|G7t(9s&30=li#|+TK=|cz+KG*Q5jT17iQ~UPx%z>ZQ1oxHv%Zmk3sO ztIDep)v1>JbE$QN(g9SC&w0ys7d4cW)1H?OMwNFRTwYH~a*3pGx_di53;^SSUd&~k z^@#p0Gv|SF%Bv*Gp7SDVKzJhkNAMuZ#kIMy|d>%zytMxi$YS?|~qJoY7Vv zTzw4N=UrDhRuSTl)#AC;des7Ll#kPqUflxONZC!=9Ep=t^laL1Lf4Q@+Htwdt9j#f zS|^#;a8 zM9^_9;*i9Y0>Dj4Lb3*T-&H(i3Vy~~Ofju_xyCjLOqKsBu%ebpMzf_=Z&ZWM)_@xq zKiv$oyiN9RN8mYP_8$mW_GnSI&QV$P*eyjPA@5x8{gUd_WOpB2e_|d zMibw>Z*tNLtHX_88%2yOl0 z{+J}mH9>ntQZPW8JtVVOiK&^Widu?1HlCv56sIIyjC|_YFubDSe}f-``R`#4U(0N)!u}C1Zeh&PJ1E+$KL8Am z_G5Aw5FTXJ%z$A6BJmVF<-~+kx3CrJF^|(a?#yD@!lkbz<=?N4qoVniAl_tj zj&p&2f$55Q9(F*{=|COE=N1)?C&+tH2fSQ6}dJPVXks~VrBAk4pn=e(&I&%bl#7bV*-MgdH5%!?t@mJ zyt`bXU7Y61eTj(7lE_56XXWy>wdY?+<$4+5_t_^W{dVOM(D3Cb+M{!yHX)S$$65)6 zG$K>%p|H+}un(;FoT`3Up_2U#5C&Ea@4jWv+bgK|6+^+)!Dh>4J?HQpCApAM551uW zC4WNvpO{g>mCWq?HD4)re4Po_|5iuhvqXJp6uuATw6j!*U1AGIV6OLaC269s%UdH1 zR9jAAhGBkf$Da@Oc%_2Q9T~v>;S_wN?DxhWG5Ha`Q;x)wtj6`G z;b#XV3S)y7H}VK%cm9MNh3An1ySx?p6TR5_Htzq(sApH!Oj500X;P|WTvn-ok+0p^ z5M%Tiic84TdCP~7y-U<{O8d9fN52SVBvmwB7RKk7<|;%BsHF~Li0AqX(O-_Kzn>Sy z27K_V#^M~z^&sqqn8^?$SJ0?@ddH`^hd%$-qu*^AKhHueFY;;ArM&XU)%64m6IeWO zjV1jy3B6<}B9WDna=0w0yY9NNMs;$^uv#Yl=b94U{s#SoqaJcYVo%%Tup>P5(k};m z?M8ivb7zAF{(W`-#wrecfndURk2B4_Ov$&Re=eSSt7qgPaD$YRPA@dVx6Da(#@6vB6l}=R4mrj7?3g-s7 zi70`o+EvbEvs+Z-axG?z4%SluO`7R%m4%oMT7!55EQ-0}dmg-Y>QCaD(62f(O)q(( zUM&B23INN87w`m-`fp?+h&Tc@Upi&!M{LrDvHQPGYdWbAFdK)bRU%Ser-D!Imw;S5e`Q9 zFr?2H(<2On^IBm@HDl_*lKqYzPd_)OCg1a`c&?;q1Ayyx1eu*P)&O%+YZ}oPN7MUR zH#47!=xv&TdWY=)B;Q~L!$0}AJ3~ge+NWK4*KZyH9DeBM!4y3;fVaSC{^Y+)?ooOa zPLuT68W+7$?&4rZ$RY>GK1mbl5uQG9yOiyG42icP=P8j#&70eNOj=LH)sxUQe4|iS z^^avC7)*-_@lHK1+tit?%~A`*1^IJdB95!v_ZJ;RSCR2w8H*<*F1Qi>?7hQ zpcYBauh<~Nnt(#?XNRe198Vv?p5o=8X(p~nY(^5I_9OWdajVzMrh!x=*CLSwcK93X zpR7ofbf*ps2St_|1;b?E?4F#;Y|_3SxNW=R{pw0#1X%C^7tDtb$pJxz{D5VduPq$i zHEuCGIe_c$3;5k|2C(te*v8LdSaUL6M&&1N1E-{v2jpj(T?{&Og?pIJQ{hikB9}f zXe0<`q?v4TnHawEpwwC>+9{7-5T04Wmp z6g>$&N%K^~e>+mw>$72U2jqZAkDZA$fm69({XhmX);@N#bn92rg7O%3U`;J(`Q6{Q zz&hdk&yD-<72Nh#d{RPq-=^NAR%>}Hg!fV)?A4r#Wcpkiq{*&s&o)C!L@0Tmpk+Ni zeBE^b1X9aL*=JOOey^j(CSP19?mUuiJp!3`tvE|IbU<>JpDbw-nHklU|B1;He~~ge zAgM-182*yN65pfP9Cr5@7q+l4P^YTAyZS#_4503kPx}4Es{<*+F~bdd8#$0Yolm<6 z!0)(|j-=P+`Yl02*Gb5Kms=YrfQO(4@ZET#R*^=Kx5hQieeWow{9iifGt?0X;LJ1r zo*L;itF{uX$INBEr|-xO75P4b#9#JG435+F7^YMyVGWcRRlo>NRhIdft>%=V0xyT> zMmJp@56YIRQaQ%kwX#K0NhmnBT~u?R+TEP|u(Zv2qzfpT_Z>Reu;G>o4FeD_L7~vT z^Ye4r+6gc{D|StGHtS%6HPNAY13r?ylEG2V5TX9F7X^)!oh}Gq|lL{-`W& z7j@>e7QZUj9~t=7FTINJEetS5m3)Ap?6mzUr1bpObl=Xmqw!5WQrrgzK3OF9Qa14F|nB=V*XM*P5E^bC*5(pp>6L-Ua1a+$@OE`eDV%dh?h zw)lMd+&9S<9znK;Kn#e-jboQB>~1bDVTij=v0oTzp7{gAc|3% z;;$ZRJ8PWAbEkf8k3+om6!1b$q1K)k91g#3BvA;BFI z@f?d9l$)v|m{Yb}d0g=5^(yUHv5Yi3&9v&)U*v4pWV5ASFQ#a34Tmor6)g&ecYk&( z>;tKaiZFk8XT)v<^eO)eohmW3!|LD}5Q@u8FaAG)knp!acw4^zIAgZEjL$`63cL>; zz5ipq(DTI@+O)`?IUXX}4YBPkD_w)my(EdF@iVmMTX) zJPe2$uwJ)+;Ly@SJ2Yeya!6iF!|=e5Z?^TDfm+5zj6LYm${K{hvF^x8qphY*kNWy% zzC?05&OF5bm@ISNv=N4jt@L$>dUDD+Vf`9rOma=#DM-D=(n{&PEOvdl-#)+A{@CQ~ zP?K8#g?hoDO)8MjL9xpwVyz!-?1TImx6BW%8b%(Vbc<w*iFJp$qQW?t**k<0r+TtH(#*)x+MD|0=&;^!#XHTn?c3opl2)?TjYF68>O-Yf?9vG3^Z|v}n>Cwn z{75UTrWd{Ko>y_bWsp_pbTNi+>>5dh`xAtXrH+PzPaA64-BM?Wo1(_X9Eb!zI^Vbv zk$q+Uk!|=i7r6An@h3B7>h$xU!|t)3=GLT3CDBA$rRmE>F@C$*yx9w#m(xEx`(9gi zdT!oQB!Rm)7wZ&%BIshU9%wbjXLQ#<(8P1SPHhLODro5-LHcFUi{HiV}fjHmL zcY?0@Fg;SU>0STWh-F9)ppC0vw!mI9RtE;?n(2rI1ltz*c&yU?pn5QFBlphaFO#vT z1+4|cdiL>g#TXAeB9#!hvUV(lU& zgLrxu1!8)>mi^VocWUn%SuANe{D7!ZhRL;YG=A~Sy4`_TaNW+M8TxqGb6G2%ZU3%u z8e)_WntAhKbGCE*lG?Fu3FRA_Ac3+tIT_J4@y&79Cd7E2R2z|DK$5?G+lLq>xsSw3C>+u~2Aer#Jr@rq|_E4eMD;&~X2~B*6}33VP&Z zKDuTv!(L!C;p~|(qt_A*Xm5OHpDCff@38JM!KuF{UB??Zzge z0&Y0gqeaIT)t+^C$xaC}-zC`)*Vxhzyc1v+?{3vi!Xa<*xkP!&ZHwU-f+seAmrWgf zlUvkb6YK9^teIIQ$~C{SaoFT9HOLd@?Q!_tzLH&*@@Kf)W@r%*B}D|JMY?n75b2Vx8B#*J zq#I%A?x8z`VW^>bZ}>mYd!BRN^L`UQ@Z-K>@3q%j``W$m^L{1$)$uQoPTlT{o9T9wU_n(Br7*aHk0*$GDEL5hPDe*g$5R*8SUpf= z#1-#Z(R=V&$BQQx{Ba8RzBEO@wnOqm9-I1?I1Zmi6P>YmB6$kF1_)AalVsvC%;Py@ zs#h62<8y~3x9+`5+jhLQ?h`B%>qdnQCP zMK9pce0b~@c%JtqP`j`SOT&sFA*?QtD#_S+v|)=}AXA`jLF`re=mFi3Fw_oVuoI%W z3HQE-*?caokqKW>%|5nhy7{`zd_>7jaM;|_f}=A4qbMSj>dZ7Fzs}N4yw)szgpMQ| zfs5i=Q#o}$MD4eE(2blqMb3r@1e|pETvxAzHhimdz>j_-D*6jSyvF%ODrioh|Hn6A zUL_XMePR2uAzmED0nZ+FCr}Lwl_2vZ23+b2|8{PA7;{wS z5j(lab&dU4P$gY`uU-AVK(}%3>-4?8>sU6xME}*l_lx%HVrf$Sk0csif-KBH%PorP zy8aO-v~(slX0YBE`BdK9jru%woTfr7yt`FdkE0;{`zlCAT?9IrLEjj0H>jDE2(1c@ z*{0hdd%3_x!6WWe(mv6H?2knVFlCr+{#ySi=Hr{ICJv_w>}^kpUfK5xPLt4@t(+7T zg9+O@EhEY(>1OQS(M_CC zA=~BOGP9b~L}Hb#r3%~rT&3k-p;QLzPNKHzH6D1WZdU@P*Jo+NSLJ04R|-oU_ZcW_ zE2<6Fi*)P`S?g{4lpBsu{Y}T}{Djh}GKz@MYt#DLG!y2C?4j%(@}L5T4i z?&YI8Jx%TRm)mhzL$>WXwmRM?VLrmqD~yQE*c_h3?@hwLG#}=k8AlH5`;2Z;@0>~B zhxO{yQkuy3+LI58$PW^Yr$(&t4D7Vf8qy|4q%8Cv{_Pej0;a<@GM%$OS9;bQS^&=T z%LC_`EQ3N2KX!PxpKbG4hbe^)8Ia_NPf$4~ta_ciI8XIvd(y;7&2fFIb5y0$ev@== zA@8xR#;RS}BO@drGl`37XuH98x)j;z57WCk(m%TT>n7r60k+iP#5de?zmH(mdJxgM zCv1-4_AD|;_v!`aEN}n8y8h97o}sI*E|rR*o-NT6h1r{tr;uYmqfK#J%DRP9DN7Gm z-WMyNK9|jl#H%iH5o91(KYJyXZu)Jrr0AngtrAbVW?EsKk^vplNuN%bbH^f8Afw^T zy)XjCO0qBegy+lWdZHnFY}H>rtE_n(;?M#EmqoaM5jGXvGp!K5+xgYh9@rXmQ>Gpc zCi3TpZ%Al4prHbE)L}R_RxPgLP@i5Uc#s|;MX-8vp?~X&tl>%wBeJi&Q!pFJE$`}< z(H#vu>)t!JIs77-=1Y60)s%kt-0Y3wg3f@bEy!32;=?rWMjSe!vRc(iSV9r3Iw9h# zyTa&tbUL)B!N00<)LX^QduD{hI$!+_DGs`>(^}q{HXMae^6Y_fBQ)TOfZ=O0_6-FqHVmDb#E+brA z6TiX_6@&ZeB=HSz_cgg}r8b$yF5otd-(18gOp8+445Wsq!b;s;)ha>1u_D5Zw`3-W zybc-vhCI+psOu`V5}MC(NM34xpkZF6`)QmNl7jHjy*yvtOum8&xw2cz{e5IS013qp zkQ@kZ zw83T$>MOCMO0D^|qnrn_=v*+!bL5YUwP;RzDj30^t+N3$U7M>FoWw(vP@J*R z%K3#t7%e|F@q&gQUrNLfPNe5++ew{+IET% zGjl<+28~!eg;Nw-=~YC%|<8i(>8Lt3C1U?lekK*xq}w;e&di`%R_U6(^KZI|yF9X>LEZ zs(%x8+VFwk^JJu#|2T!hP))o-DCH}Q_64TznlI(|u?)*q zYqiKp5*r(h!M25wzUkd%x(h$ja=Ez!-m6q@ax;Kd(${SC05{;HSMRrxm+o?fd^#kw z>hp#cZ>y&R+y^gkbiG_3&R4K~4@I%bMi zAHkA;v3xEt1pm0IuMCqtRbotc%WNSNv{#xn|o((k=pPn}F+kJWnl z4(0;7=MsLl`D5MGDj@8Vw{J!9TYi$Wcs&Q=cJ_B8(=bWoZGb;zd+Q|&%?-%{Pj&sA zXV@Z&Vo@_SVhWVzN|n&;!p- ztz4R(*syt*WfPiRdVxNfR*I*4X<`&QROsTCjyUJyb&o2@iewO%cGLb39fiQAPvRT2 zh_fPR13p2UYUa$0ssg{%&}%4K;GQ1bu>azNjuSlzh2*k{)47q%MNI*wVN=%07&X71-sw zEmg0{JtW0g(hBU^!?N;Sp&q1XtUx%&>adWZ6KKZ0jqIoVK_x6=dTPU$&#-D(ZYIWK z{LZzcYHS|xnonVCI^{1f8!*kh-L7qI;qHA%aj1@QKPqA+JR`wLtrmY|>R|h{&+gdX&STvw7bx(jEMA7d{OKphbgst!2|N^0mtAx!CjWz{ z_!cZgU{K6ZuAStE1zDL<-#(&bUXgtD65TF?{-eKUe=g;f+Ece`QI~}bgTw>(96r}` zZ48)!vI}c7AMN_a?t-N02O+w?1PeMb6wb z;V1$xuvJ&15!6itB~MZp6hl=^*X+)dSsBIClDq20HqS*`ja3O*+234=Wsc~*X)fk) zT{2cJuA*=>&zLVR*&jm4=&uIlq3dwI+O1_ZiJiE%u56#Z*~@^G#2Zkk!W|pJt=#nL z96_mOS+yH7VB@em&`ouJm($?N9fi*A<=?$n2;erRVdfGMx8}93HOIFiA4|zB=!Avuwle1is2Z@9PamT ztRL32s2oU(%e3nyW<`Ca>TblY6&K?d%(VL&)8(3~!$U~~g~lP|H=w9TO`4=^&dSX^ zl#_-2$I?AouNXhUM0?=8DrxQ#3JE~gcx#B!Wf(<#$bY|j1wFrRYv$2^U_WJk`s#=j9WQA@&qblZW2zLX36k;~j*H+58U3y>HnP zR$75|?^j85PtHDE+E1`wZbnoLZ<&nl7dTfGdOJC2+g9n6G<4={RK0#(P{-2b4bSRw z15;Ylk|}gS$B*Pi&Ly50D>nF5zxy6^t^j#KFm>u>GfTp{C3K(dvtCdFZGPaH7Ui;g zu0Z5SX_?lc@>tg>Utc<& z8do)04z@D4q}qZR^syzc=?`R0eu0E1?pgN!4BLYfgwpOtUK7XARP|}%vME+`Ifp*^ zvgkL;wYW;XT6~Uy@UFxgr<|e8EBi727h}lj;5wmdV0)o%1sDO@(cK}eq|{b9N%l0? zNZcXW5?iRwIY`FAgwLFYnx()BWAO-f&Hw`mdX?{cvci?|!>jvSZ>abOAa9_^O*+{u zos*|WS54srVRJEoN&Ji#w7o(NIpG=@pGqpGeJs5bo$M}GD;CR*op0yJ6MVqf9{&}b zKe6)@H<{!&+{v0=Bsm2DeCOTKp_-Q(Y;U-3Wa#jpfq z_X;^5xq1xkbAE9YSa11Ecj-r{Hr2ExxJ`XwYGAw0X;+;= zZbwz?8Dwa8h9*UjfDE+{b7JD>XkXQ0Wb)|Tf;}}cM6R;!Bsxvet~wjsoYR_Tz6VMI zY+rOjG*G&yzQ1tR^tG{ezO!F7<1I8^hO_Fbij<$)oKX>A&R@5T&Og^;%t{~$d7W-O zSND>Glr)Xo&VIF5V1;b(hM3A8oUv54JAAmTyE$DXx^1-nrCV5aznv=ep7C7ph3++3 z)u()4;=x`2_k&iEl=b|JbGa{;4PM!-_j&6lt(Dllc@J^uK|bNZwHeg1#{WxsI?!#h zD6E~5{OrIv!d266eBsUaa_F=BR6SY_)A?xu^M0u<-d4==?F7KI3PrXui;j@I_Ns6f zSDQYa#4;DY{0Xu98<(4pFN2)Q_?qTD*KzvfV{`m6AKAj}SvGj_cfM}$%5q)Q;r2<5 z%=g+d@pucLoa8<>rckTMd|8_mk0}c6+lzJ16+oq?xo)zikNRvi(#|@3=Ucf<%?Gdk zcs%c>bfoj7u!z<51LvW1gG1CRc#Oha?})&O>6qY98SztEgO?IID259RWR^l*XYEGy zF?bJO3HCPpuHE@09jW0&#?J}~4?KX5YKkdT>s;wyGS6NeQCA8c7jiD!^dM+qRETC@ zroEl;*7jo9MM@0hB_DjLipV699m~s84SYn){V=O|GpJRG1MmFmJk)Zm919Wewpq40 z*TT)390t?#Ku262;~edYlTQ+Q)2a1$R_y(FVxB}(`>-O-EANK`Xd7~hW_>d~msn9N zJ-jw%88*-WOK9#azI05(~ym`f1VG}WI54zphI&1 zw%RSlcG03wDzVRvIn6isT_6^(VXLHwSs+Fx!`nu}ZUgkNx`b;_|60yz{t+^Uy7XPc zcb0h5wm4;1GqpaTUpD2yH6%nSNl<#V&rZBU-eMzltOzT@@~bL0$3l>Fg)wO|`^6g9 z5`1cq5FD&ZdwGzXu$X{M)YP$4zdq~Rv)qKWv+l&D>gmGJ zTn^58N-x*SYF5=Nvfg;owLl6iK}aRCsk6YEwFBLn2WL*2&6qqJec@y|E28ugvYfJE zcJDtuLH>4dVG|6sBH=-Y_Jw7s3^Y<1gyj_#ZsfPT4p$M@Q6VCA69 zS~LmJN6&Z%SOvsJ6po(&r?yY11i{^f(;ai)Q13w4K67@nW^ELT|Nj!OqKwSbY}e4Posn?@V8!=mw& zTi$z1&+WpBx-TvXa^xneU1Aqguko%AB}D9Y?2j5(G_}2tE8;=u8+9-M4&-a+*B z7XAS2XYNHtJbro84U9?ulxLKybkfm105a6laqwKDkr7v?geGG63O4PT+Hs+d&t6CE zzU+Y%DkMG``@0&;@C}&6iZRuvE zQ4xS*{^1ZlY%?n%B5e7%6R(DI(LGT|&+4)LG$?&%dU7eO41Irnxq5%(5`R-8#-4|z zphFtGa%}`mHWnECGG^PnK^%42uM;p6Z!Ogt{#q<_MpWY`tc1%%C{ioU6{ncSe8*br z%790Wgw4kHiT}1Bc}!?DynaEG>n@Z(^uKq;LTB143I~Rmf77mx8e1)JY4DV-lz&90 zD5AwX3O$uXCNCFcPQU8_LVTw6TXk`qG&ZP|y(-I@$k}vE2@DwW+N315?wTLYSWA&+ zK3MaS>f)h$104)CzUy|iE=zae4kvr1JyI|5nbyg%Y^0Oe^Qar<;(V~`^6>$P)@RFm zC$t^!Y7KV-K-iRmzgD;=Y6d&PwCa}Q6ZIPIi;khGj)QNmjX5Ej43GCeCh``}1$PtSBb8e{7D1U6|VRma$h3xXJr@tnru*|c7Z z9QPw(4xbW7a2m**77o^WhYK|;Mr!4_-ajYc40QfvC(}561UE?6HF{6y5cIQ2jh(+R zw5M3jp(I#}s5V7_ev*2yKD#=_zLIx0VEOyg-m<=0Dk~EG@y{K3-gbLGd2hpx2sWSx z_9}H2)!b23QJR6@<>TxXq8wMM*4c+Y@ zjgz*0lCpN=ij0^OUhYATZZJ$`gL6+G=VFyPgQs&sf=!oG_AsNvf!W=)6}ilWY@B|6 z@!><%nnsc)ADHf#ra3Oc-v?MsX@(#55XO=s#_;FZjM<^@G(L(LZC-;C6bL3*jG3UB z)_R4fk7KJl>e3$LpxpvCdW`#eMzd;b@8Zx2*E~q!Is>w0yGsy?GZuRtJTD#K4p}gA zO;0)}udsOy8K;xby`t4@XuQPFvFTD!iKl(*^|%M+NMNs=dsw2?XQE{}>W(T?$XF#x zUy{#|X-~osarbhwHFTRC&{?9y-|NdynyR%hd5ci|8o$Jto0NcAD=eqM4>gu=zihyY z+`6}z$IEo(3HnT#*1*wAum(TMr;busdT%1st1sfWP2)uSXnvTt;TDO!OMUBAuLvh= zl#=BI@W+Q{WpAzsx4@Jb`7xzi>K9;x=rJBX>Uv#5Hva~^!=7c${vdDj?d|{nP{c0P zQEvQv%z5}2j&4a;I@isAzny;@hxB=A@n`onQYG?!FR4d zlbA6FJHF$yV{RJM998fQaj2B&1`fZ|Jiy@TP`@nhbNMBNa$R`cM zujzx#o6ga^oK^*YBDeD-hP|wAa@qD2@di*#1@bb%vmfQEs?&PXi2 zwM7&~h)QXu0f~7!VT^ z(`LcQc{`|EQs?t#zBX_m?$o5a)Zr+ZUPwK*Gf{*)OAOb*bF3RNHqob=g)fCMnshY6 zf=voonpo0Sj=-;PKeZ>~qsaGD#Qo`)x)saFWYoNS3H8`z&7l-;;mBYnQJ>fP)R=a|B^*s zpere2bd1ww@Ga#Eb#SMPK%ZF;LnY@&gsKSKmIdUmXsNJ9D z&$q!B6dIXMpj-8^B3#qVXN};-b~6;S@G>AP_O1mB=l`lFAN0IBKlU4VRU|$ZXRn;_ zq>e@XpIhZE zt!i*v)GzkFl@jkxa_<$dLD2MzBhL;;q5(KIn^cD{9F~$!_36;4R`ash-72x;B!F(rChA`REWO3Qg-j+syMz2-EgO1qzQ=fWH0Q5 z&;4?~p|di>>qSc~%HHfK(B&>p;w<<#z3(ROMtDvN&%b0Tj?8l>Uj_xbgmDtEMVrG4@`l%Uzz@~Jv?`9*tTj8-zPxeE>JZxsXgAQ-vo9#>M|le$(BY+1RxLM zN_S{;4hK}iOx$`%F%^(B`a^X8dBD*al#8)rg<^jsc(B zD@k*c?WoO;jrZ5vh-&}N-*Aea4|i~FpJ1~-3=$U21kY5I zeIfk38P|A!(Vb{gxEmDWhLtnYU{bQf-pQrBVT$4O-T(UGe||Q$@4=hffb~kfSUxOl z{V+OZxw8rbzA#HZsa-iUZyO3MGd3QX=GEkQ1#kp%ufe-4o2`&dyx)fILl)WxnO;}t+4&_e2YJ8MePsBw^zW2?7o5y| zBs7Kc)C)DDY?Wcq;qODPoK>!%h|}4e?{W~)A$V-vXOf1`jwfUHMT9r@5s{kYmglJFq8{mRd8#ol`o&C>C@Iq z?gWiuWiGgNYc`K?=8wj4t<(+&p%w$`b2FrTVAg$HqP@=TX|LyKW&jF$!u@f-X*z;C znmL-u-#zm~{5vm%4q|^dBOnLLUbT`qX4^0MijhZ^WYZZ)0V^6@YQ zH6haB4!pYRen=4p`gMU_v{#0CzobdPy|3+;jNzd&U`9C$w>p|4ppsNTkI70)N{#r! zqTb0h6ea(9fu>*BisWuS2H;fzHgL4HzkE3>9lRGrJtdD=D`%y=3Ol@T75#`XHFsRH zQe^(eNbn8fn8b1h<)A}lf&oV+i!>;}jp@;Q{&QcqK;)QeaW8KNSh@e4@xRjR?WgvT z`j*=(muOY9@9SF<{+*#fYOQ9?$|*bo5NB_Mklyd=Ruc1E(h}$kFJ%u___Ekk@ItuD z>KwEI@W?QYNv-WN4O5O?l0N(<3=w_tzhoNoo4C7}TWhZWZljX;fVZx;EP*imn|^GH zio^ylO($=I*>^x`U`#n99}Fju5_m?Apc>^)U8`g4py{9GQ7$dlwiYu_mbsg2;YJ(3 z=CtHAp>jtW{DUaSWD&|>6&qz^WuO=Rn4tRft$EHbK&tq)Z80yU>XE?mhei9p;uho)-J zP|AV*b9c%{_?M`sahz$s4dA|t#p4|?E9I$aRb=8jEbVIuYtV1tp;@7r zwcW7$Z9d-S1WHK^G~)SQZdv#2p%Lcb3M#!l#VCJ14!yWd3lV$^CLTYJUT~ifzEsQu zlTXQol*iCye_f|8fto5~gfroVP@m4cjbcKRTLI_(P0io&#;$8m9^94qLg@`(% zRgTyc4Q|3Zqk0Mx18~JE6Ap(h7`cL-2yOh0|D=eC?}0TbHc`SjKk-+!u&-Z?o@P6m;N)B96R=~DlmB| zLn@mu4w6VbaYl$uSG6I>fs9=V!h>?@CI;}+`I>~Q(unj1*)jD4+Jejv%(?&rehu zM6RoDfo=f{ILD8V@dkrQ(T_<5a*RBr35yL!mo!<zU_ zb&|&9Zi{wlc(PH@FxTQ}XA*szVUeis+WEKtU|0I%4Yw>f5cudKE?2jCnVBj@u$}os zrQs1X8pfvJ`db#TV#Qk)*-pExVG=sC4hOLH50T}MGJ7OzLb5E}qNGK+4($+kU6VTH z;+OOSvu0g~l!In9!(06l&pQOy?F^gEbA%dqn;Igw*&2>h-&nLm2s>z+LeR(%b;Bt;&q4hA&aIX7|P?c^=|^(HZ1#$PyT zS};V(=nqkH!+>B!%X+Hsme~)^=3MZ~clXZGO_N2@x&2%&n8hB%STt#2Ma^cZAJwyf z)ySl>L3nGJykvjY+zbVb4Nto(4KE@VS92gs)!F|A3GYgMfU@_KfRuc>@Y!X>v^N2; zAYpVfNr~prw3f)9>J|+bKV& zWd_g;78LkvDV)Y00Rk%A)eTvORg(5oo5Yb~zS4fAkvn=IM(ID;N;xaXVs}jdvO08` zhJ&0O*xz|!Lvek}UoVDud49`EY!si%(~lIe{>UjN8YP@7WM1p$d~6E(*ehiyx`$y% z(I>mXg%1V+R_VRPLjGJ{XyEMStUK0l&276nwE&pcKAbLN!!U=_f@f%8TrK?uAaue7g|L3>eJd=Ie8d)z#Hly|r5@y~F|ZTNG9J z-;V%nB5#l}jA_guHx1$$ko~CIIs!Zw1}gJ(tbp+l%D%7QT4OvY$+Lpr=I))UYds3vRS_I}nsi$C0@lYb8D zEm!w?aq+d!B}py&M#B_4J)vZAUqZ$T@`MJC4wH8LQ*n#uU(#w`R$t;{g{Iw}+wgQn zl%B?*dhs2r1Q5zNpxiA^f`IC%1F<3jnqfz3Caj!XgFQu4vO4%d)pKkw%6&YsIDts; z-&vJBEEed5<3r9;*7){t)EZy2c!?{7>Z0!-L(%2q%yb}RKASh3UdwH!YnpT~zi@y3 zA()XaZ<1M6n+yq|8sz&nvp~OlM>A#z-ZLtdQBI(3V$lRbNJzMZW^WfdX;C?)WTV^h z_8YC1NvN||pDQ+EmIXjO^vz_*A9F$qjNt*ohX-E8 z-_8E0=WFArv8dySD$ixK*^6?ZL^e9PH{a^tG33N4!4iN?M9#~Ep&Riww|0-Ycs`@a z@N*Bb;@YmFd1Tgr0p!+z@!yIMEW-P~CEW7`_SvRp^cw|Jd-h@>R)iaUUFuOgU-ow_ zRr8=#-n+aot%gV!I%L-azdz5Eo+%OV0&!pKLDVNDRPNXzj<5Y|p8%dX5dlgsU_>VF zGtq7rfgHaTp#>GFCSP&@Jlv5o7WyuW1d*pML;F`wr&CF9D)U0GbySa3d+`pDAVj+GxlE)L7&Z!LfR| z$P&0i;m!>AAMwW54-3utYxtoWwQbZUuq7<}fy-D9=r9Uzr9T#wCjUBSlA5%54W7V9 zeD(v)c^io8)jnM$(4(AwwkldP3{~TMRhT6eXx{)PfWqXJ+Qg=X6gJ399x(D{>DO7O z@}yE7j_MmOiV8vnOX{UkFvUl?Qg?KDQk@p(p$n{1#}U-m0QSOZ7QPMXvA?1hI!1-# ztisJEg~w#aOvX4YML2Dr@s<6YU*gMA`yX2ZTouWd$sfmnR*y3!Mz7Z~eQ%Cp3!tml zmJ1%u+?k;cXaKl%4gVc*n!k)xBOO*+ZngvM#V}=Z?5AgY&8+VHSLH+%IOB2`JH@_H zI&H6O$DXT@yux@#=PQZs^*9LiZvAZzdSZmZ-Y-s5W%d4iN^JK|o`_Dt6|=C>m&rXs z{k%YjxzNvwL7$zMH4F#>b1|CU%ps$6uE7gVLX_8E)QZqfCosUrG9TO`=PmE4F+=9 zLV$ZD@!%&lkGMwSRrV_=usTg4_RmNOGf+PzoTE#AG-rHiWV$6XC(_qpMZjTcX<}To zSgVN<1Z%N7@6M7!I;rL2S(H_VHs{OcWOz49fO`iOT_zu#&zjBu8@8-*GN2RXm-41L z_xOl4@;E(1CMz5%4-;guLYTos2Y>x^N#itfX>!o|S3&iG{Wf!`KKWY!+(E{zKPsb= z-bsoMo^R&fc>es4!-~dm`^U8U--9QtW^9T)O^~Jy@wLJPUU=Qb%rT@sW5K+O_!a?5 z43|qN23k#zIDmrQVS0HwGkW-zF%N|VXAh4x$`bOLjgZLFdGb>7TYeuDzpCJgc7pipiQa6xEH_!;HUjLk7ui2vdz2312k>%i@DAfPEoLW=GNFnR zpXm@iBw>PXn-8#9vpK321EGfW0a}lCczQ8&bNu#8jPDYfjLH+-<%MY_HK9nYy`t@kn7>!1~vlYECs*L=(_}fP{C)<+#kQQz6z((=f zsC1J^6eZJ(VWQ+KPoiJK|J5E z1tK9|GY!D7)yW_Jka8wW={F|EN>T(Svs4?iiIU1X7ZV@NbKV)DUGs5yhn&v6RuO}D zp9*k$4L+|UUFH{7=6wINk>b4+LOJmH4$U^>q_CvWR^t(O!@IhAZ=T8`@QhKD5_2)uzNj7%v#j{QP;GmO1`Ntcl2ta!HfOYm$p;&cE! zlc|t`_&Hl;J^k(Z`}pt2icRj@zXU7yGH?Qqo0^z-3mo(|X5d=lK4wSnnKJN=hvW}Mc zyK7Qn3jC#jRRW#ovx3{(= z8=WK@)^7?4ZMrh}^hP@HmSiiAN~~`et^3XSq=)5fDcY{0AlmWvxKw}g@1aUF9*;|; zth5oFEtQ}pw50KYU&(f8Q^GYiS=s`=6_v@-Z`2bRv&b!9VebjDg&hx2)8ty;Yq*e3 zQ>avYb9jeE;@C&K0@|9D&WxJvkfxfynW>w@+34GrH?QXP%HdX|Dg@Zt^Qdxt4fjE% zhi{u?N#gfr7cW}2G!CjZ{42vYuz4`)8f8`>$UfPB6Qje*sA03dl}4qcNr4(p>T>rZzYjxINGnZ0Au`V{w3ngE&Xyv^^kBqE9@CoECI0MdVZkf=IG>WdV)YY zFPAokE;2BnjCJ+Th5Y?1_04Y}qr1PqBV=tjb{?OK|G;#tScgiM#)((#Y<1<0_AnM~ zF(Q|)v$p?G7G^K;c@2-+Ri4TbRQ7zJ&Ysno#_nkocs;4B{C(k|^-@up%bC>TDw-kJ zb&o0=jXSx_FG_x!h)+ySz6da7q*%2g(pRpYG$W{7(g*WjTx}V&nvEk2VmxC$p6?$L z)v$3PBg;iI0;v+NFgM|Lx5WVD3Izn=6{2P-5#VgIF|0i zWfDyxKaDlqdS>uf+or7dlll|YcPnic6j$If+8u-;k!$tzw6*)`+{lvy0cElH>a_0* z#vm-Ayxqy7PepFa0xu+chWWg&dJ7D`^5!C){mka-ez(5O2WV3BvAn3Rc0coRM(Iz? z+#PZSUXz#`j(Z`sHQ+xtn6f-|_$?LuU+ScHD(qkn4DAj>m<{(fN>*|O6eI_Tj=wxF zYV|gmHiJT!x%gVWeO?+m(|}tS=@&8#}p}BWB={%e&5kN zDigaqV-~T>GJG`Sfi=ga&@O!R==bnAo^>J*T`tB(D$l)|^q-R54IU;hC2CD*T%ZBM zh?N1;`9L#4dw6dSW5k*3f+)oWU=eH~1I$*J@Fnmq`2v(d5{McCoE-+W2uGr3vTgEh z8qhBu79$LrP8-?(7oXyy(M_*=kYX8^TJ<|v!>y{GSCx??JV*~+wEQ4=LOdIPY5+O1 z>0Luke;CDz8z6VwtYe`w2P_leru;++2bcb z6gpbtE# zO0CTz$|CZ0^Jq$zWsFS*CC^%Kl<{OFR$Gd8QNz5>*vdkviueyMBrSux2-?RtMB&InhE1k1mNb$1NV zNBjkxW+MK?;J|-q2B3Rs0lO^2dI{Wy@OKN;N?h;wOFzk0346y=N}Ie~|L?$zfia~x zL;^epnDBw-Hhd7?g%23dlZ{j(z77;1y}j1*wX)c#0wQ!Oa<=B$@%heC5B~!=K^U># zbJ}kRbb(tgv%{OL?>o!9*phD`lmp}g)OVB=Ep#DHA&v_Sgp>vkxee+0*4V=XzyEsmk+HwlF{u4(A3G%+) z{tQ7j(vl-REdMw-GirOZ`qz}}EqvQurj3VB6pHoan9Y}wa73omyX)wB(Y&wLbo``4 zU3;O{5zBDfyi0vWox@Zv8g8NflQ(~g;#bn8=0dAR$cnCtv{K+{hRj{?v2g? zj$k&bhjh3B-XCGw1V5UWCW!*MO+af9!pEF>CRnSyg7=}6{Ia-{x8S{y*Fu5 zF^}iS%PE~(@EJiQ>?V`;tlrnddChOsia$VE`r0xFWz)x1!iRoQamJ{Adlid&zdK^( zyMv*YHD}GCGpT%uLST9BM%~a}V$N_!ivy^L!n9NsZCI{f#4&NzXw{!PDFTVt*SmuU zAqegi4JYdyUh03;Q_h#CN$a-%t3MY$i=>qkGdJVTgQ0JtL3De7MniK0> zR=MX&i8BB1{l)?sc)O&_=31)m!ygS8xWZF<$2tJ-o=>ab9Sr#W(_HUB^dZts>6?Td z>mNq4ct90dwaLQk`LEB@37vbVS2pEgOGj-6*(X(uELjFp{^U07gA^t0VQ z&EP+9B~vUP9^R-De^B(fTCyPL_s~Bri`v@z9*%*te7KxWo%gA5tg^Bx`cx7xx>@_) zNNIQL4ZJ-FUwVCzMquh8D63J@;vtk9)B1AMLEzr9jDv>zDBd$lcmu5-*>?g{%2nRV zEoOj=k1*o!bIp@Tn!vYTH*kySIdNo7v(v?*y!hWbai89oJ`n!w;Hl&mNG{Y(GO6Mb zsGY0Aq>|>EHRKd~^4|}W1olty`<7It{Vm~_PvH1_tc#;OsRVo*T~pR?*UQ>`@U?6b z%*GVq?!w`MMCydgSi7RVg^vY4c~?&jkkS>P-T=XORRS4P)1Wx%=_~VYl4*8uBl8eZ zvof<7E}+|<>5p4xHkzYPGHiEc)fR^m@qGoiY;WAS!r*8Yd4QOH($;}mEHcQ=)Qwqx z(Ba)kf|7@5*wPArZZgJ*ukRjg&d8 zYOwN6M5!3@b_#`yK$|JzxW7fc^$SAsHY5cGJnpsio6Wsv0*XY@+FHL+`(>F{b%hcE z=G6hb4be;?ZXDZ!)1J;|on(%i?7-WlBGmVAfq%N@hexo0G?S+X^fM>qnYiqI$ELcP zJ@w?${ohYp^jSXMRG+tS=Gy+UM_e`4RMl+>3?vZ1&4Ynl80K~aTwRg>xVowz{=wW^ zA}iL({Y0-q#(Jv$c6@tkV!_(Y=2do-P+Y|}wO?o;l$<&)L!XK!h0FUvX0R%*dQeta zv_MXx&_?q~HA@rtScAHk_iQ@xBw*p_bp+G~auX0<^@&*tp#O7PcL&TS{AEbInL00Q zcAUb5Tfa$7=WyGb+#8&(h;oI@<`SnM!yM3|8;&lc-Mhg1$L=LvLsD^yh`xOP9%sWe zWIp)o-`m!|Oa5cP`!+OX^5Zf>M#P({F(%}zeIv2N#Q$)A0N%cb7*qW8deYXRm+u$L z!mtcIAh^VOM(B#S`Z5VXGpG2C|AAw9!&+CFR9wsHP zX=&hCN4?|!w{Zu{cIdEtFv}r6e*6;X#Zk`s_OgjW-IeN^d)*re=ORqspdega4ai*{ z78muczBwRdUHC-E%IeRbiIJ*rcD2w-`-W7Z%vmSPwDTj8++43*gLNIZl#&N7PaMHGm#Vd77H`XkWx&3?5`T;m06Y zSw!oYsXiFdv)-tNC|Uyl)3+dFG5sDO9}uDQ48H(DXyMV|FR+XJ70e2DLgVXVuR{_W zef=NI>|JoTRi>Aq4TU6D6Lm>*Ma)t}PG9dkOPw%GFHx3+0@X?f0p2oS2cxP?&`m_V z)Q@Hc%Bh41AY2Jx1C~-R1JLz{2b6LEqeGBDP^2Xwc<~_{o?DY()5(!~!^FS3_qyE> zp0&}@I8>qKKGxgU5e?2+3=|MSD_jWDcF^C;|A@Y@HAK50bbb2AxvvbCbw<>%qOCo8 zrPy$c#Qa!fhtV`yA;5m2qE0>fj95#Zqq80TV!8U_BiD0we2mQ?#X>GCOn!V|NV98Q zd(waz)9r|5-p(yNd%xMykw=7D*``)BIdip!CQ};Tx`(al)(68^!&jg+pu9*sA7Vtq9+ zfpH*E$lKn7KD!pVIk&|w8O^CG55_0`$^IR>%MhgCP9@T-D)5RGZuHVNU zW?eiw%@w4}9#l z(R%l%4S3z8!Ri4tt&P$=2WuKFsOE#Z+R^^P<#Pj;bBDa^JN_qHM&h9CCy|=#-A_l7 zfbIdGSr699Ab!P z(6j&h?ERdV^NJ7Gec#tw>sxC<@19}=367Y5YIZ;uL!3?8f!BJ7I6dK3Rtt5Uyy4-* zD6-F2<+$17zZab*KW==Z3d>cH=bn5ly)@C(oi@AtWY~*mLU1B=HZ|+92x=yp^5Lma zm@k~sSXX!BS_Frsd$2aKTAGH!+2#zkL|l&h%Y&2*@h{!L9}!}+wqpP|H_L%qKC=%N z=DE)trvzRLN0RDw$PtxZOV63~p+QWbK#7a_`M4a5}US@&uIYncJIRPmz+G1vYa*jOkCR3S{ zkueXf$#BiPBX0J@*QXOdhRZ*0y)XXQtY61BS@ZROWa)5qV|~Ft{oT{^z6V%OY986} zj=lQT6Jax$^k8c1tdz zXYgd>GHZFyVyYzFQMK%@SIBCj?p3tyAxyr{KWwkT8${=kfKi0rZ2}Q!6@062QqLJEy2jsITd$SF3nEq`6 zPPvG*?#?#Ou~`0oaH}{xL2B>6-$t;DftYB0Bew>V(V6tZUxYtJ>6Kdj<##JBM1iIL zl!uCZS7cib#0mI3ma;0hu@ZHtA6sPS-#jTqwkOOWy&UCiD{z#tRXbGnYdlRf(h=iL zj61uKdea4hJImNj@Rw_152nkvS_QWdS6Nv9;fVR)mP{5x9VcJm8cM{!Pr6b}>JCII z>O@%TJ3JFw0u~Odp%C1;rs*@=dVlhF@8P+Mv_WhpFSUQ&Vw%KP!A!}~zZr9PYE^u^ z%nGx3fj3Yr))IxpReuIQ+Jf2mSw}C^U(j^cw3gRgOnEA+Hhk+dx|k6$`h+O`@K!x9 z!N@Z=eNX1$#6O6j4Gc&EU4|C|9TzY@R|PxO*$X~De09b3Pk{WYxmi3H6g0f{FVBJV0kqH;Ji8Qi{m3$@7R(-|r-ZXnEI#XCm z1TyHw65!`aasD7*7h_5H6o(^@Gn^f_hMoR?YUFiynSZste7EX2Kxv)0_plf7@9mkK zm6espw0@q4IKS4wIN!e_^PLrS+aI-Eou0i57azIAZu>R=6dF@}%1ZkR|Mc$0w5)8L z3fEG-uXQE51M0ZHaTCAqJLs@6-?-YZ%Dr?cp7-{1CB-7QGaqB2D-|;XtPdW%}`0 zV+ba+EpZaR3 zJ`iE?xxFB}Ukdnb!$AVnZb5X*{f4e9zJ&J_S~6U--iy$p?XNPs-LMUL8k6wNiW5O0 zrg^eE3Y^6rgEu_myQf`yM9KbQJLK)l33RF<`@ie54Ql5}CC+1=8a)oKpRx~Sg=aX9 z$aGs=ZM{74)KOb{`J*t0W|0IK)azbuKZuGt#%#_(*Y%5edVFs{A$Gn-Gp|F&`{47s z%Eod3=k+P+E^l|0ju%;rT7hX;y%SQ2Ss@)N z6YZ)#jd#|;D)p-YQ4>ador%f1;hMbPc#mL>V~sS!Iy+l^ADK44IgeP?zxst;$z&8v zE$__C;+fAC9!odg+oQ)mn2jzh)^`xokbf~MpRW*bLnC-qa(benZ*L4p*7?-%*+6zJ zHpU>2ZLO`>Gr9+L?@#CX;XP8J_ah`v?fX{}cjm_p^7b-}0(4i~LBRI-%UyQ~vAG{&xtSpO{oxb7nByD4- zdq|L)<^@rCo2%e;Sw`T?H|<;?m^kMetweXFUiYG&Q^#ET;(EV*%-Ra1{Ku!CoF4c< zJe@R?Z^zlR-GN%$h5&aBmuZ`*PJZ3smqfPRR7qF6N@Tu=1WusElzLGjXnI}WFMN~L zHhEJ6)JfV2D({MBip(?{5cUS6fp@p!&=o@7g^q~&eud!ce6u}W=&5E~z;U}5iGtP3 z{DTGO@@NUrjeQ_sdc$;?1JVGJx|8>DA!@+~;EF<6dIFz~e%NK?`{mWe?i+&+DL>NL zc4|AbIIG|%m8Qv}j9WgQv?t^7AX@-sDyq9hv8KE2M}-f%5u zmQq=msXn~Vh34I6na@A_nfd}wm8<-qMeewx*MIt`KD|!HTDw2jr7X5FyA?ZLtG@SB zeC9ly73?)wyK8pxbNWX9_&0|30pJ#elEv|yv1qkO9Dp`_GP7E5Zp%>Xt-YEUa_nN_ zSe7k{ojp_TCmnM~c(`wPOp>JNNkAlK9$_!t5_r0+LId{MHW0aL{K=^BD<4d!{hgvH zP$6ABEeJrH<;TnD-aiddtl$ev9PQ>! zx&Gaq(xz`6YHPpnlFZ{Bk;qByyE!Y)cwc*NOBKpmEj#Ct&dO|v_pvx=ZUJ^F<7cjzMr4IC>{0li)UTLv_-;f&c$ z8M92Q`0~QJAH-Y?;S!_mHXVu=Ei+_aXmrF;ATS*^Qn5=OD=*N#DA% z_ZrQ8&AUG}+-w%3QV=1P^NjF;j_xcj{6|R|@NvuR7iQdvjg{l*>2ncQB?lEoianec z=jL9=OX#el=Ai=PqnuJ1hv^rmZmty`RHM>52fC4`!_=4u#yjU5yh!yjLUTxD1{ z%ROl0_1q~f)0{eUe5g4$D&(tf5(YV4cJFgOA5w|jZAxXhEs#WBwa?n!Rq5%Q!6vH? z>tCf*?=$1||Ln$4$#LoEv~$;Km(=YLKT=$9o9y~2evB8ILbL$BYh)`52zpI$e`&`` z;ac^otrQrM9tWvzVSSvbhh5p;h$C7_6FDM((6hlnyL3x_0Oq}2JAO&iY)`+F$x*Sf+p4=J2hkNMimiy9ln87cS?0GQC}pvznX#ei<`p^z0vGnB6!Ts#EUDNzo0WsfdT)`Wz>p{Fs>obeK;WqN~Q%f=Toi~fi zVveGZUiTGBuY6bCD9qbPDFvEormpSanTa zx}lquzZ&NB;-Q%em-wu740N%c$_3e*06MN%8~Ep4Ri{~P#}^=wtF9P!lfFN|)CtTeJXz!@MaVNY|V+Lgven-x*SrH+(oi3F5LLf)NPT_uFT&EC-YtE z{VF4%wD%^GTq$z8uC*6!1NUI$;n_xMW1P#R3qh(=I0tvu`$1W~t%;NeR&*pV0qVv% z=H>;xR^ww8gOS<7)6^JC6-v@XopwQo{n&(X@bIvnmz9>b;TXELDnQQLiPA1rFemvN zm{hYtiG1-+o-|iBbKlHG|Y*pe%+$zVf~Y zGM=hAQ4Jk8#v*dTU9Z6BG2Umm{>3MKkoRM_%%o6#SLg{F-$xIyZ&I$gcT2Tpo~*ay zl-o5uJo|pfFrD)98yzqR~bM{o~f3ziamb zxEJ+8+2m)WpbWyf`OEtKC%C`OC#c9vb-SqznG8nYGfitVkg;!SoLTvy9klxc`0VNK5KSw=0!Pdvplo4g?;A?P>#Xc;#s{~@pciVlw2y}t|C!Z|-lMOs%$tP+)&K(1+Wk(BU~Q5d0}Y7h=< zX*$`F9xIO&!sTV_LitpHFwyGG(d6q?J_RFzG91!>n9hH z-SPKJ(PG^`(OF6j&o%@<&MH^`tzlB%k;p&3SHny28yZ*!sW8yvU!t7EuDXldkS^Wn8y1!0yW&PequW4fXzDIF-e0y}RYkP_L-~ zHM(K(>CtBKA}4I9)Lu&={h!_p?&A_`?bPl@^TKjU3`e%vjk7Y}F6x-OCrXRi(QHgE z(m-TzM}Q9o_7z~a;CFkl;N-TeS%kwpPtBT0V!xhDiQZ5b^@i1%Zn#IFHmC*)$1$*; z&-*%J67h+*!D{~N(9SEj51xrn>1>yiFPC)F3Gjp|Skri(j4rJ%vCYNlPz$%ceNm5E z8*pG-=-hAZ0oNc~K2&SH2Y+?65Rdq*W-`YN!j@k5_KbGB5<((iIRcnR!d9otr(@8j zIZ#ISF+}M=_nX0_)~9c^rj3nvZ`J@&FNe!|;#q@?Fl4nS4bub5I0QW;XIq+fG_>V% z*MxsJl-#Co>%FS09T5fuWhxy1W~b?iW3;vhr&8Og0&yFhzSn27&_UKZAG-Uz(G9KHD1weY{hR^dr3d6T4bTE?9(w#gVK*Jq+o^JdICiIuY%_ zimdm-t4d4!;GE<_tt$1hgp95VhKXDi%qx&={s|<{JGoofoqFuVH#xQ)O54Yo8Gp^w zgOm*f3ucZlxsC8B4sw~LToqeYa4Vr^&puW5yWtYC4sArJhE=olaaZAG&}SIC&o6n- z{~c1x&kK;2Mas_3-_aa#Op-|-b>I6eBJ^7#J~jE!`Sl3w6KFqwzAL&evn=JkDWm>D zhWJb+qGE^6bo<2;VihNn%B>>G4eWnmDrQqEiz+JIh^D!aRuW>5mKj8GKGxwnL zBuwG1VEXNM(^b>9nb4OnhO5ND*wb_RCBzRwav?71%}4XCaD{_~`3yojBYrb01i9PV zFuPsvUdYDntIAKQ&g0vmLv|}SMkTI%>n({osn_em0#`NBpYHE)hH4$bHm7OEaDG|Q zGKz*dOk@U`tTJVhPjD_Nysq`CGbgmIDD$t!$L_6F1L0(#~dUXe2?47W&EyUR~? zzo`8pI@Rxq;dNfW^hvF({kJ@xBu$u-DD zn9}cXoSN)}keHs!K<8uD`tKJG2pW;e0X=P!gWDaBYDe%L`Hea`%Cey##uydO+{S+t zSf*vg_d>Xb1#bu3;{855D}jlVfJ*q>KWecUxdC}DhoB~eDgH(=-OkH_#>ATOv$qPT zOX^-T*B^Q2&e%n`Jy{)E7T)f1fTUUWXz*$ws#-%`Q}`p@FRd-tZQE&Mm`I&Er1`mg z*v2-Q1Yo;gF72+}B7I?IPTa)ZvG|To-+Z-h+^KAQf3n%Q=g>aR0u#2=oM5MSe#0GE zggCwkAM^Y3ZA=j!H9Qhzu|Z~SSa-NJyd;xv3%7oKP1h_j3M zgcdHg9m)b=KugB)G!)+f4Q|3SxjKSOY?4#vW=(v9inKAvOkx&|_nHH^OHCLvriP@u zveDXwA1%EbK4XdSGrvjMVVTVwSKJZB6SPP>b}Hru4;q1y7LRE_j@tJlwwBW%FcA>x zF^yZPa77wYfqg%wsCbot-L8R@lN!6R#*vzLs;^U`-R0Ax;sZ#tmw&p=kXq znc|o?($rbq_ic!>-UW;GBv79K10obpc4|Y&Nr(ki?GT8XeZM)AFxufsism_DAZib~ zB(=W}oVJg4sIUB`ob zS0!CI>-ao8e%kGM)G>OxVf|}0dtqwDebnCg>{FFPO?ie*vR){^&oO<))k-m2{bEK4 z7(|U;aLI}#E?>q%jdZCa?<^xtc~k`6{cUT1)ed%zY4(x0fcqZOo8(AWVKqx80Jj*r zn!h*b8Z27%kF{dW0(!n+&W)X?3a}~UcJqlfH7K@QV_(h~wjQrlV$8b9BNCd%Mt^oa zS#`R#dzG!XTH7tz@B5#TqmPW=jwS`6y=l?$6!v~40tJ?G{;!%#Txkaqnv`=W1FZZvoKgK;gwX}%pvP1Y~sy{30_%W+y8A` z$g*I_?0pC^`neFftk{FF_tIOgm<4IX+=Ag)QaN7yY|uo$a@6L!AZ-n6P)6h)5 z8~!X(TskKho~!XDdXF`;!}B9Pn_e5$a2l~~&RD%D7Xb22u7&82;DTS+_C zeDb3smIc0hWT_sz z=w`?X-s>Kn7p~rle71Wr9j4jd!E#X)=ro~lZ}TA82$CQ_ zGM4s_!NYRKttqEkb<6IGY>~$}RtjTbP;1;1^L4tvW7e8T;2{13t<%IF43m?+i084I zJNl^Rr?+4d^~}y&L?|Ne;#h#DXkl(J@wfyY`NpDFApemrf?@wRl8E z54tIU_NDgAe_LD9g=_zW0@UeRtQOGf)*%d;yAc~6cS*;KL3-q^cPh+~fnys;5h6;8egD9`{HN1?^Re2mHcogP_#nz^ zoIcJvK}HP1)0rqw#N0 zyGgIern}@z+r)+@I8#xc{yOX#asJR-&X})sg7p}w15PC;Aef9`Z6nX|*{c}t@K~s9 zZxKrmeYvB{DFV^`MXx?pP#x0LHfROWdPI zEL}W|)4LXF`$x=e)vDT-dTOD~nQ~vrscau8&#UDg48gDqLYQ>(e)^y}kO@8Da^O8| z$#um$~x*`!z_8|^3zvRf5}m#2;w2xqx=i;CDTmA*JRjypPksCDgGJ6Dgfzfd7KqS8@aIY zpsNA265Lx`#t*I#cs<`tgZF72d&sWxf}*M4U^rJ1}V+{_q7 zfne_eH6eG$#;ss1`)54zY?JSla^Ie0&?)X%_X&;$5i;ePsz{Qkc50G;@(iM_&KMGEL zWTu+2cb^#`82b;o%?Cn)f1)tiLQJ1_^2!Wbyx?@}VW7EUN;{BK`Zn~Fl4v}qpV6e2 zlhLw9_uY&o(U_9R(@Gh8!ALAQ^7T%-=a|gM)aYvsUzp-3h@ay*>JYz*q>8JSmWGzN zo-5E+R7Hz-agHmRaBgRk81*quD1!PtLt&gLExyiUW}V_cg~^a$P6OpUocPVR_V1(1o$towbJ|y1ld&<(+g`Iu{9P1*RH9t| z+9a}^p!|sX_C%2>RnXBy7kf&Ov2mYlNA4$E-V7T| zr?;LN4z8{CBg@B(__h&oGw7SlB!OoHH(4XNb+etl<|DE~B;v@#f;52#kIgcZ2itU3 z@vTkea_3_M*D7vv%3je;K3va0(NjW#gE#+4s{cbb#!HZ6E0OIN9w+b-8(@KPlh{Ltd5xhr`ZAaKSdsl3p2o~>kfr*SP zX}j-gX5HP65Q6QyDLzV#E!dM1l@ z$9d}YCh;W_US39S|0-BMLxxw^9Wr@PsOzsk>ff>f{YLt#Qn?S@z5KVRq{VB6mtdY+ z+=*nnHmr)lX6}hl=B2?EH@B#GloRC~CDCfKv%$;j@6p&IBh*Z= zyM%dE$n^M8F8Pn-j#~CUn9TtAC z#Yt+{$fuw=c`~Ff#1H2CRGx&s<-ed>|YKhLQ@zGR21^(+tm0*qtPPK21E0R&KY zAG(=_!UIjieCJ55lot*OD*sy_A~7r3VM-3->V|?4{g)qK$%1X9jT_B?o8zovotCmq(y||g9C$UgAcJyhw(>T z@@^*QUm3YEFK=_;GSCb795qvX6@QRyf9QVQau}SYhv@a2HybVaclxyFxckvkT3i2- z-L#2~04;T(%4DH6JxM?yj9Kj zZYt|+TdZX)C}}8t{nXx`DMM3slN=>+BtAvhg%U*g%jJ1dHJ$vJhB@bsaQZ4Mhjk4?TAHqQ74>JsuP*gj%`Rqpy)eBdz zjtTzQ7$4R*i8Yk&zkqTSWeSDKeK7TD3kau#wuw!{t52?<_XL*2q*^$$j#JRbIKe(8<_-PvB3OMVO(J0XJ8&uk-exCoLlH z{R$R!f0H0005K zq7Y@FizZvBO!?ThFL$;{(Ce#J8MDl#nmI~Q*^sylS>rcU_}<@*<2g^!9^}b=aDDdQ zfqZ(%JDK4j^@{L{iZ7rr&Mj#6sPaqDD-gATUV4)XfhXxgWpblXo#|m9r1`eM zz~y%bn6FwZYWe6OZRR|~rQjAeOCpB5Rajrp4;@asCy z^NxaCrN(=v#5S zRf(L#DhcWrA6&^={}p-p_a%I;@~77Q(kM+skeRcwh$=i^cQzm>*<-)Nu6U4GhW$}P zYkNp*jlZh^9JaJ(t!tw=+tI*afPOp{n@}60XGLmw#-8vu{yCzrA`9>40WV83tgYY_ z7Fvpj*5{P7^Nsg)KP7ZpwNlS5y=J$ERHEdfrQDfEXXj--MIcT`x8>Bf5V9>RXi7HI z*U{Oo^JgKq;XuIR2L4_7^lzB9vUnF>sXpV?V+7=8=L_1t)4Wwt0IX=TAf^^53Tkb2 zBDdbUsB2T+neTIH5KwX;ZJ3i=>PRg-R*cCA<_I|&#VY{)Yd|F-k8dD2ILd-}ZbLCKSN?KXH7HdL8nr z!s2q-es{)^_yHWqbEVx(C8$glA-&5eSbTE)Te6Py-nut+G*n1DxlMj<#(U!GFy68f z$XAJO;nd4UeOEtgB3xF`M*P@M+M0L*fu888Z2;5lq<`#ZyX;~41(+l`Qyp0<{dwi9 z-pp$l{P66M|F<%k+P8@97lQc0a54leK6s((FzkEtRpvRoR&T{Lc}OXGTc!lOHBNU}c*2L+rGfv(wp~oH4`7)I--r>jR)dvuExMM8UhM@ye~X0` zw+T{t?uXeO%&vXHG|h5py*=8!n*nGG*b;~&w|zA3Zog0$nc2>s&~=%wCK*|K)wlR0 zpz)b5zVP*10CaPWuTXwFZM|6<=zCkUeAYX8aC0}!XX^eV(?h>QFmO11W--R5d6Z4> znG2TOV)qJ}r97Nnr9yB9y7i&4$neXeYn`Zj=cS!UbA|Jp*@b~apw((ia=C-aTQ!ae zn!5$Jbgm|m!lHvk7;u!$t?M9dRHbn+SbY)7PCTDV^k!I7^Yhho4AYj)hAo?Y8Vjad zpwos5m5j&;Uw+mTFWaLCpEDPu%5zZs2Q?*1OG^Z2bQ$z6uXc#2+kLezc0pisOsB z7a%9<@Tt@*S<8xVz>D2L|KjPJH&6ov_uy6=(LwHHu)KYX#k_^5!{_?M^Ic<7-;-wm z0jj(G9hKS$&{@sIf~ytS5>nox9j5eT9o9Yh+FE~(4Wenogl6AjKK#Y=1O}TkiKZ2v z8L4`o?){FyK0p9SkJ+Ts29M_LHH?QAdI!vjLEQk*ImsE}C2ICyhvZq(`6^WTFVm)d z4esXYTIG$-nnr5TDN7mKk&Yn?IaQ6j(`Sth@{7LNVqBqnT3Vm0-Hvq&7;e zL6HKgYMYldZ;%al-Am?mcB-*+H3YQok?$^P;Q*Y_j5ytqT6zs1p1 zx5A^+1p|?2?OG+s@_)S}Za;X3wXU9l*GqHWBMr5GFXvXEQyhFxEpy&+cY>kV^gzQ> zRx(BIqe;i^%uJByMVdJN39(?+T=)sXWk=1?*2bSBUMY`P;RXS*VTz+9;G^UP$iPlQo z^Ce^B@L*{fqA^ajqqag|kd1PoyD)Oku$xR`>65kV&2^*8)%x@I*$)1q$9_*s@#qg- zi|CPGD{eMmk}aker^bCn7~B^_P9w9qa}ZsyJL78!u9+Y7ocoM8B{d?VSPD2nbp^E7k#0C+NqSIqzjA)H-HLl{+DMLMcfFETMP zRD*n9gf5B>&u9Sk6Kk`gJ{S7jFu=#E6J55OyP+jyMA7ZK#)&KLwhTqwvb@-B0`mkX zG)sGItgoV0yyZS9w`WRkC|o0}I|>gdFO<5iTbiQbbEqkuxD=0{BL@%zr1L3`!ZAJ`)jrGI5A^GG5{l2l!!jO<>dzF?fnV{$Z#T`7H_!+t? zY%bs5N82>Y*Vj4X1{B2Qnj``A%|H=W9K6K{TzKJi>*=~MJD=gENDwc*t81>}11nnv z20{Dsj9$aUybl7%{XER4xjy!C?3}yiN$AXM7^mM}qfv^sF0mnQ1YPWv%2{=q2ii{K z1zmceStUmUCYf_lZ_R+=D``ZJ`A4Gl2;BZ{5??}p`!aWi zguQ0EP4gpy0Q+KhhB#m4DYfsyBvwU5=kW1yfrB3DyIKNfO4CdpHk2OJHI*+fj?6Vb z$Ad?E)4VB+2ap|za*z31IU>-sKbyD#IbN{?ibYisKv5Tvp8xyBSL;>6EOS&3ONIVb zKK|eUEqEwMgd!Z(Z!#}?kG<(yVf{c@ulK<3Zy%?qds$ddpqE&ex(9!VIrs%#D;1LV zj2q38OeQJD$6d*?q4{UHk}5&2XV0XQ@JEF_*-P)$e`d}G;+U05;V{a=Azecy4TW-Z zqHl(;y??uznL}Wo+mq8n`a$IVt?TDbuM!QA$?P*zOhj6wg?Zod^Fn_1a9YuFX)_U)3HwPABo(C zP*^!`Fd`h0<(X>Dlk=3;Yd*=RAUjI@QXf!=zXG(Wy1(moG;o6-DW)3maz>uqsdI6) zUN2jC9-mLoc&_;HmA#a$NhE)k8C}uvgU@#62cOvPkdmaL4n-l8-WN^tkgHutYQ&Tga)C|?Uh!TDnHT$>U&V8Vj<1uX$%p@tYANm|lNfeS$LzzyIUyC;nGq?Xh zp!F)oqsg8z%c*DUSxLa9Qk#Hr(>`@I30P3ZVwq`plwvgE&lRwPL`4><52yp5vK#io zc?eWumF5_%h~RJke=drOphve%Zm-Zxn^@eKQM@0o&)dHIh(Y83yzTX#YZy}1-+B6+ zhMpf8E0zw(f4M8R*Lv}8ureiETjxs-&4(%akA2zvJ|RMiKU!Vc-zkiO` zchf+IUEIpToi^fpn7yb9*630;s`cKd`v7Rt(3TgJyJ*f7!8e!37a`lPEN7y}#S@t# z#{;hGvcVzmqne4^iwr=3%m;VGuRVniX5Xy)EmnvP1_w0{X*IkU1oGPFL>XYgX7w6Q zU@wRqRB+YY#HYlI=hxI`-UNJ7ArrSLm=90^K}%rxD-(Fyp|@|i^UlKChZ_mS-34hH z{g2`6=M2`T+K>Q=Oqt#vd;KPWI~%0}<#xXfdS`EG?~Ltd-K+VauOh)c@&^k^0!m<~ zd9vj$j%9xThIWnj8QB4KEMBOTplr8^>gPDIGrj&T{w>>kZDCqK2)!=y$`8vLEExWX zY!q>g7d{;2+^QoohuVHvyFQP}utQ;b`^<`VF`5!V@ZtaJ1a>jTvgyaN9ooVLU<@+4 zuR~|gxRFMq?Eu!lqKb#yGFN)oJ6p4A+$Ex`g7{5<*4R&U3po|;gXx#sO>DS$1FoE^lvaXEfm@~qkqEXoAoJm{ELQmLo?1MI9cmuj~ zIwNP`GSKlE{l~6+FrEOV9D^1R#|!3{c`}c?uiL1_c@k%^v$Z9Fa#6UwUoh2;_uvqTw9OBo#_%=Ps`0RlB<6MHS7dl27NO^38~mjEZFY9gj2NGUh% z*hY4gMXm_Z1xR|2A~^^KF}ECsAP=!O%S`W>K9BxfAgW&xwsEccJV&=cWJL&%q$AmF6 zZ7Xa2J>)Ly3Pwlnw;LYIwX0dC`?G=7KYWvqq%xAnfh2!^4Gksq#u4Pj$%&ebT+GK` z-05=7ER|lsr}eJ#cKIg$1{ZH}x!rrghh)P0L@&F6X_jXWjEXV;lZna-gon3&7ETOr zrX6Zbgji}1JTVvj;Bqdk;nJD$T3c7!C?AB=s1QSI4WhRSXo`j zbzS<7F&4=sGi*Fufy-x*75UEj!Ei`oDr6qHpXID40**+@ zV|C|y#6|6>16Wd4^W3D^@{;5%go#!k!q-@Ee%jM&&;t4CsD~^no^Q1mx<>@~N@h=p zVLd-K5i!&@J0XNi7`_*R+Rx`LOCCt?qvtj{_xUCBEO)Upy%NDnzJZ8OfKwjE;f}1BTRl5ph>|T0=E^|`7mwlZ zi~qpyZGfU>j=>0wvRWcIR-QD0^~QX6i~eO52dz^SaimBG#r;_dvCrzQy$*+mIzhz> zmj6zg=ALMF<&JvtLjRkK5%)Ign6f(V=tILTUR-!>vxfFFZn4nvkn>kH`;EE{!V6ge zo)KO$k+j^*kMc!g+7f2~AaH|? zs>U;5ks_5js#fr|=`5X=IUVeh=I0C|lel{1_}a78THMpLcsQMNN|VKHM7fneV6twb zd~Z{-!KrhS?}jNNT_K&zz6tjYulBV})8Y19X6^A-Nj}T1l0{o{nEpXQD>jJDrfDun zt&{)P@){!;-EiiP+PqMq*PV&l*u53ov`3APo(KClBb{q$o=K^3ee64iWV&01_e4@s zU`;o(?YcT_6R`Z}>PPna7VV8Ihx(oqaCCs0ddd*Je^ghWzGrB6NS9a?1+iB-9@Z3k zdb8J+!=i2bt3TwWDMj4uxG$zuwa&V**+03vyKfHdG7zi+R=Yo8 zju<8;Cdnd;#2?4BC1XIwpYotrf9s`TI{6M6A?s?w;cXin#6HO-LK2V)R0dUNT1uk7 z6q`+JYDlsxzDltznw?*4hKDI&j1Z&x+Xy{>YRhUws{%v54Vl2GS~+tysW<6SRpZ0h5Y^= zUq;Ws(R!airRMYZ7g3(`+`RqjJl2`6h>cQcWo3E&)gUsGti@qiD4jO?p4V(=kx~=+ z@b4%FbXw@-M{w83w%G7#-N5|@Tfr9E6#LMXOx+fd3??mVhfMy>pJ3e`x7)$)(`J)c z?+qepXceI}G(-CF+;IrCk+^V6J8{U4Gdx570KCN-#ELsBa$j$^%&IDE4e9^cF9Mav zg<0~F+f#rjn1quBqSSgDtsz~&pjag#iueBQ#CykVBDIXP$1Df65*+{odN8&7z*+A* zkD07&LmCyq&5e}(OaY-T;pR~%Bp_6Pd)n~ATl}GsAHIzpJS32(98mZWr4$D3@~Q5* z4Bj+;-LwA>>f-|*?Tpgrhm%p1{9h_{Q%8L_-xmn{XRANfOZchX2dJU0E^|-Q4$SWg z=ZI&ZB4KZ=AwWL(U3s^a_}k#VP0#7|(x+e35TE{GKMr`p_&^+crqi|kdO<$N2&7|o zic94-1rrVFr_|1+>_4M(kWY@~-5#!Iv}p`P4u9`VFy z5YoVXj+33O_SAB1%OH%%NJt@X={KPXzM@g9+EGjFopSKvuk>#QfGrH@0+Wt;OvTC| zBVI+70V=$K^LC)zXHpnmia}GWBGzy!3okc-(x3l8XvzH`1qmTfxD$!lZV#)jzs3Iy zLvhSG$*&!$-VF>MpHW()RW2@K$_i?wS+c+2$r6LssWu4TVPdjL&?%RKyV4PUi1)~T z3i(m7PI@2)g^`~Y5=4=oi$ju7hjw;}p*wBg=-%c;bNu%JJy(u-@Y)X=!Djeq5K* z3b~civ*WpXlZp0WT2Lv1se-EHnfsa=JOX%HDL16J^T&Qm`>dyJaMSZ1V=g6ZNxgqY z!M)PSDEf~)TeKN=%u9P8u}Tbg<`5^UiyC#9Oj+cmv5@lrx|QmL=YIJgG3G30zGVp- z$B$L&2}oV6X&cg?^z%DKZeYPcDa-p4cKk0S;snJ{=jES$7AN|bdrDDH+RzbomYHF*I1yRZ?7R7){&EDPn z)-N9n@xOWXQ4*7f!EWmqV~a`<8i*wIux+pOS@P9rs2qFDNdxV>=*|dh`sGEizolRo z^dO!F?S3HHYRNf};`$Q*UjrH|fG(Ne?N-el3dk4w+v^H_;x!r%Xy0pjN+rLToGb-8=Sx|X&3;2TSG zOX~9P=rof17$4kp(D@8p^q22Nwr>lV{*6paMC67VPqU?W9A`HGmeog!TTX~C;`ap$=U)q^{P~kJ%X(tHj)>z|fvLUU0<}BS{ksrC zlWeYjn3SW-muT*;;Y{z7r^$o!T0rggXV3pY+=_3}d`YH|>V%O7VVlw=8-vL_3F-rV z4>Vqv_YB3=9sf19=wBe|do+u}%R>Bj-ytWw-dHfL4y~W^AG*zvnhNo^_a8-MP8>oW z(k;Yl1Kkieo6t(Yq0p15ap|{rGV={l-r`BRrna^1wIrnZuSSs#iVOA>=3qO%nxo3= z%4)i0yGZ|B{GVJE(?RO5 z?qA0=|1jSLr$swl?sR?)($IHi;@vDHV#^r|Fe7+W9d0L|eYOA}vXAEk`)!l?-KM2c zcn1jO<^G9#{a9=@DrypAYw8j!imL)ZB+W2Z$(A}m_J6}+IaUg;1ISsthCJ3qSE4l zfMz~AP+X8Rh+ir+h^Z2^ah=opFPKs)$MU(v%A<<#m$%>E+@hi!-%XUBYRrphQgJdr z`&1_NWVJL!O*djM&%zDR}Jrfb0p!~8BCAuZn?;7*mQ`tg};lDbN z|G9dX4+*FCuzg-c7Tm?06F0Qd#X@p_Ek{sTS9TrE=)SFMZTn5L^3~%0&Lt=lP*XYV z(VPKqy)Os?(jwiWpdcYgjua)N z^dKTqBHbV`av&m%21RKY9nvi|q)WOPFuKR+8u32kp7Y*w?!ElSpWE~7_xpZ7Ny22q zwa32oD3T7J>Aq-6eh{+G-AS)Zjb&cvzMt4==z2O6e@O6`QQDaX3k#AV52)C>qPM-X zlQCHO3GdlZtka?3jB@UuwNp)AT30d7adBhs?kOimviu5A~aEk5qMeFznJ_v_=& ztsI$QWn{|M{eQ(E|8=N-mW8wZC3wN5%`ukY0cfd-AA?@hdND`!N*u{*XDM!KJ00^4 zQ89x3WG#plQTrmw;gflN+jf_HqWOLDrd10XeD-YvidnTjr6%)GeA7p20*(&{Vgo7& z4jt=~idR4&OPsiueT&WPN6uTZWy@kueI8Z`C@V^aOSX4F1%6rB;vz5ahD&a3#yAsy zauF+9PYP9{ovG2-*9(X-7*1{x(L}kvhfNy078{Q<2WE&>BaUQ(%l;@b(mUE)?m7WW3Tu9dyH@lHUV{-tFvkr zz+3I_oC0!|yC-IXcY}c+_1%-v&G0DY@r0(dCNs}PFxO-mg+@+(e&|N{sk{`B?3>=N zRsH`@4ZD4veEL-g&fXyxToA`oDld(1afIiw*xRsI1Do%AwSmDm z?gC8?HC)HE=zvV=hoM{J1NTg9S(xY3pL+F_Oy9bt;82z5p`GNc=)=E+*zwdK7YB=7 zNmk|`lX5x|GV+NjI!e^x1j`*%DLB?pW={|7mT!Herp|im8^Ffm@BhoOcP_jxBInSp z%gJae$w%UvBd9L5%Ml5j=bydik{EUXHCUf%R?Qt z^UF+ftfxMAR>Kpqmwpu7K-jzW>bN|MF4o2|{^jrKqji>N?-L)jEIOxem<|tf0)aXT z%9eunL~%vcCEJ3X1E<9>`H;IJJAtFpX@ij<|J=e)XU@P1EC>q7z3!PB8@bEf+^mC~FVFvO?n%7`tvfE+Y zogjPfTeJ=0%)29^!=fRCGs@U@2CT9QKnKSI`nPhVi1=@0!Xa6QAPOb%O)`F^OcdD> z8Nbm$@>9(1nG4c{fn_)7huL4gv592F!*ZHl|6Apu=~eW$;zu0f`BC*y8Qz_zv^00q zmuKr%eS(U(gCN|eKng^wbry^n`z%|v@A>8LDsxqD)oko~1lto0yU$Cm3m&TCNxN)K z3^-)wyl#7+E0p921a`~W%JQZy%S#9N2KY3}21s#`G#@kIRpKF!e0CJqGR_+Qx{XY>K{UhX@2h!>JCN=}a9lb!RJ2>ZNCC_70NSD)8uI6IC9Z z;MG&0sNy8>TDXuxGJbmzFyDOLkKEZ(ZGSmHpIW1R))?n!H(oM3}l3 z8%}_sE5Vt2pBZ$ixNDbtgkQgykkRYYt#rF!s@(~u2RDuQ6vq$yzte{7toHC+yfZg+ zNY&rnW-L&U_mmhFmzNLY^$-%bZ-9`M`n55cU|!LT&$}N@-pkf|-)CdfIr3V^0KB&o z{m?N_Tv`iC7xO&Ex?#zo`@qhTy5~)#hy3r-RFSaPDi0>FdW8Q{=yv$vU6J>XX46iV zUIQ9GZ0nL@FUjt$%V~;guG9JLlX+AvjXexKBWwQt`rdg}|G^SFuALa$f{x_RA^o?v zo-VQNv)$hVt2_7l{R)kojwW2*`PSp=Ch+{r!`{fwL;~Yyafw{0P2+ybZ*RnCR}{vx zNCuq}D}Wn25!{G;L<8K~XD8j>mMsehdOxsyB55s^LB1@S~cSxmBidDbZ|@$9zhYu_eBXIYs}x*_a?^;mzk|G zfk1jgTCV)TC(-9?W(kys_8uwRn?+RX3NKJ1F;OGY7mc3r#as8f^ml>O zQsXGOwx~UQPr|L4aOdfQTf1doQ{dX}?(Wa9SXIfjGus@!J9Oh&aH}xH0{yxfNIf+HN(p}@SRiG+s4?7!_kD0&6$nfN@%qIhD9D3DWt$; z=8mpgyA5%t%>)cx?jIr#zjTuf_ceID!l?@kv7uYm+95{h~R0=d_~-sMmND=?lXMqYS}RPF2&1;qlu@iq_69YBzbZ zm*uI_p%#VKQeQ=bGvg@xTf;h?XF@;O*;s|nKTd~1hKoY-zOAH}O;>Xz5ie!z9pC>j zcJEHrdJ>>hb@i&2!-7bYtXOQ;lDHCk8oS{H$CR@r6l>bKQe>4VCJARWBu}|2-I3(? z<_#=L=bES(BdL-mU^R`pG4{4~&uMcCX;B6o1$Z?$3#*=$OPLeb94b;XNgO)QB%SnK2{B)PU|4 z>8^RGIe4#1(vDVb)3WbumI~a+8)7qoV9Z~S6WKlQ+)NZ|8?Sejv?Gq;D;t#ISAFij z=crq=Eath412!Mez)?X3*G^pIOgo%sir5T2$vf@1SGgK(_-4dCW;`jCDSX&MiBoV*jeEjNf?~=;J2c z!VyyRbtbYwLb-b=8K!$HXK&ASL<_}Ec&uc~wV(SMpiJ|=7)KsvG_M7;*hgsk?tS4) z*p2gMkV7cGq*9bf6d5cPxOXF5W+%f~j*hJ$1m6YUrDq6|H`D37`qzwS)!_PjOO{1^ z?sJmwn@x$<tfcwt+jBS>@3X1A@I*yXzURw?5a*^o2xmV%g}q|Jt@ z)?HJy5F7i&>0wXkVr7_akLYQ$X3y3e6Y_I#r4B`WI}_M~E~viW>=GO8T~*EAr%O@N4mmpa<^RFwr)=B-N>K@a zLB$R6eU>1fJ5=y@7%u66{oj9Q{-KL_>h(FMeJa#9u^D zs?T!yMK-BjrjXC}h~pz0$y)Cxr(dtA03E(-`t(Fw^|IPa*S4~3a`1ozoRh2?xbawpyZ)t*aJ^f=$;fA+Hj~db+W22a>8rIp zVSgGW!iZAPIL#&nil7o`fMU>Xd1P~sd0CxS#9zbpv$~IR&T(nA>x942<5GNO@Ub@p z6{pKr$=DpYW(;=-(f2$|tvrq<-u%RBN?f|QY1te>rs)T@Eag9KWU6&|ZYq zD6_HX#KK(dm|S>eoMHXo4`~ch?TM#o`yD>aFAE;#-(R*#w+3Ry6LtGa;H1KpCIg>d zWD7D5HZ%n|*yzWeO6Fs9qIliIh?=SY!J^d&;{M6ErbKi;abRg$Sd$T}0@&6wwsRmk z&EL@s=X4S8bPT(}4oDBaK0TM!<*85ITfe(A*SjFYn=H#>n8Bw;xXFhnfQOf8g=b2F z8v>e8?_ZEy6r>T;ZHXd#0+W5)6_)ns24~BTi zc0-_CXi5{iePb{1u!8Y8FtoH3MYiHl+YHVo3Mr~E4u@F*1z9;s4viJ5lSVDu`;0bL zFO0263)K12Gde{cdUSZlQf8~Dd>!a!(mSr_L4jN)jhiE489u~M@4*_1+i4`t8WM$@ z`KtFn=oS;SJ2N8_7_qSEfI zQPCXcmj!=All#9@ek|I(z^SA4qG!J%EV;1-^txuV|5}!tdzbPKU)4sTr9b`qh9<#J zi|hdL~+m(7306~O^%I~*s;gG?CJWkRPu`(D;mUzMMv{+ zd%ZHWWzdQ(_bArD1|T+HE1@w4bzv_&2g_T#pY_-}Sb#>nV-yf0qmWyjSr2QQr2?jn z)Zpq=!72;gdK4!3c{9%|30O>o3XgN8E_xP7h&%?}wI}7~j;Y2BO}LWXGkM8zdDrrq zj&fBLSb$FljXrc;E8cMrmoT|_FOK?FCzO}lhmB~w*%N4zH z&JB~kI4{{W(BGxCdJ zG@H8XnY{nl0SZ6LCU|MBG6GwX458@c>&ve(G{C?L1@7m1oQwE-Fsv7e04U%io4~9Y z+nE19ALw0(pPG2AXFdOcH^+qqjaYMW7n7caEO1V-jNW|mu8M6NO5lz7;oDNu6qGji z)InkD<7{j0k30=H(G$NeLLuBs7;}db6M3n+DV=@1^JKNLcAN zfNstiM(3{mg*B(+YAv)$OU>1j6Qs99qx`WF3Om=;`yXW9i5BaR3vDvrl`r>f>;(!= z#CwNj8El5eON>FkU)K`C|Ke3QB`5HmP&9a`!A0h>&E|rm=JIhz6X%yoNWuOZm-xdi zl!Xo`o?ojdUX3w7D|Oi8wT(NaFk|yw6Wp>F6T+_{V6vWh*(SS00iU3w;U+WgrQ# z2Z^}h$b|D(AT~CMUUe?PD3^>l9mL?2Kjdh$@-|*@r+T!dqT;iBPdh*Z^v?8FXy{2e z6w;NhmD;*9PqYtV;7Na>gpuH*94L?T8Y{lNsJTI{I*Pdm>g*)@pmZ{JrbQ=htL1$?0clKu$Gj=C1vW# zKq9)rQ6E9#Ob}Df(uXZr_LgzDT$NTfVg? z{~z)+T4)QSNyLOpw9+g+DWv8SuyM2r32cfK`TdrnwC<=l-4ta3e-#!|%U-+!51db_ zLx0;)NzzF82OW{B)m5;f4HrOpe88=1?9-JQDsMC31A)58NagCbSM(4|ANKJN?ke#i^oe|-8UDSnh#vntj< zM;-v18IIl7-G0gUhf~~_B5u36yh`ENPo*to6@fyt?A{J4JL*TunA5%aFC)pnCXQ8b ztTZYU>1hk|(h*UNc0c8CUAoXlC8Tg^z1F7^IaHD&+te3}$P<$SN?y^0+S0C;3f(yKUI;cCY#BKX|c_K2((@BiHcj zgnP85>^2QvFOSgI_{S}#Kzb+S=IPys>)E#Tup0q*?Ycl!*tp)g`!pBe2-2;ewhcKN zfDD!#bpqX#yKhtM&>4R2vj(;+_ei8$+rn1uslT7wPAvk&R76!OX20s=b=|F0XP|b_GO_@<-7IE{!T$f1sdq~62Xu%BX2L|Q1ZNpe_N zw}yE~BpCAqrF{I*ZxT&b0vfpX-#vYRkX-Lvg;sVoqDdDEjKyw9v#Zyc#ct_Jeh|to z#M~vhF)NfdpC|FTsB6@q-vmrObFxLTcp<9?H*^6Nq5~Hcb=_k}>ua*cyN+a9I43VB z_4;VdbPHF67L1l%IlVRDiK_%c)?_W|Iy*+Lo#!&eJS$`+SxdRbjcd;{8U<4B6MiXp z!q_g*l3~hx{f?QF!pzh*bBhSltp2;PZ6Z&SE&`>P($mJX*RxiWwYW8x5Jf1P4A*tM zqrQiE|BmRfSKuff6FAZ3snu>j+bH#Lt0%Cf7=paZ|H=ZO>gaZSqNAfD8NT-<5ounM zFQ9*GiBd8G=I0?ST5~l5+=4Ox=~SHFdS_e=!ZWb?wYB|Py7FGkG<(>8wV&w|;GAA_ zc)8EG%F_>ZAR}f8K2LiH?=p<#gaHu0pCoVfY0Q)&R(cU~89ft8euW_4%5l1ATCkn( zcwR;tV%uAHGvT6<9o#}hFg_(-w5VEN|Aj;S!n}5S`*{K;&wg^6_%{&zVhJ)DB;?U3 zSJXW^^}-af&RDLFEvO%VOY(X}(Y;XOp?ff|30^2@5b6@M|0A>Dt){&nf&ai1`>?&+ z$X3I$qMQ zpdPA(2OVB-Cd4288nO-t<-&Wl5&pGQ4RL~^)aFW?3GD`JN zPkX}W9>>}Rk>}QbzfG}p=`JhI>5YB*H>>9TKoAVIp41M>ui4mtk%z_X01Nic%pnZP z)vGTSkqKDZOP%O@V?g9z!p9(K7(j8e`2YpL_Sb>N%`tvS)32mtpSEj$oXCAMuo+?R znJrOVeqJr_NNwbtPwi5cBhGs8Ai?_;h5rV!9A87)w66g^>VXE$NPF%mn<*yQvSQv* zWLwAh8#~!{a+h5Y)Fb(lq-XA@|I~G-$nLi3yzHsKR~dcl*q17@6dDBHmGOBTI5cf@ z@+o_BCtLo!R%;v+j)@H;u8`VLVU3vI|3TYa!RschDmsG<7e9j8PIW{eI-?ZdRJq1X zz*s$g8@zpOOD#WR&WdSiVXjdyeNLeyYDHH)Sra|*TTJ<(m|9@NV~-4Tb~1S#?S#-^ z&ZKrB{GXzc`H%9qirY(@7;{Juc$*%#>ocXi{?<%ri`(wS?Z_{5<;8ER-?lp$joONe zwy)cpTDt(xQE@j2T-(N<{E5Sxu6$pux>^?e4@W z(8`I=E6=@m{=918G>cW@aYkX4w%;AS7sUexx}XsSt?>>+JLitBERteIU<ceWtk?^Da9#fH8dgdXPX8d9CYur( zWZZc24&@609PjdRT^+5Khx7-k9<+Im@5I72`{EZeLY8Pa*8&x<&Axg3VNTSnTqKn( zDnOF&);DM3_ikeRD=)8joW(L?>@~mrFy~y|AlV9_rlf%!2MxzpPm4k0oEJuh#p0H= zQ5Q-?Z~iOHAreV={O}WBZ)+p%_DlN0n`FfB;Flx&_h$2E0e%8I&BT?H&VRYyz;*$e zA(_vc?9+A;NxIu0%&!?dDG8IdvZ4qW^JwYS9V@6< zNpP7p1&@*2lbDK5?DK!#^M_eXL8Z;0X1z2Ozk@GCB(}y7ZOiK>Stn#Wu9paO{;mpZ z>0C2;<$_`zf0o|Sx>uRNyZ9H97Ilz$=Qd3!1@Ys&hi}TR9H- zW(B-%3%RkXK421@#I?zI0f?p9qH}ykdt;VdOG#Vc&sCDt2)Y}&XpVHp4*Jxfg_i&c zKXgm+Ee(83-g|Ii+$pqTCHrtwGz3Sk9Bdw5-ol{}PqtXv%_ zpP8(RrhRPyP+QFycKF$Lla;s((%(x_{Oo_d$+IQ1Ep-vsXrD1b_bPMs4eI@g3hwWH0 zPHqSDk|DqLD*e7|Ma`KkFf1bN1B00Mp0Pdl>ELA9!C`#lT$fb0WB*A10LfCBXMcjc z+xIhSvnl-)v8UB4G9O6_z8r(w5Z{QXT8M}>L6d8GM}RKw)^2pd%DD|eD8-Kfr6-I- zjg4)-!H#iXjK!t`htwyH^~A%4l9N3E)d$ng&)b~HWp-O*d1JjZx)leGu*hH1?UF1j z$-ksmvV~;D>l~wJwCfY%K{C&-V7TsM!O+R5{;a(78NMs_;GKD~^?0I9?REA{wtq8k zS5g<*u_xDXCJA2uq$7nr(<}7$JK_M|-J*GA%A&YXI_ii-lG!Vfiy?NQB)R*d>eQdS zm?-@eY9yJrxnnqE?xfk?+h@w*{K<&?YG{zl4wexE|N5wArJ=QmhSSw%{N;`v_U4GV6mIfm|`IWIe%hS6|!IrGJd=ELqjPG0C*Pr@T(n|vbCH&S+Ws-jtFnlDa zXOa~fKWV~kKluF{r{)LwZ6}g1aZc4rsNVV&jS&2dJr9AdgqoMyqu(+;xEkWF*4Yo; zar724!^w9!K3STNcvn?|rdR<IoOhxxp>ds-LoUzyJd?@jY4DQBK| z=c0bXzfjpa=tSB6csunxk#l9!JZ5|j!)$|Lb}lX;Zqh$yz1}OkB^%Gl_}DCw)arZ6 zOf;VXO9W;8;sxtCjKF(>jP+4dI86FZR=#e1%N99D;y?=P1X>UTR;9>2A3xQ$?Irgy zXVhRx{`Q3>H7R#Yzrm;L2F&9#={fWWdhhnFdC@v)p}71hwZJBhpwjSU%tB@S&}@G!buLv~)eT{H(9a&bsEsVBY0|wcshl z5~HIjkNyR=DYv|;Kz5c-A*@~3t#l2%xo;w)uPYi{YvTK0|KKl4 z{u=GCX13B_hK=&Y`p8HxPC{qwyML?b%AB+NA!0w^Yz!bac$9{Vqw{{x*o%L)G5s5o zk|{t1vsTk9^zST@ngR4~yAEEzFl}l-rSgx?1dgvUR@tKk(vLpqZts@npOOJFVoe=e zuG&jt(cd3efZP^wMtzEI>Q=n-zFn&cwb}02nR^r4XpnxvPd@yos_b2*D9lBY)u3Z2 zdT(|Z^H@1!$%}9@v3nuikG8jyP_&CHXXal({Up(qyuE#E*rqTDkUrf$?6ai?Q-GSK zwDk3v7fM74SiJ=D$cPe&5mkQyF^f#xul^};U%ZZ6RDT#x$|5PY`|Nm&ncBc@&c8$D z`}gm0dv6lE3Do<|XX)xqk0!w%C0titnq0h?yV(9rs&5{!ibpOF6-B?UM14= zE%X$>g8C0IdvWo5CWRY=#+sCL=bZ|ItgVTl@ezP@H>p0!8urt9R_~FCC;bE_xp(Z} zI10?V^PXx{FaD~YHEp{1GJtEX+{$4#D%iW}%XM-5qK+leEYOkUdhcWFr!sg(pFn>| zzm2&OB`eVZ8Rb)_LgNam|D?JgRBEXuRF9k4{$R(tqsVj;$ia_UJlK1|kN%i5(~0H) zWR(K7ACtQm{b{jZ9|BNSJsW3Mcy6ps*z)MR=n)0D&Ctt1*J;+5pv{?i2f7low?*Q6 zni*rT9?1P4f>ZVIUpX(+B~GaCjvxVqV6RVx6@$NIy7c;Ow3n;Iv|@_L_M>gxmZ74L ztQ>BvpCCIn(|5vAYuULnMHh8jQJ>9eFL~>I8@-a`xYj1h%zOeF2SJsiwyavxEKI{vKv?p)TE)fOww%dm1QyWWP-r&52>j1lMKOH00|*+8u~#_T`@U+Pbdp?`-x5d?=D- zp@dEw`8v$UHe8z*`JiD)&hYsDycz_}2HeBP#BKXwNJVuqnr4F|m|Pc)W-_ffI`C3%`s>a~p88z&8n;q;Y2`WWdW z?Vf#9zo{M-VRhJ59Km7m_78@Jbid{>zp(Ard3Dh+>q^2lN2U*5d=Ky2a2`$oy7V(b zT)f`7Ubx0wPc@*PL)LT7BzgPny*f}2O}skK|3DF;G6^b>s4`G!VjG{4p9>+U3Z~G8oZv@gHBN|Rxsro|=#EvVb3TPGInPmummb`I$g#j8* z>3ZgrmaLLtv_!`aNbZ}}B^PCgeM{L-EMvu4TdJYuO0tmq3BqgVdifKI4^zAjwa_gc zM1V9-QspAQxL`$)k{O#wHp5c8knzW)I`-)_E<0y^q)s5DkM4F$*fqD!%M`G?KS{rLXU7 zR^7_IZusmd|PU#DI_D{53jTN~Y@TTnz76C2utEzx`FNqfIXu`MUvh zHX!nFRmNd^Ke~G;8Y?nNbZHB{e>iWm$4RUC!D;MtIE7+QY$jh>K3!=%S`791XGpKu zt`{sjwS+x-X(yxEQl5^jw_&2WdVGa$<4wb`lE6GgE)Yd!dhK5j(C%^#78@TYP)Y;V z?hXzc6jbHAqGx(cCOo-S-=d&Vc7#PSlzc?#K!-&qTmq?*W!bd%JbM9 z=1x{BZuy>glabyd?iI2BTx!PZ$e<{R$ld-jN;pAryxCqZw`s--o$gi*8D@zn3%-t4 zm&7DOTNiZ7B8K|r5BA(fKxZONpc#IE&ZH;Z2aNS4SU=7*kk!_6MgR;r_;M^yPFl=J8 zB-i{GDg(JQ*V*Gt(M4hV%W1T?Hh`__zH9kk*yLBWBxNQi>)_V~=pTw^FfgO^{iz~5=#$8VyDuH$#!Lya^wzNBTP_frKIuogt44z!RHS+AQ=l=df{Yp5C ze4a9M0ZWbxI$N^uBPD3Vm09wlwjLCZxN?;q@z%?93f(slI=P+Uw)nYu-n$?2l_Y?w zXrkJ^=L$Wp01+95(It|tK>#;cS=9tmCnRLx+X`Z>0`JdH_^a9+My)8W_>xO?C(OvX zgkD~`u3;yjWHx~^qmhz}g)32(X>Edw9J5tU1>*&b5wmI6Fd42Z(hO_c_XSa6?SWjp z>7UQ_LVK6#ECV&`brq7ZqFqVDi~QAU67>e`8?FQ9LMRxy#wv9nH(d}*QN%`0k3Ypn zKl>-wUdH~>p2yb%<5TgSM_VK!lv5O9O>=r{`~5?_ZI`QgxrO|L2GEO#)#uhp9mxU; zT?RR3ecxpnJ~7Xy|K(HR^_}#&SK!KsYyMk|S7J1<=W%TH)0z7hqoQy0A^NH+5KObat#Pg8+iC4yVc@(8ta@S4Tcm@#K3`LmR!Q;0kGo=+Tz*zAEOtA(#G!y`1a8n zR@lP13!s~ws35pp7;XP8J%_{CefX6Na1)*1+G^3YhuVLOTXFgPEm{PRPA=@_uQ$uL zvMmXRII^)Jk?ibJCiRSOW^T6Va6#^#Hd}0L8(2OTY59`uMpG&Eb79L;K;5QRNYSH< zlYA!-$!7s*K>@vwV7f10hkpj>k59`;N_td#yizfDk04JTif~RRx4ax`^yEm!1pBl3 z{#P($5(&;vYNBDpWqN@@ea#3P@#&k3J3Qym4sCz?ye4R)7I5waUe!jf2{{Bql_r_7 zXY;NO*B9C8$p%>xb?E>2crK?ggNJrO#I#-J{Sa9ONfK*5Tx9N-C1LqLxGHDU6J_a1!m6^UgJ}UHuEKs&K0);Xl_3XA!)+FVN%s zl~_%=-vFzHmFg)Tmg>>8TFh(8UP&yP9DR55U}$no1Bk(t7TN8d|H8q=exZ9NdU!(@ z&b5B`^oDSQx{5>Ngz@0txWOwYjWyBm1&?Jtg5u|_=F0Nz>??L=j+d1-+A)hVn|;Hv z&avsyH^PZUj%5EELL!N&J9lSj2XARqTRJi{#v9`?d3Txayc`lc|0c)e?nG}Mt|@G6kg{k0dKJ>o#r=zkD0{r4z8`VA0b-(1R^ zoq?qGv?4$jV?D2PeBo?lc30Rk&~E|Pb)`2j`%0vZU8vH+*xWpuq<|0WA#XmSY}OO+ zqVY2cNvgs&cqfV`;L%pUgh|NBhk_skFOHlxa1i*CJxSrs7FXZU*QClmY7069!uYD) z_m)>*89x5e-`$tjcl@QIqO$OaX%`?^n4Pf%OM>&aR%v2&P#Ki$IQ? znYr&czzutM59J0-u-$@I8ejW_0jy8@!2l(gi-GN&68CS%EU+P_sIWzb6n&}%k{c?H ze`MV+#V##69N7EN4a1iUp|uzADvA2M8s(oU>s!Q6n&iD0zy9(>dXWOr!Z5J9N3}-6?-MK98^A*rMcc2 z*%_Uux_o3i(Kpj2ojh}d+L!Q5I8UlLKFYcx)B#f$W^Cw!Pw|RMrwMh8xBj<-hzWn@ zqJ_v+kd><`iD38VLQlL~);05<0qk9mYMX`dJBME&DGZyMw%+aC{)bQv_-9pu zFyn;#l)&LN9_ve9I5++0JKitqIO~eA&dPa|uJlR&cV}#paLWy|^QQ9~^k!V% z%QOk!268l*WV!;#x2)w40jSSpX~MF0h;#g>QKC<5nE1O6n$|<&of10&l8v7dHjb~K z)zRXmU7rJzb2&QbTojn@JR*I72po#s&w%m2rfkKF+*Pz8Ht{FdFmGMrI3RFoS?oDzuJP z*z^n7sYFy2+ zOC{6h2VE=}Tr1YYX#emGJOSvAqv@H|-tMvqdeYD2+~FJ>9)0>HLGbzWs0Y=`Ax;sL z>LJ5{b4+_@i;ZhXl&J>fqr*JBfq?84ur}4Eo_LP{!n7-PBgxd&;bt+&ZlfkKDuwtz zPCR`&95k`Xp4Rpo2TkmFH>eHBU0C8O->Mu$dKAE!`SYuYE1Ck zi*>h=lKE4K6qID6FUf1SPca3#1*ech59|1|d!DnHOB0ASvecB3r>SH6?qxtL`6Pa} z&om9Sz{v3>ae6i8ZQ|3K)VApQ?HqlNtua(<)+d2duPlA==*!U}Pr=sxfXu$hupt?1 zSAx0yVgB=4eegQ_=ukFnrhJN}X003CniLWx0WN7EY^)>d`cxdc*K>>1dL1Fo6w>QT zm-JlLgp-Ubv;wrTLt4!C9?Of&)*}ad!p3!ZS~9f>&{-?hV!Xm5y6G;H3 z0%u;l*=(;AeCt#EZGmkw=_Fpn0qMb)BHXJ1^)Fl}HE;Fq$rd$WyH99v2pf4?Sl(oI zcB*2=s41T#pBw`Bf$2ZScdTg>$)BKGT>FF3`?wwD+ZR2_SdrNn^rP5OQH}UP_V`cu zX3S)4a|8)y$YvKu?wAxKY=0rOStYZdw@S5lFeR#rW52`wY{nxSl$C9Psc@ zq>YKZwLEGB&&R;cVb+(X%UaJ}>1IC>rfJEV` z-X!az#Yy-dWR)D-^cW4`L7)i#3W%)vcE4fil58`)Ow-$!%!K*0kp;6eZ_O^@@lUb(ztCmcX#XaoZ!z7nA{dFEawMttx)xwM7Ry1uR`?gPBNG z0{us(JO{)s_R_jxQu_swN2}KP+(P#5mN53$1JhJ^ln@|A%xlZ(aNjs$T%Nz)R49x2 z7Wrttd#|_Sp3k_xkJ|&~Dc4U)PS45vEHdvIJw0)9vTbzgo0KP)w(M3AW?lb-kzyB* zm3f&Xb_kicTp+{5uOPU0NJ~b4qe|y@ua)xyeqOd($HP(`C+V*J%;KE>;E>=2#+;Tf z0ed?%KVak~iDFrF+V#yXW(3oeEVyJ+wB+nF24_df z`M{VglrqO{d*1Zy-r>G*_QdK@U&YZ8aXO4#9d9l6Y&%`>PMJ=FK`6%bm9NGusqPLqZJ>N=pb$5g z?>WI|5(RUj=yS~j{uZR0ZVu(#`7t}}XwVhD1a*7*W^i`)IMBK`-Gi%5$Bk=fdmY%w z*6@5MqoQNNfh=~!R{u%!*1H5iiNKG|lq@e{YL@=z+6mmU{Vo(KhA#|W&-~UNkV!!* zv!=40EjU^CYBy#Nz-E79oy@=(^F}q zLc<>&VR0zZAbYCA!>T-WR@*$!MWhw&cUmeD5VW z%%){k9JBPOx{Q51>6(GH@Ir%GI*M0!d(lZ`#W%)gu#>fFfsEBG6Qfq#-8?*(4Y`~c zj;n3s{0vg3x+8d_`8q~yKJ#AY4oE_5N^G2P@ZpxT{A9M`?tBJ@QEG>@=~I*0dl;m* z@rgGc4(^JBBLn4RpW0OxY*CPFHnP=z1msRH`|q_`FscctQ^?xmlsat1x7s8IhyDtA zHO>*Pk`f;IpD{M8e-Ivvn$#nI#min^g9lGsTT=msz<&`0v#+pCT3Cu86(9&sHkp)C zdM{ic?@HS*mk@`|P_9YsY_gr$VmNYH8!`|OL4-`Y*p@*+2+pRt1HwuL`X@I>xINnp zO6QE?(Vdzvvi+pbmsP;c!q%I^Y%jQ;hz@zm&_z@nm>-w(PdIrsP0CYLqmxk}GvY$` z;qYYX--izvY-pt%Va!!ocS1j^XR-U752)DcL~vF9(Lj@0p7|7cTKkcILlFKl%<}i~xn>33HJtXz-?h+*w%~JHx8t@-;a3wcx;# zNo%cyy59`Cr9U@AtH#n+^4uthHCrH#`Wm}O!USepzf``~+8zt6a^v3zbli~ja+iFdS=6XNVNu(-t} z3;c&rIoHW1eIV)YQ+U1 z=Ke=78XiG4iXZtw%N=d0HitEvb9U9bH1BKGg(RB6Nc#HQ43CuxBcLG znP}=Ruy2j$(N>A{x25#TdXn82?%6lJ#~o)VRE2qNsJ*Ig26 zMv?JL_`U>k;mWlxVfC)QMS0wN7qBelgmN{@p~!Nga@n`lZ`ha#2?^8mo-s3l$X@Y9 zTP?XHHg4oyC^GY>KUqriJ9VTx6RQ(4Xve|F$HSxl7UFEfvyX4JMvNaHuy00W8^1hw zd0Gfbb^@zw3=&sA=4!yN-6$P1@JuosHRvnz?yI4&v$u~ByfLBRy*rp3sd(JZ>LXco z1K1BEZF_opM4Xm?kL`zR<-MMmgR&+k;T^``9BTdta>l`cvtpI(xg`$T?SS{LG3v`F^qu0qS+EA70xxHT9knP&V2ha(;T4E zwI|kNL`a|ScxtZJm}|F6Jy=L+u#gw@i^2$yqVpyc>eYb z&U1%795<|~^`)zt)x*KJ7886X_29>$MqUi?)cUKM9SL0I5 z>^+!jB@UL2Tk8vJ1~T8g`HEoK*n9=VO)#J$sfoC(55IBsj!FCn3AUOy#Ehi6pyZj2;!Te=3%P68 zUBCh6o#Q#G=~K0i45pxhR~hCd8w*;w*QR&!ufF}p88Git`lyr-BceTZ!F*2 z)&5>Oc@eaDtB9V&We(#wL!St&ZezEL#7o_KHi{bHIi$mlUH1T~!moGiks>S+50pvT z3-6|gr7BfZG8i>Z4BjWd|0*N>^TG?hj*XkN?n)fwh@8@|42p?DxpCsp7-)k*!IHE_ zK0Z2@u@Hvcw4CCvpk;CwI^B4>0(VjLt9mLw`1WhifNSnW3r6Dr=@||3;_qNK3F=NO zF-oJ^C90P9_$DQ{B`|l>M)9jLv7-2Yo|lKLIAYwaqGHHaIvl%@5J$hgHx5Ac1U591 zz>@1<>UA3Xh|T+8Q0Ilp#Q#zD7C=#VZ{N7m4N6OiARr(i&C&>nC?N_WB~sE|Qqs~b z-5@Gm3rk9ufOIUK61z*Yu*Cnn-1qZ5x4-*&-~YVh3^R`7=ptSDb-&g&o;v~O!T0@OHVJPMIfgg0{lZ*J&z-nYfvJ%$ zVsQ;{5Nzk^U=%Y`z7&Z9JqtfIL0#6Sa=OIkBYjz3UfyU10mM|Zx2IQ>Aa8r*u&w>` z!h?vU%@fH%r|)jIRJpsVQy7QTJ#3H5x;3qAOAo!1K8CN_o_i{Nhg?!JoWgPBrp*%<*k3h5@t`rO=mUveJDPMU{R z+K7Zf;x8nsxXy8V)$W{XjOc5eeBYHgk%-=K%gsDbfO(M3k|9?Mee$W_@b`EF%t}$l z?}mKhuhPn{&FWVfPcpqA@|=~dbE?asBC?(=8RvR+Gcz;4NhhSojP8PwjKyc)^!{9O z`@47fUYe`hO_ekAG{4o`Y@}$U)T6BT1gIpEXS+sd0I8mZ4M>EMN0Ov3GsiIsWQCAj zJ)Cb&-eH~8b9$~}x0kUK88_;~cYM6Dk0@MWR7IT{En~VsfLJ<-^kdU(ID+?^r@a3S zbM+JRRfQ$^7K!3gx&IyPQEdfa?q*$FaGqw+FSmjwb8S&iaf$YWeA7_@MavO>`vY5% zz`ULlXLf<-y@<6JR8OTXE~Uzp47-34#V7eUmgX`tzC8u)3m3ZPy2?rCU79$bEc9?j zh1o;MLkltkUo$g^DHyh1Y;A3Eq~UBc&9h)0z5Npvzl#-y?U(aN-EO+_eiZfasM`^% zF-BLkZ9dKrKpB=aWt7c~z9T?Kbi5Z?W>!R}r|TZ$)Uk=YV4+s5%*dY_%Kq$k=NoXM zaq#_4c;CFX$F3yb=a|zg4nC&Mbxx%zock4Wnz5vAvf8kTJ$`SikOMHfK3}w(N$pW4u z@w7j84&pJ~zCim$y!lMEMF4AL{5y|s8QQN8xEA(Mq(sywuklR`uA&zB5?t23GbD{F zF-DcEc(f;TO4Yyw1pnYgWbh8<-f|F+{r(tHLaWB71&q(jaxRVI_dDn-&SxXFI0aF} z!OvL5OS>#CqDOy_ZMcUs5j_mv3qwwc+Md`wgFSAP^e#GS@ZOWMWDkI<0#l*HOR`lh z9-QiF|Id|J_8ENwyn#QsSfZe3#F|=eh#C2LJjEdyb70*5OkF#F^A|HrUBj+F zBa}Z48@X^@tyFt=h_3=z9H6Q2U?a%p z&xl2`Gi{2B2$J*g@($g>aql9YuPDym8GW#FPV1{Q!;uG2&^7V1cRwN&7EHBw0>-i; z`r}xEjfSsUjlW7lvLfJ!`vQOZ#S?gpd4ApCvFmmToCX_qK-x|GX&YqHrTr_Rgd%UUVNm$w3Y^?CQVEG@p!%b#B6FfegkH&9jf4siQ z5b1y!RUzyUF>1l+Zw?e|fMLCs+#(p%Du_ST@~Y1J^aSqnH9f)EGQuz@V_?9ec##Tf zxQ$IO+vmM38Zkzborl3l;Y`$7>MoyMpOb8^-r*HYvne5e85I>}E!D?9u)SFI+=KeG z?p)u%)fcEuARSrGM%272muiAKDk{LdhP)9?KZi+Nzu@Yv{fO|x*tI_E zu3}CQM@qGgd9xAt0=ZXMvi7QqHbZTy*0!$m5;0L;^VXtC|9rTmR)7>%scTm^4IbpE z>Soes;LbO79a+#b4OcA_fmV86j=Ij;WSyO8?=W3%z9@ow%r_sUq`|VorA?Ct|q%EYHh#sD@gGIrfNw=!=e0R4bxH@^vJ;w)T{(3R}~3 zQIQ+(1~O@9biw1^XP5Er7GtKSvjFhLqzLqR%Lnm0$)sYN`p3Qf^S|$#EI`hW(_o%0 zJ~M4Na4iQU9gKzPLsHGvnIdXp1;)H4+_0rm0$ycWFeR^4Gr`D6+i3+cfh#?_r)NKQ zPqui6mk=OzHeWU@UT9AnGLoBNQ2h8Nt*1SoGFHn)p$SObVZOer`ob*dO`pw2_%lzA zK>J07b$>LYKUjXyeB{TZR(#(@yaVn)-cS-JL}KB!W}-7sc7 zyU~uO*EP;BsTo%*l=cnm$M*zF7T`L#iJ;lU(nxi4WqT@ICBJzWLY7VAs{!sEQn*9l zu`y`!O7K*|8kBCqta#anLQ>Rg085&nqhA_q(rSYm_b*rJVKh@2OZd@dn8Y1 zB~7pJhTx`UffLKX(DrEHMeqSBQe<=1mNtl{MS-gWi3f zyP7`C_I^N9Nb22<3+u9ywz5n0#}{+J?oT;Z)OEfzVs0NkcFU^oA$b#3Q9Dq2zN5X< z#mik?*=<*4ck#JzZMLghF7s`=)WHQ)tyOdRRMhM)kpCnCuVPsM|5_hZ)+yaW!M5IHy>RxFPnF3l%KLQ2Y9|kvF4l0hhNC;KNmD50;C&SO{+To^ zz_1*lhjIYz7c5MlzzxhRqCAld5X1bKKUV(jy&p6(XsCF`4~TCnR1wt``5FqqTp2@I zKa@wzzh^}7fO_BdEn((Zmt;$kT@rkkAHMg|zw>ED^$S0TWI>)lf@aXNZF&^Wc6nkf zU14a|R?4|;u_7O2*?-6zAg5L0yz-52EE))^;syv7)i|VIDc>2Yi+!u7^Lw@3(_NFb;ZX&Ppmbq%-i zf<&K}@qnvHg*{iJw|8Fa+K`iob%<+A+R%a6p!?cfJInUXhm9Ut)d5;%HMn+Hp(W=l zmAjehwqKQ)YcC2m5aP4<&3s^8&*UJQw5Y9Qo(enfbYTHm-84l$n3#FzFlz8k z8vnzw3h7$d+DF3_eaP<;Er#+EsgnTL0p+qOS!h;mTAPz+q}7lv>{GUZBr@YZcrQQR zX5O=`@{4-e6^dy{^Jz;d#V4j=$`Bi(+}oKQ_X@^j^fWp z^4^Xz=e}ln+!KC_NRCNbGJp*85m%vx1ScnFrK0J+V?}QChQ_+aPH!|qfXpx6eS(H8 zVxsgX#Nm#yb7x?_^*nkYbA-AjJNhxb3Qk(_%x2QMYBGmlPOm!RrYO>%;{`BLH+cUV zT6}NL(*J78H0vUHV1WDFXK$Vk#?^w1w2>4_pQN9SB@UU+F-=$1x7v7SRU7cA+k=(L zgsAs*oRg({&bdpd<(T=FzGAbdaQmPxu!wovhOBh33j?qCML9EmaSvs3dop1){&;-@(z$a`qB zhi$m6kDDaV8+3K1MqNTXl(X%W2`!kk;Oqg0mWU1_P|i`Wl8uye00-v zis2b1F$#O-)Y2ozn)I$eUfyIb=f(S_VK$UZLLf{)VS%S1A}YTqZlNZAa*@uU-6P2x z=HB?UOVKo=QF2alFV|ppg#pQdq$$(*Et#>e4!@8j0{+PmTJzbHx~&ZBlzWZw<5B46 zS(iC(A9|6#UNO=@s(2lbWcr|?YeFku7}_jX%59GGErcZlg@Y+O%(I-p8Ipzla1?^w zx~)|wyhu6@NsbyclterOy_cU__iPsgSqvHp+o={xo^Ox4c0kxe%nd83vj~HCTRxQO zI}a+G4V95tcsH`lrtn>q?;=KBw~cufQd-WbTLxDVh3R|_1I2T1W?W|u<=dWa5~ta$ zhuT%vW;&(1lz9DOTzEOW9XTE{mR8a{!06@B0Nb*yV7fBrOJ?$_W`OYKMTYg>Y;kQk zqE_qpAS`{1i8^z$tDx>aiq!nN3b$?dK5o6bc;%UMEZFcntfjVp{qyuhff_WS3CYkv z{e|L>ZnRYfh&EuWY7;|8y8J#b08S8*>vh;?cc1Dbn*9?QP62L>7;+4`x8-E^m{d6C z+MKUF5)8yLgjK7;Qgm|gm=gFCoOs(41tWSHK;-QLr(Kb1;MK0X1CkLx8;gEDdo;rT zMw7=QR1-&$O3Oo&cPnfNnE#uieivxm5B1^A0s&|7^Q(SmhByD{0`LVcKvKF1sWZBMA64lIt{*e}HR^+Pl@|Y3)kjdC-VXq}O_IU5E z-6&V+gS_J6=Am=p%lDq6OU66Y8A{Ncoc!LU*-d_~iK!GLPrF%VJMoUoqe8=)mJ18M z=W0eKsVe`K1&~5Ne--9^Wv(_wxsgtxi>}BSI3^|ti zb{kIR7+*%~qf&UMahuO*QT@{11I>FW(IMt-^V9KB;OItU)fejP3-Sw%Q|r}x8XUwYsEa>n4iY(qLZNPkHyI+Pn(L=~efQtF2cN4EGE=yj@o#aeYf?z<6j#N!sjP#w=< z=+7+&cZTm&S1dgf>tS6b(mmk6iAUS+ga(hJiNjXBt0&jj&C8x%t?^D(a=?-QQeIZ)3eL=YeB{P53hRAH^<=$&cE=y%hi#a))W8EXrr&)ud>< zap-k%Mb^YorI|mJgLEQnA1}VoE`^)qV7uHh98c@UBuDFw-{S%TL+#%A7;ZKW0DK<% zrpb$+b<*#(ytM4qn2F&d9%-Kw{^~|P^}h1_!UvvM(+S3$OMNgMfk4}Q}++F}8JFKA)khAor& z_Nb;zyzAGpgYz2CH?irShxWq)AE0(;(`%vKQoB5$l`)YSI<@`=Ro|)%uQ3x(=jp8d z`Kpcg?U3*tOv1s+2ir^)-e>rpJRe?eysqBe|0;^82i(0HRPGw z{n5ytVrNB*lj&TE4P6g%I2=ECL*~+Hj~nrW<0Ffzm|jAxkMxPeL&NEA`)q)c_Ohp# zSB7eUdWi|pEmV%3ec`328w9grysC)3Psk*?|K2J+^&SwPA7ZcWWum96o5tY$OE%zz zk55jFrLjKwV2jS(=CV`cTdj*s>#6s7ig~72P+fuNE3T7b)^`2)2o9vz*@?PVj$8i0 zjzS%;#Mx8c*CtslZoEE9tr&?M|MPzITUL6zJy8PqBWPU?TLsnaX6yJtR6w4GEdlV9 zct(0wa1H+v?xps^Q!X<;hJyCU8V&$J+l>iTlo8SB>UcD+y+GA`V6(JL55C5;Ro#|? zm%Oq(+n3Wv?tD&S`o&w~StuktM$=zTrzSOIYv`aRJzi2#f5yoL<*Uh(z_t|{1P7;b zLPr{Thp^jM0-vT)Xazb)F;Hv$43suXRsd|Da-3Wbs$7>*OPqyT(__6tT4D~;j1w&0 z_debvO@f~*%gf|iSLG6Q7pt3vpKZM)Y7^Zr&=xhuYA+xTu;o?|lXck8nctA3x!-JJ zt-P2SZ}TcNKFRSy$7@+HVF{D$Z)EYMZ(JI8{v{~Zf(LZ01;2~XgO|_H2RMrpr^u)N zK?R_r&hv2ndbF|Ut*m>edgR3nJL~#SIl34JQ(CoKU6#(JR)``;kL}Xe-NS*Y#Vqqm zjieXfcZhpqzvHH61hzcqZ@8#3qY}86vf$bWQNmtvPO5QBc++Xr{U(0SSjF?gc2NFX z743xeK*LO2=h0wE<;8P8jQZGUKF!;edt`*lW?VidB48<#iAJ8!KfMzIteby2H5oLV zZ5-G5o_oZ-Jh4UXE2aK?lLSp_W+b`mOx?GK4N91VY9REU9{W^>uqh6^i@XY+ls-w2 z^9;WcCXjK*KeL4kN(FH;O)Uwp3uznpepf5mVW`)u?}t6C%YwpDyZHfBTjW4uErtp6 z2DF|mPaNX^y=C73q(jbbp%%xp6U96yC`C;wYm;q?}EF#$J zcmXz<(#B5(pp*fjW2Fd1Lq`5rO26F|lWZO&b*A}qr|&-vJi6e(gv*1W;#y6fWE&O4 z2jO_sOVlF!f^F4za^#GzZaX83S?ee8rz-9dfLQ2N&T|o8feQoOrqWW3xT^( zinQTt+U?Rke=bC+oawu3<)?XF(TBy<8)i?_S>H29~IMQa-at_b3tq z5dv`8JJ*7S7>87e1cmAQ#*R=Ia`uey4ZsBIjthJTOf1zcX#o?ukQ_LqwOWP4Y3P3|KgZ|K9|tW@Mo&*rQ)F&4tTe0@Sin% z>>4xApZDc0IwqOC_}AwEdB1j--T$aqxgBa_D$BeqgBy zTW_u6_%pd#Aa(5&W^}P2$R^f%^?XuCXNXO==3S!AoY1i4)|L&tk@k2yJWIpq5yn6{sMFu z^8w_g<-)`p*}(x)goX`a$xwhX}phY^h~jp}`E)zQtk z5ND!(enVuwsM`#sM`j)oz0^}l5|$f?C0Z|16zY?vQXjKgBan8LVIlC>d1Lj?KSSKj zI+laqRUznQFrlC(Nm-%Z+uE{hlyw@j;26qgtY*sf|A$uoF2K*-y?4!u0K9;sT118Y zGcy<4@V&wVviw$^CC^lMVRQ~rjb(Ki^ngJpc} zyb0ny&oce{JiZ5Nt750~uGUNoG<3DAUGnXcqX7vcEN12=K)k6PYd#zJ>AKi2*F-&3 zm8bgVEtg>rRXo;H&Nh#+0;8a#jEP3m%<<~et-VICu;cI>MY+?$&>)lUK@wvXyX9h5 zuGPD6jrxX$HZU|rpwRn1@8(a&HBOka*2xPhsDIus`9n_w5i?E3BN>NqIZhf#uhN|^ z%zY1Whlqtnr6bh@@1+vgHn;DHN2iQqz>7@LY^P{ecAh!!wGhJ^V7AqR-%X2Aa{Pno z2YwU5gGFQ5CSM_g!9&PM(4Fk(EFB!>mEWqpgy!A=s#Q7&8I7j$f$~?I!Fp0dZT^X} z+p&pEbSNsdHEi^SRr-}t!-rm6e}`0}0@pDMb5key)S;uWHP`1iR-(S*Hn!Gw3+W9D z@_ag-mRhv(p-&V0;{xl8AEI8Hr6JC_JtJzNgx^Z)v?a2>o4bQ;fEjYPwL(6G=x4X{ zq(7*gwQXd{M{w7qbZ1!}Q2YMi@sj7OWJ;f=l1S8Sm1McG7xf~NGzS5-k)Ozusgqml zG9EeU5*?^A5I*Inv4;}?o7Y5o^O9uWQKOmbk_Pwu0%^f-0+cjT5Y1T;)R1?@%&RWSjH`|Tzv4RW zZ3!0}vVGS;u}wxMP~|XvF8d;jimSnoJI2Y-1~%Q%v{dV@ zbjSqKUer#!Zolt+O_Wg@xfTsBi`@j6UNeMortQB1|tPgPt>fyPQvKMbTRp0Rqe&`t%j=Txh~DJmwZ7ofFeau zJ?~|AVxN)l4fEe`SrzTgA}3`l99JAJ!Sg(im#v52dJV>%&b1;Lv|f8o(|mTwKRtfZ zC}2CDF+GviC=qSHY#{i>WJ^|}WHENKf1O(c=wLiO)j`V5+RaSpDvx9w^F85p`+=tu zm~Qm3!)*ogKAf40_Hi#h`kwuVbAs;!+1rRkl4d{to5ox`=?7++BuSm3a$c`qKj#75 z6J|(NWN-(It~KFui>V!l7AUm8_uWy*eAovW7BQ%*#G_=l23=U~)#ZT!os~A$%Hd|! zR>|h>!pw}#L2=F!cf;2HBTwh&-!gn`HC?@{pL3sMhG6_IP%EkGO4V^a+mN;{h%T)j zsrQ%=2X`@^l@(}tSie9-KTNmg^3Q?nRkIoEAEvT15)d{}n{XN!D`k=q!6U0m zD%X8uy zjh@eH6PXoK8CbWw~n`5?!F+<+*LwBu~o7q6!`8m_ek z#Ko5xtE2?us<$C4`L`WAO=+f>N9#8BLs9?h@g;pc$St7wk?uf&QmTT|r>&bD?d=B) zM_L_WN+jJkKV5+tr|EKka+raXE3B{~-z+;XRZiAV1}rM;_w~USr{*7M3q1}8uXKzv zjA~|o8sFJjXOc200lDhT%?emw1{Kb<8iQ7zjv>QrdQY2LEt5T2igv_j1onij5VMr~ z>>65&OEdMZY^M1`1tcdDhH;)Jz8*g2o-dA58=7rMi@m1B*#i@Y%(Kj&caOc^I8NH} zOS7vq^PI44-t@7Wo3{|^7MzBdi|9P}Fn|5PCwk5cA#O!%%IczHODa*<1xBQrM4Gn< zoHq+tch#v{UAD_pMR(0N5j@?*y_sNb9~rz5_j7v0qst<}L7P)l03)RBx%iMH#D7ro zlQ+*u*PJu2cjR9=7&h|G`9-5wv2 z5A2@b0QVV34_(a1_r~-tJVRWrsR};X0IoNxsU;S-)qm{g>&;CgiFeqm9aQ0me!N_( zIHD=-q94=4T;twN66~L7{*2zZx;#hyEnINVA(R)}4DuQw(6@dM+XN_mZj#arsQWUh zzcfc_j)TDzN#lT4vAe5!-@=vLc1Z<)G1kI_C6`tiv?N&^%u34Dq^r$M8ob@CFW;jr zwkLD$?LB!a)8GWCKYp7|1%B)njri!Yg2UCvM-Lj-! z@BLG)Z;i&NW7wY9NF&kw(08lM&L0`7Zmnu5KGGK?=;Mt#a?NqgMZCBG>Y|)uNUvHC z^(sy!p+|6p@!MN#1~CF4*PT!MpCk?+b~CumW`{b6_=|{$K!2tP;KC$1U;o+EML1&t zkuunTdOG|}q8{}YB7M0RE$pz|v9nBA$I*ooLF>hjjWFZ(lOnzP;f*e@9rB+-IDj8l zp8@>`j1?Dnk=~c3Xr|}U`c_$=SNJhYl|}FOy8>?X_jp#{RenhNi1H3gL3d)=?vU!m(@e>Jep zm-&aS)$=XT+XoDvTFS0IFgl{th)(-uSbXoZ z&Jop8$a*SNPSGjB#X7B_e!mSDrw|@G(3=i?ReHJJ+-X5F&Lt}zj zZPy-|L$mbsP83NZygl(aQy*xic8P}KKR+MBvl!uzxm!F(rph3i zJG9LsuG*l$m3c6Kq|esCgVxv70JM(g87dCc^PPX`6JZjlIs<+!GD%sjEUvE?@B7kv z7IM-fBl-IG_dhf?e(z+_?7uG9I#hz@!&zx&;DUd&Ba4u`V)J*wZtYVIH*_@|mddSo z(P%cC@(isAsJ;2CFsy7w;93bVY3SQTH0F$??Y3O2R{0yB!`<2+A4%9)s+RuE^>tK+ zgBy#0dG}I*kg!z7RgSSBjqB_3G;J>4tptJ|FDybuV+uR0aJnQ&NGl)byA&Pc*_E*1 zyck6YPqLmvcXtjDs+&}n8YQ3!$Zz(FrQ1P`JizjQ&O|Ri9lGQ{zHqy846(z41Y65~ z{^fSht!}w-AiEP{og!@WhFL@Wt;Lu;&eqKUP3%AJQ;G)|@)p^OO6JzYCmnSF?CdoH zdD?~5%vBYaDv`g2Q2%XAuxE`g@>|re2pyP#cHZ{S^Etv;C-vPjh{hgx6B^sk6#QFM zq*%0MW6VLKxSoNVU1`pNeVk! zOp^IE#w5XKsNY+w4pKQ(<^2E{(}z&L8I`jOFWD)|_?q!mTH^}l*ln8F|Ip-(pgOKt zvVrV#pOS3F)Sf>+9G>5j!XLVh(xCp+?-k!D$Lw{Nr#na=H9M;gLPODd$3gjD!ut@% z8uDp6z0!zk*GiM#+q7Tvf@98CaLm=7{`Zg()yde8aY5U5vtw9>-1_ zxzbk?6I{;r(}|{f?}Aq3I$Z(AN_)Nu+#R`>AfX&fQb*kBz*&dsbw^xUc^aKAN&3C0 zD3T0WhT&iTIik}277Zun5ilisr7jyt2X}lCaV!1mox~E(7eT{BVQ%!yEOa=?tJMB4 z8-PIy>9cTba2))8n`RTZVx$AaQ!<4cKSa;-V1-fn$tlhQCK{A27RO2G%G3ThfvZV?3$X5ng#`ty>_+00`u!_^ugH^>Ic!M*)J)Db;oP*}VL`m;<7x;--u7 z&BonPzsc8WNAzRaBP&I(?cYA)9vAPd_TZW2C2mg+Dp8t1*3#_sXd6gJLHE7-S3uyF z3mn1Peug9~o^aPAR`dQ_=KhpYT!pbNJxqEwHa3U2+e};e0$*_n^%J@N+0LqS;}MM$ zSb~vedW$%gNUFg!vm?XQGXHHyc!UIcmjX2xNH+1*+hGUVSszfSmO6E~Yrz6DR`AW6 zW*-!9OBttsA+RQYc1N4yORJj_eJ2#(b8uRj&MWz}(}`m>bBNN(3od`yeNB?*^*BXu z@DY{2q3b@)%HNCNLap@q^Gh^pAE|2P1DYcMa4{MQKZ~C-|9+*qIyw)CaA_QI-#sV| z!vm^I=+$rSSTPHTeEt9Sx!3X^CDR!WgRKCv#E*33S7Io3I?nq1yCXOvBXo9)kZ*`nL32M2}M!ne+=l%HL z*pIZ@Ym{r#mFQ$`*SK`-GQ=YtS~yG=-Hmw1f>ha5)br7Z&LBGB;(LA0562$J&_`c~vI!U|a%|L~2B!w103s?49^t_U))Svc#}EdyT6?Z`{f57lAfS#yHMUcF7;3;aB?24~2-(w(Fibx_ z`9u_>c9T=E7y1z|l8bmWorC_Ub|!-|eHqJ>IERFPA}AlpdXzq5lSl9#MBfObPegw2 z84nF1BV}e3tD>>`h#vYprvt^hux~W6>zPrQ>Rpkkh+pj=d>3wo?NV`}aO6qCfyJX^ zuOTRrr(W+cQ!AuEc6R*OHrM~u`Jx99(YxPCDeUCoO?0%XM>y2U6Q7WQOtWVKn3k^O{k$zB4ps4r|R3 z17hEYm@cs#(Py-{Y#8BG2J`)*k&m8lq!@_7g4fRtKk{Q?&qn^5--PeX(o(u--S2d2 zP83;!XTl8x)bsX0=>d^Wm_nwIrJ02xNwt1$pvswenwx!H2F4$5%EDMhIL6#ks_~E5 zE5bi@SsyJlt&wzX0X>`J%NVPk`>SNs4m@pdWHYLnF8-)-cd>%WuVuW~T+QyQF?&tX zE}{rt;}5R`nbDJZU~)jToIcVGgALxnf}7WbwBs6}XW2SWuO&ShS5-6sLC&^{OtX)1 z=+Db%3zGh)$67wO=IsXz9rugkEx$|-AYK_O1pXkqSB~`7?x;7gc(rlv%9^1pii}`+B;<;N8yeCsGoSGy6BL=stqt;gzsCHU&>xuVE>;q z%vJuW4*tB$H>5>m9vR5^ZrmegBx0H;xHgb<*k~;?P2?|*!8&|$w#RF9_vRxfK+DY(~R;GZNC>3Eybu? zdUN4cd9R)q(tfgBiO;074wS~efPm$G8A*=v@9O_VWBl&PqZ_P;46Rci3k!GW(t(@i5aw_<<38kA&W# zuW)v6rK=kz`NSze*l0fJUH}5Yp7E%W{+csm)xCw5B?Il14t|rB^eV|}Y(K*p1r!5C-T7)UtMp?9s&jjyXlu>zAyJG$VC^_-t8&qOu@`kj2{51# zXtHXqyeKQXPrqXV66lMgNvm+gS8UcR)`>Dbx&P5z(*apd?G{%;bYDlq)Zpw~tXRj4 zeq8gOIxne`Pw{U>?|)R=2+1Ab)(FJgoM(=U@|Q(%nWTRiW%Yj6o6LHRuBSTF4{6|# zFcmO{ILstc{{^m#AQJL!$sR?y<01G`m`8cgYL4$fw>+@3A_-s*%FK}XiIQ2F$mqXa zMDiKcohSbn&HetHT_aHh!mG#lbkF6;hvFsquuIhrN6OVc)u=0RyLnEqBBzH8s>AD)}r zK}3(|trhFywg$#mZ$ZItS0pX?TnnO z!ZgkK%*>m|Q`urB1w>;3IAsKX1bT4X#tQC}X#!HIdP4YlK6Wqv7WeAHvlt|_<=Qte zlE{2cjSevCEI?0&SCGDUsq01QEt^0s8-;xLDb|)9cspB}WUFp!hYCGRius3X0Eln1 zpIMN`beV&~1i}}rg~+?1MRaL4qg-=ZVm7JcKfRg;9(WF3njfvtmhqBVHolE*I)T|$ z24uD@WRmE3cBk#wP-mD3H3&n?m<)6lE$&m&VI(zgEKfb?N_k^l$e_h~fL(5xD){M4 z&?tHsb295z#5tZm{m|&%$naU1@QB1*udm3XFGJthNEw8DiVZn%7y1hXw3|RH3rc{q zWmo@q!?TFcEwwRUMELBUvWA7nYCvH1&m8^dSyGaH*{x@|5Vrrbrvq@bIKEia($KgC zdDw+#t7mUOFvun8x_em1P~;At+DXTy0PLXg!Z%uex?zNHqhq&rh(j+}2ULd5qbL9* zlJ0A~5Uev-miPzay~G7a5z(5U^m&=<3T%k&zA#TYZ;N^6Kq}P4Rhy02>FqlfA`emA zItoS641Xd3~yv=zQqy zA%$)ggUs%_#Xf>ye{0$tJ-A2eUrs+PSnx4mhyhSBWk+lOGemjN1mh|R4RgqE=@+dA@S2899)3=VU#|bB}at&U8TS zs&)>EI5|ABN|1VnC)1ZFnD^3Horf-orbe$n3mvAt$KszVEj&!qPE za~W+#2592=43n>`d-hG{@27q&ow=a)<|&INrq9VOi{YzoP-&q|yOM_`6KAtkuKmP@ zy|+`7eD>#DO6zABCB=|gP6dS(bC2Pl-+OiU)9yRM!G~263ih}rjav| zX2fZ6CIu1G^TKxR=h|Nlh)bh3mLFtVkZOP@?woj(W10KgJQ?VkB<4Z~Shm z_k)OPo^yjky|KB{gv_)0_}``32Sn5X*dsmdVp*q(TXE%2(*#AVjrA6D4~|cg5`z<` zObhm&Stc|jw^VVJ?yom}cY7qDeeG&{>HA3W;zX*S;S>U28U^G z5GPGx!vt?Fu9k$A>4YhW?d8m7SyAoCXJ7DD<(-DD>NmQmsH&yJC>frA}m zYAhC~^^9BRzy#loW(Un@791tDo$T5=^2U6ML-<^U(8;NR$pw>~%&0VP+t#Tadfx#A`*-ld$Ar{K1_`E~4^DcV}XpZ$`zrNi(K=^2h@m zqEF+?iCs=Svs$q)Ij zZ;?nE`A?IpDpUYwlhz9w+yK5v zo_QZ+!O`M`49=E>SG4#ZkyWv6Ex3WH!ZYBW$#Jpd2UL|AuJ169mww8t1orJL=#_Je z_g+JaKo;GCZMa%dMPf9M2xzT1zr)4@d!zfnmOAXS>bEeQ%{u=Ns+yIZZauHv_Ms)k zFlE$iA-tl#OB0qru2uuQhbo;G95N+8#1H211g_Z^75jG?N=QR2ceKNQDlV|V0mV~E6NC4bC;1mYD? zZ2`CXJQrglTR(djzY5+hW746u;=f4V-C?Gj z*k2_r_SmuzE~=l160;0`^-Qem@+{-P`W@2hsBz?-Rd@5?;AQwEw70AX{IGR5Vw0ZJ|RN-`FAvF%}{RX~Ok^6&iu? zS?7IniiJ~qDCf;q+bcS3Fp>miIzsqf#4}pn?!Oypu8e-UU&CG;Vt=XY=Rpw6Z-II% zX|k@&N--ck*+YfrgQoq}7NfZlBmV&<%ivK+W1!g(W9*Fz8fsC)AT@FA-ekUGym$jz z%@`%GSCvlJj~;ZRQOLe2T6?eA5`pA2!5>^Bd9*H59k1s$=TaMFS$UqASjA_7@(fa1 zsRBs0;Lcu|3|!Ct?+dy^5qUQ2hi{6+Og;JrltZqSj-sEs8oM@!naXzt8Qhm&zor#QuS4fgOj zO-basz}?)i zgQW9z4!A9XB1W(Ij5b~144FQX?P|eBdx#I#qWU?#k}QU07+h}}VGCJ!DfN5J?$Csg51e0r0#so~-KeSuZPQ67RqEi59mBK=%C|j7&h5?=IE)nMWW>F8+ zeU;A?HGZj-Jr+q!Y6~ps|BaIaX#m<%PSOnQdcWK1;AkqDa>)la+ePk6c79=hG~vF_ zUBm&aKAtest@to!YdSW7Z?38)Xr*5v;ih$H3pwUpngv=LkHivSh}Bta3I2!f>5THH3jwaPC}ww#$x@TF5x0nAD6677nB zxlEOd2v!r-f5EM?4rI}a!dU!cv4IP=VNF0BqWeJ5%7tpQ<(xzqAP(FHQ z&I}^MRQ*wynB#tIW|pQ2FC2Q>`aVJqE})>l_oe;tkvmS#7FWLV1}%ll6W^f?oL6N5 zL&DhX`wpiK=K#@!63ApUf9qiOb&Fw-a{i(?9Z<Sa*)t^Qx{CahTnH^NxD6 z!CFo4?BjW?uikX{R}zIHE=B|~jevct2*2%HjUc+XC*7hjdfLrZAg6$H`qiyx9i;0s z0f65R_c@c30M7eV-gCA3NjaJS6t+(Nb>XF7OCv(>I6o#!XgNR>f-X`yH-Tp_TDM~x9 z5x1SGTi$IF^5WE{F~LJ(tqCip8oc{wo#{z`kv4fg5{NcP4B-0Q7|f(XOMU^W?Zz-8 z8X(ExRe&5xCABWRN3?9R{OB|tF3mK#N9lk^;l-X6BYhpwu>G&-qA(@^n!09fx+c>_ z=Bl`s8q&+&{e;cZdI0lnLdgCyGTZ9f?HzXxKn}^Z3z^SD^Y@h55 z-_o{vB^r4{K#~QYiD&?ikRECg(?uC%u{(E5X|Jp9rqPfXs5FM$T#Yaw(fQl&SSek~O;g!+^T&b-^hek`Bp8)bk%Rb3WlL5^U-LG7qpil6LB3ozuE zm|jRXCEh}t`TF|%s}wDW`V&?Fdv;eMd7n(mhMWg`8C{uV#yP+v)EIgwc!0V8Tj`#A ziK^*iV2_Uxxo;d#Ic@(0=ub()&LlyFi&emU7en&pkT)>x)2sw-2EdhC%q= zV>j*EQ?c>Lnk+l-XC^-b(J!*S ze16av@!+s1gW1PicT}+kg=561t;}&_>Bq>2_)ta&e?7?B_!bZSi3hIK+G&`j+6Jvi zgeGZ%Zz&Clz)J|iVH_lu#rlq?u?ps&^3#&Nw}S*Nc^mU3jhLmSx>=G$aPyz2DqxW> z#(PWu(WzG&;|cJ;1n@;FcB@Z-VHPIQgq#|-VyD%TmBiwmB-moUp;JcFgr`@znERfi zYjNjkkeyZ7$30jmK*@5hhv8Fd;4jf8997?nc;rs9Qc?Ew;9-Nt;se|j=A>@raK(x2 z!+6z{d=G=Z73pQsWtzTFbc#2ORZQjeg6T-hFF*(C+~xBEz=KU|Pi~z$hKSl=r}zVe zG`Xqj6JsU2Rhprdzqpv|2!uZ#*8sCMQD&I6)1Wa;t$FY$83p^iKx4F{`(wkc84wVO0?NZc6s36#*6y>-&W+Al;aCE>Pfq0yw%K2} zMf6Z8$cDvfU-MQIS3@d2eUMvas@6YvmqW5pe%%W5nrrBAw9fY zOPw92boJ*>@*Dp6qbriG%J`;eY2C+rRc{0MF<1JN8L5oW*1{eU0F^)G`N6ypszjpb zxwoK|DyBGgDpnI8YsdZ<aN+-(aLFtY-_`L5zD2YVEQ{wW@;Ns>hFWR5 z#l0$mpmPJDMS}=wP)ha38HB)nOTA(WswSu6qO=3R@CuO$$a``J@4)<^0G z+Jj<5Z5B!YiMS^DiC-kWaDPpP?!<@jB9|l5_>AOURx>ZpiNbWLPm9$9i|9%SX$yOm zy2I~L4bk-$_n~tn#JCZ2SLVla`Q< zfrtW1OSg)GNMA@vw@Bw`M7jowbV`b(#OTo*9fH*88eIcMj^{-0`?~A*e_ryAo#$~L z-}qEVHzEO9v$t3tt3%7g3$xI*cQbNgab4|Qg~tjMivR~NBJBtnn$ z*qhAm-1#NLLypHw&-heIQ(60>M%CnZZk$oaU~cbd=z+p0PiSfbE>-V6~H|L2v^W! z$lIs;Dkc}*4|D#Pe$;=FMnT7VtHgcBTusMlg)LmD`=(U5aJW##3$pt;vB3*UVgxwh zVCF>uk5^3UPguLCr5^RCv4RlJU;NupoA?ZHD=mXv$;}-WRCL+XYmt&V;e%K1;pk3ze|yHOUOKLrD*kS+8!u4 zCYAO&4{$}iuhc;=yt)l`H7b*yds7b7M~cQA?_9|haNc9z(V}or&mEf*0GVMs?)v{h zLJ9}bbHp(p=)4@AjzhB2WHE+3*$$86SXx2@LI8^g-6G~O+u@=hwt0cBoeI>{;8q&< zzwi)O*#F`o6|YnOG}38+jSBnN&#hZ0%T94>pWmtXlgU5aqRkpf3RYuoB;cE zrZz$U`K7lN>~YjD|IrLRpj&#Pnm-a77}fXx^M1K~20DJAqxl`imBov4RtR_bbC}nM z10|o|`i*7Sjjwo!DFsHBzGLYd?g}y4NwYakeZTKOA}uKsiir&#{Og}k#%euLtj(3^ zp}#W(AcsgjdOYnLBPn7=M4S|mnk?nx8To(pe^+Bz`;Ti)l>nK@NjH)#i|nB(5Eg`r zV-yc9eNCkv`g@-yI^Qwuee?X|)hao>3xIcB?S1h6e_3->O*`QRvU8t*bZL^soRJ>% zZnm;*TPmOc`V|8{g$kbc0-rsv8@U`G%A>>uwXue06<9%^7M4Bk>>&o@xM0T`NULZy zB09Qm1I0WL5@>%lXokJKV!kwf689FK(Tw4c5)F4*ii%a5T%dpPUv%W=)u$gQN30M4 zACOCg3r=hoX+gvdBlwP7cuw$#oy-I~Rb(;n5_`f!0CBSFRs&e?;>EmRh_ncs7%jkHk-qvjn*C+tSN`WgO8+zv&fXyKJhkm#kk8 zB6-9pI$zfAhoWi=8)KMgSUDUsEaigf%i~GG=l+e?`S<6ShE;eZ!HLJ&aQ?HVTa?aK zgo%xG*Um;(^>ezAGI(<{)I+shUJf6z$8ZvcCUVr8Ok2fx?dda<^he#u`II5CgfjU> zZ>i`U?Xq8fyS6D}BJszccDG$9bLR=)lkd`9X&TvB@#+BFt@~WyeRB#Y#K%|Yq(<)g zS8dGB09xJh{C^AnQy>aQK!Sf1-lF8l7k{sBm{wfGu*2tSHP8W62|@9CMF}T+#^1(P zsN@*Rp%Sv1@7{nZM-_Q-=5{ezZOerEu;UdKns?8?Zi+_91K0_iS!R}q_mrFtzI2;f zqSA%dVKn)%*%iLiHr9y-#=1h)=CQ#KVlXp=rRRZ-wgz#Mb(<G9z8&rqrLk63RrRuzdKLFSTczvFG53IQywf6o zG26(M60}jIoa3})m)pPcxBf9N1eLx<$`CJMugvA(nH&kSnR)Q_R;pNyIQ8Lz+ig+# zO~X_?*qFWy_1&Y)hey8lv4R34+DaPBA7G_U@8gux^i1Q(y{PGj*@C^in)6FhUJ07# ze8T$+)K8R$$(&XM_-7oJmzO6fe*r#qAP~q=lfk@fTEG|8-#^`73JKmea?dk$yIBb? zfe3i;ie(?0@;2XVjudBD6G_)meV?Y~hJ@+v@W4aerDLTTm9+B1PFRn#+4;K)MWTepZHianuKi}+*qH_t z*vtMn2s`W*XJ|&&3BL6nFc;ii$LHvFI}H5Qo7;6XX>{A4WPT^uOj8SBsygZVnQE_i zM1G@r?M{tjnZBH6CF3lRQ}$l0A;h+^tH-M|mOBNKf$}K*w^P#C1aOI8ses2J_BQ1# zxK5EmK~uE4cOixBwB+X6n&5i@|GR;^aeekWFCELx-z)5WjrQ8QRyzd;tsHT~4t}Z8 z4>#Kqw^C_fe`JVl{fU2Q)2af%psa;wcICJz@kh*CRP0)z@oP-`R-to6am^y#hIbov zQ333})O3w|*e{85mioP;oLX>=RRH z`;LmwJ?b!Yg=30zprdrkQr(Y*xT{rWk#Loop%dL_er8(;gLur$S(?$Fv^YazFt{?Qq$V%qDdf+%XvazYhCR|}a#qe*+8b+Y>Tc*E1J)v?Cq*Jns)3ms&A$MMbhx6PZ*^0I3quZo5s4*fz$fx2XkNN| zE}g!0`c>3?Qh8WxM!DLQ+K2);4vu;huz$7i=~2M2!jsei)_uaqTJ{8P;{Cx? zf~=OerlR-bof_`nYgOGpMBIAJ0}!y#=|WQ1YsN4veL9PqIIOG9G5GqoI0v9>`Of^N ziJMORaeOE>EX(h#G~ME2>n%I_mngU}Rbog8YgH?GxZqY;Tv}b1{NBr^Pd4Srno(g9 z`;XBo>&@EB>Z$KD=gi`m!(XF6?4pX@>n6J2Z`h7*K&sd8V08OVGNAmBqVl7JvGL1u z$6}3P|B?C z*O+1@0z2{SRE+b;8O4z>}KpuqN(sLjw_@1QCPkEW^t z?+TEXp%o=L{4Kg$dc1puyHHxd$hj9Ex`mycP-vXd)B6;ZV3^FZ8t|3oA-!?Sx@F`b zXB>iEkq&P9#fG|s{cTRRckGx};>o%NwHW)pUc1`%p5t25H;Em94cX8TyQQf!FFR2K z`vSP%w1_du@RHBGpY`^-!b}D&3oo}JPCaL@F(*>ZxS}Bv{vYn&ISEevUPA2of9&LM z{9`B2wBb!5H5E@^I$t=~cP?cbvH3!K&&E*#xKsga=qe_tl?G(NiVpq>FRzF!J%(o()U7wSjk3)^*P`tiKls*I$U8 z@f7|jR4%NllCJNvvro5Vs=rqRAy$C+oy|t;BHbf!=1wey#)}rYE0RU$4bJH5Pfk-f zlRqZ7O`xQInsuFy=d6~LIh{Hio~eb7Ad#$^y2w#;w;oWR+d{#7>RRm`O|pJp?(>-( z*U8k|@Ecntt_oX)vu1*>4n2Sr`fqvitIwn7>-=u$n}L?P(^^tSg02-ZHM?}{$vSf5 zEnU8gE$?ZG)^nv$%{Ewhxgd>Yedt1U^my`amh*2A*!k8%Z^S6l=ncGeqRs{vz8B`Bv;w%~_M zhtu%)VsFKCBJW9%-$9s)nI}Ov>(3a;QtL(bp7r#@i z{IS7-K5L=buZ#zBoP+iN2D~-yKh?tb>c#fc$Np-}wK9zVyAdL}5qW)%hDMlI(@3wY z<~l+(!s)*#)7%N&;g50F3p%Dvwp2HF0~Qy3=7; z?bEX|?er{r^cKtgk|Ne~@}mABV*2|i&KeONHW&xristADoWHmp+aSuPj8;WEA%9L# z^h5e<`>fNuUX1E^X%z@I%ul-=T6O948Mmkzxi4PUHwtS#zxy7!>&G{k-Ma8!bH^t%dqbzv6eFCjO*l`*rbNLlbn7e@J_vn@+sj-tvN5 zx1N(vIks{otPJeVtE%-zxo?FX{*>9AJ-v~Z!r_Z805sfgxdx)#bzqYD!7)P@P0FsK)D&P&l@UXU1%3pFvZ@(0jSS zSa9!cp*TmXf@JPvdDfj&Rzh({Hd$N0(OGiM=S{he@e`+UM~fNf^~HGboe1d@L2HRl zev9)1FZtxeoCK|4^O5a!NO{4@&YqXoqGk6%QJB0q`9{mE4aRq!E`qRJW^)RoXH`*` zQDte9E@)By(4gQK6S?O5Qe{nrF;M!*kH*e{)C0&+6xi1dQuCBCZ&Ei2$b!%Ha=+4c8QGy_qNw2^1ammMjdRoljFhW(X|K? zaaFzAz=T~{63?fW^6I?0z`y_;jL;UhHZbx&@lc?Qfg>~c6=3uIpL4s>!M$dhdl{v4 z)Vr2rTdNn$KTB);Nw^JeM<0AZy6va`KFJrAHZEa3N|T=r2uLlZ(s+O1B1aV z(^`T#ShKX=3+6Wr(^X$grF+b$X^ssVWz;$OOIDf`_a*zK3o^bn?&Fy;ElgIaOxC&M z)-h{nr=aCJ*&y84=1cRXWcqa&>`N(W`612xSd3C*W>39K@|xz&DwhjU_Y4xD)efsb#Vc#WoCbkqxe9$ri8fKhdzhaZio*2j7x>_)LMN?zPK8|<^#miti=)l6` z`cmXGJZP>RoS^wwRcNBSGitD1=TOlXu#=IRii!N~H`z9kUQ#nm>l`f-EE_o^61nhC zDNQ;3Opn*^J?35F$#fQ05Cvani=+Z7tptxn#MFT>uhR8{sCb0a+?hk`z7ma z!){ORPxJDOo%R~`8~>hAjrG$8C?;It}N^L~(W zX+ytM%2}9v=o2to1afk+Vy%y4%8W$fuskY_E^-7t3yK;}(;b^kn?2913f5>j830!$ zOm6gh=j*#4NfdIfRSJ?|r?xqbI{QnzUO}=I^P?JiZJa;PM8Vld@yPZ~T-;dre`|y+ zWSueuG5;3k?9z*|YKLTiGC9i@T;kc0%4i1*UZjz+c@K1LruJeX<#`j?I z%DbVHYg*CQ%2(nNgZekuwzAJxU@(V^z#y!`p~lT_F-#f{J6KmY(ITR6Wy`}| zEl7KFvzAcW2K`ufs|j|*MWF%AUoE zUr}rW6{E9k^B+la?xHi4rs)EW8U=-doeQd~Cc}SixN$V`rRw_Zb!k8k=r4_`m5Fry z@_mQxk|H?gKZP*j#S%j0ZayIpdeJ~HtlGf5#HTFNPyOVvbB4<-6!&&xR#q!K{#F}! zd_T0@tIjK{rOrmrBoH1GdN*VM-7rk)rM2C_J;lZ(Yd6Dh+!|Q)>FJ?zB(~K{&xZUx zTWuHPDR*ob*A?W2VFUl%55lr!crUmUzG63{*bkAYupHoi!u3@8f8xeqr0zggNO=Sg z4N2LDfW2pW5@aF*sIIvoR^?QhTKxUrG))73jL&Y`vAgcofDWwK29*EO(gMrJWb=eX z#FcC!dRyvG{&=?i`u2YV@mHR0wa-M;;)(zDrmohkLRVT()8c>Hwh_tK*j7{(S^wa& zt*sVJb%%hQ+l}2?Y3<9%la;H`DpL1t_8O-(u?rzb2P=9omv6St5ml9yiPSPljLIku zihe(+YP!FIb;O~~gkFu?aJ2ZZl~Ik!;7f2uvG;e3Jzb3$L*hey0L%NPTEFl`NLj8! zyh8F5$8>M-_e51P%ZPm<0?$d2sH}eHRGlqdhLiZ|FG`~9EP9OKm$%J3?%@0lz59^x;18uVkuTLTWdkjs6-5?6Uh`D45`1 z2%eOAz-MwKkDwAa*wBJJTjs$xc%WY#xs=mv|8ON=QAfdGrSQNy1>nK0?+l{v4 z26p-Xr3H=>E?A4&Wpwa=%2^$^(mMW#6gQ+};ZEd8 zBz3#iLk{zfe@HcT8!lGow-PvYfKBgfSK}(Df73^wytld{^)tbM{c7M}^9kt&cF|Jj zF&CHslF7Dc?y6s01t~8XY`pApB~Qm!`IXUZ`hbm}0bopF6?$?2(4hrT!q)-r!<=29 z8%s-n{}QL8VO*cHubtpOMO;72`9%?kJ0o9~gRT93d-!!0%*=DH^ipm8W*p_7l1s<8 zoT;1!RjOZtSiwtOpvYfE-g9TqxS2z0LY>J*3D#XW{`xQX1q$IC^ul(%klS;5bGbDR zk+d}S9S3E2GFJs@G6*mzt>4|br8pH9GM)ycPoy;o{aVNp-b-eQ7;E^W+=6f)+c_NN zxJ&^~mH(~?xo(;1HntEbMv492?_`Uy#(NNAyi?Z{1)ntH2M0Z1KI98c7 zyHb3C<_sQ9&!nZ8{i^J4GUcG2-2+)ZRIjq3Xw>t5pYALh3b+09%gsjo50o9hBz=uE zjRK8lgUBdjIzAA7yzY8`8_v$hUGuSiXo=r~&ryExy!{&=pIXH?Lp{@l5Uf(9LS$l% zHAPltC=RYUtr@*piqDFl%3-~|CnG;^fDL+u;=l#$>gsyvG3{!frmnF?EWTK~>kS_D zxT7rBBf$L*J*kK|7CHi{Quoxl?WK5pn`+e^2%Ay(#rD0a8opijb<-{6C=?og6yz59 zwWx@5oMsYKZED9-jY_UN7{N8@xOs^k-?TnFYWT8mcg?@Ih$z*gnXv}d>v$)8gvsxm zPqRpyOpH&!p)TvK$c;+2>3T4N(Q9+4b>~ILzw(Kow{N66KI+%{anam-bbV2jo*a31 zsW-JW>#B{rn_r!mMukAu%I`@n__UveV$^)ftv4PZTUWNfdyG7?P{UWpsQ09KO2BrI zd#>w382YyhEEygWuz{^$D&?%5Js8Nax?)i>#Lwz7#HRS(EjNN2JdL}0q#p|ldy}AR zwN|@p#~uUF)YMc}ZnpKs8v-N(50rr|J{>o|c|c9p=C;%$6O>U_6t4wDO|9ETfuMQm~J zzp)W7>zmsuYgP%fBuu=5*wz@h4PRZI)rRyX^jvDhL2!I=tTx+D*O9ZYg+c+>gNgTa z+K9!P>A_Y5qe%OAeKl|@@h=i9SI^T;<}5M-*MKANmE&F`*Fa4|_fiMOM;xX+y@G|l z{nqMX06bso@SVC@4P9}3|E~PByA1EbyHb@O9GvIWFp&G}2<%k7`j{@;_HuRP({Q9E zVJfAxi>)VZmY^9pU#+PZ*^&+4+q3q3D~5HkvwqL=_3bj%jHhx|KZ7TaM#eX+ zUHbIb!PT_%SKLF}q%!bY+kJ@2b=?YMNw1@+?a|YAWX21ngl&fSAJe6|gaRKvoII!! z`fDW(gN@jLxv4hZLZb!{K-}6R$2!KxYgKJvX&xRDLTYXz5ZTX-Z5QFc$GxY{WZI3M zu1+gb(AtwVv63#^4pE*{Qh&@7AbXrAUFqD&#O<{d(}G}ji{iqk>=vDcCKh?_{!X4?{`>5`%exMv_TW%^0i(&Hnxl5W|sf9OtU zMQ6z!xhPe-*q_R@D3#{RZ6L)+Xr-||So_p{EQ)p1`L0r0Ddw-ku=Sm~ezm9xP_j|A zWF^OpX!u@xv|I33-D*4IM#;uW{+>fwFIR!fO1)n*nF`We zZr<}iwR(3}_3ulojEi&*Z{6Lf9zcMhT&V~XiCW&@mP$Z6sRf7`EB=$R9a&ABwzQIB zue?DvLdHUa!Kvf|nEgUBANu)a?kyIQo0N)(*WZrr^EML_s@-&2R`>tsRq>~uKka$(!8@*+WE^|X5KbBm?vF?_Xq>(W z9PP|>^2I=oD01k)(; z;k(K)(Kjpv@8M)>O;pzOe1e@fE7>+KJ!Mj@5eK-7Y~*N-XuNt`)i$mDRs0aQ^N(3E z&LSeH7T(yCsnBWGv5F@n4pytp8(qcp zyWezsRdPT66aF19!K0w2X1l#!L(>-_rqyx8CR63gKxwEEqEH_7(3kh5DD=u@;i?04 zRxM)DVao|n{=7Y#IZ83x(l^A!T;@Y+l)K83Lw`5lO5~)^3X*Ek+1IC(m;b6a7ck;c zoM>%ua&r2(sG*})+l46%P&LV}XE&<9wzZHo3mPtya5>je3$aSIT@t#vNb3&k1{vSG zIvi<(UbKCKnWs7TM^cKabqv2_mGKVxD#gDpQgmn#I@ZgaRVv(u#OH}fxY##1^;xku zE=r7GSGKLs7~RB_5Pz~zQgHk&DbN#euV`H|vo|>)yzwZCtj!BuhY;MhOz*LV z2d&)8p#d@-9p2i?N8C2d0W3Il#@4^x7ZUZW<3PiOUjz= zdS^X6H1W-7l6SIP|8bebIYg_POxtrFwrU%sTW2O3ud!mX+6)n~SkT&iy}T%LOiQn` z)mrxnhuPsx)wDfcF9PEck;@7stNnMm&ZwIwMV6b?2k~ z`JQm%iRNuFup~h&{B6ibeUUdMNzqBAk`a5<>EXUZx5Qj?xpX6`4g8AcO-}Z<#a&vQAwpDY2!%`|W6q|Yi z@2zUi9khW-77jL17Dfkc3M_kvAKKJB_lzQu_Dpj;JhCrK1op;zRE$N$+3q?O_ClS+ z#f9&NiQZ4S&$l?f#~IpB0lgE*8DTvu^;W$(@3XBCtoN1Z_@i6~wLT}l-5S>i;^=kS znqqrF3o^tLj+^Mk>T(&nh#o7;2z}(HM`D(Qi(7?6qSRQ)OSRgpk#3Xag9aU{^tK?( z8$0ur6C#R1q-*GCZ{d`z9h+<$J=)k~l5b;`YCpPvyu`0!pUaE zTYnqgJ_#`%d)mn;fbZvd{Gc+dYJ9zHCJvPC2DOFn7ed9mM#8sv)@Jhxe@i#tCNtOF+nac+-U$VfAl(ptS^jgaE9Yc^|QM%gwezP zD&Zrn%EO=XhqvM5VZLIA+nfCMd1#;bp6FqB$L`(aUOF>Y8r3*mcQoyw^JkD)#A;)t zh4b#I%vCS60yGOWr9eq_bgXX+HX|+Q>*wn$A=h(I{K8(CZTsNXx?fWON@X?VBjrW_ zRhV)1E_O|Z&!sw0LBIBTwB#PAg$rYJ2<#_q^fX3X(X(f}&jwrCoq9sBwA#Al zM`abw#UY1d$0O625-Wg}1h@&ZB z5fcTQhOJh~Ia~}_j`P*OO&F@#U+3V3`=Ybh@)wUVrzVP{J&AjDaUJJfd?@{Bj%Wsx z1jFbg@N9T}y3fG&fWw+;jhfKT2EX?P_z;$wtPI9Z=H=DeKPjATIHzaHTR|0cthb&%VZ3w2AxRFTyFXJbY%nc+w?)}G45C6v#Bbyx zh+b^hExWH~a145l8&N=>v|uVJ$5EH@I+;?*`PU!AB#AGgJG@&7HPtSTTc8# z9@X6J`jvQKzcR9*MO&BSW3|N7kjHvr9!wNQT#RRDa_nm}OzN_S&C&hG1SMEsd?_jW zFCY#?uhvR-je?&dqZp|Q*8Rrh^e!FhQ^lt_q0bUR5cm3XD615P#!CVgiQMa~sNh@s z%;%PLC-G#Le${*F4Fwj%*h@rR(j3Xr6ir(gvbfJ=2=Ud9JoEDw&yyCRk2c_Apbw`u z9o3Eaff(aK9G-#UJx!PR+qK3xaA^ms_{%i{^87KQpXOupJvaRmb}sN4PbP>cq&)c^ z8`cw!O^K4XMb|S}`qc6p)Opci>%LQ6XzuA4K)kqNHwKI<_0bPp46sjpolsoI*X^2Z z^Ap{t+f{WMTcm^y0%NlEch2TLsTaSuola7qq!Aaw-sClh%-$X+H)|G9ZdJoP2>CX# zxhOCDcCJh3J0)jr12I)!Z$-=|2R-y+jNY(g2v}zQKI@7Z;KTGZ$%Hf+nl2pRq`LMg z(Ztm=km&hvp>|l9j-LLjQO@}v5b0qjhyH6EAurg>-A;En>saX zU(~d*D>rKn=Tml@XD%ZO+-z_ETm2BAybitI$yYYr484IQ?Kc)>gC}7ZBwpxglN!d& z9T3Uv1srCOOUeEAK)!@n~Z3la6uq5fl1|pXuNnQ|jQ#`6s)bY>$ z<-p*(R2Uw`@5!URQ$DXIYJq=AC`u^osFz;BF53+|dF%aT?`1>e(HK|9Wt!mKki)G| zo;&N&JX=;Kn|!!NM;tt+2aP>^=;;o214$BuRLu<(NQx-v>`=I+nmiANy=LL-!wZ@4 zxtFKe7^yQm-g8SoG4o7lTk3$m^Ccyt=L+b2Sjtqt?i~?SB{Lz4*zdG9VK*aAhIa|w zA##y=Q`Ly>v|(%p-iWqM-r3JxowmJCaCV5ujk|0GoeNb(eV^Xs;@z<&6*9xf%&!Hx zFP+k|*EtXoXg2!O3T*^4vo@UG%h;~j zHg349C0l>}yeCDPr(nD`H@#G97=TmDYpJw+^JSeR7P+0kBt%|)Iord|=PxD-@~AOU z$J#V2G|XgHY4r;Iqs3y>Dx-e>r%xo>25Qs%Xft)x4>Wl5h-_DYL96v1@~W>T~gy z0q~T|r48-j=4hpC@+3l!5tB4+1y?=PHcSrU0eR8dO?%-x;k-^|O(yuenmipQGeUl_ z#o=D69=F?lM%f#*M`4i0Vp`7}hado17Nc2*zokK!-RKEyUH%1kGaj)&n5?x6`%l`H(j5pr=uw5Vzk zor05UH|-Ptbcpc4-lOJeW|VMtQZOOfq5<>8g)Lk?qz!u}YNuK=5G0wWO+`mZFm0zt z=X|7LH(!i;v6H(F#Oo!vQvG!?EdflMt(GBfVM5_&GlR>kxZIU$k+bF><3iNmW%#yZ z*?V;YN-vw_va)_1!E^Kd@P`QqdDrKD93NIRy>xtuLqN!uwX(||CV5{dYvP3^vgS~l z!=bl*TjYXcn)iLq9s3esP*o{;G5<_4C2Y7!iY#9)f1<*i{zRYmSBVcvDbxMCxV2et zZD9WX@2qw2pCrnC{<<1#Le8l~(+}NIxV$i=Ir`FZtxfX2mZ2d;i#%XD1Of`d zZEfV0ROxN`=3`U!1u4#6RQwe6NiJ#kRI>NnNDy+qTk1BS%?q>lB@Jz)(9sbJKV?HL zXr_El_9xBe$^QX)jw*5e?6`2$>R*(~Ng>GxYO0MIcG1OS!$}gxL#BlsMJ=2NXJ2cp zzri%xVFXvv9FN8ZjVn2yCwu6)Mah#qe=wep%fF36`jqUXzyyc6HsY_7g; zxYdS<&m6pE<8^KQ#a?oqID_{>RgL>E``wg!yVltF+xZ*Z5<9pwGd+0|l^0o;^^EEk z?c7#BUKXCt2h(%IxvDR4#x8kNgNh^}tt2pM8p#|rM9WX;-CM zS=iG~4cT?OiKJSX$m&O52?)w<`@pXxoDP(8M%fmca)k%oDqYgd2=gjCnBt#KFZey5 zZZ3(u7PQD)?Djm>LdS}M77-L2Yfa*q|M7)X{u3v%4XK4p13N@y`-jbccwaP3W*njk|h)sDCACE|;8*3e&&7LT{SHug1MH$eRn> zBTftO_~aV;xYE8wya-M*nyslYFcGnsdZoCn1~K=;l9crK{upZK za6rhYWGU?s?iS9|c1q8^Qmk4l|8d+TvRLg`(K1lwzPn;?>O@^nUXMs3X^PGY3o)9~ zB1Wjvcj%c6+e_OBRmYr`E2a7LiDDM=Kb1$&bBp1dTHDf@Pg=Hdem#C-jMu~dIw5)R zT?QWCJ*98Zf=0%<(OOpFKOuTGhW7=^oEZcESO@?=S&QW`R62+X66fG55 zDp7miMn!7xm0r1);P&yLS)a0adBydP(H0R`8zH-sUoO4+RpYYRez+s@u}_Mka9}IJ zUNM)4g}Y6LOi{!_r(XTjv3z|}CyggYv*b;7bm?6gfk-Uojl;cz(^|~jR7S%miDI*v zyGUil34J~$9^|U6fjCFNKDWbODb{B8Hc85OnLDw;sR(^Qwv3wDxqX@eV{~z~ez`;K z7F&s>2}V+D8UjQ43BRtmTs}r)5XcJSdRls3R8Yd8MI!zr&qz)!IYbTGOWB|92hD%B6@leUGkg%KvKj`E!l;dh@ zr6{Fse6zs3ew7lJE1Z+9{4*3^DP$UFOJ{HZqjxwMlRw>mCz=p6XOqH4!8}R``pDYh#K<5u`Vm_y&YEZu_&(wV4Z!U zcY@ADJy<{g3M}pMX9<7J8uo4v3VkyBUhb#<%pOV;D?GaCA5s{biEY&I` z2mRk#Bl9n9yUmHW-K~>Ao1umFNrCjlv=$2oR>wo*SQ;cUxCP30_{GGLG>ZJha{S8_ zN~Jvj6^RJ2gmeU0Dm4eF6Mwuj8r4cqxCe_W*^)fJ*5I^qU1TRTU=RD_W=u+)|L1(v z9A%1Z1A6yjxBIrKE#3Z)L|6DbitPy!nY#-jxU+PGiQ0EPM%~~;i#Uto)Ttr3Dw_fO zuJlF;WvURcZv|N*7$b;Jy>}I;X~QpXJ{=)d#G%~T zbvgcJ-oCFT6}%o_eJM#zZ{4s9;$7*yF;|Rq93ylt!=eXvfBIA}Cfz3d)Tj%N6m9AL zECNl&94~Dpx}h4`!+iysI$1Zenp6;#96as(&eUI_N?w&auRJ8_)6lq!ITuKyc%_p* z(+vfx`O+rX4e&JoP3z5+ap4OaI_^q)1D?0K5l36%x78Tur4u1-mOPqb! z;>2pNj9Rnb@@jb$aAE0#PSvyP>=rg)I^S8bRFvdfNsy!05lw6gx&uL0qyx+M$GH}j7 zNTe%E-^6(M5G?hENWNJ->#{d3oXS(j1J-V=qZ}9hEpj?IBr-{;Q%BVVyJVh1k6vSFbh)RzUd?8gQJ!Cr zsG;5Xl^{*rrTvR($YMT*a=yNl6P_D@bDe{F@jP0w)@GKm;&PAEj>hG_Z>7E8xdTC* z4Lw6+9?k4UK~(S7yX?%ql|=QYh?Y%$Tt!r(wnTd=W3g@BuAi?3g1yYbH}YaTCEzv+ z(mXCh(ypCXRxWWFt>vIJ`gRU{+2WPpjc-Zaa7*@Y6;6mF+%A+?6uO1TwF#;i%gI>rNx4pP0mg?BJcQ*b#~HYnR_DNr!#gp%hdVmOc#X>9n zHa<@5NJlimFd7H%#&9H^H%P4QhFPQ87QWeoqS^e8XkgCsrqGNi3p z=q4)*+B59xrIw#c>xo~4?!tDTwuFt%FDzIIfiQ<%&xYjmoyZBi##?r9D_SrQsBlkZ|l1oZ)s8V(4&ZJM9QGl~Qw>SW()M=#8vhK(W^y;r=ka z;5!U1R2}@mpJ(VM;k&!xwU;(VZh1%_u#p!jzmysGcf)b-R&ww)4-TexEw)hlPD{R$ zuWkX=EbUq^1K#}8`(D>G!0Mq@KT^0a3p(}2zdDRk+Ev<(-6oGQdgsi|JFTwoBAALe z#n@ZM8ZKB#6A>SY**c!2d2+x|gNpelC&C_fYC;-L|Afk=$j9?Ob-w8PTAz@k7P9RVNH)WUw2|9r6b=Iz_?`L+;yuRPFi0JPEHryi6Y@cI!Rr`v?OA7 zIug@N*9#^N0rJu8QGBOZ?pOGNkX@xW+Tqkc?^cN+`SQd}pi&C+ZQDC6-`gz`emFMf zF7j$W{>2Hc?V+Idux;aSuc|07LnqDaxHsRU7{9io!{cW*Cajfc&WpT#)_?Gg+3Usf zImVAq9C>#_IA6_5J=po6a#kfszekL+IZuV?eyx7J!|J_*Ze(c4tls;R36I{`w4K+& zlZQu@JDSKJ)#2F^lM|BTm64xx2lj>TO6h-?#Kq>%v}hUnP-e?UeW$Kg0zbBGuY5Mi zjMpjT>$!#F@~->a>^gxBd*KUBJ6tpLsF1c4RDXYkNTU9|eX8Ro-qN_rU-iDkB_d$D zU_&&nB1ry|7y)JcOh0r(=z)^gcZ(tqCZPzg_-Q$ImGd|8t^xYRUrqO13Xn%dwq@X- zKMKGix2unTIM`2s2EW3vAeEnUN1GEBe0EbcIMI*(`WNgki3fxZAx`a~Do$?!dP(t1 zNRJ06ad+muJ`w1{L|Jc*X>bi-j|kv^3}GV+P1ytA!b&Hf7%m?L9a<_3$^#gs=!C>g z`mAfFH(KQyBg-buK+%hCGK4x0;lh;`dZrPe*No_`V=>qIuRidOo28V`+wY#Hj{<|C zjry%sk>RkFyG)`WVXCPWKFx53j^3x)-6A{qa%uwdNAwe0jV~qBQDx6_ug$TPC(VGs zD{W7BB{__@)rl;P#2|APMlgwxG0j>Q$7B(F;BxksJ}{7d@nJo-uK(rtrW8vs`|Dv? zjCMCKS!`Nm_f|^x%%kv~32t(BY_bngb~sXNe*Tg(Oh7BVEv-(wVM1wgvq-PkppLHM zWP1Jl-OsI%S$!*$N*|i!`%hjPh1U^LpdR6jC3h!TBDV^a5}}n8Y2vQXbIx?ao2901 z^d3SCiLKCiO`hEv9*QRG&6+5K^se*7O7-e*oAZfreYe&o6tr|ix9;`OmY92tB#!rb zyEk#-Eol$(Vi3KMWE`1 z_eb1rM)`rktrjKKeLKZpH#q(!HF;%yYaC{#ixlN?GF>trAHDDQ5*Cis_@&`rdY|UE zd&nQFeb1Y=a@KQO!;|=BDGFsqT}Z_;wXTbisFB5g<9=8+CuRWLkIkNpgxOqV&Pd82 zjC5QLPtR=DE@!d#>5cRSdxwUoTL)H+@}ue^%6F8<>+!bYxaGveTU2n<{TBq%+=JJX z-z_fAD)M!P9r=(;U+^Lq7@4OUJ> zq8tgzDGF&-t|t>>XjS;cQU?Uwh%vMaC#N3Ic$FEV|N5muy?@Y93qAk%$`19Q)YLKE z@YR6zsbm?ETYAE5&*HKvW4h3iCF-=1Z6{(Z5@m&)_vBMdeyr?g@R2Elf|UhR-;wn) zVz3^(vxF^y4LLT8Fu-=My(vAV=m{Uo+(}$?JRuoqW6V3@uwnEEjGMmtUB2@?>&qWe z`@03Ymqw;t>ttTeHOCN-Htm;jM`;4gg-BoSCG{_40GiBiARQVq{smy4+S(p{$wcKW zOR@>ixU)2gS`450XWtQhU~Ek-E|`iOOm-B1NTZ%hDtAx3@XiraLIeba%rbKo)GYnp zLZ@5$=toHP=cdMwr0>LTI65ZZk^tGlho1hNu!xq%IU>l7U2F7ZH{<8k|BmiDuKBRJ zAb`$W?02@ZnZg?mv$uZXkw-QxH5qM{RGQHvh^gfz$ukY5=ZZt(xf4Q?fGvG1xR*Z2 zTL}0>LFR7&?w4|vcqP~ld^|xwT_6b&3UREr!4n$VG%=%751-KX=G1A;gPUaa!520j zPW^@b@%$k=qQk?W%an0`gDc1OKtkNl86j~dU-ykz|Jz-%)MN{dubf@z$k)MGWx$6Hmh78Mue5J|_VedOn`xqg>o zrJgQRmzs+5idH;+MrW4f#~+87!Kf6Evu`%(1Kx@0H?B3Ix_mxk|3A9EG9b!z?OG{8 zN@;-s2|-axx`#l7)lUOTDn2HV~~ac1{oTLq4Rstz0W!CKIi-4 zZ+zyyuejH>*18UK^Q8aw0+3vc`%r=c?N-IlY&duGQ}ia?K;C(=m4|t=6PvT}6Y@j- z=@nKWM_IkLZ7ujVX95%nZ;PsoI0!k2a)y4a7Vefi&A$8Zk@xkh%O<@p^JX*9{UC{U zfT!!=+VqX3(g_6~OMa+BjPp`{S8l093-T%-pmpb;G-~~31tUi2^n;WYQ(0#l0#9z* z*CN2=Tg707l)LJk2~?bUa=JF02ej{EBn}Ghq2PNdULbvN?#3K`zJwuX33q$uxe?w(;wa+ z0zhA_3B6`Eb%Zni%U!hmCe9h%_c@38{CLdhg!}WueXF@`kC_CE{TX})yvt04$WWVE(=dN4t0*Yp*OlO!j-zH46sp8Ik z)zXV{oaPVkZuS%22$wa+uHb!a#+7!&mHRd>q-?O`j$+E9edgkED9(n?>*+@{zW6ue zcovR-iS7Jo9CmN-Wz&@U^v(ehVeti%ndXVqf!`F3|CcW|H(RiTZMOPNT7#PKfP8IHGGs zYZ#|q7gnv*yvyTQlr&e|4ln?zc>K5WXX1sg*ls%pyB;Caz;8PI?5{!gHV$Q#R&>_v z!jqJ&|8Y_84rt?+4hwTu@-+lKJbu^#K^$`oEV5ovl|1|NT7~Qg(J!B+-YM3&GQYAV zG5Sfimf(6o#H!ipH%mmv)OCBbxJf@$KK(_Aqedr5n3~_GWGx>?sE!Z$9lK|Sc;(we z9XK1-B$uOmDI5NV)Nt@#=>%ikPr6O$e%nF>PHFrAm26mnAZ|?d)#3DtK}Y1pYaA&ZUBOnN z)xv6>FcnL+rMHiZlc$pB3lcUC%Uv}SNik+3Gs1jnt2E;oO5jDIL9H5=v*4?88T1$P z#~Yv$Dn5xwEe$+>ycl6lzIhu=zBx=nxR+~dfAh}iK!cRxMxa6 zI7f7ts#pJEaCglYYxg+?Y!&-mn5i+qVwovse@x2#}9_4|2> zX>ma}LZT&@3&LPKzN&RA_!LWuojni7Oa{n3<`>g1iR28G ze)jVFIo9=6>7x~1>bN@y3g={02gcH(XSMNxwNLT$j$?tukAzK=vYqK@)y|L~*Wk4} zn!qUgeQ&$n2eA{sYM>H+|Dw+F*MW>~y%l%)5#b(cP7Y?Qsu|jHP8YON#8D^LDf7NJ z^d&`Z4RqaeP2j#d-36FW2*f*xGQXm*BAS}y)?Unvn5X-(`i{d>~#=9aP88+}6T zY1{#A-hpZSrF?*I)}YqNG0^`0!Big?{(kre0K~fAv54LcVgV|ANeZWgJZk#F${L#J7gsd$FaRR z#SWXHGnm#}_QG}^CGeRJjTlOYQWOcEYkV@jyqMHEU4_=$Wi{L&Wr&tM1%=s=JGMTY zbT8Z}5fRxYXgaB{XJhpw={+FPqE)#f%*0 zbyUSDb@4$DUeWLe1SWTvOpbRGKdAw{btu;!tbEq|wPVAlcx3L0+`bUF|KkP;m}>LZ zI{6gy6km~zqi1yGyI^=MJ~g8#y@&WESBW`xAYT;=*EhRSrng6_+{Zm#wbgB}4!34Y zp~o(LsbWGCscK~RKew|qAHr1P7$jbwHLUzg1%MyG9eZsWpP@@?Si_hufiMW7#V~jf z1kw8wVUeP4SKgSM4NMJgWK{{PwZI^vnLDLQPj7E6HNeo9Z+Ny*In@!7DtJLrhT!N- z3u0ln*_@&+?-ls|(=uIG%T&%+gnhuv zcm$lX-E-&6asE?Z?FT%vZP(=07h0OjLb*uObn-pd#?{1JQA*d!m2j;@woFEkp8V+- zS>TFPvrd}CF`u|suYNM(_L~uHb)D|hZ2v+g4@eegUeRqyz18;&zt3G!^HSVoR_e!Lo7yCg+YaAZFC%QVVDPkH82k8gBV1*TmKR5K*>a&TC~Q$X0>R{t z@3T>=IAKs~D!-Gm*jb*+fIl>Dp@?%?2uBvVQvYkn*-Q;IPyx+J_ondos3#7L>pkr6 zNiA#=TnRJ)Scfk@LJ_bSYG7I$Ew6ySR2f!o437a5ptfiPov0O=TN}k@TN+trzxd$Q zx;aKUNbn7RQPFel%3ts9)T62J-{Yik@K_tAk|+G8$#WmFuHa=}&>A%88=i$nthhkw zgPi-M(H;&po=v&@(YG7H_L}_%WZdjWZrM&2B(6E#5*8PIi5q_3nKL=a;lr#aRcW2ET)v~>D>BPwE-2t^dWR&J#zeIO;%dX z-!K#Sg}>1B)?4AvvzeUEdhbmTzB#_1XHB3b5@)e6;2;m>^zhj$cMGnCA0J5R5x7T7MtF>(zn%H@^>l!5xK1vCzQMD zHGSDt$q)>Vma2#^1Zx_;qLV|3Y`@5;=O@EcyTKpUg=0^iUzhx5wmau!YnTta0qnZp z9H?qPqZviKo-E>>-1JmIa2avP`Y}z4K8RG5lKOC2DD~ma57|TP5b|}ust80U1|Hk$ zaNxV~y&_-J91iuM7sv8ld(LlXHyb#<(|hDP;|cP=7_Yd$Qbw)bTq=A#$!NUeu)Oi1 zxP2r9Q<{BlOr#7d1gn3(p{{I5{rPD3-Ix2@LpMN&Vw7-=YC43!>BF6`z2)+bA3l7z z7h-<1hjo5cZWw*QkV%oUY7KeMj7%I*_7z=>Mn36;netO_@x?@q_Q5gBFTT3&cs+V> zlXW*EXt11Vu1Jxkqn>8)mcrAiL#CupsQwC6p^IWFR&Z6!&^W-mdcLoG3;fbwJNQAZ z)+Px!Y?_)(sobiZDd`~2Jx(yXGUOl}U7$_*f29g&1Lf&qo|K&M>~>}R=|esf@1H%k6x?5LBHp<>CwIqa zg)m+^8RA}?+upf2IKmTm-F{tfGEFG?t$Et@cE3Sht2y6-?&Mp z#~Zm*@8GIob+zAUH_#o@$fu|j6z+`~*bdK=DI9xXbr(q|2M2bN25J`f+C`fB0Ypva z4I$jen08r%9f5m2@*xq|b9gsW#E@iJe&NmP`D+dj{{7nDgty<~7bSCtZ?l=;tXUP{ zDXsCJJ;3jFt(*bp`7wvPDW%apzqj?~TGO9QZpC``hd;DbBtds&Vo_dIj#Srou7@}I z1HB*mFO0-gB=U*5&?bM7PrO;T6`d}@OKk)a9aGT2mM=aBVZb2jJn+0LJ~pW+Bcg6k zmLfVe{QMMBZpR37zOWW22RZB_B#kZ@XC@tekK6@umn40*V;tBti&M{QfBmG>)>9Wb zKWHs~$c2kXADl%(PqWM5wR`N@UcSc`a{c4lA)*6Lp4K_+vlX-M?<^U6F}9uJYFm46 z>Rp%0^_rYYyb1v}R;x-icZLjEnXo<(LGd@ zi^wr|ka|R$xXv>^HF3wAOXBI{77Q^Fa1M{)%zyuap_{SOZu);U-T%PHF`<9R8(GIY}p@K3%k_Sivkw7_~-N|^2 zK3Hv^&aJc36e@o_yX~r7)1)z$ITJoH6+=*Q7@@e+@;cVlAVQnrMDPBur*vw)k-@H; zeB)BFq)&U|XB}x8C6DDcsuTr3LV^I2tc=+Pkz~O`lt`(#!6d?E3)!w66NfuqLQ<|V0)$C zicnsG6Xe2QKD(oa?1u#12S4G%%!`PBLMx-Eg00e8eLW6z@s<~`1Tog*MF#h=kw})W z|02^Qgo>@^U0j&DhY7}HGS!ijti=7t4CHreD8#ys%I}g2K9Gs-1-3N0G+0d0}wBSJ$zzwtH{FmE%5M8N0Qm0&Czi>l|72%%oKE#86hraUwb)2O?AccKe&X z1uqPSmTOe0sk40d+-4@NytnxLms{#-o~o!^4HK+T=3(MAo#n(4YaAY4N1$L2ezNC( zw7A14vKRh}a45W}dNz~T1k`f!&bD>^M85{0_mzDi|%Oq6Q7S*axGV;(akQ|5P`T5@10>yRzM|50l6!H-S0kp`AxY$7 z!1&F8KnL;a4Enez$J~EUpTHHGHJEy+SmVHVq}Q=Qty&~PT4mO-!j|$Q*D*~#nNZ0d zGH%BRF*zn=G5)$Dn?{BFxcK|}z@?{;fxRBJ-+0gVOxYmO03R{SLj|&Z3a|5&FR;1k zM!YoE)zud~<`xQw*#*gm&$;H{VRjvS8q3rptc?I1#zjF;z3k;Wb7%20|3gbW(SsSw z*N)eYM8tDk6tyz1^bt^_E0W{0^I6xrR__G&PP$MB4{Nh(HN6fqqM2OjS-^Rtr1-xO znrta7KpvTC(0rYCDSJY}=^|>AVE6e~C?)RwE6g?GD#mvuOn&zb(3ilb=SDtGW%eXV z-xIS}OT?9$LpG{%4o~Y-83wMzwy9)$#A~TobzD=gZ&`QQkRaw%!+XUUF7fz5F4VHC z@9U6ixo}*EG}+-K8w2TO5mk*q1iVIi(_-f~ye)0D`l#ZJetB3&;{`zYUl-}d-%gtA zjb0)m`li7VB!aY}1uhRL+gj1u!#W7~XSFC8**TMQTYQSXO6-lU{4(4Km`HFA9D{CuC~>goO)5^Z`YEAf;oR7c5Ci4j2cKv*#u>W4-; zhgDj)tLN(7Clek_qg0ozsb6Ez>#N&QkQ#|D@ zSI%A#+1jwOO1fnOw5wNI@s<8jADjL6YY96%z!%ldW?prvSv=8^Jaw%e5tr6R){sT_ zF!cYb(oianO3=hB{H!nCiub0{mrA;{OU)j}B@{Dj084^_qxqHx#Phwz$eZ6n}#5QtYEm4tVlR@KnCknRv9*VSzeKiRJfxx+{grw?PHKij&m1fIhnA5mHJdI8S`WWo znFc8Dae6j<8YaTJ5YGd`Ni8t%t9xfR>r_hR9dN=y*QR=j71iJnkWEU){&7-waYh&e z-o1O*tP!8P_@gqXif`h=To1MxvG#3^hdh(<%3Px7nBY&dr{bvOk-GFz&p~sCfk>e+Ho1iXOfj-tsFF6yqj9;qhni*13Yxhad~Vz1N2Kqb+Y!+Z06 z`8iW?27DxW_2BMLy4NZ>fq|_FlQ+h1v;qL;}@H$saggJ?_ltMMgQIN+xNM+)OU^S z#ol%<{%Ags(;-7-Tf&aMSugRIUa1nb#DkB3jV*;iRT_u4N6GS57w+Q+YzAM$wY}M; zPeV(VyK0<};W3?aC$HX={7WITbXDq!tFy1ic z2*jDW{?T%Is`g8R4-`Z%wl>~;_&oF^$_n5JaXkn4rI84yR&X&1fypk)&mI#7|0O-pGDLy<#gKCnK$_u z=tnpMru^>}deCBh(sz})mANX+SMG?A6h^Qv8o&;|M%8QIkI9c3yPEBEMt+LbIhs>4 zec|rl;4l)8+P|+_cWZt?66C{82=ci+C>OhkCPYWD5k! zCt|d>XA@@^P8Ta9?4}-*8q~U?)e1xYvgi2QLq`dM^N~|8bOxqxj*>&%-aoiLJq{a7 z;p3@M0txdW3t)smmb)^Q?iYPabL}33DFz6#ZR-qJTEfR;*b3d~ekv0+OhWK)i<7FK zi>CY-fH3hItK#zM>ur7<;dUWx;%o9YH+zXF;%eSDqv#eE89`u=+8|knQ#9ba0T~t* zUKM!e_}l?dn71_hE)PN>-yuKt7@{FEDbw{-pgTq9CxAOgTHJ4A0XePPR}8k#!1oat z)KR*JEyYiR#vbTf8$q4xzT6&d310t4du~mMUtm}v`au2kF5#STh@!eyufX)}r2?Q7 z{p>He4>ap+2*S$0mw@j>DZz1=mv!INUDgY$Y$LblapnA(_w%`!|Hn7F&2DEGrUo~M zpfrdFuzdX9h38_L1s+O?PHo(K%JRdr_|_eb8$q!i0HE|xt)t3jn(e7oF-4PDzb9T= zr#MY@j@F>G^HeHzk?(YIr|-x9hrjMJ=gnLvT>z)vAshU1)nR4E(mUryJ4qRH|&C}BV&z(i3`C2-?pTG_amQ;*? zsr^%pTs5m%+6op+L7XGDq>4ho4$|UXJAh&CEN?DL$EI-ib^|Jrv3Q{)$p+%$@{agg zlcj{!KvA#FdzxGq!tJB7uc)>;zN?Qca9C2M`qm`m=mBh(3NnbA22F8SiM7QMg0)Lx zDz_%fQ0islwI%;m<){LF=4;=OjNZiB)j4wojZ1nm?>ry7V6LL{8quYr%!e|dlK{DPG|`9kAu z>nsYUi|-S9la+Hv@w24*gw~$%1Ps4pkH3~kJe`sovSQ4i^d%Uy(f-&+%X>IjUBS3BWIz5AU6%{qyHwffgf>F1ogi3cZtWSne6N%f^ zU|But_HOuV@$zKej!{^f4cz$ka<~)=#4%pUq zMeiX4wX;NBvQ=^a9`nRxkQ7Pp#sS6g_W!>)qF`=-S;+%Itqri!48B74H`)&`KQM8^ z+jB`R7gk|>X(Tit^nCc2@X_e3tN}>UM^uUSgW_&qqr{F7Tm*N$v-j0y->~F8Fdfnn1f0Fzx+D{CqsM?2Wd04GM7Ot43H_$3 zRq87Cup>&RY2&Ab#} zRWf23Ss-5BV^k;twtBlY%Uu~oTrCc4pRQto>AoPM;WA8=XynF2(6 zVd=h#M4c^WoyIdVH%ymyOjd>)=%#)xFJda}g0v`ZJehuy!Gv=}Y)iHS0Gh7V`SyD{ z6)_n(LEVNDsv4Pz!4gQC`>Y8=xn%=L0l}Lws2ym>JtR4^0P=woA15(YTp5wT&-m-8 zMpSS84_5>gY8>P8?+!2JK+Xd6?L_REltatb(5ng?I=5I;-zRlHhDpoCqH|MS^l~0F zM!XIDzd>sa!hiq%Jq|gngr6;`_*94nOS^y&@8cP|EHji%1Bh(66WA^dUdaYwt&%`x!~ z>9F);7xXi@>j_YcJso5}aK)8H{|@o1kq5x~0T@+NTvNnjcghXK!`#DEpsWILSHL>! zna?-u|J&_L<7ZQ2QRGdM7*CJXu%Ys+fh*|eUkf&66__TEX6cmQ>aF4X8$3R!4Y0!l zNGtv+yT)#Xd!e;5Pyk-4`Snqcp{&y@h*KdOm#tsn@tEFpiGnA66`kIO=5C@Rq#+Bt z_Y=`DPtTIWM8?Flj*r3j^tT@#RMQC)4}=rH680n%yc;?(qL4tprml#;5D3p};j)wY5T z`|Lk(^O3Fr`E-%>;_=f;mRs`_2x5_b*qE5Ajcu`6=su2{Vlv+QYzbUr$)ISIAbjL4 z&rsguv?#(+uIFOMgRcBPW~|c05un4-a`A!N4qF=-{SE+XNEu9&(z=?~0@7s3@r;u? zKh*tV7Ql4RA%DhUI0rXiYQq?cBe3~iL6cnmKZVsmBo2vQ{V$eiX}a9v4|ih==Pp={ zn&qUTQ=mjSkiR+ZMFgaKrXOYT&pkkh)386E&bXIJu8wZLG7HEIBwspN6)?E zG?Tr9Acc`a{a9I0o!L5)AoZuE^xHHEG2bvQS+*U-g9M9o#OZtpDk-{7ONe zbuiyy5RWy9Sh~n^ivZGq0^g?3#LDSj0Kh&hmfV-JHx>=V^uMAHrko6j?UCp3wpBdG+=Bhzt_ze}eNsU;`#mHy9$Z z1GHOHzEK?SP;W#kf}Ur@4U_0Gl< z$l4U#segVotKr1|e8$t>R)5V;e3NbZ*5DZ3`jYt*$V2;Vqh(<2s)w+YL(r{SHeD?^R+IFAtg{4=ooPI}vT( zD(RD8RLi0EcqlEE%T^kkM&3*mCl+wC<1J#^y{Vg z_RGFjV^x|lINJju`i-+D#OXE5!Wealog=uWu<11y5xhow;^q21Vas~-o!tYm+X&bM z`F3Li4ofGItaMxKp!e3ZvtOw%g`Gy^g)O<~w>>WKirIE)eHV{~Et_f24yfbUdKezg zkxZ#l<^s?V7VqF(CXs6guv#oAq3x^s>U(&Sxj6AX(EXd^&SCX{b!xVWXdL_S;2xK) zl_gE>0V37YL$hWughfV|iuM;^jH#OMGA{7uiiLO88|qN!U&ID4FHeD{?o^4DKbt{` z$;T%zX~E2=WO8&r{S&hXJcHhVu~E&iVrCYDmkq0`{`SCvJu<14!3a;aln<)nj{&!# zRPHuyFv#fV^R)znW__Vt{1p75(gZqjg*zps&E&M=UrWhfyPPp#-*9*i6_px1J7+vX zoHE{A++!mkyY1_JXuC1QhQ_V)Aas_8%psO&UNwg6`FWH39Us+6A1FcXdTz_W44d}I zDL4&+X6n=Ki({DSC!FD0>!x_dYa$_R>Q<)m!_dBmk2A%DNLgaVv1VmI>zDWT%NfQM zbqP3o&edy_G=jNqcF;SrRMlbmfP%VjqzK0d+)u8$)=me0jP_#z6q&>B?re?T-8C{W zF1V7+n%{&bBotHR#b@AVs^?ta@Q6JQ8mFpJGx#y_3fl2S>U><#|Bl1ndl6c!_J!PXQe*AG&?Sa8D5XlB*dgM zZ?li|V~K8GJdIA_9J4f;?8-SqiW=SF$7!9&tnt8=)DH&SjvfbPoQA(*6{N}d{`M0P zJtYE+cjvZnd@6D4$ff@qDu0cO<=hx~M&(r?Z1iENnryNB=v!?I#bUl{0piK&bErN4 zJ43)=N)4UNnKG`59cEl63dwf)(qiB@tT(T;;;D1goqN=qpkd!501l=(HF`R{7PNzK{bFFGzvG=w@ z(~-_s4NivJ5RwnnkcF_3jT7c0+KD|RDdpYh!Wi|f!o8MG{J*z_A;TBKrA=%!i z*K%vKImv#*#aR;)+*uH+P4tjp<2lVMmUu z#H&RK*>&1?14Pk;@C87Fze1Mv0*N+q6-%+FXrMVtintjO!?(vn@k^Udpe2gv1aj^PmXY~9jymzj$GtIJ>@y7Qt+AeNlzZ=7d$ zHPHh;_mhm74@=B;kS2;5=Eqh?E1S9KX(6hN)1&wWnE0vs0clZ*qch~JA?CH^ii9=K z&U04!F#JocikpmuY8x-)Xs8>E*o(A97-xA&O#=7pWvX{09TmOCC&I1M05xANJI>l- z+_KNWky9qYj?X@ER*sefcYMx;W3ssO4F}C|bw9HyKd7WO6PL_@7JiPfT5e>lPz*<$ zR#&V>!zKXw&6Je)26z?6QDaM%?*v%1`g;2>TkMO zL4q#uZi~%PvyGk2OjN5wR>la15e7|z7?A&i&>{0iJQ4D0sYKuYvyz%$WWXklqmZ!w zmFYQUI`LmLq^nTe8&lRne1S~NP#{*Jh?JS>k;O%CXL?HC7BAFdFOuZRG*0|$ZW((k z8}#>yxn-d!Dwp@pTnf>&B{om!c*XZAQf#Ml>MOZPr_nAcRALO@G?#&Kx@hC4j|*vj2}f~YEZXo{Vi!^wvG9`ZpAV&Sd>rUUDOB2o`d#*W zjo+A~X{kw>7y{`_2Bnubt%30y@O)NGb=6PQ@R*Y{8G^gNP)wZ~XV(8@N%>t@YHH+5 zN@QP>;MyL*wBvQ{GCuS7_ab}vN{~N9V2D1zyFE}tQ*c-ThtUZ~LHy9CFJg8iyf~Uj zbT@MGUf$Z1$qM$4&6Kdu9%PUA4UvEwkB)AS^|lVxilnPkB5nQ3s+bdEdf1CRM?Ydt z;?0QMljWIN1zRLBBU&7v<%HKP3iA+YHHk2M$*1dJgAKixvg>8e^x8kIMtbliSkXfU*^L|cA4~S0b(l)m(i?0c`*Kj z)7EmNO2bj#I_s;|1?G#|?jzkYyvqtm3cbDPW)fpe2d_`k&S_9o$>4O^&hReB9-Z@D z1=4ayp7DYo2=MFexZ3_F3-ZX4aWu-rC0(dAucvK|myIK3@nlQIajJIRl6%qz5g}Z% zM!sj-=zGL>*cNQ!6`|IG7`3IOV`X(}Nc%rLNRGr~n{*g}zvLx!A$%MwPM&}T6NQ3O77{Nv?XXP6m;jZHO0_y-%ZV7A(48-Kp8&PB!28l zllpqQnaX|c3|<`XwOEr_twBlz(hAR1b!2&!KL!oVWjJP$T)gO^b{>SM^6Yo{mY`M$ zCit=+wATBJ$L79EcZww?i>uVG-(!}XIyB#y^l_y3rN`ZTOu=msXV`#oYHrEmyllh2 zm-4i3`YpE8nI>JS-MC@Xj@k_7$Vc$Y5wyM<3<6 z;QSJ<{cKRRMrTq$MhY}< ze^1n1QJe7DJK-<#`VkhgHjB>0U?2MN#vP8vO*?POuhR^j72K-G={u$1j^iu%3r>x}KN!(lf0s z&bifn@VsVg0}*;$r4Kr^ei>*a)Gk*gLm*~iv$G#r>B9_ulh?BavJcW49pvv`SkH>d2UHe~_mYqc_ zX;z5^Rl97t8xF56lR%q|n?^|=YQE|SaH0xT_O}Xzg39DNlW?G6B%pV9;KOBzT?L+Zwry%=0kqkP_}y7wikEYy>^6LOw`RXSsR_0I z_Y6_Mk1(}1}{_3W@wRsBMRLU=u5dp(O33XB5X5Mz@Px`B|gRi zn5Fr5uB)vQb84`!0#iS8pAW~rrs^hr+zT!X<@I0fI@*yn{ll3IjEF9YaAb&!m6l?T07k6G+U0;o~TtX zceITTeGSvi*TGlC6pfUTS}{+C^?bZR_+-9k4zjFC7r%M?O zY~q`t{xf!jAAS1>@K?Oo3*&Sv25)E6$E}(=YmK`rA*8pd|8nbr;l5To zl6LAqxX9Opr14xH0404G08rAgLc0IS^EYYx=^oGOH~4nw;I8kg{Vsz@cRErW7bgAt z+P+;jH9%H>KB^gUdG)dPgRTYghXrfgEo{8KjIgt7ezL7N3w6_<1TR}Fdj$41jIlUX z@Vr*8likHp(rL!|dcB)WVH3~obj02ArA29a!=O*2+hSWIv*=ruQdOF-i>&K&1>?gy* z`_DNJ^Jm7-oMu}4?SA;0A2!7Z5uxATpkepgZa5^;^mrwY6PDoZZBM{_xLaY*C=swS zsw_!%`s}(bS9HiA_vIpY+F9J?aZ}paM$_3iTDntVvO$g854|LHR(EObbP{^;#^`v2 zI!AtgN7({TNm9OJoTAioJ~j3cgOci9T^;m5l`~r6sNu}`utMU z#}v%zeun>=ou=RPvgb4Seyhg@Vu<8ja7@dLpN5gzL&t4$L+VB@kOqBI?y(8NE377% z1#|nc;L?s6rCHK-TLsz#;6VR%whT7{n&=w~-<`8R4}^;|8Y7dKPG4?#nOHe?oPV1Q z)1G0h_f9u&N;vI4Z98Q>lod;B+wy&Uu6phCGWuRDyN8E(5`iYWCP;+3WcgLGMYs0k z+7h5-9WOq@(+nKO`I@C@>SHE+a6!D58LN!N&a#v0=#T07e6qR@*S^Ph=ljHRLch{3 zPOh#~l?+edBrDrZto|iM1k=Q9V}3c_S4`2!qxmvnmO-!YE1d%}Y4TEvC)9Q43>SjC z2a*pE*7NHw-sDlp2;||I7klBGa+7PZ}P6t@9)p;yykZLb=B}qvb4anhAPDI2I^v^!`hpffFB26 zlU&F0F7$l0ojsLX@~3{2yI9NWoTEBl5?f-wX=?EbTX-M)@%Qd@nUC_~39bfRR!Awq zwILEkgFUm{S@ByF+n-nny?oM-YGGKBZZKzYFOit_U;XlP?7fEsaI@_N9t;U&Fjwk) z)sjl!;lIxH>WIZ(0N1tiyfBJzNrZ2ZXks10e*C`X_a#k+hrwpTbmqc#B+-&y_|ESR z5&oANVK%!}tu2nGqsADj)H{_Y_lzv^6Pil*hOkHd0#7;|?rDs&?8FrNyPdtq(6BBa zI)@S;;iPnCxRK9zqIcU@T7RTu2t+xP?eDNl;bn$Fsg@^f_$&yNv`EDW=q}ux2e0*y z$7+Rwj3n>DAn4VNQqEI}$MIE%5ydK<>xU9%1y^EWDLbf)*ueMcL;2;N9&tY+HyZ$<)$wBBSi$qr?t^yjDy?m1)jj3YSq*E zUZXR1WLsBuGwURwL$u5~sg(C_OBiEx}GP{nD~)W=xV?ZOL~91gZ8$`-A)H zo{F#^(-SDLkh^|)JEIc%I)t(mPJ@9xJ7n^-bZW9ac?F!a$Ka=#hx?MHje-97SW>mXwziZ=hCO5tFuJt443*&#BI^aB?n4dRDFFT*)72;z%Bj@S+ zoo`?%bq)FsOKO<~`{!F;<-e=!RaP>&H7_!M*mQYL1G7X#Icl2DO5tUPopYq!*`0Y) zeEM>Ww6?hBG?=ZJ*pM2y-ICe3q=!vLv1a!V6-}?rv1?29c_6kEq7WHH=^5&8L|yDM zlH271;VLIFT%wgwxi2U!u!Mx5ISJPzZ}Y%ju%!FaluR~px{~W>@4-+c#viqP(cmwr zlz`(9(mZ$pZ`#Jo)ivf7{(e00M7+h0YFYKZm!gK?hEcsI?@6g=E=;u4qBK-h&qj<~ z3#)%Z=R1DM&GkAeDau^H_WmzSPE?JpemJ@A|eR3Y|Q3z zvkrp{vw=I+CC_s}QyrHv8bpo#P-PI*S_~pLrOwy|XHz^$wNsrw@DWN2j;Qx24&gxq ziOw0gf9`WhbHS-1f)F0eH;nkS9lZ9cvIYADj4O`a3Mw`cr>I_|vw|Dv(k@dol&LzO17mQmv~ zx8Aeo3aa27TR-29dgwt+n72*2zbI*|*XJ~!s5-ma#owE^YNU4q$2f=sM1dFTZ|X(e znW`yDzF?zx@%2D{w6~wf5wLhS;71WBO`KX@`+b(&A!$Dg;ejDWN~bSD0#d430m~-Y~<;#dD1|V zN9YiI&{|6J3DXi>xnQ<)q`2dtb3PHGID2*EN=(Lao;vbYy*d%$t%CJhw~Ev(QRPh? zxTX|Z>sqW;e68^?|Klx%+QE>>P}w(hotsc+({G~#vw7=H0+6>%J*Ik;zOo2KiwrHlAx3iRQfuDkVj!+MvN-M(nO zk^+McIBn~&8O@EuF4|g!BF4$vI;2i19hH5O=TnrZWrRaiCWH3;$(>W>1};Ax1jQMy zxX8=fyCp)<=dc`v&_q#5Wt#_h%09sTon^=r+bZ(j>7YH>pU;=GJrXW@+_yZ495FqJ zbpJJ9VL?COiVpy#mxm3Ik|9|&^3H~}C-cjWxk|Oqf0)Pk^xx?HM0t-(sPh{+3nm|M zJ!5xzcCN=kcyp8wrr)UtCGcp0BbV+6cjQjDI8AR;Lk^hhDLL2JC+UWmzO!6!-yv~> z{VFmuhzWM@Xx2$W|_g7PCnGR5q1ty;+fo|NAdlB#3J$+OVr%#JhX7yA3S|3w~x z-f6>SVz~Rc>@PKE=vBQkblzLvpgTBCLbsz`<_!hR52huPv&C6y`PUn7skh)vZ>n1y z3~KO=>0pSr(>PTStpSFv++zb@FV$I~LW$su+Lu4z+yH9y!_4nbKvgDjYAF3Q$l)!r zOXp@AYe#~q%YB9ldF^7k4wUgYKGXBAx=}QPko)#f_V!N>pR2d$VvGR>RT%^e`TG69 z@!H83Y0&$pg`)_AG2D-I=gr%UdY2u_{EhnA>po&HsfU#?<$DOuq$B!cc4h6X>@OyO?ptn}*FW~@S8b zCr6aCFXJUtIOlK@cPKxWWY0$%opifaUJb5W+tafSq=;3$<_EEI>rI5N7 zu!LbHF@xKM{D;1l+_S&>Jqtxivzh&OE%u`V?=w4EGoCn$EqWYdS5vf>?)^8X_Z`_e znmK-u1)zo0q-K{*Wo1k&2Rv!RYM!1<;A@5DU~Pg~W5o#J^3^4dE~eDg6=xBG?T*Y= zm>@Bvv9dpe&e;7|#bOiK>*DC5PkSAt0M&e`gRhZqyw+elD7^%-EC;Y6Rie{dy;PK} z9HK(o!r$^-TDwa>&MVZC815Oc2Y-82dSdJSaluaPXb%^=@UB_rWZ3ycsrZj)A4{Fd zN@xPgvG~0YE^5ZJX!oI(XXeY}GlR`em$h3SbC_^zgUVgjmJf+*eqk82az^L%n=k=Z zeCR~e^hSotpg#8Dn^A;LM>2Dp4lgv)&8X3rBqhR6_`MmA!Jc9vTAt}Ay?YRR}E5^bm*3gzYU=yR{_>AY0L zt}f79%I>a+x5Qycqizb{pY`6p5__M&6n7xCp=&sfQMt4HmPc=%V);_9kyDmNpHd6% zJ*E9ERCC?K;xn!`z!`;AuZq>D#D`-VmOrc(E^Fg!*4LKTu}=?$HFxOBpBvNPpAm!e zqke_rld=Pb+$d}74kG@c9oK!18d+3&9Tt60>AEPp0TCJG4t@&%P!5 z0p_hKVVmN5Y5c+|^L{{E(%I0KoKw5FcRmTf+%3nT;s=*HwM+=Ddf2`t6Jj2*sf1^F zzox~rCAlTA7lHJ929=`lS+GI<3koB}hlbqgxlR+P?7>Fkria^CTUH)Z1bQgd;l&&J z4@0S9;RMz!L~J3a;~{PZ^~`-i3xAo@#aFD}lI;v_?pglOrRo|E=scA?`b-sD|KRox@3tfb?msXj#P!yk*IyJ~tcmqlucO5YwxoI`6 zMZM6P*P9#~+#pLge!IvBZN~T*jN!gcw$HnX8~)Irb;}4^!Q;745gEaGS|K`&w?Ilf zNAP7(Vund%GK3cT(`5P+E@ic_nEKi$i0Xx&2~c{E+X>eTfqY6Q_eE;^D7|0x9h9CL zoYTFzK3u}kJMX-{LRsoxPOT4;&C0%o`s3amxeOnkaOgk>LKocL9l>CFrmRz2x12L5 zdN&GoZYGaWjQHuk>(Rk$E^oTm1e)8;Rs9qtxZ;K`4X*mL?{u~~@B3-@qZ4BXzwdcq zI4gKjyglDJv=p=R(?jiWZ>$;iX!MS9Z;s!dQ0TLy@KlIjKRUGOCL)5VZ_1t>x1RG$ zS_+uGn>E${VE~x+gR&#Ec?=bhOFcaGX`r|>&PNf2H5g+!r{taI2xMM3v9N|n+_6!@u(G6F zdT+GcP6U7ofU1+)(|`Id@RVRtilB(YU+N9*92R4qvU>qM_M3s+a13@v3Dt#PEP6st zP7`)aqRN&(Sr6R7*2=RO$#PQ%Fr}w$@5Bu>KGS9J7J}B7PxgYS!jBqjJee?IeV9S- zi!cLu$uO@|)e};tmHw~VrLQ>mU4Q%0h0o82Rb$WnAn#*M;xDobe*^ZtwqeRsDs{te zTgk=cWqO?tTkTHwt>w|QvQ}}wJXP^yO4jnGePi;y_e<5dCOwV|&bW1zkr%vtvgD3c zjnL^fxK-+Yyk_`AELo z@e-cOjPK&lwN~9uMaz@8LZ-}=P&0NUBWKo6Vp;u9P>KP?a9d8(_2{X^M;xhaapIBb3jA22k>YQSQvO1NOYLtSRqu3k^*H@;yY5=x{9~mk+?0OHNS_k} zZ}7I)bQH_>j8x8I({JgF=HMj0+JCy5a=}sTLCvQ|0d(YUrVyaecUEdCAs)LO^_+DX z&fY^n@Z!Ge2C=dHs&}KAU()EK=2=lV{F2Ue$?Wne55usv6@MyiLpJT}3NT~^7B34v z9CK_uS>kHAHVzFF=MZtz2*X1+!2pjG4So=P+^7Z0Lek!4X$oJwT^O z|FG?R|5kH+bkH7&#+suGSIp*IcVCm)b=OTpJ2U&-*5O!Zi>#4f8?#VxpJLNR=dVO_ zj}9WtN>#I?EqhMvjMFg;;+X0QFybVICoamf<4y(rpf2v&4J>Rua(w?jfNsI&|J&8 z;X7^@5l#HnMY(W$P7(c9SMTW`ol>4B=Czh(!g)y1P+-G){%zKR6dKY=ewklcQ4nCmZIs_X{{l!Wo6$9a4Q035vSZ+F-HwcvLcGgNvJyX> zk}^eQ=fe#~T@;tEA;(_o=p^Gu)-wiG2${M@xXbx(N+sbrmE}n4@5Z%?!o*RTvH=i~E_31aRap)*^~?XQO3 zBZ=({{7O3`$OuJB9{Gu(4{V3r)=^;s=th(!9xY!6Qj+5rAwR*J8*PEE4e>G9Vl(yy zOCVcHS%vOx%Jb(LZOyWVmqXl0&q2<7{A@xr3iMH9FJ|$R@ZwEqA==yA-+4WkT#}r5 z)F^Y$jGSq%V&G9`RTUP|s3d1%QKoRT%4~1(%ymkP}blfqzkh&uk*7CAEaElFB*fDy5TZ`JwL+Snno8025aUE zak^a`y$kom4monW10dnuzgP#B$YTulej<=nGX<3?japmBO{c~(^xjRGdh2LIiyHUo zym_)}oG=HvivJO|@W}x_y@@EeJ0*!Ot5AhC6?*fB9?K@gvHew)4leIA!@ySN%)D01 z@@tYwmJE$yt)q;C*(2{|9W$Ae7i^WL5F+6~Wzc~6GhTCalF=E_SV80m`njtYFF}A1 zn8uXkTv~abHzDlMM|-=5um80V@E51~+hw{`MH%_o?0DG`m;w2h$FeMJC*mNw)y{D7 zB@2=o8|H@G*5goXM`RVCvCxgXfxL`xye-|^e(@wEXhG*@y|3EGFiR^f_ud0imL{<+ zI-gK8!V5Q>jWOfSBw^m@1ua2KE%uE{|X9!g9^o6;b1xo9!#v^I2ee2 zX-foIn*Q3Lco3!{C~WjKYZs(k>vP)lvoG1BI4Z&x}E&jeu$;vx^+*vHY&Mt_E##&)%CdA?SBF)gwyp#V7^#A4I;f)tv z)Jyg$b`mF&K+eMnmiBwTK4^=lnb^VtnkKGJ&gRIpK2ZzwQlyXoqX|`Q6kzGG+;v+bp|zF>UkqNXig4nKnB6{Vh8tj)?=j8Lr&AjJ{R*JZ@ z;Po#|bCdu-dzE~CTgUjo>F{>W#ekD}1f1ujh_BiSloUw~BP=gE= z;jt?TM2HPBba|}e&K2FWM!3(kORBp1``rlp6Sw$aw;|M(sHT<*luK)$UP=;aId*BN zBR$G|hvflu2u`j3;?b;Yf!;_+D4}n>iRu$9%$gKS_6uJ1mE&BI<#Tf=dks{fMt{^sN=b62EPE@}tk zC<`oG-Wbj9AO@ifzux@WHR=gcEel)-^)}b+Qpg&ryflF{gRR>3=(^vl#y{D!_il8t zI{~hdC(X(`5wuWt1Qo;X!SbVJ!a5}L$~yIRkt#ncJXRMND@=a42tm7fn%Fa+W>O-`tpWA$NFfs{xuFa3Wp>;ok|rb` zDY_~`efO%zvMuC(Nqo}ieXmnsaFdx@6oniftxO&&*q>=Av^sT&EBU<5^SCHO58UJ# zi!~_i(%1F0WRH_OM!6X8NG;gHf386MerHF5uRAu*TsQ2KWDy4KZAx$3bj~A$e%2~sUBU!QMH94U%6bh+PNVQlXmUzUq> z`=1KhoI<|J7amTu0&;*tx0t2585<4!68>Q~(IMXv2HyCu2?};44wML>M_E!iKLFf2g=?e1xU%L|sDUH4s3z3$ms*@}B z%b{b8DII0;R<`a_=D<#e#P$(@hRk+*RaJjGsi~A&9-gnC=;nAq#0f8p6@de{r67!M ztNx}5YF-!0)__0a%{CMEU8*hs$eHP9QnF*f$y({AhW%MDg$Y1F=UPQJ7-+0?_e2>CNz}ft5MzGMx`1qe(joIqqp`r-klgsy@s66d1Ba~ zaxXycK^{fEg2}{?g(uCLOgm4C%!Rx}Wuo#kVlAo4G%O{q;Md)RxkW6ns^zccSC z2WNrN<>D8K6CpR#F9oeP=BpD!*5X7zo;ydgCQ3sZA409LC`C7eIYe_IVPd}iq8BeQ zupjTgDZ?3tA39%5f?*cog%?e14cyDR%Dtlccm3*1%8ky*37!#NN$KEttqNOctjg9d zw7GldEDf@C;`mQ8EuT-{e@%E<#eSh|hI-dq73DoGb#_UjvqAy0QrfAEd-^&TYi4!v zMKqZ2-RVK75f_^Ojk5kPjs}4CK$-0A!Qa(m;UNg~|2Cfn8Y;NoE^O__AYIbUI}IV7 zhUnvi7~2p!5MdSP-ZKk!+vEMO9G}-;G4l4YA^+`>(E73KtPx z$$!VTf5{1TgUY3+8LtRS2GGt`Z-}j>okC_PYGLC9B;c6YoL?;`2n_4ZjnGCjs6`Zlg>hh|9ty88NV~3VA zhW=x{Pa!P{Jl_rC-)B`M3vM4DB?weAbqkd2kpxTpH5|x%eVq`x%5nHMhnah`(>wZz zV5N|d-)K9W(4P`-_%WV(yT_JPiJso&PHWWgr{foLhBh){kXkn9xO4gNSLUsSs@qcp zb$6H>-9nFldz!|)werHQ>Sd+-P~vT-$~SqzR;i5CI!Es^QWq9LRr^4+5{zWmlR)85 z4)>s5QoLegiVMUI{jYO(SJ}dGc6{p{uP~sO^^`5%2xx6`#pCGT^x917f0qWz2z|}z zV|DUr)j*9AhAsV*!^7FIo)qi^K!k15H-jCeO5vmfM+qbdO0+RDno~p;wsc#;CmU>4 zhhKV~2Ymz&i*c9iR}c_1$9!$bpSvYcx8g^mj~?8G4o}tnj>sVfy@901z4qL6|b%{ z;o@sN1iFdo&w2C#&WA$+yP68KHnS{#`dh!^Pz4*_8DH@OrHO!^Gzl$IAN85Mh6!-9 z&@mxBXLQ4;ISZrzxxy5IO<_m_3TNWNM@6%P;*@KX16f!xIF%?E>wr=|>A*-iiC&pB zAUf3{T?o(kZ${@m$&{Vn^I+x#hGQ)!XK5&dz-f!6jRLPlFSF@B9xF{P%!e~l$|HuW zBsyTaAHE}P?PjN_AgzgF7v+zT;gU6__3MDWChQ&?hFC$ZQj^Nnf(^L5$G*pV$Q*y( zzro@^aI;P~{KEoE9}~J^iCN_$-=fM8aTEdYSq6xV|B#Xtlt4Wla`|w8c^@81B8;oe z($2xuxi7XUP$%SI$u_aRr00oV-EQMOR$vfjx<%x*3BKV9@-v+y+2xZuv5TfpP5%2U zN3oq+WPC9ot7uwrGXI1)$D$DLITRt3SOfeiG!|(lXadrb(P1jUB~;Y-DU0MM`UR}a z6O-#oRvr`^gKvZK+$kyfz1q{Ap2&05y!@J`!t?l*XGntn^a+{+Yl5_a5L1P8^11bs(EZ7Z8G^B{zECapt${gRN4Is=#~$N-P1s zim!DuKUhAoSUXaLFUPC91GJHZ)-d#_hg*xSk?D)B5m~Uwr4@5Dy0W%DEaMxl|Wx}K<62_xccRsYd zgt4AM*N)0^ZOKT|aFodUJF`kMlZQZ>i;^z*-)U3EkdrQ)6m^uVQq(7h%Tzm2jd@9% z2-=zL;kk7P7&(dPZeTz*ErEzLrbNZvz~+J0zr^1{=ZacH9*pyh=Q(XI0tDHFT``Iw zj|eRL4XqkwkutungW(s5Yu896n}Mp&pi*C#KswcfNX9MVXHSDmYFOL^83GwTW#cnn zu;v7$@HPUnRYVfxV$~BS*4~q6kb2N*iF4iAxt+-^5I!Jq214Mf}UA}2`wR_RE4jo9c8vW`7*o!U8zZf)?7xi`iF zkFKBvfH=}PHt@8Fo5Ei}fv3z!tL&uBcuAj1>Aok^$(7{X6;}B~<%P&w{9S!`BwZ`8 zFr&yB2c8_=iJxJPWcV`rIVlUI;)#0&qQXjd$_fOG#S|ELFibX~RI2!$krYVP39yxH zhpcBrT{}k}3O(7?%;-*;N+J~qo~!rhg_XFBL#F8>!4zTo>57As3mJkUtLnL%7X-(s zhBbd1!w!enOUWPd%Pi`8?OSG(RfuwL9Kj$TT<-~*GN_96C9a+8(TT`euAmI{97iDY z>DvmCXXZwx%mb~0iyUVOQf3y4F7O@V%=)x_NR(dFR0}Mhh5Kj&6xkcHL(p1QG z&?C%_tW<4#zFa{CM(DYzmkhlp;Furu2Z;GhPF7JLPMl5rcBMC?8;+AGU3P4Cc#9ea z20`!^i%299o{=G~SJ2gP4afjEEU^n-nxQvW<-2UY2HeW>J{V)iwPj93a0$E#s^+`k zm_JpC+=M)uBuU?AIvwCY?T8wNO&d@N;OZV;tNV%MkNHiwRYc!~)ngKw%Xrt;u#y@N zuGcmzMlcQjj^0UtL{5x)FMo#EL%$8W!O3;q_lxSk^Yz5gJ(MtvN{>O`QyvVi2SGnH zep#H~e=NlM9pgOx^)(M}xz4(d-dswPL~s-on>tj$vDb}s|CJKaqybzK0ZG))z z!6h0cJ-Q}NCNq*-yPua{Bj?tb_!C;;nG~d!!dZhwEP|iXB%{8oC09IO0CZ{`>^9LU z+xrG4DUj~({(ZRQ%)u$UNX)R+gnu10^8dK~ZA&@rCo6?kS{J;ji zdOL#g)^Y3NJk1HaO{o&>o31?QX0X@`o5*Ye&5xiq2R{&w1B{PZZ-VW}fjeU30)$#3~~&1odD6kGQ^ypO=QobFNv&O@P8 zn{?0o>c?k8rmVx1oa<&L!#b35uGJEFDJNfj8;l3~W#15trfNs~8pD*h{YrCeF$D~q z$z^qTkzFfqwH~MY(@Ys30oz1_DXwnyu%CC_Qk*!lqu^{T!MR8GIu)^%WxY816dY54 z8B_WKria{iCj9l8%zv+O!j~-vz!Id!4Bpdf5iIjXbVXoNP0_nHYyM;j3Du$0-1Kcf zj;qT&=2vJm=Y$w_`wac5&cHtM()rP`9v#l*R7Q6Y{rP6{uuo)N!TknGe^$;ks-k;x z8BSjQ{+fZE5~Fhl9=0WOGug+)Y`}5r5Q>CJFl@*Dr@j9-XWy^#AW?nyqfPjYpYP7z z-#!bE(eIp{TRs#=i4Ns9=)|sV>-pEv{YM+wPg&AO*$68)s{fx6oJ@6pgu_fB~w%n$H*m>gq1}e>cG9~vRMz>l<(9Z zn>&2Joey2SE>RUbtUJlI-BjQ^ODZ}VRexN6x~(!+#OYbCtJ%z|zLr$Po~n*y9!ADC zxh1yh%b9N`C%Q|-YHp!C8KTKXlp-DoG*ZXcT8fYSy9fW})9|;K>Wp|!tIceUZ?}#A n@59P}`GWudFYA7iSXVN-jd>2dN8!a5;K%HOdwy4?RiLNRMd diff --git a/public/assets/images/Screen-Shot-4.png b/public/assets/images/Screen-Shot-4.png deleted file mode 100755 index dc184988b3add02681ed742c4753a513454db604..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 357456 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 z zEW*-44uQA_7ttm;_@Tvz-HrGHHnw-g#)_0K8sIiim1f$-EPT$!+ViKPBS!}59TK>M ztg{VEX)E}x5F_nxnK#lOOY7gJ))O$*E7(X)-8u6|Y%{wB*AP?-N}0-%6*T_o{?riy z=a%dVg@K@La2L!;^LxR#jIC+em+D3C^~=aJ)Ra%f>$I zuy5#GLace~S|1b;Nb?l!b+M4Qt!XVKR`j|m5h>G+>93RNMD{ZuYXK(bG@v0pv~&hb zgUSYrG%VAB=uH+qAkr(kX{e=Rm(8y%Z^c?x?e)2M`#H^8&}2b3ob41{KtJ1w9%6rD z)01i_Ndz-$QH8#$@UbMgYcz8FsMZSxCsx|GarzQE(-j%nv@F1cLnecqkBcJjJqvq> zt;S16hsS7DBs`pT&0Derj$^@daU~nu6;;GQH5LZsnvG$0BVmGC6r{Xp7V>HHt(ObW z&L56#=A~UHnd{kC$0wbGl<4M>3#CT`_R4v@N`;hP*Cf9R(2t*`Sew~^pv2I?q)!VnFAsU7 z=#|j?Mj>ULDq)q{D8%W$-`r5to}$S##CWPLOy&_tz%{Ct^`vw1x`)6L;jw2Pr#&vC zV0p;j#5Rw!Iyx#zI{%$@`KPnPr2 zG%)LHslc^y;q;xOtO{Z}K=yORO8uu&nWB%%Y`XB6itUaQ;LLKAf=mr*4kKuzu;Tsk zG&LNyGe!}^icb)=-FgGpRRWo>E8R5xZHE@Rqa7882Af-jx(g&6y&mVPmkCbRvkek4 zjdo6S?A=*%@@6k~QP`r#2Vu3bmFF;)9YhY2%-7`S)zo!#--1o9;Q+EGul@7KKxLAu z@;bUl_g^nCVBu_x-T~Rh-;S`NGfj@iQu;FR7Mb9r@oHY@{e#=AH>kbcrPGENX(Zsj zH)tKCqveDhR(8C%>laesY^7#^ehQHOqu!N~ora4gbq=wklgZ^`7Ld`bm}J055j<>1 z|44`GNK6Em?(?C$F)Js15?!{2y|)`jM14p}9#f+~u2tGO^L~L?{~_T(3bVpLLCx2n z6su7)H_3Fu6mKnS^_qhObrIlDyUixqckRd7-&j|23Pzc;f;w9ZjpXLcQ%wNH?s@oXnCzA*!Km*>e< zgvNq#`8y^eFomRc)g+M3BS6J~6U|vn^3&0^7nH{4uL8Oz?i>J6jFvZa_7C!gty*jR zUHc84YrG$~KDTx^jH8xDo4jynlZGm(GGtsp4lWbtss?Y7AI-Z`^Tx90bOtL}rib z@;oAYuUSPNRTFlzhOwm$+`G6gNh5B<%}*BH#uXL-v7$o|gl8%0NaZK;F<7RIL9)f~dN zaGa5eOs%i*M9IjyZCtC|m#|Q3@MoE*2fmd+_NPIpL<1VErqA_W7&{_Gs?5z{eRtw{ z=*QyJFp{DxALOVwi2-Ao*3~!4pqF`P@h@H3vjJa($=8Gv+c(;i<@uRyOOw(J7xA>2 zd0)JQ=qj~GHXH0;5|{|YPZm$uL~AAz;%g_rDIZ}k(G_Pt

    (9WX9<{*KH=%W}gW! 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Μy(TuPUalo>~UFc+@n5Gn4WXtgLQ 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 LzlHtXEckx_ZPhi$ diff --git a/public/assets/images/Screen-Shot-7.png b/public/assets/images/Screen-Shot-7.png deleted file mode 100644 index b8a4c3025252e223c47be475a39019a7873d0f82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113695 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 z 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 RyClHpfR)|v1$({D{2#q&6j1;G diff --git a/public/assets/images/bg.png b/public/assets/images/bg.png deleted file mode 100755 index 66464831c0c4389471dfb0ba94981005f77d12a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 600 zcmV-e0;m0nP)gws~>GJaO^z`)g_4W4l_Q@I-8vpR-ww`TUoSA}Vkbc?jsbu<&5t1W$|wV}QxLbi{VYj4Y( z`Wq08&8%9Lq<*SnC&26reul>-j;)mzOK*usBd~z4+s{{H3 zD>h_8R#wH+sWAAKse2^!mr1pY=7g9QZ-Rhz*OSi(^SM5HLr070t0mQ;oNx2Jiqsml z|Cf-?aF&&SgS_)psZ(#@&N&dUXXJ9$VWGMczStPj!hpyHPDA< zl*~{c(JqZ;n=T7GWgTAh1l@1gYVX@0`RFl`?7lTBs@~GXaAZeLm&shrznR>m^kjxt7JFuzI^0K7(u6l$&=SMg64tmFQP(razaoluGO^R+;~))Jg0fxzQ-%K4f?}b` z?hV(Yr_ib$+*z^5!s##cv)T(StdAMgjy8k%GxG53^2yf<;{FDUu5LEynSYw#AlO}f mzkdv|erYfIv3Tu9Ab$btOBd6f7(Ds_0000#go?{Dw@?R`Vvs>l)IQRAVZp%KczdHoIz4G)5bhRuY71&o-o zI*q2@Q>?>(A>R%&zb~8rof+ z{Ogw*ZbsX`UEMSwb9V=4B7AYO4?PG&<{pEGxD;MG{A%4tByoYJn4iXtZq70))Oqf{xFuV^PSAA z?4p}3vMur*ysY{U+4}C$rg9lN!wl_(zt%6E`zBi>Rf=o{^@a2$5~no1-j;YwYR!49 zcY0Qw5YotsM6v>zsiHqJUw=3~a2UJO)v8&$R>pYt5t^C1}RtoPDsd&pso zd){g?O({s3JQYl%BvcP4v?Z>G2P~?ze|m~_3h52l!MhGgZy-RrqQRlWS#`u+{5;Fl zW**dLjil{@l{U;g^rT3vu4OEW1@4|o#r8w9D~^3#|79MD1qZO3QhOLAVe!o4;F8lC z*}kgKz9Zkgqk^7{-&vvT*T*w=PgFpF08>D zJ#o=~iz@fTh>&|-r#rCvRzLi%FW932i+Hof`zHDhCe8PR@;C5k158bqyXspzjKiu* zF{WHdDD!mcDd2}@7uE#G0OaukNIbd2g6#S}Vy>M>oYGu8n1sTu*9Mq_I=Qf1GlxAl z0VxJWy$u+7+b+==WXfWedO+F8i$)`bCD|Tkb5Ui(Y)_~x)HrM6R#kd474N^($^VX* zgIEV^ioE__FfzjCMZ;&-h1j<#YqE4r=bYm=={`U`U3;n5TN~RP!QeMyc$7(`@SUVm4pHLj+0 zLU);VYnMkk?Xs{JWsv{!-S?0{VIlgYujhR?L++umAcw_l$7}FZwN7zM!N}qfi~iN&Z2|Ycfu$==A^T-+EGQDt~++p z;lB6C+Fn-?l!r3A?r=gGvW8V1)OfG(@TZ$yjT^ZSIS4JD^D#2|Pn7A8G|V@>uitv3 z)g1ZWoIy3toRcXe^vl1;HOux~RYnBOM0B$cA95aG(}!@auZjwfnUbl<2COGq zsDQ)Z29+j!)e#PmOohx~gvuF02&QvG)#Q9DT2Kx9|;p!ram!{Rq7$MGz??=o<~ zn60n>{`{9Wfjjy_d?%~Ehqq#OK>;Z&9jtIZ5a?0gBa(lQ(3eMvHjS4vX>X*s0=fh5 zqbVVSC(863>(EpF$E28eKh6~sYTsS3=+)VV5++Ab3+CG0If($P$NAf?+X5@RkU(WoH5O69M*Qm&MD<6Cgc<+|bb58vG zS(~qN-Up053CMNp;gMPSd43~!_0`6OVkZ6~z111s+gtcVmVVk6&G`t6>~G1$Y?fXh zI?;PCkSjGHWwc!6Ebd;WVDZ24TO%Z-ekyGy?lvoc|NddA!G;6PlOE~i`1aG-hv>)( zLP8qKT08JaaaGZa{4ccRN$_tD)$%SMDJ+$TsG)mAau9zd+8w<2|16M}DrHA>$)$2;C)@9Dm3Yzt!8)}V zv-j-}{i)%vL{fwe{07pz?zpXJ2Q7~zd9~ z!6a2~O;~27p+x?xd^&R4!~TRUxpXz<*T2_4lx--N*eSB(cC4416DgafI5_43cF|Z$tcJI*jQ{>v zI`_mue{aTn^V*f%H6jeqxBo{)3Jh22L`&ui~u@0uk@Nc$3(JZteaI#DaV)d2(OFZ zsT2v+JstAaBMi@liEJo5)sudb>C)bZ(E>N|#z^Lof&r zPSerQ@FWcV4Ync^Hpm|-7SF`nhnu8Cn%RW8Y9xf_Jft}F>K$C@PHqJb7;o*4TM=st z5_j7<);D>6P^s(Enytzn1J+UT?)|qmC1uM~Rn5^ud6Fusiur~mEaA|bhvm&HpOhBP zyhRVs2~keNcbQ!hcTPlScYAy5Kg-GHVnHgl$oTsWVW6xbKNsabb}sO68xv{`TrTslV~GPY=4l!UiRYrgL)uefJAPv~l9x_)TgOb6cm zc_G&HD1ON4*IS2L%~wMdgPguvSL~qde|~%Eb-7Wnm}S?zBUlc-^{{O{(b{c2GotrC zRy*CBXQ)##)UAGx%PbrIt*~$jRbN>6g@jqQ@_qk93+)KnV+ja@$K#p_N|Wc&tbd_} zeXgrk<|EpEqrvst%D6Z_{hIR-bkrKLRrePX0($Y} z+1c6s!yXD_9?w&2)K5J=*WFn?LUfm%nS|L{11uui_3g`X_~77*o$rW|ybT%mEGaK4Qh*)722Pm6a8Z55s+Z-#$*3tL->1{@5x9cLw5$AODm- z-kZ-#GV%z;z$Ow78ULYe?41yVPoafl9*mxXPrGl$&7`a-2Oq?OfB%=2Cpl?Zmj{bmX;#_7r?rs{hI<|7akMVYE_>)WWqa zlr>&gy=FeO_wLs6xvJ!CbPc}WGX~!;cQ>PN=hA5C$V<4dIHp{`CCfATL=fgaar-dS zc<&a(U<4fsF)oFSmfxInhN)~QvvRUNm1NC?unY0*HG2_YNE&3o{U36BdLzoT?G9J^ zt!Eo!067+(YL)37ECdkC*2&+biMetCL6Vy3C@{$DxYAeXFupNa!JsOB5LiRym%?We zn~<<-UCwuNc>>-T$y2it5fOR+{(YtWVkh1XFc@Z4LfqpIG_#X8c)LT>CT%Dn^?yd`*>hxSbbu;edtO)-D-9*}H^{|89(qXrY3)}=O zzAW!ehL)oV4WqPM%M2_~QOVnU(`3rvjxtCxtp4>M=NAYt15L4U?W`S{`h>k7Pjb%nzz5VMiIIV1A)%KPj$#V#OPTMgqCk8I0d!1-#cO){q< z>^}4e5#hYNyqKgUly!LwoU1v!rKJUL)UU#zDHc#Q$7x8COxI+; z$8KeHRYuvS&3^Hf$MHJJt;k`j*dA5K6@$C6G*ea=g|Qc}RfZ0S;g5L07_`a_`inJ7 zp0l#v`&L>?P%*hhYs7qTa3FqneY9w@w!hd#CF$iR9DQ+pG)&6CuxC)FHSIDqN9Eij ztPm;v_on0uYLE?jEiHFYo)`ptu>dx%GKNf3|=^h*&PT=U|)HTXC?>g@dh%ace=?Edl zexDv(2S73wF+Hubm!+lU1Mzyb9N8eG#ZYR`LPtOjx<7DF@bUVu#aoBv-k__!=DoK4 zD%9E<$a<=B-=of*=>DEE)aQncka40L5GA{koD_gayDdkE!ulWN#phI_NdVNxCMChz z{W1Fc`fyYsZ4fy5;o+h1&G9HBWodZJTDIp}3rozIK&=sQr%szRAv^QYd}XyQ4fEkl z3H}d1A73B+aNb(~nT=79?udtri~ERzLR~{65VjnuxA!*ibIR`@&fuP}WTiS)pM7pF z#}yxweq&MVvw+R_3{4tR)_Dn|oY5rHk353ffU(utz`wBSOP`(Wd!C~q);M=yV|Dg7 zJe5*-p+@K_W17$7On8nEp7dx7t9NJI<;^aX+;>pld-jv9cMGu{Nn#U)a)OP9SoQNu z0TqJiKg%J^GY|oo@md!T0Z3n!0nk1#Ir8?v9$Na zFteBKQ-+0-KGPCz`*|RB&`mm+D!@KVk0;r7<8pC)(iK8XT!F0nI9b?kVq|0_yddB0 zLVQ9CI9n1;&N0?UW_03iJb)dmE&kHEIjQi40C!f~Qb_>?DRMPEu`=*p2M`aywFl|n zz0UU+$!3x`^<`ycvC8!7@UXoZy!Jcx1%J5g=vn?ePO-?uy=$vJ*@fQS?(dZx{*q(3 z_p{uv*a>w3RffXnz46AirE7{y-RGQ(T#qx+&HxIdYm z!uU?7eXUi-gyvX^6$3h{>e%%}Pe|UhH))H9ARu!`|5u|7Tm7(V!#25B?WTn_G^>_{ z)nqJp*YL3kWmsuxX<^pU;UT4vt-;u*k>y^@;+WvqDo-V>#-0n>65Ll|uW>&z$5DAn z*F;JNpZzM)t|)wL0Rh}G zWqHeVjm5D20uSI;>b~M-s$`0%0J{3CSd$&~^EraG>tnSB+3TJ05(>p6uAqgng>2RV z?$+axeeb^heq8OxoX?+sGlu$*=;N&a%8?5~2_3d+))^t|Z8DTw&X>YwJ+{hbJ@;C- zr)xr_ZZ=faZU8e;le+Sf1R@~csnH~i_{2oVo0G{JvmQLam}DDlf1hvH3^(3hZn1K5 zIuliR3%EfHL{~&@Y5BOUHhx{vqIn!kh7=fkaa%Px4CWw|HOjDHjDH76rI(Du+RHML zK74atp`|W#tfG}!QFHi@BulxSsR!;iTAkMc7@I7%yIj0DDH<{+2A$9MMv_0teNtrs zla#zOB@MoJqoM#K-D4EXp+cUKAFMqqVLiF9OpJY9Fi770^l9|?cSezURNRISuXD0?6D zP>`LH>f+Xl0&x!^_7grJ`Ybk>SfOQ6%_Ja65Cj8G{!OO)8WnIguEpfb2zrTBp*c4U zKj2RQAZoD?js4A%3N7IzoumOoib*o)QJX=dy{X&RLqN^{09zubz78-TT&l}Z-n=Wy zqLkb&O)SwJ%_yDzJHcwIa?w=Pm>%yvmrkYMsH#*3t9m{UWZ;pC)XgVy4xP8E9fMOP zj`?{OqitYRVV-T=WDQ=SEXIbOf)=6t<*4z)eEHMccMM0`C^K-}#FLcLaP#!&x%j#?mv_+(84P$X zX48TaV)+gRF8K9(?52vlf})wx!N}$Bp<<_wPT8BGuCopyHCx|6AW)~evbOnRXOL2s zq{OvT;lO*%nOaLyqLuOBzK!0D;;oX<7-qRY;V2LWy#gGr?y?h(vJE|+Mel%a51&?c z^!w+p^)x?Jmj~qsWQn^w0>X<1wEtk%X&7+)6q0SVwY7K&O1N61gMEGWf+3pqa{%)- zU2CbXfy}mV{$2O(=}~@~Egm+=*!x5?Ha7N+g2ECIdlF*v+5OmHL0Q#toVv>X7S;P7 z4%$lyw zv)^5X>^9D_NR`j`szSFrAe08Y3-42f6wH-(UC<=2t(fyoe~RR=N?&CScG~&$p6VL- zsu62d+y%8|u&E3gWc=SSSyt2YiH^ik+Z8&Q47<}tUJ?iZ+Cs}(Al0D}fH*%tZ-l@T z@zm1_^73SqCFt zECNf10Kq3&xo_WWlM}m=rliACw?e^cWKX4O7od!czE{ZkbiRY3e(C!Kr|KiH96c2_^8IMqipdAYgIt2MvYS=LCmi@~lV6iQ zW-YqcbvG4fC}jtpJG($LnB`0}ydtW!LrIEV{Jbu(cpaRmDllZO;e! zh6At48<)P~jV6T@Kb2Lvy8&z$h}g-TX+uPVPJkH1eJ#ae9l&BY{cOBAX1T}}gxFsA zW=SXzbrx>%196mn9ZXsz1lU3W@ttOMJw3fK0mR_o6K3X|&Q^!WA~qcAR5po6pTyt2 zn(TJBc_nqWInG{uQ!^|H1`K5Jhz4-2#$E?98VN%KUI6$2;^%6aBNUo_fvgw6=h9{o z5lIOQ4D2dT1gPFUJpaMyw>&kjdvl2L83-*VUkK8q@a;dz6z|a1iQ`g#foNLE_(rZe zu~?4N6Y;Atsq^)l2DbYkX{LY_CkyD}cDd$%u}hYzc(#)T!~QW=^bH5 zS~YtwSd+4TXGBqyEpel=zS>MvuEjtFnH)b&RZW_~+I}b+?#@&t7>YH-%vADn>e2Zu zX#O2JM;el5or_&aRajh|9_mJxjI_A3k3_-EkLQcIxZG+*3sgPx5e6?xCdN^gf_9fF zCEQ!XoUY=7?TR5H&BVy@q~i$A_>|Q5(Ug1EWxhRml@*1XmFlJ0gAd@?&i3tkHn$$I1GZbt3f_k@%Dc*n~8+7go`p#8dI{ zfN010XOGZ-=Bt4+B0q+jQgY}wq-Y)3a;;ByG~tqv z0C)MDZD3-8rIv7SC@SUAE4D5)q?et*?Jy&AxYB)PJrP?|>2+Jai!}h;*iqM7#lG6g zFFIEW(4?uaWOQYxaJ9_=c;7L+Wt>MPwYcQ{f73uDF`^{uc}jj*xY6luDUTV-BHiVEOC^t2u)TaK$&2_T8Kha(wrQXdpNj{idI4sfrD zQ}@|)MfE@W8%6vx&69lDY$ddcVRMvZ+Cw|T+>n8U_>Ra{!8ytTB~^Ki!#A%Z#gi$KP-Y=i)>|I_7RFQE2Bkh`Fxiv##Bn$}>MYCmEF_+|UC& z$k)DKi_y|ci>`BwgkQjFc} zoUfZnF*`0p#@YYgGt6h)Qg+m@)*QO2{vZad(S^lQB%grI`VXDGGId;{!e4J={%}ui zUH)~XicM_#j5VMCp_@zcwOdhmK)WGTh{xr9&H{wF_^0>4OC4~&;M3>l8ZXtAI>|Ls@|S4HFSO}uit#( zd$UjZq}v~vXOjDmJN@$Ix*kC6r;xYr%+=qS*Fd{P&;bVDZZ!cU!6jTCB#$)bO3h1s z@{Ia_RCB%nscb9~5}p3xXKA)Pa*Ye5m+WSMP)krUo-6c!sl^`G?H0uI&*lJjmma%> zp$iWt{9co&mOUujk5!hMoSgr^t8tpV$^jF~O4Ks<`MR=|qGHj0`=}y(0-%R zV7qk}fP&vW8;n**lfvE%U0e%dD_n0+??LwNamzgQQD`MM%8D=s3Qhn25tH+o@SKyT zVmN>7qngH&1#q_Ksi(->B^XM3K>D>+2=0PIi9-GxWgYTu?o&0Lm7Kwkrdyu6e+g_w z8&;n^_!0OX>{~?)cZ_^MQba|zKvr}Q$#Tv8v_v%0uu*-f9t?pr3~x|dQIZ^DH_j{pL+%_FK7lqKU3YMj^g zmyB|?+-I@+Lv1Z;`gmdWJN85aTPM{QN$6h{zozh*(n|T9(c#*Lt(DQl#g2R?f@LY8 zxC(wPAJ6eyjTLrYLS=xT)5!VHzPbvAP+>iJ_QRpsrp4-$6#goDWjgyQWm21H(AZF2ky z(3oL|7+t0}xtN?EEi`3{png_mVZn>t^3=^HZSdHI0D4Kyb+w$3n=g2+jLk*0O|2R>Z6F2EFdIFokrm8U^s=SP zn@FG#00;Qp=^xJQ7+3@g0Q=vyEb?mj1zimX{wTk0s|VR#>hUA}2J5x(%vRmIQ4c|~ zM{hm8MOVj~DZmvDkmN{Lvg+o-z{b}UT#qFY(pTH3N|bjT1sO8}Ev@s^K_Hppw+5R9 zxr2^^();*=0`mTYIT<#{N90!rC1!txx_!JusG~)fNmb{*Kw$u^l4_b%f{KYQ!-y(( z#wqq~ZZM4tM|2AJpDYLx%yR0Fnspo7KNS#O8pmS}NJP3O9E_5u(P0w|Tt7g4HYc>6 zsS6}mUSpw>3_89XCJ1#eH(-CYNv$1~iVG55|o zu+#DJRodv(*h(s&p9u)UUbsx>6`9Ydxt1whK^B)-IGkhfayRZ8ax zy|u`=Nh2_K*_%+$RuU1t-tQt7zuK;ubz6=|2WSbzt_MUH2pT4*X%k~tI(IH@S~+~m zIN9dcQ`3ehJIwp?PLg$45pnUv~0?0ZQm`#8+< zqJyW35W|{g6s=j`t{SG=nGs8EboWLVS`^G-(F%G!N=Q8jDZg4<8&!164Q z>evRA~F+fOP301qH>p z5z=Rnm==k<1l%XKaNT;XwTNPTHd))Q4;4L5 zHhYGI=C^6zZEZ@#Z=86zFGmPbihlZ#Ar)BHQ_bOXzKAXAy!ok{K2m3Ob@c$qgk!R@ zh5-)d!>{j{&obSZyf2R#Sy^%Yb}xoi9g;X-k=z4<>i8SF}7-ku~<*sWb4o zSVfqgbYGyY;JFtlb&dD@`0k84(emh6MZ{;x^UhnUrX{R4d!ZWkC<6Qg&rX8$J*e#o@Kt5 z5V`2XAunLpDxFq1vjM z9v*m^jprWF0!DW2@|E4@J)%2tpKCW2$%~aj-nuf+v&_bsT3fMG?#a7~nu-bcR-@iX zIyj8MS4mzT7m&3pkqFx#dJ|xtt3OV10mM<{6vjKcib;5`d>k-ibYKk@J2Q3Gb1f;( zTN72EHr|;Jr3TIKp>pF?mR6ID&AWmL4ZKgr5kq6m-@h}_d#p3AAu<%Ltk`^SkFs=| zT{r=D6avuw=?=YAZsPPPE9dgUG1bCOrzc&0SfS~DFFu*#u#*r4)t<Z(&pSH%(GLXVB_i_T!!ym5t z%@oG<#3D=ST@DNXl>Q5(&Cwg<3nEYa-`77|*!3F{92|r3YuXfI(1B9z`|)DUKO_)P zh#bvROrqx8nyj$cnkX}H9@j)DPZrZ%p)V$x6Mhsj`ACVyXWoYR9)!=k?B%v}!~b#W zGochJZkoq`&TuAfB$w3)=#+fG->RcA-2~NS6vN4u|$3WYJjqlwEaoOKJrOihRNdYpg#q|xM!;Q zfHHXjmxj}d!~!Rwik%0l(G?*Nmj|gaLB1EO6aYEqTV*#d*&9KF+K&AFETO}`TO3vo47B7Ip-nH(AOe9LARs&iLmeMqcdXo*VsQlfMbPgV?w}r%j-#{E$ zh~BTSX0KwIQwYliax6~oHx9ta2V1gdZa-WMw(XdJ{XTDmH+elC_Sx7zCoHb}NYa=D zHlNsb(rk$A1s7*?!{o&8FsM8(+#J)vuQ&C}T7~{A>|D{QbV3nnmE&9+mnN_~PBl4& zIK9azP_684hhmJdBJN#34m%{uw$^Zh(2>tZ`D zDur)PF;&P;_NbRN{$gO?O=)Qs%Qh*j(M?F^Y2Krx1k+|~BcB^gm%XB_VF*M;Wc5)n zA&o4cCFi4Ax35u%6LsYVgmj7zH0x@&ISMFbI(FhdJGlbft9Q1(zQB z!U%F4s>swWYwSLYfd!)Q%LA3U8*@5i@0!Sp%#H3q{G5OtFtW3%XW*K0-WODJcb1R-( zEiLll6!CC;l(+f9CEg_S40>i-<=iwS&U+)_0L3|cn~(GjF3IphtAG?hk!>EUt`b^Y zhc~r|fVu1<`^_(h67E06&*xh^l*I=wZUE#Y53qKql32&Mmab;Bf zi+7NVA)ZSMfavmD&Je(>&lg%n5RA_GKf?PLK?E3k#6p15vM-|_&=UiS65f<2Ahc1 zh4b2Q*6{Vk5tV?|qh(msGXa4F&)p`NNU7{Qb@l19yRRtl|v>*HZBKL0iZ;@fBK-h+D>?krve8w9?WD%Fz_ z%OV!e16{`<7T=}QycyhM@O6ffSz7cj2x;{pGY)W129P-OvD1EX3j9iw?kH(AIdd{f zKeOfgwNE;4u>R#5pZ8kq7k@>!(=}F}_Yap#2o5++PiwtKf@d}9$Hc(|4aY$}qXlxa z4JLI%X$2Zi+{~+SHT+q%My>pW+%IOx!n1gjXo&f~r5^RXT1TeQBO;lLg@h2v`a^s! zwTh^bUnE&izri3~@?Z?iDv50-=bXejn*SoY4!5-R^aid~r8<`n?9aUK+E*QU??$7Z za}sLkmVVTPC=sQR6*e|HZz?uIZ&ESxLwC-AM?3V%siLmqCVZPI_HJ*c5`!#LrxM9@ zyd>MPm>=NQ+(;57bIs2C3{4bq%h*8cgUkf7%A80W>iletr9!xymzRqu9 zLNW94D;=5)b$TGBjphVmPUgRIkqrAn;{LlOcR?0NbMkU$F;_JdIj7!hdHK+qi)10+ z4liqDFHgh*AEqQUYmJa*slnuCjdPoQHUhS~mY!+xlZ7=Cu_N{qwW9K#|KnHq{cG}I z!q5ZUC(pWLQW9lh;T*BExYpN2S1In#5O5onv+s(?z;_8HV!k=eCfq z%sDd}&RAd-NI;{1@%b?A%SCz_iF3z&w77TO-F3s)FTN+k76IQ$9X`*t7~$os%-{;h zTy1`9Y|pUj?Yh6nO|o@af3z6TC0qmErxeZXKd%@l(3e78e31}Eejcrh%H)rTX$AEU z(hhl{%}Z)YO2v)_pvJ52-WXl8otjuG@0zxI_~>9$hyy6z1}Jj+@AmIes8=CzUm~TY z=bf-SXGIpjMtWaqb8x1NXVaBlMMfYZD+Bfz4pW3&C8itZ-a#Idnk@e~A&cV6p`&B= zEq|O9A@#~7#03#)bzEQR=KT36|Wtr)`=a2^yMP+LHl}izV391i8S@iH>C0Zm0sB zLOrJ%vce|#9?~`Ou!|duQ_?r=wI{Kq(EMw&FqSDJhJ09n>1TLtrJ?PBg16Vrq~~-B zUmQz;vBIP_?3c&!n}<6Rwb$F6ZFiXUJ2)Ef(vN`0@7-}Z0x}>+7@h0FktW4p(F~A% zXDCDQnj37sJ1BtiAP{~9dB#>{d=BJycLgTPB0}K?;IWla-nc#JWpHnORG7+Epr)H& zW4y))GS}&qi(spYh`+k(2f4HIXM8K)op_W<;rN{Dsnt$S1f!Ak;LRuT8)sKkVlEs& zwwG(#6-+=U8viGC19I>HF1dlz9VGFO?U}l;KgHE3SQjuK-4-{8vbNHXn}8LtaB)Qf z9T1|;XdkAlp91w#=R9~!e0sVP(7Tl}lwdVe%i7=Hk6050>n6;r)?j7D``&CB|4IEq z7<`gNoYw4D6SP6^`yK$DL<4_ZPn&ev+v#&JdM`7yQmWy33v1U?tkt8XRSVGJkjM7Aw7!Ufl_SJFVsS>O0fUp$e(!y`7~MA!il~gi6;JG+olR6eX4l_7x}P@3Q68;5 z^O8jIatTKd3qGHRc@j45&UdtVk5anN&FgMpOu?>^zOcTe#0S2M5=vgSAkqpu)eR$* zWbqlIo0w{UjoQ)a8OZP5+WdG@N0bk2I;stZVrcDj-cWQqABj;4BM8vyDs^~XBNe3~ zrg_%kHQd{EsS;{>=gx3+`oqQGuz3^1Cjsll(L_zKOS%ptp{_6aZ*MvVf|j_&5HErb zwggh<5)-YwmLJASnq;FhvA8R1a@a5M@eUbtY~0U5J9xcf`4SZ>D{W4H(g2$nO(E&g zZ^Z8h2iI@blsKe@_xA$8A;ILR`eL%=O^FuUge~j}2e+d4o0|(`J2m*UNCJAhjzJox z30I}34B{b&tcw^|o~Q7DQVK>MIxk-j;rz@f(FV4O;S@@5LN*m;V;^xfu=M06{9wG4 zK}YD&NXvOI{Y*?xb22yegsA$aI5OwZ;_-Xj;Yec~?+PNRy(&8tPi6x*Oxxp*$Y;;0 z&w-oWdm;eOeC~m;56m4qvcsV~A=5&W2<2WfW$d7&IsC3?Ys+hbjYc}}EPKgG^(oTn zbn;Emne5x3qbSL>%_zpxkLnIm2#dT}lyI@}e`P9GX2Y4kmE4w0cbl&SS;P-;Dq8qc zrtOrMYl4o>Er08w-P-@^K{K#7U6=$cdleW>zM0@Ra<>GLX1YCTyzK(|qQtDOLUItV zQnDX?hm+yFoiWkX`i9OTm^c}xsfPzV!FGgMt=M5~lSRxY8Izwx0E?R-f=W?x)$X*P zGBp^7y-HdtD0`8Tbxat>LmHKH(&UW}gCtMYE6W#UZDdg#tdzbYCxV7_=8alTT;Zv> z-;xj{y)3EmG-IKcy9^%Y9k{-(6{uYN@neh;$Q2kXptqtKVy*!FA#i;Ly>liC?FYKj z-L4N{Q6Dn5-)>7)GC+mg2FcGAIS7!whuw>OhP75BezNko@l!0ypvW9uWc~KhE(*Ta zma~wwv;Dg@i_Y^*UBh4?Um02nzA{qys#r-tp-dxW=42GUm?>(46eML)GUu%}vGW>LQ224`*Y5+ZJ;Fko zb^s*E0c4ChS!hR&K)gGD2~%7s)iT8hz#(=56pt{_QY!-FE7;@YyNyL?yR`y)Okf zDX3Avuo<77No5@kTdTG>iLJyzao0ut7+YuJ<{&sx-p7;}omXE_si=7qr8|>(LyE38 z%a$9mN^5auiyh{h;Is4hoz4bcix&o7TkNyyhK-dEckFJkr9lC5r*Qtvl&Yw5u*JdD z>a&DLRaLAj@~^wP8EN=Bm!Cun;>|=%sw5>`fIIT z^xfTA|It_Qg{1GVURX}f^aI@3 zch5G3H%Z81aCL~v_17~yJg^y|pSMUvPb&-NWQ2|sXhDxBgEvV^VK@4V19+k60H3+x zQT*_68bgr2^zvoLcR4C2Bw;vfqiD-5r}t5c&rt`4LKuvAg?0C9sAa;?77yf{aWOBj4-j zPvlV*Puf>&*VTe$=bCwMo+rCV_xPnq?;g{9FPHz&inmy=(_kED@%)^FW7m_yF49H( zuFASVE2}|a_jj@n2R*|Lm5WasJBJ!fC^LIm=sw#VR)agd!wBK7{vC0Z*jDLwO&H#^ zgN0XKxF!y^|1hjCSyLc47c$TrZwI{`*52_6{==yZ)@~nyJw1dqPPgfUKc@)se7b&h z86GNrci8P)3bX(D(W&we2AwCi;kzqz{1*irBR$dRK)QPe10Rdj7&n$#?6u8;*0|{1 zw=Io4oT+V)Shq0OUWb&H<4yiQgSJ#o6a{DNWJU#hDK|}b3{k%t9pdbfi`ASKik!Gu zmrP)y)#=9of3LdSOPMbpux(9{6c)G)!q5bH8|lqEGSJcc5b%kRS>rPcC%C(LIzON! zuyKIhvrnRZ+@t-%pgFQzKn3WE;OF58b9Gd3I|~E7W0{p(a^*X4X-h}kc~H8x(7;j8 z+AP^JwzZCIY8xj0gPR#UfqC5u8KzHnwS!W zf&IO5lOLi0bH`=)qq~Kc72r{$+(W~{0v7PO#jc_iTj=V~&)pOhG2-6AI;%PIRWb&` zsrb?jr>Ge>n4VVQeKO<-O4z(c6K!)@Ufmojwqh&46|tepVn zhA&EAY!IS>I!bxyg!vP5)_W0vAFp3(2Tu1~qf+6R!%ANy;#1Ea`qBy{ZR;C{ z^-?)?F;>;W%kzox-Pu6anmic=i4RGp@B=~k`7+qE=!<#lZ?$J2agD>`K?c<6wyiL#Mbqe{Au?52ED}#AFi(pB zlB%s_kP1x6AQ0s7I8b3Of8WQ+TqXP4p5d=$1ZCGbqh_F4$gHN14T7?hjOs0LF((OQ z8+{VtvxuM-+HFd@t1`#dfpWsuCf?1NzzOb(MCw%8+r)u#({mJ#_uf+PPsx$;g|BUI zqp`JT_1b(EF2dTf5}dY$+{(y()ovID@ImF}$3~Bo($;W1dm3+&v$DO+RdK}e$a>0*2qC827_h z)uTxcN&^v2zhYA{4~aJ1ft37NPLv3LzKQy4<|?l?s{=j_o{WvKZ^Ox7z>3YE_1U~# zh}AkiWu_*oX7M^PmrLXt3bO306!-JeuFTMG>-MLJ1bq%)oPF37@yqpBNRU!R&x7Ls zSN-m@i-0XJ_NMjPuU38pn%K$U=)Ue*3BMzAb8`!;06yhCqybRvol=9C0LxT@=1bM< zlYHd98xY1txx}Qz?e7s{!1ZOVV5Igvu(&Znx>?(Is>1i+TX`Lpzb&2n8K!T>6%;1Q zdwG5@J}@`bvLnFMP;521^lDUQkPVQf^s~{WOk{wX?jI4Yi(I`#NbYl$&=?MCYv0m! zE#qmS6Rx-nuE;hjbLS7sSyp<0GcZl)Qu%QMU4REr01_!?2MK29aj9**JSM7@k0|Iy z!SZtMARAy?CuWpb-dCr2K=lEkJPx#x&%D*q>5HTjOE*lo zJb*C(Si*LM8g_M|<5f)LD0r;baDn~m zW~a&F6qLvrW<)Q}XNKQVJXyDKjZ1bWvb8yYVWy&~`BFl>qjLEV2o$rp^Iacpz%wuc z(8)OEhHPMEd*hFz-5&f}?7bB~9DJc86p4Bj#7i+dV3`4PSn^zDgu9A`FV|9Ia*R?* z{-IiRh6DSv3AMo;W$6MBVuBy}4P+ zVkL^=V4-`qO?9z!BCq%?lYW!olm|&0`m@=`XwuK8I|yJ3!9)#zs7s0{9?5Twv$M62 z<=ELPe8SP{Rw@{VwDy-iKp*%*B&sQR<1rS$m7qjnD4$o~R}=zMf=3nd>&ZJKzSSNN zFu^vCH^|)WM&#k&mK&yj|ZSHuOB#X6dllZ%^es^&oqkkc28RF24%u=o(c@Dp6W(o6Glg?}hv4rQVpQk%f$FJ=82BLW-A_bm=xy>}<}ExKs%_ zfqj?nX|?$b6R2uTspswWw}pFCuf-(dd|JrUGsTH~_!Hit$|+c&ZQ06N-Sr zyEChbEPen7E5&&|@*(KaD^Cdm>Imrs2^KC}BF8mnB)WCBimOms&n()Y_6OSf}< zz{*yBvYO(Cc9%z+W8}!Z4I`DnX6?gv;nNzC4c7|f$;K_*u66s435lkV%cw;c0ojjk9R=~iZ86P-+ zD^*1B-9CxVP*GR+&2jGck4edW$)620s~u2Tv%~iCQe>-gQ*j##qM6Gi~6{qj7V9)YD#{`ma3%AevZkn z01I;$x7=^OMknL8=g+SxAy)u&J4Z5<077+I2+&Ybnl9JDkWv{I&8H8Qfl%?#j7!&d zAWR3uno|I(fnej7n%Y>b4#wrweIRZ>=ZC!gX$Mb3-olaCwFa&;pc{l3@)2?l@b3Y{ zBwv7YgFm6KvWw)5B8Bal%rfmi)nejlo|kS@@O~=rqjq0NeHF!KtYCx*La1=8KXou2 z1}gS7MzK!sfqfV_uP{~X#;hthT)Q0;Efn-FceC^O4)qy`KTuJ%qn%Bc^)kHccfmiO zX%nb(bU9}eCBvsRzs0dwvgm#pwAS23DM8h3Ct7Sadyq`hN12k;c^6QJqFKcurW?oE z&_R=({<(_eL_bMS`}{;uf8n+?!0q65wsl%}#$h0EPKf8J8~U(EM43H{Wtr*NV_h-PpIdXj_#BI2ej#IdOe!Q8p@q>) zK5JY>Lu&U16?5L^z*bXY6Y@s3_OU@hgx%dfg)khFaj`l;-*oz#b&I&STjY7U9G9ZS z06RUbIlc1KirzVI>BIY6t$-uUWETs-*Ch)uxqu~sGm^@wj*TZ6j?AM9s*+stP)LKY- z>)v;2fvi~hy>#_3T3O#Eqdx`2f;ehy#`2XoEr{ddqzc7;FLo{0dqq=PP20?|-(DtO z_Pva_DGW%G(g7T|fM2_-yZaD8i&VHD8k@VtLPf8`0FPT_Y;0G?>wuJbDP15asn_5v zkTuq>GDMgQH8}hrJPLroenFv#rC>_H85s<#wVvq!*d^IL`T&pNWM?L(m%=N|=Q;&9 zvbWFYxk*|>(74>?+iu0Hh~+faa>pIYI@b;%?~4VYuvS-ksIAP}a)n=}kGLSO@$wnZS?*Wgf_rAnJl06F!8wzJ5#|!)#1(ILnDq^dh1#avYhqPTnZu_wwkETvP zj}~4u%i{;zS zt&6F5MmU(rk0z_=POj-UQ$)(=U!%tJ;1g#RYfd=cgUV@ArZ|ddYW;KyZmYg0N;Kg= zCJ2{V1XHIo1W2e!PIc?5RdJ4}J;PD1U?$or;9SK`acs)HSIx-8RWtNZ;XC-ayTksX zQVQzp-yhV@7&xLvU*tAysMDp|8YeF$*KO%0m5n*pE^(p?dqy?>vAsX4H;jmheo}m# zE7lcl#r&qb>X=CQVBt}kuB zq&HvAW`+ zi;mOK)_QU4sm0>eA@Pt`K&@N9?o`(BkB{)@Vf=)bGv>zl z$iaAz4;8n(MWwA^@(;N&quZEQ&1dYj*z!vuTruyzx}k+bYXFPaKvX|W?}+Pi#)k@$ z<1?Um!0qW*ZPWf4t?Bj*rWxN2xTR#z_vTY2j2&S%wNbyB`J!7c{3RF|G6U?^VC8hm zva$!A?B&)01;`{w$K~-aYgh>HQ1b9kBZ)Z&>~d>xSeP>jpLKuB^U$V}#_0>Edjxci z=Y$nyb$G3yn8c@2*SHEUdq;^Hd6}}|QHJXyM12oFj^;daTkv?5YjFgi{EjDe?3Nz4 zxJxwYv;E#&0zv@~axEMI3a`3AbvHFJ6DH0om@mj3GueBHMJI1f8 zJr~Z2UJ>gudHgudPxHkMLH;B$3nEk^pH*W!p505^mv-!d1}l5BL;cU6{b~NgJi>x% z9&C({aeA}*kIR<0oZrJ7gzeg)uj3Fznf+dfNY|O1kj%QiwO@s4slW<)R4RdKK7g*NQMd`e|L%(7DO=goWG)aXtL_=eZ|OE13G!LwXZ@m z)z-XnUb;O6P?5K~O{AUsopwpn1e*G6LA`Q^lX`fi=c)KAdLk7Jd@7A)Z7f%x6k;*0PhaBZcj&AkCW>mN#;G_y6< zZ#rpk3JMCE4)@-O4qRe()?DtvD5qO|2qmx2OuSgII%!5&e~d}L8p~9mfgn^UTT34(L9a*TeD1IGZY>-F2o(Te?)$)o zIE-8 zEk3{ZeQ@vN?@lozkfisvwyd~N2iGpH#cva<>+8`%M&ce$mKvo=2NYJ0PQL)Zsw@v5FKZXj%r*_S(zk z8BST4xSP0?-`@7}BL_(@Y4{QpN^vM8)exlcG%DN$lT(FupHi(JuZSlv;=fh^fI06t zcxz|Xr^fy8lsm6`ZWv6)K@#8oC%`l(SUDPNtohf*4e5zY2Oy~&?wq)J3mo-BtIp@f%i$PqiP9`;nyOdc*s)OZ!imTLn{PJhGENU z=u@P~HttwnJrzNZKiIhlRMdK3NfM{wjP>XX7&D&r1)rm=HrtiyYL)wD5MwT@8<|eK zb5Gds5R$0-M6DrDZQr8e;>}BpA5NS2w}vCxVM)Y?WZnX4dEr522W$!DiM}WKkpVdB z%3)ZcXiPlsFyZig%Wv)1UR?s|+ZmD(M>`2?VgM-4Kab#<6MJ=*W_l)L_^X{4u!1#2 z$&nW!5vhldWtQRk#YSNw26h~U&;8d&eTz$(qR{FaVnLIK8m6mUw`RSu2WVp+yhr+! z;aolTAK>1A=Sy#%+uOkEkf_j4z0f_}KjmAv&mYvTJ|nHhbqtgvU&va#lAqBb;<3f- zPvRmCpKiU{i1jg~FG^cOwV2>!vEEp^k&NDU>hPp zI#6AU_;(yiJ!oJh)7|ObHNx+cP2v(J_*=YW2d&2Fa=%qpje*7$`F<}f3wxmPhO)F- ztkSCcntPWc(YEY+uWVT7e${<{r2!mPF8eth*UGI1A%}f~&Lb7OjA9UpxywVm+@fAG za%>WAd)`|*n!Fs&lYXlT=FkpQ5C8}2$Tg_BN5Fth@)U7)U<<(!K3f;oNA7dxw$w(# zdYk*0kRF7!ur9011JoZNeav&p48vpfO3v_=tPgAmH$tr3*D?|S#8Xa5>Dh0bZap9> zP`}r(ec;&)K&i6A7oOk;eog{*oON~l=I2TS>{zm6!i=a%Q~;271%SmZ7FR(4$Vxc? z{#@|fW>GKGmjiIX^&45C?f_{zJXzdKOABb&GBW^h^cy-igWa|_-`Hu=-`}4y@6yAK z`T-;}z-*3tygp>I(By#vP=Z4Ms5j?2=LZHV~;NI1NT+igv!?WTN__l;)~y@^kBxifL0-YRO6 z1D|+sA>sU!RY~?8p=)u>MU}Q>gldjyJUA(WWj3qNlb4&Ghf;h`%(_s@ckW*WmIcS> z8mn;;6twk4-+q4-#B+Sa zlpfx+uNS5O*7mjLQ}CyXVHB9^KUwd|3yvXhC`nsp?ZI)_L4Mpy>^;nP6m-w%-58GTXg5hisTCHPbGY?#S_y01h~W$5Sh{ZfLcz6{r7&KXEtSp@ z^B$}(dV7{=Vc$I#%v-`ww#S9HlmRQ)MX+4V&>Ssbn{J$7v5JgawW9;Wp`zrFv~GD* zB60HSp-iK-GJB%?1=I-$sf^a2`~skLe8yf0IHnsz9w&9h(QYuREe=oCmEfl?l)cPD z57FnXj)|Te6$3~qzI2KwQP9IR)TA`toYC{RKdjF26p+>uW@5S@Z+cf3jctp!uRyQw#T`trC`?1IC1;X|F6mrUHeetq>H#o@O6wk+`89uOl7@aZGVJL# z@)WLHUSXKkZBwYd!QXEo2XuOYyQIZ`-|w;CX*j-nkM!LO@tIPa`>2)8J9Qf*>ZW>< z619?>LD<&rw|X))yFCYW9CNH#wczMoubGQPh(r_ON#*J(5K@-9#J zIWBG+I>56%?`KB|;7pGw)9{NBs(+NKu&rgD-l^#gNOb^E3F6OHRDP!u8o)5>_!kk& zD^Z=f$+c%}uGYWuq9O3h|M#*%DRKI5l*!7Hzq=1%BR~S-uZ6#u% zvy%CD+^n(^CTWw+OVgD^(=%n$E&VwOqm#Xl)J-gKEKl))q1JS~q;f(UjhhHL7j0an z+~p4VT(m_5#xCq{>>(}QkKg&L?%4mpbt@EZet7lydCNS7)R-Gm?!4^PSlb-N;bvE@ z&^@kts!9Lm*ir*j+Dp8V$hACuDCDt}y`vLb=T+~L;0bda$q-Z2{Ylx$et3QBzZv+wjmVlb zVIUC3eGhe@#(|hF$l?Kl>It4WGb2m3%RszrI&VzaV6ms)9rZ1sK6L{}-crVcmK^Kd z?=BHQrnY%|&~__bn`T9^?Yu<(zfx{8o8`{ z1sZqX!eILmv+sN=ZNND3|HFl00e`GsWtlBCkPUI;V$H^C-OU_M?a4j!nHfcJHnG4C z04~g(y{B$7<#vnD^#u%m*8>=fJ3ApWfFw@+;^)UHL)C?)Z;~Dq4JYUR0>I(WlG^ax z{0$Tb2M55rX#-obOsKKJDEw)>=!!OwNV3SQ2eA6R_1S#KOpjXi7v0R$aToTYegb+} zEyz2s2ItK;z}QKdua*b+l8kt97YwKB6ssS?_@uuU-6nv?Ma!VZeh!O|rB^kTC|~mn zB;WA9NkZeYGjzSm$#-H-^pLPmJ~Mf_nDD!`SsZK7K{x%M^MFCaRmHOMa^D9qgC69S zQBrRITx@s2Oxbe&Akzx%{Au-<9ul9rD4cSb9&kS zLig?hW9IT|puInU?m<;3I(iNHLnv|3>#?Fc*{j6sj%{*jv9*NCkImqHOzR!a#|poE zWz%s6b~_RxKkssEMjH*kf=M;j96}~&-`u&1VJ~AR=S<4=ao}a#++FY2ZLX7ETFeW6 zvY!}L6dwa5*Rgej{5LVbaNPP*q7PTBJQBV*Fmc|STg!iFO7ZA7Q?k9rNCAI>^Ir6_ zURUq!nLbG?ooK6^Q51BB`KU+({F?ug=fdU-Cn`Pxp&-e%#q3eG`eMEA&PTPce^UQ_ zACu5}g@1%Nz(=9dLcvU^66y%*xprMrU@sWjPr*L^WJ5CjH+Tu^ zKKp+-CI3oVGEzZkI9k$*Oy7Ow*&x`iyLxIh%sJ_xd```zyEk1C04V6OJr>jH+fp;A z0=Ohk@W@|?Ql<4^gMae_u2Lr=?wKRQ0TimbCbITD(9;6wnU9u^VUTt9gh$xV=j&vB zn8>i1VY&HT5mOqcBL5WGEnr9(c)`Pzmt8D9;*wjkoog>Im3lh@oLFV zMIx1Omiflh<&EnHA!L%#xbqXf3YRR?Zf(8(#+0J1j9e59@gNo5Epzz2^#7oID;LS4 zDnF0-EKc{y!njUXjdcQDFFZq0eH=tm_qjFMf2K?_TtEtur?^UQL=+jlA+SLxo&?P; zr+^_yd$!hoiq3*LGK?;Xc=Q9E)x)7F7@{98*ZQa_gKuNXM~pr zIx_zuF?&N$CmXOz!}pt){`{q!0qgUZW1q&+ZG~-p2L7C{ep?h|+rqX1lb${k!14_EN_M~VQ_cfI25H;nxhtZ7O5)yV1MFi4>0}W#fCfHlN*&z3%lR>K zBg-Kqc=aux0|jovKpQt|yWGFW{Qsl`1c}fS=>UfHAw|sUTQ`1y5zDYa1pr_FWdk(+ zVKn_K*_98F*9-rPt_YynL5kP^ADSRQW(8=#xc%1y{+$@V4>ZF+8tV5~OMig9{a-%S z;+cQIWd2p3DD8~@PWoqI|1F6C^)yee`e%3eD_3Lgi)AW*#r5#!##EpGk{@+%@dT4o zid^v8&OL<1mE*s1{C6U1_Wvz!MfyLfd;hzZIRy0oz3CqR|J8IOB~}Vvy$kb@vt*00 zxO*akPR3?dB($`Pt_g0J{WA13*N^J~iQ!*Oan|2-75;a*{`kN8P_vn{cg9&0LSesP z6vPQjfh>xhtbF19RmZ}1?Pg;%ur9I#Pv{LIr{%VF5*`9`XQ_p*bAOOSf&12Yw?+!s zv8nJM(*yc^1a5OqOnGUO-7_xZ7gt3S!e<8$Cd=R(JJ0{!fd5Y_%Af*lOSWcRh>!F> zBQ{t0VT=ueByk154nP+GGw~NIniW+AaTM<#(o}&zPkeCSp9fi6jQNi#@JF4fD%i&+ z%!B)e;8!c?GUw}6OV^-5=4GA-XxZg?tAsE%M_=(8-z!Yuvle{)wbeTaW4LdC7C-HbgU{^VC7QmOHLbJ%I*UbtUYW!iFh8{DmYf_?qNETnq zBMerg1deun?eXa#BC%>xpss~ydG$lkFqn4G{hHL$mDYFOu|<2sTF~;8za+hCGei6I z0@XY%QvMj-)?6b_=G@lw^z*q^ZdZBIj$qLGT&DfUAJlAD!TT zk~FKiq*8}nW5^dwB`mhJ;8QV#gJ%Ndw{j>YeQt&!*M$#Fo!*7Dn9wKV+bZ+bZ^rqcYjNpxcYavCC?L{xB@lAXUOaVXroiL`YA-BQ(wryxv`pxsIhN zyn{{wVKh=ubi`NTdCJEv=R9)z zh1oN0F5JELak|ZtV-lc)3!3TjnsXK|#U29FL?y4bvk#eQ;JYQK?@c^+RhUVka!SiT5yx#f8X z;$5D*OSM>s^_lPQEeaYQ3uDLIB#g5j zCp;eIA~DwTeXdJ~9rOGEpRmdg!Ru-bmwx9dm^xd%Jgzc3oFjcd*J$yuPFns5(34o{ zy0-~K5dWFxu=#R(6>>Zh=k4}Y{=c~g7Vkp)rkwm1LEelU}%sW#YggN(? zHr5UUR}&u8E`_I%H9af#2rjD;FN#67Sv(VQ0c7mFLkW4gvqpjtN%;7KviU?!S3{R! z*XVA`Eo`Z~)U8T#;dxr1z;~gpRkVrn3(d}aftjvVJe%_`d&o_CAcIB|gI+2BajZtG z@414>M2JP0OU+d6bzX&KcU}{q*RJ%lXLbRB=o*6=;oxu=T3678LZCXlR*^lp4D}1)%tyM&q3ELe5pL|b`>?xmRBD_Y9 zH3S+z6}daSR`Y39?tK-rVf~U_?Q)aQ<%e1fGrI2BH?wDYdopH%W%7&1Wc6>o+sRi$ ztFEq}IpS2AxRe=#h@@RrR*G=P?11`e0O_AnwYu6nQf) zoF78GM-y6k4z>|a0lOb&>INc&jF}Egsy2wzO5JF|=dtHe-ooZjAehMM3^@$Qjps|) z2Vw33ei36sy?n;VnE>@i;%}_vBQVVPl8f(sm{TR6Y;H47l+JlfR`3bY2}~ ze4}ZPlNW2CEYN{|A{6?BT(I1DO+(gqNfK}@0Ayiu{^n~AUDjvsH}4RP0iSzgZMyM< zU?>N}h1)Og99JGf2Ay-*OExHr2p(4G_X{nZcQed;vU_Da&ArAWc+)GYhBR8eV>K0m z6)M*WFW>S+ku^Ah?=t?WilyvFLDa!8@7wEQ$1fC4K17 zKl@Tv=KfakUwVUfhH89{UwS@#AQv6$4dFE&hWzgV)*z0`nrBKmcOx1TTh1FHoR3=u3@Z_en z*btKj=k?VUoI@_nx|Edf3?~-@b}x!+snX|ZAw63=<_c+5C77L8_Qw71%nZ)#Rgb3! zg2tQhoMqfto8dF>Ut9>h2*oC~NLgny}{tPH3SrDb8#QR$ixrhEH z8o#2&cY8zKTWuS@8J_J?#0yBbCAxTc?96Jt=ZxI>e0zPi!gRWPdIbn%e~WI80?)FjHxCb#^1 zx_W%P_*ijA6HiI3A`vw-&c@N=%FC7cA%Tf!gJDqqn9Kxc(JzK(n6J)?Y)O`;Z`l0= z0=4uQADQWOCy}d69}HQVOEqtgA*eM^SVLcuw%)wLJ!UmN!MC9z>T3%8wK{kuT0S@O z?OS$us-YQxi2?AbH3>D@<_j}{y+$a()g$iw^X$U0cH}%R~%iUV1 zW;CnGt+bT0Bg_f%R7rA+zwvliHbw40;vUoov_sY4{6fYj@9x2*Gqo_xF_y0RU=BC< z0Kl^+P9aqP)OqKh%Q3z{6~>51UtHcSa4EdpyWx79v|^6Mi6+XvFU}9NC+b zdsb>#=4#}$9Du#Igg13>`bY$iPOXxqhrl9BW*;K^=TEHK+OW`Bp5?hSIR_Yl7v}lO z>E%p?72DlxBK0+UH(<9#KHtBWp?0R#9=XiN{A-?Eq|aIM=789$Ruzi_ls23E?h}k- z%+AK@`kJZ&5OHOEz$L=H&G~h}FMW?p>w9p$Gvu9eLxih$22Ohe>4m8Y0fJwQ>>MWx z130fi-1+#KLyu%iZ=?4G$YX4|d;bkQbOTlK027x`uS=yi4Zi{+7Y3Pb6AB$*vbam8 z<$HhMaKEKlX*V!15MbSs(C~e=6s!4?b{-&WB5M6S)ONcMN8z39xA~prMe|h`Q3I9t zGOOdT_JW$1u+q(`sMwBFsSH7D4AzSQN`Y#vMRIq=mR;}LUu2G{yJ{XQ==z%a@6R&& zTOV2(cb*4zu#NO`w#_+aw9v*1zs`xbJ(0yl+jMb(l$ebtoZ*!k)?&=m541^Xzn6sAuU7o#7$UYs)QMV~_3+Lg^D5KqV(g(OJW#)W z8}g~Qx~**@-*^&da$et;cCeN0%+RuY&f3{k$(&qm{mVbgIR2(QUZJIrih(11FpQVm zZjxvqtTWt7Tv-OQfZ|bUul6r)nVtOZSe>V7dAUHL|hNSkkSt7wyNq+8K z&0ga~5J<}Rt{TKwvYDV|v(c7;Z2UZ?)163tzPlbAVPFo?HkUfpZ@hE+{R%fk8~Xiz zJOu}9RgY*DoKwjEn(ccv)k-mCokHk#;<*)!u5>VQ z)&ZN9JGi{a5wL!aFvX8Pe)IOp_IJ_^A#;UG?%j>VzaaOvg&gRnsav-IXkW{)rCnTGT}4BfSXdVwj4cW5*%+$FTn=kcP&jTx=Qo`z`f z=I$1>2m5yB6~msBG^LYUxjF4!BH|U!Z@c+cG4lA~RlB6F>9e6H@BAySYsF>W+~0u@ zjSgRER|o%4NiWiR!9_!zC}6RrOm-@6a>AYvq&%oasG;4@Lx(d+6}+cQB7=h=M&^%k zy)m2%rTm2@XLPsL=pB0~g`Ojc)ptQ^7o5u)p_z-3$CuElQfDP3RHIS31GOOn> zc(%JU{fxLol-r~z73eyBA0DAUVY)r?&i=H!WO}QX!^5;1tmSl($v*CilV^&5)Y*~j zokX5XmrCs2iJvmtWE?m+Iz-Aat@62SkW@3oRpnsCd@xx!ig*C$(6hw>)h7UH{An+n ziGhtATmc+>cK&+leCV$}uz`bH5psnJ?dCQRjZ&d*jkIEZ+JP;M8hpX}4~JTmiGtDF zxc)v`Mj|a2jNl;_zqA}{)UeG1_1JT*o4jymc$SmbD7F`LW zx79=9(^WxQVg2K#J<~=O+&IBhMUIhLibCA9fy}JmG26m(r9zwx>w%IA=s0Jbjcy3rRM!B*{@F z*su)9Qku`li+HzYermoBnQkuonib6%9rOI#`8drBO+MqtprglulEZasY%N3c6s4Xs z^i_nfP|JgH9Q__~@4*MR6gRWjle$@!K+5BySz~;9WuF85z;RP@nmoe z#>!TfksBOu7gU%>(0U*R!pi5BF z-_J0z?94xljl~1NcNk}sUoFdQ;4RnBWA09MyFn7p{N>I%^4%Or&v5B62{n0~-u65W zID1|++puk>v+vtVUrkDRQ|$ECXNi*ljYPyh)(6Yrb9Jt?Il6(s*BB;nWfOCHidNat zs95h|UtKWjz{R&FZXXKxp5qhI2X=Gfa6{=Wd!k0Vg*tx)-gpdM=*~ldDodh#=Ntb# zyYF`(Dg3|eYtMt#BeQlkw?M9c?0<83(JJZuEo1zXBsD~ya;P|zcYsdYdt{m___NBV zsmwUS3DmwA77YfyP4xmvPVjOzM(=iO-&mdR`Ec9JC4RYZPv*0bv0Y%pyQxgI5jsDR zheWK}!h-`}x5ty;T$e=5M7Ac~VuW0Pwq0xNVA6+o#-p&G)Y)=QBzzXDbKcFN9I^Fb zbL9HVV333M+ldd+u;I1w#eK0m|IeJ$fP?Go9GaEX$U}aW(5u&a<;rz^zFJ{=s^x5n zn|R;dZ$ZP`*OFiew`r$Ohk(Ls$20XadE_Yf*vvC9#(Lz~jGDc6Yk{DgH9)UhzWiV5wZ~xD_XAM1vPBz3)+Ls_n8xLUst)f;(o{ zLG#WwxQTU5O5oBjE5SvrMivlG$7{C?5ZNLOqF`XXI7gvHvk&j_o4;UZtE zGK%4U6?!yU%X21}UgnRBbmSe{u8>)mig3y5UHrPXzF`Q8tLVE-fB^NCtXrIcUwRo#Xd~DG#HL zB4&{<<@2-E+W;<5Xl7=H%+DJG<@d&Tbrt=l&b7qpf`f(oy9bUG@n0{xI5dg;@;L?X zx0$F36G~0;{3kQ1M{jRQ(X16VA-}DumU@bgJ~>a0on$A03h6a}*)wmbANg7Z4)|CQ zWlroX1p~xSOA*zMc^yOWDB<4F){=qQ17w_ZSM27T*pO1l6{CKN$H%dXKhR!(nT}1a zx5B(R&WM^m-N|z4n;%}7r0Z}+{S79~nZwc7TFl+J$H_*Y0bXhW*(!te(|Kp;Lcj0Db5wQF#(KZont|B5C?LM)&nW_tr?pt zP45jVW*yv1!S^YV;97YSqK`~Q+^S}F&O-1)t@aYn{VnM>hPl|lRuW}iAC%(JTs~mbRocjT&0mAj!vq7-n*K+ z5)r6PQ@a$zpM8YRm0imtQkiUK1FMdrRQKzwEoxnYO$5dYTr(Jbfao+G>{Tu%+FiJw z3R;Rfc+?B*xAX$y0|JeHe(&zq1S_kmF1-(pCrkB!9b(vHSrh$sR0)0%N4mSF=R93k|+AkQ!9aQ2ifMkNtHC0;mKEmh-q^{8Xx z^-zP8&c!rakU(4$?my=Cw~VLk39i7-HOiw%hD*zTS$RY&MiE>kKDn(s)|BM# zKAUR1&k|tk4Q5FNYK50A4~8=YD;2Z3mgymd(sbqD`kHdT+AIDwSQVGDA3_G1@hGSE z_jiImk;kC4*a3+oHgiyORZ<7Tl1sxq)HPr=hnFl(z>$*V`JcYs3o?2TkmR43ZG&+? zspg)my&mep<&8D0CWey0XJ`^6)#9G^?|@W4x!6}y)@_;o+z9t2y}Au3A}Vh6hhckX z6JD`%l7Kt+R0>&s?4xpIo`9^o31~5xE}(9yr!;3ZzARn;XEbrl`nYr(gL0YG-s*Xh zzr~n@jFZ@M#Z>&e>Tbb3&B)`4H|AqXMZFfcDRMmHp-Z*tQtB6z=%`7QlczCmctj@} zcfOX#2NAtn$GS|(C&m})(3eb>=vNzVDgWHP-MD^FP3rv7)X9(_iO#-nbQZ!|yv4iv zqWzsi0}u!b^SZf5lAEijsw%6Ml)zv6xK>D!YK$ApnzY;oIB1kx4*0WjxOjY7ZUgSf zq84T)+{^{Xkn&}%eBHi8R6+UO)Cz#eBFe?pc3G+(kLy-Jp5xi4V@pMbn6}vA{j!B{ zreopKThylOBdMF87|EdELTWPyPuP(-UARngl6iH|KK$_mPNXx1mILhatg`{fH013y zHX7$WZ&7d1!hy2xx>NYmPrT-8&-)&n*_rD;J)o+ z6PW*O0%(C#rb%C>S^vh@&p!D`+(kAWwDh><^41sSCSFq7f>^&b9hHKRR{Ai!WU4he zkkfz8E#0JN3MSnr8qumdnK+@6zS4Z3FAvo;U4HvrIR5k5QHI2sx$7D3g_{b21mwPl zDXlePI|<5R9$?}v5(4E1H|{sRvLudtrbm0Md3LH%lqx6nV^#zL*L;Dyc#H5bo$Fj$ zOGj$0lTo1%YyEUU=kyn;|8UtqL;p`lN~^$>upjSC;6T!DVhfnhHp5PJO}5}st4$!2 z(JZffvp%qw0qKj0rU$|+J5&<9e0;rqDMbx3*i(%@O(8lF$13-Wk@ao$m!29`n*%R@ z3R)3$UQsA;HqO)?Io(|^$<+MZZ2L7s&flVCY_G}zo4RYOh1;2)BhB~kRtk&vkr84_ zk72bj$%#Q)Zy3y|m^V}zb4S=%lv2Kq<(vjEk7;J|nA65X2J@B7h@Du-h888JQt7Nm-Pz+AiTb-9Po{dBaF@hReZ*L9vBaqFws3aJm@jX>zzA+7LT zw#D^)EC@Fnefst5b!WQc19-EG_L~$WJb75{wQBsp@pm@0E_D-)H%BNU9NQd$cfd}q zu)FUX!OD_&p4D=dzPaP&(Ys(yTIstf%fYXt6HuhL3%`Rb9C;qu z!Xld0NqhYh*%-d%y7^7x+s}LwxBtP->QH8q72}U$pv-2)6ZRLc`h5?Y32*`JhfZ9YlTTzaj?ly* z-DP{j@1zXY_9vw%z26Yw{`oT$loSURzSu{9zcw7gEk$3I>T>_@mr<~#=>PHSw#T!V z7Z;kn|G05j+`0e3->)6qf0Ok0D=7Nn|M@uYj!xTre&^NJNe2`<^U_Yizdz>VnzwgY ztA~fjWC8kPZ0rfSPTOo1y1zg76W`PSkC{IN{iDY2_kg2J{{CTm@z2&;MEk;d@9#G? zeNy~qp$Px)DAY%4N=nNAcvB1i!@)#+s5Zz#x zhktvWZ*^Puyu zC~J-PiLm&TY+I!#0#019rYwJ(N>ETfqJPH$o!tfo;cVnSi4Nbn3?OJdD_odcnZ&Q^ zyxelw>=uNV1mv2}3mlQMzcIN|hk6YiF_4hOQwKANkLVCGK?HF!hWdSHvCPGqI|T!^ zW7nEQFOuTUcDgxuSH>JFQwV`sB97hq0if zRFCj9w60)tAaROO?@$MmRwt60P80EIGP~G5cywJ}>Ez%&G`!r%btX7M{bakbq%oh~ zCR*uuz!_ib)%H&buK95C+QM;dMK;=^y`q+$o(C_h(hD8Z)xaXkQ7gIh9(pY@{l!9A z9Pq}KT|PBMItwIY3A6%|B`ut`cKvfXqdG%Wrh2($3*I(py)FD_>9wPK0y){p@L zRZb_*N5Lm;V=+8Cqu~^wXjT2AZwp$7KB+F`tb5tpY|gND@cNFjzjeb=&o?y*hYyvj zgD!P8S~AsNc&*0AM{UNca@RQ+wIZs0q))3=!9QdptO`qPvy^K+CpF8MY^CElc#SG* zrs`O?1vF=yyP4P~uCzKql-K#uTu!R?!yrJ$uiY3Q&(ECv4AcBd2453H;fJtPLD?kM zH_su51eumWrP&nekT6fxq`=Ah+_AScM3aWKs7tP3Z#6_n8k7w_{zpwi&yq$^@{a}2p(L?(6auTtggNEjn4`=irbm=V5=IY z^D=f3=K#w5yz@h>mRbz8)HfIvE!sPQlTUY=2o6RU()cwc!pc&`nu7<>wzVBB0Vk;f z9eEiSJ;!jov=@jiEn63*22OYhoplMO^^%NpSriT0rawjwU&jvSqfpfwM`>IFtHx8Z z?VOE#l!2Cy0=oUa>#Rd_hR#JNp>L1s;c==8l7Jl6fViQMXO{9)=Nt3hp!l2G(YJI zFr>K*wLt{~eY|D60 zJv2T0(5E=LPdWPa0Oj)1g@@1Yl$2X_h0Kd^PQvv*OnzKx+H9{+s!^#If$+A2=nx&+B4 zgE3{%Z6;k~KXa}9%0Gtbmww^uAQ?W70vG6y7E=s<7szRYaE%Pdw}cIpSso5h7M92B zn$2iXZrM>%Ry-kPzD@(YHlqQ84m?lQfmM^y(#x1(c!Hh4Zd>aqu$ZWoG2ggnP* zaq|=VKy~j`Bf-zN5Ejxf_8g>0GOpW|Q1WarR&*JSjehQ6z~qeJj!wZ(Vd-5AM)r(p z!ELpgudhyF;O|o)(waUC78LDR!+GJZ3o$O!TTtrOHJe>KY_q3Ight#SSpoUeyvU%n zRHavmcD6Ow^L85_gPf)?vR%Hl%kwGjOzWJGuPk#rjZYt9iR1^yJwk9bO!*Wz zK3%|ZpD>A6pwcqQ!Ms!gQW7d6q~xiRUiz-K)$^-PG%av(L|do&fk#OytKJVrdq1(v zyoUN#siK3_fg4+BYsLcftA-xsk2?M6pE?$H2pw}PrQ98{GW94LI7hZA(trh;t8v-y z>r;0)>hfMvOcUWB4?4)N*kX|O*wj{%!mz**+fm#KF_z~29?_r<=Q&rv{Np8}=#S(p zt}pESM$Wp7OqlqVSeSgCm|3BRZx=;O{<7me%Rhb=o6?m;xM&y2`OLDm;&KH6O)A_|gl2&t=MXo5R$7v2@|TirYAt`Ae8GML4cc~v zSLZ~rmQ_r;fyVKKpQ>`%WPlL&7#25lum(~;lU};P-uR}2j=`qYMOnH2gV)p#dfz$w znO(Cw7)3#!gGy{uX8FB==Gvz-3Q5QXksmQW%ph6;Z4S4PtY9g1v`z{1cZ^p{9x?+A z)$t#qb+0EGFPAj2DK^doZnqdp`ifREOAluf3O+i8EcdFXkBPd5MDr1*pE$9?S|uzL z;CX$0U$?Bjla);8jjiPu9b0KtRF0)77hm5>_ArWi6otsUR$grh$vb35s}}#Pbtj;&94vnq5V=JTC27}-?X%?9=@Htf4aYt_+8XG<%1 zL5#CerAe)hLOpH33r@)@zID;9KdonDQdd91`%a|ofnDu=F6C;~J$9}p21R{|e|^Fz zu>BEJ|Hm_^`q`M-{FqRfzh`>m6}(3~e)|z^P`P zXu&7VF6I3Sf@gA{SX+iQqi=2=-%eb2IE}Y!tFL**;f=q?=br!4JxhWALIctegU+~O zizO)is>35h9uigLSbvC)iIoN-S5~$cci|gYlN3}Pc)q3#%J>=nV~AE77yp^+d7Q?z z3~gzQ?qltoNF7_g^Z|02sn43*6^Q;a3k+ER{vs?~!>Los+hQ7$ze zc)Q4c?+KlI&CD@F-ErBMD=+bdUg?FieNc0qBNN+G{*@pg`Eb z&bmwzVEkXKy$4WJTN^ftB6>uDqXG&7>H(yKbm;-&dm%1?CibvD(`;RTF?7D?|wMD^&qNBr^qEA zfnS0XWD(#{|6=-sHV>5%19r&tq{}E8F?L({xL!F#e|896`EE@PDlK5hoT!XSE2=KZ zd!S^a9;`RjCt*8=y}PanyvkXpWo22fx@8pzGalt*SbdRkytD zo~{u(9R~ZmKdqJ9l>oeYjdKqr&kBM%7WVH&xVd-W12@JH>EFy0Te`&UHA{9m6vl7m zW^=$`(x@6y+an)l>WT?!*;+;4aaHjOSOu+Wy+Mz^dXIUM)>ifrQFa)l@js9OsH>8SGieR_FGGpODZWKMdt*t`}=*m8oX6**o;A=mA(Ua zcZf_Ely}L;J!L{sGN--zbG_+{a$~V8!l?x=1aXi}=HQ+G83swbX$U#g7H{ffWW`w; z#7oyJ>*%=m$fHKOCrZ_CKun%j(+XyQUJ2UV=N8 zZ-fP!nT{>>O6k*8OqmWXM6~EsPgGE=oJ*7J;+K%`u@EpS=vESvXj% zhUc!AufLmjSf?*JDk)eldg>7>z=<*lrQNJ8j@LvK^bzDg61(;j)3T&$w{_!wQdf@7w3Q2FJNT3W*r1&WNG1=-uX9-?!j=+=1OB(3#UTWL1G zF1?wy8#EKcS=oKZd4DYw=mP6A%Rq!%q)L4Q6MlI#G390&DGRa{@SHPv=cRXr80*%w zR!S8O!>AD#PxWyAIyMDuvlpt^xTB0Mx4Qg2_v39lDDN$F;u0%zNkeN57ke!2H8~_+ zq9>S{r!~YQ7+Ku2G+OEyVde#DUPm5`8dmrvU9ze72;ICqBekL0z1K>xE0B+IIvQv` zz27ml3d!v6WAj|;JI*S&DoZ?v?T-Ap4zK+FzLUyN-~6I$aa6Q#Z$(l8UMBww#j^;h zVsX3g?QnK}cC(hJZWWI*?%CJ{G8B*~KycD`>pt2o;bugV7Brr{_#mKOHtNAhjzecz zMDG`~D3zG>xQqtQeC1>jQzBQ-st@@3oY9cz3y9!5UuxteI$TBG^1Jnaau*jNN#cCI2zVSf<6>{{+< zV@2+w6Ca0t&NW(>+OpnRdShVPsThikuGjhS=KK__+;D623cg>V%jT^r0@yq`&h&O> zyk;~CAu*f1S|=`CyH|_w<|Ef~op{DtZIW{hqddE~VVCdW@r@Px`PBinS+^rki(Y-D%}!pCVyi)PQK|_L5Dv=8OlW<(!G~>{FH6@)O3`mkG;MEP1n8&J9;o_ z-;*O+cJx!D!)(`XbEW=G;d#eIw8D1mxn>>%=NAWIfAL8fNtAQ0Y@slgronrM)W4Xh}O<(AclTBe`!h~GD07VO&MwR5CChHDY zhG?Xko$HH~)7H^Q4~k`Cz7r+5<9o}TN*u$SlaEaV^FqD*f|amaqL^N@a0*!w$5aE_ zInTqi2Nj1+ebc1%d8;Q3)`)_?eNj7?${vC>Km;PU+(O}cTEzlU4oDXN#|%~%iekYY zF~(-g8pD0X^pZYl*D{uql4C0Hxlp@4MlnP8if)nY#|y_Ltvm5wtmXzP_sVea+B!o8 zg!jq|Ezq?xKhal{D_U<^mIzs!UU{V#3H+CHHY14?y*m=^lfGL>rJD*65Ggk0%>o8U zAx6fr>VAVp--x7FM8`c$__e#i?RoO8fh0mg1oe<<@6kYO))HHpUzwIDSgUBFDLSP_ zdzKEFyox+l)Ze7fx`w*V7et90ODN?}s-X8-*2*`79@PA}y`DFNUyWyfk~#x<#{^^7 zoiPhGzo2HKv0v7f@$G|oNcYyvW@}DQe&3%SgtvzEUU7<}PDTSYiQD5=@3f`JD62Xi z9<3JY?A)oiTqtGK5Gy_~%L^ND`Kmv}3fkQ}055Q#8tsSL^o*^MM`(BuaW2LRL0@<1 zuquAo=BZD@`mNE zp4glrMqO(^h2Af-YP1?}*RQjEcNKn(UUFHJ6$^8HQAQD)(k}B@(kFrAaE~J$#ZrZt zsPb=hkV~x9&6>Z;8Bz(;k*fK)tcSZedGA9lR3qV)cLE-A4+YjL4y4p)qhS7P-l1lA zom?=l(y>sfqQzH+O3-xbP*ZSWb%cGWSV0Xm?^W}cmw{F8W=-p&{=TYHh{m%w38Ffa z&4a;2YkxXkw@KyWG$(aYb*&ABs20UlNEbK+LT1)K##qIlw4FWRw0y@o5_(aK`O<)o zDTutbK9rbcQB$(U!lB&rWuDwYW!?)-XMA9&Krm!uIc3;Ofi(rEi($kt8ULZB&- z*fC1=xqxRhF&tkuu>~G714enYF$srT%Y{6TY11DGwnJ{qV24RR)yv<}dY0ul;P^$_ z6=9jNq#?`5cpV(r?y>^zc~6g@EmtL2_xl)Vcs(z8wP@Z%|8#<RDQRSK z2%|E+!!1IZx~sxu(&nyLWwKp~10%?Fe>%4Dvw-Soo+BP-Hke5*?ETRxfyMDgnR=C< z_r&`iBhm}zJ&NI{7W^dfHg5%9=`}*6F0r!PPii%8iz;sM8fF0-XK_dJ-klGMq7|t$ z3sdZ(0b^0b1o73Wv1NLztQkjdbpxc4UU_`g(C|^F6^-aOY{M&I$0CLH-aV{z;p~wJ z2+BDWQ;-e<0555U7NdDn`f4@eZc7&dyS&7(K$+Qtz0%%ozT6e?n`IJmqf>YoXWco97ok`t0j}}4{$3kU# z{WfR8J(=t`Mo1wJt*w+an*DE+u`!5(_V)Z?Bjdd5sKVII=H6%*(V3wVP98ndo4GRi zor9%hr=IT4hjKBGU=~+!{h7=B;#rJcJ$sBHe_RlGNl4hX1t!E3R77}Bj+0}JOfPvi;eCzApaoQL}G2BLR*vM60JCcY_!_0l58TnLzmNGZh z!b!m9N3R!FEIZMcEm+sHN92a8MF_{c*H^VyVJA>xQ|(flQFQo09aBc}LF((m)w&>ZHDOmSr|E+Gw% z->^)>6!siIT2nrjY#n|0r3>1ncw1=G-|x_QI)UDmh}35;-2v{{flH0cm+<&- zv-8j#`mKg{TEXZ(L!JI=`*)A1&JfbW3zN>F%Ze~4o8qQb`sRTRKu`m*HX#BX4&Nu)OU@;1A zq5{CI)?HkiGXtuB`ySN6G(&-^iCsYQk*}`_bRBsu=P(J*w_?3f1-uj@nZ>3;T4rEn zI=8hTmiFc@*CPZ*oh);|EjK`L_iPUYo%8_mSZ8x>l#)rXlEwbksSv{I{8MSE%8husUWg?yhC zv9we@eWRCWgcblvH7m84t`J;`LQGd-9DRa+by#RSzL+d?(*{`*~!<_9EvZi>4XnP-v~Vm zUNz$0n>0ob^r-YAr6AZ5JH~wK^lR?7j+YY_Zy~0Ji#4((^3pmMugVxP)gP;s`BI!} z^``|+H3qhmcFTzO3Bz6AE=DlnQ*|XU6_q-ytWA0tt6bVc&&pKo;N|D#5|*>e^*H9} zP(MhS*-{)B3itQ7{W6>dE*5(cynDArQ!MPODog3Pcr|G#a9^g6WwS8Mm{=*?_ zw$6f|l-g?HipHyv4%Eq1F(%i@o2OR0JASY*?{mG`W`03J=coJtrj>GrOVA@w@xVEy z{7yF0_Pa#|00rYzB2ya0-kq#TzW z_o?fY=OK73m1-}>Wn{(Y@2xFFD3Qx!!bfHNN4;M*gH4#N>xANF?PR(58^SC1E)9&? zH2*UshS!XBz%21U3(3c8W^pfE1sk=e&Y_x)1C^^LpCJKAx41fBRQv!xMg=s|OJ zALy+TM*(WJ*S-B=$iptf?$4V(%6v_6ZTdG02F%Twsjpi?l=a{K#g_T)X;4opVZ7i< z-aZK7+duBEy)l^HLoeCwuxthS_FZ2p%7DF$s(YtVy)3xvs}aHLWco7A+0ifqp`FvE zb7oVJNiilTvyp@qa?2C*V;wR&(MW&i?%a#)674&>8{g-<+N8Y^h$v##-zGH9RVewo zOD>UHqtpsYdS>PW?nZwNUF_&h-3P$pJ<3=#hOL9pjmnJ_vZ-7|?o$TqY%p^e9z$cO z#gjXqKhYj+j+T8oBqVK_b>K zSiZd&<^@1rv;ZDJ&cFU4voFTC-1Un|;0h~<7uv;W0$-lR2#%)E{_lx;DYAHQY{d*b zQIbc2UV=t3U`zI+t>VCDRJ2#Ju5EQxc!U=rzqX88BU( zfRJEq=L@?9C@_(uFk!-wuFDerhy!nP%kifQ84eMkF~{Z4Ax-nV#Ji#p$H~Xw$J9r+dz%Zoh`~ zfBjD~@VVeJO8vzk1x-Nc0bcylCm?{SA3#EqDZiynzPqUis<6>qE)6W|JbjVStFW+D zQ9iyd@qs5PDJhhNmDnNfVbtOFdvt7 zo_iqX!ic*^@<`i41|4qZhzT_WfP~Lr74TJ5hxq9Q;CC`<=_W#Lt>l8v8~=CjY#Z-D zdN@vMVJRwE5KMMCuwMF+Z-UR*eeeI+EzVBwKA`sh-={lJhk-9s`~Gvz-?%g{%bQ0M z1ddBsLezd|)TqK8F8!0ep*pY{@AeOlN-U62<$rfO`RnCPOdE_-q@ zKCbz7Vemgsl>q#i++lsBG2`DrF9?l)N03(2PW{93)NBQu@v=NSMn1-eT3A{IvY)^_ z$FS>vz5Ogtio{-9FhGE6E_2Ogbo|CYzWk`}5+D#}O>FoQ#sB&@BT8PfnbFATUwOTr zCqK~8-qSGuEaB|^Nvz?Vv0{-!qAD`j^fY+CYv{qnzvob@mn}Pg@l?!5>Mc^sPCrQ} z%`y-+V_*M#TZm(xeivS(R=F1w!Zq{Hl(L2u){;Lgoh=VN>FotUx$5#l$;Pxkb_A@JId02FpxjF;odOGKW_*`6io z_<98>BQRD#4Nq06Sn>7HP+dmK09(tU?+ed2H2uO)<5R2GCQ}?LYC0US>)fI)HD~)9 zHBRkKAbEBIXWkcz9`Kht^qCr1m%JNrP6>?C(Cwp~3cPo+AN3;SN3-8R@Afg2XT7?T z)c~-u(emKf1R*P{el0=GY$HbJ`|sNB$1Q$n8r@>O(UD-u(Pw@qK)}i<^vc;94-4Jd z6)Mx7@m*@?>ffHmtqvcgGkc8>+%C-Tr)_rdsfNXk@2_j|z}`Kw91W2z$^KiRjWs5v z_3O{;PyqRR<`Cn5F0ivh%N8oy0T7WCcUwL#nlgjt0`J&Dl$}G3opn2?65|~%3jE?; z3`pNwAeSmQ?Z<%X#8bpFv_?|;)fziG47s;Hnc3bS?`z9FPWghn>=>7j0z}ZsagFo| z53H109Jq8Wqj$$6g+vr6QL0<~r7R$)BVPoU*-+aUOmaK>shm1I0-WR*Z7Ls`gFfMN{iR%laI+E zx1^olzk#Fc`*1wFu9~E;RG01v0%GE6IU`W$0|AbQk2ptl!Ic6gL%YB1fdx&2QZ9ea zS|B19yIE4J9AE)}`BCWZSG3lBZxZ^eT-Z#u*YG$FQ17dXXVe1D>2mL|sl!}`*{>n4 zCPcOQ(OqBrlFk7or`V>k2dcSlceJp*mHSt-AzKH_>p##RP$@HN0>I)p3wU~O( zQx50K^VIh5i2mRUTwtI^~|ggBrI+oYKA^=KT7VWaDnHRWi^Ut z91L{XjuwH1?ca?2RFI|bmhCMgrJfQw4bhM!J9&H87I|0oD}A}M<6p4U)8l;{(V7pA zNgB}dW@aE-<($ju*AuQ|dLKkSPoSR+y0qcDc4c^@D=l$MigdCpdnzlm_D*5jX!EI^ zKj6w${9{KsO2bl_=!vx7Br`s5n+?Dg+;YE4MGtk}m#G=q@5@TYcz$qJ2ZFp7xh^*A zJ1H>TyKx75`o#Gt5izY8e?&gaap8=800g!+H60<=NSg}+@-+$O^)e^r;!DE9W`Ab- z4VdM;j%n7Z6gFvNO!P|PwTU>kcB|Vk4wbZlzg{etgN7!sfdY*XKZa;rwn)fY(Fnho z71YhSaDca^Siu{8gO;l=jcbP6|AKNsZ{cXuOFfG(hx4OV5#lnHEiSeFDgBq2sr%C+ z_z6`tuYJo@E^!ir2t5(Zm$Hz~0iBxDV-@DX0VnV`Q>sw#b{z2v?ed(mMR`sNed$JCASe-j4j!9@{ zLX-hH>0XhgL{zI@o-UM`Pkrm_yoXg}5<|;JAbu+*b3$qw`g~)mJ>N97Hg0!(P!XVx1)gxE#5ud? zm%J1zE{>(rakhGOZH zogAw&Iam+f(G!IqdiKYZY#83s*U}a;mbJnLZw=Kz-kIGf zYdMgtS4+yFo7KYkhOmNex9x3NxT!)Yx`tIV+VWTNq-d*T*hdG(}4$^&|W*Q_Uj@C+ArF&2?fL z@P#C)26pS0$9Fs~?RrxIy4YxAG;|E{$n%a|0oX9osvjq51V-sbxQNr zKr6dB9h4h7k2FdrJ$9WPM7o*iA&cAbSKMl5mKU;iC@x`sdg}TqC4u?5LOD0xN-=Ar zkWS?Kq)qkX-B^iF1vl$IUX+~dE?0WpF30RG?$D?SuU%pEiIYqZT`1V~aVxCN^R#U( zJ&jP22t}URn+<;~$M7cz?6X_GzxIt=rbON7Xyg2=$I1EPMVh%Ktngqw*Ok0ik3odI zzSb^QMk6%H0c`EQEMr0m68~9N4=-Gi*6qvr9I3Vaw1Pt!p%OYDo!-VPd_FAqx?@ko zT#f7Z==4yTEbp#u zDY^Phm%(qP-m}!$9CVs=+)knjKl+$cb$OesbsQoqwHRBYjtHIm*20I)a1^oW6K!%o zl+y)@7N5g4GiipWo6ju-uaxz2)T^Ifb$rj$((HM!G4uTux#V#Xx%-iBVO_295N_J; z9ES1Oya23!V3A04|P$ANYzdDis>%wonA8d^Do7Q+BO0 zudSz(yxJvQF|^!))b`?mT86xP$m14V1!1|bTt*ciuGWl!IR!hI9F!ULXu_8rrNW9S ze!6o>s8TXy?Y1lqBl$qp?F8rTO$u*Zvy2%IL!*RV?!(Nr+2ucu$<3a0)cxj<`+PBH zsb;(aT*H#R51oISaAsGif&KyP_N>A_840gxftt014;v3+!CIG0Gw(5m?6TdwE&Ela zSz3Ld#P7w`gwN-u{e1gh3>DX04E9yw(hf#{UEiJpS3h=}v{3QcqnU=dbw#F|@2aS7 z>+9DHQB)08mfNd$_1<4EVFm4*_Iw^d2>s1`$#diTMgghiixO=sc+OR?WkFO#VbH#n z<@AvWcJauBX&~dKnO=RmTAHJv_}RT#7O*w_&K-GNV?^DLEo|PJqJ<$@$ZUq!o#uIM z@PclemE3ZZ*E4K}cm5z7I|{6iGEqO`P)uN1@*FN;y2c+H^+0u%c|WI_qOUB!AMjLS z8QUv$nE6|M*Pppg9ohK z-?jRgak_N1>6x-Tr<`?)KFs3kJshb>X&d$NxactEt|I9X;heouLI(7~w> zZTr~k7Gn)H)y+0T5`99+5w1^&oIG9xNW{27KHWK-+#HT<#oG3{QnsX7-1u+?DV#fP ze3f>xCXwDL2ICbGRad4ma^w|rQpfmCh->by@R{~!wJ1riUB+5IX-r9@u(i4ruNz;L z>29#7J#;w7L}oTd5WkA?lpHyI&BKJVLZ&TI?YZBvkMIA2Uu31G{sUt97r~P?=RaW} z(|-YMI63<}o14YY@OJ@#;a%!KL{LI;gP z7pZ_SfbZStc--dlr?vm@@RWU6g#^?AZ10?TqG0iPbG}nXiLrBY^q_z#CAuExdA4u> zx4D+m9yDO}sHlMH&%9j6umK9Gu43Bg>e*H!zZ4i3Y~R$5=j=5k);GNS-%qzW*7-#h zY!`C9_Yfc~1i|^NJ^E_A&u7xKq0V^AMm z>-RGAUJ=pC-=<&|vfSXabr3Z%=gF5bs!UaPyY_nP!E$&x06McD zF2u=mmQt!zS9Xz@NZqZR!L3|}*+^AQIfGs`l;+(Su%yyRHo)7RP@*2xq!RVn&NlK< z9C32eU&FG-rN2@9K8R5ws}7zQ6PBxm}e;G#yip}bOdd_)zYT?h0--LaS1Z{xU ze3q_Wf7cn+AWiQA=Ytmoi^Ng6XFn1#@tFL3Ay`O4#VrniIP@(N_#f-%Emcv9aaH68 z(LlmtKZ)B4jG;7>5;W_=syy1y3>?Wzku(#3czT04=iN0~RXVA!`tL@iqCQ>p##J>vybz8XIwL;y_-Ze)1qqHW)O}TU z+Vud%VlGoqLVarw$fVXEYkjF8)aAfC5|oYW<&$dCKYcd{G;)qOugh*_Zz8}tXNGoe zVO7$7((7_tQfw^GCO&;2je52f*ypBCpp2|e?~_SL9vNwAYWDopu#`8Jke01rlI#pkOslyD1U^A=Hi`N2HHDT&H^Ye{?5+K!4gcnps;eII~!5Ml@&7b0I5hajz zUNY#cRXvLPv80^ta7)x=d)xt!tOK-UR$c5FDFE_Q4Pm}ymd532me)x%B*t-`z;)R_ z-)QsRP6PlR0FtD+H61Qk;S3HZEOV&1Glf*cmiRf_dm*Hyxh) z7Q%PeWC+JkVuX-)N<+`qkOV_cLqlUq30>aPH)Ggq5!i`P+44;f>u@)-hiCoti@MIJ z{i8q?Cwum?mwI1nQXbRTj=}u;y=t}=z8(8&4ShVG4N6$pK*5i5cz0Kt4a*NqeD*r- z`S>kH*UMnkB?!JIZEn?fehX0~!vW#!ZGER%z z?ls(N!Nu=-JSr_(pxKA4O&8kkg8)wX(=gk*^iOYvTZ7jtmIp*4Yo^-0O|f1+xm!#e z5#HvJdp%c&^5OOfaHlRGOkv!=TI|O?1yhTJGxx7;Yi{0&L!qn^Y>T?PHK5q7SYTc~ z|1*}krtH}=wE|U`j&k(a;Nr(X22q7<4=8S4gn2)t8Cm@_O(4n3G^PZ3NukIm_} zb1&X-c_sekSf{@JOH-*U^yxtrlfb; z!za_Y?T=>-$}ox7#F*Vus^M)ae^`$LavFIO|u= zC6RDrfP9m5kk_=mjp}$jyX&?E0odNLGUJ4jv%$LWk52;b`n**~R*bnE`!;|&YLR>w zS{*na>*W~$&4`61H3s3yONBVp<)XhlkD72X`Y_A5iRPQJui=P=S-IYX@ z){rrh3OygMS=s}!|F~3|{ouJ&3}|LYyOo!#KX5KBWZNYKwh_H8>0Abo?+%Kp%=F)0 zJf7!(`Wjf~3owl4Oa+(=zj!hYZ~i5P8g1LoTg#5b!nL9SrTMhI6k;} zl?7s2&2$^)>vp1D8r4JUzyn7CV+9n*YMQTDILunoVEf~(Iv6p9)k$tbLtpL`#@8&f z`cB&>(#{}juyqAC%ff2UAEk+cRp?1df!t~|VM#h8MB|K9#wNs+Zc?$77BiEYCaz(g zbJB}3-(p>iT{-*Uh!bnI?(#<|mv~1BriukJ&e?G=@G}Q?neJBhY=CxT8NpL3itsle z>PoCBoF85^zXKU|K*4XG9;8oPCsv{QA{}5TA;4UgQaPB~nJeK{((#!;u!dQiyNJTV z^hsWtC2wtQK(bRlVsoW;8ULPbTxZJx)jwqBdvsKCsGn1p7Ow(F?;1p6RV?u^w#jsY5C*`ho+3SL0(kGkq z`Y2{Rk2xr?dvHLON` zop7kK7sIbxZk2}c-HpT@e|LL%m@B+_%^b9LM`E|Fi(o0OH0Qb4*<4n?CMMq1wR12M zw_l z@JHVhvea%>*+7DX-(U(s)eN0FX(Bw~-@4$d9-4;|`mElYNX-h3WxO|LfsIRRC>5OA zsgds-wW4{-W1YN6VPR>u->H0_|fa#$4rErc8cYsk*fKd>$Nz)sqo1<;Z{#JaA%%DptWOvh9!N< zNFqNU$3g-+*0ZV@^1Tim;^oaI>sFCwP$eRnn;nBjRJR_*L7k%sHG;70iG8rRX-<1) zBBb0)1JjGTja-reFUSb2JOu@Ns`RchpzG}=`%aJF%Zd~F7rW8dQqL9j%Yl{OUYG#} zHAA?W{mm>BZ=6$o+1osEAV~8_H-X$fg=((i#vv=H07#$(K^(2@sr4H@Ah zm+0<^f>>|&A`Sk^_NhdSd+PO^8#tr_F0!emQ*^y4_NBDIRL*L4AiJRi{$PA>iykdT z75Az$p3yn_M=b(-*fZPva1pOUuQ%qeRW2KN=gwV_v%|Ql%kE}eQujd?$!=`3V@~3> zbar;i%&vs%0KiR{T$es73#>1r#%Fj3j0>RFDdYDLmWrMHCXPime47ld?yoqzIl37L9->UIf0sq&&8YEwocEi&0VOE53A|E3hU zVe24Qa9PBZ`sPA7%Ps}(k5X>0&Oa2S<5SzE(1~qP;Jt$+v8JGVX+oc`MkJ1Ej7es_ z0zm0kqLhdvX#3Xs^U}5{Kb>b8+zB3*nO!{UElie>_an4*->#DTZu^AnzrW@7g(IrZ zAv!$wwdAGhy*OE%9L>RqOOD?Dw#|wYh`js#`_@nCaX()LMzYYrRzz_%Vw;Ehg7>)Wcj?+3OWB_n~gd{LlR zU*d6LrWPOslg+f5{s;_Z(%pB{UZKa^?)%|B3N8}J1RSPE#cNFTIK}l{#N1ZK!V2wV zN<%>fiyncs{CcbEne03+xzfk7Yx}!PCEF!>BA@*NgB|h_u7O^BV)|)Bj?>kC?zy{j zQteA-o57x@g-tOD*F~*bp7N|BN{(|`mu;@-jjj+P%qIm{RsTRG6{a5=2_K`>Z4Rjf z&U@XAE^GE%8{Kw&?vuG9c@gLsXOqp`CXTrlgEGfe;TnhXhbD&|umer#G!CSG=sC~} zDiuQ#t$Va#y3WS)qVO07zb@RCJC1$Q-yrbz6CQ^PGBTyPS?SuNUQa&R)VrUq=%>#C z(`~PCjTLq9zvtaP(kbpANq7|4Ch`$wq%PXB@8O0GdeC_tMj@ylKdO5L78Y)%&wg!e zHB3nU^F$UoB!=kMg7PtsIaT0|b*t7B<_ysG0WB;Ik3 z|En9HN@koLzJ<`q+8h#IF%i4N0Y*@#a}^e;iIg5swf#V(-yL&u2{&R>ujtH%i4%T2_s zl;2tb1cCzMLbQ&$!R zrbDC{7~?l#1(5|Y4IC`?=6LaqVD-W}4577m+)$}?#TGBprrK83D~PilY>{^FSYZ#| z#F352X!US>DUqf3bFXB{UL326t>(m58_j+kGmNa%0JKN&u;uy&ADJ`Vvylrh!7z{5 z0;i4ZHC89z!G1pawP>Yd$ev}x<;+&H5T39~(`lD2malY!=vUZ&@lAR5KPeAgQsi7t z7^mm|w%)DxN>*#$=Oa1YEsh!~xt^}22cM%-1clb!1noU)m1ERzHHR>W8GdADrV-c@ zrcu^9_M*9I%e0uP>B)bx2(amj3&irI&R2enAVl_ob7S{6w!88lN^#xccCNk2FL!-o$8x2&avBcGqH#WtfH5@i2X?Fkhz}e#`o4d==%wSt?>Oa($KmXl8oaAd{Y3NJz)X)VIScLBRf|TZCD~ zJA0G7OK0&a5^HoV?eD4A9>!h!{gAal(*3srOE)&YIam5Vc#`T0Kwj)0L~?K}eetfE%1peGCwR6Dl5xDHe2m`z(lzB@8;l2X zGsRwI?dZ%Z!+F*&f$w|Lws#iA^Svqf4N=EH?S&)h+|9%7I5m5mL9yuBWN+4h|CgC3 zGIV3?H3G7eC|0e7mFOkD@mKt4!WT{J-EUxwFjeb5vj<@|ewK1P6 zRt&(tx>(e;@mjG*4$V=RUp>=8%Y^9w)1t;=Y)$`&=2-Plr!L5w$Ra@(GE8Rc) z?PJ!(ikntR6=T*N+R}eV(X&%iQ+eJBs9UCL-FXmopXxGf@A?E8nzsd+HkCtS&G@u? zT3hI0dqH>+wV3fQa%4`Gj`-QeT6=M-VRkhvmnIypBJ$Td))@CjS;;QqjU6O82J=ZR zrv;|V?<(|5oaAQ$=x7>c|0p1L_yxP5i2^I){6!u2miUuwH4p`XkndAbavV=00rH%_ zlq8UEA~EK%O{ch+F<=TjV1&AU-eVU+B`aN`3BMH(#4zUEMUCA0t!mod0D13bEBEp0 zCFJprHfg!@p@o#PpfbHt)!RyWz_-LxDLb+dzfGG8vFQQeDfEi^16yZC=Zh;^->T)d zIZM~kCNcgF&28{+F@w6DEpwJ3NsAvGTr_>1S!#If&j3^;B*P3zZc6|IUZe=fsi(Ct znr-4&kyt7Gs2-uRhQPc?C`+b@PPk_k8A(UGFhqC5ist{GvhfnuZwvtU_iXKdbfgbZ zD(p|QdjRHYz~+Seoxu%+*W_ai`05maJV_H#7973yJC-7gw(W<)l{t=>9)zkdv!SV0^HS!mS#<%jGlD?rC%nkC+cY*KDdHL)& zvJIEOD=3YKFKGdAwun+V?gpFMY^ju&@QdzE+?o9l$wMwXLa{bvb0yPlDYjxI{S3#- zlUN0b>*ZLdZ~S^FcMZRx+vPAe1tE0EJc3Z|`ZK++ku}K+_`PjN?^wY5UgG+Be&NaC z?pD3xwSUF}a#mB?n^w*&-+&;*3?{+)S9U!{;c_54``i3TvH~MbX*XzXhkv7EJzxOF4P-Su^86J%CkwY8C~61;urd?P>3*;C#eDI| zUs-nS{aYC%y3WXBfT4RntfPaO*O>WR;a3O?k|u9C){gERD?gb{bxsogxGX$tR0Sfa z4)B;#sN0O|h#zpEYDMxt0s(ZVv7#i9VQ{4CgrDqVCEsh?wIJAO)KYoWKEx)5JIN`? z7)TjT{h&3zD{C)UayxgL>8#N_O4~8M4fwY2fN$IRuW!SxdP=0%TA2=rFFf}-slkUI z;+RfTENiQk)i*jIMb$5^sc2KX`5-x-^XpT7EHARAks3Q!*@m*+6(8Fj||y6(+)&~sc9lSr$J6$zHHe&s4Ge%EOf^}@vUri z?@TZ84iIQV2w9=XE&7n6)ja0Qt&nn~2U=}GuF8nq4X%oYYW=PVfVmDT(4wgfF=QpX zr0jp^#RUP@?32i3HD|YvT?MO-jj5TaUl)2XABYrdeafN-my?oc#MOCi&jEF$mT(9z zsFVzUbe|+ycNVB9@Q+6EWYbCgG43nUu>U<>-P~%*z&voY!ggrE2z!4gtOW}E^1OJB z735RhYRL%Gyq}Yql>Sl^Skp?De|^4U;xRm>?4QRK$s^hD@aTj;L3@tmiSzQ&W4y^t zH6SZ$bFV>*F@g4S(Rp6E{*qR262!NzNG341PvN$Ni`?CnXtiZ!alNO9{^dk3-S!s zA^9p^x*aYEx0vr99XN>UVaU0bUn$(c zzVl)Y;+IHXx*qH}Ra=}VF)Rb#z4*&kPu=|gq3t`vn#{U(QD5a96@6zE8KjLvlP=v* zEu&26Ql$ix-lK#TAfV$2BM2xxKtQBP4Lyby6=@;#PJk#S5kgI9A(Zn(N5uKQ>$}dm z&N=x5gs1FhKWp!OuY28V?Gc3w@vfVGBp|P)eJn&0qhAQzbTqcw+DhErZ()#P%U71D z*a;MxwZ`&p%vlUt2p0pZeDzbdmll|D^*113V$eF;nn2fTlJO_5ocuj?`{D7kFI=dx zlNIuWAeZFPYw6%Z^;)~;aiFZ0wuw*J65sxlvwnF{{h}?C5SM?_A!OT@`jo2!D6?}r zf;S`!NOKJE=sEP*yYqgbPUrJ?XA0bZYV>tMK^}=_j7THH;1Q>Eo?i!wl;UE55}8GH z;m2MbhXbO4BFmR`wE8mPu%wH9sXAHvBk=QG?6!^({>&SX#D$v1>}=hoUSeY_KE9{Ee?=EW_0n*D z;ns$6tzXBeztMNG>Nzwns2Hx|2volR?s?gqdC=i{vlNe|+aE?=DKyO8QT2BVMf!fPpz8iv6i`s{;{VlsIQZ3{5?lHHp2Sw=D%;-7 zr)?3hspb(sL+dm>8$yhgQ-^+9{lwhrRFQEFo%?ypGB4Bxu(6Zwuj%y4kV?4)0yt6lkdItp16VKhD`WP~sD1-GviH zlo{?}J_(AcS@H!FZ?YR6>;g894}klBSru^!Qjh+WH_@l5z`k4D|9q#P86m5^Q~sNK z9;s-;eAW0Jd#p+B&XQF3pTzlQ4d9DzPXo8c3$E>}A#;4#D>v<1akJ?X1pDBHkn+*Z zxph$|_x_{3TrwS(Zy=ECxQ(E3dB4&>{&-5?Xds_bPfp2ODsWRnhc?d3-t>G1@h61X zhU0}13}xZpQaA1mbR_NwCnUKv*4c_prr=>G2l*;UL%S;Ugz^5FMbQCJO-yizk|m{i zH8y6?1+_>J`Ye3uexUauK1Yw=^>M8DSFV(#5CdrqF9 z$db#ITFgCBh|j|9rc+B$>4zatjx|S{ddwHsOgek97quV7d>R2^es9@unJ5}iaX_KV zjb(I$AOd`Q*qbqmUAF5vN|HaL+2yq*t4OXLt3BGo1IAf`%yx6qY{jbUdHVd}ae2E$ zjoMAKsG11_aVADdGT@2<;*N-PJI=(7a7TTUtT_|3bGxZIdf?S=uk&o*+504LNk`Sq z@Vq+Vj6d`G)jwMJ4zK(bUAKa)`p%1ZWAOrzY<4Fu^wj-cLCwOBr&;n<7mf25kB=Ci zC{Np(i>%kig11%$RE5D=Hi72Q&eX!Abeo=9fjw~9cy^&3#qI6t^EqMgantQOtmUPp zs~l7(kO!ai&mgN4B}tWZu=;Ma7D-zX92;%)j$aO&;*IPFb=nEjy5mdrS~vO+0xx-jGL*WnSN{OG-dm_S2`_fZUCM4-pc3dOzoke zPshQ%Qh|3SXG~3xuye@T#DjZrRd;vz1+zgpflt;a%uf#Xftt5>RjeGf`BeP-x<+}> zs(uT(u;T9;&DMEbqkzR7Lv|F^5f!^-Re?dUmp_&k5oc;<12towOXQYxQ_nElH@fw6 zcAcJ<@ZA~Wqigj0&+t1&`H!e;!z*#C@3zo8OXdD`;lsLREM9o_r>MX!&iY;Lj)jN2iQnr+U$L~ZUcoc& z9Fl&^eG9M&v)z(~z>NfU#pQQPt0Sp#isTMssmC^<=3|=X#xijY?a4XjyB6a)#^QaW z(?_@FUn_V_I63ak9+lc$`)xdAA^%-Y)Cx*vt^Nk)G#U#TXtex3?KC}D91yyG$ktwM z(tzpRx7CCwZVv_0XRU<5w$q`r7UKCuW#jUyt3#_t&-gynj!$%w){_RSWItj?nR8hi zVlOiMN6SO*N%7!g#)$*B*?r62#xM@%1JCR{O`x zyxAuf26Im=`g~eeH-y2BUfbAPz4C^DQDoz0-@bAUw8Q)4AQtXF+xj8YTC6NxCr>Bo zBEec8v5@8eDc!T-@^Y@|svnJULM5yX9lM{x$M-uad>#3_EUs^}x13l1Cv0>A$I-yaA; zD;wy!GFwd#7LGIhh;!b*KylYM>H*Hw-})|heH9z|PXRMqH?Ya@KSZuOew_xoxQZXNbBvM}_uhY5BA8&flMIN%85=Jb1sf(5Cp#&JxI{{aIANtG~+RAO-V=plt08)d<_oAHf)w(;g%o`3fBh~*y0)n zza_1|ut+-y&%V(1uSU`?-@lfzFjDyTQ3*!>&>QXwz%2mzhvu@7^;AoYRo)>sms_J4 zD4JirMgnNy;cwaX#r^-oyUBrZodN0!JpKpSlcrIu7|#fIwsmB9f9-)UKOf{4Jp12b zeAs0EYh?tWrUQZ{TKWEx3Z_B-mGLP*ZrVy2Eq%zz9usd#nd{Hd;fms6o;Z5!m}TDi zndOg-vDpcQ=7ld_bgOWr-Dkx%{@FjCGS<@by7{Rdt8 zqN(s1a8RAvn;g|@_Z!W@Ssh*Mh7?3Q6 zWS$bx@ZbXqI7${<@0f#oKQ@LZq%xnhYy-cf@{a0`LN1B{wf>9cjnZ%#Laf~te6{EL zOqH;!fX;c48!dY{D=Qn=i1|;fCr}UGBJv*(RcPK5ua68rEl@HlPJ(vgV})j>Ltegl z!^U~`>?bUR%WY&uP*J?U%#ZT$lbXT zrJn+Rdni`hq;gE|qc9K$Im>7Gitt%lFOmd^?91qqkG|_uwii`}hCr!BNR7`e;Jug_ z-o6O7#0FM*6QYxWHVw`kdKjoFq4V(Jp_&>5^`t;h{}wKin9FacM!#QDK@fq%lQ9|$-e{fpz|IqDh;%v@^?->NJE`Y zQs)*Ls|I&`;|)A&tb-q3vR~@?^W(MT^Wd9?G{9`nEBkp2+@89QoW*zgg8@4KHM?h90_P!ngx2Rah6 zblt-VDyXewpej8P#v-GP+y|Sa+PsOHI{AwkH;mU6;e)p|d8R7b(;!%f+O;i%l@Wb_ zS6ZZ7aRnVaSP2ez0+$;pX90t~WC(PXS*Iv=t~W==^gn$C-bFeTX~mWrlNd#l&($eJ za2f;lz?*RrB>+@_rHbqNtavIbX21vmNE>Wczm({W3wQnOKYOfdjgMK8Ca*u{h20CO z?*R>=9 z^_lh9ZU78l`=rdR+?k59Ftb{YcB59Wid=8_IxGFdAK(PX7iB9?H@*)n0CL;R2w*52Ida%%bNP8ebaKK4y^R-+ouU~RDRI`o>~itar7N+k zA!dmaU3jD0!-{%9xp2lQ#A58>M-oTkE6)D(3sxH!E5sRJBV=WMG^K)NqO3X-jz0Ok z=l-VX&}uJ%0M{|JMEqf|f;nEKf{1nXyQ+bQ*TKDNH$++7h54!n=3}7SCs_z66xdUQ z-jU|({aPrs_&1~%Q?wo>m~{B;WE4VFa|FKqi&T?n zXCNW{90+iF>7dNR?iBXd=+^PjEBxy`k+wG3*JEoKL)F3G?QO%xCS`u(G1oODFi_7c zuXC9$wM6j&TYk{Ut-nhp@2T#PSGbR#RM;}DiBZhg$rW?;&vZCp^!`u$FLxb933CtZ zmG_>QUVVGL$>~a&f%(YTX_KTM)CW3L%p`QKtUAmg2=bz(g?iCMf8H#tI&A49V4+qVSvD-;%#BvzdL z(IHMd;;DYJk*Q(tIfdWB%E#JruYn{~HFpb5N(yS?F4Zazh6i0)%|3sRAfE$JgFu{; z7pT$}B~=~>S{+TBtJpEmw+5J65A~8VxTNU8IOv1Du8Hw*SBoUZRH$HOGPN}24*9z5 z?|=Mys_k;wy+wg^>dN^-N3Rw|(k~V1&;Z1tzG8S4NeP|x?a}yj`_g~Jr=i$0JaqBxeT6>4 zgs750g?6KKn;GyFKnN@3I&J>36>l2d^^&Ud?qQabLr*tNVK5l&sMtEf9dupqe0z9~ zmyPRR-bQ4DSGpEE3)~H}=@s(ptHg?;B0$nd@jCUuO9AfHu2@Y;fj)~m)c3>VC0Vzd zWkf5ci!^Qh=zLaOK-__vXjv^KO0p;-8`DU() zqG1n<1i4hR2Fd#attPsKVDXl`lIj{pvLVv+#BnQ^F7BkaN1$Ehw7aPkx9}XTj#ZPV z7fW0~ijC}Mj+S~GCrJuK?~_uby2E5Y2tDeOs=Wakzr95pB-y{anjfT2jD)UX7UIGZ zac_&-!?W$KA_6(2cA}c|n6dYTiCz1{`$|jc1#sS(W2fA<8g)3DCd^QX!DnfT4!@U; zIfYz;+PJxgLL?h`3V^oVc2nk2@@Tb>k?HtwRrK7q8ks?lZ=6<73u#&H&|p?B)x@Dx z6milvb+3m~Y;kaXoO}&aOa|`D%QZA+Z z1L;14^9(O$=}Gr`H!QD z@yNtG^aHa`iJs(T2VL~o}WiqxIU)V%{;fAi?HBLgNuTl6>2rKnD%OG9eT zYO&qHlzWZWs4;8z+R!1Uag8yTCG${nuP%SV)Ni~>8pGt!HJ$4-Y;OjoAX_GhnwVb& zH3M!13XJIda^}IQOr0d@S%d@n>Gp>k7Q15+lE5+d|Ms0mfr7YfrKY|*{Oz?Qh}hE~ zu7m@)JE@L2o{(=vyIuA-Yq4+>h}sSpBuLo)-sN9cfBV>jQ(3GA0$*HA{DKHyKooue zU_KG(kHA8Q!`+#_v%SL9A+*fb|BoN^0xAz~clbc*V1T+bE~Pgf5u0oGjWU0*P#N>P z$k%to_NLR-&8-{(I`9ScyH|SdPr17>^efF9i>c}LGI#=sGYI;WDYCBDmFQfvh_q9# zosq{?Q)uC*8`QfHj0wB_5jLy?JcO##Od}FBJDEm%&O^5@!|26OMxPMnajL4nqJl)3 zt0B&1`zUxm2T-l?(KqXKQOtYkOp={FvBr;@D2Wv@CwN}0R*BXePfTdki03+|mdHVk z+h$-GQ+lCEoC3RMgJ<`%@E+9Pj58D|mEgNi2F(tE7)^?{?GQf2x5LAN%(Sg_g>hLC z^cc!xbA5(^19HzH6GR!*;JNUxt$0xX#86~D%1oxS2+Tz(IwRg&;ZItfhdiIU8La4E zEQz$hh~U!IWhs~xhCY8gjZpUj8ffFEMISpeG#x*I=&RUxKW6T|WwwSD>eKYsEhk3@ ze@tPg6>vBEy3?p5w)j`{0?S2`vbw>hVacXNn|La&R@Qk9=w7a|-TKY#)!9C^KIi3d?Qr}|1L2>#CM-03y*LowHwv;&dl!cGfa20yK_&CJCKRwzs z=jCNY9y+BHlQPR4%$NtZ%=qoU8L-ujN4QB$+E}{1oa@J8Zf3NdCftjB12mKB?o9)U zlK-|OA=Z3{B5A#(;6Y?Qv6` zZEtaV7K>KpB5fbJVQoD~MQ4l7*UO)_myY;P4@t!N1lf97`*?N^%e2WWleg(5ZT668 z0ykHK1Un^RyV`MaIzLj*d3tcqaU;|pk{%YiO`2!Mr5dkKlN<+}1@N{z=AILyd6$3S zBjQ5nBpRbDq<}TNn?k$(p1;!n$N5XqxMAR}IX+EI*|%!IiZ`-E0Fw4E?fIa|1o-mM zhC`=vNvEPQx^s1}PV7vKcKMtZ*7JU>q``t92RNGWKD8lZ7Wl6sX)}c1!pHGgZcyju z>HyY>@PHi2=XX^^uU=)yL+}~)v2=^Wq+(W|6bI6`Ntr%eGkGO)X99(mDe4p?;gp6d z$M$d<{tmHWg!+nQnYT0TeN221ZHn8R(#+U!*aCse)he8dTeFX9c19VaJBl|#HSKGJ zEnr%Uf!SD1dd1Lm87{=Of!;1aY0fvNq~s5g2jRAzE8viog*}3O@lttPDk%tYs)iZH zyE*7U0@`e~xceB0-v0e5-N_^ja1{2I7Vt%fB}HHYQRj`-i^VyQSVg-kf@e1SJ5o(} z=M9^!ahH5Ix>}R%j*MQ3+0_!=Q&%0*Pf5N-K_#4t*3=x*NDy+T;oM`hwN5P}g}SCk zyL1Tz_Vl(xi6RvpRgeN5Hw$RM7i<%?#F^ z7EXU0L=;IxdO1@H%~7bLP&H%GolEYP<9jP(%L%IGBH_;S^K;t)%>zh3(tNxQ#hAwC7Z&S77RF*t6||hmI|EW{ ziS|5J83xFqK(F2DcW+n+K$4M7mp;7$cI!@H$PUSPAV{NFWUriRX1SzTA>q%_IkTa$ zNnWe8ih47tt^%QvC1`Ikd~abISqmc?=Ui{6uNq5zY~P6{v}K_?qcT8pZ7FK&go56; z4m+cKHtH3`qj9i~Ct&_`l!ZaOpV za`nVD#DZ~!y#M{eebVzyp_?1skSrk3RgBrWm)deBR5HC=qd9F*)X}vy0wmnD==g6c|HVO5t)^9jz}%SMuFn*XP(IL_EYeTQEwm4VQslgX)6xauW!SpGsH7u}$mA za%hz^;&F4XJZSR-###pveVYGvf-7K%Q_W0{wqa1mL&6UU97x; zY$W|7R6TBbxo+cqqSX7C`J{=FVAP5L!)Z~X{ynuv@NUl-2!~+C(DZtOk@2%cPnx+v~;i|gnsUK&e^3w--tH)gMf4!6ET2*-^nIBr| z;N;gFeGwtz;<r169jOtP5a?XMsHc@QLR&X9Cw}_3r{H*Jol>M%!>>!~1y+O7SXCIMvwb1P zx1%j7SmF#jCqRGy{jt$ARzVrUz54{raJT2{3gViBWt}(1Ft;b}x@YXTmLS*K?HE;h z>8UlDGmj_D-bK?b&9EMv1!?h&s>ax(rraR|BertS6ByK2Qz*pRy-tMKvxUAi{X(RD09)9*>m=$u_X@$@3l zuDw<8Z&yvmJ%&p!#HcqYJYq-P_Bb@}y|>j7+D_4A=G$?zshs_)srVFdPJQ*>7GIw- zbH1;ds(;RRu7A5GU}e(Iy_VzWOTX-?!2@~F@r*DRpt$yCb8!QvyY!_mn|J@+*;`xi z)SHyj#ir3t7p%<++$P*2=`^_Mv-@lS0HM2)zF#|u?L$;0`=4_D-D#W_rbV6u^F=Nf z2dh6~WE!Fu2$-orE7(A5;_~c*g_#-hhbow@Z#!)N)H_4NLD!LRC5|XCdN(d2%Ax-S zFCyNJ7naP(HA+$?`k#BxADYt{RmQmR)3^FZP3V;(CSH{Kzv- zD`LqvM`Ab!xUW+zXi6^N1MsLCk^pFtYAIcPg-nn5v7^vIDK+I|YV`@yWq<3rV-x9) z!p3d$Pt|wU$!wHnYiLlf~F2`f>XE|UageU11hpgvV(^g+tRJm1J-lwxcyF;;s3R627@9q9=4cgZ#=J$ zkYfAvpY#wX3%5{6(sO~IZT_Z}OL?fR5{`?87tgGV0L73d+-7_8jF{9WZpPb4fLSK) zWXQ7JF~5!Rf{=GV44zaAxw5scUNC&@vz^^h9(;ZsxxjqSb|riOvvdoz{a2&h20Mm4 z>zp`(=Y4SMF3@857Sa*Pd}IaN{4xBin5b08LhOvqqXfB!_2a!c2031B_7+&$<02r& zHhk>CxHeGY7uI?Ks&`{ARPChX2Oq+5xrl z3yy;x?0lujK~kampbOi5>|h9U^ud7$&lQ$BXa5E+M-FO+J+B_pmsZ3-J3A71*jV`6=dR?WsmUg!w! z@|Ty$I-omqo_64Q-=zP35yt)$m@nttC{Ehn9A~!qs`WHOGJsM{tWY&fX9wLf3{R>Y zdP@C^U9+xLnxiff4{+FN9#$rTKbb39FXexvGyJj_2>iFMHD&z-!g>lf*s zaLWB1m`C9h3Y2|$F!v@UUc=GCkF-Ji&E6tf!_(*f9gL#mZ>Hk<0!bE42b)|8ocw1R z;v*Awt8gmKgtKL|cRDj)ywG6Ww1WO2E=r6l-|F|_?|ZSay^$U`l}Ug=wfAV*yFI#K zIqE~vzT0NVk8vli3lqZ)kmjhG(WsU&U9qRpz>|YuXoz7m%W-Ua$O!GXiiEPhxC7W-8iGZp3Lzx6{{zZdCDdgz( z{m$#~m$I`1q4s~3nZPcV+ks8RkD2AzeONV7PIL|^G@Q;pxkPu! zT$j`V1hG@b1NWG@&V|Wlai&c=`(43SYhv7YDoidY-N)u`5N(4p7Ke|tuWg>5>Xlf_ zuXVG}grA_t3t$HR<7f}8r!q*sAX|jdplF_l<*c_`ScZmlg%awyF1AV}YBs&Gy8OJ8 zoFd)*ys;Uma$x84I#QfYT|>%2ZwD$4I#?DuC#QTA%oUkME;K8)FOE+S;m%oiD zzXZPHjtvW_mYLzHEsRQZ5amKs8RU+SQ+gSkN{ez*Uv@ZeoE|ZGj_gV}bNcMzr#OUc zl$g$jf3>tSRA-|6MnL=Elog?Jm==-+)6OUdiZTtmUGgEOnD2N5(=yF6yF1eLuG{yz ze;UN-e9OL@xU6~>Kj!)Le0)}WZ2V~=?~AdsFLeV^KrL4WRl)7%xdF30FBdtSL*#Pv zq;>ve;%wHjnNQ`#|GHw^{;IK8u&scC@tpwH8pM>}TnEXwXYH|P-#)^5p!{3-DMzod zUxSSU%BPdf`fd*=Zm<1}LMEBAR!ozVyjZ?M>uQfj6XlLu$$eYdMJsJ;m-8-foF^Bx z7T9@8f#XfseGRxU?~ON=@q{g z+QZG)PZY60)b9P4zJW zphuHY?MUg}>-<5%uE$QRlnoyaXk?MIbBSt+0JGW(NJ%0+*@laK7RNy0ytF}+)up5c zM2vX#7sL3(b^tgwQ1$)3$Bnj(UfglV>Krk8fjrAcLTPmRO$Pnv|AuH543{HrJlPP* za+)rpIgB8H1$CY~Q5qrMo?-R;xj@~;`j~m)X8?!X4RFY-8s+9ULzZ7khI-uqjw!hO zcMk$k;~Fw5)H)%|^zl@T493S6Utk9vC@2bnQ2ed{@t#|rzH`H}JSpJCeE3eiv%T^u7aC+_56HtwB zjzcg>^1JdG7puRR{czL>5PBG%0w977iytor_;Cwd2x1=#vB>VPpYPYj|CzQ<`EJ$! z^S~R$6rLf5T4iaQMl!8s41_j z^7tu`oVtprdNeiRQDn!^#}25b(k#Mb!o*|$ym=ti^=^!>u1IHtXv~~eY5Okfa6JH! zYM(2PrT65C_w3pc=p3z6+rvrTZcRarOys@FLTD z`vN$`-#<5GTLQae(2=LEyd;68RnLF|mXC6SynhQr-A+`Dbf%nX#HHAx-4T%sg8^1% zF|}f-=1>rnZ*RZ{{%MKU%Mrtw_q8Q#eyZ1yrR>ze){nFIH_20f?HoVSo|Lzdurb{t zU(y*xUus*0#X7*9IxL@qPlTlLBBqU4{3%6$)iEFV;bC7vqpb=Np)Lz(0b9(V2+TbI)<&`!pikyq^kSwl)i; zjeS|Sbz*n$y;alpLx~R@DipEM$!CDcqscWHQU*i*C{%mNws#mO?OO%OARb^QV@fh? z8tz$L_udr7t|ck6$Xkc`$9Xfu<&(dB?b$aIH!hwT)+kJLHjSO%P@Wyk$yp}=q-Xx% zH$WSd3OR#UTm948XJylRr3s9ktjNG?k^HZn66<91od3oU!JVXJIz97tMak2h;Pfpg zjqT@8uy(!9-h=E7sg&KC%lk5{Qh!&9A(`m??r{d5Q$SO*g?}qoVRuQ#b<8l4Hr3VD zqNyq_TAy?IbY)JJM3VCWt=HakutY}RGml@8hDwzN{amrt|QQQt8Fsm@{Q_$$H# zSt!^hqk(;`pA??463dkmL+W2x=!NBR;b} zVt=HvJ&4ZHyM|;v=TyTzc&B=aR?Ru|YcGh6KCLq|1FvZV65iWv%Y-}YP%#_3N)mm7 z>M=4hX_ZXCr%>^wi*UAoH3+shHU&Rtj%iqVm^Mi5z^*Ov&&Fo!#7x27vNM&F_5z&K zcdmQC$rR0YUWp&Fr;U9^5xd;n#`BzC{FuUuPg^}rgI+F1WdCI6{o%t_K9x!E1TLz` z6oQn8s`!sskM2FoQht0%fYCUYO?(J)g9R}YOr18T?aKPIPogCy&iS9PFR|UMxt8;- zaf_bp*O2VfX}F!uL5w&l1#!CdW4#$U!Cc!N+DWvWD6wG}4KDTxqkmio=8SUn&<$J* zO(=dZDv)F&1>k9?p^7M^ZxM12$q>YV8O)CsX=Nlb$NOC5tSkI zP&lJ!km8ZV&i@5z-sDnkW4T)H02(j4=ohPt-v)470zX~be9U99DkcKSO_E_p|FPZ6;qSwAd(Hr%dI5#9wHlr@8 zs7X}H;A5-y0f>N(3LGfnJT zjIC7yV@4;{a%s*cv93;~-4az=pX(H&XO9;Tchb(3&k2Pag+iM<#S~(nVs{A+R{<}q znip`VZfkf%zOavxKbLCY>H2>$z4uxGcqlLqC0Q2 z@ORg2C(6UNi5p$*5=ms`VpXE&;LL`T1s-PR`og>aX_{%eq*ZyZjZP?NDKN1o~^gN z&cEBa#uyQZY(zH#!4aNO^?|+=^W-#OR%ompa#zYEzbk40XGRLptZey6*`eyG*ejmHCqsw6yHLLmkQgBHL^M+?@)FCb+Td5U` zg*yeBF3$f%GWg{S?tJmca<#j0)?b%2U(vOWR>i8T__~Ea>H_YURgE7z`SUZez0000 z*N|V-YL_jZxzaldouvXN$3oWqFwDyDx}I+I}Y*l^D28dCK@?H53p)0#=(3!WsAoq;&3 z^4NCcSRnB z+FV0nK``lf8$p&8Img{!*^oZ0Wg+^sfJwN^WZ7yB^S@mbU zM>Q>9n9-4?Lrcxr(~yA_zc3lyWvJEbQ+zg|o$J4(N!!9sYPW;$B z#-cuVdTMtDwA&xsRoiQN!f5<vA}a;zvlSu3L(Cy{LD9z#B4jha6Px8UQQY;AJ`KH$}cV6r%>l#;K3xfU&r@YeZw{ zfr^&kpwjGeDxvd{fs)ADM#I**kFaLP<$V?(uqETNY;ig@@)5c#{>Ki=`gu!K4LmNz zd_k=q__|%bZe|PcCi7G88O~{AbVz5ji+~W}JHlB0J%D3ZM+6q|=qxc-ro&i%apyNj z)-zA+8-^J1Vz;@hkpU`E2*ax27+teiUkmUP<#j(xor+o%rE zOZ4^uvBhWgdmndTMwvH*QsNn(gXf;t9Px9|uH{0@Z@VKrQ0mL)xQ@*4!iSlcFLs5F z1bcjnEpLo~Rc1K%J;Uq1D%Ky*wZ9$MuWQisSN=CYgzW`~?>-~X=W@&33L;sR%E6;F zUDlH1wEW^sq}10oJ*a>8GMrx@XTRl?ff&6v-d6mnKcC^dG6@uC^W(X6=ZeT)V`a7V zfjubiKnD&G%q;pp~6C?2-Z(*t<;uPtG7Ir80KfCPU3 zUu@se$lv>~^VzxIvDQk!X4(5E0>Y~lrSB+i1>%94|MPXZ-=B=CdaHflwyIqR|MI+Z zz3<<63~U!j~qFz5kJ#a+zN>6km*YSK|p?q5$~Y~<9OC0J-@Uo zirX^PJEb{Un&yXpG5NRiP>YQ|kKb+$*YpH>=nnP&m|(GM4C4R{;?3Xyu+{)vNzNqz z78n8f5ub&HK!D_{uCg*RmjeLRz>&q)jB9}nQwxBI(&uM&(#m=f@Wpq8$Z!F$Vp$3Q zcYMi9vG0v>;T$WJv;vw!T!-Bp=$U0C+I_1#e5b1ySZn;#5w6la@(Ovpp~3p_rPim6 z)$Hx@WSDo+y#vv*aF#|uwW~pa3+3}$O?5$o82hRkhzk(NWH}DeW4vDx!NU>tjBl zh{1F0N^|9*c!TpOiRLIg_Q-_U{Nn3d^5w6pRlW#zz6CE|KoqO=F2ec}XCQ&o!T4A;?602|MpIwNR*6J^hK@hVOZl@m9R!2!hmpCdv`CRoT;Y zXjr0nXZ#2fv~nHvaT8#XY8jv8H@BbGc&)haL18j}r1w#{p&Ni0!%i6ta7l@~ECJ-# zJ^Sx8uJdz{JYZ@;@v(b~C$ zLSO|W+lLg6fRQ949@x%1GgxE^34c6|1^U}`$9Lq9KkR0C1ym-dGa#!f#a7Q+c64DO zlxnq&Tr50JJ6B1Z;IV>=*uf%=dUK`%7Mo8~irP*)=us9yQxQv)=Pilkwi_GM&$Z@g z^McCGy{_sJd8M3?T3?++>o^Ir(%EmKX{%wNMptZtCQeLwph!H?Rxo))=^??vNE{yr zklae4X>`MM7r+rCSzeR{ZI#cNNakxdy&>CM>e&NI?ql+C{LYdDN5(`hHsa`-SRpS- z<^5&2*B6#EYA7{*&cx}O>pgE;H}B5$YR3?FKu{v!C%!wE*`|S=2MFxXt^mLrd$eF# zu1=8koKmM=A&Vp*>{4Mx7f$J*w}{HNP)j|fodL@&bvGpvGz0+;JK^M~7Fwffj9U+g zUF2S0P=!qmpXtkT2k*T(#I3r50KLq9Klq*M)I9>S{{ja`h2oJy?tA54?Vf~+;yX@O zN9E#lfk3|zU?NKAQZSbc827DyIFl%Bpx?EuSJ4Kj*BwF-z0{|J5{8M2W2pd+p0IxH z=8!v}kXz*K((VgrmbhoYI}5@?si-pL{z{vCdcpHzblhh}zK>?nT11Lt+ZpAj?M1z# zRCQ&*Ur_R%gjQ5155ue9FqDn)e z8qbOV#?m820)%TCC5@xpTM!pTc}W;}u7RmOP>V05e%3Cht6XG5Z^tm2Iz$^2ENPP& z6lxnC+eMP;T`AaLdQ%^-<<4&z4YTlVb9!X)u1?`^89H)1uofZr#a6Bo_#GaJ-Rj#c z`R-26Qx)_~ElYGO8hp`wyT~D-BbIcxW0Hsd?YKyFmql0IHE>+>b(=m%KUoaN!EI_{*AkYF%Q1Z-RH zZ7aFBT{(p{I(6aV5mw20vIc5~=e<3u=bKphA*J>_{_dn(VaFt-!=UbZ4;-{nHt{$khx)~VRegI zHGc@qq9GW1q4{;7jWo#9ZgD5oSe}+<-|GvZGp;vmzR6{y$TX}Wtv8l4VDnf(Iq&Je z((X?K+HH@o)^F^S=`LylmlD4JA&i?0dz>YzYa&9)>w8zeQ{zDE6 zu_KK4!#v9BdnrMpPRjrvzMjzHFx>hhH;C5HyIsrbB#I||e+9dfL~H}rRaj^83S)Ct z%W-e$xN_CM{*z>;}LU7?7@Rv`{#5M^?(!a#^J;cY+;o*E@EW zNp=Rr`D8+tHn}D(S=RoP0WBb;{FP%6{ixcNDU=Z%w|qYO?{nO-|*N2?2HyFPA5D) zt#MsOX*V{kNt3|gzpWNCwl+R?&mW;9LY09t@`GUZR>jYdLfkBn=UL{cMW&C(u@_e z(?^Y6z&jvzx+MH~p@~;VjSxspYxSa1v@Xt`6^!wpYM5+Oa*E4#uURms-M5mU@b?N9 z8_1+#7LkPQE2f=$1VyB2U-HDGiKHh(HobLr)8}etpi07WtW*4?chXjO4e40iZjV8Q zcw0fxQmafXZ|K{g<6SG3HRPufBF?ul)3eZRgwt+`RxG$BGO&@fn!Ju#SDG9&xB$;uoIa||G|Gk2$T0x#p8Rp9t(@6h^`~;)7ecoMlcED~ zv~`J|eO6{KBso;0vAa`fsLnD9tCF z9U)_K$GF?4gmH5mos=XPTU5`WBC%07_^hnbDVClm(g8JpSqokK0)ek`x9jmcn%a&7 zy%wP=>K;n#ATRVA)T+d6uQHJuYZctE#V4Sb_Xeqct$zj2j|nMi;tkA{rY8i{(|j~k z1$ZXvFEd7KP$;yGuV4A@3NS(%i(J=mO)aoS^TpN_-t@AHLOPKA;M_aBG4s^kGUq0- z^&@w{;s_kN@^i3*O;F>0*_Rjf3W}^QezTE|v?m!AiCAF7aai}ON?LNM#UblYw#h47 z)f^69)>U#WjmGeZ2R;_)TtHF$ScJz|ePO~U!w}%z$@T$o1o<>?Y#HF})Ox&KRY)s? zdtGxh0&*Z4brzKY{y6`(VTR3h<*tE&XoC&m)JLhGwaLN5xx0=G8~WfJ+SR#pJfiSs zuAQZx5h#RSq5ml^jNJ)Z3&=4lY^;9)H1NDTE4no=tY886K81TPG;$RC{b*Y|_mNPy z9<7$t2y1@U7+2I*l&?&lja}#*8e=YuEt|yh=gklnM##*nF~)+~)gHx-5P4GIuV6|A zjP^sDfLV!)mk%>lj~I)_ZfIelbTMMS`$W*h2>2YOBy~?7qnYNj)BWirQTx^Q+9$ua z)7CJ%*l=g(!8181Q@9sA)~AEyanijcNW_1f5ir}`IU8!HuOFKNrOX9cN!g|-o+h+I z+N~148uSC@H-6!A24bOBW${HpAOn)J>WM^7o&{(8Uj=}ShcWl?EvpOePyy1Nl|7nc z*H>2T&LYfpDAgyuL{gV-1yGb2D5vxFsn=ax7+?6nqga8Si z2A5B#q?!8Ol18qwCdMLO{}DcmK5WoUeZGt-Ocf_1`f{+I6NkD)mc~Yowd~@{wB8&*f9%;C7XpNmh2SDXA@h?@GXQP9+-f6Z5D)n26)k@S&qUbADon4p>$m;D zWkBGJYlzngGoN{_Lz%{|HSMp3445+Op%)znaHtY$XaQ+bBPDc*ih$J6Lyrn1bc6tb z1d@BgjNr`uzVF`kUw5s4){=$c*=%XGcHzVuU!U0OOVz|tH~U0N$%mi&zy4b^mRocV^QJ{NFX9ISA^Uybr1+Y#Ny zE0pj>#Os8}uh1%`q>Eyf6+2}`6JQK<^dNKeOB69r(&_cHEJeOHBYFn5Gf!F^zK4{h!J@97^qcvR zp>u#lj>B+=>c73wByEX6Ie2ejcUt60c&Q*kjpfjXfP~^y!1~8ZNU?WqdrlXUBT?{1 z>D%_H|4lC}o60`XJt2EbUZkG8_8VEwZ`q;6x!!MStip}zl}OkwVxArDn~Z>1vQalv zX^EJiEgd>=bc5>m7pby$P0)Al%Z6;8%hsr!EH-^YBi)#}!1SOz`2`ZCVhdC2 z{`Nw@{g3FCTBD2Z?F8YTQ@rY30gG{g7Q1c_w{B=0K&zGMjlA)vmdu8QI|D$zw~Mye zUd4(r&$cD8o2PwmMh1JGd+<9HS>l)+Wut%pmNn|7pDvYjll*7!rdHzzV5Q|hHmLnC zD7+(uJ?XM`0AG0@O#>>XssIT&;%{8Uo<)5ha+73t`(#1{Ai#V&AA5Qfx2H)j1ASL9 zR|50~2FoITGN}^~{aT^a7-Vvwi^KFPpE5vYK0xsPIt(CE^M`RgGo%x%<@UNnzW|5- zK|dT|Pur|8I(O4cY(S}vKl-oRy;DDb5Hm8pum3B(xJz=bDnbQdUX{Dep4q2Ionxp^ z0B(%%N^vSBoVxe(-_W(poBvTD_$`ZzrQ;9m53o1DvmVsKhp?DB{RjZ3qn;=NgrI}& zc-I34kNrrhep~S`WY?ie}RM z?&*bt&s)ay4N?IJ^ZcGJKr>4sh|#tS&H_aC!{XJ5SfwM7wkU!U7|+hd0?#+OO2^Xz zHNK0kfiqdg^g3sC>A&dWX}9QqTi!I(RVr#@4qaG5#NPUWnS6(BE?xt|)ZuRz8htq- zZmNIX!SO|x63YyldDoN32YIs3PH=f9SQqH=tUMr!&Ws)cTn!GHVGLW$kpFbZ{l**R z6Lfq-j^8eF|2&{QT;RLJ7hU6t*1&W*real?ub2DOvh!BS^#XPTP+STRKDb|oWm^C- zJlfN#EKgF0dCYt2_WU{kLL-R5g3jBWML&x&ekvmb2u@RhKLD_-6`}ib5*wHmkcEim zjyQ_YYgzB;RK9;)6ks(WH(yh2M}uLy-*;UsU%(?~nh-ABuYA7Doh=d6Bq_#p{K*n1 z$ctK7Z7^b#gSXN_hVa9R-Se&9%8INmD&OiOYI zq~^z#4ksD7K>dgS3sT3678&WFmk!8&h6=_#y1L^53lq9vLn>5ZUtYG*g_t0x?Zm|a zqB&q!vYE7~>lmT=YTyy~FnE@zo}%%i+%D9jrzJ-2H{EqLd^=k^^nZf;ToVY~sSq65 zsD(sImuPnMzhZI^PhZ~W{_YEu3xMY;f5Atgj6xzB&U(nKp;|%QxW~#axm;KM#wjxm zx;|+V5RJ}`0ptL5)8-GQt>`Dbif~H)q9ove@Us{r$OQ-jE_}Tgt!hYG7P3B}_C~O? z{1~^FZ%aEL%RVI-5H4-uzv^*|mE@IqIE|ksXwVtfe3}nB!&9uzFK37YAdKpVY@LTo zyY7cLdi|6}sHnwwt0n#dBTW$Pu&t_!5;_V8sN-7YdtRL#am`5n9te_7L1(q_uNwIT zfIs26CB{|O;KdJsuqYv?Eh{@N3QJcRmN?}eGQB(mmpMDS@+|SEjG#oua_^x9$+Oni zm92`F(E`WMw~wSxR>>(p4<37v z)fInSjG*DtdZv&kNd3ZJ4CqW6W_+P51azMr(6JasCYQ^#Y*ng6 zLGwZ_J#3kjCzl5bdjSR0b$8B=i*#j^iL;PGZqU4?2^O)_XZ}14Dp~6=Aa}_S=TAy|oKf1+T0~YgHzrR{Z0z|} zG>nWTl(NDB1tWkPBLI;ZosI->{qa~AX@j!NrXf=^Kqpz2dAlaNE+2fa6Y5x`BUR~F zm`@iwwj6pSSbAX(coUmgSFrHjSGe>NGJLbdgw)aL<1nkUvx=a}q5T2TPyI9;&~q!s z?HpACBpYpx1q#r#yxlfT5DpC1 zlmKSEP%mVANU6vbqzsK2ln+~wAyfTOZT9cl_IKJ7Ftq#<{#!p7ztG4_!17&QqzDh%>9pt{tjroY z2;30?kA+Ijsf|1-fXA6(ZxAY)nvzofB=`qiyw|uLBB0;F3S6Fk(&hu3C2-6^S~emv z2JBbSwge%7Yzb`N z8t`>bdUo4No4U2mZnl{bxwGBo2D3cOF5aGSoYul0ktS?V=cjVDrjT-WXXQ~^hy6R^ zz7(gC9*#=aO2{~YE-+LB7C!Tgi{TFrW}@fvck-(&_}pPv>$EvIG zvU9V=d+ue!UlWoBw2GH=fMrDukZ!B-NgD4H3IDgno_5Fi55 zx1-KjcQhozed3HaRWRwG+8N!0tFnw4ewfvDw4azmbn6RQ#YiWd;Mob_tewuA__n-A z$k zkq(UbY-U>=eza!fs)abj}-T><0KJ|M_Zt)yyrR6vy@Q6)kwR6UO>`X z2Z%PD z*sF$y1o+L26k566NqU<7Ac^zxx2DHF24z#u07Nyf2e+_DEIc&?Fn^sr`OHzD?E-fMgV4kKUFaiUO3kZd1GMAwML&n4!VSi&aWSqu*!Kt1t9P7W zV1~Q`M$);^5<#PwuJQCLkY>1LBegJY60a@kRuZV0!T1NOl z8)~dhZnoLD`!6LCn?b+RRG>e-HtUj707w9XwY_$h`iq?OVmj8YVL1~yB?iQ{p=pP4 zzI0heFa2iCd$TnqX>!axE^8+f+^Yf)T`FLzg z1PhDFION^)BR;Eeu8Fk-(IDEm5^;l8+%pDk=~=8;!60XHX+HchR8O1lR!_if^?q6U zrUEZ%$dyy#3cT;TwGexh@ixzihT7VORSUE$t_>#nE0~Xc{n+ZsNJ|I^S1R`wRK012%(N* zE?714c#&1dt20T=?Gqo6IVXh2(XRPnj0>U)>TST(C;inG-xymC_E@2_ZJtPNd`{5o ze(_F#i@!=m4zXiFOX@-|=EHqjyw)wt8mqmXJwq9bfx3K*?XY_be#^`2-4B-kR{iM(ymLLvCRXzUQsPJ$UaEj+FO=ElrpQm#^>f zOXE)H(0WnFKw@EbqrxqzA+%xg1N1gngRci_FJe0{gzL!{;e_$E@T|V)CF~wCi|aXI zv+dBvl=3}(-Z=uQi}S_UH>-K2RWfJL;x}wsu8*(M%rz8YIhvv9YB{rrJ^2s)6B{Tt z;%8W^kO9N8cE&ASz)k27s6Ae1_u|2W=eX*RYd;`YzIS2^Xp{Z+W5o1?KPBe!iUp0; zoaJ&;A$Gmf5#0`+b|dP9)Pg1u4hUBGd){i(#f{j@vdh$BdsO6C#htJh-FsguGB9Jn zP9gCTVd5BrbL~DC?ea^@JQUjNS_daZC9ISxyUqd4`YQIaA2BZEea@Gr`OB2|-R^qa ztu|xw7?)buw5Q>%#cUxg#f{Sxn_OpP@yRFO#XnkAY_Enm4TAB<*&fPA4VXY+_6O@*ZX6*~ub0GgGLmtKJ=KvJn?b zpDdpFxb>zm73)m^97NT5rTp2B!M?E_%TAoH^(GrvRyIwBa5h` z@*3B#-@9&Z8wfj1U68C*55+#OtDwC+Y5012XFqCjOk6=Hu8u`AMq+qZwZ{*~BD(m6 zEZ(%!>jB!x^w`r0C?xn_A?z(L37Q!A_AzS)%34j)Lb`(Z=f|Ym$*sjTF21d54UIO7 zt2_=}!4^A~t^Uhfx>%{a#rHy3=VHyx>C}8!t1hkc(^>d!*&)oXv`rXi%F2l(8%Th< zt=Y3DtzCs8@X5y_gdU{-O{+W{A~cE(hOXox@&@wI8oZ~~upTb8q`Z#zVUk#C-fS9l z6Aqm>l3ooTEeOmjo0U@U2kN-gZ3|I+gK9-d8>E4<;6LX`%6|fZZ6Ys?8$IhJh+2OY zGOD8@Q_e(b+EPC<;<;A*ZVV`RJ5YDpFxM#()x!$Z0kxfPN$vz%g6ZcZ3(Th?=dNH? z^B#*v)U01I#3`^eCQw$@gc@x|!vif-X>GE8)VRqiCXwQ-W5wA(o;cgIVc|xAu~c{l zU_FFX%d2j603~! zo}1!noE`C+YMPT{JSWh+I(Yfyx`mJe>H{cq012ks;6R)JsW)5`80Ly6mYOBkg;d*o zi3x-)gy25;OvcG6$m`&fO0SPPjhabFFR51Nl3C8^m^I!M1G(C}XX9JDi(D0`2>ALm zOB{O&ePj-S9BQ|Mt8F?8CMC@rmxC=Z`7WiJb!c8%-M9CGCN3&cATqhMQr16O0@w7U$jYLm}+BWbh@8-4v0p)&PMAMfl z!Cl~u+gYN@=+X*zd={7krL1C<%c(70v~?`e(m~53+b%HW1Y>%q~3qs1qfq8({jmjkVdl-x}d=Lb}>JYq*`62UX?OHFc{JVAD% za-P`0(!Rz7~1LJBQsL*&A==OZPJ_-5jZBeZJz=Wf{ zpu+pD1w?qZu|XXgb!~LJs~pSH;lENKXoldKm0pdHdeQz%0P zVMNl+us1paY&jQPwaa;evBO9Ry?Rj-WU_Q!Nk8XncWy{<|6YlZOHzq<0Qz8SXOI5? zN=zjmg-tZXryfT&IX))|1WO{SLH@O9a~R_|`I#-optiMWt{+7E#$|!|#$A7Xk*#8* zZGbp`AwOp!dw}>^RY(kN5gX+w&*}M9e`V4wt@_!qcB%e#8wYAF6`WdR=3M!e(WG?A zXbTJ3+*_CI>$GI_%>8H;#a~@4a=nWYCHWoC0te~AjZes>pA>=^L9VK*TqmC zUQfgEngKOuE=0Pf#qKixxfN+;bo(R|ca_^}qSX?hJh31}x%OrWp_>sEo@QmE#yIY( za+s|jxmgG<3Q>jyyG==el%bm+fazzVD~&vwMyvYz?fi`$*;$DuKjgaE?&SATYbn(~ zNVi(`OAL1Npe0&PD4wZ!TQ-7wcPvQ)6eu0l{&k2*4yb z^HxuYDC-e;qCnk*wgB0ob8J=~jssf6<%wO_&I##N2lFFkYl;3;VzsrA!`KRK0mug| zdb%+QgH>&?aWThdi}&Xcv|W|X`ttZjX=UC0gnw~gj}<(4N=(XZR3yQaSZZ@Dg<=Kr5cTL`TDOSZdtXU1G3b&Cz|ss?LFUO+~v4Yez#5Hyi0LoY?FsV-jIr^ZZM z2)5#&MKXC}chp@+Pl88}*C2P{LxIsq?{2+?RPC%6E`dMH`Vj$`s4IjO1cF6sZU$>| zz%W(A^~qTEwwpm32vt*YWhZTH(Wl38EsErB{;^(O=F)NiP+nF~ye=U423V zPpgI{2m$l;aMy>OQ)`ZFan6ADpZ`WDpGB>Zm${gXo{}Wa4q^p6+My!>*2YimOh%Tu zAE3fHIzy*|Q_Z)h3!nZC4}KrK488CFA?4;0B z;%oBkd$R+4eMLt=8+}Cj%LmQb@Mm0|qk4PpOMr9F(yg$W?jSPy>u=w)H^2>QI2u5h z-1?I>XC|h7a~50ci%k-6g30M7K}78*%m)W%PJ_W;Z(gBUE zu8Zr#&bbI&ydu96A)A*&%UCU1hBxWFy!7fqz`aHC;!V1-&~axuXG}Ryl*E84m^3nXMmk#VwQPr@nK*{(2gmXS`%jpYNklC1Fud;vz)LjZaXmTwiv74 zBu1jU-wa^7l$6rp>w77kQ6ln>(+)A9xtl5dgTUogvp+6&8n&TrC~OX@1Jrb=J{6xk zECzAduMj4&?^i=^C||b;EUI1DFBjU=rN<*=GF?&i^>91(w{4CTEqqqK?O<}2^p;Rd z>u`yge!58#QxU|fqhVq2+;YZ(1Mo;W;t%+s7hcx|;6d1XdLd0#P#&D;l0r8K(v8-f zY*4-y{FhH2-3P7J{kVoERPouNfy)S6r2_z&S>X`RSP<~3Nx+r@GSrEgN=>B_lUm%y zf0f|2OOOH>iLWBlD{AEca0PCG*pRWB4o?K2%1FQxUJV0S6}fQIty@?Id1vjMt!%n; zuz!2i7l_JQDFHNceVxO8=v7C7#9MVwL8UeZg3J9S99eG8nR3 zGs6-r?DpgYBAOxAT@HX-(Y7_G;3;coaU11*>!L^%QM!JRE?JKMSyZZyZjwXyms%W8 z7V#^)#mBW(S0#N2;B1+yJAfnT@&4rFw*TiG?sD32=@y{Ums-S$PN!OQf&w65>b#>x zCpwUlC-{aM@T^>YQ|3*v;aHs)XFOKAHsqhSehVwO8u9_m!tmB$bUr~8*AF6?Z~d9( z*Y#qw<0p7~ot{y{=e*tZn3jhW6F_BIRtW{Hj*#wdi$FCgoGvK%OJr~l@Dg3_Itah# zjV;k(qKxtq*{x^0PlYX+ELD16+az`O{GK1aX=XJ{JeOL1LnN8*yHkVO0cw7z5}^*d z_I$K;7;gfYGtrHtR-~N-NQW`HWt#4JJANlIZoTiZU7lC96qBsbUzEt8-Syn3R#>3o zg2yK1fN#&74pTQHv!}v_9ezWihP`>Ft7%9kVoY9)HYO|EqJ*%yQ zM*;OTdIu$j7LT+Z?kMq=FqWldixDf*ZnA(Sabg0h_imDe%q9!bTcdtNi!*`agiFS(lPw(bA##H{` zJH8b1BQ!VkH#C=;#EIsk;Tp&@Zy51JE}82TUL)+c#R*ZXyHnebu2=pausUhN;04(# zZG1mS92x2J?(r%nms=rO72{_IU{0VRLR0FoA10PY%=r*e102+a8A(>{x1q6ncHNRL z9#4fqi^{#bdiB#N4>+%z0L*q#z zJKfVQhc2z=xwNvjORA7k`6>|{-D8}?)8;7yXX($sRL$Q{{+IYux(e4fUwKPn zR0AmO)G7k{!R73Nf&#;Xxqk#8e+VZ0qjm=VQRryT_WxV$?4Oj8f0+IKzc1ANPha+e z?k<&TZrE687-V*S$;adT;&86vl)|EUPdHumY#28AU)h|0?+J#j(-EA$xA&swQv^f2zkTG&#xuB!5~V8DrtCwk0y`^-dLC3q))Qu!q9ZkCIf+^l0{u30{ZVg{`sG zZXcbps^F;x+Lglq0hZ@JKIQS&N3>mvU}>PRW5gyiKsxscB(^<;+Ntk*IiO^iZSilu znzFG17OLPPu^_h}O#n;iuC{oRkt?=PoOw~m+{oP}5RFfG>eEIyYz1t%eg}Aw6aHPe z7wNtGVgveeg*7^yU2hCk0j?WHq@-dB(W2bh4AB14u)BeZ&+Pr8db-3q;>hD-yM@E) zeBAWf!!Sxx!p`(KWAWJ6ri1o+H&wI;lsBmXfK>pUik62Dm5oz!&d3NNj{*N@~D&#b49QEA)!cA^=)@Ej{RvVEUhegU;Ol<(*I-(4#QxTGjNG zCe?Hq<@A*mr`=lh(zG{xjK>@(^ak^(Dvir?#rJawycuVjb@tWgL!th#htNzHr0|R> z^S3Fj{!KdEh$&-|+vvDY-D|&D7i@yq(v(1l83%-AaH3E;+iSsN(ouQ9uT#;$W5IH- zHvT^)e5bY!GsnNKrR3wa8#ishg>^y3*Oi;)`XGP*eEcNl9n-W9lQVF2ns-hDf z-f_coRa9ou?2P5dgd0W;1AspFzMI*BJ5_${T2xPBp`Te%)Aa18{A$S>+s4ad{+1cP z3u8+Mye&WhE7ro!RnuIvDXPnPb#=zac+W_5p17V;B; zEfK3P85kIBF8Rdlo;VkeKp=e%FmMKrcV8Hz?LRYsj07S5du5M>gZrc>PRgA3kx}gKB6xVAD@<(c*FXr%_s(PEH_r-WZJrY2V^Nf{AVz0qV1Zb%KEW7}SzbX9cQVXuAX6Wu zchOn^Sfo0+qeCSjV<$D5vpdcXF~!Ox`a$kHTmt;L2AI#Ba7;mLzf3(|VJg67w!o?u zCTvUyU17hcu~)mXbd;osjTsUa8Uz+dR=g$^M;Usff!5IV+)8^Lv|i)iK)C>HZS8R~ zT?Pt^@d7=d%{)s;m(Tz3;VSXa0x@&4Qu#(j5$-H~lx!{{lpcj^bs?D-v1rdFm`{b- zj$Z-K{00vBh;+W`+J~f04S!+iBJ$OI-ivu|kD%;Hx!m~tHZVO%gGi!`M;LmYqY*cH z-#&Tq$E_oPkUL)^oqpTEdpChUet#|J0kl%s;QUHG@J|CKb2-SFwA=a=Lc4*wJK|7mp669tOt z#V6m9wieB&-5uwsdn%krYuvmGB-GBKXIO+gidJK~Y#111&LW#Y{UK*qx`F@v{Q_FR z2^ZmJ}q8{14{>dai zwkng4fk8@9PmjqA$c#9Qfd00r1TdNn`3zDC)EZGkE6Z7yK25n)%`4y~Yd#?Tq_nhUe!)zHg5K+^|eWGZ%Z` zyCZ?+hGSK$Iq-;xH8BtfCpQQ_a^%Qq#;Cd%8gL7<0V(_#w9a$$_gW7-xWYY>S6m0? z;=i^@&&;l)YQSMlt5CFWJ??W=UV;I1WrjfRH$@8x4R0N7LZ-1GwO?-sRx==Kv4!0d z4Au4FqO5lmtg{in$?tI^)KSs=_j^2ieg(S- zk)hw0kq)+8Vak%y#+PdDTwaGfjaFYq`CBEFLF#-{+freTx>Sr^N>R8WF-t#`HAtay z=1F(=8!n>XicoIPlAgt@3JR(o`;ah_jGeU1h;v7M^2t>Tx>ppTW<%T@{GHHisVq+U!?(>M=KaqNFU>T~IGGQ0k%s1cyAdWI!5kKxPEuKAlTyJHnp{|-T)hhpy7xCRALxtcE<*?N^>Y2? zntw+tV50fCXFy%PpkG9^j&xP{H5#9v_%lkF zOoo9Uuo-a^9xn7aXDHRZ>%oaIN!e3pBn6Zre&R}`5&J{yBv_SN-8aw3(_3%xL9rvS23tD@EY!*VU-oji9-obZlRWU;~?tB$9T-$$4 zrGHDDMy=}$e0XBpnGu`?M`6R?`k7Z{-~CMt=-K>Y1GK~z(fHz=TX|vw`R#b^9zr^h zmKNX)6EfU-i)U`*Z(cF&`3de@x@AYjTJ1kAX9zdoM__>nc! zH4bVYo+Jc%8Y*W`bOl#mF504j6JeUltWEcjJ!_Jh4868)m0xDB?#Ng751uPcvUPTR z@VUJez)m|x2JZLrDqX%@S)F{N$>ygROS)ZhS%HQk}BU;Bi8SdEv{X++*Y2SHzW14|ml4W+RZHXd+Xu-iNW1 zS={E!<78V*||t6^2b>>#N+ zl}biY$G@o=ZW9{65cD93F_2@0GQ?Z-VlLZjXs z*4tj^O5Nrdi&Pju;icPf%_v;@*?J6$)RkcTIkn(i$=T-zkEsmRVnCYVY%<(6>ucL) z)6T7JLj6y!Y^KPKZ_Cmqg#$3M54`y~*5QNqgEwoLnvmP}uQjdi=7#p<3idC&c7@o# z<#18Fl68)-L0n4+R~VQdyN9q0Nv`Hzna&M_X(Wx6P>2}a8zPgA8IH(Y0$4YiSspRZ zb7@@5F+(w8xRgk4FkC0Di89{4T^$s2I>1VzI{hbj)I7oJ{0i%fsh4)FjMl?basCbL zgo$yBz%69DLp!^y5VxvL*U} zFu=Z*wMi`x$X^^)h`2c*c9H|<@p3JZx%ky_+%u8MRRJdEq?8j2b=D7yZ+TTnh*RLU ztB*q~Rv*4uldWvYTCu&1OFtgOJE&^KyKQdq@-Q2$Q3p15Ub#b=-kq79&i7fB9TouQ z%&$5ZCA>3ltw`K_^u&?4*jln-pGn|$=KPr`Q2|J^7Rk6g7}nq6Xb?>#QFvh(sp34%!{R>tqnDzo$%O({3@b%Kg&E?cdX zdrf88ohNZuT1`5m6yn_ZA}WoefQ^{<)KdG(wW{6oBO-Wk)V$vy+)IidzmIl?cO3N1 zp_O5qdo1Fja{8%^NuS2tYpyFPIjn0jnvvHLRcp7SB7K!*Mb7rl%-wjP6js;FR?S_&dohKr`x1$)hsT%Sw0!U`grqCm=#P{Ysf6l!bk6%mryl0D6K41 zb+3(2MntPnnj}=NVVZT#3VE=1Lu9MlTYjg+xbDK#Q(gIiC=*RlX8d%=&@8A$hE*>+}cV5gfy3_%%Pf6UsQ}iBNl*Z zRa~mMOyEtQ&s#J(eKOC!p0aN7b>v$47KP+Lxi{>|4Y}HDT>ZeW8S=%Xr`>BA7>sYO zmSpsA`}r0Gs!m%;j1 z@dSfff!klq5^Ng_p??Zgt_*o?I()b>UlivdL2>UN@%;O5K9E6tnsmch*MLT}v2@C5IQ z8Hb-d;Ql5MzY*pY1x<7rB9r)M#2{6nkNQi^#w?5|J#oGwjcRTj`9?Z*vS}Be=O_#$ zq>vJsw^c4<*xr}1ownP8m)2guucWr>qq{@7$49cRX^Nv~tA$?KP2FoCbzwc^R-4II z>NOWEo%nUJpK6_}5=-O_1(pdjjX*X5PjTd`sXX>kG$Y9H@{>(>sr#24HsgnX7E^!! z5r_=XWSMMHz?|6YZ3hmF``NB^VPRPKu)tMwW1V{Za@l&P;b(7)fII=HU$HKWq*>+w zrZHF7{ny)m4tvIV{(wCY7ubf|jM3!7yqA#p`!)ABX2|&|m*m>p|Ru3VqN;?#MCMDWBYrvS$jaw3k=g z3CpX*2JNq;N8K|{-Rv3ZaX1j_?(9hlA)!&1E!@QC%E8$FED0>-&*Ram1+%c92o95x z$065pt^7~}V5dnAyxsWNM4P6$rnAI{WV_DAdQ%ncZ47&z&heO=+9#QYgH(VCKt!4U zv71wxB$wdh2e~<`^_^z0jxBH-pYpJWyx7MTV{VK7HkhtH-do7-dP#3$TOAuA8TFtA znx&$sk$B;%kVb}KP#_mb9S3%53Ea9@J1C}7!I_|&P_lF92t|guAMX-$#{6rYm0*+%5pq~;Lowr zxy>H=%4T^7&kX8wRX_iteXYa(t@E_(jH`u4bG#6xRC)8o zuq#G)2k=tV48W5V1C=#K*;C4r?*qqulmju1v)iMD#^K+3fh3L>mo>)VUT zsyfRBJT5eqb=*8w$0+1;uZXEgqI<8&{>7_V)DglMR0Iao2fv<71MZh~B2`*^b$e;5 z|Knuds^2oHMcB|@Utbv~Ue_e`#O<%I8ad7*}X3W0A$CN9u2D)B|4oc1#HGW#0rBa2u53b#jS;RU{lM(Yr zCp*Gn?+x(rU4XH1~%6cw~&0H_i#>rk)Cf~M7;-4v< zQwo#KV0?b@;cc;LX$z*NhEG101=sE&JWrB1#v05+E@(=fe0mvtG;1qNXkxfcb&n@q z81mrd+LGi0?D0a@pX(PmjMv{@H5bbVIf98x1qM(@L4zDdV^BzQHlo{1$#V+{ugqkdi6WD3~Y1k8OurQjSs(>&d> zq)QBQ%j*}&uRM@>ukQEIpu`?feWKG{j`E31RgkZ;qgqx^Cba{mK9ib#0?eICCx0%f z<5CQ^d+IK1lUOo7V{#6(dfX%!cRTE++mvI&>ceL?fc)sI^)VluMm!(6`xm5bwpkhq)z|X{6{o}X(7-c6hbni4PBm|O6 ztFGNI(6oVjitH6IH@Q@ws@tqzzf71hjydnj$u6-ds-lc+bIdH#eI>3+oRX@ul=n=hp14z$hO2N*fqM^py@DKrtx&!WOFvui zS;d?OR2#K4QVGHAfh@AahgF|N7RKh0v@XqRMFUyfxeAv5q(6_Znh* zQcGeRl`fw)xGxZtbX&BkQ(YEWJo#Wf^=2J>^$-SdCD0c>Rt58mrq?)(ikRRUA0mQ7 z1q@;9=6$DiYWjR{s@He2t90Mcc@`_=KiXpQUQFL!wYZw6=(I{lZWAN_h#64Q`bC{X zSRlNLUjmmkD84#s%p!HC-)4CilV3UNS$86owV)$LYFD4K?2_MKxL4q(hY0>Pv+cT% z%COm3nM+CC>+qgxnDkN<3Oe5-VOXyt z-SO#_nO0HR%{LHpztB~+Bb}{36}JZX%ugw(ha590pBn!8w8^%a`*pt<(V3z@t&E9Y zMX{JKOGg?_24U}rQJ!zbLqL?s;rl?BBOLs87VD~ABIe0@k=2Fk$3tNgD7?YBh zbwVGJMADt~vDKk%wncGAim+7sR(+9`zy4tWcRz_W?E)~FkT{i$3wc@D%P~Cgr;MS( z)0ap^4BQRdPOr!@K`KOMbf%A{`rzl>6W3yH2*p%~uvy&`-zd1oP zn!!SfYxc!SSSb1&FfAKKlsg^;11nPg{PVG_0JwIxNdZ>2^5doWF8Xt8#0+U-0Q#aJ zF{6mDRk8z~vRK@iu}2u_C-iB;F}PUC*psm;#5 zt3Yfui6j~Xyd^Q|N zWV#;i$uc^o6o@lG0TJQg8#HVK8#c>?CmiO z>h{y@&tBXdB|j?}FXWhecYwr>*3yH+rtx$))cwRe06Pd$7zljGkzHX5Bp|}Q^MK>l z#1;wYGtC_}cj7PXGHCizMTdg2^~Mzt1|1u`m34Pd)VM-EscJp4B0Zh9Ga1ji#^~rA z>QkAxY>IO9NXEY9wr!T)TEGlljgp%lgJK==(zneFno+WQOWg=Rj%i|vY_5xdLjA)P zRVa?bZV}R8^`$o6DBQc2icjwr!#KP(w{rwydNbgW| z@?&uUo~#r#Hvd&N|BP;jnNc`q;IkNHA<$WbreRW0^iM)COG)%LUXqw!?%*#-g8Ikg`+3UKg|x2lokdH z;(P#ZRCWCSp?-DPo7Jm15kkUn1j2%44uXBlO1qL?ZpM1YT1`h_ns(Ad@e}VcnJ~D1MDgq4t+1L!O zVLy6u?4P6e_>b-y`)^eq`H{u3{}$xOT@d%*xx@DV^;DTasmpA&^j6aI@p~J|e%;sh z&v)=6t!_oj7F+LlX-O}a#{11t{qkqJq%9MjyZ*KHF;bA5Y1bn^a3)9OmK zY~LCr>pn;w4jCmY@TrLL$WP!sCX%e zLoD@TwS9QGe)OO&k)cWN-=DxXU%TOIt&Y8bNnO-{Hr7AXIUZysEVb}8A<;%522ow< z?X0L+X#=s?`;@g6r7#*>T61)B8nnG=A-+Qjf+pM4XtoP*^#-TsqB$l@M}s6|#)}$< znHr^n5U}oMR3K|!@sr6eJu``tE6#nFcs!|=`PKWTYXhgL=CEtsW;BH`6^0uTG zpW!?tB=dV?p@(L5D8YGHvpF7Bh4k>KZ|y;Xrt0l8MnplZ6CT)(0`#2C=^)8jwt(_x zXEWK3TneYw@arr1KWiQUm!|gP)iB&?8!pt!GitXn2=Hx+D-B$J4MW%S=MN6a59Qwx9A=m-#gPHa9#wu7M^>zx+}5poULbLeXHEyOJ_2vr(dtg z;R3dk%(%BXX6F0t%R?C>Y9*3$$^Su+kQig-MCvhGuU>$XJlnazuj6+P{fhQ)sh8Q9 zsbd$7>>iJkZHOnK4GM}(2C_Qx?xjlSmezsm9!@Lhzkg7$7!WZ2hB#v&V?1og+c{R6 zW-<51=S}xS{!D^SnzIY%eo&3MlsKo>S5ZfHA}H)r!HHM?RlBnnC^>Coep4d1A>Rab zoK&a_3<2>PgWTgJurFn;3nSyOYM0(+(=O?`rc#ucJ(FO!Aq5@ChFntdCz1%8Qc#_j zJEqyIeF5p{K3=ZCB}13of}`mCQgV`TrKcnG1c}dQ_NZ^K??Wqsi&QknEct`nx$dj~ zz6e$3g4}ez+<_!B4s$PPQEU(rOdo%{etJ@KFrT&X2iKC!^xQ^K!X7@Gjw}$`MrmE$ zp5bCZ@hGu+u`xm$OX0K+j*jILm`38n=bA2)-iFngQ^KOB9wo2mKk>yk)o)a1Q{tUC z9ht1gx6lb=$L=$-4=>?pLxBgpwZEdNrrkK)?axX%rMG z&aE$Cg`rU5$mSz+2am|&Gj=kgKQ-h|32uj#7N#DjR#u7LKe`%A-I{;WIDZ>;*=zoN z+fvo9Tw5Fg@Z6l7f5?QPx_< zeaN@P6kH2J^zmX>`U9r@=9TJRE23#dJ`X9+R$mvKKW0VQc(~_-kfd(1@vbU5{-^7Z zB}%{ei8qVqZN}<>KCAV(c(yMQ^(0(OZ<<*?^MowU{?$4%oU##K=h>uMw;cjZc*`H> zdgrrvm#esAOa=`=Zpjk&P1x(6PUSzz@KPQ|I^UDRjI;gg`rk#_$7$iK^HVv^WFHuL zwq>u(j@=Hj2>#6m2t3#1B$TJhfJq>2=ggiuZZ3`yBpFl5Wr9_upw0_UmXd^1@RI}B z6$Q@T;9)V=`t|FjM9GIYFYdSd_aCl}roaEB2(F9X2Fhm>ecutqw`Q z^p9mi!7}8n**lag$p_MJ`uhy_=Kw3Si`t|hXW@Uw#^+1_TICs@Oa8d&@cySW|GSK8 z|F7SFj4}MbJJoYlt!?j5;~!mfJ!HXUZi71sT!K}B1s4VLQ8;zq9VORsG;{3klx`9ZV}ym?|0rg z@4Wd37$!6K&fNLtd%vG@_0!+6yow8;8Zy+>(@PuWIPEh0Syo$HJ0{==RS}|yKsdFL0m4z^Kax+XDJp6|hX=<_Zqz=u9xMz0nUMsjrdqE4CyPkjRZ#5+)ld{zUmx8j z(!sP_RW z=<|DkB!bGz1Ecqs@l5pR?^OTu8u?Qr|4O5QbqmCOQ}0x~I)46uRHOiqirN5{53ui} z@&-29oR0(YmC?E9iwSR3bcK^Q zI7KN({X(aKT*+1Imy(+i_mKTfpEL`)0m1>bx8B}_>6U1MP;;b<)tk|hsfgtXfJ5|s zV?3RrJS1A^ygeXy&xd2RH)*M{GH$YgA2HUmXM|TlGkCxBQ4hCj{PYav#w1WFm&q)y%&p6b zix$t1uHgNCVPKX8%u5`|OIk@~@BuG*V!2=#NIVjqV983OrnX$8qEX_531mBa>bJLM z+B4ZK6I|}^j|7qlYSq+Ns!_+QUFTMx9QRVFQ)>HSLW%6yi8Ayjr(brR%fH8{bcIc9 z`Hz;@-%$BV?hkkM4hODeQ=l5%hwl?{@JFSUdcwBNmy?|ax{>+x$wPPCms?aEz!Gke zAbONOG>LQtL`z)bMzu*Us7|nl4d>%1tD8&jv~qbsajG$s01dBMMl+?v#h!WDzx1lP znZmi|-+!Pw6*2=0#KY!N=<-D#v{l>Bwdrp^t$VKMQ^9>)I%R5a?bxe8A+N}tIpMR6 zBOC(EG9Ifm;F^5HmE0_C)5WUlkSzej#d_(+h^j4xN2|S^Fc)oaUwnWBH!GZG#-5U@ zp3Zdub!I6ximKVB)YaGNGhlL3_NoZpJ0iEP>%=YFbZM01+1AKuNqU$RU;xrD!KJf# zjCE$heV3Lz6wx>__ea?CNwMjByCIXUeq+Lw<+>9^d^^#by*sv)tA1xg6~Rr>YZtP^ z*KI3bDS>0$n0e7ylUu1{mK-);?~pBp0i3(puC;otOY)x~UU_+q+gI`JP4}A7z-HlR zgi47K;oLQ6CI(F7rdv{f^roWzPQ<8lh$o0BKvHYncC6Ancw^S|WwIODbSP@^7KR@v zG2MP5WevKDMwB8)nhRoy1#$jl@EVgjr_s5TiNmqpKQs&&MiSe@Poyq!PLp&Hy{`J1 z-EqhS?Y8%H8cv-p{FXkMqE|N!Xe8+Yyq7a%F}tOwfmLeHHnxs!bI1E7;2|GTsLC@S zmind>0#cM@D^^h?DGjT*4>o|vNGFgf6C;OMvGwN-cy$#h}Sve|vWoRCXfE}q&i z&)P3j*DYRR7Q`MJ*fC)WcF>AQ{lFrkzNr{;wtY^^@MIg7np^sD?0F$2twsA|!t9=K zrVLM|_Wk8@#)_P-N|j?Ly_DdAK``hyEIYC7Rl|AhjZjS&m$YYII_bBBKw)9t2I#dE z5Qvbcw48crRzT*ruJ?E6;j3xjqy!|}o7~fe-ilI8A*8p7@B`99a}=~3M%>P~uE&|l z$9M+ErvW!gg=s*gb0^EwqE2b6s3#k#LwOz4GDjo1GG#hCHmY+Cx_3#X&?i7E2FrG? zy}(SqtdA*JxJiZtIbOMX)5Jv*-~+Ik+t>|NEEO`ga!oQcEmE+)mW5osc8UA&s{tN| zLID-yIUow*J0Y$4RUmH786uAHR{>~sXDNL4mXv5`qwwI+@)*OG@Hz|zGD=DNLfgBf zn#Zox_Rgi$gdg2bRhi`@=VR8<^hH<8C25bqr+p(Cu$>L|(@lbzVAH;s!Rp1+ z_`+PHxv6bxdF1CNl(>1qo8dm5>ohzC=G)R)`K|-Xpxda*g%S+kn_AE9kC@nL{@U2= z{_5aDAIpvNj9X8V@ViYLOqpK0B9)tp+=B?l&CqD8bmdB8rB&-HPd2vft}@=ym=2$S zCZE)JC&2D^b+RiwWVxK6mc;Md;(guak5bDrkU zYBLE7i!`Y^`Yh(qb4#u`2&EH!RkGH37_Bl2-?)|{Ax9o9&su0LBwQTiflp~Zw(H`y zaEXl{D1Ns-qMu{NB*0lQnYfhNyURE`3-{>;xyCqx5!d*9><*bNw#DqaCfF?&oQcn> zhhhgS@h?3(j43rXD#5wR+cZ%ir>=&|{PA|Q@0Z(c^Q?#&E0h4RA%iQZd zFc*5~^;!~~y}FvGTf6SI&L1G|CW+M39yUweN5DPClw0P%&?ce#N5}x^%mO1PL`P1; zcj+gZ-pcpW_l*fz!@XysUHUWkh1Yi6ocFV}+_biv6`Yb%q9?8}3ZI>)Urti1lRp5n z+{n2~PDyF{uKh~=B4eM9R54fYDGNc>TCIzo$aTrFH+){04`7G>G z^MLI#2(FE16Zxd+>}zqkg>u^{Y$Ib&Vr-a;Sr;UWor)>q>os}oJwHEaKY!*0HJk9= z>aG_`bbeZa_sM!Ddk%X8;Wxu?$WebOBZ5_Jb@2wx6X+0C&+%W62~V5@Y4`Ld z320xvoqjc>orUH8YKj|@U*ioiQM~f7^ z1o*SUcs?56uX|e}t7}@%>pcdsPvK^}s6A^FcTrt9!6n>>MpaCgcsb9;uTKw1Y~Z41 zQMHs$j)D41sq9|8&DMd$ve~b$4$hK((T)a@^w?8Ah!I9mtki&sv8ib!m=vqdFaE-7 zyIxIJe6<+T=w4E_mg~ibUVp!McJlC7h|7&jmz|G)gmFCSbyu0pr97X z9#JVHrMN1$p$|G!-HEz5e#bHkX>lXuP6R9ZVY?h9dTf4}KVie3t$a{<`wKR2)fmZI zT-)ES$wVE%_sN}AWdU-d6svD8PX41-KlNF-)2~V=!WcPfGvZ6mk6-QMIm?U~;=m3r1-WOI>Y?AP?oD-SQbxwJ{OT@5Xv?rgv*O0(5UfrTiA zaWcA{H%bhg6pzElrqN6jxt-#R9DIF_`b+Uyg)-jv4bP8?Oy+8MCdYYYOTbm#+_sZ9pI+U-yOezsn=-EYn>Ph2dmsE z5ayy-ha^>>*}A;-#4g+oMw$?;wKUNBK(;Xm9{AyAn<_F)^wGi z^~PzS%$NSKtG>7RN%30T^EYnXc>}HU+@J~*tq*JJhSqd3+1UQvT#Yc>37>9vE=kcdKUD?R|71LwCY z(aUG;^a94b@DGAo7(q%h0?W4QASRUHDDN#GdlB8Y#?IIeX6#}SBEPBPwai}zwvPyl zib7~-vTJLVgpomMWfj6H*j(ggF*3FmIIbl7F=#$4SXA6%;I)(CRDQktxG|BY)I()n7SG_(PpJ} zaV7u5FRjb(mz;+^UsSPLX}58+ed#`bSyh&c-#Sul*eJFSm ziqcBV_5hs>q2L&bG8xfcY@ko!auPkNWR(j*Rs-7F2!V)0ne1MuH3S9Da{)w(&(D~; z<|+lO1~ebhUk&HSK;30In%dv?sy~Vzj=f>jmRs5jV@#fMAUjVQC(ob<~&jof2<*Hc^jNDRTW=Qp5lZx-NG*#vHkbD0s zl)Am8m8HWkx%{(lWVVxQ*NZ_)3qjt7CGXfpqS-4+BTAQzMf&xmVb<2Ml#rZV%Z<_dg5oMhjeNUa8er5WE^u6PSZxJS)KuD=XtHL6obaL+7F=ll22M~vt)z|r zIn~wQv>gU}x2U8pa(ui>n2j`e3uA*#oDqjjlMn|Gc<^ubCuO#1e?t%_-1mGOu zqsvYVtEtqM*CzcuqWVfYiigDT_lZIPZ2 z0{7ZaRN}QCws{q>5AF;2M7*<*Y!7eySZz!qlP94MVXrSSsv{>(Nb~OZj&6eay7yAR zmTOM$JG>^Kbx*PjeCH!pX9|(S-<8h?AYIjX%ExyigQRZCrWfNq)AJX5ln9;0`PpN) z&s=-OZK0pmhc(s;%hru3vkg}!M!D%}IASiQ8SyEr3egOUzDvMWAFjU47>FGGSZLAM zJ2<gcz|2(RI6K9DL=bjD$%76Y2KGG9b~)Et*Ay6s zr!>61!uDXTvv>v3t5qnEaa5CDjdm!K3-7{844x{M?;OOA3WW>1KGiuspt(=z^YuYm zn)^l}CrJ-?s2^}1C~AH`Lp9{~vHUwC$*3kzZEnCTGLbUtZry$gvUDZw{qNPDq#MlW zvG=A5ZC7sIi(fnw!cwZY6spyyRjr>;$};X+CCVYK8!f(VWvjd^H=T0R$6N)=Xp-Ky z>^0p+(h1Mj? zOXyH;3jAvItn$)|EsHfb-$LfVde=#I1gD3G5$V*nYN%^lgzey?CH0ghNI1b~aBo)* zRlQ{wX!Dt4}hUYa$S99TN@?&8uh*LD$o0aB<1RC6hzAE<2|-u$C%mIo58 z<%8H3QZho$(ck?jq)IUB3wMb^S<_xqOjzmRY1+_vk_Qr}I+ zxJ)aL^1QV<_9kKcfWlFzO-mDl-VmJT}DhksRsKb87jH*nB42UJcC;_SMBE-Yt($wMVFO?`6}9vCK0 z^ML-Y;x?tAv7g8A^RKSrw%f2mwkNYjT6UD%b2QscQIrh6?4&G}`e0Z+_KCbrBv-sg z7HjG7=4f=ME4_*m-iI0j8&>&zc&-6luHdz-&8Rvu%h00m>CMv#;#$(WYPW3pj0LoO zOT}jmK!ggn-YiiZ)^jS=DO#ko5$|!v0UgjsAv!T_-P6@#V23eBXNHoqC9IZbQCzou zQ`#taPy3}UYTHjuB|&icK|(f)%3mS~gTVl}_kqe!JQ#qfiwT6-`hOn99b#@el5#&r zTr1sqCM)+?KLZ8MWj-5(0b8y!xkk3U&s8lHuy1?GLtuB`{UZ(kJK|OVr9K~r9!ecM zmv)Qz(NxRm?F^O|1Pse)&tLc*e!cdpidS8^zt~=R4S9h;>XCo9*3W_B&&k4sWSh8` zy~cn86j;q<6xVFFl-Q&c{ z{?raS8;3O4(WK)X>a0d6`rTanxrs#6$9VOAeH!R z#$j+b7E(Qb>1@(x!wQ`(R8&(k{`MN1#pQEbM_%u57H*qv5ABz_B7cwNZk;e&wZy=3 z#vL@NlWT>5wSVlF^scmts}vtJm7-!0Ys}k&7ZD4+o7a2XlGqb=T(Ni&)1jAniORui z8Gz{J!zNn!fHLkiZ5^GNsa8pVeqhD)eVFxz044L+v3?y|F|+Re>Xp1fS_{k51_U%Z zq}dTw|E(zf|DJPzUPuf1SuX~!zfW_#%lm`P@&-i!NQd8*y7K#2VU8?BA!Rx+6a_Gn0`hweW5~`RUT~vIxyT>0k1(sg{(6j~~y8m<-M* z2%`AaKd*=NxPA!+;^14)h)J7Af^p6ttPl7dhqj>!V3~U5ASIP;{;ep7;lMFQv^EH1 zd-CZ&MfX1sZowP9lDcBx+_;1*rvCU!^~V>t=V<_e z|Cp%#)x0abU|g{q<1?HU z8EUY(+`2T|s!eb*Mky(}5>^(rdb8pPe$A5Qj62>4!8Jy$&IMGQyq#X1^SdRQs|c<) z9)OJa#|;FpY^wzTR~#4AH_N&Vg7DjsnYUb`Nn7Ng#e}t%rhHdrL3U- zqoyH?A^6Z3pU=35qlV%}M1*IPG0cPsG2l9BH_#B`1>ExcFq6l+SAR!DqTLK}%u?yW zgRjUZ;)qEmP_IPC{WFP%*kD_7$y{Nsf%V?mcweh?73>v zj}RtRQ8DjUXi#ydxR6f=SsPq?gs)DNM!a3=?(=5o@*E%mVb|fBLBuflVP(%5xAg!h zgV~Hank3;s(CLK9N-NxbPDJmtAFFy&tL-{Vn;uiHto}A_bXzFWaby9W76=}_x-fAO z5HRKq@^vU}eUw zxj+(vNJ`z#ofgz<)hKnjJ?Zb%Y#d2g0oOEN5SE7vgBUKU>AsG3*}Py%DZY%D$2V9k z#LTXm?AsS@6(@E9Covz3P%J$v;tYbd(Ej)^`;;$5XJ2y8axEcX;?j6@ST6RIU|l8o zbmG){jj6p1+K&U-zl z!V0DPkT%`P$kn{uwcDB&*7KJ@r%8QWPiJ(r)5I+Hv<^;_I_aAsrs~b-W1sUmF}M6j z{F}5vWa3yx=Ptc}rMDh_{Gy{ar>?L#%l##C1NC z^<_Oaj8)e}g=}1o*p9#Ju0$~G_w0uJ6y6IYE*IB;KhQgux=P=|I>Y<6PD1Z8FF!m} zL@$#a-;D$wS8V92=l!;Z!F}T(aX|qHL$GIqC z9y8c-y?@-Ta1j-_JdqpKuT~%5^(v{kEk4?vYkjV3W`Z`IYk$E4W^&$0X1vZMqHTy? z3CG^JcX%oYjI1Gx94&3F7-*KWOKDzUS=9WR_DVgE2+ZH(p3qX$Y+jn3aoLRTbxk_D zHTlrfB9Lpx2#VYtWn8(QzP0uR*HCc;k&f%_?1&l#m9=@9d%9Pf;?Ti99%qS0_!?2# zJuK@gd|zPhC>$4CniRDZIq1J!r?MF`@gPL=i~X{TzB^{{HOIvi$qyI{F@a6j{h(=j zAVDOG{M5=KYhFUDI znpWJTcp`TE+7TjN5!*B%Ae?zNLwj>1@ACK&jmbg-ZLg4>q~H$wv8lYYfkznETd>kj zUK4a9db;k3hv%7j6e6`?sk|+6%jua8zgkNw+INN@J@ObW7=ezM18b*ap7}1u;_Z#l zk@Xh}hRX-qhGFHRNk5JAzF#hB_YJL$!(H6sCICWuL_8R>X)x1Sp|o34N?J%HuCB`L z>Aqx}5bLgQ&ntRR`flGHGChJw&T)`^@Jl_m-aKK?2rh_oT0W9ccHNcvhQYbfle4o@ z*5Z4S)4~h@H?J1c*1ylcpL53*OW?JRn~+?WH;*)qEStoB}@O)7scnfMmFJYru$JzN? z@(RkQmUJN<0uBW?E&YjgG6Ew1?j=7uY*$9)jpe>g_TLnVAG6WJQST7@u<|jJjph$@ z4J+>{H8V%_VVdo?&nDw|qil44sL3Ae&jOAWj6QsJ;P(~-e*2e=nV^ll8o+)c{HF@X zfAC8dO`HLf6BxiBp6OX;0#a{I8Gxq^*x>xNiTnSZ@ z;y+owzoF4V!6Bn;uU8UC;F1BCnFG%7RFWh=^MdaIxs>r9;B_)K+OO6s<6&fO*^JJ4 zyZ`HVg_&3wf{@X6kcqYcY+!m(-nTc{0rSlRw(+a8XGp-lLn%pezn+bj=|MhskgFfG z@|)911z_`Xz`6nc_ zqUQo5Wv@<>eOe3YmiSImQmTPLWBpamzN*0Ja8M#~~n$SUY{3IbR!0uUiZ!Si;?N+0~c3PD} zMmJ9PcI1SIyP%lIZ%J7&Y;$y2S|9|}>ry9qvgoB5U|Znrx?hU)oO&Y5sY%y^6hAb` zKEi6QA53`cF3>c-&$ZQ?Q(wbq=;rePTWKHT?l)~l_JT4)WxD#(7Kk5=0PXi{8=&Vjy{ zrHbA*saxw}iSqmJ+Ar=K$Bg2?noK~K^Ks4qpM@JxTJ@?GsSf1RGVp`Udwp`!$_7ZW zOUB^+6YFds+TP8~oBJ{A+-d8h!IQM^EsmXZqkYd$_Db(Ry?fdaTG-*E*%g(hh>;$k zN4;4~k|)X0l9G;`AAxY)j_I}b|~2e*sOX*)(1Ry_dB4-{zhgVwkm4PGNrfaV=N zq>%{EtlLb>oX@J%pO#A}ZM~5eH|6nleLxITAoxY(x<0ABq;i!O(^#E0ln&S=$lD|@ zMba}Md(e35G!sTG?=Qk^7E$RVgD0$%S6HRAR-=&nlYSDf9$|yxPEfB!vC>{915YCM z=z(Mto=GgIkbbds0Ki9#N#7T$zCD=Jx3zbMo{kCA7@%YZz}Mj)0PahA0KdhX4-C^Hh`vqPX0Oq9 z)C+El9smn_5qq*%S0VU3T!+gpgR)9GZV*{;M+0enr<(K+NrVH2tMAQq#g2)qhK0B? zH7t89o%M;`#($IlkDP{iaOj7#O)C%v1fogS{v(~zAEfhaEJt{_vjJBE`!&V+cLvcn zR8`~zdBUvL`7vo*v&0Za01S`V40ZD}_r2d9C?=WpL$M>8J;VTnm;&-{W& zRWyS*sW7wBgtgRH3UwaiuCxl=11s=WZRfEdaSOwWC`v$qy6e@rSEG4#d0~M6VH%Kjr2r;GWmbE2t~K_PFF9*9bF; zU?(b$lLx@6h_o|a5uOj6;zaL<6W?1hY)Q7LS+3h@jEv~1TxCRl+RN?b0_D{iFvMOJ zHkq|>i*B+dm7wb*!SmU*<&e}gs+=vTW z4o$z87%S=KuZ7o@PzB{7XJdM^`h0fAMB4CtPxNE>d$5n@fAb(^eNvGQXRk&1g1Q>F z)Jz%N#MT$^4l3|wVbj^Ir4?l|ewem*cfc4>eF}+uTs(?fa;F<^`{-dHRx#Byoh;k6 z_HRD|F~-hH*fq1wfZpE$XDCgkC_jMoL}SFtmPLB7{NPX&_9sUm+WWI73^1~lSzt4) zvtpP@`b#`Z>6c&6^)FGw+S)c=D*Cnq7(4s_1&<@dKdI;K=CX(!_|u#4w&Z;+BO!8> z5^Zm>RR4ylMf_IRt1W;JDA3Nipw@3bYu0lw5pZ?;Wx!c5iwp1D96i!5;B(G8%CNC?* z4iF!Dn&j8H;P1lo9~|cx|2^tACJ9xz_H7Tgy4yv%^wNr-Abl4lZHmkQdS9e>YCH>^ z>6GhlDF)>{Nsgn!!y3ysKk}F8G3*tX9`IVYaZw`9S%7_&Qy58kn=%mx(R7z>zJbpk zjB(Ag1B}1Jt0ZWQdWq@-E;sPSP~u6eCgwHtO1nFb@0y|ycYT4^v>NWK&*K>Pv~Pwz z*Y7p{FgY(|4l=T7z|FSkmoC_I!_FaYagbx=E3?`%ia4tuKhJ8pTqDWC-Q*j$q8%7F zb0gyxiku$sXS{vDWf9ZA4FHWpX0VB6)-S>(GRsjE>e+Ou1=1C^?m>A43Y477D|fc} zw}Ra555mj7Afl*^bIh0!Uq&koCjhx+x$|k4=t@>G92`XKu7$I5EwJsnn8pZuzs$o6 zXyweBQ;bTCwi`b^kf7CHuyT(~8y4W6{V2`oe2dx|Qp7qAmG3lPHe?t^-!zqC(~pD~ z$yP?LvUIMSv?8yAm_Dq$&Js%dpZFhNI7iR=Fl*%yS!Z?F?6}Y}#c6@506R9CRc&)6 zI!zF^*KXV~Sf;&gq68K1>yD^9O^d3uwzVa2lOW;Y(N@aQQNZFsqHEQ$L);0Cb)>EJ zHO1^vVW^_}cHynVl78u$OAw-Rr7Zrd`DOd#&3Y+(xdZS_ZqDL))Klu&60oR+;#CKt`^#=3Fs8w zalTWK?|nj1fAI|NhA*z|BBDrv8B&YspOAu7>QW|;Q7SdVRL;E3VCA|a#NiRkL7EnF zd4H~|j~10H`z-?{+wEEu7e^~_> zKB1h?3j4LK1vPT9ynADB$HnIjtD4G{fsJ+Q!hriqQFUdYHNf%5%2lICl$QpN`5|DH z0TZf0D^AU}H~>)tuyM&}!Si8a=bLz&JK9uM8B$PelQZ!7chP)v-4&(zE~`OXS#5(x zkjvS@^b;SNkn3XIa-};D&fvAnks~V|iWnb{1FS9^?JOW;s9Vo@+@s#He(f*#xodGi zfVR8w)aFydbZn-pp^zn1Gj9~XaK~%${Svd>}Ioa2_WgzueCZ>Kqmu5&6^wq2*ZP7735g{ZmzpG2Nlm`2i0Zu6Z-b7*sWrsY{~c%D1!^_Pk>$F zZ$ZE+>N7paywyr=biNl2(ZI4;!Zzk=2D1y!umAP$GOP36DwC=)qMN?XxN~+Toxt}L zO%@U9vHcZ)zGIyUy%XFjwcK)<@VF4+IcpAW&wFX`-W>=(m^JN4d!=_gpef$heQ_`&D^{phbskQVpUyr?cN~3O`+Aj?Dm^>gC4VMnVafM zJm1F;BbS8fA1g~3WI~zlD(1|#(9!1)iHlngd`LE5g?5mRpLTMSc^V3}UNg9MGY}d! zpK|E&1HTR#TB0==Y)$4LkpqcqujjIyr_V(0SnNg=j2S^@<~}Hp<8$l4cE!7(-?|i? z%o+8(vK2Pd^``4Z(Pe5AQl~SBI%%FsYF%wA_|^k1*#VIz(@@C_%j5dADT<{OeT?r@3u;#z%vq=-LM*!9G7=UU6#E5TYvk!pw3#cFdpuXZA^xhRXC|TZ-@*4O6 z@DhZ+SrZ)8|9~B)hrJ1^+G;6w-wxe-e&PWCCzv0l5>Erp&L|bjv48g%;3Dw%22d|@ zA{hYMNmX;RZlaGT&#K>mj$^Ggz!UMOP666c$%cyDlCiG`3XFiPFc$Uq2dStiRpVK? z`x@b2!;U&L`m4BgGW}%Cd(_`v<1Sxe{-b5!|0;9VR2m)rCIwD)2dd9|=|AxO>k&WUsVygX!PTeC<^Ifj z4;5;^wFh`}-vt3^D>py}EZ|1xvfRCSZNmM>rc(9!@`_|nfM?U#1W2Esj4B8evqN}v z2$a>&8;D+)nw`VtBH*L`G<(?tf)jL2s9!icC2+~OR2)##}-{82tT!fyu z%?=O)t=39@x;CXbwP^xOJ{PW0-Ke+N2qQCo~h(Gm1+sW{e9%<_?E zF5!4K_@1)q&3evCK#!?tOz~*f_U@4Up{NVQs)-!Ey~fAcxD+5^aPLHv09{Bgi;arM zC=uk1@v83+h-jk*xozR?GaQV)X_;{7OkaJo$9nx+=JdGiTF(^x+bosZxCqLvGe5R< z2$`cNUTDfGGtW>X;-O=)?dxCt>;2}$^13p2p0pIPQtWb%>a{pm{H47~gz{1XNY zikfz{BCEeDt1Bz`h;Z{ONM+OVbm6l+{^4OI@ZWzd+)2#mr?s`o$tpGruC9D<8vo;6 zpc0ybc!m0i=`KB6bP8hYX>rDpxfz4WYr;8hTf2I2}s|6AXBml;&J~$I@((> z`483+c-hb7KaN&v6pQ?iqere^{tv7YSQ+W&e|*hc2FAz`URMJd&tjf&qwC0!+gres z{^@~z_z%c=OBpY}d+|TW6o)`kHEuK5LmAG`vnm5n{cCSXl_44=yN9&_1mg>e-R2vD zapeF;C>R?uU)G|6%^B74Zl09x8`6t_C3=JdCWBLkj~EY)!y&w-28#MhT|D6q27dnH zg~v=(EhTm{!~GB^O7_VukM}1fglD$}tjwNdiZb(S6cg$z0F{pvz^lJza$9y^kljZ+ zH34cW;y9($YcGBGOayaJ>IRB^AnK`3GVBHP{y>1Zu~+6P-Ku389`W%KkL!o7{Sj6T z*3^UnR%`%q7a;SRyZ;{hi=B!ceYk@jB8gF_jZQp4=U|T&{li?$blw4I7>Mz@mdd z=`ASG5K&`18NpPpeg-D*`KCiMi%ug@$pBG=4(&K-yul@wfUA`U^Ic!GC}W<$(W3mw z**QAUQm1K{XT7xDOsANlqeh||EtQz2f?m;|x+5y8oZAjV{-;l$UYUrq7o}_1sbJnq zK6a8iy`;owe0==SdvfsoZ6_Q-$0iU49zknXH1n&i)4O?%g3cLicnUgH8)p{jH6jJKDWaO=s$OQd^@yyE(Y9kx@{iIW3CR zj47BI&2o&rMJnGj(qI^GnVou;8wCiYaVyNXRTdW_(Vu-okJ(E(l(R-!wexr-xaIXR zPjX;$LEKTS2q-@6FW40a^}O58Vzbb!W_%yTCB2-tIPndI1^noOqbos=T-Ui7Ns`;n z9q6p;4*SSG^D^)V^0wsY8wR!B@>4~}#;i1eGBQ>os&3CuF#cd2f@!i#lcYT;v_I28 zB}wUkT9JAT@R=s;r#vpP)WA~=To)1$5&5C^+7!>Z>~jh54-wNLStkKt7pa<%fz}M! zzlY6zXaV~}6Q1a^rXRv21uT~G&oBg@vC-J$Y)C-UjE~>4*E6|Fk-XB)1LOsm-NHS8 zp&xbByic2N8wto4loEU{#uQ|fnNIwL%&bj@1PQ`YjAe`ulwxj%nH*n$lHvi9)1Bor zbF>=PJxU*cyogVK(C;owg(+^+;Z3Gg0MyAPf}Liyg^esa*ttF`EI7kPDY zGG;JY9zb6&qQ+uW*LuXIq{nF?^uK4wQCQpB|Bz=XzD0h zx%?ev<^Nk{wL;zzwZ`DMYc#sG1Qwm=&zW?+dqDvX7GWtGfxa&OSwTqDvv1etPvVC+ zl_Fj$xld!I?$I(bBBnqUsIT55 z*(8?6*B+*&e#6Cxrvs;#UXaOvJtN%SZ&ed^$LXo6%z9Mlqz_<{z-)8>0dgX?B0_eS z_FR$tIsEPF!s>~4Z zbZJ4#+Kz|4^~n5j1BjW}DXJFs*wYpV4jX@McjO;wbcDFoDQh|n$hxkD+6sQW@~tS5 zMIP|}HowO|ocOCW#R{ntstO-$=tP>Ii8OXnA?VoJhLknrGN6uy{Sl%aMcJ9=E^`Ze zHg`Zj2Pznl+yuWzJNFVCXy9s=MCTV@IIp!pDyMPI!6HWrOY6MZ1XMLWB8kr~3}{<- zVho~-?#&we=q9lT!^_0eFORmFm->~hG2WEZ8WG zoMvNVpQRLB7I^?};=xL|kqSmdXJi?hjIdTFVzr)Nbh)R|b9tGp#!We~=BKSZ5f{Zk zKCGZ4vEfDcKyR9@f&gP@Jq+uI>U?*#F-`SbN@+~CLQqtkJ8gDIy@coMyFNOtDMVLv2l+* z?Q7!oHn}wEaQmjCbE2@C8(H^Dg`LSZvZT@zR0V97pOlY&uT4!U@WLyNpryU)2>G|m z^YCjo>Bk&3ifgS`abjWU4TE}dTYL@fu{kV5MFUU;e3GsGVDBT=_(*!jC=p{ugnVs- z15=2sJ)GyCLKR3*rZ5{BOIHLLUjW+_r+vf0$dcTQWK4n%2-V5m(2S=XM7+d4n-@2m zqa;qeukb_Oc0-+FdbA^j&Dqn02Y5aKfdN#TrDL}SS3qq)b$=1ufCxd7gTsu zTNO21MIieJpuCOPXiHNqNAOmDZ_b&!?w1ig*jt{O+hq6a49Z2<0+3P|>o_ON{lF(x zzgl%Jx9ygJA30k4)B=)V`cpIFyWZZ2)Mgih3>jU$9KhzGw6vsw4Mks47#6(+5{KBl zxZg|}{BX}>+PGcZrt1uq74yVH_CuU|7uHMB2lMMLE|pqbKbzFEtA#WRJt_&V!242o zTrJRL4(#zE+qd<}WtEpRCm{$W%h*$TWgZPvIWcCvZC8u>_4ln`@JLCGy9mu^_|eH6 zvjj}8SI>rRsITTE4I<)TK@JQ7CPH?x@f)u$1$ZgSPAl$&y_s2HMq1*du0Ye_Fur#N zc4bXltGz{gmYyH?TvUtE&FP!H?_Cw_o9X_T&U0hm1658~yJap^TTgYP3e235fkesl zY74&BB~apowHUJgR+eH&*NZanVkm1P(}DmtH&>C%X-ep{i^H&+q0cv07YKWE)Jy@4 z{I$0Q=_uK{MfnJuv{3_=beJiGoTTd0TKlAYuxi-f;pgPzR`)W1v7QW!Av_JU8MAF> z|Fb?9-mFg zcJoNogl%I7(N8a>()qfG#mBR5IXg3f4ZFAdk6A!XI~{!hM366REvjj*18yCJ+vjP2 zFyv-7`+zRDO1i+>o!7p5HBSQ%km~JBa6i9fTLdZbfYwJ}z+%uvmEF=MI^Pt{5)pG(Nv|rsv~5p| zU9y}P6gMOI0gIzv6~wDVvqsL^#;_Jo6Z>rub>}HfxAesdpK@;xCL|J?b>XVqlkHoR znkB1hz4l^CmWo=oUU6~j4vos*`i=mGh0^YGp}$n5a)s<`Iahy^#wehw+11JfS?mJ& z%L`wSgV4;>Ld>GfouVq@*F>qZeRsz5r>;!3p8!%Mhcw_? zsbl(8rOkVbYPh|76{<1PyC)Ukfqr62Vf%urVI0g6V_Bz$t8^x}M?VWM>YJ8c5HfR_ z&eUEC{QT;L^_GCijrr;CqGbxl(L#)I?51*2MD88HM1@g~nomFDK6T{2jMqAoj(N<2 z-%dW0avL4`H_5l`Tp!XarZ`8gi8N}a>=vZLP+2_}BPDp`<&;#aNp<*8k(Kt(Zc#GM zPL^lqgKO{W8`%6BN^QvYT<*TcbC=I_AxAqG!f^hU{h7z1j_U8$X9%^;Ygx zicZiol5aqQ2D##LRBFoylWk>ff?>uk!*<1{apRwAE#}QD>MPzY%;~HZcLqXMo*8eH zTBZyAvB2B9vJ!4XtLeD+nuQ_4r^z|i$6I;hCTznej~{uw^XZ+73AZwKKCJPXlzEQI zsd^gvd3n9Eo4J~r8V@ljcT4D8i1zKN#pyj6d+yh^mgYq&RmoYBAt&RYUDoox@*xRg z@}tL2Uvz5=86_zCIWwBVW{z-q1}EyTC!YTR5xQq*l-XRD&E}lnnGHd$Za)`!2!@}> ziiPPSiB-+7yZoC{z-8OM%_n%A9+o6}co7HUhEA(w)Sivqp8&}D?_8|%JLkFIKD#I4 zJI&ykWBJPh0-?xVE4x$0g)#qGTtZSnf|hhuXlAS$yZps*;DSR}oH3K4jbR4bHA5Cl}W~5E$;qhl$1_JT(mrGImeq z34h)4o%o$9-reuX;{Hsb+D?G}tEGaOdGhKfl?5Bh3kT=lsT|%7F9`j8a{pJ8`OWTV zuR>1!D0Au#u7HZw!BVgF*!xFjd-73oXZOVPE7@?6vXUbV7ZK3dg!bI$2UU0fBqy2H zlL2X==ML52fwC(Hrl{acCM0(LJ<{XUT4nQSv5%Cky-Rb`yKo8>pPW+spw?$gJnLx9Q|pA%}~&SGlMZ+J9@W8gP#-P-_S;J19qv z?d?O?{MwYqU*4DbQyuP)J5d$W!arAJetkQ>Gc2DE^yH6#ifbJElV_>!{4dJB0<6jI zjT;k1#Y7Yd1H_Ti(kKFs?hX|honv&Vgpx{)?op!zMl)1YkghR$gfM!N14eug{@>T) z{jTf#&gG?Zd(L@I-S;`?cmMAD9GP+ynzXyu@~aZcws~C)UU&C1TMU+k6qnTTH87W~Zsy(5`CGF{S|I?sqPdjSol}Tz>da)r2-W^W9t7cjI5&3bA6Ko2807@E^bK$8bT}`s&+0Eyi}AV z>Tc09>K$P`+z4(nMGKpS90?rEIf*K1=39gT##_ z{gI!HEW~&64v6buKWl7BzSH>|@AP3q_L=woRl>RJ&6{dD2cOOB8o#hVQoko3G93iv z!P>I3W}9F9k7q9*2s5c$l6U()63-{&jvJ_$+V9CNi2C;CsU_MNBP zQmv2>*OiS=)Twj8mv^Q>Pu>Xr1+kBQERt z=bnVHuxWBS-cv=l`_qCPPJj4|`fg`mBZ^_rqrfNJt%-LKP(@WodocSSA!z=D` zotlasQL3zsuUc9~;}~1JiDmsbY*O4tZue0?K5iziKto#aFX?JK)jY#1$LGkQcWuak zO|)z^g1%eVj~5E7EhQIdc$gd8z{a`jDmy4bG3Yp(tXlF$lm0K~QlC>F9PYKK?g+z6 zQXO2NU-X%51^zNkknx_@1lzyXL2BVHC#jWuzk~7WTyl}}1>@**w7Y13pBI2h=E1v` z2cCmY-(%YNf_jRMy0h^ZzJ9$_mRx%x2qQ8mw)Fa)1tLOdJG6oA&x}5&J_-@$;I>M= zLudL`v$))zbe>vd*Yz_}?_S~-SBSkqMf&8Qs6G(PlndefE9=U~ck5f#38%a_s&(qJ zKQW_Iv=Qc8PjAND+bi=d?PSBmcXg>Qh`&KR#}au0{>Yr7vN6A6FgwC78?8|n^c=qS zx7adeb<_Se4<&rq0$@q-zlF8p+dUH|1O!DI|WA2o~U&#Y&Xm!cy>BFAqrYu2fJ*>#m4d#74tX#m>cNkD}A8`ghf2}x|m+bY!v|Mwm<1m?7c|2t=4}mB_oCj{3MLY()zsSboHLDb6pKF zt-5zB0%^OqpgSq1;C2yCp=G!9QW7$(Ha2pJ-J5i3GX99zrCm{(O)a8^RY2f?fSyq| zIc^OjdR8<=hTctrxEkezUSPW8`V1Lex8qk(^Odh1bq0g_!du;hZ^lGx3CNZi2QTU? zZ+hTNEfO0lrDv!E_}z~4)V23il|wJNn)U-ez}~P>v25;`SY#Wf25-%kvJ0x=_;+C$MK+WbbT#ig%VrUNKsIFlhq^KIyB~ zT%fK^`6R6F70Q(u2X4K|_hpdFM^4`^-ig8zKk%T99ACsCep1qRGV)eEGrK7La`#?M zFY7*Pe*!f7xzi%o;WrFZ)6@c@DPv_4rkI)pB~{ajD_BZ8gi*Fczqh!WAqmn>-9!*+ z;xDZA$Mt}PBA=YHHO%P~Zpgt?nTVGwx1aZ<%A}=R?mSjvXDf|qr}`;CWMulvnk%D^ zOEh_$S5=;s?5}2w`Q2mNkihvlCaWAsAT5vlmRVJ1drZL$PuHrocAm^#=>Cj8cQI}L zj0rT8bs_mJO^I1t4P9rowe0SWqjjSob7FI^|J8239pcvkh~g0ro#Duh-pdQSpHMs2 zdtwWQqLN2GG9oy;rkMpuRhw>621anfLSAq^>aFqi0$q@yS)UYWI%?IqZL6gUoykgWhHREs&}G_ z$-o{_5V;!GO?9Z9qEeRhVAfmBD6!pE=C@8B6_=xI&ci(N2)KAUf8=2O|rNS%?m{(`F4HoP~_>%rUbz!9U2 zZ!f13R;K46>>j&58Ok9BNx4yH*VSS~Z+U4biN@TMmd=>zg5H+z9krYsx_e*TDq0pU zo&oi))mN~Y<&b$lEdM;{zWW*P>@Azf8$e{@w;O?r(YqT{bF?|o4C_jJEoM0bPZPw1 zuRhE#g8-W)1-e2SnrGF;l9NN9&9VBitja>)pSC?d6`y}?O#?qNt20yadrO}_iHg1y zkD_^{^)P02;cfAw%nawyjT0(KYGWtU9mj*)Ko8l;!8ARp?CQPt-8PAocscfhr-vL; zG=&tpBHxBPsxx@SP2?tyAT>%ByT6NxUOImj(3tdF8rvS8+UwO@_Gve723V#Ff2tI_ zA$$I<3JrQZ+x@4-7r(9S=gQmXw(53uGOU~ zr}0V!VVXPtU-o9Bk`&dS0%h1a%o)zhsI7JwaqCUqqot(fSu(AA)L|KlU5-_J=2TG8nCSs*Yv7ADEu*@$4YDp}15%H`nuh9kD2 zWrY4TJ~?W$&X333%-7;&=h;Aeo{0IV9zMgM%WWMMmijC13U;mTtNzMVp4-9niXi1@ zDrH(p{u< z{z5F>vz!WEFBr@&JbcpgCpQOxK2Cip=CFL)dzj~rES6U|%b48y$ye?lxFe)06IrVT z;gJfB&DQ8*dn? znnW>KbPSa*!uo?`s^Q0-t)1&82e^n2bvVHc9*$kBxfxlRErD93Vp{xStFFX*YeS+r#ppPLL2q?i*n4ErRbMWG{$n^Q+nCYUtCf}|?x^FH$p>ZU5)Yi;ozwj1)a1xr- z+vhapB~~GPf8FgaxR6m}B&m|CWk@o-CpTp7D1+Cc?w29X!~ipiYlH1f;uX8scyhX2 zjli;9tUSk&8rFnD?eGEfd0Nf}C0W%60)w#9lM%$~W6IZX9*MVLp{vD?&Zkf{19I7_ zs$(+*CWF*ytw&YkvId|ThOG80B}2h&QRsI3)3YjWPAJD}ZuKW7a#`*h0Tk$nj|D82 zI9F+RY;ES*{T*83S(h2#AKOvJ$?2ECPHwq)VSzJ}U>NGTiPT#QsRRhnKU2kHwx~G7 z`#e37;S+Lh1JNQ{-KK1vLg0a7)Mo=ZZ|z}2=3g9(+g zBWT4SQ+e!ou}xff2C%)VbyuXqp5(pk7jM`z{xbZ*7qgE=k3lOi1trj%0fjDiVO(#M zAJ6J&#kEyAPQi2*6bWTh<@yj|Ex}AMV5knGPhST%5nlIM9a>ZvUc8vxFva&Ie7b3rIo-Za3T+e7jATxm^N|e+DNg8%&Cx_%O>zdIo(m;ad#zLa~a>| z8c1hFSZ*!_K1LvKLA=(V+^UHMc1ZI#zRtGeY2aS=5#{F)gH-1OYjn3}Esb?nZ}o4< zrUuru?HqGtG!U*krLhO>P_vNs?^0|1#aDgkxypq}Eb;}GF5gm9#p=_4b{~MmY?rJ~ zgh9@{M`Tw#>Yuy7XVr9^3Z!mK-QL+T6}}u+6}@5Y<@Z2;&Qwk?KFXmH>U_40slmHH zE1A)}y}8{IDY~GppPg?h(EN%~W7@3_GJN4?6m7@HJ!sZt0?YRkyq6~lU4fs0>kB!- zojbe|;azac4-H8w$d5|cnfi28ZJpEXF!MvzR84l>94nIQoRpw0%BFCxJ+X>aHJrb8 z@#@`Ho%C;ER^mraXpiBbk=`(7*eZ=~WX}!hokEU|w$|9m=W@1kUPi)>kzPx~)B~mE zX?jxvdIGbot{iHH!<+gOo>X(JZ$My+)Fe+KZ~(tW^V?$Gf-;Yo^dfY9(~+2h(1cpg zec1YEl92qSEj-GB|Cm-64ee6&sk?^?0P?EaK9mLQ$0*ZEMqPF#b7Cv z{JgjF*wSIDs7DkO7=<9U)h71Tf|<=ZMs`$8MBUBlWId^r~(@}Mq_#0MLKVn_HlJ6G_lxzOJ(aQq2?Y=`W;oCgO&}*n6gHcvj$?U5>tUx7kJ-+k8t8wOt>W;iPTUKH&wZSkFx*;r`olul zTHvIcH&uC9!Wi!;qygArBADwmTwL^^SAGs3^}BX49Aa@e?U_!rpn6u*_&IlCReTBN zL3@%YpMzZuttDxAMt`IG36$1H4}jD)PiQ`>E|?Wv6o`wu``~S>=y8n-%eRYh#nL1t zYA~I&S#LP*krFP)4-!*k2fwW7ACLi$Orr1MDGz@W(5O{rF}o0c$TC28nbz@5Cg$4nwi8T7PQSTxQzMFvKa;MA+% zKN3-UzLtBV{Gzb#TS^wY8%Y%As^mmxw?fU9I7EgLR9*X96}nNZoYj8hVpYyd_xo$( zhduA@sVEqgYxzm3+GU-W)h|_ki!|l~`6=I~$s7paww!6yWZzRp*T04>cqE@CQ!f1N zRv=#eGeVJ@ihI=wE8ZDuw@2mbPnjH+7_KNvm3JmKBV}gJ4|0E7!~e*K`!gTF?-i77 zy|KTW$oF&mB5p^2Bpgrj_}Tw}R#ANx6&W4#9}wgjo2LgML^*Lw$iZ*txB&w4p9uvK zY)|6Zw_k*3goj@!`H2$lKUPRvoFKmYOcM~~o>Fr)D(Z_(0Q9B559oDgDzyG?F{0h` ztgmf5w%5WxM>h0d;O}USu={#KTY_MEQIWDBEhX>=3NVwY0h~8yeEcbJf0Hh|ZmIIh zRO|0B;;TQbI~rJ(S8rbulsoERuXcCJk`?2P0l#*IZRZko+XTg|<&{&83#bLafOL<* zQ9aKc6&aZgybOUrIMN&;<2}K|#I!XQaC84vt?>d{L6^k^vVQi)=uM)+q6*4E;BBrF z%yVO}e3?#gWKn!%b3RO_g^SF_vFT_>U!thHBG7tFnE0+4mG?!2`XKEqMHW$Y0JZ3F2q=$NL-a+`oDL`S-*ds-9Ku|FGjwaLfJu zXs}vz_lM=beRWVKQMsQEngT;H_2Y>pl%{cj>Lqb^wW!vD*x50=M|5ahJjJ1Z#@V9r z`$N=eDN9s^Z;>}NTU;3G$@>eC2aJrEjMoQES8Rg+iN*`6Hw2~qRRr$?%^4-d{WjZm zKGGA@I0;pQ4gF!;sA#;m%WILg@^#(-LgzDx4(0_$TUJgEwI>mM+z{7Jd)Q}XK0|d% ztgy$Ugac&dJJlMbrk9>j=8< zKifXD!&7W;R9#3oB8=rya!mj%aYk6ni2Z6duM&wJ#OnDu-R43>cvJfjj2%7l0-vwej`FuL|46)alICcqCEjH>`qqP_w4d@Z3wb;F(z$ zS2%KaaW!Ik#oCS$|fF{X|L;h zck9wDQ=j%_)sV2a86$xV7}aCfu-Be97Z*)xf0nfn=2z?#%D%+oXeJ`C*ESOtO>riI z+ga9wAqJ@a0X(Z8Sl9E*9NxX@+!;DLFW6; zQ{;2V|B8W<(pmh1qq=2ZFxA;1dE>dKj1L*QoI1L7?YR7)r*h!pf;V-8|9eYil*1#8 zmFwZx+{4K+Az>EHO&RqMC+ zq#rSNvHh%h@%AtBb%%>iDCEPwtv7`xA5#uDRR&pC;<@X(z=)Q_T;H!$dY_9wP&HdI z7>VN=XpLAH%ExOKxoqW5;Sm-P>*#e3eARkx!RE%+W`U(cGS7$FJlJHFCDb6o-iW@v ztGR-U*?Lo*N!~DD9voX(-2gXLpVyjkL1}IB5G4^3DRocYpZ0tUk|Mq%U)4|c+u6)w zcgB@31&fN`^2XIQH8{VkGhGzt?8`fx=)mr5fDR)WEUk+T#N5{)+|b~$n_;q=VXx5v zRm_az1a~^JocZLCR_ zil)*hCUVD@njyZI4P(3?dhZllS9~nAfhYn`ozVy4(8>wrh#1i=@2d{}A2NjHcYlcJ z7+xacS-~f%phI$}v?xFHXB2Ab7BaK0FKHY0Ighef??9+}7#$&SKplKV!aO1uwo7Cl zT}vijsA*R2LUu)($VJu6n}?iohOY=%+PHe=0OG@Klw24KP1aguA6fjG-$ZiaY^|9$ zl#&ZX<3#aqh34;S2k1ZF?=fnLD|ZPQp-AMGrhrm7w-)P%^HfK zZ!TgSQXNXw5k6~jA2WPa!(YAmFx)7EM5z}YAV7RJT@f~#`E5@SY3eVG*#jHw7x`#rHK6E(;6EBYN7qnsjOj)}dU-ve!V z*c!8vce%~uL72Ex*q33KpxvE!GHWj5-MYL4=Qt0&U|l{gXJF$1PfBlU6{w=|Z!ix$ zf1TCrBL1pj5V%8x;ZUIi*GcKo*4moyuOoyO^VL$+M@+a%wFnlHrpJJeo0k?8?4Oq3 z$iQ#bPpr=G7)IN*!JjfLUv{v}xu+-UG=IWxHj-js2nm{eF3Bl(TMLRqS4zHIsWAw; z0Y%vp3Mi9d93qMnX-XiNXYt;X_ciG(cP+(Wm?P_?wRg{8AtQA@t4_xxcTO~X38hQz zXi;ZkFJ#G>-D=^%DQSim7Mb)DBz7VBdW)<-<{J{f=FGvV0g4iecQbWbh}@nlcD?Uc zu4Z=qgW|vQ3!r}ZPqJ+Tlr-&<=|SFw8D>Z9nn6#OmRd`uR*obCu_gxDq5>>yVDqf? zCk2#mH2k(|j+JdMJjLr445C_xU7C7P1?5}P%~12P)zcw61@D{P@ZH zA}0&m-kR5o*1lAFtTiDl$FzaC&KN;wWj>yg**CeYcCN~?8oun!_3^Rjm+`7Fyd!7x zB43JC?zXTqpwadc&FkG+dr!1#_M7mC_E&J&%C%s5hy?auZH~zchl>DW@aTn-CSA4BX-VHHs{nVKQGK<$Ad{eDHp4L z{(6EyE}|i!Pt1UcxZKBb)+P3SE!nZ294;TS)a30-!f^y!@T?56>r0xai(JkC(}2Nq z{OpLSRz;7@tG+Kp!C^Yh+GCNm-{+mKPCHEJ^DSQ1EAOvSM?3>o;=ZO-ov)bAo|US@ zdK~Ck0te@^;%o&&`-NXkVEoFmIm28sReoD#g3q-F#dkuBUnSrggT}|v3dwXnsb&7$zI^;Q}9*BW&uYZ1gW38`~I2+-son}oEgqB)4YR9x4` z7A{%zwo!W%NUBo4dTkWXBbxN|gR0$v;_X{3R6)nv&xTKYMIbJR7Z*T1} zF!0z049HCgc5lNR4US~1S719Bj5j*0j8jYhwl(nsS+#uC1I;8|q-|j|OJ784=~~Wn z_O}aiE|#eL(ub9LZvNcu?#!aLM9-7R0Oh zFBF8HQa)1cR;1bXF5pA*-F+C5?5-IkQWgM97X((O9##MF+e#SASc5eQD!Hq2S7n!{ z17|4DmDvLtj{}Md?_%{5L3^PMkt}Z}4VMS#GlkJ&Iyr`i9jr;Knr2@9s)y$T@p`rj z_Ria@+JT~+8azhg*&Qk;X|#+EvDXm>G5wu9RxYX_Xco&88;e@!bvZpTJ|COxLln08 zWkT7URs^|x4bpDq$J(S7MV3iSYZSbgNHYN2LH7*uRQ6Q}_gwylWlI@yvPwu>QOddA z!4dDZM65Y0;+WH%PI5M^_koql*C^Fu1O`qg z^oEKPj0WE+%{?~*t*jNhe(jP}Vkzhy}pmBrd3mX&O7M=>a0%u&cgQUUNlHH^j;*ForavPQq<}wllk}%2W z)ny)GlF@bfQ^7-|+oatP6C zGVN<4N*08QQ|hPBH-GF=Dz4r6srG#25+_gO0w+eeQRZz({;Hm}-cs6bDM^ni-dMvT z?KV7~Puy`PN0EIuC!tOg_l0}5EmoH|7qLDNeGj)0MjxjRx~mg)qw3vcXdqJ;u8(;w zX8P*0$ey%@ho9#R2DxXk7Lf}g0*Xo5Nqc?jVrU0kPGDklH8k1)A3xwe**JS7bU}t? z*2g_L1eYxp_F8v!=%E3s-mrT3mdI5YUS44~COxW*WG>ir0y2xAbv24CZklot1i~Uv zBTLufHO}!rSaN)j$1pP&WuZrdUg*o3b3N%?8Exv_i1P55(5I)R)&*qJjlBd(pF-mJ z*>1AJgyIAyCJ4$+d|O@6#T?Z&Dg&|T8r6(C60gCcxpWrNYLw+zJRm=HZn$p(FI3zK zy}BF*x9&P`fXud74y6+7EH+72-`M!z)FNM`47Q^C?>67a16?G-t00Nk-?lPTLW3De*icF= z7zZLg_vqUy=#;6e&87w+Sb0(EUypLn-M0*h$9tihIV7%^wDsUfzm^a(vmv%Dou!7Q z!YJonHchiGA?ZD_!S;e!)0IfIh*2Dz873=^)xd+S&ja&?-OVPWw6m;q<0>?oLCp1Y zt(B`>h}&Yn>{!dK$%b;|hXCLa2=_huvA%q`dNEOmNn`T)cNq#9nrdhfD4EO?iutr@vGQdHoud{g-$2X;U_H zTY3pDizkEdG9|jPNXw~5u)E}pGYz!Xq-5KcT%4HUdggj=z-gdM#(?(co@)RWSCO@DZJ-!wicOb9dVDmtpvN`u1$MsF&~1NvD2E z&i*I3P%|h%XGLjAac3soR^6(%b}5d;*84WB*CNY^{QIQb&WsL8b(CuG&O%4>P%Efp z#7mQv2o@!jgxPiln_^j-MKaDZa1LhNT9An*Fci`m!a2oDY$FuU-VttpxYi? z0obbG5D4av;QNTbfR~e{m9xj9e=d9~L>XvQ!*95aXWT0FCeAMsCM$&P|xa zJ7!3I76o*Vbqk;AuSI9S(snb@JUYG)f}*5TC5wRTKHvBuQLhOUh1L1hr*xYeCQP=w zy>-f_FFT~1TNAPsjp}lat({Bzo5_X?k~#jc~x-3NynjQDlKSj zVM?p?+py~`>S+xKo|LK-J`p)vb zZB1NKWe@3TvBxGNaI*Q2+@ss(9nEm^oxE6`Lew}9j)kz{wJ=npw&yNV2sl76%>cvL zANz;F2B@Z)FRepw>j8{0BvC_mJK_N7M@AbCcn$mjXnr*EpTBxSC8J9!KIQ!>17rYl zIO%v0&3=C)iwzn17hXyxVSSHLM>D7UKj6next0U`+wn+^)q25_zeL`L3@8Mlz*Yh* zDZeLxQh&eo#X%PD=$mK944h(hep68U*#HjmT$buVj20-I1qR@&f2O1FZ+vyQcd%3Z zk!ld|>jPzz>8HvE)c;2_6A=Hw*_S<7Zk$H$fB6h(20i}I8i&3~2CQ*^rlXAxzNJ5W zKYsuIgpXu6BDwqT2uvwuY&*(U2Mi4-0@O4+%W?50zZU^~-tP{U-3Fb5V{nf)d~NCk zhY=YW0R(<{U%dn(E^q)I_b~xS#|iKp_}*8tIIw-U`ER#{>k^^m{)&!m+Yq=8K$-pz z;U0alu{BpOD~C&;Xi#dLag3`6IEIn5lmP=}*6DpQhO>QKAAfnSyq8-11BL}gs;8}P z_?~7c>LmfDC|)*5dt_Al&P561wKZ(O8azag*I`3hO4=zhy|6upt$K7cTIN>3Sq!IF=W7Yz+JXD__h`31a|)S% z`<@C^*BBsR|C`o60#l6l#xp?RS%kf|eQ(|pjsyCgCb+RNR0#OL&M!ZW*?@YG92{fo zt^}+?cLfs_h4y*WynrWARs`n8zXg)nCEa6`d-l8acK;`fR)^zn0rSrvDVwVKM)TL) zj6c34BLj>|;J+#KfFdYndw0MS#QGkSj`;3s!~t25NGO(NKj`XmCV;Wo!VM5hyBt=b zT)OJe+{U~k@1@53a$nEd6KUvp{*YG=RZ2mVV@6(;I^-QGp1BRT(l4ENjn|~*YGBNf zu=M89cg6|pm*(tmRNd&q;^$TS-&9u*Md3eklhu<1v$>a5lm^@REyl;y5J7R zxQ(*p7grqEAi^jE*r=!h`GS`|K9fj{rS#s6y*zAZ?{~@4_7J(-3TOp^+4 zveYYe*A$1ApGtXz6ZNcJj;_h~rn&@X=~7B&p8I4VFgIug<>+`b-_h(Xl9Anz)a|>z z?pAR-FE;D`y6Ta;)3J#I17Ce#>HY7|@b zbMG{GZwIUsaJGPH?B7HkS${)^383(gim*gdxt8P+R2`@M>K^s)<#^ZDNCsAFD7*-2 z`6^NW)?M33ZuZJ~n^1s0pRXjg`H(~;V1dHbOzuMai%qt^MJPokCl>-Yr2b}@u6R#d z?6v(?`F2O2l|r!U!)KB7dwnH_j?YRij|k}2%`Vb}P17UCI2YL&IEP5l^kHGJ5UKT! z!tqQqDYqw|4~Z!{hA?^Mrb*h)jHxVE)=JNfp#-T`0#Bjv`42-DyVJ+DmkJxxv7INe zD94#`0O~nH=n1Z))o3*iA}@7`A(DDOQ1jj4mObx`MtIO+0`=1VH^V?ZNmOb*4Lc%L z!EtF+?$$(B@aJP&c4MA2J0f46H!KTtY*=Um7l8voL&pWU}h`5SC9e%4#&^8hPz;bNw(k~e`~sptL1rmlBd{Fl%$ z?8eed%xoisy@p2-+7R8#uW55fByA;Dq#n#lq-tI71 zDHmiImIte9yP_TmUmngJjArQOYzXP}q5Qzo)Su@!LFf)F_AvjQ;`#Xpn{?s!g12Sh z@f}E_$GVMBL|S(QE^=Zi3$wMfX|cR%yd}fkY@3#P3hOJSb_sR|Y(MfbfUj7kE~G!Z zVl{C9j#eXe;Q-N%U(IGe;cA6>_<4ux0p}q8;Q-~^YUv4MAS$fQYj=;V^&Qthp@Gah zB#jUpcax|gMs*IO-#+TPUjk?^Kg0>nX46fP~}WLJFdg zN8WdYi44*#b7AFL!2Qx^v^D;SCt!9WLGi1_1&@8b*LR748P}PMG`f&>Xhp1JENrAh z?iBSjLO`qoH#K}caYtQ=*+%&ZmbrBDBDOEh4?M7JM7*PYOm}VTcspe@IU;@!&r@6O z_}ox;C$@L!;!Qwvsu5*{a)XDDg$sd}6o~Jl(W%49ttz(QE|q+jr*GHytbz^uH=k>A z>@zv3=W1a}NO%TavzEJ4&uNKoi4i?=;UnHgdd=}i89I#kX`^09n~mqEmh}q`b8#`PIf0<%qLxqD`To3GhY#>~CTdo$~h=81?NTve4|FAJ~BBbpsk z_iQfxi@j_r3H&oA&hW;D=w7lT0exjf$BZ$@J^|~leiiiIIE+2opFIq?Z zQmV|t1bV|>)T`Mb9j+#9IgpI&@m;5yw7gxD1D~jY(bDC>v5~{@j1OlklUAae3}g7f-fn~znl334KkMk`-z)XXssJv>^t!iC+bqe$feaPB| z(CJQJ(gamk#yCFp;)FpWZ{48BJip0L|T;p)l=riCt(*=WV&H?f6<5+or0y{sgSr(AcIr%S*sF z0zvI*!^i!#E>_GBeJ+7!a(d~9)rDFQXR{SHL>xcE0HPbn4x4X|aX+fW1k%S!$u^12 zn|yU9GwW;lBRmT4rRd2wRF1AZ`+W%79-%6*!nT!plq-BaTd?;YGjjW9}pLAsHu>f(~GkkgRJRr!6Ww4lS61+*(6js{?O_sfRi$zE| ziP^}MVV~V`&Hb+0ZwIgr32jQbUZuS)VC&kUo!F>F)k?>NQX|C6Oy7oH>-);%tCRR9 z$<40+GTrVVxh@Z<;X+W@Y<;D(`Bp=jRL7}8iA@l}=a#L?`!t>FT4;YU&g+uqRe zT3IkCQfMguB;>Z5Q~_m@lOQRIo#&ZuHmguPc6y+y{9XGInk>uPA{qDSy2$lbSgM43 zpJz9|3S>Cm-i`jD;U3xtgkPfO(Hdl$sp1GMUQkOGDQGxLcS|^)iOeUJEe3r37bE?Q zU$+j+z9|vVL#x*i@h=z`+*D5SQ^lpLI*OlplL6pg-{0X~#b5rJOFB{^cu{9FX50A{!a8^>Yz=PZzi;&!A z8;@p`!@a6=Z{Df&Y~yupekL1G`pkbPMtHR+AKX+-XG@}W){-wb))QcnJ6}~$tA9g* z*flj_jaOTw5jENCx5XHRHB~*%v{|hvkOgK~vwcA6x8B$Ea@7oad@5m?PQ9g4&dEe3 z%KnFPCFVsT!$D$v6hR2;{%m%|3iJ^C-7Af6MPvEEr&xLTD1eHG~7WWF;1)2%bw zGGWF(9eaCr7d#lTs6yob(6nduazFS6-6kEM(+F+I**k(gV1dv%mYr5uFe-;UW17ni zGVCrJ?9_Uq(*B(oYjt!>t8Vpv=#R6#K47qH&4`HMnbOzTPw~Uv=uH6{0xWjvoPzdl z5(Fihjj|LlYv_E8Vi1%hAUHZYrcBgqI^=R}EqfakDL_Ig`9PeIh0G&WY3+=)+=wo> z>GueNa`^buEu_q*Q+4!1j!raRna|j$tE^{UN%5|W`({ngnDClI0zQ=yoS1cIZH&{p zAtAHp-h|6QhKw~nm}Km0sF<8}-=zK}-W->l^{8xRtpb)_MR_K#1o4fq7Rlak=wy(T zs#1NweO`UmxGP+*b{~shPrIbQ1DvOZ`KFxY1Mg-i?=wWJMQm&JnzZoNRwS8vs;?@ zzlZGDr!#rsV(g1$<&Nk&Um>GGw_s5&5gA2;e4*Q{KdT6Q@DUody9Y2Q%|yyL&`M!S zXa$3DBb9;&e7l>>Jt4h3dlGGrc6{dA&L7oIC6a5SFh_hQLX zAPI^(n%zQ%mw<;=C8S1Gk9m9e0Y$(B+V9-G)Z@b1D$kNiB11DTEHo<4d_-Y6C@t#ItO90>x`v-TxuNf5Z z^7r$&*U_&x=87S$t$>5D&ptFUKVP^{zC0uCw2s}6(DC~jKg5KO{YN~Cz>pb)f?nAy zve02V<|LV!GQf~TZ?VV#=!1rpJm+tRsBG%{lmWDRqGMn@L2R!Cpe$M&Nyq8r3INQ> z0q^T_M+yn1l!x9QTLNH>C;*vg2ur@cU*g^WFQmk{eCS5Q;NChz+tsUj`;1E9Q26^O z03c;{YD+`I(2cnv@gN{H$e-!(C>to6>YLfq-am4Yk)0!x3#XzT8ae=*k=>7GYPQ$~ zwg`WgSdUI(U{;t%59A1|<|2Vfi_T41*RnV#F-dnOnkxj!@hNJl>c$La%t%9XDvn&z+> zK>m((aPCBaWO3f;?E}RhveS;vYxcTqb)YMJQkpp;5SLpIwoG}v2&fV--vJ!%y^=#C z3;P-F|M+1auZTU+hO|fFu!1-00B7X)Bw?KZVhP7Q{BW?g8@oeii#cr9fvxlJIRLRB z+eS{y=-d~t{*QTpaA@qBF+NyYQQqxh_2rib1oL`AIHC(!UjBZ?y~OZI5v_w=MFt>f zb6Lp;2k%fZEd{^jpT&@!@aZ0lG|~BM_5%Q0{fu2xIOfxVc`VVZ#3X(&_{1j=>zzh( z&A+ALdULVtf1=rf-Xf+4Mwu)?t(ffqRPH0#`$fTCanAvO<^C_g>DMNq49{2+Z2S`# zpjqz+0!E)`@VnKFx+tjZ+Uuk^)Lma^3 z-q-3aV#B+Yp;Po~I5bz_v|WB2ulZAet2dgas;{3{FN5x+Hp)O6kSrbRQ|4NKk2S&f zO*wNi4`&HLooCcFdvDOSie@hDImO=;hV37`%+3KNr8O$j@$KSlx;uxAo0^24?UMli zNwXo7X7;iB7L5*c%g*eefdBqgulFs0=nh-!A)UZ?`_VN1Ny@ftGIno%JpB41Ggar9 zE-+CfUY-X&B;K>{`VE9$`=T2019wjWi1k(bP;2RJg}CgDj8A_&jV+>>xV5VbKRIFA3p!DHjeh`^Vp~WhFqa?$_JLZS5;_^7QwydPwEaSbf0$|6+cL z<7gTrXGZCNCI%ljKF4Y0+RdqW;L&(nbWW;dz;D_IcvO&s6k#KWW za|J6^wM$>Fg@0Qz{dY{rMxUDIcjJtrmnjB{g zWAj9B4LKxB6XWyqr?hLAm*h#OvD05UEvzBW16vF@GOWWu<=Bv|vPE&L_h*Gy)m#1- zqw613hnES|Cgbz{2h)^-G9MLJx3G`UkB^`Bqjr zYi}7YwEF=FCDGb_-8jx*a;0)nsm!>B);W85(*bK%(@+_GhXWR8dY13jP8 z`2WRIb2|meEy;{(huT^$_VP{f0)bWN#5}YkZYwNnmu&;%DJEb<`q>R+)U0xF0bp=A z&VR5T0OciGTWT<%T%_HNLu&Ful29B^`MQMTeX zTU=VUB-pKg#M)s{ABYoISRqbdOofcd3KIj+#Ec*`e zrQcbJk5k^Qp7qik$WTwe_>12Hm@BX3rSX`y(D=wb5MV;1q^iZ=S?|HZX2r6wiWf&l zvg%2=USG;7?K6|MYF*9osJ&HU(i$akx^_oLXxqtiC_r2!c?P#m=w8I|@Lrc!-MSg# z^cRj+W#_Ox`)OvY~ncTNE!OmvgOISW$D)Wrmy+ zA937F8Dab|+tL)oTAlZDkP?w8YhO?9qIgZDiKnLD%jbBk5oF<3k4hIdfc0?F);^5j zTfl=qEOCVYS>w53XPl>(wWR-PF6Uq74-Q>TbHHYLh-~{pUXfQsDP-+pV5Iu$?oB2J zUVH+ll!GrWJ7ttkNI(>fknOBA2RRrDE8fSRZ~EjKPI@hNj}aDJ6maEV6hxhUQe2ltbjR}x1y`ajm@p^zLwbh*D8Tm0I$CAj5BeU%!SJqDkhP8vR$tY zbVXcCy)eTtqw~YYd>+fP3xd}1#&wz9$rev)7Q8MmQsmVma=IB6u7bcaYhzi01-jOY zYT<#WR>wY)c(dW8q{WfM&Jh; z@#6RwL8nlA`5>D0Z&_YPuM$~jK0M49SAEOaVn7U@%AnOiJ})=hkHWBkec#8qr z!zMk=(MWa)sjG~C!3195eGG(S2xG`;oGPmyn9S>${y%hm2{>D6`+jFSt?BCf+NxG9 zoexzMRn!`~D~cAO*0i;i*oi&TWjdx+w1{0)?ORfN2}xUnT2oX~LSl;`A_#(r{7<^g z^!t7P_quvrdN}92>+{^t{l3qAj?MRXW&~J$4Er6pocojalcXk(=RU{Qo)H@^KBM(C zV%jDo`-#@l8c{BC#YNY-Ho)+ahJG&jX^%Ar0!xr_b(cbVMr5~W+xfSh12ryTcF&8l zhVU8Hf@&^jz&bcubt6%5&if!_+?Kf`Z#r@ZKQ&JcZ{DjNDCU8mVG`YzvO2wOmm0amJGV}d!WT6jl0^q+$;rY&nr-%Ut`ZA= zIqdZ`>H~n=V3lmP* zZRylEREdtmi4VPy`1hV_I3jt!y9)8TQ3@v`ml;uex4UnLUA3Qpr!P35Ytn&$$VcSQ zPl(>VF|HIqdmcXf_K|=$Zx$1ClXOVff7k!rf0!!I8whLXAY0l-F^83j>G8Et+Ux7Z z)0W+~xX!?oTtg9UUu^9u`_DQK^I;%aBV7tV@5w9Yl?M+U7CX+=)Dwo0`2KfY|B7{- z!u34bv)niPw=%(sF;2823qbogJ_1T>Q|yfr>9-L>&lT@*kltoTLilFUx0AT;+1 z#7U3H=i_EIuK)9-hq5^1Ox4e$2YO8(`+E1zn=8~JIn|0%fS%7C(_a$E4(H7_6!H_UTh9S9%#IXY|J`rTXLE!c4S+UI47f?a9t>w$fa6ZPPH!-vhw zRfo|AXFpTyUAxY~149bcBeUS|Pp$isOYH*g=1H#n+q$bm-zzx}k0?HsJ6YfOT4vvM zhs=~7u()YAB&I9EKfk$N%7IC{N{~_{5LMBEtEGgj~Te3I3FKbyjz4SZ1lIA+}dwZ3U>#GZqfI*to zyR?1i)1F5|=~~ww&Szm#G$p_b7{imdd-}!fpNs6f_Sj0sh*YhHzF|>_o>ew_L}f%o zG_{DJ-u9nBNhm|7ih?6&?P??6V6en3{TSKetkxbQfVfB2{q8fh|IOu>@ZWWeH#YoG zs-yd*!)N|A6aU5WsJ|D#{u&*#e4r#LXl~)Q5kM=#!6cfSLkf#s|LJ0q6V`5H?=?x{ z+lv-fF28f>dgTpRyre0!%mYE0;V;quu{1|tx+1qq&o+&1Q@`0Fl+?IsDSy)Hx8M4< zCPixo?1kDAq+;LQa7D~)^wS1h8y-HO{X48H(y`xicV2MfGNq@kCSYtYNNav4uWw|q z0>~^WZ(I)TInPYV3ub=o5HEH9r}Dw5P6OeBV{h2+J`MFt#1ZM~-453rvgE4tH~&(T zNfS8S$#TnlsemtFY4rsMF7$OfM6bc30azx#T5r5oW?uI!0m<0%fE;{_VX2Z|Z`4Y? z>;*Qqlv*pN$!8V7SsLL*y6@|mU?uI3w*6b11t+RGnRZ#9`B!NXI^&;*rQU?mpSfrw z6jT}8#O{L#C#GrAefQigmV2K@S#0eDZFLovBz0bMM2pnAcI+{Tx?vdsZ{b9OzqDgwt?E0Cl30#e=wQ@+h1awkaZ@{Q<( zWir^+QJ!7xc|{<$yS87|dh8Q1wqsV$xH3Es6GMCs`Qp$ zI8Oj}_1a)YWcoEAsS!}znU6#-%7<5XMC>B{9&Kn`+`kNLd=Kpht$eoQ^-J3dN~P%+ z2X>yRBczowSKrmvKjBXNb{Vw#jNtQ6!B;?nR6K6hZse!Csr&CPf|>{1|Aa?eEsZla z&c<-9MXpLn63fUJMS{6OprP{$*V6JIWgiZcEO5-R=4FpHM9g}1r$%OM=vAJ7l+a+H zebJfc*xGmv*a!JFA!z#Y2+UVN`@b9u*-QyQxOHI*0B~;9w-dC9D7f1?d8u6IPS=j5rYL-@PZ4Z}K@)!YEfbo-&YeEvDlgP0W5w8y;Fo>h09>y8ba4-0adCm}fv z9v)Ae8hV>fhbytFekA$Tp|ye?1$cNYG1E~preeEj_G$=}36RK$Mn{l((U$5hIWkfyii7TO5<90VTy+Ec#5bULHJ^4aGyZ>@nXu5t`cJ^kJhY-)AWtbS^R_9s zDn7serx!nIN3Okske^GV5x-u!^hxK~-*l^}eA{e>R7j7`a?byzD1KfjmW+?Q%IL0? zDb8^74s{qzlRt!_9>Ou?0Y*OV~bd4*gk3qEhp| z;&9E?5L4S+USUk$era`RyKi10>*KqJeV-;zH3j8*Q(QRO7dK|o_+b|h8aGPSO#>$( zP~4Z+%&r?Z9_KwX6Z7L9v`f;u!0aTNb6}>pS;mYcyVWlURR!DrvoBzY6ZH_>K?1I(+(<3CeoJF#|{w(xK9~ z-)m(in(M2YfW^+Z{As&He#HC7J2ZL$VNL5rnyG+ae6!;)dKWYp)pl=kU0-UOx(^V_ z?7I8+Xp8MuTuh0x#$N zKi!_-GH@n!q6;rLPkIkvvaB2&yZ{>Y?&&8nF(QW!xd1HsGl)8o zlgB<&K>lm*H9h+aYJOnjzo|pd{(Hm`68YS$?ixTA0naW|!Cke9pPv7LSt_#-usCmG z0QSt2v?W%~V{wwQ*cxMkd#(fb%w=L~R`FCz>?-M`LP?eOj&D`kR-_rH;VcQ$hxt|g z@AUwj*ZC)9w}6-e7`w^889TGTH*H_s-}wKGKXsb#*V8j}C+?^JkCJxf>{`+HI(_*e z_Srx+4g5dGuB;Su`u}jF&+@Z1)c)^P+9~D#%cBB+Yb+S8AIi@z$V0rl|K~*NaYmuk zKO{H4-10FQQ0adDfB3X}f}?f+S7@VQZmB@fj2AuP5Ch1r#6+aq{x`BfT2bQXTn*X$ zjEDP1zT{TZj!vE1o|u!@ZmAK-YhN-JB#WhHluSsn{q(Ii%-R8Afjt}Cem@F(f2qJu+VX z=hzk8_f@p*YO<^C=SKvz#b+gbv>Vfy8T}{W`QfTIC2dQ{eH@Dcwq5?GZbc79kjC}O zR%|5?B|#n%UztSNUtbOU^lNt&>`z@FZ*a=Tt6V5q_GIlHm3*b_64DvPs5l%x!2JRV zSLlUAhu;d;&HqG@Gx98cJ!lTibRhNBZr(gw2n=xD)PYL$nz{9b1mFx^cPbgK- zs=-&3ge48Iv$_O26i1(wkAo@^%0On&Y|TM%rhUnjlVWS>W@8(wY!jWz^3CU9mbh60 zH3=XYZ$9yMhW%N>YqNN$l?La=iu)8#J8ZD9WCF~|y2H;z&hbLtUy^*`J79Xc*?Ex0P)=C?K4Ikp{Xu z)_CA`&d0Ukj_lGH2J7fVBN#6C-8`!w|C)eTjLR?sw!?t*yS>MxP57H{fo+j{tw55u z<&_#MK==W9TH98CVrHh@*e^OKAw>ziR4FG?*qyGc32y7Irz>5 zE7^RTE@MDmBoO#iU{z;ala=r#n^Q_4Un>)vH5Wm~HT%G|%JxWjNkY;s-5&XT<%LES z(z+evekIgyHBa%b>n~mky2VKxS26+SorWRU7^AdF-Ed*yOW5t|oj=>ozOHHQ{<6AC zl4*pt><@V}Yh3oqWhoAf{LV#^aC`Mvj|p~q{Z?K*HrklG9vam~Dm13CVz~NeY_Rc= z?xr0ZxJMjouhgV^-DYdO;>LpsLDwOlD0LH9HLHIS?ct@N@jruCnl_5lIUqoJA!J+k z)|OH69z8_1j8R%C@)b6urD~6E{zn@+bZXM7Mukl6)Ubw24Me&jT~2yb>WbTJp@&PS zE60{sj2SB~E%nJGrPG_;>Db||qt?F_)V+imdthVTGgC^EuE}p4rsCbf)WR4%E3Es| zyNp`s-O^d=c41XCt3l}HNX|PzkV{+V;7t~6dxiPm?6nk5 zycIbeMwKu#GABaQkk~gZ`gej&*p|yplD}1asz7rUglV*V1=%V^6O-(6v#94A_ep1>Ee`eTG<4#t|^xc`Yipp05M(_%H(uIhX)uW$EAE#4Gvpce} zbe0j&rid+lB%?&A1G@#h*}lPey)f^_E)n2d+63z95}dK5-;=O%D8Tl^h-3OR6p-- zRLahP#^fhV=f-%!b0q^ftea>Kemu(v(1yurYAx|SW=|h(Ow>Uqd$Rn?aRz+5U6WkJ zvaBI8JxSF-lY^V$XnpTh<;D$1Kj0LBgBak0z19QT=I0~A48fyLp0%gm+!2-ur#tEB z1lCl<>xQ~!_qU2@X-fsL&DQt7vr@chB!DvK|G3kc@(f+t6SmU1cY-#R6`T5ALjhKC$STYMs1AAuA3>|iAX z?_5wz#5})m5cZy@?TYi+LW5Y;Gt8+F5AS$)I;-MNxMG7|YDSLA8OLmdS2mjFDAWDS z8ljP5T4;;?%UZtM}P6Pm;BlPwu>0=bL9Kh2r9e+ums{h5mMfDx|b@D+? zI=1$gmgH`a;~go^PE+;22X%j}oIqjOw@n3e?osTAM&s;G3t1a~1hbj9w;QQq!ea1> zF2qtak@&zJ5odyin}WiqsZUryw_ov8g3&mYQAQS1Yc_(86*^b6OKqx z7-TGUZv`N1)_F%@onBQshelzRiTbVC`g%pw8Shh3U z)KQYaa<0e5&G-1JIL>cvI)^LT$stqd^C&xF%|JW>Z|%9s`yLP6`{TVraH=d2$&|cK zDcA>S9Vjr)P2*R`0PPP8+?raUa+u?+t*gZ9Q-E$(QwTBGb1t8De|tk*rE8Sp>tuI~ z6QBtbf!IH=P@fGUG40}B+i65nUF_Qz&D#P z(&P}BPm5zb<#3BoN+;=>HlfP5Xjuo;s(mKpRXQEH&1`+RzOR7+rla$g4O`s#fP>=& zMWzkab4eSVuN)7IEg)8*LaH(ugunVvWO1;kR50L^)ROGIIUhasv(J4T=kEDF(f7r# zG}lWB0)V@dahPmK*x)dL1|xYdE*QqbqKCp2qpVCsyds^9W>z1|AuETQ{;C)CZfljd z1N?)7vsrk+y8lp|>2-%s=bO%I4@#$|0c+Sj`={dcKaVo((&6`ck$?l4o$_pc%51h5 zBR$W_^GxQhc1y@~ICw`C=%btM-xqofPLaGhWApmcq8P$k_+B>r6}urjg|Xka@cKl0 ze{zH^jzn%6Sb!%gG)&~zrzoo&Bo~$jy(5CElz}<2g`hZ5IjO&JEJ$qRol=1k)4&QV zC;gXy?~59V#t^zb+D%A`0eUq9S2%5ZWt9jgSr6_C4@*F@#n%py67nds$CO-g*(DQO zr%YJ{_y!jhF}8cB@9G+;Bxtjee!WNHYK@XRa|N`JGc~qaX_i~6$OGNt?_Y%g(~0j~ z!|b=uSwCv5ds`UN5Jd+RzNTM;s^`6HVTFx6Uv2|(yGW|#1 zzOLk*`4|EyY@Li#uAyf4pA@)bPQwL^D`&Ap9ZCMkUzQDSlZ?L$t8&vW0-BQJpXKqYoy^03zwwj$ zwy@&#`r{WXsu(9IQy$3J`os-`b&3K2anG{P+-vhU<%Ue29m=tj{ku zrQd-piM?r20W_A=zc_1{Cpd#&#)Hj>+WY=!iJGiAd!aln@; zwv*1#iq}yCA8wqo->-gB(3D$MyJap@@ymKUOPJK(lte;)O1}1wZE)FrVSpFpALA4S z22Z&K?!9;Hzm8~XA;bbs_6OYj(z?IvFZeE2W{*x>`1jua@;mhl$<4NSCg^)Tzg!mE z-f8i_KEkD-tnq&d4e*ll|N1BG1BnJ81j(j(bx=c>f|pUssiZNDg%+xu%ymb&Q2q1ZxN0P^9%=H%Ls%c-rGp2!SN zTAA28oR$_UkCCi`DP?{f{7N@?X8C5_Jihb9`iRa?n=ecSI zzDEv3=}D4ckj_R*b~cN^W%o8kuB>eM8|7cyHmbf1qxHZts<0R>zo;2%mA1q&Y#&5C zba1Z=r*+@VCyJ%`=+oJDBJ5b@$~o1jV6A>eC4w*&RK~a#;y-#}@d=#T!IZEv}M zLwU{p>sem+w7z%~xhJZ?$JdZ9Z(xt8N3Z>&n_~2Aypc#k>Jr9fz*?efgf9n~@3HOW zMYB$|0#c@9e?8~+H%-R{`H%sqpOrk`N{_9=p1G4-fK3<=lJX7Dgb=*+M#x~}uP#%I zjNEGHv%oD!fNvGPP&>vs!3^mf3yCg9>nn` zC#=N8Y=2|5{&xjD{H|E4?%d|E5MBwRzwL7BeGcw!QT;Zct$oXbE61XvFpR(!t?P?c z<{_#8(smmO*gXH(>#A!ul$cW?B15BWAv1cMXWR#$@rE4%>OjAMcM9mZO2_rk} zLUt{231%>uZkjPQ#jc^3J+(oye0@ehu?=+X&MJ=t#P{6cqbmG-zMQ~b-6tC-D1INSLYBeJ7J`$JmI&4~HO z=r6cqG;(EHQ;INPL?*y8hX6# zXA>X9&3CrKK(=-uiesl5HpFIrSnYa5s*ZHKrbb|(k$-9U2swrwWT^dH)d`PNMjMME#jQ?09;%<#&2%=30}WaR;!t|M8P%tbGC<1E z=?FCdG zpkeqSmk-~j#=RH%j zgfK-`&rot6XUzDH3H98DWwusIi-a`E@0NK(T#qrgTmw9KIOL;L?(M3+D4XsT%{q6m ziE2&}B?mWQWCHC55xPsrCyElZBl$IKbq1$f zD(u_5yf70xHC-Y0Uw(bWbEwdzP&>QBCk%J~fvG?s%;QAR@=B!)h5njy2PZ_?6(ZTC z&GXYFBS42(Km9}Rg`aN) zMvSPQ$)eU-o_#hVEOpAE?Y-_O7Uf0{-49MkZs16r zl996>usJQR_8SnY_t~+ByE@lIc6QRCQUeFV&$G+&&i+*NZ)XRROPl=%JwMLf z90P+rQ-_?7qCb!-(3|AmjD}yDE0PEmdaRQ&pl)oCPs06Wjhh3$n^4I@9jDl^lpZCU zF|xjOpI!bPN_UG4amnFYdZgXQ;q+Q<=>gSF5miyQnU3`|$H3U=jX1fKu5w*^Q3<@8 zwm4fMX6u_MQF`0C3(gBG43mT|vsmpFyADi?*+Fx0!h!vf?eD|&)u8!$6l~y2&*Xj% zuwC#3tveVy2jSHc{uiknxm$(khRG2G@HaE2Q!=m-XgG> znz1VmtU-g>8T~m2f30ROHJnm*Qs#zR8BDJyGcG3*_iszwx6V|^FL?X*&faaW-^3!X z28ZwL3&}fjjGTj$uN^mq5^c!8+8j7wI7GDWAz`6fwiO#>tpRI%zYC=U8%;hPQbv9j zXJq%ujJKtz6iFJ%p1)kfd=O(F8(hQ+&6n`!4F}EX-5d@w7OS7SaX4ge-34Wcp=p9Q zMEfWv#C=SMG-6PKIR3I1RjdaPQLKce?3*216m>@DMQSHJ5Siu zT9>h_4`%P9mU}$9`=$aa-Rl42Ss%`vyIekDeb8qu!m^R2s$OYEFQ2;_vA;lb1$^F| zT6XHBOz7EwuX`t%AY*O+mq)g5Q})Xx>t&;jTd?w}0Rwd|S~(?vkMOcnRcz8N-33On zYsw_etjqWVbw~6k4u@FvV0DxXIj+v$XKddlvH0iQgO>q2;b=c=ciX(>!IW)#CT&pN z(+RNO_HdKY;?yOL_`)v`rDsfrY&`JJ7*?OG(E=^oJOMS*`y-&H1+acL9*(#?n2c=| zYhkiHu`MXMyzZsi>3DD=h&$s1b@wc<94wAL%V+usFT{Y2F>2WGx}9H-f< zcFfzy+S@KGd93yWlGw*RX7nuMuW{niBFDxq#U??8?x>?V!)%`y-P!76p!c{cunC-X zKddZudeD9MMB)72a%79dVD%lMU*~eM7=N9FpmtmtLfIh6Z_HnW`Ap^8b=O$a)(YjicO+Q2HkzN7o}IhUwB>KUV6gLG8XQ8V0HuU!GU{I=9dG^;RP<;%tiIMaqzq&t)Ng63sN1_FOQHJth&rd4bAQeS^6obv{mi4ewaBkYWpB>6t|IA zJ_T5vt3|UE{RZYjsu9Q;NTN}Lsg@95OU;e-JzO5ShFuV2rb!9ypEgGc7TmI<%ZidWs z0i@OyKB2^nwW-bQfJsbWYirooznb-BHjXZ9@K~h=T0w1f`jDsFMa);8@(m`;>)yV7 ztH7GLikhnv*?amC1-T^_uzDdUbmWUMnZc_c*^Tns~}~iVu%_#PO=EAqv{zvK+{u=vSgF_1cQjNS&HM zyBpZ3p7)$`zaAihm?64AM;2S14z`4$n#SYG%<0qaj;AS`Cvx%9#gQf@9E|~A$eEUP zj8~%neEFJFT%nd|iw3fNK4Nb!in^d$%39UpYg^f>4Y0jE=fzesuTY_jO=8Yj;HL=3 z2?XJ*vxdb-u@@cS14wzKaZ8TJz(=d6nJAhsH(#B{!bj0RNW}B$<43OlCeW!$y_ReA z;>&$cSq^3$r}pvITvY!)dw%Yr@jA;u0SFhrmAluA)vfma9oBy+vY3&J5}0csE%QS# zfZ>6W+53fE_PZ~y;kaoY^F6i${=`abv)2TOAitM=3j6kd4oJUUx%>XQ@x!AESN?v- z-Rm=La^QdHDrq_9+c+*C{P8gwKy&}=x%&<~e|svh4PP{4fZl4#!QxgP-4QPeEh)qv z(Q)1>B*b1;BTO}DI$4VU9GbQdh{U=5u<9e`ZkX57obpWjz1fh@(bU^J>h15!Mu^XA z?`RoqGz8E=+%vx2$z>1+@y{{I8~_VevGYA8Q{#7Cw^VGiddPM$4>f=wcLcp$n^ec3 z;C|DMJ4GlkWv1B-FPGUk22OPQuRC$63q#@&v)BoA^A;$h%AYmdSVOyoJ2SIM$y}8d zHjnD@@6mX-u>Q{7s0)HVQMg6&Yt8AgkLRd zm!{kX$~!+};UiqY4jHpDX|@Q)Mwz!Dj7Z!XzcSNK=SZ4&rpIlXTc%Tw6$JOlW7a2T zhSV0r8I&rOwkK~(1Rz!w?R;r{ORVlRbPvm)o?buG;C@l(Y;de(Z}^uz40o+D=cuGGGq-vYt;is zN{y0OH#3U~tV0BCkt%wZad^autJmk+4>lp0SJIG!fe94eK^d6jw2`kXw!ikZbQTaI z(57)-na1M*ff4iMV8bE0cvsxerJfeWetr6_VAfITb&)TlH2SlZr;dLmuzp5ePYYa- z#nro|R{jneMzGc`9!UFap@vBevykBLEbBm&vyV%;s;%=lpoFcPA86L{lGsZxy#aC~ z%R1X&z3i(`&oDdYapPA#6O8QDSa<#BtdIw7>b7?TqoC&G?t_!==@ zGs$h$q01UQ_I>Gtu*d0N*Mlg!&%{9I#?zm+T|)~Rhc$3aDKn$jDj}(})ywl@YKv&@ z+n!0{QZQ%0N`7vn{x|be#d8Q7?Oq>7YxhiOXw+G79M+?yYGhNB6 zN-*NJF5V^y$+Ii4YYEe99YxlGk>hVZfyLW`wW15sUxWlf&Y~IZeX|ZDHF{MMA>aef zP{6A*g9oe!oMmsDycN;kclYUg#)(LT!;K#C>im1RC^ws$@?B0~V{G2#p{$(opHD8wCbuXs1Pd{SMoWG{>ngS;*Bv4(=UMl>xI|r4wn@hQ#W9#PRKsis4MU`t9dZ?XIM&{ z<8QA*pYG_cO6W3W=NTnRD>Zi-CDM`y`%{jb1*pOSO2mYSRG}xOW3^fwluGe0(Teka z5~vQW#XV%DyC|eMDDz^?Th-cQRSM&sd6|A;eh*wapI_>rP#%9Cs)Jco!wpUPMj?&X zE8ZrDPt-6Qx#4~AAi(CBx$>U++^692a&4`z3o7q)uFF^dnH>y7qDBD1|6KfTE9~1^ z%Lkfp>&`x~=d}b|+tUhTtRSlcz4J3hWWRBjde_zZ;>=Agr12Bcr^fb7U?sGf)^_B!~PJg${pJjp79N$p2cj1tYv9qV_~Z-On_{9m{~ zWgNXqeLjT$>fV(d@+}g}u5Ej9gVyn|XVbPE?8-=N`)uA7BT*&Wvj(+pi}XAI>`*;> z^fgJ^L-b469+#*6)h_7R1A$euL|WPiR#AcsJ*XB@xq^ag6Dz|vi9P+d0N&!lf!pS_ z^Ws@YUcacfD1UW=2$(D#qIb{you9{p7yz1epVMPk-RfBkVo9CcpZUkcO!%wP0wp-j zmU!ZjvX7~WKNhHjs=~40vb>S|bClP=NgRU`{Pm&Tx~8sA;1COlOJLORJCX`I3Lj>G1JKGvTo0;TbeKP)&>a15<0WJ&%3n$j3+jr z=A8uNEMV{59RsG)h<^6de4?C#uMHRlar8B>6tvai}g)6(EU z)c3($`~G^j+aozw6hPL*D~{vykDMt9#IBxqWeO)$&5ZJQgquWIXRV5r;I>QSC4l?A zCuCiSIC~nkRnET3gPh#EE6qK!{0mOpmT8}^KY)w6J3);qJ|d)mnhjgG2>lV6je3!Q z;En}Mf5#AaaA5s`vH2<0lHF!0@7B!>0lJ@-hi&-fTIv&^t3weDqFHZizM@zMKS|!y zMEypIqNM`z$;JMXzj2V7)5^gX;8aNLEI@ds0j$5w4B*rY?SAurB8anTp$)4Jso;~^ zCZE|!_t5Xvy=bh)kLKq9X7t5xKqR>EHZNbp+o-;qQybTTCuG)=6_^t$A67>j-+e)j z)n(dj=vUQ>QHLAp+E8m?t-rAn|2&#AH$xB&%3tuJedg_QTfBFtqMy^%$}fI}H~tOK zy?InRL!fYabI2Un;fZrCmY|WA4@cFsv{DPR!_JZb+3E4`IrwjOjD1Ic7R6fX<>~29 zp7&R6dTZt{=khsH01yAY2taw8)Q?zs`QXKV2Luozd@TS@>4=YV0G#Ky^5I2aJbw`{ z`UAvP53&F@y1tcr{oswqh>gS_ak&QXTA(&Q2$@|yv@l0tiiW(Zzpo6IZCiQ_O0B# z?y>OKt#5`IxC%r>rVS}y=PmI6%-X)EN7eo-!~rJS4>8XZW8ld8w^CScwedLnV+yCSIure0x;e9JWujC)a{8$@#m8Kt_`=YNs<;OPx ztsMQYzD=|J@gXy921H;>`&$_eLhg*NR{4A98i)i73JQK~VbnPIzp7HK?tBHP?T338 z!|pOo>!Suu>$h-i3KeaYVYafht2xW@$BscECswAVlIUK8rnXqdb^k+VBMU>}5Xp`6 z{tJ88-d?n|x9!Z3QriCwW<(g9nhM6__2_`i^|-}S6V%3A=Rr>hsUfe$z zBBmDwSwT4!{Gy&(`Iz!ntBI{e1X{0GAihAVT=M7if0feWixJ4SmA-mgIQK@LXG_E<4>*WQb=YYg>K_D+t& zchem>SobOMiE^3^H9-Q&ZQwSHj~=xOqzE3W=XViy>pYQJmd22%b8+H*%Mm-Mu+LSn z2#=6qzFn2yNA8}C(F~YBDF>{id#Wp}jUdV5&4@v4smP>c=aj1^ZA0*{Mi^Y;ZZ>d) ztG^*c!z+5naYLGX*I0~{k)-Z;Gry-D{*stM_vO{X7k$BDlRA`?=%~|Y93o;fq)Y+L zw@vRDatcSjr#VNjdbPlT&xJ@(=;Uk#mYVf3_Qpi4z7##TL#$YjGX%SVl_bvVeEgsb zcIeD?mWIOExz0_;S{P|AN}}j;>qQ+ovYP^nQe0v%|9L8TUSUwFV=Tf@bRT51Rb;9( z++d}R|4`2I-SN7)wNXFXkS}63kmkPiFghRv1{z*?J9o3` z#nd_H@|2}?38+%M>qk4@Tj48pGMLQ5)N|S}+NGXxSV8&+ZL=kg3(!b;IWSR5vpt0+ z!PPmju@%Yc4|5;0Ut*e%WYj=o+W4OO*Hf0i#uu52eT`G{;AJKFurZ zq#y|*n288TI|*@JpAt7VSvuPUSIv$HfsZ>>3L19@x61WB8fQg-T&v9Riqpz=%)myI z-rH0;lXB8S#+AZGd!US3W&39^-A)EN7#>@n+@@aX!@?=I!|=MBPDu!9#sV1vKgHWu zPOIE<M+P`B-Fx$y9k1NnS32*wdRq zJp7U40bT=kYcLJ|kxytOJRZqvA*D_iTnVLJpTS6J_|ObtDJtY`;(V(uA^2 zE~GpLauUaTc)?=I71INql`ec=_w}es4>-SIuZZ)Tu<@5BQ|>*R>uGBI@ku<-bk!@; z9gUrUhE=@&ZCheVt%P!|rzBeESIo2Lhsh!nH5^IWbyTT!jb6UXySB;+OAWA+BCF*p zbe{db$TJ^FO;sBI;->HIvGrJJ1I*QEqaWCZ-z7cBA26)smyWC(=py7r<-+_qQuLhG zh{r!C0c(2hhz}im+@|s6uE%=OUS|OFl@!bE8wbX+ zehfB@XY@-m=4E?9uz}h}m_@mNG%I}p}QJo7AU?v|SX}JO>$kdfT>&v`2gMpH^1|nYsZ(0p$KsY^P zdG$kKQ+wFX@Dy$|z+lRED^+XQ5EaW5DV$ zDuw{WQZ^Anw651fK8eRTopx|!le0^zRUv219{6vEhEZmRCi?&dAvEXnjT>iY-8(c& zsTz?ZHKYJuC6JI3vgcb~Y!W#oc>t*Jz_Enu6Sb@a+kOqXjNLP-V0No(}IY`@OBtVx3li&W`Cx)QVNL7GZo7sE12 z$(3Fsa_mWjNka4bU)?rSm7V0Job4Le<*ggZ4pFYk_SM?v`-S3ZIRk>uS3DxQn%OiT!mgo88FgJt0IX8v{78SwD_D0H zL>wNMbg-G|WV6@I?Yz(6;^Onax{SR>dW79LWlEJ@~^as)?-*73aN zF&=^ou^M;w*66ORo4jurRcAq~yg{0p&yqHZDULkW>II>EuycB59~|l5#aUZnZH3}$ za|19c(E{fle~3C*Ii~#;cop?7*VpkWAB0dF7gYCK=?(Nd?#)tt`0!!aMw)xz$T4#z zjhA!K_3}>NZj=L3cxym(iDJB~RMY^k&))ZYy7t)PtiuuIO+kJ3s(j6T;} zqO2Pw(D`?5li_oI77{wDt~z(38+o5q;ma(ZS~n z9qSXl21n3y8^Ds)({(CPNc@Ur3unK_XMJf(I)k6LXprOpBx~I@1C{Y*N^%_6K!J-4A38 z!n&iEV&$aT-Rp)Eh31>&5RDA;K(2^UoPOpAt$({{iIiSa4QHV4?mTq`_dIwsrAfnA zzw^KuDLe}vHZ4^1ysfgnfVNSoY4ZN-c}4)HdR(%TqXbBE7M$!8ZX)U7M0=H&NMw zCrno0H)0x-CfDPK)dR|a<&1$(waB#RNE;?5*G-D5m{sx@H%SM9I-@Y+*Q}#Px7P<> zS^BgUAU4ewk|daO%^vF%<-~U3uq#ds$WD2Fc0>a&*N`#YNnF0sdg0&bl;`} zygmv6Ww1cJyZT&QX#&NdqcSAw3?aK{Z}v4OS8A*67(%@VS^?R~EXEHTzQs4^;`ts1>#TK!mqCjE~(+4Ut7+a)fa z-pi5^g=8PIv+#)7s%`XGnTnh|20G%6}M67P6Z-XdSZ+leTb~fexqR&F7=)p99bB(*^=Eu>rA1GMpdj~6#{4L zGSk-$G+Qf@=|d!>r49y8UXoFns@P6#cZQHt90K8JUU5tSbA=?MvIPsr0ds3^QAV>- zJ0>A7#C!#sgGQu2v0VZq6zp7_m+d(Me{xzrbtzY;%3j(WGi%D9Nt8? z{#l-$$%x`)hH8FYXgxytNAvI0>yB=!>DCQ%?>m5`!?vXH8S!wrc4(9`$tiQPg)m7m zC(3!^mWSP!K2SeCI@H}*DJJg73ID9kjeNn5x~!o0Un)ZYs$ef%J@&UZk(njRy!w^~>rRkJG zKTbPdLPhe{oxmvCeB>+H_Fnw^h^Q#rDDP&+^*2H!dO>Y%qdRHr`98#K`sOm3ZLM8W-I-a4-eSg2ItC_)Z{}_i5qg<1zH3({dBZ|Wdu$vsQ^Gm4oM`=Q zkU1m?O0CkU!&kiK$hhH@S-fHC^)(FNYsw)=D;~7DuD84{w-kcmHU(A+BL9!E_l|2S+26<6 zbyu%z;a*)u1Y}()0sjRM0mgg~F=2j}Q3jEt{ouiaM|HJ|7!2l|*Ql_Yb=7GClIm1{ zbE}$mU$Q%MiOnpkge z=T9IXH-#W^E@FcxF3d>3KHpEAjjA`un5rbP?AR@%TE3HoWiv}H_DLDDY|epN_-$9$ z(;XU|kEKar3Cajy?e6lpD*v?B4@ayBBdg@tDji2+lKrY6g!EN zhcjG3o#h(=gf>ae3{@%g(|uLuXFpI`IsaV5!#=g+Eu?0yZ^v}>?eCOvq9yWnws_7606DJ zRqEot2!{M{r_&Itnyo96oRKK&G6TJ?9Tiscix)z;H&B%7?*QM2=f+{7Tlj{pmjj}c z`@f4t_QZY{g2L?H^KD2_nK3E&ZKTxymNpbA9h+Xb9_F>!L0+q|+o?5KP*)Ro>t9@B zJ)x7D8mS6rz%slvTQeb2%e(Y8lLKRnFh4ldzqpn|n;S^ww=|qcUdGncEb^BNZav{x zs0C*6@Ma9`_-Yh4D>UqsV4KOF8Z$O)JPN*Q6n6QRNY!w~iPlW+BlqMEBIN}s;=40R z`%>9u@HzrgUi#NP#}}fwt2Jz?;5xyYQbki*ThdaG;OH|vY2caHuZ>&vaM@kKW$@~P zU97rqSf2Em1LqX1P7M$@=G=sxeu#SgyM^7NP0g3MMf3~%FU_N>i25Vtg^J##O3MSG zd6Y+0oNBa?qj@!>uZr_XdfMU8n+~uC$BDKKgQO*w@KqPk!cy2!Jh1xMw%D-s*`45a z)r78Q{lB@*tPXd#CbQ9{l^F@TD=uBc}vg8rf6j#hkZ~ zCTcA+lT|Bz_p-jq&uip2y1LIo`zH-8 zeCkZw8L+|iaTrI?&RY1SeNDh+d}~72%F2W`cpHNH7M}V{>&K^#*pr?qoMAICB%(m? zFDyR6bw<^=W{hxzdXlw!X*JI3Md2YY4w{T2mu4W7C#x1_!&TnE*Ox5988-Nh`(;yI zgWe}vXuY;1Fc#eB>0M>`_i-K6HhY7fnv|k00(*`yV-db$fp#2z*Xn-B8I@;UCglZh zv3``a^)_lH@IB{&6$#SY_k4}b1}&xx>Q9cfS}u4nqE^!>lc|!xjS^C3&*VGQph;go zbdV1a>D5)74q{y9!PszHVq)lW0_CtETF92x!KeOY1wt<*Nt`L zq$Uv+qaNg-zB=9sYr88;F`(I|N~8{9VtPeP!dP!Y{Y_tjdC)QAU~4hO3b#vDh0j*9 z&kOR&zM(gSel8-)8`m$jmCdj$gluC}&C7aU4{Bf{M&*13yh3Q}>vPzMngrUxn7)Qz z`Z+TOj5RO($fv?HRlhUl*Tl_Kl*o~B&%{n{MK136J%n(E=OxN`*im?iCAJ3Xyz^!C zvHjKy@x!LtsEvkG_PT>!`Fa(3A>$GV`sX7OOQkXmqs5;a(mx&wHT`*bW}~GA*bUW} zmS#Q zXC)_Na!F*X4P+E*9(3I-r6p5?jZ0^x!RP86EGBl@dG^mJgwY?VG82diF#*C<8lQ&c zdRL1S-^k0V3BH(6vBckA&?B>oWmDhdXzSgfd1~-g2JJ}1(qIeb@yYgU#PwXF_}2#M z&Q3K!h_DL|2a$62p`IIk?`tI{yMjhAt7L3TQMnA&ODeiAn4S@u$0`RSodYW$f!9N8 z9%J)`?rAXk#NYA9LoB-T%s#?t3kHASry@pmMb5JrT&_g<(o&0isaW{qqwE$;+g8J% z{ z6pAyK(*!|c3RpNJK|cDcmz@9V5?3PjRDCX#=qp|pHB5eg*oglo42X252x!Q+u87vULX)fug*r$83e(p1yL*{f$A8X}>FSG|~?GckOh zxBj=a`rmi@t`|TD%(PVs!5;HWmk_G+6t_B~)^h%97~>yl=FbmS&m)%%%D7o!q`G>U z=a+!Fwq0sl$Pmyp?p&MJcCZ%w@R}>mSwAR8bmt_Xc9vy|fjhS#w$p9k2b+KC8t}Az zo17KX5c|h=s~|h5s{vB_-=ILJQ|-P@LmC6V_Sbs2GV^=6;L^ zC(+}ina}eQp8g`sj+BZ60DN&wg9&iTHi=2?{ycl^uK-ASrh|jU`r}=hd2C*PukdNw z;#)a@rSl-w9gyo-ABJ0qoMTbe_=BF)kHAS8(`qyTAjw2*k0-^(t)Ms;PsOg3+1Ht( zuppQYxwP4Dk5NTB52*0e?RHexuzsM)2Rgt$^eO67^P5c31Jlg__kPd)p$o2ok z6XeL6zz}t2KtS}?{*22;r2v#k@4F4LJNu%FM?`$Kr{37@-sMzwf(GyU2xmiZYvoBG z{4n|L_>#_rkgSVMeYXdDu<-gfIa`o#{@e{EM7_ZDQ~_w`NBAq}y8D(YHabgee}VkJ z$Y%t}U(^OFJS_@mqR#{eJ2C-odk%eRADN&sdbizQRh2mNCC<;jP&uWnB)&|r#GrZ$ zF1t8RjG%c%7F4nAomR^@l=mf$=7Y3~N>q>X8>ApWShPD*ZRtgbFLpU}IjgnR0|TAb zhh4=;9SigdhPS*qIjm>H&|4tQH1#69z0r!hUg;QI{cwtlct>ef+XBpdUWS*|>XF*S zaL!W_go)FYLPi@xR_n=@$wTXlgDbYSji+cES#*miI_$c4LmzF-p|iqlyX}cRTvhfR7@Q`7+}Yeilhr1qay_;D`nW#@#I28=UlN`xrD7& zONZYqyVC>zrHxlkFknqag6d(_T}}5k?`>au`VhMf9gU=ZH}x{gv!)CA22GmBKmZZ& zi`uLQu<>ckLLXa~27Lo)%mq-}EL=uMnJxL1JVAiRI9Cky)p56oq3UYXua>YkRawCw zLaJ3%(AF(Oo|{Y?54=<4>YRu4Ktfb+>F8tYZr@^2qy1&t>dBf~Xnx*fp3D)>+Y4af zkU4z6qRi{GsOW*RNGTF21+g2oMF*DK*YfZtM4PPRBr{7#o~|lQr{mgTD|-`5sG0qC zh0=UwYdy)-8-c3N@<;%UJ2bD&Oujd8O+o!7U~jIF^F@3>oC7)Vni%jU#2WB7`Vfd%3q{UXd9_5+! zGsnZ#GZ*msH>=4PTv&8FlcMonGs?LmWG6H5@c(xJynODi2G|rzJ=7JL1HLHSZtt>`;tmb%+Sb5Hl^nSF$ zClQ*fdqN4BzJ$irK(qN0kvD-K0RuQs;|e28A=1XhV8RWa6g@SL`J-ECAI7D3V|y*+ zdC)b+VR8V}rS@ln9HnfB`Kqb>OOxsdVpUi|+5HgQiXMHWsH-x3LMVHnjUK@nDfOLb zb}RCT*4QGk81ZW>S$-P77ci;Q6*x49`JyeB~Van~^G9RZ`C# z)snNmg@*RZudeCKvp3PMz&zT8=!%=Rv^Vj21)E-Kou_8&1m>&t59d|DZ`v+>>XB?6 z92aU^q60ZIG22Gdl_@#`y;|vhXb!-p+!uQ~WY-4{rV~US5-_j9wqQAN(+K5WxggIR zqp_scPmJ4Rwuy5gsj@^=aFU}BQ@d-iZcle%#;c=N?xWRWN$eFBfYN?S0W_5P(Lp~` zbcYAJtP#^PH<&zS2N*+vZ3TdLsIRBj#=p9f&iwTDOulJia#>-Rq%vkBc=Y1H;Z^z~QyfgYT`-ZF=2PTYe3sTFD|-L;L|wj`v^;siM)xqO8m zxZI0JN^v&%XQ9bcvTmz%^Yh11W_N*S-GbNT=;UFM!=;jz*9TmZ=aPP&6ituIwTnI> zEqd$3oF1y&vclCodPTr6XRooIa$zw}IZQFa{ZRVcvOs%5tAU@4Wj5eX3IYJ>{e?f) z?T?+dD9%mHjD{Y}_Rz#JvipLn&Pg}?4flST%X>n)RQlu;ys@1fcy{^9{27rSQwK3B z{RVP6Udy582IIDg%^~)~R@uqcCc-kj>S45Y47nOVJYTUsZ!o}nofxn-5~SE@taDC~ zP1U6>4DvaoraQw7eF<&(ZhUO^^3=o8`<5Zr9#%PiAHj)MR$3)I1T{m=D{cK7XP%ib z$iLD`;#D)eE2?eK_{DK31YGMg1s%~gBf9iW2;Q6-X%-6byR z;^Uvkk9NxuABw+}oX>JAsyr!xEhU{>m#z7pK#mEJWu)j;gmz2vjP?CQdl zLP@{rxwsJ~cc0MNRq#n)?;G>5{zX(7mKjbccbreB^?edD-}+cS?^)*NTm?RLWZ`qT z`Lumz!dY{}3c!gN#p_PDT{&Wf=2igK^y+Zt zdbBBcySy}bbjfJakRJ&Qw;|uNm23O=Teu{30iF@+f)axVCSX zo8>uF)&S>{(Ry?%z{BhQI0+Fk0kf(b^V%vnBQt;yhu}?93+3$F73bKtq+$tkQqQA# zNB3%NwRY@J6Y-RdYXB-`GgeV%VI5}yP3;(qLs2<<9V+Lnc?Cb6DVE2>;#2^^%wzD{ zT8d%IY`J9s{Vo5{kY!L5LDEKUz z{%dKz&H@IE{+RP+F04oC6zr{*g>(c0iECbjx{3ln+K1p^2U#t!+?EFQFxIL=wpW^3 zcDJ3y+K?Mt=D(x7qVj^c%%1S>kl@DyD8T# zSXAAHbLD^@DkOJgPP}*IT&BoH_x-T4sN#+jbatbu!C-}k03}B!AA-(9 ztc9G!7W|nkA-NQkd!ebOe=j$>Boc@X!kWgNH@? zn<;ByXP>S&CuJfD5bl3o8$o4W-|&pFvR1PU>0fG<;@?INNu4)H{Zd|baD;yA6wZC@ z?UHFnPuI^Gb>CW+Tu=VCEVWU>Tf;Wl`hP-vJzb65PTzw7zB}cBI8NtpPXxpyl#5Cr ziJE8fkZy@#e#=&VYb?*q-5r&%{b1l?049~y{SM^m{*_Y!oiM1Yxy6vDo7h{-+mxLY zxK9Gir~~#lAs!@NcBKAGOCBWUa{IGxxX+E_{$7Muj$)(W343rVMcyUI-siDNH_?Tj z-l&3JLs~)nGRs#|?MGdxe%mgPlq>EHFA78(_CYi>U?<5Dfwany&3^&I4CPoq+XWEn zo6;AMsRgOAC@6kN9BB)RR85of>kjBx7CO}q#oz4XjAP*k=OQLQLA+A__MEqJQIrcV z%7Nw_MAzG;P*v6NDJ`R#1yolue9ZXC9kWZZxfF)KrKu>-CS^ zbYPUO7Kyl*>a-0Tl9BywUhbob-Df*x^?;V={WUkOU;3|>u{VjN`!ybk*?I-!=Nk^8 zE5*tARS2YpVm=TRbP#|q2vZXWgP8~bD;*O5^Ok<6hbnB z`V#y3BO-KJc^+!)a(cdZ%{p!PCsKE04QFqfhi zV4<<{r&l}W_9l)zzA~swsCKlM_oQW$$Zs53kW$JvRSmN^{zpMGJIQ>%Bc#P5>b7O| z>VyYO*3>D*rvrOH_r`BXEfmmZFgWP%JULo^3iiHVKVCoZmj{QLIk0wX`X9Ept~*q$ zxlD!7tgxS{$-WXZ4`=e{fE`7DhnfpL(^@b%*)Q}uKBn`jstx+WYY6QQq&13wzzn)L z1Q4do``?uIx+zsiTd$d>Ho1b)5qo$#XRQJjFhi}@2r^%FtAy#v=RY$u{BgL{>6g8U zI@>&n$V7bwh~%bAV?PZrx07x31A;f)??J=*)?R+zf=urc$5@pNPhJws!vht%M)u0s%@L{d;Lxr^{er9EiP;{ z%SyNRLZ-bv5jY}7oc050GnqjyDnd`}hD=M9kcTUxPK(1M8&(F0n z>IE)MN_0WL&o(ogJt)_W77f|dgt;{H2dP_!$a|k2i;i7g#^@~gbJ1!)t0MnoR%2f+QZy0R`T1vnoqyVMI2LQ^hhQ;Zr_Ug*hcWRz zrJ;f#1P55AC`^FATL7ut(u|2WdbwKdYF(~cL>Xl^+pGvkd2I^F^bts#X2kj*gTF?r zKwi_iCp9{xr#jefu~5+~9Y_YFv?DvEL&)-(S-oTH&1uK+3Xg2t2$L^ZLw4ISBzxQM zGT!kWf`wyu8*Qcqb!IZkMeb&UDdKBZG5A-*re!~2%2L-srA7Fi?rlz}|LeW&Y`*#V zJU!((Kseb~v|QR(+%r$=vNANb0xfAS`8Ahn;5n|nQm*^++s^z}Fm^i!(@SQr;*VVi zb3VQs{p|LrxI4Nar&;Ij^e<@+QARp2;~~fOgXE9bJ)T4FHPzvi_>q0g$N4WFA1#X( zT3A_0R{?$B+}Da1I=#AOm-6Xd^_Z%Ws3?n3O&c^HiSigr6!^q%$rBJ~)AI1esfXFq zLbX9>+O-2ZQ~0{BWxWn@ZwQ__!jj$}sgyvMN>M>wu;R-#(Z9rBcdYS5pf2g*;!Kz) zMp{g0(9nNg2-v`VLYRcZ)z+R;qPm7ugmRNYnm4;tc%R>G8f#Jrv+YDkC&&%~F;+!l ztEF9ce8qYtLbsRP{AlmfY5VfuZ4LP5cB#$6+zhN|TrT32p_rB2L*xAEqqA}H?_EUp zx zH2js6OaPE#Y3YaSD9OAUv|~rUcJy@EThKkzLp+RbW5t4DWu_-wP<(w>0Uc^&G@VrN zdbqi2*d3{<>~8g9r_F*oiCnd@t(E@s+Py6%ovIo|qHbC?`PhEe+Y7ihU!`kBocq{i zfyB5{;roAN&#VrY!Swn{`CI4R48)UCfA(wE2`e!y5eVS0vHTvEYWJt!%IM!56*0#z zSlm8hi+5LQ`$h6o#0qdZub||Zz?f)vgzef(+=pqAEaG0l6&f}_#6*DMa#e=cvjPxG z0bzTFLC5NpF!Vk@TI6`BE(5|ba5mx&;jJ6Ylg3FA&2R+RL$e9?^G?X zMe~PE8eZ`>Bf7`Tp3>BpZSIh38bt|tRcgBgmQ(_xvdc5Ladf{$cJki_yKWxPN--$B zrev9uXH(!km;cD4ci!4?x0-oU77)D4N5u3~fvQCMaa%wOn>5dm5Xk_PbpDY?!Kx;S zWje)@md|>GT_H`4TuP2u@nh`!XZ=>{79}vcsXySt=3Q3`D;z&IBk9)mdDM2GQ>9C{ z64>L*^TTG@70OS$t7(_c&E0M9zHP4_=VGqUFBP3x7>%Ca1JNR!hd}{OysXV#4k74@(Nj=NE%+(O>U<43kK338djGXxbcXJ7$%3;5wM{qxjp%rC{OC zs^fwVcJ5fcNmArng%^YjxlmwECXa<}8K!q;&DIxV>>-Lw!&x9{m2ap=!~5qAU1bC~ zUEKB13|0oBYq3MZ32Q`+i1;263Q#Q4Lk<2^IO8ieof^4@0WPz53w_CJ z5}iL#oP9UQ^LqI$O2M_gDPT_Wv7JF2hN>_TJF}fBcy`c$Tgp=1pR_3W>n5+xgptb1 zZ2Z>sNd6g!ueCSStold0o2Y^4J_wR_yb#I)vFzYrwwMUUr+vp7)$N*o*Zw9TR2-uJ zg;S2v785shP81YSirazo|EHmr>)d|2;RmkMImOa~m2(s0{5fufuvLk&3VgnLGsE?_ zN}w&}fG+hSDEId*X3vJ-ypg>2Wj`?W1*(g>O8?l&y4sw^sQam?wE3sk zXICI?6)-*i0M@e&Y)|NOSpgO9zWY{&FK~+FXvpSHQ_yLdOUVCSNN!8u!uPWc+jD!) zN_?`x#|{)b%tmPf>>N>Xx2g8uk{rQ|WPsDfp*2pN0S~`ZT(630b|=sM!;$(yJWlsJ za+X^|WFqjOYn8GfJqc}~HB;`_alz+F!Zk2|XFq<7V^7p(LxPV1DYN*E0T7lQA#GRS zU3%Kh?jTnrP)FlaaHQP5wQ(Cty990WUWZGCA^DEsJF?Rk$jc%(3@;ABth>tdPr>SU zo-p`+90bGysUE+sDm`I`on#XsIU@x|JYPJ^VFzyFo9Rn(S_0oDSEsunJ}ThO*WCq+ zC1pO({e+r4$Zni66XOPN-K8+lpwNN*CfzAO*-Nh!KNOc|neur!Zd7PXMC50LybFjV zP9v>1g(sV@HEt@%#Bx6oahWTN#|okvItHlK6d^Y4#DRC~GdY z)yieY(_Vz;EnQ!G+3SYzwWx?T@34Q3_n{S3+1B};A7432&J8ro=|^apuZ(C^wf(gQ z(Y9gk9aYV#X7w({)eSqIG?WFISG|5h;)DZ=LNEyqt7{}Efqj@%W~xnN5d9mUPt?Q@ zx>%27_;LqO@NW>?oqwbGJFnXfV;v=3`9cksDEs&(*h{AmQsLMP_y1Jf4lCK42+dVJ zqx;NL^$@k@j!SR z6w^u^K~5LUQ-R-#ddljT${8rQG6b7O%7UIef`vm;l5jIh#Md#u{1=iX(AqtR;_vQK z7w7d)Pgx(%I}W}*a_6+rc3xIRHO@7g-#}oqx+)q2i^68nXR*1sLkX)Hm)=Sp~_0wlL|x;T^cxw*98!;Ta#)X928G}EYUGhi}iPcvx*=S9Dz7zya!

    Kn>&QDA9is5tcd3IFfC5Wbyl5~HZ{gp<&Kz<)=phC$R6l!qX zlq47h25dn=&86wsD4z}|ld4e=Rk?W*A+-5 z(5Jl@WVXt0xwOHX{bZihjQ`Xl(|23$Zb`WuEG`EZWS$!;(jCUV{oKhKy7vIu5G-WR zoVm*;@r+*c)2b#?iHLRb^{R7JKk=quD4Y)@Bs@@yU=D*}(gk89D#IrbH>pn>&wEXe zoT3(L39qEoJj9nlp`xDBz8Vj>GY|LKr+~%}ma|QFyyC#@X`s1q@UU%oorslSZ{J)1 zQO0UG2B?g|2G0#+svJgU#*fkx=Xd7mSk+bK#YregdEw3Qd3zK;Ma70+adO61xh&)D z^nXEDiWoNVIe~uCtytrRyg?{iHe47ofuI2I1X2SksSb7k3TvX5ooU!>Yu@f6m7~Bx zn_2{F1@05$Uz#7{a=W{R%n~AlLqsas4UuK)4;mlAhKzJP`n-lv(9}{>`=+M=S^^?K zqcDMeI$fo{aObu8=DuBWeEgsCI86P`{sK~Du#yH~K?!(js6zpD5u-roAX;9rWTFax z>X%VS;$(7m)IQ}g_O?J85?+nHonJXxmo^xY8vT$^mVEYOB{773_j8!HKXYjjsQ;{D z;weZI*T#_>6O-@yNzV)V8t>{Jn!WB&?;`v3tsJm<)Hi5u)nDf!AMVALPUBcxTTT+s z%yn4H3}lEq-wX-z1fQv9+BgH=I5APv4JqhVoT6$4MkTLdvBe_+zr_8PWZfM-Mod$Vr{>&6iO zJ9v7lqB^3=+Wue5cJ9#rACSR=pz0u!`BKzc5SwbSsn-icW~@`-2wDe-$?gD-?)Y7F zo5|h0nNzVd3n(_{GMFGlj|&Pn8re?&aMhN-nAND6?vI#PPUk-yN&cTWtLXs9l0uhw zpnyFkBAMF_xAs772~k9wmnIddCgted??ujIQb!=E=xqz26r%}wm;%+k#48P32muve zQgiwAi=CJ!WCp~11|MFq8r&X6RQV=vTN?NiWn)mZ^8`P;2vRlKws7P{lGeP#?;wNW;$V+p$qCDma}(1{@n9U+ zb=<6C7+jet-neZ{w`mNYInXA%-KYBZ{$B$^cQ+7`xFfWu$RXULJU`IjlJnY274iJi zG5|aQc~b<;tnuE!;*G+vzlEK(+P-)na&+PtNbD|z5Ho1V8*?yPO($0PfPA`M7g%tG z&w_QosY;J5vPT(GL(9uAW!ahN-^i0mcC;K=#ZS+Y%9Sda&18KqBlm6^5QJ$3XiJYn z=Nd=LKy(p5)d$5fgUltp4D=4pJRIa85^Avig0|0aCfe`ycQ3sIIx&^-FrVL=hR@iZ z&kc*t>95QR5IX6X%rHQ)SrOfV{o1+9@uRl)&1dhsjJ{Xh_Sw0_SPK!HYJizMZE@Mg z()yyWQAMFD#Utl@X}%41AV4PyER`N50&AOTa$m>i$-jPtREmI-VaAVBRdG}|r9rgl zItmg7og+##J&=@?dx)u@YEYsVJr8+aPn|UNf<&dbGn@zB&37SpPx9#5Ihp-)3TBbTp-8YcXFby*c6Ye>2l~C=U2u6i7Yjj z^6IsMnz}UfY3}9pAfTo!Z{$QOyk*w1K9{7%*cgp8^yha1!j7Krqfg0E#~O_j)7*_+ zIavI%Ir@@l66w)Ab!E+%u&|M#x~*-NSV1Z_lqC@dNNowYf3z~ZS)v3kN≦f|_tjg~ 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

    AqLL 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

    ? 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

    *3wpPhe|D@fC2V~5&V=+xne!m5 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

    OjglcPt6x7BPQYys`k0}DHtx^ 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≠2Jdu~NWV2CH1I<9yOS|`Tv%p8 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 Rmn`=${O#Z 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≥=+y?ziOgE}6AanbfcX*zA0ChEg;Thi$cBUMFs z?8EHjSTizQkG~?-NuN)W&Q_%sJcwV{VJv4|%&c-QFkq%k|9)sjSY&MiyC|hfw@=Ks zwL&PK4=T~xE6;qzj3sVl-axe-_R%T(aRj$2Iw^*hXmRUuwiWUphnp}3MMSiHrqV+r zCHm+F8b?^<*AnlkvV}eK3Gmy)n*^^Pnq!{h+SzZv$a|-Tp8+9D_%VCe1uRpsWzYR&L6ZFI2S*78h-U>{M;y<<38E=2*DN5Kw^R=`6mR!abk4o?XMtzTzrznK$km|<_E6IJ&PFA`rdK+U zzR&NxG3`~NM-29=OzuTPM3@T^T3}l;P+R=H(zKN%v(=T9%fP(^?eve7ZpCjMr=IFL zp4V%Zn$j2<>JLIe@W#?H(9XD7_Pn=~S|ZGcUOkzFMI6xl3B{DBGo^1*@agzBob-ss7UCk?bW za-Z+sO7RYioC{TKFCv+OHy>y6pFA`Rwi8@I?qVDmNB1R%z4R|tw(B+UMZ~!DXLTC+ zJ`p=;NpC{ik$kWX6pSCibC7F6Zat$BNH4^l< z6rF`YJ!}k*^dY?)Pb5HMihX(-VpgAc;wAno1eX(5W=9y>dtUBJQ&67n0B~X705k^K zbAEQ~j)X8LT*AcD-fDO&hP|C`QMPKoX*H9wDqx4dh=GRAZ9K`ErxpbDS)i3xwsLh;V5gzeK-Wi+5r zJNO8kQyrHLd9yj-IUjtvEBdFb+0_x2wS>W{h@@>sYiS6(^inJzcjQ(%(#kSSyM@D9 zBM3846Vigv+}LsyZxkEg@kzWMkQL$+D=;Qk8U(~opK>J<4>R+Jy~1X26!@)(FvuFJ zg1CtA%wMzk(mXan!WOOEDoVGTtU**Z*KZ$QMc#43Yq(o4e0?*Q-&av<$y`WaL$8z` zNN;p<5>?2)o5dWxL?XgV!{RWN_?5~o*PIh^mpzhzw1u&#&yD_vnI&E%gthK*o9p!{ zEm}J4qIXFaDK4&o2BOaCrwVN#YObk*7k5-1DC(sh=!_kAcNRLlVNc2*tF{an6Am70 zXt)4AczE?$#TognP5amnh@DTlwVT%LFNc}}d+e{>=~ys6yZ`WI9K9x>SLQQPR#59z zK~9D7Yg+JZ<_x&VH=tOJ%PGqhkQM{bM-xI#XDH`5+4svAgD!7_6` zHfJC%y1!ApGUGeD{K|cEB-0L;zU8-_h7@-zvF%Y9N+@qSlaHQ_99!F;x$>?+wfIzN zAZa2lhrTuQQPA3DA4^V*&EU!FgU< z`v?gWD=nD5{NMNy6BdF>fj9)mBt5-ia&nKyl$l{l*Ef+ECtg^@W#ly&gCwDqmBxH(WZLgz03*O zqX>IfXlp+KeJexm5m8 z0nruZfHXs1@1=couU4J6h2IR+k|xKa`(^;ZmT)9@m(!-zCkD7)9i_Nn!_f@K{K}*m z`keLF@OAzJIituAD$1pGZ}Phm)#uEQ>M}yNrV{(}4-{GS8Q91j%S!Ha*2Uj)^`I`k z_VO|uq^qZ&revvNB733E_|q3OK!RN?BVV017Sb6zy47CiTkkS;H3p07=RITs;f4ZN;GOpZOk8! zYwnkuusg{zULVYjDZv(XJ7sY0<>h=IBhGgT@R^QKY)G}nm(lR+tWnOz^b>JO25MgU z2VmJGQ#+)da~&JEy=Gg%);DO`Gv1_nV}(CQ6Fn z^vQfRi}MIn#r*3-QD%31i_o_54qY;6L~oqnmpS89D63YT_+GAVjInBrBmThi6r66~ zO5++V^&bdy=7?Bc=HQ5qC-G=PKE+JCQa2sl;+s8Gcur7Gx-NV$1SUM*_x1jeVs-8O zIScrOaoEi8(a1gi*o{ljW7f&ez2{=0`m@CjG2x-VU;k>3ewb({K`YNUgkyfT>MmnF z=ynXfgVm@Rd@T(~GJ3&M`MBQMN_RiNI5iH09#Bs}|G4O-uF*6yJO=^QCY@NsRazcO zh7IG-JzgOo*q>Y05AtfNva*Omp^3Y40+2eP6F=V=u^c$!(gcpS(Cb1 zWZiBAvaIlxjfLFwE=z&3Wx`e)nJm=yKkKJV6#lrW(~=TyhI0&?06;bAYl!Jm=F z65X^258)oN6cp|bbT}^Cjar;d)dZ)~N?Z_Ct`E~W6=|#QGQ&Q8e3vkm-fO6?hO&k- zJYC70l_xvSjMMRx=I(>c>aEdVb4s5kIOJ!F(4&1nF7>9xy}7)tf3=_;VOJCvL@+6LKY==>T~?qgg`br?)y{9@pIvw z^xCG-xjqHZ(i=7#m|dpt8V8}ifvCrJNr4Ync>}SafLY`Yy`X8dGORTB)Idotzmf1` zSfXpKY#lT5(siscc659CgYtp}=n}0&&;pe97%&)BmcYzZFGPpVpF1ZXp=?vT~+(3F!v_@{yuXBVWq_ixeBCxid@K z3mAQluF~6Y7Z=d~M7i`-snBWC6U`q7bklYFJbnqU?^1A~CFvRkr`THtzZn^6Vi(<$ z_^UtcHW#Py9HKDElscugAMle;-GRGy?BINxc*%)xE`fOP4~)tYplM}HgK zG~(*+MQ@dNk4(&-s;oUL4?d*3Mzq1RJ>phtl*dLY`y45e@BaF$qgtD3hVQdp#|gPL zHN%ou?yry9jEx{}0cYeC z-0{92Y}?>;HibR~j~?gd0xkumOHaxnb*^RNlYWT11KSFz-2#@*t7>%|G~d=XZQx|m z#EG1$_xoE^S^G#yG1EKgY%8xjf^WOOf?O?SdJbS zkHD(Obtl2C&?#m+Z`HLH0=|8^YV#W^bbbP~{I6rXBkGdX98Xif$9X!_O>|pY( zWjpEjQ_Dj6+%`~c!AOLWrz2AZ$gH&|m$~-Ub*Q6GWop2sWN?W_ zIHnyUu=6Nti$24vqG?8ikq7TT0g)90CrnQIc@&Sm6^kC7Qbw?1dOOUgo`M1EWPqK&ha~- z{v36zN`JsJc{xpdjM%T=?8rW=^#{ITyW1-9^WFt3S&h1U%m#(tMT;pltGDDM!Dow? z3>lS{GaKKKef*P>>^_|?m(Px!d&M8?h(kZDAriOdb3f#e2eSskLi$Gv#=8(6!if>R zpAMC^U&z7Bci0#(R6E;}7z5zjADRZjzTEE;={(1L+qu>`FLdOrVvM)?;mo9=S99wC z|Mo+t{aB^ok@eZdF6-v#(2lK|xtR+Z8A%B}G5q2BxwP>KFJQXnU?-#A-^ppD?723U zobj%%#p^)G0C2e~^>mG3q2;gV^MQI5?BE17aB-ci;CJKr;7ezys)e@d1nUCq zwW50X`M$`tZ|L_s!Gy{m5r+-a$Y$3%^pxSy#%>;=BynWDWUHkv{)1ds#a4}&ccGm5 zt?(a^fou?}Qc>vyW9pd?wny8p*au^)-usjN!bj6C?@X_$SlpX?7M#aR#?psu-j3}2 z=~7>*){(~WG}mL(lY-6F`jI*}Dp$a3j|}Pm;;N(T>@$MtK{&m&=}Cgs>LKiqmqyt^ z&nAtL#j$DdD6QRi*OauhC^ya(Osm~l*TZpj$D%tDM2h;ZEA^x~Ur)P?ZM30w9@kAa zpY@}tptdUn>$)?ZQ@y;!HT6R_TN-MB`xuo;WJk6| zMM8kox&xWkPyH|nF5qq2#*-a_^;ASNEMu(e@_@!z={WRUKPkEXQJ_B4hE;BP9z2O8c~i$R%NT^RwfKQ(ul;1GJw6@uL(d^S;{d+ z8N2ss3$3_tAm7V$=iDb^I=G<1X#Q~cn&Pno)ZFT{FyTh(%T*gy&u1Z=+R*gc_DFWn zXqQIbe9G$fyOx;waSM>3YhE!O?9=XxVu_Sb0~TQ6qLUe=N7)<==wq(vMAMAl*(E{y z117W~{!{eD%wlI(PUrs2!=M5I-zakC{z%#x<+F)5ZldR3s^`7f{8b3KjDCF`lD+C# z-276Q)#?Y75SVP8s*bm$ug zUiSD!XN2~WI%CeLqBVhLzEkSGr}JF+G5O z3gM;G#{ae&U3g3M;V5|P;LmllQQ&8CF}vZ%q5yPF+7>t6Qps|>;4&4`Pj1H&e^WGY zi!MI6R;%ScLRU&%$;wf1hX7Q(UUxT92T(<<6TzeIVpsCtzK*j$zg6u%S+(>VcI4|Z z#nBGmVJZN24tY#%A||u;i-oQb7H`hj%J%Mc(a5ky>3C()dO$b`WrpDO1{YU_>58{N zkXn55r)+kl8wXGH$g4m=AUC~F*YRJI)tsRyh~o8vmf(RYLz&=CEy~Nr@>KAE+u($a zXct^uNkn^jRRt$dE{1~-ub#733WCNR%&i}ycelIYrw3yit3{t&tUR101@LtRk_-C`Hcb_!ILx0YM2CC`X;!&%ES zw3h9=O{~5ES_iI_BUHwEOf*Y|_oi&x8r2ke+RcmjWWw0lOYqDSDaoKIl0UjQY81QO{<>}7mPd$7 zC562`m+lGuiTs^5!KyUS@qB00dh>P3(sK)8ebP`#-p)+A)PRx(LHb0ipU1;9X02Za z_3v)~lEy--dIYwa34rz}cZ3-rmgEadP4{?&;JeJN~3{_9tM~ zoIK_xp8uJXGxWM~vIxd7G`4dLUH>ja;dr9TGhizohlc#4LxY*W7J%w%tAicV(F6rL z`)#kUypAaa_S4{A{M8FE%by`V!-4Z2&$@OYuKd(i@0_xEloy0lJmGGR2pwPQ-X7_# zxg383K$sH5{I`$1DoskeIU%`irM07314`PQhYa3^;CW3n5n4WO3@x%_lbj%HyXQM< z1LEELY3(POrk1{Gw?1c|PW^tiIE+8nUy&fZ|LlNscUW@YaEN5;Ml4vgxrz$87;1VX zFzQw{CGvs3H+*#kW3=-jTUp9HXVGxLc$RbHO*x!k$%L;#UCGPa8=Yy_E}>t~;~2hx zJsE5G-BUMP)l2<6vMc=as|c!VCsP61A1DQ3FSa0_wJfI{g@tjazlYMq$nwjcXX;y*!^W?H{wE(GZZ3rMY z^(ArC8Ve|!*Q-`@*&}Xnuq1{0>*gH#FnIlTsJC`yrs}8N+*SX)&B2@VD8ef(S6o?l zPuVg0C+%8vAY-}ft#B9e&hu09KPKk`x|@7CGbP>y+^RX=#;8$4n{~MbDdpa|a$Smt(1M7SPv71^rq2uhM9hs)4|wOZbi`%nO1q zEota&U&yDGNqEdvkA=SAB%AP*;D)it?QT3}j*&26uQC>Xt)ta2YV7jN$3|v{dq7!n zizT@8$Ap3c`mc-KtU^jG7vY2=6c?8g(%aokrGDKK{$i+TtsHy21fT}>hAQUyRM9ds zAtO1C%bw~nXzC7;_jt&#BMs9qJPxIw+sTQ=7T5K+x-$Xo1jHA&%KUlV49= zQT1hD@o2w_0mJ4{1A%&a?zotM2vlx)&gph;62rq*6 z6nVIwfqr!Q;Mx!SbX5wGHVfO|uQd7201k_c zWTU)7`W}7{UKYE#(QqLfO|hi+b=*1)-&oi|)0UrSO&#vW)|l3~rWUAOZwOnUS@RRQ-MCGgGJe0PsP7zerh}Hv*m!!6>3{WX#*T`2 zGC~u44jz9jmWf(&SY5B-TSA>>&o$xETg4-V;`oTI8eq@m*4-1(R8A}H@jxs0%~+n= z9?etVS!;E7Ei2-Alr=<{T-tfY9X(YuWIRq;-l;{Mh@V({_q*!}2TV4TBba00q5kYE`avEo&}@1s7j{v&38;7 zBg$T)_;W|bX-w8;AO?*0Ter_rstRGDG;9>z-_1)7({Ac!Tj<+UV`ZlzBs~rRp>~_o z{%7CPSuXJ8IFB*oOr-^`?_>_W7eN22f*2Js($hs(@AS2Oc{YIiu~PYLMeI0`By~6a zq^4$S&r$auz5$eF{fu>UNZ5kZ#%?2uBsqRXA6&{3)Zw=`QjHcdiXoTKfBWQP3f|q$ z8u{sZ{;Ktwr`e4VHGab?+?O}sb}lRGdUR-lSU8bl2i-CKrQ6K2 z0m$bm4Sz5#jeh@|n(0?3?Ib+Y&SjxI?iK=Ciw$}@WY?=jnS;Bpb;rKRzS-5#?iJRr z*hG9^9pO0@oGh9oMI*7tX9R+-lg12+rj00?Hqd|A;zt{5l;WHKF8h{w&D^SEVf(_d z`p9V_3wTN^a=2F&!P()-iavJ8gvRcKixEO*(IU5jICnpqJ3Y`e@W>i~F%rfLRQfVm zG!+`wrxbU3bTHiN&|hB}cuxZHE6xuFE~qW-Wq_wzQ_L%kX5eBz1a~e=KY#{~#K$jY zzUe<&)F*g_Ob6iiVI=_WEza#_R9sI%-dy@JEtMt%g$=h=I$6Xc_#44sQQ)0$2a`iZ z*Mt-MI|WnUDyJ^l6baIx5=K8CA5VVL5xUin+q8g$93CkPa-Y55y}y{<_DAT>ruZ!( z=>s8}UDk&)00sDrL{3lb9#v4Rjx=Ux`YzXEw8J)vIgHIJ9dBmx7q~^Z@4KJduQUY% zv%Yp}MT(6b3ADGWT!%yP*{fLm!~76VfHA)(NRLSMWubf{aY<4j7(F15vAw~aJD2IL zMYdc2dCIKpMH+XMIiKoWR{F}Q&acgxYeT&gTxv`w9JcsEh+%ffjhDe}m^Mr=fd>*P ze3+YKolMR)ZUSU^H*k0{aqEr=L+VU z3c};yc=tx}Vz2@Y>Kpc^NgIf0sb3z)X0(0u6wkT~zc2!n2lj6po&n-(I-G!xFF%?^R-kvKT7Tzzs1bemu7}S2ZqhbYVtM z6W9mK_ALk`=%(%2KAU9wf2Q~l^Ftr1r{X6YMzdzqbFpOq@xS@h`KDX|pyei|(8~jy z9Gidg%_p|ZTu;Q^?3c~H)&M*j-`@No)pjY2?;{fxr*VX;@r&EeIKIylFEa6ctjxqX zFzTJ^os zUc<d*}MR1lGxu!;f$5F|I@K=%2&hMEkC+Xj`tdw)oO3wm=+|Ts*NsF)R*R zUf1#>%2zT)eVzjoRXpuk_Ff9Gp% zNF>`@*d+w%fcgxxhdccpadV+@$h3vGyYSoGGyyI;_@pL=vizI6^)s>h{40c$*hiCj zXYRR$>`2e}^G`!ToA2a!=pla(sp0s?`r0Q8YKkq8XORSHvKth_ngu;LVx+iXYz#>|;!lf>T_V@nv~a9@mKs|)vd~;_ zuZm61wsm8SeMDf5vj+;tQ02%OF9{@dI}#8c#gcBEZr}@JuQId@<8;J6_|TxD`!qUt>!$Ci))h-Y+tl*y}#?roOo>RyBL|XaG8sp zmSz?dFuG-%m|ZfnoL{5Zij^TZ9Jx%}qG-|QBJSu{MM61{v6lP*st9=-^!GhAtE7p@ z?}qgt9mo$r$w|QD95ywVo{Gf6&)B{CVh&H~xTtK^X!G=+8d*^RGxh1cI8I4y;I(>S zP~{{J|K)Dq!9L==jK{a0D-8L3H|;a(9Gtx1Z!r#Vvh6%AA-n?T>VG!#Ne93BP)9bE zv}KCb&))kvkRbcH>AkF;M3phokM4C>#>O22QgfBG_Ec@MQ}ll>s+`Kt|MEwzhjflK z^uocvhWw$;b)hMDm`Z)LCtmZfBcewowgyU{I7F1 zJ!;7P`L`7Q*C)Vr@^CHxy|n@-6=#({_je+{{m(zC+>@{P_i-aEZ}`#Cf4|$eFQviD zM=Sroq{^D{PKaUA|L8^iMD?E={iF25zb-NzUg`7S<;zNaoYepH-usNM&wn-e)%3rA z>3gw8ukz2`6;D0W{(snd53nY)Zhv&??wO4Bu`0iHR(BNQ-Dq?57EAC2D#QV!q-aA|C8hPYz8UN|oxF~?} zCYfed@!Kw8?6v7Kb7%p{+0wj#G`xRDssnC0?_Yj97uSk|U%vRwB~a=%cg24HBWO`? z+&=2q1WT$)_b-lu>+Su|q}14b)o;pIy$lxE;`gmWXao?Fz1Lc8&YV4KsSz01Vf5vr zZ@y`AxQ_itN-uy8xr?q&`v+@=`e%x<2qz8g-Gohh&A4Qc=5+2K8%5h3)@D?`<(?f44Nf{mVi~*?$K6 zfqV{M8ZgnN@q$~Q_|2!!{vuxY_1E0jVbZ6>3!lHyN;#Y7aAx11?FfU!{j03O)%fQV zk7{aaQhIwoB?{30^{R~W&Ft6aPRs?k>@PAkNWNIG0lhZgc}S*j-c#!6ZVA%e7NL<> zY4>UOBA*}b-m;hJc@8)yh@2BBj!>n|7@y)~o--Q43CIF^ICqNJp=x>IIGNa>rH=!ncOeUcwMsEE}RI?6VV5h>fNAim2ri zf=*u~Gy5pyX-SD-))E9Af`Opqz7oj6B=p0B-ZQ?j^Myq2qSGE18BP6^{s!uENk*j( zPBHYpWuqcUQ*4BWL_?ReEefht3QT>&LY6_@Phy#!w#peG45O)T33F7+jSw{RE#;;JhWlt9InzlJ@50v zeiPxHS6O)vV6qWc4}@-m<0(zfN;x3B-njym3ScNJt#0A#7qA@cUBhihX{gv+!R)W# z?b8<9KCP`Y3q>m{bxRqSaSu~Lk`q^Ly$H?@EHtR~JAOS`3I z%X&nzCEX*8AI&`=QkbycWG0(tW2HgNNj9j5xbkBPcYzQjTGhYA@g83#Dc6OMN z(DCK0HPqU|jQY4v9}jFi znM_s5UJtgcT$Qbx=U9ebNqT1Z3o-i6je||)YS5{XBr586wxY?Kl*Ub=n>bH>zWu*!Ik>W@o-v2VergEtTlU3EyBG4F$UB**Ue|bJv^_@s`1WT;VFsv$< zfeX-`y4O03*`lhYijKOMf?yp4=`RPqwfj!T5p3ivTOTz1F&hIu$9#tLmzk^zMoPU` z1%fl^81}4S;}t_o$CwxOes%11Fw$F8KTK{1wPauil&M)wv0fV?!PF1J;GB^GGyNu9 zai1snc1E1ak{xoL4-_b2g+?)j*OM64SQzV6U6B8S-jd@v3T4VkfP-XspbuvC1?im4 zVp#7RI_7W2H&9#g7OOy8jBC+M^RWN_<*r-nv-bV!K;#O#TPg0-O6e5zUFPOVrL#C+-CHKQ&|o_m2ifMwZV4>$k0 z>doils^lN=JJ`rHuXzkQSH3guf}>ioM_Noo+v#?q_=lnEqr6K#{h7MdK>2RcxNNr^ zxE?Npv7Fkp?8>yL6s{UZy?cNiod1RQB-w~xf5JZpX;|b=PecPl7-`Yz!Kw!LcBm-i ztYgNNyWLt!by=h-*h-J3c>Nx};5&*=#u z$4P^ZnU9NtAT;ys{H2md6;CIsY$aTTmzWCMh5{55?2^4BD$m-W@SKt`(L7?^7VJ>y z4)YkJ4-CP9j|JI2_S!&7dEX#-u0C2ZFTkUzaRSezCHN3y^PLj1(VM@CTzo{|AU`tP zu8Pw^`QH6CX@}QC=f+h7aVqn;cu%k>UTz$0J_RsJH|F0W7@+QBn$})qiK{ydk+f4- zP6O|Q97YfskLN`)=41sM@1~d|EoePw2xpczJJC{qGNHse$!^l{Z4Im~@GRH51>Br5 zrVk>0z(X>yEtBuvRSbUie0)qj*cPVjTBF7XL6U`-u^+M~GUeP!S1gSgLGw{_V>8x! z?5-ir&b2;b1V~Z?ar7S!H~r91l*dB;w|!8}64RD3BXlQas`|VCPWgaw9#h^7fZ&7@ z4#6Zz)t4fI4M+TG+_2>_gy6^U*1OQ7hWaj?OP)D?L2L?QEn}6K%bll7L|w4u$Ucam?0Q$1?96{soT#$~_kZRz=&tV6te1uYoBLmAX@zL_xHT8Uj_g8cD7 z*?1K{2jD|oy;9=bw3gCkG)knfK}y+_S~y z{IPI!fwXUQDROXQ`m%^7S=*@J2|fFu$9j?mMygtz3Edi-4P`qUm5D;{GoMU%V3==% zAn1n58?2rjAi?=^yAE=@mX29JQMdD!2#rj)?;O`_W;{SIQ6?NkNO=HPBQhs zMfpW$@77(ucU^(Ix8nj%D8Ny*O+Cle0$(R*~uedM5Gp4;<`b3khfFuvBPBZeXzEWsFbY@ckH<2 zF9+O7)W#~<&ZFwOmh*dcVatm&0O{O)ceGkw);UWHK86cQ!F`6Vitr|=S`&;9q-{qU zCYU-XPW1=ljQ)7qz^Ar#w7p8#^8&b{VFJDO=Ppchq$a7uc#ZVxbyth26gwwZ&_T*t zze5o-j?}G+xr;P@k4-Tjq?; zsEm3=>E*!Em4kC7q6TYAyX+peQi^GRmU%NLIsWGbTkZ8s_0T?0gVlIb3h&C8>&6Vo z$ZRTSXbdy00FM?NyDriO+zH&>cwWuXtmL{Ka89?hsS-!LdRM^ny;5n*9QHt805`+p zj=kEOS3{Pao>&8_38dI!LCGjv#$yj6oVd(STXNee+ok%>`N<*~sv$eTcC|zzT5^Ni zo7aaRfhajo5K&SQHFvp=UwN}`{%MF{WAs}kV2Y0E3d;Uqv&Jdc$8&uihG+EM&!5p3 zvu@V$J!GjZ*&DnWY2&#OYbDKd{9+2Rpr#ByD?db-Tnd>yD$iNJxk6p7ZC+21^4b98 zSDPf}Ff&1k6E7w$&?DR4kebW=W5VSsggEW>Wj>>GU^3@n9C93XLoG+|42&{q%r0Iy z7u4+u79)J%_&u$;-11CyPyqNDken+5LdJ^7=Aje))rgQQNp>2*)z)8@k_!lpqLwMf zMwu4%RL6MD5>Y_sV{r5SPO*R+%z4j_gC%zbd1UpeL|*V8KD{^v5;lhO zmpN(Z#gR%ge|Nt?*{i&MPyMp)CTg|h0KxQNbs14S2Gwae6I zM;7em@yV4?itR?79FOX#LNk_rZqd_q6Ce!y#crUkF~XR zN52ga>=@nKY<$mcye?tNL-D{jG0H3ddP!{i00>a$HV~Jp# z2V5oU%9k8jtsbQ#zoa0-fL99R0J$~d*$oD3`R{fZd-U7IbZHlE98iOASBbFCA9&W3F#P<+tleP7cOoi3y3Mod`iw0?Ntcvqqu;WD|~o zkPm?vFJsZkMM1k_RFxM0&}UQ)xDrFJm$-NUy!uPq1-mN0(!7_(;dk~c+BDkNI0@~u zO1ak!&`ZjGh=bs8W^bc+A6d|R@gF282Edw1O7>xO>DNmXT)#rkhHJipa{>duLPb*E z9^DVpo%?j{f0A&{&|SHE~~#q?NlIlkH}t&X}R?uLcHEH^&{)cUjXa_Q1H9f z=l}D8agl@5nXizR{@eT4b9gxXDt8()cVkal2KwE_jPio_zjb?4gxd#pok_iZbblXb&cgnQauYXEZkGPHMLKrUQCWo$^>UdF_Hb+ag>9t4>rY_C=Pg#q3 z>BIweF+a@>Wd}t1(9UV>$zR_z#$QKmr|j;*8uMeS+-{;XAOzXq{m^z}c~rPlOL?B^HX^-y*;keapAcon4-pNnq7?*T!r9`iXxG=Q(JycfLq=9}_?gNmCyq(;B!!b&53Hx!a4dw41nEq{KE`^>y~lDa3bPlK!p zC4pCVk5?HMZJzTYVL5$nJky<~ixY$2L6^#GDr=IzHMMuQe8X;5w^&VjdjmFSAV#oqf8q z9Lx9lSmi%{=xDV(ioTAZt`!CZ5=vYoq$GOy6w2j;{H>DXX|t2?u*nPM=P&qzL!10A zmEkLTI=KX7z~y6RwW{Id?2f|2#=I>ngW8&LDE$I!pmqmZ$8Uaw8!0-T7BU-8U3htb zhC$!=yN2d9uS7$?V<}Y4v;oS{sqn?fcEWKzEprteqjsZ7OCftOM6liOD?h=VEOmFm zbuz**P*6$t9}UJW4c`(>d7g%zUXFaB5w|vBHgrcy#&RX-QJrg52x>{W;Vhrx`obDJ zN0~~$>u9`5A#N%4#0)Bhza4&Pud`8QJD0_t$hMWS zt!&mJN?5t1$Z}>HUL=#5#Qe94{Ino=&=9RFm@*hw zMt(O1|M8%M_iy-W+%StcrGbqYN_kc!?2nJt)-NR=AzG2YlQf@yt|U}kOFPkHSyUB) zO4_ts=^5DIQsXTr-mb)IkGIUyNReK*JGmCenbu_A^a-NximE(stO3^N`)Dd@#%x=< zJJD3iYvmAx7eX5eZAZM;xufv1x4Na)&>jpAJf@d#dc)X@dU&*4uLv{s!@A=6a|Lc2 z)mDZ+zfmubSKH1pEVa6;<7k+vZE3|MQ#fnGxF34yF>0YddZlVsJGbk*&sz{v>K=E) zN5k7yq~H#CgmX=G)QKSL(D&VnHK~^vrGWsaN-UO;SAdAkC)o8O_-6L4zZfw*Jd zJm;>08rvikwVQ~(2;wlp-R0)XXKs(bH9H$*3hGh@l5o_%)pd!)kzYMxtiS`$_&2jbFv z79Vm#`@D}NHGoJKKyd3g2I6+df2lGmypq>OFkDFz+9CS$>bxgk@z_Bh8r|UcE+p0= zROC%hPi=pAbq=z5X|=flr4q+LowbiYo>=cn?d$PytL3t{u{fQ@*%63IooULP^cd!!-GiOIkig7{4r z&)K8T8>cJV8|XFKwhSu6e1qz^$@08qGB#>}ZRhAX6vE{#Y@p@KKR)u>OrfvMUd4*? zbhM*d-W?YehK^!AsHC3uq)x-S4dmJS_@KKh2_Vv5w+?6T@>RI%#QICaPz$#zP;s}9K+1J@a+ z$L}~E3*sojiQ*A`X#aPXp`#o<0a&GAe-Lm1ljJ|MUFOm zNhfsFwZ3H??HD`%tccySjFC_4RLM?1#9k)&`*||lP=QVXifOi!QCG|iEAJPh@MwbR zMzUbrRCew$t2sx*JV;QYCtjnuHJHfrK*YJn7O{D-zU=K4VIjG1^BO5Y z?nxhwx36~ql2#*axU8h_9ow4xx2MFA2p#}Qp(A{>Ox_ra6Io)3wlUGI{P}F5 zaFFo~)_K|`TPXHdxcqmXK6H4)s~ej>{|puP5XT*7XSqc%5-*CUd+9p?Az@w8hMY7~ z!}c>pgK~p@$jYL9Xm5-cH({0P1eXYb>Xb>}xlBQC+g-6 zcUk<`oriHIIy&(aPJh;V_))XcY-Oy|-1N^{K8^jMu~PMr+-Z4XMIgFsQRinVWyGBt z`q1_{#P4^LLIk7cesK>c4jcR)CPNS1Tc7E0J3wjy^pd~yoxFzC0pUuW8>WP-h)p29 z@Kk3svQ{kz9su!;+29`OfgH(;eiRufJM$>^B}$SS>R z>{{F1j+dH;6_9R^y{@jJ?u3Ud42>|$pP6X)EIo3mOzqOF`$#)CmT_2^UKVH^FxnCG zVBF$xkXw?=h^B@1Is1J42XufiLb^L={CjLrjox#^({kB$*;8#4)H2FO%NS)08~EX! zslQt#k4JL3^^*f^yk$r!4feNLj`sYN*b6dUEWK=8~{O%sF1QMZBSY!7@ZKI$Uup zfyroHd1PwL3z=S2=_y|!ue@ioWk}_!wmYxhyM}cq4yyHl(tvF93wqK$i8NKj$-bx% zE8|aN{$_3a>}lgI{bxWbzSnmR`QvcrY6CICH1Vosy3dCMz^M`=pKYS2u487V*M*L- zS$f)KBIzJlub?|)Ris_uIxd3HhRMWapYPt0lKR?7SbA((s4 zJu3tCreQ(?b@qrE7S?E-va%Ti-Ugo_kCfbdKc!-rHy52>~{4d7oqyjWD9e2 zR{Q57SbK*~n{ND@}^@4w1w($X1`})|JL+T>}JO!0cRCk z$2oZTr$n!-PA2w>i)}h*D^K<$wi%BSV6i1s+R)j`HFJF?ZBdSq1&H>efMlJ^s+k-K z;cj@l;O5F7PB|*lz6YFdLBnc>=VF^040usXqvm*cUXAmFkw2&Or3D(2zN+5L?^__~ z&n34f*Q;cuSE!3&rA^4I$B7a7DA{eLaF?L1^t(MeL}sIB0vYUKs(v=A>hm1FS*!o0 zIm-SSXjR z3jh1DDxo*0Y@@QN=7hzuIZO5Il;nslBjYNxz1y2BEwn7y?18$w8?}cKz7|2^{zbzG z(r6ZXjO?;SivRPhFpszF3P|n+UV!PqC6sm4P&9f(X%;8)JG?afhY7@hr>O#052*9?Gey_ZFjVN}EE$EBSvvQ*lvT&fXPr zW=#ic7brC7B^eXgwN-IXBRzCX-Y|ge z)saw2MyRV`Pl2^{iQs0S#`ggkqf}HI(7q6&u!JZvCV{3GL z&vhx1n=-Q%3PjZXw^RaYLDe6#{_l@(m@Rr&LOav*y>2Qa#c|%9ko*&YgJ!S5*jFn?NU38w?{r66%i_t9$dGQ_U8uOiNFiBo`EO_-1 zG?+5icPzJJsWw_9RS=9Txv|Os=r6~lJir~vQo5T zySCUPxaR<;Ime!7{Yet`fMjUCu5p`^WRCN!V-8Yy3dGV-hy?Kwk za#FW9SFFK+hfHK@V`YtLB(KJ_3L3IpMxsd-_-w#&p>$^`Gp&!(v+!-W%SLz7IfR!5 zdWcz`1sl^uOy`s_Q$!J~Efe@HadGje!OsO&__Pnk*e=D&;J~Cg=N2&}7(RJgvP^Yd#^?FkRbCC7dP zb$u#pWe;9yEqdwTw2MWwvhE0uxb*+9I$rnYBff5m+Ve<`o-T%Zr2BRa`ixrONpCUu z>;`sogQz~_ni-sW?x}A8?hlcEEtY0Cl;kIQ~7`XscY+ zpHuayj8WJG|HLQ!VQiG;(<^1!-@fKlBtL!|ds&j30RH(k*vRZk(m5A#(HCEcHKSkl zfR&h$Tb_()KChUZsK{@=+tJo?hNa?~aatkyfMk`rZ0gXY?kRh{GAe>`PE#hRz4PA7 zhQbe?uscaZa8ggw3Ted;0%EKtzL?bsVSBA)>w8hyaSwq39EhlVv>4O7Jhyijw%Yts zoxh7Q#*9!pt6jFLE$Z(1+HoJmZB)GM_#TtzzH;N^F&-%=*fI&o&LQ*X;SsIO7aTFl zb>(=G_D2%H|NUXYA^qGSDPD_MA7G_rlg{Vh{Iu^4`3DXpRTG&sAor~~vfL~jo|S%< zd6Z@Bf6ENrw&f7$mUPw(&XGYimu#aTPGz8D$o>qxY3<3LyN2cd*WjL>OF0uSzw6)X z{-gM}(9t#c(b&(2BW46}!J`1>^`^ti0oC>xN{5+kpvM&brM0VMVm*EmIZq9hO|_i@ z7DFhWrI}RJ7;O73rMJs~&-Wa`hKt?>aBs4JXa;9>#%K@xv`|JPK4O6VCQf_hfMZW@ zuuuPKeqKmXTL;$##UIRyq&?g5yR#C}%t6be+TJQUrxtJVE$Z&OdxpI80lJ}_R`;11 zL8tbjh)qlQS5q(K=KTwX)cVTEi})=@L<_z;VJa*57+=`?&TYNoiQ(ekoKVi}xci-z zhd_Ry*`65LtQWIIMn$ZuwW0#=nOGYVVhVZEpST^LTnx$Z7tcQNY7H@*9ko8RcQuv0 z27J~&LpXQCS4I4@p&gqg5PJ?)#ZYhe!a1TomG}rG-Ba76?=?xJ{@AI(QCcZl#5Qc)PDbl;Ci#{vcyw>I23ws)Aue08yKL1WCb}m_; z(zlE;EU*1{Tg)@@JCc>*8;|1{6Wy+yEovQa^{C4PFp%V8jBmKp&KAQ;)QyDor>D(9 zB%xPUYyF~Yl(<&fcf#^f$m=r8BN^YNE8;xWAvnW6=Yo)xZB1TOM?c)V7tZb;v8AmR zV*WrIu2t#JxdN-6FqH_4&(0uBxh5Vh8u3Ay8-xx(O<)0?fIdpU-`BJ_JOv|u5X`mY zB+;r5!B)Du05+-eH0q~yJ}mU3d1*Iw`*2SV;zW`00p$4m;1-*o{eB2Rw%gp!FZIqFE~m3#I>}05PK-f zBp=zjW*@q^sUc5TgHh>qIlxHm02RQx2Ppmm=>HjKJO~iCy#GBk5_cXp-mq>A1R}}Qz#{; zPO$_^r$u(ijknQFvz!25loMz>s8mEFyOgKCCJ9&I*YhDm>p6S((2C!GJT7_JSGtIz z+5U#7o}XafyrV9)n{bzOQ=NOu4+u*d|C7#jY1)JehAb^4w01yCo>Y_fxI(38!E74z z{K1zv2L>Zg9Tn51b0)&~o*=aZ?Sm7=;@K#HWR-ZCqJnWeu2I%76 z)VHQm|AG&8a(&$@RQsIDSiczr1aV#IX(Bcw+l zYoyd>0)(zcfEMvYrN~>4o4n2StIYhJfpC-g7E7jUFYv5hquzmt@`m{|dda6 zFk~X(%;fgC*}d-vP2UHuSrdG~^=sb=N0- zx5el`{WoASX}r9It~%LM-dI#)P&vEJ*ZhKdM84j&AGRv^p@xIc4c9=!kI{)I7j?8= z%btnf(=gYrX;fE#vfTh`LPX15i=~Z+W41rW)(}>aa&xrQo^lHyi+02Rx_W-;a{i62 zPw!gpx>Rx~g`{2?fmG4~h~$sOBRcE#M+rt7{Z_^>b&Ba8az5?o%*%c#dAXv35o7k| z#(NUY0g3^(&$5!g1(cjqvoQLDQyZmsk@=XUTn$@rjjAPs+_Nm@?6uMfFqT;z4i_*( z9@zd-ZV$u0W3H>Kd(_g{``w@4YX~WADnY_7{M1bVB>l!+pH&t0VMV~e>_Crc1us{4 z`m{W#mS2CMqdlLsF0WT^uy^ZT3f{GO2CMAI21;`6fwf%L9&Q;l%@_;5};@?W0$CT8;g9&bs>?fq6Xg2T=IX11Cg z>;3jUT7S#_Wz=AOE5xY>aE8mNtQEy(3S?iCdinY}88Q#UG`_4ieL|_MiqePSovk&neB4 zjt4T?_@+K4Ek~2zqIRfxy(4`VW_~-al7TZHahw;a98Y~ZGd*04)|1wtP7@cR{rw+^H7%{oRO{$ z+F>dXeH&M~(~QN61som3##|O=jEeA5! zt_Fk}`=7Qro?|1b&yDcU)}Oka-DYuI(gF@EBWh9U0Y7En`nV0(QJ&Fjez(4@C%ea-%Hz&f_W-UH?_HI;LY$?|&OhY) zS+v8fab34r+Hf0)%+6ZFz$PxuVb#8&PQe>c2lRCFLT{uGV?iLQb-FE?B=P%=Tbm36 z-1ZrxsNuPnDq7^sc#ZI)<4L{wCea;oI>JXU1=F$WJ|r{Lz*;wnzCFsw>%Wb!^T1|e z!GV-g>tJT9eTi0UJ5q4v&{8urw0U(7wDD-0?b@kaDoTHMwTE7CJNub-edGB=uR zUIXu;w=suG{C+z)lv~p`yOdLCX+Kry01xX8KnFPa(6=LdWlePD(2FzCGZ}@&jhyj1 zmPW<@GH1EG;hN{Wd@{fl0$I{A(A6CpL*DNn9If?zv;JTV5m|O5^m-s_$-~NzH%3>k z6kxY6`rP-^OC9!Ft=8cz)PFSO9`fj}V=JWoAeGQ91e<9(+bAb5dD%NtE)sJYoSA|TZGR^)Y@ou(ll>3z@NIEdsNbf zu14^!WL=9Tbfoi=OjgE`$;@IzzM1Ak{Y|~RAV>R3sc1Y|^PEoZwQyDJoi}lhJ^7l&8S_5lgOCzU;aKC1nj+fkn z3Hx|j*ejg2BgXLhS*rgOCcJQ}-nUNKe+=cNX5C;=5I?HPmFVi&gIYBDJXW>$hT5uC zmiw(NFwlNP)|Q#lw;d0Lim#=I8Sb4h#KEFoo}wgl4ybU4&*m?oSn|F z8tM-G4{#!#Kc7e(&2`v|-DXX|pe0s2cg*=c_wMUhERDQX(QhVPGZ(zXosY_aIUGMb=do@jKO=rUHz+m z?@Y+-N@2V>Oijrh`&d{?y~?zu%pGdZa7hUG&C%Q3sA6?-Fi*R>8YgqvHt8bR-eaL2 zJEwGngB`f$MVum0o*hzyZp`%!{%=Pw|9MD@yjJc$qg!ieBI0h3BK0ALq&~1e+gBP2@iB zM-0Si?AZ~s@rX84i4zdq3%CJ8>@zcyQ_cWau)E?)_Hf!o-D)_k_)W1D0?Mbni`>1d zM|;dq13o0-*1mpPwjHfc1K1&&*4Dm3zG=1Y1HL_me^riQ<-7 z&A0Yu%L1_~gho`!1JnOfZFtt=_p)onv<%~Y2L5v*R&_pgh1KYX+`CPu!yWz32JVX! zd{kLknbNy0*SGg7;K!yDfxU|QT6`?qAI7IZyS>jrjIasTlzbII%HWp$=>Ly??FhPG zNu`6CU-{h8Mt1|3zcfIU*ZkV|jZhuv`IR_q_f;@xP0elq+Fk=B{lL-bU1GRIx!h>lUY#E0~$rsoLt8>BhgwGxX27oz@`>>g#0^4`0^QsB?hdaZ6%Kn`G+n)O4iQT_PuQe zCQ|Cawz?M!@^m#+3@&?{R(Q>Y=_l=HOvb}8SvYk~X zCIY2ZFOo$_PN&cP**5Vw;s<|i_;$KZ%gd9m%@E!;DCdwyIY2O6t_hw)S{|=|JTOU&*ig~cDo*UI7Ui_cg4lI$zH3qc32Nu5b@*cHnaFg5SLM_-`{ultJ2=oYUr_-}V5P7XB~!?n|1AR}NSEb9^kdWhpYA=%1`m`hC2Cs7?e z@afg;Xb-c{jUL3*<>2cBAUWsMBcu<1;z=S=kBCz$dyC z#k{%2Ji(%^GP%A589X_38oD)Ti%HCTE@YxqjDE>(pjR)yc=>t~_rY8#`9(0xUXdPB z!o?!zonc+Qb8PWP6`e)8&c??hfUg!&a-nY(kM~v(Yne;?V=fFyDJ6d}SI+)`X)uqN zd4e|+s;h( zwI=;p85?w6tyZwvOuM`&UJOxNPNOyPDQK0941SY;nSsn|`1y3zcFoG5QV#X`0M#7mL|CjK7x1-;yfL7A5-gWi~(SSPUHDaAuDp=hl+174U+ezW#h*zbR`P zIho?(7kCzMyu2fo;+z|L$NP+j;EKDIx1T@KpugTH^6~0q)5YI!c=ywi(pKlSGJ#wQ z!E>dI3xdrq^Ssc33rq_H0vQmR{Pbyxx(2(&mA|d_919k{yeO@hJYZA2^52k%n-{cC z@og(Z5l%s8hVx3z2=oHIREtW#ARjByJs(LS>-oxYm0B}E8P@0;$mYz@KoEf@69daRmxCj*KrFPTg*46(C$qamYq^kHFr zV;QfBymeE=_+I)@D0z@oH7!URoPeY9-On2)m)%b6q^z$j=am9uFScH3C0FP6LGjv# z$)Jo(7Td)o(spk>8%ph5KkJRg0c0JnuZ6WAPcweASX|fXRhGG#c)$v{W25YYP?g$j zF!RsBuCtxm zAdoReI9MZT9Klt(+It>%|K;BYaDaS~;FP~p?y2(%BSf9W^>SjpN4&QAcpLJ<_t^Um zf!liLD8=JUAMubqjEr$+ypgr;&OmMFe|+ImheD)tmspjR8VFvOJ*Pu5fR^;ACs>f{ zQ?Zh4T;*HVEXygslwjf*JfVmSKyU0K2R;m42j+q-9tWcu=~eH_#%A^Tea~?|&~;m7 zYnbE;?A>VL%yimrzXXlchxO6^;b-kf2KB9FsokWm!q7oLah#F5mhTtKv%}YKtLo}5 zM)s`?A@iY2@Ksxm_{hc+sz-)}xg&E-Qg2pu?8z5|38M_CK1_w=bhQIL8egJ!{_)X7rZ*E11y==E?Po|3G ze4k}3Fzj)#g%I_e;0ph@R->1lje(y-XO_u@*9T8)CYYuaBs8iz+h8*;d{GlM5fv|i z@^34A{Q_?Zj5B08&Q=K@{M+g{_@WEZq^~|~so2#KpW>D;@INn&6uT#Hmh~7Pgj3$w zaHn%CURrkbF!JhHZJmcr*Hf%tcJhQWWS5C}w_uCD$Es2}X%^-IW8|vPX~u1#NQ!ag zk>~JPKfbkNlCE_2%lC{y{fhvaqy$mJRc%oOzQ3sCJW*kx>ByR6wZ(wyYvIRZ(F#IY zHPPxy$e#?Zi(Z&z!`~g`X%wiW*aptB^WT%$U@u~{?suqR3rNfoO^NWra^Jdiq zt0YDjXQ4ND132}e3Lgi8GI0Y*g$}|0atX4uMY2ZQzdhBUa;W7Y(zme4(%z2~Px%h- zp6Lw&{KRhfOc)f6hmR+9dfgAFW;^Zym=PE9OnIY~o`6odoLFB!SODk*<6FVK>CQep zXCE)IiuoL=PtAL7wd4DhOcj(t--tB%jbsQWM<(~$S5UjHvO=9?G!$vh5 z0#E&vp^8}lcn*^4AYN%O{uL8WD6%~xH4?Tc&Tx<=*c?~rPgEtxaoX{^(5C2>+9fr@@V}*O$aN}_@Q^+EHU?rxcy*7s z>);>Joyigo^zQH9 zxgL^x#k)`{UHv(i5Ud$r?J8~;+It+&^h{v?_YcD(dClQ{<##(0+Xw-HRFrz%u9$KEo5rCZ9+E0V*p)){3t5!87R7456_|Z!jd~p-ro1tz8^U`5z-j7v^0=d z2oUP}4pU(OQ7({CaLX=KeGbw)YF;xqFloeJ}jg4)?vEpmv(NZ_y?Mp559 zGrHI3|8Hp2UIf-1Ip-x;_fJ8vG6dJ5#KWbF=s&|_83jJjZD(jfP}%o&Yn&rGVZdZn z$$gd4j&?fHe;>;}>6(MZ*Cpu563-bRttdcPZy8YhsPIX>h zpR8$g4aIbMLjK2R{Rq?i5T-KQrW5c zqHf+|9su9JJx3i>pMO|XIc~X9ofaSCF-!GfY+x|INH@q*KbSkrjY-_II%MH)mP>Za z)X|-V%3>?W$Ffr!KW#qtIM=g-)1vC~&)Lq_tCnc`Mu!HK3TX5}=fl)LDO%~KhSNX| zt*qik&nO?wLfe5pvM-uoX34HqOP_jcVz@?%<{eP#icu#3%s%&wBQo6eG-3C8={zT* zs`$*mmu3734^t_1b@VWZH?i17?NivC`1sc!j7{wEzy&D`u(?y}(xhhLd5nJ1xX&ZN z;`Z^XogDvA0YANf{cQoG*cxK^31A=)Cg|R;++Ku-6ODY^| z%FQ%!uyRzhc+4F1SN9&|z;saCI~RY9HI_zWw3_Gs47%KrH-*h&n}+|chFU2;%(i0> zZmku&fsro98^Z1vM~-J?@u)|1?)51`;hN!C30p^pzo<2#-B+YN(~j@PnmZNvPi@s3 z=QA>;a7hO!q;Sc_%D&$!fiwp6n#MD1$&Os;uSA&_)-Lyl2I)hXd!;*@8RTp;kK2jz z=@Y3FHg($gC@PTXlnib#lbaA4BY8pnHbkD(N6P&>*`G=|45$oQ3;?B+tDHCCy7Fb_a`vnnkcDA=qzz9U@ zxbt^^?JeDzaSW7mk3jF*gCj0z0+iJxytfO2EM(@>e_& zGxlRG{!Lm{fNjZ=k54%Z9<~n%gP!Xv)~K?>Y<39VJsI)^6n8)^zUuAWi!?ZfcDMvD;#Nd|QY*`VPcVCR{ zeSrBDP%^fOQ?7MGmwfcVum9&@KqDqX+3$Gf5%I?%px*K)DALY;VAA+4;AVy5>3zak zl<*bKcRR`KYB)b|yoP7jjPy=;Knh@*eSTXE1VXUIe+mPA-=CD0mNp1B(9v1-C9Nf7 z<1RD+IrAGCfO#dOP2MEe;ES^v9%n~T-Ni$$hQpdOI8-oLhcQ^dn>(bl`2Oikit|+n z1k&H4#{S7oaqsS%rdp4Mdk7=O3&4EaT|8kY+&|F5-X3=5jO6X>zrUFHs{dn%ULOIV zpZCdjh%-|E`VzxhK6~A}W6$8cJNzc6r~ga@2ZYn@i#NRZRhqL~dkYNw_>2F~pjG$p zzP399+3)`M;mD&YNtOG<7N2|>5%AEmNmu$8)C6!L_}5n*rx>>WC&Shq=qEp73NZJ9 z!g-gSwV87s0QZCfJ^AEh*7dwU1<9zy+}y3jxaRCi1c^l6DFoaJ3elmN80yE!DvTI;1p7##C#8~y|QsMBq@$W%7-tJpe&vC_F8zR zGo1s#Ok&$CoCO2b`3Fa8>TlGLO+fP@jtwopvKpz%WAqzp$tR77G$iuxPR1@E*4yA? z5FCaT_dEa%3MiBm#o%awX2v)`FdBWgwUS6{+4Grh54T#)CNZGe7v)8#s?9={@(tC_d)K;!JZquHCiek`1 z`@*&-?)dhf@fIJQN>2CasC4J50U9J?9sf#@aT8X_0|%|D`@ zuEH=K+mFL9JTCJYLwp~fmVubX3HGzLuY`DpLd$b;Nn8@~Hs8kUu99S!J7y!$9b-vI z+np@G?b%wNg*Vo;rfhCWVSaG2^j^(aLmQIIYrQf|-qS88ck|(l@h0K2E5nLi6e;ew zPoCf@WAK^U{#itxYX=OG{S+QRv(Xso4}%P16WIi9zSb*x8uRGI=IF-bxY?%@v-@ou z*KTFkEbnO60qBEy*`;varduqb@Zl%s9ls#>H8K1;H%C?x)qQqO_8$G;nPWZp7U&le z;aHq{89*mx`px_9`0O|v?t5%y53Y}7gHZTs&H874FvXDsa)_5)8QOQ5U&f?lk5@rD={ny8!6*v>-Y3bn4C+pYQE%0X6vlsX z17mES%qC!pwWnxxd^cDkX~`&-3YAtX&!=dc;-Mw3th_=p_UfZKnE;ogtR-#C&Je>C zCn-P=>v;2`rLi-SFF=+6jXcWAJBCOt1H%jV%;q=cC2)#GuKM5~^;vxI4=g%aNK@Ss z5_+NXzu+dFbK1YHUSPkzkhA3h#pB*u_f3D{Y=wnS%*%a)Zq#}GAA*J{EhOF~0tDqS zhH6d-<1)kak~)7d4C9A->feiD_x72`v*eT`WJM@^rm>lfEdtslw$pHD)YTfe!!k|%T!2e{3Iq9Cs<5c9j+7+Tn1f|x3>cJR z>us`c`k0SP{q4Eb7#W{M=|QZGOu$v2{G5(Tp`KMtbenZ^<5h9;G-(=7(CPfXucjNn zvvZBWk+ok*fVa;rlRl-lT5o^Z{4yuAq|;XSZ}3BYvsf}hI)?H+A|>e#-5|>Y7m1Ob z!JE*;tcrso`vJ)3fVk1qIvzVu z4{jJ5frX>@eNDC$%ga9k@kTF%_K1w6gwiG%2mE0r9y10rx6O=1oZ7yxQ zlDyXQ2x&*0FUMU&>zk?enj@=icxAh4 zIaII*j^vOP0-Aa?laUD6Xo=)4CLN&GMW^%U=;@x6DiI0Mq(rW9OftB1tK`P%TFykQ$2|viwRvjKdwg%-CJ)=_m^-yIq66PcsK-)Wu}K-+DzNVO`u9-Q zfyv=Nl*Q+!zj<5hDsZ@wZtQ&H=)3kL2WXACvjfw0Ev;CtTA}*}@mU7fW0}GTQ z*18pTazEDk8oJcE>%+XNV8lX=%^WqYsA`5;T;?@LWFLZ<$L&gJ3U3GCn>H^WU_^(O zOfMx-bs3iNOYyvYrXAE`StK5-20(@dHA~e? z{U0BjX6CC|<>;2Ux+;ePf<|*xkI@EG%xRL`l^R7k321{j3QpCJ{)vQA? zmF5T-%EkevSWXL|5s7KbjP;LU3nx6KAy8av??>2pC&8(FZ>mpZY%SZwXS87kPfEsI z6^?_EZF(daRg*XWV?#m?NMgGuFZOH)^y3^QmKNZ@8AN;dX#7y`nFUUV=W-j=s6@o6 zqH0Q?wH6-g|0RuUzoMze^lGd2w`@RJXP&qe@4twPd<|-1Y`zKjnNA_UBBmErtYNiA z#ZYD9BG8n*5Ld3X+}vE91ESE?l1lRHOzT2K2}4>uY_Toal}p&kZ1jDmo(&_i1;I)> z$1f{IK~9V&k^8XE)iSmGP!48>aX=T|PN}VaA7jTFxtCc_T!&XByvphdqKBWDMJ6f> zk|p@%C4F7Y$X+11`rOsJU|2^RB${n(2y3$?rVRyJQe7I~CIQ)po|q6@m!(gBG;FL| z3f?qc3%DwWRmx&pzU#Tt(R;qan_QT;P$E7pBe;XUqAv{)$_|d77pXI8Z-BA-@f+D; z32%wK)(HSKKoZ|+3D6zJ1?y#y7e{T$C^I#JfWH?N{kDs}oy zZjQQ*QFm?CNf>JmkSrG#CSL{oe8uW*qMA{Tib9~jy~xhw_MHLD7;@VTA>3?^S>eET&p7kjj}7LRcqa|EY!*ZV_P(OWs~D;=zm$}eA;v*f zn<}2M*R;vWiITiU97&P$FBc_=;T%}q>V?#fvy5Izkeh$gD8#VRh5sz#@@oFX%&Ye_ z9kB9T*u<|C2VWSH3?5Rxvfd(Cyi5D&@#u;BpI~mn>+vuBl{($u0F4Ig%#MgFq5Fvz z5ULm@&X;Vr4*FV}_M^j-lO_CTiL!2bDvP+@aT$pcoRg+TRH-CvCaA*3CH~UX&o0%E z9;4}1_GD!MG&OU~HcuS%xk)6;Qu3 zI((zfsq!Vh^NJw%F-#I$z0`~np$&HWu(6(V_ZEOM_{=QH=^8Zt+)?AzS(F(rWM2MW zEOowQ9X)8cYe|prV)&@k%hnN|6A~5H%_Fj^EXQlD+@d65jXx;1^OP)dxw*5E@9B*V zmeGi?<#sqJvtBBDUZ>bZeJE$ zNRot<-DK^=L}rhhVt3+=qe?&e{s1r(ut-EXGm)-yF*ZMC-^@IIr*D-R=@_3d`-{4Z zyhYbS=$a+x?DLkPmmB`!&=6;265ySRgyDvGfMEg#$@B*}yUdFO+kRb94EQ6@ai}n; z*wtJncM%6hXcqyzo8jK|0cTokerV74b1@oG>-^Yr{Bkn3e1^%Z*VnX*#axV{ryRq*+4jJV|#&uS$V|K$T<`*GdeI%vfdSbN3KPmJ)uF z;j{D5L9Ep(n8$ehJTDZ;t|TU!GP^?z2R7m3H`GyN>jn3)0k7F-i5d^odY zY?xjK?A(iY@bB>W7@uQD7}mcavY2Hv%)5LAkLWlu`f4))dgt?pt8Ud((sk+Y@OqnK zXm7)YET4f|*?trfxmh=R8kF|@*e=zE3BvG(P;v{dcZx}60Ttnje|#~|6(A7w*(@wR zd}v$5z|0W9z+#PqPx_|?Y@wyf*}rM}`*h%6EUtOW0YKN@aQ{%+C3D{gZ6y_a4@cs( zmhBvsT8JB=%b&~cu#P@ANKt%t4~Mb!J)z;U1}>4 z4zwK$G;OWUz<71Vm!w+W6IHNnj#K>)FXl5rDBrlE{(xLRX1Aw0T}o(36vHYCKPgnP zee~x-X7G$M$6s9pzHk>PTo{%k{;A~+G}X4>+xd5qK>5D}zX1KT|DOWbP^J67xJE|C z#{VKl{c#x%?&-U~+<(%$z*+4nb!R}x9?0Ya45Wct1zCc-}O8(u?M!Pd&G;ryStjtCce0SZd9dbC}w8OwKExl5M~jpxR$Z1 zwM`DdB3~_%(Qz_Q(S$`v- zg*&;dO=86f^@)hD=4psqFwp!sbFATbod^NvsI8H$5TuI5s@aCCKgp(>0t!TaC8$4x zQU1A18c4Zc?aR83QxX9&f4LfP}> zg+sl33X=XlnDPY(i8Ku$C1J~A+IxUE`+4SSbe}nFFj}iU^{Wv*{M+|LG-%@>tKdvy z4A;;(L3n!L)Hnr$L4f#^{IgevE$9o|PPD(KIKI3I{9F0R!(id?v${$6(sxE#!Y;zS zDt{TJR*F5Udi(dsYYz4w_bndYy&!}RgSH)JKF%f6>nb?xmgn9_kzXhy#n%iECu1mc z{1W~(@;)J?R_%=Wt;mHsM9R1V$u$Mz>+J+dQ5^GQLha77^U;Pl?BsS7NV~&_FUFf| zyLV(JG@QM6;_|Ei{&+)(HVMQ8K+bJ!K(>ST==l*n0Lvzi?bq)tJ&wLBcS~@3W?1K~Tlx%+N zSiKZ8;&PH{S@c8Tsc~G z->>OdsG8$$qmue@bnW^z5`RsK7Na!M-4wZfB?3{CUc|vp` zp2GwCF`Hn5jQNe#jGe_ySs1j_{9jLc;&OAdC~!|X;oLH2o=UKyr_+s0{P&HmK(xn~ z4aI(qO0(cv@wAc0w2G)3nkPB=?O&KfqpGsn9E8?<%RJ~1DYTIN8^Q(J^ing>X%G1D zM4M=w2@c)%EKV({FV1mS61Xc(JQkIto=0T<=ElKc&#_5!i6lh0ENsCS<*G_%8G}`v=d1$;= zQx38o9U(mszm%+JkPJb%t<`y(nTMHWuJneU9VSlXpVx&K~D z0WTGnYj@8GQVJ+9ezc2qi}o~g}G4_zP`e_iLWbl3qZ5PuiRjreyKyF3x4~G z$GsvekjOWyFS)DiBir7}cz>P>H-n*Eq$JqPA85}Vsxg~uHHGt6h&gEM9f=vB2dO^a zoI%w3)Z!L8QO)V7;*`N`qx-jeH401O=nXrEwh->T8c8}OjKzup;{@WOBTS-z5LB~G zx+W@erJyPn;y>w_XD%K=CEuEg`*9}3doj&+D1T}g!H`0hGH!-0 z?W)(lzte6t*16?IO2*l?I0^c6fa^Ou;@OeAl<9+9M4c`wSpsaoRG zCmpfNbnLwMHKk&p49-#5Fs$s`74PfTa;VTJtBO`{JlApGorAZ8@a_LFJI@U)AHz^6 zh;g}7T17?tZRW04&La@(?XM@qoc%GAm}Vd0Q@@te9ZW#V5s;ibygl)4Sy|-Km$#AT z7t@a2tn)w0yJ3zRD~~CVz7ZbQdqHJK`~1&2YbD!afkr}i5gEC^yVd_?E_q==`?#co zBjLr$O7w;Gm4DRu$)XdMrf7RtL8k2ub3t%^C=08z1+}7~sV|G4qO-hs4Ye)XQS~DB zmY2I)`<5?%*uI9K5*U>MRID#9!qGrC253@S+dcvZmqU~G- zLv*rZ^6Wfao}KMBY=y|wF!Ju9xe|7<9p_hfQ3Xwm7z76qau&#%&2zcej- ze8#3b+OLLIo}NB^S5=UgWd=+$s3<{IrkxF(eBttL+Rl|}R{`R01DWcxJ=4(1&4eiK zAOF^EZ3>vAyKN(_e1gj*&BLxd%_K8YxW?oa$jYud^cj7t9BNk;PH#ASs~y{&V5+_U z?~VGzWpJ5g(Kn#g=0LeKw~pe*dE*L~nI=|<)6@4SQ;}OskkT8UPn|!Naly!OBqoSz zACrDJsQc6*M`vfNj7P%42KNig@Rf=gk4}9U|KRL!`Q1FsYVlL$^$a&t4#&l(I3wx} zqS2$&vLLG5N2pNuoTqZ0?x~p@>rc^-=|f$17s{ZFT<~6Vism<6Zl;^hZlR~1P4YNl zt@4M^iv}AP92wcf{&b(eJ?H}Oezldvi?EDzkfs`zuZZ5_K>KOE)=SFw0}>~89XG~HvTKA&oPX?6bM zY0gLNPwKo6B`4UQ7Y3UP%s_+RHQz7A2o7{Z)*{vvC5X!=Msty4)TyqizG=EmX+j}!SV zMs6`d;_UZ=ih{ozF-!Xe6nndwFqIw=+|m4eDvUoh=q#1#6*AD=#w}i(=7AH7=zU0*T9Et|vsmLW>_tuY5i}erz@-s3%4#!!+#9qnxvG!q0A{P}A~T z3b&tr(a3sKpnUfDtJXv8{cDpn@Q`Zg<aMBU(dncqnC%jYQdf;0cc9I#Lz9Md4nwvglc@G=I zjoK7ueutmEVFc;|<*^K%PS-1I73OGjf81&rbk_Lf3BqA*`0-J1mQvX5^y^gdcI8_PM5NvrGxM?;E|`)0~5OKNNV0JRUy z!Ux>3+vQj4nHtffjDgBRI~V<@i<8!wX?kqOxE4MsKRT@UX7h_$&3m_w6w$t0>z(G1Ww6+7BL%|G!7KLZKf~@BhwF=?r_K%qemQOh zf31HprXVT$D*J5<&PBIT1WeDIH*{#1uP(wYXY1LG({k0pAI2SU=cNmjU-YdYEJqhy z^IJIC5bUj6hOw7EzPkL-{}Y*68Sgf~Ye-~fd2|ZlmhN6K){hZByL-WDzcyv5+f{@ZnboFM6h8Xzy)(&^KTjq!1f03H)7ddUSu*uE&t&gEY*?mm#1D=Z z^06mZ_dEsgMSV(EW{<%g=0u*0Q=*x2nJiXZ%g`Joq-_HP&dLep&wA+HXUSe}KvF)0 zgY)yHS1fgNbM$<-6-g#g-V1NKEqDsO>)cCBv8szngq1v3;*K3_npUME!5kC=-mG%% zIFh#1x_p7opmC7bWHkkuF!j z0N1J^Kl(yf%X?0-$Aw7K7YBiCGox(2PK`78mBqs<6PUI2tF*MVlT-T~6LzxZk?*rR Q4*&Erj?t9<-?(_c7$1(eqz0W>tt-aQFl@qD^lgHZAHD-8?`JZlULT&8Fbto%{rh`}et@{3f}}MOK8FO;;sChLR*kMt*m-Y!&lHuEn4}r$>)>Hvk3ZzYG6!vcD>FzMZzn4iJSaSi)Z|p`{ewT0At-+E{1^;RL!6UPaW;0*@ee)%(OUnE(r?bicU%ghzJ^zks zen&pODngMoXU9~U8G6T5Tqs?{`WNCYcr-Th(W%^^;fHNx1ZqAMF&%17oyK3wCsoTg z<7P%P2_d13i*yQIbPL7bTeF<>HS?_sBtI=}cT1z+tLK+wUFfdH+w*Vnxgv)+Ex30t zo^&mHv3-Dt#z@o$ikRV)tN;08Xi|A;cGeDQ$ACjRFrYOZeZ(Lvctl8;`7|XDvui*; z_Jv0!mrRP&$HflUZp(Uy4^(k6xHP0RG|+ojD(f)5t#(LN6&F4fg2AAN4ZM&eCo%NI zyfb7i$?l`whjkbeF}x23xui_NN8&;l+6g3Wjd8;5Eb1i}ycZAs_K|0l`4p-~wBZu> zw>*^$P-K+0%md*;&4vaz>ZL-?ho5IGimvpt_0y>F~rCdoSWG=>uo5+qoWsA z-J+L50k^fBq@T&hOBt|rOu(*H1iP){Bn8G?_5 zR5=ANPy_5=<{!`_n4$a-!+^!G&<(i+=qVbJPh;fF*Q_^g;)vJoWlsH!pNm)zXObLp zCmb2$)L6-dg(QYJSuFJk8By|(LMtns7}PNGDcWQhkOvk>@_cxhUHu*1JuwQ&oRpYt zw1uH?3brs0!ARKpmyY+it&mV#wtitu8NsQ$*_jY*JxaX~F-{+?Dbw<4pstpata=~j zI}iN!cM!Jot(es!j@GCR!cr4(`b+?)PmGiq_32e>yTfn34uL(xkcoEwt7}r9GdTYS zdM^xPS@g35h#sEc>lx7`UqA=^82BjFIn6q0WptIhx*2<)&Oq z2|{;z!<=dt|6rGqrzZx6Vv-h45dXzKTCN?{MeWwr(_?{^Vr^;pagoTx3?I3N6O1d& zM~DUG;~!{06CvPxLn`>5oeLj+U`dU`lNxD9ISC0PIdA*4;P*gJR9vqW6E^xz3|+y5Em0hwn1Eja}8s6efu%zA(i}|8*W@^d)3|8XQww7`H>_6 z1R;r}qWp_3)Hape=TC_Ob|qWeeecsvgruquR}}Cm)Olp$o=`Nq<_61B2uzy3X^lo_&A0ezfjdXy2NAa50IM$B;}6f?&7DwPIM%vsIhj=JyZL~Z z^ZhpgPgJo4I%Pf%v1S{*6Lhk&Qt6M*b~Ro3Aq2|pudf%S7AjPTGqD}6*XPU-a*$ij z=T=lKqY+bi^}n~3v`P=8&Uoo{Xl=>0*+8*On)I=Ru+vQcb+hE>dp7c60-7Tlzxw;F z+UK3uj=;PG&!Rs6@9p)_ic6bSzaekJ@tQcqd6wLnIO4YBx_?KW(P163$gskErIG3X zu{|{3TqTV5-DGLKJ{WQ38+jsX?Q3I`kD31exR)s}UZ;W)tGq2MdRZVcE()u?#_63} z8$A|TFB!@I-q>qv&IzgZfTz!YqZc+C2LzbD1+fIY#QWGs|NC~5gomJ@ldz*df#kIg zV_omYf7V{rWk$Fv-q3)S|3$d(^(vp^?$p8CQJ7G%=dYf8v<^iOV@qc?W7<~yO_Sc? zy;Xmm0!Wwe<@i%?k3xl!` zNmZr%*z%Fv-xWu62CqW}2n$JY?P>|^*4`OH}3TRkj=thmuU>3Zp|Vdj6|EoA$a zlds2$wV~g9WfRYT-4fkh&xj{<mBB1spa8GjS_&-&+>#OJ;Bly3-Zw+tHb}A zNDzkcFETwh;0_(lu)bDTfAw=z(m8Z_BfTEJ?yZdEnKwvb@#d~P8*s{UB>6-Nltdgy5_Xh#G^_e}`XBO?`UBlj<^|Ifdb zKRWrUZT4(9AHOF5vVK|SV_S0DUF&WgK6Sp<0dWA6yGm3Pf1%;U(D%3qh|W}!%hj8| zryw?+d`^n4PisGN*Jc#%dCb!@#c|6+6n9xlh@H*=0vKUSNl_ruO~R14yc#nRB`Mf= z`-uOu(RN1@6}+#41@O;K(RT|y&dXO{*A`$tyQ-9el~)o&Auh;)-!X=j7LTO|yPT#e zaZb5HX99yHr4u1kMWf}$$cEz2uM@nsj}tRp5_RBR%hH!Lg*%!|8pB4cHLtzJGL^02 zDYN}XwdqnpG*BVFdow>A2^=fr+@qtMxkp|r4ofM$`T}8wS-{JGUv=7k0tk`LSh02W z57v>`w#&^b>#_^>Xr7IvNHiEdFx*KN$6`3Ws<&d{boX}Kh$Q?o^PPu3d>|!D%yB9` z6jr$&5D@s*PB#_REB6kL0-jfjwHKpm5`zIhRJ$COvUgDNYt+GSUI?&`$$TCX2cJ zw4Epg6&)Fss}1%u^7q1Z9O?epJq4QBzpDcNl32{7QO0e$i~U%7{4w+PgVp8H+X?H- zXDG(h|IUwfJUGPn@tDzN20;;ka-vIK58K!W33IyTw+~K1I!~7FE|A#4AY_ z{vGxA!q)hyq1$&tOGs9&J$-XcFJ^v0zblXB~J7@A1ogzOciOd$f`pMDd3*wf;pZzhHaW1iT z@(u6NU z+im%ves9(HY?CF6%4hn1R|8>w>2&wB4CHsMlOP|_bw}=JT7RMvjr?2T#EwO{ie-MW zK?Xdt#kQj&JX>Fz_qlnntB#F?czCU?HY!BEo=h<&mvC1)%|c+5%H}8q{Qg9oCUhM* z*swr7xb9sGZhG(7t|hGb*J_R>FcfxKNKS}5Ses5BEPom6FatvF_@y--Q;Rnhx9FM% zfDCthhNb`|XzKfAfChXvL0Tc&L}XaRX`K;q8lvmVS+P9XAQ5pX8ufNPQm7)Q^RqvX z#gJSUUx;8+-BP+CVlkvGrvpm_)Bz2?!RO8xgJtSIN6LGC_Go&#H+5u}^3pjvPD-p{ za3J;14{uY8-fyky@WKRQ(TK3^>8fPL(DP~sm<~p3=BfH9I@#%Zi(NA4WJd>@?3bdyBlRt@e}=VC@pR-@YfWJ0!hvU99bdt>pQj} z$QXmmfG@Pp)c;|Q$b-{zC8XDCCF8t8!O^P>x*jR}*=tO%ZFZ#8Mh7m#Pq*bBF1^b3 zsYm40V7Fy?+f>@`Lt=#7#L_+ssp%tcC1UQAvc8HT9zGUt><5V@hG5}-%``mq%*@P$ zw})V*i+SXOOH_!?C2|7)g!H>xe#m{E|9_S_@Jq{h?FMB5`R=e>TK2XPH3F^f%jNK> ztV~g+fb)H1^L|c2)<9VEb)RN{#J=Xv=~`QsF)Cjxw_ldsq{i%;)>bnq^q2yr7W?C= z^0-T`Ly7##Dut_C!76C9hTf8mw|f(uCb{fw!;M(|sF~sZA|k)vv?>7=?AZQjb8&e+ z7-PY$K`*5xOEW{n>{kvAC{w18M+&hTHcSeImw8Jq(rT1~&rQ1Vf3Rstun@+^KbY?* zHEK;7oJE)ceE#`!9A8HGBjW(D{1mb(?uZa@3y=CdIa}CX%X;&$W0U)_G-HS#p@3q! zX6h$uMM|3@XZ`LBX=_Y)3eQ3e1w$;J&Fb3PeoquJ*l`^*UzJ^4OJl0|K)TkxTO*uc zL-|l=`@4xhd(rV1f=Bd`(thYXcS6x}gQ_Hj-InZ#oFIuM6HgHducYe$Zc|9*i-abAHj1iu$%5M)(JYqu-NT6L7>!onrGYqmXIyO>w{ zz9p7uxA~B0B>xR3Sw8``K*5{L9*Ny%(%QjcrS!kCh?oYKv1Cqm3nJfR!UWgY??gHx zFDi<+UL&hT!b^am`H*9`_3S&CbE|A3XL)nq()R+oTc|D3J!R}n#Ji{!jgYxYYrCnH zK}a3egYiGCW&46|4@ubq7PpGYyg(h==dP$<}h;x)WYvOE(8)DuPqNK`@ic z6uHc3@s%|cY32iXbB?ay*#s8>7Av<2yj7C-I?Y|_3q6!ICOBu68_B<3LToozY+Qc@ zEO#cBT9e!%dl*k3r7LuZS$uRdZ*A&9X#j`Zp&!0$lhoiU)P44wd5tqNM4K}uJTyJ` z`D*baWxH7j)&wE-s!^Ge7AkN9WgE`F5Z)wKva7AWt!wNp@yl~VzE-ilSwC_8_u*FI z;YbyHUC3cr*xpFd03sdf64k)gf4y$F@slITx5i=S$miN?Gc+wf%6ra7+=$;}_#;*G zVb2I~qHXs4aZD!tu2Jpp?W(7B{-e%09-FumCAz#l(NvmN*4@0Vryp70WQb;>9yra^ zC)kbT@5cpSG8bR%!=kRm+MYI=D8!|j_(jgO_zSwsHM{Z&lJ$Z_TeYubX`%Vj3hK?hU(E%MDTC;7GEgWDPgx zTb-@L!xqf(Uv=wgz90`bH>0;1Ym(Jw9yEJ%qSKmrj4S4g-BoV{a&sr;YGd#QWd=5# z@H=$N8|A-1FOMj`EeS(xLU+-EL32uu3+QKt`dKYur>6&j1i9N5<>Iob|L84a=cvD3Sjp(R?H44%{diyM0FFn2&Pt8YH)7HjeOxdfqE?_j%$ z%jbT(P`v3JhZiyc5F4;So}-iTvBu|>PMbY@CxAvL`5`a;KsrTja^Gw%k%``Ng+FEW zlz41xV*b~JX|wlG(Wr8xS1!zG^fdmrWNWWovG?{QbuD6vqe|Yyd+jjNEO{h&&X1pX z&hr^CGm6C2-_QmI`z==;t&DIw~ zvfA3{BEUktf{(Ke10ph5&Lk&Y2O3F7HhD68D^{asq=JRK&e6@WH|7<5RS)tbkSl8M~9& z&q8EH)6RDOEJib+$#-Mv>4~f$&d81irDWIiB&1ZIYbv)WQG7zeiwcvL)1|1+;03{e zQ&*m*t?E5AJ~`J@cl#|s>C3u)2fVEp-uH}91T)d=&O|gQr zSP->jO{<3lBcMgB_7*xy4eQE#w;8_R5K?1Qn#)cV^C)n@kH2nk3k#=Am7d4V}?WiIdnxJ{Z?TApx(HhpLv^fm&>vPzFRa1n998degeF zg(optyE(H>pmW_SYM<2r4!Wni#I?OFQ7}JtJBqPi_5d^Vy6@+GhF9ANDuavjDD=Cz zgZ9yJ35ZiHUc@b;S)aKg$fi3Mi;KI&_@GFNc@y5BcK$5Y*n^Y8=%lXjJ*@h&;*k^6(#Dlsfl_H zM&G!3wOy+_xxdH97IZ?|^m*r)r`Z70!lX=^m+H$uLKnVHHTI%n2s$;_LVmhW`e&?! zf=%jCo-q2{xx3$S~^_==nd#;MZPrOU933Fz44otzHgfq zt7SL%0rCFxp*O4Fm3h2N)gv8Un+P1+x<%Sb?|jp5nHF;R8s63(VNNMjZi+v`$4BsI ziWMsr9#+w=>^Ez0+33vKB)rSS+7n})95~&m<_Q^kh}Zn)d_%VJNHP=9uAg8gfmc~1 z4)hs{%k#Ft$|%bEO77frULmX3>S(SdTA_>p|9BZOcx+$r(``;}BK!i-s(o8Ituc6^ z*<f7nGctFO@UAwduYc?Tf%trx?pIDsax-0L{O-{5&NS2$xlD zrE zKk6(co&H*{+k&nhQ*Pl?i8vc2Xj5FEcM)4tVCXy|M<&Ol#V@Snxwu?7m2B>yT3)ZN zX<#yN&JE68_X+l?m8WQT$~FguN;Qq0UIRpTpvGVFJJAa_`9rioAkw(@$H19y+iLJ!XkiT`g_rBWM(=P<5Zpn3R^G%NR!?<$^6Pu6`Cg zSp@gdr`^-G#pll5n~rtLw3`!Xd}(Y4RcD!kcrp(d%H#S0@|2J<{+PpYZAMppGjCLk zFVOj&v27R?+nSfM19H3?n+&9Rk+K@#jBHFu&2C`ZI0cj|<+GlKw@=oN;Dac$moIc} zv46*ZFAq7K_FVV%615TwJ|WW>q5dSBVjUQeTao27XqTR~_T=cQoX&8nD$t|e!tCAo zfwzgw1N!?#>de2Uw7%D$-sQU3lTDYdNEK0#>d8oM8~*7_lOf~+-EF(>&-_6TT{{+! z&`mFHRuz-2?^cZUq5sr6SH)bpb5fS+bCzx{CymxA(^JZ-IcLEkTE0NDM~cRVT@&;Q2t?=Ix^MjsVN$Lw*84%to9;( z(A+)A5c2+xON<}w2Wea5k52l{&o_~(1!o~2#qhk`6G10TOV&&}~L*>tcig2!w2>-l(@p>83QRVWVOcg&o;M^syY zGGyEwFN@mX{ROy#Kk}vHjFgI}r@p-iE$qwfesg8=^|uLc(cHn|VZ(ZUre3Al9Xj#% z-((|*E>D-^X5NpySy@X}wLW~9yqMy)pB!56^k+m}dCl4OdF4{T%B~e}batvD0 zcOPrfzmaOuTuRwtvTwr1ZX)sgPeriK$_^4^4w4 zArYa~7*AyTYtq=DH4*KUpe zsWiZu)P6VHn6l-mD-g2&{Mv8$Z}^PrDz+!|Hu|EddWA#afv{tHjJkd$vGBV>8*X zet)rGUV3ZI()hC z#mmWSG0_MN!%WvKc$)|8&FDG*+x`8LYC-!T_A_}1g$H-qMb;;IK$STK7p0eL!<#xu9onMwC)7&-U z(sXq&Ih7EP%?KWrT6)e@-bj1HhRZ!HMSy#FPPRZ4z!BM4rPd97Emub28^G?lQ4RPJ zh3rFc)Sf*zMs*>`~&F*^(ez%b3OPtxS1sDi! zfgw$!i9>rVuvl|qC z8t-3x$4WMdx|bqe(xMaob*F-5eU!zOP&!~u4wyJ{id&(owj`JsR{(d;hnLOk4^ew0 zU8CS$k3aBG;DUF#!TQ%XecSZOOVZ6lS0C^H|Q*yY&M` z=?>PHifL)@9U~k9$_J08qf1|@r3_b^L-#0c z$NH($K+hbFO+hnHkD{n&qpD<*Iy0R9#~ zQ(jxs&OE#DrE_a|6J%N&mQ3TlC_qsDXC$R&I`Xng_<<1U2u`g6{bp=KcaC<3*RTMF zh|5{LP4Mt$^7Tc}`mH}OXnfOo3tWnc^k-_u8FS676mMglJcDTX%HqdbTU>6u{&} z;w@%&gSLP8<+C#n#ILL0O)uTOm9mO9AKv1Ynu+qW{q1z2MJxb(uot&{r#Dq!I|kvG z-}z>lDh)^~zr9S8x0CI-YGUVns=U|uM&a(^$(jXagg1O+xPYMy>2(iRKo-F4<4zJo zKU9a4M>q@tt&&mu4(>}~Z1|Kwaj!vBBVOQl(JaCWK3Hebta#^Z7=Jm5oh`PivIs^d`&L2w>{g$4YcX>QMcsPHWz2u;E)9K9NPm2IOziTNYJs)^A6V-?+f6QlL%+OlQ`CM;rG45dAzm%i zfp@zzR;G^ctd0wVXKN^l&i|y!_JUq=pI^naI(7z=fqRo}q`^+A^~R2B!eopvl?}(k z)XdQO84v-W5-4;TeaV+50{ErPNBvTZCko*=6AgYzKmg?Nv$8v~ILF*%CIst~dBj-G zlzo8nM?L4PWG_|TSiZs`3_#K^Kq!=`LeQ=gm!RJK-DsNOuHVO`Q9t##Jjr}AVqZp4 zY@d~rwZYSDz!l@-S5sm~tmy|d2=tG80_3hdrKKGp%81 zlcFkMt-4Z+TE{>pk=gy-!sj-x9UW|eoq(BM7hSvRtDN(v2(oAZ|%Fd!r13*V8wZ3Av6E8tJk2c0|hG@lvy z%!&zK!){@^NdX|V&`koW(bQykDtWQ!R1tig%M=n1L|VdSvm%)D-p&@n#I4j!ab{e- zMW0eH(Jm8w4+qUw$N(a&wQiJ`6L{>*NRbw(* zn_qIlV+fLYnvGSpN60^WRi0Dr$d{cI)`(60cLr=Rosv$=F)ObrbD7*Ml- zi<+t|S`PG$rV?ZgP`MosN-PtNSB|M3*8nVyu#X@{>jo2ztM>qKQ+q7-{Du`ooF!2OF;qx;3C&w1t@=7#xq^R0D%J5`Z@l zF`u<$;1jrW-Z)Ps^wjf_7gvmta)~s*oR5}cV9qjH56OJ&hRecrf96{PgFnpWq)U=aLXH2o) zA6zlDn->SGpbJs(iTw$|X`Kxz`;L#;Mt##QhLnOKRs~Bt-x<>!~KJKU8U~bJ>~s^!YU-isavul+_0&nYdbNl}gC= zjQx!MnM*g$2CPx6P8olVm7^aJ-1X^NPK=zObGt~*)Tq~EoW}nU#8*H4I6R+@@O^vx z21^(9NRXq;rQ<|O*b6&Qy3T*Xnf$5&y8_0_J{$wHwxq;4lg_+q2hqr`abc8b642U9nt zt2(h#*2C#kTub-}_)ZU2cH1U-U-B?v^+v(1Xx)+%{&Cjdd_sEfBC90=wi}Vi~Q>*BK9Pzucl^Tr?`PZ+THL3ow_>-pM|v*7(p%H`$dgGjE!RhH zZ{egEAXeD%0P70%q3wZsZACaiInmAFsqUoaXh)GwPBJN-zqG-tpF%{NKg#1VbKbly zABY9DCoN}srvyzwBr4~!jWPqm_-|i`Lpz#A<7*#E;U!6e`=S8hZ+nIyJ;{SQ}hi&f9RvtD%WruM2h$KaWYJu4aA&wmtH6%8J-Hv@0j%U`Ts ztXQg$%SKX^O+C)92+;JO>~z7i{ujMM|8-RpD6}cAJJP}y{F~e>z2DVtleWG5T|$fX zjTz*6uVM*!MjnI9qmrJ?g8zQ&mELdvzV$m$zLDt1x?hDS64{%O=j@c&FGL!LocbpS zYIzE<2;e(el$)&k_ZMIsR>I9RpBX%>FTDxujDz3wu_%BNsU=HL%inUuG#2{uU+YXE z;iu2*GP`&a*iWEB3aE)1Ro0=@d=*RYX`ex>i;#j}f$?e_WL) z{QD_JvbHgv^vD`TzW~7=^WemY`K5DOs^#++$cy(`~RuD>*jwGio?!Y%lt8YQ7s=v=;^>2 zeM{N@-ZTt69cUJd`k}e~N8+scx&PwUzn}M?pVxNj`7c7nLqzlMKVZOe;|JLBpKJfO zk)-|7@o^~CJ!_n{zuc|=G!tYk-;3r&Nu3p>kE*EgX|A~HkpmUYL2WVCNWI&#x^3F0 z|2@0pzI$(Z9W%^sD^o*Y))qK6G~^`gK;-?s6klM&=cFtEEAS!^+d6&FfJJ~cJ;SQAbJtgZSW5Fm!Hus z)$AxKSt$qaxKDD?IKq1X8eDl5RmA*XuKla^TAvc<2}`|Oy3&Wwy&axgL)yShL#Kdn zw`V*R+!#=ujeGUl0T7PUOJU!$pypz$f0e@h#V%C8HT9D**Al+e&$LOvV#KWynb5Tu zLSQUezOj&G4bQEcE7n;6Pv)%YuDkw6CjO_vu1jABEC=Kim-}dylLRRAz^}z|GHu|x z`6`!~gH;W8(q3g=%ly=`jf+;`)#kkXcjD&9sX>s5{55a=G`$4z^= z-lt_WvotfK3?YcsBF=q|Y7M+Nb^d+V{Scj)l=eESM##kHTz!@IGG@AVsVEE7UcP-X zwKf2CKne}M>#4;mU#?cJ_-->`0DI4;3DEH2*7RmK59@?&Mm*VWk5Jq|rh=y}GQ=!@ zLbo6LA1WFk1v@kJ!*nFQtp}=dyE=~oF5dbv>4Z;7qP&{hxG`zM#6M;rQ)Hw-l>tbR zeu8PrAwuwM^vUz>s(tpEOz4g!Gew*hMtNrSYTX}gg2BJ$Q)OSw1s&iY>?6qyy;mv) zMdH$YD0m(V_sAaR4^W9MJ$fs>p0sxo`wY$&CAWRyy7gr$q34 zoav)~=>FS9U@x6RT-W4YEZfta21o{I;1P$G=TJ^l9QST>h|8gTK(3NyZfD{LB%kYq z!}Hk?ktL-(B=%USqN_>mQ;MrgoWHIhhiC&Ad6aZQJaN(=?N3H`A&BwRYP*G^w9SEZtu=zKFAt&al1PnXYYqyfN0F zE{NL(5CsWwqDf?Z^M!h%P@UNiy+b!P{_O>p-^rGuii(Pszwd<i5(Hp%6wAlck( zd{%ef6|ed6bnVglbc|FJ09{MZMn50A`b7x;6nXbKB*(bPOVDmk!~N=l{b{9}uTfW5 z{jY(60>vvKYLQZWejJzPYm#FcTHU-wGbF_K`fM#-(3S}3WZfIjILL@9|1FyiczVRr zrys7bE_6>5E1UIFx~r|>?|>qpWGOKvhuKC?!1?60vbL_W8)4lTFH;6Q$o07v2_R61 zA$dHixi!;}Xq)ZZ)8LnUwvwpobFp0q{q<+FqAeTF+cqOs`a4OBMNqouNjX9Awwjt+ zJCK1R-D0!r49o}Q@vybFo@u9A6)%OHP4jo40-h9^eQVYDuRbj%@-fuiy$Q_eGQraDR9;(XIAN(?)kl4>%|4JDTtr`p zEq)^P*(|HmYw>%Ag+t)#oc|lOx_SVF%LL6k@7j--{+ho&5lP`S9W2!c>s47`7i9Z! z(8s|V48q_8Xwu?6+FyL%%=x2Uo$^FWT!);tBW2i)|6bW2~AbM zM9Sgm?AkVuxX?UEPu*tS&h-8xW=Hu3g7~K6NLy=A%T{G)_|U#U&C**q2BN~cyv93~ zwQQq5&F(m-@f@i_VPl=lgq;r*ynUC8`UAM6K+#lw;Khlxflir0_v%1q!)k^DD3eDQ zd2+Xtx2U#H#LR&bCnwrJXMH5!yytYU>s+x+J9RABX1HF5c6M5XjXjUZ1o%wp#mnf- zOAzh2<6Q53wlOy09;?HY7M~fO4VH;c7oW(u81wZnV^1dDF0Lesi+bzZK^&(#(euF! z*Vp}mh@U`;SKYD?N#kug$|K~%fli$? zO*>4JRsK~Xexlib_L)rl&v;44CMbOgBP|@$^_1Ze~!b0YJUMeNjxLV0GT1uuE_3R(X1?HZU zZRDwMhY?1Q318|qvQ8{Q>+{zG7E}ij&eJP@FYxM4W);N%@m&FKnUwjc^~k(q1yhaS zJvGT^4jN!xhUtK7tosG;VF$id+%kX=pL{|)7R-@RTF+uu|b+h4vJx*lM={dHZMST6M6ef>})_6K4qLFmj?R2kxP>Sq!( zdctAwuJ6Ekwvpeg{eu8+WMriJNH&8V#A&`il~lTO^LTNeaw zS@?cF;E)gq(c1ua<_O4D18OD_1R{9u?k)h0AT9{Lxdvi!$v}Mca6n{UR7BkzFQB{4 zvd5?I#J%C>`l8Ay6Fev$b!*Y`lvBkck_NKl8kVPWvdSV>CWtEvTrQL;jT_P@IF{Y1 z>W%Y=N9FN95#Xx2La?m%=UBKYFE3gGYOS!_xb!=CdF#xr=Knli0tA&WZ8+qbh4U1J z3M!@d^A`A8 zsM?|@5tn*q?88Z7UIxkw_craYL4}&4OWPF=Tg%7sQ)p7249e+os~vm(kPa3cLGbD2 zPLO2Vj)8oDKnSr+dV7RyrhwOLk{7>j<@l0)+(e9nZzu77!0E52Jh4x;)1-EE!h;BO zn;$fkS#-KjSyK6(l|^%(xY5T;IdDv+Pq^amO7mzQ*+Kt^Vt-o?P4Ng}mHwP*;fUgHR zc}R2z$SgK~E-4m;wtd6!j(KHIJ3;9^dmeJkUwIYePDpygd#LAjF~7GnX_9XNpa}ht zmmp5?iJ*0DW=#dmwQstvDibuQnA4`5c)doFs)LVQgPxpKwU{hzu#OyM97Y0iGAo@( zH{E zGUGO7mK)7y&3ijAE`xnsHes>YF?d~-rw30sU0SPTaIiGeYvn5_{?*744p29HrDTd0vWVo2R;t~%SAKDWRr6n@Bt;08A5gs$J$)x zrOA0s`ZvZ(){%8CVRL%Q4qcx~nt{s7Cr_U20ia00b)o$w%$gDh(AX=#*m9mQGKNr? z1|*O$%fE^#dKwfwJTbN{fJbMmn6HxFnZ&M1De1$DTGa@`*{g>c%YjR|o0&{=wITBUdjR>$WSQ`JuQ}C@j9CmUl*Z z50L{ZL6QCRv^sUcAj+4jIeX{g1bUP07gZtns>63Jx8D)xU-~LQ>B(F=Z-as7Z zOqb(eKD6^@LD{i8@&+xmf4sSX_Umv7S;urVa;6x+#w0fqN!s?1Va|j4o;uK}!n!M# zrm92i;Io6qTJ`HA1&OJtYmU+zZ_>qqk7)Q+m`_2NIrFLpWd^6*dbQ@H{_b8&ZVh5T z;6*|zpYx0l$=|ym!}~|Y>s8ua%qJf(&?s0K5yXs)*dvYC0|ALJK-+=JgJ!{@NZ#s~;`h#6J;?Q~8z6Pb7bT z>Ib_3Pn{(m^Evvb_Hw(|wCNsRTlo3M3(+BwXhj<4@na|J-}bf&{ZZ#+7LAW>Q@#uZQMYH-z6Q(Su+P z2KoZ3n`)q8(An(VoAg`v{a3KuT$uiqS?8&%9E`pNKQ+bi_jjt&)8uD^v6Z2_4Ap6p z=8xX&Hi9Rgv$khED#2s0wGlLs3o?C8?hq7_&z&JAp){09A4YF4Xi)cIjPpxj_%E$% z!G}A3XC@iqO#=QS%(T4(wb-#|anIzWEz>3ZsjY0t@g%%O%sPEpmnG_fVS*6MDtU8}28ZXm@&g4mRLm!iA+0n%R7>$)b2wzjES4~?<@ zj%mJ*!0T()yF`T-(#OqMd#(2@#C#B$u6sb6#rcuvIC3fBBZ1sK4wD&>;%pkvLWtUfuS2&c; z=nzcH@DTG1%J2}UP+l1d$KcBO9sz=8Lt#0mwq`0E$JuN|bqtPY@OhGtKgGJNGh3@O z9%Le7ecvo?L4eyaHS=Qt1OCnaW8_*abKXcd=wNU}sD9aIY1?@8VqY@|dCw4nU2LsW zv$A3}<1FH_+HXEtX?_~Og6;98&iBy9c7()yE#>$L8_QQywddPEp9oNocUN=&{<@@C zp&tsKrbAGbQ6D0Cm0v>wLBZ}crJ%sBCu2{3nB%}ioRlU=r{9#dry4ysU!($V z)lj3SgCsriEv5!an^1mWo{}(piif16Q1$}Q(iY}70N@Z%@_p;g<6vQB)hKvNXX}x$ zF@RmTUSM!>JUgZ$q0N(-uOqJH$+3a9Zz3N+6 zeX~;FGH;{Sqmo^JY9k#>5Sr4?iu`bEIVu1UGnise0>q5%GCJR3KiL^>{OG4B(hKf`4!kM;bR zsj(cu-?6?;P3gx^{ds;WaD^u?nlHs0=`laG?3{NqYx!%C9zF!W7?!EOoBx_v1x9bb z8SMQkY*38(k7@tWjECv_XzoD}2`+@Lc0M%5V+(C|mAgq+MLT&@Gu3y zR_CVDOV26mYrY^?UkrMf1r4^?GWVRni74HjY;YgxgJ7;7hlmrd^7?m-~o^xF@k>gEGt zfKC9r?*q|Ms@f~4I-us&@P<)%cb_^{a&fBNA*F$DcK0E0kv#`zm{WNRZ4g8R6^&|E zRC#ye96_55B~Q(E`w3H>Y3$1a3zW^bcGaGZ^|XE1@IvWM$g+TnBa)SO9x<8Y?z;n~ z%{RWl5Civoo!-WK8*rsakow|kq{*y@L7`_OhY#A`r%n2X7vT}y6O1aGSBx4AAs#RomW4XH6O|7doE*Gc>JIjA1^t{^gWUW z_T*UYd-F~A8{$q93PP}IBCyR!v`%F=!PGA&`zoK#!|roti_Bvf$`tk~(5j|0XaCu; z^iK+UvV@tSMWlI`G2dEjxz|-0E`R?14?MpsaeJFboKmfwy}P9s`WXG7;n|z z1rJm&PtToMh{=5eEEo2f7ATImim&D=*oEs=ekmijV)JRH?VFnZPKe6d0X{{QXi#Cu z;iD994a3>frz-gbD!s?}-62Xa7^mTU zhUmTR1ry8n^`6$ejq%+PTF{DR%^ro2J&jLt%lbJ?A~ZgRSv39}fkYbSY$l(GKC}_R zHbl6b=K`PYc3h%=_?xfkvsU1E7s9HGOS7nL`nXy(PgLSA^!RjnMBg;P*XH2T%<<4A zyC}B^~pGW!8grK^j=W zmnHPVLBxw=;NW=mfUMqS!_ReVj=NbQI@ptiUsZrPKY=B#mcen_>#i( zs~tjGp@&W0n#(S1*_p^g7a^7?mz9j^A@V8wU9bt=ZN)D>bX{u&lE~c<;=)>rQtBy6S*^AP1wnHuufLt z1tF-gJ32bD9KSUM&rq*ePyG5aZ+hK;0(m;?_>!0CwFQ>KJz!jTFlGMK!Uerbd~Sot^zj^D?)cci-Cu0v%ghCKM`Ax=^;W>Ylya3FO2pJ4GCT zs>c}M4E{(0a8v#e^{^FZpYBzCT(5%;EOxx0UTPn_Z&uqezIaaxB~>J2=K6Jkp}9k*E=QWnJ3O3VMn#L&!#}9pt{W@{H%xHDH-jX(^)gao z^0__A1x7cF5dh9Ow^Bc+*e$r=PrSlXT$)RkN)kzE+>>Xa5(>=oh>Ut1=Z*m1k7TOA z7?Vpg^bIIiW^~CwvTzd8f`~{7?>k4eXlo*}f%WxLQbz>QXvg3QM3Q|)=I;dQRkY?1 z32QADDXI0;_T8;{7f_RjxT&q{M{!?tQ-R#E=K}_Nt(<|Z&la# z_ZbD=E(WaknbzjR80)J;k-Z;=_0GH}1){IUvzKq6ROi(9 zc#B2X>5gx&pR2_Slc0wqJ3CBLZ)fpXT05UVWm*0Q274iHM3l8uZPRKEKyJA;A@uQD4%7&Ugj8VoC0Ajc_K_vtu6Ii`z5 zyr^Y=0IyUgxm5x5E%$sw1mmSkg#7Qiy?X(-Vh0{_+kgKQyh$gx8FLF3~k2LxUFx(Pc}XPdOT2i5f?rM&zpDeLhRsR{-&@KV6bwU50V2g%l%;Iw16@_>!ai} zmrH!x6BIzH^!Z@H;CFxgyJLVo$!6O3WNhs9$5^6U)Nnu?2s8)~*g<-^Q=U&)7hs_4 z!}EhKLNgF?^SJTm@s7~C--SaNP_1CiYRt?O4rVtqC}`ua^Am~oI{uy9>n&;fO7pZ) zD1)==Ktz;6sc}TbNll4Rk!`1b#R^KO7Eg)B+Tz&YVyN`%_u3NnP`!=ubF`mWL{#=W zL-DNVK>!|;rDQZ%=;7qtly4<`DAspWOseSOoQjt8T=!}QKn^RzV#|N<=zjaxDL}%# zqTd=OV`>h7nn4$NN=nt9GY(mu{T+_T{HbKumL?~ig5RbEXzQQrkIP=WuRc!7HE=h0 z3F6^-wt*)XB+TX09vBvwh4<3u^C--gMwisZ!Yp>7)@B(e3Hr<2aqHydB#xRf$75Gs z0G2{Q5QlkAR0P$uY}|gGR}_^ta7l0eNp8l!;w!S_QWliiSTB>6`^9n#g*V0-=(dfk zCe1tsN*#Q^UZ3%*qn+DQ#ydNlG&{8SX-b}mD#jQ)z8|}aKN->x$^Yc6B`KWhX7jmx z;Do7EWx}$u~KROfO*vMWlGR5O5a_NRam$&J9kQ4wR8G&R=wUa^}b-KYf81zAXy< zYG%p)F;Etk)3K(pA}wRwd)L~1v~JQk*WpB>I>hkamBm=duwnj!iEwg3Zy6^!&&t^6 z26VmLX4SSWOE<-rHA5!aY?YxT!YZMYKf5hZsWL|%-<>|-AwYWsnSRY*TWzHD*s%plJ3ooK+*cphEJCC zm^~Xg>;mUZN@u%g%$oY>T{m_^lIowu#oK%-SD=csnfisb~%W-~pIas1x|Tvs0wnEw5rvwOWpWgM;G#3EVt){Fkn*hct4pBhr0I`hWl4>c?0 zN`&52xL}YPA9|w`JX_rp^lz{frjF~wpK`bU!N!IC){J3)O?5&J7&Qeb?UV-zkJ6hG>qNlVlIQVkC z$7@5&l(pl6GLXQM6N>jbB#8(H5|_=UsPhAoPmcUUUq`{^t;(5gEeg$KU+tllW;MPU7l`x0XdlG@(;2Hd{;Zw8R9Z)Ksc`EChPwO3QW*4YdaTX zOdF5YC)@7TX8Zn=cJq;o$Zp5yL}c^G@}%HJ_O}2T`z{N|XER&D6+@rV`crH7GlTx@cUhnUN{sCvD0-?SUG| zYqm)H9@Q^>!wvoU(+DWM0$F6|4AmM?s5QO5I0PyIjvW|ed`-o=0JXwuvDGh80ZS3v zAw?u$nfLH>dCS=gEiJ8koTz?&&+!VVM5nMBeH@?0Wo?dO(QCXfHk|D^DTwLI>=Bb+ zUb~I!W=W`?RGu4BTM~+jI#W+YU&l!kx0!aG-gue$$+P$ZJ437xZifj<&3>}Gn>bcc z(9;(D2YGBeJ4VfdHg9$AQu=!rSs$dq!2BaVFQ+DiDxy=X%{ex!N9UZTngVwpMH{WD z_%*CndZcnWJvE4G&U}}L7AZKAPiITz#@X2;XFQf-qrI;Vl z>XFJ}L#IO53L#Dw{b04-dP(Sv4}qQR(}}g=5~!Agyfx~_{&41a@{Og}JoGn_XP;ov z;qL$HR(wHw;+BA?us^l)>mj5n4DSnRnKggnU4$+P$XQrZt41%pz2RZ&^SN*F@Og=) zjMw4kEZAx!dSAAR(j>4|neo&fN0e=8d}g~=w|&B*Ny0AF?LjX=BkqMQpFx!})_k!! zikp75qB7XmoJ5rMOqA;C1EU*tPL`wusO>dIF}FIVg<~zqwRJ~(Y)anD-W{cJpX(_o z4u2iAdA|I32{UP>+~JVm`)4WLR3MSu z^G+YUjpi$l-RuwapYS@G6f>|{G2-ELn<(#`I#C!Tg%YeZGQLkJBtrZ8E4HSH!P0hU zQEIT!BeayH?mY=y`ab>0O`KH?yw1nAz5CG%{`@!@Ve6;up-!GMQ6CYNWqKd zqw?p~cI%pPjrt$TJ+hYeWaH|8Tc9~rmbD+w0A?)}hfU9?y#nGUYOuOexXQ_JG9~xR zo8>bE5&>5kG)Ptb!C&0X>B>JYp9|;w&gZ$T#=2&7cWe0?IIoUy*=*B&vuMg$fel=R zZ4f(6q}gl&J(s;|R&XKxc%d4uha5h@;o#&9TGe)&j<=|^KPH&GPL2H04{d4KnaPS? ztOAT9v%R+CK}|wiYL@Tg|GY`jqC!u7Ku=FU=d<6ElGjhHDAWN!E@7;m2>e6umV3I3 z5HO~Je`z^i(AgQEMPtzz^>E5!RXS>Tzdcos6umTCdeIZ2qbj0nQxl+2O z|II$t+@aQ&<(fv*@r&SqQ_&y=3xlCh(OGABfT)R*NxL7;UFIcEom-^I{bk(liW^X| z(fy*?=x#rSg7N(Qjt%CnqthEKd_|tSJyb9{5Ud+5H7BJJ_2l&MeIPDHz#@S$%vE;1 ze~#C-`UvcM#9Fo=z&*8i%E6iL@u$?qlD#>RWI*?vZdmcF%P>yv<7&_STnMnS_%8d}FK>-5J6kU#*LI^5~}4ssaln?o=E#d!+Y||0sW$UmspMJg5<95^Yg$!u2(^vrYJG#lp<@4n_Ia^$&aJgi zxEnxCZ~>ed_|l`j^#n3xnuw!%Ews2wl4ZPGxOnVm2j(!^s*F0#%~^)cZ?}fV0lnBC zZ~AeW10|ryD{^7|LKJ#~(FsPmZE^stZN zJHG*#d-s$w*F9Z*_Siov5ltJ(-|;U>e;cIST~6Km(;-;{P`H5nKT6wIga)8`d1apg z+o#b#QiS(FN!(jmP}Z^6$$F2v6-p@6gamj zmk-5#1plUUHyyT51w5L(0W4`h#=dieUo3&cXC-B5fRcrZCyfnRz_1N3$nn>T8BwpJ zUb^8_zc|X!sp4jP83a4#X*Fm{+IPUAmT-#Z1@mh}f%;YwJN$0hqkk%%W^)mlz`=*8 zuvY&N3x@MW8vdJe)jdM>F1(PZ|5KHi8j{F+)>*YE5)u#3==AAUZDG=O$nDEe`ClU$G~g8BNZ6 z-ktyZ<8L!%)0gA?rJi0m-~FmBBI)lKVz2~<^Y!~lQi1aP(=U;6?Oy(GkD8Muv)#~; zOiHDks;Q@i8{61}euwR?v~6@J*ZK6Do2m!@q(_-_ABiSCtk@f_o#VfdG{5GG6mV14 zYTh8*YeEwEUo7%IDABxaG8sBjyC06JEDyHy-Kd<%^dy?iFuo-O|FlER-0Xg`?QC~# zsKCLgXx1YR9sInk;<X8HW z2rEXf??$)&-Q_vd7P%Jl4@?HNT=gwfq|&AKI^A|BA1Ax8W=kqFBUu>bfpTlW6@0NC zaJwMqvV5XnKE19^jTZoK z0WbkN*v!uY7~sa%6Gh!XU2+&;;%V8TrD9-U0CmZf?r^ed7o>s(?*l=PJ-q09#-6(d zISh|UqMx+_BrgZxtN>(z&gOYwSk|~zq|B<4_lR!6A3!XrbP|sM#(rVN`380nfn4Xj z{gdYA-=SeC#pE-*#*KTSYhwjVh*ulJaR&PK#FaN6uAQb<3rqkbnm7|VTqw;XA&n*+)_m->Mi|8I=hg@MK=NlH7Xq!D& z7#0d+oTMTbJVE5mJ?EZq;kCbd19+W7vW#~V|6Ck2RH^>KQ(cnVpRL8)PLMa;+F`1K zunBwrLNg{c3HeS9mlFtZrkSTg2rRM#K>t(rG8%CUvtaZ*tZn3Yw(rH?+JnPVEGQ!8 z+)~IDjg}?+F-xXE0#Ff%p<=hUPsX0pT8S@xGhfeV>?7W5mUvaOqOh5a|Ldx;1P6O5 z$u|=n7P&ZM@?tn7tN3O^)RZcNcG!u&G_qN}1L=FAP2wiZy5Bo}(l_vHw3o=!4j=zS z<3C2hpDZ)2Wtrw?Fje@TdY7k+SR@otf@;SHvc%SB^p*fKRxRB3r3MGy97f+18vo6fNh?$3WA zdhv*y#HT%&=&=%y%`>U2JbiFR02OYUt~hg@#O>BZiT@qr5qPHyXfiOzf>)Q`T-u~{ zJj%<|?D?`Mt^a!N!W*2)`&C5Vk83!z7tFXUgbTKF>Cr+u%{j?yoov(C!fQiP$O$Xi z+3V-&*r~~+4=YU_;NAHu>zw8*iq~Lg=EFlL!yvnvKpQjiuO9-3d;fN~Ei1@n&-d#w z?6_&Zz$Ifb1uEQ6K=>$Nsc-@?g?|ZxkI4p|!5S$5g_g>x(71dmycglbqoD&V-p0qk zM%~mjCMITSr%V|Ma*3+O{(4^w2UwTYz#!ObKvDy-4zT2%dDKGZd;?-1%6(14-YYnQ zF{+ms0*L+>6N2ua?=nC8`ZiZ<4FuW&e%;7FDIfD+lh{BXUq&y9y)S)j8f~@_Q|KD- zibIuQv7!BI3=%YKrlC)q z7zxnn*W#ml4(98KE1AOIg|vyq=MDV^f1$o_Utz)sUU}0o7-U3V;&W-_+|w$>^3}{p zhZK9aDaKRg-C$1Ivyx%s;nniP-Pv!;*v}xc58}$|lLmcg@E!82F8oOM6^BeVC&{;b zPYncEd?R11Q-=<{1kW6%{H(1w+ocPbpovMAV5v6h(M1wqsfk-V$- z7G)YGp$Q4kEY3eL>wxj1dpiLXXMKl3qs;>KkWb`~@38y^suIwgL)(^w&X9ZE zY;xEB0fyd2v}~C0o;BxX9{Kk6Dm&fapGGe_yh712p12(2S}K)On}||NnIq^DZ?D5o zkXZrFKtf}vMG7#i?v48Zt~q~5Vllv0SM`6d5@l!76XC@3&=DvEE0^mF^EfOF0$`IU z@HO5O&3V)wLxSgh!dcX|0Wb8Pri>xw$hEbr83VaK^&Df2kCrB!`;5P}El{ZdGdI(~ zgPC?fwd0ta)8f&MRLOc64qlmgbQ5{RLCV3fK3L(vk)<(ZnyOHR?;(W2*Xym*&5a1P+q&U2e3 z4huo@^Q@gZ<*x#)mXXa0?1}y*K4&}2_Z|}gx2XK;;_uH!BCTD zb#%&W;4-D>5tH5&osvS%1o;czb*zkcpI&wOJj_7CRgy z!-gL_)G^!uRNLz_xI>M@VkR(H1e+ikfK02qZ|FFFpIM-fjK=0EnaV9MFMWW17U1L^ z$onStkMfyjFlIiwhFee3vw}EaCa(LxgwN1~rV_V+xL7Yxb%W-1_2lS#TG))Qrm-*` zwo@XA0vmI=N>Zrj?0gYNoto=aiXInR#jcnqlnrl7_n4O>Smc?0IYa5-fW;*PZ<{%M z8Uv8Q+!qRx;6GSdu;C_SBCuaRDl|hcx&<_nA8YB{jE8c6F4SUw)vNUNsBY1J?d(-u zrE@pVSI3DlB{5igJ7Cct9Jq<|o&Cn226Lon;!x&SjN*lI}CZ+ zbYdS%!lzSA_Vb+H9HQ);o&BKZv46zbB2w{PHC|TZVEj$t{OXFq@elD|6m~7Kuv(hS z9Ot&wQFS$&ZeXfDZGJHLM#LD#Suk_T)vK*W%R$^|<|9(f(|NCN5(#yJ=S+TGKgAzY zMpG%%2*TTBXFc&9==5PyKWKim#?61g9~Cs)y-(4SI6OP?*Cwp00(9y zWF}8(bov3i`2?N~^;xIH?3xddv8ebkGOcB2KrM28(0P|~hTtM))$Rl63)9I>(bM&s zaW=Ul+2UB<8I$26`FB4O5(NH7U+4S;kVN|W!)GYhIkF|2DUu64ery2)-}(63)34ir z^Z$~~fX}g2&JB3hbdQQu)C-rMjdio*p%)pwWKl9Bvb9A!F2gEfei8gP#o2XpI-7A~ zpX9xABrvdLeY1{qDlD?1{jU5ju8RgW)tDfFIzCJI%J;wYrk@))@IQx@V+P7SfOR=G zgz3rPHL7MSsgIkzsQ-4C7C2Kb5hXBjtoB}69uPKm`w(1WDlJv__v3#@J8pSS+q{pVe{Gfze5KEU*DfSNDob1c z=O6G-jFDI*AKA}CdyC}I&xL?0T3M2vI$oPwsLT80=s(UT;@AGp@rr%mduX502-T<6 zC%`**HGGzFBt}d^KL5u9uYO(w=Fzv7XR1W>G&1o&DKYCHfG{U~^$j6#H$bX+uNlSs zmj0h1r7TR2nL<~ui&;q>-{tAScf9OQzwzqz+P`(vx8Jm&?*I8%_s8_PQB;jZ%Kz8n z`+w(<&t6LZv}^dEC(WV!w+Q^do`3+*#Qs0-L5~IK7ytL7|L1oC`j3B(;s3e*K;XZ{ z;{SR5wf1`n_*FHls5|)o*)xS+&v`j9P-z`JFPP!?pa1**SXrj9HjWz*Cja-(|36>W z2fmj9J*%?v#PJiT`{Rbd99IbK+!YyFW9*}KIG3CR8VRJv2bim@djG#(S1NE^yFcXl zfbH~8S?G56AwIE_j{e!+bXOjJ({z&sRdL-~>|DiLEBe|(1K!B-G^ZsvByTZ~{WjbS z$3h)_D2>}_8r=gZ5bS2?P4xUVAmzON8C#-V+cWd_zi+3ubOy&1Odsf$EpOhj75Gi5 z{=WLwO2fr1I_XVS{7yG#>cxZ*54Y`ye1uN?7Z@?+ni(?Kj48e8n>@ba@*JnPvopeU zx*C+#fzoKe480v)#?KJEz^Xr_Wb{OHjf<~ey|=0OY*dGcH~a}nOB+pui$ch}&da|1=gwSmO0ciz)&ZC^n*UKdOh z=m+(>I}6ED^9iO~xf3~R$H6sx%grXd2{S9-0vu7&Ru{ZOW-ImOGn3cKEF11Zr=3P} zSP;m9eA_W>DyxcPO^8Lbobz;EM~iPyG{RtyQnz8N&Q{7=_aMF5j!Ca|lznA``#jkS znrB^n+}{F{C&}Tl8*WUf7O;r1#MC}xxl4$pVRj-&*eWu52i=_vj;Q%G2W?&1S?o_+ z%sUvGGeMrRh7|Ke!cCWEYQK|QqW^C%i(#vk#hW@~?0rMocj zB&3dgFPm5RqX)yxp{s8nxOdGfxjU8ePpb{C%6%X1{uv-GzT|W`t!utH)o;`tOI85< zVS9oqj;2qJKZ&Gf^q~TT)9IYlhzCm+QE1Se>EMV2zPXMiy_B`L0lnTyLw8Y!QeI-R z*>WLC7EZhT8J5a|0=msMn}W?JsdSct zxUF40I-7Fbb0bR-iNTJkODwVT>e@@`_PM)B;>NJ55k{bC^YyAFBq-=QLt5rMq4ZqR z_?R4}8B8}j82Y!i*iB6BCr{F6zsExxej3&3%H%&oO0I6Gq=S+3T@{RtBsivVO~GC` zrquk6wR~M-bYDZpljb*8ZAFYH=$M%!$48WTQ{Nz;@IN8~)?&_Bx&V~mlzZuaTRAwZ zat?`Iv-Ke8CJ}#odXBsrZX*b;ucF#GPN0GpSEp0X6RGo`OSR%J_z3M`?LccbT{^Aw zy14W#DP?7}B*w)Clr!vptawd@ish|!Ydq2XI9HoKvQ`z~_yOVwd&MaJz8df-vzIDz zz!&wejm*@@P;lvWT|+f^EeGMVdU;)ZyJ=GQAK-P-sK7StWok{U#0;<&yacIX8zliT z(z$p!#xq3pdT4&&D7R_4!IdBG{HMtnHtV#vXunkA%r`3a=Q%BW#H$ZZIm&sSSA&?N za9EFv!VhIWvF32TgtMh7)E1C3b{D)U=`91wz(; z=FurUv$vl}c#S2OaY}zA^5jw9Vr`;b(?_gFZ@@YGrM!-vrG8eKp1=5oSY8FOkm2QQ zvum**OHnuG;1doxfoZ7XfD1$hv?VBk`{LqyF-ztNEU)mDqIYL0x( zocfW+efrEhq7e1gDHw_E4?V(!gSqm(7c!C zZM%1p*}ZGK6T7_}uO~x6oc6GNuL}IpL6zNde#E7*{;vYlzF;rkv#orlInt7})Y+&u z5Gnt!9T}>D9WQ0#r{`rx3m)?Ps2n95jWX(^2j_K)=ufTuCTQ`RmYE1Xu__{ieV}>L zY{%+?)i$3ls<{2U>yS+iHq+_T-&F{X1D}=i=nd~n#6NloL~82^jbsZ~BsWpR;Pg1& zm^m)&ld&*!W)%YkyDW4eFpb1wH6!R#vIFcqHML3z1S&r(5jx| zrz0N}D%^1}|FQUv;W$%&yrrl{^vOT-u0HnCt_Mr#zWTOVl+3;u{>}QLBIVH_5ZYt) zcHIhND$zl`uG?>DJPtG8%YS{1Pv`v;{Ei?QA3W7_22V)=jg(+Kw{l}IQI>iR`Nar$ z&RU=^)_yDREq5e%tle?3ukj=_$n*2i&MKu6U9Rt&3`@|~s{r^5fBs!l=$5Z~g&(Pn z`-PK~?OX5%;>PdAGPi@leIJ8FrVjK?Xm2y%29ey36#3)fjO` zZ&IHi@2|v!AZ7X=t7Yg7hl5FPNYl&C;)JhM@^&1-$qFwG-2~v7f{ycwJ0q#XQ#o<^ zJ8n$HVlhR^K`PPu{XeO0|NbHbQH@oZ;d;C8Ljj{?uieN|xlDn?uC5olj{XM7kw3D^ zQuab~Z6gI|ztK|>qL&G|6yQpqHZlVu63%mbgMC|u3=rzeK8aaCY0L1hg$(|~s(0TO zlXqDy)uW@Q&o8*ST7Jdt|EGPCR63!3u2cwA_qw1Ou@Rf33)nD8M8L&c1Ztg{@Ls%q zH=6gwPr!V}&euGALH29mht#m)jLaoXm z@-L)2HVkjem?j09Xqks!bA@}^4q-wUIOxsZS3i`-u5f`d&GN|6f$fQ*_?WB~%=%<< zp_r-omZO3RPv^RMA=L*Gu2c5oo9&=&?0(altnPKakUOz37w2BNzw!NP{WUG7kAqmP z$e5&G&_{Eth?vV)BI5ctJY~jTy!H7?oW9C-9;xHS`}=f0y^P6Z1oP!jX!0{X`QyeZ z#r(}Q?hel9&*FPcV@M+9Qr%qp3yfs@Ka$5%kvC{+!x2>lki(P~nThQ7_k**VcXk zAZU&RtOoS*mh-JtcDT$=pO8`WZ%AIiqQJX4N}|@fR%>h?w=d!ZZg=0`7AL(%OBK|1 z>|oXy@m*AG=4NO#USF61R`cmBT3$y}?-Lmj19W*f$xZ7&9I}9E5lxAahkywk#&)oG zZUX1Y%t@<9tnin8cme3yfd-0&u}OnrZrjt9!Xcktj$-(n?{ov5Dz;An`97Lg6Rk?H z6!_z4*K0Rvx}QR4`++qtDh+vF{&8X3s&~Xrr-ao{+ItQJF0GA|*s_FfM1p(@=@X8Dlb=KjK9h=D&eS@X_wR)9h_;nTK$Zn3g@oSDjc zJS@kLNX5WFd{|w&M867{u{Rq%L}~H@x+D5}_*oBE8jl+gVUkbqOc(lX25)xi+Br(_ zSqaMK49$=DcdeA?64o9x*jyYIYlZOHp|~UVVBbL~M0mY=EE>rUNNod05k*O^VJU$4 z*P?=Jg#!fpfokWEypPn#$Lhk@PKFGpA)+E|boGk`ZW%DekV)JCJvLQj1 zMIam+ix@DTP4opKAIh7wK1+J%>uCx)_IlyFCsnKFu5}CyRpf#v{m}VM7uNo5AD!&{Q9P zx7UHllWunNIdlnK4J6{dFU>!PxiC2(J z{bmtSxcg2|*8ZHg*R-rZTN8PDiX@;9RfYw>!E!Nc^_6;A6(K`55E1i?BE_V|9|rq| z)$l#lhKl_ejO1`AnrZRb* za1Es#lAQ2m?LC-rI9@q9_PQ;Dy`F5y5aiG}UW*V1?bQuh!>X;YNwoZcZPhK6In_$d zn(lnYq%=QM`dMo=GDe7Fk3hiTibE*(z~#6OLx8#^j#$vQe=C$eMBFTj<~c8~W+5jR z$zk}Qd`m?rg)1?OeH|a)x~%#;x79rimxdqEwa)-;34Sa8x>-AfT9C1Q& zEw5m>XpLL=9Jm}9>PYif0*T%{3g!Kt@L9t6A%TMKQ*WjpoX^cJcUt;-_udP5oW9Rn zoDVZw))hNQOE}?soiiRv`>F@%PMk9-*KU@gnIvJ|;=KczA09M=p#0BtpRSl#f@WfB z#!ZybM$aP4EY1K!qig6y$B6m@j*7sT0-O<;Y4~8J? zB=H&O1381)gP?1}c8*$XzckEN-6lujSZ+EGyA(3+yGzBk@^_S`^G)%KRv+^v13%}p z@)7!Uhj!ZiEnB>e{!)G$QWwDZnganJ_`5G+_M=+(y|o@pK9wUU`#?7y7Xo_i?rqxt zB2L>a8mC5htPHz2|C3_0zMBFfsTd%@M~pmM7v-?>R@tlPApfh|7E$Zlov~a9fsdf# zsy&_bR(Tk-ZLCRj__%?Ualzu+*}_LFQNwcQ#hA(~i>pA5u_j(Ut)mm9M)XPq9si&o z&~B4A;{5qZkFRr__9!RAX>0H>tIz9;Q(|8c(fmFhq)XZ7`^gDIUQ_tC-M`%D#x<=B z#X(65*gIGMjuMaZ&3@p02uq;t@8(#anGnWr74zU5Y9{{ZPfML9~l zwhC4qnOI^EqEV<9=|YH^w9&2bgI@i;A2?R{#eZhUq)qU{sdE#u3fqQ%(L?7Z&_U#f z4W65;pM2M;rp;sRB%r~R2Yqj;q_vODRE^#uEsj2|F@jJTRsLtUBBD3TeRq6eP+@0j zsgyhQE_TXmr%&1-lZyOysmx*HDSy@^J75zsUE@zBzm@AK1Cdh@t|S2xh7X;Xr!(7} zsM}$`lD=r8D}PpfNYC~$5d}riyUE=---ZkOJ!dpGR)po4#mi(5chXZEvEkx7g{+8s^4QjI4t(xgz&A{{GIg6_B7*&RKQ8<(7r)uix`u3wz$MC?t5EHP^`!=a}E%&~82VL^_&02Bp~g zSYD61G6G-0LEp?*P>cVRYC*8?ozP`+(H3QEhF;MsA`3)WvRUu`x;}^;J5!qID?=62UqODJh!+$l!;`2 zz)MFr0V|2?mwP37|6%1Ql}5QPIoRrH_^;3!(1mR6621CM>h@W?IwhPoYz6~I7$aOD z@r?6SimY0oDrUNK*GhZ5GC@l#tPTUGhKlLxiB@}QjQGXQ&3rnYl<-+QDxGrh(W5B( z7{##ZJX$iPIA#%wHanw-B5c`ty<~{e3YIPcxqtSl&$S4~*67bgHr1@b1azJa9i8nvD$XX`#?; zzU4~G8vD*dpM4r&K9kqd(Z2qo5j^~c=$GL;t?(x0a-P+F>@tHga9liAWoo_)qRoEg zZl>w@plC}lU}^u+-`4Q2k6$Z2QF8h)$7^e|J#Md%4=Yp=oEL<;y3Pu~qDp0Tnr0;O z|CE;2PTba%*48sBlaPF2uL=u&|N5J4u<#SaYU*?5Dl0H+7DAV2bU_-(^Rz%4V4^|Rr!3CsDZfn)3C?{rN}G^LCxP4W~+ zbcOhv6ZvVw{A<5*S|fJSyKnc0LI?}&j6|%)^!N`h&h72a7aTkZd{O182Qmn?v(_7q z)eRWOde<_4MK8k37+O4|nUT}TKrz*thEmyw;I}n$@CuKiAs6M#S0}h$T~DjJG5-y? zR2`mm?v=;4XpMq4tXK03D6Zw}Fxc9wE%G!R<~ofOcehNw53aw`FYepR#NLKXw=;*FK#&ye<{_;_!gC4)$b*I4)Vf?@ch1)|s`wUh8X;HImK6Iz@twCWprJ=`S{i z>ps_cHZJ=+YC1Te+Px8B;q!T3;q%>0F#OGX*)h9mtfQG@(F|A!DT_^-9Z!Q_u2*3R zgPjk-AQ66%exAx=gi!O|A|h*uF;N;d#!oNmX6OxGU=>%GPfN?-v2hyEXan_{XM%|Q zY&v7tSQQ~%oml3J?rQWt4X%*6q+`#d-JFZ%o+))RwKhLksaxFSeARv#4o{i>*r0VL z?|NcY&ansqh0kcX zcemhs@s-SFZLJNmf@vdnITJ9UJ~>Abe5==bVPG&I+H$uFa-9`j2eIDi1P?bbh+Zzd zMM2M5Akk&@3<34qhs`xrj@`m)Iv>48Qg$_PnQC%NoHIUL*|tTk;v0B-%$H+fu2)>j z6vB_M!*=Vi${7W9&wM*PUHp!=d@C#7IA=(9!g2PQ#DvIm*TX)%qB{vl zF6Xf^(vPD62sU}taI05iZb04Tfq&CZz#NvdYVnN2H?ehh>MQXxFF%H1eIbq@4$-Y?`^j8h0nEKMd;#jQ zl^o&6K>wcf^s;Cu(yndDlX!R8V_%RZY~mVTvy^D&Wwl&2=;P(I-dw?_rj|aIm*X}I zw#ulb;92)L7fLGEb27O_hHZ1YK*ML68wApei&gaWGKSKNkGBTY3XABa_x-W*)V5nx z={cpV1aj+iQw^g0-VC=kGf*&YA4yE8&D1PU3}#(^HV0f^C~NmP*n0hU7LT%pADi>A zC#1@OL`2szFwIXkS=TEY$|rLr1#^c(X}8UV;u>T%)+Wd_*7{m&6MGs@g*kLqLO8Ra z2*srJT$PXG>J$a$kq|#A8G{9<`6jSm@Or&gz|bOffIu}hO;%-f z6r}0$nJUcIa1)|PO0e7Yqv15^8}V7Z22vQ^Loe99*M6`I8Mka8#C+8nrN*&;H5y9k zryc}BMFu5CQo5KgoNwqg?00dxeEfrP1Mn9SF8VCPQZH<`2mJ58u$AXhCM)`FY;XyH zO3#Ou^D`F=f34{qRWcr%Mh#4XRVI$&bg26rL{dxD9!6h|O!AZ6HT+6Am_ZFO3*vgT zCRDj$bU@RgLpR5Q$c=LD=Do|al~c12odMu6ZKU2R>ebEfPGauh6w}!w*+*A0hpF0{ z8F=T8rXpHO&yKnn%SjYu;%s#VxX&ktp8LQJj(fNLt9qGt3_zlyfZb?+ii(0l93GXx z8=#HYz~3LZ#{+_N2{XSUQC}h zf5IpIB-hdNv(9=jI2;6c&xaK;{R);5mw)FPAXWZLlhhGecR-ns{-b{f?2=t+e?!u&?$9qnKTn%4`HkO{f<#W1 z@wDrVZFElNQ3^MC(q24RYdJPAo`n~A9A<^tE zG@aj1BK+@Zgl*u^!DJy}(dQS-bF*w4sQzM?Z32N@(xSpb>4`k~!h(X&Zf^2n;bCKq z^?apa;jp55wXpE;YA+YJ-MR6cyga&ziP`{-d^!>eMxet@jgZQvs=i(g0%Rbo#l78e zy>_m#E+yK`w1`r$GiuwvTP?a?F2mw$VRmBcD7 z1ZU-Wh|8xe)6Ehej#7VZTpjK*u2bgax>0+>9?cF|%VvM&R+aM$3U7I$=N4R;0U5^Ucplx$$I)ysSRysd=u)XI8u8rFa>mS@+?eR#| z-$HzyD2EnbE}c8{hGp5QwSG7BIw-%Zx&P&OV^8{)muf56?1u222bYkCHGIZHWUF~F zdR^ggH3mtJEizmDxkE(jSS4X z2tB+pE`yX}z`!juit9F4gLC#36#owGuXR~=ZM+NqWoyA9S&&997GDif@Lq#-q=2w} z(-4(kzP=9L{>C5g_5N?y18+kJ=FFRXy4_n1?q)wQayap}@-Cj;@~kzT&t8dGF1d49 zB;T44G@1Bg`dMzDnfuyh4O$vwA=A>*Y-e>disaK(^i*^na!N>l`SL}Nt(qtFi;4@I6TRz6|tw=Zd33TuuM~0AcT%Hjv`%!fYhjz2uLWQg_7tn%8Y_Y=rt-$dJ{q@iGZ{KiGUD#Kp-(d2oOjJ zf#kkS`|7#RJ<667*Tn*MGC;o}ls-$-~tp`j}1!(O8;{VD5AM#Ce~td;tH;bax3 z@ySf~Nb<0(hD_wJ!OpLC$Kt|XxsbL$@}#DV1C4r##q6g-{_@OG@On|mls>g5N_;A- zq4I?1Or0YJJ|kn20@pOqaxu6@&^1Nz*S8QY>++{R36j_wsYxzE;ly1#FcE@0PvE1X zl%Ml-LwnV2Y5BOAY)SGT!*gKmsvbQ{WTQSdug})j82iHk_R22pC0UVxII?& zZ`#=~0YkdOr#QInofNGb{`NuZ|U!pRS6-`kjM!e>YW{V%@6jNCjWVCt&Lz zzw8gU`BvLppaI$K`pV^UrZkNnAdIrJkhXpG@B*g!yb?40z8WMKtO^+zy257fJ|)w~ z(`Vct?ozq|RX6(>;cw>Y8xjz&8?@-ZC6r!r&v22OFvaQ~^BwwHxXyy~h7(XXIE)#c zlP9YRqxW{+z@`lpDqIS!mq&fTlI`W@4R3Sf4v+#mM}UJ@?_CVw1Ki4Uh~X}W_dZUjI;k=Fas+N! z_hz|G|NeH54B{=(Xs5Uafgct~t$o~8lMRWSfp6k{J{)WbEq+s$nc*XfeznNf@|&;T z?J&(l3;f*&HeD)-XEZP7^e_8tUdSJU5@sHC1Q-k#5A^3^sV;ggZqwpC{_Zee+#sEQ$1U;`ZAi`uwsfv^@DVMhl%ew^%3`4Tt7sIbD+Tm8U!=YE(LjGiQ z#I)OPMRdTz(iFSx>BjZ^!xC&dl@E)um4R4rsoqw%0;OXq+4?+lxR_R$`lt?} zq_>(Au&@xOO}+EbD#Ccgp;P8V;Js;Jl7OoQ*M~mlF&XI(EV=mX|0u@f#y*ZY>67M4I>9MA$g@!J(m6OYA0NM9H{0 zMLwHY7sBbl%{L6GsZX7H>mJw>)a^AtpD612k3UD{KoppLIdf}AHuHj+T-Kb(YC7!9 zMB&z`_tLmM&)MCjPF~ZP8zLJOSbARZuU8JNH4F#8wEFw+gYfD+x8~x;z<>SkrD>&< zqksQ<{|`V#d2+1#?+XXUtW~`JCgH%F1E1G+>f0}0eRew3bs#@kPE|(a?+RZ0W}~;G zm#XzA(}3&FKVSb}0xyaFi}72yh|6Uya=l>}kzkJ@{6f1W&6;O~LkiEg}DjOd?2 zwAQ5zY5gA994N~i8CzCSRUIywGGU_ z>XxR!Ifn`tdiB{I`joi1m9Sxwe`avk71`Eebxy{H;u^{O6t5vO^T>;9f+ia^ww}AU z9Q{$Xn3i+sSU0v;7HIITeeboA!Fg4;+Y^CT>lN`@sg`m&BI&SN9&j*7Kjxl~s-jMmp%omTql)oN^is ze4&>+0ovW)`b3-sw;F)NrxA9Qe5xER&UDwjvPn=h#e3IMUaFF_zrGD{ug3J9IPli+ zN?H3uXHmJ#R8_^Q{%1?J_!?*W=2wS%iC4Tb-_)*ON2}#DX!V^I+XPhe*Q@)lvO>U` z^p_A6DBU$EM!>U(c03_W&@93dRkJkKMO?JvhGX| zH3yzIF9mt+s@t)XSXRXPa$S= zT#Y9W_LtnK@yAj)MmJ?4K-68;wHCbPhu}T*+ZZPF57>AETzd=q3J|{AEQ8yZ1SOEU z+lQ7_v^Z%DUe6=(#cYr%2B9h)Cqq4_I&AE5493k-lJvZj|FBc4xpM9jKS#GzukUoi zKJTllz=%yQh@N>O6qOc2Zj;-+PikI6yM~P`@HjlofQUFV58c$cTm->nD-x_dGEY9$ z^4N%1D?R7B=53#JMH|y2K@KPe1ATt$@{_f7!v2aIJI|}!GmmOggg0`f>>NS(gqUXfFV-i=wGIQMMNGFk zMEb496s{(QU1kqf#Ta9Z!U7{h&zavuhw;ToHJI&4694_|o3d=(fGK8XbFrJzC_d#k zRI3JMPtfGb<(tx0OZsMv)CV2OJ^rBSG^sLC$rh=Kf%r*bhN;O#Lf}3hU5J(V(;~nW zxEys2xz_0}HQE%|#sOu?adWFCkkRx;zXf^~bb304pXcn%WjSj3 zgv|%|Jw8*5Y6>VtUhXIW$X+9HoQudgj$9TxemBmR{+e{yZYji+mdtx!-4vObs?FXm zZR6yT zzXcUS@pQT}e~J!N^mh5vqS`HcE?Kt&{;vAx&V)C8cj8U}=Df0}k|5_Mzmu5}liO;` z7ZmA`;2-dtnwSBoa1XVS%-VA?F`~Ve87m4j2}n8NNAYI5yn18^^fs(on)>UZ1DCWz zSF`H`%nwr>Oe~xCmG!RotGjL*LgtEEbSpfwj{+4#~K-54+ULFN&Hrb!^@7ZEJUP%C0X%Z!$2*iqpr#WwMf= zF(|jcH6N+9!YwD_mg1;nFoB?8tEPG{(7j#@E{9W~>`}RJhHYi9dZL;|{_(jbDIAk4 zv2nAscBRH8c*ItN>`xvE$XDqrn#na4EN!^%bd+s$^Sz-=+GACUGk;}!cU_3bu!K}O zZNYf`qo-Jv#!5eAFe8lOWXNoA<-WHBnm1aflm+u_VSQ6OF$7Mb)$XzmZg+@9FU?*h zrL^<2OnFER;fOlo?s!8sb8xG(NY;*H9c_S>e8hxn`hh zlZ`(FABEbGjH!l3>3O3%d*LIaE%$w3=VCk}k@Zs3svf6XeJlI(Z8iJj=^!1M{-b8c zuVu^krNQ`z_a~dRNS|Ev4tG7ZYO((3!pU28T8p8=m8p7@ym9+h?X?GJPfiTZ3;JF6 zmR;}wmVhy}DeHNDq1fwMHV(&(OQ)~yJjqK1ZhXK=65Q4>`<*nRH0w& z*qzQ-{TaHTVOEn-I@Qp$B5F0c(%%wo?@0_G$~y&8Q_0ichd)H7Yz(NIdb{wDi4WgvnSbB2$qbF z_fJ~NCL4$Ah zlYg2w$Lq%kS0H*VqCf`j=aY2Fl;@w`E6eHEI2xP`wJvs)TzFWh<8mrh-8~iO=hxss zR9np=W8jxKniHK3rxW+b*jxotcCF0egr&8v8NWP}eb4AMdzOUL69#qtdis=jTkRlK!=cf2IJ(C@)KbgNfriu_)KEI`Q-+-&lMgUu{}s1X2%PA zu>xL-OwjgM`b)n^4EfA78X1LpJWiBKf|-w!WAr4HOtUxU329G-i*JCZ-iGv9;uecR z-eH8qMZRQC>Q{%3(BDhUB+o61(@D)3Tdv(R8v?p%()i_S7;5bk@X8JSxetfxc4~&y zmLhMFz8L|T*Lp5B_Mel>Nw$${+JdJl*lEG829HUZ6$YSNLM%0esJh|BR!ARK$QwH@ zd;X$Xu9jl4%oIrB4BvBX&VOUKQL4m1V96sVVp7gN=9*9T_cJNBy?8moMS9MA&AlUX zSrRrew$H|@3Q3n|RDgi%99^ct*J6M;$z}^bc%SEhzOLqhJ}dzIGj zZLM>&Hx1Q=fu6AySQT^g{QGwjWx_tbub@zo_rz8*?aQf7*hG?k;I+gfC@lF#oVc|E zc|iMw=?g~iO%sH7tOHZiBvq=+Qfq1YFqb>6R0!FcvdX+!vlYfQQkL@xX>KmE%oo3% zMJpVVa+>tEHwnJlk+!a&tn9N!*X8t@Oryuer_kf7%cO${K*4|UXnX0K0}m)>BSjUd z3gHEf9ySq>s!dH9RQ`$O^t!NH;QUaMfxtTaDWE{io++Dt&82^cSr*({x3A>$ba<0F z;PIiH{9rKc89^~!=(U>0q4Dz~y`N3QT6tHXH}w`aqZue98soZVt6x4(G+Li*;>?y& ziqv{nmdSkxx=y33sbNVav8YMiUM(kM8M&Phy|+y5=b}QR@@}=XhJC6S#@`vb;8zz0 zM#K08ccN=cMk`@s2cjtx;rDV2R7%vDmAA_ua-@>7vGf8GdIX z^j=I)a7Q2FlelTGf~0!}aI)QbN%x&(SK(S8qN2_0>nf8F>&nc=h~>AkDva>^CVYro z-@}nUEf41y^ImlP&PFP3gV^4euBBq`-l9Mi_D(y&-=(u-F}w1nyIq9Ey5fuFJB^~* z*mu^{i>11f$M3UrVFCAT!H)hXrgg#T9UC>G$PA3@ZU8TkS|}wf3!ra^IGiE@v*MV4 zzyfFzSW3^@7i{ii;=&L&1sg-rTT$YRA1CS1xi01}+GS~UTah4)uXZ@mNvQZJ#hll;U!wbWYh^YZ5-4Cp^ z|7*ehJfA^N);**hNN86$ar|@^(kYXUQT`{$#1KR-mOmuIg>jgb=K`h@kv%Vvy+pcp zlsG#@!T2$)0EN?&lg?Ai(mlHb4B>$RyM0^7+Zp@ZN8B{p$MF;Y$QT(>jtOzcZ&rw~ zlPnb%Kboe{o&diMRk_}7&8$r6G>|L7eYu78+T>B}WR0REBoHO2JeuBDe6q4x)Od%! zH~DqRJ&d^QaNX}_#R%*3*0*!p{!sQc;iXM<^cz85o}Km;eM zP2L=+@f}R*f87UfV2znL?OD($g$F4nQQ=4=dqtg6r+s$DSg{pk-Ft#!)&GhpUqU20 zVHcYCOJyOeC8?Pa{Ox`>r_=(KK3SX!$g0AEb%E9QE8tiRl};9qhheVFBU4?LCLTJf zXJ?cNs44ba!b>C>cSHYo>)l0`iz!pOVPU>icfGuYi&!bhXaxN7ku6JN9`T*zGOXK! zve-SJR(R(_L*IHay_)kB&_`gsE2;HSjlP5LT)A|ql56NqOF~{RF`eekq{)N9z365( zTa`sx+4&#u5lg2{-vZH0&# zY>eeZeEcmm-2?vahrOYEx3YrQeqsi%P(*K1Pi=yEt+Jncgn{N8DRlmk5RIu@XDgZ# zdy+&Nh_8Ia=>mQ?bhj}`%5<*A2%>Wiy1Oh1cdnY?e?S5jd-vTR6=$McR$HQ6yAq_+ z*KO6U*JnF|$B_QRB`gysoxv_ zu0!$fua|DhZ9B{E^~u5c)AQQvxOxVBh(K!*7a#lgudb%tIV)En0c5V$n?a~7Up6{q zr!p%g3Pw;0PXvgSfI>SC%Jn$nH}X~-Q5nsNJ@0klTI&x*f`u^v0lOZV1hPo5GuH`$ zk632@(7h%UpAFgF+NNU7OJsr!Bw-NpaslIUYf7^V!;LoQmvY;-aP+{NKCS1% z*`W%gK|mysBgZB?> zWDGT#nqh*XNpjOgbMZw1qJYp{L#I@^C+Yg1CJ>O*{u$Y(Lh4o~u4t9@F_zuSLTZUf zT1~zr);l$SXKv09VKnBaF~B9a+>%N^au`EillovkO3|wk(kK;ITJL9f!wt;=5_gu$ z<0jLlaxGEY_Rn^@I(e6>O3U3GlhDuHhLGVPXK+&eav568ZOF?kE*#F}gc}qi3Cs}c zXsI(n_axYyPjYMUKMVte}`_yJ2 zAvC@H(!TFx?bOJfdxCYUX>O8R^4H;{o;tE`B;aG62r*BGxiy?v)42(BsOdiFd8WLA zTUfn-lp4Z7YYd$5Jmm{UYfN*_-@7%055ugi%qKT7Ss^xiNWXTxGUHa1Ov6!6@8t`= zA&{kjc}_!X>kIF_Z4N9T+jz@qu1$YVy&XG8i-#U_WUP6L<2o^lrVcl@QQcJ2*Y zWQ|*x#|d~tCPg(iD%?g1yl?!OJu`1Th|j5T04z7y0rK0#X!*EMRo8z8Xzugt{m`m# z(e`G@hoo+b(N4i%UY;t`msYb0-vevhCCjMUbkh;M3{ce{J zcmeKTxw7BPU*)2Uwf*PDaQxEg&yDA4UwFc-u3Y(|X2&lb4EJ?(zPJrO`={4nzp?jP zpVR34U))zkufG1=y>!v>Pt#k#8R=72Js4C>D3ZOr%pUvLUKk*eT~>R?WA5Ai7Jw3P z_=?#XMD#$ut&Ixct9y`kqh7u+JdwP)xSTBSHnWA#2_nvh_<;3-B#B-0I4WLWbw?)a zB|o&U4T?1A=BnpxdON1!5{ZM#bFM1}{(ilq)^_ghAM`xHzTl(QCHDObV^4`n^d;d= z7*aSZI{sWLbg8^!=tGRh}n&*MJ2Af za?XyTt|k|PiUD9?MS(x$ib;j^RBuXYsa$UUS|iF2u`XDK&u=->mzwD(H7tmV3tbQh zM!Jfisd-A{&%urmmDsncR%N2P2N2%um->7@bpQb|0ztNkS9ooyrv2k`dg^g3?~^?z zPD-QY6;1%i;9Jd#eyRYA}!4w8TFEwH~mYr{uv`WHk#7jA#4oSNhF4CsX`*=K-X@N|@q$--9)u4LS z=Pl|QTi{|cQ&D{a^AU8)jJ_^*7XWV?g`1ahFQ zLGJhJWT4(ZxR{YvU$;t9M+xkhq2;ht_gKD;y9w$?7$1e|sSvj!ztTA)O?~{2rvOTC zfg=L_P+MFV-NO&=NsBSn3>PAQj688VL-LeT9BOTB1wwdTss@+C>v#n0S;8>;T;3XZ z@z4#Mr&?Czy&{)q(|jX#*mraqwrJ(M;wUv3z}wGs|rqres{Z!$6plk>Lj#b#1B*Y>x>EyOH2=7y|Dz-E6q!9 zMvkBsUX{uA4^?)sS0zL|J0(E0IBIjv50AQQjX++$d5CRdG?!xQd6`@}UhGe)!0zqz zj-TJ%Y>A5K?mxq4?yfbYW8EpRiRwV#BC_lC$<@{{`9ebJq^ZC7K-9Atkf@Stt}3gd zIWbiIV?a)=iAXDVQ|3dM4Xkz35Czner#5a02&@01dGllQBcym=s z0l2&qc9o=XR1hR>(?FSpVy!JOq}jt%>*?UBQ!^Z9G`kz?eWxmUW7R{vC(Ep=KO9vb zy2n(JO#^bLFRVZ2BLxzf__>~V*}=fO=!9hW77BUR(X>V0?J*{Ao~zkshZ5M}`Sc@9 zvg#?%ofKunb~vQ(3JR$!ZNN;|D9h`~C2aq&>gsA*qTH?R6xoes4*=YH9G=kIY-{{2 zm~1_;NhhA}AKR*#-e-WRp+Y#41@z0^956JhE4U=T`D0Mu8d_UhJ2R<{`;JD=GqG54 z8~R~!deYH(?bU!nr)mWC_~|jjGp8HA#YA{%2qz!s>~5)UEDk^Rep~IKOY{0Rz|&tPE@UUQd*7wcGl5 z2GLR;&?N&puV79y-7IbyyK`F$b@>P(+_On({QTnTlmQlE63BVIX;HReXY~2C0krb@X9H_^g?jAX!%AMa93-Vq zO!j*7YV)Yq)Rx4}kdMkzAMkCYYkOf~?#gx1q&<%Nc1xgaXlS|}bh?QgnJkkjI&*4sRjDnRIK;>T{^ zPaJVGBXAex%)-YErb^`%D$w^ca)zMEv9_m^k63C4_8jbOmmK<}*s@%ZGxe>JK5)T& z>v4I7YUp?!l;X+R-bHwikCqmN@;wFfc6AMu-}DOyFPu*M!MLn;t@8-j97}&b9PAob zq8y`WPFw6{^ad5nI_s&L4;4Zw6R7)@#0juwv5H%Ag7mS{AWr{WvDjoJ%J6vK3-{i~ z8%OHG5Jn)+j;;brR-Ow*D&o>kv6^N2s7Am>4bwnTxSMq7G~k2&y|6s@HMNycg*_YM zxR5>UiX2BEgbzFgW0(byovyr7vQ8N~gqfvrco{&l`PCMwoshNwU5QINJ4}eQ$wTP& zmKL+E#t%wuR^HKnjdIFEL|UT}h@c;|HlH79d%Ka&?x`Z=iVF7FxLHHf-Z7<9Q0tC_ zQDw&a^E)gP*E3(_J|HcQ++ z5cZ7K^xZH3ZgsovHXi7F^PA|&Gt=S&ZLOsnA4M%|@6h_yWVEzIuuEC7W}E%(&?4`S zq0G!?Z^Chd*BZBR2zSA5D{Fz2+D)6nxM!;(ccyc=ox?+fz-Ghi!7B*dQkEYUmt)uz z=&gMpD!dOy4?@N{J5^1zmX%TKdm}n=!ucz>T@)&VZBh$Kd)BN)-5uO6e+@C2o#(ab zQiA;P?4-TZ0Z_vuc_DW>nOi>zcHezi_|-$ZI`BtyOP~jyzvoit{Q-g76(TeHGzF3P zwN>NSm&Oa`$F*64;tLF|<(*w}r)lp9Rp>0B+iKF+$a&fG(hD$1y2t*$6(}tgzZ+92 z<^`q7o)tClqahoOCCc@vWAS2q{du$P{YX7#Puu@KgqcKRE zEj`Uidy~IsSIlbGdhHL+%hs<7?9EeUWWFrU&1OY!y!UJa)=L%rPi`XeqEPQh#N2}7 zQq;|7EPjY==9o@#OH|<8kbLj1Qn9x`S%RGi6|3|gz!ztQ7=adQCY1_0L^O!ug023X z4K9St6>?GRN9yVyA&GzY_{{!Br8>Mk^SO{aEVqEd$ArovD%HT*$)y_#2wD-9o}}Xj zpE9p!c8CjR&4vlS!ARlLqfXALp6o0m_;4x?ej_ek@SZXGMu%Do=~4^jchs*W6Uo5sF_PDc7{+ z0{Md`^|x5l?ZHim_IHjHDo1{NJJ_PQ)%ASc+s8Ui&84%oHGwxPVyWSgJ0F-BVBRZG zQT3k5pib4x_rB!Kiiq`0#8vgDiffDyRkrvJE?7Z6L>L-k<-^?tu~YhG_}*|ZP16e zXD>Gp!bU52z1FspHk0*=XUIBEHQ$e4zmdw}i}kgMFw?~p5)@Z>HT!#Hpv=_x`l229 zTqdd)N?60~1FPN}F^_nENSdyT>^dtIPHmM6=bn)QA%C<;4^RRlh!Ew?B z5iGHsA3$Par<0;qWidmY%-~(RCQ(0*GGKo5_XX%jx{RRBqYi~GFgp?o9Ou=QKsF8s zo|bh>|B7`cbJe_-T+|Xl`K6_r@jhogF@Fe{g$==)0)<4vt=u`5@W-nZm^|a+x5kcX zw1+|1MN;!>kFofGWwADy)Mja6hkPHmL~BJ4H5VzGjSAh0R~t-0bE8v{%l`G)d3<;6 zn~^n{pm)gehU*^8uv2OgYT{F-_(8A8tI+;xQau;GuU|~8g;=0T9omsSG$X^gD%>*1 zFqrHX4sGAu*wo)Ch+m?9cV;Fu`s&vMy&d5K1>p2qvsK*kv-s>5`HC4Gl{jw2G-`j3 zuo+JjdA5q(DpJeKi7HB?yA|V=L_%MaifS1+J}o=gZ#vYd;q~Qb!gj}v)folzAeIc$ zl~9h{ZHTWRV7Nv(^ifv!9Wya&?x+i>*^7OcG9EU&jvxoc))g9Vf9%CUeH&!RHhfn0 z$Z!{Q%D;XRwNOYx2$jSJJ{A+<*Y_?!KuQv_NCiG-Cr{=B4taSo)9}uZ?w{<#-K-7r za)$|?uvOe%!xTK6X;Ri|%cTwC{Da>Q#tzpHS0*xbyN~@L5)o!mK^p~MC&-3I54`J5 zK9+v)z@@&DiRbl;VDq535Qg)0boIkh9lx8u+r11uyX%hKcTKLBMvvw;!R(lU*x&z! zv74k{t3Z;UlorIKR}T0QS|tprrr_~v-^;qpyK*eoY2DiV<$G;=t%tyVqXn~Es(x>!|^D*qkS@X3oKDbRuY2fxwQ%=J54e!e~>#{!3uB` z+~NlVU_23pGed<@6t~BREt|ru)0vMxg%$ZzLKrjuIM~(@6*zq&C8V_VOqBK;EPKxm zEoME|ZRm(iIOA?6y2?6pjxkZsd)UA7F~UUq!tkVQ=DfJdc<@wH2rJ7(MBD-+|A>Wl z|KC|@>!d$F^z6P>Yf2#Ei2*0GDU*4mAsuip4Y2#2*9SgWO+*o3ksV!kDfyIlO`;VV}Fjeoz~7T;w)k^2k6xqsy% zg<82?vv2j+o!*~I zGf??km>q!H`>Xt)1FV5X{YwLuL;lUr5ZzDzpAp>y_60Hee>Dim@*Nh_j$L+eZR2Ief5QX&HfAWzHIah!1;dyfj_TB{lyn(TAr`(7X(#(Ne}MH?=tdd zSMN!EUekd67xupB|6r!0-50n2{Y5inUpAxg1)|sPOR*7sy$=uktK8H09KGxO>t6;_ z;QoJL@Ed-I_5S(Z1DcA;7bxKWV6EMk)VhA&QS~1_A0mY>td(#63mE?YCSPDX_5ULO z{~-#vCr_S!4&VMV+(3Ke!-p@J=4hR;Z*%#p3>1AX%A#Lz@C#Y_GB^Qf^z(80k2b-M zl>cn=Z}taxfloTsR|Zo&06=s)`0t5gEe%}rtz&ffO_G3g7I!~5=AUo`Y&(cK=Gc{f zvK$~c>W202O=gvseqZKLWr+aK{oJ~e(BytwveXU-%O$EFIG}!iyftxwg#-}-zqxIw za&xB`AqBaihaYJX@rJH^T>9Mwq59;>liy**PXS{*KGKZ{TAjU2PFSw<-P*BVy?r6- zb?NtgH1(c>p~IQjmhWHv*nG#44;wAdi5Xwm4R-jW)fsGd6TKk!$fu=$RF{ngsJONp z-U#&~N~-r43?VXW?nMb975#3Gwxn@K@<46-6`%tvp^J&OK>kPO25ahNl?+T!=7BU+qBz1$fa zo@=wmS8p_~sJ|}Z!<>Btt3^6e>|XA|&u35DPM6KRUaqjiMf_ml7}o#ka%7R9ECE{p z^zcz3ES{C;H~hPsYpA)+9xx8Q-RYF#$Kh~y1V#1^O8!lu z{rV_VE$E5mu?Y9^7T0zDVJSknfsb2G+u0)vhEQ=EZc)njK1)s3x!81j|56+CWeS5h zTj9%CiC&~X_3KDuHq(ZLvblo^c^aj4Ycpo-LJ>bx7USaGz)F7q+YnzpK!0=|tB@34 z-#1Q0xV+Zr8^fg0YBN(ArooqxL2W@eW|Y!GI7IgO@MINv1cVJaiLH%qMIgI0&dH!e zBd593F62@v(ctlE%evCQHWx6EwHm0*wVQd6Ofh!e0q|Fg!+wR?Ex_Iv$fGN{aTjWfPA>adC?#UT13p{b)K$d^k&=mMaj<#v& zU6QGPpv^bN^7P%w5*!WQ5ls4Z$6{q9Gl>7QRq1L5khLdQ+f1Bvv^ar8Cf&nqjEic8 z6$jX714Gdu@|xqvzCN>R@@kPuwdnWrkU+zuXyU=IO~ zwg;_H+sSmtDsqm9H@);XKdq|oeTFMyNYUiAoVr4{`?*fTaL(8QLBl{kMv>glU3Jey zNIxBpp~~{AP{u}aq2)a}QN?t#k>6( z(roOJ1sBXWIWr0g^j04*nY>8NNk1C1L+cXCB&|N`!`3MG6%F*B5Kk!#=`2cdlq}}s zr-3+OnLLR|-7)2}qNg5kspy;tAdpChZ|M>B^?1Yk#Q*%dZ6xUYc zCUDgdjGz}5l5m?J9`Dg57baN!rifR$Mi{kZo5QqB(~xyJt5{C#HkTNV%45^EU1j(4UO|?Rq4?A*I)6*MUJ5( zPO^hL7e(t<8ZU3ea$$TK%0jpE=^WMMQLmYurGglKyuQzE!Pa!la0zm$l9c>skWM8K zqytPqlLm1KD;Tz^^IG)ihk49n@}aZvON?h^9#|Vn+v#?I?zRvM{DYdX$~Hr~!p+6` z8T7%fA?h^dDKxzQFjXJc?7xaF^@Ge*qF}qxbgL!=5|-hTw6XHK)k`Ar#&k`OlM-E` zLb^YIs;DHxt;`9(3Sn{%Jiz9jL0)~|)9$)gK@X4?^$GSE$lK_(aI(3V5=dmI$Vd@I@0d7tnIb>q$NCr8gie~ z6nLS92~M*inZev0^`@eYBNwv*o>>Xog8=9J<$VwE8qID$xF^O4a)zLx5Vtw7KP|y` zV5BjZA{qwe_+AkRF)16ZAYm#aFJf@m@8fa}zQxFm8kD7_E@q=La@Pq_Mv&Zb1G#A7 zgJ|TvptJ#(jH>CD>bX-lO)4&8c#Pfns--kC>i%sFqY5*NJPd~HdVyatTpPJsYE^1; zL~aU7dD$+{hM|Cmhc{XPK_lt=-PX{n_n2sD(n{ZBZT9=zD#-tx3UWcVTwl6uIq{%K z=m4WT%$6muaK@$B8a=}Y7P5zDv?FixvEG;Nfw*oJAJujz&+7A6w-_;=Lf1fNdI+T1 zgd$iS@4we5EbY_cKojX@+$vkl{E>zBMDZS_NdNwNLT--g=?0R!si~u@u1>o3c*e66 zWFCNwWh@<;^eZqBWvLHzYJ(Qn2+}x(=T1Nmh0(m-c=Z4b+(d7G$~Ln&rABfjaPM_# zzyjw>%W6ZWi_|L4l@o8~f+yp#HiT~+3b z58QFH^M~N8-}P>aKziJs>W+}c7ZEoB2%Je)qA)DTV)!f_84YmsrH6w}HijIHy;!&` z?M{Ws2-V4T)_Qcqw1RN7uG=z3(x50jUw+S}`_5SdB_|BT-4Fmmo?Il>;@W-c~Dswj0fT_?SKhlgV%L2%@M1A!d~H!su%l*X?z@ei^^WDl#w(uNCIg z(F?fbMO#I}EVAusBoWEg#w*)HI+-;W^zYwp^IPLg!*7v2N7{9qMk0D0tlh9B?68iX zy%rfmHP$;@rF#$E>0-bUA61s8G^o!hD%gr>9IT_r3IV$^>i;^%bZu!V!Kvld_tL5$ z=+e|lMD%ExQ%#r$x}ZqW=}q)y*{p_(5=9yVmVHF&`m2!5rN>5ud;X=mU}%@9s zasq->L0yJwfRd5*dqB{1trIZs$XQ@hxfy%uG*1&5phB_vJc^E!X~^wL{?1&edaoFnjGt24OV=cw7|#0FJA}k**ZK>o=3--5 zpAnrS1gK{vZ?uHhnQlhwAB@$e#d~Z#6%VsgaqylhZy!I2^K;<4?o=eh8O2xWKsY{h ztT!Jnh>HXS;wzom17#{L0ay{yrp*_DUjHAaz-5zqUH=8(ZDV z{$Gyp1IA=`G3dIjPIOnn{kygRzDnO#DwPJ0hGew`hR-JbYH%aHNB>UkJRwRR()oA?f+g&O4vtTc?FhD;no|@Bf3>34fpmnY06L8Wq!4h zZe9kV_j1t=S6sTHLSWg%(t*hn1`ZDXq`tn<;@VPOd0bPpheJ7{BG6gak+Sd`)O}!{ ztY%xa${d1X!ZJBiPmHute)mH{5ni;`T8(*2NkDxhzEM^tX|o;az0kgm_iq5_uV;+G z8^2UZh*NqmS&d9vn)r$Sq+S{>w0l~IYf=PY6j>WjN{#fJ)v|R#*P`2(Uvqmqg6D#m z(&2;VzJ}KED;YB`_$>`m^&L0qRypQ}X1I-M_1Yd14ReF9O2&DI%mGnV7n6Vg_}mt= zwv=-TOfODW`}_H!DM#nbkkzERtDqH0mmEPc6C?4YO#9Bp&;Iz`Z;T_a#d50swO*mJ z<^4CfEa{edWc%r;Cs2D$ZV{sGE1ZqM_k=)rXuq>a`n<3k~$ve@v*ovrdb_46Z zfuD&gKy^5bnon%{VFc!RF@@!W5$Jf6z31^7pBnbUY9{%Wq)!s!7Q!RV)%@qr7+mo^Q2!t2-hhj!WeUstWWdq*}KbKI~N6$#3jx}GfSw?&RJh9hI=Gv)m) zmhk6&+Ywrt#)l!z{ zFf9v6#ieI4S_-}aY~|64o-%Qp%jiQpAr_Om6~PPdV}hr?<9lN?{OfKzA<`<#d-#dt zrf0=g(&i2|EpA_qTzup>>J`cxjk@7pqiiNNuH^A-CD|_VQ*x}>Cv5`4i?1>|bh+DBx~){kb=J zQts!cgpIMmZN<;}a2-oWA~{493KpWV*IXHT$baKEl!+o;IQbynr`jF;Mruk4DprC4 zOsndJ`^LQotyRLKXW{c#ieYfx_|ZoM|EiwaQ1hMe>4v4d{7R{rv%RGW%@Af4>0s+= z2qflP*7$Faz(#bhp&ieWtoD%pY&$M2>b*szhm!@Mlz>ocw@o&vT>4qZRR7^DoO|)J zN%N9c>y<(LWL{XsuyXIvh~M%NU{2OucAzb_tJK)q1Mu-u9rMu-4LwVyFZd0qvJKF^ zT~|R_VW#7>K{3YY#f|DRPBbjJ;|Q#|P#_XwRjb_RK5dh+lDqT(&$~?~PU#~MH}@6K|eZBm>t(U}fvjxJ{|AgbIYNXe;wx(bYp zIpCPW67f<;uklsRt*K0Z5)YgIF~s2ZH4`DGc(EZs7R@$mFef_DYWw5{Dx2ddF?R@+ zDyqv@otM6;AFl#jPl!8=hVLQ)4S(R)!X z)~H9v54@EwEh_pw2pyYIYHj%X)*$+c_V$ZP{g^eE`PgywgSnm7qMraYAdBpJ(O8mf zb(H}9sS@|;!xX#TgaOf8KXW^r>-O~1=!N3Ml{A41f$v*;G@R7;OG7UF$0}>7sJ<1o zsR7OZ=>z#so?_*eLAzweP5Qjm2ikE}-qDc@n;l`hr*OirjE9;dt-I14Mjb|TS~VDx z#!8##a&RNr%QX(UMBrRUUc*R{874S6eB_u1f;7pDFNvv(^m4ljPaY-gmpM``-5+ z$?oV?%g)Q`G&F1jM_1Vm`&1#viI#$)te&2)PgmeF_Ofr^O7DcRUZPYcI0;o#ufE1; z242ijpQmB3-Srmttv9AbF$;FDBHx1@+&`rzLp;SoR+pwYS;o>DgN%+ebDXZ0nkS$2 zIBX@D{+ zxx|JuWBe7-)ZYT!sq-;IzE#D(u_@L;b|^Q$PC-x06Gmc&Ej&cZvacs64+(gtrP$U; z7dBi_oXJ__SvO>q(U-CmY)9@sm1@mVD}xs@zMf}MrmJHamhWT)0CekB z;qRXjnAoeyML#A0nENqh610B+MJ~09$?G@CgG+X)GAXjDWKr4d_MCYMfl-;6q}Cy& z+kyU?uU#(5W_w)of13@2-ApOFB}b}(?KRAh*fl!;w)?9B`m$%OW9}wVWYm*Wc?x;uaY@#BtwpKqx5Fu5Ra|@914i}N{aXi_;-wv# z5lkBIW9i#dP;}j?>GV^KRuEOe3V(ua6fS*OjGb33TlyqzntDgFzpQnX2ldT)2{Hpv z`EfnAl@Gi9vv=`bONRCExf2$4)#oNOWEzC25f%820Sx10jmu5-se-*rrgoJJ`5BcF zeEy_*>rAnYH#I;`*Ico4t$DU7si5`A(=y~Uu}JHFuc0@n1y=6L(_rfB02k_fVzqBD zA3bb#Pf4RIA7T6%d&Af|e(%csTELxlApq9L#r(>^k2D7^XZo7)RW??IZB<=C)rfZ zn`Y0=a^;Wtk+%Z5vyB(wB+vQctXjFlVio*Km&WA&u1tNnW;t~zBrGt#RPIVeC$iY5 zqp7w$O7SE1wVC&I;m;#ynk9$i3(d@2Ry3zZf*n?-drkDtA+eO2FcGkwA#~GVX*?f4 zzB=~cXg6L(W5dm-sS|LTx&2OKrP&;s;;hMFE`q-_V!O{`$XDmllpex84)nWaCCt*D z#;V(fl#xd|h-C!q$cKc3>;eiXXDepUu2RM74lJ9&$ zki?gL=UBlwN>R*CIiqKRuue0}wQz2#i=`V@6c*+W-F%6N?Slhe_-wFITYn*`I6^ynu`ESWPVa27+b6(>zlri`Y;Vg-l|A{0{^8q3%e9Z~VM~-q%kmIgbH(KJ+`_c< zy=F)jC*pW{Sq|M(LXb84f--_`w@!mQ9X@Sep^{5^%xRyB_UX?{sM=sfu|Q$Bv1r;dFJ?h2c26gLc#1WtTI1M+&nDkkorxnz zUKeD!*ft5=Ogix%CQ9KM_yfUPB$n968V7X%IBG5WG671*&y;Bs?jiRqPrpFRn77S! zy^<2k%_#{$nYp>Sk&{H``=zG}kyoZuiWT!4?Q@5R=hz;-YOV2f^T|f(sqF08f8Yc3 zLAz1(>ilZnh-PU#Mdz3hCQ0$;^T_Bl(i+Eqx4Z=n4+2_zDZj`bvo}_;{llO;>%zm8 zt}5jE9KYcx;GzF{kC_EtJ5a|iZU0=Hi11*!?CiSek;zp~>+@!jmW6c_A7nNC7kziu zOx_fS=wPT4FfLy;JN?-4r}Qwvz9`3g4fP+p8mktkpB@eR{4(X^%aM-(6*W$^QVzyc zy)u8r$6fxH3!eoYwy($gGcnQprMD@=b*JF{`#~v|WZC&kL zS@#VNu;i<_dh=QJ8ynMO(!sZ`8?8(BoHSTZC_}F4s75h?B(%bG7zO%U&fbVM?}X1Z~!pCf#!FOm{<{_2!tC z{!40k{R3wjL{5>Gv)z{lo;V%V@`g*?>{p{|Gi|3;eO+lQo*OUbhX^u-i3RPuRgch> zMHJiS4IeLw7|ff7a;aBlVoYQAaEr`HcCgh^i32&7o-HMDiOz1#5-{$s|M=DBdjGN| z+s8AV0F$ldzI!rVQKIusEVgV_XDRKZTRPh_y;i|N7LP89vv9eM1E1-k3=&Y@AUstc z6ugsw-Q(nPhzE(j+}|x!0$4fiM$KXTk~cnm_a7zv95Auw#T+IIcXIsNM?2+x1W(kC z3O;|>m>QF|9C!nsnmQOBa&V>+(UdZvD5RuJtSd36Kj_LQ?TxNkZHc7Ew7p1Mp$_+^ zDo@A9rVQj>H|uHawr|%jEO%dsFm45mT5s^2SFTCGW#-1njC9pp+QqV1dhf-fI?h2# zArZ{d8%VHwTO%sqXvn=9KUtds+DoG?g9

    #w_OGAr+ruQ`MCiRC*F6wugs;d!^*(h4uKW?@0NVhOFV zty{U^N=W>NogEh4*El^=hXT!ki^EpjEh}Eh?dAp; z=Z+7}TGim?49#yiF7Q*kvlz`0?)?@{pK`@i-g?pf?tFvh%MB-80I1k~2& z$+hL5KicH?5t0d4b1$P%10A`2w1QUm;&=GJAvttN6LQR5LSx?v0>bc+5&JGN@vpQa4vFCooLM3uZJB z82XZLW1L$)O$j!jjzVr~J&!v47y4-8QkB1EfIDGg!JJo{N+}3g;W~?w!?4zyX|7;Y~pQmUu)a7(XOEl$`4?$!cLAX2OSjoCVN{|j7tm$bQGtX|m6x$9{rjLWjD z3JIT0S(*L>%SDWVeR3}^md&3!3-ZGC)`^?-N$*sl;sm^=c#YpxF+Jo~HOVcZ&Dxgx zwx?aesR4ievYlz5D*4zv5$Y$k^|Jce`})|I&SlVFY7C$>^Ox8C#1q>KIzn= zUN(Z+QDHT>{Fk~FnH{(P$>>iiGJJOwNu9OcSps5V`%gtJYHHhiV4lTpFBnn$ zdHZOqcHZ=t?W0xg-ChJz`pZ9+*<9J|oAqUaelpxy8uj|v_UfJF{LRjFe@rF~+OYP= z>+Xr|bJ>xxy__Zb)Q(b~ofScUveR(y&T_9EB{GIPzq35~Q0CobU@aKOA`oLLe~b#m z51$cw8&1emORb>C`5$}jz~z^}6|5CXy4izm>t9|UZPb3-K5wA>ZD+|&(vJCmxyd8^ z@!^+W-`)OI9{D>9bCPq-w%6%^iG->Szr60#a*u4EN&L=wH0NCSj?d;+@2Cj7xP5ic zT0GzW2>W(UQo+vEER@-?Wae-FtVV9fRP3yxa?Z)#QLnV4RBLCw(m!d{PuF)0*Vn8c zv=4%IhW_!orP0%~V`BfQ264wsIBlPat&Xvj?|Wxib5zexrXVaL&7R;NG>I&+xY&72zYj$2xeW7913)~LgTTc+sAghB9^Cphq5 zcCf3_*yArBT%buquzNPw!=!-M2@c2W8v2_vI^)iH29IFK;>z}C=8W0=ag)u$u2Fx} z#rCIFlLih;bL&!|uxApMG-;5uVHh))oKgJ)Lcj?<%C#A@s>vQt(B@4}Y7>g@oku5- zTv%}kdP2od*2^<9Gaf@df3F-m1bX64{MNj*mU1}K&<*q=jMZBVa#jf0H}~a^_bXm( z7B|{SVp&~OzDAO*hT3dSTxo%A+5THZmgde6;`uFM=e44hCUMfkqr?}y=5 zY}g5VK8@hKHtg;@sK$2g5+}4s6Hup53V0vFIKNX|M{e~#etLi(B$QoHVC?Vj5A`3) zG)!XH{is^k9ZIdjsO0}W!IF1F0@EkWog)XmaBQds`|!1DzTdj-EiE^6=@5bWRZ`ek zbh_eZp8(LK=}Fx<{V3sO`Gynyx&ZAJ7Jj3xiT`&(&}f23PIhW}_T1prl%g{Ryl(nZ zU|pgktAtpRo%O>$Tzkv<0|V!vSacJ41j7FT!_2CF{v}Q| zqq}d+f1k`0gD{LP5-}!qspWV1j)qV7jM5Eforf`cy8Y@=Z1RiN3c+a&>dLh=OS_ca zA~Q*=YCvvz74*cSKzjDY!_(^buC2P3_>Y_&;HMr;Zo#NY#7{*@yo7 zV6eYw`u<}dGe51vK?y^ZMj*x8x`~gpO3Y)%fA#R#Fg+(TcqUEDw>j0pml`h}oWFE` zKc!+mv8*3|_DtZ$G^uLJtGn3I-+NWOM+~7>+IKww|(W;5rhmlyzQEDVlmC zvERR7l$EeXnG&5t4;qR|$<3;(0^XSlon^noO#4Uth*gG;@oX_@OXBYQebks#Ow0L0 ze}ymJ|HsP{L06(1i@j#oONRRL%gXZ<`a8PH{B;t8KbLySlJoqCCQCQ6oYTJkS@?&4 zfRm>FZgBhD{vU-^+j(4vU1LX{H6WksrpGq(t`*GkIK#N;F;&$qDscc%yIN=nKkpbZj|E zRj*o|aNOR)CQU&ClO8tvNV|I~&xW6A+Fgw0yneE=sNvg?Zr@tKaKo!DF$hXY)CKO< z{Bu&W;$?w$;=Ea#Kn{sDH>2U!*B+`HC!?EUZ^s$Yu6<|brl~%a@GUqnxVYSOtw;rH_!qlw?Y{Q^qKj8fZwx-vw z7d42hvLy!exOK~ZX?FPA8M-7L4IQp{u-_`>rWuB()#Eb$FxGk4S;X0?Nr!be>+Bq+ z04ppDZ>Zdu)GKIticq`~g_i}T2ZpMQ!2T&L0b2&Yj%wn~p>22(2q(|pSFqrZ6b$!w zBTjl$pO*+e#KyCFd1hF}%~MW97iQ4k-f>cchmf%9QQ^%<;xUH!P()UIp{U{i#vT>ahu^h%QOqecQ!gRYEYyYRU&89~DkK?A z^y`g1%EYMon;*d&Y88K}LYFo_^%=6-ch#1|@WN#^AGMz*NAKcjBO=q!%rNpPAs7N=rhw?BqwUoBqG z#Hsj<57p9DMW<2-TADl|;SRohdgo_vW!#LuJ;_2qaOf7auxY;*i?Vuv`62B!z!^+E zS|TLBA=Rk}d^}?3`X_W?Zr5sR*J^55KCvQ`zZy4+g!_tVIuuxz$V6T^G254K$X%T` zH7`$4$L40yfBSY{G4q{jw{NG;(Tdd<`{%o5vL#bPBWhHlc-^CUV%!@?{B(3>#fOy= zM#xT!4iRmotQCK_i5@WROPR}SEtb>vwY|Z)pq;`e{UrgPv35LQln-0@^H!2g%7vN2ToSoBjBXiaCy-*{MZ2AQf*v>)6gCRoBqr*#W?cUgjBp& z9>Dm&Kcsw~th!|*@#4kt;F*_mSSd`px5$&uJYmU}NKw=evd8^z>=Eym&Ak-UzSbW~ z>v>ZxlV6j?yx(>;;?|wyM=5a;f`PrTD@k9F!Yx@H{zubIJq`#$=z>2E@3Ak&Xu>y8gD%=0=>bwJ*t;3^VnNbLZJZTT^VgJ&PKclfmw=?k~z9&C1T zMXxU&RORV3)7HkXxpQ8@))(5I`VU^S_WwCXxAbj5ov@m?6(3i1Mm~v?LrkhIy$m*a;{W(j;IH84omdz z-a~u&HG)3<^~zC=+abco&Yi;kEUuxs{QLXqADOM%>sPEUBpl4bHGGnFl*hF9kb>nj zP_wUX77_$48WCZLv^0WG+~8r$BJEZ?HLOP*{rb=6;K8h>E> zP7vkG3B<=S4~_7b9@;*Z*T^X>q-KIP;2G-!`*rPtu%hIgc%09sZpdIEkg=mF0!Pbo;~DT2-s#%2TSco)UgWR@HYsyUVls z>pGZU!s&YQW_FwKIQhIJdEh1z`rZEf^s zr@nYmmAZ-NM|)~2vl{cf50(_u22xkg6osfJ9Oz~n*)-hVK;i?slTC{{uzKofK*f^7`!FBsH%7(*Fyo>a^cN>6#Pa?qE^Q_gJo_F-{?E+*U4B2^(m zt)!266YtZ8;!x(XLJA@%0kyTDdMxV)-LET=RD0vu<_}os&N>sW69I+JEUb-B=zt$9oB9H_1JWRf$F!S@noL((PpYlpU^eDh z`+VMiEjm>lO3z#Zu|_RB;bkEG(UMC8N4e!|QClqe5~=g`qw(>IhV!r`7LgT8?sSv^ zhWD2@ahZi?UZ`1?lr2JAri$Ue3>o& z_FBsH)WGuvYmM<44u+1!vqA*4GU}x}jpA>sbWTv468Qdbm8)A9-i$c0))Nsf)2trb ziBNKdtzCVTa zUf-10C0;eTvE)PP_v%RG27U3~9@Zx!@}%KAE$lD#*9h)&>hjis2 zxi>20(l%zT*P`ToR(y9atq3#~y~^A}C)yIS3*QggVdgQ>erG4S62UVBZC3P~KQtAF#7 z?TyPOc8SH~pk(`xSHLslZJWBJw|D2d_LuE!%b#4Td3$ZgaCSW5pN!P@zx@Gs+-%@t zo?nN&SqTtho#zSj%vWkIoq~m@09ZGqWoXv_0>z$ZF{i)wNdz|6`#ww zutUL!HrQ_mBD$c+3+MMrb~*0a zC0K_4eE!Dfirfz@Y!KE`FgWi0^ARPR7p-x!q6p@@M~@yo`Toogpra>@x7;0#8xuzk z7CTkVsb}g|27~Dd&M||H{c_O6&MxiSlb65>zN&Prsoh`^F)&|e zVeN(bWyVNN&@sv)1OnIB*T+F)Q?R47|J_y|gXxxQo___2M6R=$AYoYJ!kTOi=1e6; z6U&LeetWVwWMyXmQ57k1O}|rVo2x!5UU2PH#%nHKM@cY8*R|E&1WwGGhKUNTJT^7` z!mDSd2pu(@(AD-7m@jLtgyfu#T5YX=usd30Fl&mKL^se|zkcl4F;*1`rDR*}*E$kN zO`Yz>(O*6kZiCCFmKK#?JLTB;800qH%)miDNdU)pbe6pVbiRp&g$3GI8g6Q83QpEc ztYK8kSBwN$hp#nA(ik<&PSCmh*iRM^RY9Iw;?O7$Q$D2l|-ueAk@U*H^Q()UqrePZ~aIS<2n#)<@ z!-8jKXH6|FIpq?B+o)2vUOBK{*bdO6VJcG84zx}kNfh&{J)JbIpG3C*ZNQRm3!>d98p3xrGq+F!nkbZLq?l?DaQ_XG2? zO>wkgUy>1eVK`_?3(&EOAN#As?jqXY|BGW9_ys?{nU$|Rs# zK4X!h&H!O5riI5rX%Z@z!e+Irk}|5Qs)9n^=!@u_6>!o8n1>>|l|eH`=7n~tRQ_rO zr?)UXp}M+yeER7Sz$GP}n(~r@wdU?}Bzb&Vaj0vZ{H>PH#v}i=5wN3PHs#)hVm@kZ zDP52P>5ye@koV$=)^+x1Mx1fmMN!*$u%It}`h-@6&yC)%UG6f(oN>6cxNLs-n@Gr{09^!a@8T#bw=B)g6UQ2&a3Gg}(e!sq zi{Nv{(etY;qOuFE9h04%Jvhcl6H~A%Jtb-vbh}e~sU4jCiE?#wYx`s%nHsHBeTvFs z1p1P6*potfYv((4*u%%~)qiDK;b|KVj48c(w!jdG`{H!DTSu}QWV=`#QiQH))>XKf znc1WLN6~`yLP1-H1~rB3S)*uS>u&}!9EspCHE5jB3@tV5@y|qFc(vx&x^5h+G2&;+ zUz8M_LFn=Pz`K0b#-ix2qm|m8f@XV=LIIu#*?Df_NvRhVx=X999;bEKuiJ&I96(YT7wqYp(opBqSEnwpxx4Bg3n)li`lviv#Eu1*uhUF`_x&Rb~n z64S!hr^DtPz;P(Cy2)S^VBcV8D-g|iXhva6?W(>X_R2Z}O(BlHf9Sh9=t8d`@Q}Lf zDpF=`tu}ku7r_7$Hg4+qDaS0=2OK+1XA=Y{^kiwbF%hzokSgtstaA#sc^xB6v*7Fp53GnNp6x zsFJi*cMAz$1(c0X+iBe7c(igSxRw-)nsb1op^u2@uH9NZ9VbQ76NGi@2{vk3ZSsRI z=_sFu0~(X7WG@o zNaxl=Fhoexj%o#XxVgK7<-9vo>Wb0uq6mL|GB+p3XC@mb1Hbg-`{z(NkyM+RAaCK^ z^Y%I%9cQe08t6--wAXaY$=G&C0HE37G)VHFk-}F?27v}f6V=^%bIf#sL8pUtGW7NJ zWz;TpR)nR3b049Za-3{=4*1hH3-BD^05&IbZ90(Q$z=C}R>-8}7F5gexNNEi{@SU@ zK5MTI+rW_oDGoh?Pv3xID)kCYFLF5&4<>;|rt$+e|M5_AazA9{PJ!@7VXMYRYs$MRnIgo(>4iW}b$%lq<$pT)t za?YrYNc3$w>M{xJa)>DptU?mjv-&h3sySSOfD2g{*WR37XEo6Jz&vpxR!>)w_t}7Y zsMO=`-4>uyJkW~$N1c%67NCCfa|8h&+w0K*Br+YE3*coTH;)(am^dgdnk$@nASBTO zG?E30wdDH8D9Up35qWue;=9`o&_Uf7qmRs&i~j@(-mSo{jIE%s_LUJMvGA?)e6RlZ#aPmjyDsJ*WJBm|7DOh1d?j) z|N7X=2B_eUD5LkcmTy>Rnlz6~RNVDSseG4T1D9p#v zyVV}F!!p8y6`KFpH^yZWB80W(-buBtElxz^pl7`Q!)%}07CBX)6{EZU*>9%j^hDFs zP$IHX);Q$_XNgY#^<>PzjQK}v(`}CKocA5Ou*Jr4biP%Uk5ki=qj4-2E9KsYz1eTy zo>B_7E_3ac5t0bHg?8*rfkCd!8;*7yuJneS=ukNl3!Jxml;&@q9ns487v2+1kj->S z^*09v(~k`U28PPqm%u5JP{a#G&c>S48NjFd0E;`h&>(_vaB$#*_{I^$GL6y^YWk1% z4}Sk{*e-Og$N+K{QkL&-od;1@v>_zw_l?f}@r2I6%s=PzxGrNKA~D**K8wqjplBbG zO)&iZV(K2ae>{hl23k|dADq1O=QWvt)27E*`F0idOcuB>7rbnt(NO$1@ zH~}^bL{gB|Ylsp-ps%KCsx8qvE1<(HfqpjGSw{KfoWz$on zf|oxTR1AIX!x*j#1_4!9u0>(0@FjCIvnj}Q1qTPGfg?V8`udI}d3=gP=tAyp|FN^D zKvXQB#*ZHGBJdtZsh5OtSdd+Y`*gu&6EX~G$!hK@sP$z>ltH(NU+Y!0Wr?#BfMe4= z*`|B;e}7H8PG8;6$`(Ks5EGke^FXU#)aq%8O~SeS^+%g6BIf=bUf)zT~0s( z8oS}>#ffHIdAT}pQ|-Vhn*o@!=fJUeySfl3U?Prcc-ky3V-@W2+90$>I5{~{fHT2C z79wNvo5&AM+`5SvEuUU9i_I9`d(fFiN>6tpCW2IpW?d*-DUEWPn5ak|K=~L{j8hW9 z)Jnsv1Ll)Aqr8x)Iq(y7pK~v64HhJp0S6MaS^GG!XN$u;RSd%X$pMGh4zx5VQlA?b zp9bN!Osvl8&79m^RZuEo`^_arS-%}5jmaQNnT$htmZ{SBbmI^t`NCSXgic6?7Zu;w zE&Zvd2L!uWlMvL}IjFDEKd}Wj>#^|(2~(95F@|8KAa4hN zZU@bUl$I)LA9jWrObYG7A<{c&0XHlyEgy+UrhypQx&6f%@_wx&-$ZHy8{_KXF+3%l z+W1Z61-o$0lnrq1FwSJ$QY#`{1;Qe#4oy$|rn{sY9vvV;t_^}hB6=J5@Z1sRk@P#N z0PMlRDPiV`jvytH4TgW$c-B}4kgV!1AAUeLFLV+vgFy;lvi%% zXM%*b7^?e<=YT!+U3f3_2kz9sh5{#E>@(H2UqbsFP;s({r_1rMh4(O4%Sp)l0YMT) zc$In#7C*I4O84u6*Yv#dHT9*nw-WfX1R97qgTldt<6gi1!6n7}QaFDp-R1XRzvb|l z5n$g5UehHl*cmc|AX+S1JLFXiT>khg+tu~iLR?W%QBY9QS%A$}`t6k^lzsznNC#NZ zE!bVJ^pb1DNqz$mO(T9e`{=u)VwKRz6r9eRDpsaB_p3A^OSq#wA8LO1gNa6sKhB7Dro}FR&I;BK1 zn^jbFCRUFh1Z;uxl32MC6i0!ltQ{Qgya`}C2v+SO?g|pu%p|*Hb>z^Yr1?@1fMfsz z0SW@zL3+qsyUtWSr35(TeMc04U3Udx!(}uSKLFbaEXWD)qw_=LzBr@K&0fH@T8F;* zqHn;gnr-SE5Oay}wJ{)hfj~Q$C}wChF>nwN21(F-12OaZM%*|}8&=}n(FQ_|n`q%w zXl)^00>qGEG}ZLe@W6JXc@Rnsf+0aj1wdc`dvSBXyi8N-LeZ0e7l1|w%rG37abV~O z#IL$Q#Tq0#r5STPh)pXieTRf^49tN%VSG)IQ0RPsQS>vJa z(iyo=)EQ7aV$J&^FGxgeEJEH2#9UWu0_N4VJY9fwI0?lcqxW}rXbuQe6_o~0LrxxmpLF18oWZRdyR{sLJ}m#(u$%~fumIeWYE^$&BUXOf9`GB9iq_^Jo`rY@;3T)`v0EBn z7*q1K>(`${Lxe!r24|@oXwWi~N~p|p{KJ1ivs%GRQ%71sAv7Mvbp{|x9%z}zK*0uB zRme6jE~^9PVE&tfkXN4W&9(T0)c{0*oYLTJ$YBcjyl%icQa5NCTH-Hz z=SmQeMr&_|{>)>4B&cdLK`ev|Wi#MtptkDJ+q~heJv}{>@utSDZ3*&AfW6EFR2&d% z;4j)Cj0bSsxPHJD07T-XfDagab>AL}QddjTr)F}25{1M;fC#d|P;d%@H9D{vMz5}& zQX*%8$?b>%HqeMaWzUxe!^fO;HG!x*#=QZER0G4uK0R>!+>a6Lz=$LojW!%K@f3<} z)Ugrr&M%n>7jRQP`XfW_SzI+aSE7-^|hE2soQvd*BD}=3} zu*DQ-ELJg~6bTtn5Ib~$*Z^V-0PB>j>SC-5+$Ft9%&Q%;)!KCz0b+8a07}bqzZL~B zJ>eK_f^2p*B$vE1}R4qTQ4@xny8_y51PXg4u+8BY8y^nw5I3FPj`{Ba4fR zAvPsd(|?HZ<9GoSE_PLTQQMQ%az}aHrAmK5Hm1xY=nujQrm**csoVj~Jl?*^- zOlpsg&qF}PPCgRzY_W7nO@M+Th(iIMH61WR<6Rn%C_u#Hez4>R4jkB|t>1P0#+0%Pe}e2#ywm?9cGv}gL<6Xm6v;?l8 zfWTi*@$a*QGy$@68ved>0Gkz5&*b4&-@01i=&Z8wVil zbYNyPfkr@M*))S)8ZbuXgv!0q`m^flfQ>0=1+jEhw3r+MMu;BZ}HP1qh2o3p%lLj&E0JT8N3>@qv2<|%o%&%&k zuNFIY%xB`M2CbjK_Xm@mloufktaiukDDgxP|FvT^lp(e;4YfK5!T}{Vxt<_oEz&>N#g=|p?}X1oMO4jq$tRMYP+fDTDeXdSD&es_I! z9t%;Jkk5+RR2ypPZCuzNd8l+k<*wj2TMjVx7a*rs}2J(m_{fv z;CGOh@fmbVLKfvZ_7RTY(!;?)36aVfz_!8BW$yhnhz|b!w}Vt49%Dvx_|rA#KCd#q zBsjJNN+~VgKxfz!!Z{Q+J}E|A>j+|#rK6tx63{&bZpR;D4pqa}7AopWMj^HZN&*21 zvIIz3PEKx<^L+az2C72@td4nDixQM5$-0U`11`V`P;hWGKuKB;_Z+xF2rBy0EL+4ao?*knlo=xLxv-ez~Kag-~mE&&LC|AxQol+b}B&&qrd|k+ROmdYki5Z z=CUB=fGiJ0f0CHyuz-iP5L1*gi zx<7LD)!)9%k~lyOrcjs!{Md`S)uG%!-tueV8x{nZ`p27m#;$<_ zUkDpd8gM2=Amcv3ThV|GR@zF?-O_-z+JINh^D19DO_Z>9QBGcd2_aZU0P<2!30g03 zX7C?x`VC;0Daf*c(AO7)+Rmf(5B_+r@-Lb3cUnOpCAie69DatRy>u1wJIWCpB4Fms zyuqGR@Tw{Lzh(_IwgRk$I`nuD#pw)kt`LzAB;dKUVIm})kW%{h+a^INp0yvLx9FV)Ei*ZoB$*S94CBMFHLVfXT)ugxdJggWdBM) zIu+nj8pIO;^tDqvHVXdh%>IALtna8o8Ze8zP_ngx zn-5iA;O5!4EoFZz>C2EeuU`90N5_sawg1zYc9iq%sQ>!c6$F1$SMg7EAp`z93PVi( zbrp^6jYO3#!QCA9{Xco@j;fjgr+@bjJ3h9v7{~U;mjut|y?4d$*tPlpU|G}7iJdFn zQC@ZWUoX}F>=6ICmgV2A3Hg(9k^h!UZGbM;{=fBz^}?sRx9P#lv;Su4%74pPw%;qj zY-cUZj?$k$DL4H8#ie)A-~0g%H5$D>B{yU@wax~^3Mu-e;PbvAZZcg+-}-90Ztb%1gPk7 z)cuibU<*=o)POL6M2-634)xTR5b8bwIv%?|P6p4ogdJ$V_5gT2>QneELSI9D*zy>PV`~HLWtZxOleaCCD>wCKuMk0E20! z4cKn2`8r+{Fo0o^u*=J{2)VoV|>*3$Iw^>2b0Kzy)i4EE#vWrA}MA$OL#)tBzDzF`W_Hh4h za_Na@RUuPDZQ2blcVs+&RQu2JM> z^EGk-O|U|W;4f!v&=Ik%gp?9{;k>uRZmI;vi+?L*COZ0oqTC^LX0$mj+zhlrer*=q zCa+HA+`2eF>k7Ux=kS4SPistHZ@$S$Kx}+MQs(PoZIB89OJjP3lpAWAWVH1ZxB4Od zUs%ocOkEXcU**P(bg|)Tft7N#K^Ilz6>>YGk8`>cJo7igdKuVRnmv!$0GSz0`r-wF^o z|GQ%)ciYx#tv;t1Bdx>tG!?k_&O8;V1?^S})&~)M1Sqwp*H%XyYwL+l{txjB87IYGmbwj7>AF|uNm1SU! zouXME8{hZ{Dw|5RLJ0e{Q0aa-w()v=XG?QY^o(L%LG8(Wu1$GC0eec147L+ZKHDX?26QL&Cfa-jSS_zMd`TDQvcU?1=js3GwKQ1c`U<} z)WsxWCv_$4a~Hm!y@Z&?nS<#OFheW<7Jg{pi4M*(u%4gI?|Ox*xncFF=D`6b0+mzK@3EobV;ap5)5k}U z-af$$rJRgfg-=^_*cUbyn68fggVbMKely=IRS>INLi-VHtfYz^={OcoQ8kKZbZ$qeff&PN%ux zpy>VD70BMz)|DS_yBgd^uS4VPZzdV*Q{wPy@SIiS!uQ-srY=R9Co-SH(5a?cpOa&PQREh98ShbnITAdR-_9 z2!SElI&gw?L76IRxN`l5I8|1tAmXxOS;sUddxDh^0ZtDOWyXQ~U|yk;oF^TKs`+?1 zS;;aB^doKd#F^kbO%gCZxqE&HUIamw%l@3QJ9a+qps;0f5h4%Xc*Nd< z^4p9>U6DU$PbBTaH;P9)IufMSQps6nPQi)F*@%fD|I>%8W}?k*B;t%}4*cd2@VmWA zJdF8j)_0@>L5r-4E(!WHu3&doLp4n-)u2fU9($hGTur~3or8*87ey5J`Y{Lo1|r` zmTR&Vwh_)+fAU0pFlGOMo-C8#%6_5_TVGakO@H(RHP^f1K<3z}pL-ps8-5jQw8yTa zTSP-DG_X|=*hE8#SowP>RxT@*l)uUjx|=J`gm{Ebd-qm^~Lk#Y*yjw!3Vl99@@}% zy1%m(Bg-~2x`=Yt3vmcvsIMKr5TM#?5dK4wU9b~=bu6vXG=iJ#LTA`(qZ>PVr@4#D zPC@MPzW`?3p>2dSGP#~njWE_@cG-l0KAJOh1cG3kZ(3qcU(wUQd!@UakUCV|l;t4^ zyjN@5YxLq-uxomnjvKlf9vooo-Do}7c5E)>3f^xjp=x=~!DQJ~0iwEILv>tU>BxY# z;g7G1&4hK{AcTi}8}2%|*(WDPg=?M(AH_O(#pGYGpcqk`Jc6 z`Z{8sFciIQMb17{O(fPTwS4!wbNzaKW1m}Gjso`V zNpR4zoDK=JeTb&fp6lgbUHMIDDr219?d|VODUw=pAENV`871NOw9<&6F@ho2uQmH2 zn=<*!zNKYF!{X()5-^97#fos-V0yMS5GdnF0 z+L^thX7T|baiQa}3{u{s4AOMcr0PR=liq4MGo)4~>C;HDQWYa1)(l?v=k}X5fx>T-Q}-735VB33 zC&tfkc!H5+Ek=aY8yRp05x%ZOkT&~f)XQ5EJM{6l5>vu~R25Oj59zWla7~x`C?Wd& za%L0N zAjj&w;|Zajd^5&I_peuP-b{EXJfAjWgxBsh4*#)&PtC7lj>)PxyCLO5m*MPkudvH^ zu{w za(_!%p>$@u*(L<2ap^4+#_iWfK`Eyd}qo1;UI#7rt0acm008%_4PT8rMP0w)o9m=FwkWOnM9;WZ0GO==JB4g zoT>MD1iVBYK1&Xs?5;Zf-rASw#UP$UJZUX;N*EN>GhFHa827qtdr82@U$ytYr|Wac zDC_Er)S*pIAS10G+o z>@XKcYH|mKKg0~Z;Y2+nWdxIb!+HIYn!4wuqE3#{XD1wlXd+phaK2ad?PZ1lHsn!I$;u_B6^XOUe3L&;7JPteUp#xlMP|Yj6`4b#1PDV2 zG9-Zji6lS>nZ84HKWp`$@B8tt_s4gBgtc-O=f2O$zVEa5wXc0`9HXlB=_Gx$;&HC| zT4g$Hc?TX!Wz9}hnoq9V#Rg#*4{?_5)+C$BFm9g>r)n_D#vvkS|I7B38X+tDdNa1t z0IGOvMwX?;aj=hf){nHIb?oY82B59iy0`)j#?*p(S9PVuO|}ZB=^s#y9;qjbG;KI< z9*aG?+6-KyxM9@5_Lb~MGaXi|?HHSj7FeqbMEX)ZoF`+la-f=Q{toYKl2Bb#uPKQ2 z^Gs^R*$6V_A0^E;Z1>IO1$uidT9<)s-7W zE?4DUKcQdQ3nX#s0V8IVRdH-PW2u{D#MKz~#M58ap1KrWvP&|)fdj{T=((2UrR+eL zn{7BvLX}?D)8f)jOU};Z6N}9c{vw5{IB#FqIl^tE0%YtI-oJs3sx}Ze=?xc2jd?gr z%$TO6b#Xrx`W<{aob-jev! zPYS^tnUBFwhekZI!r6oY6Thcx6FlEEaEduu8N1kGzsK-5=hmAPfBxBhtv@5w;KA|J z7Q0eilpW{Ol(A!yI+)mckbGiFR)g*^hama1OEVN>idD zCB-MI6-`+4&gaaO*L-`je#DbJs26y4B*!gqt}3Y*yXx-e*A!9B_lh0|Cp!;%w_Idi zfWg~-jz6Ujb(JJ8yoC$rC7UI>k;s@2;lcWM2^#sA6%IIOQV)cw8jM_H+Z)3dK*l>n zw*?^Ts3moq`(T!9L17E7$FJsaBgrxvlt|hrwlF2z`UIs$HgvC0x9e-@75W3wGKe*9 zE`Ad9Dq_@hAgX|5gb#&J0hd!H|Hv<@W$<)NXgdoX<^Z8566m()tij%SR{w*c3=a(6 zZC((R8m3$?M|t`=7-ZQuODVCfNB9;WEef~*+m4>EvspZ%n`G)1sB&J}cPX|ug}S=Q z-vV#$ac3CkWbjx44P>FHNsit;6;*I=TvmUB+*mf+d((a!-4hljHt0+84%B@ zByVTb!jw>};U#_XP>b&5;L5x6hPi29YJlRGujB0Nt)YbNb&7L#7yv2 zJ1&)@x9X9KoORgfkOp!7dFt6uxB$!>gLS(%k}-!M3<@9*S{;cLt{q}ZTS za652t&;EV@W>X4k^vvOE;98W;Xh4uNGJ25-WGFvbM+H200D5DInfcYK!Q;-doj!|d z5_B8_R%coEbm;B$M`kR=JT&a$I93aBp@D!83TZXu4^l^_E1|N_1IIy7TR}nJLaybr zlG4WFd3q;R#gJ3oQ}zk(4QH}>O*dq`k4k8j@yN8znVi;_Q4{Bu1H-dwuz%&uGMQm- zN>2L8?*>lQrG`WSylYXOPqcPJ-OKOX{iK>9{spG zdYrZ6EEDZ4?6{xF{qh*p_SkTw6G@ffKXak<37qC1?1Nf0167bsk_`DC%xQhpuCqD( zr=Z!Ewmrx_c#);v34ZPd;x^4b8MXIEH>wjJ`{lQ8XY9^BBhnTh9*6R8PI-BfAZxf# zcHNk_mk95fkh*}~@k3oBU@`Cl>S#AMdt$>6S799@Nd2CHwbaWG9B-EGzh2I)oBuZH z$?59eZrjO8sA8o{{L!$OW-?O9<6c<9hkU_Y**R&<6TGi=pRG1)j%fYoPcm(I;;cT- zI@ZOxedA=Vc_cdL;TNIzUGzTNK#z1q>`{VCOcf|fV#C$(SC?`HWV40NjeQnaY&?4y z3#Xeo%BrfG%yyncgpMECiJY{C-fd2}9KYrEvH>cq(H$LF5vWyFww)txuq-r95PSaD z2vEk&hI491?+_|%6~~3S71k&8qF4RN--Qg&oIP-#>)3)(vn@}(lLh!9Ers&#R-wI} z19bBK(S^VMrC|fdU@zD}&4p6vWgU;2;pghdpamn?9agoIGYh`;cK&CH2Eg!BoB803 z0PwC`&tRuQH-?BBb_sX26=UUOLGZu|(Ic&@4AtC(J zv=K)i`y52@^ma5*>ZC59Ur<5JLxTNst8`tRBRK3XAD~f2_28+lFQT*3>{B;AQ?{jt z4=_{l;8SWA#izJx*Gf9HHb2FjSXrS93uq+LQ0Zxh{6EAS&h+d#A}{aq zeUTiX);sUVFENjR(gJ^P$@T_Iy1;<(Fz$3m^*XoOzAnyFO-Lb0P8nPNVKZGTTU`rF zmCqCgY`IH#85lx|M!HV6DZaHg>>oK5uE$lrgl%KeSm|jcsNev@7CqvLw?(@eyTOAM z!s9W2>wT<{jQXj3@$t;eVH*H6kKNnNnMmHuvuMz0ibw2VJ0D2jhRG@i*IUWrw}av_ z`ZKDE-Tm#P(C)in<@gVpeW&Ln0qnQ89*Q{_VO~)sU{x{CK)c0ioR3R4*&i-S?&R~W z=l*i-RL*76R2Xf0_F4O3!1wR0s#jSz)+E(>-H2;CY}-YMl~ut~a>6XkWBj&4QF^Yi zkJ}~_QBTJDY`VwB{43txDv?}Z+O<1gm)$4PtlJtFa?L<`Mauc`=AO#e?a z^U=N*{z3j)73L5A3MyqMh{UgHIp*3wmjB?)(2n?i32WQ*$JcTIu* zUHK?FRX?lVZRbNZPq^#ew35vdZ>JsiLsVCxauVsEj%3ggk-dqcw4Ix|pQpp!iy}hb zig$3fF+X{*^$%tKb@;#U&j*Kf9=!zS1&G$pG9b{tjqaw74(_pLjH-vVz53L0#}>@P zEbj-PIAqW*AIGH2HR|?YUT{hhP4&)TZO(vLnh=csw5;#Z@}*T5ai6Exiu?<)(b_@} z@F4+5J#v2utL2V$8T#$f%!;i=ZXyOv$_VsJuauRc7}j?q1hKi9n-d)*tG_%gC*CV8dn zMO~ed*4>(g77nNjCn`5@!6fCRq^vZU5$AM6{2dmjST;RjUF35Q7nY*lu-7qAn zN%l}1|R zZi8(HheH1gh)>xM$!l%U;=o{i*T{fkth;5t{!DYRg;4nN|k1*ky?jAM>c5(9CJJEMsMhqFK*PoEwC_*&3s?hE{>FdcxyBhj$k1cMt zT~JYX$jW`2*kIc>g`R(5TnDXgteH+_%fHr~;+$fBJhgpE7gdvERGbGrvhWRF5k1<* z$p;^w=4Jxfx7Ty!2f7EQfbId!L|Y9AYjXharPb}mdQBc>(&_h`H!5p@!j~KQujYbN zYB%k9X@fJi`Ej(EhW11BF#k50*_N9(kSE-&Bf6y*@i)klhIw0oXX%vPncr_)tWRy; zwaeXPti1+XNN~e`-M?JLe`9q4#&e~wT$k_~^m$e1pgajmkFd%ttGqY)^y$4+Z~oji z?fLS4#e7=s#>@qr^|y?uf|Y(KjN#j6bV48xQ`*;7W?fApodYSsn>oqzjQBUJE+uw` zz`NfScG>gpY1h%0b3$rfPa5}?+gwMMvF|4q!9vve2Phm@t6TsBLx;3ElT1i=Bq`8UpB7XiA&VS51r7A&CTr{Jo`NPi2e#a7pp7V z9)0!s{K44C>{XYb?n{gTm*I>bQ@mXe-%~m{!nisZWucR1^bz8I9c$pZ5FHoak0%NtUOlQi^Idk1dR{zHEoSOhY zgxFu|k<4Va`iJg3{hNkWt@7CpL03!t%Gj?Ta2-G23U64=mh7zO#m*O5Y~lQHc43Kn zCQ)u-iX19h`9{85)_FF8`gvTmd(aGcGYDaSLT_yJZ4z`r9eG#LsrFg2saW*!8D)67 zK#%)a|EGu%!)6QANQZqglVG9P(Unn5bsVJky?m@A1chd}xmUW)r@bmtcSM$(&A~;% zsYagIsR(G`Y1u!%S!_2mUuXbl4~w6(@CAsSJ~R?T3|$!i-%buVfBFxRz-`Vd=h zBid@?!M9WwoP`ZzkVQb?@x=o_<{V=(0jwKNqJYXz>E<7EHjf)$eR_{*?J7GylAg7x z7-&`Ns^0&Stil@*=a+|&tL2KOwXi#bO(`kJw{PoWSD*hdxa%gQjo~hZdt=8+pKpoJ zcz&?7E00r!#TL&S3)h(jGfQVSu$jj$FXZMYUFB6h*4Po{P*Y=Xdw+eg`Ii-AatJHK zvOqHIMAN`440A)1!k?ba_lsit*3Qf(ZFOC%^+t2Q`0O8R@(q1e^#K6;dLcuU(bQ67 zw7~Jd{3!0QD!c`Bks!^2C5$}S^dyG|RRMSc)FO)EI|))iQsaA*@5bAGG$sx|R_)`? zGKl8SoU1t52yNKtF?}7?8NcU?hwT=ZnhOMz``^{ zyW>3E!PYnlkk;%mfhJLqq9_8@tklrcW;2_Gk^y5pF!L+fuk*W(Y=~KVe(1OmH#Mrq zc{3**(rS0e(Qw^lNOT}L&)utEGGmkWOF{Mrkz$09h7#u_YT?CnEj(nixal72AuwCJ z1WCDtXYh4G=Zk_$VZ2j&VrBiA=VeZ@5Vg-XOgba>q`_l2r)0MzzIog%a5I;T#Zz8Y ziU)n-O4E{#Ub|cLqpE8ZuLAv~Tpg;GM6T!VLZX@J*c*dunOXD7D^+b^vxwuy{D|q0 zdv12!ot1|2L+};B93E()v48*A@{X~j>kpJ0NMfPUgw|Zwg{B`GCpoPf6;CJ3#}AfU zj8F8&xv6-bZKSAgF*kPT?n6(xx@xdUi1`Ju`R7hi0J>=SYgR$UQMJTT#w zq6=S8{ybphVhfMX$Bt5s>)$Npwym0P$dQr0gqFCQC1&cZY&HEUy-gW+n^c;6E+(TE zKwc=n0TfcLU_h5B_ka-d*=ui0OUtj-dlYBZJ=?1c4B|?6H{lJ8$dJImAbRrI1y*5a zClkKbd#_;T6~xd#E+tBo);ZCGuh`+vp@oG56Qp}!SLjVZD`do&GrBO)I@eKULbB1T zpKWp9!McGtQ%J?>6FHv~h9?R47^KC|@6XdTnWy{}5|lIZl4gSqd#MwU13GTJTtA*l z=SQ!Zvc4ZvmMIA`F_QNKi4*Ntrw!z^yxnA;l#I2m?#eo@`}lScEZTzRp~ z<>&T^gHcJif^rZlN`WTPD|0y{2F|fft(nK3bb^|hm9-f^NtsJytIxjc4*D~0y6%qe0dWF#Z-}P#4 zKvqP*6z{H77_2eNQCqry(i4O~{{MvE!-4v3{abJTU}APx{!`8E|APwpf8*4H10w@i zR~!E~SXY>c|7=j<@&C@C{Xd%do@%B`@_iRy6w4yaSoDSdPx$}*Pr~2-`^Ufk_qX3X z{M(gFzM#urdGA|$z4!3H^XOOQKarDHBZa{QCW0PyGJi zn>P>6{^d95&;yMeoNn$gzE7Bi)3vax*2wv|)=P>CJe|@@zlo^tnVLmd0HPkJcONw6 zvJ-Cdmc`-u1Auki4_sYc{qER-olzcqbr|&&2=?JsZs@N6RC1L4`oiT;OFQ_ukNU@T zz`Fl^yoUVoAJS<*>si-@ahcf=%!sg(c-On!rIr{%S zWcU9Mhxx?y^uyM+7EWb9iQ9kq*-SUF zP}d+flJ4x>d0VsirnAq#mfmN(Cl012=SIc3iaU2A*{mSj|DsIV&e}0LQbT6vY_F#0 z=$2}gMh5g4#PpYD{kf7q`%H#CxP>5{&HBio8-(fzCTFdmR8d)5w$R(iUqh~moWzx~ zU<0iO3wPJg+#GLeECedEj)FRD4}IaS2fYZiAA6Pk(8K#X=Xhtt8Sj`Y)X;x-YLS&5 zTzI#6*OG=S#UOpbEovtiOAIq$=oOI|h!|z10U)8pTVnVFV-(Bj@>yTP}U1?hUqcghE>z zCJKGkqE2o zn&a%L>qY(w?VhhSp51f)$>1>x%RPz)ZciTkS*GQb{v~wRDa}9Pg z*&ENBU^^Ht?0LhAqK*&CVjT>eT5WhUDqMlk{(Z>+x8nBD>$6F3ehau4o3*o;^u8n9 zbBZ#aL!;5g%X$(%eylm_(4rT1!PR=EIrDh`LB;i_xj(MGAN&ijA|v=KYX`50SCsCY z2*O3ZhiTy=+E?be74lDKtqg{ppQXgkPyOsvbSA^k3=<2%Y(7cZ0jjZ-_2*&KThLh_ z-kYe1Fs>^0D(B0Pgg0uL)W>R8T)g{ab)y8^Rpq9l^+~Dv!PJpkxy>CHWK=~i1Gz6q%aL0SZK3a4%0SAEMUB#3BNev}sqoi?eVkdgSmu8TQf(e; z+VxMuH8=H09N(b5S>wI*Bjyb7v3=$AznOOO29E95E zGxDwg+$4I_3R*3Ki5jEa=@)$5h8qv%SgFKb+URo{@gF9T8$|}VWPUsjJw}$kThJ~k zV%O>$o>~!f*;FPEOaw@>4^F>xDc)*B?mc|yDIdz^`#{(dN-Be;hp%aN~>{z>550(z~+m z{UpEXTF}rRvo(1>i3(B>P|;tbUPrzEApb&?-k~pUgipWx!61x?K1iJI&1R!9P0^SDcnk&5=Ke1-f24!x-f^X=bdjeIapiRTt|r>=CkX!vB;`Qmky zEf>;*Q*SCi7UCa8ZTf*^kBrcbU`IEIWxCdM;O~A7f6rwGmvtL)9{p%-*}9vdt^@w= zp?U+2`>em^q@DSz-TP1N>-5%KZd#x6jQ>Zr^01g`+ZL-VH0Ihs{py7r12Wj&I zoD`A%VQFCBD3xE}*9p-`z7})QIVdf|)pcfiyl83+j5U7bbt6gtl>hhyYaD@uMcIzj zCQqNT?D^!|D|2w5vJSfgOwI!!9rM54O!j^EyjX>)W) z(!g2!SBaK>U6){lppt>3qeHW$vA5KYIdj7omj*(ohw>W6Jt*Ic*Rhr8%P7fsA-1MW z!}^ZRX*i>aidt1m`Bd$`LOe_l3mbf+0UvrWbL-hunh`qn)+w8f4Ypxb*p8Tp2#@!U zYoNV9cgVAM@QegFjl6X#ZjQM>AzbQZ@7nKDH-l0g;QcK|!Ff`8Z+H5#NmbbVz{>p^ zElG2EVOk|Uba81CF+D)r6v%bK_`w^-M93ZAFLw6=rkt0TsDabzQRS@$uJw<+wB92e zf*Gx^JdKH}ez{!q2lZCiI=>dl5zob=gM8laIb)SR&Z4Z zFIyV8k)kYc7oMwLN3C)KgVwvq$KhMrEq#bdlg;osuw~EpHV(*-Z|toxJW?Q{J3{sg zy{ApwcB20V5wRkZ3f#F|;$io&Nb&Qhpp8Ggc31>RiQPw=K*w;@POzx7H3TNe`vApq z*qU)8r49iF8IJy zoWt$&1&C8#oR_&@RCf9#n3+PxOMsNVJ9T6*E|O}dL;iaKe!|c!CGv+@#oiM?PnWxy zS~v?;;%ztk)L)YKx@^0T-}IjqiJq)8KJ@l{^UKODDXBsC?+_U>|Ue$&srbbL!& zEGs$p@4P-oV8UJSJ6;o+j=ALa(X|us-?vzf@Q}h)Y3N^6C~nkufSq{ z&i=bwaa|XE2%w8Iz6A(~q?H;|Lo3Xl1n9g;39E-wRBH60!g|=Ur3o#>p){ZDK2h0A zwC2fo7C3Upwz%58w~o>!9|66ojX&Xi!PwQ9c;&M*pu3%gER|PzG-T?!K~^m zzu;Si7m*^DP8zt$8At)jGc{~m za&x*8JD4DAm4wHaSy!VzrUl#!6)rXmu6>v^f|^ImU~|_AG6#gec53Cft&`BvG^`gz znh}5)eit)1K|;;x-3}(a?DeD~F`0GnfqdsVa4o zUq>qp_@vZk?&BN!0=v~NK!3vLW(9XWVdiY#np?BY9PCYS7Su;M@0@d5S780R2kE3<&Ke%?c4AEtfv_65M*NKOU(gMq~_|~jbn|q_j0%e7F`vd+?qkcD5LhG z`S$xmS8Y@BBZfNoXVI)OfGGUB%?+nUXlnJ0P=DwYHmjpu^rc$dNRz$~59pL}&Oy4? z`4ob3Iqp3=Kzf~4W!#ftu6{Nkf8@|e^DR`=Y=#!-=YL#24*1ku*O2D>8``dE%-UA|J!&Sq7E`L{)y8yJocH*?)nZE9t zr+E6!HdV>*M3%?*dP)*~v*3%FQYonmTP^;G4V{RT_IznK|6?3o^_|4tS~m{dY%D%? zDq*B0p2#=rzV*RfG%Zf&%oC({lq*jy5(fMju&FQA!q?ojsSl6L!sNsg9$l?#uJeK9 zt%l%=-8>0zRz2vsryk+?2{&6Xqxu=`L0=}l@qFiQYuFoR!e~2|_xlqPy%m!jOM~$0 zTpD7XIqyQu_wQG9B%`?`uo*_0Jt|6%AY?bwFX?IG_t4rmy;}Q}JG%*74Ca`I=CuxJ(Z0` zNmOB6Lr-zGdjJmR4gyCIY;~Q51YBp4HeJSlBwaLRR;K>L>5Qgr!n;UH!IxJ4l877H zz03GIuv9@7kW8pE5hbM-ne)#FDXMFD66Ats*7QzxbaR)ud4Ewp+Ro%o)HaL;k6p5h zC_(*{IkR`KS5?mQOcG5z)qD?g92J$vDRdpt!jhIT|L1QfJg*M;i{6%y{ifo7{-ULh z);VjF1V1^~5X^iV+hV^pkLF2RT#$)7fwEfiyF+yWKQ6s<-6uEe~dcJ)QDtaA?5aRikjnDdTM($6F; z$sjqS?3vQ$#Vw?&jOWq1BgHKC$|*QfC|{-UYCr-MIK>9TB6JOflLo|~h40LW8>310 zhWy(oHZg(h34ArTjt<4_6r?yyqDE;O@pDkVQZayBUYjl1RYr;5!0}C+t?PN$)xzIx z4Tj$f7S2FeFokWL9b@lGtgJe{DOUc7yh~CUMG)@&=yq?^0JQux#C+v-d&^SJ9Kh9-_&r)zwz#;g&4?tw7l!U70%C(KS)9+P4pPtE@@yVl zK3sUT;hUVt5n8y%=Sw$(PyZPtnF3x)Z+0o#3W%u@q>FFujM`W#8u(I|D znhCx%DBLZSGcg?dRnc%Q2$0A?i7CH45}6;yQ9i%8aL+HcSJ{JWY5lqKS}~DVQZkF} z_uCdt)lK?M7ETi%@osKh?UCX>TmVEJP9m71zR* z6-2w)=jpwY(3@$5TxZqZDto^Au6`K5P0)NSWuxp-BtndU^$+_CYe$~iDoR||1i$*E zygN)@GOY@qm=eA>91P=YreBEiiAaLKq<__l+Z)swd9>{BAt6Y@;@9?K0U4DG=Le#N z-(0$Lmu(J-jP|8~*M7H1m>~pXN0q;LBqQ^`$%jEwVGU@6&*=$WqWzM*#0=us))9wj zniE@yN&*nelOW#jG5+)pF>UCB)@akJR67MKlFN-)-4PJSUks8{qR+%}Pm8Rm67r_PahTxxI#!lZN<&r-8)$no9H=u z1yNAO5KwdaP&Lb>w8f;XJQ{b|B?08RR&%Lz)}CqDt4BBfu8Nyy2C|1X zUCdI9ZrFRLqNnPISO|2EX@I00kS%hc!`5fJ)H+2v`(bnnseYK=3$a_kF{jT@74ei2 z$-O(D1dt>Evmm9T#Lu(=X^nU9n+LdsKMap!5Z@lL#%9Kj{7QllDmNdw^saVn5EtDO zd^2$+D>IWgAKQ>nSbVyveI_{a&c*Q(kVM$;Q@`o2+AG!N5OLP$;y{*>bH4j`Ua3xg z6-Io?vQZuJ3A&E`k!s}CRJ_m)!tudlalYX1_4-5Ff6~S^-hj@l3&z}f zdBXNvp6om`APy9?ecOYTBi}4N#UeA91~XJHG*54Z}$XV619}r z+xzWqzioK?KIw>9d~&!jvRas0vl2a4OVxBQ@wIKzJVrz`oCC>!-zXc1K3xNwH8_!r z4d(I`-*uj`ZL#)iy!50UW#pHCBPyq?Z-1{ZcVop$um9_IU4!k)C{G=l``WJmlSrt? zesWv1@~x#-N&x%XHwDXjURCHf^6f1bq2F5TD?4McSbPCki)q)15Wz7G#{LtkVf~1U zhhI;v&%}VGLM*gHGWl*}YJG)rT+nst?_>GTk%R_KXSL7SIC&3I*Kb&Vz+BLRI zq8~#_+dHXnrBA_gD zSzDo5b}7qpR=lDbMyK0^y`7^C{dVXSub0lsk*&AuS%!c3^$||oGnb&?={P%10{@9Q zmxWp4?ZB(N=6WW+)*WGZOkb3Q|wKa!a z3I5fPFBTVk1xlFv+IY-QbSDH`x0x*-&y})d1gfKRtr#m-A1*s)%3FZg+Bhr}>P`;V z4A_hMICEm3o|3`dg+j7~w7Rv-*_UrPXfgsm<=O-Ml^fz}Aeh}He10NfE8o$xhiE22 zek!BNucM~w{0UZ12*dMC`#eNAJoKFkbnf(7WDQmJaQ`k_X6m zZj)tftoy8gv&bn)I+GE){o6z5=EbDzL82Hr7u(hn{asZ@W$pcYqujRWyX+iS&30WV z0B$!CQ=EYa7jS7CV|p?&5q_K`fYa_ z6jZR^ba_$a7(Xp^^E{bTuEQUZuCK#n>e$U|RGP5k?K}CF%x!dNU@&2DM`vuOot;bG zLB!`D1%o_~lj!onuG(Waxe-cOh^Xp>Z0m6Re4RZzF_FE^ufHT{{%?G z_12azq*b+qN&>@jbxkRGlNz|bw1yFus^fyq0m)ZI)w0{XGWjYrmaF{4W}z7e4la?r z)Z>YOf85A&90>I-8oxIFWlPEyi;C(VYzjr}40NbqDKsLUFy|2OFF-Xxo={*B+Quch zN8He3h-^y;UOJjvzVJ)p+E8XtpEU9w63sv2#5*>){d6j9ie8kk{iUZzY3Nd(O;uCN zIycCGd@8v-lEyM>D9tl)($g@%;CbAXds>X}4r>^x@yVG$S?DN!VMg(tNIf8l(RAuW zdN_3`bQsoS2wGqF(T}9=gS9;uB(0QWB}+dtpoE;|kcXiB5&}{5VO6#da-)O0c<4XbNK)bi-$ z(snrb`FU`A6zWo();eRnXyW+VVARj;fq1*0OARB=6fv zs%w41oVfrYd_pVrR&0l$sRSmPC=uhMVA2+>{r09)YWITG$|J6Ubm*DR@JS5XuVHVM z1FCN;?5u8sm&W46t;l6u=+Xry@4Qa{;2p>_kShbD7CWzF47wVP3~Q8@HUZ35f>8D8 zFv#|pU&qf;`tLgJ_g48&Q)H9mjSV6$RU`#m6F2A0fl!uC5Y{5|yP31Hh3g>+tXH@3 zxb`0ZFtKTn>+&BD&85eB%n`o%Liut=ONoRlpHI>c=NrTgfmD+E6yEh`xD@&k=ob-h zD{5BA1JTB#(J8x=bt&SHXQk1O_!*W~!2VTiyE?Tow>C9e^I#PpB)DFqZ=lB4$O3L7 z=dXLUmE?03?UEGgHWA0F?S>U2#6GABo zSz8!s<2sbNaQ!%SMZKg*Bf=}3({lv2Ua7vaEJR&uXUjc;=1VMvL>jPAOC(MYMSP4g z)uC5{knVL+2=s+U$Rq_5U{VTcvD6GYoqxeIlZ2_fP#b*rD#G9AO;}?qxE5;@27}u$ zX_>TcktofwZniKnHkj1?!sxC!<`5VY*DDRZtfyF%&P)YI?@g4T$MXVykvjaV*#|<= zkDE5P3GUiq8?86=f%he};R(-$(puFbOv%ycUGv_SW`MXB*m5zQZpD_7^PYi zCiDxl+;{k7G7p=@Ew`D^?bPZFlw1Z{P}th~p(l3r8| z4;?ieqKe1xo$$FDj9vL!-2yLSIfTqp+tEm&J>9&FfqK}OQtoKw+C-QBs4P4o9w<$k zX9YrsQ&iEHY2cH?>-XguKdXw%}buWwLea3`Q9z+Hw?{#3QihX0UMB1=r zu>dhU>5ewGL35P$yL*mgUNe(NyO56}q#`lXlQ4p=A(!_+77?a=a%}jyBkbLqlRbmA zUsR<|zxo=3c8`_5Js)YCoa&}C57hZF7e`?h@cvgN$Ps*3Xl!d&j7`HPBe2IcSTF;g zhmmGx)4HqhNnLjE*FiO7e_KZE3L9v7Co&aXC-X^%2JD^yLfCKg())q~Qh8RY%G z2!K%a1ZV5YN-LrUd)YVhn_Nf6^GSqR{9h2u@6U?4KNj&w)FNGI6yEQZ!O7~U?BRum zPGgiA9RNuD*=?=4;W`pn zDz3rC=*(*AtB2-gSq{E{*SJe4RiqpR{t`3J>+w+S!Oz|2rELKcPCKU)1GXXbuCoFX z_-_oPvo^!O1?+Dg5v|qg=N;EIpudl-=7zvayHIw)5Q_+HGqVD;>{n#;z|>T{KO>#{ z&X7JjY!AV|);r_;8EJZLqKvCw+}03#;zm@Cs75!_CUgDFPEX;3I- z7|P#ux)PCh_s6GC>^^*8rB)%j-_!NksNq*c4f8)NsidxFV%VUMw)0lU5wTzxOrdIF z8Eja5Rpwgi_1d$x2NJ_TXePNA4rb zM6*4tmYqhvx$tzqSDV~if>uOH0S6yT8Vk(L*lzVDT`;Z(D@9fbq0E*w#Qyc4aw-br zh4On1_XhKxYNRAq(K_sTS#iT}2e}e{3wRA|b0GOii*SJ5V6!e+5PCVv3HXMfFuA<) zLVu}?yS*|iZs?fJwlCX)h^RQ1g%n`zlizWqU0G;d8zeU^Ab$6yQLk)(1>v=x3}9k} zFkq!*gLv-r1xUZlB&(9Zt1gE~FiN(OHrh?Oz1dS;)KIK?^0lGAXjHYvrUk;9s=h^R zbk4wgNRMtTbTvxMP+@51>rN?-Vo&t7sE%^zRkpI)J1zkGVWGO+&QgGVj0=+tJU@ei zfFj1-V$q&^S5D0W@^Wm)?oxNkd%jUk)X*z9QWqnkozL-#_;}prAHF-sxjroDU$(rOw(qUZPzfm(g|cJS>`pU*ww5f-23XF1@xz6K$Aeyz{S zI>9SV59;JU+}YJw4Mc*l$;p$@*_=$>^(lB#1*KLJH37i<&bAo{<(0;IgkZlem=OBz z<))A%`v;@5zLM<}`gUtHUl&j$A^3!Cd`Rbh z3OSO3UUY`u6w6;sO}J>|{#H2$bO#H9qm(BACFqU%j2|9)T7>>`cYo^mZRSYretYT2 zgFva{U5^jK)V2{X^|e_czy49lCqs|xenW*@jtP6em61|F8>L>nP`mjuOTmN!QWlgOo?)J^(y7V>gQhtrDad8td@h@!`y~3$2qY0ZpincDOP)e#~ zcl)Y*FXlFqL89%QPuonryHpboQUz9r zP4k_^pI}{}s(IhtiMN)VRhQ{7S;ha*9dewoI;9pg4aSb}#~8g{06w>_w|%05uea2q znBU8GS<1dDm+lou5CxGt9Gh9`0NDDutoe9^_T8dF2gOI}1+A~UGVG$%!7a?Fx%b(v z!y;*l+^Y4I(e(u5r?xykdvGE!k-5DhpYVA`EyT|UsGrR)o9vgrh`7N$-WlZi#CR_F zx}lTXuvADsz(x8&5w~NCg6^Gjy#drgy9d@@CC!1)~9jv7pzfpsjVmI^hu1F)g&GKTn0E}NgekhQ3=!8Yv5dg zNoJY)oOaU0v{yLv)TUs2!(|QJ)xMwjOsn+Ebp2!W$xZ2wp~4>i8tsL%3Emj+Pe0c+5a?E(d$yi)RJ-I&rK4QHe@Sl=2=4WKeKE%?{AV4E+V#65 z261kTjX}}d6$^OKH`n}1XV10H70fo=9_o}*uEg&RlUM1cqhVm|=mI*iX^EGT(B7Zg zZ=|Fh@?)79=@Z(LidG(jww_HIm~=Q~ZG_HORS7O~%}$uN)tq}mSPQgnUE-w0NL)q- zO1iQr8N)0&< z>lWNBhaAIHx7wmW9p?qQyE9j{ZcK(t3j_8R4b8)@(VxW`3(jJ5P5C{gqilFkrpW}4 zC*Jq!ZPTbS6(eMIv@Hu{7FTD&9oDgL3MmV5@+`7WR`9fi zGd)eY;xYFqnxU%AJ>#?5jrz7!tc1jnYpy zIJ;?Q+iW)IiC1Tz(g0ih8SYSQNdFBeMTI?+&X_W*Ib-Kx_j0f9)%5n|fT zTzP4e*8uE{@{4)s(gP}(+;;WA#K;%atujXsW6Z(lpSVWeWcEZG>G_o)AX_%%t#z2^ zLf|FOI*d{Kf+95IygMz@Nzb*pw~!)z7eiLz(i)a>Z#(jp;!!f@a*|%@RC+_PJoCHo z8LAy@uAa$l!-+j9jfII{Gg{=0$W6qP+$~Rw)`)b8l&A7n%6X`vXBgg0et5%<4;8fk>OENZ|mo?rUX0c>aAXYEIK1IqZL6kwu;S&+v zcDXg{u!V@YQ3bv3sHyiGmv-%&tf6{bd3zRA(I;8So(vrHLN4~&`xXe+ zn5TKYm=0^EDk@9X&}bq-uQyuWpqT0JRx-kzVG^-7p;HI&klFX*PWiZx^b6Mp!70?o zDIq&cER2L@8I9r>^F^;q_PyMYo|%HK%zx3qi_ zQOeNDP;XybmjZ4qiS<0r-V;X@k}u_6gm(vZX4oy181z&%yLl+8y4Qv((2Kc&{mK2< znDw@n3z2jC!iLC&_Vu~eR}TfmQGK_WM&V4y3BAfT#8={eRSHVU<&wf;QIhhuDPE(U zU?jIcd+saIO?i5kQ|uExB<}(qj;T)Rk?=hBA=DfbT-sMUCx%h>>}*zMHB-+z zH=avUrMPQH)zCDnU0B{j-FpalSZoN~&B>FG{^ZNA)#JJjZYyjzn)GTlb7s$}?PLf% zg4+TM3mtmzc+{*5M~w+x4oS8C9xi6aqdXp-&MsUR-qSrMTf%Qv#_?hz(n?dHG=~af zcQj`o8RLdxf}&%FmUP&FUlI=!q*hHI_!Wi#*l(vE79U~;HLDGu$9Lh4!dK?1;HN*p zQF?cZ6dV>LYO+mId|Ls4?lbCs$stPy`qgba!*V*cvw_+2rybJlTiPtet-ge`fr>Cs zv&p_J+PkfCs%R^!tUKx}F~M{Uj-Ji_l96fTx*9X2nLq>ApvaP&9+udbMn%1_a?)mkwf65j!ZsR<%_R*!K!W(y5iPB*I`7#CZh=L2wa%3IA@7ZmJTq(!*9X2d~>{XQrt{r zPsFh8KLr0(q}H1qr@R;6Hksgce6->SX(UWveXi|zMY%zeI?6(#eAVUqcc=$$c8dX9 zJIMrJN*1=)?4?y%JR$q~ z&2i=?u1oZRWHdai(|PXnE}nM@>Z~n$+e&Wd$mR1+bZFx?#K5a6b!D#v=#s%JdE5&2 z*=UN77f{5SDTz?V?(NwLQYFk;Po|Wf1@Z?X|skqtdl>_J2yX9letkCZ6*B{;~Bhnn&0> zghPQLn{}Sem?cYR3nIdAIeG+^wnV!OOZlk{aPLoM8yg3A(s(;vF%#=co0$Y{tV==b zQr0~ttsTF}TUlmm)uuU ze16di=Fa?4{g?xQ$0`4?J-x84EKN)d#3D!(u>@d^I&54sk-O_m> z9ih*RMZ`D{M-Bd)NF&47WA@ru%ATzw}=}rhU&fj!S)sy6az%=mD zao;q8Nnx~2veN$vLUpa|8gBOgq3ylHnoib+Vb9~MKF0!QkA(#(>q?O>UAn7BF?6ZY zRZ2vf5L&2~MOLLqCjo*e0g>LN#!3kUFril!k`OuxEfC_uBlJ za?d^Y%-ns>wzrVY(~9jYgMqK`GsfbwM#>fLRL#|%N(yi{5aOava%rZpMl_q!)88uK zl-q;s_3IZ6UHbcLE}i`7;?=OJt^jvk<1H5E3|^R5qZ8kyE=$A7WitZ$`OLyYj4F>x zr|}y7Hm!}M-^dV$bIAb|S>aMr1!H7DSbXP1qPn52uy3P;X5Jn_CR2tIro+^|Uv( ze2ODeCwug?igOWUslxP`oSb#d0LQ=ayY%oq|WwY#2^>*_GHx zK@1GaLk-2K+fTDl|mayXX*@j3DRh?-=JKuhqlMr?Ya z`!yXcpSv!P$$!PQw}(-6b@Nr^#<#rCr*yU)*S{+K@UqA8u|4XGr1jF&)HQDX|Lj}; z|A{OAi|1{`e*rXXmvz%~;*mQ)_U-HN2)mQ8oeULxE$TUp-FCuf*I6y>uyy(`#NXBL z*O@AkC9{1tTz}jPQwiW{8REa@TwZ5oWy$|Xz}wq9{xPV1f8=7=!)Bp>Y{fNTFeRcM z%5@AlBg9CB?Jqv{BeY>(UJ?F-C(4#ApLn77#OfC#HF;?K(a*3GY3SU3YE*LJxdB371C z4@^eeSVml%8)<2Q)S;p&66tK3Xrao+D;svp2lAP zyUxDV979vpB6;>g{3xImJ~vm}9{genPv`;@6tSVK*lwM`Lg`WbTd z&-a79q-Q=z#GGvDCV!^#lm^Y`_LbdgsVFWNS8`y!Y>=?)OkO;e5||H|a(082jK6qj$Q(fefr{{lr8;XK7ytf)2qs#7E>na!As4`!&5=Ixa5k znJ?852+p>Z8j_!h57cigde?h1Uona6h4E2SuQjXYtZoO7Qu0D_l&3#Ofk*wY0fvr; z$zgydDG5nR?0@GzZ9SN`?|u&~qc$&(jf1rtE|j6Ad+yc1mayQ_qJ8K=&x_Jhxx(7o zGm*K9S*5S!!swT-Mkt>T=asqesPm_?*sNW?aXh2fX3Tyfk2F`v*5fB*2( zRRODniav3MEA2vu^t2nF#o}#aG>=j?=o>htQlA%>vmM#YBt5jPiqF1^{xx;tkBv~y z9|*J6OcV9ae8pbaHItUqq*D3I^lr`5Xmn(x#hkA5!47jP%YhPl*dp5jF4lzeO>4&J zL3YpLb~n=X2v#MlSc+@EVe9MSN5-n&7x4kD&pVu@ws&!_2fp5C*fDLkdecs46zuru zGN(4eNP93hNPFRXkH6L{grbLvH&`dXC4S1RlVQxD(+>&s#ZzvdQP7HRJ;0SfePGZn z!lg%Obc&b?oiRorNJ()=>g9#Xm)n6!x+|4}zD%zlFu-4j83hS3WFogxJ&%{-TiZ7o3 zBEp->*L^Jki2xK1 znL3U){Q+nX!PDca4cCI>4?A+J-2Te(8U15f-VFoC$biG5((xdO>*h#bt)PKsLIg%l zxQjc^KI??9Mi_E!Ld}0Vuaz|dR0X$mrB>d>D9^uW7-ZzE%FpPz7bjC5Q`CZ~(I7CU zH})6OW6DZtINUqd)jGarL{n8xKqsp1&LyXyuSLA+4Xw2lE#$q=-N#(yf~dK4&O1_8*rWefh1q{S>)-@{|LiJ2SF zZ(r{$&&8}fo2pykY`+sw?$;S_6#P>p==!tD?GaCI;nx0fBdxUY-5U12rD^t z_3{3-w3L%AjF0Jxj$IS)t5%-D$t>drC*r3^MyPIy72s3(83dzUoseY>u_F!zny@56QF>A^4D>MwGSP|#YK zw&-;3WX2|~Ojp&*pF`ctTmJ&JDb?TA?Qoc23Kx0Cpf=uoSnW*D#`Hf?_g3b3Rc`5K z)gkRMtR)=_nWgd6dw0%Q%vofQ!M{~AZUP0(pB4N6Z*pK<6 z{Lpyv_RYQa&U}-6TGad0v#sbAEz8oI?g+1iIbNkqRqv^BUd`8M4KyqAv}}VZtRe+& zMOm(;)R$_o&(HrsQ}^@>^{P~5sT<284Wr*tgiuN~XBFU)?N8K4$!8HCV5ZHbkro)i z9NoninaEqg7@MAY$^4gIYiCV4B@9Yr4BA74+^imv6LQ9-GF?%|=~P8C$|pa4-NlOX zSYAcpMm}_&^@3Lq?$Al2nA?eMNEyNa{~OtpH7e&q;Jg=B?#G*-FtRYkT#kCJhjg?s zt1r?>L086S&6og-sx+=6e(5%xgWD>FZSMgAY5NbEi#Bba;=!+e|&8 zOA=`|NyySkS&tctNtAX!rJ%KR;4r5Ww)jkQ@nwYntmM>xz+7_+xO-JQij)h5n~9E9 zYdWO?lFRMV!pA<(m2Mgy-@l6{ctp5Icb7ESe;pQ%h>$8r^wic%2Op2)gxXc>_~f>9G4@R zG9C7UHKX$4&F|s7*HbPx9@D?#h~%*yPQLB3SrEBY5tUc)<1XOHC1hxEG(UKht4-S3 zM26>F-A2I0yLO``waWsXNq(~0TI=?u!f}`=c=~kdSJcMIggVNVU0G9h|dk~+|j!Q=!sd*;p zm!o!8p9eiE((Sz&cvCp^D-7m%X|wrJJ$?rTik>uhW`H zh-%^gHaMIkF*{+~XI+xOw#_}piC0Qd^^%G%rs-9;2sm*fw?cuX3(&mKM z+ASX(tCrs{s{b2rjOg@4d45DPJCj7llK+v9T5dNW_qmZ$M8fr@gCk}fSI?+d#F<2( zpVN9$Qw)ZDjPy10&bG{2CtFMgVBc|Y{A!4~9L*E^QRFD$+wsQ}54ZOc?!Us00v7on z``!&(E#JljC<1r4fJWzrLlN!sA`7V>SVg>Y%FU&@a)lX!l~u|7au1f}{FEL?G|y{^ z5TYeo9!6pxsh5k?@dSXEla4e}k_A(g+-CGeX)DSOw}&SEsbnDd&&-lHznktC1E!m6R~*kAGBJ(M`aui()+{on-WAYh z0omK##gwXu8>2?EBSrbNjS@yhIHzR7kf!=Ujqh`S{&c0;0=4{MRlYD#NGDWYTxsZS zb>>;8P%l6Doium4nTLsEUPTIEBs=~?du{H-{B@I~e>Fh|?<*6i+ zk*<+-IvmHmjnO$1E)aN+Sg*oqyH*!OH)b%V`ny4tpw+zYOlXmUvhO|fKPHNlC?B4^ zAD4|^6cDqK8_IiFJcSNtOe)enQV*9nhv82S*jL3gx3 zbY})lJoN;~y8w5uUkx)SzAYajKS%3srd+0fZ#?BV4K9;n?z1(AR%6ya;{8LEix>-hEzWk3{fZgU|=*h!; zWUS1O_U!)xA*b7x=Vuo$aEF~|&w)+7Q#uU7yb~Yq`~p&0;ia`iNoW@xUxv+iw!sHA zU!)&SqeyRa{NQ)5OBns>Q%LZ;$+<$67kfl2F`wN6q*a*7i7ioUd+3F@r$9NeUG4|J zcplXT?eUt{9s$+ccT2?HZUW$LOss%58JCDpYS`(MEpT4Sc=HAd)nOnWLD2QwI}zGs zEh`dQV`>0yO=LE5hQ4C+ae>&Xsw(;a#o~FBlOwv7$^Z;l_`a-}nguG>XEUNh7iO{c zKcQIo!v32f2ugMSDPIG5+ne8T&$`6>>;VNH7zmMj#k^gwZ)tXZ^j=hX_<9^fh2c0I z2F1v^$*mK82O6;WOBGP1$an;;4q1 zqEICMZ_9hmeb^e>hHsh=+Q!h#Y!8O$klYY;rhoPAhTSsbRbAcQ-!FwDq4PSX8;%*jm!>0>@Ns z(hoe{56*kx2t?F(9`$VQ#d0{lTkkV510)WBcj@Rk59OUd{sZ4j*_X7mwpMV(RLotQ zozbDMxMIe9w8t&9H)rvfWM4_j%a*0vTHX0>u~P}vmO5?Zz4)R)Yk{x z4cU^?878!M8$Gh2z8mxSSt^E^Kkx|mVLih`MMY&zUY(iPT>!b4M(5%auKF38?e6&BHb&rB!C6vjQ?cB!l^cB> zo#3tLhj4AVkQ8}10Z;6mgcIIGVly^G3$+Q)(I)Xp9CMR-hUauleXcnB9|C+rrlIY* zW7})GcCAl6yEd2cvTtN7DT4+Pt*jKPx$GFUvC;n?IfrMWKmuot#iUW~<8ezAwYBvF z$glN27NrGePb%z3bPDJ-g;AsQ^!#FO4!o%zTn5j3E)cuRyiXV*7UpzuceV9-O{;v) zI)_lWs+MPxO1z!5`VX2oEpU%|%?lluyX~SKn`fCU9a5r!q{6BumN{o+iUj2ft>e4Y zNB_>y@Pu0(ZacF<>Cdz7ig|in0Xb=EEVteZo=T@M4aVvZon}lK=R2P^yheCI7u-+p z#%aoBM^DWEOWiFy+C!+G~TT4=D1AA}22&q`W>7kS=a( zH$BZ~QC=&WpVH4xR6;%(#_RPTH;&i+h8LKl<{JVj=oTYkgGWk3u7`l zZOOcH*dm5#>i|d(fdjb|H!B;;^mx;b6kwjq8R#T#YT1O)jbva%`X}IzPI%dBWr`Uc zkvk)|;pKf*sjzLopEL~7bG5{aa=D5YC+&oMOl{2-0q+^#En$W~^P03H;2&c21P7k= zbr`lj)|*y;2qVU15&hYki3Zk~v1U`gpCWvGmJfAAiYIlVoPb=B157n0pO}s(@c5J z9jYj+pa+JJE0xR5XdFH9%-Q{1R?ej8NZ9|B;$ne0wg{Mxrq>_u8mqsCFM1|{z)`u0 zdk3~N-4x+O*@gk!T~w)xj@)?>-P5Up%D(*_CQ}ZF8Cy9mY|#;KL4pxqLcFf3&+WF_ zg;eY1#Zs@0UlN)rSE{Hwkb2UP33u?YC=xVxv`1;Vh8muodInE>T$Wl8|WUV?bnM3lfzE6iVf*B*GrqQED#4XG zy&t5Ejek>ice(Yw_!WZnB1&z&w}csl;y)DOlCB=h<- z!%%}=tYRIcqgeIiz9h{OmB^gdC$p)^6a1peQ!A-5LeAj4K9CZ~vC#evrz!d>u#=ZV zy+T+4W{I{8%vvP;P-G~7YqAb9il%)u#-Ps#rE%0CT-tcjj|cLtHKpD&GNrrPCocc@ ztO>ItVp#EWVCC7nvcET@9aU+qRaX0r)Xz1?mRl6P(b6HzAU+pf)e3}z0A!FwK-bX} z$pNC0(PvD#&lmlkM&ohum_26$^6aupZ}?&GfIM4(tpB3!gIxS$+Crs9is97bI6O$m z;Y}zb*!0==&+0k5Uh|sj;2jP;G9a(y4l_z9KK@2Kyu#V_oN!Ka?<;MsH?qD#rm-NA z0Z8P{b?hl*BYEYQ5LIaA90RlO;VlOzArk9>y7$+DalAq zN~}e5VceSNS0a(~RX~r=x@*>>1SdSDbV}PKaZT{lG+?HAMv7(>PW*fOiU~9sm#_H^ zT!yfoPBN_J_#(LRUb?l^VquDkPVeOg-pJaC@Hr0{@vITd)ZMQ|Y1-d=oX8O$;C!oo z#XOoKK4O`kk*(Ldwm}{YS{*o!&~>)8<5N@?sGn@L_W9h@DWBIC+@p>*u$EJ5cbCv} z2<M_Atst<40wZA3q zL}^V{JUa^2RiB~n#bYNaEb6V^R``fcHxYCWDCZ3Gd?Y6K8!U<^NvA+9SfnM>#`o9h z5{=UO5{Z^W5v`_nDk5@i0!d#KYGy9cFG@ z4b+w60s6N>{Dlo91>3u+->|BiL6!*OT!g;XsURw(}|LI9t zxUZJi!s}W`6TiHgj$&HE@Rb-zgS@tGqc3$|R_FzIotj7<)T_rLZl!_xqr+HiRi>eP zQ!;O;H<8s;A~9|(f{(N)eM7~W!<$QC!a#kZu1fZhn4wnMb zvTUU#Pd^2Ao%qLVdBB)*x;v#|oBdzHUV5W*8OZg^Xlh;?-h{H^Y!B{B6Y@&){y^PZ zwitV9-jpxo&#laG0cyR7tv;J^1PTQ|JI2Ks%n15upnaBsw4i}xbH1Iwu#S1Y0i)WS zKGhnIAeA2}5rzq;JwIX~ndwP6&ivl$Xi@4OjJCTGAE;4vuHCHwj|yFEm?i~ra$|}= z##Lygx2PM`*1CcC#x9D{a`)M@w#!P!L`ww0%Gw?t~XbjUqe;<5yB@KFVYQdTa4bPjP3p54!e z-g$5kQ&#Cjj-H^Go@^ff=b@y6h7e*2XSKC^-ykNcr^9)h*Y2&N`=za98Snz9?$=v# zT82z1u3lcpDx5Nap!(5cAj98`!&yJ(Gz>{4%5r+T%Nj(}B+#YnKIL80oo z*=pLcoHX-v)9}dV9FGe{;y$10thsDS<&}7Q#D@%Z#V;%`r_C3l%Jo|AcV&H7`qgA| zWscyMgF;woNhNm|*lCl#*ngJl(h`XE3@f)-i8H5{Zoya3R7yBRwh>S{x2Wlke}Rcs z^7j@Nz{xBk%;8JHE%dq8&&+v0bBFoWrx6;r{v#YQu2O-Q>7v~*1c~EtsRAR*K@_!m z(c{B18gUIC%`XKC+uCPBH8?kW7^u=BIpYFU>MJ|j80`LV>Qv6hYJNDpQN`8RcGdRs zDa~Tp&&Cb#594TFlL|$HjUFAO1LY;_9wk;y1E)|9Vu*&9wZgOBbky;$bv0y3idM|j zmb%)3SKz4c&VW~_#Krlx^%ko%yG`;;{7~TMblq#AY-p0DOvZlkMZC*qD?IIpnZ zmxwQ}Qy>shK)&*Trgu{}W|A}CiV{vggE8-Sb}mRXNEG{61>z?Q^P}yQ&nr9<)6oi? zG;r@Hb=RH&2dCafcj^y~(4y#Iiv9F(BipIGZu-nKXNyWvHyA9n=i|gG#dWZS)_CY> z9xy0^wcfFAzZ*s?G6&;_);9e7+EzY<#bukc!a z+r(abaEtNvC9I8iHoA58_8;XpO9NRvR?9m%_?}-6?{VsFdVozi@Z;=Ty42UY zIjf!)y1)#T2D#;SN{7}~UvQVeJqiU^6R2{4@3g9p{Z6ZW`+y<66bn@z;rsD>YP_7f zzej^0KE9_{N9>uOov!9~bYGW%>X#%xcSHLaXFuY!Q-Es$@yj0d5+C0l(Z9oDujv1e z{RbiT{p=6-ACyD&1<#*OK*w!rAV6z$RC($^RTti;1|V7~;|vMMJ#G5>ETD=C$1tc0 z#dp>@v|ri2+h)rKB~Bm^uxGyZ80zWiIfK<^7yn~FG>G-n?W%A!FE|bO1niVxc{h5M zD7e7c*43Q?R9C>T00mWWk0x+0pwE4wdYUt$5YLM2OBRk-pglUg+q2kBiF;NK1b{#l zD#R~)kRd9*qXYx6ci4qh_>z)-(&|+HC95AQknNcP#aHIdja|Mhb*8U*?_Gq#b>iUB zJ&KzL{; zS**>}7aar^=b|6UJ`p4`Le>L8yP2dg!i4>B@aS^HUS986_qVIwOd!TgD=InBNmNqq5Mc_t!5xxP{Mwmkx^v(0_o@5$>ZuG*r2HM6x<3IE&hAz8b&)NsF3 zBhd$STd{V*Rt0MlIm(_FX}_@&Er*lgN}TOhBkH1D3)aJ)H|}a9wq>H8Ji|Ma>|^4c zhDpMg##1HUOR<1KtD7^z*s7j?6)nlvixWF|OrP)qPdv|B3UKzR-*~T8Q%zj5)|mJ1 zj;Cy|MxjMUX)jwpc|Ulf*ZH#Xd?%jeYBRe+Z?uImihjbF4myH8eud>uD#{nttZz zo^}p#`eUYcsfIb=HO`Mm$TDF1V+b8G`E7jTeD;H@>^Ob1)4_c*FfVs&M{D7 z$|kvgI28`pNDXB@Tcgjj+t#r%29cq(rHYxJ?&%<5*62bjoNb_dx|KrjoNC~ocVyC{fg?mjhO@=+*&rZOhTM^H z;SUj2{|F<>Qpq3`xT!c!D=}h0E6~zbGK<+YeBjxR8$_)s86@rpZV=L1aBs$h+P&pi zdB4I+x+*7CEQQOq#kQR2Xc*dOD|6SSAR^_2Hu(f+bzI-_fLkiO zy_TFh*Nx9((de$?E!J;k4LpFMl%$>givZf$Lm)NJCM{iqBsYvcfJlk^_!v&lP#;}; z_y4BCFhA5@GdmpL&uxqt(#mq^&p9sV)-XW-#>t^SFQOysa%EOeQQBa5mBygI7teO+ zw=njijYJd1y&c{gB>KRABtrc^r|_f~#LujYVdT#U)FAJ+f%Kj~^bJpBxK}?stJ-`r z^PK?aDJ`p$B^7AYiBs8%4N_Ir%$tAa3|DBe+Wf0zI71M(W(NA`Baz5*c@P4}F1_%> z3)8%Iu_bj?tx`sLA~ufg0P%p1H}US#k_vV3;W3UQNskXf&X;#lbivHgB+^P~Vgp1!Y{vSE~@ea-X664AQfAZ4rT?OlJ*s6-&nz!^K8ReM{ z2lC4q(cx|X2b%IC&}nE-+AxQT-0f|xduyLLzM9GTF`XiTlZV;Yo4-1*jG_pCHyWvl zRCcz*96+dgwQ|>tkKNFa%GNE^9eA~9(P87zOaC+>;U-UhE-Xh9{vv=#lS2Yc z?0uj5d6Lv^A6c-jZKigEo^1D~1u+>*d8}viq!EZyBOvd^tVEMuQi!Hsn{|9bN~OVr zw%O#ksAeBK6%Vc!8Ra*-7A7n|KNMK0aXhHXROR!8=(>1vdqFEn`2s0xYPEFy8;L_- zFVLPsaMvSZs2Iz1UUjv&@C2ugH>OTg+?Nr9zouR^eDKV#Ft! za=fRNPF{u=XNHwJ?njCKV8s{*O|= z4XMI!+T3e=flpv|OQ}cVq?PA9y?$JF9gSe*)ac`B;XV$`v?FpZN{yd9a$xq1Z_+r) zo@rMmtC!by7tCz;)hVURQO!?8PLxu@=&Ak<03fRIH1!9TKL!aIwT`kS*$OhlEBD z{nU;8zwSWV_|}ycVwBK43!Jz@L#?y;OjRmg{n&Pt!A)#KS=xCO4{jrLG2$~>8a_N# z9qR})bC)7aDNaSAH0qwKl?zsed_zgtlxq+sZJSHw1lsg^z$Gt;^1dXcR{mUJB;a?u z)G7%V#Zz$vf<@^)a4(g*FJFmMWe{0|tHU7IG^&O8wo2XEgMb(4BE!XFzZ~b7!GqLP z*8bN`EuDJE-O`xzFUt@a#O=j2PND*_TvKTjgLe$zI+ zvvX|jx=?hB2M*}KS7RD%B!E(gux))wHK!*K3nrz*sU~aOk5yHUdcv7)o!zp z!0p-pp1U6-xL=OBKijE+JHY}u`(ZGEwx78YDA1O#go`&<5+T?SB-h;k=j;^qKCw&m z2+VwU?d(gmL)*)s4e9#y=*?ze53qkmpQ1?ib*2jLN3gDpB3v_M<}QJ8rpKJv3*m`P7(=Iz460zi`N>H1c}b}%qcjPe_(u&Zev7)+%Q z__jn;lY}Vxz+I3^cT{1~St4@z^DTS&w@@^(@^|MSFx;$Uiwt2=i6I7MK#C}gURrHM zzEwEsae8g_go7{)X?pkZQGG%IJMp&HO~1C`Qw~`*D~Nk{A5XpP@XB>tD^IEYhk}jr z;hoI)Awu{Wg_XiS`8HotF^$w!Miz(h~5ZJLD{z$XSgj^jh9Pv+mThcDsSE)p4a`E^^!woKS>Ecc%suZVp( zi#@LShUd1l%-d_V4;ZyC{c(NU!UR6P8y3qfErkjPP-k|XG@!XT4D}8F7esinJacl7 z0lOn(_Yk(?W!bNwL-eccm9}dQZFevLzye+rVY0hl9tg|@6WJ@G1@000yvy80cS|*# zX*At4ZqsZ@bEg2851yU>2g7V04!eYe%2V+P;!sx%VE#V%caw{n3BhX%%ibIF1{+%o z@PBb}=xin#FU=ZnzGbK*>TR|H8h-R~QGgv35(Yfap%SbGaxWa_oO|Rt`kBj687-qU ze~-jjkvFo(xnTOV;vQANyEkv3;^8%m49E;ms`T%b^Uv;4IT-q0+;U{!#tRTsPl$={ z0S;K4cP|ETrHOz1Hy+upG!?Fp)iMb4g{*k~|Lz9C#@enffRwJaqcs4Z?{A2e`IYT) zYSA*?E5{o`<0HgOAfX>FVQqRpJbXeT-EQ=t$UQ>_z8 z=#uYDA7^pj1Hn2?Ub*FT-ex4@e3I#L@rdAK9%`;V_Lqrh3BC*Vk8= zHn=pqRMA!j(tf$Lh8RrH3}PX-yuHiAjkL z!^XLLc>WJ=wLBHmu9MhY!N28Y|Fjc$l}bM& zAQ`M?GoJ{dkbc2vokKS@&s9`l>+&ZzzderRiT@?M+hHZ+kQ4hK$c3NtT0+{!@pRaZ zHFWc2|1&qXn&(AyckQ4h&%>T87JW;bQWX{OkE`9bEe(`zZ{LNDUod}5={Wqx=-3g} z5%p!wt>A%Wv(|P^TjO+Vc?E$KnG)}^qzY4?s@Z2P^v>_M`wxdj__y3ro+T<#dV%$A zv;VZ*YylHF7o+DqoNB_E+q(46lyJ&JX+6Sxomp>zL3Ht5U>9m$9ZM4-zZubd+t|PL zLWD(~LcKd|W|Kl!W86USs2JTzUzKcxziewW@wBEaJyvh*VK(Kq?p0QI&Z zp1~^pYZ^x`0mq1|{AMXn@t0`ZK~Qr%dTFes6L{jX^bBDBLhm4No4K!k1-5jh^B(Ih zz=Ra-F%jBf2h&h=ZMm>sA1z6Nd$5jiEeT`|%cpr*+Zhx?h@~vI637ucn zF41gYdo8N^dp^pOcqWHiK^Pt~CW%s1bLPD0?xbJ`K7<6aGW23=id zxvJc`-G;VB)t0Fs5`7yLeKRFZxdTm1qd#4i^}R$i>v`Mq0Ux4%kQMdo`PZ@vhZbv- ze)RZt6FxiqYQ11GupL*Q9t^8!PW)Gl@b5QIbl!J+qIJ7eK|!l z_FbFEVExp+VupX-qK!B*L>lK2@@M%?a$0+M6)nsAH2W#2xhZZwjIOLS&`?mn6$RTW zCOe3IOsR0=-gsDl)am!i5ye0sTx8XHBW#Jg6;nFlny;}xq)lEgE^}zJhhW!{WamGB zGax`GcstN4`4RDnW)N7eDz|{3fJsiXv z4aY^dd^HyL9Kvb%qQ{bD#ks(G|9j!12Xwg9COWVWw$)$$tMS~S9EbM3E4}j-scvQd zhBv2O@YQm(2<#vR7aZ1t>|=ZmrUk#(bzhsBNM#Psl3n~}6OU^In+%sNPX#yob}x{%0aVPChn z3KKAu_OGK3Kh#+7NQLpk!_`0=CZ*uh*f2Pk@6%PRu^b_Sd@oH=+GNz~7H)WIEcW?S z!N=Z5a1155v~9Q-)Rc~$oVATHpDFrp%6~!@HaGkyeK-X;$(~9A9t`ehw#mVE$+~uH zudEk_BDwjhq%~_7&_VQPuV^-g>PpSu)z@NCF<_`~5pLXstTjJg%AYnl+1bquu66^G zJPI}A(DLXwHy?NVc#}VWZK%X?`{)gihkvh=lRTHeGS1h46)xSww{IV1W+t>*MDw2c z<4KGlD(S4|`XrKM3!@vl*DRhveb}Lgw)-JG+!} z4~DP0&>E}l46^+T&M>`?(j0PC)_1^T$I$YBuJ(iy>-J-s^sLI^qZWF~Hxsa0VEob)r;(5qfhDy9&5aHHMS0tcnUIQ+oe1Oj266H;$~z zj4QqB)hiN(k9o!);PBQf=t57>#374y5|!MGW0mt3zpnPE5Lu0wuCVKo(|q)ZF;SY3 z6A`HvPZJ5)VMaHd>Xu$8VZF1eeZWJXaIN;*qf-5nkD^t2FT`|ht`A4lIgQjh&(<$+ z%v4PG56QlDu;5Vjwv9zaMD{G3@-NFd^@R)_=WuWuxKEAq|GU?$gtmwbuz^DOTU)-~ zj1?G6IeoQ4I;M)yR1My-{|_C{MOM)9Rom7^?`w~zd^j7Ly;hOC`39W)bAyP@>LBJv z&9>;PItOh_ev=-^c35eA)#vRe5{xVJ(BIJHz-t6A>isy&_RTE>PXFPd%}B6gPS4;$ zPWUa1Y3VtxbPpf~vU1!s)6?rX0z7TY-pTKP*pBJpU&xBbXoUJ7+xMg{PoWf-qnI_uv0pWL>YNvKi!+pn+pxO5AFPQ-@ZFJ-k}v$?ms`2nK(5x zOdkCE!$loOr@L<;6^NvKkVoX&N2XQu3MW%gMyP453QY*vm09O-E8{-Z63(r zrZmf~DDfYo-)uua8xGQ5*4$i{?q+XL2XF5({db6tuU~Jb{it$3`)m23bxX9)@amzV z5!L`=67dsqHCQ;`!qwdaOdZC`shjS`#+}&swoEqRZI}C1&PLTFIiH_1e1SEp*4w>e z88ATpM|Zu&)_Nr_GhV+E(BV!gGm%v{-aQO0OE)6A3p~TTUGASk3t~xD6C67q_FdG$ z!f)C_$1w_6U4>TB^_kd38b|bEW1-`A2#V_U819fP5FD*tZA1}HS-W8?@;O)P4Cz*A zNPqXhIndcz&>XTL6odZ?q3}y_ney#+H~jvd3LqH*hl0HB2^a4vn z&b{AFlvgWLh=9uBKfCTf2XiLo%l-TyDG$>o4RrGT{pG$Q+Fg59dpCryVA`$Q_aD1j zs|9T-8BFqP)m>rID^4eG@0S`o^J$mF!f1+stnS-5IQ{_7TC`I)klX?aVzUC2#P%~SALF%|Gyi;5d)mr zva26s1~oKtM?%frSGsMuF$p^@xk-Z9PfKKQ71W*DY z$Lb0idsf);o&jGRP#hy_jyzX&654LxU$*)pV)8K8#Ca0O<^m_&em>Z+seGpAVnA^x^Cc! z{2dqw9G$${v75;TA*;i#6BhAjN0@ZpwOJ~)LUS{upawy8Y2;7FkMA#SR0xzUdM!w6 zITGr8erU{pz`b=3AAK4M#F-;A8zJ>{ zzvIn1wyDdh!T%Zd?xgeje)xs?k->?7FP*%esZ}bkRlD{VuiqWJ*!R2}GiT{mvl_qS z7PGL6VcXc7lb^`)7HOCSTxLz@LdPBV%|Cox101j|s`Z{8k4Z@%hnchVmlzABB|`gG zhSU0v)(De}78W9r0PWtlxjXL}K6W zP%^um8P03z;m5YlGmK50I!qSxC1&;Lc5PPB9dxEQ+6Zh^|EqOVNxnLC!|os#|Hk8T zqujxF8W&b797u*c2ff{^&;>$Ma+rb95GPs{;16#r0aF)H@K z`}Ye=oz(Ou>)CAu@cnFxX5F_)QDdtL_GZTjsnhrdB_BP*Ok5=Is+2V_otZh1zw6|2 z^Nuwlc5-hc7uJq@3Mn$jO>rjsvZF2Bb`H6*(~Po$?~AVfSG@s4$f2P0E1` zQX`7RLHd-3;dL8#x3ZRZHd0C30PD0uD=-?yho58-U!PHMz6NL44K`Jta~56p`H*$dMrwEgq8vxd9DhsS67GNk|>B(9oju&|G2Ml zwT<|mtJ*sSavgq=7abbbhaT&AUFiK@IRJy%L8>^%8c`P6Ov!cu7rK$r>Z#V;U5h8V zu&{`AxCgnM&XeNf-918gPwtkOo_03LcsHh!@1o;%A+#kN8(*A`+I@pQ`|{*T{4jJt zwF`CKI*ekUl?Y@kN+BNl)}MgkZf>+_kkmc8{K;OVI7!_PGY*-#4oU zt2Dljo47y5e2m@s&g^AE9 z(wKD+yvurgxd|Dw)oy{c8*C$Iz$X7>_W&m?r*R#!GK6u+N*FmSYMMYRwCX~JfO5d7 z-2#Hmi&pO%2!OG~&Rr--)ZY9)w43?W!PefaguvVU@B!pEP2XTQ5)-wvpoHY;bh`vX znpq9Ub{}e{v;B(v37JH=9rq?fky1Bl7F5z&zl z9O1_j!yyo3;X&09B&`MpKr3Y9poHdbx94~C?scvb)1&SAdnNRDmJ5`yg`jjBOM^;P zt-AV<8E8Yr%AD5F;fD~iK#4&`CRx)g$f^o4_K?Zf1Hn*?)109gkRw4Cb%@4R+3l1L zBU&4qf!`@N3$zXP>|MQVXa^`v0c1&M7EB;?wk3b;^oKAb%0u9bb%&}Vs*UBKe=lx^ zfG6s^D`Y#l)M#}Lf)6Zm1ByVJu0C{IWJ8G>XqAci;yd8&10dr}C~J&Fpk(N`%@r0$)Of!&^?M9TUG6vAg*PzbZ2Wb5d~ zxD1&i5qYN;x^rtF3YQ!QFQ@`6i=QVKN_G(myKnk83(|WI69R+M1v#VT3iptnI&?^H zRp`apyy5^M?94rTU(e11^7p;xDV8)1B@DO|^cGYhr9o)jdCHb!hwS#9hhwv|_W+EA z5>no7DG-ibSpFZ^0L$p`hrrt!p$F|x8@kcefrbaN%6rwEFazk}I5P%87&b*#PR7*y z?-{XmM7r6KRo8~_B1WR>(8DbD$rA{IP^jcQ2odP-Ih$yb5Gs>ZaD*P$X$8}}LhUJU zU=*rL0A}XE7?M8sZZq;X0HB4K3w@QWy&#u2o?xE)+4xlJfA^Tauh;M65;i zGErhEczG&h4xhT*es=M5wDXuMb*vY=zc08i7cpg}-&A}ECtt%UK`0KbP&r$AP`nVi zNtCcz9k!NRqolbuAw6!Ou{wV3cpZNGF|T!`au6-fzkB7e_0n2l+f1+?ItwN@M@*fA z=Q3X7N@}E9R5^x&Cw+ozsNlsRi^mfg9g6KKjzihecw$`=r5D$0n7(~Ff8{nrYp`#h zIe8wtBm{>Q+J19>E@pxrco0w-s#!9*D&^nrkOIPdfT}s@X zNr*mbU4a~S)l`!cVSQ8Ju68+hTCqoDn|A!G6=2${0c<(Frs;7i;!_NBX|2a`+KxY+ zd?YR++TqTfbC=JKqHtqPL38+HRZgG#EMx-D&tE@k<8!N^IW}m_1D8B%S1$PMR9pK? zp%w%yyFTsMX7w36RylJ~(g06a;zcn-L;sK(aDMJ-BejxpOqqU6t6RiZzAiAamN}I- zG&h~PJ~N77JrN;4;u=ZT8Bx?cOAS%uY73ZA$i~FBWJNb0PzsWnRi9ts-JFr841^*b zu5M5`y_N{m>B~hlA7#cTQpvYU1H8!D3_b zHpahk|JtkGVwTrbGIXdS|GBbei)N6sS-u5|v{4oE;cUZI#ctZIXG=Fsvcan|ab9?q zIAUXjW4agT_ea|%Ek>Ev z$r#pD(|8u^y0Q?X%o@Zpr}FK&2j0rq+iNx>wWOO_!-5ux%a{NMskbY|l~h~bg?Wp_ zj8tZY-&o0FbVc8aajE+dF_r#6sEVSKfI)T#=x$L1KRLI|_DA7mk2<}=KTlJu# z=f|4P+Sb|I`QL~NGL>COJMFi^>ep`{m@ZhQ1)RK`3q2H*|E%PD*%sG4%gHu(lrG9?eHF@z*zS@b= zs_(|(LX++7|6JpAp#75TwXytImO9@`bNCF)cIfkyYQp-tdGw4ul#ZaTRJ!qB9hsQ-j{ zbQ{>3t4c7@ExSq0r?ZzIgD14+9r|=89(=N}Em3QkG_%-v-~pfN7WZ26kZ$kLOpo*9 zt(D)e6HQPa;m(nEqne5%h&pD}THKK0zXOIGl|xx8sdE&*rGJGIuWoESvRF(TOD;82 zr@I7vebD&pZ)xdQ49*)cU$^U&P+p0QwPwV5(d^O}PK0Z1Z?;}ja7Dmxm&^cT30;%r(9^&W*)>Z>=86(@ihk#G^JS({RZa)q;RjxMl`fnXKMY zI)k9XZDL)dlr=|j!P@$kH|&-LS#znpNLCnkp?Tp{+Pd4+ouF!|QnhYIy`QE23Mo>V z_JQG5`()c?NWnq!Jz>os9$<(}*#q{*EnuE{7 zd*0U48uBcP)mr$K*H=zSwaW<9{C>J8E$t+CGc(lpkH-@(mN%9vmMKN)w#i4_Z2|44 z)-I3PPv~HJn}82(@0&aeZ=-_O=7ocyliDvXUtY9wZ+e^(tJeQAHJVv_Oqn_ace>nw zAg?9CX~Q~|{937rKCtfKg*l0#wcgZa5+7z;NAQl6m$_v^o%$~wuc-l!CZt`pFwASr z!hEc5G@E??y*agaBvi|czgWHocgwVZ&w zmC46Wdwpx3B`}qR#77M6=Kj}JGisTgsv;L<#rhuUfO3{?ofnR*tkzuV(O+?8)t5Bs zHA-k^edHMN{B6-Qy;8n0)yG+?ZiSe-nZxiJUK;HjEfs8z9l0P$4W4+U>=oU&yiI{~ z-r{;}9_gJ_@z_{9rR=ns6WLrV_KFszbh4pj2~R4a{{`ZOa?B|YRHX?pX;}AqUyKEc zL7#8r{?mGy<~LS0t5#b;Ih&>A@DaREWL@^rmo_cgj2}@IK3!ia{7mDXHb<_3CT1R- zf;}AVs1d7}Qgb_WoUOIpb3rXi)5x_3+`T^vQ0126E2dmyC9UnEIGM@g>2pX%DXS+6 zEn$UA}zT zVmXpQkFrw}qee>O12uiM6Q}Nx9$O;-uaKuvZ|)(m@fXuWLlV9@dc!?Y12#5vmK2Ql=6_2vf?>Qe@cCL@qk6+&c|F@_6Y_T4mgrKl_*W?h$HKiBX5Q%C+uD;ydg)g0g%v;ua2(6Se zXD6qmy2`NsBufs?iT8$v*pN5Q`PSb=z@<(p>ssxP>O-<|qQ_yh)#UU1BjojduI!6k zU*(()6iRbrJ|`*c;4DF%zDvGwO3zL-TK*VIzx$3M@m&>eD84Yyu3}(t$_F?}xMi0D zhqrj{)_L`Z$kLN)pEOsUgH%aWwcv6oDhp`b^EuzSdA0r!ejVKMmx2);FgjYfmf zj2OBfa8{OX3pj+vrGp38>teMsP>7N0(5BkpFTq~skUxIhlkGlihzUjnGQO7gf1uMyz z*|Zp$sqUJra0E5;v~JOk1(A=4?V`&XQU?E7qvS^u5b|56Ri6s|vQj8`e}paWT%BX+ zvf;X|4u({lEZLGJWZ^7*zL>52F3FC0x1Bt(l4GK!Gl{aq3+#S=UGlL?)s-(aKzx;1 z#|S-y)nDX_xQNUpjzrrx~>0W|N6lVO4WcS!l~<`{DrrJzvj#c7|(K` z@zGhbw|$Vc-}XY*U{v-npb9?f09&G(9!hA_ajJ?Cs&qb*t zKRk>fSQug(nkOTkYI6H8;@V6L(pM88YfbVsau1xa{@Y%{Ixb<#ONV=wX13sL zs_0fvRF77E)I*P+${*)8SK5!YF0S-X>dAO{^F$Luf+%J_3Hr=(|L(X?MDiM!k4gBJ zFvqXc-#Ln$I=WJmB9Lk2{(nxX^@zH>9Ifb z`3^G8IV|;ah;!+bk#E~CQSzByy@bAVbk^HJ64o;Ng+BR%mA7CB-%KNH+F^mY;IV5CBe;oV_w{F!v*y?ly{)AVWrbw*3&QlE@^Q|zL&iMtL-bFI_!R4KsLa( zo_4I2s{XD0-U{~4ia(x8hU1xwJi+qQSf)_*wK2q-(=-`kz7R6^b6S0hD6B7)ZcA+D z6}v0X497yDmPK4sskb|#NDvn{7%kbr;oIjj@Cw8T$M%aVV+NgVvV}OJN;vVKCJMMQ z&s`6i^!)0gOV05xv#_&i65g3U>uD?IMGyazUBU_aP^i#%5d}Os8`Sbm1~L8{+gMh6 zm?&)~{vmQ>TJLPU(=j@ufO{U-AS!dSjnZ<67v37qqEZxQlLvK}S20Vl?uW2p-$2sq~BP6MDW%sMY*xE!0|8anu+=zGqC0AC8?+xVhfwYpGi$#pAVG1i!DUKJR66 z1RrEyG%j$HinV%CymDBOsbqekO@Mq{raTmsYr$xVMI_at1LBr5AH6?CgMi|Gn8ot2{npC_Okju;WWXF&b4#8~=k?<2TVjNx@KEfY0 zbZU-zKdRe$GAupz+udQvf}nOwdUjMhT$pJU!Zfs+uP8s4Lif*SKDIJ-S7xj3K_V-8 z3xA0H4!hpmvTjf}T(a1432Ir@JAKARO-yny; z6p=#&UA`C1b`bhALPIXjWsAu8C zF}uaAeA}D@W|9Z<2U?l`c4bL*vtsNmSFR0b#n|HeK6ph6C2j_e?Q5@!WWzh--u^?z ze(M>CH6#5BEsPy~(m%2OUU|fh6WRUF;?&dm2RpO(ARRE7kuWJOhZ96JK9v6H7wx3? zl(?Zf4K_tNj#{)3U8BCfdDb%5w%A`LQhBtMmNxE7Ic)a0$_~vu>J^yu^2I`ma(%ie z`KU!DHrvlEAa=Z5GSNu82}P&k&}?fq5nSQhc*)L?1Tr_&qmP%En=m&aFV@)ChI+XcBn@+D=#HDK3JZL{Yfx2G76(%tMZtiBj}YWdcfl(>7vKXzj7 zDHmm&-lqfkHpjQ&U)_HlIE$2fLE<~AzE4auC6(qZ;*-4FQ@aKAq*yM+qeiQTwm(}` zY)n3K$S@L7AD;Ln+l=XScKRIN94Qs0$jz82sDzf0O@T@(3DbQ$ePL^3ZNmEQfI}dTlO->K_U%T}DAR3R9wFhf` z?N;9(V_W-on^*q(0@@PRsMX3-egUmF18?wtQ2rl2@|F$xp7!f1hX(ja+=;WcQM!tG zUMpMl)e!Dx|J_CZQkia%JIjsP@(5qO+9F>sbR!s$-)SJ4JJ)s}x=g{v9PyhBo0=3} ziM85zGfespFDj&kZP216to)GmjtJ*3xQ1lv3H!{?u~QdjgQl+a%w_L~ z={I;u)55{2QIvlSw)c5Lux9K<;(A_dDE6m5Uzj)~h5$ED;rv#WoUgEGK~8ln=8z{+ z>17kCs#@!njDp`?1M9|zO`7PM%&fGWt~9~v$VY38YNOkVD05r0A0hdfB~H7f_-O1T zYs|jkx)QZ#s-QMDdA9wNhK4hWyeE4o3^k*H%gNp2ka6RGtL~Y9EYM@bsoXG}9n3V- z9L6u+{Kd@dg88a-LP3_{whF2`qx>6y>teO1b1m3_dhpV7Js%#PlQG#by z=o*a1-u8}i8P^acju2a5K{c)6d>2CoF`T{pdvV)!vG&C>m^^z}wK2UBeUTWSt@`;4 z+7e2%z)zs7t`O%>;(x2LFYk{IuIUsK zy?CE2>sR_ojKWGj<92eKFiAl6+E4zfmSN=L7vx_*`_f>v)|Gvao;_?%Ki9plEp zU+XSW9t~jY0@5epwt>ye=8aCb;*eVVxFOihUAMWi7;+c=vOpGM;)l``IUkE{GxCWo z_lRj)FG%YD3Qc9wqu#TmA))CZpF_8ss9KDkGwaA_s4J&Qf^j48Tk-bk0Sa*?Yz5hF zPsc$8slxgU4Q+86=bnDBWS}du0Wo;}eJK5^aRjD{PG-?d-IiwGUsuY-`sNYJ9nL99H;JPp#1IzXy3cHHaAa>2Gb6ik>G z%{=`$aeFRPGTl{zo`5+iK4rGrKZwjRhKD-DE#5PpIF*~@5mamjPf|^|M9UB9PmJeV z35g_Ve#ZOi?XZXE&s(IkAEvV=_7YMnR5Rxqg;nz<+OK$U zdQdwLj(0WO?{6MY87oTo80}&GBYH7^F3Y#*L9q#hTXZCjCas=gelW3O4-Jy?TuvYJ z-RRl)cu_u@PKi!o7sOJImgJC!u6$-47K)4>j#a`f;t^Ss@bG*-B8sY8;qWD>rK&t& zrg$V~s_Gn*BOcNxb1Y29mX?;$0ypMgG>G4^F$!tXYr5Y3`|?`*Z*Zn&qZ@N+D^!mF z?0)5jXb*|yC0S9fgoqj#dKo$+g(}+-UrmDdnLc*P!yTnulkoMVo_SOkvFqP(5lZS3cN&tBRy41*uK8MknsAB zxh90^-wGR6g6UyQ_UZY1X{oT;aZSo-?1;l#$dj`kiX_NfL0SWAK{u4yUDN*)mS|EC z>-!|BojZLL0kyNTTOs1p=Nx?{K{b6Bbpwm@f^>R#`^l`Iq*BMa4H{wE-X-qS(0zyu z=1-#Ju{D{)K_m7?2a}o+$Znk?Shn92a>9|g70y)eMP)ZWZWd=Xzwi^sRZ)fb<_~YM z6hPaU6krG86r`+E1!H{Ea3hX#^R$P7eD|(~SG5kZWE-^hB&rWx&~={{u#)J%$XKInivBgL*) zzKoK|Awp{s-Zp1+qv0o4*2$VtJJeI-p5GpLeSwr>5;EFYYvHDfseT@2odbQ@uX4df zZQ(Q;niJ36WA_(c{%syd=>UX7Or&|oH!%G#EeO;FwfGJ$rD+dwJd z=N&;rLN5Rn%y%Y(*sb1Npt9f+rwq)KhJz@;@~v>v4qjf_$$~9_-S1Os zhrZ)bf!ux1(9n+nOLNQoRa>de%kKod-5v;{nb(p)l*+qzh5)Q3^hO29!);NxOU^;S zfUBz@+kWm-&$QRXw}RjbCxELp&att@o5X%rMisOeRH?)2IM_-R1_$6&Xlexbei?2X z8g85e@XL7{es2(fx}nseC5d-YSJXfJR}-cBcF5-SYIp9yAjoO^b`V4GH}z_yUSIU{ z=U~K<;Q+kg#o_Tl^LYWvVQwxMl%$2FFCgk|s^Odi6rYiu)#972KX7>En^{EFoTBsM zZGq0OAKQ9*jjw_y0O*EGselv=NTpc#De9WdNZE zEYzj}^JxJq?8xdcU(;hZ$IakPyyx z*JTdkR44f$DncIwCFPa@fRW1!o0_MB<)?*~*#-ilFW%-R2UkI@j}`m|0BSgi|G`{* z=~IQG-40p$SsesII8i#Zk>;9y}lKnPdMB#7qWB!V_-0O06UaBx-T zYb!1A;Zpd(wj{zfR2<;reUIBWt0M<12Xa9VfdY}5@izMb#UDUxfq1hJ5RU8Y0s5-} zupko6*|s1h76OcS!h^iB`kWQmyjT_S|Bp`*0+v>q3!;g)W4u+B!a)B$tE&Js>({~; z`an@iDQdf|Zp(|50g`tH3XsAKwqZ`kw=I$UUZ8sLQuuQPzzxp!dQuDqtY6LX^amHG zGU1<9ODe9ZK=00m{k+)rxDLJvV^LLu7Hz{^CvvwclYj8< zx(>Ke6bR}H--a+O1Xhyr_-(*e&=Hp6v_McQh5<@F{JG7R&VTSm7mWcz|BTcv2avkQ zM4&~V`n;u4kVO2jZWOm>=el@ffx*`qulrj=X3mAEr#pVixZ`u@XxmrDBP;*)V~@+5 zT~)92?(KcF6xOlpAES(?cY3(X;jFMUqU6S=5Or3SKH1_ z>kJ(ZF5cqBtEXqwq$2+1x~p2t(G%g^&GJ6gmNGNq*@>+sdOE6UYj3h+q~?0r7tn@k z%sUNUkB@aJk(EISGthZ@IgJvTYCW5?-= zh}O->!RHB|x0GH{=f-7kLg`xQIO#YJ20N%CW{O;B{~AX1SQXInZUsplr2eADMwnLx(Ap~kq^vO%U^49#$hXrX zV4f9bO#o^6M6kEhnE)5PcBylv`Vzo}2+j?)U9z>07HVs?zD11KCcu9IT2+w^lHK$* zNG1-HmP4=F=ImCDxrdsDN-B8U=IAyE@b_yPz(Crs{lHiYA8P4ZTjDxGd%2A?O2U>4 zd*j`dmVyUZIM!veX|bvg1XVuo{udyStGYE{_j84g!1xtmzJR9M3jyl=9;#a>yP`9_ z0T^C-1(=$5gB^etP&u%TJsN7{`LM`aieeqq^-|4>8@w#kyjRa&tOisOzft!oY5xq@xwdb! zpB=YM)t%qOebBrB)6+cB7ohI8SJu_wC~5x;R@ z)2Bfa0FL+sKL%9ifV!ely{qjywknFI1J0|Rz9x36zsf(eRtowRLys6hNok!KnxM7z z^?~NRb`ogdrg%u2wmWUHjOe zor>7tXA85Zlm+QbquTi+Q>kz{;?JS(n6+Cm)?*a&*~(MObvcsi!FPQ)s+bllZt6Ro z2(J!Js-q}6a;Fr+0aianWxOt(GD^5lt;VogUsbH9Osfr`?K`qpRl<33|USvyZx8aTbP&YE$}x^L}o z%QESvhwb*@Mw(O`bjNm!?TiLiR-^IUaGYgR{$xzS$#=Zdl?zv59=|Z~@=R^60SN*w7`sEI9z_mKV{zHX(0ml~w9VT=n`F{-H-cj4nGaZ`7P?%Z)OeaW-b2r3!&N5Zq(-jhc{$ zavaRa1D@sj+bwUNh{sM0k<*ux49uxRB#6)Emg`xxP_Oy z;#yw&k4NH~@qWa{7gM{sn;J1g#i`WrJ`a-nxt!a^;`o%fwuf2FtY~C74%>ZU?WuFU zOX-05fVm;MGBn%-=3?$w_SCh#)Eu??BC`=kcSrfHoigDK1!9V;Z~IS=T8_By_D3b2 zSX#92A5NJVP}X#fds_2{-`1^K^E#tP`%{&iwNYCrY2)^86A111o85^PsK(2FB6J-3 zxKDY&i+YdHf^r^zHP+LwvT+PYGp!am71lp~dJZgG!~*F z$nhJlhfO#c5KA+y3<%|4?rsTH+^eB2Ba_}M^}PhNW_fu%sl}O>*j>WwR@CUG<`5Va05&y5j7IW8QVM3o04zDitD&-|<(FPp*C(cWA8?U&ro*V0Ic@oR8ydFGnVU#ow-y>^ zEW(~XnsgW(LJfP+yBxH-6={K(7d3thw5tnEkLKw$D9Txsq1N23MYd+%^34~@sxZ5+ z!|6`Q0gEZ^`k@Ov|3ppGxaH|@wOs1;gLODo_SJYh0s`eAcJ&NJCZNY?%WbO$gI)a9 z(eZ)7I2gP*Vz6$nj|Z<{uEsmG@oHIk!LZ}IwvdTlUraALkl@@d%A1e$;n1@i(&H{5 zCp@j}2jdp|Q+0jw=OW)Nx48}Gj(LqKMyTDNIFzDBL|g33!MxhS=x1=V<6cXwtz4MLYC~&kZv+r?Mb2@{3#J9N-ljnjgcfZMHa(ZC$>=u}AfHee z^#T*i6SPE?+n_wN$d)wMzVvpgw1uyHyf9F}On#HZx5%bohr1dS@^#rVlVg8n?7~9w z-lHUY*^9%t&~PUj$6?uB0DX5sAYb=QZs~797udP?rxQHVm?w1cm?VT0fmm72NNLkX zP1a$s3_64Hh=JiET9mD=gJO<*8o?}ye-(i-yGFqsTS*^h?_RN^k=Ev+{Wg#kVoxgZ zQqYU)%;}W2^^$vsD3(ji)pM)3CCdDx*Si9vkkSpu)eQsEYO^;@ccQ>#7!f$nh;zE7R`(1RPh@uRr k%v!a;Em;T}6dL1;iU(&~UH<-g$#FX8{$tJmT)X#w0UPfxoB#j- literal 0 HcmV?d00001 diff --git a/public/assets/images/previews/14.png b/public/assets/images/previews/14.png new file mode 100644 index 0000000000000000000000000000000000000000..cf609419412925cedfe7308c9c5a9b9910fdb989 GIT binary patch literal 167241 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

    AvS_WcQD;U)LA!6u&32Q!?drdE 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

    *&nxmSTU*;H6+)BwP}50ZWyAow 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%0A6~?#Qne?LZAeDHWlT7D!fVt#P-Jv+ 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 literal 0 HcmV?d00001 diff --git a/public/assets/images/previews/2.png b/public/assets/images/previews/2.png new file mode 100644 index 0000000000000000000000000000000000000000..c5263aedb527666797a1cde0f28b26546243e2a8 GIT binary patch literal 170234 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

    bieu8 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�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 MhhM6GzViG30s*2eZ%Rs|^OmO`+0@ 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 SAF&exzYIJJYy9le_5T9}V#iqk literal 0 HcmV?d00001 diff --git a/public/assets/images/previews/4.png b/public/assets/images/previews/4.png new file mode 100644 index 0000000000000000000000000000000000000000..76a3f8fa477099ffc6384534035e47fecbf502f6 GIT binary patch literal 153294 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 z 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 W=4XDY@Sk3n%{Mo$lwZ2_)BgZI)3r1J literal 0 HcmV?d00001 diff --git a/public/assets/images/previews/5.png b/public/assets/images/previews/5.png new file mode 100644 index 0000000000000000000000000000000000000000..4a3fc18af79f55a4418dd7c52e6367eaf8c3d9b1 GIT binary patch literal 265203 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 agR^%B58j+`5(_%)!@zgd?;sUT{r?Y&7GO^R literal 0 HcmV?d00001 diff --git a/public/assets/images/previews/6.png b/public/assets/images/previews/6.png new file mode 100644 index 0000000000000000000000000000000000000000..154d7412971e782d67a092efc0a1629aae72dbc4 GIT binary patch literal 157448 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 N9Zh|W!Yh`4{XZ4&gZBUc literal 0 HcmV?d00001 diff --git a/public/assets/images/previews/7.png b/public/assets/images/previews/7.png new file mode 100644 index 0000000000000000000000000000000000000000..74fbd88fa678fa7221602713b456f1a47267a36e GIT binary patch literal 227682 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�ICZV$RWu7zV7@w_t<`upv_TptDY3Lz{}(2$@k|Jcpy5Xk8cN8}om($viK1bi6(6)L2Ok~eCG&fs+kj*Zup`EM{L z|9l3-Rk?Ye&FNBNUE)_6rA)!H^2pfG*}E!yMQ?S6d*^-@+_Wd3fh4xaV=j7%^BF>B zgP<-P8F{a{tRY4~MDlXy6^{W(3y^{~(3VqD;j1ufH-#kj-e02SVh`!@bq0j+USC80 zWwnICMcK{ktj&qD${;;TlBeOVB#C6}9J=9Zy=Fu_OTlNd9VN zpSZ5N*32B#3y{mVizX~jDWwpUld%9*#twO=N@JjHSn}z!`|)KpO6d6b_+o$K!3NgC zvViOOIDiRUyrhaP*bz=V2Du6A*LV2(^0z_Ov17Y%G2Zw|UPR{pP6PK-3^RIYc17ln zO3$O+LP0|J)IJ!?1U*G$T!M_R!K#m0EgC_LB2k@Z;CBnSBnr<0tT}^&6}24t=FFg| zGTz$pN?3L_i-9~&K3L)^BeupU0++wGkXER6M5s=AG=*AmipjQ-Z^Mu>%DO9lpqInU zIq~%|rJ8DM6euw%3GzHm|7r5|#@X5aZaM4y&#hSYh4aUvUOcz;{^0e)HJbwZv^R}_ z*$5^FY0fAw%0d6y+)UDt+3M?z^N62$*2cPquBnOBQ2@#C@mC=9&K-ewd`U}UKbGP# zzgQcx9?83^$@~#xI7KFw81y;n-^V4U9p_cU#; zP3Ad#DI%0E8O4gVWnTEj_ZYNIPpWDF5%Z^P~a1 zWy?9$h;uOe&uc>lDb>a5__76Oq>wH2DyVwVQb_bu!0!EvC;oQjS&L#BP1(H^7E*Km z(R+W+vB$!1Rnr~Of1n!AsTr7XLPs}sDQxI~!&Dg1?2uc>U~YhGu8CB3LNr``7kzB*z;!hV|QHNC05D z0DOHnLdxN<3}!!yvUbx*-rpz=um1J3*426bd-Z9*kJ0 z;o8PQ`K5hz0lErx6c~0h5fe)rWIp3y03-t`nLpNm_NReyMgK{ZZ90zXaxXdP7wb1A z-{;mW(URL!&s--eT7gn>_#1q#9kmXW%&l|@&W5j`9#Z~yfDoJw{JMAc6wnA80+k1E z$vHf)RK1AHT^e)s`ifW`yoRhp5pIk9tIGgl{z{IqK+J#k*sco&|N3Je&lPzjF(;W@ z1sopumO=?m0*OZeY#QEPY}xznl!^$#jDSYd<3f~=Mwi_>9PK2tlZ=`QSO_zY=^a-0!M>O?x}>_VD1p$(uiP=A_KG6-4`yIlZ`_g7fgs*%Ae3 zijbjpRd8~^%2H9T`7D5^pvGs2gSrG?hl#b;`Kj~MCH*t@$xtWYUQz!O5V-{~n7wUz#U2Bq`|CzEx8-Q=jfn#|vwz--ok|6-cG9 zuLm0XX$5He9azty&!5;C3906oHH7$(jA+OaU-`5UN{A)h7|9Fx1N{N(zZmaK*UI}# zE^3fkDez)w@F}PJL|z38ojDVi zXOjkf$TA>k9V+qjCi)Y^ta|v;XaitfYx1;tD!#GNEWv%GvPD9Nc(kSHXn-N)&Kydb&w1^aNQxRArmpLA|5(3MZXe1nc%t3oM3~1C z(acys$YFN5==Ist0hwB=(Th?cNdr7yPkPV7q6VK^W=hMl-ME@=AgTDC{bbN-39CVw zOZO6OCwNycXv9nvGd*kb{wNu-9!ZQI@aq}|p3~(1Odkn=sf3jZkB6>5R=vav9sENv zUd+yL&OcJ_19i=tUGAFKz)L7%TcPWOj=R5xP|*O|n7tkY`*TJ0WY>ryG)a3sx5rhZ zvj0!?k+ifefT6ee!+p?ly!}OjKf3;`aCJezWf@&9nRQ}MQ&B0`V-M-fn)cv&CN2|TzmqH@$@F*u!Ge7+TJgyk(GGXM$xF{p3+w=)R@qgU z``ObJG!iFn{XODrz>CusfgZK?Ei)qg0jMy?0+WH<0Ok31vDWd$Z+nub9?qmeU+Bzj zd8T=c7q_v(Ggrp1xUibYphd;QbaUIxN`!vuHwoR@UX+xhgRc$oOmER}tdohrD;-xb zS}h|^U_J;s$o_GRem#0!T9Il&(Yyi)Ja!youd~j4h882xJN1i5Mf53BMTWIidDLbM zu9v0S-uk73%%7HR74}-X>`*~yV98^X{Y<8XDc&2nV|C|oi}wWa+V=W`t{f+(0(CioI!N&{N zQrs7AP7{B8mRsUdLu&UtPt~32>03V%0oXbN%z_1-hts}muo_faOuZX(G#ye);ixe- zes)5M4AwnaXb-~|$6xY`sj!&ZEZ{}lkqJ8AP3!ZJy85!gHCSlOO^v=k^%lz?kwWiB zfL|DtKUNw^f~GFk-|I?^XA;BPQ^=S2&T$4@lzq!c`*zrZH`S)*wUsBKeQbisY|{5k z%k3hE6IDjGipQ;;JZa6lienv^H_VhDb3su>@Oq#Zs}`W}9ia-@lp#aP$oKty(HnQ1 zDhXfI`-X0i-AkXo=1ZDc>#2CpZSi*f|&)0vab$KeXTta>5?8&RS+ikI}+ zUE2?YQIfp@tL_Q}JEqM&3T65oDBooy#$O*?)!Cd_=vnNd4fyl+y8i$>2x3V{qbi~xhTuU@`l@?d=b84ZCk>#AN#tg z&t^yk7e?|Xw_8H>T6zuHhZ-}QScLZAw(jq?e8>7k4py6!=0@+QDp3DYpgN2XszC2z04Y4Ak(orFAtvPJ+c+*8eUM48+s z(T?exsb0A*TP$h)TXoKre0>3<6xl0RHjWM}_TB)o7+*-9O;szxrtsK%WLux%XZL zDDMi)vEH;Q<&lY@Ld%{$i$7?bufF13ak@iVOWS8qD)+*-V7o3NrQ(IVr>yPvo3gA& zpMd8Bs$bUmMxaA-kQ-}pyI<;)5AQZzcO!+WUYg0bg{)-X%SC0%t1r@hoa)rwT^<2$ z-h&q8Ho>urH|(OJ9evnJ%NuYqXl#KtW$|aa_ZBVFwbCDPc`LwkVYEplg(PKQI3{?= zZV>TLuBS(f(M-%%gKX2ZXR8x#55L23nFKg zh^uq((K_BKg!$55J8k&P>;h5O4e5}CHZ@v@u-FKtUA(*`PJTqCb6RvJV}yHU8zV@b zYVF^f@!gZF-vhE3)~2?Rg)Q1;?~gXc%k03Qd)mEt^T!?hT9$F*`H{!Y>KqGZ+5MLu zcky|_Gi*+Ymm6G`(8&1EdVS%EJq0|tdgs%RDMQgo5A!&@aeaR5^G{$$CBsdcvmb67 z4|l_ae-_$m^R;^zxF>EpV#!-E^Go;mcH(=Uwd z8NY@|vTp84=~p;a-&t2uo6WqC;lZlcA+v5Z8#u_=dX1k^`cK?^$rTiZhciFCF?=BW zjBk&{fG+C3N0D}h5l{^Rfe|TWySHbIAlJPtYL^H!PZ#dM^~=8&>9UD(3%^u-8TMClfU=sO&LEsQTFE(m2QhWisi3e&7%}VYgyK5LZgQUVK?vxGxYiT z?PSd>@jN$zn6&p4_mtg+1Jk0~J;aeF*`tgY@=cZML8rpXM`E&q51ux>h@(~tp^@Qp zPHxV;^h1ZP%HX*-Q1!Rq0h9YZXGtcrG|V}2h2I%UB2wgL@F1C62My~x!I9rgtzfr- z@C4tSZ_DrffCgo?8BH!xT07{b&8aJE)SoVi)n3mBQLpUMMo>SO0~qzYP-`juF$n%1 zR$HZqcFHfzfP&|gi{EzjhDmK|O{GZm8M^CUDCy}gie5hNwqe*p%O)sXFeC zMldx?6TuspdoM{`-I@;aX$RmsPOqle58m$aW?tljRe)G6I3vh7u@`xueNRh#f6K8L zPo}mXuY*E>^N4(|oYAE>q=D>S4ILKRh1#^#HK~-qIasd#Q z^HN{*qkozz-2fgabYwWJ-P9OZEl|zS6F1*V*L}*>-hyc4KZqZUJ}|i79vrA>-h4r< zlF*=3>o)i}->m*G{&{X;)e})airq;tX=6SMuYjztz zB(E?|>==Hm(gH{zHV(W2b@WmoTln00k67jW*Snk#U!Px<;@X3RNQb`-lRB&kW5mq( zatwTw0y#F0jN0;cO8DGkNgM@3f2&(Jfaj1RaA)GVEp&4!)nV!xMEia0!&&OMXDF)I zqG{09aN4u>K`t>@3K_CbO&wMt{@h)jY?o7;?EfXcfKCg?ns;PLbgOq@-xaLf_UhdF|fx@wh z;mzn>bb7I(ij6gjHzTb2YGJ~KJJB(#SX^N|RV%3$_Vuh_{U75>GpdHH3Yw-_1829K z4GqhUc_(OJoj#Su1sWV&@eQOhZE!J{x$8-bg4|L*NWX=o#x?mR{X&~el?;q&;Vw8V zd8OIfM*)3$Ve)juRVA9n=u70;H$e;<&(Q7n;RE*1Uc0cj;jT$-`@Z%?tHx`BTZ=7Isq00~)|MYH#!=;=WE@!L%dAc~N`n^cTdzPQH zEbl}+EarA;MK7(i=6@Ivny!5pn@Y$IUl;l=Du(vwG$Po&*?jlzB>zTTirh3nXv-a@ zomT+6^&)Bd$IdqsH)z3lh(Q~1y)Qf#Pz4b4T=tvZoL#WNXSUebUo)8 z&&M-!mQzz)iHGa`ia|Eu74l3!(rk`S@lz|i<8D4MX4mhm`jUDg8rOR^HgB3;Zg+y$ zxm>r>*!X?10*}=@JrEN9@8M}fyp>Ax<&gywpDn}T@;5Jf9ZW*j;640TB_|$q=(ndP zSVL)z%D)nQ!5%9FS3@=$mQ9-0@l2MnvZwlYw(tO#{_n6!rxMIoXKwdaZ#CYxpxh~V zx%tdGdMW&$k1goK95$J<%v5RrN+x)7+gWz!>=?94YAv!~j?>p9ZWV zW8<5C4PBX@q_5sbcqke=(kx+v?Jz_(vB^)}5;Fn!Ds+oMH6PZay|gnPl7&SmroFw1&P-tT+b0b-!xdFFJeufe z42D>P*aF3yvv6)(wB{Rf%`H~`&B5fB;+m4;)!ucx?iUODGtmmf3IG)3-Qg`XKhUhT zK3uzuW+BFp2(At6!>WR`q7c+;gwo?%z!dtApBg(c0=VtR|%J{4YRC#AL>%Ari za=spSg@z{2;gI23+^hgD=(n#esKLKqcI z@gSt{AmNk}#E^~YiUUJqJhvwRrrK-prz;LWOzk(A1NG;EG_(x;c{_Po*?Ty=3 zEd$6cia*a%W%rvoqL?3%>t}r!T9xN^@ijAb2T0ERRA6Vf*M=h8BNLBiLUcsqyQ-VM_TZ;HKAHGR|G-aZu*o*h~b+o!Vu<(Ch4i;@&Wpk zPxfEou8;Q)zxC{|l15gc=KLYP4f|#@YRqOoXDHsDX)-2NBIKDm&%$86(S5>ti9f^P z+Gx0l4EIcdX@q6&&LJ-b|$@LrpP0?afyT{XF#+3sl+l&v>()cbvlX zN>EaoAJ}vNQ%|Tt=83=es~U7XX;_zYJ)UyGozzGi){Xgi#Lo*LGin!TQZ7$aELg zaJU0>jCtRvYIS0Yxh?2$-Fuj8)hhwyx&8c)1nF_autT-(MXMG5fwRC->!=fsCh39u z6*ax6m@Gf|1KjME0UQoQzHj6uUj!oc)UO3%Uyw7s&omE}(Fp3lwzIvAhm<7MTVAx` z+n@jzPQE@*ibg|KSUm>#h^MdSjKNHy0Gmazp8L;coA&0-MTeRCs$Yh50up82_h%kK z$79Ith`W(K*ip*>(E7DQ$e|R(#PMRVmNSv6_|NV&Eyuixk0x?Mh=;M<_IrOmK_&%5 zlx%Iv)UzH^Tr2m#-JfGSlAv!%{_*}~6(w6mc>t1*4>`LJ<_X)f#QL)#gU%mNFys8T z0j$@Gr8i2?BClySD(Rq5a9G}ZJFF!*ryPIMfM2;O0x0Q^OVN6|>Pa)}?sFB|&l; zztSeMF5{~b{K*HC2-2%)+Y3SclO0vzjXr5=|IQrg{I-6fG9^RwjzLZrz~m^POp|M{7J*OoE$%Wp%OR5cy^s3ZE9+!FGm`&Y{Wr~y3+;TGgB@%EN zu0&ST#SUk(@xoMe+wOZB>lW-!Y$zyn(%*O&|1*2irmgLz^P7K}kv@0OzjH?gycJai z@LJ-c8>Q5@JB_~4F6=@@#a}#)O^ipX;jK+X?x>tQ83)Ktc>pd(B+q(w0S4Al{}%c3 zyxpMG8A0S)#zMk_guyN45(}eWrkOLDG=R${>9y#Qx?md*yas?_WC)Dt38dx%!YL`m zf2HK0d7oROEXUZZOBk$*3VK<={mv`68b=0MV>qGJqL-^^msb)*S&DF+k*e>;`5$ibLuF3LZ5}){(554Qibr4t z;LBPTA)|yoa~*n1sH#NTS~KGw*qjrTb1kf-!u1`BCo`x3cznaHLWl4-Z%z|!{!;+} zHN|^M#aLLB*9RW1z#m_4|EC2#A51aB+k^d{Mol67j4gOAlFx}IzjQ%BV8PxmcnxoBYRcHc8d}|$L+RpGP>?1YqFTb|+SPdb)67#zdnckpLp$fPa$8LohszoN|O?2}Z7;2l!OEt1iem*u`T-p=#MddY^Ezz59JSvG4(jEX+iOeF<2 z`uVbfYjyZ_0f482z#qkP{JjPO ztb%K~4!LAWyPo?M-qKr3CjaBK3fo>*hBP?nKTDRr*J2i>R}NN`g11{E_U%kz(HYw%u2aH> zhZ~`F0;8MmQP|=$ju)U}&Yn?>GP*3XR{ECJ+(oaf{VEd9TVLyG42)$DOZErJ-2SpX zN_P#{lAg@D5Ny^fsz9jbVm^6}kac z1hc(=MO!jZHoJga$aG+j#(om`Fg5kJUMO*-=sy}c^dD6|HNAtuq+;P->EP{d-6kDp z5!8BQ4IcGk?hyOo{*^ZLV?XcX#+c(mIbR zM7KbnuqYvYsk9)y-dy79Q##GKU*a0+ZHW_qFEBo!xb#)hS43abG<{>GD~Gj%#Z0Lv z;H{;EsE)9>E3bD*%aMMG(g+MbH>rAhOHW+dZ`V@V{Qyl~{2u-eQC%kX({{swV7!D)jXbg3V_1@XnT&9BmFz{3|!8LFbu5t{FKtP_-FsE zX(6K3Ov(X}?zgRF5AyM!F6iQS-~HoDHDE=;-*!DVc*2B>i{9m+e61AV(Di;d_5Y0? zKd=0Mq2Iq2^8l^R$Dr}-UeF;C?cj9J9(`1~eWlXDJCwX2PYwgF>8b-9c&E+~>P|Spe?(=oTcQ`S4a;ec#dV zfY1L$K0))(8(073rSto)Ca3-(Rk+ ze#0PteaHDvjIyPxBkmt!juhMjrIY`-prz;kumQMq{~s4f_5TY)Qm*K)?d7FGK+*D# zqtyZ3IO4B*?6tcF8oCNScI?l;+0O3o9g?}S)vv~`i^NY(OccfVtd9M1)c8j` zf|hGScBd8}Kh}~DOiKVGg*n>ci3vN)qr%DSbBAd9W0Due{!49AleEt6^_e+s_gP~> z>^iun9w3U2ULtTmZZ1+>*}c2*yxosE3)xQ74${f1=gEcNyui7UOkbCN99%?c|GL&rm{qAK<7&2t6It0SB!1SH!k(Ye&^26oK&k}s z5XTBq0k?ag#dqp5s1IhNJe9w;7GC6pNVYmUev#Qn8|^OmDmhlr0h9n|_l@E3_p2@s zku^_F78P6UnBB2~=QH5IpY{Wgos$bTSLtGG5+Od*i@D)rg6kr0XItQov8R@N!D>2F5?F6cmeY3Ou%X~}!OPkXMx zTN|fIm_7yrz{7ZK+FkV>Sm(=u!9K1K{|+PdiMRLn-CKMM%F4JDlaVDj@xr-$=u^Nt zJxJ=1RB%RwtFM9E5VCiF>n339tdIYt4Rrh^C!^5UDM^6L*5gq3{Gd-Yb+0!t2cxRw z59!Z7u?*-nO;P$zT~$@ynTj>#rmXq#f1Unx`S`iD2cUDJ7-iT zSN|L*AluCkA1$@Uj=u7nN+*iD0=FXyduu03WwduQ1oE@m^w(q~bX=Mu zrCUHYEeRZMB*u3UMtfI*6?>QYfgu84>rq)c@NCWOKWZ1;WG52d&e``e@qL=q4OLh1 zB!YoKn=rbe?Nggs8R<&fYvJKSwFImq|Kdzs@hes^@y{0Oc)-fu{;MqXfPblwGM0P( zM`vv3@_T4A=z5BIj?nPgMWEERDpruN4Y$7WIjSDu5anozi0AMAD zE%Z88-MRRqH7nsSoog#?Ny@5j-@-tHxQ;L|2eOeuH=c6^o0PFG>R$tvmp{5a5vx|e zRk1Mmww{R6tRFeK|F)f3VCtMSScZ`79W!0N2bija9 zO*jeM;GJHxS?~~WG*_eeX>e&=DV`O^^98q$x!{kp$BxcF3RO_X#bZP-TD|J$VIK=c z9_J6bzGiv|COb??%w=#>7Rp!-6#0ZymY7n^M*YiNedfg2?~Uclr+om~=IFIgOM1R* z;J_yG(H<~TmWP|btV+wJGb$XghUH4tC5Ea**58H|nSNaY6ehjGrq13Ft-+dMm)+JX$FY)+}v!%byO!+SxPxoC}jPfUpElO?pYNt4nP!>MAY#O-IYOu4K~pF$tv z%JYgX-eJIO+$aKd>orD9Z?T>6UINwt@J?x6*1Y`bg}MwdQDk{546%q~lyt6T0~XnU zZ}Nvnd88m^q2s5}kJ?%;Ny;OvX3wWM*ZIVE*vN4WL`0aMnj8$0!9U)FrTBTqmRF-{ z(m~PeD0t&!oH!PB>hRN*I}dWX2R<&h+dcaJ%)cOV__K^MW{g=&@78bcjN4$P_L4!a zxb-w1J3WS&M@u(uc?*~}XsjPD`U~(E3%6Syjtvdm#e7MGeBf32#TfuB&04}Q6ABc!dCn1(^Qh7+m3USxV8J??2zOj1zN5|2giUuD9kjAlYC( zx`}=hg_)YD(juuVUaqL=kP9~y1A&h%gXt9 z>kif(`Ed9l30atGjrX^US>~W)5iySOt9Bgt_`X+o(tTtgC1)5UjIE&0GKElmT>BP%U<%Tjx0Zt$*)V9 zOG=HBbvKSJRWpSMO7#h!mxO6`s(;M<>( zdec6kz#0DWdFL6IBrzfM!sUQ3lXDKTr4G5X=;yaNS0IDLk{6hL`q=JEjw{8A>8TeT zC0etc1NIrhQ3eDC;w2-wZp+(R?g`OprSK+2Oo^f0I@~BBB;T8~xA?W-j2CVNCY`sl z-<9LN?_~s*;(m|Ez^R>s$QDs{wrKv?_hQdO%639biodiAmb?BoI@NsN(ZT&%WQz16 zZyx}L_%WZa1#c&bZ$1*C^A7aI<;FOg-2H%onSfahdTU%aQVGwZ7~_icE$zxJ^40Ew zNxi`2i%reJDT?}6Gu;vl9lwp7zd-g8y_iq&5UNTOTF-dFRSec4xRZUD7DY$NN+35; zZnB z8>;pbh)AX3vKnT`NtZyjEGm*#Hpl*=3A;{U6ljN?)9|?Ik_!MVM^QxGN=K}x0xkD2{E;F4C9Cj$j;DqBvMYDBglaLC30fR@C{`0F# zOG8Ap#=|l)q&9~Y9 zpw70;zlp(#?p|}1kmi-KK&_cVomt%4$E*;E*}_HZvHJWqxNN*tCNs9HcglP9*j7p) zH|Df!bIJh;q#kHEQ^?j^E!#QG6J!14@$koTX7BaO6%6|~?N{1XJw)esvulhnLUgeq z(nc{cjh_*d3VIze`IBWr+evk^h|Sp^ceRu6!@^A@{fh&3#HQ%$%#A^0#m>elt%(k! zm{a)FpO03l@BKE&J%6=Zdx;^>u-bqJTN&6+4HMk!s6O73jJb}-F!QLODwb)i43O_x zWt_^%rP->Ta8(@>ltw*bL3nkt^hphU-J^`K+29zvt(6xuZs_*`>lIemJKwo;og6JlqQK zevrypt5ef&4s9l=17|vwPltPIwjL#gdPd`l*lUTZC(h9CV+44y?nA=tlY2SbHcPk< zd7Kt93ik3%CLK2?jDGA_o>Nt0gK->kVOnqjc573RgL&prxG&fbs}wmIc*5qLGjH(n!3Uh{$GU z791Q-V8geTr+U4O#x!+iAOnww4*wkIP>qqXK%QCJU=}jVVjjN--td@p9e6v0s=q56Q(=wNJ1?%Xy?X@8`crJ0yQWd2eX!TXjiS#AJ-J?J1)X zgcW{NzK}kd{7l6?U@kww#6gZoc+WZ1^78lR9GXLGt?F%E!cXW54_MjYsamPh*e`mE z+&Gpd_lW%L6jreQJ8_u#u;eaC5EHA?oou5&C}x&(p}A2>_9lB^gSO1gRlj9t_K#vu zm*P}w?mEB0t$)hmU`_#%%n-JIsip@QU@3 ziTT`7p?SF`E~zz%>+K!_%oc^X2$of{`-9_F3!y5jBpGwY!i|Nru)^pQuL_1A$~P*q z!)q1UrR$T2r_%}VXt-3yZ4Y$EP3Z%>v|Puu4nV4wjM%=J*yv(p(=28t5a@lbNujQ( zSO#S`L&HKQG-4s!--8+K_Qv?wWv+o|xX8A@%|=hzN6N+fkC^~#@SThkcdiN!n^DZC zSJ%Y`5d-GTHo|A89MollNil(HbRvA`d=QEXaW0*BLrxXxO$L(Euzd98>`uY-+sB)1 zu!F6bCrLkuW7|{V)m8P()kw%LtETK&`r znCoijD|IYw;Y*~x7gAd`-^L)r8jMf!?Nf!uUZ@QY0mfV9I_o9-`4_64&n-K3??Bizs+?*`!j(Mp~~<_ zIxS4sOsrs?3Z^UZ{%oiaqu31}q|0h-9zT4LK>*6YF733}6MhIzB6h)Z-M+-&<1!0Q z35<76DyC^{mL!+zwWLLSPYU}H&{%9T~&qa^HW0%Bhs)PBf7)w{n2X$Dc|imh!CgNiOjr#Mm>+q z-jUr5#y>vCAtS$sK`I}^$C6VL8*~EYpA;guc#3-7QhHhWai!Ehe+zqE6{BeDzkL>7 z?E>BJBEXQsRpYxnoI`&e#(FIt4r{^Vyzq7Yt8s6faal{*J1Z=(1hMcO6z@ z^#5V*J)oM}w*FCUpdxatC+teGuMzC=}sOW1q{-&nY0r)a?4j<+Em zsY?h5!=!J9mIljM_a9C{t4;NO|7QQ@$O{MJ_#Ikq7$iYXL~Dfo(3Pg|6$fSlmIW&= zW+HoE0c+F!hI2WKX%(R*^!fY41d=)1YImrGQbE zI*~Nf)8a;)u)@y7#9{ibE5EVl8||CQ7DX)Po}O`1y92X7mG6%A>=nF7w+eqz-xcUZ zZi{2FX68q{h}kf&7r{kyoZ+J6+!_-3Ce7*YTX(nZ9ToX9fAzGfEE&^7K?>e#ZM14HoY#1ldOKzptA{n*f%*s3v@9Q&|t|Kyx`2R zv|;JzTo8o7w%BQu75%zzZ|8+Cpv)JGtv6aMlBU0eKUwl$qW585_%KI|s1HBH9?yS; zTS-*EB@P^}nc=6Nh^Yp}Of_V2VBYcnLQlPQONdvjT5QAryE65!r;xtAqPDXL!hY=k zxrT)&zs3{2-v~E0iHHB7pg4c925Odn6cq)sSo7B|k8@X{d5%l}`C`A=k*kNYFWr#1 zuXT1mm&3;cRprl4$X>TOAm*+0_Phj_;yK4Gorn8*+%5jN7kTb>*Q00c$?uJ6hPBs^ z$BhXx4h3RmzNdYEe6BVlra9ntpG_d`+w9jn>4dGI{lBqBY|q#p{eFyaQQ@06k1~IQ zHbZBM3NBsz2N{BIZEN|RMl*)q`$sFGOWyx%Cu(VO=f)YhK4NU5^^Z~7`^WDs{BdOO zFQx>z^BSAh?*o2B^S^kMG1P=Ca%tK1iXmO5?8vX($?PjASkG*Sa4_{)^skDBLE~1u zy?wL4Q49tAVA)H{gIW#5g~v@r7eH`c@hm?L*lz_NG||RRTFKF&1|TB0GJO1*Q+su6 z{dwI$d5K=PvYi?P=)&3EZ;qcR1R9oe^C`kROm4I|YEI=t0Kmi%p%C$yk~~-@-b}85 zcVB|t>(H|=K-YN3%Z<$b+IhC5=ll0MZ<*Wca+_U!QHh6cKMJ1h>9J}y7TWHo-lGsr zJD+Qyv>e;}u8b-tWu=#vqb8o0yyq9^jExO!Ko65XwowduAua^GTO|pa?Pb2Wgp2o^ z2|v3lS%bvIoF_fzFe72n+1VS3MqT5>(uI?TdI}71>(YUlZY7Ym%j@6j#C|n3p=GvX z6y(g1Lj=p)E<6df>sHX=GiT2(V@!DCznDhd9TZ!~1d>SIj!1otjjPV!oG<2Ozm<>3 z6frkfxU{TO;c?HorMzsn%n)TZf7fnlFYv5{SMYVDoNr{Id-e)3?@YsFM~~HaH$vVM zUYc8aUWvWZ;6#A47!r}UIy;z|G^~XxOMVIEO;9627qa4aVRHC7LI7)J5aQ|l0 zAHR<5{cpuC#x71IM#O;2yWKKoB)XX23sk59GXF3Bc}NtQ{P`4;3I}JJiP?FsJ{E;% zRnGC2G*vH?-oaw&HW#=~_Y%)gtctaic#EynhFtjFGjm!hGuwb^l__}TJykt5mzGm< zp;PJCR^NZhO3_NDTPSE6=S9A6uiDz$Ep0WEz+La-VFvAykyCp2@G$nY2`w^?qJ50? z^)r}$3fDfQ==6AMGI1b$p9_%CFJ|QoE{w)Rrer(uf}9=QUP$=Ms^xApbN$*{%a`-W!CiKYV@(JA~kHa@K$OVkBd znRKo;PK)z}585xas2PP_Gh8*(`)%Uw?7*s*%rf4$ONs?7OH3vN9s2;R2r*bZYwk;R zj6jj+fHz1l%EAdGe7*8=@+*0#$I6{;7S?SaFqx*d?yz6`dB3}$Kv7pKxs=1jr8DNX zri;a8vpa4Pl7y(qW4+n1SY_V~Y+7j|Zz&|qK~Ik3SGf-598uzIjYr1^^cS~hEN7aO z=&10Pcuxwn;V8?}g`}wZ+)q7T<=m0+&WM6FFu&yGQZH&pd}#hDUxB@p{tc<#vamNRvi zdXi7THVnbJ(&@^mh-<(0P&2_?2~bS-X7Dknghl`C{uvG?j8%g`wuFoQS<{(&`hu(! z&VcLaMRx+`3~eAGI~pY{N_{q86%C12Y@$^!n!)Xy4wn?^=%vi2_*q4-9s=j21t3?t zykWo5^;KQhg@t{wit8PsWpzjER^EGgSS=GBsj^FUIXWP&_-~MYWRz(_B-b2eGGc2l$3>3xvp!aqyR*%96fQu znVFoFCqktdzKgMos&5<0Z@+Gypv#u`2#j! z-#2~dcAB10P98wphZYq@WVVZKjZMq&U*724AS`)7pqf+D*ZBZ#h=bl}lb*aRva=w? zcGvtZu3TDvHX5?tP;r|gEn%;Svt$R3rzXBJ1It~~4fG9gj5}r|S_~6ZD<3}d+rp4^ zwm8&U9t2y_=VuOjps%|`8aH=>njnvf9S?TAHgNeh)(Q<+(EVU43|}!1Yn308QeJNj zx*sYKbYX0EKVi{8?TcTnbWAEgS^IHk;n4xY;Vv}6Qz2DqH+gEqzc*zpVR_m=PheI> z)5uFsW#_{?`5#F?v~jJ;m{U1>Ka}T#BTxFcLKC&Gevc~l<(_@^THsZv7xGWDPg9C) zB(t>Q2Ql{wV>es!51 zK;eX4+R-3cbDvhSCanVG&g1;_sv@+%ty!0vO`o^HTIuTRH(8}{{mB^Eg{N;#AiC;C zHvH(_8;1^xIg5dOP=vtvq;EE9MXw@?o+=XL^!8KeMJb8$~9b;6=$_<8yfH z(6*s>x-5+2_){{c8skP{#t5|1@wK``s+1i5D#!A{w1q|-MoZFrGHH*zA z|6G0nv_ii|-aTETTAf;t%3TEq4B1CZ7NhEWHtg?&pX%G~=+-zY-n;hDat0>mh<$qe z#^AL^!Dm*fX2OG}G|g5K-mRK*h{{I4R{z|CS{Z+LfX#dlFjP>|-NzXM$FOutR)QEI zxX)n<0n9Yto_5nO!KL?=$@`rf{w)elHPV7Bo{)X9__nu0Luu`$qw3AyJM(aKB@}Ta zA;XI;nzk9gTOp=p>_OleLT?zdS$w$)&c8b&+;EXkrouRze*3*g=n#D=HVAm>tA-sI zwxW=mO^XbErw4=+wR;1dm#vvo>d(hc&8uyp36#EinFhYhLjs9jUw+8V9 zdk&s8CRAXekGy#X`zo1;(g> zuhP<8L*$iB^=iM&mzX=b%@lzNn1p!GwGPay!zWqT{7?D4l|~V?V+h7+4dE`okR0`x z*&cQfU!o1tvdI9lSykbvSXs7F(w@>O&sX*x|0-)~BB^8oCa|o#@kL%FbL3)qmWdPH z1Cc&AANWLmR+=Can#a{^H%4h&ko3{S9a=f|-8}<0p;pjDFX?3L*dG^I08TFWUEZ2O z&*PH`NmmHLzM(|f4%;c^x{8ydUYwrF8HGUpOo56+MZyPl)t)1&ubH!KR=zrZ$ut*) z5;87d`1Vf4W1p-MR?=9y)cnHv z@J_OKi$4A z$f$OJI_|38uO7zX&5KZVNsq~?r}U`?x7k=p|7S|G?8ASmgca?S+pH0f$=8?muG>^y zLk!j-Ij!DK#JXUdd@7XYT4)ITyg>`RL*0gjalzRXy_%XI3zwk>66RB`7`=p`m`xAV zrq$=^r&BU>c`1XE>j&1<`i6jGXf81zZvDnZ-xZ5zA4j9&2W6QGEhoM!f|&`3zRT~R zoKH7@W{@atrakuHyveeMcj{&*J6? z7{+cMT)WEhX|PrvK6HM##;6Bg=4X(Nr9W0`YCcd`HwUQzJu^E7GE`QuOsxyo=2X8d z*>lA{3$kZxACHL4=Q2gB374b-Y<_z!RqfBtLcRVn<$0;U*Jh?AU_lB<<8tFIdabVo z3B7HCt9>4U5wijpC+Xbq&YV}q@Ip#8$4AJ=*Q3PnA=T3}4qJaZ9Lp%* z$0^U3m9%Fc`81}YV`L?xdxnaG#;Lz`?hagU^f&Y;2}DjR_h<7}3>>jLjXkjTrBmYZ zGS~E~du3>yC*r2y*@lzV6JauOIA@Ju)8sm8rof&zee4TU6QZ z_1R|r8!ueIo|XGdJ78kLPKABAKckDAo$7bJv_CRLT>$1jK!*89J69zu4P;y5nMMhc%xo#l|Rb_kAS! zfYAB@^1Ls0bdmUN^X(|B3zMZU+?>4mSfN10T(F^B`*c2r$lQ~9<5M*PJ`X5s-(t_j z$UocQDq)Jkg)Q%GqI;XYhWZC@x6S#tX?HqNlJ7t9DQ&l&sWGW_ zIpi^ZTBep|K^#5yq0IRtj~la4ycbsnsmXgV!)JPWO=@L!Hi&<=ODqR=xTAqGs56S% zR{jGR{Y=S#VbL3YAUVY zI<@v+nS^{}cAB=h3#RNbTm9nT>y))gqtoW- zDd5H=^)$++%D1iD4dR(oGiucEx{r*{!U=l~7)OY5KE+KB5I_Zofl*?wQCehwDUY2N z;u9-BEQ+@{zxtTf`!@+K-3R|rtqRticK$2OO<>}1-l5rvq}pZ`Fw@Tk=VQ3XLj6Tg zguQT6waqTnw)NbFiuDn5%vQ~u{J-V0|ErKco3a^s;=ff4S00e8sa#sgnD?e>#x<>tIwo5bU16BFDJ zMo-o87weY{9tQ7LF23kZ_L+72@es~a|Jfe(qNBn|I*1U6Trem&rvzwU#$n@>{Inl6 z2$%spM1k-`Tz1s#WZ*OTP01^>p*qC|>wid48B%JCH!M5$&7UBHhc8$ouCAI6TD{IL z`pQ{{-%`2og?M5i0I<%3(r`UXkxu6f?=kK2&v6MdSD&}}7+4j?pnGd-Hfxrh3HPnT zI!QYXgd!F&5RwNfrKfaLDK>#tWiIu?;r!#IT8o$7?ViC?m(&rT2mTO!7`^_(7kR(e zXbM!LIb>;7<}Zg!x`ll@-oeLoHS;)mRbIoYvg?VL`BLzc^N(TR(RL$IH?!hy#5$>) z7`upAi2C|4`QcOUMgziEr(}-Tc`NfrU+SOqPdp3DhpP9xE68F7?pn6Ttl$&HwJ7b8F!8M8)Md)}q2R z^(-#D9${mznlI^x4)LkI<7?aAOu*(Q1QpK1F`;cDU|&Nn{>FW)TRV7#PAR~H)PGVF zxqdYJ<6D(y^MwYw3#O}Oqu%6}I)uJpXK&BySL{SGVvzrKzf+FLYZ%~s%oiJbD+&P) z+=rp%iiO}n&}xvgdWE^;sJgO$Ui}}PI53_PJv3=1QvV~09DiDttyht|AHFPFQ%hGG z8T1PhhP51gj|@oJ2v#)1sZXowiaI89KZRu^pv-y#b&BV^b9vnff8ps$-+?STBLh35<}eQddgJh?-#CVeR4%V!P_i8-OE{hv+_;9<{sH9T<5MHY#Bt zrX9*y`md+HT)>&uvuqj-Mt9s&3K%Luz$#pAe`eYB^}}JbY;7TxoaBwv4+`8&#XyDl z#Sf~UH#fYCiNDE2t?}}Z!T5%y$vYeV{r#rlBEh9MZE|ZW);?CZ9J1c_z-Nt{V?~8LE!mgdb9-wpp!-AJgXu4-!7LQP11~Y3?Mp^@+`{WMJtBPyn zdu}ihR(})(8sL3&xyh=r;(yB2;Q;?e{YGdiYJG0obwXM-;5yt#+A1dohewPesQyu> zCI%hHcGW+8BajunY_U$ivR=*F1SST-FTFB#%KaO&a;+*^B@>q#JYPSGAkqOyGhh-mD*X+>Rr>6k_w3Nkivg)E2ELv#gssXZLn;{zGfeAtv_-w2yb41YR3 zaM-b?)zY<)a6zS9J*!y$OPNJRc@lHkRe^!uhTs$T)&f_3NnzwX2Fq=3uV z8*5g$pnwM$hY@i)<;+=zOTNeq;9P*=d(JYiwC1iQ+rO!I*G}uV#4LTw#uA_AuD)aC zs~@?P>cCv%`CB6z^O>99Fabr3h~Er`wa)JOTIy;QJz(zC+SXR#Hx^8v7P$H4jHFGo z4E-yU58hmSTI@DRZbZOYECX(yKWsaH947Ve@FkujV=Ns@+{z^ z9MVcIxB}ptJavu@3$N5QHYx@VJ@)u;0at{4QQZDN$yk4|Zv(0p*SAj#|06zvS9>Se zY0meb{jtH;uaQ`6Y=7(m9{zrv=<(RW!6@+;m^ZT$=)jKt0+(lZ|2L5F`AnBb(pbC+ zj;q#|r8MQh)lgP!W9R%^HV|8Z{dvLo0pFJ*k%D;{>4U}2Wr=uo3Yizls+-Zf{aaLc z!Kd?Q;@8dSRAe?U=}HRLqi~3wF8%v~NZ=T^>(`T^q?b7-tsFh&^lnFjK8YI>FPo zD$=1`>wkx8|Jv?k)>4D~&}G+#mj0Xnz>pK4-8ar#+1d(9m*b;{-3(sO8u$$wHildS zK(SN}bI)$S=sX!+jozY;=-&n-)JAwoD_Qx?nq#ni$O!V$fFe_vp&ojXTv0-RaH~T>#6B7uT;5_O3`0Orhs(*I55f; z(}RxM^SpV%5gG~RCFu~y{&5W{BFnbM?4pnyMear;@IOZ%Xdx;&6?JSIQw8ZMSJ?2Y zT(rgpRExcfy5aaLyCot&-kEAOE`$QYOK?!*W`doQsSAF$G)M7+xuE%B0G6uUq3gE$ zQDIvVCLNNfXmCs*xWj zaCDze_oIGWY>Xc+sYiyIYdExo>9`x)y23h?i_Dx&i?#SxOp69CM%B}m2i;DU0ggo2Y3S64S@S}t(PoWqnhBC1uZot>I8_fe)Hv6 zbJKfm&wvoy!gJ|l@%)n9r&X10DV~RZA9AbfPu|4hR|*u@;SmEC)xi@h_q@%@nsmvJ--hDKZTQVRgxf~)Ty1tG>6UDDzmRuZf;+nX z#OI>vuK`d!ELRSsr5_gqtd+Q9dN>Je3K*%NOne$kO-r+19{-tM31AV=$EcDB$E z6O%qvKtOv;Fz=g9%B;c2@4yRD6@2ePS{i$g??nZLc%?xa4)u z30vjigYh2DkOxVUIDKHroQp1;)k=97CXKs!(|nI@-2B#qcgjh>FSAHzOw%&U%C=x_3_l~+871Z%st&BW%PO{7`r{{Jn3Sttv*#nxtN$2 zRxd20=w&GRZX>F7ht*~XePx7|o+y;gY&e=O#a8W_QKRb5x zzcQcyUB~`jwuj$416rW0PzSlXhIH9!viFZS@eQT|S@-5*Vyzo8Qc{H3gSJ<%J_-&V zx(~Sht^XEQCUTxU)2%izyJKI#7QF4A@G0A2FZtaApzm`4yl&8%w1?*EPo)xGpgY|1FOX zuFViBTEq5CX>N<<-#?)*Y`EBel9n<3Ql8)v{9Ij{ME6+#<({GjR?n%O3mUlT{vt5s zEt&1#Kg^KE56%-R&Yp#>yx{`aQ8S9mZ)9QB$Ll0JW0!_hn<5N3U(o07niy+WGL%v1 zSUPa4dgTOQJjK7f_zL>FFWXo5=X#BeU3lz!y0(@l!Lf>ZtO0uds!kzPL+#IkR8P;I zPXhvvR^o-=v$MhIzB?f2>SZYO!at^*Y{0e8xose8CW;=l%!jc}cdzcKIsMb4*qiUFWS+$9yr%FSDJ)?h#u4iMbax*V@ z^AvEwo-5ea&h%QPI@GD|N+v2OFRq0sH(w(H3LRi-0-;^{g;QriDS4NhtIj~}Wn0gD zcLD~ib6o*op<%z#oCS2iSpzy+n9Tv0;`YO=&NH3eMU5_ydpX$8-5FX@@iI~%eid85 z0Wc+g2OJF?S6W7)S`GWQwI@_XFMH>H1j3;2ra&`$0DnYQX)(TZc*qCf#K6>~Xli!J1=Hf8 z;nNbjl-wbkqHRkPX*M0 zlp{{E*VC0lOO?`d_rq6S= zi?A?EzbA^sX5s^6?}LsbayJ0VzQ()UHBN=`tA1vy$}v|lo3c=t;c;rF^3Xy=G!97T zmI=4oF5`WJpuWAejjT&Dshf-?!GjNSLS%FboXCI>*V=^h34xa|2DVBtHlD;7*+N5= z3OAYSd>xn<##{Q@q&J2tbY$WCS$si4a0a?=>@}LS(xDDz)%JS)5*2a2XhtjfN?p7% z;w4_T`mfms>o;}fC3{l#xG<{U0iF@=TJ(!y8U?e3uFc| z$^jju;05-?E7Rnlsy8L_nv0-Cdhd`2`kC<2P)>w2%3O~6s@<^*PQ4P8JZfT}hs-3FP5oHTc_0oi5T{I0NlmkyTA)>k9-oY+wquzqH#A2cO4WlO>&<$C z-sxtsJ$oy*&$+Tn4J3h$Um+j|e{||Whv!RV0;i_KH`-F9_@QKNgkJ2_q#h^^R_>Za zPf7FFvrcCy?vZc>NKRmdj|&m1)Z&g=l!}1Vn)bED4wz~WPpH9SGJ}*P|Dee^4i;9hU<~ z2Jjd(4l^FI7|6tjqYu0?$;S+Cj-Rfpxt%$qr~D(Fr+mY4>g?a$0j|Ckm>N%QVM|`N zp(^?FI85jI_As#)NYF1HHKO1wOt@2C-o8tlEoU@E>sS07`a&O6-qpmO?UPW>^5 z9#5I0n+6ZJ}0A;D~rmBm&y%y?L3*z?zX8Pu;d`hfQylulINUg1*xVkkQ!#Jo>&Lca3Un* zyApYqOqs>_8B<{{#t1fiT!{JOq5AL)RI0-^4#&@t5_2|@`oU!Mct z3umY@YuBQgsO}HW$4EUDA=Hdgu1ygm{e1uV>XZDjvS*!8&|jttTmvkS;AI?lg4I%( zd4B!fA)J**W82>~_!?l-mgjb?72h2}my^xAXwHMbJt9znOM&l!65-wsBXtus)~V4}*DIy4%2cb{Mr zSFaRCL4~QflEOZ$tP>K%df8cCr+q=^kU37o)n|b@z&q%aCTadJBM6;dwPIz#V7 zz9;L|8X*Q@lrj?`6GnY{w@ln0yo#e zt9t(Wg{=t}5_2=NUYfl0xo9UDpiXW8Ruul%L8Gq81@CJJsP~R zqc4P}=F(xc@$ESMMu1JRQ8}*D@0yf7a&}M0nE^+mDH|v88j)PVt($5ahQ0c>+=bL3>!_<%Jmz(QWW)LmmM`SFXU)5;6~heai^I7f!9+c)N}~M* z)7}n?jM}*)szoa$gn)BtaSdEQI_KbS*77c~uxLs>lHI1N;uDy2O7c)q+ zU(lyBVadwOyP3*zuR70cXu7YdqDNeX(>r?Nn7T79eoN+SQxAEsoWCAcBilO~_G*9n zPQ&*8(;GdlWMY!dGTDl*Ve3czx){ViTxVS@y_F-!(f)v~Gaqj_-mBQjc-}xfb^kWH z66ddDyE@n39R`D^q9GHGoGV?aO3H})4SgEN^TR^UeO3=p6|V*c87waI zrf5I_JI7MUmbjMcXQQGiEjn|K>QKzBFXWCosakP0Hx}RV zWhMpoaCGFIo)h0`ifnPgoO7k%7X4MQhBI0Z8*+`RP~GV_wHqDc96vJ?pIDE#bQP-+ zab1@68$6h>`Nep|rM5VmujI;dQf;x3>o9mIc^-MPy-8}k9E_s}*C!@q)7@#p>BJe0 z67%2*TRJtFFn!J{6bLAmr4GipdELAKQeN(N$IqvmnNB=JbiiZU9jf#kOZ3gc+j3(2 zw`}#*wCWSXTp2)sj2(Kg{8~1jp4hrzUEIaOg=0{uSG}u8n3GY}DYPx->nY`5G`-!? zqEqprpidj$8|7^3zn_qBWMpmKd}{D@caMWvBD%lRaI_zi9hr#}JSO|V=J_~PIaRpO zv-Lts?DXM;%Uw+|2ZiK%r`?1Wo*RpiM=n!z zKQs^e8<;klAU3l4Dx;s`X$^BGd?42?@*Y}ZIg-i|o8#%k(jW2Y&fp4J6vX#1vdtGB zj;`C8Qf#99l0JF@_5uOOdaSu|CbsvM74Bt@c8bb_=MEdwFFVr`R?41g?FLQs76PSd zR*4?DhNlW8>*9Lv{$*244QX3Rzp|Rem|y5530dQC2|1<-TWtZOW;$|9o|d=@cJ3v? z`=>Hw`htb*M-~pclR0ec#VE@>y|{E*%5YgbB4$ZntU)AzmEC?66cHyI63?t#nye)} zqROxCf|rimgzAiV?K>J$Z^Z$fxcaSHS706OSvFr!N2Yvnj9ps6#iUsqdhtPO)~G_o zL+DuZB9=r#ui{OpWSq}e0E;SKIas~ZE6DUM0MLoh7Y;+CGkqUD%7+Kk z1_th1#*QDKH{-%rD3>QGD0cJ(2bM}a>q0d}osa@?$h+6PO6Y2iDSfotY2tg}{{G@H zp@c2$mX$YGJg)-g9&1i%f_#n(E9EGYe9b%oxADU0ei3~s5ZX(G=_lmBn!*{kPeCSj;+UY`VRE*tCENZH#D$cZu?`{C%#*T}iDvq7T-alX9=BGK1g2Igo7ihrROo4Wq+ zXk-yi-=6hHVQRHu(mg(|Fv?ezGWZxlrRX{;!Ul2ntNqRmeyGhe07)|SwYJ~a?&RL~ zlwy$?AK= z?)&K!ldYZmyi%(jY!ll_v${HzPRS4YFsq{35M*>+@9BNE!W@nnSdxYwJ~&=y*lj+- z%oRm_5I#5CJ&1R`S}k%>FKA5M%z5qEi1h>+;P}^=rQ(s%T|m%&*&RLND3T!rS~L{n z6orFd-$zNy&vx_7OLUuEumKWly5cV6yJw3Z`vv(1;|>D+$zze5IC?~!c~P#6V~>{Y zeLG5cNZdt z?;#GaGBEw%EfG9+^0D>CtCQHvZ(|M-lFbIU{<=X=uQ9@x)aBLPMvEv2>bY72(^XDHQ*b+}e1ovMR%Xt}Q+qc-V&1P9-tMch!TFj# z(?>oGBChgm+49lC{io$5Ze665-WwSZzWuor2(Iwys%XQbWiE@V>|;I_(Y7+V7TfD^40R^A zDG3zl%H0Lm77>FE9?xB+6f#DYgylfpo4O@Ozb$5qxL~a*=g3a7 z?t}BP?(J+NvdjzQJ5SEl`y_ARr|@1k9I40#U~Ubo8{-y9{4WC+xYxkbUU_cQb}U9Q ztY6e)ndjgIKTXWHr$>C7M(?RHrt6}=N< z6Y9>j4O(Shey&drIW`6p+^BuRh#AaYInPU!)ZGck(_(pXmN-U6_s44xyAj(EEP7t5 zOIyuGpP_E-GGzm0iQF8Sv(1#?%jkyAX;&>-c68cg9y!33OGFM$VAb3a*7C!{83*EN(l@imzPz!JVJ~V-5FXsp5RYHqI!CGl-Ub1C zVL3vMHsvy*j`9XE{RS&MpTN0kamvH=Ky)kO8h_EzlAZWr=nGSG(9``e$~|Ho?48wEmr)6UsRVg{@JiKm2Uw0y#dp5`m#uhRUlgX!Z^53&7` zQE-V$sI65k6Zbf9-~c|`N>A>Qv=`nsW|ZVW?^qT4K^}ALe^DI$y5s%6hrduLl6Kqk zQ&c4KNIF}%zvLUfG(%EhsHnh!De?=I08HWg>lgG)?+G6HQGY8yXRXwc-X%Pb8w+x-w31wR$fZLH z@vD_)HT2%A?tjIl_kJE(MZPQLks>l&29_%QsNJt<7LLT^?0NT9B7ak8s{uf%e*mYc zII1;C$fz{RBf8lQ>*qK-sA^jJ+HTFcPCr?hrud{J$b3EXC&6-Xpbt9m%eeBC&jcHd z{v(Dbwd_SFw!W}SIbK1eSO8bH~evmT1CBH!Ql3~U%%dRN}f`%R#DzyAdYdHVY5 z6;tauFfw@Lws5))I$Bi59^IFQR?YTkj)cwJJ=9v#xw>QA)AUKqjMQzu)Pi))*rkIt zHhs}BLG?~b#t)io6io_#S_x#d>6?;q%5C30OI<`OkR_wf1tg-NU+5%{NdC;c;&P8K z4oHvd1yY}sF-mVN!?rWkY@Y`?cqW@q3H0c48y@Zw$hnO8S2h$H>2uSx?-jdVN*ZPV zDZ_uq6iliob}pks4RlxX6*vn5F+hIHm*3c(P)>sm4re`6;M9)gxHgOYXmj#KdI>A~ zbA~JU23g3N{}r#$O`<@^hvXg((LyZ%z8z|fA)Lzk$s?Qum&1JMXRK+Lax?y&Bh_Qi zRme%g0XXl}fJ~qyz`k2i-;!NH{|O*KUuHxex!3Y53-fjN$yZ%BK*|gzH}Go>az(S$ zA<+d&6w$f%c+A)K6Fs#^h06Hopy{}8OA8vUIqa;tOWY3j;To_c0Y7Vpf}@})rxMNX zZk$6tyK?STlt-#Ayr_M30)WUrE42NN@ZY~KbZL2r*|stpLg+1%!p4=~e8CFL%RsK~ zqp9ABF0rPFVx-3;IBauU7%%#7EziB^dUsmnI!)=-LiX zKu@G4+2&b>ZN~pjz41go+Y9*q3VJ_<#s6(X&K56Y$Q>~rq1&4qp|mtC%4jxevCpfW zG~~Iq;Jo3go5S7@91_|6YS6x)12nu1*cQt&8gPHs?2yiF?X>Uwd9CDFV6KyjJB?;; z6ge^d_+i&_41rZ@fV$nbaw0Ci_v^F17+VpLjq;rKPw^}_&Zh0jcU9JVBqgCdsc>7` zI5468R(4t`Aax!Zb0!FPk2hzoBo}ffOn!c@WXNxe*kibJQwcQtLmKgNjq(W>Z%YGt zMgSEzceY)VW>IRuO$RtJX~u&wDT(b1^5>?AI1jSittc3|I9$BzmvU=BjY0oyOJbR} zIVE0J=iRaW7;0@56 zV)O1G$(lbjQYWSQpY6xSc?OggE9XgCWexmGm?UigBmDM(M5wwL^NL^i>K6y9fG6az zy6eHDQQHa5INOX`Hl6_ByOPp00SC&DL)91k!liYaUpIEvNErEAG=FR%E_XVO#L1b^ z+CKnYQM?$Wp^xeP9u@~7G>)&g$(>(xkm&gL8)!ne!vm9m_ew8;Gs*5obBE}%2q)bJ zjCEb44siF^^JY~m4oslf)OK&?$wNQPoz+PlZor$oUq6!F-G&bT)USqkxL2krU#w@0 z{24sG-g}s4ol$h_-`UG{<$&LH79?h;Y_WWJrAKi6C@=8b3X3gowTbUCFa z*ga88fxHmZw_GBQ=$D{T6Gj7SQP(@FYnvxhoIdZS_3!H78=oCp%4r}xuBYazqaJ8m zGyWx#WFX*|EoajZu@>4}bUkulVr+^s^IFk5T+pFVty-nTs_z=*)1CSkVH_t5LdFAU zy!iS(NA5Y9c)y;iNG887PN?Nb}J1gn@(z5U#b=BT{-wZKh*2w6kK=wh{`aSi>t4~xfk zIwqPBG*9iHYE+Cp>^e+kwv!bYHT1KwgXR0*$=;i00PmyZnajQjEuG?jOCWEYQM>oh zM$L=iQM7Mnepy%*ci)4pp+RpI%(^l>`)gjEw&M*e&l>~|pF)~Ub!13oKYZUCo4c_;QzER0$BR!?yoyNcC3L%^6lL ztYdLKd-1jX zC~fFaB-^-SPusX^Wc=w7;QnxR4dtrp)@xW+x*6hmkM=W0D3p^M5VybL8bI>`f1Z>b zK``x@aLswo@`Qt628@2?q-45LC9aDO&4tHoxTqYADBkpMzUFlxlMwTTuXDCA-}?q} zR>U?GDJM!$$JS~*-49ljzMOan<7r-e>`~K)Ue-X32SPM$-A53NM$o?n;r=-Qd(!lG z+$*?#mC;cNe%HEoE4LZ_RS&4Oe|9Mea_z1aJjgs+`Z^7uYJjMj`{i{v(e3i<5GmrT zu;{0H7F$mOB5f*P`7F5Y&po3(#`+fK61Bt@9hAkyEX8(uyosymJhQ!B4sYb(_7`}q z6tocPbNk_jinN(P77wIZEH>N9xFEI z$Mjh~uxNAF+E`JP8o$dQ5?C{pZCMBuF_~{OnL7%6Prh^Z6+mAk4BqTj)<6}eB@d#* zKdgP9>%s#PHIh9S{z02nVuh?f{VmK}P4!^54qT6>l@8h%qNF znaowLtD%>zq%WSSb8#DKglf0n{%&5iShwGG@uyiJ7DahQcg6}?>7Z|Iv{gruYG0^SoGwLV4z!OXK#G!1|A zgB#XZaGLNZ3Cjo{nF~SAHq!{y(Md@RAt_it^`}D`%Bfd=+_`dB)$vdHVlp=pTP2L} z`kOvIm-`iUlNUE9c^9V{;I)OzLp{@3UoeHy% zzcXw0sD*!Nu9mI|REX;}YzVGGuQn*QTPmCNeYq&keH3_N)%Wj!t^ar@B|pLjr%JK~ z56_dOAe-iEh+Jlauu)})FVyCSmIifwJ@V9ZcpN`!5wKjvj@Y=37#zRf4Q|Rux0Trl zFwV2|olcFtS@^AlFqi5_Wql#5`Z+Fw?dKvF%I+b2 zdP;`*ZPpe{nrr!w)f7!+&ksp+Kf$w3MLBo|$s4ALbvP8Z=r}Kb>Bd3`%gpjQ6Gm`2 zWx2jmin{I2n5d(K!)x<*S*w&c3%nHFx0%-W;4{yRmu;%*>}#*m!y2{3N?%Gyv}5tX zfiJ@Jkl&@9>3CBID)F=4*bUaE)=Zgk%*XCO;&vZ&9Vs;9tYEPh3p& zo$jX=FTHkOHpxKW$=8N*dB6$sfon9Yn7I}gtIw65ZJ56QY;!}6J^FjMJt-Hq?d{cH z7CYTwLr-ZoP5(D`PnwpOmfA6Ig@uF)9I?lx{{e38{w-h^sAKbgE3@x@{d~m#{2`spEy(#OaDrZ=F#|4mdEEKXZb@jd%gU8hut7jT z_3GRZR$wHq1M?C(l4y^n{T#M`-K>~Y#86uU(2AL^`tEr#rD`;Fqo?WF%Fh;)O_ z>*>-e^m|Q(Ofmm!|I_}zF8<53k^cqId#0y1Yhu#C$aYa-OR|vJ_}?Z_ekbElm1(gS zxb%OQRb$-X(0HJAuNdqKyR+|H+HLtAyW9I(gB9Y~!Lhhwz{aECIS@|$owe-@@BI0H zn8|;A^^aXg4z!lA;(#dGf)hH!eMFC6w?pr-VjRwWEYK5t#Sar!@{hWw!z*EQa+Jn& z-s`d{1YGtoWA5?owPY7k#I-_uR(y z#-q*#BSkp=3lHkk=0n?emJT^LgqN^QSGoAQW5*2Gz4WEE7O$>-=O4tG`S@5k8L_b? z0kx=hfS)t{5P$z{@7^$|HavR$2GNl>%-U;L@XfEZGeD)RA~WG5$QGbqS6UH^iW0R2nb5= zMS4k)-kS)KmQX_pO@V|KIs^#ix8phIo^rqUeedV)e}IrZd-lw%_RN}RnW`n8dNQz_ zGp)}Pe9YZ`{^%kOc*k%;^(5CPM1w3-j=SKwpC_FgPyLG|i@xg1YeAJ@RpT7B(8YP| zYNqQvTbvE4udDmkt$fp}&y;})!?r6b)LBtTpHf3q${Z?^;oX4DJl0!gh_|8VQWeBa zX?$*f$8|p8F^j1E5R>WAO=Dc7KPZCyRt1k2vp4nbsug#L9x6t9r>N^|$V zO#Xwqlh*0}#hku|w#-k#F-Kaasf|VtJ*Yo+Y{d1rK^p{p^ZC=ftJU0r0b7#s6(}5sV*FWEzZaeVr2J)ULwPM^nQC%)(bRZp75@ZL$c|a&dU>trMH_GHDv~%tVzCjZqdaS;BEBiJTeRbknEz z?yVDK=oYFO^K!*?S0S$U4QyK-;S;Ex2h^);T0_Gg5?35-+=3w@9vJG{nyvVKsYr{4 zNv^(O+ym{9fPWlu12!z=lrk)HqA#V@cCSMZYv~qmXd!MrJWLN4n3L8QREw2c>do(R zogcJFP49ASiqOR5#=*u2zCW;V5^G1lshZ+;al@^X40k*r6LB)T=2OZ26(x&lN4e4n z)dzF@B-?|ExTRg>lF0BfRVcXfa96`HU_J+4yQ*e7_HPa%=>4MS-+^cJr+)4g71zHG zCl3KZo_}B`Gfw<9U(=y<=YYcwxNTftr~SE_Q%>5|=?rh!s?0W=F|U<>f;VOG2jjwS zuHkki)S8`dxW{8uF>K1^t+W@X67jH&nI0i{I8#2j92=O3#V$V)6MV?3fy-&N6#AQZ z0l$K;x(mov7j}`E8W?Meo?sZaV z^{30U%vCDqTYk|AOoSw2<0n8egT4b1$(BeE1vL&v=j-n;DLD38ZI=d_jGgcPJ=Xp6 zsZSNx<~u2*c?)K$W_PQsij))e(~MWFWpa;Pl+%)96D#t(E4yptyRv@Cie&yVFre7i zQ7 zBIA88V$^8n`IlnW=V<&YpNO6BE+;*uLRMc#NEPdr4-6Srb4<)bcj~;ZH*quISs+^k zzc%#FWE|`Sd-7rYV=SiP0loE=V$YO*W~xxkwqZ3^ygL*4%V)>N^zw$sAu?sNO$q2D zH;+lKa2i^huidIXAdO6Y=VWunzMmDza z){Ra4lTk=XoR?Y0sl`{}Tqe16qbhVvahWMQ{Bx3^=?MqSi?)LNci3>qPI}H{Nyakg z$Ii-$235zx{8v;i(M%;GFYqN15`cdcw|;sP3Ks-Ql>RU_3$iBe%@i6El3kti zvff`sWH&+1+w7pnQl3ynqLaDsJG=X*tDn-lH**91*1ul1|I*;s_vI-=L=o{qR*^q} zI^3Dbp$wKI zFLjR}hV<*SK_b)SO8I7dvCFk#Y{d?OCm%l1t`?Gi+Yz+wq^V_ZN_UfK&Z}IAQ@%uD zCOXons7f~t8Sq_|MvrP>l)*e2@F?ih)ymh}n3q~2gQL1tc}Tkj%x#xg@P|gD3nx@0 zrqW9OlrV~b^Pzwnr4P7Kj@|Clk)nUP7e+JxbyE2cAlS~0>=fyK)+_XnLl6`eVx)ad zsyU2p#1#_l{a@7sD=!C^hrRE(h67|Kv3Na3%EFFNBT-9+r9XW#eYu z+e)@$?kSABvO#Wnew(6zkj*|bmeW9tVU&2%$FjWGIEOYH;#XNH?f{@l-@l41C>qZBy3`v6h=@Lf!g~(% z{czf)@Ft*V%LzXTz8S1l;=z56D@~=)$nmreXuV7w-qmy_II8@xZHQYt5)Xx0kOW9( z!L`GY@J*k(W=Tw$jQ_Ey6Wrf{crdQr%ChS9+i*`y@&L>yFv8Fe)7F#5D=F0O714_K z^qp!Q$(R}9aXr3^$;5sq1^;uy$vYm8nnqDivSd`QP~W zd?59MR$KcI=%G?b{n=U%4z4GgWhuiQ^})&hX=hRg019df?H+`&*U(XF{S%UVNOzqXl``XFpF97YBJH)Nb%6#+t zgWo2Ww%lbSYh5F=l7{9^c13GfTUJye*||#cvvM958XAS`6y-mb=sh3u-iDiw*3^kX z4u}+9bMxtB{G>DUF$wz+8b=udp0zs*Oq>rbLU9;%*TZIWeNpF&0sk0gQHthZq%(sJ z=4@0^fLiXpfiK`Q#}?NOTnm_6Q5s%*eQ_e{htbqUzwtEdAA>`-M_=s2#jurNv0Pxj z5jP(kLlxV+VKG~4k#gRxtRER%WzwwO`d-NAd%+bwwhh^vfwK;_XKZ*cXr62Y7DBuE z{7A3ssu2xxiICrjr#+}maKOA_4;AJbrF&j!{)sbBV9hzW{TjuB*rY4moh^jtOFxN~ zPg7CjozU~4v;qgb{M>4qR^0juuY0%_)?+vqf`zX zQfMW_oVp*YPQ%h=mGh}(FWH^th?wlkTk@L z(8GFoSB)k_-RYRrDH>0H)z&V&9`?ya_*iXaN@2+ZXthPDOV`^}5mPUoQshTkHFtl9 zmmCmMGn_rsFKC|T}WtykGMLNucld9#x(Mr_7?*iv-X8lff>NM$@Lds z-$Rebr~F`?@n)ckl!Uru&8nv6X4TzgR~W4e;uGBkclf=gtcF9J?=Dyle|@aQ&LIMR ziQ>F+{2A*^Dpt^mQhBN6|kb!wS<4PeY0!AbWhUQHS_mr#SN6ap(2BgXK+{ zk=X?Cmqm1Abj1T9%Q=kFU8!^HmMTtGLq-h-j1s7wbZ;$c)4`2s5Y?5nC&m9dldWHf?U4?hA1OI1SW^3TsXU8tc#aJ->q8o$b*{}NrivT;k*YRUBb}qpF zg+nl=G`jADq@Cf@NZ6Rdgm%&689@)&$WEQP5pt2z&4Gt0D{Kl9mrhJ>n&Qpx+Ff7F zVJ5hqxyMN!lfDbOtDIvA6WSAz1ba^H`KX(j`7?*1EW#tAxoo$_<6?mq9zhdDor6S1 zQr`}&PPqXVMK_4f@MESC(&FL+PV#KA0nnPPxr5Xz(V65j+^I zzhGLdt1~EO*-QN7LzzC5UA|$Y?~in?wYGPUUa#a{4XoUb0tr_t0e0iJ0_#Q3#GMc9 zmI^t|lvEo%WV8af(lJoWSRq+ycxU*F4rF(%<`PF*JS%fm}Z=mzS$%j6l-&O{9x1#5*jfIfjUzFmq?xrn1k}WpW zD{vlfYva}q$6=?;kj#N-u4=NNd|x%43kg|PpsX))TUX>}rY$aGcX5i1thzxoe)?9- z19e;XQO@!9ZaUGZc?zC1#6HS2&%{Iz9AD$(!<1CtrDjde((}NsOiV5svA(?9t$vS~ zZ5ZG+lPEDY^T>a=M$lg(2y&{MeB8A89C>pjM`dUn9aR_uDQH3KSxD&wGd$NPD=Ve3 zqtCuSnhlCZ8@V5S#EX|hw{7VXL-nPb&Ag^=f>or_Ku>sw`c5-@A6sjE-%oh!P+GLi~h_ltnH3RMXR4)B~NyVY0v%JUO- zvrno$P)RzQpE#f`;QS*l_)<~+S(zCFCbwdc&RnvsIn$~EqG8Z|_oQiAinw^=D5-$= zB$8!|b!`KbdyRXm!(g7LoY3trudgo(;`Tj$On+^rN!jZMika@LPdut2c14C{Uctbi z4Zr^hd@V^>wTw*_ND)QaysRGPnRcs0HF+hIW+xJaWHcPYjbf^cN^wX^X^l^63me?$ z*BdYDr|%gJeS6&bnCxTyn$^2N(q%5BT8GCz%+YBM73K;TJ(hL2CTX4g4moGtsQ-%d zvP^ah2%t`1tA1ra#b6#RVo!9iCmM!44PgDkue21o7Re+J_IwC!$#&VX$GzRM8zfxI@ zzYcMG_9b|o2OB}Btgq+#6;t&+SKGzTs9sy){Ssf$IUZ5TCpJ6K$-@ww)x)8+mQSd~ z8)MGr=D4R0cG8lE9j)Gx3`B;eGa894sEht{b%e(gsD}x!SH-n=j?PTyCdw|Sw~+0l z&5qmAPd9I8a7isSf$gSs<@;AN^>cM|M5%&y?j(oe{_XeI8{=n~X%VV4^B=g+SniW1 zTv8z8FQ_Yh<9gY-6y6pJZdKN^x0ucRgjc>kAAOA2YP=XV)wC2+v9Cr}nqr<`;DvU+ zp2NSEn=pVRHn({*!ghLndWg~2s!TS)9WwQ&?%(FZf?be12Gv+FqZF#{<_~j_h(Wcj z@jTV}6FXWWZ3Ye8@`@|8H+TCyZgsO+>F+q#;yrfOpXs}%`AreC`BAP!IW{mz{Mivv%$GI&d4UQ44zv*dOa>p0s? z9cH1gyvY*Hcz-V$+EWC3=Q=J647$~L$Hn?#OF3o#)h4rp@pF<^(G}(1)VJpD04o@x8_hxE}cewUY=vlLEuIeI(c;Vyfv6KF*m%}fwbUoOc ze6lc>8jX0^E-#@+-ute0eag&dzgXQFB(=^ z6hiT*|IUdKK-K?uFOLJ@&Alo04`z(PVqMAv!4rczY1SD8E)674Sgz^cU|e9QTN^Mt zdD*{QpsjaJ^z47Nsx4`DcKd(>!-w68eU;ag9^w0bLuRQSo%cd^JM2}?t ztP3e4qtiW1lS2PDR9!oI+secwb(F61&70HPOEHggl>hk}0nh(CmBjy!iRnK;>i^fK zZW_@2BXN=3#jkWM7M1_(E5%K_zT05So&|9oAxm^$^pAfhfaTeL?s-=*FXH|V*PWWl zUBEVlX=#!$kpu$#)A%9;sL%Yd#UznzUqF z2Cu}H>J1FA4v$y${EJ{p9s5+i+|#Q;RB^+wpf0Z6z51DHOtSD_SvOF|Z zFK@TSjz+1tL`e8Sj=H#9iK6Xp0&7~`SMhYbUeAq@M`^%uXqL`$QQs0#Y?Zw+T4-x4 zqav|!WT3EQ;S`-=xlWo0b6!^aitITSs9ttolwE?D8aJnXDzkhav(p#D2{M?Xz|?I) z>RMrTN!tcA+M#9$0UPoC0u!cfh9%zUNr)XZ2H{4OK_o{)qNAlThKdt()_So^ESvhR zcjaGXiA2yD)neSGsITI8nbn4}tvi@Z{k3G0D{ z4~2buCox~cD!$)Y2B-VTg?0PBSNY+rHv$}zBZe3-U^&2)0e;=zuk*LZ=;j%2@wk>} zrM@aAo>f-lvhCZ=k}k7y+0x6X*|`{HxKp@RJ~(Z)Lx3wsOxnfpL__Dx7u(7=Pa8X! zNTFljYZ^E&XK5D)ax$3%1E7r-2rhrMV!$FrIMi3v(1a{ZpEcC^&KtU||K8PYla|!X zy(F^p%-DB79W#dBBX}WZD1DDj=f+9{8XL6EsbLXbQD+NsHGK&+tdo#&$nuBUvHDAF zY=aBlCAPy_n&`s8N4a3{uM>6pp?H%q{r}opz-xWdk#;ZUfO88<7VyGa8W<~Y4)1N6 zLA0lDxH$`;7b3q1J!yTWI@Fn7^*n1OvjC+vL^vqH)y_^@z1=sFf8NKa!su0OGGgQY z=BH1+JPvgIr@(S|@0U*u00TMML})90+Y~L{-Ax~?4IO{^M(5_VfQ-K2gr=~?4s%Ze zNFHh_+2viA!ncj{zL+&U!hjIRi79y$#vuy$eckS_U3tC|@Xgy+sMq&Crb|l@bQ0m9 zrHJ8@oV^&Zsa`WxJ*Z% zY1Hsw!-N`IUw?d)Ur%I+jEGwBKS1uX{ench*UB1*b0&J{tzu{5WY~ zWGEZ&X_Y^VdaTd9!GLc(I)Q2_d89e|IYcB5nt`rRNpG`An{nm_nyj%8Sh}{hdxGK- zK^M5;r0?|y(ldJ`=DCA;EOl{0y8wUfd7h-sDALi}79`e`1zNC8x#u0sFc6K3dBAeH7@2r?*u@TnP>L zc_Hi5m^eI!V!cr5U9Z7fA`5VwclTz(V}ql-G&I?A=dpa%KP7c8lCu#JgQnI@9u1^2 zj9WL@!xh;UwVBwx5?-zu{vfhEhUAnDK&``Agr09s`4~sI3P?V7zEv+z|Mizl$04k_ zzRD&b>=LLY!obBpj0bU8G;?-agLl5MGAIQYSq)W5JF*c-(N^_d6U16xa9XexDYu#% z->B%Ey~F`$FpZJuLP$RKIpz_5NN|Q%#CX%x`k&K%VYQ-=?+jJLXbrkZ3K^LOkoc_c zs%_bqDW!^OfGkcsyvw@@3#P24889<8J2?9=RkFtWM_)|;MA=t^Wfk&wHg#>^g3?{B z-lbwKPd|B=kDq9zt+EfCTGnuP?l7j~ypuk}E(r@B1od4>PfTfe;%v;h7&j4G?qgvg zn+B$T=o+h|x>E4E>iWkCN&usNj4+9>dII7!Y>90QDc^vzgp|pY_gmDnLVY+ohC-@B z2BD?I6G_z>*J2o(p7{Te{VQA7=CMab#QIZ7g%#=KI|-K4HzUJ`=fgG+@%T)HhKL`S`}wDHFQbht7s`? z_SZx9y>xEN`1}1=%6RX}?R(09^5)>=c9? cI1L?nG-dXGT??P5Sobq#*Bm#TqQD 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
    J&;|tCeQ<1_~SrRy+H9mk~ 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 bd+TXOGtB)Nk3ukW*rap8K&wpC{=xqPfhUD% literal 0 HcmV?d00001 diff --git a/public/assets/images/previews/8.png b/public/assets/images/previews/8.png new file mode 100644 index 0000000000000000000000000000000000000000..f05eb6d72d35cc4386f4d0e7bd1c0390aa5a89fb GIT binary patch literal 117484 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 Hi$DGk!Ml5^ literal 0 HcmV?d00001 diff --git a/public/assets/images/previews/9.png b/public/assets/images/previews/9.png new file mode 100644 index 0000000000000000000000000000000000000000..8f634b1252dd566ba876b06a7b82ab60d6dc4a78 GIT binary patch literal 401109 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Ⓢ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 literal 0 HcmV?d00001 diff --git a/public/assets/images/previews/activity-log.png b/public/assets/images/previews/activity-log.png deleted file mode 100644 index b138825d77c27fc749dabfed05a7f383c3252e75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 518618 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 +%u3%9eB#vE(J*Sw33E8uY0 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≪VR@i(4Xl5O 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 diff --git a/public/assets/images/previews/add-key.png b/public/assets/images/previews/add-key.png deleted file mode 100644 index 1e9cfa7fb28976967a6aec9a87c9f06344d0bb85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 386837 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

      LcuWGaxkM}LNY9MnHzOKx_k=rL}7^~0v}(0ZdY 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

      M*A~4s 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 z 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 diff --git a/public/assets/images/previews/my-account-lics-opened.png b/public/assets/images/previews/my-account-lics-opened.png deleted file mode 100644 index 72845c51e32ac97deb2d41730544b6fccdeaf32c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90837 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%0A?_?9 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�qx|`$^7W$muBncUy>G0zRaCCIdhKmB$%h}~ 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 S?YHp2pRBZ!RKA3v&wl_gE+_N= diff --git a/public/assets/images/previews/my-account-lics.png b/public/assets/images/previews/my-account-lics.png deleted file mode 100644 index 629e63f8155b5ecaddf67e47c22d237d13da3bcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351324 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%0AdH04%Z-(5dwfj_`B^Z|q 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

      P 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�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

      h`n|XDaxU^{i2! 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

      AlU5$hqMhXSSA+?=(v}^sl?jdJRmzJ5LYTz&wAK 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%0D5u|)J3?Xc=b@%4t={c8ae>BC2i%~$ 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%0DIBUG7D<66L7ktLk#sB= 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 e07m22AHneNXqNPOkP86q+$<88pTzJ=eQY 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 z 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�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�i{sQ*#&MemmaGYZb9yj3446WH&+ZJqA9i3++w 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�Le557r5S$>3ZUqq^&AokXKRxaZxv8Kx>SYsV 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

    1. 1@#+@;#(9Rs2E)NoRN-Eo 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%0A9`_{*SYl@ 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%0D*rb@{^e~Z$$ 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%0Dg=NldofmXE+%yD66;ZR73QOzyLi!`&qcCS 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 + + + + + + + + + + + + + + + + + + + + + + + + + From 033772f4a00ea512645ebc9eb316e4ceadeb1fa7 Mon Sep 17 00:00:00 2001 From: Michel Date: Fri, 8 Nov 2024 15:35:24 -0500 Subject: [PATCH 266/293] 6.1.8 release 6.1.8 release --- plugin-update-checker/.editorconfig | 15 - plugin-update-checker/Puc/v4/Factory.php | 6 - plugin-update-checker/Puc/v4p9/Autoloader.php | 63 - .../Puc/v4p9/DebugBar/Extension.php | 177 -- .../Puc/v4p9/DebugBar/Panel.php | 165 -- .../Puc/v4p9/DebugBar/PluginExtension.php | 33 - .../Puc/v4p9/DebugBar/PluginPanel.php | 38 - .../Puc/v4p9/DebugBar/ThemePanel.php | 21 - plugin-update-checker/Puc/v4p9/Factory.php | 356 ---- .../Puc/v4p9/InstalledPackage.php | 103 -- plugin-update-checker/Puc/v4p9/Metadata.php | 132 -- .../Puc/v4p9/OAuthSignature.php | 100 -- .../Puc/v4p9/Plugin/Info.php | 132 -- .../Puc/v4p9/Plugin/Package.php | 184 -- plugin-update-checker/Puc/v4p9/Plugin/Ui.php | 277 --- .../Puc/v4p9/Plugin/Update.php | 112 -- .../Puc/v4p9/Plugin/UpdateChecker.php | 398 ----- plugin-update-checker/Puc/v4p9/Scheduler.php | 266 --- plugin-update-checker/Puc/v4p9/StateStore.php | 207 --- .../Puc/v4p9/Theme/Package.php | 65 - .../Puc/v4p9/Theme/Update.php | 84 - .../Puc/v4p9/Theme/UpdateChecker.php | 142 -- plugin-update-checker/Puc/v4p9/Update.php | 34 - .../Puc/v4p9/UpdateChecker.php | 947 ---------- .../Puc/v4p9/UpgraderStatus.php | 199 --- plugin-update-checker/Puc/v4p9/Utils.php | 69 - plugin-update-checker/Puc/v4p9/Vcs/Api.php | 302 ---- .../Puc/v4p9/Vcs/BaseChecker.php | 27 - .../Puc/v4p9/Vcs/BitBucketApi.php | 265 --- .../Puc/v4p9/Vcs/GitHubApi.php | 441 ----- .../Puc/v4p9/Vcs/GitLabApi.php | 309 ---- .../Puc/v4p9/Vcs/PluginUpdateChecker.php | 218 --- .../Puc/v4p9/Vcs/Reference.php | 49 - .../Puc/v4p9/Vcs/ThemeUpdateChecker.php | 118 -- plugin-update-checker/Puc/v5/PucFactory.php | 10 - plugin-update-checker/Puc/v5p5/Autoloader.php | 86 - .../Puc/v5p5/DebugBar/Extension.php | 199 --- .../Puc/v5p5/DebugBar/Panel.php | 186 -- .../Puc/v5p5/DebugBar/PluginExtension.php | 40 - .../Puc/v5p5/DebugBar/PluginPanel.php | 47 - .../Puc/v5p5/DebugBar/ThemePanel.php | 25 - .../Puc/v5p5/InstalledPackage.php | 105 -- plugin-update-checker/Puc/v5p5/Metadata.php | 162 -- .../Puc/v5p5/OAuthSignature.php | 102 -- .../Puc/v5p5/Plugin/Package.php | 188 -- .../Puc/v5p5/Plugin/PluginInfo.php | 136 -- plugin-update-checker/Puc/v5p5/Plugin/Ui.php | 294 ---- .../Puc/v5p5/Plugin/Update.php | 116 -- .../Puc/v5p5/Plugin/UpdateChecker.php | 425 ----- plugin-update-checker/Puc/v5p5/PucFactory.php | 362 ---- plugin-update-checker/Puc/v5p5/Scheduler.php | 300 ---- plugin-update-checker/Puc/v5p5/StateStore.php | 214 --- .../Puc/v5p5/Theme/Package.php | 69 - .../Puc/v5p5/Theme/Update.php | 88 - .../Puc/v5p5/Theme/UpdateChecker.php | 159 -- plugin-update-checker/Puc/v5p5/Update.php | 38 - .../Puc/v5p5/UpdateChecker.php | 1141 ------------ .../Puc/v5p5/UpgraderStatus.php | 200 --- plugin-update-checker/Puc/v5p5/Utils.php | 70 - plugin-update-checker/Puc/v5p5/Vcs/Api.php | 379 ---- .../Puc/v5p5/Vcs/BaseChecker.php | 29 - .../Puc/v5p5/Vcs/BitBucketApi.php | 272 --- .../Puc/v5p5/Vcs/GitHubApi.php | 467 ----- .../Puc/v5p5/Vcs/GitLabApi.php | 414 ----- .../Puc/v5p5/Vcs/PluginUpdateChecker.php | 275 --- .../Puc/v5p5/Vcs/Reference.php | 51 - .../Puc/v5p5/Vcs/ReleaseAssetSupport.php | 83 - .../Puc/v5p5/Vcs/ReleaseFilteringFeature.php | 108 -- .../Puc/v5p5/Vcs/ThemeUpdateChecker.php | 83 - .../Puc/v5p5/Vcs/VcsCheckerMethods.php | 59 - .../Puc/v5p5/WpCliCheckTrigger.php | 84 - plugin-update-checker/README.md | 372 ---- plugin-update-checker/composer.json | 23 - plugin-update-checker/css/puc-debug-bar.css | 70 - plugin-update-checker/js/debug-bar.js | 54 - .../languages/plugin-update-checker-ca.mo | Bin 1186 -> 0 bytes .../languages/plugin-update-checker-ca.po | 48 - .../languages/plugin-update-checker-cs_CZ.mo | Bin 1077 -> 0 bytes .../languages/plugin-update-checker-cs_CZ.po | 45 - .../languages/plugin-update-checker-da_DK.mo | Bin 1010 -> 0 bytes .../languages/plugin-update-checker-da_DK.po | 42 - .../languages/plugin-update-checker-de_DE.mo | Bin 980 -> 0 bytes .../languages/plugin-update-checker-de_DE.po | 38 - .../languages/plugin-update-checker-el.mo | Bin 1455 -> 0 bytes .../languages/plugin-update-checker-el.po | 52 - .../languages/plugin-update-checker-es_AR.mo | Bin 1140 -> 0 bytes .../languages/plugin-update-checker-es_AR.po | 48 - .../languages/plugin-update-checker-es_CL.mo | Bin 1140 -> 0 bytes .../languages/plugin-update-checker-es_CL.po | 48 - .../languages/plugin-update-checker-es_CO.mo | Bin 1140 -> 0 bytes .../languages/plugin-update-checker-es_CO.po | 48 - .../languages/plugin-update-checker-es_CR.mo | Bin 1140 -> 0 bytes .../languages/plugin-update-checker-es_CR.po | 48 - .../languages/plugin-update-checker-es_DO.mo | Bin 1140 -> 0 bytes .../languages/plugin-update-checker-es_DO.po | 48 - .../languages/plugin-update-checker-es_ES.mo | Bin 1140 -> 0 bytes .../languages/plugin-update-checker-es_ES.po | 48 - .../languages/plugin-update-checker-es_GT.mo | Bin 1140 -> 0 bytes .../languages/plugin-update-checker-es_GT.po | 48 - .../languages/plugin-update-checker-es_HN.mo | Bin 1140 -> 0 bytes .../languages/plugin-update-checker-es_HN.po | 48 - .../languages/plugin-update-checker-es_MX.mo | Bin 1140 -> 0 bytes .../languages/plugin-update-checker-es_MX.po | 48 - .../languages/plugin-update-checker-es_PE.mo | Bin 1140 -> 0 bytes .../languages/plugin-update-checker-es_PE.po | 48 - .../languages/plugin-update-checker-es_PR.mo | Bin 1140 -> 0 bytes .../languages/plugin-update-checker-es_PR.po | 48 - .../languages/plugin-update-checker-es_UY.mo | Bin 1140 -> 0 bytes .../languages/plugin-update-checker-es_UY.po | 48 - .../languages/plugin-update-checker-es_VE.mo | Bin 1140 -> 0 bytes .../languages/plugin-update-checker-es_VE.po | 48 - .../languages/plugin-update-checker-fa_IR.mo | Bin 1128 -> 0 bytes .../languages/plugin-update-checker-fa_IR.po | 38 - .../languages/plugin-update-checker-fr_CA.mo | Bin 1208 -> 0 bytes .../languages/plugin-update-checker-fr_CA.po | 48 - .../languages/plugin-update-checker-fr_FR.mo | Bin 1066 -> 0 bytes .../languages/plugin-update-checker-fr_FR.po | 42 - .../languages/plugin-update-checker-hu_HU.mo | Bin 982 -> 0 bytes .../languages/plugin-update-checker-hu_HU.po | 41 - .../languages/plugin-update-checker-it_IT.mo | Bin 1135 -> 0 bytes .../languages/plugin-update-checker-it_IT.po | 48 - .../languages/plugin-update-checker-ja.mo | Bin 1454 -> 0 bytes .../languages/plugin-update-checker-ja.po | 57 - .../languages/plugin-update-checker-nl_BE.mo | Bin 1211 -> 0 bytes .../languages/plugin-update-checker-nl_BE.po | 48 - .../languages/plugin-update-checker-nl_NL.mo | Bin 1211 -> 0 bytes .../languages/plugin-update-checker-nl_NL.po | 48 - .../languages/plugin-update-checker-pt_BR.mo | Bin 1014 -> 0 bytes .../languages/plugin-update-checker-pt_BR.po | 48 - .../languages/plugin-update-checker-ru_RU.mo | Bin 1337 -> 0 bytes .../languages/plugin-update-checker-ru_RU.po | 48 - .../languages/plugin-update-checker-sl_SI.mo | Bin 1203 -> 0 bytes .../languages/plugin-update-checker-sl_SI.po | 48 - .../languages/plugin-update-checker-sv_SE.mo | Bin 1006 -> 0 bytes .../languages/plugin-update-checker-sv_SE.po | 42 - .../languages/plugin-update-checker-tr_TR.mo | Bin 1118 -> 0 bytes .../languages/plugin-update-checker-tr_TR.po | 48 - .../languages/plugin-update-checker-uk_UA.mo | Bin 1309 -> 0 bytes .../languages/plugin-update-checker-uk_UA.po | 48 - .../languages/plugin-update-checker-zh_CN.mo | Bin 1174 -> 0 bytes .../languages/plugin-update-checker-zh_CN.po | 57 - .../languages/plugin-update-checker.pot | 49 - plugin-update-checker/license.txt | 7 - plugin-update-checker/load-v5p5.php | 34 - .../plugin-update-checker.php | 10 - plugin-update-checker/vendor/Parsedown.php | 4 - .../vendor/ParsedownLegacy.php | 1535 ---------------- .../vendor/ParsedownModern.php | 1538 ----------------- .../vendor/PucReadmeParser.php | 352 ---- slm-plus.php | 4 +- 150 files changed, 2 insertions(+), 18728 deletions(-) delete mode 100755 plugin-update-checker/.editorconfig delete mode 100644 plugin-update-checker/Puc/v4/Factory.php delete mode 100644 plugin-update-checker/Puc/v4p9/Autoloader.php delete mode 100644 plugin-update-checker/Puc/v4p9/DebugBar/Extension.php delete mode 100644 plugin-update-checker/Puc/v4p9/DebugBar/Panel.php delete mode 100644 plugin-update-checker/Puc/v4p9/DebugBar/PluginExtension.php delete mode 100644 plugin-update-checker/Puc/v4p9/DebugBar/PluginPanel.php delete mode 100644 plugin-update-checker/Puc/v4p9/DebugBar/ThemePanel.php delete mode 100644 plugin-update-checker/Puc/v4p9/Factory.php delete mode 100644 plugin-update-checker/Puc/v4p9/InstalledPackage.php delete mode 100644 plugin-update-checker/Puc/v4p9/Metadata.php delete mode 100644 plugin-update-checker/Puc/v4p9/OAuthSignature.php delete mode 100644 plugin-update-checker/Puc/v4p9/Plugin/Info.php delete mode 100644 plugin-update-checker/Puc/v4p9/Plugin/Package.php delete mode 100644 plugin-update-checker/Puc/v4p9/Plugin/Ui.php delete mode 100644 plugin-update-checker/Puc/v4p9/Plugin/Update.php delete mode 100644 plugin-update-checker/Puc/v4p9/Plugin/UpdateChecker.php delete mode 100644 plugin-update-checker/Puc/v4p9/Scheduler.php delete mode 100644 plugin-update-checker/Puc/v4p9/StateStore.php delete mode 100644 plugin-update-checker/Puc/v4p9/Theme/Package.php delete mode 100644 plugin-update-checker/Puc/v4p9/Theme/Update.php delete mode 100644 plugin-update-checker/Puc/v4p9/Theme/UpdateChecker.php delete mode 100644 plugin-update-checker/Puc/v4p9/Update.php delete mode 100644 plugin-update-checker/Puc/v4p9/UpdateChecker.php delete mode 100644 plugin-update-checker/Puc/v4p9/UpgraderStatus.php delete mode 100644 plugin-update-checker/Puc/v4p9/Utils.php delete mode 100644 plugin-update-checker/Puc/v4p9/Vcs/Api.php delete mode 100644 plugin-update-checker/Puc/v4p9/Vcs/BaseChecker.php delete mode 100644 plugin-update-checker/Puc/v4p9/Vcs/BitBucketApi.php delete mode 100644 plugin-update-checker/Puc/v4p9/Vcs/GitHubApi.php delete mode 100644 plugin-update-checker/Puc/v4p9/Vcs/GitLabApi.php delete mode 100644 plugin-update-checker/Puc/v4p9/Vcs/PluginUpdateChecker.php delete mode 100644 plugin-update-checker/Puc/v4p9/Vcs/Reference.php delete mode 100644 plugin-update-checker/Puc/v4p9/Vcs/ThemeUpdateChecker.php delete mode 100644 plugin-update-checker/Puc/v5/PucFactory.php delete mode 100644 plugin-update-checker/Puc/v5p5/Autoloader.php delete mode 100644 plugin-update-checker/Puc/v5p5/DebugBar/Extension.php delete mode 100644 plugin-update-checker/Puc/v5p5/DebugBar/Panel.php delete mode 100644 plugin-update-checker/Puc/v5p5/DebugBar/PluginExtension.php delete mode 100644 plugin-update-checker/Puc/v5p5/DebugBar/PluginPanel.php delete mode 100644 plugin-update-checker/Puc/v5p5/DebugBar/ThemePanel.php delete mode 100644 plugin-update-checker/Puc/v5p5/InstalledPackage.php delete mode 100644 plugin-update-checker/Puc/v5p5/Metadata.php delete mode 100644 plugin-update-checker/Puc/v5p5/OAuthSignature.php delete mode 100644 plugin-update-checker/Puc/v5p5/Plugin/Package.php delete mode 100644 plugin-update-checker/Puc/v5p5/Plugin/PluginInfo.php delete mode 100644 plugin-update-checker/Puc/v5p5/Plugin/Ui.php delete mode 100644 plugin-update-checker/Puc/v5p5/Plugin/Update.php delete mode 100644 plugin-update-checker/Puc/v5p5/Plugin/UpdateChecker.php delete mode 100644 plugin-update-checker/Puc/v5p5/PucFactory.php delete mode 100644 plugin-update-checker/Puc/v5p5/Scheduler.php delete mode 100644 plugin-update-checker/Puc/v5p5/StateStore.php delete mode 100644 plugin-update-checker/Puc/v5p5/Theme/Package.php delete mode 100644 plugin-update-checker/Puc/v5p5/Theme/Update.php delete mode 100644 plugin-update-checker/Puc/v5p5/Theme/UpdateChecker.php delete mode 100644 plugin-update-checker/Puc/v5p5/Update.php delete mode 100644 plugin-update-checker/Puc/v5p5/UpdateChecker.php delete mode 100644 plugin-update-checker/Puc/v5p5/UpgraderStatus.php delete mode 100644 plugin-update-checker/Puc/v5p5/Utils.php delete mode 100644 plugin-update-checker/Puc/v5p5/Vcs/Api.php delete mode 100644 plugin-update-checker/Puc/v5p5/Vcs/BaseChecker.php delete mode 100644 plugin-update-checker/Puc/v5p5/Vcs/BitBucketApi.php delete mode 100644 plugin-update-checker/Puc/v5p5/Vcs/GitHubApi.php delete mode 100644 plugin-update-checker/Puc/v5p5/Vcs/GitLabApi.php delete mode 100644 plugin-update-checker/Puc/v5p5/Vcs/PluginUpdateChecker.php delete mode 100644 plugin-update-checker/Puc/v5p5/Vcs/Reference.php delete mode 100644 plugin-update-checker/Puc/v5p5/Vcs/ReleaseAssetSupport.php delete mode 100644 plugin-update-checker/Puc/v5p5/Vcs/ReleaseFilteringFeature.php delete mode 100644 plugin-update-checker/Puc/v5p5/Vcs/ThemeUpdateChecker.php delete mode 100644 plugin-update-checker/Puc/v5p5/Vcs/VcsCheckerMethods.php delete mode 100644 plugin-update-checker/Puc/v5p5/WpCliCheckTrigger.php delete mode 100644 plugin-update-checker/README.md delete mode 100644 plugin-update-checker/composer.json delete mode 100644 plugin-update-checker/css/puc-debug-bar.css delete mode 100644 plugin-update-checker/js/debug-bar.js delete mode 100644 plugin-update-checker/languages/plugin-update-checker-ca.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-ca.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-cs_CZ.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-cs_CZ.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-da_DK.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-da_DK.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-de_DE.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-de_DE.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-el.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-el.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_AR.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_AR.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_CL.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_CL.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_CO.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_CO.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_CR.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_CR.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_DO.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_DO.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_ES.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_ES.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_GT.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_GT.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_HN.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_HN.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_MX.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_MX.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_PE.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_PE.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_PR.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_PR.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_UY.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_UY.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_VE.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-es_VE.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-fa_IR.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-fa_IR.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-fr_CA.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-fr_CA.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-fr_FR.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-fr_FR.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-hu_HU.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-hu_HU.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-it_IT.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-it_IT.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-ja.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-ja.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-nl_BE.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-nl_BE.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-nl_NL.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-nl_NL.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-pt_BR.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-pt_BR.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-ru_RU.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-ru_RU.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-sl_SI.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-sl_SI.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-sv_SE.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-sv_SE.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-tr_TR.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-tr_TR.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-uk_UA.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-uk_UA.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker-zh_CN.mo delete mode 100644 plugin-update-checker/languages/plugin-update-checker-zh_CN.po delete mode 100644 plugin-update-checker/languages/plugin-update-checker.pot delete mode 100644 plugin-update-checker/license.txt delete mode 100644 plugin-update-checker/load-v5p5.php delete mode 100644 plugin-update-checker/plugin-update-checker.php delete mode 100644 plugin-update-checker/vendor/Parsedown.php delete mode 100644 plugin-update-checker/vendor/ParsedownLegacy.php delete mode 100644 plugin-update-checker/vendor/ParsedownModern.php delete mode 100644 plugin-update-checker/vendor/PucReadmeParser.php diff --git a/plugin-update-checker/.editorconfig b/plugin-update-checker/.editorconfig deleted file mode 100755 index 1b51cad..0000000 --- a/plugin-update-checker/.editorconfig +++ /dev/null @@ -1,15 +0,0 @@ -[*] -charset=utf-8 -end_of_line=lf -insert_final_newline=false -indent_style=tab -tab_width=4 - -[{phpunit.xml.dist,*.jhm,*.xslt,*.xul,*.rng,*.xsl,*.xsd,*.ant,*.tld,*.fxml,*.jrxml,*.xml,*.jnlp,*.wsdl}] -indent_style=space -indent_size=4 - -[*.svg] -indent_style=space -indent_size=4 - diff --git a/plugin-update-checker/Puc/v4/Factory.php b/plugin-update-checker/Puc/v4/Factory.php deleted file mode 100644 index 3723e00..0000000 --- a/plugin-update-checker/Puc/v4/Factory.php +++ /dev/null @@ -1,6 +0,0 @@ -rootDir = dirname(__FILE__) . '/'; - $nameParts = explode('_', __CLASS__, 3); - $this->prefix = $nameParts[0] . '_' . $nameParts[1] . '_'; - - $this->libraryDir = $this->rootDir . '../..'; - if ( !self::isPhar() ) { - $this->libraryDir = realpath($this->libraryDir); - } - $this->libraryDir = $this->libraryDir . '/'; - - $this->staticMap = array( - 'PucReadmeParser' => 'vendor/PucReadmeParser.php', - 'Parsedown' => 'vendor/Parsedown.php', - 'Puc_v4_Factory' => 'Puc/v4/Factory.php', - ); - - spl_autoload_register(array($this, 'autoload')); - } - - /** - * Determine if this file is running as part of a Phar archive. - * - * @return bool - */ - private static function isPhar() { - //Check if the current file path starts with "phar://". - static $pharProtocol = 'phar://'; - return (substr(__FILE__, 0, strlen($pharProtocol)) === $pharProtocol); - } - - public function autoload($className) { - if ( isset($this->staticMap[$className]) && file_exists($this->libraryDir . $this->staticMap[$className]) ) { - /** @noinspection PhpIncludeInspection */ - include ($this->libraryDir . $this->staticMap[$className]); - return; - } - - if (strpos($className, $this->prefix) === 0) { - $path = substr($className, strlen($this->prefix)); - $path = str_replace('_', '/', $path); - $path = $this->rootDir . $path . '.php'; - - if (file_exists($path)) { - /** @noinspection PhpIncludeInspection */ - include $path; - } - } - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/DebugBar/Extension.php b/plugin-update-checker/Puc/v4p9/DebugBar/Extension.php deleted file mode 100644 index 9401789..0000000 --- a/plugin-update-checker/Puc/v4p9/DebugBar/Extension.php +++ /dev/null @@ -1,177 +0,0 @@ -updateChecker = $updateChecker; - if ( isset($panelClass) ) { - $this->panelClass = $panelClass; - } - - add_filter('debug_bar_panels', array($this, 'addDebugBarPanel')); - add_action('debug_bar_enqueue_scripts', array($this, 'enqueuePanelDependencies')); - - add_action('wp_ajax_puc_v4_debug_check_now', array($this, 'ajaxCheckNow')); - } - - /** - * Register the PUC Debug Bar panel. - * - * @param array $panels - * @return array - */ - public function addDebugBarPanel($panels) { - if ( $this->updateChecker->userCanInstallUpdates() ) { - $panels[] = new $this->panelClass($this->updateChecker); - } - return $panels; - } - - /** - * Enqueue our Debug Bar scripts and styles. - */ - public function enqueuePanelDependencies() { - wp_enqueue_style( - 'puc-debug-bar-style-v4', - $this->getLibraryUrl("/css/puc-debug-bar.css"), - array('debug-bar'), - '20171124' - ); - - wp_enqueue_script( - 'puc-debug-bar-js-v4', - $this->getLibraryUrl("/js/debug-bar.js"), - array('jquery'), - '20170516' - ); - } - - /** - * Run an update check and output the result. Useful for making sure that - * the update checking process works as expected. - */ - public function ajaxCheckNow() { - if ( $_POST['uid'] !== $this->updateChecker->getUniqueName('uid') ) { - return; - } - $this->preAjaxRequest(); - $update = $this->updateChecker->checkForUpdates(); - if ( $update !== null ) { - echo "An update is available:"; - echo '

      ', htmlentities(print_r($update, true)), '
      '; - } else { - echo 'No updates found.'; - } - - $errors = $this->updateChecker->getLastRequestApiErrors(); - if ( !empty($errors) ) { - printf('

      The update checker encountered %d API error%s.

      ', count($errors), (count($errors) > 1) ? 's' : ''); - - foreach (array_values($errors) as $num => $item) { - $wpError = $item['error']; - /** @var WP_Error $wpError */ - printf('

      %d) %s

      ', $num + 1, esc_html($wpError->get_error_message())); - - echo '
      '; - printf('
      Error code:
      %s
      ', esc_html($wpError->get_error_code())); - - if ( isset($item['url']) ) { - printf('
      Requested URL:
      %s
      ', esc_html($item['url'])); - } - - if ( isset($item['httpResponse']) ) { - if ( is_wp_error($item['httpResponse']) ) { - $httpError = $item['httpResponse']; - /** @var WP_Error $httpError */ - printf( - '
      WordPress HTTP API error:
      %s (%s)
      ', - esc_html($httpError->get_error_message()), - esc_html($httpError->get_error_code()) - ); - } else { - //Status code. - printf( - '
      HTTP status:
      %d %s
      ', - wp_remote_retrieve_response_code($item['httpResponse']), - wp_remote_retrieve_response_message($item['httpResponse']) - ); - - //Headers. - echo '
      Response headers:
      ';
      -							foreach (wp_remote_retrieve_headers($item['httpResponse']) as $name => $value) {
      -								printf("%s: %s\n", esc_html($name), esc_html($value));
      -							}
      -							echo '
      '; - - //Body. - $body = wp_remote_retrieve_body($item['httpResponse']); - if ( $body === '' ) { - $body = '(Empty response.)'; - } else if ( strlen($body) > self::RESPONSE_BODY_LENGTH_LIMIT ) { - $length = strlen($body); - $body = substr($body, 0, self::RESPONSE_BODY_LENGTH_LIMIT) - . sprintf("\n(Long string truncated. Total length: %d bytes.)", $length); - } - - printf('
      Response body:
      %s
      ', esc_html($body)); - } - } - echo '
      '; - } - } - - exit; - } - - /** - * Check access permissions and enable error display (for debugging). - */ - protected function preAjaxRequest() { - if ( !$this->updateChecker->userCanInstallUpdates() ) { - die('Access denied'); - } - check_ajax_referer('puc-ajax'); - - error_reporting(E_ALL); - @ini_set('display_errors', 'On'); - } - - /** - * @param string $filePath - * @return string - */ - private function getLibraryUrl($filePath) { - $absolutePath = realpath(dirname(__FILE__) . '/../../../' . ltrim($filePath, '/')); - - //Where is the library located inside the WordPress directory structure? - $absolutePath = Puc_v4p9_Factory::normalizePath($absolutePath); - - $pluginDir = Puc_v4p9_Factory::normalizePath(WP_PLUGIN_DIR); - $muPluginDir = Puc_v4p9_Factory::normalizePath(WPMU_PLUGIN_DIR); - $themeDir = Puc_v4p9_Factory::normalizePath(get_theme_root()); - - if ( (strpos($absolutePath, $pluginDir) === 0) || (strpos($absolutePath, $muPluginDir) === 0) ) { - //It's part of a plugin. - return plugins_url(basename($absolutePath), $absolutePath); - } else if ( strpos($absolutePath, $themeDir) === 0 ) { - //It's part of a theme. - $relativePath = substr($absolutePath, strlen($themeDir) + 1); - $template = substr($relativePath, 0, strpos($relativePath, '/')); - $baseUrl = get_theme_root_uri($template); - - if ( !empty($baseUrl) && $relativePath ) { - return $baseUrl . '/' . $relativePath; - } - } - - return ''; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/DebugBar/Panel.php b/plugin-update-checker/Puc/v4p9/DebugBar/Panel.php deleted file mode 100644 index dd0e259..0000000 --- a/plugin-update-checker/Puc/v4p9/DebugBar/Panel.php +++ /dev/null @@ -1,165 +0,0 @@ -'; - - public function __construct($updateChecker) { - $this->updateChecker = $updateChecker; - $title = sprintf( - 'PUC (%s)', - esc_attr($this->updateChecker->getUniqueName('uid')), - $this->updateChecker->slug - ); - parent::__construct($title); - } - - public function render() { - printf( - '
      ', - esc_attr($this->updateChecker->getUniqueName('debug-bar-panel')), - esc_attr($this->updateChecker->slug), - esc_attr($this->updateChecker->getUniqueName('uid')), - esc_attr(wp_create_nonce('puc-ajax')) - ); - - $this->displayConfiguration(); - $this->displayStatus(); - $this->displayCurrentUpdate(); - - echo '
      '; - } - - private function displayConfiguration() { - echo '

      Configuration

      '; - echo ''; - $this->displayConfigHeader(); - $this->row('Slug', htmlentities($this->updateChecker->slug)); - $this->row('DB option', htmlentities($this->updateChecker->optionName)); - - $requestInfoButton = $this->getMetadataButton(); - $this->row('Metadata URL', htmlentities($this->updateChecker->metadataUrl) . ' ' . $requestInfoButton . $this->responseBox); - - $scheduler = $this->updateChecker->scheduler; - if ( $scheduler->checkPeriod > 0 ) { - $this->row('Automatic checks', 'Every ' . $scheduler->checkPeriod . ' hours'); - } else { - $this->row('Automatic checks', 'Disabled'); - } - - if ( isset($scheduler->throttleRedundantChecks) ) { - if ( $scheduler->throttleRedundantChecks && ($scheduler->checkPeriod > 0) ) { - $this->row( - 'Throttling', - sprintf( - 'Enabled. If an update is already available, check for updates every %1$d hours instead of every %2$d hours.', - $scheduler->throttledCheckPeriod, - $scheduler->checkPeriod - ) - ); - } else { - $this->row('Throttling', 'Disabled'); - } - } - - $this->updateChecker->onDisplayConfiguration($this); - - echo '
      '; - } - - protected function displayConfigHeader() { - //Do nothing. This should be implemented in subclasses. - } - - protected function getMetadataButton() { - return ''; - } - - private function displayStatus() { - echo '

      Status

      '; - echo ''; - $state = $this->updateChecker->getUpdateState(); - $checkNowButton = ''; - if ( function_exists('get_submit_button') ) { - $checkNowButton = get_submit_button( - 'Check Now', - 'secondary', - 'puc-check-now-button', - false, - array('id' => $this->updateChecker->getUniqueName('check-now-button')) - ); - } - - if ( $state->getLastCheck() > 0 ) { - $this->row('Last check', $this->formatTimeWithDelta($state->getLastCheck()) . ' ' . $checkNowButton . $this->responseBox); - } else { - $this->row('Last check', 'Never'); - } - - $nextCheck = wp_next_scheduled($this->updateChecker->scheduler->getCronHookName()); - $this->row('Next automatic check', $this->formatTimeWithDelta($nextCheck)); - - if ( $state->getCheckedVersion() !== '' ) { - $this->row('Checked version', htmlentities($state->getCheckedVersion())); - $this->row('Cached update', $state->getUpdate()); - } - $this->row('Update checker class', htmlentities(get_class($this->updateChecker))); - echo '
      '; - } - - private function displayCurrentUpdate() { - $update = $this->updateChecker->getUpdate(); - if ( $update !== null ) { - echo '

      An Update Is Available

      '; - echo ''; - $fields = $this->getUpdateFields(); - foreach($fields as $field) { - if ( property_exists($update, $field) ) { - $this->row(ucwords(str_replace('_', ' ', $field)), htmlentities($update->$field)); - } - } - echo '
      '; - } else { - echo '

      No updates currently available

      '; - } - } - - protected function getUpdateFields() { - return array('version', 'download_url', 'slug',); - } - - private function formatTimeWithDelta($unixTime) { - if ( empty($unixTime) ) { - return 'Never'; - } - - $delta = time() - $unixTime; - $result = human_time_diff(time(), $unixTime); - if ( $delta < 0 ) { - $result = 'after ' . $result; - } else { - $result = $result . ' ago'; - } - $result .= ' (' . $this->formatTimestamp($unixTime) . ')'; - return $result; - } - - private function formatTimestamp($unixTime) { - return gmdate('Y-m-d H:i:s', $unixTime + (get_option('gmt_offset') * 3600)); - } - - public function row($name, $value) { - if ( is_object($value) || is_array($value) ) { - $value = '
      ' . htmlentities(print_r($value, true)) . '
      '; - } else if ($value === null) { - $value = 'null'; - } - printf('%1$s %2$s', $name, $value); - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/DebugBar/PluginExtension.php b/plugin-update-checker/Puc/v4p9/DebugBar/PluginExtension.php deleted file mode 100644 index ca3de42..0000000 --- a/plugin-update-checker/Puc/v4p9/DebugBar/PluginExtension.php +++ /dev/null @@ -1,33 +0,0 @@ -updateChecker->getUniqueName('uid') ) { - return; - } - $this->preAjaxRequest(); - $info = $this->updateChecker->requestInfo(); - if ( $info !== null ) { - echo 'Successfully retrieved plugin info from the metadata URL:'; - echo '
      ', htmlentities(print_r($info, true)), '
      '; - } else { - echo 'Failed to retrieve plugin info from the metadata URL.'; - } - exit; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/DebugBar/PluginPanel.php b/plugin-update-checker/Puc/v4p9/DebugBar/PluginPanel.php deleted file mode 100644 index 55aec58..0000000 --- a/plugin-update-checker/Puc/v4p9/DebugBar/PluginPanel.php +++ /dev/null @@ -1,38 +0,0 @@ -row('Plugin file', htmlentities($this->updateChecker->pluginFile)); - parent::displayConfigHeader(); - } - - protected function getMetadataButton() { - $requestInfoButton = ''; - if ( function_exists('get_submit_button') ) { - $requestInfoButton = get_submit_button( - 'Request Info', - 'secondary', - 'puc-request-info-button', - false, - array('id' => $this->updateChecker->getUniqueName('request-info-button')) - ); - } - return $requestInfoButton; - } - - protected function getUpdateFields() { - return array_merge( - parent::getUpdateFields(), - array('homepage', 'upgrade_notice', 'tested',) - ); - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/DebugBar/ThemePanel.php b/plugin-update-checker/Puc/v4p9/DebugBar/ThemePanel.php deleted file mode 100644 index 36d28e5..0000000 --- a/plugin-update-checker/Puc/v4p9/DebugBar/ThemePanel.php +++ /dev/null @@ -1,21 +0,0 @@ -row('Theme directory', htmlentities($this->updateChecker->directoryName)); - parent::displayConfigHeader(); - } - - protected function getUpdateFields() { - return array_merge(parent::getUpdateFields(), array('details_url')); - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/Factory.php b/plugin-update-checker/Puc/v4p9/Factory.php deleted file mode 100644 index 599403c..0000000 --- a/plugin-update-checker/Puc/v4p9/Factory.php +++ /dev/null @@ -1,356 +0,0 @@ - '', - 'slug' => '', - 'checkPeriod' => 12, - 'optionName' => '', - 'muPluginFile' => '', - ); - $args = array_merge($defaults, array_intersect_key($args, $defaults)); - extract($args, EXTR_SKIP); - - //Check for the service URI - if ( empty($metadataUrl) ) { - $metadataUrl = self::getServiceURI($fullPath); - } - - /** @noinspection PhpUndefinedVariableInspection These variables are created by extract(), above. */ - return self::buildUpdateChecker($metadataUrl, $fullPath, $slug, $checkPeriod, $optionName, $muPluginFile); - } - - /** - * Create a new instance of the update checker. - * - * This method automatically detects if you're using it for a plugin or a theme and chooses - * the appropriate implementation for your update source (JSON file, GitHub, BitBucket, etc). - * - * @see Puc_v4p9_UpdateChecker::__construct - * - * @param string $metadataUrl The URL of the metadata file, a GitHub repository, or another supported update source. - * @param string $fullPath Full path to the main plugin file or to the theme directory. - * @param string $slug Custom slug. Defaults to the name of the main plugin file or the theme directory. - * @param int $checkPeriod How often to check for updates (in hours). - * @param string $optionName Where to store book-keeping info about update checks. - * @param string $muPluginFile The plugin filename relative to the mu-plugins directory. - * @return Puc_v4p9_Plugin_UpdateChecker|Puc_v4p9_Theme_UpdateChecker|Puc_v4p9_Vcs_BaseChecker - */ - public static function buildUpdateChecker($metadataUrl, $fullPath, $slug = '', $checkPeriod = 12, $optionName = '', $muPluginFile = '') { - $fullPath = self::normalizePath($fullPath); - $id = null; - - //Plugin or theme? - $themeDirectory = self::getThemeDirectoryName($fullPath); - if ( self::isPluginFile($fullPath) ) { - $type = 'Plugin'; - $id = $fullPath; - } else if ( $themeDirectory !== null ) { - $type = 'Theme'; - $id = $themeDirectory; - } else { - throw new RuntimeException(sprintf( - 'The update checker cannot determine if "%s" is a plugin or a theme. ' . - 'This is a bug. Please contact the PUC developer.', - htmlentities($fullPath) - )); - } - - //Which hosting service does the URL point to? - $service = self::getVcsService($metadataUrl); - - $apiClass = null; - if ( empty($service) ) { - //The default is to get update information from a remote JSON file. - $checkerClass = $type . '_UpdateChecker'; - } else { - //You can also use a VCS repository like GitHub. - $checkerClass = 'Vcs_' . $type . 'UpdateChecker'; - $apiClass = $service . 'Api'; - } - - $checkerClass = self::getCompatibleClassVersion($checkerClass); - if ( $checkerClass === null ) { - trigger_error( - sprintf( - 'PUC %s does not support updates for %ss %s', - htmlentities(self::$latestCompatibleVersion), - strtolower($type), - $service ? ('hosted on ' . htmlentities($service)) : 'using JSON metadata' - ), - E_USER_ERROR - ); - return null; - } - - if ( !isset($apiClass) ) { - //Plain old update checker. - return new $checkerClass($metadataUrl, $id, $slug, $checkPeriod, $optionName, $muPluginFile); - } else { - //VCS checker + an API client. - $apiClass = self::getCompatibleClassVersion($apiClass); - if ( $apiClass === null ) { - trigger_error(sprintf( - 'PUC %s does not support %s', - htmlentities(self::$latestCompatibleVersion), - htmlentities($service) - ), E_USER_ERROR); - return null; - } - - return new $checkerClass( - new $apiClass($metadataUrl), - $id, - $slug, - $checkPeriod, - $optionName, - $muPluginFile - ); - } - } - - /** - * - * Normalize a filesystem path. Introduced in WP 3.9. - * Copying here allows use of the class on earlier versions. - * This version adapted from WP 4.8.2 (unchanged since 4.5.0) - * - * @param string $path Path to normalize. - * @return string Normalized path. - */ - public static function normalizePath($path) { - if ( function_exists('wp_normalize_path') ) { - return wp_normalize_path($path); - } - $path = str_replace('\\', '/', $path); - $path = preg_replace('|(?<=.)/+|', '/', $path); - if ( substr($path, 1, 1) === ':' ) { - $path = ucfirst($path); - } - return $path; - } - - /** - * Check if the path points to a plugin file. - * - * @param string $absolutePath Normalized path. - * @return bool - */ - protected static function isPluginFile($absolutePath) { - //Is the file inside the "plugins" or "mu-plugins" directory? - $pluginDir = self::normalizePath(WP_PLUGIN_DIR); - $muPluginDir = self::normalizePath(WPMU_PLUGIN_DIR); - if ( (strpos($absolutePath, $pluginDir) === 0) || (strpos($absolutePath, $muPluginDir) === 0) ) { - return true; - } - - //Is it a file at all? Caution: is_file() can fail if the parent dir. doesn't have the +x permission set. - if ( !is_file($absolutePath) ) { - return false; - } - - //Does it have a valid plugin header? - //This is a last-ditch check for plugins symlinked from outside the WP root. - if ( function_exists('get_file_data') ) { - $headers = get_file_data($absolutePath, array('Name' => 'Plugin Name'), 'plugin'); - return !empty($headers['Name']); - } - - return false; - } - - /** - * Get the name of the theme's directory from a full path to a file inside that directory. - * E.g. "/abc/public_html/wp-content/themes/foo/whatever.php" => "foo". - * - * Note that subdirectories are currently not supported. For example, - * "/xyz/wp-content/themes/my-theme/includes/whatever.php" => NULL. - * - * @param string $absolutePath Normalized path. - * @return string|null Directory name, or NULL if the path doesn't point to a theme. - */ - protected static function getThemeDirectoryName($absolutePath) { - if ( is_file($absolutePath) ) { - $absolutePath = dirname($absolutePath); - } - - if ( file_exists($absolutePath . '/style.css') ) { - return basename($absolutePath); - } - return null; - } - - /** - * Get the service URI from the file header. - * - * @param string $fullPath - * @return string - */ - private static function getServiceURI($fullPath) { - //Look for the URI - if ( is_readable($fullPath) ) { - $seek = array( - 'github' => 'GitHub URI', - 'gitlab' => 'GitLab URI', - 'bucket' => 'BitBucket URI', - ); - $seek = apply_filters('puc_get_source_uri', $seek); - $data = get_file_data($fullPath, $seek); - foreach ($data as $key => $uri) { - if ( $uri ) { - return $uri; - } - } - } - - //URI was not found so throw an error. - throw new RuntimeException( - sprintf('Unable to locate URI in header of "%s"', htmlentities($fullPath)) - ); - } - - /** - * Get the name of the hosting service that the URL points to. - * - * @param string $metadataUrl - * @return string|null - */ - private static function getVcsService($metadataUrl) { - $service = null; - - //Which hosting service does the URL point to? - $host = parse_url($metadataUrl, PHP_URL_HOST); - $path = parse_url($metadataUrl, PHP_URL_PATH); - - //Check if the path looks like "/user-name/repository". - //For GitLab.com it can also be "/user/group1/group2/.../repository". - $repoRegex = '@^/?([^/]+?)/([^/#?&]+?)/?$@'; - if ( $host === 'gitlab.com' ) { - $repoRegex = '@^/?(?:[^/#?&]++/){1,20}(?:[^/#?&]++)/?$@'; - } - if ( preg_match($repoRegex, $path) ) { - $knownServices = array( - 'github.com' => 'GitHub', - 'bitbucket.org' => 'BitBucket', - 'gitlab.com' => 'GitLab', - ); - if ( isset($knownServices[$host]) ) { - $service = $knownServices[$host]; - } - } - - return apply_filters('puc_get_vcs_service', $service, $host, $path, $metadataUrl); - } - - /** - * Get the latest version of the specified class that has the same major version number - * as this factory class. - * - * @param string $class Partial class name. - * @return string|null Full class name. - */ - protected static function getCompatibleClassVersion($class) { - if ( isset(self::$classVersions[$class][self::$latestCompatibleVersion]) ) { - return self::$classVersions[$class][self::$latestCompatibleVersion]; - } - return null; - } - - /** - * Get the specific class name for the latest available version of a class. - * - * @param string $class - * @return null|string - */ - public static function getLatestClassVersion($class) { - if ( !self::$sorted ) { - self::sortVersions(); - } - - if ( isset(self::$classVersions[$class]) ) { - return reset(self::$classVersions[$class]); - } else { - return null; - } - } - - /** - * Sort available class versions in descending order (i.e. newest first). - */ - protected static function sortVersions() { - foreach ( self::$classVersions as $class => $versions ) { - uksort($versions, array(__CLASS__, 'compareVersions')); - self::$classVersions[$class] = $versions; - } - self::$sorted = true; - } - - protected static function compareVersions($a, $b) { - return -version_compare($a, $b); - } - - /** - * Register a version of a class. - * - * @access private This method is only for internal use by the library. - * - * @param string $generalClass Class name without version numbers, e.g. 'PluginUpdateChecker'. - * @param string $versionedClass Actual class name, e.g. 'PluginUpdateChecker_1_2'. - * @param string $version Version number, e.g. '1.2'. - */ - public static function addVersion($generalClass, $versionedClass, $version) { - if ( empty(self::$myMajorVersion) ) { - $nameParts = explode('_', __CLASS__, 3); - self::$myMajorVersion = substr(ltrim($nameParts[1], 'v'), 0, 1); - } - - //Store the greatest version number that matches our major version. - $components = explode('.', $version); - if ( $components[0] === self::$myMajorVersion ) { - - if ( - empty(self::$latestCompatibleVersion) - || version_compare($version, self::$latestCompatibleVersion, '>') - ) { - self::$latestCompatibleVersion = $version; - } - - } - - if ( !isset(self::$classVersions[$generalClass]) ) { - self::$classVersions[$generalClass] = array(); - } - self::$classVersions[$generalClass][$version] = $versionedClass; - self::$sorted = false; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/InstalledPackage.php b/plugin-update-checker/Puc/v4p9/InstalledPackage.php deleted file mode 100644 index 0a2768a..0000000 --- a/plugin-update-checker/Puc/v4p9/InstalledPackage.php +++ /dev/null @@ -1,103 +0,0 @@ -updateChecker = $updateChecker; - } - - /** - * Get the currently installed version of the plugin or theme. - * - * @return string|null Version number. - */ - abstract public function getInstalledVersion(); - - /** - * Get the full path of the plugin or theme directory (without a trailing slash). - * - * @return string - */ - abstract public function getAbsoluteDirectoryPath(); - - /** - * Check whether a regular file exists in the package's directory. - * - * @param string $relativeFileName File name relative to the package directory. - * @return bool - */ - public function fileExists($relativeFileName) { - return is_file( - $this->getAbsoluteDirectoryPath() - . DIRECTORY_SEPARATOR - . ltrim($relativeFileName, '/\\') - ); - } - - /* ------------------------------------------------------------------- - * File header parsing - * ------------------------------------------------------------------- - */ - - /** - * Parse plugin or theme metadata from the header comment. - * - * This is basically a simplified version of the get_file_data() function from /wp-includes/functions.php. - * It's intended as a utility for subclasses that detect updates by parsing files in a VCS. - * - * @param string|null $content File contents. - * @return string[] - */ - public function getFileHeader($content) { - $content = (string)$content; - - //WordPress only looks at the first 8 KiB of the file, so we do the same. - $content = substr($content, 0, 8192); - //Normalize line endings. - $content = str_replace("\r", "\n", $content); - - $headers = $this->getHeaderNames(); - $results = array(); - foreach ($headers as $field => $name) { - $success = preg_match('/^[ \t\/*#@]*' . preg_quote($name, '/') . ':(.*)$/mi', $content, $matches); - - if ( ($success === 1) && $matches[1] ) { - $value = $matches[1]; - if ( function_exists('_cleanup_header_comment') ) { - $value = _cleanup_header_comment($value); - } - $results[$field] = $value; - } else { - $results[$field] = ''; - } - } - - return $results; - } - - /** - * @return array Format: ['HeaderKey' => 'Header Name'] - */ - abstract protected function getHeaderNames(); - - /** - * Get the value of a specific plugin or theme header. - * - * @param string $headerName - * @return string Either the value of the header, or an empty string if the header doesn't exist. - */ - abstract public function getHeaderValue($headerName); - - } -endif; diff --git a/plugin-update-checker/Puc/v4p9/Metadata.php b/plugin-update-checker/Puc/v4p9/Metadata.php deleted file mode 100644 index 93f30bd..0000000 --- a/plugin-update-checker/Puc/v4p9/Metadata.php +++ /dev/null @@ -1,132 +0,0 @@ -validateMetadata($apiResponse); - if ( is_wp_error($valid) ){ - do_action('puc_api_error', $valid); - trigger_error($valid->get_error_message(), E_USER_NOTICE); - return false; - } - - foreach(get_object_vars($apiResponse) as $key => $value){ - $target->$key = $value; - } - - return true; - } - - /** - * No validation by default! Subclasses should check that the required fields are present. - * - * @param StdClass $apiResponse - * @return bool|WP_Error - */ - protected function validateMetadata(/** @noinspection PhpUnusedParameterInspection */ $apiResponse) { - return true; - } - - /** - * Create a new instance by copying the necessary fields from another object. - * - * @abstract - * @param StdClass|self $object The source object. - * @return self The new copy. - */ - public static function fromObject(/** @noinspection PhpUnusedParameterInspection */ $object) { - throw new LogicException('The ' . __METHOD__ . ' method must be implemented by subclasses'); - } - - /** - * Create an instance of StdClass that can later be converted back to an - * update or info container. Useful for serialization and caching, as it - * avoids the "incomplete object" problem if the cached value is loaded - * before this class. - * - * @return StdClass - */ - public function toStdClass() { - $object = new stdClass(); - $this->copyFields($this, $object); - return $object; - } - - /** - * Transform the metadata into the format used by WordPress core. - * - * @return object - */ - abstract public function toWpFormat(); - - /** - * Copy known fields from one object to another. - * - * @param StdClass|self $from - * @param StdClass|self $to - */ - protected function copyFields($from, $to) { - $fields = $this->getFieldNames(); - - if ( property_exists($from, 'slug') && !empty($from->slug) ) { - //Let plugins add extra fields without having to create subclasses. - $fields = apply_filters($this->getPrefixedFilter('retain_fields') . '-' . $from->slug, $fields); - } - - foreach ($fields as $field) { - if ( property_exists($from, $field) ) { - $to->$field = $from->$field; - } - } - } - - /** - * @return string[] - */ - protected function getFieldNames() { - return array(); - } - - /** - * @param string $tag - * @return string - */ - protected function getPrefixedFilter($tag) { - return 'puc_' . $tag; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/OAuthSignature.php b/plugin-update-checker/Puc/v4p9/OAuthSignature.php deleted file mode 100644 index 4cdbe9f..0000000 --- a/plugin-update-checker/Puc/v4p9/OAuthSignature.php +++ /dev/null @@ -1,100 +0,0 @@ -consumerKey = $consumerKey; - $this->consumerSecret = $consumerSecret; - } - - /** - * Sign a URL using OAuth 1.0. - * - * @param string $url The URL to be signed. It may contain query parameters. - * @param string $method HTTP method such as "GET", "POST" and so on. - * @return string The signed URL. - */ - public function sign($url, $method = 'GET') { - $parameters = array(); - - //Parse query parameters. - $query = parse_url($url, PHP_URL_QUERY); - if ( !empty($query) ) { - parse_str($query, $parsedParams); - if ( is_array($parameters) ) { - $parameters = $parsedParams; - } - //Remove the query string from the URL. We'll replace it later. - $url = substr($url, 0, strpos($url, '?')); - } - - $parameters = array_merge( - $parameters, - array( - 'oauth_consumer_key' => $this->consumerKey, - 'oauth_nonce' => $this->nonce(), - 'oauth_signature_method' => 'HMAC-SHA1', - 'oauth_timestamp' => time(), - 'oauth_version' => '1.0', - ) - ); - unset($parameters['oauth_signature']); - - //Parameters must be sorted alphabetically before signing. - ksort($parameters); - - //The most complicated part of the request - generating the signature. - //The string to sign contains the HTTP method, the URL path, and all of - //our query parameters. Everything is URL encoded. Then we concatenate - //them with ampersands into a single string to hash. - $encodedVerb = urlencode($method); - $encodedUrl = urlencode($url); - $encodedParams = urlencode(http_build_query($parameters, '', '&')); - - $stringToSign = $encodedVerb . '&' . $encodedUrl . '&' . $encodedParams; - - //Since we only have one OAuth token (the consumer secret) we only have - //to use it as our HMAC key. However, we still have to append an & to it - //as if we were using it with additional tokens. - $secret = urlencode($this->consumerSecret) . '&'; - - //The signature is a hash of the consumer key and the base string. Note - //that we have to get the raw output from hash_hmac and base64 encode - //the binary data result. - $parameters['oauth_signature'] = base64_encode(hash_hmac('sha1', $stringToSign, $secret, true)); - - return ($url . '?' . http_build_query($parameters)); - } - - /** - * Generate a random nonce. - * - * @return string - */ - private function nonce() { - $mt = microtime(); - - $rand = null; - if ( is_callable('random_bytes') ) { - try { - $rand = random_bytes(16); - } catch (Exception $ex) { - //Fall back to mt_rand (below). - } - } - if ( $rand === null ) { - $rand = mt_rand(); - } - - return md5($mt . '_' . $rand); - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/Plugin/Info.php b/plugin-update-checker/Puc/v4p9/Plugin/Info.php deleted file mode 100644 index e3ed5d4..0000000 --- a/plugin-update-checker/Puc/v4p9/Plugin/Info.php +++ /dev/null @@ -1,132 +0,0 @@ -sections = (array)$instance->sections; - $instance->icons = (array)$instance->icons; - - return $instance; - } - - /** - * Very, very basic validation. - * - * @param StdClass $apiResponse - * @return bool|WP_Error - */ - protected function validateMetadata($apiResponse) { - if ( - !isset($apiResponse->name, $apiResponse->version) - || empty($apiResponse->name) - || empty($apiResponse->version) - ) { - return new WP_Error( - 'puc-invalid-metadata', - "The plugin metadata file does not contain the required 'name' and/or 'version' keys." - ); - } - return true; - } - - - /** - * Transform plugin info into the format used by the native WordPress.org API - * - * @return object - */ - public function toWpFormat(){ - $info = new stdClass; - - //The custom update API is built so that many fields have the same name and format - //as those returned by the native WordPress.org API. These can be assigned directly. - $sameFormat = array( - 'name', 'slug', 'version', 'requires', 'tested', 'rating', 'upgrade_notice', - 'num_ratings', 'downloaded', 'active_installs', 'homepage', 'last_updated', - 'requires_php', - ); - foreach($sameFormat as $field){ - if ( isset($this->$field) ) { - $info->$field = $this->$field; - } else { - $info->$field = null; - } - } - - //Other fields need to be renamed and/or transformed. - $info->download_link = $this->download_url; - $info->author = $this->getFormattedAuthor(); - $info->sections = array_merge(array('description' => ''), $this->sections); - - if ( !empty($this->banners) ) { - //WP expects an array with two keys: "high" and "low". Both are optional. - //Docs: https://wordpress.org/plugins/about/faq/#banners - $info->banners = is_object($this->banners) ? get_object_vars($this->banners) : $this->banners; - $info->banners = array_intersect_key($info->banners, array('high' => true, 'low' => true)); - } - - return $info; - } - - protected function getFormattedAuthor() { - if ( !empty($this->author_homepage) ){ - /** @noinspection HtmlUnknownTarget */ - return sprintf('
      %s', $this->author_homepage, $this->author); - } - return $this->author; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/Plugin/Package.php b/plugin-update-checker/Puc/v4p9/Plugin/Package.php deleted file mode 100644 index b92c5f7..0000000 --- a/plugin-update-checker/Puc/v4p9/Plugin/Package.php +++ /dev/null @@ -1,184 +0,0 @@ -pluginAbsolutePath = $pluginAbsolutePath; - $this->pluginFile = plugin_basename($this->pluginAbsolutePath); - - parent::__construct($updateChecker); - - //Clear the version number cache when something - anything - is upgraded or WP clears the update cache. - add_filter('upgrader_post_install', array($this, 'clearCachedVersion')); - add_action('delete_site_transient_update_plugins', array($this, 'clearCachedVersion')); - } - - public function getInstalledVersion() { - if ( isset($this->cachedInstalledVersion) ) { - return $this->cachedInstalledVersion; - } - - $pluginHeader = $this->getPluginHeader(); - if ( isset($pluginHeader['Version']) ) { - $this->cachedInstalledVersion = $pluginHeader['Version']; - return $pluginHeader['Version']; - } else { - //This can happen if the filename points to something that is not a plugin. - $this->updateChecker->triggerError( - sprintf( - "Can't to read the Version header for '%s'. The filename is incorrect or is not a plugin.", - $this->updateChecker->pluginFile - ), - E_USER_WARNING - ); - return null; - } - } - - /** - * Clear the cached plugin version. This method can be set up as a filter (hook) and will - * return the filter argument unmodified. - * - * @param mixed $filterArgument - * @return mixed - */ - public function clearCachedVersion($filterArgument = null) { - $this->cachedInstalledVersion = null; - return $filterArgument; - } - - public function getAbsoluteDirectoryPath() { - return dirname($this->pluginAbsolutePath); - } - - /** - * Get the value of a specific plugin or theme header. - * - * @param string $headerName - * @param string $defaultValue - * @return string Either the value of the header, or $defaultValue if the header doesn't exist or is empty. - */ - public function getHeaderValue($headerName, $defaultValue = '') { - $headers = $this->getPluginHeader(); - if ( isset($headers[$headerName]) && ($headers[$headerName] !== '') ) { - return $headers[$headerName]; - } - return $defaultValue; - } - - protected function getHeaderNames() { - return array( - 'Name' => 'Plugin Name', - 'PluginURI' => 'Plugin URI', - 'Version' => 'Version', - 'Description' => 'Description', - 'Author' => 'Author', - 'AuthorURI' => 'Author URI', - 'TextDomain' => 'Text Domain', - 'DomainPath' => 'Domain Path', - 'Network' => 'Network', - - //The newest WordPress version that this plugin requires or has been tested with. - //We support several different formats for compatibility with other libraries. - 'Tested WP' => 'Tested WP', - 'Requires WP' => 'Requires WP', - 'Tested up to' => 'Tested up to', - 'Requires at least' => 'Requires at least', - ); - } - - /** - * Get the translated plugin title. - * - * @return string - */ - public function getPluginTitle() { - $title = ''; - $header = $this->getPluginHeader(); - if ( $header && !empty($header['Name']) && isset($header['TextDomain']) ) { - $title = translate($header['Name'], $header['TextDomain']); - } - return $title; - } - - /** - * Get plugin's metadata from its file header. - * - * @return array - */ - public function getPluginHeader() { - if ( !is_file($this->pluginAbsolutePath) ) { - //This can happen if the plugin filename is wrong. - $this->updateChecker->triggerError( - sprintf( - "Can't to read the plugin header for '%s'. The file does not exist.", - $this->updateChecker->pluginFile - ), - E_USER_WARNING - ); - return array(); - } - - if ( !function_exists('get_plugin_data') ) { - /** @noinspection PhpIncludeInspection */ - require_once(ABSPATH . '/wp-admin/includes/plugin.php'); - } - return get_plugin_data($this->pluginAbsolutePath, false, false); - } - - public function removeHooks() { - remove_filter('upgrader_post_install', array($this, 'clearCachedVersion')); - remove_action('delete_site_transient_update_plugins', array($this, 'clearCachedVersion')); - } - - /** - * Check if the plugin file is inside the mu-plugins directory. - * - * @return bool - */ - public function isMuPlugin() { - static $cachedResult = null; - - if ( $cachedResult === null ) { - if ( !defined('WPMU_PLUGIN_DIR') || !is_string(WPMU_PLUGIN_DIR) ) { - $cachedResult = false; - return $cachedResult; - } - - //Convert both paths to the canonical form before comparison. - $muPluginDir = realpath(WPMU_PLUGIN_DIR); - $pluginPath = realpath($this->pluginAbsolutePath); - //If realpath() fails, just normalize the syntax instead. - if (($muPluginDir === false) || ($pluginPath === false)) { - $muPluginDir = Puc_v4p9_Factory::normalizePath(WPMU_PLUGIN_DIR); - $pluginPath = Puc_v4p9_Factory::normalizePath($this->pluginAbsolutePath); - } - - $cachedResult = (strpos($pluginPath, $muPluginDir) === 0); - } - - return $cachedResult; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/Plugin/Ui.php b/plugin-update-checker/Puc/v4p9/Plugin/Ui.php deleted file mode 100644 index 390bcdf..0000000 --- a/plugin-update-checker/Puc/v4p9/Plugin/Ui.php +++ /dev/null @@ -1,277 +0,0 @@ -updateChecker = $updateChecker; - $this->manualCheckErrorTransient = $this->updateChecker->getUniqueName('manual_check_errors'); - - add_action('admin_init', array($this, 'onAdminInit')); - } - - public function onAdminInit() { - if ( $this->updateChecker->userCanInstallUpdates() ) { - $this->handleManualCheck(); - - add_filter('plugin_row_meta', array($this, 'addViewDetailsLink'), 10, 3); - add_filter('plugin_row_meta', array($this, 'addCheckForUpdatesLink'), 10, 2); - add_action('all_admin_notices', array($this, 'displayManualCheckResult')); - } - } - - /** - * Add a "View Details" link to the plugin row in the "Plugins" page. By default, - * the new link will appear before the "Visit plugin site" link (if present). - * - * You can change the link text by using the "puc_view_details_link-$slug" filter. - * Returning an empty string from the filter will disable the link. - * - * You can change the position of the link using the - * "puc_view_details_link_position-$slug" filter. - * Returning 'before' or 'after' will place the link immediately before/after - * the "Visit plugin site" link. - * Returning 'append' places the link after any existing links at the time of the hook. - * Returning 'replace' replaces the "Visit plugin site" link. - * Returning anything else disables the link when there is a "Visit plugin site" link. - * - * If there is no "Visit plugin site" link 'append' is always used! - * - * @param array $pluginMeta Array of meta links. - * @param string $pluginFile - * @param array $pluginData Array of plugin header data. - * @return array - */ - public function addViewDetailsLink($pluginMeta, $pluginFile, $pluginData = array()) { - if ( $this->isMyPluginFile($pluginFile) && !isset($pluginData['slug']) ) { - $linkText = apply_filters($this->updateChecker->getUniqueName('view_details_link'), __('View details')); - if ( !empty($linkText) ) { - $viewDetailsLinkPosition = 'append'; - - //Find the "Visit plugin site" link (if present). - $visitPluginSiteLinkIndex = count($pluginMeta) - 1; - if ( $pluginData['PluginURI'] ) { - $escapedPluginUri = esc_url($pluginData['PluginURI']); - foreach ($pluginMeta as $linkIndex => $existingLink) { - if ( strpos($existingLink, $escapedPluginUri) !== false ) { - $visitPluginSiteLinkIndex = $linkIndex; - $viewDetailsLinkPosition = apply_filters( - $this->updateChecker->getUniqueName('view_details_link_position'), - 'before' - ); - break; - } - } - } - - $viewDetailsLink = sprintf('%s', - esc_url(network_admin_url('plugin-install.php?tab=plugin-information&plugin=' . urlencode($this->updateChecker->slug) . - '&TB_iframe=true&width=600&height=550')), - esc_attr(sprintf(__('More information about %s'), $pluginData['Name'])), - esc_attr($pluginData['Name']), - $linkText - ); - switch ($viewDetailsLinkPosition) { - case 'before': - array_splice($pluginMeta, $visitPluginSiteLinkIndex, 0, $viewDetailsLink); - break; - case 'after': - array_splice($pluginMeta, $visitPluginSiteLinkIndex + 1, 0, $viewDetailsLink); - break; - case 'replace': - $pluginMeta[$visitPluginSiteLinkIndex] = $viewDetailsLink; - break; - case 'append': - default: - $pluginMeta[] = $viewDetailsLink; - break; - } - } - } - return $pluginMeta; - } - - /** - * Add a "Check for updates" link to the plugin row in the "Plugins" page. By default, - * the new link will appear after the "Visit plugin site" link if present, otherwise - * after the "View plugin details" link. - * - * You can change the link text by using the "puc_manual_check_link-$slug" filter. - * Returning an empty string from the filter will disable the link. - * - * @param array $pluginMeta Array of meta links. - * @param string $pluginFile - * @return array - */ - public function addCheckForUpdatesLink($pluginMeta, $pluginFile) { - if ( $this->isMyPluginFile($pluginFile) ) { - $linkUrl = wp_nonce_url( - add_query_arg( - array( - 'puc_check_for_updates' => 1, - 'puc_slug' => $this->updateChecker->slug, - ), - self_admin_url('plugins.php') - ), - 'puc_check_for_updates' - ); - - $linkText = apply_filters( - $this->updateChecker->getUniqueName('manual_check_link'), - __('Check for updates', 'plugin-update-checker') - ); - if ( !empty($linkText) ) { - /** @noinspection HtmlUnknownTarget */ - $pluginMeta[] = sprintf('%s', esc_attr($linkUrl), $linkText); - } - } - return $pluginMeta; - } - - protected function isMyPluginFile($pluginFile) { - return ($pluginFile == $this->updateChecker->pluginFile) - || (!empty($this->updateChecker->muPluginFile) && ($pluginFile == $this->updateChecker->muPluginFile)); - } - - /** - * Check for updates when the user clicks the "Check for updates" link. - * - * @see self::addCheckForUpdatesLink() - * - * @return void - */ - public function handleManualCheck() { - $shouldCheck = - isset($_GET['puc_check_for_updates'], $_GET['puc_slug']) - && $_GET['puc_slug'] == $this->updateChecker->slug - && check_admin_referer('puc_check_for_updates'); - - if ( $shouldCheck ) { - $update = $this->updateChecker->checkForUpdates(); - $status = ($update === null) ? 'no_update' : 'update_available'; - - if ( ($update === null) && !empty($this->lastRequestApiErrors) ) { - //Some errors are not critical. For example, if PUC tries to retrieve the readme.txt - //file from GitHub and gets a 404, that's an API error, but it doesn't prevent updates - //from working. Maybe the plugin simply doesn't have a readme. - //Let's only show important errors. - $foundCriticalErrors = false; - $questionableErrorCodes = array( - 'puc-github-http-error', - 'puc-gitlab-http-error', - 'puc-bitbucket-http-error', - ); - - foreach ($this->lastRequestApiErrors as $item) { - $wpError = $item['error']; - /** @var WP_Error $wpError */ - if ( !in_array($wpError->get_error_code(), $questionableErrorCodes) ) { - $foundCriticalErrors = true; - break; - } - } - - if ( $foundCriticalErrors ) { - $status = 'error'; - set_site_transient($this->manualCheckErrorTransient, $this->lastRequestApiErrors, 60); - } - } - - wp_redirect(add_query_arg( - array( - 'puc_update_check_result' => $status, - 'puc_slug' => $this->updateChecker->slug, - ), - self_admin_url('plugins.php') - )); - exit; - } - } - - /** - * Display the results of a manual update check. - * - * @see self::handleManualCheck() - * - * You can change the result message by using the "puc_manual_check_message-$slug" filter. - */ - public function displayManualCheckResult() { - if ( isset($_GET['puc_update_check_result'], $_GET['puc_slug']) && ($_GET['puc_slug'] == $this->updateChecker->slug) ) { - $status = strval($_GET['puc_update_check_result']); - $title = $this->updateChecker->getInstalledPackage()->getPluginTitle(); - $noticeClass = 'updated notice-success'; - $details = ''; - - if ( $status == 'no_update' ) { - $message = sprintf(_x('The %s plugin is up to date.', 'the plugin title', 'plugin-update-checker'), $title); - } else if ( $status == 'update_available' ) { - $message = sprintf(_x('A new version of the %s plugin is available.', 'the plugin title', 'plugin-update-checker'), $title); - } else if ( $status === 'error' ) { - $message = sprintf(_x('Could not determine if updates are available for %s.', 'the plugin title', 'plugin-update-checker'), $title); - $noticeClass = 'error notice-error'; - - $details = $this->formatManualCheckErrors(get_site_transient($this->manualCheckErrorTransient)); - delete_site_transient($this->manualCheckErrorTransient); - } else { - $message = sprintf(__('Unknown update checker status "%s"', 'plugin-update-checker'), htmlentities($status)); - $noticeClass = 'error notice-error'; - } - printf( - '

      %s

      %s
      ', - $noticeClass, - apply_filters($this->updateChecker->getUniqueName('manual_check_message'), $message, $status), - $details - ); - } - } - - /** - * Format the list of errors that were thrown during an update check. - * - * @param array $errors - * @return string - */ - protected function formatManualCheckErrors($errors) { - if ( empty($errors) ) { - return ''; - } - $output = ''; - - $showAsList = count($errors) > 1; - if ( $showAsList ) { - $output .= '
        '; - $formatString = '
      1. %1$s %2$s
      2. '; - } else { - $formatString = '

        %1$s %2$s

        '; - } - foreach ($errors as $item) { - $wpError = $item['error']; - /** @var WP_Error $wpError */ - $output .= sprintf( - $formatString, - $wpError->get_error_message(), - $wpError->get_error_code() - ); - } - if ( $showAsList ) { - $output .= '
      '; - } - - return $output; - } - - public function removeHooks() { - remove_action('admin_init', array($this, 'onAdminInit')); - remove_filter('plugin_row_meta', array($this, 'addViewDetailsLink'), 10); - remove_filter('plugin_row_meta', array($this, 'addCheckForUpdatesLink'), 10); - remove_action('all_admin_notices', array($this, 'displayManualCheckResult')); - } - } -endif; diff --git a/plugin-update-checker/Puc/v4p9/Plugin/Update.php b/plugin-update-checker/Puc/v4p9/Plugin/Update.php deleted file mode 100644 index 4456001..0000000 --- a/plugin-update-checker/Puc/v4p9/Plugin/Update.php +++ /dev/null @@ -1,112 +0,0 @@ -copyFields($object, $update); - return $update; - } - - /** - * @return string[] - */ - protected function getFieldNames() { - return array_merge(parent::getFieldNames(), self::$extraFields); - } - - /** - * Transform the update into the format used by WordPress native plugin API. - * - * @return object - */ - public function toWpFormat() { - $update = parent::toWpFormat(); - - $update->id = $this->id; - $update->url = $this->homepage; - $update->tested = $this->tested; - $update->requires_php = $this->requires_php; - $update->plugin = $this->filename; - - if ( !empty($this->upgrade_notice) ) { - $update->upgrade_notice = $this->upgrade_notice; - } - - if ( !empty($this->icons) && is_array($this->icons) ) { - //This should be an array with up to 4 keys: 'svg', '1x', '2x' and 'default'. - //Docs: https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/#plugin-icons - $icons = array_intersect_key( - $this->icons, - array('svg' => true, '1x' => true, '2x' => true, 'default' => true) - ); - if ( !empty($icons) ) { - $update->icons = $icons; - - //It appears that the 'default' icon isn't used anywhere in WordPress 4.9, - //but lets set it just in case a future release needs it. - if ( !isset($update->icons['default']) ) { - $update->icons['default'] = current($update->icons); - } - } - } - - return $update; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/Plugin/UpdateChecker.php b/plugin-update-checker/Puc/v4p9/Plugin/UpdateChecker.php deleted file mode 100644 index e99af5e..0000000 --- a/plugin-update-checker/Puc/v4p9/Plugin/UpdateChecker.php +++ /dev/null @@ -1,398 +0,0 @@ -pluginAbsolutePath = $pluginFile; - $this->pluginFile = plugin_basename($this->pluginAbsolutePath); - $this->muPluginFile = $muPluginFile; - - //If no slug is specified, use the name of the main plugin file as the slug. - //For example, 'my-cool-plugin/cool-plugin.php' becomes 'cool-plugin'. - if ( empty($slug) ){ - $slug = basename($this->pluginFile, '.php'); - } - - //Plugin slugs must be unique. - $slugCheckFilter = 'puc_is_slug_in_use-' . $slug; - $slugUsedBy = apply_filters($slugCheckFilter, false); - if ( $slugUsedBy ) { - $this->triggerError(sprintf( - 'Plugin slug "%s" is already in use by %s. Slugs must be unique.', - htmlentities($slug), - htmlentities($slugUsedBy) - ), E_USER_ERROR); - } - add_filter($slugCheckFilter, array($this, 'getAbsolutePath')); - - parent::__construct($metadataUrl, dirname($this->pluginFile), $slug, $checkPeriod, $optionName); - - //Backwards compatibility: If the plugin is a mu-plugin but no $muPluginFile is specified, assume - //it's the same as $pluginFile given that it's not in a subdirectory (WP only looks in the base dir). - if ( (strpbrk($this->pluginFile, '/\\') === false) && $this->isUnknownMuPlugin() ) { - $this->muPluginFile = $this->pluginFile; - } - - //To prevent a crash during plugin uninstallation, remove updater hooks when the user removes the plugin. - //Details: https://github.com/YahnisElsts/plugin-update-checker/issues/138#issuecomment-335590964 - add_action('uninstall_' . $this->pluginFile, array($this, 'removeHooks')); - - $this->extraUi = new Puc_v4p9_Plugin_Ui($this); - } - - /** - * Create an instance of the scheduler. - * - * @param int $checkPeriod - * @return Puc_v4p9_Scheduler - */ - protected function createScheduler($checkPeriod) { - $scheduler = new Puc_v4p9_Scheduler($this, $checkPeriod, array('load-plugins.php')); - register_deactivation_hook($this->pluginFile, array($scheduler, 'removeUpdaterCron')); - return $scheduler; - } - - /** - * Install the hooks required to run periodic update checks and inject update info - * into WP data structures. - * - * @return void - */ - protected function installHooks(){ - //Override requests for plugin information - add_filter('plugins_api', array($this, 'injectInfo'), 20, 3); - - parent::installHooks(); - } - - /** - * Remove update checker hooks. - * - * The intent is to prevent a fatal error that can happen if the plugin has an uninstall - * hook. During uninstallation, WP includes the main plugin file (which creates a PUC instance), - * the uninstall hook runs, WP deletes the plugin files and then updates some transients. - * If PUC hooks are still around at this time, they could throw an error while trying to - * autoload classes from files that no longer exist. - * - * The "site_transient_{$transient}" filter is the main problem here, but let's also remove - * most other PUC hooks to be safe. - * - * @internal - */ - public function removeHooks() { - parent::removeHooks(); - $this->extraUi->removeHooks(); - $this->package->removeHooks(); - - remove_filter('plugins_api', array($this, 'injectInfo'), 20); - } - - /** - * Retrieve plugin info from the configured API endpoint. - * - * @uses wp_remote_get() - * - * @param array $queryArgs Additional query arguments to append to the request. Optional. - * @return Puc_v4p9_Plugin_Info - */ - public function requestInfo($queryArgs = array()) { - list($pluginInfo, $result) = $this->requestMetadata('Puc_v4p9_Plugin_Info', 'request_info', $queryArgs); - - if ( $pluginInfo !== null ) { - /** @var Puc_v4p9_Plugin_Info $pluginInfo */ - $pluginInfo->filename = $this->pluginFile; - $pluginInfo->slug = $this->slug; - } - - $pluginInfo = apply_filters($this->getUniqueName('request_info_result'), $pluginInfo, $result); - return $pluginInfo; - } - - /** - * Retrieve the latest update (if any) from the configured API endpoint. - * - * @uses PluginUpdateChecker::requestInfo() - * - * @return Puc_v4p9_Update|null An instance of Plugin_Update, or NULL when no updates are available. - */ - public function requestUpdate() { - //For the sake of simplicity, this function just calls requestInfo() - //and transforms the result accordingly. - $pluginInfo = $this->requestInfo(array('checking_for_updates' => '1')); - if ( $pluginInfo === null ){ - return null; - } - $update = Puc_v4p9_Plugin_Update::fromPluginInfo($pluginInfo); - - $update = $this->filterUpdateResult($update); - - return $update; - } - - /** - * Intercept plugins_api() calls that request information about our plugin and - * use the configured API endpoint to satisfy them. - * - * @see plugins_api() - * - * @param mixed $result - * @param string $action - * @param array|object $args - * @return mixed - */ - public function injectInfo($result, $action = null, $args = null){ - $relevant = ($action == 'plugin_information') && isset($args->slug) && ( - ($args->slug == $this->slug) || ($args->slug == dirname($this->pluginFile)) - ); - if ( !$relevant ) { - return $result; - } - - $pluginInfo = $this->requestInfo(); - $this->fixSupportedWordpressVersion($pluginInfo); - - $pluginInfo = apply_filters($this->getUniqueName('pre_inject_info'), $pluginInfo); - if ( $pluginInfo ) { - return $pluginInfo->toWpFormat(); - } - - return $result; - } - - protected function shouldShowUpdates() { - //No update notifications for mu-plugins unless explicitly enabled. The MU plugin file - //is usually different from the main plugin file so the update wouldn't show up properly anyway. - return !$this->isUnknownMuPlugin(); - } - - /** - * @param stdClass|null $updates - * @param stdClass $updateToAdd - * @return stdClass - */ - protected function addUpdateToList($updates, $updateToAdd) { - if ( $this->package->isMuPlugin() ) { - //WP does not support automatic update installation for mu-plugins, but we can - //still display a notice. - $updateToAdd->package = null; - } - return parent::addUpdateToList($updates, $updateToAdd); - } - - /** - * @param stdClass|null $updates - * @return stdClass|null - */ - protected function removeUpdateFromList($updates) { - $updates = parent::removeUpdateFromList($updates); - if ( !empty($this->muPluginFile) && isset($updates, $updates->response) ) { - unset($updates->response[$this->muPluginFile]); - } - return $updates; - } - - /** - * For plugins, the update array is indexed by the plugin filename relative to the "plugins" - * directory. Example: "plugin-name/plugin.php". - * - * @return string - */ - protected function getUpdateListKey() { - if ( $this->package->isMuPlugin() ) { - return $this->muPluginFile; - } - return $this->pluginFile; - } - - /** - * Alias for isBeingUpgraded(). - * - * @deprecated - * @param WP_Upgrader|null $upgrader The upgrader that's performing the current update. - * @return bool - */ - public function isPluginBeingUpgraded($upgrader = null) { - return $this->isBeingUpgraded($upgrader); - } - - /** - * Is there an update being installed for this plugin, right now? - * - * @param WP_Upgrader|null $upgrader - * @return bool - */ - public function isBeingUpgraded($upgrader = null) { - return $this->upgraderStatus->isPluginBeingUpgraded($this->pluginFile, $upgrader); - } - - /** - * Get the details of the currently available update, if any. - * - * If no updates are available, or if the last known update version is below or equal - * to the currently installed version, this method will return NULL. - * - * Uses cached update data. To retrieve update information straight from - * the metadata URL, call requestUpdate() instead. - * - * @return Puc_v4p9_Plugin_Update|null - */ - public function getUpdate() { - $update = parent::getUpdate(); - if ( isset($update) ) { - /** @var Puc_v4p9_Plugin_Update $update */ - $update->filename = $this->pluginFile; - } - return $update; - } - - /** - * Get the translated plugin title. - * - * @deprecated - * @return string - */ - public function getPluginTitle() { - return $this->package->getPluginTitle(); - } - - /** - * Check if the current user has the required permissions to install updates. - * - * @return bool - */ - public function userCanInstallUpdates() { - return current_user_can('update_plugins'); - } - - /** - * Check if the plugin file is inside the mu-plugins directory. - * - * @deprecated - * @return bool - */ - protected function isMuPlugin() { - return $this->package->isMuPlugin(); - } - - /** - * MU plugins are partially supported, but only when we know which file in mu-plugins - * corresponds to this plugin. - * - * @return bool - */ - protected function isUnknownMuPlugin() { - return empty($this->muPluginFile) && $this->package->isMuPlugin(); - } - - /** - * Get absolute path to the main plugin file. - * - * @return string - */ - public function getAbsolutePath() { - return $this->pluginAbsolutePath; - } - - /** - * Register a callback for filtering query arguments. - * - * The callback function should take one argument - an associative array of query arguments. - * It should return a modified array of query arguments. - * - * @uses add_filter() This method is a convenience wrapper for add_filter(). - * - * @param callable $callback - * @return void - */ - public function addQueryArgFilter($callback){ - $this->addFilter('request_info_query_args', $callback); - } - - /** - * Register a callback for filtering arguments passed to wp_remote_get(). - * - * The callback function should take one argument - an associative array of arguments - - * and return a modified array or arguments. See the WP documentation on wp_remote_get() - * for details on what arguments are available and how they work. - * - * @uses add_filter() This method is a convenience wrapper for add_filter(). - * - * @param callable $callback - * @return void - */ - public function addHttpRequestArgFilter($callback) { - $this->addFilter('request_info_options', $callback); - } - - /** - * Register a callback for filtering the plugin info retrieved from the external API. - * - * The callback function should take two arguments. If the plugin info was retrieved - * successfully, the first argument passed will be an instance of PluginInfo. Otherwise, - * it will be NULL. The second argument will be the corresponding return value of - * wp_remote_get (see WP docs for details). - * - * The callback function should return a new or modified instance of PluginInfo or NULL. - * - * @uses add_filter() This method is a convenience wrapper for add_filter(). - * - * @param callable $callback - * @return void - */ - public function addResultFilter($callback) { - $this->addFilter('request_info_result', $callback, 10, 2); - } - - protected function createDebugBarExtension() { - return new Puc_v4p9_DebugBar_PluginExtension($this); - } - - /** - * Create a package instance that represents this plugin or theme. - * - * @return Puc_v4p9_InstalledPackage - */ - protected function createInstalledPackage() { - return new Puc_v4p9_Plugin_Package($this->pluginAbsolutePath, $this); - } - - /** - * @return Puc_v4p9_Plugin_Package - */ - public function getInstalledPackage() { - return $this->package; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/Scheduler.php b/plugin-update-checker/Puc/v4p9/Scheduler.php deleted file mode 100644 index ef6ed99..0000000 --- a/plugin-update-checker/Puc/v4p9/Scheduler.php +++ /dev/null @@ -1,266 +0,0 @@ -updateChecker = $updateChecker; - $this->checkPeriod = $checkPeriod; - - //Set up the periodic update checks - $this->cronHook = $this->updateChecker->getUniqueName('cron_check_updates'); - if ( $this->checkPeriod > 0 ){ - - //Trigger the check via Cron. - //Try to use one of the default schedules if possible as it's less likely to conflict - //with other plugins and their custom schedules. - $defaultSchedules = array( - 1 => 'hourly', - 12 => 'twicedaily', - 24 => 'daily', - ); - if ( array_key_exists($this->checkPeriod, $defaultSchedules) ) { - $scheduleName = $defaultSchedules[$this->checkPeriod]; - } else { - //Use a custom cron schedule. - $scheduleName = 'every' . $this->checkPeriod . 'hours'; - add_filter('cron_schedules', array($this, '_addCustomSchedule')); - } - - if ( !wp_next_scheduled($this->cronHook) && !defined('WP_INSTALLING') ) { - //Randomly offset the schedule to help prevent update server traffic spikes. Without this - //most checks may happen during times of day when people are most likely to install new plugins. - $firstCheckTime = time() - rand(0, max($this->checkPeriod * 3600 - 15 * 60, 1)); - $firstCheckTime = apply_filters( - $this->updateChecker->getUniqueName('first_check_time'), - $firstCheckTime - ); - wp_schedule_event($firstCheckTime, $scheduleName, $this->cronHook); - } - add_action($this->cronHook, array($this, 'maybeCheckForUpdates')); - - //In case Cron is disabled or unreliable, we also manually trigger - //the periodic checks while the user is browsing the Dashboard. - add_action( 'admin_init', array($this, 'maybeCheckForUpdates') ); - - //Like WordPress itself, we check more often on certain pages. - /** @see wp_update_plugins */ - add_action('load-update-core.php', array($this, 'maybeCheckForUpdates')); - //"load-update.php" and "load-plugins.php" or "load-themes.php". - $this->hourlyCheckHooks = array_merge($this->hourlyCheckHooks, $hourlyHooks); - foreach($this->hourlyCheckHooks as $hook) { - add_action($hook, array($this, 'maybeCheckForUpdates')); - } - //This hook fires after a bulk update is complete. - add_action('upgrader_process_complete', array($this, 'upgraderProcessComplete'), 11, 2); - - } else { - //Periodic checks are disabled. - wp_clear_scheduled_hook($this->cronHook); - } - } - - /** - * Runs upon the WP action upgrader_process_complete. - * - * We look at the parameters to decide whether to call maybeCheckForUpdates() or not. - * We also check if the update checker has been removed by the update. - * - * @param WP_Upgrader $upgrader WP_Upgrader instance - * @param array $upgradeInfo extra information about the upgrade - */ - public function upgraderProcessComplete( - /** @noinspection PhpUnusedParameterInspection */ - $upgrader, $upgradeInfo - ) { - //Cancel all further actions if the current version of PUC has been deleted or overwritten - //by a different version during the upgrade. If we try to do anything more in that situation, - //we could trigger a fatal error by trying to autoload a deleted class. - clearstatcache(); - if ( !file_exists(__FILE__) ) { - $this->removeHooks(); - $this->updateChecker->removeHooks(); - return; - } - - //Sanity check and limitation to relevant types. - if ( - !is_array($upgradeInfo) || !isset($upgradeInfo['type'], $upgradeInfo['action']) - || 'update' !== $upgradeInfo['action'] || !in_array($upgradeInfo['type'], array('plugin', 'theme')) - ) { - return; - } - - //Filter out notifications of upgrades that should have no bearing upon whether or not our - //current info is up-to-date. - if ( is_a($this->updateChecker, 'Puc_v4p9_Theme_UpdateChecker') ) { - if ( 'theme' !== $upgradeInfo['type'] || !isset($upgradeInfo['themes']) ) { - return; - } - - //Letting too many things going through for checks is not a real problem, so we compare widely. - if ( !in_array( - strtolower($this->updateChecker->directoryName), - array_map('strtolower', $upgradeInfo['themes']) - ) ) { - return; - } - } - - if ( is_a($this->updateChecker, 'Puc_v4p9_Plugin_UpdateChecker') ) { - if ( 'plugin' !== $upgradeInfo['type'] || !isset($upgradeInfo['plugins']) ) { - return; - } - - //Themes pass in directory names in the information array, but plugins use the relative plugin path. - if ( !in_array( - strtolower($this->updateChecker->directoryName), - array_map('dirname', array_map('strtolower', $upgradeInfo['plugins'])) - ) ) { - return; - } - } - - $this->maybeCheckForUpdates(); - } - - /** - * Check for updates if the configured check interval has already elapsed. - * Will use a shorter check interval on certain admin pages like "Dashboard -> Updates" or when doing cron. - * - * You can override the default behaviour by using the "puc_check_now-$slug" filter. - * The filter callback will be passed three parameters: - * - Current decision. TRUE = check updates now, FALSE = don't check now. - * - Last check time as a Unix timestamp. - * - Configured check period in hours. - * Return TRUE to check for updates immediately, or FALSE to cancel. - * - * This method is declared public because it's a hook callback. Calling it directly is not recommended. - */ - public function maybeCheckForUpdates() { - if ( empty($this->checkPeriod) ){ - return; - } - - $state = $this->updateChecker->getUpdateState(); - $shouldCheck = ($state->timeSinceLastCheck() >= $this->getEffectiveCheckPeriod()); - - //Let plugin authors substitute their own algorithm. - $shouldCheck = apply_filters( - $this->updateChecker->getUniqueName('check_now'), - $shouldCheck, - $state->getLastCheck(), - $this->checkPeriod - ); - - if ( $shouldCheck ) { - $this->updateChecker->checkForUpdates(); - } - } - - /** - * Calculate the actual check period based on the current status and environment. - * - * @return int Check period in seconds. - */ - protected function getEffectiveCheckPeriod() { - $currentFilter = current_filter(); - if ( in_array($currentFilter, array('load-update-core.php', 'upgrader_process_complete')) ) { - //Check more often when the user visits "Dashboard -> Updates" or does a bulk update. - $period = 60; - } else if ( in_array($currentFilter, $this->hourlyCheckHooks) ) { - //Also check more often on /wp-admin/update.php and the "Plugins" or "Themes" page. - $period = 3600; - } else if ( $this->throttleRedundantChecks && ($this->updateChecker->getUpdate() !== null) ) { - //Check less frequently if it's already known that an update is available. - $period = $this->throttledCheckPeriod * 3600; - } else if ( defined('DOING_CRON') && constant('DOING_CRON') ) { - //WordPress cron schedules are not exact, so lets do an update check even - //if slightly less than $checkPeriod hours have elapsed since the last check. - $cronFuzziness = 20 * 60; - $period = $this->checkPeriod * 3600 - $cronFuzziness; - } else { - $period = $this->checkPeriod * 3600; - } - - return $period; - } - - /** - * Add our custom schedule to the array of Cron schedules used by WP. - * - * @param array $schedules - * @return array - */ - public function _addCustomSchedule($schedules) { - if ( $this->checkPeriod && ($this->checkPeriod > 0) ){ - $scheduleName = 'every' . $this->checkPeriod . 'hours'; - $schedules[$scheduleName] = array( - 'interval' => $this->checkPeriod * 3600, - 'display' => sprintf('Every %d hours', $this->checkPeriod), - ); - } - return $schedules; - } - - /** - * Remove the scheduled cron event that the library uses to check for updates. - * - * @return void - */ - public function removeUpdaterCron() { - wp_clear_scheduled_hook($this->cronHook); - } - - /** - * Get the name of the update checker's WP-cron hook. Mostly useful for debugging. - * - * @return string - */ - public function getCronHookName() { - return $this->cronHook; - } - - /** - * Remove most hooks added by the scheduler. - */ - public function removeHooks() { - remove_filter('cron_schedules', array($this, '_addCustomSchedule')); - remove_action('admin_init', array($this, 'maybeCheckForUpdates')); - remove_action('load-update-core.php', array($this, 'maybeCheckForUpdates')); - - if ( $this->cronHook !== null ) { - remove_action($this->cronHook, array($this, 'maybeCheckForUpdates')); - } - if ( !empty($this->hourlyCheckHooks) ) { - foreach ($this->hourlyCheckHooks as $hook) { - remove_action($hook, array($this, 'maybeCheckForUpdates')); - } - } - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/StateStore.php b/plugin-update-checker/Puc/v4p9/StateStore.php deleted file mode 100644 index ff14063..0000000 --- a/plugin-update-checker/Puc/v4p9/StateStore.php +++ /dev/null @@ -1,207 +0,0 @@ -optionName = $optionName; - } - - /** - * Get time elapsed since the last update check. - * - * If there are no recorded update checks, this method returns a large arbitrary number - * (i.e. time since the Unix epoch). - * - * @return int Elapsed time in seconds. - */ - public function timeSinceLastCheck() { - $this->lazyLoad(); - return time() - $this->lastCheck; - } - - /** - * @return int - */ - public function getLastCheck() { - $this->lazyLoad(); - return $this->lastCheck; - } - - /** - * Set the time of the last update check to the current timestamp. - * - * @return $this - */ - public function setLastCheckToNow() { - $this->lazyLoad(); - $this->lastCheck = time(); - return $this; - } - - /** - * @return null|Puc_v4p9_Update - */ - public function getUpdate() { - $this->lazyLoad(); - return $this->update; - } - - /** - * @param Puc_v4p9_Update|null $update - * @return $this - */ - public function setUpdate(Puc_v4p9_Update $update = null) { - $this->lazyLoad(); - $this->update = $update; - return $this; - } - - /** - * @return string - */ - public function getCheckedVersion() { - $this->lazyLoad(); - return $this->checkedVersion; - } - - /** - * @param string $version - * @return $this - */ - public function setCheckedVersion($version) { - $this->lazyLoad(); - $this->checkedVersion = strval($version); - return $this; - } - - /** - * Get translation updates. - * - * @return array - */ - public function getTranslations() { - $this->lazyLoad(); - if ( isset($this->update, $this->update->translations) ) { - return $this->update->translations; - } - return array(); - } - - /** - * Set translation updates. - * - * @param array $translationUpdates - */ - public function setTranslations($translationUpdates) { - $this->lazyLoad(); - if ( isset($this->update) ) { - $this->update->translations = $translationUpdates; - $this->save(); - } - } - - public function save() { - $state = new stdClass(); - - $state->lastCheck = $this->lastCheck; - $state->checkedVersion = $this->checkedVersion; - - if ( isset($this->update)) { - $state->update = $this->update->toStdClass(); - - $updateClass = get_class($this->update); - $state->updateClass = $updateClass; - $prefix = $this->getLibPrefix(); - if ( Puc_v4p9_Utils::startsWith($updateClass, $prefix) ) { - $state->updateBaseClass = substr($updateClass, strlen($prefix)); - } - } - - update_site_option($this->optionName, $state); - $this->isLoaded = true; - } - - /** - * @return $this - */ - public function lazyLoad() { - if ( !$this->isLoaded ) { - $this->load(); - } - return $this; - } - - protected function load() { - $this->isLoaded = true; - - $state = get_site_option($this->optionName, null); - - if ( !is_object($state) ) { - $this->lastCheck = 0; - $this->checkedVersion = ''; - $this->update = null; - return; - } - - $this->lastCheck = intval(Puc_v4p9_Utils::get($state, 'lastCheck', 0)); - $this->checkedVersion = Puc_v4p9_Utils::get($state, 'checkedVersion', ''); - $this->update = null; - - if ( isset($state->update) ) { - //This mess is due to the fact that the want the update class from this version - //of the library, not the version that saved the update. - - $updateClass = null; - if ( isset($state->updateBaseClass) ) { - $updateClass = $this->getLibPrefix() . $state->updateBaseClass; - } else if ( isset($state->updateClass) && class_exists($state->updateClass) ) { - $updateClass = $state->updateClass; - } - - if ( $updateClass !== null ) { - $this->update = call_user_func(array($updateClass, 'fromObject'), $state->update); - } - } - } - - public function delete() { - delete_site_option($this->optionName); - - $this->lastCheck = 0; - $this->checkedVersion = ''; - $this->update = null; - } - - private function getLibPrefix() { - $parts = explode('_', __CLASS__, 3); - return $parts[0] . '_' . $parts[1] . '_'; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/Theme/Package.php b/plugin-update-checker/Puc/v4p9/Theme/Package.php deleted file mode 100644 index 4766c5c..0000000 --- a/plugin-update-checker/Puc/v4p9/Theme/Package.php +++ /dev/null @@ -1,65 +0,0 @@ -stylesheet = $stylesheet; - $this->theme = wp_get_theme($this->stylesheet); - - parent::__construct($updateChecker); - } - - public function getInstalledVersion() { - return $this->theme->get('Version'); - } - - public function getAbsoluteDirectoryPath() { - if ( method_exists($this->theme, 'get_stylesheet_directory') ) { - return $this->theme->get_stylesheet_directory(); //Available since WP 3.4. - } - return get_theme_root($this->stylesheet) . '/' . $this->stylesheet; - } - - /** - * Get the value of a specific plugin or theme header. - * - * @param string $headerName - * @param string $defaultValue - * @return string Either the value of the header, or $defaultValue if the header doesn't exist or is empty. - */ - public function getHeaderValue($headerName, $defaultValue = '') { - $value = $this->theme->get($headerName); - if ( ($headerName === false) || ($headerName === '') ) { - return $defaultValue; - } - return $value; - } - - protected function getHeaderNames() { - return array( - 'Name' => 'Theme Name', - 'ThemeURI' => 'Theme URI', - 'Description' => 'Description', - 'Author' => 'Author', - 'AuthorURI' => 'Author URI', - 'Version' => 'Version', - 'Template' => 'Template', - 'Status' => 'Status', - 'Tags' => 'Tags', - 'TextDomain' => 'Text Domain', - 'DomainPath' => 'Domain Path', - ); - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/Theme/Update.php b/plugin-update-checker/Puc/v4p9/Theme/Update.php deleted file mode 100644 index df511af..0000000 --- a/plugin-update-checker/Puc/v4p9/Theme/Update.php +++ /dev/null @@ -1,84 +0,0 @@ - $this->slug, - 'new_version' => $this->version, - 'url' => $this->details_url, - ); - - if ( !empty($this->download_url) ) { - $update['package'] = $this->download_url; - } - - return $update; - } - - /** - * Create a new instance of Theme_Update from its JSON-encoded representation. - * - * @param string $json Valid JSON string representing a theme information object. - * @return self New instance of ThemeUpdate, or NULL on error. - */ - public static function fromJson($json) { - $instance = new self(); - if ( !parent::createFromJson($json, $instance) ) { - return null; - } - return $instance; - } - - /** - * Create a new instance by copying the necessary fields from another object. - * - * @param StdClass|Puc_v4p9_Theme_Update $object The source object. - * @return Puc_v4p9_Theme_Update The new copy. - */ - public static function fromObject($object) { - $update = new self(); - $update->copyFields($object, $update); - return $update; - } - - /** - * Basic validation. - * - * @param StdClass $apiResponse - * @return bool|WP_Error - */ - protected function validateMetadata($apiResponse) { - $required = array('version', 'details_url'); - foreach($required as $key) { - if ( !isset($apiResponse->$key) || empty($apiResponse->$key) ) { - return new WP_Error( - 'tuc-invalid-metadata', - sprintf('The theme metadata is missing the required "%s" key.', $key) - ); - } - } - return true; - } - - protected function getFieldNames() { - return array_merge(parent::getFieldNames(), self::$extraFields); - } - - protected function getPrefixedFilter($tag) { - return parent::getPrefixedFilter($tag) . '_theme'; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/Theme/UpdateChecker.php b/plugin-update-checker/Puc/v4p9/Theme/UpdateChecker.php deleted file mode 100644 index 0e26cc8..0000000 --- a/plugin-update-checker/Puc/v4p9/Theme/UpdateChecker.php +++ /dev/null @@ -1,142 +0,0 @@ -stylesheet = $stylesheet; - - parent::__construct( - $metadataUrl, - $stylesheet, - $customSlug ? $customSlug : $stylesheet, - $checkPeriod, - $optionName - ); - } - - /** - * For themes, the update array is indexed by theme directory name. - * - * @return string - */ - protected function getUpdateListKey() { - return $this->directoryName; - } - - /** - * Retrieve the latest update (if any) from the configured API endpoint. - * - * @return Puc_v4p9_Update|null An instance of Update, or NULL when no updates are available. - */ - public function requestUpdate() { - list($themeUpdate, $result) = $this->requestMetadata('Puc_v4p9_Theme_Update', 'request_update'); - - if ( $themeUpdate !== null ) { - /** @var Puc_v4p9_Theme_Update $themeUpdate */ - $themeUpdate->slug = $this->slug; - } - - $themeUpdate = $this->filterUpdateResult($themeUpdate, $result); - return $themeUpdate; - } - - public function userCanInstallUpdates() { - return current_user_can('update_themes'); - } - - /** - * Create an instance of the scheduler. - * - * @param int $checkPeriod - * @return Puc_v4p9_Scheduler - */ - protected function createScheduler($checkPeriod) { - return new Puc_v4p9_Scheduler($this, $checkPeriod, array('load-themes.php')); - } - - /** - * Is there an update being installed right now for this theme? - * - * @param WP_Upgrader|null $upgrader The upgrader that's performing the current update. - * @return bool - */ - public function isBeingUpgraded($upgrader = null) { - return $this->upgraderStatus->isThemeBeingUpgraded($this->stylesheet, $upgrader); - } - - protected function createDebugBarExtension() { - return new Puc_v4p9_DebugBar_Extension($this, 'Puc_v4p9_DebugBar_ThemePanel'); - } - - /** - * Register a callback for filtering query arguments. - * - * The callback function should take one argument - an associative array of query arguments. - * It should return a modified array of query arguments. - * - * @param callable $callback - * @return void - */ - public function addQueryArgFilter($callback){ - $this->addFilter('request_update_query_args', $callback); - } - - /** - * Register a callback for filtering arguments passed to wp_remote_get(). - * - * The callback function should take one argument - an associative array of arguments - - * and return a modified array or arguments. See the WP documentation on wp_remote_get() - * for details on what arguments are available and how they work. - * - * @uses add_filter() This method is a convenience wrapper for add_filter(). - * - * @param callable $callback - * @return void - */ - public function addHttpRequestArgFilter($callback) { - $this->addFilter('request_update_options', $callback); - } - - /** - * Register a callback for filtering theme updates retrieved from the external API. - * - * The callback function should take two arguments. If the theme update was retrieved - * successfully, the first argument passed will be an instance of Theme_Update. Otherwise, - * it will be NULL. The second argument will be the corresponding return value of - * wp_remote_get (see WP docs for details). - * - * The callback function should return a new or modified instance of Theme_Update or NULL. - * - * @uses add_filter() This method is a convenience wrapper for add_filter(). - * - * @param callable $callback - * @return void - */ - public function addResultFilter($callback) { - $this->addFilter('request_update_result', $callback, 10, 2); - } - - /** - * Create a package instance that represents this plugin or theme. - * - * @return Puc_v4p9_InstalledPackage - */ - protected function createInstalledPackage() { - return new Puc_v4p9_Theme_Package($this->stylesheet, $this); - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/Update.php b/plugin-update-checker/Puc/v4p9/Update.php deleted file mode 100644 index 3db3d60..0000000 --- a/plugin-update-checker/Puc/v4p9/Update.php +++ /dev/null @@ -1,34 +0,0 @@ -slug = $this->slug; - $update->new_version = $this->version; - $update->package = $this->download_url; - - return $update; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/UpdateChecker.php b/plugin-update-checker/Puc/v4p9/UpdateChecker.php deleted file mode 100644 index db3e926..0000000 --- a/plugin-update-checker/Puc/v4p9/UpdateChecker.php +++ /dev/null @@ -1,947 +0,0 @@ -debugMode = (bool)(constant('WP_DEBUG')); - $this->metadataUrl = $metadataUrl; - $this->directoryName = $directoryName; - $this->slug = !empty($slug) ? $slug : $this->directoryName; - - $this->optionName = $optionName; - if ( empty($this->optionName) ) { - //BC: Initially the library only supported plugin updates and didn't use type prefixes - //in the option name. Lets use the same prefix-less name when possible. - if ( $this->filterSuffix === '' ) { - $this->optionName = 'external_updates-' . $this->slug; - } else { - $this->optionName = $this->getUniqueName('external_updates'); - } - } - - $this->package = $this->createInstalledPackage(); - $this->scheduler = $this->createScheduler($checkPeriod); - $this->upgraderStatus = new Puc_v4p9_UpgraderStatus(); - $this->updateState = new Puc_v4p9_StateStore($this->optionName); - - if ( did_action('init') ) { - $this->loadTextDomain(); - } else { - add_action('init', array($this, 'loadTextDomain')); - } - - $this->installHooks(); - } - - /** - * @internal - */ - public function loadTextDomain() { - //We're not using load_plugin_textdomain() or its siblings because figuring out where - //the library is located (plugin, mu-plugin, theme, custom wp-content paths) is messy. - $domain = 'plugin-update-checker'; - $locale = apply_filters( - 'plugin_locale', - (is_admin() && function_exists('get_user_locale')) ? get_user_locale() : get_locale(), - $domain - ); - - $moFile = $domain . '-' . $locale . '.mo'; - $path = realpath(dirname(__FILE__) . '/../../languages'); - - if ($path && file_exists($path)) { - load_textdomain($domain, $path . '/' . $moFile); - } - } - - protected function installHooks() { - //Insert our update info into the update array maintained by WP. - add_filter('site_transient_' . $this->updateTransient, array($this,'injectUpdate')); - - //Insert translation updates into the update list. - add_filter('site_transient_' . $this->updateTransient, array($this, 'injectTranslationUpdates')); - - //Clear translation updates when WP clears the update cache. - //This needs to be done directly because the library doesn't actually remove obsolete plugin updates, - //it just hides them (see getUpdate()). We can't do that with translations - too much disk I/O. - add_action( - 'delete_site_transient_' . $this->updateTransient, - array($this, 'clearCachedTranslationUpdates') - ); - - //Rename the update directory to be the same as the existing directory. - if ( $this->directoryName !== '.' ) { - add_filter('upgrader_source_selection', array($this, 'fixDirectoryName'), 10, 3); - } - - //Allow HTTP requests to the metadata URL even if it's on a local host. - add_filter('http_request_host_is_external', array($this, 'allowMetadataHost'), 10, 2); - - //DebugBar integration. - if ( did_action('plugins_loaded') ) { - $this->maybeInitDebugBar(); - } else { - add_action('plugins_loaded', array($this, 'maybeInitDebugBar')); - } - } - - /** - * Remove hooks that were added by this update checker instance. - */ - public function removeHooks() { - remove_filter('site_transient_' . $this->updateTransient, array($this,'injectUpdate')); - remove_filter('site_transient_' . $this->updateTransient, array($this, 'injectTranslationUpdates')); - remove_action( - 'delete_site_transient_' . $this->updateTransient, - array($this, 'clearCachedTranslationUpdates') - ); - - remove_filter('upgrader_source_selection', array($this, 'fixDirectoryName'), 10); - remove_filter('http_request_host_is_external', array($this, 'allowMetadataHost'), 10); - remove_action('plugins_loaded', array($this, 'maybeInitDebugBar')); - - remove_action('init', array($this, 'loadTextDomain')); - - if ( $this->scheduler ) { - $this->scheduler->removeHooks(); - } - } - - /** - * Check if the current user has the required permissions to install updates. - * - * @return bool - */ - abstract public function userCanInstallUpdates(); - - /** - * Explicitly allow HTTP requests to the metadata URL. - * - * WordPress has a security feature where the HTTP API will reject all requests that are sent to - * another site hosted on the same server as the current site (IP match), a local host, or a local - * IP, unless the host exactly matches the current site. - * - * This feature is opt-in (at least in WP 4.4). Apparently some people enable it. - * - * That can be a problem when you're developing your plugin and you decide to host the update information - * on the same server as your test site. Update requests will mysteriously fail. - * - * We fix that by adding an exception for the metadata host. - * - * @param bool $allow - * @param string $host - * @return bool - */ - public function allowMetadataHost($allow, $host) { - if ( $this->cachedMetadataHost === 0 ) { - $this->cachedMetadataHost = parse_url($this->metadataUrl, PHP_URL_HOST); - } - - if ( is_string($this->cachedMetadataHost) && (strtolower($host) === strtolower($this->cachedMetadataHost)) ) { - return true; - } - return $allow; - } - - /** - * Create a package instance that represents this plugin or theme. - * - * @return Puc_v4p9_InstalledPackage - */ - abstract protected function createInstalledPackage(); - - /** - * @return Puc_v4p9_InstalledPackage - */ - public function getInstalledPackage() { - return $this->package; - } - - /** - * Create an instance of the scheduler. - * - * This is implemented as a method to make it possible for plugins to subclass the update checker - * and substitute their own scheduler. - * - * @param int $checkPeriod - * @return Puc_v4p9_Scheduler - */ - abstract protected function createScheduler($checkPeriod); - - /** - * Check for updates. The results are stored in the DB option specified in $optionName. - * - * @return Puc_v4p9_Update|null - */ - public function checkForUpdates() { - $installedVersion = $this->getInstalledVersion(); - //Fail silently if we can't find the plugin/theme or read its header. - if ( $installedVersion === null ) { - $this->triggerError( - sprintf('Skipping update check for %s - installed version unknown.', $this->slug), - E_USER_WARNING - ); - return null; - } - - //Start collecting API errors. - $this->lastRequestApiErrors = array(); - add_action('puc_api_error', array($this, 'collectApiErrors'), 10, 4); - - $state = $this->updateState; - $state->setLastCheckToNow() - ->setCheckedVersion($installedVersion) - ->save(); //Save before checking in case something goes wrong - - $state->setUpdate($this->requestUpdate()); - $state->save(); - - //Stop collecting API errors. - remove_action('puc_api_error', array($this, 'collectApiErrors'), 10); - - return $this->getUpdate(); - } - - /** - * Load the update checker state from the DB. - * - * @return Puc_v4p9_StateStore - */ - public function getUpdateState() { - return $this->updateState->lazyLoad(); - } - - /** - * Reset update checker state - i.e. last check time, cached update data and so on. - * - * Call this when your plugin is being uninstalled, or if you want to - * clear the update cache. - */ - public function resetUpdateState() { - $this->updateState->delete(); - } - - /** - * Get the details of the currently available update, if any. - * - * If no updates are available, or if the last known update version is below or equal - * to the currently installed version, this method will return NULL. - * - * Uses cached update data. To retrieve update information straight from - * the metadata URL, call requestUpdate() instead. - * - * @return Puc_v4p9_Update|null - */ - public function getUpdate() { - $update = $this->updateState->getUpdate(); - - //Is there an update available? - if ( isset($update) ) { - //Check if the update is actually newer than the currently installed version. - $installedVersion = $this->getInstalledVersion(); - if ( ($installedVersion !== null) && version_compare($update->version, $installedVersion, '>') ){ - return $update; - } - } - return null; - } - - /** - * Retrieve the latest update (if any) from the configured API endpoint. - * - * Subclasses should run the update through filterUpdateResult before returning it. - * - * @return Puc_v4p9_Update An instance of Update, or NULL when no updates are available. - */ - abstract public function requestUpdate(); - - /** - * Filter the result of a requestUpdate() call. - * - * @param Puc_v4p9_Update|null $update - * @param array|WP_Error|null $httpResult The value returned by wp_remote_get(), if any. - * @return Puc_v4p9_Update - */ - protected function filterUpdateResult($update, $httpResult = null) { - //Let plugins/themes modify the update. - $update = apply_filters($this->getUniqueName('request_update_result'), $update, $httpResult); - - $this->fixSupportedWordpressVersion($update); - - if ( isset($update, $update->translations) ) { - //Keep only those translation updates that apply to this site. - $update->translations = $this->filterApplicableTranslations($update->translations); - } - - return $update; - } - - /** - * The "Tested up to" field in the plugin metadata is supposed to be in the form of "major.minor", - * while WordPress core's list_plugin_updates() expects the $update->tested field to be an exact - * version, e.g. "major.minor.patch", to say it's compatible. In other case it shows - * "Compatibility: Unknown". - * The function mimics how wordpress.org API crafts the "tested" field out of "Tested up to". - * - * @param Puc_v4p9_Metadata|null $update - */ - protected function fixSupportedWordpressVersion(Puc_v4p9_Metadata $update = null) { - if ( !isset($update->tested) || !preg_match('/^\d++\.\d++$/', $update->tested) ) { - return; - } - - $actualWpVersions = array(); - - $wpVersion = $GLOBALS['wp_version']; - - if ( function_exists('get_core_updates') ) { - $coreUpdates = get_core_updates(); - if ( is_array($coreUpdates) ) { - foreach ($coreUpdates as $coreUpdate) { - if ( isset($coreUpdate->current) ) { - $actualWpVersions[] = $coreUpdate->current; - } - } - } - } - - $actualWpVersions[] = $wpVersion; - - $actualWpPatchNumber = null; - foreach ($actualWpVersions as $version) { - if ( preg_match('/^(?P\d++\.\d++)(?:\.(?P\d++))?/', $version, $versionParts) ) { - if ( $versionParts['majorMinor'] === $update->tested ) { - $patch = isset($versionParts['patch']) ? intval($versionParts['patch']) : 0; - if ( $actualWpPatchNumber === null ) { - $actualWpPatchNumber = $patch; - } else { - $actualWpPatchNumber = max($actualWpPatchNumber, $patch); - } - } - } - } - if ( $actualWpPatchNumber === null ) { - $actualWpPatchNumber = 999; - } - - if ( $actualWpPatchNumber > 0 ) { - $update->tested .= '.' . $actualWpPatchNumber; - } - } - - /** - * Get the currently installed version of the plugin or theme. - * - * @return string|null Version number. - */ - public function getInstalledVersion() { - return $this->package->getInstalledVersion(); - } - - /** - * Get the full path of the plugin or theme directory. - * - * @return string - */ - public function getAbsoluteDirectoryPath() { - return $this->package->getAbsoluteDirectoryPath(); - } - - /** - * Trigger a PHP error, but only when $debugMode is enabled. - * - * @param string $message - * @param int $errorType - */ - public function triggerError($message, $errorType) { - if ( $this->isDebugModeEnabled() ) { - trigger_error($message, $errorType); - } - } - - /** - * @return bool - */ - protected function isDebugModeEnabled() { - if ( $this->debugMode === null ) { - $this->debugMode = (bool)(constant('WP_DEBUG')); - } - return $this->debugMode; - } - - /** - * Get the full name of an update checker filter, action or DB entry. - * - * This method adds the "puc_" prefix and the "-$slug" suffix to the filter name. - * For example, "pre_inject_update" becomes "puc_pre_inject_update-plugin-slug". - * - * @param string $baseTag - * @return string - */ - public function getUniqueName($baseTag) { - $name = 'puc_' . $baseTag; - if ( $this->filterSuffix !== '' ) { - $name .= '_' . $this->filterSuffix; - } - return $name . '-' . $this->slug; - } - - /** - * Store API errors that are generated when checking for updates. - * - * @internal - * @param WP_Error $error - * @param array|null $httpResponse - * @param string|null $url - * @param string|null $slug - */ - public function collectApiErrors($error, $httpResponse = null, $url = null, $slug = null) { - if ( isset($slug) && ($slug !== $this->slug) ) { - return; - } - - $this->lastRequestApiErrors[] = array( - 'error' => $error, - 'httpResponse' => $httpResponse, - 'url' => $url, - ); - } - - /** - * @return array - */ - public function getLastRequestApiErrors() { - return $this->lastRequestApiErrors; - } - - /* ------------------------------------------------------------------- - * PUC filters and filter utilities - * ------------------------------------------------------------------- - */ - - /** - * Register a callback for one of the update checker filters. - * - * Identical to add_filter(), except it automatically adds the "puc_" prefix - * and the "-$slug" suffix to the filter name. For example, "request_info_result" - * becomes "puc_request_info_result-your_plugin_slug". - * - * @param string $tag - * @param callable $callback - * @param int $priority - * @param int $acceptedArgs - */ - public function addFilter($tag, $callback, $priority = 10, $acceptedArgs = 1) { - add_filter($this->getUniqueName($tag), $callback, $priority, $acceptedArgs); - } - - /* ------------------------------------------------------------------- - * Inject updates - * ------------------------------------------------------------------- - */ - - /** - * Insert the latest update (if any) into the update list maintained by WP. - * - * @param stdClass $updates Update list. - * @return stdClass Modified update list. - */ - public function injectUpdate($updates) { - //Is there an update to insert? - $update = $this->getUpdate(); - - if ( !$this->shouldShowUpdates() ) { - $update = null; - } - - if ( !empty($update) ) { - //Let plugins filter the update info before it's passed on to WordPress. - $update = apply_filters($this->getUniqueName('pre_inject_update'), $update); - $updates = $this->addUpdateToList($updates, $update->toWpFormat()); - } else { - //Clean up any stale update info. - $updates = $this->removeUpdateFromList($updates); - } - - return $updates; - } - - /** - * @param stdClass|null $updates - * @param stdClass|array $updateToAdd - * @return stdClass - */ - protected function addUpdateToList($updates, $updateToAdd) { - if ( !is_object($updates) ) { - $updates = new stdClass(); - $updates->response = array(); - } - - $updates->response[$this->getUpdateListKey()] = $updateToAdd; - return $updates; - } - - /** - * @param stdClass|null $updates - * @return stdClass|null - */ - protected function removeUpdateFromList($updates) { - if ( isset($updates, $updates->response) ) { - unset($updates->response[$this->getUpdateListKey()]); - } - return $updates; - } - - /** - * Get the key that will be used when adding updates to the update list that's maintained - * by the WordPress core. The list is always an associative array, but the key is different - * for plugins and themes. - * - * @return string - */ - abstract protected function getUpdateListKey(); - - /** - * Should we show available updates? - * - * Usually the answer is "yes", but there are exceptions. For example, WordPress doesn't - * support automatic updates installation for mu-plugins, so PUC usually won't show update - * notifications in that case. See the plugin-specific subclass for details. - * - * Note: This method only applies to updates that are displayed (or not) in the WordPress - * admin. It doesn't affect APIs like requestUpdate and getUpdate. - * - * @return bool - */ - protected function shouldShowUpdates() { - return true; - } - - /* ------------------------------------------------------------------- - * JSON-based update API - * ------------------------------------------------------------------- - */ - - /** - * Retrieve plugin or theme metadata from the JSON document at $this->metadataUrl. - * - * @param string $metaClass Parse the JSON as an instance of this class. It must have a static fromJson method. - * @param string $filterRoot - * @param array $queryArgs Additional query arguments. - * @return array [Puc_v4p9_Metadata|null, array|WP_Error] A metadata instance and the value returned by wp_remote_get(). - */ - protected function requestMetadata($metaClass, $filterRoot, $queryArgs = array()) { - //Query args to append to the URL. Plugins can add their own by using a filter callback (see addQueryArgFilter()). - $queryArgs = array_merge( - array( - 'installed_version' => strval($this->getInstalledVersion()), - 'php' => phpversion(), - 'locale' => get_locale(), - ), - $queryArgs - ); - $queryArgs = apply_filters($this->getUniqueName($filterRoot . '_query_args'), $queryArgs); - - //Various options for the wp_remote_get() call. Plugins can filter these, too. - $options = array( - 'timeout' => 10, //seconds - 'headers' => array( - 'Accept' => 'application/json', - ), - ); - $options = apply_filters($this->getUniqueName($filterRoot . '_options'), $options); - - //The metadata file should be at 'http://your-api.com/url/here/$slug/info.json' - $url = $this->metadataUrl; - if ( !empty($queryArgs) ){ - $url = add_query_arg($queryArgs, $url); - } - - $result = wp_remote_get($url, $options); - - $result = apply_filters($this->getUniqueName('request_metadata_http_result'), $result, $url, $options); - - //Try to parse the response - $status = $this->validateApiResponse($result); - $metadata = null; - if ( !is_wp_error($status) ){ - $metadata = call_user_func(array($metaClass, 'fromJson'), $result['body']); - } else { - do_action('puc_api_error', $status, $result, $url, $this->slug); - $this->triggerError( - sprintf('The URL %s does not point to a valid metadata file. ', $url) - . $status->get_error_message(), - E_USER_WARNING - ); - } - - return array($metadata, $result); - } - - /** - * Check if $result is a successful update API response. - * - * @param array|WP_Error $result - * @return true|WP_Error - */ - protected function validateApiResponse($result) { - if ( is_wp_error($result) ) { /** @var WP_Error $result */ - return new WP_Error($result->get_error_code(), 'WP HTTP Error: ' . $result->get_error_message()); - } - - if ( !isset($result['response']['code']) ) { - return new WP_Error( - 'puc_no_response_code', - 'wp_remote_get() returned an unexpected result.' - ); - } - - if ( $result['response']['code'] !== 200 ) { - return new WP_Error( - 'puc_unexpected_response_code', - 'HTTP response code is ' . $result['response']['code'] . ' (expected: 200)' - ); - } - - if ( empty($result['body']) ) { - return new WP_Error('puc_empty_response', 'The metadata file appears to be empty.'); - } - - return true; - } - - /* ------------------------------------------------------------------- - * Language packs / Translation updates - * ------------------------------------------------------------------- - */ - - /** - * Filter a list of translation updates and return a new list that contains only updates - * that apply to the current site. - * - * @param array $translations - * @return array - */ - protected function filterApplicableTranslations($translations) { - $languages = array_flip(array_values(get_available_languages())); - $installedTranslations = $this->getInstalledTranslations(); - - $applicableTranslations = array(); - foreach ($translations as $translation) { - //Does it match one of the available core languages? - $isApplicable = array_key_exists($translation->language, $languages); - //Is it more recent than an already-installed translation? - if ( isset($installedTranslations[$translation->language]) ) { - $updateTimestamp = strtotime($translation->updated); - $installedTimestamp = strtotime($installedTranslations[$translation->language]['PO-Revision-Date']); - $isApplicable = $updateTimestamp > $installedTimestamp; - } - - if ( $isApplicable ) { - $applicableTranslations[] = $translation; - } - } - - return $applicableTranslations; - } - - /** - * Get a list of installed translations for this plugin or theme. - * - * @return array - */ - protected function getInstalledTranslations() { - if ( !function_exists('wp_get_installed_translations') ) { - return array(); - } - $installedTranslations = wp_get_installed_translations($this->translationType . 's'); - if ( isset($installedTranslations[$this->directoryName]) ) { - $installedTranslations = $installedTranslations[$this->directoryName]; - } else { - $installedTranslations = array(); - } - return $installedTranslations; - } - - /** - * Insert translation updates into the list maintained by WordPress. - * - * @param stdClass $updates - * @return stdClass - */ - public function injectTranslationUpdates($updates) { - $translationUpdates = $this->getTranslationUpdates(); - if ( empty($translationUpdates) ) { - return $updates; - } - - //Being defensive. - if ( !is_object($updates) ) { - $updates = new stdClass(); - } - if ( !isset($updates->translations) ) { - $updates->translations = array(); - } - - //In case there's a name collision with a plugin or theme hosted on wordpress.org, - //remove any preexisting updates that match our thing. - $updates->translations = array_values(array_filter( - $updates->translations, - array($this, 'isNotMyTranslation') - )); - - //Add our updates to the list. - foreach($translationUpdates as $update) { - $convertedUpdate = array_merge( - array( - 'type' => $this->translationType, - 'slug' => $this->directoryName, - 'autoupdate' => 0, - //AFAICT, WordPress doesn't actually use the "version" field for anything. - //But lets make sure it's there, just in case. - 'version' => isset($update->version) ? $update->version : ('1.' . strtotime($update->updated)), - ), - (array)$update - ); - - $updates->translations[] = $convertedUpdate; - } - - return $updates; - } - - /** - * Get a list of available translation updates. - * - * This method will return an empty array if there are no updates. - * Uses cached update data. - * - * @return array - */ - public function getTranslationUpdates() { - return $this->updateState->getTranslations(); - } - - /** - * Remove all cached translation updates. - * - * @see wp_clean_update_cache - */ - public function clearCachedTranslationUpdates() { - $this->updateState->setTranslations(array()); - } - - /** - * Filter callback. Keeps only translations that *don't* match this plugin or theme. - * - * @param array $translation - * @return bool - */ - protected function isNotMyTranslation($translation) { - $isMatch = isset($translation['type'], $translation['slug']) - && ($translation['type'] === $this->translationType) - && ($translation['slug'] === $this->directoryName); - - return !$isMatch; - } - - /* ------------------------------------------------------------------- - * Fix directory name when installing updates - * ------------------------------------------------------------------- - */ - - /** - * Rename the update directory to match the existing plugin/theme directory. - * - * When WordPress installs a plugin or theme update, it assumes that the ZIP file will contain - * exactly one directory, and that the directory name will be the same as the directory where - * the plugin or theme is currently installed. - * - * GitHub and other repositories provide ZIP downloads, but they often use directory names like - * "project-branch" or "project-tag-hash". We need to change the name to the actual plugin folder. - * - * This is a hook callback. Don't call it from a plugin. - * - * @access protected - * - * @param string $source The directory to copy to /wp-content/plugins or /wp-content/themes. Usually a subdirectory of $remoteSource. - * @param string $remoteSource WordPress has extracted the update to this directory. - * @param WP_Upgrader $upgrader - * @return string|WP_Error - */ - public function fixDirectoryName($source, $remoteSource, $upgrader) { - global $wp_filesystem; - /** @var WP_Filesystem_Base $wp_filesystem */ - - //Basic sanity checks. - if ( !isset($source, $remoteSource, $upgrader, $upgrader->skin, $wp_filesystem) ) { - return $source; - } - - //If WordPress is upgrading anything other than our plugin/theme, leave the directory name unchanged. - if ( !$this->isBeingUpgraded($upgrader) ) { - return $source; - } - - //Rename the source to match the existing directory. - $correctedSource = trailingslashit($remoteSource) . $this->directoryName . '/'; - if ( $source !== $correctedSource ) { - //The update archive should contain a single directory that contains the rest of plugin/theme files. - //Otherwise, WordPress will try to copy the entire working directory ($source == $remoteSource). - //We can't rename $remoteSource because that would break WordPress code that cleans up temporary files - //after update. - if ( $this->isBadDirectoryStructure($remoteSource) ) { - return new WP_Error( - 'puc-incorrect-directory-structure', - sprintf( - 'The directory structure of the update is incorrect. All files should be inside ' . - 'a directory named %s, not at the root of the ZIP archive.', - htmlentities($this->slug) - ) - ); - } - - /** @var WP_Upgrader_Skin $upgrader ->skin */ - $upgrader->skin->feedback(sprintf( - 'Renaming %s to %s…', - '' . basename($source) . '', - '' . $this->directoryName . '' - )); - - if ( $wp_filesystem->move($source, $correctedSource, true) ) { - $upgrader->skin->feedback('Directory successfully renamed.'); - return $correctedSource; - } else { - return new WP_Error( - 'puc-rename-failed', - 'Unable to rename the update to match the existing directory.' - ); - } - } - - return $source; - } - - /** - * Is there an update being installed right now, for this plugin or theme? - * - * @param WP_Upgrader|null $upgrader The upgrader that's performing the current update. - * @return bool - */ - abstract public function isBeingUpgraded($upgrader = null); - - /** - * Check for incorrect update directory structure. An update must contain a single directory, - * all other files should be inside that directory. - * - * @param string $remoteSource Directory path. - * @return bool - */ - protected function isBadDirectoryStructure($remoteSource) { - global $wp_filesystem; - /** @var WP_Filesystem_Base $wp_filesystem */ - - $sourceFiles = $wp_filesystem->dirlist($remoteSource); - if ( is_array($sourceFiles) ) { - $sourceFiles = array_keys($sourceFiles); - $firstFilePath = trailingslashit($remoteSource) . $sourceFiles[0]; - return (count($sourceFiles) > 1) || (!$wp_filesystem->is_dir($firstFilePath)); - } - - //Assume it's fine. - return false; - } - - /* ------------------------------------------------------------------- - * DebugBar integration - * ------------------------------------------------------------------- - */ - - /** - * Initialize the update checker Debug Bar plugin/add-on thingy. - */ - public function maybeInitDebugBar() { - if ( class_exists('Debug_Bar', false) && file_exists(dirname(__FILE__) . '/DebugBar') ) { - $this->createDebugBarExtension(); - } - } - - protected function createDebugBarExtension() { - return new Puc_v4p9_DebugBar_Extension($this); - } - - /** - * Display additional configuration details in the Debug Bar panel. - * - * @param Puc_v4p9_DebugBar_Panel $panel - */ - public function onDisplayConfiguration($panel) { - //Do nothing. Subclasses can use this to add additional info to the panel. - } - - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/UpgraderStatus.php b/plugin-update-checker/Puc/v4p9/UpgraderStatus.php deleted file mode 100644 index 2918fa1..0000000 --- a/plugin-update-checker/Puc/v4p9/UpgraderStatus.php +++ /dev/null @@ -1,199 +0,0 @@ -isBeingUpgraded('plugin', $pluginFile, $upgrader); - } - - /** - * Is there an update being installed for a specific theme? - * - * @param string $stylesheet Theme directory name. - * @param WP_Upgrader|null $upgrader The upgrader that's performing the current update. - * @return bool - */ - public function isThemeBeingUpgraded($stylesheet, $upgrader = null) { - return $this->isBeingUpgraded('theme', $stylesheet, $upgrader); - } - - /** - * Check if a specific theme or plugin is being upgraded. - * - * @param string $type - * @param string $id - * @param Plugin_Upgrader|WP_Upgrader|null $upgrader - * @return bool - */ - protected function isBeingUpgraded($type, $id, $upgrader = null) { - if ( isset($upgrader) ) { - list($currentType, $currentId) = $this->getThingBeingUpgradedBy($upgrader); - if ( $currentType !== null ) { - $this->currentType = $currentType; - $this->currentId = $currentId; - } - } - return ($this->currentType === $type) && ($this->currentId === $id); - } - - /** - * Figure out which theme or plugin is being upgraded by a WP_Upgrader instance. - * - * Returns an array with two items. The first item is the type of the thing that's being - * upgraded: "plugin" or "theme". The second item is either the plugin basename or - * the theme directory name. If we can't determine what the upgrader is doing, both items - * will be NULL. - * - * Examples: - * ['plugin', 'plugin-dir-name/plugin.php'] - * ['theme', 'theme-dir-name'] - * - * @param Plugin_Upgrader|WP_Upgrader $upgrader - * @return array - */ - private function getThingBeingUpgradedBy($upgrader) { - if ( !isset($upgrader, $upgrader->skin) ) { - return array(null, null); - } - - //Figure out which plugin or theme is being upgraded. - $pluginFile = null; - $themeDirectoryName = null; - - $skin = $upgrader->skin; - if ( isset($skin->theme_info) && ($skin->theme_info instanceof WP_Theme) ) { - $themeDirectoryName = $skin->theme_info->get_stylesheet(); - } elseif ( $skin instanceof Plugin_Upgrader_Skin ) { - if ( isset($skin->plugin) && is_string($skin->plugin) && ($skin->plugin !== '') ) { - $pluginFile = $skin->plugin; - } - } elseif ( $skin instanceof Theme_Upgrader_Skin ) { - if ( isset($skin->theme) && is_string($skin->theme) && ($skin->theme !== '') ) { - $themeDirectoryName = $skin->theme; - } - } elseif ( isset($skin->plugin_info) && is_array($skin->plugin_info) ) { - //This case is tricky because Bulk_Plugin_Upgrader_Skin (etc) doesn't actually store the plugin - //filename anywhere. Instead, it has the plugin headers in $plugin_info. So the best we can - //do is compare those headers to the headers of installed plugins. - $pluginFile = $this->identifyPluginByHeaders($skin->plugin_info); - } - - if ( $pluginFile !== null ) { - return array('plugin', $pluginFile); - } elseif ( $themeDirectoryName !== null ) { - return array('theme', $themeDirectoryName); - } - return array(null, null); - } - - /** - * Identify an installed plugin based on its headers. - * - * @param array $searchHeaders The plugin file header to look for. - * @return string|null Plugin basename ("foo/bar.php"), or NULL if we can't identify the plugin. - */ - private function identifyPluginByHeaders($searchHeaders) { - if ( !function_exists('get_plugins') ){ - /** @noinspection PhpIncludeInspection */ - require_once( ABSPATH . '/wp-admin/includes/plugin.php' ); - } - - $installedPlugins = get_plugins(); - $matches = array(); - foreach($installedPlugins as $pluginBasename => $headers) { - $diff1 = array_diff_assoc($headers, $searchHeaders); - $diff2 = array_diff_assoc($searchHeaders, $headers); - if ( empty($diff1) && empty($diff2) ) { - $matches[] = $pluginBasename; - } - } - - //It's possible (though very unlikely) that there could be two plugins with identical - //headers. In that case, we can't unambiguously identify the plugin that's being upgraded. - if ( count($matches) !== 1 ) { - return null; - } - - return reset($matches); - } - - /** - * @access private - * - * @param mixed $input - * @param array $hookExtra - * @return mixed Returns $input unaltered. - */ - public function setUpgradedThing($input, $hookExtra) { - if ( !empty($hookExtra['plugin']) && is_string($hookExtra['plugin']) ) { - $this->currentId = $hookExtra['plugin']; - $this->currentType = 'plugin'; - } elseif ( !empty($hookExtra['theme']) && is_string($hookExtra['theme']) ) { - $this->currentId = $hookExtra['theme']; - $this->currentType = 'theme'; - } else { - $this->currentType = null; - $this->currentId = null; - } - return $input; - } - - /** - * @access private - * - * @param array $options - * @return array - */ - public function setUpgradedPluginFromOptions($options) { - if ( isset($options['hook_extra']['plugin']) && is_string($options['hook_extra']['plugin']) ) { - $this->currentType = 'plugin'; - $this->currentId = $options['hook_extra']['plugin']; - } else { - $this->currentType = null; - $this->currentId = null; - } - return $options; - } - - /** - * @access private - * - * @param mixed $input - * @return mixed Returns $input unaltered. - */ - public function clearUpgradedThing($input = null) { - $this->currentId = null; - $this->currentType = null; - return $input; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/Utils.php b/plugin-update-checker/Puc/v4p9/Utils.php deleted file mode 100644 index b96984b..0000000 --- a/plugin-update-checker/Puc/v4p9/Utils.php +++ /dev/null @@ -1,69 +0,0 @@ -$node) ) { - $currentValue = $currentValue->$node; - } else { - return $default; - } - } - - return $currentValue; - } - - /** - * Get the first array element that is not empty. - * - * @param array $values - * @param mixed|null $default Returns this value if there are no non-empty elements. - * @return mixed|null - */ - public static function findNotEmpty($values, $default = null) { - if ( empty($values) ) { - return $default; - } - - foreach ($values as $value) { - if ( !empty($value) ) { - return $value; - } - } - - return $default; - } - - /** - * Check if the input string starts with the specified prefix. - * - * @param string $input - * @param string $prefix - * @return bool - */ - public static function startsWith($input, $prefix) { - $length = strlen($prefix); - return (substr($input, 0, $length) === $prefix); - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/Vcs/Api.php b/plugin-update-checker/Puc/v4p9/Vcs/Api.php deleted file mode 100644 index 2827f0b..0000000 --- a/plugin-update-checker/Puc/v4p9/Vcs/Api.php +++ /dev/null @@ -1,302 +0,0 @@ -repositoryUrl = $repositoryUrl; - $this->setAuthentication($credentials); - } - - /** - * @return string - */ - public function getRepositoryUrl() { - return $this->repositoryUrl; - } - - /** - * Figure out which reference (i.e tag or branch) contains the latest version. - * - * @param string $configBranch Start looking in this branch. - * @return null|Puc_v4p9_Vcs_Reference - */ - abstract public function chooseReference($configBranch); - - /** - * Get the readme.txt file from the remote repository and parse it - * according to the plugin readme standard. - * - * @param string $ref Tag or branch name. - * @return array Parsed readme. - */ - public function getRemoteReadme($ref = 'master') { - $fileContents = $this->getRemoteFile($this->getLocalReadmeName(), $ref); - if ( empty($fileContents) ) { - return array(); - } - - $parser = new PucReadmeParser(); - return $parser->parse_readme_contents($fileContents); - } - - /** - * Get the case-sensitive name of the local readme.txt file. - * - * In most cases it should just be called "readme.txt", but some plugins call it "README.txt", - * "README.TXT", or even "Readme.txt". Most VCS are case-sensitive so we need to know the correct - * capitalization. - * - * Defaults to "readme.txt" (all lowercase). - * - * @return string - */ - public function getLocalReadmeName() { - static $fileName = null; - if ( $fileName !== null ) { - return $fileName; - } - - $fileName = 'readme.txt'; - if ( isset($this->localDirectory) ) { - $files = scandir($this->localDirectory); - if ( !empty($files) ) { - foreach ($files as $possibleFileName) { - if ( strcasecmp($possibleFileName, 'readme.txt') === 0 ) { - $fileName = $possibleFileName; - break; - } - } - } - } - return $fileName; - } - - /** - * Get a branch. - * - * @param string $branchName - * @return Puc_v4p9_Vcs_Reference|null - */ - abstract public function getBranch($branchName); - - /** - * Get a specific tag. - * - * @param string $tagName - * @return Puc_v4p9_Vcs_Reference|null - */ - abstract public function getTag($tagName); - - /** - * Get the tag that looks like the highest version number. - * (Implementations should skip pre-release versions if possible.) - * - * @return Puc_v4p9_Vcs_Reference|null - */ - abstract public function getLatestTag(); - - /** - * Check if a tag name string looks like a version number. - * - * @param string $name - * @return bool - */ - protected function looksLikeVersion($name) { - //Tag names may be prefixed with "v", e.g. "v1.2.3". - $name = ltrim($name, 'v'); - - //The version string must start with a number. - if ( !is_numeric(substr($name, 0, 1)) ) { - return false; - } - - //The goal is to accept any SemVer-compatible or "PHP-standardized" version number. - return (preg_match('@^(\d{1,5}?)(\.\d{1,10}?){0,4}?($|[abrdp+_\-]|\s)@i', $name) === 1); - } - - /** - * Check if a tag appears to be named like a version number. - * - * @param stdClass $tag - * @return bool - */ - protected function isVersionTag($tag) { - $property = $this->tagNameProperty; - return isset($tag->$property) && $this->looksLikeVersion($tag->$property); - } - - /** - * Sort a list of tags as if they were version numbers. - * Tags that don't look like version number will be removed. - * - * @param stdClass[] $tags Array of tag objects. - * @return stdClass[] Filtered array of tags sorted in descending order. - */ - protected function sortTagsByVersion($tags) { - //Keep only those tags that look like version numbers. - $versionTags = array_filter($tags, array($this, 'isVersionTag')); - //Sort them in descending order. - usort($versionTags, array($this, 'compareTagNames')); - - return $versionTags; - } - - /** - * Compare two tags as if they were version number. - * - * @param stdClass $tag1 Tag object. - * @param stdClass $tag2 Another tag object. - * @return int - */ - protected function compareTagNames($tag1, $tag2) { - $property = $this->tagNameProperty; - if ( !isset($tag1->$property) ) { - return 1; - } - if ( !isset($tag2->$property) ) { - return -1; - } - return -version_compare(ltrim($tag1->$property, 'v'), ltrim($tag2->$property, 'v')); - } - - /** - * Get the contents of a file from a specific branch or tag. - * - * @param string $path File name. - * @param string $ref - * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. - */ - abstract public function getRemoteFile($path, $ref = 'master'); - - /** - * Get the timestamp of the latest commit that changed the specified branch or tag. - * - * @param string $ref Reference name (e.g. branch or tag). - * @return string|null - */ - abstract public function getLatestCommitTime($ref); - - /** - * Get the contents of the changelog file from the repository. - * - * @param string $ref - * @param string $localDirectory Full path to the local plugin or theme directory. - * @return null|string The HTML contents of the changelog. - */ - public function getRemoteChangelog($ref, $localDirectory) { - $filename = $this->findChangelogName($localDirectory); - if ( empty($filename) ) { - return null; - } - - $changelog = $this->getRemoteFile($filename, $ref); - if ( $changelog === null ) { - return null; - } - - /** @noinspection PhpUndefinedClassInspection */ - return Parsedown::instance()->text($changelog); - } - - /** - * Guess the name of the changelog file. - * - * @param string $directory - * @return string|null - */ - protected function findChangelogName($directory = null) { - if ( !isset($directory) ) { - $directory = $this->localDirectory; - } - if ( empty($directory) || !is_dir($directory) || ($directory === '.') ) { - return null; - } - - $possibleNames = array('CHANGES.md', 'CHANGELOG.md', 'changes.md', 'changelog.md'); - $files = scandir($directory); - $foundNames = array_intersect($possibleNames, $files); - - if ( !empty($foundNames) ) { - return reset($foundNames); - } - return null; - } - - /** - * Set authentication credentials. - * - * @param $credentials - */ - public function setAuthentication($credentials) { - $this->credentials = $credentials; - } - - public function isAuthenticationEnabled() { - return !empty($this->credentials); - } - - /** - * @param string $url - * @return string - */ - public function signDownloadUrl($url) { - return $url; - } - - /** - * @param string $filterName - */ - public function setHttpFilterName($filterName) { - $this->httpFilterName = $filterName; - } - - /** - * @param string $directory - */ - public function setLocalDirectory($directory) { - if ( empty($directory) || !is_dir($directory) || ($directory === '.') ) { - $this->localDirectory = null; - } else { - $this->localDirectory = $directory; - } - } - - /** - * @param string $slug - */ - public function setSlug($slug) { - $this->slug = $slug; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/Vcs/BaseChecker.php b/plugin-update-checker/Puc/v4p9/Vcs/BaseChecker.php deleted file mode 100644 index 2dab435..0000000 --- a/plugin-update-checker/Puc/v4p9/Vcs/BaseChecker.php +++ /dev/null @@ -1,27 +0,0 @@ -[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { - $this->username = $matches['username']; - $this->repository = $matches['repository']; - } else { - throw new InvalidArgumentException('Invalid BitBucket repository URL: "' . $repositoryUrl . '"'); - } - - parent::__construct($repositoryUrl, $credentials); - } - - /** - * Figure out which reference (i.e tag or branch) contains the latest version. - * - * @param string $configBranch Start looking in this branch. - * @return null|Puc_v4p9_Vcs_Reference - */ - public function chooseReference($configBranch) { - $updateSource = null; - - //Check if there's a "Stable tag: 1.2.3" header that points to a valid tag. - $updateSource = $this->getStableTag($configBranch); - - //Look for version-like tags. - if ( !$updateSource && ($configBranch === 'master') ) { - $updateSource = $this->getLatestTag(); - } - //If all else fails, use the specified branch itself. - if ( !$updateSource ) { - $updateSource = $this->getBranch($configBranch); - } - - return $updateSource; - } - - public function getBranch($branchName) { - $branch = $this->api('/refs/branches/' . $branchName); - if ( is_wp_error($branch) || empty($branch) ) { - return null; - } - - return new Puc_v4p9_Vcs_Reference(array( - 'name' => $branch->name, - 'updated' => $branch->target->date, - 'downloadUrl' => $this->getDownloadUrl($branch->name), - )); - } - - /** - * Get a specific tag. - * - * @param string $tagName - * @return Puc_v4p9_Vcs_Reference|null - */ - public function getTag($tagName) { - $tag = $this->api('/refs/tags/' . $tagName); - if ( is_wp_error($tag) || empty($tag) ) { - return null; - } - - return new Puc_v4p9_Vcs_Reference(array( - 'name' => $tag->name, - 'version' => ltrim($tag->name, 'v'), - 'updated' => $tag->target->date, - 'downloadUrl' => $this->getDownloadUrl($tag->name), - )); - } - - /** - * Get the tag that looks like the highest version number. - * - * @return Puc_v4p9_Vcs_Reference|null - */ - public function getLatestTag() { - $tags = $this->api('/refs/tags?sort=-target.date'); - if ( !isset($tags, $tags->values) || !is_array($tags->values) ) { - return null; - } - - //Filter and sort the list of tags. - $versionTags = $this->sortTagsByVersion($tags->values); - - //Return the first result. - if ( !empty($versionTags) ) { - $tag = $versionTags[0]; - return new Puc_v4p9_Vcs_Reference(array( - 'name' => $tag->name, - 'version' => ltrim($tag->name, 'v'), - 'updated' => $tag->target->date, - 'downloadUrl' => $this->getDownloadUrl($tag->name), - )); - } - return null; - } - - /** - * Get the tag/ref specified by the "Stable tag" header in the readme.txt of a given branch. - * - * @param string $branch - * @return null|Puc_v4p9_Vcs_Reference - */ - protected function getStableTag($branch) { - $remoteReadme = $this->getRemoteReadme($branch); - if ( !empty($remoteReadme['stable_tag']) ) { - $tag = $remoteReadme['stable_tag']; - - //You can explicitly opt out of using tags by setting "Stable tag" to - //"trunk" or the name of the current branch. - if ( ($tag === $branch) || ($tag === 'trunk') ) { - return $this->getBranch($branch); - } - - return $this->getTag($tag); - } - - return null; - } - - /** - * @param string $ref - * @return string - */ - protected function getDownloadUrl($ref) { - return sprintf( - 'https://bitbucket.org/%s/%s/get/%s.zip', - $this->username, - $this->repository, - $ref - ); - } - - /** - * Get the contents of a file from a specific branch or tag. - * - * @param string $path File name. - * @param string $ref - * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. - */ - public function getRemoteFile($path, $ref = 'master') { - $response = $this->api('src/' . $ref . '/' . ltrim($path)); - if ( is_wp_error($response) || !is_string($response) ) { - return null; - } - return $response; - } - - /** - * Get the timestamp of the latest commit that changed the specified branch or tag. - * - * @param string $ref Reference name (e.g. branch or tag). - * @return string|null - */ - public function getLatestCommitTime($ref) { - $response = $this->api('commits/' . $ref); - if ( isset($response->values, $response->values[0], $response->values[0]->date) ) { - return $response->values[0]->date; - } - return null; - } - - /** - * Perform a BitBucket API 2.0 request. - * - * @param string $url - * @param string $version - * @return mixed|WP_Error - */ - public function api($url, $version = '2.0') { - $url = ltrim($url, '/'); - $isSrcResource = Puc_v4p9_Utils::startsWith($url, 'src/'); - - $url = implode('/', array( - 'https://api.bitbucket.org', - $version, - 'repositories', - $this->username, - $this->repository, - $url - )); - $baseUrl = $url; - - if ( $this->oauth ) { - $url = $this->oauth->sign($url,'GET'); - } - - $options = array('timeout' => 10); - if ( !empty($this->httpFilterName) ) { - $options = apply_filters($this->httpFilterName, $options); - } - $response = wp_remote_get($url, $options); - if ( is_wp_error($response) ) { - do_action('puc_api_error', $response, null, $url, $this->slug); - return $response; - } - - $code = wp_remote_retrieve_response_code($response); - $body = wp_remote_retrieve_body($response); - if ( $code === 200 ) { - if ( $isSrcResource ) { - //Most responses are JSON-encoded, but src resources just - //return raw file contents. - $document = $body; - } else { - $document = json_decode($body); - } - return $document; - } - - $error = new WP_Error( - 'puc-bitbucket-http-error', - sprintf('BitBucket API error. Base URL: "%s", HTTP status code: %d.', $baseUrl, $code) - ); - do_action('puc_api_error', $error, $response, $url, $this->slug); - - return $error; - } - - /** - * @param array $credentials - */ - public function setAuthentication($credentials) { - parent::setAuthentication($credentials); - - if ( !empty($credentials) && !empty($credentials['consumer_key']) ) { - $this->oauth = new Puc_v4p9_OAuthSignature( - $credentials['consumer_key'], - $credentials['consumer_secret'] - ); - } else { - $this->oauth = null; - } - } - - public function signDownloadUrl($url) { - //Add authentication data to download URLs. Since OAuth signatures incorporate - //timestamps, we have to do this immediately before inserting the update. Otherwise - //authentication could fail due to a stale timestamp. - if ( $this->oauth ) { - $url = $this->oauth->sign($url); - } - return $url; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/Vcs/GitHubApi.php b/plugin-update-checker/Puc/v4p9/Vcs/GitHubApi.php deleted file mode 100644 index 0187a66..0000000 --- a/plugin-update-checker/Puc/v4p9/Vcs/GitHubApi.php +++ /dev/null @@ -1,441 +0,0 @@ -[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { - $this->userName = $matches['username']; - $this->repositoryName = $matches['repository']; - } else { - throw new InvalidArgumentException('Invalid GitHub repository URL: "' . $repositoryUrl . '"'); - } - - parent::__construct($repositoryUrl, $accessToken); - } - - /** - * Get the latest release from GitHub. - * - * @return Puc_v4p9_Vcs_Reference|null - */ - public function getLatestRelease() { - $release = $this->api('/repos/:user/:repo/releases/latest'); - if ( is_wp_error($release) || !is_object($release) || !isset($release->tag_name) ) { - return null; - } - - $reference = new Puc_v4p9_Vcs_Reference(array( - 'name' => $release->tag_name, - 'version' => ltrim($release->tag_name, 'v'), //Remove the "v" prefix from "v1.2.3". - 'downloadUrl' => $release->zipball_url, - 'updated' => $release->created_at, - 'apiResponse' => $release, - )); - - if ( isset($release->assets[0]) ) { - $reference->downloadCount = $release->assets[0]->download_count; - } - - if ( $this->releaseAssetsEnabled && isset($release->assets, $release->assets[0]) ) { - //Use the first release asset that matches the specified regular expression. - $matchingAssets = array_filter($release->assets, array($this, 'matchesAssetFilter')); - if ( !empty($matchingAssets) ) { - if ( $this->isAuthenticationEnabled() ) { - /** - * Keep in mind that we'll need to add an "Accept" header to download this asset. - * - * @see setUpdateDownloadHeaders() - */ - $reference->downloadUrl = $matchingAssets[0]->url; - } else { - //It seems that browser_download_url only works for public repositories. - //Using an access_token doesn't help. Maybe OAuth would work? - $reference->downloadUrl = $matchingAssets[0]->browser_download_url; - } - - $reference->downloadCount = $matchingAssets[0]->download_count; - } - } - - if ( !empty($release->body) ) { - /** @noinspection PhpUndefinedClassInspection */ - $reference->changelog = Parsedown::instance()->text($release->body); - } - - return $reference; - } - - /** - * Get the tag that looks like the highest version number. - * - * @return Puc_v4p9_Vcs_Reference|null - */ - public function getLatestTag() { - $tags = $this->api('/repos/:user/:repo/tags'); - - if ( is_wp_error($tags) || !is_array($tags) ) { - return null; - } - - $versionTags = $this->sortTagsByVersion($tags); - if ( empty($versionTags) ) { - return null; - } - - $tag = $versionTags[0]; - return new Puc_v4p9_Vcs_Reference(array( - 'name' => $tag->name, - 'version' => ltrim($tag->name, 'v'), - 'downloadUrl' => $tag->zipball_url, - 'apiResponse' => $tag, - )); - } - - /** - * Get a branch by name. - * - * @param string $branchName - * @return null|Puc_v4p9_Vcs_Reference - */ - public function getBranch($branchName) { - $branch = $this->api('/repos/:user/:repo/branches/' . $branchName); - if ( is_wp_error($branch) || empty($branch) ) { - return null; - } - - $reference = new Puc_v4p9_Vcs_Reference(array( - 'name' => $branch->name, - 'downloadUrl' => $this->buildArchiveDownloadUrl($branch->name), - 'apiResponse' => $branch, - )); - - if ( isset($branch->commit, $branch->commit->commit, $branch->commit->commit->author->date) ) { - $reference->updated = $branch->commit->commit->author->date; - } - - return $reference; - } - - /** - * Get the latest commit that changed the specified file. - * - * @param string $filename - * @param string $ref Reference name (e.g. branch or tag). - * @return StdClass|null - */ - public function getLatestCommit($filename, $ref = 'master') { - $commits = $this->api( - '/repos/:user/:repo/commits', - array( - 'path' => $filename, - 'sha' => $ref, - ) - ); - if ( !is_wp_error($commits) && isset($commits[0]) ) { - return $commits[0]; - } - return null; - } - - /** - * Get the timestamp of the latest commit that changed the specified branch or tag. - * - * @param string $ref Reference name (e.g. branch or tag). - * @return string|null - */ - public function getLatestCommitTime($ref) { - $commits = $this->api('/repos/:user/:repo/commits', array('sha' => $ref)); - if ( !is_wp_error($commits) && isset($commits[0]) ) { - return $commits[0]->commit->author->date; - } - return null; - } - - /** - * Perform a GitHub API request. - * - * @param string $url - * @param array $queryParams - * @return mixed|WP_Error - */ - protected function api($url, $queryParams = array()) { - $baseUrl = $url; - $url = $this->buildApiUrl($url, $queryParams); - - $options = array('timeout' => 10); - if ( $this->isAuthenticationEnabled() ) { - $options['headers'] = array('Authorization' => $this->getAuthorizationHeader()); - } - - if ( !empty($this->httpFilterName) ) { - $options = apply_filters($this->httpFilterName, $options); - } - $response = wp_remote_get($url, $options); - if ( is_wp_error($response) ) { - do_action('puc_api_error', $response, null, $url, $this->slug); - return $response; - } - - $code = wp_remote_retrieve_response_code($response); - $body = wp_remote_retrieve_body($response); - if ( $code === 200 ) { - $document = json_decode($body); - return $document; - } - - $error = new WP_Error( - 'puc-github-http-error', - sprintf('GitHub API error. Base URL: "%s", HTTP status code: %d.', $baseUrl, $code) - ); - do_action('puc_api_error', $error, $response, $url, $this->slug); - - return $error; - } - - /** - * Build a fully qualified URL for an API request. - * - * @param string $url - * @param array $queryParams - * @return string - */ - protected function buildApiUrl($url, $queryParams) { - $variables = array( - 'user' => $this->userName, - 'repo' => $this->repositoryName, - ); - foreach ($variables as $name => $value) { - $url = str_replace('/:' . $name, '/' . urlencode($value), $url); - } - $url = 'https://api.github.com' . $url; - - if ( !empty($queryParams) ) { - $url = add_query_arg($queryParams, $url); - } - - return $url; - } - - /** - * Get the contents of a file from a specific branch or tag. - * - * @param string $path File name. - * @param string $ref - * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. - */ - public function getRemoteFile($path, $ref = 'master') { - $apiUrl = '/repos/:user/:repo/contents/' . $path; - $response = $this->api($apiUrl, array('ref' => $ref)); - - if ( is_wp_error($response) || !isset($response->content) || ($response->encoding !== 'base64') ) { - return null; - } - return base64_decode($response->content); - } - - /** - * Generate a URL to download a ZIP archive of the specified branch/tag/etc. - * - * @param string $ref - * @return string - */ - public function buildArchiveDownloadUrl($ref = 'master') { - $url = sprintf( - 'https://api.github.com/repos/%1$s/%2$s/zipball/%3$s', - urlencode($this->userName), - urlencode($this->repositoryName), - urlencode($ref) - ); - return $url; - } - - /** - * Get a specific tag. - * - * @param string $tagName - * @return void - */ - public function getTag($tagName) { - //The current GitHub update checker doesn't use getTag, so I didn't bother to implement it. - throw new LogicException('The ' . __METHOD__ . ' method is not implemented and should not be used.'); - } - - public function setAuthentication($credentials) { - parent::setAuthentication($credentials); - $this->accessToken = is_string($credentials) ? $credentials : null; - - //Optimization: Instead of filtering all HTTP requests, let's do it only when - //WordPress is about to download an update. - add_filter('upgrader_pre_download', array($this, 'addHttpRequestFilter'), 10, 1); //WP 3.7+ - } - - /** - * Figure out which reference (i.e tag or branch) contains the latest version. - * - * @param string $configBranch Start looking in this branch. - * @return null|Puc_v4p9_Vcs_Reference - */ - public function chooseReference($configBranch) { - $updateSource = null; - - if ( $configBranch === 'master' ) { - //Use the latest release. - $updateSource = $this->getLatestRelease(); - if ( $updateSource === null ) { - //Failing that, use the tag with the highest version number. - $updateSource = $this->getLatestTag(); - } - } - //Alternatively, just use the branch itself. - if ( empty($updateSource) ) { - $updateSource = $this->getBranch($configBranch); - } - - return $updateSource; - } - - /** - * Enable updating via release assets. - * - * If the latest release contains no usable assets, the update checker - * will fall back to using the automatically generated ZIP archive. - * - * Private repositories will only work with WordPress 3.7 or later. - * - * @param string|null $fileNameRegex Optional. Use only those assets where the file name matches this regex. - */ - public function enableReleaseAssets($fileNameRegex = null) { - $this->releaseAssetsEnabled = true; - $this->assetFilterRegex = $fileNameRegex; - $this->assetApiBaseUrl = sprintf( - '//api.github.com/repos/%1$s/%2$s/releases/assets/', - $this->userName, - $this->repositoryName - ); - } - - /** - * Does this asset match the file name regex? - * - * @param stdClass $releaseAsset - * @return bool - */ - protected function matchesAssetFilter($releaseAsset) { - if ( $this->assetFilterRegex === null ) { - //The default is to accept all assets. - return true; - } - return isset($releaseAsset->name) && preg_match($this->assetFilterRegex, $releaseAsset->name); - } - - /** - * @internal - * @param bool $result - * @return bool - */ - public function addHttpRequestFilter($result) { - if ( !$this->downloadFilterAdded && $this->isAuthenticationEnabled() ) { - add_filter('http_request_args', array($this, 'setUpdateDownloadHeaders'), 10, 2); - add_action('requests-requests.before_redirect', array($this, 'removeAuthHeaderFromRedirects'), 10, 4); - $this->downloadFilterAdded = true; - } - return $result; - } - - /** - * Set the HTTP headers that are necessary to download updates from private repositories. - * - * See GitHub docs: - * @link https://developer.github.com/v3/repos/releases/#get-a-single-release-asset - * @link https://developer.github.com/v3/auth/#basic-authentication - * - * @internal - * @param array $requestArgs - * @param string $url - * @return array - */ - public function setUpdateDownloadHeaders($requestArgs, $url = '') { - //Is WordPress trying to download one of our release assets? - if ( $this->releaseAssetsEnabled && (strpos($url, $this->assetApiBaseUrl) !== false) ) { - $requestArgs['headers']['Accept'] = 'application/octet-stream'; - } - //Use Basic authentication, but only if the download is from our repository. - $repoApiBaseUrl = $this->buildApiUrl('/repos/:user/:repo/', array()); - if ( $this->isAuthenticationEnabled() && (strpos($url, $repoApiBaseUrl)) === 0 ) { - $requestArgs['headers']['Authorization'] = $this->getAuthorizationHeader(); - } - return $requestArgs; - } - - /** - * When following a redirect, the Requests library will automatically forward - * the authorization header to other hosts. We don't want that because it breaks - * AWS downloads and can leak authorization information. - * - * @internal - * @param string $location - * @param array $headers - */ - public function removeAuthHeaderFromRedirects(&$location, &$headers) { - $repoApiBaseUrl = $this->buildApiUrl('/repos/:user/:repo/', array()); - if ( strpos($location, $repoApiBaseUrl) === 0 ) { - return; //This request is going to GitHub, so it's fine. - } - //Remove the header. - if ( isset($headers['Authorization']) ) { - unset($headers['Authorization']); - } - } - - /** - * Generate the value of the "Authorization" header. - * - * @return string - */ - protected function getAuthorizationHeader() { - return 'Basic ' . base64_encode($this->userName . ':' . $this->accessToken); - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/Vcs/GitLabApi.php b/plugin-update-checker/Puc/v4p9/Vcs/GitLabApi.php deleted file mode 100644 index 30bbd13..0000000 --- a/plugin-update-checker/Puc/v4p9/Vcs/GitLabApi.php +++ /dev/null @@ -1,309 +0,0 @@ -repositoryHost = parse_url($repositoryUrl, PHP_URL_HOST) . $port; - - if ( $this->repositoryHost !== 'gitlab.com' ) { - $this->repositoryProtocol = parse_url($repositoryUrl, PHP_URL_SCHEME); - } - - //Find the repository information - $path = parse_url($repositoryUrl, PHP_URL_PATH); - if ( preg_match('@^/?(?P[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { - $this->userName = $matches['username']; - $this->repositoryName = $matches['repository']; - } elseif ( ($this->repositoryHost === 'gitlab.com') ) { - //This is probably a repository in a subgroup, e.g. "/organization/category/repo". - $parts = explode('/', trim($path, '/')); - if ( count($parts) < 3 ) { - throw new InvalidArgumentException('Invalid GitLab.com repository URL: "' . $repositoryUrl . '"'); - } - $lastPart = array_pop($parts); - $this->userName = implode('/', $parts); - $this->repositoryName = $lastPart; - } else { - //There could be subgroups in the URL: gitlab.domain.com/group/subgroup/subgroup2/repository - if ( $subgroup !== null ) { - $path = str_replace(trailingslashit($subgroup), '', $path); - } - - //This is not a traditional url, it could be gitlab is in a deeper subdirectory. - //Get the path segments. - $segments = explode('/', untrailingslashit(ltrim($path, '/'))); - - //We need at least /user-name/repository-name/ - if ( count($segments) < 2 ) { - throw new InvalidArgumentException('Invalid GitLab repository URL: "' . $repositoryUrl . '"'); - } - - //Get the username and repository name. - $usernameRepo = array_splice($segments, -2, 2); - $this->userName = $usernameRepo[0]; - $this->repositoryName = $usernameRepo[1]; - - //Append the remaining segments to the host if there are segments left. - if ( count($segments) > 0 ) { - $this->repositoryHost = trailingslashit($this->repositoryHost) . implode('/', $segments); - } - - //Add subgroups to username. - if ( $subgroup !== null ) { - $this->userName = $usernameRepo[0] . '/' . untrailingslashit($subgroup); - } - } - - parent::__construct($repositoryUrl, $accessToken); - } - - /** - * Get the latest release from GitLab. - * - * @return Puc_v4p9_Vcs_Reference|null - */ - public function getLatestRelease() { - return $this->getLatestTag(); - } - - /** - * Get the tag that looks like the highest version number. - * - * @return Puc_v4p9_Vcs_Reference|null - */ - public function getLatestTag() { - $tags = $this->api('/:id/repository/tags'); - if ( is_wp_error($tags) || empty($tags) || !is_array($tags) ) { - return null; - } - - $versionTags = $this->sortTagsByVersion($tags); - if ( empty($versionTags) ) { - return null; - } - - $tag = $versionTags[0]; - return new Puc_v4p9_Vcs_Reference(array( - 'name' => $tag->name, - 'version' => ltrim($tag->name, 'v'), - 'downloadUrl' => $this->buildArchiveDownloadUrl($tag->name), - 'apiResponse' => $tag, - )); - } - - /** - * Get a branch by name. - * - * @param string $branchName - * @return null|Puc_v4p9_Vcs_Reference - */ - public function getBranch($branchName) { - $branch = $this->api('/:id/repository/branches/' . $branchName); - if ( is_wp_error($branch) || empty($branch) ) { - return null; - } - - $reference = new Puc_v4p9_Vcs_Reference(array( - 'name' => $branch->name, - 'downloadUrl' => $this->buildArchiveDownloadUrl($branch->name), - 'apiResponse' => $branch, - )); - - if ( isset($branch->commit, $branch->commit->committed_date) ) { - $reference->updated = $branch->commit->committed_date; - } - - return $reference; - } - - /** - * Get the timestamp of the latest commit that changed the specified branch or tag. - * - * @param string $ref Reference name (e.g. branch or tag). - * @return string|null - */ - public function getLatestCommitTime($ref) { - $commits = $this->api('/:id/repository/commits/', array('ref_name' => $ref)); - if ( is_wp_error($commits) || !is_array($commits) || !isset($commits[0]) ) { - return null; - } - - return $commits[0]->committed_date; - } - - /** - * Perform a GitLab API request. - * - * @param string $url - * @param array $queryParams - * @return mixed|WP_Error - */ - protected function api($url, $queryParams = array()) { - $baseUrl = $url; - $url = $this->buildApiUrl($url, $queryParams); - - $options = array('timeout' => 10); - if ( !empty($this->httpFilterName) ) { - $options = apply_filters($this->httpFilterName, $options); - } - - $response = wp_remote_get($url, $options); - if ( is_wp_error($response) ) { - do_action('puc_api_error', $response, null, $url, $this->slug); - return $response; - } - - $code = wp_remote_retrieve_response_code($response); - $body = wp_remote_retrieve_body($response); - if ( $code === 200 ) { - return json_decode($body); - } - - $error = new WP_Error( - 'puc-gitlab-http-error', - sprintf('GitLab API error. URL: "%s", HTTP status code: %d.', $baseUrl, $code) - ); - do_action('puc_api_error', $error, $response, $url, $this->slug); - - return $error; - } - - /** - * Build a fully qualified URL for an API request. - * - * @param string $url - * @param array $queryParams - * @return string - */ - protected function buildApiUrl($url, $queryParams) { - $variables = array( - 'user' => $this->userName, - 'repo' => $this->repositoryName, - 'id' => $this->userName . '/' . $this->repositoryName, - ); - - foreach ($variables as $name => $value) { - $url = str_replace("/:{$name}", '/' . urlencode($value), $url); - } - - $url = substr($url, 1); - $url = sprintf('%1$s://%2$s/api/v4/projects/%3$s', $this->repositoryProtocol, $this->repositoryHost, $url); - - if ( !empty($this->accessToken) ) { - $queryParams['private_token'] = $this->accessToken; - } - - if ( !empty($queryParams) ) { - $url = add_query_arg($queryParams, $url); - } - - return $url; - } - - /** - * Get the contents of a file from a specific branch or tag. - * - * @param string $path File name. - * @param string $ref - * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. - */ - public function getRemoteFile($path, $ref = 'master') { - $response = $this->api('/:id/repository/files/' . $path, array('ref' => $ref)); - if ( is_wp_error($response) || !isset($response->content) || $response->encoding !== 'base64' ) { - return null; - } - - return base64_decode($response->content); - } - - /** - * Generate a URL to download a ZIP archive of the specified branch/tag/etc. - * - * @param string $ref - * @return string - */ - public function buildArchiveDownloadUrl($ref = 'master') { - $url = sprintf( - '%1$s://%2$s/api/v4/projects/%3$s/repository/archive.zip', - $this->repositoryProtocol, - $this->repositoryHost, - urlencode($this->userName . '/' . $this->repositoryName) - ); - $url = add_query_arg('sha', urlencode($ref), $url); - - if ( !empty($this->accessToken) ) { - $url = add_query_arg('private_token', $this->accessToken, $url); - } - - return $url; - } - - /** - * Get a specific tag. - * - * @param string $tagName - * @return void - */ - public function getTag($tagName) { - throw new LogicException('The ' . __METHOD__ . ' method is not implemented and should not be used.'); - } - - /** - * Figure out which reference (i.e tag or branch) contains the latest version. - * - * @param string $configBranch Start looking in this branch. - * @return null|Puc_v4p9_Vcs_Reference - */ - public function chooseReference($configBranch) { - $updateSource = null; - - // GitLab doesn't handle releases the same as GitHub so just use the latest tag - if ( $configBranch === 'master' ) { - $updateSource = $this->getLatestTag(); - } - - if ( empty($updateSource) ) { - $updateSource = $this->getBranch($configBranch); - } - - return $updateSource; - } - - public function setAuthentication($credentials) { - parent::setAuthentication($credentials); - $this->accessToken = is_string($credentials) ? $credentials : null; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/Vcs/PluginUpdateChecker.php b/plugin-update-checker/Puc/v4p9/Vcs/PluginUpdateChecker.php deleted file mode 100644 index 27200ff..0000000 --- a/plugin-update-checker/Puc/v4p9/Vcs/PluginUpdateChecker.php +++ /dev/null @@ -1,218 +0,0 @@ -api = $api; - $this->api->setHttpFilterName($this->getUniqueName('request_info_options')); - - parent::__construct($api->getRepositoryUrl(), $pluginFile, $slug, $checkPeriod, $optionName, $muPluginFile); - - $this->api->setSlug($this->slug); - } - - public function requestInfo($unusedParameter = null) { - //We have to make several remote API requests to gather all the necessary info - //which can take a while on slow networks. - if ( function_exists('set_time_limit') ) { - @set_time_limit(60); - } - - $api = $this->api; - $api->setLocalDirectory($this->package->getAbsoluteDirectoryPath()); - - $info = new Puc_v4p9_Plugin_Info(); - $info->filename = $this->pluginFile; - $info->slug = $this->slug; - - $this->setInfoFromHeader($this->package->getPluginHeader(), $info); - - //Pick a branch or tag. - $updateSource = $api->chooseReference($this->branch); - if ( $updateSource ) { - $ref = $updateSource->name; - $info->version = $updateSource->version; - $info->last_updated = $updateSource->updated; - $info->download_url = $updateSource->downloadUrl; - - if ( !empty($updateSource->changelog) ) { - $info->sections['changelog'] = $updateSource->changelog; - } - if ( isset($updateSource->downloadCount) ) { - $info->downloaded = $updateSource->downloadCount; - } - } else { - //There's probably a network problem or an authentication error. - do_action( - 'puc_api_error', - new WP_Error( - 'puc-no-update-source', - 'Could not retrieve version information from the repository. ' - . 'This usually means that the update checker either can\'t connect ' - . 'to the repository or it\'s configured incorrectly.' - ), - null, null, $this->slug - ); - return null; - } - - //Get headers from the main plugin file in this branch/tag. Its "Version" header and other metadata - //are what the WordPress install will actually see after upgrading, so they take precedence over releases/tags. - $mainPluginFile = basename($this->pluginFile); - $remotePlugin = $api->getRemoteFile($mainPluginFile, $ref); - if ( !empty($remotePlugin) ) { - $remoteHeader = $this->package->getFileHeader($remotePlugin); - $this->setInfoFromHeader($remoteHeader, $info); - } - - //Try parsing readme.txt. If it's formatted according to WordPress.org standards, it will contain - //a lot of useful information like the required/tested WP version, changelog, and so on. - if ( $this->readmeTxtExistsLocally() ) { - $this->setInfoFromRemoteReadme($ref, $info); - } - - //The changelog might be in a separate file. - if ( empty($info->sections['changelog']) ) { - $info->sections['changelog'] = $api->getRemoteChangelog($ref, $this->package->getAbsoluteDirectoryPath()); - if ( empty($info->sections['changelog']) ) { - $info->sections['changelog'] = __('There is no changelog available.', 'plugin-update-checker'); - } - } - - if ( empty($info->last_updated) ) { - //Fetch the latest commit that changed the tag or branch and use it as the "last_updated" date. - $latestCommitTime = $api->getLatestCommitTime($ref); - if ( $latestCommitTime !== null ) { - $info->last_updated = $latestCommitTime; - } - } - - $info = apply_filters($this->getUniqueName('request_info_result'), $info, null); - return $info; - } - - /** - * Check if the currently installed version has a readme.txt file. - * - * @return bool - */ - protected function readmeTxtExistsLocally() { - return $this->package->fileExists($this->api->getLocalReadmeName()); - } - - /** - * Copy plugin metadata from a file header to a Plugin Info object. - * - * @param array $fileHeader - * @param Puc_v4p9_Plugin_Info $pluginInfo - */ - protected function setInfoFromHeader($fileHeader, $pluginInfo) { - $headerToPropertyMap = array( - 'Version' => 'version', - 'Name' => 'name', - 'PluginURI' => 'homepage', - 'Author' => 'author', - 'AuthorName' => 'author', - 'AuthorURI' => 'author_homepage', - - 'Requires WP' => 'requires', - 'Tested WP' => 'tested', - 'Requires at least' => 'requires', - 'Tested up to' => 'tested', - - 'Requires PHP' => 'requires_php', - ); - foreach ($headerToPropertyMap as $headerName => $property) { - if ( isset($fileHeader[$headerName]) && !empty($fileHeader[$headerName]) ) { - $pluginInfo->$property = $fileHeader[$headerName]; - } - } - - if ( !empty($fileHeader['Description']) ) { - $pluginInfo->sections['description'] = $fileHeader['Description']; - } - } - - /** - * Copy plugin metadata from the remote readme.txt file. - * - * @param string $ref GitHub tag or branch where to look for the readme. - * @param Puc_v4p9_Plugin_Info $pluginInfo - */ - protected function setInfoFromRemoteReadme($ref, $pluginInfo) { - $readme = $this->api->getRemoteReadme($ref); - if ( empty($readme) ) { - return; - } - - if ( isset($readme['sections']) ) { - $pluginInfo->sections = array_merge($pluginInfo->sections, $readme['sections']); - } - if ( !empty($readme['tested_up_to']) ) { - $pluginInfo->tested = $readme['tested_up_to']; - } - if ( !empty($readme['requires_at_least']) ) { - $pluginInfo->requires = $readme['requires_at_least']; - } - if ( !empty($readme['requires_php']) ) { - $pluginInfo->requires_php = $readme['requires_php']; - } - - if ( isset($readme['upgrade_notice'], $readme['upgrade_notice'][$pluginInfo->version]) ) { - $pluginInfo->upgrade_notice = $readme['upgrade_notice'][$pluginInfo->version]; - } - } - - public function setBranch($branch) { - $this->branch = $branch; - return $this; - } - - public function setAuthentication($credentials) { - $this->api->setAuthentication($credentials); - return $this; - } - - public function getVcsApi() { - return $this->api; - } - - public function getUpdate() { - $update = parent::getUpdate(); - - if ( isset($update) && !empty($update->download_url) ) { - $update->download_url = $this->api->signDownloadUrl($update->download_url); - } - - return $update; - } - - public function onDisplayConfiguration($panel) { - parent::onDisplayConfiguration($panel); - $panel->row('Branch', $this->branch); - $panel->row('Authentication enabled', $this->api->isAuthenticationEnabled() ? 'Yes' : 'No'); - $panel->row('API client', get_class($this->api)); - } - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/Vcs/Reference.php b/plugin-update-checker/Puc/v4p9/Vcs/Reference.php deleted file mode 100644 index b9b30c1..0000000 --- a/plugin-update-checker/Puc/v4p9/Vcs/Reference.php +++ /dev/null @@ -1,49 +0,0 @@ -properties = $properties; - } - - /** - * @param string $name - * @return mixed|null - */ - public function __get($name) { - return array_key_exists($name, $this->properties) ? $this->properties[$name] : null; - } - - /** - * @param string $name - * @param mixed $value - */ - public function __set($name, $value) { - $this->properties[$name] = $value; - } - - /** - * @param string $name - * @return bool - */ - public function __isset($name) { - return isset($this->properties[$name]); - } - - } - -endif; diff --git a/plugin-update-checker/Puc/v4p9/Vcs/ThemeUpdateChecker.php b/plugin-update-checker/Puc/v4p9/Vcs/ThemeUpdateChecker.php deleted file mode 100644 index b23f4c9..0000000 --- a/plugin-update-checker/Puc/v4p9/Vcs/ThemeUpdateChecker.php +++ /dev/null @@ -1,118 +0,0 @@ -api = $api; - $this->api->setHttpFilterName($this->getUniqueName('request_update_options')); - - parent::__construct($api->getRepositoryUrl(), $stylesheet, $customSlug, $checkPeriod, $optionName); - - $this->api->setSlug($this->slug); - } - - public function requestUpdate() { - $api = $this->api; - $api->setLocalDirectory($this->package->getAbsoluteDirectoryPath()); - - $update = new Puc_v4p9_Theme_Update(); - $update->slug = $this->slug; - - //Figure out which reference (tag or branch) we'll use to get the latest version of the theme. - $updateSource = $api->chooseReference($this->branch); - if ( $updateSource ) { - $ref = $updateSource->name; - $update->download_url = $updateSource->downloadUrl; - } else { - do_action( - 'puc_api_error', - new WP_Error( - 'puc-no-update-source', - 'Could not retrieve version information from the repository. ' - . 'This usually means that the update checker either can\'t connect ' - . 'to the repository or it\'s configured incorrectly.' - ), - null, null, $this->slug - ); - $ref = $this->branch; - } - - //Get headers from the main stylesheet in this branch/tag. Its "Version" header and other metadata - //are what the WordPress install will actually see after upgrading, so they take precedence over releases/tags. - $remoteHeader = $this->package->getFileHeader($api->getRemoteFile('style.css', $ref)); - $update->version = Puc_v4p9_Utils::findNotEmpty(array( - $remoteHeader['Version'], - Puc_v4p9_Utils::get($updateSource, 'version'), - )); - - //The details URL defaults to the Theme URI header or the repository URL. - $update->details_url = Puc_v4p9_Utils::findNotEmpty(array( - $remoteHeader['ThemeURI'], - $this->package->getHeaderValue('ThemeURI'), - $this->metadataUrl, - )); - - if ( empty($update->version) ) { - //It looks like we didn't find a valid update after all. - $update = null; - } - - $update = $this->filterUpdateResult($update); - return $update; - } - - //FIXME: This is duplicated code. Both theme and plugin subclasses that use VCS share these methods. - - public function setBranch($branch) { - $this->branch = $branch; - return $this; - } - - public function setAuthentication($credentials) { - $this->api->setAuthentication($credentials); - return $this; - } - - public function getVcsApi() { - return $this->api; - } - - public function getUpdate() { - $update = parent::getUpdate(); - - if ( isset($update) && !empty($update->download_url) ) { - $update->download_url = $this->api->signDownloadUrl($update->download_url); - } - - return $update; - } - - public function onDisplayConfiguration($panel) { - parent::onDisplayConfiguration($panel); - $panel->row('Branch', $this->branch); - $panel->row('Authentication enabled', $this->api->isAuthenticationEnabled() ? 'Yes' : 'No'); - $panel->row('API client', get_class($this->api)); - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5/PucFactory.php b/plugin-update-checker/Puc/v5/PucFactory.php deleted file mode 100644 index a8ebf7e..0000000 --- a/plugin-update-checker/Puc/v5/PucFactory.php +++ /dev/null @@ -1,10 +0,0 @@ -rootDir = dirname(__FILE__) . '/'; - - $namespaceWithSlash = __NAMESPACE__ . '\\'; - $this->prefix = $namespaceWithSlash; - - $this->libraryDir = $this->rootDir . '../..'; - if ( !self::isPhar() ) { - $this->libraryDir = realpath($this->libraryDir); - } - $this->libraryDir = $this->libraryDir . '/'; - - //Usually, dependencies like Parsedown are in the global namespace, - //but if someone adds a custom namespace to the entire library, they - //will be in the same namespace as this class. - $isCustomNamespace = ( - substr($namespaceWithSlash, 0, strlen(self::DEFAULT_NS_PREFIX)) !== self::DEFAULT_NS_PREFIX - ); - $libraryPrefix = $isCustomNamespace ? $namespaceWithSlash : ''; - - $this->staticMap = array( - $libraryPrefix . 'PucReadmeParser' => 'vendor/PucReadmeParser.php', - $libraryPrefix . 'Parsedown' => 'vendor/Parsedown.php', - ); - - //Add the generic, major-version-only factory class to the static map. - $versionSeparatorPos = strrpos(__NAMESPACE__, '\\v'); - if ( $versionSeparatorPos !== false ) { - $versionSegment = substr(__NAMESPACE__, $versionSeparatorPos + 1); - $pointPos = strpos($versionSegment, 'p'); - if ( ($pointPos !== false) && ($pointPos > 1) ) { - $majorVersionSegment = substr($versionSegment, 0, $pointPos); - $majorVersionNs = __NAMESPACE__ . '\\' . $majorVersionSegment; - $this->staticMap[$majorVersionNs . '\\PucFactory'] = - 'Puc/' . $majorVersionSegment . '/Factory.php'; - } - } - - spl_autoload_register(array($this, 'autoload')); - } - - /** - * Determine if this file is running as part of a Phar archive. - * - * @return bool - */ - private static function isPhar() { - //Check if the current file path starts with "phar://". - static $pharProtocol = 'phar://'; - return (substr(__FILE__, 0, strlen($pharProtocol)) === $pharProtocol); - } - - public function autoload($className) { - if ( isset($this->staticMap[$className]) && file_exists($this->libraryDir . $this->staticMap[$className]) ) { - include($this->libraryDir . $this->staticMap[$className]); - return; - } - - if ( strpos($className, $this->prefix) === 0 ) { - $path = substr($className, strlen($this->prefix)); - $path = str_replace(array('_', '\\'), '/', $path); - $path = $this->rootDir . $path . '.php'; - - if ( file_exists($path) ) { - include $path; - } - } - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/DebugBar/Extension.php b/plugin-update-checker/Puc/v5p5/DebugBar/Extension.php deleted file mode 100644 index 14ab6a2..0000000 --- a/plugin-update-checker/Puc/v5p5/DebugBar/Extension.php +++ /dev/null @@ -1,199 +0,0 @@ -updateChecker = $updateChecker; - if ( isset($panelClass) ) { - $this->panelClass = $panelClass; - } - - if ( (strpos($this->panelClass, '\\') === false) ) { - $this->panelClass = __NAMESPACE__ . '\\' . $this->panelClass; - } - - add_filter('debug_bar_panels', array($this, 'addDebugBarPanel')); - add_action('debug_bar_enqueue_scripts', array($this, 'enqueuePanelDependencies')); - - add_action('wp_ajax_puc_v5_debug_check_now', array($this, 'ajaxCheckNow')); - } - - /** - * Register the PUC Debug Bar panel. - * - * @param array $panels - * @return array - */ - public function addDebugBarPanel($panels) { - if ( $this->updateChecker->userCanInstallUpdates() ) { - $panels[] = new $this->panelClass($this->updateChecker); - } - return $panels; - } - - /** - * Enqueue our Debug Bar scripts and styles. - */ - public function enqueuePanelDependencies() { - wp_enqueue_style( - 'puc-debug-bar-style-v5', - $this->getLibraryUrl("/css/puc-debug-bar.css"), - array('debug-bar'), - '20221008' - ); - - wp_enqueue_script( - 'puc-debug-bar-js-v5', - $this->getLibraryUrl("/js/debug-bar.js"), - array('jquery'), - '20221008' - ); - } - - /** - * Run an update check and output the result. Useful for making sure that - * the update checking process works as expected. - */ - public function ajaxCheckNow() { - //phpcs:ignore WordPress.Security.NonceVerification.Missing -- Nonce is checked in preAjaxRequest(). - if ( !isset($_POST['uid']) || ($_POST['uid'] !== $this->updateChecker->getUniqueName('uid')) ) { - return; - } - $this->preAjaxRequest(); - $update = $this->updateChecker->checkForUpdates(); - if ( $update !== null ) { - echo "An update is available:"; - //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_print_r -- For debugging output. - echo '
      ', esc_html(print_r($update, true)), '
      '; - } else { - echo 'No updates found.'; - } - - $errors = $this->updateChecker->getLastRequestApiErrors(); - if ( !empty($errors) ) { - printf('

      The update checker encountered %d API error%s.

      ', count($errors), (count($errors) > 1) ? 's' : ''); - - foreach (array_values($errors) as $num => $item) { - $wpError = $item['error']; - /** @var \WP_Error $wpError */ - printf('

      %d) %s

      ', intval($num + 1), esc_html($wpError->get_error_message())); - - echo '
      '; - printf('
      Error code:
      %s
      ', esc_html($wpError->get_error_code())); - - if ( isset($item['url']) ) { - printf('
      Requested URL:
      %s
      ', esc_html($item['url'])); - } - - if ( isset($item['httpResponse']) ) { - if ( is_wp_error($item['httpResponse']) ) { - $httpError = $item['httpResponse']; - /** @var \WP_Error $httpError */ - printf( - '
      WordPress HTTP API error:
      %s (%s)
      ', - esc_html($httpError->get_error_message()), - esc_html($httpError->get_error_code()) - ); - } else { - //Status code. - printf( - '
      HTTP status:
      %d %s
      ', - esc_html(wp_remote_retrieve_response_code($item['httpResponse'])), - esc_html(wp_remote_retrieve_response_message($item['httpResponse'])) - ); - - //Headers. - echo '
      Response headers:
      ';
      -							foreach (wp_remote_retrieve_headers($item['httpResponse']) as $name => $value) {
      -								printf("%s: %s\n", esc_html($name), esc_html($value));
      -							}
      -							echo '
      '; - - //Body. - $body = wp_remote_retrieve_body($item['httpResponse']); - if ( $body === '' ) { - $body = '(Empty response.)'; - } else if ( strlen($body) > self::RESPONSE_BODY_LENGTH_LIMIT ) { - $length = strlen($body); - $body = substr($body, 0, self::RESPONSE_BODY_LENGTH_LIMIT) - . sprintf("\n(Long string truncated. Total length: %d bytes.)", $length); - } - - printf('
      Response body:
      %s
      ', esc_html($body)); - } - } - echo '
      '; - } - } - - exit; - } - - /** - * Check access permissions and enable error display (for debugging). - */ - protected function preAjaxRequest() { - if ( !$this->updateChecker->userCanInstallUpdates() ) { - die('Access denied'); - } - check_ajax_referer('puc-ajax'); - - //phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.runtime_configuration_error_reporting -- Part of a debugging feature. - error_reporting(E_ALL); - //phpcs:ignore WordPress.PHP.IniSet.display_errors_Blacklisted - @ini_set('display_errors', 'On'); - } - - /** - * Remove hooks that were added by this extension. - */ - public function removeHooks() { - remove_filter('debug_bar_panels', array($this, 'addDebugBarPanel')); - remove_action('debug_bar_enqueue_scripts', array($this, 'enqueuePanelDependencies')); - remove_action('wp_ajax_puc_v5_debug_check_now', array($this, 'ajaxCheckNow')); - } - - /** - * @param string $filePath - * @return string - */ - private function getLibraryUrl($filePath) { - $absolutePath = realpath(dirname(__FILE__) . '/../../../' . ltrim($filePath, '/')); - - //Where is the library located inside the WordPress directory structure? - $absolutePath = PucFactory::normalizePath($absolutePath); - - $pluginDir = PucFactory::normalizePath(WP_PLUGIN_DIR); - $muPluginDir = PucFactory::normalizePath(WPMU_PLUGIN_DIR); - $themeDir = PucFactory::normalizePath(get_theme_root()); - - if ( (strpos($absolutePath, $pluginDir) === 0) || (strpos($absolutePath, $muPluginDir) === 0) ) { - //It's part of a plugin. - return plugins_url(basename($absolutePath), $absolutePath); - } else if ( strpos($absolutePath, $themeDir) === 0 ) { - //It's part of a theme. - $relativePath = substr($absolutePath, strlen($themeDir) + 1); - $template = substr($relativePath, 0, strpos($relativePath, '/')); - $baseUrl = get_theme_root_uri($template); - - if ( !empty($baseUrl) && $relativePath ) { - return $baseUrl . '/' . $relativePath; - } - } - - return ''; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/DebugBar/Panel.php b/plugin-update-checker/Puc/v5p5/DebugBar/Panel.php deleted file mode 100644 index 9a61e74..0000000 --- a/plugin-update-checker/Puc/v5p5/DebugBar/Panel.php +++ /dev/null @@ -1,186 +0,0 @@ -'; - - public function __construct($updateChecker) { - $this->updateChecker = $updateChecker; - $title = sprintf( - 'PUC (%s)', - esc_attr($this->updateChecker->getUniqueName('uid')), - $this->updateChecker->slug - ); - parent::__construct($title); - } - - public function render() { - printf( - '
      ', - esc_attr($this->updateChecker->getUniqueName('debug-bar-panel')), - esc_attr($this->updateChecker->slug), - esc_attr($this->updateChecker->getUniqueName('uid')), - esc_attr(wp_create_nonce('puc-ajax')) - ); - - $this->displayConfiguration(); - $this->displayStatus(); - $this->displayCurrentUpdate(); - - echo '
      '; - } - - private function displayConfiguration() { - echo '

      Configuration

      '; - echo ''; - $this->displayConfigHeader(); - $this->row('Slug', htmlentities($this->updateChecker->slug)); - $this->row('DB option', htmlentities($this->updateChecker->optionName)); - - $requestInfoButton = $this->getMetadataButton(); - $this->row('Metadata URL', htmlentities($this->updateChecker->metadataUrl) . ' ' . $requestInfoButton . $this->responseBox); - - $scheduler = $this->updateChecker->scheduler; - if ( $scheduler->checkPeriod > 0 ) { - $this->row('Automatic checks', 'Every ' . $scheduler->checkPeriod . ' hours'); - } else { - $this->row('Automatic checks', 'Disabled'); - } - - if ( isset($scheduler->throttleRedundantChecks) ) { - if ( $scheduler->throttleRedundantChecks && ($scheduler->checkPeriod > 0) ) { - $this->row( - 'Throttling', - sprintf( - 'Enabled. If an update is already available, check for updates every %1$d hours instead of every %2$d hours.', - $scheduler->throttledCheckPeriod, - $scheduler->checkPeriod - ) - ); - } else { - $this->row('Throttling', 'Disabled'); - } - } - - $this->updateChecker->onDisplayConfiguration($this); - - echo '
      '; - } - - protected function displayConfigHeader() { - //Do nothing. This should be implemented in subclasses. - } - - protected function getMetadataButton() { - return ''; - } - - private function displayStatus() { - echo '

      Status

      '; - echo ''; - $state = $this->updateChecker->getUpdateState(); - $checkButtonId = $this->updateChecker->getUniqueName('check-now-button'); - if ( function_exists('get_submit_button') ) { - $checkNowButton = get_submit_button( - 'Check Now', - 'secondary', - 'puc-check-now-button', - false, - array('id' => $checkButtonId) - ); - } else { - //get_submit_button() is not available in the frontend. Make a button directly. - //It won't look the same without admin styles, but it should still work. - $checkNowButton = sprintf( - '', - esc_attr($checkButtonId), - esc_attr('Check Now') - ); - } - - if ( $state->getLastCheck() > 0 ) { - $this->row('Last check', $this->formatTimeWithDelta($state->getLastCheck()) . ' ' . $checkNowButton . $this->responseBox); - } else { - $this->row('Last check', 'Never'); - } - - $nextCheck = wp_next_scheduled($this->updateChecker->scheduler->getCronHookName()); - $this->row('Next automatic check', $this->formatTimeWithDelta($nextCheck)); - - if ( $state->getCheckedVersion() !== '' ) { - $this->row('Checked version', htmlentities($state->getCheckedVersion())); - $this->row('Cached update', $state->getUpdate()); - } - $this->row('Update checker class', htmlentities(get_class($this->updateChecker))); - echo '
      '; - } - - private function displayCurrentUpdate() { - $update = $this->updateChecker->getUpdate(); - if ( $update !== null ) { - echo '

      An Update Is Available

      '; - echo ''; - $fields = $this->getUpdateFields(); - foreach($fields as $field) { - if ( property_exists($update, $field) ) { - $this->row( - ucwords(str_replace('_', ' ', $field)), - isset($update->$field) ? htmlentities($update->$field) : null - ); - } - } - echo '
      '; - } else { - echo '

      No updates currently available

      '; - } - } - - protected function getUpdateFields() { - return array('version', 'download_url', 'slug',); - } - - private function formatTimeWithDelta($unixTime) { - if ( empty($unixTime) ) { - return 'Never'; - } - - $delta = time() - $unixTime; - $result = human_time_diff(time(), $unixTime); - if ( $delta < 0 ) { - $result = 'after ' . $result; - } else { - $result = $result . ' ago'; - } - $result .= ' (' . $this->formatTimestamp($unixTime) . ')'; - return $result; - } - - private function formatTimestamp($unixTime) { - return gmdate('Y-m-d H:i:s', $unixTime + (get_option('gmt_offset') * 3600)); - } - - public function row($name, $value) { - if ( is_object($value) || is_array($value) ) { - //This is specifically for debugging, so print_r() is fine. - //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_print_r - $value = '
      ' . htmlentities(print_r($value, true)) . '
      '; - } else if ($value === null) { - $value = 'null'; - } - printf( - '%1$s %2$s', - esc_html($name), - //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Escaped above. - $value - ); - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/DebugBar/PluginExtension.php b/plugin-update-checker/Puc/v5p5/DebugBar/PluginExtension.php deleted file mode 100644 index 50972ec..0000000 --- a/plugin-update-checker/Puc/v5p5/DebugBar/PluginExtension.php +++ /dev/null @@ -1,40 +0,0 @@ -updateChecker->getUniqueName('uid')) ) { - return; - } - $this->preAjaxRequest(); - $info = $this->updateChecker->requestInfo(); - if ( $info !== null ) { - echo 'Successfully retrieved plugin info from the metadata URL:'; - //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_print_r -- For debugging output. - echo '
      ', esc_html(print_r($info, true)), '
      '; - } else { - echo 'Failed to retrieve plugin info from the metadata URL.'; - } - exit; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/DebugBar/PluginPanel.php b/plugin-update-checker/Puc/v5p5/DebugBar/PluginPanel.php deleted file mode 100644 index 8bd2dc5..0000000 --- a/plugin-update-checker/Puc/v5p5/DebugBar/PluginPanel.php +++ /dev/null @@ -1,47 +0,0 @@ -row('Plugin file', htmlentities($this->updateChecker->pluginFile)); - parent::displayConfigHeader(); - } - - protected function getMetadataButton() { - $buttonId = $this->updateChecker->getUniqueName('request-info-button'); - if ( function_exists('get_submit_button') ) { - $requestInfoButton = get_submit_button( - 'Request Info', - 'secondary', - 'puc-request-info-button', - false, - array('id' => $buttonId) - ); - } else { - $requestInfoButton = sprintf( - '', - esc_attr($buttonId), - esc_attr('Request Info') - ); - } - return $requestInfoButton; - } - - protected function getUpdateFields() { - return array_merge( - parent::getUpdateFields(), - array('homepage', 'upgrade_notice', 'tested',) - ); - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/DebugBar/ThemePanel.php b/plugin-update-checker/Puc/v5p5/DebugBar/ThemePanel.php deleted file mode 100644 index e9c99ff..0000000 --- a/plugin-update-checker/Puc/v5p5/DebugBar/ThemePanel.php +++ /dev/null @@ -1,25 +0,0 @@ -row('Theme directory', htmlentities($this->updateChecker->directoryName)); - parent::displayConfigHeader(); - } - - protected function getUpdateFields() { - return array_merge(parent::getUpdateFields(), array('details_url')); - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/InstalledPackage.php b/plugin-update-checker/Puc/v5p5/InstalledPackage.php deleted file mode 100644 index 54521c8..0000000 --- a/plugin-update-checker/Puc/v5p5/InstalledPackage.php +++ /dev/null @@ -1,105 +0,0 @@ -updateChecker = $updateChecker; - } - - /** - * Get the currently installed version of the plugin or theme. - * - * @return string|null Version number. - */ - abstract public function getInstalledVersion(); - - /** - * Get the full path of the plugin or theme directory (without a trailing slash). - * - * @return string - */ - abstract public function getAbsoluteDirectoryPath(); - - /** - * Check whether a regular file exists in the package's directory. - * - * @param string $relativeFileName File name relative to the package directory. - * @return bool - */ - public function fileExists($relativeFileName) { - return is_file( - $this->getAbsoluteDirectoryPath() - . DIRECTORY_SEPARATOR - . ltrim($relativeFileName, '/\\') - ); - } - - /* ------------------------------------------------------------------- - * File header parsing - * ------------------------------------------------------------------- - */ - - /** - * Parse plugin or theme metadata from the header comment. - * - * This is basically a simplified version of the get_file_data() function from /wp-includes/functions.php. - * It's intended as a utility for subclasses that detect updates by parsing files in a VCS. - * - * @param string|null $content File contents. - * @return string[] - */ - public function getFileHeader($content) { - $content = (string)$content; - - //WordPress only looks at the first 8 KiB of the file, so we do the same. - $content = substr($content, 0, 8192); - //Normalize line endings. - $content = str_replace("\r", "\n", $content); - - $headers = $this->getHeaderNames(); - $results = array(); - foreach ($headers as $field => $name) { - $success = preg_match('/^[ \t\/*#@]*' . preg_quote($name, '/') . ':(.*)$/mi', $content, $matches); - - if ( ($success === 1) && $matches[1] ) { - $value = $matches[1]; - if ( function_exists('_cleanup_header_comment') ) { - $value = _cleanup_header_comment($value); - } - $results[$field] = $value; - } else { - $results[$field] = ''; - } - } - - return $results; - } - - /** - * @return array Format: ['HeaderKey' => 'Header Name'] - */ - abstract protected function getHeaderNames(); - - /** - * Get the value of a specific plugin or theme header. - * - * @param string $headerName - * @return string Either the value of the header, or an empty string if the header doesn't exist. - */ - abstract public function getHeaderValue($headerName); - - } -endif; diff --git a/plugin-update-checker/Puc/v5p5/Metadata.php b/plugin-update-checker/Puc/v5p5/Metadata.php deleted file mode 100644 index 54426cd..0000000 --- a/plugin-update-checker/Puc/v5p5/Metadata.php +++ /dev/null @@ -1,162 +0,0 @@ - - */ - protected $extraProperties = array(); - - /** - * Create an instance of this class from a JSON document. - * - * @abstract - * @param string $json - * @return self - */ - public static function fromJson($json) { - throw new LogicException('The ' . __METHOD__ . ' method must be implemented by subclasses'); - } - - /** - * @param string $json - * @param self $target - * @return bool - */ - protected static function createFromJson($json, $target) { - /** @var \StdClass $apiResponse */ - $apiResponse = json_decode($json); - if ( empty($apiResponse) || !is_object($apiResponse) ){ - $errorMessage = "Failed to parse update metadata. Try validating your .json file with https://jsonlint.com/"; - do_action('puc_api_error', new WP_Error('puc-invalid-json', $errorMessage)); - //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error -- For plugin developers. - trigger_error(esc_html($errorMessage), E_USER_NOTICE); - return false; - } - - $valid = $target->validateMetadata($apiResponse); - if ( is_wp_error($valid) ){ - do_action('puc_api_error', $valid); - //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error -- For plugin developers. - trigger_error(esc_html($valid->get_error_message()), E_USER_NOTICE); - return false; - } - - foreach(get_object_vars($apiResponse) as $key => $value){ - $target->$key = $value; - } - - return true; - } - - /** - * No validation by default! Subclasses should check that the required fields are present. - * - * @param \StdClass $apiResponse - * @return bool|\WP_Error - */ - protected function validateMetadata($apiResponse) { - return true; - } - - /** - * Create a new instance by copying the necessary fields from another object. - * - * @abstract - * @param \StdClass|self $object The source object. - * @return self The new copy. - */ - public static function fromObject($object) { - throw new LogicException('The ' . __METHOD__ . ' method must be implemented by subclasses'); - } - - /** - * Create an instance of StdClass that can later be converted back to an - * update or info container. Useful for serialization and caching, as it - * avoids the "incomplete object" problem if the cached value is loaded - * before this class. - * - * @return \StdClass - */ - public function toStdClass() { - $object = new stdClass(); - $this->copyFields($this, $object); - return $object; - } - - /** - * Transform the metadata into the format used by WordPress core. - * - * @return object - */ - abstract public function toWpFormat(); - - /** - * Copy known fields from one object to another. - * - * @param \StdClass|self $from - * @param \StdClass|self $to - */ - protected function copyFields($from, $to) { - $fields = $this->getFieldNames(); - - if ( property_exists($from, 'slug') && !empty($from->slug) ) { - //Let plugins add extra fields without having to create subclasses. - $fields = apply_filters($this->getPrefixedFilter('retain_fields') . '-' . $from->slug, $fields); - } - - foreach ($fields as $field) { - if ( property_exists($from, $field) ) { - $to->$field = $from->$field; - } - } - } - - /** - * @return string[] - */ - protected function getFieldNames() { - return array(); - } - - /** - * @param string $tag - * @return string - */ - protected function getPrefixedFilter($tag) { - return 'puc_' . $tag; - } - - public function __set($name, $value) { - $this->extraProperties[$name] = $value; - } - - public function __get($name) { - return isset($this->extraProperties[$name]) ? $this->extraProperties[$name] : null; - } - - public function __isset($name) { - return isset($this->extraProperties[$name]); - } - - public function __unset($name) { - unset($this->extraProperties[$name]); - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/OAuthSignature.php b/plugin-update-checker/Puc/v5p5/OAuthSignature.php deleted file mode 100644 index 848aa15..0000000 --- a/plugin-update-checker/Puc/v5p5/OAuthSignature.php +++ /dev/null @@ -1,102 +0,0 @@ -consumerKey = $consumerKey; - $this->consumerSecret = $consumerSecret; - } - - /** - * Sign a URL using OAuth 1.0. - * - * @param string $url The URL to be signed. It may contain query parameters. - * @param string $method HTTP method such as "GET", "POST" and so on. - * @return string The signed URL. - */ - public function sign($url, $method = 'GET') { - $parameters = array(); - - //Parse query parameters. - $query = wp_parse_url($url, PHP_URL_QUERY); - if ( !empty($query) ) { - parse_str($query, $parsedParams); - if ( is_array($parsedParams) ) { - $parameters = $parsedParams; - } - //Remove the query string from the URL. We'll replace it later. - $url = substr($url, 0, strpos($url, '?')); - } - - $parameters = array_merge( - $parameters, - array( - 'oauth_consumer_key' => $this->consumerKey, - 'oauth_nonce' => $this->nonce(), - 'oauth_signature_method' => 'HMAC-SHA1', - 'oauth_timestamp' => time(), - 'oauth_version' => '1.0', - ) - ); - unset($parameters['oauth_signature']); - - //Parameters must be sorted alphabetically before signing. - ksort($parameters); - - //The most complicated part of the request - generating the signature. - //The string to sign contains the HTTP method, the URL path, and all of - //our query parameters. Everything is URL encoded. Then we concatenate - //them with ampersands into a single string to hash. - $encodedVerb = urlencode($method); - $encodedUrl = urlencode($url); - $encodedParams = urlencode(http_build_query($parameters, '', '&')); - - $stringToSign = $encodedVerb . '&' . $encodedUrl . '&' . $encodedParams; - - //Since we only have one OAuth token (the consumer secret) we only have - //to use it as our HMAC key. However, we still have to append an & to it - //as if we were using it with additional tokens. - $secret = urlencode($this->consumerSecret) . '&'; - - //The signature is a hash of the consumer key and the base string. Note - //that we have to get the raw output from hash_hmac and base64 encode - //the binary data result. - $parameters['oauth_signature'] = base64_encode(hash_hmac('sha1', $stringToSign, $secret, true)); - - return ($url . '?' . http_build_query($parameters)); - } - - /** - * Generate a random nonce. - * - * @return string - */ - private function nonce() { - $mt = microtime(); - - $rand = null; - if ( is_callable('random_bytes') ) { - try { - $rand = random_bytes(16); - } catch (\Exception $ex) { - //Fall back to mt_rand (below). - } - } - if ( $rand === null ) { - //phpcs:ignore WordPress.WP.AlternativeFunctions.rand_mt_rand - $rand = function_exists('wp_rand') ? wp_rand() : mt_rand(); - } - - return md5($mt . '_' . $rand); - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/Plugin/Package.php b/plugin-update-checker/Puc/v5p5/Plugin/Package.php deleted file mode 100644 index 67b3ca1..0000000 --- a/plugin-update-checker/Puc/v5p5/Plugin/Package.php +++ /dev/null @@ -1,188 +0,0 @@ -pluginAbsolutePath = $pluginAbsolutePath; - $this->pluginFile = plugin_basename($this->pluginAbsolutePath); - - parent::__construct($updateChecker); - - //Clear the version number cache when something - anything - is upgraded or WP clears the update cache. - add_filter('upgrader_post_install', array($this, 'clearCachedVersion')); - add_action('delete_site_transient_update_plugins', array($this, 'clearCachedVersion')); - } - - public function getInstalledVersion() { - if ( isset($this->cachedInstalledVersion) ) { - return $this->cachedInstalledVersion; - } - - $pluginHeader = $this->getPluginHeader(); - if ( isset($pluginHeader['Version']) ) { - $this->cachedInstalledVersion = $pluginHeader['Version']; - return $pluginHeader['Version']; - } else { - //This can happen if the filename points to something that is not a plugin. - $this->updateChecker->triggerError( - sprintf( - "Cannot read the Version header for '%s'. The filename is incorrect or is not a plugin.", - $this->updateChecker->pluginFile - ), - E_USER_WARNING - ); - return null; - } - } - - /** - * Clear the cached plugin version. This method can be set up as a filter (hook) and will - * return the filter argument unmodified. - * - * @param mixed $filterArgument - * @return mixed - */ - public function clearCachedVersion($filterArgument = null) { - $this->cachedInstalledVersion = null; - return $filterArgument; - } - - public function getAbsoluteDirectoryPath() { - return dirname($this->pluginAbsolutePath); - } - - /** - * Get the value of a specific plugin or theme header. - * - * @param string $headerName - * @param string $defaultValue - * @return string Either the value of the header, or $defaultValue if the header doesn't exist or is empty. - */ - public function getHeaderValue($headerName, $defaultValue = '') { - $headers = $this->getPluginHeader(); - if ( isset($headers[$headerName]) && ($headers[$headerName] !== '') ) { - return $headers[$headerName]; - } - return $defaultValue; - } - - protected function getHeaderNames() { - return array( - 'Name' => 'Plugin Name', - 'PluginURI' => 'Plugin URI', - 'Version' => 'Version', - 'Description' => 'Description', - 'Author' => 'Author', - 'AuthorURI' => 'Author URI', - 'TextDomain' => 'Text Domain', - 'DomainPath' => 'Domain Path', - 'Network' => 'Network', - - //The newest WordPress version that this plugin requires or has been tested with. - //We support several different formats for compatibility with other libraries. - 'Tested WP' => 'Tested WP', - 'Requires WP' => 'Requires WP', - 'Tested up to' => 'Tested up to', - 'Requires at least' => 'Requires at least', - ); - } - - /** - * Get the translated plugin title. - * - * @return string - */ - public function getPluginTitle() { - $title = ''; - $header = $this->getPluginHeader(); - if ( $header && !empty($header['Name']) && isset($header['TextDomain']) ) { - $title = translate($header['Name'], $header['TextDomain']); - } - return $title; - } - - /** - * Get plugin's metadata from its file header. - * - * @return array - */ - public function getPluginHeader() { - if ( !is_file($this->pluginAbsolutePath) ) { - //This can happen if the plugin filename is wrong. - $this->updateChecker->triggerError( - sprintf( - "Can't to read the plugin header for '%s'. The file does not exist.", - $this->updateChecker->pluginFile - ), - E_USER_WARNING - ); - return array(); - } - - if ( !function_exists('get_plugin_data') ) { - require_once(ABSPATH . '/wp-admin/includes/plugin.php'); - } - return get_plugin_data($this->pluginAbsolutePath, false, false); - } - - public function removeHooks() { - remove_filter('upgrader_post_install', array($this, 'clearCachedVersion')); - remove_action('delete_site_transient_update_plugins', array($this, 'clearCachedVersion')); - } - - /** - * Check if the plugin file is inside the mu-plugins directory. - * - * @return bool - */ - public function isMuPlugin() { - static $cachedResult = null; - - if ( $cachedResult === null ) { - if ( !defined('WPMU_PLUGIN_DIR') || !is_string(WPMU_PLUGIN_DIR) ) { - $cachedResult = false; - return $cachedResult; - } - - //Convert both paths to the canonical form before comparison. - $muPluginDir = realpath(WPMU_PLUGIN_DIR); - $pluginPath = realpath($this->pluginAbsolutePath); - //If realpath() fails, just normalize the syntax instead. - if (($muPluginDir === false) || ($pluginPath === false)) { - $muPluginDir = PucFactory::normalizePath(WPMU_PLUGIN_DIR); - $pluginPath = PucFactory::normalizePath($this->pluginAbsolutePath); - } - - $cachedResult = (strpos($pluginPath, $muPluginDir) === 0); - } - - return $cachedResult; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/Plugin/PluginInfo.php b/plugin-update-checker/Puc/v5p5/Plugin/PluginInfo.php deleted file mode 100644 index 83ce17b..0000000 --- a/plugin-update-checker/Puc/v5p5/Plugin/PluginInfo.php +++ /dev/null @@ -1,136 +0,0 @@ -sections = (array)$instance->sections; - $instance->icons = (array)$instance->icons; - - return $instance; - } - - /** - * Very, very basic validation. - * - * @param \StdClass $apiResponse - * @return bool|\WP_Error - */ - protected function validateMetadata($apiResponse) { - if ( - !isset($apiResponse->name, $apiResponse->version) - || empty($apiResponse->name) - || empty($apiResponse->version) - ) { - return new \WP_Error( - 'puc-invalid-metadata', - "The plugin metadata file does not contain the required 'name' and/or 'version' keys." - ); - } - return true; - } - - - /** - * Transform plugin info into the format used by the native WordPress.org API - * - * @return object - */ - public function toWpFormat(){ - $info = new \stdClass; - - //The custom update API is built so that many fields have the same name and format - //as those returned by the native WordPress.org API. These can be assigned directly. - $sameFormat = array( - 'name', 'slug', 'version', 'requires', 'tested', 'rating', 'upgrade_notice', - 'num_ratings', 'downloaded', 'active_installs', 'homepage', 'last_updated', - 'requires_php', - ); - foreach($sameFormat as $field){ - if ( isset($this->$field) ) { - $info->$field = $this->$field; - } else { - $info->$field = null; - } - } - - //Other fields need to be renamed and/or transformed. - $info->download_link = $this->download_url; - $info->author = $this->getFormattedAuthor(); - $info->sections = array_merge(array('description' => ''), $this->sections); - - if ( !empty($this->banners) ) { - //WP expects an array with two keys: "high" and "low". Both are optional. - //Docs: https://wordpress.org/plugins/about/faq/#banners - $info->banners = is_object($this->banners) ? get_object_vars($this->banners) : $this->banners; - $info->banners = array_intersect_key($info->banners, array('high' => true, 'low' => true)); - } - - return $info; - } - - protected function getFormattedAuthor() { - if ( !empty($this->author_homepage) ){ - /** @noinspection HtmlUnknownTarget */ - return sprintf('%s', $this->author_homepage, $this->author); - } - return $this->author; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/Plugin/Ui.php b/plugin-update-checker/Puc/v5p5/Plugin/Ui.php deleted file mode 100644 index ccc5279..0000000 --- a/plugin-update-checker/Puc/v5p5/Plugin/Ui.php +++ /dev/null @@ -1,294 +0,0 @@ -updateChecker = $updateChecker; - $this->manualCheckErrorTransient = $this->updateChecker->getUniqueName('manual_check_errors'); - - add_action('admin_init', array($this, 'onAdminInit')); - } - - public function onAdminInit() { - if ( $this->updateChecker->userCanInstallUpdates() ) { - $this->handleManualCheck(); - - add_filter('plugin_row_meta', array($this, 'addViewDetailsLink'), 10, 3); - add_filter('plugin_row_meta', array($this, 'addCheckForUpdatesLink'), 10, 2); - add_action('all_admin_notices', array($this, 'displayManualCheckResult')); - } - } - - /** - * Add a "View Details" link to the plugin row in the "Plugins" page. By default, - * the new link will appear before the "Visit plugin site" link (if present). - * - * You can change the link text by using the "puc_view_details_link-$slug" filter. - * Returning an empty string from the filter will disable the link. - * - * You can change the position of the link using the - * "puc_view_details_link_position-$slug" filter. - * Returning 'before' or 'after' will place the link immediately before/after - * the "Visit plugin site" link. - * Returning 'append' places the link after any existing links at the time of the hook. - * Returning 'replace' replaces the "Visit plugin site" link. - * Returning anything else disables the link when there is a "Visit plugin site" link. - * - * If there is no "Visit plugin site" link 'append' is always used! - * - * @param array $pluginMeta Array of meta links. - * @param string $pluginFile - * @param array $pluginData Array of plugin header data. - * @return array - */ - public function addViewDetailsLink($pluginMeta, $pluginFile, $pluginData = array()) { - if ( $this->isMyPluginFile($pluginFile) && !isset($pluginData['slug']) ) { - $linkText = apply_filters($this->updateChecker->getUniqueName('view_details_link'), __('View details')); - if ( !empty($linkText) ) { - $viewDetailsLinkPosition = 'append'; - - //Find the "Visit plugin site" link (if present). - $visitPluginSiteLinkIndex = count($pluginMeta) - 1; - if ( $pluginData['PluginURI'] ) { - $escapedPluginUri = esc_url($pluginData['PluginURI']); - foreach ($pluginMeta as $linkIndex => $existingLink) { - if ( strpos($existingLink, $escapedPluginUri) !== false ) { - $visitPluginSiteLinkIndex = $linkIndex; - $viewDetailsLinkPosition = apply_filters( - $this->updateChecker->getUniqueName('view_details_link_position'), - 'before' - ); - break; - } - } - } - - $viewDetailsLink = sprintf('%s', - esc_url(network_admin_url('plugin-install.php?tab=plugin-information&plugin=' . urlencode($this->updateChecker->slug) . - '&TB_iframe=true&width=600&height=550')), - esc_attr(sprintf(__('More information about %s'), $pluginData['Name'])), - esc_attr($pluginData['Name']), - $linkText - ); - switch ($viewDetailsLinkPosition) { - case 'before': - array_splice($pluginMeta, $visitPluginSiteLinkIndex, 0, $viewDetailsLink); - break; - case 'after': - array_splice($pluginMeta, $visitPluginSiteLinkIndex + 1, 0, $viewDetailsLink); - break; - case 'replace': - $pluginMeta[$visitPluginSiteLinkIndex] = $viewDetailsLink; - break; - case 'append': - default: - $pluginMeta[] = $viewDetailsLink; - break; - } - } - } - return $pluginMeta; - } - - /** - * Add a "Check for updates" link to the plugin row in the "Plugins" page. By default, - * the new link will appear after the "Visit plugin site" link if present, otherwise - * after the "View plugin details" link. - * - * You can change the link text by using the "puc_manual_check_link-$slug" filter. - * Returning an empty string from the filter will disable the link. - * - * @param array $pluginMeta Array of meta links. - * @param string $pluginFile - * @return array - */ - public function addCheckForUpdatesLink($pluginMeta, $pluginFile) { - if ( $this->isMyPluginFile($pluginFile) ) { - $linkUrl = wp_nonce_url( - add_query_arg( - array( - 'puc_check_for_updates' => 1, - 'puc_slug' => $this->updateChecker->slug, - ), - self_admin_url('plugins.php') - ), - 'puc_check_for_updates' - ); - - $linkText = apply_filters( - $this->updateChecker->getUniqueName('manual_check_link'), - __('Check for updates', 'plugin-update-checker') - ); - if ( !empty($linkText) ) { - /** @noinspection HtmlUnknownTarget */ - $pluginMeta[] = sprintf('%s', esc_attr($linkUrl), $linkText); - } - } - return $pluginMeta; - } - - protected function isMyPluginFile($pluginFile) { - return ($pluginFile == $this->updateChecker->pluginFile) - || (!empty($this->updateChecker->muPluginFile) && ($pluginFile == $this->updateChecker->muPluginFile)); - } - - /** - * Check for updates when the user clicks the "Check for updates" link. - * - * @see self::addCheckForUpdatesLink() - * - * @return void - */ - public function handleManualCheck() { - $shouldCheck = - isset($_GET['puc_check_for_updates'], $_GET['puc_slug']) - && $_GET['puc_slug'] == $this->updateChecker->slug - && check_admin_referer('puc_check_for_updates'); - - if ( $shouldCheck ) { - $update = $this->updateChecker->checkForUpdates(); - $status = ($update === null) ? 'no_update' : 'update_available'; - $lastRequestApiErrors = $this->updateChecker->getLastRequestApiErrors(); - - if ( ($update === null) && !empty($lastRequestApiErrors) ) { - //Some errors are not critical. For example, if PUC tries to retrieve the readme.txt - //file from GitHub and gets a 404, that's an API error, but it doesn't prevent updates - //from working. Maybe the plugin simply doesn't have a readme. - //Let's only show important errors. - $foundCriticalErrors = false; - $questionableErrorCodes = array( - 'puc-github-http-error', - 'puc-gitlab-http-error', - 'puc-bitbucket-http-error', - ); - - foreach ($lastRequestApiErrors as $item) { - $wpError = $item['error']; - /** @var \WP_Error $wpError */ - if ( !in_array($wpError->get_error_code(), $questionableErrorCodes) ) { - $foundCriticalErrors = true; - break; - } - } - - if ( $foundCriticalErrors ) { - $status = 'error'; - set_site_transient($this->manualCheckErrorTransient, $lastRequestApiErrors, 60); - } - } - - wp_redirect(add_query_arg( - array( - 'puc_update_check_result' => $status, - 'puc_slug' => $this->updateChecker->slug, - ), - self_admin_url('plugins.php') - )); - exit; - } - } - - /** - * Display the results of a manual update check. - * - * @see self::handleManualCheck() - * - * You can change the result message by using the "puc_manual_check_message-$slug" filter. - */ - public function displayManualCheckResult() { - //phpcs:disable WordPress.Security.NonceVerification.Recommended -- Just displaying a message. - if ( isset($_GET['puc_update_check_result'], $_GET['puc_slug']) && ($_GET['puc_slug'] == $this->updateChecker->slug) ) { - $status = sanitize_key($_GET['puc_update_check_result']); - $title = $this->updateChecker->getInstalledPackage()->getPluginTitle(); - $noticeClass = 'updated notice-success'; - $details = ''; - - if ( $status == 'no_update' ) { - $message = sprintf(_x('The %s plugin is up to date.', 'the plugin title', 'plugin-update-checker'), $title); - } else if ( $status == 'update_available' ) { - $message = sprintf(_x('A new version of the %s plugin is available.', 'the plugin title', 'plugin-update-checker'), $title); - } else if ( $status === 'error' ) { - $message = sprintf(_x('Could not determine if updates are available for %s.', 'the plugin title', 'plugin-update-checker'), $title); - $noticeClass = 'error notice-error'; - - $details = $this->formatManualCheckErrors(get_site_transient($this->manualCheckErrorTransient)); - delete_site_transient($this->manualCheckErrorTransient); - } else { - $message = sprintf(__('Unknown update checker status "%s"', 'plugin-update-checker'), $status); - $noticeClass = 'error notice-error'; - } - - $message = esc_html($message); - - //Plugins can replace the message with their own, including adding HTML. - $message = apply_filters( - $this->updateChecker->getUniqueName('manual_check_message'), - $message, - $status - ); - - printf( - '

      %s

      %s
      ', - esc_attr($noticeClass), - //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Was escaped above, and plugins can add HTML. - $message, - //phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Contains HTML. Content should already be escaped. - $details - ); - } - //phpcs:enable - } - - /** - * Format the list of errors that were thrown during an update check. - * - * @param array $errors - * @return string - */ - protected function formatManualCheckErrors($errors) { - if ( empty($errors) ) { - return ''; - } - $output = ''; - - $showAsList = count($errors) > 1; - if ( $showAsList ) { - $output .= '
        '; - $formatString = '
      1. %1$s %2$s
      2. '; - } else { - $formatString = '

        %1$s %2$s

        '; - } - foreach ($errors as $item) { - $wpError = $item['error']; - /** @var \WP_Error $wpError */ - $output .= sprintf( - $formatString, - esc_html($wpError->get_error_message()), - esc_html($wpError->get_error_code()) - ); - } - if ( $showAsList ) { - $output .= '
      '; - } - - return $output; - } - - public function removeHooks() { - remove_action('admin_init', array($this, 'onAdminInit')); - remove_filter('plugin_row_meta', array($this, 'addViewDetailsLink'), 10); - remove_filter('plugin_row_meta', array($this, 'addCheckForUpdatesLink'), 10); - remove_action('all_admin_notices', array($this, 'displayManualCheckResult')); - } - } -endif; diff --git a/plugin-update-checker/Puc/v5p5/Plugin/Update.php b/plugin-update-checker/Puc/v5p5/Plugin/Update.php deleted file mode 100644 index b1c6f62..0000000 --- a/plugin-update-checker/Puc/v5p5/Plugin/Update.php +++ /dev/null @@ -1,116 +0,0 @@ -copyFields($object, $update); - return $update; - } - - /** - * @return string[] - */ - protected function getFieldNames() { - return array_merge(parent::getFieldNames(), self::$extraFields); - } - - /** - * Transform the update into the format used by WordPress native plugin API. - * - * @return object - */ - public function toWpFormat() { - $update = parent::toWpFormat(); - - $update->id = $this->id; - $update->url = $this->homepage; - $update->tested = $this->tested; - $update->requires_php = $this->requires_php; - $update->plugin = $this->filename; - - if ( !empty($this->upgrade_notice) ) { - $update->upgrade_notice = $this->upgrade_notice; - } - - if ( !empty($this->icons) && is_array($this->icons) ) { - //This should be an array with up to 4 keys: 'svg', '1x', '2x' and 'default'. - //Docs: https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/#plugin-icons - $icons = array_intersect_key( - $this->icons, - array('svg' => true, '1x' => true, '2x' => true, 'default' => true) - ); - if ( !empty($icons) ) { - $update->icons = $icons; - - //It appears that the 'default' icon isn't used anywhere in WordPress 4.9, - //but lets set it just in case a future release needs it. - if ( !isset($update->icons['default']) ) { - $update->icons['default'] = current($update->icons); - } - } - } - - return $update; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/Plugin/UpdateChecker.php b/plugin-update-checker/Puc/v5p5/Plugin/UpdateChecker.php deleted file mode 100644 index 0b194fd..0000000 --- a/plugin-update-checker/Puc/v5p5/Plugin/UpdateChecker.php +++ /dev/null @@ -1,425 +0,0 @@ -pluginAbsolutePath = $pluginFile; - $this->pluginFile = plugin_basename($this->pluginAbsolutePath); - $this->muPluginFile = $muPluginFile; - - //If no slug is specified, use the name of the main plugin file as the slug. - //For example, 'my-cool-plugin/cool-plugin.php' becomes 'cool-plugin'. - if ( empty($slug) ){ - $slug = basename($this->pluginFile, '.php'); - } - - //Plugin slugs must be unique. - $slugCheckFilter = 'puc_is_slug_in_use-' . $slug; - $slugUsedBy = apply_filters($slugCheckFilter, false); - if ( $slugUsedBy ) { - $this->triggerError(sprintf( - 'Plugin slug "%s" is already in use by %s. Slugs must be unique.', - $slug, - $slugUsedBy - ), E_USER_ERROR); - } - add_filter($slugCheckFilter, array($this, 'getAbsolutePath')); - - parent::__construct($metadataUrl, dirname($this->pluginFile), $slug, $checkPeriod, $optionName); - - //Backwards compatibility: If the plugin is a mu-plugin but no $muPluginFile is specified, assume - //it's the same as $pluginFile given that it's not in a subdirectory (WP only looks in the base dir). - if ( (strpbrk($this->pluginFile, '/\\') === false) && $this->isUnknownMuPlugin() ) { - $this->muPluginFile = $this->pluginFile; - } - - //To prevent a crash during plugin uninstallation, remove updater hooks when the user removes the plugin. - //Details: https://github.com/YahnisElsts/plugin-update-checker/issues/138#issuecomment-335590964 - add_action('uninstall_' . $this->pluginFile, array($this, 'removeHooks')); - - $this->extraUi = new Ui($this); - } - - /** - * Create an instance of the scheduler. - * - * @param int $checkPeriod - * @return Scheduler - */ - protected function createScheduler($checkPeriod) { - $scheduler = new Scheduler($this, $checkPeriod, array('load-plugins.php')); - register_deactivation_hook($this->pluginFile, array($scheduler, 'removeUpdaterCron')); - return $scheduler; - } - - /** - * Install the hooks required to run periodic update checks and inject update info - * into WP data structures. - * - * @return void - */ - protected function installHooks(){ - //Override requests for plugin information - add_filter('plugins_api', array($this, 'injectInfo'), 20, 3); - - parent::installHooks(); - } - - /** - * Remove update checker hooks. - * - * The intent is to prevent a fatal error that can happen if the plugin has an uninstall - * hook. During uninstallation, WP includes the main plugin file (which creates a PUC instance), - * the uninstall hook runs, WP deletes the plugin files and then updates some transients. - * If PUC hooks are still around at this time, they could throw an error while trying to - * autoload classes from files that no longer exist. - * - * The "site_transient_{$transient}" filter is the main problem here, but let's also remove - * most other PUC hooks to be safe. - * - * @internal - */ - public function removeHooks() { - parent::removeHooks(); - $this->extraUi->removeHooks(); - $this->package->removeHooks(); - - remove_filter('plugins_api', array($this, 'injectInfo'), 20); - } - - /** - * Retrieve plugin info from the configured API endpoint. - * - * @uses wp_remote_get() - * - * @param array $queryArgs Additional query arguments to append to the request. Optional. - * @return PluginInfo - */ - public function requestInfo($queryArgs = array()) { - list($pluginInfo, $result) = $this->requestMetadata( - PluginInfo::class, - 'request_info', - $queryArgs - ); - - if ( $pluginInfo !== null ) { - /** @var PluginInfo $pluginInfo */ - $pluginInfo->filename = $this->pluginFile; - $pluginInfo->slug = $this->slug; - } - - $pluginInfo = apply_filters($this->getUniqueName('request_info_result'), $pluginInfo, $result); - return $pluginInfo; - } - - /** - * Retrieve the latest update (if any) from the configured API endpoint. - * - * @uses UpdateChecker::requestInfo() - * - * @return Update|null An instance of Plugin Update, or NULL when no updates are available. - */ - public function requestUpdate() { - //For the sake of simplicity, this function just calls requestInfo() - //and transforms the result accordingly. - $pluginInfo = $this->requestInfo(array('checking_for_updates' => '1')); - if ( $pluginInfo === null ){ - return null; - } - $update = Update::fromPluginInfo($pluginInfo); - - $update = $this->filterUpdateResult($update); - - return $update; - } - - /** - * Intercept plugins_api() calls that request information about our plugin and - * use the configured API endpoint to satisfy them. - * - * @see plugins_api() - * - * @param mixed $result - * @param string $action - * @param array|object $args - * @return mixed - */ - public function injectInfo($result, $action = null, $args = null){ - $relevant = ($action == 'plugin_information') && isset($args->slug) && ( - ($args->slug == $this->slug) || ($args->slug == dirname($this->pluginFile)) - ); - if ( !$relevant ) { - return $result; - } - - $pluginInfo = $this->requestInfo(); - $this->fixSupportedWordpressVersion($pluginInfo); - - $pluginInfo = apply_filters($this->getUniqueName('pre_inject_info'), $pluginInfo); - if ( $pluginInfo ) { - return $pluginInfo->toWpFormat(); - } - - return $result; - } - - protected function shouldShowUpdates() { - //No update notifications for mu-plugins unless explicitly enabled. The MU plugin file - //is usually different from the main plugin file so the update wouldn't show up properly anyway. - return !$this->isUnknownMuPlugin(); - } - - /** - * @param \stdClass|null $updates - * @param \stdClass $updateToAdd - * @return \stdClass - */ - protected function addUpdateToList($updates, $updateToAdd) { - if ( $this->package->isMuPlugin() ) { - //WP does not support automatic update installation for mu-plugins, but we can - //still display a notice. - $updateToAdd->package = null; - } - return parent::addUpdateToList($updates, $updateToAdd); - } - - /** - * @param \stdClass|null $updates - * @return \stdClass|null - */ - protected function removeUpdateFromList($updates) { - $updates = parent::removeUpdateFromList($updates); - if ( !empty($this->muPluginFile) && isset($updates, $updates->response) ) { - unset($updates->response[$this->muPluginFile]); - } - return $updates; - } - - /** - * For plugins, the update array is indexed by the plugin filename relative to the "plugins" - * directory. Example: "plugin-name/plugin.php". - * - * @return string - */ - protected function getUpdateListKey() { - if ( $this->package->isMuPlugin() ) { - return $this->muPluginFile; - } - return $this->pluginFile; - } - - protected function getNoUpdateItemFields() { - return array_merge( - parent::getNoUpdateItemFields(), - array( - 'id' => $this->pluginFile, - 'slug' => $this->slug, - 'plugin' => $this->pluginFile, - 'icons' => array(), - 'banners' => array(), - 'banners_rtl' => array(), - 'tested' => '', - 'compatibility' => new \stdClass(), - ) - ); - } - - /** - * Alias for isBeingUpgraded(). - * - * @deprecated - * @param \WP_Upgrader|null $upgrader The upgrader that's performing the current update. - * @return bool - */ - public function isPluginBeingUpgraded($upgrader = null) { - return $this->isBeingUpgraded($upgrader); - } - - /** - * Is there an update being installed for this plugin, right now? - * - * @param \WP_Upgrader|null $upgrader - * @return bool - */ - public function isBeingUpgraded($upgrader = null) { - return $this->upgraderStatus->isPluginBeingUpgraded($this->pluginFile, $upgrader); - } - - /** - * Get the details of the currently available update, if any. - * - * If no updates are available, or if the last known update version is below or equal - * to the currently installed version, this method will return NULL. - * - * Uses cached update data. To retrieve update information straight from - * the metadata URL, call requestUpdate() instead. - * - * @return Update|null - */ - public function getUpdate() { - $update = parent::getUpdate(); - if ( isset($update) ) { - /** @var Update $update */ - $update->filename = $this->pluginFile; - } - return $update; - } - - /** - * Get the translated plugin title. - * - * @deprecated - * @return string - */ - public function getPluginTitle() { - return $this->package->getPluginTitle(); - } - - /** - * Check if the current user has the required permissions to install updates. - * - * @return bool - */ - public function userCanInstallUpdates() { - return current_user_can('update_plugins'); - } - - /** - * Check if the plugin file is inside the mu-plugins directory. - * - * @deprecated - * @return bool - */ - protected function isMuPlugin() { - return $this->package->isMuPlugin(); - } - - /** - * MU plugins are partially supported, but only when we know which file in mu-plugins - * corresponds to this plugin. - * - * @return bool - */ - protected function isUnknownMuPlugin() { - return empty($this->muPluginFile) && $this->package->isMuPlugin(); - } - - /** - * Get absolute path to the main plugin file. - * - * @return string - */ - public function getAbsolutePath() { - return $this->pluginAbsolutePath; - } - - /** - * Register a callback for filtering query arguments. - * - * The callback function should take one argument - an associative array of query arguments. - * It should return a modified array of query arguments. - * - * @uses add_filter() This method is a convenience wrapper for add_filter(). - * - * @param callable $callback - * @return void - */ - public function addQueryArgFilter($callback){ - $this->addFilter('request_info_query_args', $callback); - } - - /** - * Register a callback for filtering arguments passed to wp_remote_get(). - * - * The callback function should take one argument - an associative array of arguments - - * and return a modified array or arguments. See the WP documentation on wp_remote_get() - * for details on what arguments are available and how they work. - * - * @uses add_filter() This method is a convenience wrapper for add_filter(). - * - * @param callable $callback - * @return void - */ - public function addHttpRequestArgFilter($callback) { - $this->addFilter('request_info_options', $callback); - } - - /** - * Register a callback for filtering the plugin info retrieved from the external API. - * - * The callback function should take two arguments. If the plugin info was retrieved - * successfully, the first argument passed will be an instance of PluginInfo. Otherwise, - * it will be NULL. The second argument will be the corresponding return value of - * wp_remote_get (see WP docs for details). - * - * The callback function should return a new or modified instance of PluginInfo or NULL. - * - * @uses add_filter() This method is a convenience wrapper for add_filter(). - * - * @param callable $callback - * @return void - */ - public function addResultFilter($callback) { - $this->addFilter('request_info_result', $callback, 10, 2); - } - - protected function createDebugBarExtension() { - return new DebugBar\PluginExtension($this); - } - - /** - * Create a package instance that represents this plugin or theme. - * - * @return InstalledPackage - */ - protected function createInstalledPackage() { - return new Package($this->pluginAbsolutePath, $this); - } - - /** - * @return Package - */ - public function getInstalledPackage() { - return $this->package; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/PucFactory.php b/plugin-update-checker/Puc/v5p5/PucFactory.php deleted file mode 100644 index 3494951..0000000 --- a/plugin-update-checker/Puc/v5p5/PucFactory.php +++ /dev/null @@ -1,362 +0,0 @@ - '', - 'slug' => '', - 'checkPeriod' => 12, - 'optionName' => '', - 'muPluginFile' => '', - ); - $args = array_merge($defaults, array_intersect_key($args, $defaults)); - extract($args, EXTR_SKIP); - - //Check for the service URI - if ( empty($metadataUrl) ) { - $metadataUrl = self::getServiceURI($fullPath); - } - - return self::buildUpdateChecker($metadataUrl, $fullPath, $slug, $checkPeriod, $optionName, $muPluginFile); - } - - /** - * Create a new instance of the update checker. - * - * This method automatically detects if you're using it for a plugin or a theme and chooses - * the appropriate implementation for your update source (JSON file, GitHub, BitBucket, etc). - * - * @see UpdateChecker::__construct - * - * @param string $metadataUrl The URL of the metadata file, a GitHub repository, or another supported update source. - * @param string $fullPath Full path to the main plugin file or to the theme directory. - * @param string $slug Custom slug. Defaults to the name of the main plugin file or the theme directory. - * @param int $checkPeriod How often to check for updates (in hours). - * @param string $optionName Where to store bookkeeping info about update checks. - * @param string $muPluginFile The plugin filename relative to the mu-plugins directory. - * @return Plugin\UpdateChecker|Theme\UpdateChecker|Vcs\BaseChecker - */ - public static function buildUpdateChecker($metadataUrl, $fullPath, $slug = '', $checkPeriod = 12, $optionName = '', $muPluginFile = '') { - $fullPath = self::normalizePath($fullPath); - $id = null; - - //Plugin or theme? - $themeDirectory = self::getThemeDirectoryName($fullPath); - if ( self::isPluginFile($fullPath) ) { - $type = 'Plugin'; - $id = $fullPath; - } else if ( $themeDirectory !== null ) { - $type = 'Theme'; - $id = $themeDirectory; - } else { - throw new \RuntimeException(sprintf( - 'The update checker cannot determine if "%s" is a plugin or a theme. ' . - 'This is a bug. Please contact the PUC developer.', - htmlentities($fullPath) - )); - } - - //Which hosting service does the URL point to? - $service = self::getVcsService($metadataUrl); - - $apiClass = null; - if ( empty($service) ) { - //The default is to get update information from a remote JSON file. - $checkerClass = $type . '\\UpdateChecker'; - } else { - //You can also use a VCS repository like GitHub. - $checkerClass = 'Vcs\\' . $type . 'UpdateChecker'; - $apiClass = $service . 'Api'; - } - - $checkerClass = self::getCompatibleClassVersion($checkerClass); - if ( $checkerClass === null ) { - //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error - trigger_error( - esc_html(sprintf( - 'PUC %s does not support updates for %ss %s', - self::$latestCompatibleVersion, - strtolower($type), - $service ? ('hosted on ' . $service) : 'using JSON metadata' - )), - E_USER_ERROR - ); - } - - if ( !isset($apiClass) ) { - //Plain old update checker. - return new $checkerClass($metadataUrl, $id, $slug, $checkPeriod, $optionName, $muPluginFile); - } else { - //VCS checker + an API client. - $apiClass = self::getCompatibleClassVersion($apiClass); - if ( $apiClass === null ) { - //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error - trigger_error(esc_html(sprintf( - 'PUC %s does not support %s', - self::$latestCompatibleVersion, - $service - )), E_USER_ERROR); - } - - return new $checkerClass( - new $apiClass($metadataUrl), - $id, - $slug, - $checkPeriod, - $optionName, - $muPluginFile - ); - } - } - - /** - * - * Normalize a filesystem path. Introduced in WP 3.9. - * Copying here allows use of the class on earlier versions. - * This version adapted from WP 4.8.2 (unchanged since 4.5.5) - * - * @param string $path Path to normalize. - * @return string Normalized path. - */ - public static function normalizePath($path) { - if ( function_exists('wp_normalize_path') ) { - return wp_normalize_path($path); - } - $path = str_replace('\\', '/', $path); - $path = preg_replace('|(?<=.)/+|', '/', $path); - if ( substr($path, 1, 1) === ':' ) { - $path = ucfirst($path); - } - return $path; - } - - /** - * Check if the path points to a plugin file. - * - * @param string $absolutePath Normalized path. - * @return bool - */ - protected static function isPluginFile($absolutePath) { - //Is the file inside the "plugins" or "mu-plugins" directory? - $pluginDir = self::normalizePath(WP_PLUGIN_DIR); - $muPluginDir = self::normalizePath(WPMU_PLUGIN_DIR); - if ( (strpos($absolutePath, $pluginDir) === 0) || (strpos($absolutePath, $muPluginDir) === 0) ) { - return true; - } - - //Is it a file at all? Caution: is_file() can fail if the parent dir. doesn't have the +x permission set. - if ( !is_file($absolutePath) ) { - return false; - } - - //Does it have a valid plugin header? - //This is a last-ditch check for plugins symlinked from outside the WP root. - if ( function_exists('get_file_data') ) { - $headers = get_file_data($absolutePath, array('Name' => 'Plugin Name'), 'plugin'); - return !empty($headers['Name']); - } - - return false; - } - - /** - * Get the name of the theme's directory from a full path to a file inside that directory. - * E.g. "/abc/public_html/wp-content/themes/foo/whatever.php" => "foo". - * - * Note that subdirectories are currently not supported. For example, - * "/xyz/wp-content/themes/my-theme/includes/whatever.php" => NULL. - * - * @param string $absolutePath Normalized path. - * @return string|null Directory name, or NULL if the path doesn't point to a theme. - */ - protected static function getThemeDirectoryName($absolutePath) { - if ( is_file($absolutePath) ) { - $absolutePath = dirname($absolutePath); - } - - if ( file_exists($absolutePath . '/style.css') ) { - return basename($absolutePath); - } - return null; - } - - /** - * Get the service URI from the file header. - * - * @param string $fullPath - * @return string - */ - private static function getServiceURI($fullPath) { - //Look for the URI - if ( is_readable($fullPath) ) { - $seek = array( - 'github' => 'GitHub URI', - 'gitlab' => 'GitLab URI', - 'bucket' => 'BitBucket URI', - ); - $seek = apply_filters('puc_get_source_uri', $seek); - $data = get_file_data($fullPath, $seek); - foreach ($data as $key => $uri) { - if ( $uri ) { - return $uri; - } - } - } - - //URI was not found so throw an error. - throw new \RuntimeException( - sprintf('Unable to locate URI in header of "%s"', htmlentities($fullPath)) - ); - } - - /** - * Get the name of the hosting service that the URL points to. - * - * @param string $metadataUrl - * @return string|null - */ - private static function getVcsService($metadataUrl) { - $service = null; - - //Which hosting service does the URL point to? - $host = (string)(wp_parse_url($metadataUrl, PHP_URL_HOST)); - $path = (string)(wp_parse_url($metadataUrl, PHP_URL_PATH)); - - //Check if the path looks like "/user-name/repository". - //For GitLab.com it can also be "/user/group1/group2/.../repository". - $repoRegex = '@^/?([^/]+?)/([^/#?&]+?)/?$@'; - if ( $host === 'gitlab.com' ) { - $repoRegex = '@^/?(?:[^/#?&]++/){1,20}(?:[^/#?&]++)/?$@'; - } - if ( preg_match($repoRegex, $path) ) { - $knownServices = array( - 'github.com' => 'GitHub', - 'bitbucket.org' => 'BitBucket', - 'gitlab.com' => 'GitLab', - ); - if ( isset($knownServices[$host]) ) { - $service = $knownServices[$host]; - } - } - - return apply_filters('puc_get_vcs_service', $service, $host, $path, $metadataUrl); - } - - /** - * Get the latest version of the specified class that has the same major version number - * as this factory class. - * - * @param string $class Partial class name. - * @return string|null Full class name. - */ - protected static function getCompatibleClassVersion($class) { - if ( isset(self::$classVersions[$class][self::$latestCompatibleVersion]) ) { - return self::$classVersions[$class][self::$latestCompatibleVersion]; - } - return null; - } - - /** - * Get the specific class name for the latest available version of a class. - * - * @param string $class - * @return null|string - */ - public static function getLatestClassVersion($class) { - if ( !self::$sorted ) { - self::sortVersions(); - } - - if ( isset(self::$classVersions[$class]) ) { - return reset(self::$classVersions[$class]); - } else { - return null; - } - } - - /** - * Sort available class versions in descending order (i.e. newest first). - */ - protected static function sortVersions() { - foreach ( self::$classVersions as $class => $versions ) { - uksort($versions, array(__CLASS__, 'compareVersions')); - self::$classVersions[$class] = $versions; - } - self::$sorted = true; - } - - protected static function compareVersions($a, $b) { - return -version_compare($a, $b); - } - - /** - * Register a version of a class. - * - * @access private This method is only for internal use by the library. - * - * @param string $generalClass Class name without version numbers, e.g. 'PluginUpdateChecker'. - * @param string $versionedClass Actual class name, e.g. 'PluginUpdateChecker_1_2'. - * @param string $version Version number, e.g. '1.2'. - */ - public static function addVersion($generalClass, $versionedClass, $version) { - if ( empty(self::$myMajorVersion) ) { - $lastNamespaceSegment = substr(__NAMESPACE__, strrpos(__NAMESPACE__, '\\') + 1); - self::$myMajorVersion = substr(ltrim($lastNamespaceSegment, 'v'), 0, 1); - } - - //Store the greatest version number that matches our major version. - $components = explode('.', $version); - if ( $components[0] === self::$myMajorVersion ) { - - if ( - empty(self::$latestCompatibleVersion) - || version_compare($version, self::$latestCompatibleVersion, '>') - ) { - self::$latestCompatibleVersion = $version; - } - - } - - if ( !isset(self::$classVersions[$generalClass]) ) { - self::$classVersions[$generalClass] = array(); - } - self::$classVersions[$generalClass][$version] = $versionedClass; - self::$sorted = false; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/Scheduler.php b/plugin-update-checker/Puc/v5p5/Scheduler.php deleted file mode 100644 index e51624e..0000000 --- a/plugin-update-checker/Puc/v5p5/Scheduler.php +++ /dev/null @@ -1,300 +0,0 @@ -updateChecker = $updateChecker; - $this->checkPeriod = $checkPeriod; - - //Set up the periodic update checks - $this->cronHook = $this->updateChecker->getUniqueName('cron_check_updates'); - if ( $this->checkPeriod > 0 ){ - - //Trigger the check via Cron. - //Try to use one of the default schedules if possible as it's less likely to conflict - //with other plugins and their custom schedules. - $defaultSchedules = array( - 1 => 'hourly', - 12 => 'twicedaily', - 24 => 'daily', - ); - if ( array_key_exists($this->checkPeriod, $defaultSchedules) ) { - $scheduleName = $defaultSchedules[$this->checkPeriod]; - } else { - //Use a custom cron schedule. - $scheduleName = 'every' . $this->checkPeriod . 'hours'; - //phpcs:ignore WordPress.WP.CronInterval.ChangeDetected -- WPCS fails to parse the callback. - add_filter('cron_schedules', array($this, '_addCustomSchedule')); - } - - if ( !wp_next_scheduled($this->cronHook) && !defined('WP_INSTALLING') ) { - //Randomly offset the schedule to help prevent update server traffic spikes. Without this - //most checks may happen during times of day when people are most likely to install new plugins. - $upperLimit = max($this->checkPeriod * 3600 - 15 * 60, 1); - if ( function_exists('wp_rand') ) { - $randomOffset = wp_rand(0, $upperLimit); - } else { - //This constructor may be called before wp_rand() is available. - //phpcs:ignore WordPress.WP.AlternativeFunctions.rand_rand - $randomOffset = rand(0, $upperLimit); - } - $firstCheckTime = time() - $randomOffset; - $firstCheckTime = apply_filters( - $this->updateChecker->getUniqueName('first_check_time'), - $firstCheckTime - ); - wp_schedule_event($firstCheckTime, $scheduleName, $this->cronHook); - } - add_action($this->cronHook, array($this, 'maybeCheckForUpdates')); - - //In case Cron is disabled or unreliable, we also manually trigger - //the periodic checks while the user is browsing the Dashboard. - add_action( 'admin_init', array($this, 'maybeCheckForUpdates') ); - - //Like WordPress itself, we check more often on certain pages. - /** @see wp_update_plugins */ - add_action('load-update-core.php', array($this, 'maybeCheckForUpdates')); - //phpcs:ignore Squiz.PHP.CommentedOutCode.Found -- Not actually code, just file names. - //"load-update.php" and "load-plugins.php" or "load-themes.php". - $this->hourlyCheckHooks = array_merge($this->hourlyCheckHooks, $hourlyHooks); - foreach($this->hourlyCheckHooks as $hook) { - add_action($hook, array($this, 'maybeCheckForUpdates')); - } - //This hook fires after a bulk update is complete. - add_action('upgrader_process_complete', array($this, 'removeHooksIfLibraryGone'), 1, 0); - add_action('upgrader_process_complete', array($this, 'upgraderProcessComplete'), 11, 2); - - } else { - //Periodic checks are disabled. - wp_clear_scheduled_hook($this->cronHook); - } - } - - /** - * Remove all hooks if this version of PUC has been deleted or overwritten. - * - * Callback for the "upgrader_process_complete" action. - */ - public function removeHooksIfLibraryGone() { - //Cancel all further actions if the current version of PUC has been deleted or overwritten - //by a different version during the upgrade. If we try to do anything more in that situation, - //we could trigger a fatal error by trying to autoload a deleted class. - clearstatcache(); - if ( !file_exists(__FILE__) ) { - $this->removeHooks(); - $this->updateChecker->removeHooks(); - } - } - - /** - * Runs upon the WP action upgrader_process_complete. - * - * We look at the parameters to decide whether to call maybeCheckForUpdates() or not. - * We also check if the update checker has been removed by the update. - * - * @param \WP_Upgrader $upgrader WP_Upgrader instance - * @param array $upgradeInfo extra information about the upgrade - */ - public function upgraderProcessComplete( - /** @noinspection PhpUnusedParameterInspection */ - $upgrader, $upgradeInfo - ) { - //Sanity check and limitation to relevant types. - if ( - !is_array($upgradeInfo) || !isset($upgradeInfo['type'], $upgradeInfo['action']) - || 'update' !== $upgradeInfo['action'] || !in_array($upgradeInfo['type'], array('plugin', 'theme')) - ) { - return; - } - - //Filter out notifications of upgrades that should have no bearing upon whether or not our - //current info is up-to-date. - if ( is_a($this->updateChecker, Theme\UpdateChecker::class) ) { - if ( 'theme' !== $upgradeInfo['type'] || !isset($upgradeInfo['themes']) ) { - return; - } - - //Letting too many things going through for checks is not a real problem, so we compare widely. - if ( !in_array( - strtolower($this->updateChecker->directoryName), - array_map('strtolower', $upgradeInfo['themes']) - ) ) { - return; - } - } - - if ( is_a($this->updateChecker, Plugin\UpdateChecker::class) ) { - if ( 'plugin' !== $upgradeInfo['type'] || !isset($upgradeInfo['plugins']) ) { - return; - } - - //Themes pass in directory names in the information array, but plugins use the relative plugin path. - if ( !in_array( - strtolower($this->updateChecker->directoryName), - array_map('dirname', array_map('strtolower', $upgradeInfo['plugins'])) - ) ) { - return; - } - } - - $this->maybeCheckForUpdates(); - } - - /** - * Check for updates if the configured check interval has already elapsed. - * Will use a shorter check interval on certain admin pages like "Dashboard -> Updates" or when doing cron. - * - * You can override the default behaviour by using the "puc_check_now-$slug" filter. - * The filter callback will be passed three parameters: - * - Current decision. TRUE = check updates now, FALSE = don't check now. - * - Last check time as a Unix timestamp. - * - Configured check period in hours. - * Return TRUE to check for updates immediately, or FALSE to cancel. - * - * This method is declared public because it's a hook callback. Calling it directly is not recommended. - */ - public function maybeCheckForUpdates() { - if ( empty($this->checkPeriod) ){ - return; - } - - $state = $this->updateChecker->getUpdateState(); - $shouldCheck = ($state->timeSinceLastCheck() >= $this->getEffectiveCheckPeriod()); - - if ( $shouldCheck ) { - //Sanity check: Do not proceed if one of the critical classes is missing. - //That can happen - theoretically and extremely rarely - if maybeCheckForUpdates() - //is called before the old version of our plugin has been fully deleted, or - //called from an independent AJAX request during deletion. - if ( !( - class_exists(Utils::class) - && class_exists(Metadata::class) - && class_exists(Plugin\Update::class) - && class_exists(Theme\Update::class) - ) ) { - return; - } - } - - //Let plugin authors substitute their own algorithm. - $shouldCheck = apply_filters( - $this->updateChecker->getUniqueName('check_now'), - $shouldCheck, - $state->getLastCheck(), - $this->checkPeriod - ); - - if ( $shouldCheck ) { - $this->updateChecker->checkForUpdates(); - } - } - - /** - * Calculate the actual check period based on the current status and environment. - * - * @return int Check period in seconds. - */ - protected function getEffectiveCheckPeriod() { - $currentFilter = current_filter(); - if ( in_array($currentFilter, array('load-update-core.php', 'upgrader_process_complete')) ) { - //Check more often when the user visits "Dashboard -> Updates" or does a bulk update. - $period = 60; - } else if ( in_array($currentFilter, $this->hourlyCheckHooks) ) { - //Also check more often on /wp-admin/update.php and the "Plugins" or "Themes" page. - $period = 3600; - } else if ( $this->throttleRedundantChecks && ($this->updateChecker->getUpdate() !== null) ) { - //Check less frequently if it's already known that an update is available. - $period = $this->throttledCheckPeriod * 3600; - } else if ( defined('DOING_CRON') && constant('DOING_CRON') ) { - //WordPress cron schedules are not exact, so let's do an update check even - //if slightly less than $checkPeriod hours have elapsed since the last check. - $cronFuzziness = 20 * 60; - $period = $this->checkPeriod * 3600 - $cronFuzziness; - } else { - $period = $this->checkPeriod * 3600; - } - - return $period; - } - - /** - * Add our custom schedule to the array of Cron schedules used by WP. - * - * @param array $schedules - * @return array - */ - public function _addCustomSchedule($schedules) { - if ( $this->checkPeriod && ($this->checkPeriod > 0) ){ - $scheduleName = 'every' . $this->checkPeriod . 'hours'; - $schedules[$scheduleName] = array( - 'interval' => $this->checkPeriod * 3600, - 'display' => sprintf('Every %d hours', $this->checkPeriod), - ); - } - return $schedules; - } - - /** - * Remove the scheduled cron event that the library uses to check for updates. - * - * @return void - */ - public function removeUpdaterCron() { - wp_clear_scheduled_hook($this->cronHook); - } - - /** - * Get the name of the update checker's WP-cron hook. Mostly useful for debugging. - * - * @return string - */ - public function getCronHookName() { - return $this->cronHook; - } - - /** - * Remove most hooks added by the scheduler. - */ - public function removeHooks() { - remove_filter('cron_schedules', array($this, '_addCustomSchedule')); - remove_action('admin_init', array($this, 'maybeCheckForUpdates')); - remove_action('load-update-core.php', array($this, 'maybeCheckForUpdates')); - - if ( $this->cronHook !== null ) { - remove_action($this->cronHook, array($this, 'maybeCheckForUpdates')); - } - if ( !empty($this->hourlyCheckHooks) ) { - foreach ($this->hourlyCheckHooks as $hook) { - remove_action($hook, array($this, 'maybeCheckForUpdates')); - } - } - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/StateStore.php b/plugin-update-checker/Puc/v5p5/StateStore.php deleted file mode 100644 index b3dac76..0000000 --- a/plugin-update-checker/Puc/v5p5/StateStore.php +++ /dev/null @@ -1,214 +0,0 @@ -optionName = $optionName; - } - - /** - * Get time elapsed since the last update check. - * - * If there are no recorded update checks, this method returns a large arbitrary number - * (i.e. time since the Unix epoch). - * - * @return int Elapsed time in seconds. - */ - public function timeSinceLastCheck() { - $this->lazyLoad(); - return time() - $this->lastCheck; - } - - /** - * @return int - */ - public function getLastCheck() { - $this->lazyLoad(); - return $this->lastCheck; - } - - /** - * Set the time of the last update check to the current timestamp. - * - * @return $this - */ - public function setLastCheckToNow() { - $this->lazyLoad(); - $this->lastCheck = time(); - return $this; - } - - /** - * @return null|Update - */ - public function getUpdate() { - $this->lazyLoad(); - return $this->update; - } - - /** - * @param Update|null $update - * @return $this - */ - public function setUpdate(Update $update = null) { - $this->lazyLoad(); - $this->update = $update; - return $this; - } - - /** - * @return string - */ - public function getCheckedVersion() { - $this->lazyLoad(); - return $this->checkedVersion; - } - - /** - * @param string $version - * @return $this - */ - public function setCheckedVersion($version) { - $this->lazyLoad(); - $this->checkedVersion = strval($version); - return $this; - } - - /** - * Get translation updates. - * - * @return array - */ - public function getTranslations() { - $this->lazyLoad(); - if ( isset($this->update, $this->update->translations) ) { - return $this->update->translations; - } - return array(); - } - - /** - * Set translation updates. - * - * @param array $translationUpdates - */ - public function setTranslations($translationUpdates) { - $this->lazyLoad(); - if ( isset($this->update) ) { - $this->update->translations = $translationUpdates; - $this->save(); - } - } - - public function save() { - $state = new \stdClass(); - - $state->lastCheck = $this->lastCheck; - $state->checkedVersion = $this->checkedVersion; - - if ( isset($this->update)) { - $state->update = $this->update->toStdClass(); - - $updateClass = get_class($this->update); - $state->updateClass = $updateClass; - $prefix = $this->getLibPrefix(); - if ( Utils::startsWith($updateClass, $prefix) ) { - $state->updateBaseClass = substr($updateClass, strlen($prefix)); - } - } - - update_site_option($this->optionName, $state); - $this->isLoaded = true; - } - - /** - * @return $this - */ - public function lazyLoad() { - if ( !$this->isLoaded ) { - $this->load(); - } - return $this; - } - - protected function load() { - $this->isLoaded = true; - - $state = get_site_option($this->optionName, null); - - if ( - !is_object($state) - //Sanity check: If the Utils class is missing, the plugin is probably in the process - //of being deleted (e.g. the old version gets deleted during an update). - || !class_exists(Utils::class) - ) { - $this->lastCheck = 0; - $this->checkedVersion = ''; - $this->update = null; - return; - } - - $this->lastCheck = intval(Utils::get($state, 'lastCheck', 0)); - $this->checkedVersion = Utils::get($state, 'checkedVersion', ''); - $this->update = null; - - if ( isset($state->update) ) { - //This mess is due to the fact that the want the update class from this version - //of the library, not the version that saved the update. - - $updateClass = null; - if ( isset($state->updateBaseClass) ) { - $updateClass = $this->getLibPrefix() . $state->updateBaseClass; - } else if ( isset($state->updateClass) ) { - $updateClass = $state->updateClass; - } - - $factory = array($updateClass, 'fromObject'); - if ( ($updateClass !== null) && is_callable($factory) ) { - $this->update = call_user_func($factory, $state->update); - } - } - } - - public function delete() { - delete_site_option($this->optionName); - - $this->lastCheck = 0; - $this->checkedVersion = ''; - $this->update = null; - } - - private function getLibPrefix() { - //This assumes that the current class is at the top of the versioned namespace. - return __NAMESPACE__ . '\\'; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/Theme/Package.php b/plugin-update-checker/Puc/v5p5/Theme/Package.php deleted file mode 100644 index 7180229..0000000 --- a/plugin-update-checker/Puc/v5p5/Theme/Package.php +++ /dev/null @@ -1,69 +0,0 @@ -stylesheet = $stylesheet; - $this->theme = wp_get_theme($this->stylesheet); - - parent::__construct($updateChecker); - } - - public function getInstalledVersion() { - return $this->theme->get('Version'); - } - - public function getAbsoluteDirectoryPath() { - if ( method_exists($this->theme, 'get_stylesheet_directory') ) { - return $this->theme->get_stylesheet_directory(); //Available since WP 3.4. - } - return get_theme_root($this->stylesheet) . '/' . $this->stylesheet; - } - - /** - * Get the value of a specific plugin or theme header. - * - * @param string $headerName - * @param string $defaultValue - * @return string Either the value of the header, or $defaultValue if the header doesn't exist or is empty. - */ - public function getHeaderValue($headerName, $defaultValue = '') { - $value = $this->theme->get($headerName); - if ( ($headerName === false) || ($headerName === '') ) { - return $defaultValue; - } - return $value; - } - - protected function getHeaderNames() { - return array( - 'Name' => 'Theme Name', - 'ThemeURI' => 'Theme URI', - 'Description' => 'Description', - 'Author' => 'Author', - 'AuthorURI' => 'Author URI', - 'Version' => 'Version', - 'Template' => 'Template', - 'Status' => 'Status', - 'Tags' => 'Tags', - 'TextDomain' => 'Text Domain', - 'DomainPath' => 'Domain Path', - ); - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/Theme/Update.php b/plugin-update-checker/Puc/v5p5/Theme/Update.php deleted file mode 100644 index dfb8c44..0000000 --- a/plugin-update-checker/Puc/v5p5/Theme/Update.php +++ /dev/null @@ -1,88 +0,0 @@ - $this->slug, - 'new_version' => $this->version, - 'url' => $this->details_url, - ); - - if ( !empty($this->download_url) ) { - $update['package'] = $this->download_url; - } - - return $update; - } - - /** - * Create a new instance of Theme_Update from its JSON-encoded representation. - * - * @param string $json Valid JSON string representing a theme information object. - * @return self New instance of ThemeUpdate, or NULL on error. - */ - public static function fromJson($json) { - $instance = new self(); - if ( !parent::createFromJson($json, $instance) ) { - return null; - } - return $instance; - } - - /** - * Create a new instance by copying the necessary fields from another object. - * - * @param \StdClass|self $object The source object. - * @return self The new copy. - */ - public static function fromObject($object) { - $update = new self(); - $update->copyFields($object, $update); - return $update; - } - - /** - * Basic validation. - * - * @param \StdClass $apiResponse - * @return bool|\WP_Error - */ - protected function validateMetadata($apiResponse) { - $required = array('version', 'details_url'); - foreach($required as $key) { - if ( !isset($apiResponse->$key) || empty($apiResponse->$key) ) { - return new \WP_Error( - 'tuc-invalid-metadata', - sprintf('The theme metadata is missing the required "%s" key.', $key) - ); - } - } - return true; - } - - protected function getFieldNames() { - return array_merge(parent::getFieldNames(), self::$extraFields); - } - - protected function getPrefixedFilter($tag) { - return parent::getPrefixedFilter($tag) . '_theme'; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/Theme/UpdateChecker.php b/plugin-update-checker/Puc/v5p5/Theme/UpdateChecker.php deleted file mode 100644 index 0851cbd..0000000 --- a/plugin-update-checker/Puc/v5p5/Theme/UpdateChecker.php +++ /dev/null @@ -1,159 +0,0 @@ -stylesheet = $stylesheet; - - parent::__construct( - $metadataUrl, - $stylesheet, - $customSlug ? $customSlug : $stylesheet, - $checkPeriod, - $optionName - ); - } - - /** - * For themes, the update array is indexed by theme directory name. - * - * @return string - */ - protected function getUpdateListKey() { - return $this->directoryName; - } - - /** - * Retrieve the latest update (if any) from the configured API endpoint. - * - * @return Update|null An instance of Update, or NULL when no updates are available. - */ - public function requestUpdate() { - list($themeUpdate, $result) = $this->requestMetadata(Update::class, 'request_update'); - - if ( $themeUpdate !== null ) { - /** @var Update $themeUpdate */ - $themeUpdate->slug = $this->slug; - } - - $themeUpdate = $this->filterUpdateResult($themeUpdate, $result); - return $themeUpdate; - } - - protected function getNoUpdateItemFields() { - return array_merge( - parent::getNoUpdateItemFields(), - array( - 'theme' => $this->directoryName, - 'requires' => '', - ) - ); - } - - public function userCanInstallUpdates() { - return current_user_can('update_themes'); - } - - /** - * Create an instance of the scheduler. - * - * @param int $checkPeriod - * @return Scheduler - */ - protected function createScheduler($checkPeriod) { - return new Scheduler($this, $checkPeriod, array('load-themes.php')); - } - - /** - * Is there an update being installed right now for this theme? - * - * @param \WP_Upgrader|null $upgrader The upgrader that's performing the current update. - * @return bool - */ - public function isBeingUpgraded($upgrader = null) { - return $this->upgraderStatus->isThemeBeingUpgraded($this->stylesheet, $upgrader); - } - - protected function createDebugBarExtension() { - return new DebugBar\Extension($this, DebugBar\ThemePanel::class); - } - - /** - * Register a callback for filtering query arguments. - * - * The callback function should take one argument - an associative array of query arguments. - * It should return a modified array of query arguments. - * - * @param callable $callback - * @return void - */ - public function addQueryArgFilter($callback){ - $this->addFilter('request_update_query_args', $callback); - } - - /** - * Register a callback for filtering arguments passed to wp_remote_get(). - * - * The callback function should take one argument - an associative array of arguments - - * and return a modified array or arguments. See the WP documentation on wp_remote_get() - * for details on what arguments are available and how they work. - * - * @uses add_filter() This method is a convenience wrapper for add_filter(). - * - * @param callable $callback - * @return void - */ - public function addHttpRequestArgFilter($callback) { - $this->addFilter('request_update_options', $callback); - } - - /** - * Register a callback for filtering theme updates retrieved from the external API. - * - * The callback function should take two arguments. If the theme update was retrieved - * successfully, the first argument passed will be an instance of Theme_Update. Otherwise, - * it will be NULL. The second argument will be the corresponding return value of - * wp_remote_get (see WP docs for details). - * - * The callback function should return a new or modified instance of Theme_Update or NULL. - * - * @uses add_filter() This method is a convenience wrapper for add_filter(). - * - * @param callable $callback - * @return void - */ - public function addResultFilter($callback) { - $this->addFilter('request_update_result', $callback, 10, 2); - } - - /** - * Create a package instance that represents this plugin or theme. - * - * @return InstalledPackage - */ - protected function createInstalledPackage() { - return new Package($this->stylesheet, $this); - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/Update.php b/plugin-update-checker/Puc/v5p5/Update.php deleted file mode 100644 index 106d21f..0000000 --- a/plugin-update-checker/Puc/v5p5/Update.php +++ /dev/null @@ -1,38 +0,0 @@ -slug = $this->slug; - $update->new_version = $this->version; - $update->package = $this->download_url; - - return $update; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/UpdateChecker.php b/plugin-update-checker/Puc/v5p5/UpdateChecker.php deleted file mode 100644 index af5dcd5..0000000 --- a/plugin-update-checker/Puc/v5p5/UpdateChecker.php +++ /dev/null @@ -1,1141 +0,0 @@ -debugMode = (bool)(constant('WP_DEBUG')); - $this->metadataUrl = $metadataUrl; - $this->directoryName = $directoryName; - $this->slug = !empty($slug) ? $slug : $this->directoryName; - - $this->optionName = $optionName; - if ( empty($this->optionName) ) { - //BC: Initially the library only supported plugin updates and didn't use type prefixes - //in the option name. Lets use the same prefix-less name when possible. - if ( $this->filterSuffix === '' ) { - $this->optionName = 'external_updates-' . $this->slug; - } else { - $this->optionName = $this->getUniqueName('external_updates'); - } - } - - if ( empty($this->translationType) ) { - $this->translationType = $this->componentType; - } - - $this->package = $this->createInstalledPackage(); - $this->scheduler = $this->createScheduler($checkPeriod); - $this->upgraderStatus = new UpgraderStatus(); - $this->updateState = new StateStore($this->optionName); - - if ( did_action('init') ) { - $this->loadTextDomain(); - } else { - add_action('init', array($this, 'loadTextDomain')); - } - - $this->installHooks(); - - if ( ($this->wpCliCheckTrigger === null) && defined('WP_CLI') ) { - $this->wpCliCheckTrigger = new WpCliCheckTrigger($this->componentType, $this->scheduler); - } - } - - /** - * @internal - */ - public function loadTextDomain() { - //We're not using load_plugin_textdomain() or its siblings because figuring out where - //the library is located (plugin, mu-plugin, theme, custom wp-content paths) is messy. - $domain = 'plugin-update-checker'; - $locale = apply_filters( - 'plugin_locale', - (is_admin() && function_exists('get_user_locale')) ? get_user_locale() : get_locale(), - $domain - ); - - $moFile = $domain . '-' . $locale . '.mo'; - $path = realpath(dirname(__FILE__) . '/../../languages'); - - if ($path && file_exists($path)) { - load_textdomain($domain, $path . '/' . $moFile); - } - } - - protected function installHooks() { - //Insert our update info into the update array maintained by WP. - add_filter('site_transient_' . $this->updateTransient, array($this,'injectUpdate')); - - //Insert translation updates into the update list. - add_filter('site_transient_' . $this->updateTransient, array($this, 'injectTranslationUpdates')); - - //Clear translation updates when WP clears the update cache. - //This needs to be done directly because the library doesn't actually remove obsolete plugin updates, - //it just hides them (see getUpdate()). We can't do that with translations - too much disk I/O. - add_action( - 'delete_site_transient_' . $this->updateTransient, - array($this, 'clearCachedTranslationUpdates') - ); - - //Rename the update directory to be the same as the existing directory. - if ( $this->directoryName !== '.' ) { - add_filter('upgrader_source_selection', array($this, 'fixDirectoryName'), 10, 3); - } - - //Allow HTTP requests to the metadata URL even if it's on a local host. - add_filter('http_request_host_is_external', array($this, 'allowMetadataHost'), 10, 2); - - //Potentially exclude information about this entity from core update check requests to api.wordpress.org. - //phpcs:ignore WordPressVIPMinimum.Hooks.RestrictedHooks.http_request_args -- Doesn't modify timeouts. - add_filter('http_request_args', array($this, 'excludeEntityFromWordPressAPI'), 10, 2); - - //DebugBar integration. - if ( did_action('plugins_loaded') ) { - $this->maybeInitDebugBar(); - } else { - add_action('plugins_loaded', array($this, 'maybeInitDebugBar')); - } - } - - /** - * Remove hooks that were added by this update checker instance. - */ - public function removeHooks() { - remove_filter('site_transient_' . $this->updateTransient, array($this,'injectUpdate')); - remove_filter('site_transient_' . $this->updateTransient, array($this, 'injectTranslationUpdates')); - remove_action( - 'delete_site_transient_' . $this->updateTransient, - array($this, 'clearCachedTranslationUpdates') - ); - - remove_filter('upgrader_source_selection', array($this, 'fixDirectoryName'), 10); - remove_filter('http_request_host_is_external', array($this, 'allowMetadataHost'), 10); - remove_filter('http_request_args', array($this, 'excludeEntityFromWordPressAPI')); - remove_action('plugins_loaded', array($this, 'maybeInitDebugBar')); - - remove_action('init', array($this, 'loadTextDomain')); - - if ( $this->scheduler ) { - $this->scheduler->removeHooks(); - } - - if ( $this->debugBarExtension ) { - $this->debugBarExtension->removeHooks(); - } - } - - /** - * Check if the current user has the required permissions to install updates. - * - * @return bool - */ - abstract public function userCanInstallUpdates(); - - /** - * Explicitly allow HTTP requests to the metadata URL. - * - * WordPress has a security feature where the HTTP API will reject all requests that are sent to - * another site hosted on the same server as the current site (IP match), a local host, or a local - * IP, unless the host exactly matches the current site. - * - * This feature is opt-in (at least in WP 4.4). Apparently some people enable it. - * - * That can be a problem when you're developing your plugin and you decide to host the update information - * on the same server as your test site. Update requests will mysteriously fail. - * - * We fix that by adding an exception for the metadata host. - * - * @param bool $allow - * @param string $host - * @return bool - */ - public function allowMetadataHost($allow, $host) { - if ( $this->cachedMetadataHost === 0 ) { - $this->cachedMetadataHost = wp_parse_url($this->metadataUrl, PHP_URL_HOST); - } - - if ( is_string($this->cachedMetadataHost) && (strtolower($host) === strtolower($this->cachedMetadataHost)) ) { - return true; - } - return $allow; - } - - /** - * Create a package instance that represents this plugin or theme. - * - * @return InstalledPackage - */ - abstract protected function createInstalledPackage(); - - /** - * @return InstalledPackage - */ - public function getInstalledPackage() { - return $this->package; - } - - /** - * Create an instance of the scheduler. - * - * This is implemented as a method to make it possible for plugins to subclass the update checker - * and substitute their own scheduler. - * - * @param int $checkPeriod - * @return Scheduler - */ - abstract protected function createScheduler($checkPeriod); - - /** - * Remove information about this plugin or theme from the requests that WordPress core sends - * to api.wordpress.org when checking for updates. - * - * @param array $args - * @param string $url - * @return array - */ - public function excludeEntityFromWordPressAPI($args, $url) { - //Is this an api.wordpress.org update check request? - $parsedUrl = wp_parse_url($url); - if ( !isset($parsedUrl['host']) || (strtolower($parsedUrl['host']) !== 'api.wordpress.org') ) { - return $args; - } - - $typePluralised = $this->componentType . 's'; - $expectedPathPrefix = '/' . $typePluralised . '/update-check/1.'; //e.g. "/plugins/update-check/1.1/" - if ( !isset($parsedUrl['path']) || !Utils::startsWith($parsedUrl['path'], $expectedPathPrefix) ) { - return $args; - } - - //Plugins and themes can disable this feature by using the filter below. - if ( !apply_filters( - $this->getUniqueName('remove_from_default_update_checks'), - true, $this, $args, $url - ) ) { - return $args; - } - - if ( empty($args['body'][$typePluralised]) ) { - return $args; - } - - $reportingItems = json_decode($args['body'][$typePluralised], true); - if ( $reportingItems === null ) { - return $args; - } - - //The list of installed items uses different key formats for plugins and themes. - //Luckily, we can reuse the getUpdateListKey() method here. - $updateListKey = $this->getUpdateListKey(); - if ( isset($reportingItems[$typePluralised][$updateListKey]) ) { - unset($reportingItems[$typePluralised][$updateListKey]); - } - - if ( !empty($reportingItems['active']) ) { - if ( is_array($reportingItems['active']) ) { - foreach ($reportingItems['active'] as $index => $relativePath) { - if ( $relativePath === $updateListKey ) { - unset($reportingItems['active'][$index]); - } - } - //Re-index the array. - $reportingItems['active'] = array_values($reportingItems['active']); - } else if ( $reportingItems['active'] === $updateListKey ) { - //For themes, the "active" field is a string that contains the theme's directory name. - //Pretend that the default theme is active so that we don't reveal the actual theme. - if ( defined('WP_DEFAULT_THEME') ) { - $reportingItems['active'] = WP_DEFAULT_THEME; - } - - //Unfortunately, it doesn't seem to be documented if we can safely remove the "active" - //key. So when we don't know the default theme, we'll just leave it as is. - } - } - - $args['body'][$typePluralised] = wp_json_encode($reportingItems); - return $args; - } - - /** - * Check for updates. The results are stored in the DB option specified in $optionName. - * - * @return Update|null - */ - public function checkForUpdates() { - $installedVersion = $this->getInstalledVersion(); - //Fail silently if we can't find the plugin/theme or read its header. - if ( $installedVersion === null ) { - $this->triggerError( - sprintf('Skipping update check for %s - installed version unknown.', $this->slug), - E_USER_WARNING - ); - return null; - } - - //Start collecting API errors. - $this->lastRequestApiErrors = array(); - add_action('puc_api_error', array($this, 'collectApiErrors'), 10, 4); - - $state = $this->updateState; - $state->setLastCheckToNow() - ->setCheckedVersion($installedVersion) - ->save(); //Save before checking in case something goes wrong - - $state->setUpdate($this->requestUpdate()); - $state->save(); - - //Stop collecting API errors. - remove_action('puc_api_error', array($this, 'collectApiErrors'), 10); - - return $this->getUpdate(); - } - - /** - * Load the update checker state from the DB. - * - * @return StateStore - */ - public function getUpdateState() { - return $this->updateState->lazyLoad(); - } - - /** - * Reset update checker state - i.e. last check time, cached update data and so on. - * - * Call this when your plugin is being uninstalled, or if you want to - * clear the update cache. - */ - public function resetUpdateState() { - $this->updateState->delete(); - } - - /** - * Get the details of the currently available update, if any. - * - * If no updates are available, or if the last known update version is below or equal - * to the currently installed version, this method will return NULL. - * - * Uses cached update data. To retrieve update information straight from - * the metadata URL, call requestUpdate() instead. - * - * @return Update|null - */ - public function getUpdate() { - $update = $this->updateState->getUpdate(); - - //Is there an update available? - if ( isset($update) ) { - //Check if the update is actually newer than the currently installed version. - $installedVersion = $this->getInstalledVersion(); - if ( ($installedVersion !== null) && version_compare($update->version, $installedVersion, '>') ){ - return $update; - } - } - return null; - } - - /** - * Retrieve the latest update (if any) from the configured API endpoint. - * - * Subclasses should run the update through filterUpdateResult before returning it. - * - * @return Update An instance of Update, or NULL when no updates are available. - */ - abstract public function requestUpdate(); - - /** - * Filter the result of a requestUpdate() call. - * - * @template T of Update - * @param T|null $update - * @param array|WP_Error|null $httpResult The value returned by wp_remote_get(), if any. - * @return T - */ - protected function filterUpdateResult($update, $httpResult = null) { - //Let plugins/themes modify the update. - $update = apply_filters($this->getUniqueName('request_update_result'), $update, $httpResult); - - $this->fixSupportedWordpressVersion($update); - - if ( isset($update, $update->translations) ) { - //Keep only those translation updates that apply to this site. - $update->translations = $this->filterApplicableTranslations($update->translations); - } - - return $update; - } - - /** - * The "Tested up to" field in the plugin metadata is supposed to be in the form of "major.minor", - * while WordPress core's list_plugin_updates() expects the $update->tested field to be an exact - * version, e.g. "major.minor.patch", to say it's compatible. In other case it shows - * "Compatibility: Unknown". - * The function mimics how wordpress.org API crafts the "tested" field out of "Tested up to". - * - * @param Metadata|null $update - */ - protected function fixSupportedWordpressVersion(Metadata $update = null) { - if ( !isset($update->tested) || !preg_match('/^\d++\.\d++$/', $update->tested) ) { - return; - } - - $actualWpVersions = array(); - - $wpVersion = $GLOBALS['wp_version']; - - if ( function_exists('get_core_updates') ) { - $coreUpdates = get_core_updates(); - if ( is_array($coreUpdates) ) { - foreach ($coreUpdates as $coreUpdate) { - if ( isset($coreUpdate->current) ) { - $actualWpVersions[] = $coreUpdate->current; - } - } - } - } - - $actualWpVersions[] = $wpVersion; - - $actualWpPatchNumber = null; - foreach ($actualWpVersions as $version) { - if ( preg_match('/^(?P\d++\.\d++)(?:\.(?P\d++))?/', $version, $versionParts) ) { - if ( $versionParts['majorMinor'] === $update->tested ) { - $patch = isset($versionParts['patch']) ? intval($versionParts['patch']) : 0; - if ( $actualWpPatchNumber === null ) { - $actualWpPatchNumber = $patch; - } else { - $actualWpPatchNumber = max($actualWpPatchNumber, $patch); - } - } - } - } - if ( $actualWpPatchNumber === null ) { - $actualWpPatchNumber = 999; - } - - if ( $actualWpPatchNumber > 0 ) { - $update->tested .= '.' . $actualWpPatchNumber; - } - } - - /** - * Get the currently installed version of the plugin or theme. - * - * @return string|null Version number. - */ - public function getInstalledVersion() { - return $this->package->getInstalledVersion(); - } - - /** - * Get the full path of the plugin or theme directory. - * - * @return string - */ - public function getAbsoluteDirectoryPath() { - return $this->package->getAbsoluteDirectoryPath(); - } - - /** - * Trigger a PHP error, but only when $debugMode is enabled. - * - * @param string $message - * @param int $errorType - */ - public function triggerError($message, $errorType) { - if ( $this->isDebugModeEnabled() ) { - //phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error -- Only happens in debug mode. - trigger_error(esc_html($message), $errorType); - } - } - - /** - * @return bool - */ - protected function isDebugModeEnabled() { - if ( $this->debugMode === null ) { - $this->debugMode = (bool)(constant('WP_DEBUG')); - } - return $this->debugMode; - } - - /** - * Get the full name of an update checker filter, action or DB entry. - * - * This method adds the "puc_" prefix and the "-$slug" suffix to the filter name. - * For example, "pre_inject_update" becomes "puc_pre_inject_update-plugin-slug". - * - * @param string $baseTag - * @return string - */ - public function getUniqueName($baseTag) { - $name = 'puc_' . $baseTag; - if ( $this->filterSuffix !== '' ) { - $name .= '_' . $this->filterSuffix; - } - return $name . '-' . $this->slug; - } - - /** - * Store API errors that are generated when checking for updates. - * - * @internal - * @param \WP_Error $error - * @param array|null $httpResponse - * @param string|null $url - * @param string|null $slug - */ - public function collectApiErrors($error, $httpResponse = null, $url = null, $slug = null) { - if ( isset($slug) && ($slug !== $this->slug) ) { - return; - } - - $this->lastRequestApiErrors[] = array( - 'error' => $error, - 'httpResponse' => $httpResponse, - 'url' => $url, - ); - } - - /** - * @return array - */ - public function getLastRequestApiErrors() { - return $this->lastRequestApiErrors; - } - - /* ------------------------------------------------------------------- - * PUC filters and filter utilities - * ------------------------------------------------------------------- - */ - - /** - * Register a callback for one of the update checker filters. - * - * Identical to add_filter(), except it automatically adds the "puc_" prefix - * and the "-$slug" suffix to the filter name. For example, "request_info_result" - * becomes "puc_request_info_result-your_plugin_slug". - * - * @param string $tag - * @param callable $callback - * @param int $priority - * @param int $acceptedArgs - */ - public function addFilter($tag, $callback, $priority = 10, $acceptedArgs = 1) { - add_filter($this->getUniqueName($tag), $callback, $priority, $acceptedArgs); - } - - /* ------------------------------------------------------------------- - * Inject updates - * ------------------------------------------------------------------- - */ - - /** - * Insert the latest update (if any) into the update list maintained by WP. - * - * @param \stdClass $updates Update list. - * @return \stdClass Modified update list. - */ - public function injectUpdate($updates) { - //Is there an update to insert? - $update = $this->getUpdate(); - - if ( !$this->shouldShowUpdates() ) { - $update = null; - } - - if ( !empty($update) ) { - //Let plugins filter the update info before it's passed on to WordPress. - $update = apply_filters($this->getUniqueName('pre_inject_update'), $update); - $updates = $this->addUpdateToList($updates, $update->toWpFormat()); - } else { - //Clean up any stale update info. - $updates = $this->removeUpdateFromList($updates); - //Add a placeholder item to the "no_update" list to enable auto-update support. - //If we don't do this, the option to enable automatic updates will only show up - //when an update is available. - $updates = $this->addNoUpdateItem($updates); - } - - return $updates; - } - - /** - * @param \stdClass|null $updates - * @param \stdClass|array $updateToAdd - * @return \stdClass - */ - protected function addUpdateToList($updates, $updateToAdd) { - if ( !is_object($updates) ) { - $updates = new stdClass(); - $updates->response = array(); - } - - $updates->response[$this->getUpdateListKey()] = $updateToAdd; - return $updates; - } - - /** - * @param \stdClass|null $updates - * @return \stdClass|null - */ - protected function removeUpdateFromList($updates) { - if ( isset($updates, $updates->response) ) { - unset($updates->response[$this->getUpdateListKey()]); - } - return $updates; - } - - /** - * See this post for more information: - * @link https://make.wordpress.org/core/2020/07/30/recommended-usage-of-the-updates-api-to-support-the-auto-updates-ui-for-plugins-and-themes-in-wordpress-5-5/ - * - * @param \stdClass|null $updates - * @return \stdClass - */ - protected function addNoUpdateItem($updates) { - if ( !is_object($updates) ) { - $updates = new stdClass(); - $updates->response = array(); - $updates->no_update = array(); - } else if ( !isset($updates->no_update) ) { - $updates->no_update = array(); - } - - $updates->no_update[$this->getUpdateListKey()] = (object) $this->getNoUpdateItemFields(); - - return $updates; - } - - /** - * Subclasses should override this method to add fields that are specific to plugins or themes. - * @return array - */ - protected function getNoUpdateItemFields() { - return array( - 'new_version' => $this->getInstalledVersion(), - 'url' => '', - 'package' => '', - 'requires_php' => '', - ); - } - - /** - * Get the key that will be used when adding updates to the update list that's maintained - * by the WordPress core. The list is always an associative array, but the key is different - * for plugins and themes. - * - * @return string - */ - abstract protected function getUpdateListKey(); - - /** - * Should we show available updates? - * - * Usually the answer is "yes", but there are exceptions. For example, WordPress doesn't - * support automatic updates installation for mu-plugins, so PUC usually won't show update - * notifications in that case. See the plugin-specific subclass for details. - * - * Note: This method only applies to updates that are displayed (or not) in the WordPress - * admin. It doesn't affect APIs like requestUpdate and getUpdate. - * - * @return bool - */ - protected function shouldShowUpdates() { - return true; - } - - /* ------------------------------------------------------------------- - * JSON-based update API - * ------------------------------------------------------------------- - */ - - /** - * Retrieve plugin or theme metadata from the JSON document at $this->metadataUrl. - * - * @param class-string $metaClass Parse the JSON as an instance of this class. It must have a static fromJson method. - * @param string $filterRoot - * @param array $queryArgs Additional query arguments. - * @return array A metadata instance and the value returned by wp_remote_get(). - */ - protected function requestMetadata($metaClass, $filterRoot, $queryArgs = array()) { - //Query args to append to the URL. Plugins can add their own by using a filter callback (see addQueryArgFilter()). - $queryArgs = array_merge( - array( - 'installed_version' => strval($this->getInstalledVersion()), - 'php' => phpversion(), - 'locale' => get_locale(), - ), - $queryArgs - ); - $queryArgs = apply_filters($this->getUniqueName($filterRoot . '_query_args'), $queryArgs); - - //Various options for the wp_remote_get() call. Plugins can filter these, too. - $options = array( - 'timeout' => wp_doing_cron() ? 10 : 3, - 'headers' => array( - 'Accept' => 'application/json', - ), - ); - $options = apply_filters($this->getUniqueName($filterRoot . '_options'), $options); - - //The metadata file should be at 'http://your-api.com/url/here/$slug/info.json' - $url = $this->metadataUrl; - if ( !empty($queryArgs) ){ - $url = add_query_arg($queryArgs, $url); - } - - $result = wp_remote_get($url, $options); - - $result = apply_filters($this->getUniqueName('request_metadata_http_result'), $result, $url, $options); - - //Try to parse the response - $status = $this->validateApiResponse($result); - $metadata = null; - if ( !is_wp_error($status) ){ - if ( (strpos($metaClass, '\\') === false) ) { - $metaClass = __NAMESPACE__ . '\\' . $metaClass; - } - $metadata = call_user_func(array($metaClass, 'fromJson'), $result['body']); - } else { - do_action('puc_api_error', $status, $result, $url, $this->slug); - $this->triggerError( - sprintf('The URL %s does not point to a valid metadata file. ', $url) - . $status->get_error_message(), - E_USER_WARNING - ); - } - - return array($metadata, $result); - } - - /** - * Check if $result is a successful update API response. - * - * @param array|WP_Error $result - * @return true|WP_Error - */ - protected function validateApiResponse($result) { - if ( is_wp_error($result) ) { /** @var WP_Error $result */ - return new WP_Error($result->get_error_code(), 'WP HTTP Error: ' . $result->get_error_message()); - } - - if ( !isset($result['response']['code']) ) { - return new WP_Error( - 'puc_no_response_code', - 'wp_remote_get() returned an unexpected result.' - ); - } - - if ( $result['response']['code'] !== 200 ) { - return new WP_Error( - 'puc_unexpected_response_code', - 'HTTP response code is ' . $result['response']['code'] . ' (expected: 200)' - ); - } - - if ( empty($result['body']) ) { - return new WP_Error('puc_empty_response', 'The metadata file appears to be empty.'); - } - - return true; - } - - /* ------------------------------------------------------------------- - * Language packs / Translation updates - * ------------------------------------------------------------------- - */ - - /** - * Filter a list of translation updates and return a new list that contains only updates - * that apply to the current site. - * - * @param array $translations - * @return array - */ - protected function filterApplicableTranslations($translations) { - $languages = array_flip(array_values(get_available_languages())); - $installedTranslations = $this->getInstalledTranslations(); - - $applicableTranslations = array(); - foreach ($translations as $translation) { - //Does it match one of the available core languages? - $isApplicable = array_key_exists($translation->language, $languages); - //Is it more recent than an already-installed translation? - if ( isset($installedTranslations[$translation->language]) ) { - $updateTimestamp = strtotime($translation->updated); - $installedTimestamp = strtotime($installedTranslations[$translation->language]['PO-Revision-Date']); - $isApplicable = $updateTimestamp > $installedTimestamp; - } - - if ( $isApplicable ) { - $applicableTranslations[] = $translation; - } - } - - return $applicableTranslations; - } - - /** - * Get a list of installed translations for this plugin or theme. - * - * @return array - */ - protected function getInstalledTranslations() { - if ( !function_exists('wp_get_installed_translations') ) { - return array(); - } - $installedTranslations = wp_get_installed_translations($this->translationType . 's'); - if ( isset($installedTranslations[$this->directoryName]) ) { - $installedTranslations = $installedTranslations[$this->directoryName]; - } else { - $installedTranslations = array(); - } - return $installedTranslations; - } - - /** - * Insert translation updates into the list maintained by WordPress. - * - * @param stdClass $updates - * @return stdClass - */ - public function injectTranslationUpdates($updates) { - $translationUpdates = $this->getTranslationUpdates(); - if ( empty($translationUpdates) ) { - return $updates; - } - - //Being defensive. - if ( !is_object($updates) ) { - $updates = new stdClass(); - } - if ( !isset($updates->translations) ) { - $updates->translations = array(); - } - - //In case there's a name collision with a plugin or theme hosted on wordpress.org, - //remove any preexisting updates that match our thing. - $updates->translations = array_values(array_filter( - $updates->translations, - array($this, 'isNotMyTranslation') - )); - - //Add our updates to the list. - foreach($translationUpdates as $update) { - $convertedUpdate = array_merge( - array( - 'type' => $this->translationType, - 'slug' => $this->directoryName, - 'autoupdate' => 0, - //AFAICT, WordPress doesn't actually use the "version" field for anything. - //But lets make sure it's there, just in case. - 'version' => isset($update->version) ? $update->version : ('1.' . strtotime($update->updated)), - ), - (array)$update - ); - - $updates->translations[] = $convertedUpdate; - } - - return $updates; - } - - /** - * Get a list of available translation updates. - * - * This method will return an empty array if there are no updates. - * Uses cached update data. - * - * @return array - */ - public function getTranslationUpdates() { - return $this->updateState->getTranslations(); - } - - /** - * Remove all cached translation updates. - * - * @see wp_clean_update_cache - */ - public function clearCachedTranslationUpdates() { - $this->updateState->setTranslations(array()); - } - - /** - * Filter callback. Keeps only translations that *don't* match this plugin or theme. - * - * @param array $translation - * @return bool - */ - protected function isNotMyTranslation($translation) { - $isMatch = isset($translation['type'], $translation['slug']) - && ($translation['type'] === $this->translationType) - && ($translation['slug'] === $this->directoryName); - - return !$isMatch; - } - - /* ------------------------------------------------------------------- - * Fix directory name when installing updates - * ------------------------------------------------------------------- - */ - - /** - * Rename the update directory to match the existing plugin/theme directory. - * - * When WordPress installs a plugin or theme update, it assumes that the ZIP file will contain - * exactly one directory, and that the directory name will be the same as the directory where - * the plugin or theme is currently installed. - * - * GitHub and other repositories provide ZIP downloads, but they often use directory names like - * "project-branch" or "project-tag-hash". We need to change the name to the actual plugin folder. - * - * This is a hook callback. Don't call it from a plugin. - * - * @access protected - * - * @param string $source The directory to copy to /wp-content/plugins or /wp-content/themes. Usually a subdirectory of $remoteSource. - * @param string $remoteSource WordPress has extracted the update to this directory. - * @param \WP_Upgrader $upgrader - * @return string|WP_Error - */ - public function fixDirectoryName($source, $remoteSource, $upgrader) { - global $wp_filesystem; - /** @var \WP_Filesystem_Base $wp_filesystem */ - - //Basic sanity checks. - if ( !isset($source, $remoteSource, $upgrader, $upgrader->skin, $wp_filesystem) ) { - return $source; - } - - //If WordPress is upgrading anything other than our plugin/theme, leave the directory name unchanged. - if ( !$this->isBeingUpgraded($upgrader) ) { - return $source; - } - - //Fix the remote source structure if necessary. - //The update archive should contain a single directory that contains the rest of plugin/theme files. - //Otherwise, WordPress will try to copy the entire working directory ($source == $remoteSource). - //We can't rename $remoteSource because that would break WordPress code that cleans up temporary files - //after update. - if ( $this->isBadDirectoryStructure($remoteSource) ) { - //Create a new directory using the plugin slug. - $newDirectory = trailingslashit($remoteSource) . $this->slug . '/'; - - if ( !$wp_filesystem->is_dir($newDirectory) ) { - $wp_filesystem->mkdir($newDirectory); - - //Move all files to the newly created directory. - $sourceFiles = $wp_filesystem->dirlist($remoteSource); - if ( is_array($sourceFiles) ) { - $sourceFiles = array_keys($sourceFiles); - $allMoved = true; - foreach ($sourceFiles as $filename) { - //Skip our newly created folder. - if ( $filename === $this->slug ) { - continue; - } - - $previousSource = trailingslashit($remoteSource) . $filename; - $newSource = trailingslashit($newDirectory) . $filename; - - if ( !$wp_filesystem->move($previousSource, $newSource, true) ) { - $allMoved = false; - break; - } - } - - if ( $allMoved ) { - //Rename source. - $source = $newDirectory; - } else { - //Delete our newly created folder including all files in it. - $wp_filesystem->rmdir($newDirectory, true); - - //And return a relevant error. - return new WP_Error( - 'puc-incorrect-directory-structure', - sprintf( - 'The directory structure of the update was incorrect. All files should be inside ' . - 'a directory named %s, not at the root of the ZIP archive. Plugin Update Checker tried to fix the directory structure, but failed.', - htmlentities($this->slug) - ) - ); - } - } - } - } - - //Rename the source to match the existing directory. - $correctedSource = trailingslashit($remoteSource) . $this->directoryName . '/'; - if ( $source !== $correctedSource ) { - $upgrader->skin->feedback(sprintf( - 'Renaming %s to %s…', - '' . basename($source) . '', - '' . $this->directoryName . '' - )); - - if ( $wp_filesystem->move($source, $correctedSource, true) ) { - $upgrader->skin->feedback('Directory successfully renamed.'); - return $correctedSource; - } else { - return new WP_Error( - 'puc-rename-failed', - 'Unable to rename the update to match the existing directory.' - ); - } - } - - return $source; - } - - /** - * Is there an update being installed right now, for this plugin or theme? - * - * @param \WP_Upgrader|null $upgrader The upgrader that's performing the current update. - * @return bool - */ - abstract public function isBeingUpgraded($upgrader = null); - - /** - * Check for incorrect update directory structure. An update must contain a single directory, - * all other files should be inside that directory. - * - * @param string $remoteSource Directory path. - * @return bool - */ - protected function isBadDirectoryStructure($remoteSource) { - global $wp_filesystem; - /** @var \WP_Filesystem_Base $wp_filesystem */ - - $sourceFiles = $wp_filesystem->dirlist($remoteSource); - if ( is_array($sourceFiles) ) { - $sourceFiles = array_keys($sourceFiles); - $firstFilePath = trailingslashit($remoteSource) . $sourceFiles[0]; - return (count($sourceFiles) > 1) || (!$wp_filesystem->is_dir($firstFilePath)); - } - - //Assume it's fine. - return false; - } - - /* ------------------------------------------------------------------- - * DebugBar integration - * ------------------------------------------------------------------- - */ - - /** - * Initialize the update checker Debug Bar plugin/add-on thingy. - */ - public function maybeInitDebugBar() { - if ( - class_exists('Debug_Bar', false) - && class_exists('Debug_Bar_Panel', false) - && file_exists(dirname(__FILE__) . '/DebugBar') - ) { - $this->debugBarExtension = $this->createDebugBarExtension(); - } - } - - protected function createDebugBarExtension() { - return new DebugBar\Extension($this); - } - - /** - * Display additional configuration details in the Debug Bar panel. - * - * @param DebugBar\Panel $panel - */ - public function onDisplayConfiguration($panel) { - //Do nothing. Subclasses can use this to add additional info to the panel. - } - - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/UpgraderStatus.php b/plugin-update-checker/Puc/v5p5/UpgraderStatus.php deleted file mode 100644 index f06db1c..0000000 --- a/plugin-update-checker/Puc/v5p5/UpgraderStatus.php +++ /dev/null @@ -1,200 +0,0 @@ -isBeingUpgraded('plugin', $pluginFile, $upgrader); - } - - /** - * Is there an update being installed for a specific theme? - * - * @param string $stylesheet Theme directory name. - * @param \WP_Upgrader|null $upgrader The upgrader that's performing the current update. - * @return bool - */ - public function isThemeBeingUpgraded($stylesheet, $upgrader = null) { - return $this->isBeingUpgraded('theme', $stylesheet, $upgrader); - } - - /** - * Check if a specific theme or plugin is being upgraded. - * - * @param string $type - * @param string $id - * @param \Plugin_Upgrader|\WP_Upgrader|null $upgrader - * @return bool - */ - protected function isBeingUpgraded($type, $id, $upgrader = null) { - if ( isset($upgrader) ) { - list($currentType, $currentId) = $this->getThingBeingUpgradedBy($upgrader); - if ( $currentType !== null ) { - $this->currentType = $currentType; - $this->currentId = $currentId; - } - } - return ($this->currentType === $type) && ($this->currentId === $id); - } - - /** - * Figure out which theme or plugin is being upgraded by a WP_Upgrader instance. - * - * Returns an array with two items. The first item is the type of the thing that's being - * upgraded: "plugin" or "theme". The second item is either the plugin basename or - * the theme directory name. If we can't determine what the upgrader is doing, both items - * will be NULL. - * - * Examples: - * ['plugin', 'plugin-dir-name/plugin.php'] - * ['theme', 'theme-dir-name'] - * - * @param \Plugin_Upgrader|\WP_Upgrader $upgrader - * @return array - */ - private function getThingBeingUpgradedBy($upgrader) { - if ( !isset($upgrader, $upgrader->skin) ) { - return array(null, null); - } - - //Figure out which plugin or theme is being upgraded. - $pluginFile = null; - $themeDirectoryName = null; - - $skin = $upgrader->skin; - if ( isset($skin->theme_info) && ($skin->theme_info instanceof \WP_Theme) ) { - $themeDirectoryName = $skin->theme_info->get_stylesheet(); - } elseif ( $skin instanceof \Plugin_Upgrader_Skin ) { - if ( isset($skin->plugin) && is_string($skin->plugin) && ($skin->plugin !== '') ) { - $pluginFile = $skin->plugin; - } - } elseif ( $skin instanceof \Theme_Upgrader_Skin ) { - if ( isset($skin->theme) && is_string($skin->theme) && ($skin->theme !== '') ) { - $themeDirectoryName = $skin->theme; - } - } elseif ( isset($skin->plugin_info) && is_array($skin->plugin_info) ) { - //This case is tricky because Bulk_Plugin_Upgrader_Skin (etc) doesn't actually store the plugin - //filename anywhere. Instead, it has the plugin headers in $plugin_info. So the best we can - //do is compare those headers to the headers of installed plugins. - $pluginFile = $this->identifyPluginByHeaders($skin->plugin_info); - } - - if ( $pluginFile !== null ) { - return array('plugin', $pluginFile); - } elseif ( $themeDirectoryName !== null ) { - return array('theme', $themeDirectoryName); - } - return array(null, null); - } - - /** - * Identify an installed plugin based on its headers. - * - * @param array $searchHeaders The plugin file header to look for. - * @return string|null Plugin basename ("foo/bar.php"), or NULL if we can't identify the plugin. - */ - private function identifyPluginByHeaders($searchHeaders) { - if ( !function_exists('get_plugins') ){ - require_once( ABSPATH . '/wp-admin/includes/plugin.php' ); - } - - $installedPlugins = get_plugins(); - $matches = array(); - foreach($installedPlugins as $pluginBasename => $headers) { - $diff1 = array_diff_assoc($headers, $searchHeaders); - $diff2 = array_diff_assoc($searchHeaders, $headers); - if ( empty($diff1) && empty($diff2) ) { - $matches[] = $pluginBasename; - } - } - - //It's possible (though very unlikely) that there could be two plugins with identical - //headers. In that case, we can't unambiguously identify the plugin that's being upgraded. - if ( count($matches) !== 1 ) { - return null; - } - - return reset($matches); - } - - /** - * @access private - * - * @param mixed $input - * @param array $hookExtra - * @return mixed Returns $input unaltered. - */ - public function setUpgradedThing($input, $hookExtra) { - if ( !empty($hookExtra['plugin']) && is_string($hookExtra['plugin']) ) { - $this->currentId = $hookExtra['plugin']; - $this->currentType = 'plugin'; - } elseif ( !empty($hookExtra['theme']) && is_string($hookExtra['theme']) ) { - $this->currentId = $hookExtra['theme']; - $this->currentType = 'theme'; - } else { - $this->currentType = null; - $this->currentId = null; - } - return $input; - } - - /** - * @access private - * - * @param array $options - * @return array - */ - public function setUpgradedPluginFromOptions($options) { - if ( isset($options['hook_extra']['plugin']) && is_string($options['hook_extra']['plugin']) ) { - $this->currentType = 'plugin'; - $this->currentId = $options['hook_extra']['plugin']; - } else { - $this->currentType = null; - $this->currentId = null; - } - return $options; - } - - /** - * @access private - * - * @param mixed $input - * @return mixed Returns $input unaltered. - */ - public function clearUpgradedThing($input = null) { - $this->currentId = null; - $this->currentType = null; - return $input; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/Utils.php b/plugin-update-checker/Puc/v5p5/Utils.php deleted file mode 100644 index 8aecb75..0000000 --- a/plugin-update-checker/Puc/v5p5/Utils.php +++ /dev/null @@ -1,70 +0,0 @@ -$node) ) { - $currentValue = $currentValue->$node; - } else { - return $default; - } - } - - return $currentValue; - } - - /** - * Get the first array element that is not empty. - * - * @param array $values - * @param mixed|null $default Returns this value if there are no non-empty elements. - * @return mixed|null - */ - public static function findNotEmpty($values, $default = null) { - if ( empty($values) ) { - return $default; - } - - foreach ($values as $value) { - if ( !empty($value) ) { - return $value; - } - } - - return $default; - } - - /** - * Check if the input string starts with the specified prefix. - * - * @param string $input - * @param string $prefix - * @return bool - */ - public static function startsWith($input, $prefix) { - $length = strlen($prefix); - return (substr($input, 0, $length) === $prefix); - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/Vcs/Api.php b/plugin-update-checker/Puc/v5p5/Vcs/Api.php deleted file mode 100644 index c7f44ce..0000000 --- a/plugin-update-checker/Puc/v5p5/Vcs/Api.php +++ /dev/null @@ -1,379 +0,0 @@ -repositoryUrl = $repositoryUrl; - $this->setAuthentication($credentials); - } - - /** - * @return string - */ - public function getRepositoryUrl() { - return $this->repositoryUrl; - } - - /** - * Figure out which reference (i.e. tag or branch) contains the latest version. - * - * @param string $configBranch Start looking in this branch. - * @return null|Reference - */ - public function chooseReference($configBranch) { - $strategies = $this->getUpdateDetectionStrategies($configBranch); - - if ( !empty($this->strategyFilterName) ) { - $strategies = apply_filters( - $this->strategyFilterName, - $strategies, - $this->slug - ); - } - - foreach ($strategies as $strategy) { - $reference = call_user_func($strategy); - if ( !empty($reference) ) { - return $reference; - } - } - return null; - } - - /** - * Get an ordered list of strategies that can be used to find the latest version. - * - * The update checker will try each strategy in order until one of them - * returns a valid reference. - * - * @param string $configBranch - * @return array Array of callables that return Vcs_Reference objects. - */ - abstract protected function getUpdateDetectionStrategies($configBranch); - - /** - * Get the readme.txt file from the remote repository and parse it - * according to the plugin readme standard. - * - * @param string $ref Tag or branch name. - * @return array Parsed readme. - */ - public function getRemoteReadme($ref = 'master') { - $fileContents = $this->getRemoteFile($this->getLocalReadmeName(), $ref); - if ( empty($fileContents) ) { - return array(); - } - - $parser = new PucReadmeParser(); - return $parser->parse_readme_contents($fileContents); - } - - /** - * Get the case-sensitive name of the local readme.txt file. - * - * In most cases it should just be called "readme.txt", but some plugins call it "README.txt", - * "README.TXT", or even "Readme.txt". Most VCS are case-sensitive so we need to know the correct - * capitalization. - * - * Defaults to "readme.txt" (all lowercase). - * - * @return string - */ - public function getLocalReadmeName() { - static $fileName = null; - if ( $fileName !== null ) { - return $fileName; - } - - $fileName = 'readme.txt'; - if ( isset($this->localDirectory) ) { - $files = scandir($this->localDirectory); - if ( !empty($files) ) { - foreach ($files as $possibleFileName) { - if ( strcasecmp($possibleFileName, 'readme.txt') === 0 ) { - $fileName = $possibleFileName; - break; - } - } - } - } - return $fileName; - } - - /** - * Get a branch. - * - * @param string $branchName - * @return Reference|null - */ - abstract public function getBranch($branchName); - - /** - * Get a specific tag. - * - * @param string $tagName - * @return Reference|null - */ - abstract public function getTag($tagName); - - /** - * Get the tag that looks like the highest version number. - * (Implementations should skip pre-release versions if possible.) - * - * @return Reference|null - */ - abstract public function getLatestTag(); - - /** - * Check if a tag name string looks like a version number. - * - * @param string $name - * @return bool - */ - protected function looksLikeVersion($name) { - //Tag names may be prefixed with "v", e.g. "v1.2.3". - $name = ltrim($name, 'v'); - - //The version string must start with a number. - if ( !is_numeric(substr($name, 0, 1)) ) { - return false; - } - - //The goal is to accept any SemVer-compatible or "PHP-standardized" version number. - return (preg_match('@^(\d{1,5}?)(\.\d{1,10}?){0,4}?($|[abrdp+_\-]|\s)@i', $name) === 1); - } - - /** - * Check if a tag appears to be named like a version number. - * - * @param \stdClass $tag - * @return bool - */ - protected function isVersionTag($tag) { - $property = $this->tagNameProperty; - return isset($tag->$property) && $this->looksLikeVersion($tag->$property); - } - - /** - * Sort a list of tags as if they were version numbers. - * Tags that don't look like version number will be removed. - * - * @param \stdClass[] $tags Array of tag objects. - * @return \stdClass[] Filtered array of tags sorted in descending order. - */ - protected function sortTagsByVersion($tags) { - //Keep only those tags that look like version numbers. - $versionTags = array_filter($tags, array($this, 'isVersionTag')); - //Sort them in descending order. - usort($versionTags, array($this, 'compareTagNames')); - - return $versionTags; - } - - /** - * Compare two tags as if they were version number. - * - * @param \stdClass $tag1 Tag object. - * @param \stdClass $tag2 Another tag object. - * @return int - */ - protected function compareTagNames($tag1, $tag2) { - $property = $this->tagNameProperty; - if ( !isset($tag1->$property) ) { - return 1; - } - if ( !isset($tag2->$property) ) { - return -1; - } - return -version_compare(ltrim($tag1->$property, 'v'), ltrim($tag2->$property, 'v')); - } - - /** - * Get the contents of a file from a specific branch or tag. - * - * @param string $path File name. - * @param string $ref - * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. - */ - abstract public function getRemoteFile($path, $ref = 'master'); - - /** - * Get the timestamp of the latest commit that changed the specified branch or tag. - * - * @param string $ref Reference name (e.g. branch or tag). - * @return string|null - */ - abstract public function getLatestCommitTime($ref); - - /** - * Get the contents of the changelog file from the repository. - * - * @param string $ref - * @param string $localDirectory Full path to the local plugin or theme directory. - * @return null|string The HTML contents of the changelog. - */ - public function getRemoteChangelog($ref, $localDirectory) { - $filename = $this->findChangelogName($localDirectory); - if ( empty($filename) ) { - return null; - } - - $changelog = $this->getRemoteFile($filename, $ref); - if ( $changelog === null ) { - return null; - } - - return Parsedown::instance()->text($changelog); - } - - /** - * Guess the name of the changelog file. - * - * @param string $directory - * @return string|null - */ - protected function findChangelogName($directory = null) { - if ( !isset($directory) ) { - $directory = $this->localDirectory; - } - if ( empty($directory) || !is_dir($directory) || ($directory === '.') ) { - return null; - } - - $possibleNames = array('CHANGES.md', 'CHANGELOG.md', 'changes.md', 'changelog.md'); - $files = scandir($directory); - $foundNames = array_intersect($possibleNames, $files); - - if ( !empty($foundNames) ) { - return reset($foundNames); - } - return null; - } - - /** - * Set authentication credentials. - * - * @param $credentials - */ - public function setAuthentication($credentials) { - $this->credentials = $credentials; - } - - public function isAuthenticationEnabled() { - return !empty($this->credentials); - } - - /** - * @param string $url - * @return string - */ - public function signDownloadUrl($url) { - return $url; - } - - /** - * @param string $filterName - */ - public function setHttpFilterName($filterName) { - $this->httpFilterName = $filterName; - } - - /** - * @param string $filterName - */ - public function setStrategyFilterName($filterName) { - $this->strategyFilterName = $filterName; - } - - /** - * @param string $directory - */ - public function setLocalDirectory($directory) { - if ( empty($directory) || !is_dir($directory) || ($directory === '.') ) { - $this->localDirectory = null; - } else { - $this->localDirectory = $directory; - } - } - - /** - * @param string $slug - */ - public function setSlug($slug) { - $this->slug = $slug; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/Vcs/BaseChecker.php b/plugin-update-checker/Puc/v5p5/Vcs/BaseChecker.php deleted file mode 100644 index d1cdc7b..0000000 --- a/plugin-update-checker/Puc/v5p5/Vcs/BaseChecker.php +++ /dev/null @@ -1,29 +0,0 @@ -[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { - $this->username = $matches['username']; - $this->repository = $matches['repository']; - } else { - throw new \InvalidArgumentException('Invalid BitBucket repository URL: "' . $repositoryUrl . '"'); - } - - parent::__construct($repositoryUrl, $credentials); - } - - protected function getUpdateDetectionStrategies($configBranch) { - $strategies = array( - self::STRATEGY_STABLE_TAG => function () use ($configBranch) { - return $this->getStableTag($configBranch); - }, - ); - - if ( ($configBranch === 'master' || $configBranch === 'main') ) { - $strategies[self::STRATEGY_LATEST_TAG] = array($this, 'getLatestTag'); - } - - $strategies[self::STRATEGY_BRANCH] = function () use ($configBranch) { - return $this->getBranch($configBranch); - }; - return $strategies; - } - - public function getBranch($branchName) { - $branch = $this->api('/refs/branches/' . $branchName); - if ( is_wp_error($branch) || empty($branch) ) { - return null; - } - - //The "/src/{stuff}/{path}" endpoint doesn't seem to handle branch names that contain slashes. - //If we don't encode the slash, we get a 404. If we encode it as "%2F", we get a 401. - //To avoid issues, if the branch name is not URL-safe, let's use the commit hash instead. - $ref = $branch->name; - if ((urlencode($ref) !== $ref) && isset($branch->target->hash)) { - $ref = $branch->target->hash; - } - - return new Reference(array( - 'name' => $ref, - 'updated' => $branch->target->date, - 'downloadUrl' => $this->getDownloadUrl($branch->name), - )); - } - - /** - * Get a specific tag. - * - * @param string $tagName - * @return Reference|null - */ - public function getTag($tagName) { - $tag = $this->api('/refs/tags/' . $tagName); - if ( is_wp_error($tag) || empty($tag) ) { - return null; - } - - return new Reference(array( - 'name' => $tag->name, - 'version' => ltrim($tag->name, 'v'), - 'updated' => $tag->target->date, - 'downloadUrl' => $this->getDownloadUrl($tag->name), - )); - } - - /** - * Get the tag that looks like the highest version number. - * - * @return Reference|null - */ - public function getLatestTag() { - $tags = $this->api('/refs/tags?sort=-target.date'); - if ( !isset($tags, $tags->values) || !is_array($tags->values) ) { - return null; - } - - //Filter and sort the list of tags. - $versionTags = $this->sortTagsByVersion($tags->values); - - //Return the first result. - if ( !empty($versionTags) ) { - $tag = $versionTags[0]; - return new Reference(array( - 'name' => $tag->name, - 'version' => ltrim($tag->name, 'v'), - 'updated' => $tag->target->date, - 'downloadUrl' => $this->getDownloadUrl($tag->name), - )); - } - return null; - } - - /** - * Get the tag/ref specified by the "Stable tag" header in the readme.txt of a given branch. - * - * @param string $branch - * @return null|Reference - */ - protected function getStableTag($branch) { - $remoteReadme = $this->getRemoteReadme($branch); - if ( !empty($remoteReadme['stable_tag']) ) { - $tag = $remoteReadme['stable_tag']; - - //You can explicitly opt out of using tags by setting "Stable tag" to - //"trunk" or the name of the current branch. - if ( ($tag === $branch) || ($tag === 'trunk') ) { - return $this->getBranch($branch); - } - - return $this->getTag($tag); - } - - return null; - } - - /** - * @param string $ref - * @return string - */ - protected function getDownloadUrl($ref) { - return sprintf( - 'https://bitbucket.org/%s/%s/get/%s.zip', - $this->username, - $this->repository, - $ref - ); - } - - /** - * Get the contents of a file from a specific branch or tag. - * - * @param string $path File name. - * @param string $ref - * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. - */ - public function getRemoteFile($path, $ref = 'master') { - $response = $this->api('src/' . $ref . '/' . ltrim($path)); - if ( is_wp_error($response) || !is_string($response) ) { - return null; - } - return $response; - } - - /** - * Get the timestamp of the latest commit that changed the specified branch or tag. - * - * @param string $ref Reference name (e.g. branch or tag). - * @return string|null - */ - public function getLatestCommitTime($ref) { - $response = $this->api('commits/' . $ref); - if ( isset($response->values, $response->values[0], $response->values[0]->date) ) { - return $response->values[0]->date; - } - return null; - } - - /** - * Perform a BitBucket API 2.0 request. - * - * @param string $url - * @param string $version - * @return mixed|\WP_Error - */ - public function api($url, $version = '2.0') { - $url = ltrim($url, '/'); - $isSrcResource = Utils::startsWith($url, 'src/'); - - $url = implode('/', array( - 'https://api.bitbucket.org', - $version, - 'repositories', - $this->username, - $this->repository, - $url - )); - $baseUrl = $url; - - if ( $this->oauth ) { - $url = $this->oauth->sign($url,'GET'); - } - - $options = array('timeout' => wp_doing_cron() ? 10 : 3); - if ( !empty($this->httpFilterName) ) { - $options = apply_filters($this->httpFilterName, $options); - } - $response = wp_remote_get($url, $options); - if ( is_wp_error($response) ) { - do_action('puc_api_error', $response, null, $url, $this->slug); - return $response; - } - - $code = wp_remote_retrieve_response_code($response); - $body = wp_remote_retrieve_body($response); - if ( $code === 200 ) { - if ( $isSrcResource ) { - //Most responses are JSON-encoded, but src resources just - //return raw file contents. - $document = $body; - } else { - $document = json_decode($body); - } - return $document; - } - - $error = new \WP_Error( - 'puc-bitbucket-http-error', - sprintf('BitBucket API error. Base URL: "%s", HTTP status code: %d.', $baseUrl, $code) - ); - do_action('puc_api_error', $error, $response, $url, $this->slug); - - return $error; - } - - /** - * @param array $credentials - */ - public function setAuthentication($credentials) { - parent::setAuthentication($credentials); - - if ( !empty($credentials) && !empty($credentials['consumer_key']) ) { - $this->oauth = new OAuthSignature( - $credentials['consumer_key'], - $credentials['consumer_secret'] - ); - } else { - $this->oauth = null; - } - } - - public function signDownloadUrl($url) { - //Add authentication data to download URLs. Since OAuth signatures incorporate - //timestamps, we have to do this immediately before inserting the update. Otherwise, - //authentication could fail due to a stale timestamp. - if ( $this->oauth ) { - $url = $this->oauth->sign($url); - } - return $url; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/Vcs/GitHubApi.php b/plugin-update-checker/Puc/v5p5/Vcs/GitHubApi.php deleted file mode 100644 index 0eb0e56..0000000 --- a/plugin-update-checker/Puc/v5p5/Vcs/GitHubApi.php +++ /dev/null @@ -1,467 +0,0 @@ -[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { - $this->userName = $matches['username']; - $this->repositoryName = $matches['repository']; - } else { - throw new \InvalidArgumentException('Invalid GitHub repository URL: "' . $repositoryUrl . '"'); - } - - parent::__construct($repositoryUrl, $accessToken); - } - - /** - * Get the latest release from GitHub. - * - * @return Reference|null - */ - public function getLatestRelease() { - //The "latest release" endpoint returns one release and always skips pre-releases, - //so we can only use it if that's compatible with the current filter settings. - if ( - $this->shouldSkipPreReleases() - && ( - ($this->releaseFilterMaxReleases === 1) || !$this->hasCustomReleaseFilter() - ) - ) { - //Just get the latest release. - $release = $this->api('/repos/:user/:repo/releases/latest'); - if ( is_wp_error($release) || !is_object($release) || !isset($release->tag_name) ) { - return null; - } - $foundReleases = array($release); - } else { - //Get a list of the most recent releases. - $foundReleases = $this->api( - '/repos/:user/:repo/releases', - array('per_page' => $this->releaseFilterMaxReleases) - ); - if ( is_wp_error($foundReleases) || !is_array($foundReleases) ) { - return null; - } - } - - foreach ($foundReleases as $release) { - //Always skip drafts. - if ( isset($release->draft) && !empty($release->draft) ) { - continue; - } - - //Skip pre-releases unless specifically included. - if ( - $this->shouldSkipPreReleases() - && isset($release->prerelease) - && !empty($release->prerelease) - ) { - continue; - } - - $versionNumber = ltrim($release->tag_name, 'v'); //Remove the "v" prefix from "v1.2.3". - - //Custom release filtering. - if ( !$this->matchesCustomReleaseFilter($versionNumber, $release) ) { - continue; - } - - $reference = new Reference(array( - 'name' => $release->tag_name, - 'version' => $versionNumber, - 'downloadUrl' => $release->zipball_url, - 'updated' => $release->created_at, - 'apiResponse' => $release, - )); - - if ( isset($release->assets[0]) ) { - $reference->downloadCount = $release->assets[0]->download_count; - } - - if ( $this->releaseAssetsEnabled ) { - //Use the first release asset that matches the specified regular expression. - if ( isset($release->assets, $release->assets[0]) ) { - $matchingAssets = array_values(array_filter($release->assets, array($this, 'matchesAssetFilter'))); - } else { - $matchingAssets = array(); - } - - if ( !empty($matchingAssets) ) { - if ( $this->isAuthenticationEnabled() ) { - /** - * Keep in mind that we'll need to add an "Accept" header to download this asset. - * - * @see setUpdateDownloadHeaders() - */ - $reference->downloadUrl = $matchingAssets[0]->url; - } else { - //It seems that browser_download_url only works for public repositories. - //Using an access_token doesn't help. Maybe OAuth would work? - $reference->downloadUrl = $matchingAssets[0]->browser_download_url; - } - - $reference->downloadCount = $matchingAssets[0]->download_count; - } else if ( $this->releaseAssetPreference === Api::REQUIRE_RELEASE_ASSETS ) { - //None of the assets match the filter, and we're not allowed - //to fall back to the auto-generated source ZIP. - return null; - } - } - - if ( !empty($release->body) ) { - $reference->changelog = Parsedown::instance()->text($release->body); - } - - return $reference; - } - - return null; - } - - /** - * Get the tag that looks like the highest version number. - * - * @return Reference|null - */ - public function getLatestTag() { - $tags = $this->api('/repos/:user/:repo/tags'); - - if ( is_wp_error($tags) || !is_array($tags) ) { - return null; - } - - $versionTags = $this->sortTagsByVersion($tags); - if ( empty($versionTags) ) { - return null; - } - - $tag = $versionTags[0]; - return new Reference(array( - 'name' => $tag->name, - 'version' => ltrim($tag->name, 'v'), - 'downloadUrl' => $tag->zipball_url, - 'apiResponse' => $tag, - )); - } - - /** - * Get a branch by name. - * - * @param string $branchName - * @return null|Reference - */ - public function getBranch($branchName) { - $branch = $this->api('/repos/:user/:repo/branches/' . $branchName); - if ( is_wp_error($branch) || empty($branch) ) { - return null; - } - - $reference = new Reference(array( - 'name' => $branch->name, - 'downloadUrl' => $this->buildArchiveDownloadUrl($branch->name), - 'apiResponse' => $branch, - )); - - if ( isset($branch->commit, $branch->commit->commit, $branch->commit->commit->author->date) ) { - $reference->updated = $branch->commit->commit->author->date; - } - - return $reference; - } - - /** - * Get the latest commit that changed the specified file. - * - * @param string $filename - * @param string $ref Reference name (e.g. branch or tag). - * @return \StdClass|null - */ - public function getLatestCommit($filename, $ref = 'master') { - $commits = $this->api( - '/repos/:user/:repo/commits', - array( - 'path' => $filename, - 'sha' => $ref, - ) - ); - if ( !is_wp_error($commits) && isset($commits[0]) ) { - return $commits[0]; - } - return null; - } - - /** - * Get the timestamp of the latest commit that changed the specified branch or tag. - * - * @param string $ref Reference name (e.g. branch or tag). - * @return string|null - */ - public function getLatestCommitTime($ref) { - $commits = $this->api('/repos/:user/:repo/commits', array('sha' => $ref)); - if ( !is_wp_error($commits) && isset($commits[0]) ) { - return $commits[0]->commit->author->date; - } - return null; - } - - /** - * Perform a GitHub API request. - * - * @param string $url - * @param array $queryParams - * @return mixed|\WP_Error - */ - protected function api($url, $queryParams = array()) { - $baseUrl = $url; - $url = $this->buildApiUrl($url, $queryParams); - - $options = array('timeout' => wp_doing_cron() ? 10 : 3); - if ( $this->isAuthenticationEnabled() ) { - $options['headers'] = array('Authorization' => $this->getAuthorizationHeader()); - } - - if ( !empty($this->httpFilterName) ) { - $options = apply_filters($this->httpFilterName, $options); - } - $response = wp_remote_get($url, $options); - if ( is_wp_error($response) ) { - do_action('puc_api_error', $response, null, $url, $this->slug); - return $response; - } - - $code = wp_remote_retrieve_response_code($response); - $body = wp_remote_retrieve_body($response); - if ( $code === 200 ) { - $document = json_decode($body); - return $document; - } - - $error = new \WP_Error( - 'puc-github-http-error', - sprintf('GitHub API error. Base URL: "%s", HTTP status code: %d.', $baseUrl, $code) - ); - do_action('puc_api_error', $error, $response, $url, $this->slug); - - return $error; - } - - /** - * Build a fully qualified URL for an API request. - * - * @param string $url - * @param array $queryParams - * @return string - */ - protected function buildApiUrl($url, $queryParams) { - $variables = array( - 'user' => $this->userName, - 'repo' => $this->repositoryName, - ); - foreach ($variables as $name => $value) { - $url = str_replace('/:' . $name, '/' . urlencode($value), $url); - } - $url = 'https://api.github.com' . $url; - - if ( !empty($queryParams) ) { - $url = add_query_arg($queryParams, $url); - } - - return $url; - } - - /** - * Get the contents of a file from a specific branch or tag. - * - * @param string $path File name. - * @param string $ref - * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. - */ - public function getRemoteFile($path, $ref = 'master') { - $apiUrl = '/repos/:user/:repo/contents/' . $path; - $response = $this->api($apiUrl, array('ref' => $ref)); - - if ( is_wp_error($response) || !isset($response->content) || ($response->encoding !== 'base64') ) { - return null; - } - return base64_decode($response->content); - } - - /** - * Generate a URL to download a ZIP archive of the specified branch/tag/etc. - * - * @param string $ref - * @return string - */ - public function buildArchiveDownloadUrl($ref = 'master') { - $url = sprintf( - 'https://api.github.com/repos/%1$s/%2$s/zipball/%3$s', - urlencode($this->userName), - urlencode($this->repositoryName), - urlencode($ref) - ); - return $url; - } - - /** - * Get a specific tag. - * - * @param string $tagName - * @return void - */ - public function getTag($tagName) { - //The current GitHub update checker doesn't use getTag, so I didn't bother to implement it. - throw new \LogicException('The ' . __METHOD__ . ' method is not implemented and should not be used.'); - } - - public function setAuthentication($credentials) { - parent::setAuthentication($credentials); - $this->accessToken = is_string($credentials) ? $credentials : null; - - //Optimization: Instead of filtering all HTTP requests, let's do it only when - //WordPress is about to download an update. - add_filter('upgrader_pre_download', array($this, 'addHttpRequestFilter'), 10, 1); //WP 3.7+ - } - - protected function getUpdateDetectionStrategies($configBranch) { - $strategies = array(); - - if ( $configBranch === 'master' || $configBranch === 'main') { - //Use the latest release. - $strategies[self::STRATEGY_LATEST_RELEASE] = array($this, 'getLatestRelease'); - //Failing that, use the tag with the highest version number. - $strategies[self::STRATEGY_LATEST_TAG] = array($this, 'getLatestTag'); - } - - //Alternatively, just use the branch itself. - $strategies[self::STRATEGY_BRANCH] = function () use ($configBranch) { - return $this->getBranch($configBranch); - }; - - return $strategies; - } - - /** - * Get the unchanging part of a release asset URL. Used to identify download attempts. - * - * @return string - */ - protected function getAssetApiBaseUrl() { - return sprintf( - '//api.github.com/repos/%1$s/%2$s/releases/assets/', - $this->userName, - $this->repositoryName - ); - } - - protected function getFilterableAssetName($releaseAsset) { - if ( isset($releaseAsset->name) ) { - return $releaseAsset->name; - } - return null; - } - - /** - * @param bool $result - * @return bool - * @internal - */ - public function addHttpRequestFilter($result) { - if ( !$this->downloadFilterAdded && $this->isAuthenticationEnabled() ) { - //phpcs:ignore WordPressVIPMinimum.Hooks.RestrictedHooks.http_request_args -- The callback doesn't change the timeout. - add_filter('http_request_args', array($this, 'setUpdateDownloadHeaders'), 10, 2); - add_action('requests-requests.before_redirect', array($this, 'removeAuthHeaderFromRedirects'), 10, 4); - $this->downloadFilterAdded = true; - } - return $result; - } - - /** - * Set the HTTP headers that are necessary to download updates from private repositories. - * - * See GitHub docs: - * - * @link https://developer.github.com/v3/repos/releases/#get-a-single-release-asset - * @link https://developer.github.com/v3/auth/#basic-authentication - * - * @internal - * @param array $requestArgs - * @param string $url - * @return array - */ - public function setUpdateDownloadHeaders($requestArgs, $url = '') { - //Is WordPress trying to download one of our release assets? - if ( $this->releaseAssetsEnabled && (strpos($url, $this->getAssetApiBaseUrl()) !== false) ) { - $requestArgs['headers']['Accept'] = 'application/octet-stream'; - } - //Use Basic authentication, but only if the download is from our repository. - $repoApiBaseUrl = $this->buildApiUrl('/repos/:user/:repo/', array()); - if ( $this->isAuthenticationEnabled() && (strpos($url, $repoApiBaseUrl)) === 0 ) { - $requestArgs['headers']['Authorization'] = $this->getAuthorizationHeader(); - } - return $requestArgs; - } - - /** - * When following a redirect, the Requests library will automatically forward - * the authorization header to other hosts. We don't want that because it breaks - * AWS downloads and can leak authorization information. - * - * @param string $location - * @param array $headers - * @internal - */ - public function removeAuthHeaderFromRedirects(&$location, &$headers) { - $repoApiBaseUrl = $this->buildApiUrl('/repos/:user/:repo/', array()); - if ( strpos($location, $repoApiBaseUrl) === 0 ) { - return; //This request is going to GitHub, so it's fine. - } - //Remove the header. - if ( isset($headers['Authorization']) ) { - unset($headers['Authorization']); - } - } - - /** - * Generate the value of the "Authorization" header. - * - * @return string - */ - protected function getAuthorizationHeader() { - return 'Basic ' . base64_encode($this->userName . ':' . $this->accessToken); - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/Vcs/GitLabApi.php b/plugin-update-checker/Puc/v5p5/Vcs/GitLabApi.php deleted file mode 100644 index 4d9350a..0000000 --- a/plugin-update-checker/Puc/v5p5/Vcs/GitLabApi.php +++ /dev/null @@ -1,414 +0,0 @@ -repositoryHost = wp_parse_url($repositoryUrl, PHP_URL_HOST) . $port; - - if ( $this->repositoryHost !== 'gitlab.com' ) { - $this->repositoryProtocol = wp_parse_url($repositoryUrl, PHP_URL_SCHEME); - } - - //Find the repository information - $path = wp_parse_url($repositoryUrl, PHP_URL_PATH); - if ( preg_match('@^/?(?P[^/]+?)/(?P[^/#?&]+?)/?$@', $path, $matches) ) { - $this->userName = $matches['username']; - $this->repositoryName = $matches['repository']; - } elseif ( ($this->repositoryHost === 'gitlab.com') ) { - //This is probably a repository in a subgroup, e.g. "/organization/category/repo". - $parts = explode('/', trim($path, '/')); - if ( count($parts) < 3 ) { - throw new \InvalidArgumentException('Invalid GitLab.com repository URL: "' . $repositoryUrl . '"'); - } - $lastPart = array_pop($parts); - $this->userName = implode('/', $parts); - $this->repositoryName = $lastPart; - } else { - //There could be subgroups in the URL: gitlab.domain.com/group/subgroup/subgroup2/repository - if ( $subgroup !== null ) { - $path = str_replace(trailingslashit($subgroup), '', $path); - } - - //This is not a traditional url, it could be gitlab is in a deeper subdirectory. - //Get the path segments. - $segments = explode('/', untrailingslashit(ltrim($path, '/'))); - - //We need at least /user-name/repository-name/ - if ( count($segments) < 2 ) { - throw new \InvalidArgumentException('Invalid GitLab repository URL: "' . $repositoryUrl . '"'); - } - - //Get the username and repository name. - $usernameRepo = array_splice($segments, -2, 2); - $this->userName = $usernameRepo[0]; - $this->repositoryName = $usernameRepo[1]; - - //Append the remaining segments to the host if there are segments left. - if ( count($segments) > 0 ) { - $this->repositoryHost = trailingslashit($this->repositoryHost) . implode('/', $segments); - } - - //Add subgroups to username. - if ( $subgroup !== null ) { - $this->userName = $usernameRepo[0] . '/' . untrailingslashit($subgroup); - } - } - - parent::__construct($repositoryUrl, $accessToken); - } - - /** - * Get the latest release from GitLab. - * - * @return Reference|null - */ - public function getLatestRelease() { - $releases = $this->api('/:id/releases', array('per_page' => $this->releaseFilterMaxReleases)); - if ( is_wp_error($releases) || empty($releases) || !is_array($releases) ) { - return null; - } - - foreach ($releases as $release) { - if ( - //Skip invalid/unsupported releases. - !is_object($release) - || !isset($release->tag_name) - //Skip upcoming releases. - || ( - !empty($release->upcoming_release) - && $this->shouldSkipPreReleases() - ) - ) { - continue; - } - - $versionNumber = ltrim($release->tag_name, 'v'); //Remove the "v" prefix from "v1.2.3". - - //Apply custom filters. - if ( !$this->matchesCustomReleaseFilter($versionNumber, $release) ) { - continue; - } - - $downloadUrl = $this->findReleaseDownloadUrl($release); - if ( empty($downloadUrl) ) { - //The latest release doesn't have valid download URL. - return null; - } - - if ( !empty($this->accessToken) ) { - $downloadUrl = add_query_arg('private_token', $this->accessToken, $downloadUrl); - } - - return new Reference(array( - 'name' => $release->tag_name, - 'version' => $versionNumber, - 'downloadUrl' => $downloadUrl, - 'updated' => $release->released_at, - 'apiResponse' => $release, - )); - } - - return null; - } - - /** - * @param object $release - * @return string|null - */ - protected function findReleaseDownloadUrl($release) { - if ( $this->releaseAssetsEnabled ) { - if ( isset($release->assets, $release->assets->links) ) { - //Use the first asset link where the URL matches the filter. - foreach ($release->assets->links as $link) { - if ( $this->matchesAssetFilter($link) ) { - return $link->url; - } - } - } - - if ( $this->releaseAssetPreference === Api::REQUIRE_RELEASE_ASSETS ) { - //Falling back to source archives is not allowed, so give up. - return null; - } - } - - //Use the first source code archive that's in ZIP format. - foreach ($release->assets->sources as $source) { - if ( isset($source->format) && ($source->format === 'zip') ) { - return $source->url; - } - } - - return null; - } - - /** - * Get the tag that looks like the highest version number. - * - * @return Reference|null - */ - public function getLatestTag() { - $tags = $this->api('/:id/repository/tags'); - if ( is_wp_error($tags) || empty($tags) || !is_array($tags) ) { - return null; - } - - $versionTags = $this->sortTagsByVersion($tags); - if ( empty($versionTags) ) { - return null; - } - - $tag = $versionTags[0]; - return new Reference(array( - 'name' => $tag->name, - 'version' => ltrim($tag->name, 'v'), - 'downloadUrl' => $this->buildArchiveDownloadUrl($tag->name), - 'apiResponse' => $tag, - )); - } - - /** - * Get a branch by name. - * - * @param string $branchName - * @return null|Reference - */ - public function getBranch($branchName) { - $branch = $this->api('/:id/repository/branches/' . $branchName); - if ( is_wp_error($branch) || empty($branch) ) { - return null; - } - - $reference = new Reference(array( - 'name' => $branch->name, - 'downloadUrl' => $this->buildArchiveDownloadUrl($branch->name), - 'apiResponse' => $branch, - )); - - if ( isset($branch->commit, $branch->commit->committed_date) ) { - $reference->updated = $branch->commit->committed_date; - } - - return $reference; - } - - /** - * Get the timestamp of the latest commit that changed the specified branch or tag. - * - * @param string $ref Reference name (e.g. branch or tag). - * @return string|null - */ - public function getLatestCommitTime($ref) { - $commits = $this->api('/:id/repository/commits/', array('ref_name' => $ref)); - if ( is_wp_error($commits) || !is_array($commits) || !isset($commits[0]) ) { - return null; - } - - return $commits[0]->committed_date; - } - - /** - * Perform a GitLab API request. - * - * @param string $url - * @param array $queryParams - * @return mixed|\WP_Error - */ - protected function api($url, $queryParams = array()) { - $baseUrl = $url; - $url = $this->buildApiUrl($url, $queryParams); - - $options = array('timeout' => wp_doing_cron() ? 10 : 3); - if ( !empty($this->httpFilterName) ) { - $options = apply_filters($this->httpFilterName, $options); - } - - $response = wp_remote_get($url, $options); - if ( is_wp_error($response) ) { - do_action('puc_api_error', $response, null, $url, $this->slug); - return $response; - } - - $code = wp_remote_retrieve_response_code($response); - $body = wp_remote_retrieve_body($response); - if ( $code === 200 ) { - return json_decode($body); - } - - $error = new \WP_Error( - 'puc-gitlab-http-error', - sprintf('GitLab API error. URL: "%s", HTTP status code: %d.', $baseUrl, $code) - ); - do_action('puc_api_error', $error, $response, $url, $this->slug); - - return $error; - } - - /** - * Build a fully qualified URL for an API request. - * - * @param string $url - * @param array $queryParams - * @return string - */ - protected function buildApiUrl($url, $queryParams) { - $variables = array( - 'user' => $this->userName, - 'repo' => $this->repositoryName, - 'id' => $this->userName . '/' . $this->repositoryName, - ); - - foreach ($variables as $name => $value) { - $url = str_replace("/:{$name}", '/' . urlencode($value), $url); - } - - $url = substr($url, 1); - $url = sprintf('%1$s://%2$s/api/v4/projects/%3$s', $this->repositoryProtocol, $this->repositoryHost, $url); - - if ( !empty($this->accessToken) ) { - $queryParams['private_token'] = $this->accessToken; - } - - if ( !empty($queryParams) ) { - $url = add_query_arg($queryParams, $url); - } - - return $url; - } - - /** - * Get the contents of a file from a specific branch or tag. - * - * @param string $path File name. - * @param string $ref - * @return null|string Either the contents of the file, or null if the file doesn't exist or there's an error. - */ - public function getRemoteFile($path, $ref = 'master') { - $response = $this->api('/:id/repository/files/' . $path, array('ref' => $ref)); - if ( is_wp_error($response) || !isset($response->content) || $response->encoding !== 'base64' ) { - return null; - } - - return base64_decode($response->content); - } - - /** - * Generate a URL to download a ZIP archive of the specified branch/tag/etc. - * - * @param string $ref - * @return string - */ - public function buildArchiveDownloadUrl($ref = 'master') { - $url = sprintf( - '%1$s://%2$s/api/v4/projects/%3$s/repository/archive.zip', - $this->repositoryProtocol, - $this->repositoryHost, - urlencode($this->userName . '/' . $this->repositoryName) - ); - $url = add_query_arg('sha', urlencode($ref), $url); - - if ( !empty($this->accessToken) ) { - $url = add_query_arg('private_token', $this->accessToken, $url); - } - - return $url; - } - - /** - * Get a specific tag. - * - * @param string $tagName - * @return void - */ - public function getTag($tagName) { - throw new \LogicException('The ' . __METHOD__ . ' method is not implemented and should not be used.'); - } - - protected function getUpdateDetectionStrategies($configBranch) { - $strategies = array(); - - if ( ($configBranch === 'main') || ($configBranch === 'master') ) { - $strategies[self::STRATEGY_LATEST_RELEASE] = array($this, 'getLatestRelease'); - $strategies[self::STRATEGY_LATEST_TAG] = array($this, 'getLatestTag'); - } - - $strategies[self::STRATEGY_BRANCH] = function () use ($configBranch) { - return $this->getBranch($configBranch); - }; - - return $strategies; - } - - public function setAuthentication($credentials) { - parent::setAuthentication($credentials); - $this->accessToken = is_string($credentials) ? $credentials : null; - } - - /** - * Use release assets that link to GitLab generic packages (e.g. .zip files) - * instead of automatically generated source archives. - * - * This is included for backwards compatibility with older versions of PUC. - * - * @return void - * @deprecated Use enableReleaseAssets() instead. - * @noinspection PhpUnused -- Public API - */ - public function enableReleasePackages() { - $this->enableReleaseAssets( - /** @lang RegExp */ '/\.zip($|[?&#])/i', - Api::REQUIRE_RELEASE_ASSETS - ); - } - - protected function getFilterableAssetName($releaseAsset) { - if ( isset($releaseAsset->url) ) { - return $releaseAsset->url; - } - return null; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/Vcs/PluginUpdateChecker.php b/plugin-update-checker/Puc/v5p5/Vcs/PluginUpdateChecker.php deleted file mode 100644 index 20a6f4a..0000000 --- a/plugin-update-checker/Puc/v5p5/Vcs/PluginUpdateChecker.php +++ /dev/null @@ -1,275 +0,0 @@ -api = $api; - - parent::__construct($api->getRepositoryUrl(), $pluginFile, $slug, $checkPeriod, $optionName, $muPluginFile); - - $this->api->setHttpFilterName($this->getUniqueName('request_info_options')); - $this->api->setStrategyFilterName($this->getUniqueName('vcs_update_detection_strategies')); - $this->api->setSlug($this->slug); - } - - public function requestInfo($unusedParameter = null) { - //We have to make several remote API requests to gather all the necessary info - //which can take a while on slow networks. - if ( function_exists('set_time_limit') ) { - @set_time_limit(60); - } - - $api = $this->api; - $api->setLocalDirectory($this->package->getAbsoluteDirectoryPath()); - - $info = new Plugin\PluginInfo(); - $info->filename = $this->pluginFile; - $info->slug = $this->slug; - - $this->setInfoFromHeader($this->package->getPluginHeader(), $info); - $this->setIconsFromLocalAssets($info); - $this->setBannersFromLocalAssets($info); - - //Pick a branch or tag. - $updateSource = $api->chooseReference($this->branch); - if ( $updateSource ) { - $ref = $updateSource->name; - $info->version = $updateSource->version; - $info->last_updated = $updateSource->updated; - $info->download_url = $updateSource->downloadUrl; - - if ( !empty($updateSource->changelog) ) { - $info->sections['changelog'] = $updateSource->changelog; - } - if ( isset($updateSource->downloadCount) ) { - $info->downloaded = $updateSource->downloadCount; - } - } else { - //There's probably a network problem or an authentication error. - do_action( - 'puc_api_error', - new \WP_Error( - 'puc-no-update-source', - 'Could not retrieve version information from the repository. ' - . 'This usually means that the update checker either can\'t connect ' - . 'to the repository or it\'s configured incorrectly.' - ), - null, null, $this->slug - ); - return null; - } - - //Get headers from the main plugin file in this branch/tag. Its "Version" header and other metadata - //are what the WordPress install will actually see after upgrading, so they take precedence over releases/tags. - $mainPluginFile = basename($this->pluginFile); - $remotePlugin = $api->getRemoteFile($mainPluginFile, $ref); - if ( !empty($remotePlugin) ) { - $remoteHeader = $this->package->getFileHeader($remotePlugin); - $this->setInfoFromHeader($remoteHeader, $info); - } - - //Sanity check: Reject updates that don't have a version number. - //This can happen when we're using a branch, and we either fail to retrieve the main plugin - //file or the file doesn't have a "Version" header. - if ( empty($info->version) ) { - do_action( - 'puc_api_error', - new \WP_Error( - 'puc-no-plugin-version', - 'Could not find the version number in the repository.' - ), - null, null, $this->slug - ); - return null; - } - - //Try parsing readme.txt. If it's formatted according to WordPress.org standards, it will contain - //a lot of useful information like the required/tested WP version, changelog, and so on. - if ( $this->readmeTxtExistsLocally() ) { - $this->setInfoFromRemoteReadme($ref, $info); - } - - //The changelog might be in a separate file. - if ( empty($info->sections['changelog']) ) { - $info->sections['changelog'] = $api->getRemoteChangelog($ref, $this->package->getAbsoluteDirectoryPath()); - if ( empty($info->sections['changelog']) ) { - $info->sections['changelog'] = __('There is no changelog available.', 'plugin-update-checker'); - } - } - - if ( empty($info->last_updated) ) { - //Fetch the latest commit that changed the tag or branch and use it as the "last_updated" date. - $latestCommitTime = $api->getLatestCommitTime($ref); - if ( $latestCommitTime !== null ) { - $info->last_updated = $latestCommitTime; - } - } - - $info = apply_filters($this->getUniqueName('request_info_result'), $info, null); - return $info; - } - - /** - * Check if the currently installed version has a readme.txt file. - * - * @return bool - */ - protected function readmeTxtExistsLocally() { - return $this->package->fileExists($this->api->getLocalReadmeName()); - } - - /** - * Copy plugin metadata from a file header to a Plugin Info object. - * - * @param array $fileHeader - * @param Plugin\PluginInfo $pluginInfo - */ - protected function setInfoFromHeader($fileHeader, $pluginInfo) { - $headerToPropertyMap = array( - 'Version' => 'version', - 'Name' => 'name', - 'PluginURI' => 'homepage', - 'Author' => 'author', - 'AuthorName' => 'author', - 'AuthorURI' => 'author_homepage', - - 'Requires WP' => 'requires', - 'Tested WP' => 'tested', - 'Requires at least' => 'requires', - 'Tested up to' => 'tested', - - 'Requires PHP' => 'requires_php', - ); - foreach ($headerToPropertyMap as $headerName => $property) { - if ( isset($fileHeader[$headerName]) && !empty($fileHeader[$headerName]) ) { - $pluginInfo->$property = $fileHeader[$headerName]; - } - } - - if ( !empty($fileHeader['Description']) ) { - $pluginInfo->sections['description'] = $fileHeader['Description']; - } - } - - /** - * Copy plugin metadata from the remote readme.txt file. - * - * @param string $ref GitHub tag or branch where to look for the readme. - * @param Plugin\PluginInfo $pluginInfo - */ - protected function setInfoFromRemoteReadme($ref, $pluginInfo) { - $readme = $this->api->getRemoteReadme($ref); - if ( empty($readme) ) { - return; - } - - if ( isset($readme['sections']) ) { - $pluginInfo->sections = array_merge($pluginInfo->sections, $readme['sections']); - } - if ( !empty($readme['tested_up_to']) ) { - $pluginInfo->tested = $readme['tested_up_to']; - } - if ( !empty($readme['requires_at_least']) ) { - $pluginInfo->requires = $readme['requires_at_least']; - } - if ( !empty($readme['requires_php']) ) { - $pluginInfo->requires_php = $readme['requires_php']; - } - - if ( isset($readme['upgrade_notice'], $readme['upgrade_notice'][$pluginInfo->version]) ) { - $pluginInfo->upgrade_notice = $readme['upgrade_notice'][$pluginInfo->version]; - } - } - - /** - * Add icons from the currently installed version to a Plugin Info object. - * - * The icons should be in a subdirectory named "assets". Supported image formats - * and file names are described here: - * @link https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/#plugin-icons - * - * @param Plugin\PluginInfo $pluginInfo - */ - protected function setIconsFromLocalAssets($pluginInfo) { - $icons = $this->getLocalAssetUrls(array( - 'icon.svg' => 'svg', - 'icon-256x256.png' => '2x', - 'icon-256x256.jpg' => '2x', - 'icon-128x128.png' => '1x', - 'icon-128x128.jpg' => '1x', - )); - - if ( !empty($icons) ) { - //The "default" key seems to be used only as last-resort fallback in WP core (5.8/5.9), - //but we'll set it anyway in case some code somewhere needs it. - reset($icons); - $firstKey = key($icons); - $icons['default'] = $icons[$firstKey]; - - $pluginInfo->icons = $icons; - } - } - - /** - * Add banners from the currently installed version to a Plugin Info object. - * - * The banners should be in a subdirectory named "assets". Supported image formats - * and file names are described here: - * @link https://developer.wordpress.org/plugins/wordpress-org/plugin-assets/#plugin-headers - * - * @param Plugin\PluginInfo $pluginInfo - */ - protected function setBannersFromLocalAssets($pluginInfo) { - $banners = $this->getLocalAssetUrls(array( - 'banner-772x250.png' => 'high', - 'banner-772x250.jpg' => 'high', - 'banner-1544x500.png' => 'low', - 'banner-1544x500.jpg' => 'low', - )); - - if ( !empty($banners) ) { - $pluginInfo->banners = $banners; - } - } - - /** - * @param array $filesToKeys - * @return array - */ - protected function getLocalAssetUrls($filesToKeys) { - $assetDirectory = $this->package->getAbsoluteDirectoryPath() . DIRECTORY_SEPARATOR . 'assets'; - if ( !is_dir($assetDirectory) ) { - return array(); - } - $assetBaseUrl = trailingslashit(plugins_url('', $assetDirectory . '/imaginary.file')); - - $foundAssets = array(); - foreach ($filesToKeys as $fileName => $key) { - $fullBannerPath = $assetDirectory . DIRECTORY_SEPARATOR . $fileName; - if ( !isset($icons[$key]) && is_file($fullBannerPath) ) { - $foundAssets[$key] = $assetBaseUrl . $fileName; - } - } - - return $foundAssets; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/Vcs/Reference.php b/plugin-update-checker/Puc/v5p5/Vcs/Reference.php deleted file mode 100644 index bbffc25..0000000 --- a/plugin-update-checker/Puc/v5p5/Vcs/Reference.php +++ /dev/null @@ -1,51 +0,0 @@ -properties = $properties; - } - - /** - * @param string $name - * @return mixed|null - */ - public function __get($name) { - return array_key_exists($name, $this->properties) ? $this->properties[$name] : null; - } - - /** - * @param string $name - * @param mixed $value - */ - public function __set($name, $value) { - $this->properties[$name] = $value; - } - - /** - * @param string $name - * @return bool - */ - public function __isset($name) { - return isset($this->properties[$name]); - } - - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/Vcs/ReleaseAssetSupport.php b/plugin-update-checker/Puc/v5p5/Vcs/ReleaseAssetSupport.php deleted file mode 100644 index d24b3b2..0000000 --- a/plugin-update-checker/Puc/v5p5/Vcs/ReleaseAssetSupport.php +++ /dev/null @@ -1,83 +0,0 @@ -releaseAssetsEnabled = true; - $this->assetFilterRegex = $nameRegex; - $this->releaseAssetPreference = $preference; - } - - /** - * Disable release assets. - * - * @return void - * @noinspection PhpUnused -- Public API - */ - public function disableReleaseAssets() { - $this->releaseAssetsEnabled = false; - $this->assetFilterRegex = null; - } - - /** - * Does the specified asset match the name regex? - * - * @param mixed $releaseAsset Data type and structure depend on the host/API. - * @return bool - */ - protected function matchesAssetFilter($releaseAsset) { - if ( $this->assetFilterRegex === null ) { - //The default is to accept all assets. - return true; - } - - $name = $this->getFilterableAssetName($releaseAsset); - if ( !is_string($name) ) { - return false; - } - return (bool)preg_match($this->assetFilterRegex, $releaseAsset->name); - } - - /** - * Get the part of asset data that will be checked against the filter regex. - * - * @param mixed $releaseAsset - * @return string|null - */ - abstract protected function getFilterableAssetName($releaseAsset); - } - -endif; \ No newline at end of file diff --git a/plugin-update-checker/Puc/v5p5/Vcs/ReleaseFilteringFeature.php b/plugin-update-checker/Puc/v5p5/Vcs/ReleaseFilteringFeature.php deleted file mode 100644 index faff106..0000000 --- a/plugin-update-checker/Puc/v5p5/Vcs/ReleaseFilteringFeature.php +++ /dev/null @@ -1,108 +0,0 @@ - 100 ) { - throw new \InvalidArgumentException(sprintf( - 'The max number of releases is too high (%d). It must be 100 or less.', - $maxReleases - )); - } else if ( $maxReleases < 1 ) { - throw new \InvalidArgumentException(sprintf( - 'The max number of releases is too low (%d). It must be at least 1.', - $maxReleases - )); - } - - $this->releaseFilterCallback = $callback; - $this->releaseFilterByType = $releaseTypes; - $this->releaseFilterMaxReleases = $maxReleases; - return $this; - } - - /** - * Filter releases by their version number. - * - * @param string $regex A regular expression. The release version number must match this regex. - * @param int $releaseTypes - * @param int $maxReleasesToExamine - * @return $this - * @noinspection PhpUnused -- Public API - */ - public function setReleaseVersionFilter( - $regex, - $releaseTypes = Api::RELEASE_FILTER_SKIP_PRERELEASE, - $maxReleasesToExamine = 20 - ) { - return $this->setReleaseFilter( - function ($versionNumber) use ($regex) { - return (preg_match($regex, $versionNumber) === 1); - }, - $releaseTypes, - $maxReleasesToExamine - ); - } - - /** - * @param string $versionNumber The detected release version number. - * @param object $releaseObject Varies depending on the host/API. - * @return bool - */ - protected function matchesCustomReleaseFilter($versionNumber, $releaseObject) { - if ( !is_callable($this->releaseFilterCallback) ) { - return true; //No custom filter. - } - return call_user_func($this->releaseFilterCallback, $versionNumber, $releaseObject); - } - - /** - * @return bool - */ - protected function shouldSkipPreReleases() { - //Maybe this could be a bitfield in the future, if we need to support - //more release types. - return ($this->releaseFilterByType !== Api::RELEASE_FILTER_ALL); - } - - /** - * @return bool - */ - protected function hasCustomReleaseFilter() { - return isset($this->releaseFilterCallback) && is_callable($this->releaseFilterCallback); - } - } - -endif; \ No newline at end of file diff --git a/plugin-update-checker/Puc/v5p5/Vcs/ThemeUpdateChecker.php b/plugin-update-checker/Puc/v5p5/Vcs/ThemeUpdateChecker.php deleted file mode 100644 index 5348fc7..0000000 --- a/plugin-update-checker/Puc/v5p5/Vcs/ThemeUpdateChecker.php +++ /dev/null @@ -1,83 +0,0 @@ -api = $api; - - parent::__construct($api->getRepositoryUrl(), $stylesheet, $customSlug, $checkPeriod, $optionName); - - $this->api->setHttpFilterName($this->getUniqueName('request_update_options')); - $this->api->setStrategyFilterName($this->getUniqueName('vcs_update_detection_strategies')); - $this->api->setSlug($this->slug); - } - - public function requestUpdate() { - $api = $this->api; - $api->setLocalDirectory($this->package->getAbsoluteDirectoryPath()); - - $update = new Theme\Update(); - $update->slug = $this->slug; - - //Figure out which reference (tag or branch) we'll use to get the latest version of the theme. - $updateSource = $api->chooseReference($this->branch); - if ( $updateSource ) { - $ref = $updateSource->name; - $update->download_url = $updateSource->downloadUrl; - } else { - do_action( - 'puc_api_error', - new \WP_Error( - 'puc-no-update-source', - 'Could not retrieve version information from the repository. ' - . 'This usually means that the update checker either can\'t connect ' - . 'to the repository or it\'s configured incorrectly.' - ), - null, null, $this->slug - ); - $ref = $this->branch; - } - - //Get headers from the main stylesheet in this branch/tag. Its "Version" header and other metadata - //are what the WordPress install will actually see after upgrading, so they take precedence over releases/tags. - $remoteHeader = $this->package->getFileHeader($api->getRemoteFile('style.css', $ref)); - $update->version = Utils::findNotEmpty(array( - $remoteHeader['Version'], - Utils::get($updateSource, 'version'), - )); - - //The details URL defaults to the Theme URI header or the repository URL. - $update->details_url = Utils::findNotEmpty(array( - $remoteHeader['ThemeURI'], - $this->package->getHeaderValue('ThemeURI'), - $this->metadataUrl, - )); - - if ( empty($update->version) ) { - //It looks like we didn't find a valid update after all. - $update = null; - } - - $update = $this->filterUpdateResult($update); - return $update; - } - } - -endif; diff --git a/plugin-update-checker/Puc/v5p5/Vcs/VcsCheckerMethods.php b/plugin-update-checker/Puc/v5p5/Vcs/VcsCheckerMethods.php deleted file mode 100644 index a732110..0000000 --- a/plugin-update-checker/Puc/v5p5/Vcs/VcsCheckerMethods.php +++ /dev/null @@ -1,59 +0,0 @@ -branch = $branch; - return $this; - } - - /** - * Set authentication credentials. - * - * @param array|string $credentials - * @return $this - */ - public function setAuthentication($credentials) { - $this->api->setAuthentication($credentials); - return $this; - } - - /** - * @return Api - */ - public function getVcsApi() { - return $this->api; - } - - public function getUpdate() { - $update = parent::getUpdate(); - - if ( isset($update) && !empty($update->download_url) ) { - $update->download_url = $this->api->signDownloadUrl($update->download_url); - } - - return $update; - } - - public function onDisplayConfiguration($panel) { - parent::onDisplayConfiguration($panel); - $panel->row('Branch', $this->branch); - $panel->row('Authentication enabled', $this->api->isAuthenticationEnabled() ? 'Yes' : 'No'); - $panel->row('API client', get_class($this->api)); - } - } - -endif; \ No newline at end of file diff --git a/plugin-update-checker/Puc/v5p5/WpCliCheckTrigger.php b/plugin-update-checker/Puc/v5p5/WpCliCheckTrigger.php deleted file mode 100644 index 695ca93..0000000 --- a/plugin-update-checker/Puc/v5p5/WpCliCheckTrigger.php +++ /dev/null @@ -1,84 +0,0 @@ -componentType = $componentType; - $this->scheduler = $scheduler; - - if ( !defined('WP_CLI') || !class_exists(WP_CLI::class, false) ) { - return; //Nothing to do if WP-CLI is not available. - } - - /* - * We can't hook directly into wp_update_plugins(), but we can hook into the WP-CLI - * commands that call it. We'll use the "before_invoke:xyz" hook to trigger update checks. - */ - foreach ($this->getRelevantCommands() as $command) { - WP_CLI::add_hook('before_invoke:' . $command, [$this, 'triggerUpdateCheckOnce']); - } - } - - private function getRelevantCommands() { - $result = []; - foreach (['status', 'list', 'update'] as $subcommand) { - $result[] = $this->componentType . ' ' . $subcommand; - } - return $result; - } - - /** - * Trigger a potential update check once. - * - * @param mixed $input - * @return mixed The input value, unchanged. - * @internal This method is public so that it can be used as a WP-CLI hook callback. - * It should not be called directly. - * - */ - public function triggerUpdateCheckOnce($input = null) { - if ( $this->wasCheckTriggered ) { - return $input; - } - - $this->wasCheckTriggered = true; - $this->scheduler->maybeCheckForUpdates(); - - return $input; - } -} \ No newline at end of file diff --git a/plugin-update-checker/README.md b/plugin-update-checker/README.md deleted file mode 100644 index 843ed82..0000000 --- a/plugin-update-checker/README.md +++ /dev/null @@ -1,372 +0,0 @@ -Plugin Update Checker -===================== - -This is a custom update checker library for WordPress plugins and themes. It lets you add automatic update notifications and one-click upgrades to your commercial plugins, private themes, and so on. All you need to do is put your plugin/theme details in a JSON file, place the file on your server, and pass the URL to the library. The library periodically checks the URL to see if there's a new version available and displays an update notification to the user if necessary. - -From the users' perspective, it works just like with plugins and themes hosted on WordPress.org. The update checker uses the default upgrade UI that is familiar to most WordPress users. - - - -**Table of Contents** - -- [Getting Started](#getting-started) - - [Self-hosted Plugins and Themes](#self-hosted-plugins-and-themes) - - [How to Release an Update](#how-to-release-an-update) - - [Notes](#notes) - - [GitHub Integration](#github-integration) - - [How to Release an Update](#how-to-release-an-update-1) - - [Notes](#notes-1) - - [BitBucket Integration](#bitbucket-integration) - - [How to Release an Update](#how-to-release-an-update-2) - - [GitLab Integration](#gitlab-integration) - - [How to Release a GitLab Update](#how-to-release-a-gitlab-update) -- [Migrating from 4.x](#migrating-from-4x) -- [License Management](#license-management) -- [Resources](#resources) - - - -Getting Started ---------------- - -*Note:* In each of the below examples, part of the instructions is to create an instance of the update checker class. It's recommended to do this either during the `plugins_loaded` action or outside of any hooks. If you do it only during an `admin_*` action, then updates will not be visible to a wide variety of WordPress management tools; they will only be visible to logged-in users on dashboard pages. - -### Self-hosted Plugins and Themes - -1. Download [the latest release](https://github.com/YahnisElsts/plugin-update-checker/releases/latest) and copy the `plugin-update-checker` directory to your plugin or theme. -2. Go to the `examples` subdirectory and open the .json file that fits your project type. Replace the placeholder data with your plugin/theme details. - - Plugin example: - - ```json - { - "name" : "Plugin Name", - "version" : "2.0", - "download_url" : "https://example.com/plugin-name-2.0.zip", - "sections" : { - "description" : "Plugin description here. You can use HTML." - } - } - ``` - - This is a minimal example that leaves out optional fields. See [this table](https://docs.google.com/spreadsheets/d/1eOBbW7Go2qEQXReOOCdidMTf_tDYRq4JfegcO1CBPIs/edit?usp=sharing) for a full list of supported fields and their descriptions. - - Theme example: - - ```json - { - "version": "2.0", - "details_url": "https://example.com/version-2.0-details.html", - "download_url": "https://example.com/example-theme-2.0.zip" - } - ``` - - This is actually a complete example that shows all theme-related fields. `version` and `download_url` should be self-explanatory. The `details_url` key specifies the page that the user will see if they click the "View version 1.2.3 details" link in an update notification. -3. Upload the JSON file to a publicly accessible location. -4. Add the following code to the main plugin file or to the `functions.php` file: - - ```php - require 'path/to/plugin-update-checker/plugin-update-checker.php'; - use YahnisElsts\PluginUpdateChecker\v5\PucFactory; - - $myUpdateChecker = PucFactory::buildUpdateChecker( - 'https://example.com/path/to/details.json', - __FILE__, //Full path to the main plugin file or functions.php. - 'unique-plugin-or-theme-slug' - ); - ``` - Note: If you're using the Composer autoloader, you don't need to explicitly `require` the library. - -#### How to Release an Update - -Change the `version` number in the JSON file and make sure that `download_url` points to the latest version. Update the other fields if necessary. Tip: You can use [wp-update-server](https://github.com/YahnisElsts/wp-update-server) to automate this process. - -By default, the library will check the specified URL for changes every 12 hours. You can force it to check immediately by clicking the "Check for updates" link on the "Plugins" page (it's next to the "Visit plugin site" link). Themes don't have that link, but you can also trigger an update check like this: - - 1. Install [Debug Bar](https://srd.wordpress.org/plugins/debug-bar/). - 2. Click the "Debug" menu in the Admin Bar (a.k.a Toolbar). - 3. Open the "PUC (your-slug)" panel. - 4. Click the "Check Now" button. - -#### Notes -- The second argument passed to `buildUpdateChecker` must be the absolute path to the main plugin file or any file in the theme directory. If you followed the "getting started" instructions, you can just use the `__FILE__` constant. -- The third argument - i.e. the slug - is optional but recommended. In most cases, the slug should be the same as the name of your plugin directory. For example, if your plugin lives in `/wp-content/plugins/my-plugin`, set the slug to `my-plugin`. If the slug is omitted, the update checker will use the name of the main plugin file as the slug (e.g. `my-cool-plugin.php` → `my-cool-plugin`). This can lead to conflicts if your plugin has a generic file name like `plugin.php`. - - This doesn't affect themes because PUC uses the theme directory name as the default slug. Still, if you're planning to use the slug in your own code - e.g. to filter updates or override update checker behaviour - it can be a good idea to set it explicitly. - -### GitHub Integration - -1. Download [the latest release](https://github.com/YahnisElsts/plugin-update-checker/releases/latest) and copy the `plugin-update-checker` directory to your plugin or theme. -2. Add the following code to the main plugin file or `functions.php`: - - ```php - require 'plugin-update-checker/plugin-update-checker.php'; - use YahnisElsts\PluginUpdateChecker\v5\PucFactory; - - $myUpdateChecker = PucFactory::buildUpdateChecker( - 'https://github.com/user-name/repo-name/', - __FILE__, - 'unique-plugin-or-theme-slug' - ); - - //Set the branch that contains the stable release. - $myUpdateChecker->setBranch('stable-branch-name'); - - //Optional: If you're using a private repository, specify the access token like this: - $myUpdateChecker->setAuthentication('your-token-here'); - ``` -3. Plugins only: Add a `readme.txt` file formatted according to the [WordPress.org plugin readme standard](https://wordpress.org/plugins/readme.txt) to your repository. The contents of this file will be shown when the user clicks the "View version 1.2.3 details" link. - -#### How to Release an Update - -This library supports a couple of different ways to release updates on GitHub. Pick the one that best fits your workflow. - -- **GitHub releases** - - Create a new release using the "Releases" feature on GitHub. The tag name and release title don't matter. The description is optional, but if you do provide one, it will be displayed when the user clicks the "View version x.y.z details" link on the "Plugins" page. Note that PUC ignores releases marked as "This is a pre-release". - - If you want to use release assets, call the `enableReleaseAssets()` method after creating the update checker instance: - ```php - $myUpdateChecker->getVcsApi()->enableReleaseAssets(); - ``` - -- **Tags** - - To release version 1.2.3, create a new Git tag named `v1.2.3` or `1.2.3`. That's it. - - PUC doesn't require strict adherence to [SemVer](https://semver.org/). These are all valid tag names: `v1.2.3`, `v1.2-foo`, `1.2.3_rc1-ABC`, `1.2.3.4.5`. However, be warned that it's not smart enough to filter out alpha/beta/RC versions. If that's a problem, you might want to use GitHub releases or branches instead. - -- **Stable branch** - - Point the update checker at a stable, production-ready branch: - ```php - $updateChecker->setBranch('branch-name'); - ``` - PUC will periodically check the `Version` header in the main plugin file or `style.css` and display a notification if it's greater than the installed version. - - Caveat: If you set the branch to `master` (the default), the update checker will look for recent releases and tags first. It'll only use the `master` branch if it doesn't find anything else suitable. - -#### Notes - -The library will pull update details from the following parts of a release/tag/branch: - -- Version number - - The "Version" plugin header. - - The latest GitHub release or tag name. -- Changelog - - The "Changelog" section of `readme.txt`. - - One of the following files: - CHANGES.md, CHANGELOG.md, changes.md, changelog.md - - GitHub release notes. -- Required and tested WordPress versions - - The "Requires at least" and "Tested up to" fields in `readme.txt`. - - The following plugin headers: - `Required WP`, `Tested WP`, `Requires at least`, `Tested up to` -- "Last updated" timestamp - - The creation timestamp of the latest GitHub release. - - The latest commit in the selected tag or branch. -- Number of downloads - - The `download_count` statistic of the latest release. - - If you're not using GitHub releases, there will be no download stats. -- Other plugin details - author, homepage URL, description - - The "Description" section of `readme.txt`. - - Remote plugin headers (i.e. the latest version on GitHub). - - Local plugin headers (i.e. the currently installed version). -- Ratings, banners, screenshots - - Not supported. - -### BitBucket Integration - -1. Download [the latest release](https://github.com/YahnisElsts/plugin-update-checker/releases/latest) and copy the `plugin-update-checker` directory to your plugin or theme. -2. Add the following code to the main plugin file or `functions.php`: - - ```php - require 'plugin-update-checker/plugin-update-checker.php'; - use YahnisElsts\PluginUpdateChecker\v5\PucFactory; - - $myUpdateChecker = PucFactory::buildUpdateChecker( - 'https://bitbucket.org/user-name/repo-name', - __FILE__, - 'unique-plugin-or-theme-slug' - ); - - //Optional: If you're using a private repository, create an OAuth consumer - //and set the authentication credentials like this: - //Note: For now you need to check "This is a private consumer" when - //creating the consumer to work around #134: - // https://github.com/YahnisElsts/plugin-update-checker/issues/134 - $myUpdateChecker->setAuthentication(array( - 'consumer_key' => '...', - 'consumer_secret' => '...', - )); - - //Optional: Set the branch that contains the stable release. - $myUpdateChecker->setBranch('stable-branch-name'); - ``` -3. Optional: Add a `readme.txt` file formatted according to the [WordPress.org plugin readme standard](https://wordpress.org/plugins/readme.txt) to your repository. For plugins, the contents of this file will be shown when the user clicks the "View version 1.2.3 details" link. - -#### How to Release an Update - -BitBucket doesn't have an equivalent to GitHub's releases, so the process is slightly different. You can use any of the following approaches: - -- **`Stable tag` header** - - This is the recommended approach if you're using tags to mark each version. Add a `readme.txt` file formatted according to the [WordPress.org plugin readme standard](https://wordpress.org/plugins/readme.txt) to your repository. Set the "stable tag" header to the tag that represents the latest release. Example: - ```text - Stable tag: v1.2.3 - ``` - The tag doesn't have to start with a "v" or follow any particular format. You can use any name you like as long as it's a valid Git tag. - - Tip: If you explicitly set a stable branch, the update checker will look for a `readme.txt` in that branch. Otherwise it will only look at the `master` branch. - -- **Tags** - - You can skip the "stable tag" bit and just create a new Git tag named `v1.2.3` or `1.2.3`. The update checker will look at the most recent tags and pick the one that looks like the highest version number. - - PUC doesn't require strict adherence to [SemVer](https://semver.org/). These are all valid tag names: `v1.2.3`, `v1.2-foo`, `1.2.3_rc1-ABC`, `1.2.3.4.5`. However, be warned that it's not smart enough to filter out alpha/beta/RC versions. - -- **Stable branch** - - Point the update checker at a stable, production-ready branch: - ```php - $updateChecker->setBranch('branch-name'); - ``` - PUC will periodically check the `Version` header in the main plugin file or `style.css` and display a notification if it's greater than the installed version. Caveat: If you set the branch to `master`, the update checker will still look for tags first. - -### GitLab Integration - -1. Download [the latest release](https://github.com/YahnisElsts/plugin-update-checker/releases/latest) and copy the `plugin-update-checker` directory to your plugin or theme. -2. Add the following code to the main plugin file or `functions.php` and define how you want to check for updates from Gitlab (refer to: [Gitlab: How to Release an Update](#how-to-release-a-gitlab-update)): - - ```php - require 'plugin-update-checker/plugin-update-checker.php'; - use YahnisElsts\PluginUpdateChecker\v5\PucFactory; - - $myUpdateChecker = PucFactory::buildUpdateChecker( - 'https://gitlab.com/user-name/repo-name/', - __FILE__, - 'unique-plugin-or-theme-slug' - ); - - //Optional: If you're using a private repository, specify the access token like this: - $myUpdateChecker->setAuthentication('your-token-here'); - ``` - - Alternatively, if you're using a self-hosted GitLab instance, initialize the update checker like this: - ```php - use YahnisElsts\PluginUpdateChecker\v5p5\Vcs\PluginUpdateChecker; - use YahnisElsts\PluginUpdateChecker\v5p5\Vcs\GitLabApi; - - $myUpdateChecker = new PluginUpdateChecker( - new GitLabApi('https://myserver.com/user-name/repo-name/'), - __FILE__, - 'unique-plugin-or-theme-slug' - ); - //Optional: Add setAuthentication(...) and setBranch(...) as shown above. - ``` - If you're using a self-hosted GitLab instance and [subgroups or nested groups](https://docs.gitlab.com/ce/user/group/subgroups/index.html), you have to tell the update checker which parts of the URL are subgroups: - ```php - use YahnisElsts\PluginUpdateChecker\v5p5\Vcs\PluginUpdateChecker; - use YahnisElsts\PluginUpdateChecker\v5p5\Vcs\GitLabApi; - - $myUpdateChecker = new PluginUpdateChecker( - new GitLabApi( - 'https://myserver.com/group-name/subgroup-level1/subgroup-level2/subgroup-level3/repo-name/', - null, - 'subgroup-level1/subgroup-level2/subgroup-level3' - ), - __FILE__, - 'unique-plugin-or-theme-slug' - ); - ``` - -3. Plugins only: Add a `readme.txt` file formatted according to the [WordPress.org plugin readme standard](https://wordpress.org/plugins/readme.txt) to your repository. The contents of this file will be shown when the user clicks the "View version 1.2.3 details" link. - -#### How to Release a GitLab Update - -A GitLab repository can be checked for updates in 3 different ways. - -- **GitLab releases** - - Create a new release using the "Releases" feature on GitLab. The tag name should match the version number. You can add a `v` prefix to the tag, like `v1.2.3`. Releases that are marked as ["Upcoming Release"](https://docs.gitlab.com/ee/user/project/releases/index.html#upcoming-releases) will be automatically ignored. - - If you want to use custom release assets, call the `enableReleaseAssets()` method after creating the update checker instance: - ```php - $myUpdateChecker->getVcsApi()->enableReleaseAssets(); - ``` - - By default, PUC will use the first available asset link, regardless of type. You can pass a regular expression to `enableReleaseAssets()` to make it pick the first link where the URL matches the regex. For example: - ```php - $myUpdateChecker->getVcsApi()->enableReleaseAssets('/\.zip($|[?&#])/i'); - ``` - - **Tip:** You can use a Gitlab CI/CD Pipeline to automatically generate your update on release using a Generic Package. For more information about generic packages, refer to the following links: - - [Gitlab CI/CD Release Documentation](https://docs.gitlab.com/ee/user/project/releases/#create-release-from-gitlab-ci) - - [Gitlab Release Assets as Generic Package Documentation](https://gitlab.com/gitlab-org/release-cli/-/tree/master/docs/examples/release-assets-as-generic-package/) - - [Example .gitlab-ci.yml file using Release Generic Packages for generating a update package from the Sensei-LMS wordpress plugin](https://gist.github.com/timwiel/9dfd3526c768efad4973254085e065ce) - -- **Tags** - - To release version 1.2.3, create a new Git tag named `v1.2.3` or `1.2.3`. The update checker will look at recent tags and use the one that looks like the highest version number. - - PUC doesn't require strict adherence to [SemVer](https://semver.org/). However, be warned that it's not smart enough to filter out alpha/beta/RC versions. If that's a problem, you might want to use GitLab branches instead. - -- **Stable branch** - - Point the update checker at any stable, production-ready branch: - ```php - $myUpdateChecker->setBranch('stable-branch-name'); - ``` - PUC will periodically check the `Version` header in the main plugin file or `style.css` and display a notification if it's greater than the installed version. Caveat: Even if you set the branch to `main` (the default) or `master` (the historical default), the update checker will still look for recent releases and tags first. - -Migrating from 4.x ------------------- - -Older versions of the library didn't use namespaces. Code that was written for those versions will need to be updated to work with the current version. At a minimum, you'll need to change the factory class name. - -Old code: -```php -$myUpdateChecker = Puc_v4_Factory::buildUpdateChecker( - 'https://example.com/info.json', - __FILE__, - 'my-slug' -); -``` - -New code: -```php -use YahnisElsts\PluginUpdateChecker\v5\PucFactory; - -$myUpdateChecker = PucFactory::buildUpdateChecker( - 'https://example.com/info.json', - __FILE__, - 'my-slug' -); -``` - -Other classes have also been renamed, usually by simply removing the `Puc_vXpY_` prefix and converting `Category_Thing` to `Category\Thing`. Here's a table of the most commonly used classes and their new names: - -| Old class name | New class name | -|-------------------------------------|----------------------------------------------------------------| -| `Puc_v4_Factory` | `YahnisElsts\PluginUpdateChecker\v5\PucFactory` | -| `Puc_v4p13_Factory` | `YahnisElsts\PluginUpdateChecker\v5p5\PucFactory` | -| `Puc_v4p13_Plugin_UpdateChecker` | `YahnisElsts\PluginUpdateChecker\v5p5\Plugin\UpdateChecker` | -| `Puc_v4p13_Theme_UpdateChecker` | `YahnisElsts\PluginUpdateChecker\v5p5\Theme\UpdateChecker` | -| `Puc_v4p13_Vcs_PluginUpdateChecker` | `YahnisElsts\PluginUpdateChecker\v5p5\Vcs\PluginUpdateChecker` | -| `Puc_v4p13_Vcs_ThemeUpdateChecker` | `YahnisElsts\PluginUpdateChecker\v5p5\Vcs\ThemeUpdateChecker` | -| `Puc_v4p13_Vcs_GitHubApi` | `YahnisElsts\PluginUpdateChecker\v5p5\Vcs\GitHubApi` | -| `Puc_v4p13_Vcs_GitLabApi` | `YahnisElsts\PluginUpdateChecker\v5p5\Vcs\GitLabApi` | -| `Puc_v4p13_Vcs_BitBucketApi` | `YahnisElsts\PluginUpdateChecker\v5p5\Vcs\BitBucketApi` | - -License Management ------------------- - -Currently, the update checker doesn't have any built-in license management features. It only provides some hooks that you can use to, for example, append license keys to update requests (`$updateChecker->addQueryArgFilter()`). If you're looking for ways to manage and verify licenses, please post your feedback in [this issue](https://github.com/YahnisElsts/plugin-update-checker/issues/222). - -Resources ---------- - -- [This blog post](https://w-shadow.com/blog/2010/09/02/automatic-updates-for-any-plugin/) has more information about the update checker API. *Slightly out of date.* -- [Debug Bar](https://wordpress.org/plugins/debug-bar/) - useful for testing and debugging the update checker. -- [Update format reference](https://docs.google.com/spreadsheets/d/1eOBbW7Go2qEQXReOOCdidMTf_tDYRq4JfegcO1CBPIs/edit?usp=sharing) - describes all fields supported by the JSON-based update information format used by the update checker. Only covers plugins. Themes use a similar but more limited format. -- [Securing download links](https://w-shadow.com/blog/2013/03/19/plugin-updates-securing-download-links/) - a general overview. -- [A GUI for entering download credentials](https://open-tools.net/documentation/tutorial-automatic-updates.html#wordpress) -- [Theme Update Checker](https://w-shadow.com/blog/2011/06/02/automatic-updates-for-commercial-themes/) - an older, theme-only variant of this update checker. diff --git a/plugin-update-checker/composer.json b/plugin-update-checker/composer.json deleted file mode 100644 index 5cb6861..0000000 --- a/plugin-update-checker/composer.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "yahnis-elsts/plugin-update-checker", - "type": "library", - "description": "A custom update checker for WordPress plugins and themes. Useful if you can't host your plugin in the official WP repository but still want it to support automatic updates.", - "keywords": ["wordpress", "plugin updates", "automatic updates", "theme updates"], - "homepage": "https://github.com/YahnisElsts/plugin-update-checker/", - "license": "MIT", - "authors": [ - { - "name": "Yahnis Elsts", - "email": "whiteshadow@w-shadow.com", - "homepage": "https://w-shadow.com/", - "role": "Developer" - } - ], - "require": { - "php": ">=5.6.20", - "ext-json": "*" - }, - "autoload": { - "files": ["load-v5p5.php"] - } -} diff --git a/plugin-update-checker/css/puc-debug-bar.css b/plugin-update-checker/css/puc-debug-bar.css deleted file mode 100644 index 649db4f..0000000 --- a/plugin-update-checker/css/puc-debug-bar.css +++ /dev/null @@ -1,70 +0,0 @@ -.puc-debug-bar-panel-v5 pre { - margin-top: 0; -} - -/* Style the debug data table to match "widefat" table style used by WordPress. */ -table.puc-debug-data { - width: 100%; - clear: both; - margin: 0; - - border-spacing: 0; - background-color: #f9f9f9; - - border-radius: 3px; - border: 1px solid #dfdfdf; - border-collapse: separate; -} - -table.puc-debug-data * { - word-wrap: break-word; -} - -table.puc-debug-data th { - width: 11em; - padding: 7px 7px 8px; - text-align: left; - - font-family: "Georgia", "Times New Roman", "Bitstream Charter", "Times", serif; - font-weight: 400; - font-size: 14px; - line-height: 1.3em; - text-shadow: rgba(255, 255, 255, 0.804) 0 1px 0; -} - -table.puc-debug-data td, table.puc-debug-data th { - border-width: 1px 0; - border-style: solid; - - border-top-color: #fff; - border-bottom-color: #dfdfdf; - - text-transform: none; -} - -table.puc-debug-data td { - color: #555; - font-size: 12px; - padding: 4px 7px 2px; - vertical-align: top; -} - -.puc-ajax-response { - border: 1px solid #dfdfdf; - border-radius: 3px; - padding: 0.5em; - margin: 5px 0; - background-color: white; -} - -.puc-ajax-nonce { - display: none; -} - -.puc-ajax-response dt { - margin: 0; -} - -.puc-ajax-response dd { - margin: 0 0 1em; -} diff --git a/plugin-update-checker/js/debug-bar.js b/plugin-update-checker/js/debug-bar.js deleted file mode 100644 index 80f53f1..0000000 --- a/plugin-update-checker/js/debug-bar.js +++ /dev/null @@ -1,54 +0,0 @@ -jQuery(function($) { - - function runAjaxAction(button, action) { - button = $(button); - var panel = button.closest('.puc-debug-bar-panel-v5'); - var responseBox = button.closest('td').find('.puc-ajax-response'); - - responseBox.text('Processing...').show(); - $.post( - ajaxurl, - { - action : action, - uid : panel.data('uid'), - _wpnonce: panel.data('nonce') - }, - function(data) { - //The response contains HTML that should already be escaped in server-side code. - //phpcs:ignore WordPressVIPMinimum.JS.HTMLExecutingFunctions.html - responseBox.html(data); - }, - 'html' - ); - } - - $('.puc-debug-bar-panel-v5 input[name="puc-check-now-button"]').on('click', function() { - runAjaxAction(this, 'puc_v5_debug_check_now'); - return false; - }); - - $('.puc-debug-bar-panel-v5 input[name="puc-request-info-button"]').on('click', function() { - runAjaxAction(this, 'puc_v5_debug_request_info'); - return false; - }); - - - // Debug Bar uses the panel class name as part of its link and container IDs. This means we can - // end up with multiple identical IDs if more than one plugin uses the update checker library. - // Fix it by replacing the class name with the plugin slug. - var panels = $('#debug-menu-targets').find('.puc-debug-bar-panel-v5'); - panels.each(function() { - var panel = $(this); - var uid = panel.data('uid'); - var target = panel.closest('.debug-menu-target'); - - //Change the panel wrapper ID. - target.attr('id', 'debug-menu-target-puc-' + uid); - - //Change the menu link ID as well and point it at the new target ID. - $('#debug-bar-menu').find('.puc-debug-menu-link-' + uid) - .closest('.debug-menu-link') - .attr('id', 'debug-menu-link-puc-' + uid) - .attr('href', '#' + target.attr('id')); - }); -}); \ No newline at end of file diff --git a/plugin-update-checker/languages/plugin-update-checker-ca.mo b/plugin-update-checker/languages/plugin-update-checker-ca.mo deleted file mode 100644 index 59645faba22e5f3b1358ef076a01d5a7fa3aa534..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1186 zcmZ`&%We}f6g5yD3JU~l7MF@jAn=eGUhPB?f>02mg$Po_u5xE?6T{RV*`7X-koW+0 zhy^>uFR+0P5@LzOC$M16M{p*S5}sDhoY=mPbM5P|$7Ws%jDx^&U;rEjo&)uG2OI_7 z0|a~qW`XZO7dWy8}I`73-}WF&`jfh1$+|or(n2@ z$6kD4Ca@&-k5_~^FyUI~c=Se`J*IW*s48<6*o(o49h3HCEM+5QhFsVosZFH|wN`K> zR?K5#x6H%=Hi*EEd{CkCG&|>KMHn%aMK#ohf(`}GTqVO>w8_qEYsjusZ87I}jgak^ z1b=z=Y*pmY6Da4vZbKUgT;Ekp3VMIKk87Fp(ccPYmReZ*Oiw{rQQ zQJGG}$>w0>q|R3V?m+e&tAI-6bvUP#wByS%j%9Lz;>&3}Inz$sZ5YaXys7Jor*;dn zy&#i|6wjye#l~(4XI!Zv%K@v6lv>NTmKUcY;;7x~Srga|VW$KqCtXwwgL#J#*X-o9%M(OOP zBClzLpCXloN)jJ<-gN!%O{ zB>(p8)gMt|<1=e`ScRtXSByfRLdUq(KfSFJ6!629vGE!UXnOYH)9c?7LY#*cWS6#% cwcF+j&+0z~QHeLF5H1o+|4uN~nyX0s0EpISt^fc4 diff --git a/plugin-update-checker/languages/plugin-update-checker-ca.po b/plugin-update-checker/languages/plugin-update-checker-ca.po deleted file mode 100644 index 36f3ad7..0000000 --- a/plugin-update-checker/languages/plugin-update-checker-ca.po +++ /dev/null @@ -1,48 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: plugin-update-checker\n" -"POT-Creation-Date: 2017-11-24 17:02+0200\n" -"PO-Revision-Date: 2019-09-25 18:15+0200\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2.3\n" -"X-Poedit-Basepath: ..\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" -"Last-Translator: \n" -"Language: ca\n" -"X-Poedit-SearchPath-0: .\n" - -#: Puc/v4p3/Plugin/UpdateChecker.php:395 -msgid "Check for updates" -msgstr "Comprova si hi ha actualitzacions" - -#: Puc/v4p3/Plugin/UpdateChecker.php:548 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "L’extensió %s està actualitzada." - -#: Puc/v4p3/Plugin/UpdateChecker.php:550 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "Una nova versió de l’extensió %s està disponible." - -#: Puc/v4p3/Plugin/UpdateChecker.php:552 -#, php-format -msgctxt "the plugin title" -msgid "Could not determine if updates are available for %s." -msgstr "No s’ha pogut determinar si hi ha actualitzacions per a %s." - -#: Puc/v4p3/Plugin/UpdateChecker.php:558 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "Estat del comprovador d’actualitzacions desconegut \"%s\"" - -#: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 -msgid "There is no changelog available." -msgstr "No hi ha cap registre de canvis disponible." diff --git a/plugin-update-checker/languages/plugin-update-checker-cs_CZ.mo b/plugin-update-checker/languages/plugin-update-checker-cs_CZ.mo deleted file mode 100644 index ac6d20ea77cb6c6ad2aa9204312c53c86078e08c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1077 zcmZWoO>fgc5H(P7$gP|Z>S3s;)T*rGq^c+m;iI8N6={juv{b!B8+#f%adxfUb=pSo z8#o~jobm&Z`UiRnH;&x-8(f*KlYWSm#&5^_=Iz_H=g)(guMUm-6mt}Ho6z`_!zIqr z{4)hme4&`9IH#ym{H9o{DPi$ zOoWgoStk}?Vw2#^8xVK`15`Se0^~7R#)6)bXtx_1{8vquZj-YVj0Ee~bs9=`F)(Z^ zWCyvvKapkmk=VpxVHZ=W4BOV7IArTtN3*8%q0soyWHp7{kTv#}G<_(0rDx1rWn~Xa zp1-=X?5%hn5!o&dVta&JJWGYrs=xAl*`raYb8T2taiJ4#r1IfFcFoW4K?Hle8z%5# zKsg4{Yi(0Eko}ibBRU!HAZsG;`%oLwIxOZuzO!}`2TNBh9|Fy4M}1DW(aJMa6z~rO{OP zo11Lynr9DmjEZfDK!&mC_^{TFP2rH$Wgyv}%v6AO&J)rLbc_5QvUey@<+osIz#uXv z)qb&#;UIv|5!G zR$8Zi>1jD2yrF_z1yO_4nMeAxaB00^k4vA49LZK{lU6F7qaIz5l8GE}1H5N4ay#S! zQp-%6LZBG`fKY0arDA;HIy*QN<57QnG3|zl#@P)4s<`Zt9XS|}Y)cHMy^`6Vyo*\n" -"Language-Team: Czech (Czech Republic)\n" -"Language: cs-CZ\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Loco-Source-Locale: cs_CZ\n" -"X-Generator: Loco - https://localise.biz/\n" -"X-Poedit-Basepath: ..\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" -"X-Poedit-SearchPath-0: .\n" -"X-Loco-Parser: loco_parse_po" - -#: Puc/v4p1/Plugin/UpdateChecker.php:358 -msgid "Check for updates" -msgstr "Zkontrolovat aktualizace" - -#: Puc/v4p1/Plugin/UpdateChecker.php:405 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "Plugin %s je aktuální." - -#: Puc/v4p1/Plugin/UpdateChecker.php:407 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "Nová verze pluginu %s je dostupná." - -#: Puc/v4p1/Plugin/UpdateChecker.php:409 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "Neznámý status kontroly aktualizací \"%s\"" - -#: Puc/v4p1/Vcs/PluginUpdateChecker.php:83 -msgid "There is no changelog available." -msgstr "Changelog není dostupný." diff --git a/plugin-update-checker/languages/plugin-update-checker-da_DK.mo b/plugin-update-checker/languages/plugin-update-checker-da_DK.mo deleted file mode 100644 index 9c59670712307a7dec1419ce48ba2613300f91aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1010 zcmZWo&u`N(7!5EuloK2gLLWoZK*J&FHf>7P19Tgjwux$VXt&C1zNV&`UD?ilNF4Yl zICDerA0Tnu9f>>QUxAmVTRUOp<@vKee}1uF{@kDY6rkM!9s;|-UEl*ywy(fF;2S`| z4`3en4K#tjfGGPng5Vc01Rj*}tsqzgAA%o&KY~N>XYdp7PcTx)?Izv`gE`>#c%;%Z z=~mPlaBoO`W2qRW(z6RX1GY@ckv7yDNS$$RGLk1!pfh*m{CqBu%cmzSdDC_fzu32xChlg(SsiwzG zik~&61>Ty%_PAB)N~jWcRep!hPmN98u5v!1Znx3pM)xd?r#a!z{8deTEILSHoGs%F|hy=lDlbzO2ta4E_O#F(`Ea diff --git a/plugin-update-checker/languages/plugin-update-checker-da_DK.po b/plugin-update-checker/languages/plugin-update-checker-da_DK.po deleted file mode 100644 index 8f2bc0d..0000000 --- a/plugin-update-checker/languages/plugin-update-checker-da_DK.po +++ /dev/null @@ -1,42 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: plugin-update-checker\n" -"POT-Creation-Date: 2017-05-20 10:53+0300\n" -"PO-Revision-Date: 2017-10-17 11:07+0200\n" -"Last-Translator: Mikk3lRo\n" -"Language-Team: Mikk3lRo\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.4\n" -"X-Poedit-Basepath: ..\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" -"Language: da_DK\n" -"X-Poedit-SearchPath-0: .\n" - -#: Puc/v4p1/Plugin/UpdateChecker.php:358 -msgid "Check for updates" -msgstr "Undersøg for opdateringer" - -#: Puc/v4p1/Plugin/UpdateChecker.php:405 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "Plugin'et %s er allerede opdateret." - -#: Puc/v4p1/Plugin/UpdateChecker.php:407 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "En ny version af plugin'et %s er tilgængelig." - -#: Puc/v4p1/Plugin/UpdateChecker.php:409 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "Ukendt opdateringsstatus: \"%s\"" - -#: Puc/v4p1/Vcs/PluginUpdateChecker.php:83 -msgid "There is no changelog available." -msgstr "Der er ingen ændringslog tilgængelig." diff --git a/plugin-update-checker/languages/plugin-update-checker-de_DE.mo b/plugin-update-checker/languages/plugin-update-checker-de_DE.mo deleted file mode 100644 index 0734cae2dc9b76d41f5f6f99b1380ec2f685e1be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 980 zcmZuv&2AGh7+j!$6i)Plgi!Sn35g$h$wp9>4M9MfqKXtEnj&tIll`(;vauuEn^K9_ z;K+>wJOH=e`U)I4apXA|chjbourxcLcR$aL?fJ91@+H8y0^9;Rz%}4A;Kz61KJWv$ z4*UWL_zTrP?cpW?f-vECFuYrGp(Rw^k1}lK~;K#+1 zPM?>3^@0@d)0~aXv?4tsH_j~0@*>R?p^|f%<#Ld77_`PboX|)cDrSjvY=hpI4f`&o zX*iZDVih)w9nRIf$rqP8yTPf*77=s_*2)zB#3@jUaJ{ZC&MKYCpD zb)1n1$`gw*|dEss6VZzTU9UMR*Qx-jz)0iqd+dJ*0 z@hGfST3R_)5I&f}q2o{P;VhS#YWUMLmR)nNw\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.1\n" -"X-Poedit-Basepath: ..\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e\n" -"Language: de_DE\n" -"X-Poedit-SearchPath-0: .\n" - -#: github-checker.php:137 -msgid "There is no changelog available." -msgstr "Es ist keine Liste von Programmänderungen verfügbar." - -#: plugin-update-checker.php:852 -msgid "Check for updates" -msgstr "Nach Update suchen" - -#: plugin-update-checker.php:896 -msgid "This plugin is up to date." -msgstr "Das Plugin ist aktuell." - -#: plugin-update-checker.php:898 -msgid "A new version of this plugin is available." -msgstr "Es ist eine neue Version für das Plugin verfügbar." - -#: plugin-update-checker.php:900 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "Unbekannter Update Status \"%s\"" diff --git a/plugin-update-checker/languages/plugin-update-checker-el.mo b/plugin-update-checker/languages/plugin-update-checker-el.mo deleted file mode 100644 index 08306de69e2d1258c0ab69400fac88e54439e837..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1455 zcma)5&u<$=6kZ?*$v1lD@ER$nb~c+$6PmSrXibVL64ewJ!6};96MNgujI}eHw4B-` z{ShftNDzqw5*LnjqtI9-P%B8>Xa55Z@DK1O@Xgwd6E%mf_560;``&xsdvEsdb7Q+6 zo(~`&LF(>+XJ?=a{UP4Jg%IRt$T;LrNComQWFB(<9nWLXEvMi0yj|#vIREwD!2cig z=Qz)fdEVF1PoTep{s+1Yt>4FAwJjQVXho%zb(-7=?bX{N6%=cdiW+S$TOv^{;%huk z_;MnA@0PqH)w&!80D}x7C2hFLG>uQ_anG~`b&{+VOER%Z#Ml**Vx87Rs$(Tdt&l@Z z=+_`rJ5k_`=&H(+Cioa?3M10hSc2fnYsSRE_c*-hWkUOJazJCJOJ*H1id@&eS4-7x z(J<_KlYKd084by?!C=_1&r_#sVHkzsg#b@!fosF+DVI9oMx_ziAMKGn$hY$c_IbWR_Ivxg-OIP~ zO?#AY04`e@ZwXcxd==nb`v-n6ZQmXO_w3jokw{95*B9qU4Ndt$sj8$A5(V#dz}$$t zX0ns;SeD(gQ!Py8R{a{gJi<9*DY(;c=IX0zQlBGOh*HpTyBa+xQj=B<- z-PrJ2k#xR7Q{~cE>{B5{I%sV{H59dt>F8*3GEohl#9H{v@i&ve)s$$)hF#@abhv3p zx=NdRA=W0MrKR$cC@Q*xAV*xETAJ?E-j+pd+&TL+@U3DE7LK zB2R7K_v|B7>Elvt=38**_krE9zZR>1h2qYdKRnH08^-4a6u!-()>gg^F2zS`f3kay zb>DWK>f-hs6u6fz%O33eXYqu0(C!HyMe<%@aG&0=W8B^?a@<+~FNpuNW0h tD1$K;9ibq(uDfRr)=})aL7zF{w;=S(@yJe5J=N&R+}l`47fg?Q?|%dqbwmIF diff --git a/plugin-update-checker/languages/plugin-update-checker-el.po b/plugin-update-checker/languages/plugin-update-checker-el.po deleted file mode 100644 index 6b1ba21..0000000 --- a/plugin-update-checker/languages/plugin-update-checker-el.po +++ /dev/null @@ -1,52 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: plugin-update-checker\n" -"POT-Creation-Date: 2022-07-29 15:34+0300\n" -"PO-Revision-Date: 2024-05-09 22:22+0000\n" -"Last-Translator: theogk\n" -"Language-Team: Ελληνικά\n" -"Language: el\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Loco https://localise.biz/\n" -"X-Poedit-Basepath: ..\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" -"X-Poedit-SearchPath-0: .\n" -"Report-Msgid-Bugs-To: \n" -"X-Loco-Version: 2.6.9; wp-6.5.3" - -#: Puc/v5p4/Plugin/Ui.php:128 -msgid "Check for updates" -msgstr "Έλεγχος για ενημερώσεις" - -#: Puc/v5p4/Plugin/Ui.php:214 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "Το πρόσθετο %s είναι ενημερωμένο." - -#: Puc/v5p4/Plugin/Ui.php:216 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "Μία νέα έκδοση είναι διαθέσιμη για το πρόσθετο %s." - -#: Puc/v5p4/Plugin/Ui.php:218 -#, php-format -msgctxt "the plugin title" -msgid "Could not determine if updates are available for %s." -msgstr "" -"Δεν ήταν εφικτό να εκτελεστεί ο έλεγχος για νέες ενημερώσεις για το πρόσθετο " -"%s." - -#: Puc/v5p4/Plugin/Ui.php:224 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "Άγνωστο πρόβλημα του ενημερωτή προσθέτων \"%s\"" - -#: Puc/v5p4/Vcs/PluginUpdateChecker.php:100 -msgid "There is no changelog available." -msgstr "Δεν υπάρχει διαθέσιμο αρχείο αλλαγών." diff --git a/plugin-update-checker/languages/plugin-update-checker-es_AR.mo b/plugin-update-checker/languages/plugin-update-checker-es_AR.mo deleted file mode 100644 index 85afecd344184a07c3ff0117b87066af6850078c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1140 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 C2(8ip diff --git a/plugin-update-checker/languages/plugin-update-checker-fa_IR.po b/plugin-update-checker/languages/plugin-update-checker-fa_IR.po deleted file mode 100644 index 20b6938..0000000 --- a/plugin-update-checker/languages/plugin-update-checker-fa_IR.po +++ /dev/null @@ -1,38 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: plugin-update-checker\n" -"POT-Creation-Date: 2016-02-17 14:21+0100\n" -"PO-Revision-Date: 2016-10-28 14:30+0330\n" -"Last-Translator: studio RVOLA \n" -"Language-Team: Pro Style \n" -"Language: fa_IR\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.8\n" -"X-Poedit-Basepath: ..\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e\n" -"X-Poedit-SearchPath-0: .\n" - -#: github-checker.php:120 -msgid "There is no changelog available." -msgstr "شرحی برای تغییرات یافت نشد" - -#: plugin-update-checker.php:637 -msgid "Check for updates" -msgstr "بررسی برای بروزرسانی " - -#: plugin-update-checker.php:681 -msgid "This plugin is up to date." -msgstr "شما از آخرین نسخه استفاده میکنید . به‌روز باشید" - -#: plugin-update-checker.php:683 -msgid "A new version of this plugin is available." -msgstr "نسخه جدیدی برای افزونه ارائه شده است ." - -#: plugin-update-checker.php:685 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "وضعیت ناشناخته برای بروزرسانی \"%s\"" diff --git a/plugin-update-checker/languages/plugin-update-checker-fr_CA.mo b/plugin-update-checker/languages/plugin-update-checker-fr_CA.mo deleted file mode 100644 index 24639b694e7ba21e2b5f9997b9f12d2d831ac69a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1208 zcmZuwO>Y}F5M>&-1=K^)9{T|d3>Zk!aJ##85MxybNff&LJ!fDKMyPa&$<1lrsRn<7q_YSWChrKqFfjXPxdlxFOM zc9z_TT8pi4VT5Rx0=(tjbB(E>CsM_c{Zv~B99<|T1-&cxc`jQad0PV#doyHHQ*_j3 zoru1754nu;ppp+3DvPB!xhRZW=Gp0gKaf4oDk2kk56%VUX?9a)nasB-yIG|9mua4+ zFqA*=Ot%@Y?RI3E%PglXExyiWdINTcsBxplEC;Nn1$B-Nj`r3fvLx;FoQ-Uw9GumN z7Wr}fsy0g7ZhJvKaNIo}?8}|ComV!D*vmazx=Pz|K|3cpc7BxKvSqKL^9A)CS2|Lj zq{%k^ESB=F3S6r=DJV%gebabl{uqVi|VxZd)2mcduExMcEhKwf}wB_>y}I zSp_Y0txo@r&rY4M!l4eapy9APLq+?eP?k zF)7{j)~a{~jr_28=aLXszMS-ticFDAM?5%x>GeqCr5X-2)dAo0U+EzPivvUU?U zks{TUjh*jWW$@nSmKTOp=}|W|+S-OVL<)_cG3N7DIL2GGu9>kh zylMa(YY-0?$#&imXoc4E^6>}L+J(@DYE@L{FPASLou;Y5sci}?VQ+d 1);\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" -"Last-Translator: Eric Gagnon \n" -"Language: fr_CA\n" -"X-Poedit-SearchPath-0: .\n" - -#: Puc/v4p3/Plugin/UpdateChecker.php:395 -msgid "Check for updates" -msgstr "Vérifier les mises à jour" - -#: Puc/v4p3/Plugin/UpdateChecker.php:548 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "L’extension %s est à jour." - -#: Puc/v4p3/Plugin/UpdateChecker.php:550 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "Une nouvelle version de l’extension %s est disponible." - -#: Puc/v4p3/Plugin/UpdateChecker.php:552 -#, php-format -msgctxt "the plugin title" -msgid "Could not determine if updates are available for %s." -msgstr "Impossible de déterminer si une mise à jour est disponible pour \"%s\"" - -#: Puc/v4p3/Plugin/UpdateChecker.php:558 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "Un problème inconnu est survenu \"%s\"" - -#: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 -msgid "There is no changelog available." -msgstr "Il n’y a aucun journal de mise à jour disponible." diff --git a/plugin-update-checker/languages/plugin-update-checker-fr_FR.mo b/plugin-update-checker/languages/plugin-update-checker-fr_FR.mo deleted file mode 100644 index a492d96f6eb4b2d988877b0f15c6adc60613195e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1066 zcmZuw&2AGh5H?Ua1TJs|q*0|xAn1R4EshMJY0DWU2&l2I$v2KbMK|0U|;#BAXDl-5v5>kmhg#p{q2ilDF zG=Mae0WCN$eC}X&&doBPB4jEbNDW?kg)=LlaSS80P8toS4~1gRor&nQO9%WHO_u%@ z=NWhdh2Ma6tl7ud^H#!l%ly$aEiYe*PaRe|TV39?C_H)KuP8WzT3B7=Vey0NLiGIE zldu+sB;?yTl7-i+bql4gP1VW80C^Y1Fro_Ni8QdiyVYKS7peDIG(SHcj{`e0N(8YP zE?3S%BIw)R+ID55wXu5PyBdU*rqLd?=iQ@>40=5D^O+J-*NfY*4t-;%yT+F;bXI8B zN6S}rY!ayl5iIRVUwOyZQKJ>!*a$iX6X~HAgh7q|DVO}EaF_|7Mi2y*j>@f2e9hRQ zi$K%$(b6?)^`e?IZ9LMj4AsZ=i}<%Dw=p(LTM?AL&a=P4qp`7xYfI-N==JJ7toIJ1 z>eE_GOqFo-l7)Fydfb#TmC3>S>g(3#r9)8IIPH*49+J@t+dVz8vM;IS6gn76N6*tQ zuuo=KOM(9N@$(S~5P6*I$*vX(5}YW{gpf#=87-#`4Vg82>hyR>jZan7ItO$fTy955 o^GQ$dXrxafAE8os-pQ0!(Rp-9s3)yWJzYdzPT#&tFf|;ozeSTj4gdfE diff --git a/plugin-update-checker/languages/plugin-update-checker-fr_FR.po b/plugin-update-checker/languages/plugin-update-checker-fr_FR.po deleted file mode 100644 index 9f18e2c..0000000 --- a/plugin-update-checker/languages/plugin-update-checker-fr_FR.po +++ /dev/null @@ -1,42 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: plugin-update-checker\n" -"POT-Creation-Date: 2017-07-07 14:53+0200\n" -"PO-Revision-Date: 2017-07-07 14:54+0200\n" -"Language-Team: studio RVOLA \n" -"Language: fr_FR\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.2\n" -"X-Poedit-Basepath: ..\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" -"Last-Translator: Nicolas GEHIN\n" -"X-Poedit-SearchPath-0: .\n" - -#: Puc/v4p1/Plugin/UpdateChecker.php:358 -msgid "Check for updates" -msgstr "Vérifier les mises à jour" - -#: Puc/v4p1/Plugin/UpdateChecker.php:405 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "L’extension %s est à jour." - -#: Puc/v4p1/Plugin/UpdateChecker.php:407 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "Une nouvelle version de l’extension %s est disponible." - -#: Puc/v4p1/Plugin/UpdateChecker.php:409 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "Un problème inconnu est survenu \"%s\"" - -#: Puc/v4p1/Vcs/PluginUpdateChecker.php:85 -msgid "There is no changelog available." -msgstr "Il n’y a aucun journal de mise à jour disponible." diff --git a/plugin-update-checker/languages/plugin-update-checker-hu_HU.mo b/plugin-update-checker/languages/plugin-update-checker-hu_HU.mo deleted file mode 100644 index 4789ef1da358b7fdef2879615c49eac1fb2dad98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 982 zcmZuvO>fgc5M7{v6i#qKAPz$$#7DIzPDNE5f+!)S6)8m2MckroGO^v*yVmYHB@w@X zTMt~gl@mR1LgEit{Rfqs~~X?#;8rCB&Z?SFfx$FSrAE}nHY;G7CSLItQBH^1Vg1EO9#TD zVSb1ji!7<29|{>@tb&sz{=Z^b3RXc;>#%J(l4?)Rw5XiKQG>CCjDN zB0%n=NIaOw9)wwMeY>)`vDrR8k?YhdEhQ~V+HsPSb&K!p{WKPlY!uh34cg|mzs6UN z^9pA})VwYGY7oi5gO#1gR^IaGC{dS|y9x)91=m?|mT9F7`BPyq6*lz1aVp(7(<0_; zN+-qxNzYE9Y1SLXJ=3&#N5ah}xOW@J0$VE6eQcG!JSdILot0K zq7;Shhh5s8*J%F=%RlWFy*G{WZ;&7A5be=EUVSD1gFvNatULm~a8 zlo;jFzMfKm>?J1uRnMEzVeKiY&H7o2REtp|>#z-zQ1e>Sq4nWu+GNF8dgRPZMcI&l E0BAre\n" -"Language-Team: \n" -"Language: hu_HU\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.6\n" -"X-Poedit-Basepath: ..\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e\n" -"X-Poedit-SearchPath-0: .\n" - -#: github-checker.php:137 -msgid "There is no changelog available." -msgstr "Nem érhető el a changelog." - -#: plugin-update-checker.php:852 -msgid "Check for updates" -msgstr "Frissítés ellenőrzése" - -#: plugin-update-checker.php:896 -msgid "This plugin is up to date." -msgstr "Ez a plugin naprakész." - -#: plugin-update-checker.php:898 -msgid "A new version of this plugin is available." -msgstr "Új verzió érhető el a kiegészítőhöz" - -#: plugin-update-checker.php:900 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "Ismeretlen a frissítés ellenőrző státusza \"%s\"" - -#~ msgid "Every %d hours" -#~ msgstr "Minden %d órában" diff --git a/plugin-update-checker/languages/plugin-update-checker-it_IT.mo b/plugin-update-checker/languages/plugin-update-checker-it_IT.mo deleted file mode 100644 index 4b40d32304dd2746496014f89ffc22d7a2b97b53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1135 zcmZWo%We}f6g5yl3JU}aHn6x(hWBZYo!8co?Ne#7)JzW+epTRe#dQ`8==#i{P6h(1u`EFE?qRKj2SEvEYE~`;Ym5uhs z>QU@kHLA3%32cJw9_EM=_#oWRGo?+V?7Q2#*>|?b$?P zy8L+FotSj!wY$esv2w|<1GO@O-ip9==)O)Aslh;7XVeHi)8ZB8D7p3XE2%6g3^^Vk zyTf&ImNAXcA2{L0Q|)tW^o}k^cM~%T6HN(P?`)RYlTpdzgY}6nU^brQEu+X3c2CWQ z7ZEv|%`GMv3QnXbb>S?x-j9=(eq;R@QqL2~(0ja?Qqf!_<@lG%`ECD~W#$oVRr~{k C>Q&|d diff --git a/plugin-update-checker/languages/plugin-update-checker-it_IT.po b/plugin-update-checker/languages/plugin-update-checker-it_IT.po deleted file mode 100644 index db62bb1..0000000 --- a/plugin-update-checker/languages/plugin-update-checker-it_IT.po +++ /dev/null @@ -1,48 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: plugin-update-checker\n" -"POT-Creation-Date: 2020-08-08 14:36+0300\n" -"PO-Revision-Date: 2022-05-20 00:17+0200\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.0\n" -"X-Poedit-Basepath: ..\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" -"Last-Translator: d79\n" -"Language: it_IT\n" -"X-Poedit-SearchPath-0: .\n" - -#: Puc/v4p11/Plugin/Ui.php:128 -msgid "Check for updates" -msgstr "Verifica aggiornamenti" - -#: Puc/v4p11/Plugin/Ui.php:213 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "Il plugin %s è aggiornato." - -#: Puc/v4p11/Plugin/Ui.php:215 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "Una nuova versione del plugin %s è disponibile." - -#: Puc/v4p11/Plugin/Ui.php:217 -#, php-format -msgctxt "the plugin title" -msgid "Could not determine if updates are available for %s." -msgstr "Non è possibile verificare se c'è un aggiornamento disponibile per %s." - -#: Puc/v4p11/Plugin/Ui.php:223 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "Stato di controllo aggiornamenti sconosciuto \"%s\"" - -#: Puc/v4p11/Vcs/PluginUpdateChecker.php:98 -msgid "There is no changelog available." -msgstr "Non c'è alcun registro delle modifiche disponibile." diff --git a/plugin-update-checker/languages/plugin-update-checker-ja.mo b/plugin-update-checker/languages/plugin-update-checker-ja.mo deleted file mode 100644 index 941b6ba2f4d759727a71a177592dc432753d6a85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1454 zcmZ{i&2QX97{&((Ukeo<7li0xh_olLy}PJv>NJQDQdCHU3)`wEqKS8Q*NxYm8hL6ENf=|LPzzz6q_)`xP z@+|Zc=6i<-c>z8Ge;Mw;IXs3x1OFX<0KN@B49`DG$m{Sn9I40?&?Ar@2qAb)9)})- z^w52v)L=|BxI0H{VN6?5l}RqhbQp8$1$fnD(hCF1X2X`Gc|j@-u0IJHgw$=Ypw9iU zPT4&3d^YQIlN<@=g0LOzq(TgG^Oy?BWJ}QDyci}&J>I5OF0n=s+2AztTXip>(vv

      ?Y+5Q5_Zx+>QQSw1WxG&* zrLezHK%nsfpZ9cg4~#38`f*cCNTU+7K=@3Cu}vkLqX%#+mrMKJtT(ZFrW-cj$W7rV zv{;=R70#L<*`3?;IGcIb$xR=co*aM{%|dP>3?vVbeK7*2U0m0JT0h z!V+FH^0^^o>_yzDWB1!^(Q;aD&hc9@^NoWz$ik)p7GNsIilh2C;c=`mI)HtTFX}R4 z$`jJ2Gc%(z3wH6)_zu}XeWNoRX?eQRTlbkA>em)ACb{=R#4LnYT#lB)ESN^Ys-yh^`RODR#= z7dlz`tI95^Y<*B9>GX4}*TvxWhZ*s ze#7(MH_zQ(`X(=MBYhn3Zh!aV*2)d=(q1F0DqU0QiY}aVx)+uJdoNJ(`CZgsYh=AR y=?qBkY{yP0=y0v7\n" -"Language-Team: \n" -"Language: ja_JP\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2.3\n" -"X-Poedit-Basepath: ../../../../../../Applications/XAMPP/xamppfiles/htdocs/" -"kisagai/wordpress/wp-content/plugins/simple-stripe-gateway/Puc\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Poedit-KeywordsList: __;_x:1,2c\n" -"X-Poedit-SearchPath-0: .\n" - -#: v4p7/Plugin/Ui.php:54 -msgid "View details" -msgstr "詳細を表示" - -#: v4p7/Plugin/Ui.php:77 -#, php-format -msgid "More information about %s" -msgstr "%sについての詳細" - -#: v4p7/Plugin/Ui.php:128 -msgid "Check for updates" -msgstr "アップデートを確認" - -#: v4p7/Plugin/Ui.php:213 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "%s プラグインは、最新バージョンです。" - -#: v4p7/Plugin/Ui.php:215 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "%s プラグインの最新バージョンがあります。" - -#: v4p7/Plugin/Ui.php:217 -#, php-format -msgctxt "the plugin title" -msgid "Could not determine if updates are available for %s." -msgstr "%s のアップデートがあるかどうかを判断できませんでした。" - -#: v4p7/Plugin/Ui.php:223 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "バージョンアップの確認で想定外の状態になりました。ステータス:”%s”" - -#: v4p7/Vcs/PluginUpdateChecker.php:98 -msgid "There is no changelog available." -msgstr "更新履歴はありません。" diff --git a/plugin-update-checker/languages/plugin-update-checker-nl_BE.mo b/plugin-update-checker/languages/plugin-update-checker-nl_BE.mo deleted file mode 100644 index 1cea26dda30ca887087e965d5b494716e48d8416..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1211 zcmah|&59F25N>rQ;T9t9u4ClK@z{3ericUi%PFW*e3e!i-y`f+yUy}&sMoC5~HDc}uIo=?CT;4?tL zH((9;33PzdM}+8sx4;to4*U!F0+jJS9ur~}{2hE1{2P1`yuKnt8~g}d`n?6iWpR$; z7iI!i;`ri5h!aaLbuLbK%E^qz)=`nCDzF!WDLW?Z$yiFJ%1k)36H?nsXKIvjB%Yd? zu{&nz02@SLM?R=fcv@TcYa&dU@~oI>LqUg(S8kKx9olB+wKZhNR9dY2T_a@Mm*9|h z*A`g{J%LgV?B?1);CNRtDd_#{zNls0M~5|_u!AX!oPwpY>PYmReZfhP_fz?-QW-DB z$*M7OS!b>Pa3H&mRX`>3E}Ua()*CHZzapF0sL_fW*DltZ^*RjYW8T(f#s9Rs(yZ(@ z(c?l*SPodtW2$Z4-|Fp&Xhii|*P6g4$ib@|*#f@|m-9?%(=I=d^Bg))2OF}rXXljh zV|KD<5}Rr>iK#Wxq4r$fW5Z4b>tgC#PIaJ0)QYZ04g6PK$UDk&uEI2?D5~|d!l_Jd zSU2}E8GKW``cAW5HV2QL^M+PC)VR>z3-H7iF5zyaET&4@-|!Fk)sA(k-_$MZqVmCOx1&*+}D-m~#^V_d%9vU$*R{TijsRlrF2D6#XK@UB`3 zsoC&OZ=WVsE}8aGmaL<&nkZZ9Y{nQ|o0HL8>~J-oSb?4^=YPU%_HDq3eKOUvky0)a z53v?AHYx9p{Ybx{WEt~N#JJjuDr_0`Kt9@5rX0)z2_9fgU=?tis|+sK8EE~VBXmdN gF4LUZ2XdTXY!*|$SiQwsPx$KxgJsRi;?qd{0TG{S#Q*>R diff --git a/plugin-update-checker/languages/plugin-update-checker-nl_BE.po b/plugin-update-checker/languages/plugin-update-checker-nl_BE.po deleted file mode 100644 index e1734bb..0000000 --- a/plugin-update-checker/languages/plugin-update-checker-nl_BE.po +++ /dev/null @@ -1,48 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: plugin-update-checker\n" -"POT-Creation-Date: 2018-03-25 18:15+0200\n" -"PO-Revision-Date: 2018-03-25 18:32+0200\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.7.1\n" -"X-Poedit-Basepath: ..\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" -"Last-Translator: Frank Goossens \n" -"Language: nl_BE\n" -"X-Poedit-SearchPath-0: .\n" - -#: Puc/v4p3/Plugin/UpdateChecker.php:395 -msgid "Check for updates" -msgstr "Controleer op nieuwe versies" - -#: Puc/v4p3/Plugin/UpdateChecker.php:548 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "De meest recente %s versie is geïnstalleerd." - -#: Puc/v4p3/Plugin/UpdateChecker.php:550 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "Er is een nieuwe versie van %s beschikbaar." - -#: Puc/v4p3/Plugin/UpdateChecker.php:552 -#, php-format -msgctxt "the plugin title" -msgid "Could not determine if updates are available for %s." -msgstr "Kon niet bepalen of er nieuwe versie van %s beschikbaar is." - -#: Puc/v4p3/Plugin/UpdateChecker.php:558 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "Ongekende status bij controle op nieuwe versie: \"%s\"" - -#: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 -msgid "There is no changelog available." -msgstr "Er is geen changelog beschikbaar." diff --git a/plugin-update-checker/languages/plugin-update-checker-nl_NL.mo b/plugin-update-checker/languages/plugin-update-checker-nl_NL.mo deleted file mode 100644 index 16dde622ba6040399cc911e0d5ef1c970a541b88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1211 zcmah|&59F25N>rYShMgp(iFTo-2 zt}U_@dIF^!*v+(oz|pQ^QqcR?eO}9oj}B`FtAI-6JvhhItT$S+epNQFQ==6(u3xG*>vb5)r@X1livMYMwOQG% zqsN6Bv+T2)#Z=pPu(7%)q7l_=U26iHAp1KxvIX7_SMp40(=I=d^Bg+Q`)jhbXXljh zBX)AtBsSG%98+tkL+z!!&xV}}*2UDboa#W0s1@Ca8u+iekav~mT!l$YQB>6P~&2IFTgWfxP-fvvY0Aqf5SiIoh|E9zpj0VX)tIH zxINg88<(32xVEl5>MZqVmCQ9fPwBq3-m~#^b5y?Hwt3Jq{TijsRKQ61D6z9!@UB`3 zsoCJs`aVspTr%mQELlfkHBq+I*^Du`HYcOG*y3tFu>z~Eoc}Si*|z~h_Q^y~hf29f zJjPl~*`&NX_Cx)Ol10oz5#wqrs<36$1NmrEnQ|}>BzTB5fmOh5t}?h_XQ1_ej?f*6 gdrUKCAINcnv6)Z(eD&sQJ?5_;43;%3i%%o*2Pb`M*Z=?k diff --git a/plugin-update-checker/languages/plugin-update-checker-nl_NL.po b/plugin-update-checker/languages/plugin-update-checker-nl_NL.po deleted file mode 100644 index 7f57a89..0000000 --- a/plugin-update-checker/languages/plugin-update-checker-nl_NL.po +++ /dev/null @@ -1,48 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: plugin-update-checker\n" -"POT-Creation-Date: 2018-03-25 18:15+0200\n" -"PO-Revision-Date: 2018-03-25 18:32+0200\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.7.1\n" -"X-Poedit-Basepath: ..\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" -"Last-Translator: Frank Goossens \n" -"Language: nl_NL\n" -"X-Poedit-SearchPath-0: .\n" - -#: Puc/v4p3/Plugin/UpdateChecker.php:395 -msgid "Check for updates" -msgstr "Controleer op nieuwe versies" - -#: Puc/v4p3/Plugin/UpdateChecker.php:548 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "De meest recente %s versie is geïnstalleerd." - -#: Puc/v4p3/Plugin/UpdateChecker.php:550 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "Er is een nieuwe versie van %s beschikbaar." - -#: Puc/v4p3/Plugin/UpdateChecker.php:552 -#, php-format -msgctxt "the plugin title" -msgid "Could not determine if updates are available for %s." -msgstr "Kon niet bepalen of er nieuwe versie van %s beschikbaar is." - -#: Puc/v4p3/Plugin/UpdateChecker.php:558 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "Ongekende status bij controle op nieuwe versie: \"%s\"" - -#: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 -msgid "There is no changelog available." -msgstr "Er is geen changelog beschikbaar." diff --git a/plugin-update-checker/languages/plugin-update-checker-pt_BR.mo b/plugin-update-checker/languages/plugin-update-checker-pt_BR.mo deleted file mode 100644 index d1c0f283287da07c7060255756947399fde75ca6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1014 zcmZuv!EVz)6f{scgcF=V;_y_d5=dPW2P%rAAllGEMM|SKMcksreu>>WyVmYHZ4oE_ zfe%0&fCEQPT#)h`h+lzm97qtXGJgB)+1bhN{J6UG*2B02+yFYjW#BbXj*q|<;1fW= zS6~_V4zz%ufGFqZJntKD3|vFMdZFTNpgW5oypn^Ib=kY}AEddv&Zz?~t zX;s<@N5?eKhKf9vj;+^A*f6D*l%^<=YRH)$k{ru4lP@#&y+d`Z^og1+00#ed~o)yDXkxO01OB=CIb?>xs5u>EJ;;!s3t`_28bUuZiG31#98mK-BNl>mZ7K z9;c<(|MMCZuOqD!JtLLPq|+v(S_kJ<$RUd!%h5s)ORm4UU)$Z;-J07B{Ccgem16~& zvmAaLpSs(5CR5cc58qgJt;627SfBIC?FMYbmWp(os$od$FH={0As(}0Q~Bs>j#Ed0 zzwWQ&OVx@^X*riJ3CZ_s-K;P&6WiL1Y)A^Xh1Rwj&GPUtZQWG#fP!1i`T7H0n26hz zt&l2Tf7GAy*@-r>?WER))bBU@-0Yv?7Y3`1XhDUgiIOgSh&r6qJltA3NF!-z!xb`1 zU&+ab$rmK?+2p;ZWb%%R(LxgA)aF`EK94!`y@Pq^C}taJg*2wI_Pr<5brLBa%W3dR uv0NHSC{;9(zXh@CV~k{HTE@P&w?I3B7+Z&@l4Ogy;7B66h9le{qWB9G2Q7U7 diff --git a/plugin-update-checker/languages/plugin-update-checker-pt_BR.po b/plugin-update-checker/languages/plugin-update-checker-pt_BR.po deleted file mode 100644 index 70a0f62..0000000 --- a/plugin-update-checker/languages/plugin-update-checker-pt_BR.po +++ /dev/null @@ -1,48 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: plugin-update-checker\n" -"POT-Creation-Date: 2017-05-19 15:41-0300\n" -"PO-Revision-Date: 2017-05-19 15:42-0300\n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: pt_BR\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.8\n" -"X-Poedit-Basepath: ..\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_x;_x:1,2c\n" -"X-Poedit-SearchPath-0: .\n" - -#: Puc/v4p1/Plugin/UpdateChecker.php:358 -msgid "Check for updates" -msgstr "Verificar Atualizações" - -#: Puc/v4p1/Plugin/UpdateChecker.php:401 Puc/v4p1/Plugin/UpdateChecker.php:406 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "O plugin %s já está na sua versão mais recente." - -#: Puc/v4p1/Plugin/UpdateChecker.php:408 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "Há uma nova versão para o plugin %s disponível para download." - -#: Puc/v4p1/Plugin/UpdateChecker.php:410 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "Status \"%s\" desconhecido." - -#: Puc/v4p1/Vcs/PluginUpdateChecker.php:83 -msgid "There is no changelog available." -msgstr "Não há um changelog disponível." - -#~ msgid "The %s plugin is up to date." -#~ msgstr "O plugin %s já está na sua versão mais recente." - -#~ msgid "A new version of the %s plugin is available." -#~ msgstr "Há uma nova versão para o plugin %s disponível para download." diff --git a/plugin-update-checker/languages/plugin-update-checker-ru_RU.mo b/plugin-update-checker/languages/plugin-update-checker-ru_RU.mo deleted file mode 100644 index 50b330e9332d5024e9bf5f931e5b1e76dca7cd7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1337 zcmZuw&u<$=6dq`R${Y|}xNvxlltO7{+1&&h*4}=9X zJv7OUR;mz!8|uGcN~*d9Q*njM>_5O?z=^+rZ+7zw+L52Xc{|@X?|X0Uzuubpo?*R) zcn8rzypFh!aBG5i6Y&&5h(8gth`$jr;*FOWTL!KGIq*B+$(I@X9r!NtKTa@q4)_nS z3w(cuv3cM(K$kxOo&vu83S*E|3vvcJ!x6*dYQ4IT&S$k+L)p7YYni5E)E7qPtTU8a zQj(L(s5ca9Ak%C>VnZaUxRFYat*VQ+{yefTldmqzOKM8V+NfnyTzdnm7ZnajQB zJ)p7wmMlhOGICvetgW-JWzX;{eSW=m8SR_n^bm`takk(D{w4m~kNnl6Rz7kEpS7Wo7xu zMBw?2R;G+phIej{P|e6&=7Uix64i7sNaxbTtDVby>4>L=%Gadk%c__46E%ov=|*B2 zU-8eRl3JKdN7T+_KQR<~A)eO>|3u_+B+M`(&ug^PLW`7N&h&a7k;3~#n#T)GHyCW= z_taeA$8kWXPm|mFr{W->i{umN$S=gQVxl>Q<%W>fy&lduB3*Q^ ztsbi*h3*a8=$ZTIy20$j@~-{OKC+L2lXAPfPe^~V)9T@#eT?0te8B7vDv)KQ13o-9)+N{JLMh-GwQXgq3H`cx{G|?z%3j!>U_X4doGg p^$6zwr!DW1J9>c)S9aI#RRwYXL(s|fZP{fYnp diff --git a/plugin-update-checker/languages/plugin-update-checker-ru_RU.po b/plugin-update-checker/languages/plugin-update-checker-ru_RU.po deleted file mode 100644 index 33a1199..0000000 --- a/plugin-update-checker/languages/plugin-update-checker-ru_RU.po +++ /dev/null @@ -1,48 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: plugin-update-checker\n" -"POT-Creation-Date: 2020-08-08 14:36+0300\n" -"PO-Revision-Date: 2021-12-20 17:59+0200\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2\n" -"X-Poedit-Basepath: ..\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" -"Last-Translator: \n" -"Language: ru_RU\n" -"X-Poedit-SearchPath-0: .\n" - -#: Puc/v4p11/Plugin/Ui.php:128 -msgid "Check for updates" -msgstr "Проверить обновления" - -#: Puc/v4p11/Plugin/Ui.php:213 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "Плагин %s обновлён." - -#: Puc/v4p11/Plugin/Ui.php:215 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "Новая версия %s доступна." - -#: Puc/v4p11/Plugin/Ui.php:217 -#, php-format -msgctxt "the plugin title" -msgid "Could not determine if updates are available for %s." -msgstr "Не удалось определить, доступны ли обновления для %s." - -#: Puc/v4p11/Plugin/Ui.php:223 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "Неизвестный статус средства проверки обновлений \"%s\"" - -#: Puc/v4p11/Vcs/PluginUpdateChecker.php:98 -msgid "There is no changelog available." -msgstr "Журнал изменений отсутствует." diff --git a/plugin-update-checker/languages/plugin-update-checker-sl_SI.mo b/plugin-update-checker/languages/plugin-update-checker-sl_SI.mo deleted file mode 100644 index df47ca7c0a01cff815ffe3965ee4918e72a600fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1203 zcmZWoO>YxN7@k5(CHH_@u9bL+6a=EP>~5kaT4SnW5)?I|RxzkIYhu5#$63#;W@a}b zzoDEE|E0YkRe}?@{($}hjvRaFvtApg%1F;X`|iA7&pWgKe7p8WV0{IA2lRojf!~38 z{Q-Of{0R{70ayn<0v+J`7eefU55W@r8vHNt7jOgi+p9v{0{;!J_dhLoeNBi*uzTQ} z;MZV;%-0n>;U@4&d^!Ij#I*(2ea=^R!ow3fwvNhTqyl@A$>eqDqKQ<0ZrZ7ArF^V&~j_>?MkURy)u~>Ychy7^#jUP2flZM8mj$W?J`4AYTxrv; z56F2Ao#*{MxwGnW=3 && n%100<=4 ? 2 : 3);\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" -"Last-Translator: Igor Funa\n" -"Language: sl_SI\n" -"X-Poedit-SearchPath-0: .\n" - -#: Puc/v4p3/Plugin/UpdateChecker.php:395 -msgid "Check for updates" -msgstr "Preveri posodobitve" - -#: Puc/v4p3/Plugin/UpdateChecker.php:548 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "Vtičnik %s je že posodobljen." - -#: Puc/v4p3/Plugin/UpdateChecker.php:550 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "Nova različica vtičnika %s je na razpolago." - -#: Puc/v4p3/Plugin/UpdateChecker.php:552 -#, php-format -msgctxt "the plugin title" -msgid "Could not determine if updates are available for %s." -msgstr "Ne morem ugotoviti če se za vtičnik %s na razpolago posodobitve." - -#: Puc/v4p3/Plugin/UpdateChecker.php:558 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "Neznan status preverjanja posodobitev za \"%s\"" - -#: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 -msgid "There is no changelog available." -msgstr "Dnevnik sprememb ni na razpolago." diff --git a/plugin-update-checker/languages/plugin-update-checker-sv_SE.mo b/plugin-update-checker/languages/plugin-update-checker-sv_SE.mo deleted file mode 100644 index 4d06fc14f5bb99ac14bc019543e9edacfb457e36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1006 zcmZWn!EO^V5H(OZgcF=NfHYK!L{+@(rWC4;a)7i&6|EZ46mg5(WU^VZwIkb`wi1W_ z1UI-<2!5a!PAEUX2Otjp5qR58+aN5xeIEOH{5(6q@6LS`7`K4?z$S1T_y82+D{u$+ z1`zNam1R4EsX5^8kov|_KI$pYPP7MXnNmmEPaDa zh?X_)x$EUdPrfbl$J4a3e3G0xthBbFNsTPF6 zQ|y$Xe5o9dlpn+t1eI2nTb0RmWA|N58vg>JYt-sRX)tX(()6%F(L((y!H&somz$-p zm`Y=p>0k5Ffw4WenK~a+r&I56y>l2xk852pO5yOz!hKenyev*kZrs^fo4JRT?G9S7 zDnpp9h@Hvlkht&BMEU5v3oTx*tXO4F{Zwm5h*{I*ME8m!Zv5guX~VIY|;YsJcM3XG8e7a;khF F{sQ>&EFS;> diff --git a/plugin-update-checker/languages/plugin-update-checker-sv_SE.po b/plugin-update-checker/languages/plugin-update-checker-sv_SE.po deleted file mode 100644 index b894814..0000000 --- a/plugin-update-checker/languages/plugin-update-checker-sv_SE.po +++ /dev/null @@ -1,42 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: plugin-update-checker\n" -"POT-Creation-Date: 2017-05-20 10:53+0300\n" -"PO-Revision-Date: 2017-10-16 15:02+0200\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.4\n" -"X-Poedit-Basepath: ..\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" -"Last-Translator: \n" -"Language: sv_SE\n" -"X-Poedit-SearchPath-0: .\n" - -#: Puc/v4p1/Plugin/UpdateChecker.php:358 -msgid "Check for updates" -msgstr "Sök efter uppdateringar" - -#: Puc/v4p1/Plugin/UpdateChecker.php:405 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "Tillägget %s är uppdaterat." - -#: Puc/v4p1/Plugin/UpdateChecker.php:407 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "Det finns en ny version av tillägget %s." - -#: Puc/v4p1/Plugin/UpdateChecker.php:409 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "Okänd status för kontroll av uppdatering “%s”" - -#: Puc/v4p1/Vcs/PluginUpdateChecker.php:83 -msgid "There is no changelog available." -msgstr "Det finns ingen ändringslogg tillgänglig." diff --git a/plugin-update-checker/languages/plugin-update-checker-tr_TR.mo b/plugin-update-checker/languages/plugin-update-checker-tr_TR.mo deleted file mode 100644 index 58be2f9306dd0e01aa725c03d583ca53bdd536a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1118 zcmZWn&uA(EYi8EL z|3fcT#W_dLkt#u@Tq?V#{trF(&_ANz+WCbT?YG~~&U@c{@6G)4+0q+RH zH>2~*AyOlH>8_q_yQT8Vzs6>7pAB>FBwq5t#2acVW{Y|-k9_N(} z`|M@cW-ixukka~|j*T6;#g@H_&ZpFKoa;zy(BF}ZiF~XAk5n9{lq8Lwsk}0B)A=%_ zWN}QGhR$lct{0!3FD!lDq1N5@xxfoo`HVLfu2NdqI+K6KlLP1T@LY$O((Z11m)pCq z)7F=(85oTSsIm5L78biD4y@}7W$9s|y!x(w8C3#4u^bN+aE;g<#7Y2uh1&iB_Og+~Q(_=q9E~m#-@;IwvA`q&lZxM4* h*%@3qXG)dNj%J6mBiduQgCI)C^*rfJ|1>cX{{#HHSPlRH diff --git a/plugin-update-checker/languages/plugin-update-checker-tr_TR.po b/plugin-update-checker/languages/plugin-update-checker-tr_TR.po deleted file mode 100644 index ba5e291..0000000 --- a/plugin-update-checker/languages/plugin-update-checker-tr_TR.po +++ /dev/null @@ -1,48 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: plugin-update-checker\n" -"POT-Creation-Date: 2017-11-24 17:02+0200\n" -"PO-Revision-Date: 2021-11-15 19:07+0300\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.0\n" -"X-Poedit-Basepath: ..\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" -"Last-Translator: Emre Erkan \n" -"Language: tr\n" -"X-Poedit-SearchPath-0: .\n" - -#: Puc/v4p3/Plugin/UpdateChecker.php:395 -msgid "Check for updates" -msgstr "Güncellemeleri kontrol et" - -#: Puc/v4p3/Plugin/UpdateChecker.php:548 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "%s eklentisi güncel." - -#: Puc/v4p3/Plugin/UpdateChecker.php:550 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "%s eklentisinin yeni bir sürümü mevcut." - -#: Puc/v4p3/Plugin/UpdateChecker.php:552 -#, php-format -msgctxt "the plugin title" -msgid "Could not determine if updates are available for %s." -msgstr "%s için güncelleme olup olmadığı belirlenemedi." - -#: Puc/v4p3/Plugin/UpdateChecker.php:558 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "Bilinmeyen güncelleme denetleyicisi durumu \"%s\"" - -#: Puc/v4p3/Vcs/PluginUpdateChecker.php:95 -msgid "There is no changelog available." -msgstr "Kullanılabilir bir değişiklik yok." diff --git a/plugin-update-checker/languages/plugin-update-checker-uk_UA.mo b/plugin-update-checker/languages/plugin-update-checker-uk_UA.mo deleted file mode 100644 index 79494e524ebd28dcba540d54c7f4949d5a436508..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1309 zcmZuwO>YxN7#`a6L*`J?a}O_(LZM-{yPHs=HA@94(heN%>IG?f}VQqrO)i<3(}EaKQpuM^S;mXuKm}?6TdL5 z4-lUqT8QI_M+mz{h!cpH2txdcm_+=I2oWD0V{9I{0OY`*fFHiY*zdqkasK07#^!+k z0KW!KPcZfwPy>GiZUIjM{{@0lF3=g$8LrrS7n+;~Zn09Ae7m55^u^L;)2YDX%eD1sCoe$2Pn+DIVUB`^`s3&+!L@NQ+7OpMK zABgZAx7J9d7E<%podLROaa(^rNTOKQ?F&+w(BWe13ZFa3Q<2P;gyQqElXhd-3ux|U ztZP5;t3nDD=~M;OOhq@=YbLph5`HCBD_KAi?-R!?oT=Nv zU>ly6Q=S`!9-TTxcI%!DJ&(R5mynM0#n9h-bRnFz+mhj4@O-*^x1wD1X3v1)f#RR3 zA1L`Q%~eMhzoN%w4#yF|%c!7x&C_^Q71Wj*16nL}tf~5l_rE9*oVn*kI-{wy(^v z_?gTzvs2tJ9u({5b(#0n?2!4jSOhGx51C-cI*DmKm7sfZ|UStu|vFUgWo2?dJ# zgc^qh{C1>$@u>QfL4lPtBz%E^BAdmA{e{1!XIS;LY0s>hQtXC3j-Uzxi-(oXvt)N~ e(TmOhac^_B%Vwy(g_1+_)VeFXzd5TNhy4cu&FZoM diff --git a/plugin-update-checker/languages/plugin-update-checker-uk_UA.po b/plugin-update-checker/languages/plugin-update-checker-uk_UA.po deleted file mode 100644 index b84b16e..0000000 --- a/plugin-update-checker/languages/plugin-update-checker-uk_UA.po +++ /dev/null @@ -1,48 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: plugin-update-checker\n" -"POT-Creation-Date: 2020-08-08 14:36+0300\n" -"PO-Revision-Date: 2021-12-20 17:55+0200\n" -"Language-Team: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.2\n" -"X-Poedit-Basepath: ..\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" -"Last-Translator: \n" -"Language: uk_UA\n" -"X-Poedit-SearchPath-0: .\n" - -#: Puc/v4p11/Plugin/Ui.php:128 -msgid "Check for updates" -msgstr "Перевірити оновлення" - -#: Puc/v4p11/Plugin/Ui.php:213 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "Плагін %s оновлено." - -#: Puc/v4p11/Plugin/Ui.php:215 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "Нова версія %s доступна." - -#: Puc/v4p11/Plugin/Ui.php:217 -#, php-format -msgctxt "the plugin title" -msgid "Could not determine if updates are available for %s." -msgstr "Не вдалося визначити, чи доступні оновлення для %s." - -#: Puc/v4p11/Plugin/Ui.php:223 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "Невідомий статус перевірки оновлень \"%s\"" - -#: Puc/v4p11/Vcs/PluginUpdateChecker.php:98 -msgid "There is no changelog available." -msgstr "Немає доступного журналу змін." diff --git a/plugin-update-checker/languages/plugin-update-checker-zh_CN.mo b/plugin-update-checker/languages/plugin-update-checker-zh_CN.mo deleted file mode 100644 index 5236777ef4caecf0cc9162cdcb1f2789f00093ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1174 zcmZ`&-)j_C7`?So>(YSwCKmZf$xH1WCuxLb)`+@|#cFibD1CCd*}d7FWODB^_fDcd z#cH8xDJ`@%Auedph=^n*7N0CW_z(0iklJ)-`{slHfM<4MHYIrBaQ1#b&Ue0<*_XS! zZZe!5z$ZW%=ms7E$@v@D1-t_G0B-;Sx<6p72kd}92A>5Ff-ixGz;!SO{{vnDc5X@Q zUVO;dZp8lr?*p%b3B08%&3_6`;x70z@EP!4@KrEm*hc_b+6N)F71$1JYe&*OFsgI% zRau&#F&$D=D+?XU*%^XjkA75KKQ#ixV$tgcsgnx-%kNVyI0q!2;eOYo{&&}?4v#y&t zC5+`Gp-?6eR)-#)mtaL-`*^@~sOldv?Z9|)cS?HlFj`b45*5iuq?q(*{qE7#YB7I0 zGkjursAI3saWi?XtW=nDr3NEbUbY8nf$&u>d5@uycJRW;ah~neC4RqC5>|6T68E^)WNw55v zFtR3W)g#C0M9=FeEXjOo$fMNJde2FDWm<=2bILc?qhc{vl)2(%ukZ8z5_p4(6k(}a zfI4@fpJDOcnfUfneCv<+_s0z1QfuJ`F3o!j|2|)guQgb_vKZHAn?E;NzdcBED2(Tp zn$PD}XTD`|{bB3&QYXvB2Jl|;ka{s-hty{~9(tIPX&%je__WQX0D3N&!QqYmS diff --git a/plugin-update-checker/languages/plugin-update-checker-zh_CN.po b/plugin-update-checker/languages/plugin-update-checker-zh_CN.po deleted file mode 100644 index b9e0eb6..0000000 --- a/plugin-update-checker/languages/plugin-update-checker-zh_CN.po +++ /dev/null @@ -1,57 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: plugin-update-checker\n" -"POT-Creation-Date: 2024-05-18 00:08+0800\n" -"PO-Revision-Date: 2024-05-18 00:08+0800\n" -"Last-Translator: Seaton Jiang \n" -"Language-Team: \n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 3.4.4\n" -"X-Poedit-Basepath: ..\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" -"X-Poedit-SearchPath-0: .\n" - -#: Puc/v5p4/Plugin/Ui.php:56 -msgid "View details" -msgstr "查看详情" - -#: Puc/v5p4/Plugin/Ui.php:79 -#, php-format -msgid "More information about %s" -msgstr "%s 的更多信息" - -#: Puc/v5p4/Plugin/Ui.php:130 -msgid "Check for updates" -msgstr "检查更新" - -#: Puc/v5p4/Plugin/Ui.php:217 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "%s 目前是最新版本。" - -#: Puc/v5p4/Plugin/Ui.php:219 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "%s 当前有可用的更新。" - -#: Puc/v5p4/Plugin/Ui.php:221 -#, php-format -msgctxt "the plugin title" -msgid "Could not determine if updates are available for %s." -msgstr "%s 无法确定是否有可用的更新。" - -#: Puc/v5p4/Plugin/Ui.php:227 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "未知的更新检查状态:%s" - -#: Puc/v5p4/Vcs/PluginUpdateChecker.php:113 -msgid "There is no changelog available." -msgstr "没有可用的更新日志。" diff --git a/plugin-update-checker/languages/plugin-update-checker.pot b/plugin-update-checker/languages/plugin-update-checker.pot deleted file mode 100644 index a3f9aca..0000000 --- a/plugin-update-checker/languages/plugin-update-checker.pot +++ /dev/null @@ -1,49 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: plugin-update-checker\n" -"POT-Creation-Date: 2024-10-16 17:23+0300\n" -"PO-Revision-Date: 2016-01-10 20:59+0100\n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: en_US\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.5\n" -"X-Poedit-Basepath: ..\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_x:1,2c;_x\n" -"X-Poedit-SearchPath-0: .\n" - -#: Puc/v5p5/Plugin/Ui.php:130 -msgid "Check for updates" -msgstr "" - -#: Puc/v5p5/Plugin/Ui.php:217 -#, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "" - -#: Puc/v5p5/Plugin/Ui.php:219 -#, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "" - -#: Puc/v5p5/Plugin/Ui.php:221 -#, php-format -msgctxt "the plugin title" -msgid "Could not determine if updates are available for %s." -msgstr "" - -#: Puc/v5p5/Plugin/Ui.php:227 -#, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "" - -#: Puc/v5p5/Vcs/PluginUpdateChecker.php:113 -msgid "There is no changelog available." -msgstr "" diff --git a/plugin-update-checker/license.txt b/plugin-update-checker/license.txt deleted file mode 100644 index 7fff536..0000000 --- a/plugin-update-checker/license.txt +++ /dev/null @@ -1,7 +0,0 @@ -Copyright (c) 2023 Jānis Elsts - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/plugin-update-checker/load-v5p5.php b/plugin-update-checker/load-v5p5.php deleted file mode 100644 index 1ce30a1..0000000 --- a/plugin-update-checker/load-v5p5.php +++ /dev/null @@ -1,34 +0,0 @@ - Plugin\UpdateChecker::class, - 'Theme\\UpdateChecker' => Theme\UpdateChecker::class, - - 'Vcs\\PluginUpdateChecker' => Vcs\PluginUpdateChecker::class, - 'Vcs\\ThemeUpdateChecker' => Vcs\ThemeUpdateChecker::class, - - 'GitHubApi' => Vcs\GitHubApi::class, - 'BitBucketApi' => Vcs\BitBucketApi::class, - 'GitLabApi' => Vcs\GitLabApi::class, - ) - as $pucGeneralClass => $pucVersionedClass -) { - MajorFactory::addVersion($pucGeneralClass, $pucVersionedClass, '5.5'); - //Also add it to the minor-version factory in case the major-version factory - //was already defined by another, older version of the update checker. - MinorFactory::addVersion($pucGeneralClass, $pucVersionedClass, '5.5'); -} - diff --git a/plugin-update-checker/plugin-update-checker.php b/plugin-update-checker/plugin-update-checker.php deleted file mode 100644 index 0c070a8..0000000 --- a/plugin-update-checker/plugin-update-checker.php +++ /dev/null @@ -1,10 +0,0 @@ -DefinitionData = array(); - - # standardize line breaks - $text = str_replace(array("\r\n", "\r"), "\n", $text); - - # remove surrounding line breaks - $text = trim($text, "\n"); - - # split text into lines - $lines = explode("\n", $text); - - # iterate through lines to identify blocks - $markup = $this->lines($lines); - - # trim line breaks - $markup = trim($markup, "\n"); - - return $markup; - } - - # - # Setters - # - - function setBreaksEnabled($breaksEnabled) - { - $this->breaksEnabled = $breaksEnabled; - - return $this; - } - - protected $breaksEnabled; - - function setMarkupEscaped($markupEscaped) - { - $this->markupEscaped = $markupEscaped; - - return $this; - } - - protected $markupEscaped; - - function setUrlsLinked($urlsLinked) - { - $this->urlsLinked = $urlsLinked; - - return $this; - } - - protected $urlsLinked = true; - - # - # Lines - # - - protected $BlockTypes = array( - '#' => array('Header'), - '*' => array('Rule', 'List'), - '+' => array('List'), - '-' => array('SetextHeader', 'Table', 'Rule', 'List'), - '0' => array('List'), - '1' => array('List'), - '2' => array('List'), - '3' => array('List'), - '4' => array('List'), - '5' => array('List'), - '6' => array('List'), - '7' => array('List'), - '8' => array('List'), - '9' => array('List'), - ':' => array('Table'), - '<' => array('Comment', 'Markup'), - '=' => array('SetextHeader'), - '>' => array('Quote'), - '[' => array('Reference'), - '_' => array('Rule'), - '`' => array('FencedCode'), - '|' => array('Table'), - '~' => array('FencedCode'), - ); - - # ~ - - protected $DefinitionTypes = array( - '[' => array('Reference'), - ); - - # ~ - - protected $unmarkedBlockTypes = array( - 'Code', - ); - - # - # Blocks - # - - private function lines(array $lines) - { - $CurrentBlock = null; - - foreach ($lines as $line) - { - if (chop($line) === '') - { - if (isset($CurrentBlock)) - { - $CurrentBlock['interrupted'] = true; - } - - continue; - } - - if (strpos($line, "\t") !== false) - { - $parts = explode("\t", $line); - - $line = $parts[0]; - - unset($parts[0]); - - foreach ($parts as $part) - { - $shortage = 4 - mb_strlen($line, 'utf-8') % 4; - - $line .= str_repeat(' ', $shortage); - $line .= $part; - } - } - - $indent = 0; - - while (isset($line[$indent]) and $line[$indent] === ' ') - { - $indent ++; - } - - $text = $indent > 0 ? substr($line, $indent) : $line; - - # ~ - - $Line = array('body' => $line, 'indent' => $indent, 'text' => $text); - - # ~ - - if (isset($CurrentBlock['incomplete'])) - { - $Block = $this->{'block'.$CurrentBlock['type'].'Continue'}($Line, $CurrentBlock); - - if (isset($Block)) - { - $CurrentBlock = $Block; - - continue; - } - else - { - if (method_exists($this, 'block'.$CurrentBlock['type'].'Complete')) - { - $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); - } - - unset($CurrentBlock['incomplete']); - } - } - - # ~ - - $marker = $text[0]; - - # ~ - - $blockTypes = $this->unmarkedBlockTypes; - - if (isset($this->BlockTypes[$marker])) - { - foreach ($this->BlockTypes[$marker] as $blockType) - { - $blockTypes []= $blockType; - } - } - - # - # ~ - - foreach ($blockTypes as $blockType) - { - $Block = $this->{'block'.$blockType}($Line, $CurrentBlock); - - if (isset($Block)) - { - $Block['type'] = $blockType; - - if ( ! isset($Block['identified'])) - { - $Blocks []= $CurrentBlock; - - $Block['identified'] = true; - } - - if (method_exists($this, 'block'.$blockType.'Continue')) - { - $Block['incomplete'] = true; - } - - $CurrentBlock = $Block; - - continue 2; - } - } - - # ~ - - if (isset($CurrentBlock) and ! isset($CurrentBlock['type']) and ! isset($CurrentBlock['interrupted'])) - { - $CurrentBlock['element']['text'] .= "\n".$text; - } - else - { - $Blocks []= $CurrentBlock; - - $CurrentBlock = $this->paragraph($Line); - - $CurrentBlock['identified'] = true; - } - } - - # ~ - - if (isset($CurrentBlock['incomplete']) and method_exists($this, 'block'.$CurrentBlock['type'].'Complete')) - { - $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); - } - - # ~ - - $Blocks []= $CurrentBlock; - - unset($Blocks[0]); - - # ~ - - $markup = ''; - - foreach ($Blocks as $Block) - { - if (isset($Block['hidden'])) - { - continue; - } - - $markup .= "\n"; - $markup .= isset($Block['markup']) ? $Block['markup'] : $this->element($Block['element']); - } - - $markup .= "\n"; - - # ~ - - return $markup; - } - - # - # Code - - protected function blockCode($Line, $Block = null) - { - if (isset($Block) and ! isset($Block['type']) and ! isset($Block['interrupted'])) - { - return; - } - - if ($Line['indent'] >= 4) - { - $text = substr($Line['body'], 4); - - $Block = array( - 'element' => array( - 'name' => 'pre', - 'handler' => 'element', - 'text' => array( - 'name' => 'code', - 'text' => $text, - ), - ), - ); - - return $Block; - } - } - - protected function blockCodeContinue($Line, $Block) - { - if ($Line['indent'] >= 4) - { - if (isset($Block['interrupted'])) - { - $Block['element']['text']['text'] .= "\n"; - - unset($Block['interrupted']); - } - - $Block['element']['text']['text'] .= "\n"; - - $text = substr($Line['body'], 4); - - $Block['element']['text']['text'] .= $text; - - return $Block; - } - } - - protected function blockCodeComplete($Block) - { - $text = $Block['element']['text']['text']; - - $text = htmlspecialchars($text, ENT_NOQUOTES, 'UTF-8'); - - $Block['element']['text']['text'] = $text; - - return $Block; - } - - # - # Comment - - protected function blockComment($Line) - { - if ($this->markupEscaped) - { - return; - } - - if (isset($Line['text'][3]) and $Line['text'][3] === '-' and $Line['text'][2] === '-' and $Line['text'][1] === '!') - { - $Block = array( - 'markup' => $Line['body'], - ); - - if (preg_match('/-->$/', $Line['text'])) - { - $Block['closed'] = true; - } - - return $Block; - } - } - - protected function blockCommentContinue($Line, array $Block) - { - if (isset($Block['closed'])) - { - return; - } - - $Block['markup'] .= "\n" . $Line['body']; - - if (preg_match('/-->$/', $Line['text'])) - { - $Block['closed'] = true; - } - - return $Block; - } - - # - # Fenced Code - - protected function blockFencedCode($Line) - { - if (preg_match('/^(['.$Line['text'][0].']{3,})[ ]*([\w-]+)?[ ]*$/', $Line['text'], $matches)) - { - $Element = array( - 'name' => 'code', - 'text' => '', - ); - - if (isset($matches[2])) - { - $class = 'language-'.$matches[2]; - - $Element['attributes'] = array( - 'class' => $class, - ); - } - - $Block = array( - 'char' => $Line['text'][0], - 'element' => array( - 'name' => 'pre', - 'handler' => 'element', - 'text' => $Element, - ), - ); - - return $Block; - } - } - - protected function blockFencedCodeContinue($Line, $Block) - { - if (isset($Block['complete'])) - { - return; - } - - if (isset($Block['interrupted'])) - { - $Block['element']['text']['text'] .= "\n"; - - unset($Block['interrupted']); - } - - if (preg_match('/^'.$Block['char'].'{3,}[ ]*$/', $Line['text'])) - { - $Block['element']['text']['text'] = substr($Block['element']['text']['text'], 1); - - $Block['complete'] = true; - - return $Block; - } - - $Block['element']['text']['text'] .= "\n".$Line['body'];; - - return $Block; - } - - protected function blockFencedCodeComplete($Block) - { - $text = $Block['element']['text']['text']; - - $text = htmlspecialchars($text, ENT_NOQUOTES, 'UTF-8'); - - $Block['element']['text']['text'] = $text; - - return $Block; - } - - # - # Header - - protected function blockHeader($Line) - { - if (isset($Line['text'][1])) - { - $level = 1; - - while (isset($Line['text'][$level]) and $Line['text'][$level] === '#') - { - $level ++; - } - - if ($level > 6) - { - return; - } - - $text = trim($Line['text'], '# '); - - $Block = array( - 'element' => array( - 'name' => 'h' . min(6, $level), - 'text' => $text, - 'handler' => 'line', - ), - ); - - return $Block; - } - } - - # - # List - - protected function blockList($Line) - { - list($name, $pattern) = $Line['text'][0] <= '-' ? array('ul', '[*+-]') : array('ol', '[0-9]+[.]'); - - if (preg_match('/^('.$pattern.'[ ]+)(.*)/', $Line['text'], $matches)) - { - $Block = array( - 'indent' => $Line['indent'], - 'pattern' => $pattern, - 'element' => array( - 'name' => $name, - 'handler' => 'elements', - ), - ); - - $Block['li'] = array( - 'name' => 'li', - 'handler' => 'li', - 'text' => array( - $matches[2], - ), - ); - - $Block['element']['text'] []= & $Block['li']; - - return $Block; - } - } - - protected function blockListContinue($Line, array $Block) - { - if ($Block['indent'] === $Line['indent'] and preg_match('/^'.$Block['pattern'].'(?:[ ]+(.*)|$)/', $Line['text'], $matches)) - { - if (isset($Block['interrupted'])) - { - $Block['li']['text'] []= ''; - - unset($Block['interrupted']); - } - - unset($Block['li']); - - $text = isset($matches[1]) ? $matches[1] : ''; - - $Block['li'] = array( - 'name' => 'li', - 'handler' => 'li', - 'text' => array( - $text, - ), - ); - - $Block['element']['text'] []= & $Block['li']; - - return $Block; - } - - if ($Line['text'][0] === '[' and $this->blockReference($Line)) - { - return $Block; - } - - if ( ! isset($Block['interrupted'])) - { - $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); - - $Block['li']['text'] []= $text; - - return $Block; - } - - if ($Line['indent'] > 0) - { - $Block['li']['text'] []= ''; - - $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); - - $Block['li']['text'] []= $text; - - unset($Block['interrupted']); - - return $Block; - } - } - - # - # Quote - - protected function blockQuote($Line) - { - if (preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) - { - $Block = array( - 'element' => array( - 'name' => 'blockquote', - 'handler' => 'lines', - 'text' => (array) $matches[1], - ), - ); - - return $Block; - } - } - - protected function blockQuoteContinue($Line, array $Block) - { - if ($Line['text'][0] === '>' and preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) - { - if (isset($Block['interrupted'])) - { - $Block['element']['text'] []= ''; - - unset($Block['interrupted']); - } - - $Block['element']['text'] []= $matches[1]; - - return $Block; - } - - if ( ! isset($Block['interrupted'])) - { - $Block['element']['text'] []= $Line['text']; - - return $Block; - } - } - - # - # Rule - - protected function blockRule($Line) - { - if (preg_match('/^(['.$Line['text'][0].'])([ ]*\1){2,}[ ]*$/', $Line['text'])) - { - $Block = array( - 'element' => array( - 'name' => 'hr' - ), - ); - - return $Block; - } - } - - # - # Setext - - protected function blockSetextHeader($Line, array $Block = null) - { - if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) - { - return; - } - - if (chop($Line['text'], $Line['text'][0]) === '') - { - $Block['element']['name'] = $Line['text'][0] === '=' ? 'h1' : 'h2'; - - return $Block; - } - } - - # - # Markup - - protected function blockMarkup($Line) - { - if ($this->markupEscaped) - { - return; - } - - if (preg_match('/^<(\w*)(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*(\/)?>/', $Line['text'], $matches)) - { - if (in_array($matches[1], $this->textLevelElements)) - { - return; - } - - $Block = array( - 'name' => $matches[1], - 'depth' => 0, - 'markup' => $Line['text'], - ); - - $length = strlen($matches[0]); - - $remainder = substr($Line['text'], $length); - - if (trim($remainder) === '') - { - if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) - { - $Block['closed'] = true; - - $Block['void'] = true; - } - } - else - { - if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) - { - return; - } - - if (preg_match('/<\/'.$matches[1].'>[ ]*$/i', $remainder)) - { - $Block['closed'] = true; - } - } - - return $Block; - } - } - - protected function blockMarkupContinue($Line, array $Block) - { - if (isset($Block['closed'])) - { - return; - } - - if (preg_match('/^<'.$Block['name'].'(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*>/i', $Line['text'])) # open - { - $Block['depth'] ++; - } - - if (preg_match('/(.*?)<\/'.$Block['name'].'>[ ]*$/i', $Line['text'], $matches)) # close - { - if ($Block['depth'] > 0) - { - $Block['depth'] --; - } - else - { - $Block['closed'] = true; - } - - $Block['markup'] .= $matches[1]; - } - - if (isset($Block['interrupted'])) - { - $Block['markup'] .= "\n"; - - unset($Block['interrupted']); - } - - $Block['markup'] .= "\n".$Line['body']; - - return $Block; - } - - # - # Reference - - protected function blockReference($Line) - { - if (preg_match('/^\[(.+?)\]:[ ]*?(?:[ ]+["\'(](.+)["\')])?[ ]*$/', $Line['text'], $matches)) - { - $id = strtolower($matches[1]); - - $Data = array( - 'url' => $matches[2], - 'title' => null, - ); - - if (isset($matches[3])) - { - $Data['title'] = $matches[3]; - } - - $this->DefinitionData['Reference'][$id] = $Data; - - $Block = array( - 'hidden' => true, - ); - - return $Block; - } - } - - # - # Table - - protected function blockTable($Line, array $Block = null) - { - if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) - { - return; - } - - if (strpos($Block['element']['text'], '|') !== false and chop($Line['text'], ' -:|') === '') - { - $alignments = array(); - - $divider = $Line['text']; - - $divider = trim($divider); - $divider = trim($divider, '|'); - - $dividerCells = explode('|', $divider); - - foreach ($dividerCells as $dividerCell) - { - $dividerCell = trim($dividerCell); - - if ($dividerCell === '') - { - continue; - } - - $alignment = null; - - if ($dividerCell[0] === ':') - { - $alignment = 'left'; - } - - if (substr($dividerCell, - 1) === ':') - { - $alignment = $alignment === 'left' ? 'center' : 'right'; - } - - $alignments []= $alignment; - } - - # ~ - - $HeaderElements = array(); - - $header = $Block['element']['text']; - - $header = trim($header); - $header = trim($header, '|'); - - $headerCells = explode('|', $header); - - foreach ($headerCells as $index => $headerCell) - { - $headerCell = trim($headerCell); - - $HeaderElement = array( - 'name' => 'th', - 'text' => $headerCell, - 'handler' => 'line', - ); - - if (isset($alignments[$index])) - { - $alignment = $alignments[$index]; - - $HeaderElement['attributes'] = array( - 'style' => 'text-align: '.$alignment.';', - ); - } - - $HeaderElements []= $HeaderElement; - } - - # ~ - - $Block = array( - 'alignments' => $alignments, - 'identified' => true, - 'element' => array( - 'name' => 'table', - 'handler' => 'elements', - ), - ); - - $Block['element']['text'] []= array( - 'name' => 'thead', - 'handler' => 'elements', - ); - - $Block['element']['text'] []= array( - 'name' => 'tbody', - 'handler' => 'elements', - 'text' => array(), - ); - - $Block['element']['text'][0]['text'] []= array( - 'name' => 'tr', - 'handler' => 'elements', - 'text' => $HeaderElements, - ); - - return $Block; - } - } - - protected function blockTableContinue($Line, array $Block) - { - if (isset($Block['interrupted'])) - { - return; - } - - if ($Line['text'][0] === '|' or strpos($Line['text'], '|')) - { - $Elements = array(); - - $row = $Line['text']; - - $row = trim($row); - $row = trim($row, '|'); - - preg_match_all('/(?:(\\\\[|])|[^|`]|`[^`]+`|`)+/', $row, $matches); - - foreach ($matches[0] as $index => $cell) - { - $cell = trim($cell); - - $Element = array( - 'name' => 'td', - 'handler' => 'line', - 'text' => $cell, - ); - - if (isset($Block['alignments'][$index])) - { - $Element['attributes'] = array( - 'style' => 'text-align: '.$Block['alignments'][$index].';', - ); - } - - $Elements []= $Element; - } - - $Element = array( - 'name' => 'tr', - 'handler' => 'elements', - 'text' => $Elements, - ); - - $Block['element']['text'][1]['text'] []= $Element; - - return $Block; - } - } - - # - # ~ - # - - protected function paragraph($Line) - { - $Block = array( - 'element' => array( - 'name' => 'p', - 'text' => $Line['text'], - 'handler' => 'line', - ), - ); - - return $Block; - } - - # - # Inline Elements - # - - protected $InlineTypes = array( - '"' => array('SpecialCharacter'), - '!' => array('Image'), - '&' => array('SpecialCharacter'), - '*' => array('Emphasis'), - ':' => array('Url'), - '<' => array('UrlTag', 'EmailTag', 'Markup', 'SpecialCharacter'), - '>' => array('SpecialCharacter'), - '[' => array('Link'), - '_' => array('Emphasis'), - '`' => array('Code'), - '~' => array('Strikethrough'), - '\\' => array('EscapeSequence'), - ); - - # ~ - - protected $inlineMarkerList = '!"*_&[:<>`~\\'; - - # - # ~ - # - - public function line($text) - { - $markup = ''; - - $unexaminedText = $text; - - $markerPosition = 0; - - while ($excerpt = strpbrk($unexaminedText, $this->inlineMarkerList)) - { - $marker = $excerpt[0]; - - $markerPosition += strpos($unexaminedText, $marker); - - $Excerpt = array('text' => $excerpt, 'context' => $text); - - foreach ($this->InlineTypes[$marker] as $inlineType) - { - $Inline = $this->{'inline'.$inlineType}($Excerpt); - - if ( ! isset($Inline)) - { - continue; - } - - if (isset($Inline['position']) and $Inline['position'] > $markerPosition) # position is ahead of marker - { - continue; - } - - if ( ! isset($Inline['position'])) - { - $Inline['position'] = $markerPosition; - } - - $unmarkedText = substr($text, 0, $Inline['position']); - - $markup .= $this->unmarkedText($unmarkedText); - - $markup .= isset($Inline['markup']) ? $Inline['markup'] : $this->element($Inline['element']); - - $text = substr($text, $Inline['position'] + $Inline['extent']); - - $unexaminedText = $text; - - $markerPosition = 0; - - continue 2; - } - - $unexaminedText = substr($excerpt, 1); - - $markerPosition ++; - } - - $markup .= $this->unmarkedText($text); - - return $markup; - } - - # - # ~ - # - - protected function inlineCode($Excerpt) - { - $marker = $Excerpt['text'][0]; - - if (preg_match('/^('.$marker.'+)[ ]*(.+?)[ ]*(? strlen($matches[0]), - 'element' => array( - 'name' => 'code', - 'text' => $text, - ), - ); - } - } - - protected function inlineEmailTag($Excerpt) - { - if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<((mailto:)?\S+?@\S+?)>/i', $Excerpt['text'], $matches)) - { - $url = $matches[1]; - - if ( ! isset($matches[2])) - { - $url = 'mailto:' . $url; - } - - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => 'a', - 'text' => $matches[1], - 'attributes' => array( - 'href' => $url, - ), - ), - ); - } - } - - protected function inlineEmphasis($Excerpt) - { - if ( ! isset($Excerpt['text'][1])) - { - return; - } - - $marker = $Excerpt['text'][0]; - - if ($Excerpt['text'][1] === $marker and preg_match($this->StrongRegex[$marker], $Excerpt['text'], $matches)) - { - $emphasis = 'strong'; - } - elseif (preg_match($this->EmRegex[$marker], $Excerpt['text'], $matches)) - { - $emphasis = 'em'; - } - else - { - return; - } - - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => $emphasis, - 'handler' => 'line', - 'text' => $matches[1], - ), - ); - } - - protected function inlineEscapeSequence($Excerpt) - { - if (isset($Excerpt['text'][1]) and in_array($Excerpt['text'][1], $this->specialCharacters)) - { - return array( - 'markup' => $Excerpt['text'][1], - 'extent' => 2, - ); - } - } - - protected function inlineImage($Excerpt) - { - if ( ! isset($Excerpt['text'][1]) or $Excerpt['text'][1] !== '[') - { - return; - } - - $Excerpt['text']= substr($Excerpt['text'], 1); - - $Link = $this->inlineLink($Excerpt); - - if ($Link === null) - { - return; - } - - $Inline = array( - 'extent' => $Link['extent'] + 1, - 'element' => array( - 'name' => 'img', - 'attributes' => array( - 'src' => $Link['element']['attributes']['href'], - 'alt' => $Link['element']['text'], - ), - ), - ); - - $Inline['element']['attributes'] += $Link['element']['attributes']; - - unset($Inline['element']['attributes']['href']); - - return $Inline; - } - - protected function inlineLink($Excerpt) - { - $Element = array( - 'name' => 'a', - 'handler' => 'line', - 'text' => null, - 'attributes' => array( - 'href' => null, - 'title' => null, - ), - ); - - $extent = 0; - - $remainder = $Excerpt['text']; - - if (preg_match('/\[((?:[^][]|(?R))*)\]/', $remainder, $matches)) - { - $Element['text'] = $matches[1]; - - $extent += strlen($matches[0]); - - $remainder = substr($remainder, $extent); - } - else - { - return; - } - - if (preg_match('/^[(]((?:[^ (]|[(][^ )]+[)])+)(?:[ ]+("[^"]+"|\'[^\']+\'))?[)]/', $remainder, $matches)) - { - $Element['attributes']['href'] = $matches[1]; - - if (isset($matches[2])) - { - $Element['attributes']['title'] = substr($matches[2], 1, - 1); - } - - $extent += strlen($matches[0]); - } - else - { - if (preg_match('/^\s*\[(.*?)\]/', $remainder, $matches)) - { - $definition = $matches[1] ? $matches[1] : $Element['text']; - $definition = strtolower($definition); - - $extent += strlen($matches[0]); - } - else - { - $definition = strtolower($Element['text']); - } - - if ( ! isset($this->DefinitionData['Reference'][$definition])) - { - return; - } - - $Definition = $this->DefinitionData['Reference'][$definition]; - - $Element['attributes']['href'] = $Definition['url']; - $Element['attributes']['title'] = $Definition['title']; - } - - $Element['attributes']['href'] = str_replace(array('&', '<'), array('&', '<'), $Element['attributes']['href']); - - return array( - 'extent' => $extent, - 'element' => $Element, - ); - } - - protected function inlineMarkup($Excerpt) - { - if ($this->markupEscaped or strpos($Excerpt['text'], '>') === false) - { - return; - } - - if ($Excerpt['text'][1] === '/' and preg_match('/^<\/\w*[ ]*>/s', $Excerpt['text'], $matches)) - { - return array( - 'markup' => $matches[0], - 'extent' => strlen($matches[0]), - ); - } - - if ($Excerpt['text'][1] === '!' and preg_match('/^/s', $Excerpt['text'], $matches)) - { - return array( - 'markup' => $matches[0], - 'extent' => strlen($matches[0]), - ); - } - - if ($Excerpt['text'][1] !== ' ' and preg_match('/^<\w*(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*\/?>/s', $Excerpt['text'], $matches)) - { - return array( - 'markup' => $matches[0], - 'extent' => strlen($matches[0]), - ); - } - } - - protected function inlineSpecialCharacter($Excerpt) - { - if ($Excerpt['text'][0] === '&' and ! preg_match('/^&#?\w+;/', $Excerpt['text'])) - { - return array( - 'markup' => '&', - 'extent' => 1, - ); - } - - $SpecialCharacter = array('>' => 'gt', '<' => 'lt', '"' => 'quot'); - - if (isset($SpecialCharacter[$Excerpt['text'][0]])) - { - return array( - 'markup' => '&'.$SpecialCharacter[$Excerpt['text'][0]].';', - 'extent' => 1, - ); - } - } - - protected function inlineStrikethrough($Excerpt) - { - if ( ! isset($Excerpt['text'][1])) - { - return; - } - - if ($Excerpt['text'][1] === '~' and preg_match('/^~~(?=\S)(.+?)(?<=\S)~~/', $Excerpt['text'], $matches)) - { - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => 'del', - 'text' => $matches[1], - 'handler' => 'line', - ), - ); - } - } - - protected function inlineUrl($Excerpt) - { - if ($this->urlsLinked !== true or ! isset($Excerpt['text'][2]) or $Excerpt['text'][2] !== '/') - { - return; - } - - if (preg_match('/\bhttps?:[\/]{2}[^\s<]+\b\/*/ui', $Excerpt['context'], $matches, PREG_OFFSET_CAPTURE)) - { - $Inline = array( - 'extent' => strlen($matches[0][0]), - 'position' => $matches[0][1], - 'element' => array( - 'name' => 'a', - 'text' => $matches[0][0], - 'attributes' => array( - 'href' => $matches[0][0], - ), - ), - ); - - return $Inline; - } - } - - protected function inlineUrlTag($Excerpt) - { - if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<(\w+:\/{2}[^ >]+)>/i', $Excerpt['text'], $matches)) - { - $url = str_replace(array('&', '<'), array('&', '<'), $matches[1]); - - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => 'a', - 'text' => $url, - 'attributes' => array( - 'href' => $url, - ), - ), - ); - } - } - - # - # ~ - - protected $unmarkedInlineTypes = array("\n" => 'Break', '://' => 'Url'); - - # ~ - - protected function unmarkedText($text) - { - if ($this->breaksEnabled) - { - $text = preg_replace('/[ ]*\n/', "
      \n", $text); - } - else - { - $text = preg_replace('/(?:[ ][ ]+|[ ]*\\\\)\n/', "
      \n", $text); - $text = str_replace(" \n", "\n", $text); - } - - return $text; - } - - # - # Handlers - # - - protected function element(array $Element) - { - $markup = '<'.$Element['name']; - - if (isset($Element['attributes'])) - { - foreach ($Element['attributes'] as $name => $value) - { - if ($value === null) - { - continue; - } - - $markup .= ' '.$name.'="'.$value.'"'; - } - } - - if (isset($Element['text'])) - { - $markup .= '>'; - - if (isset($Element['handler'])) - { - $markup .= $this->{$Element['handler']}($Element['text']); - } - else - { - $markup .= $Element['text']; - } - - $markup .= ''; - } - else - { - $markup .= ' />'; - } - - return $markup; - } - - protected function elements(array $Elements) - { - $markup = ''; - - foreach ($Elements as $Element) - { - $markup .= "\n" . $this->element($Element); - } - - $markup .= "\n"; - - return $markup; - } - - # ~ - - protected function li($lines) - { - $markup = $this->lines($lines); - - $trimmedMarkup = trim($markup); - - if ( ! in_array('', $lines) and substr($trimmedMarkup, 0, 3) === '

      ') - { - $markup = $trimmedMarkup; - $markup = substr($markup, 3); - - $position = strpos($markup, "

      "); - - $markup = substr_replace($markup, '', $position, 4); - } - - return $markup; - } - - # - # Deprecated Methods - # - - function parse($text) - { - $markup = $this->text($text); - - return $markup; - } - - # - # Static Methods - # - - static function instance($name = 'default') - { - if (isset(self::$instances[$name])) - { - return self::$instances[$name]; - } - - $instance = new self(); - - self::$instances[$name] = $instance; - - return $instance; - } - - private static $instances = array(); - - # - # Fields - # - - protected $DefinitionData; - - # - # Read-Only - - protected $specialCharacters = array( - '\\', '`', '*', '_', '{', '}', '[', ']', '(', ')', '>', '#', '+', '-', '.', '!', '|', - ); - - protected $StrongRegex = array( - '*' => '/^[*]{2}((?:\\\\\*|[^*]|[*][^*]*[*])+?)[*]{2}(?![*])/s', - '_' => '/^__((?:\\\\_|[^_]|_[^_]*_)+?)__(?!_)/us', - ); - - protected $EmRegex = array( - '*' => '/^[*]((?:\\\\\*|[^*]|[*][*][^*]+?[*][*])+?)[*](?![*])/s', - '_' => '/^_((?:\\\\_|[^_]|__[^_]*__)+?)_(?!_)\b/us', - ); - - protected $regexHtmlAttribute = '[a-zA-Z_:][\w:.-]*(?:\s*=\s*(?:[^"\'=<>`\s]+|"[^"]*"|\'[^\']*\'))?'; - - protected $voidElements = array( - 'area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', - ); - - protected $textLevelElements = array( - 'a', 'br', 'bdo', 'abbr', 'blink', 'nextid', 'acronym', 'basefont', - 'b', 'em', 'big', 'cite', 'small', 'spacer', 'listing', - 'i', 'rp', 'del', 'code', 'strike', 'marquee', - 'q', 'rt', 'ins', 'font', 'strong', - 's', 'tt', 'sub', 'mark', - 'u', 'xm', 'sup', 'nobr', - 'var', 'ruby', - 'wbr', 'span', - 'time', - ); -} diff --git a/plugin-update-checker/vendor/ParsedownModern.php b/plugin-update-checker/vendor/ParsedownModern.php deleted file mode 100644 index 5d96071..0000000 --- a/plugin-update-checker/vendor/ParsedownModern.php +++ /dev/null @@ -1,1538 +0,0 @@ -DefinitionData = array(); - - # standardize line breaks - $text = str_replace(array("\r\n", "\r"), "\n", $text); - - # remove surrounding line breaks - $text = trim($text, "\n"); - - # split text into lines - $lines = explode("\n", $text); - - # iterate through lines to identify blocks - $markup = $this->lines($lines); - - # trim line breaks - $markup = trim($markup, "\n"); - - return $markup; - } - - # - # Setters - # - - function setBreaksEnabled($breaksEnabled) - { - $this->breaksEnabled = $breaksEnabled; - - return $this; - } - - protected $breaksEnabled; - - function setMarkupEscaped($markupEscaped) - { - $this->markupEscaped = $markupEscaped; - - return $this; - } - - protected $markupEscaped; - - function setUrlsLinked($urlsLinked) - { - $this->urlsLinked = $urlsLinked; - - return $this; - } - - protected $urlsLinked = true; - - # - # Lines - # - - protected $BlockTypes = array( - '#' => array('Header'), - '*' => array('Rule', 'List'), - '+' => array('List'), - '-' => array('SetextHeader', 'Table', 'Rule', 'List'), - '0' => array('List'), - '1' => array('List'), - '2' => array('List'), - '3' => array('List'), - '4' => array('List'), - '5' => array('List'), - '6' => array('List'), - '7' => array('List'), - '8' => array('List'), - '9' => array('List'), - ':' => array('Table'), - '<' => array('Comment', 'Markup'), - '=' => array('SetextHeader'), - '>' => array('Quote'), - '[' => array('Reference'), - '_' => array('Rule'), - '`' => array('FencedCode'), - '|' => array('Table'), - '~' => array('FencedCode'), - ); - - # ~ - - protected $unmarkedBlockTypes = array( - 'Code', - ); - - # - # Blocks - # - - protected function lines(array $lines) - { - $CurrentBlock = null; - - foreach ($lines as $line) - { - if (chop($line) === '') - { - if (isset($CurrentBlock)) - { - $CurrentBlock['interrupted'] = true; - } - - continue; - } - - if (strpos($line, "\t") !== false) - { - $parts = explode("\t", $line); - - $line = $parts[0]; - - unset($parts[0]); - - foreach ($parts as $part) - { - $shortage = 4 - mb_strlen($line, 'utf-8') % 4; - - $line .= str_repeat(' ', $shortage); - $line .= $part; - } - } - - $indent = 0; - - while (isset($line[$indent]) and $line[$indent] === ' ') - { - $indent ++; - } - - $text = $indent > 0 ? substr($line, $indent) : $line; - - # ~ - - $Line = array('body' => $line, 'indent' => $indent, 'text' => $text); - - # ~ - - if (isset($CurrentBlock['continuable'])) - { - $Block = $this->{'block'.$CurrentBlock['type'].'Continue'}($Line, $CurrentBlock); - - if (isset($Block)) - { - $CurrentBlock = $Block; - - continue; - } - else - { - if ($this->isBlockCompletable($CurrentBlock['type'])) - { - $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); - } - } - } - - # ~ - - $marker = $text[0]; - - # ~ - - $blockTypes = $this->unmarkedBlockTypes; - - if (isset($this->BlockTypes[$marker])) - { - foreach ($this->BlockTypes[$marker] as $blockType) - { - $blockTypes []= $blockType; - } - } - - # - # ~ - - foreach ($blockTypes as $blockType) - { - $Block = $this->{'block'.$blockType}($Line, $CurrentBlock); - - if (isset($Block)) - { - $Block['type'] = $blockType; - - if ( ! isset($Block['identified'])) - { - $Blocks []= $CurrentBlock; - - $Block['identified'] = true; - } - - if ($this->isBlockContinuable($blockType)) - { - $Block['continuable'] = true; - } - - $CurrentBlock = $Block; - - continue 2; - } - } - - # ~ - - if (isset($CurrentBlock) and ! isset($CurrentBlock['type']) and ! isset($CurrentBlock['interrupted'])) - { - $CurrentBlock['element']['text'] .= "\n".$text; - } - else - { - $Blocks []= $CurrentBlock; - - $CurrentBlock = $this->paragraph($Line); - - $CurrentBlock['identified'] = true; - } - } - - # ~ - - if (isset($CurrentBlock['continuable']) and $this->isBlockCompletable($CurrentBlock['type'])) - { - $CurrentBlock = $this->{'block'.$CurrentBlock['type'].'Complete'}($CurrentBlock); - } - - # ~ - - $Blocks []= $CurrentBlock; - - unset($Blocks[0]); - - # ~ - - $markup = ''; - - foreach ($Blocks as $Block) - { - if (isset($Block['hidden'])) - { - continue; - } - - $markup .= "\n"; - $markup .= isset($Block['markup']) ? $Block['markup'] : $this->element($Block['element']); - } - - $markup .= "\n"; - - # ~ - - return $markup; - } - - protected function isBlockContinuable($Type) - { - return method_exists($this, 'block'.$Type.'Continue'); - } - - protected function isBlockCompletable($Type) - { - return method_exists($this, 'block'.$Type.'Complete'); - } - - # - # Code - - protected function blockCode($Line, $Block = null) - { - if (isset($Block) and ! isset($Block['type']) and ! isset($Block['interrupted'])) - { - return; - } - - if ($Line['indent'] >= 4) - { - $text = substr($Line['body'], 4); - - $Block = array( - 'element' => array( - 'name' => 'pre', - 'handler' => 'element', - 'text' => array( - 'name' => 'code', - 'text' => $text, - ), - ), - ); - - return $Block; - } - } - - protected function blockCodeContinue($Line, $Block) - { - if ($Line['indent'] >= 4) - { - if (isset($Block['interrupted'])) - { - $Block['element']['text']['text'] .= "\n"; - - unset($Block['interrupted']); - } - - $Block['element']['text']['text'] .= "\n"; - - $text = substr($Line['body'], 4); - - $Block['element']['text']['text'] .= $text; - - return $Block; - } - } - - protected function blockCodeComplete($Block) - { - $text = $Block['element']['text']['text']; - - $text = htmlspecialchars($text, ENT_NOQUOTES, 'UTF-8'); - - $Block['element']['text']['text'] = $text; - - return $Block; - } - - # - # Comment - - protected function blockComment($Line) - { - if ($this->markupEscaped) - { - return; - } - - if (isset($Line['text'][3]) and $Line['text'][3] === '-' and $Line['text'][2] === '-' and $Line['text'][1] === '!') - { - $Block = array( - 'markup' => $Line['body'], - ); - - if (preg_match('/-->$/', $Line['text'])) - { - $Block['closed'] = true; - } - - return $Block; - } - } - - protected function blockCommentContinue($Line, array $Block) - { - if (isset($Block['closed'])) - { - return; - } - - $Block['markup'] .= "\n" . $Line['body']; - - if (preg_match('/-->$/', $Line['text'])) - { - $Block['closed'] = true; - } - - return $Block; - } - - # - # Fenced Code - - protected function blockFencedCode($Line) - { - if (preg_match('/^['.$Line['text'][0].']{3,}[ ]*([\w-]+)?[ ]*$/', $Line['text'], $matches)) - { - $Element = array( - 'name' => 'code', - 'text' => '', - ); - - if (isset($matches[1])) - { - $class = 'language-'.$matches[1]; - - $Element['attributes'] = array( - 'class' => $class, - ); - } - - $Block = array( - 'char' => $Line['text'][0], - 'element' => array( - 'name' => 'pre', - 'handler' => 'element', - 'text' => $Element, - ), - ); - - return $Block; - } - } - - protected function blockFencedCodeContinue($Line, $Block) - { - if (isset($Block['complete'])) - { - return; - } - - if (isset($Block['interrupted'])) - { - $Block['element']['text']['text'] .= "\n"; - - unset($Block['interrupted']); - } - - if (preg_match('/^'.$Block['char'].'{3,}[ ]*$/', $Line['text'])) - { - $Block['element']['text']['text'] = substr($Block['element']['text']['text'], 1); - - $Block['complete'] = true; - - return $Block; - } - - $Block['element']['text']['text'] .= "\n".$Line['body'];; - - return $Block; - } - - protected function blockFencedCodeComplete($Block) - { - $text = $Block['element']['text']['text']; - - $text = htmlspecialchars($text, ENT_NOQUOTES, 'UTF-8'); - - $Block['element']['text']['text'] = $text; - - return $Block; - } - - # - # Header - - protected function blockHeader($Line) - { - if (isset($Line['text'][1])) - { - $level = 1; - - while (isset($Line['text'][$level]) and $Line['text'][$level] === '#') - { - $level ++; - } - - if ($level > 6) - { - return; - } - - $text = trim($Line['text'], '# '); - - $Block = array( - 'element' => array( - 'name' => 'h' . min(6, $level), - 'text' => $text, - 'handler' => 'line', - ), - ); - - return $Block; - } - } - - # - # List - - protected function blockList($Line) - { - list($name, $pattern) = $Line['text'][0] <= '-' ? array('ul', '[*+-]') : array('ol', '[0-9]+[.]'); - - if (preg_match('/^('.$pattern.'[ ]+)(.*)/', $Line['text'], $matches)) - { - $Block = array( - 'indent' => $Line['indent'], - 'pattern' => $pattern, - 'element' => array( - 'name' => $name, - 'handler' => 'elements', - ), - ); - - $Block['li'] = array( - 'name' => 'li', - 'handler' => 'li', - 'text' => array( - $matches[2], - ), - ); - - $Block['element']['text'] []= & $Block['li']; - - return $Block; - } - } - - protected function blockListContinue($Line, array $Block) - { - if ($Block['indent'] === $Line['indent'] and preg_match('/^'.$Block['pattern'].'(?:[ ]+(.*)|$)/', $Line['text'], $matches)) - { - if (isset($Block['interrupted'])) - { - $Block['li']['text'] []= ''; - - unset($Block['interrupted']); - } - - unset($Block['li']); - - $text = isset($matches[1]) ? $matches[1] : ''; - - $Block['li'] = array( - 'name' => 'li', - 'handler' => 'li', - 'text' => array( - $text, - ), - ); - - $Block['element']['text'] []= & $Block['li']; - - return $Block; - } - - if ($Line['text'][0] === '[' and $this->blockReference($Line)) - { - return $Block; - } - - if ( ! isset($Block['interrupted'])) - { - $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); - - $Block['li']['text'] []= $text; - - return $Block; - } - - if ($Line['indent'] > 0) - { - $Block['li']['text'] []= ''; - - $text = preg_replace('/^[ ]{0,4}/', '', $Line['body']); - - $Block['li']['text'] []= $text; - - unset($Block['interrupted']); - - return $Block; - } - } - - # - # Quote - - protected function blockQuote($Line) - { - if (preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) - { - $Block = array( - 'element' => array( - 'name' => 'blockquote', - 'handler' => 'lines', - 'text' => (array) $matches[1], - ), - ); - - return $Block; - } - } - - protected function blockQuoteContinue($Line, array $Block) - { - if ($Line['text'][0] === '>' and preg_match('/^>[ ]?(.*)/', $Line['text'], $matches)) - { - if (isset($Block['interrupted'])) - { - $Block['element']['text'] []= ''; - - unset($Block['interrupted']); - } - - $Block['element']['text'] []= $matches[1]; - - return $Block; - } - - if ( ! isset($Block['interrupted'])) - { - $Block['element']['text'] []= $Line['text']; - - return $Block; - } - } - - # - # Rule - - protected function blockRule($Line) - { - if (preg_match('/^(['.$Line['text'][0].'])([ ]*\1){2,}[ ]*$/', $Line['text'])) - { - $Block = array( - 'element' => array( - 'name' => 'hr' - ), - ); - - return $Block; - } - } - - # - # Setext - - protected function blockSetextHeader($Line, array $Block = null) - { - if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) - { - return; - } - - if (chop($Line['text'], $Line['text'][0]) === '') - { - $Block['element']['name'] = $Line['text'][0] === '=' ? 'h1' : 'h2'; - - return $Block; - } - } - - # - # Markup - - protected function blockMarkup($Line) - { - if ($this->markupEscaped) - { - return; - } - - if (preg_match('/^<(\w*)(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*(\/)?>/', $Line['text'], $matches)) - { - $element = strtolower($matches[1]); - - if (in_array($element, $this->textLevelElements)) - { - return; - } - - $Block = array( - 'name' => $matches[1], - 'depth' => 0, - 'markup' => $Line['text'], - ); - - $length = strlen($matches[0]); - - $remainder = substr($Line['text'], $length); - - if (trim($remainder) === '') - { - if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) - { - $Block['closed'] = true; - - $Block['void'] = true; - } - } - else - { - if (isset($matches[2]) or in_array($matches[1], $this->voidElements)) - { - return; - } - - if (preg_match('/<\/'.$matches[1].'>[ ]*$/i', $remainder)) - { - $Block['closed'] = true; - } - } - - return $Block; - } - } - - protected function blockMarkupContinue($Line, array $Block) - { - if (isset($Block['closed'])) - { - return; - } - - if (preg_match('/^<'.$Block['name'].'(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*>/i', $Line['text'])) # open - { - $Block['depth'] ++; - } - - if (preg_match('/(.*?)<\/'.$Block['name'].'>[ ]*$/i', $Line['text'], $matches)) # close - { - if ($Block['depth'] > 0) - { - $Block['depth'] --; - } - else - { - $Block['closed'] = true; - } - } - - if (isset($Block['interrupted'])) - { - $Block['markup'] .= "\n"; - - unset($Block['interrupted']); - } - - $Block['markup'] .= "\n".$Line['body']; - - return $Block; - } - - # - # Reference - - protected function blockReference($Line) - { - if (preg_match('/^\[(.+?)\]:[ ]*?(?:[ ]+["\'(](.+)["\')])?[ ]*$/', $Line['text'], $matches)) - { - $id = strtolower($matches[1]); - - $Data = array( - 'url' => $matches[2], - 'title' => null, - ); - - if (isset($matches[3])) - { - $Data['title'] = $matches[3]; - } - - $this->DefinitionData['Reference'][$id] = $Data; - - $Block = array( - 'hidden' => true, - ); - - return $Block; - } - } - - # - # Table - - protected function blockTable($Line, array $Block = null) - { - if ( ! isset($Block) or isset($Block['type']) or isset($Block['interrupted'])) - { - return; - } - - if (strpos($Block['element']['text'], '|') !== false and chop($Line['text'], ' -:|') === '') - { - $alignments = array(); - - $divider = $Line['text']; - - $divider = trim($divider); - $divider = trim($divider, '|'); - - $dividerCells = explode('|', $divider); - - foreach ($dividerCells as $dividerCell) - { - $dividerCell = trim($dividerCell); - - if ($dividerCell === '') - { - continue; - } - - $alignment = null; - - if ($dividerCell[0] === ':') - { - $alignment = 'left'; - } - - if (substr($dividerCell, - 1) === ':') - { - $alignment = $alignment === 'left' ? 'center' : 'right'; - } - - $alignments []= $alignment; - } - - # ~ - - $HeaderElements = array(); - - $header = $Block['element']['text']; - - $header = trim($header); - $header = trim($header, '|'); - - $headerCells = explode('|', $header); - - foreach ($headerCells as $index => $headerCell) - { - $headerCell = trim($headerCell); - - $HeaderElement = array( - 'name' => 'th', - 'text' => $headerCell, - 'handler' => 'line', - ); - - if (isset($alignments[$index])) - { - $alignment = $alignments[$index]; - - $HeaderElement['attributes'] = array( - 'style' => 'text-align: '.$alignment.';', - ); - } - - $HeaderElements []= $HeaderElement; - } - - # ~ - - $Block = array( - 'alignments' => $alignments, - 'identified' => true, - 'element' => array( - 'name' => 'table', - 'handler' => 'elements', - ), - ); - - $Block['element']['text'] []= array( - 'name' => 'thead', - 'handler' => 'elements', - ); - - $Block['element']['text'] []= array( - 'name' => 'tbody', - 'handler' => 'elements', - 'text' => array(), - ); - - $Block['element']['text'][0]['text'] []= array( - 'name' => 'tr', - 'handler' => 'elements', - 'text' => $HeaderElements, - ); - - return $Block; - } - } - - protected function blockTableContinue($Line, array $Block) - { - if (isset($Block['interrupted'])) - { - return; - } - - if ($Line['text'][0] === '|' or strpos($Line['text'], '|')) - { - $Elements = array(); - - $row = $Line['text']; - - $row = trim($row); - $row = trim($row, '|'); - - preg_match_all('/(?:(\\\\[|])|[^|`]|`[^`]+`|`)+/', $row, $matches); - - foreach ($matches[0] as $index => $cell) - { - $cell = trim($cell); - - $Element = array( - 'name' => 'td', - 'handler' => 'line', - 'text' => $cell, - ); - - if (isset($Block['alignments'][$index])) - { - $Element['attributes'] = array( - 'style' => 'text-align: '.$Block['alignments'][$index].';', - ); - } - - $Elements []= $Element; - } - - $Element = array( - 'name' => 'tr', - 'handler' => 'elements', - 'text' => $Elements, - ); - - $Block['element']['text'][1]['text'] []= $Element; - - return $Block; - } - } - - # - # ~ - # - - protected function paragraph($Line) - { - $Block = array( - 'element' => array( - 'name' => 'p', - 'text' => $Line['text'], - 'handler' => 'line', - ), - ); - - return $Block; - } - - # - # Inline Elements - # - - protected $InlineTypes = array( - '"' => array('SpecialCharacter'), - '!' => array('Image'), - '&' => array('SpecialCharacter'), - '*' => array('Emphasis'), - ':' => array('Url'), - '<' => array('UrlTag', 'EmailTag', 'Markup', 'SpecialCharacter'), - '>' => array('SpecialCharacter'), - '[' => array('Link'), - '_' => array('Emphasis'), - '`' => array('Code'), - '~' => array('Strikethrough'), - '\\' => array('EscapeSequence'), - ); - - # ~ - - protected $inlineMarkerList = '!"*_&[:<>`~\\'; - - # - # ~ - # - - public function line($text) - { - $markup = ''; - - # $excerpt is based on the first occurrence of a marker - - while ($excerpt = strpbrk($text, $this->inlineMarkerList)) - { - $marker = $excerpt[0]; - - $markerPosition = strpos($text, $marker); - - $Excerpt = array('text' => $excerpt, 'context' => $text); - - foreach ($this->InlineTypes[$marker] as $inlineType) - { - $Inline = $this->{'inline'.$inlineType}($Excerpt); - - if ( ! isset($Inline)) - { - continue; - } - - # makes sure that the inline belongs to "our" marker - - if (isset($Inline['position']) and $Inline['position'] > $markerPosition) - { - continue; - } - - # sets a default inline position - - if ( ! isset($Inline['position'])) - { - $Inline['position'] = $markerPosition; - } - - # the text that comes before the inline - $unmarkedText = substr($text, 0, $Inline['position']); - - # compile the unmarked text - $markup .= $this->unmarkedText($unmarkedText); - - # compile the inline - $markup .= isset($Inline['markup']) ? $Inline['markup'] : $this->element($Inline['element']); - - # remove the examined text - $text = substr($text, $Inline['position'] + $Inline['extent']); - - continue 2; - } - - # the marker does not belong to an inline - - $unmarkedText = substr($text, 0, $markerPosition + 1); - - $markup .= $this->unmarkedText($unmarkedText); - - $text = substr($text, $markerPosition + 1); - } - - $markup .= $this->unmarkedText($text); - - return $markup; - } - - # - # ~ - # - - protected function inlineCode($Excerpt) - { - $marker = $Excerpt['text'][0]; - - if (preg_match('/^('.$marker.'+)[ ]*(.+?)[ ]*(? strlen($matches[0]), - 'element' => array( - 'name' => 'code', - 'text' => $text, - ), - ); - } - } - - protected function inlineEmailTag($Excerpt) - { - if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<((mailto:)?\S+?@\S+?)>/i', $Excerpt['text'], $matches)) - { - $url = $matches[1]; - - if ( ! isset($matches[2])) - { - $url = 'mailto:' . $url; - } - - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => 'a', - 'text' => $matches[1], - 'attributes' => array( - 'href' => $url, - ), - ), - ); - } - } - - protected function inlineEmphasis($Excerpt) - { - if ( ! isset($Excerpt['text'][1])) - { - return; - } - - $marker = $Excerpt['text'][0]; - - if ($Excerpt['text'][1] === $marker and preg_match($this->StrongRegex[$marker], $Excerpt['text'], $matches)) - { - $emphasis = 'strong'; - } - elseif (preg_match($this->EmRegex[$marker], $Excerpt['text'], $matches)) - { - $emphasis = 'em'; - } - else - { - return; - } - - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => $emphasis, - 'handler' => 'line', - 'text' => $matches[1], - ), - ); - } - - protected function inlineEscapeSequence($Excerpt) - { - if (isset($Excerpt['text'][1]) and in_array($Excerpt['text'][1], $this->specialCharacters)) - { - return array( - 'markup' => $Excerpt['text'][1], - 'extent' => 2, - ); - } - } - - protected function inlineImage($Excerpt) - { - if ( ! isset($Excerpt['text'][1]) or $Excerpt['text'][1] !== '[') - { - return; - } - - $Excerpt['text']= substr($Excerpt['text'], 1); - - $Link = $this->inlineLink($Excerpt); - - if ($Link === null) - { - return; - } - - $Inline = array( - 'extent' => $Link['extent'] + 1, - 'element' => array( - 'name' => 'img', - 'attributes' => array( - 'src' => $Link['element']['attributes']['href'], - 'alt' => $Link['element']['text'], - ), - ), - ); - - $Inline['element']['attributes'] += $Link['element']['attributes']; - - unset($Inline['element']['attributes']['href']); - - return $Inline; - } - - protected function inlineLink($Excerpt) - { - $Element = array( - 'name' => 'a', - 'handler' => 'line', - 'text' => null, - 'attributes' => array( - 'href' => null, - 'title' => null, - ), - ); - - $extent = 0; - - $remainder = $Excerpt['text']; - - if (preg_match('/\[((?:[^][]|(?R))*)\]/', $remainder, $matches)) - { - $Element['text'] = $matches[1]; - - $extent += strlen($matches[0]); - - $remainder = substr($remainder, $extent); - } - else - { - return; - } - - if (preg_match('/^[(]((?:[^ ()]|[(][^ )]+[)])+)(?:[ ]+("[^"]*"|\'[^\']*\'))?[)]/', $remainder, $matches)) - { - $Element['attributes']['href'] = $matches[1]; - - if (isset($matches[2])) - { - $Element['attributes']['title'] = substr($matches[2], 1, - 1); - } - - $extent += strlen($matches[0]); - } - else - { - if (preg_match('/^\s*\[(.*?)\]/', $remainder, $matches)) - { - $definition = strlen($matches[1]) ? $matches[1] : $Element['text']; - $definition = strtolower($definition); - - $extent += strlen($matches[0]); - } - else - { - $definition = strtolower($Element['text']); - } - - if ( ! isset($this->DefinitionData['Reference'][$definition])) - { - return; - } - - $Definition = $this->DefinitionData['Reference'][$definition]; - - $Element['attributes']['href'] = $Definition['url']; - $Element['attributes']['title'] = $Definition['title']; - } - - $Element['attributes']['href'] = str_replace(array('&', '<'), array('&', '<'), $Element['attributes']['href']); - - return array( - 'extent' => $extent, - 'element' => $Element, - ); - } - - protected function inlineMarkup($Excerpt) - { - if ($this->markupEscaped or strpos($Excerpt['text'], '>') === false) - { - return; - } - - if ($Excerpt['text'][1] === '/' and preg_match('/^<\/\w*[ ]*>/s', $Excerpt['text'], $matches)) - { - return array( - 'markup' => $matches[0], - 'extent' => strlen($matches[0]), - ); - } - - if ($Excerpt['text'][1] === '!' and preg_match('/^/s', $Excerpt['text'], $matches)) - { - return array( - 'markup' => $matches[0], - 'extent' => strlen($matches[0]), - ); - } - - if ($Excerpt['text'][1] !== ' ' and preg_match('/^<\w*(?:[ ]*'.$this->regexHtmlAttribute.')*[ ]*\/?>/s', $Excerpt['text'], $matches)) - { - return array( - 'markup' => $matches[0], - 'extent' => strlen($matches[0]), - ); - } - } - - protected function inlineSpecialCharacter($Excerpt) - { - if ($Excerpt['text'][0] === '&' and ! preg_match('/^&#?\w+;/', $Excerpt['text'])) - { - return array( - 'markup' => '&', - 'extent' => 1, - ); - } - - $SpecialCharacter = array('>' => 'gt', '<' => 'lt', '"' => 'quot'); - - if (isset($SpecialCharacter[$Excerpt['text'][0]])) - { - return array( - 'markup' => '&'.$SpecialCharacter[$Excerpt['text'][0]].';', - 'extent' => 1, - ); - } - } - - protected function inlineStrikethrough($Excerpt) - { - if ( ! isset($Excerpt['text'][1])) - { - return; - } - - if ($Excerpt['text'][1] === '~' and preg_match('/^~~(?=\S)(.+?)(?<=\S)~~/', $Excerpt['text'], $matches)) - { - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => 'del', - 'text' => $matches[1], - 'handler' => 'line', - ), - ); - } - } - - protected function inlineUrl($Excerpt) - { - if ($this->urlsLinked !== true or ! isset($Excerpt['text'][2]) or $Excerpt['text'][2] !== '/') - { - return; - } - - if (preg_match('/\bhttps?:[\/]{2}[^\s<]+\b\/*/ui', $Excerpt['context'], $matches, PREG_OFFSET_CAPTURE)) - { - $Inline = array( - 'extent' => strlen($matches[0][0]), - 'position' => $matches[0][1], - 'element' => array( - 'name' => 'a', - 'text' => $matches[0][0], - 'attributes' => array( - 'href' => $matches[0][0], - ), - ), - ); - - return $Inline; - } - } - - protected function inlineUrlTag($Excerpt) - { - if (strpos($Excerpt['text'], '>') !== false and preg_match('/^<(\w+:\/{2}[^ >]+)>/i', $Excerpt['text'], $matches)) - { - $url = str_replace(array('&', '<'), array('&', '<'), $matches[1]); - - return array( - 'extent' => strlen($matches[0]), - 'element' => array( - 'name' => 'a', - 'text' => $url, - 'attributes' => array( - 'href' => $url, - ), - ), - ); - } - } - - # ~ - - protected function unmarkedText($text) - { - if ($this->breaksEnabled) - { - $text = preg_replace('/[ ]*\n/', "
      \n", $text); - } - else - { - $text = preg_replace('/(?:[ ][ ]+|[ ]*\\\\)\n/', "
      \n", $text); - $text = str_replace(" \n", "\n", $text); - } - - return $text; - } - - # - # Handlers - # - - protected function element(array $Element) - { - $markup = '<'.$Element['name']; - - if (isset($Element['attributes'])) - { - foreach ($Element['attributes'] as $name => $value) - { - if ($value === null) - { - continue; - } - - $markup .= ' '.$name.'="'.$value.'"'; - } - } - - if (isset($Element['text'])) - { - $markup .= '>'; - - if (isset($Element['handler'])) - { - $markup .= $this->{$Element['handler']}($Element['text']); - } - else - { - $markup .= $Element['text']; - } - - $markup .= ''; - } - else - { - $markup .= ' />'; - } - - return $markup; - } - - protected function elements(array $Elements) - { - $markup = ''; - - foreach ($Elements as $Element) - { - $markup .= "\n" . $this->element($Element); - } - - $markup .= "\n"; - - return $markup; - } - - # ~ - - protected function li($lines) - { - $markup = $this->lines($lines); - - $trimmedMarkup = trim($markup); - - if ( ! in_array('', $lines) and substr($trimmedMarkup, 0, 3) === '

      ') - { - $markup = $trimmedMarkup; - $markup = substr($markup, 3); - - $position = strpos($markup, "

      "); - - $markup = substr_replace($markup, '', $position, 4); - } - - return $markup; - } - - # - # Deprecated Methods - # - - function parse($text) - { - $markup = $this->text($text); - - return $markup; - } - - # - # Static Methods - # - - static function instance($name = 'default') - { - if (isset(self::$instances[$name])) - { - return self::$instances[$name]; - } - - $instance = new static(); - - self::$instances[$name] = $instance; - - return $instance; - } - - private static $instances = array(); - - # - # Fields - # - - protected $DefinitionData; - - # - # Read-Only - - protected $specialCharacters = array( - '\\', '`', '*', '_', '{', '}', '[', ']', '(', ')', '>', '#', '+', '-', '.', '!', '|', - ); - - protected $StrongRegex = array( - '*' => '/^[*]{2}((?:\\\\\*|[^*]|[*][^*]*[*])+?)[*]{2}(?![*])/s', - '_' => '/^__((?:\\\\_|[^_]|_[^_]*_)+?)__(?!_)/us', - ); - - protected $EmRegex = array( - '*' => '/^[*]((?:\\\\\*|[^*]|[*][*][^*]+?[*][*])+?)[*](?![*])/s', - '_' => '/^_((?:\\\\_|[^_]|__[^_]*__)+?)_(?!_)\b/us', - ); - - protected $regexHtmlAttribute = '[a-zA-Z_:][\w:.-]*(?:\s*=\s*(?:[^"\'=<>`\s]+|"[^"]*"|\'[^\']*\'))?'; - - protected $voidElements = array( - 'area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', - ); - - protected $textLevelElements = array( - 'a', 'br', 'bdo', 'abbr', 'blink', 'nextid', 'acronym', 'basefont', - 'b', 'em', 'big', 'cite', 'small', 'spacer', 'listing', - 'i', 'rp', 'del', 'code', 'strike', 'marquee', - 'q', 'rt', 'ins', 'font', 'strong', - 's', 'tt', 'sub', 'mark', - 'u', 'xm', 'sup', 'nobr', - 'var', 'ruby', - 'wbr', 'span', - 'time', - ); -} \ No newline at end of file diff --git a/plugin-update-checker/vendor/PucReadmeParser.php b/plugin-update-checker/vendor/PucReadmeParser.php deleted file mode 100644 index a794c49..0000000 --- a/plugin-update-checker/vendor/PucReadmeParser.php +++ /dev/null @@ -1,352 +0,0 @@ -parse_readme_contents( $file_contents ); - } - - function parse_readme_contents( $file_contents ) { - $file_contents = str_replace(array("\r\n", "\r"), "\n", $file_contents); - $file_contents = trim($file_contents); - if ( 0 === strpos( $file_contents, "\xEF\xBB\xBF" ) ) - $file_contents = substr( $file_contents, 3 ); - - // Markdown transformations - $file_contents = preg_replace( "|^###([^#]+)#*?\s*?\n|im", '=$1='."\n", $file_contents ); - $file_contents = preg_replace( "|^##([^#]+)#*?\s*?\n|im", '==$1=='."\n", $file_contents ); - $file_contents = preg_replace( "|^#([^#]+)#*?\s*?\n|im", '===$1==='."\n", $file_contents ); - - // === Plugin Name === - // Must be the very first thing. - if ( !preg_match('|^===(.*)===|', $file_contents, $_name) ) - return array(); // require a name - $name = trim($_name[1], '='); - $name = $this->sanitize_text( $name ); - - $file_contents = $this->chop_string( $file_contents, $_name[0] ); - - - // Requires at least: 1.5 - if ( preg_match('|Requires at least:(.*)|i', $file_contents, $_requires_at_least) ) - $requires_at_least = $this->sanitize_text($_requires_at_least[1]); - else - $requires_at_least = NULL; - - - // Tested up to: 2.1 - if ( preg_match('|Tested up to:(.*)|i', $file_contents, $_tested_up_to) ) - $tested_up_to = $this->sanitize_text( $_tested_up_to[1] ); - else - $tested_up_to = NULL; - - // Requires PHP: 5.2.4 - if ( preg_match('|Requires PHP:(.*)|i', $file_contents, $_requires_php) ) { - $requires_php = $this->sanitize_text( $_requires_php[1] ); - } else { - $requires_php = null; - } - - // Stable tag: 10.4-ride-the-fire-eagle-danger-day - if ( preg_match('|Stable tag:(.*)|i', $file_contents, $_stable_tag) ) - $stable_tag = $this->sanitize_text( $_stable_tag[1] ); - else - $stable_tag = NULL; // we assume trunk, but don't set it here to tell the difference between specified trunk and default trunk - - - // Tags: some tag, another tag, we like tags - if ( preg_match('|Tags:(.*)|i', $file_contents, $_tags) ) { - $tags = preg_split('|,[\s]*?|', trim($_tags[1])); - foreach ( array_keys($tags) as $t ) - $tags[$t] = $this->sanitize_text( $tags[$t] ); - } else { - $tags = array(); - } - - - // Contributors: markjaquith, mdawaffe, zefrank - $contributors = array(); - if ( preg_match('|Contributors:(.*)|i', $file_contents, $_contributors) ) { - $temp_contributors = preg_split('|,[\s]*|', trim($_contributors[1])); - foreach ( array_keys($temp_contributors) as $c ) { - $tmp_sanitized = $this->user_sanitize( $temp_contributors[$c] ); - if ( strlen(trim($tmp_sanitized)) > 0 ) - $contributors[$c] = $tmp_sanitized; - unset($tmp_sanitized); - } - } - - - // Donate Link: URL - if ( preg_match('|Donate link:(.*)|i', $file_contents, $_donate_link) ) - $donate_link = esc_url( $_donate_link[1] ); - else - $donate_link = NULL; - - - // togs, conts, etc are optional and order shouldn't matter. So we chop them only after we've grabbed their values. - foreach ( array('tags', 'contributors', 'requires_at_least', 'tested_up_to', 'stable_tag', 'donate_link') as $chop ) { - if ( $$chop ) { - $_chop = '_' . $chop; - $file_contents = $this->chop_string( $file_contents, ${$_chop}[0] ); - } - } - - $file_contents = trim($file_contents); - - - // short-description fu - if ( !preg_match('/(^(.*?))^[\s]*=+?[\s]*.+?[\s]*=+?/ms', $file_contents, $_short_description) ) - $_short_description = array( 1 => &$file_contents, 2 => &$file_contents ); - $short_desc_filtered = $this->sanitize_text( $_short_description[2] ); - $short_desc_length = strlen($short_desc_filtered); - $short_description = substr($short_desc_filtered, 0, 150); - if ( $short_desc_length > strlen($short_description) ) - $truncated = true; - else - $truncated = false; - if ( $_short_description[1] ) - $file_contents = $this->chop_string( $file_contents, $_short_description[1] ); // yes, the [1] is intentional - - // == Section == - // Break into sections - // $_sections[0] will be the title of the first section, $_sections[1] will be the content of the first section - // the array alternates from there: title2, content2, title3, content3... and so forth - $_sections = preg_split('/^[\s]*==[\s]*(.+?)[\s]*==/m', $file_contents, -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY); - - $sections = array(); - for ( $i=0; $i < count($_sections); $i +=2 ) { - $title = $this->sanitize_text( $_sections[$i] ); - if ( isset($_sections[$i+1]) ) { - $content = preg_replace('/(^[\s]*)=[\s]+(.+?)[\s]+=/m', '$1

      $2

      ', $_sections[$i+1]); - $content = $this->filter_text( $content, true ); - } else { - $content = ''; - } - $sections[str_replace(' ', '_', strtolower($title))] = array('title' => $title, 'content' => $content); - } - - - // Special sections - // This is where we nab our special sections, so we can enforce their order and treat them differently, if needed - // upgrade_notice is not a section, but parse it like it is for now - $final_sections = array(); - foreach ( array('description', 'installation', 'frequently_asked_questions', 'screenshots', 'changelog', 'change_log', 'upgrade_notice') as $special_section ) { - if ( isset($sections[$special_section]) ) { - $final_sections[$special_section] = $sections[$special_section]['content']; - unset($sections[$special_section]); - } - } - if ( isset($final_sections['change_log']) && empty($final_sections['changelog']) ) - $final_sections['changelog'] = $final_sections['change_log']; - - - $final_screenshots = array(); - if ( isset($final_sections['screenshots']) ) { - preg_match_all('|
    2. (.*?)
    3. |s', $final_sections['screenshots'], $screenshots, PREG_SET_ORDER); - if ( $screenshots ) { - foreach ( (array) $screenshots as $ss ) - $final_screenshots[] = $ss[1]; - } - } - - // Parse the upgrade_notice section specially: - // 1.0 => blah, 1.1 => fnord - $upgrade_notice = array(); - if ( isset($final_sections['upgrade_notice']) ) { - $split = preg_split( '#

      (.*?)

      #', $final_sections['upgrade_notice'], -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY ); - if ( count($split) >= 2 ) { - for ( $i = 0; $i < count( $split ); $i += 2 ) { - $upgrade_notice[$this->sanitize_text( $split[$i] )] = substr( $this->sanitize_text( $split[$i + 1] ), 0, 300 ); - } - } - unset( $final_sections['upgrade_notice'] ); - } - - // No description? - // No problem... we'll just fall back to the old style of description - // We'll even let you use markup this time! - $excerpt = false; - if ( !isset($final_sections['description']) ) { - $final_sections = array_merge(array('description' => $this->filter_text( $_short_description[2], true )), $final_sections); - $excerpt = true; - } - - - // dump the non-special sections into $remaining_content - // their order will be determined by their original order in the readme.txt - $remaining_content = ''; - foreach ( $sections as $s_name => $s_data ) { - $remaining_content .= "\n

      {$s_data['title']}

      \n{$s_data['content']}"; - } - $remaining_content = trim($remaining_content); - - - // All done! - // $r['tags'] and $r['contributors'] are simple arrays - // $r['sections'] is an array with named elements - $r = array( - 'name' => $name, - 'tags' => $tags, - 'requires_at_least' => $requires_at_least, - 'tested_up_to' => $tested_up_to, - 'requires_php' => $requires_php, - 'stable_tag' => $stable_tag, - 'contributors' => $contributors, - 'donate_link' => $donate_link, - 'short_description' => $short_description, - 'screenshots' => $final_screenshots, - 'is_excerpt' => $excerpt, - 'is_truncated' => $truncated, - 'sections' => $final_sections, - 'remaining_content' => $remaining_content, - 'upgrade_notice' => $upgrade_notice - ); - - return $r; - } - - function chop_string( $string, $chop ) { // chop a "prefix" from a string: Agressive! uses strstr not 0 === strpos - if ( $_string = strstr($string, $chop) ) { - $_string = substr($_string, strlen($chop)); - return trim($_string); - } else { - return trim($string); - } - } - - function user_sanitize( $text, $strict = false ) { // whitelisted chars - if ( function_exists('user_sanitize') ) // bbPress native - return user_sanitize( $text, $strict ); - - if ( $strict ) { - $text = preg_replace('/[^a-z0-9-]/i', '', $text); - $text = preg_replace('|-+|', '-', $text); - } else { - $text = preg_replace('/[^a-z0-9_-]/i', '', $text); - } - return $text; - } - - function sanitize_text( $text ) { // not fancy - $text = function_exists('wp_strip_all_tags') - ? wp_strip_all_tags($text) - //phpcs:ignore WordPressVIPMinimum.Functions.StripTags.StripTagsOneParameter -- Using wp_strip_all_tags() if available - : strip_tags($text); - - $text = esc_html($text); - $text = trim($text); - return $text; - } - - function filter_text( $text, $markdown = false ) { // fancy, Markdown - $text = trim($text); - - $text = call_user_func( array( __CLASS__, 'code_trick' ), $text, $markdown ); // A better parser than Markdown's for: backticks -> CODE - - if ( $markdown ) { // Parse markdown. - if ( !class_exists('Parsedown', false) ) { - /** @noinspection PhpIncludeInspection */ - require_once(dirname(__FILE__) . '/Parsedown' . (version_compare(PHP_VERSION, '5.3.0', '>=') ? '' : 'Legacy') . '.php'); - } - $instance = Parsedown::instance(); - $text = $instance->text($text); - } - - $allowed = array( - 'a' => array( - 'href' => array(), - 'title' => array(), - 'rel' => array()), - 'blockquote' => array('cite' => array()), - 'br' => array(), - 'p' => array(), - 'code' => array(), - 'pre' => array(), - 'em' => array(), - 'strong' => array(), - 'ul' => array(), - 'ol' => array(), - 'li' => array(), - 'h3' => array(), - 'h4' => array() - ); - - $text = balanceTags($text); - - $text = wp_kses( $text, $allowed ); - $text = trim($text); - return $text; - } - - function code_trick( $text, $markdown ) { // Don't use bbPress native function - it's incompatible with Markdown - // If doing markdown, first take any user formatted code blocks and turn them into backticks so that - // markdown will preserve things like underscores in code blocks - if ( $markdown ) - $text = preg_replace_callback("!(
      |)(.*?)(
      |)!s", array( __CLASS__,'decodeit'), $text); - - $text = str_replace(array("\r\n", "\r"), "\n", $text); - if ( !$markdown ) { - // This gets the "inline" code blocks, but can't be used with Markdown. - $text = preg_replace_callback("|(`)(.*?)`|", array( __CLASS__, 'encodeit'), $text); - // This gets the "block level" code blocks and converts them to PRE CODE - $text = preg_replace_callback("!(^|\n)`(.*?)`!s", array( __CLASS__, 'encodeit'), $text); - } else { - // Markdown can do inline code, we convert bbPress style block level code to Markdown style - $text = preg_replace_callback("!(^|\n)([ \t]*?)`(.*?)`!s", array( __CLASS__, 'indent'), $text); - } - return $text; - } - - function indent( $matches ) { - $text = $matches[3]; - $text = preg_replace('|^|m', $matches[2] . ' ', $text); - return $matches[1] . $text; - } - - function encodeit( $matches ) { - if ( function_exists('encodeit') ) // bbPress native - return encodeit( $matches ); - - $text = trim($matches[2]); - $text = htmlspecialchars($text, ENT_QUOTES); - $text = str_replace(array("\r\n", "\r"), "\n", $text); - $text = preg_replace("|\n\n\n+|", "\n\n", $text); - $text = str_replace('&lt;', '<', $text); - $text = str_replace('&gt;', '>', $text); - $text = "$text"; - if ( "`" != $matches[1] ) - $text = "
      $text
      "; - return $text; - } - - function decodeit( $matches ) { - if ( function_exists('decodeit') ) // bbPress native - return decodeit( $matches ); - - $text = $matches[2]; - $trans_table = array_flip(get_html_translation_table(HTML_ENTITIES)); - $text = strtr($text, $trans_table); - $text = str_replace('
      ', '', $text); - $text = str_replace('&', '&', $text); - $text = str_replace(''', "'", $text); - if ( '
      ' == $matches[1] )
      -			$text = "\n$text\n";
      -		return "`$text`";
      -	}
      -
      -} // end class
      -
      -endif;
      diff --git a/slm-plus.php b/slm-plus.php
      index f0a8816..ccaff70 100644
      --- a/slm-plus.php
      +++ b/slm-plus.php
      @@ -1,7 +1,7 @@
       
      Date: Fri, 8 Nov 2024 15:39:34 -0500
      Subject: [PATCH 267/293] builder
      
      ---
       .github/workflows/release.yml | 36 ++++++++++++++++----
       build.xml                     | 63 ++++++++++++++++++++++++-----------
       2 files changed, 73 insertions(+), 26 deletions(-)
      
      diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
      index 87ab468..82b484b 100644
      --- a/.github/workflows/release.yml
      +++ b/.github/workflows/release.yml
      @@ -24,10 +24,30 @@ jobs:
             - name: Install Ant
               run: sudo apt-get install ant -y
       
      +      # Install curl and unzip for downloading and extracting plugin-update-checker
      +      - name: Install curl and unzip
      +        run: sudo apt-get install curl unzip -y
      +
             # Run Ant build
             - name: Run Ant Build
               run: ant -f build.xml
       
      +      # Generate changelog content
      +      - name: Generate Changelog
      +        id: changelog
      +        run: |
      +          latest_tag=$(git describe --tags --abbrev=0)
      +          changelog=$(git log ${latest_tag}..HEAD --pretty=format:"- %s ([View Commit](https://github.com/${{ github.repository }}/commit/%H))" --no-merges)
      +          echo "changelog=$changelog" >> $GITHUB_ENV
      +          echo "$changelog"
      +
      +      # Check if changelog is empty and set a fallback message
      +      - name: Check Changelog Content
      +        run: |
      +          if [ -z "${{ env.changelog }}" ]; then
      +            echo "changelog=No additional changes or commits found." >> $GITHUB_ENV
      +          fi
      +
             # Upload the build artifact as the release asset
             - name: Upload Release Asset
               uses: actions/upload-release-asset@v1
      @@ -37,10 +57,14 @@ jobs:
                 asset_name: slm-plus.zip
                 asset_content_type: application/zip
       
      -      # Update CHANGELOG.md with the latest release information
      -      - name: Update Changelog
      -        uses: stefanzweifel/changelog-updater-action@v1
      +      # Update the release description with the changelog
      +      - name: Update Release with Changelog
      +        uses: softprops/action-gh-release@v1
               with:
      -          github_token: ${{ secrets.GITHUB_TOKEN }}
      -          version: ${{ github.event.release.tag_name }}
      -          changelog: CHANGELOG.md
      +          files: slm-plus.zip
      +          tag_name: ${{ github.event.release.tag_name }}
      +          body: |
      +            ## Changelog
      +            ${{ env.changelog }}
      +        env:
      +          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      diff --git a/build.xml b/build.xml
      index 6c0a402..a0e5701 100644
      --- a/build.xml
      +++ b/build.xml
      @@ -1,31 +1,54 @@
      -
      -    
      -    
      -    
      +
      +    
      +    
      +    
       
      -    
      +    
           
      -        
      +        
      +        
           
       
      -    
      -    
      -        
      +    
      +    
      +        
      +        
           
       
      -    
      -    
      -        
      -            
      -        
      -        
      -        
      -            
      +    
      +    
      +        
      +            
               
           
       
      -    
      -    
      -        
      +    
      +    
      +        
      +            
      +            
      +            
      +            
      +        
      +        
      +        
      +    
      +
      +    
      +    
      +        
      +        
           
       
      
      From 66c222478a50b5c82e6a4ff76337116607d6611b Mon Sep 17 00:00:00 2001
      From: Michel 
      Date: Fri, 8 Nov 2024 15:43:32 -0500
      Subject: [PATCH 268/293] update builder
      
      ---
       .github/workflows/release.yml |  6 +-----
       build.xml                     | 13 -------------
       slm-plus.php                  | 10 ----------
       3 files changed, 1 insertion(+), 28 deletions(-)
      
      diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
      index 82b484b..25778c7 100644
      --- a/.github/workflows/release.yml
      +++ b/.github/workflows/release.yml
      @@ -24,10 +24,6 @@ jobs:
             - name: Install Ant
               run: sudo apt-get install ant -y
       
      -      # Install curl and unzip for downloading and extracting plugin-update-checker
      -      - name: Install curl and unzip
      -        run: sudo apt-get install curl unzip -y
      -
             # Run Ant build
             - name: Run Ant Build
               run: ant -f build.xml
      @@ -57,7 +53,7 @@ jobs:
                 asset_name: slm-plus.zip
                 asset_content_type: application/zip
       
      -      # Update the release description with the changelog
      +      # Update the release with the changelog
             - name: Update Release with Changelog
               uses: softprops/action-gh-release@v1
               with:
      diff --git a/build.xml b/build.xml
      index a0e5701..d00a0b2 100644
      --- a/build.xml
      +++ b/build.xml
      @@ -12,7 +12,6 @@
           
           
               
      -        
           
       
           
      @@ -34,18 +33,6 @@
               
           
       
      -    
      -    
      -        
      -            
      -            
      -            
      -            
      -        
      -        
      -        
      -    
      -
           
           
               
      diff --git a/slm-plus.php b/slm-plus.php
      index ccaff70..f8dce8f 100644
      --- a/slm-plus.php
      +++ b/slm-plus.php
      @@ -82,13 +82,3 @@ function slm_settings_link($links){
       define('KEY_API',               SLM_API_Utility::get_slm_option('lic_creation_secret'));
       define('VERIFY_KEY_API',        SLM_API_Utility::get_slm_option('lic_verification_secret'));
       define('KEY_API_PREFIX',        SLM_API_Utility::get_slm_option('lic_prefix'));
      -
      -// Auto-updater integration for GitHub updates
      -if (file_exists('plugin-update-checker/plugin-update-checker.php')) {
      -    require 'plugin-update-checker/plugin-update-checker.php';
      -    $myUpdateChecker = Puc_v4_Factory::buildUpdateChecker(
      -        'https://github.com/michelve/software-license-manager',
      -        __FILE__,
      -        'software-license-manager'
      -    );
      -}
      
      From 58f5c6a76a3d2448e0d150031eedbadb34c95226 Mon Sep 17 00:00:00 2001
      From: Michel 
      Date: Fri, 8 Nov 2024 15:44:40 -0500
      Subject: [PATCH 269/293] Update release.yml
      
      ---
       .github/workflows/release.yml | 2 ++
       1 file changed, 2 insertions(+)
      
      diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
      index 25778c7..4cec2ee 100644
      --- a/.github/workflows/release.yml
      +++ b/.github/workflows/release.yml
      @@ -64,3 +64,5 @@ jobs:
                   ${{ env.changelog }}
               env:
                 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      +
      +          
      \ No newline at end of file
      
      From ad676758fc70742141022b9de7c44982007a27c2 Mon Sep 17 00:00:00 2001
      From: Michel 
      Date: Fri, 8 Nov 2024 15:47:38 -0500
      Subject: [PATCH 270/293] Update build.xml
      
      ---
       build.xml | 5 ++---
       1 file changed, 2 insertions(+), 3 deletions(-)
      
      diff --git a/build.xml b/build.xml
      index d00a0b2..8b1c95f 100644
      --- a/build.xml
      +++ b/build.xml
      @@ -33,9 +33,8 @@
               
           
       
      -    
      -    
      +    
      +    
               
      -        
           
       
      
      From 32adb331dff1a648154f901caf5f21f9d9da9e16 Mon Sep 17 00:00:00 2001
      From: Michel 
      Date: Fri, 8 Nov 2024 15:51:33 -0500
      Subject: [PATCH 271/293] updated files
      
      ---
       SECURITY.md       |  21 -----
       build.xml         |   6 +-
       package-lock.json | 223 ----------------------------------------------
       3 files changed, 3 insertions(+), 247 deletions(-)
       delete mode 100644 SECURITY.md
       delete mode 100644 package-lock.json
      
      diff --git a/SECURITY.md b/SECURITY.md
      deleted file mode 100644
      index 034e848..0000000
      --- a/SECURITY.md
      +++ /dev/null
      @@ -1,21 +0,0 @@
      -# Security Policy
      -
      -## Supported Versions
      -
      -Use this section to tell people about which versions of your project are
      -currently being supported with security updates.
      -
      -| Version | Supported          |
      -| ------- | ------------------ |
      -| 5.1.x   | :white_check_mark: |
      -| 5.0.x   | :x:                |
      -| 4.0.x   | :white_check_mark: |
      -| < 4.0   | :x:                |
      -
      -## Reporting a Vulnerability
      -
      -Use this section to tell people how to report a vulnerability.
      -
      -Tell them where to go, how often they can expect to get an update on a
      -reported vulnerability, what to expect if the vulnerability is accepted or
      -declined, etc.
      diff --git a/build.xml b/build.xml
      index 8b1c95f..232a403 100644
      --- a/build.xml
      +++ b/build.xml
      @@ -28,12 +28,12 @@
                       package-lock.json,
                       .github/**,
                       .vscode/**,
      -                samples/**"
      -            />
      +                samples/**
      +            " />
               
           
       
      -    
      +    
           
               
           
      diff --git a/package-lock.json b/package-lock.json
      deleted file mode 100644
      index 5c2b5fe..0000000
      --- a/package-lock.json
      +++ /dev/null
      @@ -1,223 +0,0 @@
      -{
      -  "name": "@michelve/software-license-manager",
      -  "version": "6.1.0",
      -  "lockfileVersion": 3,
      -  "requires": true,
      -  "packages": {
      -    "": {
      -      "name": "@michelve/software-license-manager",
      -      "version": "6.1.0",
      -      "license": "MIT",
      -      "devDependencies": {
      -        "auto-changelog": "^2.5.0"
      -      }
      -    },
      -    "node_modules/auto-changelog": {
      -      "version": "2.5.0",
      -      "resolved": "https://registry.npmjs.org/auto-changelog/-/auto-changelog-2.5.0.tgz",
      -      "integrity": "sha512-UTnLjT7I9U2U/xkCUH5buDlp8C7g0SGChfib+iDrJkamcj5kaMqNKHNfbKJw1kthJUq8sUo3i3q2S6FzO/l/wA==",
      -      "dev": true,
      -      "license": "MIT",
      -      "dependencies": {
      -        "commander": "^7.2.0",
      -        "handlebars": "^4.7.7",
      -        "import-cwd": "^3.0.0",
      -        "node-fetch": "^2.6.1",
      -        "parse-github-url": "^1.0.3",
      -        "semver": "^7.3.5"
      -      },
      -      "bin": {
      -        "auto-changelog": "src/index.js"
      -      },
      -      "engines": {
      -        "node": ">=8.3"
      -      }
      -    },
      -    "node_modules/auto-changelog/node_modules/commander": {
      -      "version": "7.2.0",
      -      "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
      -      "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
      -      "dev": true,
      -      "license": "MIT",
      -      "engines": {
      -        "node": ">= 10"
      -      }
      -    },
      -    "node_modules/commander": {
      -      "version": "2.20.0",
      -      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
      -      "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
      -      "dev": true,
      -      "optional": true
      -    },
      -    "node_modules/handlebars": {
      -      "version": "4.7.7",
      -      "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz",
      -      "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==",
      -      "dev": true,
      -      "dependencies": {
      -        "minimist": "^1.2.5",
      -        "neo-async": "^2.6.0",
      -        "source-map": "^0.6.1",
      -        "wordwrap": "^1.0.0"
      -      },
      -      "bin": {
      -        "handlebars": "bin/handlebars"
      -      },
      -      "engines": {
      -        "node": ">=0.4.7"
      -      },
      -      "optionalDependencies": {
      -        "uglify-js": "^3.1.4"
      -      }
      -    },
      -    "node_modules/handlebars/node_modules/wordwrap": {
      -      "version": "1.0.0",
      -      "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
      -      "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
      -      "dev": true
      -    },
      -    "node_modules/import-cwd": {
      -      "version": "3.0.0",
      -      "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz",
      -      "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==",
      -      "dev": true,
      -      "license": "MIT",
      -      "dependencies": {
      -        "import-from": "^3.0.0"
      -      },
      -      "engines": {
      -        "node": ">=8"
      -      }
      -    },
      -    "node_modules/import-from": {
      -      "version": "3.0.0",
      -      "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz",
      -      "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==",
      -      "dev": true,
      -      "license": "MIT",
      -      "dependencies": {
      -        "resolve-from": "^5.0.0"
      -      },
      -      "engines": {
      -        "node": ">=8"
      -      }
      -    },
      -    "node_modules/minimist": {
      -      "version": "1.2.6",
      -      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
      -      "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
      -      "dev": true
      -    },
      -    "node_modules/neo-async": {
      -      "version": "2.6.1",
      -      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
      -      "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",
      -      "dev": true
      -    },
      -    "node_modules/node-fetch": {
      -      "version": "2.6.7",
      -      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
      -      "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
      -      "dev": true,
      -      "dependencies": {
      -        "whatwg-url": "^5.0.0"
      -      },
      -      "engines": {
      -        "node": "4.x || >=6.0.0"
      -      },
      -      "peerDependencies": {
      -        "encoding": "^0.1.0"
      -      },
      -      "peerDependenciesMeta": {
      -        "encoding": {
      -          "optional": true
      -        }
      -      }
      -    },
      -    "node_modules/parse-github-url": {
      -      "version": "1.0.3",
      -      "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.3.tgz",
      -      "integrity": "sha512-tfalY5/4SqGaV/GIGzWyHnFjlpTPTNpENR9Ea2lLldSJ8EWXMsvacWucqY3m3I4YPtas15IxTLQVQ5NSYXPrww==",
      -      "dev": true,
      -      "license": "MIT",
      -      "bin": {
      -        "parse-github-url": "cli.js"
      -      },
      -      "engines": {
      -        "node": ">= 0.10"
      -      }
      -    },
      -    "node_modules/resolve-from": {
      -      "version": "5.0.0",
      -      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
      -      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
      -      "dev": true,
      -      "license": "MIT",
      -      "engines": {
      -        "node": ">=8"
      -      }
      -    },
      -    "node_modules/semver": {
      -      "version": "7.6.3",
      -      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
      -      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
      -      "dev": true,
      -      "license": "ISC",
      -      "bin": {
      -        "semver": "bin/semver.js"
      -      },
      -      "engines": {
      -        "node": ">=10"
      -      }
      -    },
      -    "node_modules/source-map": {
      -      "version": "0.6.1",
      -      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
      -      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
      -      "dev": true,
      -      "engines": {
      -        "node": ">=0.10.0"
      -      }
      -    },
      -    "node_modules/tr46": {
      -      "version": "0.0.3",
      -      "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
      -      "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
      -      "dev": true
      -    },
      -    "node_modules/uglify-js": {
      -      "version": "3.6.0",
      -      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz",
      -      "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==",
      -      "dev": true,
      -      "optional": true,
      -      "dependencies": {
      -        "commander": "~2.20.0",
      -        "source-map": "~0.6.1"
      -      },
      -      "bin": {
      -        "uglifyjs": "bin/uglifyjs"
      -      },
      -      "engines": {
      -        "node": ">=0.8.0"
      -      }
      -    },
      -    "node_modules/webidl-conversions": {
      -      "version": "3.0.1",
      -      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
      -      "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
      -      "dev": true
      -    },
      -    "node_modules/whatwg-url": {
      -      "version": "5.0.0",
      -      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
      -      "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
      -      "dev": true,
      -      "dependencies": {
      -        "tr46": "~0.0.3",
      -        "webidl-conversions": "^3.0.0"
      -      }
      -    }
      -  }
      -}
      
      From 1a963f4be5335594f67170ac5a3157248eabb104 Mon Sep 17 00:00:00 2001
      From: Michel 
      Date: Fri, 8 Nov 2024 15:58:35 -0500
      Subject: [PATCH 272/293] Delete .github/workflows/release.yml
      
      ---
       .github/workflows/release.yml | 68 -----------------------------------
       1 file changed, 68 deletions(-)
       delete mode 100644 .github/workflows/release.yml
      
      diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
      deleted file mode 100644
      index 4cec2ee..0000000
      --- a/.github/workflows/release.yml
      +++ /dev/null
      @@ -1,68 +0,0 @@
      -name: Build and Release Plugin
      -
      -on:
      -  release:
      -    types: [created, published]
      -
      -jobs:
      -  build-and-release:
      -    runs-on: ubuntu-latest
      -
      -    steps:
      -      # Checkout the code
      -      - name: Checkout Code
      -        uses: actions/checkout@v3
      -
      -      # Set up Java for Ant
      -      - name: Set up Java
      -        uses: actions/setup-java@v3
      -        with:
      -          java-version: '11'
      -          distribution: 'adopt'
      -
      -      # Install Ant
      -      - name: Install Ant
      -        run: sudo apt-get install ant -y
      -
      -      # Run Ant build
      -      - name: Run Ant Build
      -        run: ant -f build.xml
      -
      -      # Generate changelog content
      -      - name: Generate Changelog
      -        id: changelog
      -        run: |
      -          latest_tag=$(git describe --tags --abbrev=0)
      -          changelog=$(git log ${latest_tag}..HEAD --pretty=format:"- %s ([View Commit](https://github.com/${{ github.repository }}/commit/%H))" --no-merges)
      -          echo "changelog=$changelog" >> $GITHUB_ENV
      -          echo "$changelog"
      -
      -      # Check if changelog is empty and set a fallback message
      -      - name: Check Changelog Content
      -        run: |
      -          if [ -z "${{ env.changelog }}" ]; then
      -            echo "changelog=No additional changes or commits found." >> $GITHUB_ENV
      -          fi
      -
      -      # Upload the build artifact as the release asset
      -      - name: Upload Release Asset
      -        uses: actions/upload-release-asset@v1
      -        with:
      -          upload_url: ${{ github.event.release.upload_url }}
      -          asset_path: slm-plus.zip
      -          asset_name: slm-plus.zip
      -          asset_content_type: application/zip
      -
      -      # Update the release with the changelog
      -      - name: Update Release with Changelog
      -        uses: softprops/action-gh-release@v1
      -        with:
      -          files: slm-plus.zip
      -          tag_name: ${{ github.event.release.tag_name }}
      -          body: |
      -            ## Changelog
      -            ${{ env.changelog }}
      -        env:
      -          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      -
      -          
      \ No newline at end of file
      
      From dc85b7d13e2feefe202efcca5b9eef2835fae047 Mon Sep 17 00:00:00 2001
      From: Michel 
      Date: Fri, 8 Nov 2024 15:59:32 -0500
      Subject: [PATCH 273/293] builder
      
      ---
       .github/workflows/build.yml   | 53 +++++++++++++++++++++++++++
       .github/workflows/release.yml | 68 -----------------------------------
       build.xml                     | 40 ---------------------
       3 files changed, 53 insertions(+), 108 deletions(-)
       create mode 100644 .github/workflows/build.yml
       delete mode 100644 .github/workflows/release.yml
       delete mode 100644 build.xml
      
      diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
      new file mode 100644
      index 0000000..4577978
      --- /dev/null
      +++ b/.github/workflows/build.yml
      @@ -0,0 +1,53 @@
      +name: Build Plugin
      +
      +on:
      +  push:
      +    tags:
      +      - '*'  # Runs on any tag push
      +
      +jobs:
      +  build:
      +    runs-on: ubuntu-latest
      +
      +    steps:
      +      # Step 1: Checkout code
      +      - name: Checkout code
      +        uses: actions/checkout@v3
      +
      +      # Step 2: Set up Node.js (if needed)
      +      - name: Set up Node.js
      +        uses: actions/setup-node@v4
      +        with:
      +          node-version: '20'
      +
      +      # Step 3: Create a build directory and copy necessary files
      +      - name: Prepare build directory
      +        run: |
      +          mkdir build
      +          rsync -av --progress . build/slm-plus --exclude-from=<(echo "
      +            .gitignore
      +            .changelog.md
      +            security.md
      +            _config.yml
      +            composer.json
      +            build.xml
      +            package.json
      +            package-lock.json
      +            .github
      +            .vscode
      +            samples
      +          ")
      +
      +      # Step 4: Create the ZIP file
      +      - name: Create ZIP archive
      +        run: |
      +          cd build
      +          zip -r ../slm-plus.zip slm-plus
      +        shell: bash
      +
      +      # Step 5: Upload the ZIP file as an artifact (optional)
      +      - name: Upload ZIP as artifact
      +        uses: actions/upload-artifact@v3
      +        with:
      +          name: slm-plus
      +          path: slm-plus.zip
      diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
      deleted file mode 100644
      index 4cec2ee..0000000
      --- a/.github/workflows/release.yml
      +++ /dev/null
      @@ -1,68 +0,0 @@
      -name: Build and Release Plugin
      -
      -on:
      -  release:
      -    types: [created, published]
      -
      -jobs:
      -  build-and-release:
      -    runs-on: ubuntu-latest
      -
      -    steps:
      -      # Checkout the code
      -      - name: Checkout Code
      -        uses: actions/checkout@v3
      -
      -      # Set up Java for Ant
      -      - name: Set up Java
      -        uses: actions/setup-java@v3
      -        with:
      -          java-version: '11'
      -          distribution: 'adopt'
      -
      -      # Install Ant
      -      - name: Install Ant
      -        run: sudo apt-get install ant -y
      -
      -      # Run Ant build
      -      - name: Run Ant Build
      -        run: ant -f build.xml
      -
      -      # Generate changelog content
      -      - name: Generate Changelog
      -        id: changelog
      -        run: |
      -          latest_tag=$(git describe --tags --abbrev=0)
      -          changelog=$(git log ${latest_tag}..HEAD --pretty=format:"- %s ([View Commit](https://github.com/${{ github.repository }}/commit/%H))" --no-merges)
      -          echo "changelog=$changelog" >> $GITHUB_ENV
      -          echo "$changelog"
      -
      -      # Check if changelog is empty and set a fallback message
      -      - name: Check Changelog Content
      -        run: |
      -          if [ -z "${{ env.changelog }}" ]; then
      -            echo "changelog=No additional changes or commits found." >> $GITHUB_ENV
      -          fi
      -
      -      # Upload the build artifact as the release asset
      -      - name: Upload Release Asset
      -        uses: actions/upload-release-asset@v1
      -        with:
      -          upload_url: ${{ github.event.release.upload_url }}
      -          asset_path: slm-plus.zip
      -          asset_name: slm-plus.zip
      -          asset_content_type: application/zip
      -
      -      # Update the release with the changelog
      -      - name: Update Release with Changelog
      -        uses: softprops/action-gh-release@v1
      -        with:
      -          files: slm-plus.zip
      -          tag_name: ${{ github.event.release.tag_name }}
      -          body: |
      -            ## Changelog
      -            ${{ env.changelog }}
      -        env:
      -          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      -
      -          
      \ No newline at end of file
      diff --git a/build.xml b/build.xml
      deleted file mode 100644
      index 232a403..0000000
      --- a/build.xml
      +++ /dev/null
      @@ -1,40 +0,0 @@
      -
      -    
      -    
      -    
      -
      -    
      -    
      -        
      -        
      -    
      -
      -    
      -    
      -        
      -    
      -
      -    
      -    
      -        
      -            
      -        
      -    
      -
      -    
      -    
      -        
      -    
      -
      
      From 8f0b75742f7acbdfa77b414f0575114b739f4fad Mon Sep 17 00:00:00 2001
      From: Michel 
      Date: Fri, 8 Nov 2024 16:03:04 -0500
      Subject: [PATCH 274/293] Update build.yml
      
      ---
       .github/workflows/build.yml | 4 ++++
       1 file changed, 4 insertions(+)
      
      diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
      index 4577978..a1bd102 100644
      --- a/.github/workflows/build.yml
      +++ b/.github/workflows/build.yml
      @@ -4,6 +4,10 @@ on:
         push:
           tags:
             - '*'  # Runs on any tag push
      +  release:
      +    types:
      +      - published  # Runs when a release is published
      +  workflow_dispatch:  # Allows manual triggering
       
       jobs:
         build:
      
      From 978f3abfc3862e5b52a13434caca3b93a6e73e7d Mon Sep 17 00:00:00 2001
      From: Michel 
      Date: Fri, 8 Nov 2024 16:07:33 -0500
      Subject: [PATCH 275/293] Update build.yml
      
      ---
       .github/workflows/build.yml | 14 ++++++++------
       1 file changed, 8 insertions(+), 6 deletions(-)
      
      diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
      index a1bd102..a5b50d7 100644
      --- a/.github/workflows/build.yml
      +++ b/.github/workflows/build.yml
      @@ -1,4 +1,4 @@
      -name: Build Plugin
      +name: Build and Upload Release Asset
       
       on:
         push:
      @@ -49,9 +49,11 @@ jobs:
                 zip -r ../slm-plus.zip slm-plus
               shell: bash
       
      -      # Step 5: Upload the ZIP file as an artifact (optional)
      -      - name: Upload ZIP as artifact
      -        uses: actions/upload-artifact@v3
      +      # Step 5: Upload the ZIP as a release asset
      +      - name: Upload ZIP to Release
      +        uses: actions/upload-release-asset@v1
               with:
      -          name: slm-plus
      -          path: slm-plus.zip
      +          upload_url: ${{ github.event.release.upload_url }}
      +          asset_path: slm-plus.zip
      +          asset_name: slm-plus.zip
      +          asset_content_type: application/zip
      
      From 3cc62ae66e6ffa6aac3f964041b00a951b1e49f5 Mon Sep 17 00:00:00 2001
      From: Michel 
      Date: Tue, 12 Nov 2024 10:42:03 -0500
      Subject: [PATCH 276/293] updated builder
      
      ---
       .github/workflows/build.yml | 6 +++---
       1 file changed, 3 insertions(+), 3 deletions(-)
      
      diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
      index a5b50d7..ab5a974 100644
      --- a/.github/workflows/build.yml
      +++ b/.github/workflows/build.yml
      @@ -16,13 +16,13 @@ jobs:
           steps:
             # Step 1: Checkout code
             - name: Checkout code
      -        uses: actions/checkout@v3
      +        uses: actions/checkout@v4
       
             # Step 2: Set up Node.js (if needed)
             - name: Set up Node.js
               uses: actions/setup-node@v4
               with:
      -          node-version: '20'
      +          node-version: '23'
       
             # Step 3: Create a build directory and copy necessary files
             - name: Prepare build directory
      @@ -56,4 +56,4 @@ jobs:
                 upload_url: ${{ github.event.release.upload_url }}
                 asset_path: slm-plus.zip
                 asset_name: slm-plus.zip
      -          asset_content_type: application/zip
      +          asset_content_type: application/zip
      \ No newline at end of file
      
      From 5d33cc03b1de16e1ea6a804773edc0619883f9fb Mon Sep 17 00:00:00 2001
      From: Michel 
      Date: Tue, 12 Nov 2024 10:54:20 -0500
      Subject: [PATCH 277/293] Update build.yml
      
      ---
       .github/workflows/build.yml | 17 ++++++++++++++++-
       1 file changed, 16 insertions(+), 1 deletion(-)
      
      diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
      index ab5a974..78603b9 100644
      --- a/.github/workflows/build.yml
      +++ b/.github/workflows/build.yml
      @@ -9,6 +9,11 @@ on:
             - published  # Runs when a release is published
         workflow_dispatch:  # Allows manual triggering
       
      +permissions:
      +  contents: write  # Required to upload assets
      +  actions: write   # Required for actions to work correctly
      +  id-token: write  # For authentication if needed
      +
       jobs:
         build:
           runs-on: ubuntu-latest
      @@ -49,8 +54,18 @@ jobs:
                 zip -r ../slm-plus.zip slm-plus
               shell: bash
       
      -      # Step 5: Upload the ZIP as a release asset
      +      # Step 5: Create a Release (if push event)
      +      - name: Create a Release (if push)
      +        if: github.event_name == 'push'
      +        run: |
      +          TAG_NAME=$(echo $GITHUB_REF | sed 's/refs\/tags\///')
      +          curl -X POST -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
      +              -d '{"tag_name": "'$TAG_NAME'", "name": "'$TAG_NAME'"}' \
      +              https://api.github.com/repos/${{ github.repository }}/releases
      +
      +      # Step 6: Upload ZIP to Release (only if release is published)
             - name: Upload ZIP to Release
      +        if: github.event_name == 'release' && github.event.action == 'published'
               uses: actions/upload-release-asset@v1
               with:
                 upload_url: ${{ github.event.release.upload_url }}
      
      From 48a8c3e1d73388186057c09cf657b33ef135152e Mon Sep 17 00:00:00 2001
      From: Michel 
      Date: Tue, 12 Nov 2024 10:59:00 -0500
      Subject: [PATCH 278/293] Update build.yml
      
      ---
       .github/workflows/build.yml | 8 ++++----
       1 file changed, 4 insertions(+), 4 deletions(-)
      
      diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
      index 78603b9..d426e60 100644
      --- a/.github/workflows/build.yml
      +++ b/.github/workflows/build.yml
      @@ -12,7 +12,7 @@ on:
       permissions:
         contents: write  # Required to upload assets
         actions: write   # Required for actions to work correctly
      -  id-token: write  # For authentication if needed
      +  id-token: write  # Required for authentication if necessary
       
       jobs:
         build:
      @@ -60,8 +60,8 @@ jobs:
               run: |
                 TAG_NAME=$(echo $GITHUB_REF | sed 's/refs\/tags\///')
                 curl -X POST -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
      -              -d '{"tag_name": "'$TAG_NAME'", "name": "'$TAG_NAME'"}' \
      -              https://api.github.com/repos/${{ github.repository }}/releases
      +               -d '{"tag_name": "'$TAG_NAME'", "name": "'$TAG_NAME'"}' \
      +               https://api.github.com/repos/${{ github.repository }}/releases
       
             # Step 6: Upload ZIP to Release (only if release is published)
             - name: Upload ZIP to Release
      @@ -71,4 +71,4 @@ jobs:
                 upload_url: ${{ github.event.release.upload_url }}
                 asset_path: slm-plus.zip
                 asset_name: slm-plus.zip
      -          asset_content_type: application/zip
      \ No newline at end of file
      +          asset_content_type: application/zip
      
      From 8cfc46029b0c588087dbb107b614bf76e9fec7fe Mon Sep 17 00:00:00 2001
      From: Michel 
      Date: Tue, 12 Nov 2024 11:04:54 -0500
      Subject: [PATCH 279/293] Update build.yml
      
      ---
       .github/workflows/build.yml | 6 +++---
       1 file changed, 3 insertions(+), 3 deletions(-)
      
      diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
      index d426e60..5dd154a 100644
      --- a/.github/workflows/build.yml
      +++ b/.github/workflows/build.yml
      @@ -6,13 +6,13 @@ on:
             - '*'  # Runs on any tag push
         release:
           types:
      -      - published  # Runs when a release is published
      +      - published  # Runs when a release is published manually or via API
         workflow_dispatch:  # Allows manual triggering
       
       permissions:
         contents: write  # Required to upload assets
         actions: write   # Required for actions to work correctly
      -  id-token: write  # Required for authentication if necessary
      +  id-token: write  # If required for authentication
       
       jobs:
         build:
      @@ -66,7 +66,7 @@ jobs:
             # Step 6: Upload ZIP to Release (only if release is published)
             - name: Upload ZIP to Release
               if: github.event_name == 'release' && github.event.action == 'published'
      -        uses: actions/upload-release-asset@v1
      +        uses: actions/upload-release-asset@v2
               with:
                 upload_url: ${{ github.event.release.upload_url }}
                 asset_path: slm-plus.zip
      
      From e9c8f06e9078d329f80496636f66396e8f0c79ea Mon Sep 17 00:00:00 2001
      From: Michel 
      Date: Tue, 12 Nov 2024 11:04:54 -0500
      Subject: [PATCH 280/293] Update build.yml
      
      ---
       .github/workflows/build.yml | 6 +++---
       1 file changed, 3 insertions(+), 3 deletions(-)
      
      diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
      index d426e60..5dd154a 100644
      --- a/.github/workflows/build.yml
      +++ b/.github/workflows/build.yml
      @@ -6,13 +6,13 @@ on:
             - '*'  # Runs on any tag push
         release:
           types:
      -      - published  # Runs when a release is published
      +      - published  # Runs when a release is published manually or via API
         workflow_dispatch:  # Allows manual triggering
       
       permissions:
         contents: write  # Required to upload assets
         actions: write   # Required for actions to work correctly
      -  id-token: write  # Required for authentication if necessary
      +  id-token: write  # If required for authentication
       
       jobs:
         build:
      @@ -66,7 +66,7 @@ jobs:
             # Step 6: Upload ZIP to Release (only if release is published)
             - name: Upload ZIP to Release
               if: github.event_name == 'release' && github.event.action == 'published'
      -        uses: actions/upload-release-asset@v1
      +        uses: actions/upload-release-asset@v2
               with:
                 upload_url: ${{ github.event.release.upload_url }}
                 asset_path: slm-plus.zip
      
      From a5df453e41a92c86912ad47b643c688dc82572f3 Mon Sep 17 00:00:00 2001
      From: Michel 
      Date: Tue, 12 Nov 2024 11:17:27 -0500
      Subject: [PATCH 281/293] Update build.yml
      
      ---
       .github/workflows/build.yml | 2 +-
       1 file changed, 1 insertion(+), 1 deletion(-)
      
      diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
      index 5dd154a..296507c 100644
      --- a/.github/workflows/build.yml
      +++ b/.github/workflows/build.yml
      @@ -66,7 +66,7 @@ jobs:
             # Step 6: Upload ZIP to Release (only if release is published)
             - name: Upload ZIP to Release
               if: github.event_name == 'release' && github.event.action == 'published'
      -        uses: actions/upload-release-asset@v2
      +        uses: actions/upload-release-asset@v1
               with:
                 upload_url: ${{ github.event.release.upload_url }}
                 asset_path: slm-plus.zip
      
      From cd7087eb420c9a7c56fc59e112a951040857f622 Mon Sep 17 00:00:00 2001
      From: Michel 
      Date: Tue, 12 Nov 2024 11:24:05 -0500
      Subject: [PATCH 282/293] Update build.yml
      
      ---
       .github/workflows/build.yml | 6 ++++--
       1 file changed, 4 insertions(+), 2 deletions(-)
      
      diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
      index 296507c..a3a7e52 100644
      --- a/.github/workflows/build.yml
      +++ b/.github/workflows/build.yml
      @@ -6,13 +6,13 @@ on:
             - '*'  # Runs on any tag push
         release:
           types:
      -      - published  # Runs when a release is published manually or via API
      +      - published  # Runs when a release is published
         workflow_dispatch:  # Allows manual triggering
       
       permissions:
         contents: write  # Required to upload assets
         actions: write   # Required for actions to work correctly
      -  id-token: write  # If required for authentication
      +  id-token: write  # Required for authentication if necessary
       
       jobs:
         build:
      @@ -72,3 +72,5 @@ jobs:
                 asset_path: slm-plus.zip
                 asset_name: slm-plus.zip
                 asset_content_type: application/zip
      +        env:
      +          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}  # Ensure token is passed correctly
      
      From f0f1e18a46e9a471ff4d68ff3199e600edee8782 Mon Sep 17 00:00:00 2001
      From: Michel 
      Date: Tue, 12 Nov 2024 11:27:30 -0500
      Subject: [PATCH 283/293] Update README.md
      
      ---
       README.md | 4 +++-
       1 file changed, 3 insertions(+), 1 deletion(-)
      
      diff --git a/README.md b/README.md
      index ba64169..aa1c8ad 100755
      --- a/README.md
      +++ b/README.md
      @@ -1,9 +1,11 @@
       # Welcome to SLM Plus 👋
       
      -![Version](https://img.shields.io/badge/version-6.1.7-blue.svg?cacheSeconds=2592000)
      +![Version](https://img.shields.io/github/v/release/michelve/software-license-manager?color=blue)
      +![Build Status](https://img.shields.io/github/workflow/status/michelve/software-license-manager/Build%20and%20Upload%20Release%20Asset)
       [![Documentation](https://img.shields.io/badge/documentation-yes-brightgreen.svg)](https://documenter.getpostman.com/view/307939/6tjU1FL?version=latest)
       [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/michelve/software-license-manager/blob/master/LICENSE.md)
       
      +
       🔐 SLM Plus - Enhanced SLM Plus for WordPress
       
       SLM Plus is a robust and customizable license management plugin for WordPress, built to integrate seamlessly with WooCommerce and WP eStore. Designed to provide comprehensive license generation, validation, and tracking capabilities, SLM Plus simplifies software licensing workflows, ensuring secure, efficient distribution and control of your digital products.
      
      From 5e8a538240224dfb6c7736a3ca11d9ace708106f Mon Sep 17 00:00:00 2001
      From: Michel 
      Date: Tue, 12 Nov 2024 11:28:05 -0500
      Subject: [PATCH 284/293] Update README.md
      
      ---
       README.md | 1 -
       1 file changed, 1 deletion(-)
      
      diff --git a/README.md b/README.md
      index aa1c8ad..b9022b7 100755
      --- a/README.md
      +++ b/README.md
      @@ -1,7 +1,6 @@
       # Welcome to SLM Plus 👋
       
       ![Version](https://img.shields.io/github/v/release/michelve/software-license-manager?color=blue)
      -![Build Status](https://img.shields.io/github/workflow/status/michelve/software-license-manager/Build%20and%20Upload%20Release%20Asset)
       [![Documentation](https://img.shields.io/badge/documentation-yes-brightgreen.svg)](https://documenter.getpostman.com/view/307939/6tjU1FL?version=latest)
       [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/michelve/software-license-manager/blob/master/LICENSE.md)
       
      
      From 7c18a6ad54beb75cf313a24bdd6a39c3fd457807 Mon Sep 17 00:00:00 2001
      From: Michel 
      Date: Tue, 12 Nov 2024 11:29:56 -0500
      Subject: [PATCH 285/293] Delete package.json
      
      ---
       package.json | 56 ----------------------------------------------------
       1 file changed, 56 deletions(-)
       delete mode 100644 package.json
      
      diff --git a/package.json b/package.json
      deleted file mode 100644
      index a37ef11..0000000
      --- a/package.json
      +++ /dev/null
      @@ -1,56 +0,0 @@
      -{
      -  "name": "@michelve/software-license-manager",
      -  "version": "6.1.7",
      -  "description": "Comprehensive software license management solution for WordPress and PHP-based applications, supporting WooCommerce integration.",
      -  "scripts": {
      -    "changelog": "auto-changelog --output CHANGELOG.md --template keepachangelog --unreleased --commit-limit false && git add CHANGELOG.md",
      -    "postpublish": "npm publish --ignore-scripts --@michelve:registry='https://registry.npmjs.org'",
      -    "prepublishOnly": "npm run changelog && git commit -m 'Update changelog for release v$npm_package_version' CHANGELOG.md && git push"
      -  },
      -  "auto-changelog": {
      -    "output": "CHANGELOG.md",
      -    "template": "keepachangelog",
      -    "unreleased": true,
      -    "commitLimit": false,
      -    "includeBranches": [
      -      "release-v2",
      -      "release-v3",
      -      "main",
      -      "develop"
      -    ],
      -    "ignoreCommitPattern": "^Merge|^Bump"
      -  },
      -  "repository": {
      -    "type": "git",
      -    "url": "git+https://github.com/michelve/software-license-manager.git"
      -  },
      -  "publishConfig": {
      -    "registry": "https://npm.pkg.github.com"
      -  },
      -  "keywords": [
      -    "software",
      -    "license manager",
      -    "software license",
      -    "wordpress",
      -    "woocommerce",
      -    "license key generator",
      -    "slm",
      -    "php"
      -  ],
      -  "author": "Michel Velis",
      -  "contributors": [
      -    {
      -      "name": "Tips and Tricks HQ",
      -      "email": "support@tipsandtrickshq.com"
      -    }
      -  ],
      -  "license": "MIT",
      -  "bugs": {
      -    "url": "https://github.com/michelve/software-license-manager/issues"
      -  },
      -  "homepage": "https://github.com/michelve/software-license-manager#readme",
      -  "devDependencies": {
      -    "auto-changelog": "^2.5.0"
      -  },
      -  "main": "slm-plus.php"
      -}
      
      From 1ab8114235240c0e4852f6b84a1f967db5b7a389 Mon Sep 17 00:00:00 2001
      From: Michel 
      Date: Tue, 19 Nov 2024 10:01:55 -0500
      Subject: [PATCH 286/293] 6.1.9
      
      Enhanced security measures, optimized plugin functionality, and resolved minor bugs.
      ---
       .gitignore                                    |   18 +-
       admin/includes/cronjobs/slm-tasks.php         |   16 +-
       admin/includes/partials/stats.php             |   40 +-
       admin/includes/wpestores/slm-wpestores.php    |  287 ---
       admin/slm-about-menu.php                      |   22 +-
       admin/slm-add-licenses.php                    |  475 ++---
       admin/slm-admin-functions.php                 |  292 ++--
       admin/slm-dashboard-widgets.php               |  125 +-
       admin/slm-integration-help-page.php           |   90 +-
       admin/slm-lic-settings.php                    |  152 +-
       admin/slm-list-licenses-class.php             |  307 ++--
       admin/slm-manage-licenses.php                 |   12 +-
       admin/slm-subscribers.php                     |   92 +-
       i18n/languages/slm-plus.pot                   | 1553 +++++++++++++++++
       i18n/languages/slmplus-es_ES.mo               |  Bin 2756 -> 0 bytes
       i18n/languages/slmplus-es_ES.po               | 1511 ----------------
       i18n/languages/slmplus.mo                     |  Bin 2756 -> 0 bytes
       i18n/languages/slmplus.pot                    | 1228 -------------
       includes/class-slm-installer.php              |    8 +-
       includes/slm-api-listener.php                 |  179 +-
       includes/slm-init-time-tasks.php              |   51 +-
       includes/slm-plugin-core.php                  |  156 +-
       includes/slm-utility.php                      |  477 +++--
       includes/wp-mail-class.php                    |    6 +-
       logs/log-cron-job.txt                         |    2 +-
       logs/log.txt                                  |  361 ++++
       readme.txt                                    |   52 +-
       samples/ActivateLicense.php                   |   69 -
       samples/CheckLicense.php                      |   68 -
       samples/CoreConfig.php                        |  114 --
       samples/CreateLicense.php                     |   47 -
       samples/DeactivateLicense.php                 |   61 -
       samples/GetLicenseInfo.php                    |   83 -
       samples/LicenseAPI.php                        |   73 -
       slm-plus.php                                  |   19 +-
       uninstall.php                                 |   63 +-
       .../includes/create-license-orders.php        |   64 +-
       woocommerce/includes/purchase.php             |  261 +--
       woocommerce/includes/slm-meta-boxes.php       |  346 ++--
       .../add-to-cart/slm_license.php               |   56 +
       woocommerce/includes/wc_licenses_class.php    |  122 +-
       .../add-to-cart/slm_license.php               |   40 -
       42 files changed, 3934 insertions(+), 5064 deletions(-)
       delete mode 100755 admin/includes/wpestores/slm-wpestores.php
       create mode 100644 i18n/languages/slm-plus.pot
       delete mode 100644 i18n/languages/slmplus-es_ES.mo
       delete mode 100644 i18n/languages/slmplus-es_ES.po
       delete mode 100644 i18n/languages/slmplus.mo
       delete mode 100644 i18n/languages/slmplus.pot
       delete mode 100644 samples/ActivateLicense.php
       delete mode 100644 samples/CheckLicense.php
       delete mode 100644 samples/CoreConfig.php
       delete mode 100644 samples/CreateLicense.php
       delete mode 100644 samples/DeactivateLicense.php
       delete mode 100644 samples/GetLicenseInfo.php
       delete mode 100644 samples/LicenseAPI.php
       create mode 100644 woocommerce/includes/templates/single-product/add-to-cart/slm_license.php
       delete mode 100644 woocommerce/templates/single-product/add-to-cart/slm_license.php
      
      diff --git a/.gitignore b/.gitignore
      index 91b6a44..dda102d 100755
      --- a/.gitignore
      +++ b/.gitignore
      @@ -6,4 +6,20 @@ package-lock.json
       .Icon
       /node_modules/
       /node_modules/*
      -.vscode
      \ No newline at end of file
      +.vscode
      +/samples/
      +samples/LicenseAPI.php
      +samples/LicenseAPI.php
      +samples/GetLicenseInfo.php
      +samples/DeactivateLicense.php
      +samples/CreateLicense.php
      +samples/CoreConfig.php
      +samples/CheckLicense.php
      +samples/LicenseAPI.php
      +samples/GetLicenseInfo.php
      +samples/DeactivateLicense.php
      +samples/CreateLicense.php
      +samples/CoreConfig.php
      +samples/CheckLicense.php
      +samples/GetLicenseInfo.php
      +samples/DeactivateLicense.php
      diff --git a/admin/includes/cronjobs/slm-tasks.php b/admin/includes/cronjobs/slm-tasks.php
      index 0cf8c4c..2311e90 100644
      --- a/admin/includes/cronjobs/slm-tasks.php
      +++ b/admin/includes/cronjobs/slm-tasks.php
      @@ -6,7 +6,7 @@ function slm_add_daily_cron_schedule($schedules) {
           // Define a daily interval (24 hours = 86400 seconds)
           $schedules['slm_daily'] = array(
               'interval' => 86400,
      -        'display'  => __('Every 24 Hours', 'slmplus'),
      +        'display'  => __('Every 24 Hours', 'slm-plus'),
           );
           return $schedules;
       }
      @@ -86,8 +86,8 @@ function slm_clear_scheduled_events() {
       function slm_add_manual_license_check_page() {
           add_submenu_page(
               'tools.php', // Parent slug, 'Tools' menu
      -        __('Run License Check', 'slmplus'), // Page title
      -        __('Run License Check', 'slmplus'), // Menu title
      +        __('Run License Check', 'slm-plus'), // Page title
      +        __('Run License Check', 'slm-plus'), // Menu title
               'manage_options', // Capability required
               'slm-manual-license-check', // Menu slug
               'slm_manual_license_check_page' // Callback function
      @@ -110,23 +110,23 @@ function slm_manual_license_check_page() {
               $expired_licenses = slm_run_license_check();
               
               if (!empty($expired_licenses)) {
      -            echo '

      ' . __('License check completed. The following licenses have expired:', 'slmplus') . '

      '; + echo '

      ' . esc_html__('License check completed. The following licenses have expired:', 'slm-plus') . '

      '; } else { - echo '

      ' . __('License check completed. No expired licenses found.', 'slmplus') . '

      '; + echo '

      ' . esc_html__('License check completed. No expired licenses found.', 'slm-plus') . '

      '; } } // Display the button in the admin area echo '
      '; - echo '

      ' . __('Run License Check Manually', 'slmplus') . '

      '; + echo '

      ' . esc_html__('Run License Check Manually', 'slm-plus') . '

      '; echo '
      '; wp_nonce_field('slm_manual_check_action', 'slm_manual_check_nonce'); - echo ''; + echo ''; echo '
      '; // Output expired licenses if available if (!empty($expired_licenses)) { - echo '

      ' . __('Expired Licenses:', 'slmplus') . '

      '; + echo '

      ' . esc_html__('Expired Licenses:', 'slm-plus') . '

      '; echo '
        '; foreach ($expired_licenses as $license) { echo '
      • ' . esc_html($license) . '
      • '; diff --git a/admin/includes/partials/stats.php b/admin/includes/partials/stats.php index b78e19a..9c02efc 100644 --- a/admin/includes/partials/stats.php +++ b/admin/includes/partials/stats.php @@ -2,100 +2,100 @@
      • -
        +
        - +
      • -
        +
        - +
      • -
        +
        - +
      • -
        +
        - +
      • -
        +
        - +
      • -
        +
        - +
      • -
        +
        - +
      • -
        +
        - +
      • -
        +
        - +
      • -
        +
        - +
      diff --git a/admin/includes/wpestores/slm-wpestores.php b/admin/includes/wpestores/slm-wpestores.php deleted file mode 100755 index 45d336f..0000000 --- a/admin/includes/wpestores/slm-wpestores.php +++ /dev/null @@ -1,287 +0,0 @@ -log_debug("WP eStore integration - checking if a license key needs to be created for this transaction."); - $products_table_name = $wpdb->prefix . "wp_eStore_tbl"; - $slm_data = ""; - - //Check if this is a recurring payment. - if (function_exists('is_paypal_recurring_payment')) { - $recurring_payment = is_paypal_recurring_payment($payment_data); - if ($recurring_payment) { - $slm_debug_logger->log_debug("This is a recurring payment. No need to create a new license key."); - do_action('slm_estore_recurring_payment_received', $payment_data, $cart_items); - return $body; - } - } - - foreach ($cart_items as $current_cart_item) { - $prod_id = $current_cart_item['item_number']; - $item_name = $current_cart_item['item_name']; - $quantity = $current_cart_item['quantity']; - if (empty($quantity)) { - $quantity = 1; - } - $slm_debug_logger->log_debug('License Manager - Item Number: ' . $prod_id . ', Quantity: ' . $quantity . ', Item Name: ' . $item_name); - - $retrieved_product = $wpdb->get_row("SELECT * FROM $products_table_name WHERE id = '$prod_id'", OBJECT); - $package_product = eStore_is_package_product($retrieved_product); - if ($package_product) { - $slm_debug_logger->log_debug('Checking license key generation for package/bundle product.'); - $product_ids = explode(',', $retrieved_product->product_download_url); - foreach ($product_ids as $id) { - $id = trim($id); - $retrieved_product_for_specific_id = $wpdb->get_row("SELECT * FROM $products_table_name WHERE id = '$id'", OBJECT); - //$slm_data .= slm_estore_check_and_generate_key($retrieved_product_for_specific_id, $payment_data, $cart_items, $item_name); - $slm_data .= slm_estore_check_and_create_key_for_qty($retrieved_product_for_specific_id, $payment_data, $cart_items, $item_name, $quantity); - } - } else { - $slm_debug_logger->log_debug('Checking license key generation for single item product.'); - $slm_data .= slm_estore_check_and_create_key_for_qty($retrieved_product, $payment_data, $cart_items, $item_name, $quantity); - } - } - - $body = str_replace("{slm_data}", $slm_data, $body); - return $body; -} - -function slm_estore_check_and_create_key_for_qty($retrieved_product, $payment_data, $cart_items, $item_name, $quantity) -{ - $prod_key_data = ""; - for ($i = 0; $i < $quantity; $i++) { - $prod_key_data .= slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items, $item_name); - } - return $prod_key_data; -} - -function slm_estore_check_and_generate_key($retrieved_product, $payment_data, $cart_items, $item_name) -{ - global $slm_debug_logger; - $license_data = ''; - - if ($retrieved_product->create_license == 1) { - $slm_debug_logger->log_debug('Need to create a license key for this product (' . $retrieved_product->id . ')'); - $slm_key = slm_estore_create_license($retrieved_product, $payment_data, $cart_items, $item_name); - $license_data = "\n" . __('Item Name: ', 'slm') . $retrieved_product->name . " - " . __('License Key: ', 'slm') . $slm_key; - $slm_debug_logger->log_debug('Liense data: ' . $license_data); - $license_data = apply_filters('slm_estore_item_license_data', $license_data); - } - return $license_data; -} - -function slm_estore_create_license($retrieved_product, $payment_data, $cart_items, $item_name) -{ - global $slm_debug_logger; - global $wpdb; - $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; - - //Retrieve the default settings values. - $options = get_option('slm_plugin_options'); - $lic_key_prefix = $options['lic_prefix']; - $max_domains = $options['default_max_domains']; - - //Lets check any product specific configuration. - $prod_id = $retrieved_product->id; - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_domains'", OBJECT); - if ($product_meta) { - //Found product specific SLM config data. - $max_domains = $product_meta->meta_value; - } else { - //Use the default value from settings (the $max_domains variable contains the default value already). - } - //Lets check if any product specific expiry date is set - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_date_of_expiry'", OBJECT); - if ($product_meta) { - //Found product specific SLM config data. - $num_days_before_expiry = $product_meta->meta_value; - $slm_date_of_expiry = wp_date('Y-m-d', strtotime('+' . $num_days_before_expiry . ' days')); - } else { - //Use the default value (1 year from today). - $current_date_plus_1year = wp_date('Y-m-d', strtotime('+1 year')); - $slm_date_of_expiry = $current_date_plus_1year; - } - - - $fields = array(); - $fields['license_key'] = uniqid($lic_key_prefix); - $fields['lic_status'] = 'pending'; - $fields['first_name'] = $payment_data['first_name']; - $fields['last_name'] = $payment_data['last_name']; - $fields['email'] = $payment_data['payer_email']; - $fields['company_name'] = $payment_data['company_name']; - $fields['txn_id'] = $payment_data['txn_id']; - $fields['max_allowed_domains'] = $max_domains; - $fields['date_created'] = wp_date("Y-m-d"); //Today's date - $fields['date_expiry'] = $slm_date_of_expiry; - $fields['product_ref'] = $prod_id; //WP eStore product ID - $fields['subscr_id'] = isset($payment_data['subscr_id']) ? $payment_data['subscr_id'] : ''; - - $slm_debug_logger->log_debug('Inserting license data into the license manager DB table.'); - $fields = array_filter($fields); //Remove any null values. - - - $slm_lic_table = SLM_TBL_LICENSE_KEYS; - $result = $wpdb->insert($slm_lic_table, $fields); - if (!$result) { - $slm_debug_logger->log_debug('Notice! initial database table insert failed on license key table (User Email: ' . $fields['email'] . '). Trying again by converting charset', true); - //Convert the default PayPal IPN charset to UTF-8 format - $first_name = mb_convert_encoding($fields['first_name'], "UTF-8", "windows-1252"); - $fields['first_name'] = esc_sql($first_name); - $last_name = mb_convert_encoding($fields['last_name'], "UTF-8", "windows-1252"); - $fields['last_name'] = esc_sql($last_name); - $company_name = mb_convert_encoding($fields['company_name'], "UTF-8", "windows-1252"); - $fields['company_name'] = esc_sql($company_name); - - $result = $wpdb->insert($slm_lic_table, $fields); - if (!$result) { - $slm_debug_logger->log_debug('Error! Failed to update license key table. DB insert query failed.', false); - } - } - //SLM_API_Utility::insert_license_data_internal($fields); - - $prod_args = array('estore_prod_id' => $prod_id, 'estore_item_name' => $item_name); - do_action('slm_estore_license_created', $prod_args, $payment_data, $cart_items, $fields); - - return $fields['license_key']; -} - -/* Code to handle the eStore's product add/edit interface for SLM specific product configuration */ -add_filter('eStore_addon_product_settings_filter', 'slm_estore_product_configuration_html', 10, 2); //Render the product add/edit HTML -add_action('eStore_new_product_added', 'slm_estore_new_product_added', 10, 2); //Handle the DB insert after a product add. -add_action('eStore_product_updated', 'slm_estore_product_updated', 10, 2); //Handle the DB update after a product edit. -add_action('eStore_product_deleted', 'slm_estore_product_deleted'); //Handle the DB delete after a product delete. - -function slm_estore_product_configuration_html($product_config_html, $prod_id) -{ - global $wpdb; - $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; - - if (empty($prod_id)) { - //New product add - $slm_max_allowed_domains = ""; - $slm_date_of_expiry = ""; - } else { - //Existing product edit - - //Retrieve the max domain value - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_domains'", OBJECT); - if ($product_meta) { - $slm_max_allowed_domains = $product_meta->meta_value; - } else { - $slm_max_allowed_domains = ""; - } - - //Retrieve the expiry date value - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_date_of_expiry'", OBJECT); - if ($product_meta) { - $slm_date_of_expiry = $product_meta->meta_value; - } else { - $slm_date_of_expiry = ""; - } - } - - $product_config_html .= '
      SLM Plus Plugin (Click to Expand)
      '; - - $product_config_html .= ''; - - $product_config_html .= ''; - - $product_config_html .= '
      Maximum Allowed Domains'; - $product_config_html .= ''; - $product_config_html .= '

      Number of domains/installs in which this license can be used. Leave blank if you wish to use the default value set in the license manager plugin settings.

      '; - $product_config_html .= '
      Number of Days before Expiry'; - $product_config_html .= ' Days'; - $product_config_html .= '

      Number of days before expiry. The expiry date of the license will be set based on this value. For example, if you want the key to expire in 6 months then enter a value of 180.

      '; - $product_config_html .= '
      '; - - return $product_config_html; -} - -function slm_estore_new_product_added($prod_dat_array, $prod_id) -{ - global $wpdb; - $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; - - //Save max domain value - $fields = array(); - $fields['prod_id'] = $prod_id; - $fields['meta_key'] = 'slm_max_allowed_domains'; - $fields['meta_value'] = $prod_dat_array['slm_max_allowed_domains']; - $result = $wpdb->insert($product_meta_table_name, $fields); - if (!$result) { - //insert query failed - } - - //Save expiry date value - $fields = array(); - $fields['prod_id'] = $prod_id; - $fields['meta_key'] = 'slm_date_of_expiry'; - $fields['meta_value'] = $prod_dat_array['slm_date_of_expiry']; - $result = $wpdb->insert($product_meta_table_name, $fields); - if (!$result) { - //insert query failed - } -} - -function slm_estore_product_updated($prod_dat_array, $prod_id) -{ - global $wpdb; - $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; - - //Find the existing value for the max domains field (for the given product) - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_max_allowed_domains'", OBJECT); - if ($product_meta) { - //Found existing value so lets update it - //Better to do specific update (so the other meta values for example "download_limit_count" doesn't get set to empty). - $meta_key_name = "slm_max_allowed_domains"; - $meta_value = $prod_dat_array['slm_max_allowed_domains']; - $update_db_qry = "UPDATE $product_meta_table_name SET meta_value='$meta_value' WHERE prod_id='$prod_id' AND meta_key='$meta_key_name'"; - $results = $wpdb->query($update_db_qry); - } else { - //No value for this field was there so lets insert one. - $fields = array(); - $fields['prod_id'] = $prod_id; - $fields['meta_key'] = 'slm_max_allowed_domains'; - $fields['meta_value'] = $prod_dat_array['slm_max_allowed_domains']; - $result = $wpdb->insert($product_meta_table_name, $fields); - } - - //Find the existing value for the expiry date field (for the given product) - $product_meta = $wpdb->get_row("SELECT * FROM $product_meta_table_name WHERE prod_id = '$prod_id' AND meta_key='slm_date_of_expiry'", OBJECT); - if ($product_meta) { - //Found existing value so lets update it - //Better to do specific update (so the other meta values for example "download_limit_count" doesn't get set to empty). - $meta_key_name = "slm_date_of_expiry"; - $meta_value = $prod_dat_array['slm_date_of_expiry']; - $update_db_qry = "UPDATE $product_meta_table_name SET meta_value='$meta_value' WHERE prod_id='$prod_id' AND meta_key='$meta_key_name'"; - $results = $wpdb->query($update_db_qry); - } else { - //No value for this field was there so lets insert one. - $fields = array(); - $fields['prod_id'] = $prod_id; - $fields['meta_key'] = 'slm_date_of_expiry'; - $fields['meta_value'] = $prod_dat_array['slm_date_of_expiry']; - $result = $wpdb->insert($product_meta_table_name, $fields); - } -} - -function slm_estore_product_deleted($prod_id) -{ - global $wpdb; - $product_meta_table_name = WP_ESTORE_PRODUCTS_META_TABLE_NAME; - - $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_max_allowed_domains')); - $result = $wpdb->delete($product_meta_table_name, array('prod_id' => $prod_id, 'meta_key' => 'slm_date_of_expiry')); -} - -/************************************/ -/*** End of WP eStore integration ***/ -/************************************/ diff --git a/admin/slm-about-menu.php b/admin/slm-about-menu.php index d107bbc..81d7fa7 100644 --- a/admin/slm-about-menu.php +++ b/admin/slm-about-menu.php @@ -13,49 +13,49 @@ function slm_about_menu() ?>

      - +

      -

      +

      -

      +

      - - + + - + - + - + diff --git a/admin/slm-add-licenses.php b/admin/slm-add-licenses.php index 889eacd..44a6619 100755 --- a/admin/slm-add-licenses.php +++ b/admin/slm-add-licenses.php @@ -1,6 +1,4 @@ sanitize_text_field($_POST['license_key']), - 'max_allowed_domains' => intval($_POST['max_allowed_domains']), - 'max_allowed_devices' => intval($_POST['max_allowed_devices']), - 'lic_status' => sanitize_text_field($_POST['lic_status']), - 'first_name' => sanitize_text_field($_POST['first_name']), - 'last_name' => sanitize_text_field($_POST['last_name']), - 'email' => is_email($_POST['email']) ? sanitize_email($_POST['email']) : '', - 'company_name' => sanitize_text_field($_POST['company_name']), - 'txn_id' => sanitize_text_field($_POST['txn_id']), - 'manual_reset_count' => intval($_POST['manual_reset_count']), - 'purchase_id_' => sanitize_text_field($_POST['purchase_id_']), - 'date_created' => isset($_POST['date_created']) ? SLM_API_Utility::slm_validate_date($_POST['date_created']) : date_i18n('Y-m-d'), // Default to today's date if not set - 'date_renewed' => SLM_API_Utility::slm_validate_date($_POST['date_renewed']), - 'date_activated' => SLM_API_Utility::slm_validate_date($_POST['date_activated']), - 'product_ref' => sanitize_text_field($_POST['product_ref']), - 'until' => sanitize_text_field($_POST['until']), - 'current_ver' => sanitize_text_field($_POST['current_ver']), - 'subscr_id' => sanitize_text_field($_POST['subscr_id']), - 'lic_type' => sanitize_text_field($_POST['lic_type']), - 'date_expiry' => ($_POST['lic_type'] === 'lifetime') ? date('Y-m-d', strtotime('+200 years')) : SLM_API_Utility::slm_validate_date($_POST['date_expiry']), - 'item_reference' => sanitize_text_field($_POST['item_reference']), - 'slm_billing_length' => sanitize_text_field($_POST['slm_billing_length']), - 'slm_billing_interval' => sanitize_text_field($_POST['slm_billing_interval']), - 'reminder_sent' => intval($_POST['reminder_sent']), - 'reminder_sent_date' => SLM_API_Utility::slm_validate_date($_POST['reminder_sent_date']), + 'license_key' => isset($_POST['license_key']) ? sanitize_text_field(wp_unslash($_POST['license_key'])) : '', + 'max_allowed_domains' => isset($_POST['max_allowed_domains']) ? intval(wp_unslash($_POST['max_allowed_domains'])) : 0, + 'max_allowed_devices' => isset($_POST['max_allowed_devices']) ? intval(wp_unslash($_POST['max_allowed_devices'])) : 0, + 'lic_status' => isset($_POST['lic_status']) ? sanitize_text_field(wp_unslash($_POST['lic_status'])) : '', + 'first_name' => isset($_POST['first_name']) ? sanitize_text_field(wp_unslash($_POST['first_name'])) : '', + 'last_name' => isset($_POST['last_name']) ? sanitize_text_field(wp_unslash($_POST['last_name'])) : '', + 'email' => isset($_POST['email']) && is_email(wp_unslash($_POST['email'])) ? sanitize_email(wp_unslash($_POST['email'])) : '', // Ensure unslash before sanitization + 'company_name' => isset($_POST['company_name']) ? sanitize_text_field(wp_unslash($_POST['company_name'])) : '', + 'txn_id' => isset($_POST['txn_id']) ? sanitize_text_field(wp_unslash($_POST['txn_id'])) : '', + 'manual_reset_count' => isset($_POST['manual_reset_count']) ? intval(wp_unslash($_POST['manual_reset_count'])) : 0, + 'purchase_id_' => isset($_POST['purchase_id_']) ? sanitize_text_field(wp_unslash($_POST['purchase_id_'])) : '', + 'date_created' => isset($_POST['date_created']) ? SLM_API_Utility::slm_validate_date(sanitize_text_field(wp_unslash($_POST['date_created']))) : date_i18n('Y-m-d'), // Default to today's date if not set + 'date_renewed' => isset($_POST['date_renewed']) ? SLM_API_Utility::slm_validate_date(sanitize_text_field(wp_unslash($_POST['date_renewed']))) : '', + 'date_activated' => isset($_POST['date_activated']) ? SLM_API_Utility::slm_validate_date(sanitize_text_field(wp_unslash($_POST['date_activated']))) : '', + 'product_ref' => isset($_POST['product_ref']) ? sanitize_text_field(wp_unslash($_POST['product_ref'])) : '', + 'until' => isset($_POST['until']) ? sanitize_text_field(wp_unslash($_POST['until'])) : '', + 'current_ver' => isset($_POST['current_ver']) ? sanitize_text_field(wp_unslash($_POST['current_ver'])) : '', + 'subscr_id' => isset($_POST['subscr_id']) ? sanitize_text_field(wp_unslash($_POST['subscr_id'])) : '', + 'lic_type' => isset($_POST['lic_type']) ? sanitize_text_field(wp_unslash($_POST['lic_type'])) : '', + 'date_expiry' => isset($_POST['lic_type']) && $_POST['lic_type'] === 'lifetime' ? gmdate('Y-m-d', strtotime('+200 years')) : (isset($_POST['date_expiry']) ? SLM_API_Utility::slm_validate_date(sanitize_text_field(wp_unslash($_POST['date_expiry']))) : ''), + 'item_reference' => isset($_POST['item_reference']) ? sanitize_text_field(wp_unslash($_POST['item_reference'])) : '', + 'slm_billing_length' => isset($_POST['slm_billing_length']) ? sanitize_text_field(wp_unslash($_POST['slm_billing_length'])) : '', + 'slm_billing_interval' => isset($_POST['slm_billing_interval']) ? sanitize_text_field(wp_unslash($_POST['slm_billing_interval'])) : '', + 'reminder_sent' => isset($_POST['reminder_sent']) ? intval(wp_unslash($_POST['reminder_sent'])) : 0, + 'reminder_sent_date' => isset($_POST['reminder_sent_date']) ? SLM_API_Utility::slm_validate_date(sanitize_text_field(wp_unslash($_POST['reminder_sent_date']))) : '', ]; // Check for required fields if (empty($data['email']) || empty($data['date_created']) || ($data['lic_type'] !== 'lifetime' && empty($data['date_expiry'])) || empty($data['lic_type'])) { - echo '

      ' . __('Required fields are missing.', 'slmplus') . '

      '; + echo '

      ' . esc_html__('Required fields are missing.', 'slm-plus') . '

      '; } else { // Insert or update the data in the database if ($id) { $wpdb->update(SLM_TBL_LICENSE_KEYS, $data, ['id' => $id]); - echo '

      ' . __('License updated successfully.', 'slmplus') . '

      '; + echo '

      ' . esc_html__('License updated successfully.', 'slm-plus') . '

      '; } else { $wpdb->insert(SLM_TBL_LICENSE_KEYS, $data); - echo '

      ' . __('License created successfully.', 'slmplus') . '

      '; - echo '' . __('View License', 'slmplus') . '

      '; + echo '

      ' . esc_html__('License created successfully.', 'slm-plus') . '

      '; + echo '' . esc_html__('View License', 'slm-plus') . '

      '; } } - } - else { + } else { // If editing, load existing data if ($id) { - $license = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . SLM_TBL_LICENSE_KEYS . " WHERE id = %d", $id)); + // Sanitize the $id to make sure it's an integer + $id = intval($id); + + // Define the table name as a constant + $table_name = SLM_TBL_LICENSE_KEYS; + + // Use $wpdb->prepare() for the actual query with a placeholder for the ID + $query = $wpdb->prepare( + "SELECT * FROM {$table_name} WHERE id = %d", // Use %d for the integer placeholder + $id + ); + + // Get the result using the prepared query + $license = $wpdb->get_row($query); + if ($license) { $data = (array) $license; + } else { + // If the license is not found, reset to create a new record + $data = [ + 'license_key' => '', + 'max_allowed_domains' => SLM_DEFAULT_MAX_DOMAINS, + 'max_allowed_devices' => SLM_DEFAULT_MAX_DEVICES, + 'lic_status' => 'pending', + 'first_name' => '', + 'last_name' => '', + 'email' => '', + 'company_name' => '', + 'txn_id' => '', + 'purchase_id_' => '', + 'date_created' => date_i18n($slm_wp_date_format, strtotime('now')), + 'date_renewed' => '', + 'date_activated' => '', + 'product_ref' => '', + 'until' => '', + 'current_ver' => '', + 'subscr_id' => '', + 'lic_type' => 'subscription', + 'date_expiry' => $date_expiry, // Set a default expiry + 'item_reference' => '', + 'slm_billing_length' => $slm_billing_length, + 'slm_billing_interval' => $slm_billing_interval, + 'reminder_sent' => '0', + 'manual_reset_count' => '', + 'reminder_sent_date' => '0000-00-00' + ]; + + // Add error message that license key wasn't found + echo '

      ' . esc_html__('License key not found. Please create a new license.', 'slm-plus') . '

      '; } } else { - - // Prepare empty data for new record + // Prepare empty data for a new record $data = [ 'license_key' => '', 'max_allowed_domains' => SLM_DEFAULT_MAX_DOMAINS, 'max_allowed_devices' => SLM_DEFAULT_MAX_DEVICES, - 'lic_status' => 'pending', // Default value + 'lic_status' => 'pending', 'first_name' => '', 'last_name' => '', 'email' => '', 'company_name' => '', 'txn_id' => '', - 'manual_reset_count' => '', 'purchase_id_' => '', - 'date_created' => date_i18n($slm_wp_date_format, strtotime('now')), // Use WP date format + 'date_created' => date_i18n($slm_wp_date_format, strtotime('now')), 'date_renewed' => '', 'date_activated' => '', 'product_ref' => '', @@ -105,47 +147,48 @@ function slm_add_licenses_menu() 'current_ver' => '', 'subscr_id' => '', 'lic_type' => 'subscription', - 'date_expiry' => $date_expiry, // Calculated expiration date + 'date_expiry' => $date_expiry, 'item_reference' => '', 'slm_billing_length' => $slm_billing_length, 'slm_billing_interval' => $slm_billing_interval, 'reminder_sent' => '0', + 'manual_reset_count' => '', 'reminder_sent_date' => '0000-00-00' ]; - // Generate a license key if it's a new record - if (!isset($editing_record)) { - $editing_record = new stdClass(); - } - + // Generate a license key for new records $data['license_key'] = slm_get_license(KEY_API_PREFIX); } } ?>
      -

      +

      + +
      - @@ -156,42 +199,41 @@ function slm_add_licenses_menu() // Fetch the log data using a utility function to handle the database query $log_entries = SLM_Helper_Class::get_license_logs($license_key); - // Display the log table if there are any log entries - if ($log_entries) { - ?> -
      -

      -
      Michel Velis - + tipsandtricks
      - +
      - +
      - + // Display the log table if there are any log entries + if ($log_entries) { + ?> +
      +

      +
      + + + + + + + + + + - - - - + + + + - - - - - - - - - - - -
      -
      - ' . __('No activity log found for this license.', 'slmplus') . '

      '; - } + + + +
      + ' . esc_html__('No activity log found for this license.', 'slm-plus') . '

      '; + } ?> - - get_row($wpdb->prepare( "SELECT max_allowed_domains, max_allowed_devices FROM " . SLM_TBL_LICENSE_KEYS . " WHERE license_key = %s", $license_key )); - + // Ensure the max values are retrieved and set them to default values if not found $max_domains = isset($license_info->max_allowed_domains) ? intval($license_info->max_allowed_domains) : 0; $max_devices = isset($license_info->max_allowed_devices) ? intval($license_info->max_allowed_devices) : 0; - + // Fetch the current number of registered domains for this license key $registered_domains = $wpdb->get_var($wpdb->prepare( "SELECT COUNT(*) FROM " . SLM_TBL_LIC_DOMAIN . " WHERE lic_key = %s", $license_key )); - + // Fetch the current number of registered devices for this license key $registered_devices = $wpdb->get_var($wpdb->prepare( "SELECT COUNT(*) FROM " . SLM_TBL_LIC_DEVICES . " WHERE lic_key = %s", $license_key )); - + // Ensure the count values are integers $registered_domains = isset($registered_domains) ? intval($registered_domains) : 0; $registered_devices = isset($registered_devices) ? intval($registered_devices) : 0; - + // Calculate how many domains and devices are left $domains_left = $max_domains - $registered_domains; $devices_left = $max_devices - $registered_devices; - + // Ensure the result is not negative (to handle edge cases) $domains_left = max(0, $domains_left); $devices_left = max(0, $devices_left); - + // Fetch all registered domains for this license key $registered_domains_data = $wpdb->get_results($wpdb->prepare( "SELECT id, registered_domain FROM " . SLM_TBL_LIC_DOMAIN . " WHERE lic_key = %s", $license_key )); - + // Fetch all registered devices for this license key $registered_devices_data = $wpdb->get_results($wpdb->prepare( "SELECT id, registered_devices FROM " . SLM_TBL_LIC_DEVICES . " WHERE lic_key = %s", $license_key )); - - $slm_ajax_uri =''; + + $slm_ajax_uri = ''; $slm_deactivate_nonce = wp_create_nonce('slmplus_delete_activation_nonce'); // Render the table - ?> + ?>
      -

      +

      - :
      - : -

      + :
      + : +

      - - - - - + + + + + registered_domain); + $slm_ajax_uri = esc_url(home_url('/')) . '?slm_action=slm_deactivate&secret_key=' . VERIFY_KEY_API . '&license_key=' . esc_html($license_key) . '®istered_domain=' . esc_html($domain_entry->registered_domain); ?> - + @@ -294,27 +336,28 @@ function slm_add_licenses_menu() registered_devices); + $slm_ajax_uri = esc_url(home_url('/')) . '?slm_action=slm_deactivate&secret_key=' . VERIFY_KEY_API . '&license_key=' . esc_html($license_key) . '®istered_devices=' . esc_html($device_entry->registered_devices); ?> - + - + + +
      id); ?> registered_domain); ?> - +
      id); ?> registered_devices); ?> - - +
      @@ -346,12 +389,12 @@ function slm_add_licenses_menu() _wpnonce: nonce // Include the nonce in the request }, function(response) { ////console.log(response); // Debugging to ensure we're getting the response - + // Handle success response if (response.result === 'success') { // Show WordPress-style success message $('.slm_ajax_msg').html('

      ' + response.message + '

      '); - + // Remove the entire row or element containing the button $button.closest('tr').remove(); // Adjust the selector to the parent element of the row or item you want to remove } else { @@ -364,18 +407,17 @@ function slm_add_licenses_menu() }); }); }); - - 'error', - 'message' => __('Nonce verification failed.', 'slmplus'), + 'message' => __('Nonce verification failed.', 'slm-plus'), 'error_code' => 401 ]); } @@ -383,16 +425,15 @@ function slm_add_licenses_menu() global $wpdb; // Check if the activation ID and type are provided and valid - if (!isset($_POST['activation_id']) || !is_numeric($_POST['activation_id']) || !isset($_POST['activation_type'])) { + if (!isset($_POST['activation_id']) || !is_numeric(wp_unslash($_POST['activation_id'])) || !isset($_POST['activation_type']) || empty($_POST['activation_type'])) { wp_send_json_error([ 'result' => 'error', - 'message' => __('Invalid activation data.', 'slmplus'), + 'message' => __('Invalid activation data.', 'slm-plus'), 'error_code' => 400 ]); } - - $activation_id = intval($_POST['activation_id']); - $activation_type = sanitize_text_field($_POST['activation_type']); + $activation_id = isset($_POST['activation_id']) ? intval(wp_unslash($_POST['activation_id'])) : 0; + $activation_type = isset($_POST['activation_type']) ? sanitize_text_field(wp_unslash($_POST['activation_type'])) : ''; // Delete the activation from the correct table if ($activation_type === 'domain') { @@ -402,7 +443,7 @@ function slm_add_licenses_menu() } else { wp_send_json_error([ 'result' => 'error', - 'message' => __('Invalid activation type.', 'slmplus'), + 'message' => __('Invalid activation type.', 'slm-plus'), 'error_code' => 400 ]); } @@ -411,13 +452,13 @@ function slm_add_licenses_menu() if ($result !== false) { wp_send_json_success([ 'result' => 'success', - 'message' => __('The license key has been deactivated for this domain.', 'slmplus'), + 'message' => __('The license key has been deactivated for this domain.', 'slm-plus'), 'error_code' => 360 ]); } else { wp_send_json_error([ 'result' => 'error', - 'message' => __('Error deleting activation.', 'slmplus'), + 'message' => __('Error deleting activation.', 'slm-plus'), 'error_code' => 500 ]); } @@ -425,42 +466,42 @@ function slm_add_licenses_menu() ?> -
      + -

      +

      - + - + - + - + @@ -473,116 +514,136 @@ function slm_add_licenses_menu() -

      +

      - + - + - + - - + - + - + - + - + - + - + @@ -590,28 +651,28 @@ class="regular-text datepicker" /> -

      +

      - + - readonly />
      get_results("SELECT status_key, status_label FROM $lic_status_table ", ARRAY_A); - + $lic_status_table = esc_sql($lic_status_table); + + // Now prepare the query with placeholders for values, not the table name. + $query = "SELECT status_key, status_label FROM $lic_status_table"; // No placeholders needed for table name + $statuses = $wpdb->get_results($query, ARRAY_A); + // Create the '; foreach ($statuses as $status) { // Set the selected attribute if the current status matches $selected = selected($data['lic_status'], $status['status_key'], false); - echo ''; + echo ''; } echo ''; ?>
      readonly class="regular-text datepicker" required/> -

      +
      readonly class="regular-text datepicker" required /> +

      + +

      -

      Choose this date to set when the license should renew or expire.
      Format: %s (input: YYYY-MM-DD).', 'slmplus'), $slm_wp_date_format); ?>

      +

      + Choose this date to set when the license should renew or expire.
      Format: %s (input: YYYY-MM-DD).', 'slm-plus'), esc_html($slm_wp_date_format)); + ?> +

      - +

      - +

      - +

      - +

      -

      - +

      -

      - +

      - + - + - + - + @@ -619,36 +680,39 @@ class="regular-text datepicker" /> -

      +

      - + - + - + - + - +
      -

      - +

      @@ -656,9 +720,9 @@ class="regular-text datepicker"
      - + - + -
      diff --git a/admin/slm-admin-functions.php b/admin/slm-admin-functions.php index 083e2e4..7faa4e9 100755 --- a/admin/slm-admin-functions.php +++ b/admin/slm-admin-functions.php @@ -7,77 +7,184 @@ function slm_admin_tools_menu() { if (isset($_POST['slm_backup_db'])) { - slm_save_backup_to_uploads(); + // Verify the nonce + if (isset($_POST['slm_backup_nonce_field']) && wp_verify_nonce($_POST['slm_backup_nonce_field'], 'slm_backup_nonce_action')) { + // Nonce is valid, proceed with backup + SLM_Utility::slm_save_backup_to_uploads(); + } else { + // Nonce is invalid or missing + die('Security check failed.'); // You can display an error message or handle it as needed + } } echo '
      '; - echo '

      '. __('SLM Plus - Tools', 'slmplus') . '

      '; + echo '

      ' . esc_html__('SLM Plus - Tools', 'slm-plus') . '

      '; echo '
      '; if (isset($_POST['send_deactivation_request'])) { - $postURL = esc_url_raw($_POST['slm_deactivation_req_url']); - $secretKeyForVerification = slm_get_option('lic_verification_secret'); - $data = array('secret_key' => $secretKeyForVerification); - - $ch = curl_init($postURL); - curl_setopt($ch, CURLOPT_POST, true); - curl_setopt($ch, CURLOPT_POSTFIELDS, $data); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - $returnValue = curl_exec($ch); - - $msg = ""; - if ($returnValue == "Success") { - $msg .= __('Success message returned from the remote host.', 'slmplus'); + // Verify the nonce + if (isset($_POST['slm_deactivation_nonce_field']) && wp_verify_nonce($_POST['slm_deactivation_nonce_field'], 'slm_deactivation_nonce_action')) { + // Nonce is valid, proceed with the deactivation request + + $postURL = esc_url_raw($_POST['slm_deactivation_req_url']); + $secretKeyForVerification = slm_get_option('lic_verification_secret'); + $data = array('secret_key' => $secretKeyForVerification); + + // Make the POST request using wp_remote_post + $response = wp_remote_post($postURL, array( + 'method' => 'POST', + 'body' => $data, + 'timeout' => 15, // Optional timeout value + 'headers' => array('Content-Type' => 'application/x-www-form-urlencoded') + )); + + // Check for errors in the response + if (is_wp_error($response)) { + $error_message = $response->get_error_message(); + $msg = esc_html__('Request failed: ', 'slm-plus') . esc_html($error_message); + } else { + $body = wp_remote_retrieve_body($response); + + // Check for success message in response + if ($body == "Success") { + $msg = esc_html__('Success message returned from the remote host.', 'slm-plus'); + } else { + $msg = esc_html__('Unexpected response: ', 'slm-plus') . esc_html($body); + } + } + + // Display message + echo '

      '; + echo esc_html__('Request sent to the specified URL!', 'slm-plus'); + echo '
      ' . esc_html($msg); + echo '

      '; + } else { + // Nonce is invalid or missing + echo '

      ' . esc_html__('Security check failed. Invalid nonce.', 'slm-plus') . '

      '; } - echo '

      '; - echo __('Request sent to the specified URL!', 'slmplus'); - echo '
      ' . esc_html($msg); - echo '

      '; } + if (isset($_POST['slm_clear_log'])) { - global $wpdb, $slm_debug_logger; - $table = SLM_TBL_LIC_LOG; - $wpdb->query("TRUNCATE TABLE $table"); - $slm_debug_logger->reset_log_file("log.txt"); - $slm_debug_logger->reset_log_file("log-cron-job.txt"); + // Verify the nonce + if (isset($_POST['slm_clear_log_nonce_field']) && wp_verify_nonce($_POST['slm_clear_log_nonce_field'], 'slm_clear_log_nonce_action')) { + // Nonce is valid, proceed with clearing the log + + global $wpdb, $slm_debug_logger; + + // Define the table name using the constant (already assumed to be done securely) + $table = SLM_TBL_LIC_LOG; + + // Sanitize the table name if it's dynamically passed (for security) + $table = sanitize_key($table); // sanitize_key ensures a safe table name, although here it's already defined - echo '

      ' . esc_html__('Log was cleared successfully!', 'slmplus') . '

      '; + // Sanitize and validate other variables if used dynamically + + // Direct query execution for truncating the table + if ($wpdb->get_var("SHOW TABLES LIKE '$table'")) { // Check if table exists + $query = "TRUNCATE TABLE `$table`"; // Backticks are used to prevent issues with reserved SQL keywords + $wpdb->query($query); // Direct query execution + } else { + // Handle the case where the table doesn't exist + error_log('Table not found: ' . $table); + } + + // Reset log files + $slm_debug_logger->reset_log_file("log.txt"); + $slm_debug_logger->reset_log_file("log-cron-job.txt"); + + echo '

      ' . esc_html__('Log was cleared successfully!', 'slm-plus') . '

      '; + } else { + // Nonce is invalid or missing + echo '

      ' . esc_html__('Security check failed. Invalid nonce.', 'slm-plus') . '

      '; + } } - ?> +?>
      -

      +

      +
      - +
      +
      -

      +

      -

      +

      + +

      +
      + + + + + + + +
      + +

      ' . esc_html__('New Creation Secret Key:', 'slm-plus') . ' ' . esc_html($_GET['new_creation_secret']) . '

      '; + } + if (isset($_GET['new_verification_secret'])) { + echo '

      ' . esc_html__('New Verification Secret Key:', 'slm-plus') . ' ' . esc_html($_GET['new_verification_secret']) . '

      '; + } + ?> +
      +
      + + $new_creation_secret])); + wp_redirect(add_query_arg(['slm_notice' => 'creation_key_reset', 'new_creation_secret' => $new_creation_secret], $_SERVER['REQUEST_URI'])); + exit; + } + + if (isset($_POST['reset_verification_secret']) && check_admin_referer('slm_reset_secret_keys_nonce_action', 'slm_reset_secret_keys_nonce_field')) { + $new_verification_secret = SLM_Utility::create_secret_keys(); // Generate new verification secret + update_option('slm_plugin_options', array_merge(get_option('slm_plugin_options', []), ['lic_verification_secret' => $new_verification_secret])); + wp_redirect(add_query_arg(['slm_notice' => 'verification_key_reset', 'new_verification_secret' => $new_verification_secret], $_SERVER['REQUEST_URI'])); + exit; + } + } + ?> + + +
      +

      +
      +

      - + +
      -

      +

      -

      +

      +
      - +
      @@ -87,19 +194,19 @@ function slm_admin_tools_menu() if (!empty($backup_info)) { $backup_url = esc_url($backup_info['url']); $backup_date = esc_html($backup_info['date']); - echo '

      ' . __('Last backup created on: ', 'slmplus') . $backup_date . ' - ' . __('Download Backup', 'slmplus') . '

      '; + echo '

      ' . esc_html__('Last backup created on: ', 'slm-plus') . esc_html($backup_date) . ' - ' . esc_html__('Download Backup', 'slm-plus') . '

      '; } ?>
      -

      +

      - - - + + +

      @@ -109,32 +216,32 @@ function slm_admin_tools_menu() - + - + @@ -144,7 +251,7 @@ function slm_admin_tools_menu()
      -

      +

        @@ -162,13 +269,13 @@ function slm_admin_tools_menu() // Validation: Check if fields are empty if (!productID) { - $('#license-result-list').html('
      • Error:
      • '); - alert(''); + $('#license-result-list').html('
      • Error:
      • '); + alert(''); return; // Stop submission if Product ID is empty } if (!subscriptionType) { - $('#license-result-list').html('
      • Error:
      • '); - alert(''); + $('#license-result-list').html('
      • Error:
      • '); + alert(''); return; // Stop submission if Subscription Type is empty } @@ -189,24 +296,23 @@ function slm_admin_tools_menu() $.post(ajaxurl, data, function(response) { //console.log('AJAX response:', response); if (response.success) { - $('#license-result-list').html(response.data.html); - alert(''); + $('#license-result-list').html(response.data.html); + alert(''); } else { $('#license-result-list').html(response.data.html); - alert(''); + alert(''); } }).fail(function(xhr, status, error) { console.error('AJAX error:', status, error); - $('#license-result-list').html('
      • Error:
      • '); - alert(''); + $('#license-result-list').html('
      • Error:
      • '); + alert(''); }); }); }); - '; - echo ''; +'; } /** @@ -215,77 +321,13 @@ function slm_admin_tools_menu() function slm_get_unique_hash() { $hash = slm_get_option('slm_backup_dir_hash'); - if (!$hash) { $hash = wp_generate_password(8, false, false); // Generate random 8-character hash slm_update_option('slm_backup_dir_hash', $hash); } - return $hash; } -/** - * Saves a backup of the plugin's database tables in a secure folder. - */ -function slm_save_backup_to_uploads() -{ - global $wpdb; - - // Get the upload directory - $upload_dir = wp_upload_dir(); - $unique_hash = slm_get_unique_hash(); // Generate or retrieve the unique hash - $slm_backup_dir = $upload_dir['basedir'] . $unique_hash; - - // Create the slm-plus folder with hash if it doesn't exist - if (!file_exists($slm_backup_dir)) { - wp_mkdir_p($slm_backup_dir); - } - - // Set backup file name and path - $backup_file = $slm_backup_dir . '/slm_plugin_backup_' . date('Y-m-d_H-i-s') . '.sql'; - - // Get plugin tables - $backup_tables = [ - SLM_TBL_LICENSE_KEYS, - SLM_TBL_LIC_DOMAIN, - SLM_TBL_LIC_DEVICES, - SLM_TBL_LIC_LOG, - SLM_TBL_EMAILS, - SLM_TBL_LICENSE_STATUS - ]; - - $sql = ""; - foreach ($backup_tables as $table) { - // Get table structure - $create_table_query = $wpdb->get_results("SHOW CREATE TABLE $table", ARRAY_N); - $sql .= "\n\n" . $create_table_query[0][1] . ";\n\n"; - - // Get table data - $rows = $wpdb->get_results("SELECT * FROM $table", ARRAY_A); - foreach ($rows as $row) { - $values = array_map('esc_sql', array_values($row)); // Use esc_sql to escape the values - $values = "'" . implode("','", $values) . "'"; - $sql .= "INSERT INTO $table VALUES ($values);\n"; - } - } - - // Save the SQL to a file in the slm-plus folder - if (file_put_contents($backup_file, $sql)) { - $backup_url = $upload_dir['baseurl'] . $unique_hash . '/' . basename($backup_file); - - // Save backup info in plugin options - $backup_info = [ - 'url' => $backup_url, - 'date' => date('Y-m-d H:i:s') - ]; - slm_update_option('slm_last_backup_info', $backup_info); - - echo '

        ' . __('Backup created successfully! Download from: ', 'slmplus') . '' . esc_html(basename($backup_file)) . '

        '; - } else { - echo '

        ' . __('Error: Failed to create the backup file.', 'slmplus') . '

        '; - } -} - /** * Retrieves an option from the slm_plugin_options. diff --git a/admin/slm-dashboard-widgets.php b/admin/slm-dashboard-widgets.php index a351a47..1a229da 100644 --- a/admin/slm-dashboard-widgets.php +++ b/admin/slm-dashboard-widgets.php @@ -27,39 +27,39 @@ function slm_add_dashboard_widgets() function add_toolbar_items($admin_bar){ $admin_bar->add_menu(array( 'id' => 'slm-menu', - 'title' => '' . __('SLM Plus', 'slmplus'), + 'title' => '' . __('SLM Plus', 'slm-plus'), // Added text domain 'href' => admin_url('admin.php?page=slm_overview'), 'meta' => array( - 'title' => __('SLM'), + 'title' => __('slm-plus', 'slm-plus'), // Added text domain ), )); $admin_bar->add_menu(array( 'id' => 'slm-manage-licenses-overview', 'parent' => 'slm-menu', - 'title' => 'Overview', + 'title' => __('Overview', 'slm-plus'), // Added text domain 'href' => admin_url('admin.php?page=slm_overview'), 'meta' => array( - 'title' => __('Overview'), + 'title' => __('Overview', 'slm-plus'), // Added text domain 'class' => 'slm_overview_menu' ), )); $admin_bar->add_menu(array( 'id' => 'slm-manage-licenses-addnew', 'parent' => 'slm-menu', - 'title' => 'Add new license', + 'title' => __('Add new license', 'slm-plus'), // Added text domain 'href' => admin_url('admin.php?page=slm_manage_license'), 'meta' => array( - 'title' => __( 'Add new license'), + 'title' => __('Add new license', 'slm-plus'), // Added text domain 'class' => 'slm_addlicense_menu' ), )); $admin_bar->add_menu(array( 'id' => 'slm-manage-licenses-settings', 'parent' => 'slm-menu', - 'title' => 'Settings', + 'title' => __('Settings', 'slm-plus'), // Added text domain 'href' => admin_url( 'admin.php?page=slm_settings'), 'meta' => array( - 'title' => __('Settings'), + 'title' => __('Settings', 'slm-plus'), // Added text domain 'class' => 'slm_settings_menu' ), )); @@ -72,61 +72,62 @@ function add_toolbar_items($admin_bar){ function slm_dashboard_widget_function() { ?> - + + +
        +
        +
        - -

        + +

        -

        +

        - /> + />

        - +

        + + + + + + + + +
        + +  –  +
        +
        -
        -
        - - - - - - - - - -
        - -  –  -
        -
        -

        - +

        + -
        -
        -
        +
        +
        +
        -

        +

        -

        - +

        + -

        - +

        + -

        - +

        +
        +
        -

        +

        -

        +

        - +

        -

        +

        - - - + + +

        ' . __('Options updated!', 'slmplus') . '

        '; + echo '

        ' . esc_html__('Options updated!', 'slm-plus') . '

        '; } $secret_key = !empty($options['lic_creation_secret']) ? $options['lic_creation_secret'] : SLM_Utility::create_secret_keys(); @@ -82,26 +82,27 @@ function slm_general_settings()
        -

        +

        @@ -112,49 +113,48 @@ function slm_general_settings()
        - - + - - + - - + - - + - - + - - + - - + @@ -164,37 +164,37 @@ function slm_general_settings() ?> - + +

        - + - + - + @@ -202,25 +202,25 @@ function slm_general_settings() - + - + @@ -229,14 +229,14 @@ function slm_general_settings()
        -

        +

        -

        +
        +

        -

        +
        +

        -

        +
        +

        -

        +
        +

        -

        +
        +

        -

        +
        +

        -

        +
        +

        -

        -

        -

        +

        +

        value="1" /> - -

        + +

        value="1" /> - +
        value="1" /> - +
        value="1" /> - -

        + +

        value="1" /> - -

        + +

        - + @@ -244,11 +244,11 @@ function slm_general_settings() @@ -257,28 +257,28 @@ function slm_general_settings()
        value="1" /> - +
        value="1" /> - +

        - - - + + +

        value="1" /> - +
        value="1" /> - +
        -

        +
        @@ -286,31 +286,31 @@ function slm_general_settings()
        - + - + - + - + @@ -323,7 +323,7 @@ function slm_general_settings()

        value="1" /> -

        +

        -

        +

        -

        +

        -

        +

        - + @@ -333,7 +333,7 @@ function slm_general_settings()
        - +
        diff --git a/admin/slm-list-licenses-class.php b/admin/slm-list-licenses-class.php index 3eb3750..88c2477 100755 --- a/admin/slm-list-licenses-class.php +++ b/admin/slm-list-licenses-class.php @@ -24,7 +24,7 @@ function __construct() public function no_items() { - _e('No licenses avaliable.', 'slmplus'); + esc_html_e('No licenses avaliable.', 'slm-plus'); } function get_views() @@ -40,35 +40,35 @@ function get_views() $link_html, esc_url(remove_query_arg('view', $base)), $current === 'all' || $current == '' ? ' class="current"' : '', - esc_html__('All', 'slmplus'), + esc_html__('All', 'slm-plus'), SLM_Utility::get_total_licenses() ), 'active' => sprintf( $link_html, esc_url(add_query_arg('view', 'active', $base . '&s=active')), $current === 'active' ? ' class="current"' : '', - esc_html__('active', 'slmplus'), + esc_html__('active', 'slm-plus'), SLM_Utility::count_licenses('active') ), 'pending' => sprintf( $link_html, esc_url(add_query_arg('view', 'pending', $base . '&s=pending')), $current === 'pending' ? ' class="current"' : '', - esc_html__('pending', 'slmplus'), + esc_html__('pending', 'slm-plus'), SLM_Utility::count_licenses('pending') ), 'expired' => sprintf( $link_html, esc_url(add_query_arg('view', 'expired', $base . '&s=expired')), $current === 'expired' ? ' class="current"' : '', - esc_html__('expired', 'slmplus'), + esc_html__('expired', 'slm-plus'), SLM_Utility::count_licenses('expired') ), 'blocked' => sprintf( $link_html, esc_url(add_query_arg('view', 'blocked', $base . '&s=blocked')), $current === 'blocked' ? ' class="current"' : '', - esc_html__('blocked', 'slmplus'), + esc_html__('blocked', 'slm-plus'), SLM_Utility::count_licenses('blocked') ) ); @@ -81,21 +81,21 @@ function get_columns() { $columns = array( 'cb' => '', //Render a checkbox - 'id' => __('ID', 'slmplus'), - 'lic_status' => __('Status', 'slmplus'), - 'license_key' => __('Key', 'slmplus'), - 'item_reference' => __('Item reference', 'slmplus'), - 'lic_type' => __('License type', 'slmplus'), - 'email' => __('Email', 'slmplus'), - 'max_allowed_domains' => __('Domains', 'slmplus'), - 'max_allowed_devices' => __('Devices', 'slmplus'), - 'purchase_id_' => __('Order #', 'slmplus'), - 'date_created' => __('Created on', 'slmplus'), - 'date_renewed' => __('Renewed on', 'slmplus'), - 'date_activated' => __('Activated on', 'slmplus'), - 'date_expiry' => __('Expiration', 'slmplus'), - 'until' => __('Until Ver.', 'slmplus'), - 'current_ver' => __('Current Ver.', 'slmplus') + 'id' => __('ID', 'slm-plus'), + 'lic_status' => __('Status', 'slm-plus'), + 'license_key' => __('Key', 'slm-plus'), + 'item_reference' => __('Item reference', 'slm-plus'), + 'lic_type' => __('License type', 'slm-plus'), + 'email' => __('Email', 'slm-plus'), + 'max_allowed_domains' => __('Domains', 'slm-plus'), + 'max_allowed_devices' => __('Devices', 'slm-plus'), + 'purchase_id_' => __('Order #', 'slm-plus'), + 'date_created' => __('Created on', 'slm-plus'), + 'date_renewed' => __('Renewed on', 'slm-plus'), + 'date_activated' => __('Activated on', 'slm-plus'), + 'date_expiry' => __('Expiration', 'slm-plus'), + 'until' => __('Until Ver.', 'slm-plus'), + 'current_ver' => __('Current Ver.', 'slm-plus') ); return $columns; } @@ -117,19 +117,17 @@ function column_default($item, $column_name) $date_today = time(); if ($expiration == '0000-00-00') { - return ''. __(' Lifetime ','slmplus'). '' . ' '; + return '' . __(' Lifetime ', 'slm-plus') . '' . ' '; } if ($expiration != '0000-00-00') { if (strtotime($expiration) < time()) { return ' ' . $expiration . ' ' . ' ' . SLM_Utility::get_days_remaining($expiration) . ' day(s) due'; - } - else { + } else { return '' . $item[$column_name] . '' . ' ' . SLM_Utility::get_days_remaining($expiration) . ' day(s) left'; } - } - else { + } else { //return $item[$column_name]; return 'not set'; } @@ -204,94 +202,94 @@ function get_bulk_actions() ); return $actions; } - + function process_bulk_action() { if ('delete' === $this->current_action()) { //Process delete bulk actions if (!isset($_REQUEST['item'])) { - $error_msg = '

        ' . __('Error - Please select some records using the checkboxes', 'slmplus') . '

        '; - echo '
        ' . $error_msg . '
        '; + $error_msg = '

        ' . __('Error - Please select some records using the checkboxes', 'slm-plus') . '

        '; + echo '
        ' . esc_html($error_msg) . '
        '; return; } else { $nvp_key = $this->_args['singular']; $records_to_delete = $_GET[$nvp_key]; - + foreach ($records_to_delete as $row) { SLM_Utility::delete_license_key_by_row_id($row); } - + echo '

        Selected records deleted successfully!

        '; } } - + if ('blocked' === $this->current_action()) { //Process blocked bulk actions if (!isset($_REQUEST['item'])) { - $error_msg = '

        ' . __('Error - Please select some records using the checkboxes', 'slmplus') . '

        '; - echo '
        ' . $error_msg . '
        '; + $error_msg = '

        ' . __('Error - Please select some records using the checkboxes', 'slm-plus') . '

        '; + echo '
        ' . esc_html($error_msg) . '
        '; return; } else { $nvp_key = $this->_args['singular']; $licenses_to_block = $_GET[$nvp_key]; - + foreach ($licenses_to_block as $row) { SLM_Utility::block_license_key_by_row_id($row); } - - echo '

        ' . $row . ' Selected records blocked successfully!

        '; + + echo '

        ' . esc_html($row) . ' ' . esc_html__('Selected records blocked successfully!', 'slm-plus') . '

        '; } } - + if ('expired' === $this->current_action()) { //Process expired bulk actions if (!isset($_REQUEST['item'])) { - $error_msg = '

        ' . __('Error - Please select some records using the checkboxes', 'slmplus') . '

        '; - echo '
        ' . $error_msg . '
        '; + $error_msg = '

        ' . __('Error - Please select some records using the checkboxes', 'slm-plus') . '

        '; + echo '
        ' . esc_html($error_msg) . '
        '; return; } else { $nvp_key = $this->_args['singular']; $licenses_to_expire = $_GET[$nvp_key]; - + foreach ($licenses_to_expire as $row) { SLM_Utility::expire_license_key_by_row_id($row); } - - echo '

        ' . $row . ' Selected records expired successfully!

        '; + + echo '

        ' . esc_html($row) . ' ' . esc_html__('Selected records expired successfully!', 'slm-plus') . '

        '; } } - + if ('active' === $this->current_action()) { //Process activate bulk actions if (!isset($_REQUEST['item'])) { - $error_msg = '

        ' . __('Error - Please select some records using the checkboxes', 'slmplus') . '

        '; - echo '
        ' . $error_msg . '
        '; + $error_msg = '

        ' . __('Error - Please select some records using the checkboxes', 'slm-plus') . '

        '; + echo '
        ' . esc_html($error_msg) . '
        '; return; } else { $nvp_key = $this->_args['singular']; $liceses_to_activate = $_GET[$nvp_key]; - + foreach ($liceses_to_activate as $row) { SLM_Utility::active_license_key_by_row_id($row); } - - echo '

        ' . $row . ' Selected records activated successfully!

        '; + + echo '

        ' . esc_html($row) . ' ' . esc_html__('Selected records activated successfully!', 'slm-plus') . '

        '; } } - + // Export license data if ('export' === $this->current_action()) { if (!isset($_REQUEST['item'])) { - $error_msg = '

        ' . __('Error - Please select some records using the checkboxes', 'slmplus') . '

        '; - echo '
        ' . $error_msg . '
        '; + $error_msg = '

        ' . __('Error - Please select some records using the checkboxes', 'slm-plus') . '

        '; + echo '
        ' . esc_html($error_msg) . '
        '; return; } else { $nvp_key = $this->_args['singular']; $licenses_to_export = $_GET[$nvp_key]; - + // Call the export function $file_urls = self::export_license_data($licenses_to_export); - + // Display success message with download links for each license echo '
        '; echo '

        Export successful! Download the CSV files:

        '; @@ -302,58 +300,73 @@ function process_bulk_action() } } } - -// Export function -public static function export_license_data($license_ids) -{ - global $wpdb; - // Fetch the custom directory path from options (saved with hash) - $slm_options = get_option('slm_plugin_options'); - $custom_dir_hash = isset($slm_options['slm_backup_dir_hash']) ? $slm_options['slm_backup_dir_hash'] : ''; + public static function export_license_data($license_ids) + { + global $wpdb; - // Prepare file URLs array - $file_urls = []; + // Fetch the custom directory path from options (saved with hash) + $slm_options = get_option('slm_plugin_options'); + $custom_dir_hash = isset($slm_options['slm_backup_dir_hash']) ? $slm_options['slm_backup_dir_hash'] : ''; - // Get the WordPress upload directory - $upload_dir = wp_upload_dir(); - $custom_dir = $upload_dir['basedir'] . $custom_dir_hash; + // Prepare file URLs array + $file_urls = []; - // Ensure the directory exists - if (!file_exists($custom_dir)) { - mkdir($custom_dir, 0755, true); // Create the directory if it doesn't exist - } + // Get the WordPress upload directory + $upload_dir = wp_upload_dir(); + $custom_dir = $upload_dir['basedir'] . '/' . $custom_dir_hash; - // Fetch license data for each selected ID - foreach ($license_ids as $license_id) { - $data = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . SLM_TBL_LICENSE_KEYS . " WHERE id = %d", $license_id), ARRAY_A); - if ($data) { - $license_key = $data['license_key']; + // Initialize WP_Filesystem for safe file handling + if (empty($GLOBALS['wp_filesystem'])) { + require_once ABSPATH . 'wp-admin/includes/file.php'; + WP_Filesystem(); + } - // Prepare file name as "license_key.csv" - $file_name = sanitize_file_name($license_key) . '.csv'; - $file_path = $custom_dir . '/' . $file_name; + // Ensure the directory exists using WP_Filesystem methods + if (!is_dir($custom_dir)) { + $created = $GLOBALS['wp_filesystem']->mkdir($custom_dir, 0755); // Create the directory if it doesn't exist + if (!$created) { + return new WP_Error('directory_creation_failed', 'Unable to create the directory.'); + } + } - // Open file handle - $output = fopen($file_path, 'w'); + // Fetch license data for each selected ID + foreach ($license_ids as $license_id) { + $data = $wpdb->get_row($wpdb->prepare( + "SELECT * FROM " . SLM_TBL_LICENSE_KEYS . " WHERE id = %d", + $license_id + ), ARRAY_A); - // Write CSV headers - fputcsv($output, array_keys($data)); + if ($data) { + $license_key = $data['license_key']; - // Write license data to CSV file - fputcsv($output, $data); + // Prepare file name as "license_key.csv" + $file_name = sanitize_file_name($license_key) . '.csv'; + $file_path = $custom_dir . '/' . $file_name; - // Close the file handle - fclose($output); + // Open file handle using WP_Filesystem methods + $file_handle = $GLOBALS['wp_filesystem']->open($file_path, 'w'); - // Store the file URL for download - $file_urls[] = $upload_dir['baseurl'] . $custom_dir_hash . '/' . $file_name; + if (!$file_handle) { + return new WP_Error('file_creation_failed', 'Unable to open the file for writing.'); + } + + // Write CSV headers and license data to the file + fputcsv($file_handle, array_keys($data)); + fputcsv($file_handle, $data); + + // Close the file handle + $GLOBALS['wp_filesystem']->close($file_handle); + + // Store the file URL for download + $file_urls[] = $upload_dir['baseurl'] . '/' . $custom_dir_hash . '/' . $file_name; + } } + + // Return the array of file URLs + return $file_urls; } - // Return the array of file URLs - return $file_urls; -} /* @@ -365,7 +378,7 @@ function delete_license_key($key_row_id) $success_msg = '

        '; $success_msg .= 'The selected entry was deleted successfully!'; $success_msg .= '

        '; - echo $success_msg; + echo esc_html($success_msg); } function block_license_key($key_row_id) @@ -374,7 +387,7 @@ function block_license_key($key_row_id) $success_msg = '

        '; $success_msg .= 'The selected entry was blocked successfully!'; $success_msg .= '

        '; - echo $success_msg; + echo esc_html($success_msg); } private function sort_data($a, $b) @@ -382,26 +395,34 @@ private function sort_data($a, $b) // Set defaults $orderby = 'id'; $order = 'desc'; - // If orderby is set, use this as the sort column + + // Sanitize and unslash input for 'orderby' and 'order' if (!empty($_GET['orderby'])) { - $orderby = $_GET['orderby']; + $orderby = wp_unslash($_GET['orderby']); // wp_unslash before sanitization + $orderby = sanitize_key($orderby); // sanitize for key-based data } - // If order is set use this as the order + if (!empty($_GET['order'])) { - $order = $_GET['order']; + $order = wp_unslash($_GET['order']); // wp_unslash before sanitization + $order = in_array(strtolower($order), ['asc', 'desc']) ? strtolower($order) : 'desc'; // Ensure 'asc' or 'desc' only } - if ($orderby == 'id'){ - if ($a[$orderby]==$b[$orderby]){ - $result = 0; - }else{ - $result = ($a[$orderby]<$b[$orderby])?-1:1; - } - }else{ - $result = strcmp($a[$orderby], $b[$orderby]); + + // Sorting logic + if ($orderby == 'id') { + if ($a[$orderby] == $b[$orderby]) { + $result = 0; + } else { + $result = ($a[$orderby] < $b[$orderby]) ? -1 : 1; + } + } else { + $result = strcmp($a[$orderby], $b[$orderby]); } + + // Return based on the order (asc or desc) if ($order === 'asc') { return $result; } + return -$result; } @@ -416,26 +437,51 @@ function prepare_items() if (empty($per_page) || $per_page < 1) { $per_page = $screen->get_option('per_page', 'default'); } - $columns = $this->get_columns(); - // $hidden = array(); - $hidden = get_hidden_columns( $screen ); - $sortable = $this->get_sortable_columns(); + + $columns = $this->get_columns(); + $hidden = get_hidden_columns($screen); + $sortable = $this->get_sortable_columns(); $this->_column_headers = array($columns, $hidden, $sortable); + $this->process_bulk_action(); - $license_table = SLM_TBL_LICENSE_KEYS; - $search = (isset($_REQUEST['s'])) ? $_REQUEST['s'] : false; - $search_term = trim(strip_tags($search)); - $do_search = $wpdb->prepare("SELECT * FROM " . $license_table . " WHERE `license_key` LIKE '%%%s%%' OR `email` LIKE '%%%s%%' OR `lic_status` LIKE '%%%s%%' OR `first_name` LIKE '%%%s%%' OR `last_name` LIKE '%%%s%%'", $search_term, $search_term, $search_term, $search_term, $search_term); + + // Ensure the license table constant is used safely + $license_table = esc_sql(SLM_TBL_LICENSE_KEYS); // Sanitize the table name + + // Search handling with esc_like for wildcard search + $search = isset($_REQUEST['s']) ? sanitize_text_field(wp_unslash($_REQUEST['s'])) : ''; // Use wp_unslash to handle slashes + $search_term = wp_strip_all_tags($search); // Using wp_strip_all_tags instead of strip_tags + $search_term_esc = addcslashes($search_term, '_%'); // Escapes underscore and percent characters + + // Prepared query with placeholders and escaped search term + $do_search = $wpdb->prepare( + "SELECT * FROM $license_table + WHERE license_key LIKE %s OR email LIKE %s OR lic_status LIKE %s OR first_name LIKE %s OR last_name LIKE %s", + '%' . $search_term_esc . '%', // Apply wildcard to the escaped search term + '%' . $search_term_esc . '%', + '%' . $search_term_esc . '%', + '%' . $search_term_esc . '%', + '%' . $search_term_esc . '%' + ); + + // Execute the query and get the results $data = $wpdb->get_results($do_search, ARRAY_A); + + // Sort data usort($data, array(&$this, 'sort_data')); - $current_page = $this->get_pagenum(); - $total_items = count($data); - $data = array_slice($data, (($current_page - 1) * $per_page), $per_page); - $this->items = $data; + + // Pagination + $current_page = $this->get_pagenum(); + $total_items = count($data); + $data = array_slice($data, (($current_page - 1) * $per_page), $per_page); + + $this->items = $data; + + // Set pagination arguments $this->set_pagination_args(array( - 'total_items' => $total_items, //WE have to calculate the total number of items - 'per_page' => $per_page, //WE have to determine how many items to show on a page - 'total_pages' => ceil($total_items / $per_page) //WE have to calculate the total number of pages + 'total_items' => $total_items, + 'per_page' => $per_page, + 'total_pages' => ceil($total_items / $per_page) )); } } @@ -463,21 +509,22 @@ public static function set_screen($status, $option, $value) public function slm_add_admin_menu() { $icon_svg = SLM_ASSETS_URL . 'images/slm_logo_small.svg'; - add_menu_page(__( 'SLM Plus', 'slmplus'), __( 'SLM Plus', 'slmplus'), SLM_MANAGEMENT_PERMISSION, SLM_MAIN_MENU_SLUG, "slm_manage_licenses_menu", $icon_svg); - $hook = add_submenu_page(SLM_MAIN_MENU_SLUG, __('Manage Licenses', 'slmplus'), __('Manage Licenses', 'slmplus'), SLM_MANAGEMENT_PERMISSION, SLM_MAIN_MENU_SLUG, "slm_manage_licenses_menu"); - add_submenu_page(SLM_MAIN_MENU_SLUG, __( 'Create license', 'slmplus'), __( 'Create license', 'slmplus') , SLM_MANAGEMENT_PERMISSION, 'slm_manage_license', "slm_add_licenses_menu"); - add_submenu_page(SLM_MAIN_MENU_SLUG, __( 'Subscribers', 'slmplus'), __( 'Subscribers', 'slmplus'), SLM_MANAGEMENT_PERMISSION, 'slm_subscribers', "slm_subscribers_menu"); - add_submenu_page(SLM_MAIN_MENU_SLUG, __( 'Tools', 'slmplus'), __( 'Tools', 'slmplus'), SLM_MANAGEMENT_PERMISSION, 'slm_admin_tools', "slm_admin_tools_menu"); - add_submenu_page(SLM_MAIN_MENU_SLUG, __( 'Settings', 'slmplus'), __( 'Settings', 'slmplus'), SLM_MANAGEMENT_PERMISSION, 'slm_settings', "slm_settings_menu"); - add_submenu_page(SLM_MAIN_MENU_SLUG, __( 'Help', 'slmplus'), __( 'Help', 'slmplus'), SLM_MANAGEMENT_PERMISSION, 'slm_help', "slm_integration_help_menu"); - add_submenu_page(SLM_MAIN_MENU_SLUG, __( 'About', 'slmplus'),__( 'About', 'slmplus'), SLM_MANAGEMENT_PERMISSION, 'slm_about', "slm_about_menu"); + add_menu_page(__('SLM Plus', 'slm-plus'), __('SLM Plus', 'slm-plus'), SLM_MANAGEMENT_PERMISSION, SLM_MAIN_MENU_SLUG, "slm_manage_licenses_menu", $icon_svg); + $hook = add_submenu_page(SLM_MAIN_MENU_SLUG, __('Manage Licenses', 'slm-plus'), __('Manage Licenses', 'slm-plus'), SLM_MANAGEMENT_PERMISSION, SLM_MAIN_MENU_SLUG, "slm_manage_licenses_menu"); + add_submenu_page(SLM_MAIN_MENU_SLUG, __('Create license', 'slm-plus'), __('Create license', 'slm-plus'), SLM_MANAGEMENT_PERMISSION, 'slm_manage_license', "slm_add_licenses_menu"); + add_submenu_page(SLM_MAIN_MENU_SLUG, __('Subscribers', 'slm-plus'), __('Subscribers', 'slm-plus'), SLM_MANAGEMENT_PERMISSION, 'slm_subscribers', "slm_subscribers_menu"); + add_submenu_page(SLM_MAIN_MENU_SLUG, __('Tools', 'slm-plus'), __('Tools', 'slm-plus'), SLM_MANAGEMENT_PERMISSION, 'slm_admin_tools', "slm_admin_tools_menu"); + add_submenu_page(SLM_MAIN_MENU_SLUG, __('Settings', 'slm-plus'), __('Settings', 'slm-plus'), SLM_MANAGEMENT_PERMISSION, 'slm_settings', "slm_settings_menu"); + add_submenu_page(SLM_MAIN_MENU_SLUG, __('Help', 'slm-plus'), __('Help', 'slm-plus'), SLM_MANAGEMENT_PERMISSION, 'slm_help', "slm_integration_help_menu"); + add_submenu_page(SLM_MAIN_MENU_SLUG, __('About', 'slm-plus'), __('About', 'slm-plus'), SLM_MANAGEMENT_PERMISSION, 'slm_about', "slm_about_menu"); add_action("load-" . $hook, [$this, 'screen_option']); } /** * Screen options */ - public function screen_option(){ + public function screen_option() + { $option = 'per_page'; $args = [ 'label' => 'Pagination', diff --git a/admin/slm-manage-licenses.php b/admin/slm-manage-licenses.php index ea87b78..83b8a6e 100755 --- a/admin/slm-manage-licenses.php +++ b/admin/slm-manage-licenses.php @@ -12,7 +12,7 @@ function get_user_info() if (!current_user_can('manage_licenses')) { $response = array( 'success' => false, - 'message' => _e('You do not have permission to manage this license.', 'slmplus'), + 'message' => esc_html__('You do not have permission to manage this license.', 'slm-plus'), ); echo json_encode($response); die(); @@ -33,9 +33,9 @@ function slm_manage_licenses_menu()
        -

        +


        - +
        @@ -56,10 +56,10 @@ function slm_manage_licenses_menu()
        - + prepare_items(); - $license_list->search_box(__('Search'), 'search-box-id'); + $license_list->search_box(__('Search', 'slm-plus'), 'search-box-id'); $license_list->views(); $license_list->display(); ?> @@ -73,4 +73,4 @@ function slm_manage_licenses_menu()
        '', //Render a checkbox - 'id' => __('ID', 'slmplus'), - 'first_name' => __('First Name', 'slmplus'), - 'last_name' => __('Last Name', 'slmplus'), - 'email' => __('Email Address', 'slmplus') + 'id' => __('ID', 'slm-plus'), + 'first_name' => __('First Name', 'slm-plus'), + 'last_name' => __('Last Name', 'slm-plus'), + 'email' => __('Email Address', 'slm-plus') ); return $columns; } @@ -116,14 +116,14 @@ private function sort_data($a, $b) if (!empty($_GET['order'])) { $order = $_GET['order']; } - if ($orderby == 'id'){ - if ($a[$orderby]==$b[$orderby]){ - $result = 0; - }else{ - $result = ($a[$orderby]<$b[$orderby])?-1:1; - } - }else{ - $result = strcmp($a[$orderby], $b[$orderby]); + if ($orderby == 'id') { + if ($a[$orderby] == $b[$orderby]) { + $result = 0; + } else { + $result = ($a[$orderby] < $b[$orderby]) ? -1 : 1; + } + } else { + $result = strcmp($a[$orderby], $b[$orderby]); } if ($order === 'asc') { return $result; @@ -133,11 +133,10 @@ private function sort_data($a, $b) function prepare_items() { - - $per_page = 24; - $columns = $this->get_columns(); - $hidden = array(); - $sortable = $this->get_sortable_columns(); + $per_page = 24; + $columns = $this->get_columns(); + $hidden = array(); + $sortable = $this->get_sortable_columns(); $this->_column_headers = array($columns, $hidden, $sortable); $this->process_bulk_action(); @@ -145,24 +144,41 @@ function prepare_items() global $wpdb; $license_table = SLM_TBL_LICENSE_KEYS; - $search = (isset($_REQUEST['s'])) ? $_REQUEST['s'] : false; - $search_term = trim(strip_tags($search)); - - $do_search = $wpdb->prepare("SELECT * FROM " . $license_table . " WHERE `email` LIKE '%%%s%%' OR `first_name` LIKE '%%%s%%' OR `last_name` LIKE '%%%s%%' GROUP BY email", $search_term, $search_term, $search_term); + // Sanitize the search term and strip all tags + $search = isset($_REQUEST['s']) ? sanitize_text_field(wp_unslash($_REQUEST['s'])) : false; + $search_term = trim(wp_strip_all_tags($search)); // Using wp_strip_all_tags for better sanitization + + // Escape the search term for SQL and add wildcards manually + $escaped_search_term = '%' . $wpdb->esc_like($search_term) . '%'; // esc_like handles escaping the term + + // Prepare the query with placeholders to prevent SQL injection + $do_search = $wpdb->prepare( + "SELECT * FROM {$license_table} + WHERE `email` LIKE %s + OR `first_name` LIKE %s + OR `last_name` LIKE %s + GROUP BY `email`", + $escaped_search_term, // Use the escaped search term with wildcards + $escaped_search_term, + $escaped_search_term + ); + // Execute the query safely $data = $wpdb->get_results($do_search, ARRAY_A); usort($data, array(&$this, 'sort_data')); - $current_page = $this->get_pagenum(); - $total_items = count($data); - $data = array_slice($data, (($current_page - 1) * $per_page), $per_page); - $this->items = $data; + // Pagination logic + $current_page = $this->get_pagenum(); + $total_items = count($data); + $data = array_slice($data, (($current_page - 1) * $per_page), $per_page); + $this->items = $data; + // Set pagination arguments $this->set_pagination_args(array( - 'total_items' => $total_items, //WE have to calculate the total number of items - 'per_page' => $per_page, //WE have to determine how many items to show on a page - 'total_pages' => ceil($total_items / $per_page) //WE have to calculate the total number of pages + 'total_items' => $total_items, + 'per_page' => $per_page, + 'total_pages' => ceil($total_items / $per_page) )); } } @@ -170,12 +186,13 @@ function prepare_items() function slm_subscribers_menu() { $subscribers_list = new Subscribers_List_Table(); - if (isset($_REQUEST['slm_subscriber_edit']) && $_REQUEST['slm_subscriber_edit'] == 'true') : ?> + $slm_subscriber_edit = isset($_REQUEST['slm_subscriber_edit']) ? sanitize_text_field($_REQUEST['slm_subscriber_edit']) : ''; + if ($slm_subscriber_edit === 'true') : ?>
        -

        +


        - +
        @@ -184,12 +201,11 @@ function slm_subscribers_menu()
        - - - + + + - @@ -203,7 +219,7 @@ function slm_subscribers_menu()
        -

        +



        @@ -211,10 +227,10 @@ function slm_subscribers_menu()
        - + prepare_items(); - $subscribers_list->search_box(__('Search', 'slmplus'), 'search-box-id'); + $subscribers_list->search_box(__('Search', 'slm-plus'), 'search-box-id'); $subscribers_list->views(); $subscribers_list->display(); ?> diff --git a/i18n/languages/slm-plus.pot b/i18n/languages/slm-plus.pot new file mode 100644 index 0000000..b64f95a --- /dev/null +++ b/i18n/languages/slm-plus.pot @@ -0,0 +1,1553 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: SLM Plus\n" +"POT-Creation-Date: 2024-11-12 15:24-0500\n" +"PO-Revision-Date: 2024-11-12 15:00-0500\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" +"X-Generator: Poedit 3.5\n" +"X-Poedit-Basepath: ../..\n" +"X-Poedit-Flags-xgettext: --add-comments=translators:\n" +"X-Poedit-WPHeader: slm-plus.php\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" +"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" +"_nx_noop:3c,1,2;__ngettext_noop:1,2\n" +"X-Poedit-SearchPath-0: .\n" +"X-Poedit-SearchPathExcluded-0: *.min.js\n" + +#: admin/includes/cronjobs/slm-tasks.php:9 +msgid "Every 24 Hours" +msgstr "" + +#: admin/includes/cronjobs/slm-tasks.php:89 +#: admin/includes/cronjobs/slm-tasks.php:90 +#: admin/includes/cronjobs/slm-tasks.php:124 +msgid "Run License Check" +msgstr "" + +#: admin/includes/cronjobs/slm-tasks.php:113 +msgid "License check completed. The following licenses have expired:" +msgstr "" + +#: admin/includes/cronjobs/slm-tasks.php:115 +msgid "License check completed. No expired licenses found." +msgstr "" + +#: admin/includes/cronjobs/slm-tasks.php:121 +msgid "Run License Check Manually" +msgstr "" + +#: admin/includes/cronjobs/slm-tasks.php:129 +msgid "Expired Licenses:" +msgstr "" + +#: admin/includes/partials/stats.php:8 +msgid "Total licenses" +msgstr "" + +#: admin/includes/partials/stats.php:18 +msgid "Licenses this week" +msgstr "" + +#: admin/includes/partials/stats.php:28 +msgid "Licenses this month" +msgstr "" + +#: admin/includes/partials/stats.php:38 admin/slm-dashboard-widgets.php:88 +msgid "Active licenses" +msgstr "" + +#: admin/includes/partials/stats.php:48 admin/slm-dashboard-widgets.php:95 +msgid "Pending licenses" +msgstr "" + +#: admin/includes/partials/stats.php:58 admin/slm-dashboard-widgets.php:102 +msgid "Blocked licenses" +msgstr "" + +#: admin/includes/partials/stats.php:68 +msgid "Logs saved" +msgstr "" + +#: admin/includes/partials/stats.php:78 +msgid "Reminders sent" +msgstr "" + +#: admin/includes/partials/stats.php:88 admin/slm-dashboard-widgets.php:109 +msgid "Expired licenses" +msgstr "" + +#: admin/includes/partials/stats.php:98 +msgid "Licenses about to expire" +msgstr "" + +#: admin/includes/wpestores/slm-wpestores.php:73 +msgid "Item Name: " +msgstr "" + +#: admin/includes/wpestores/slm-wpestores.php:73 +msgid "License Key: " +msgstr "" + +#: admin/slm-about-menu.php:16 +msgid "SLM - About" +msgstr "" + +#: admin/slm-about-menu.php:23 +msgid "Credits and Authors" +msgstr "" + +#: admin/slm-about-menu.php:25 +msgid "" +"SLM is a comprehensive software license management solution for your web " +"applications, supporting WordPress plugins, themes, applications, and " +"WooCommerce." +msgstr "" + +#: admin/slm-about-menu.php:29 +msgid "Information" +msgstr "" + +#: admin/slm-about-menu.php:30 +msgid "Details" +msgstr "" + +#: admin/slm-about-menu.php:35 +msgid "Authors" +msgstr "" + +#: admin/slm-about-menu.php:40 +msgid "and" +msgstr "" + +#: admin/slm-about-menu.php:47 +msgid "Help and Support" +msgstr "" + +#: admin/slm-about-menu.php:50 +msgid "Submit a request" +msgstr "" + +#: admin/slm-about-menu.php:55 +msgid "API Demos" +msgstr "" + +#: admin/slm-about-menu.php:58 +msgid "Postman Demos" +msgstr "" + +#: admin/slm-add-licenses.php:31 +msgid "Security check failed" +msgstr "" + +#: admin/slm-add-licenses.php:65 +msgid "Required fields are missing." +msgstr "" + +#: admin/slm-add-licenses.php:70 +msgid "License updated successfully." +msgstr "" + +#: admin/slm-add-licenses.php:73 +msgid "License created successfully." +msgstr "" + +#: admin/slm-add-licenses.php:74 woocommerce/includes/slm-meta-boxes.php:386 +msgid "View License" +msgstr "" + +#: admin/slm-add-licenses.php:127 +msgid "SLM Plus - License Management" +msgstr "" + +#: admin/slm-add-licenses.php:133 admin/slm-add-licenses.php:476 +msgid "License Information" +msgstr "" + +#: admin/slm-add-licenses.php:137 +#: woocommerce/includes/wc_licenses_class.php:285 +msgid "Activations" +msgstr "" + +#: admin/slm-add-licenses.php:142 +msgid "Activity" +msgstr "" + +#: admin/slm-add-licenses.php:163 +msgid "Activity Log" +msgstr "" + +#: admin/slm-add-licenses.php:167 admin/slm-add-licenses.php:267 +#: admin/slm-list-licenses-class.php:84 admin/slm-subscribers.php:85 +#: admin/slm-subscribers.php:187 includes/slm-utility.php:894 +#: woocommerce/includes/wc_licenses_class.php:293 +msgid "ID" +msgstr "" + +#: admin/slm-add-licenses.php:168 admin/slm-add-licenses.php:271 +#: woocommerce/includes/wc_licenses_class.php:115 +#: woocommerce/includes/wc_licenses_class.php:293 +msgid "Action" +msgstr "" + +#: admin/slm-add-licenses.php:169 +msgid "Time" +msgstr "" + +#: admin/slm-add-licenses.php:170 +msgid "Source" +msgstr "" + +#: admin/slm-add-licenses.php:189 +msgid "No activity log found for this license." +msgstr "" + +#: admin/slm-add-licenses.php:258 +msgid "Activation" +msgstr "" + +#: admin/slm-add-licenses.php:260 +msgid "Domains Left" +msgstr "" + +#: admin/slm-add-licenses.php:261 +msgid "Devices Left" +msgstr "" + +#: admin/slm-add-licenses.php:268 admin/slm-add-licenses.php:482 +#: woocommerce/includes/purchase.php:679 woocommerce/includes/purchase.php:756 +#: woocommerce/includes/wc_licenses_class.php:113 +#: woocommerce/includes/wc_licenses_class.php:199 +msgid "License Key" +msgstr "" + +#: admin/slm-add-licenses.php:269 woocommerce/includes/purchase.php:680 +#: woocommerce/includes/wc_licenses_class.php:293 +msgid "Type" +msgstr "" + +#: admin/slm-add-licenses.php:270 +#: woocommerce/includes/wc_licenses_class.php:293 +msgid "Origin" +msgstr "" + +#: admin/slm-add-licenses.php:283 +msgid "Domain" +msgstr "" + +#: admin/slm-add-licenses.php:287 admin/slm-add-licenses.php:309 +msgid "Remove" +msgstr "" + +#: admin/slm-add-licenses.php:303 +msgid "Device" +msgstr "" + +#: admin/slm-add-licenses.php:317 +msgid "No activations found" +msgstr "" + +#: admin/slm-add-licenses.php:378 +msgid "Nonce verification failed." +msgstr "" + +#: admin/slm-add-licenses.php:389 +msgid "Invalid activation data." +msgstr "" + +#: admin/slm-add-licenses.php:405 +msgid "Invalid activation type." +msgstr "" + +#: admin/slm-add-licenses.php:414 +msgid "The license key has been deactivated for this domain." +msgstr "" + +#: admin/slm-add-licenses.php:420 +msgid "Error deleting activation." +msgstr "" + +#: admin/slm-add-licenses.php:437 +msgid "Subscriber Information" +msgstr "" + +#: admin/slm-add-licenses.php:442 admin/slm-subscribers.php:86 +msgid "First Name" +msgstr "" + +#: admin/slm-add-licenses.php:449 admin/slm-subscribers.php:87 +msgid "Last Name" +msgstr "" + +#: admin/slm-add-licenses.php:456 admin/slm-list-licenses-class.php:89 +msgid "Email" +msgstr "" + +#: admin/slm-add-licenses.php:463 +#: woocommerce/includes/wc_licenses_class.php:211 +msgid "Company Name" +msgstr "" + +#: admin/slm-add-licenses.php:491 +#: woocommerce/includes/wc_licenses_class.php:209 +msgid "Max Allowed Domains" +msgstr "" + +#: admin/slm-add-licenses.php:495 +#: woocommerce/includes/wc_licenses_class.php:210 +msgid "Max Allowed Devices" +msgstr "" + +#: admin/slm-add-licenses.php:499 +msgid "License Status" +msgstr "" + +#: admin/slm-add-licenses.php:517 +#: woocommerce/includes/wc_licenses_class.php:203 +msgid "Date Created" +msgstr "" + +#: admin/slm-add-licenses.php:519 admin/slm-add-licenses.php:574 +#: admin/slm-add-licenses.php:585 admin/slm-add-licenses.php:646 +#, php-format +msgid "Display Format: %s (input: YYYY-MM-DD)" +msgstr "" + +#: admin/slm-add-licenses.php:523 woocommerce/includes/slm-meta-boxes.php:184 +#: woocommerce/includes/wc_licenses_class.php:201 +msgid "License Type" +msgstr "" + +#: admin/slm-add-licenses.php:526 admin/slm-admin-functions.php:123 +#: woocommerce/includes/slm-meta-boxes.php:189 +#: woocommerce/includes/slm-meta-boxes.php:391 +msgid "Subscription" +msgstr "" + +#: admin/slm-add-licenses.php:527 admin/slm-admin-functions.php:124 +#: woocommerce/includes/slm-meta-boxes.php:190 +#: woocommerce/includes/slm-meta-boxes.php:392 +msgid "Lifetime" +msgstr "" + +#: admin/slm-add-licenses.php:532 +msgid "Expiration Date" +msgstr "" + +#: admin/slm-add-licenses.php:534 +#, php-format +msgid "" +"Selecting a future date will automatically adjust the renewal term." +"
        Choose this date to set when the license should renew or expire. " +"
        Format: %s (input: YYYY-MM-DD)." +msgstr "" + +#: admin/slm-add-licenses.php:538 +msgid "Renewal" +msgstr "" + +#: admin/slm-add-licenses.php:542 admin/slm-lic-settings.php:167 +msgid "Billing Length" +msgstr "" + +#: admin/slm-add-licenses.php:545 +msgid "" +"Sets how often the license renews. E.g., a length of 2 with a term of years " +"means the license renews every 2 years." +msgstr "" + +#: admin/slm-add-licenses.php:550 admin/slm-lic-settings.php:173 +#: woocommerce/includes/slm-meta-boxes.php:207 +msgid "Expiration Term" +msgstr "" + +#: admin/slm-add-licenses.php:552 admin/slm-lic-settings.php:176 +#: woocommerce/includes/slm-meta-boxes.php:211 +msgid "Day(s)" +msgstr "" + +#: admin/slm-add-licenses.php:553 admin/slm-lic-settings.php:177 +#: woocommerce/includes/slm-meta-boxes.php:212 +msgid "Month(s)" +msgstr "" + +#: admin/slm-add-licenses.php:554 admin/slm-lic-settings.php:178 +#: woocommerce/includes/slm-meta-boxes.php:213 +msgid "Year(s)" +msgstr "" + +#: admin/slm-add-licenses.php:557 +msgid "Choose the renewal period: days, months, or years." +msgstr "" + +#: admin/slm-add-licenses.php:564 +msgid "Subscriber ID" +msgstr "" + +#: admin/slm-add-licenses.php:568 +#: woocommerce/includes/wc_licenses_class.php:205 +msgid "Date Renewed" +msgstr "" + +#: admin/slm-add-licenses.php:579 +#: woocommerce/includes/wc_licenses_class.php:204 +msgid "Date Activated" +msgstr "" + +#: admin/slm-add-licenses.php:593 +msgid "Transaction Information" +msgstr "" + +#: admin/slm-add-licenses.php:599 woocommerce/includes/slm-meta-boxes.php:174 +msgid "Item Reference" +msgstr "" + +#: admin/slm-add-licenses.php:604 +msgid "Transaction ID" +msgstr "" + +#: admin/slm-add-licenses.php:609 +msgid "Purchase ID" +msgstr "" + +#: admin/slm-add-licenses.php:614 +#: woocommerce/includes/wc_licenses_class.php:207 +msgid "Product Reference" +msgstr "" + +#: admin/slm-add-licenses.php:622 +msgid "Other" +msgstr "" + +#: admin/slm-add-licenses.php:627 +msgid "Until" +msgstr "" + +#: admin/slm-add-licenses.php:631 admin/slm-lic-settings.php:155 +#: woocommerce/includes/slm-meta-boxes.php:224 +msgid "Current Version" +msgstr "" + +#: admin/slm-add-licenses.php:635 +msgid "Reminder Sent" +msgstr "" + +#: admin/slm-add-licenses.php:639 +msgid "Reminder Sent Date" +msgstr "" + +#: admin/slm-add-licenses.php:651 +msgid "Manual Reset Count" +msgstr "" + +#: admin/slm-add-licenses.php:659 +msgid "Update License" +msgstr "" + +#: admin/slm-add-licenses.php:661 woocommerce/includes/slm-meta-boxes.php:395 +#: woocommerce/includes/slm-meta-boxes.php:399 +msgid "Create License" +msgstr "" + +#: admin/slm-admin-functions.php:14 +msgid "SLM Plus - Tools" +msgstr "" + +#: admin/slm-admin-functions.php:30 +msgid "Success message returned from the remote host." +msgstr "" + +#: admin/slm-admin-functions.php:33 +msgid "Request sent to the specified URL!" +msgstr "" + +#: admin/slm-admin-functions.php:45 +msgid "Log was cleared successfully!" +msgstr "" + +#: admin/slm-admin-functions.php:51 +msgid "Send Deactivation Message for a License" +msgstr "" + +#: admin/slm-admin-functions.php:56 +msgid "Send Request" +msgstr "" + +#: admin/slm-admin-functions.php:63 +msgid "Clean Activity Log" +msgstr "" + +#: admin/slm-admin-functions.php:65 +msgid "This will clear/reset license keys activities" +msgstr "" + +#: admin/slm-admin-functions.php:68 +msgid "Clear Log" +msgstr "" + +#: admin/slm-admin-functions.php:75 +msgid "Backup Database" +msgstr "" + +#: admin/slm-admin-functions.php:77 +msgid "" +"This will create a backup of the database tables related to this plugin and " +"save it to the uploads directory." +msgstr "" + +#: admin/slm-admin-functions.php:80 +msgid "Create Backup" +msgstr "" + +#: admin/slm-admin-functions.php:90 +msgid "Last backup created on: " +msgstr "" + +#: admin/slm-admin-functions.php:90 +msgid "Download Backup" +msgstr "" + +#: admin/slm-admin-functions.php:97 +msgid "Generate License for WooCommerce Orders" +msgstr "" + +#: admin/slm-admin-functions.php:100 admin/slm-lic-settings.php:249 +msgid "" +"This tool generates bulk licenses for WooCommerce orders placed before the " +"plugin was activated or for orders that lack existing licenses." +msgstr "" + +#: admin/slm-admin-functions.php:101 admin/slm-lic-settings.php:250 +msgid "Warning:" +msgstr "" + +#: admin/slm-admin-functions.php:102 admin/slm-lic-settings.php:251 +msgid "" +"This action cannot be undone. Please back up your database before proceeding." +msgstr "" + +#: admin/slm-admin-functions.php:112 +msgid "Product ID" +msgstr "" + +#: admin/slm-admin-functions.php:114 +msgid "Enter Product ID" +msgstr "" + +#: admin/slm-admin-functions.php:115 +msgid "Specify the default product ID for license generation." +msgstr "" + +#: admin/slm-admin-functions.php:120 +msgid "Subscription Type" +msgstr "" + +#: admin/slm-admin-functions.php:126 +msgid "Select the type of license for the order." +msgstr "" + +#: admin/slm-admin-functions.php:133 +msgid "Generate Licenses" +msgstr "" + +#: admin/slm-admin-functions.php:137 +msgid "" +"Please enable the WooCommerce License Generator option to activate the " +"Generate Licenses tool." +msgstr "" + +#: admin/slm-admin-functions.php:147 +msgid "License Generation Results:" +msgstr "" + +#: admin/slm-admin-functions.php:165 +msgid "Product ID cannot be empty." +msgstr "" + +#: admin/slm-admin-functions.php:166 +msgid "Product ID is required." +msgstr "" + +#: admin/slm-admin-functions.php:170 +msgid "Subscription Type cannot be empty." +msgstr "" + +#: admin/slm-admin-functions.php:171 +msgid "Subscription Type is required." +msgstr "" + +#: admin/slm-admin-functions.php:193 +msgid "Licenses generated successfully!" +msgstr "" + +#: admin/slm-admin-functions.php:196 +msgid "Some licenses failed to generate. Check the response for details." +msgstr "" + +#: admin/slm-admin-functions.php:200 +msgid "There was an error processing the request. Please try again." +msgstr "" + +#: admin/slm-admin-functions.php:201 +msgid "There was an error processing the request." +msgstr "" + +#: admin/slm-admin-functions.php:283 +msgid "Backup created successfully! Download from: " +msgstr "" + +#: admin/slm-admin-functions.php:285 +msgid "Error: Failed to create the backup file." +msgstr "" + +#. Plugin Name of the plugin/theme +#: admin/slm-dashboard-widgets.php:30 admin/slm-list-licenses-class.php:466 +msgid "SLM Plus" +msgstr "" + +#: admin/slm-dashboard-widgets.php:33 +msgid "slm-plus" +msgstr "" + +#: admin/slm-dashboard-widgets.php:42 +msgid "Overview" +msgstr "" + +#: admin/slm-dashboard-widgets.php:52 +msgid "Add new license" +msgstr "" + +#: admin/slm-dashboard-widgets.php:62 admin/slm-list-licenses-class.php:471 +#: slm-plus.php:69 +msgid "Settings" +msgstr "" + +#: admin/slm-dashboard-widgets.php:79 +msgid "Manage licenses" +msgstr "" + +#: admin/slm-dashboard-widgets.php:80 +msgid "Total active licenses" +msgstr "" + +#: admin/slm-dashboard-widgets.php:120 +msgid "Recent Licenses" +msgstr "" + +#: admin/slm-dashboard-widgets.php:121 +msgid "View All" +msgstr "" + +#: admin/slm-integration-help-page.php:14 +msgid "SLM Plus - Integration Help" +msgstr "" + +#: admin/slm-integration-help-page.php:15 +msgid "Version:" +msgstr "" + +#: admin/slm-integration-help-page.php:21 +msgid "API Settings" +msgstr "" + +#: admin/slm-integration-help-page.php:29 +msgid "License API Query POST URL for Your Installation" +msgstr "" + +#: admin/slm-integration-help-page.php:32 +msgid "License Activation/Deactivation API Secret Key" +msgstr "" + +#: admin/slm-integration-help-page.php:35 +msgid "License Creation API Secret Key" +msgstr "" + +#: admin/slm-integration-help-page.php:41 +msgid "Documentation and Guides" +msgstr "" + +#: admin/slm-integration-help-page.php:43 +msgid "Need more help? Check out the documentation:" +msgstr "" + +#: admin/slm-integration-help-page.php:45 +msgid "Postman API Demos" +msgstr "" + +#: admin/slm-integration-help-page.php:52 +msgid "Error Codes and Descriptions" +msgstr "" + +#: admin/slm-integration-help-page.php:57 +msgid "Constant" +msgstr "" + +#: admin/slm-integration-help-page.php:58 +msgid "Error Code" +msgstr "" + +#: admin/slm-integration-help-page.php:59 +msgid "Description" +msgstr "" + +#: admin/slm-integration-help-page.php:65 +msgid "The license creation failed due to an unknown error." +msgstr "" + +#: admin/slm-integration-help-page.php:66 +msgid "The license key provided during creation is invalid." +msgstr "" + +#: admin/slm-integration-help-page.php:67 +msgid "The domain associated with this license is already inactive." +msgstr "" + +#: admin/slm-integration-help-page.php:68 +msgid "The domain information is missing in the request." +msgstr "" + +#: admin/slm-integration-help-page.php:69 +msgid "The license key has been canceled." +msgstr "" + +#: admin/slm-integration-help-page.php:70 +msgid "Failed to cancel the license key." +msgstr "" + +#: admin/slm-integration-help-page.php:71 +msgid "Successfully deactivated the license key for the specified domain." +msgstr "" + +#: admin/slm-integration-help-page.php:72 +msgid "The license key was successfully deactivated." +msgstr "" + +#: admin/slm-integration-help-page.php:73 +msgid "Failed to delete the license key." +msgstr "" + +#: admin/slm-integration-help-page.php:74 +msgid "The license key was successfully deleted." +msgstr "" + +#: admin/slm-integration-help-page.php:75 +msgid "The license key has been deleted." +msgstr "" + +#: admin/slm-integration-help-page.php:76 +msgid "Failed to update the license key details." +msgstr "" + +#: admin/slm-integration-help-page.php:77 +msgid "The license key was successfully updated." +msgstr "" + +#: admin/slm-integration-help-page.php:78 +msgid "The license key was successfully activated." +msgstr "" + +#: admin/slm-integration-help-page.php:79 +msgid "The license key has been blocked from further use." +msgstr "" + +#: admin/slm-integration-help-page.php:80 +msgid "The license key was successfully created." +msgstr "" + +#: admin/slm-integration-help-page.php:81 +msgid "The license key already exists in the system." +msgstr "" + +#: admin/slm-integration-help-page.php:82 +msgid "The license key has expired." +msgstr "" + +#: admin/slm-integration-help-page.php:83 +msgid "The license key is already in use on another domain or device." +msgstr "" + +#: admin/slm-integration-help-page.php:84 +msgid "The license key is invalid." +msgstr "" + +#: admin/slm-integration-help-page.php:85 +msgid "Failed to delete the license key because it was not found." +msgstr "" + +#: admin/slm-integration-help-page.php:86 +msgid "Failed to update the license key because it was not found." +msgstr "" + +#: admin/slm-integration-help-page.php:87 +msgid "The license key has reached its maximum allowable devices." +msgstr "" + +#: admin/slm-integration-help-page.php:88 +msgid "The license key has reached its maximum allowable domains." +msgstr "" + +#: admin/slm-integration-help-page.php:89 +msgid "The key verification failed due to an invalid key." +msgstr "" + +#: admin/slm-lic-settings.php:72 +msgid "Options updated!" +msgstr "" + +#: admin/slm-lic-settings.php:85 +msgid "SLM Plus - Settings" +msgstr "" + +#: admin/slm-lic-settings.php:91 +msgid "General" +msgstr "" + +#: admin/slm-lic-settings.php:95 +msgid "Integrations" +msgstr "" + +#: admin/slm-lic-settings.php:99 +msgid "Debugging" +msgstr "" + +#: admin/slm-lic-settings.php:103 +msgid "Emails" +msgstr "" + +#: admin/slm-lic-settings.php:115 +msgid "Secret Key for License Creation" +msgstr "" + +#: admin/slm-lic-settings.php:118 +msgid "" +"This secret key will be used to authenticate any license creation request. " +"You can change it with something random." +msgstr "" + +#: admin/slm-lic-settings.php:122 +msgid "Secret Key for License Verification Requests" +msgstr "" + +#: admin/slm-lic-settings.php:124 +msgid "" +"This secret key will be used to authenticate any license verification " +"request from customer's site. Important! Do not change this value once your " +"customers start to use your product(s)!" +msgstr "" + +#: admin/slm-lic-settings.php:128 +msgid "License Key Prefix" +msgstr "" + +#: admin/slm-lic-settings.php:130 +msgid "" +"You can optionaly specify a prefix for the license keys. This prefix will be " +"added to the uniquely generated license keys." +msgstr "" + +#: admin/slm-lic-settings.php:134 +msgid "Maximum Allowed Devices" +msgstr "" + +#: admin/slm-lic-settings.php:136 +msgid "" +"Maximum number of devices which each license is valid for (default value)." +msgstr "" + +#: admin/slm-lic-settings.php:141 +msgid "Maximum Allowed Domains" +msgstr "" + +#: admin/slm-lic-settings.php:143 +msgid "" +"Maximum number of domains which each license is valid for (default value)." +msgstr "" + +#: admin/slm-lic-settings.php:148 +msgid "Support Until Ver." +msgstr "" + +#: admin/slm-lic-settings.php:150 +msgid "" +"This is used to enable bulk license generation for WooCommerce orders placed " +"before the plugin was active or for orders that do not already contain " +"licenses (default setting)." +msgstr "" + +#: admin/slm-lic-settings.php:157 admin/slm-lic-settings.php:169 +#: admin/slm-lic-settings.php:181 +msgid "" +"This is used to enable bulk license generation for WooCommerce orders placed " +"before the plugin was active or for orders that do not already contain " +"licenses (default setting:)." +msgstr "" + +#: admin/slm-lic-settings.php:180 +msgid "Frequency period: in days, months, or years" +msgstr "" + +#: admin/slm-lic-settings.php:187 +msgid "Auto Expire License Keys" +msgstr "" + +#: admin/slm-lic-settings.php:189 +msgid "Enable auto expiration " +msgstr "" + +#: admin/slm-lic-settings.php:190 +msgid "" +" When enabled, it will automatically set the status of a license key to " +"\"Expired\" when the expiry date value of the key is reached. It doesn't " +"remotely deactivate a key. It simply changes the status of the key in your " +"database to expired." +msgstr "" + +#: admin/slm-lic-settings.php:194 +msgid "General settings" +msgstr "" + +#: admin/slm-lic-settings.php:197 +msgid "Enable stats in licenses overview page." +msgstr "" + +#: admin/slm-lic-settings.php:205 +msgid "Enable admin bar shortcut link" +msgstr "" + +#: admin/slm-lic-settings.php:210 +msgid "Multiple items validation" +msgstr "" + +#: admin/slm-lic-settings.php:213 +msgid "Enable verification of Item reference." +msgstr "" + +#: admin/slm-lic-settings.php:214 +msgid "" +"When enabled, there will be another field in Licenced product - Item " +"reference. This field should correspond to the API parameter item_reference " +"of your software." +msgstr "" + +#: admin/slm-lic-settings.php:219 +msgid "User permissions" +msgstr "" + +#: admin/slm-lic-settings.php:222 +msgid "Allow users to remove domains/devices in My account." +msgstr "" + +#: admin/slm-lic-settings.php:223 +msgid "" +"When enabled, users will be able to remove registered domains or devices in " +"their account." +msgstr "" + +#: admin/slm-lic-settings.php:232 +msgid "WooCommerce Settings" +msgstr "" + +#: admin/slm-lic-settings.php:236 +msgid "WooCommerce" +msgstr "" + +#: admin/slm-lic-settings.php:239 +msgid "" +"Enable WooCommerce Support (A fully customizable, open source eCommerce " +"platform built for WordPress.)" +msgstr "" + +#: admin/slm-lic-settings.php:247 +msgid "Enable WooCommerce Order License Generator" +msgstr "" + +#: admin/slm-lic-settings.php:260 +msgid "" +"Disable WooCommerce download page. Process downloads though license order " +"info page." +msgstr "" + +#: admin/slm-lic-settings.php:267 +msgid "" +"Enable WooCommerce downloads expiration. Downloads will expire together with " +"corresponding license." +msgstr "" + +#: admin/slm-lic-settings.php:272 admin/slm-lic-settings.php:275 +msgid "WP eStores" +msgstr "" + +#: admin/slm-lic-settings.php:278 +msgid "Enable WordPress eStore Plugin Support." +msgstr "" + +#: admin/slm-lic-settings.php:289 +msgid "Enable Debug Logging" +msgstr "" + +#: admin/slm-lic-settings.php:292 +msgid "If checked, debug output will be written to log files." +msgstr "" + +#: admin/slm-lic-settings.php:297 +msgid "SLM Plus Version" +msgstr "" + +#: admin/slm-lic-settings.php:304 +msgid "SLM Databse Version" +msgstr "" + +#: admin/slm-lic-settings.php:311 +msgid "SLM Rewrite Version" +msgstr "" + +#: admin/slm-lic-settings.php:326 +msgid "Expiration reminder" +msgstr "" + +#: admin/slm-lic-settings.php:336 +msgid "Update Options" +msgstr "" + +#: admin/slm-list-licenses-class.php:27 +msgid "No licenses avaliable." +msgstr "" + +#: admin/slm-list-licenses-class.php:43 +msgid "All" +msgstr "" + +#: admin/slm-list-licenses-class.php:50 +msgid "active" +msgstr "" + +#: admin/slm-list-licenses-class.php:57 +msgid "pending" +msgstr "" + +#: admin/slm-list-licenses-class.php:64 +msgid "expired" +msgstr "" + +#: admin/slm-list-licenses-class.php:71 +msgid "blocked" +msgstr "" + +#: admin/slm-list-licenses-class.php:85 admin/slm-subscribers.php:189 +#: woocommerce/includes/wc_licenses_class.php:114 +#: woocommerce/includes/wc_licenses_class.php:200 +msgid "Status" +msgstr "" + +#: admin/slm-list-licenses-class.php:86 +msgid "Key" +msgstr "" + +#: admin/slm-list-licenses-class.php:87 +msgid "Item reference" +msgstr "" + +#: admin/slm-list-licenses-class.php:88 +msgid "License type" +msgstr "" + +#: admin/slm-list-licenses-class.php:90 +msgid "Domains" +msgstr "" + +#: admin/slm-list-licenses-class.php:91 +msgid "Devices" +msgstr "" + +#: admin/slm-list-licenses-class.php:92 +msgid "Order #" +msgstr "" + +#: admin/slm-list-licenses-class.php:93 +msgid "Created on" +msgstr "" + +#: admin/slm-list-licenses-class.php:94 +msgid "Renewed on" +msgstr "" + +#: admin/slm-list-licenses-class.php:95 +msgid "Activated on" +msgstr "" + +#: admin/slm-list-licenses-class.php:96 +msgid "Expiration" +msgstr "" + +#: admin/slm-list-licenses-class.php:97 +msgid "Until Ver." +msgstr "" + +#: admin/slm-list-licenses-class.php:98 +msgid "Current Ver." +msgstr "" + +#: admin/slm-list-licenses-class.php:120 +msgid " Lifetime " +msgstr "" + +#: admin/slm-list-licenses-class.php:213 admin/slm-list-licenses-class.php:231 +#: admin/slm-list-licenses-class.php:249 admin/slm-list-licenses-class.php:267 +#: admin/slm-list-licenses-class.php:285 +msgid "Error - Please select some records using the checkboxes" +msgstr "" + +#: admin/slm-list-licenses-class.php:467 +msgid "Manage Licenses" +msgstr "" + +#: admin/slm-list-licenses-class.php:468 +msgid "Create license" +msgstr "" + +#: admin/slm-list-licenses-class.php:469 +msgid "Subscribers" +msgstr "" + +#: admin/slm-list-licenses-class.php:470 +msgid "Tools" +msgstr "" + +#: admin/slm-list-licenses-class.php:472 +msgid "Help" +msgstr "" + +#: admin/slm-list-licenses-class.php:473 +msgid "About" +msgstr "" + +#: admin/slm-manage-licenses.php:15 +msgid "You do not have permission to manage this license." +msgstr "" + +#: admin/slm-manage-licenses.php:36 +msgid "SLM Plus - Manage Licenses" +msgstr "" + +#: admin/slm-manage-licenses.php:38 +msgid "Add New" +msgstr "" + +#: admin/slm-manage-licenses.php:62 admin/slm-subscribers.php:217 +msgid "Search" +msgstr "" + +#: admin/slm-subscribers.php:88 +msgid "Email Address" +msgstr "" + +#: admin/slm-subscribers.php:176 +msgid "Overview - Manage Subscribers" +msgstr "" + +#: admin/slm-subscribers.php:178 +msgid "View all" +msgstr "" + +#: admin/slm-subscribers.php:188 +msgid "License key" +msgstr "" + +#: admin/slm-subscribers.php:206 +msgid "Overview - All Subscribers" +msgstr "" + +#: includes/class-slm-installer.php:41 +msgid "Pending" +msgstr "" + +#: includes/class-slm-installer.php:42 +msgid "Active" +msgstr "" + +#: includes/class-slm-installer.php:43 +msgid "Blocked" +msgstr "" + +#: includes/class-slm-installer.php:44 +msgid "Expired" +msgstr "" + +#: includes/slm-utility.php:421 includes/slm-utility.php:437 +msgid "0 days remaining" +msgstr "" + +#: includes/slm-utility.php:430 +#, php-format +msgid "%s days remaining until %s" +msgstr "" + +#: includes/slm-utility.php:482 +msgid "License key not found or invalid email." +msgstr "" + +#: includes/slm-utility.php:882 +msgid " view" +msgstr "" + +#: includes/slm-utility.php:894 +msgid "Request" +msgstr "" + +#: includes/slm-utility.php:902 +msgid "Source:" +msgstr "" + +#: includes/slm-utility.php:903 +msgid "Time:" +msgstr "" + +#: includes/slm-utility.php:949 +msgid "Not registered yet" +msgstr "" + +#: includes/slm-utility.php:967 includes/slm-utility.php:979 +msgid "License information" +msgstr "" + +#: includes/slm-utility.php:980 +msgid "License type: " +msgstr "" + +#: includes/slm-utility.php:981 +msgid "Domains allowed: " +msgstr "" + +#: includes/slm-utility.php:982 +msgid "Devices allowed: " +msgstr "" + +#: includes/slm-utility.php:983 +msgid "Renews every " +msgstr "" + +#: woocommerce/includes/create-license-orders.php:42 +msgid "Product ID is missing in the request." +msgstr "" + +#: woocommerce/includes/create-license-orders.php:58 +msgid "" +"The provided Product ID does not correspond to a valid WooCommerce product. " +"Please check the ID and try again." +msgstr "" + +#: woocommerce/includes/create-license-orders.php:190 +#: woocommerce/includes/create-license-orders.php:239 +#: woocommerce/includes/slm-meta-boxes.php:530 +#, php-format +msgid "License Key generated: %s" +msgstr "" + +#: woocommerce/includes/create-license-orders.php:260 +#, php-format +msgid "%d orders were skipped:" +msgstr "" + +#: woocommerce/includes/create-license-orders.php:264 +#, php-format +msgid "" +"Order ID %d was skipped due to: %s. View " +"Order" +msgstr "" + +#: woocommerce/includes/create-license-orders.php:273 +#, php-format +msgid "%d licenses generated successfully:" +msgstr "" + +#: woocommerce/includes/create-license-orders.php:276 +#, php-format +msgid "" +"License Key: %s for Order ID %d - View " +"Order" +msgstr "" + +#: woocommerce/includes/create-license-orders.php:282 +#, php-format +msgid "%d licenses failed to generate." +msgstr "" + +#: woocommerce/includes/purchase.php:90 +msgid "License no longer exists" +msgstr "" + +#: woocommerce/includes/purchase.php:95 +#: woocommerce/includes/slm-meta-boxes.php:381 +msgid "License Key:" +msgstr "" + +#: woocommerce/includes/purchase.php:193 +msgid "License could not be created: Invalid sites allowed number." +msgstr "" + +#: woocommerce/includes/purchase.php:344 +msgid "License Key(s) generated:" +msgstr "" + +#: woocommerce/includes/purchase.php:373 +msgid "License Key(s) could not be created." +msgstr "" + +#: woocommerce/includes/purchase.php:627 +#, php-format +msgid "Order confirmation email sent to: %s" +msgstr "" + +#: woocommerce/includes/purchase.php:675 +#: woocommerce/includes/wc_licenses_class.php:215 +msgid "License Details" +msgstr "" + +#: woocommerce/includes/purchase.php:690 +msgid "View My Licenses" +msgstr "" + +#: woocommerce/includes/purchase.php:748 +msgid "License Keys" +msgstr "" + +#: woocommerce/includes/purchase.php:753 +msgid "Product" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:51 +msgid "License product" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:68 +msgid "License Manager" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:70 +msgid "Enables the license creation API." +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:120 +msgid "License Info" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:146 +msgid "Domain Licenses" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:152 +msgid "Enter the allowed number of domains this license can have (websites)." +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:161 +msgid "Devices Licenses" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:167 +msgid "" +"Enter the allowed number of devices this license can have (computers, " +"mobile, etc)." +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:175 +msgid "Software's item reference" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:177 +msgid "" +"Enter the item reference of your application, theme, or plug-in. The license " +"will be then bound to this exact software." +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:186 +msgid "Type of license: subscription base or lifetime" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:188 +msgid "Select one" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:197 +msgid "Renewal Period Length" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:198 +msgid "XX Amount of days, months, or years." +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:209 +msgid "Choose between days, months, or years" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:214 +msgid "One Time" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:227 +msgid "Enter the current version of your application, theme, or plug-in" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:233 +msgid "Until Version" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:236 +msgid "Enter the version until support expires." +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:361 +msgid "SLM Properties" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:382 +#: woocommerce/includes/slm-meta-boxes.php:389 +msgid "License Type:" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:383 +msgid "A license key is already assigned to this order." +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:398 +msgid "Order must be completed or processing to create a license." +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:421 +msgid "" +"Warning: The order lacks user information like last name or email. Do you " +"still wish to create the license?" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:425 +msgid "Are you sure you want to create a license for this order?" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:435 +msgid "License creation failed. Please check the logs." +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:441 +msgid "Unable to verify order details. Please try again." +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:460 +#: woocommerce/includes/slm-meta-boxes.php:545 +msgid "Invalid order ID" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:465 +msgid "Order must be completed or processing to create a license" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:518 +msgid "API request failed" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:533 +msgid "License created successfully" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:535 +msgid "License creation failed" +msgstr "" + +#: woocommerce/includes/slm-meta-boxes.php:554 +msgid "Order not found" +msgstr "" + +#: woocommerce/includes/wc_licenses_class.php:59 +msgid "My Licenses" +msgstr "" + +#: woocommerce/includes/wc_licenses_class.php:84 +#: woocommerce/includes/wc_licenses_class.php:188 +msgid "Invalid license or access denied." +msgstr "" + +#: woocommerce/includes/wc_licenses_class.php:112 +#: woocommerce/includes/wc_licenses_class.php:202 +msgid "Order ID" +msgstr "" + +#: woocommerce/includes/wc_licenses_class.php:132 +msgid "Manual" +msgstr "" + +#: woocommerce/includes/wc_licenses_class.php:140 +msgid "View" +msgstr "" + +#: woocommerce/includes/wc_licenses_class.php:195 +msgid "Back to My Licenses" +msgstr "" + +#: woocommerce/includes/wc_licenses_class.php:206 +msgid "Date Expiry" +msgstr "" + +#: woocommerce/includes/wc_licenses_class.php:208 +msgid "Subscription ID" +msgstr "" + +#: woocommerce/includes/wc_licenses_class.php:231 +msgid "No Order Information Available" +msgstr "" + +#: woocommerce/includes/wc_licenses_class.php:247 +msgid "Product Not Found" +msgstr "" + +#: woocommerce/includes/wc_licenses_class.php:250 +msgid "No Product Information Available" +msgstr "" + +#: woocommerce/includes/wc_licenses_class.php:256 +msgid "Not activated yet" +msgstr "" + +#: woocommerce/includes/wc_licenses_class.php:256 +msgid "Not renewed yet" +msgstr "" + +#: woocommerce/includes/wc_licenses_class.php:289 +msgid "No activations found." +msgstr "" + +#: woocommerce/includes/wc_licenses_class.php:305 +msgid "Delete" +msgstr "" + +#: woocommerce/includes/wc_licenses_class.php:327 +msgid "Activation successfully deleted. Reload Page." +msgstr "" + +#: woocommerce/includes/wc_licenses_class.php:329 +msgid "Failed to delete activation. Please try again." +msgstr "" + +#. Plugin URI of the plugin/theme +msgid "https://github.com/michelve/software-license-manager/" +msgstr "" + +#. Description of the plugin/theme +msgid "" +"A comprehensive software license management solution for web applications " +"including WordPress plugins, themes, and PHP-based software. Seamlessly " +"integrates with WooCommerce to offer license key generation, management, and " +"validation. Ideal for developers managing software licenses across multiple " +"platforms with built-in multilingual support and performance optimization." +msgstr "" + +#. Author of the plugin/theme +msgid "Michel Velis" +msgstr "" + +#. Author URI of the plugin/theme +msgid "https://github.com/michelve/" +msgstr "" diff --git a/i18n/languages/slmplus-es_ES.mo b/i18n/languages/slmplus-es_ES.mo deleted file mode 100644 index b27d7a2d8e194676f3b76ddacb6365dc9bf620d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2756 zcmaKsU1(fI6vs!~`mwFnwtm&msamTwce~l9P;V?HO_L^=G)p&$g2i=m?{qWq?w#w* z+%&;H>8sKQ>q|ux3I(+vg5U>=R4O9);Dex`AR;Kz7ax66{GWSgvnhzfp8d_4IWyRsLH`8F{w*vfyR#tW z@d8M8pMiAlFTh*DZ@m5sxEcBtkmCFs#E(^Ayan6>()W&a(leI5vT_ zZX5n+pFR+#Y!68G`$5X{sMlve@_!VhxRlp5NPbU%wEsyze+s01PlI&MGa#M z9%}UcKMc7YLNQRgvjpo0cR=V3-w&a?p}gD;={C9-`c~+^so@C4nW#@WqWnDqq5N=2 z4e|iwF-R5CZFC=X$acuR-NB(bojW!ZIkhO+P#p8a@;Dnx5_TZb(epB9!@84+beSI( z9m$4`6i&umr|cj)-0SS1w2@JnQ#2u+P>E$D9iaT@*w{$x$ACp?mU%3e*~n6+j40L> zT{s+7#=6qoA(=`e65f=~skCj`A?3#MIW{JfjEx^;y#tt>E%qanbaXUvv9)&l1;P7zer;yDI-Wj=DnAp z7`-4P7mUZjtTYxog}ga2$s0*-D~+k(h+I@O8qlqTyk4sh1pT$3zL(eQVXZ%?4b*BC zN>We+lL)6x$T5<(b0i>`mZGyt54p6hf&RxUljD;kJ&*m>T4h+LPNvugrwF-|OKw+| z2$c@q!A+J_^?^hiv!xQx9F+Hm=w6-K@T`HB`rJq(S_1RdlS#`4F zYi%HtK@GY5uZfYRD9K|PlflkvN2S#T`@eSmAx8?^Dh={1#upbv^Ag3v99_gmt4#&< zM4CvHWkp*y)Hbp$3{P{psPQUdP2~lzNuYOFcjk=bvE+&1vXh}uh@#NMn#+`pN_|@>hcFvVTy;=RUBTBv?x@@NGwV4Pz=meq^};+tA^}Vc6g(R$?^meUp_A^o0Vy# zItpKuF8eEivZ00CI%#>kEKcz3tJ2VN9*b^SG94f6a3ZL(W->_>Hu>Yi$G@GtSd^z? zrZ_j%sYr>C6+?(Y@}gW}3^f@Sg73~CS7!B$MS+TG%PD6NB;G#`-Hoa&UI-uI`TC_< zQzt4?E|1xP+(yD6J?Syk&W#Us#5%f=CMHqL%k++EgSf_|F``HZax)%N7{xmiQE4@; iGR?+NUj(vcxT6~`Y8ozonMDHilXfmDDh0(*W7)syHicRM diff --git a/i18n/languages/slmplus-es_ES.po b/i18n/languages/slmplus-es_ES.po deleted file mode 100644 index a3758ab..0000000 --- a/i18n/languages/slmplus-es_ES.po +++ /dev/null @@ -1,1511 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: SLM Plus\n" -"POT-Creation-Date: 2024-10-28 22:01-0400\n" -"PO-Revision-Date: 2024-10-28 22:20-0400\n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: es_419\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.5\n" -"X-Poedit-Basepath: ../..\n" -"X-Poedit-Flags-xgettext: --add-comments=translators:\n" -"X-Poedit-WPHeader: slm-plus.php\n" -"X-Poedit-SourceCharset: UTF-8\n" -"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" -"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" -"_nx_noop:3c,1,2;__ngettext_noop:1,2\n" -"X-Poedit-SearchPath-0: .\n" -"X-Poedit-SearchPathExcluded-0: *.min.js\n" -"X-Poedit-SearchPathExcluded-1: plugin-update-checker\\vendor\n" - -#: admin/includes/cronjobs/slm-tasks.php:10 -msgid "Every day" -msgstr "Todos los días" - -#: admin/includes/partials/stats.php:8 -#, fuzzy -msgid "Total licenses" -msgstr "Total de licencias" - -#: admin/includes/partials/stats.php:18 -#, fuzzy -msgid "Licenses this week" -msgstr "Licencias esta semana" - -#: admin/includes/partials/stats.php:28 -#, fuzzy -msgid "Licenses this month" -msgstr "Licencias este mes" - -#: admin/includes/partials/stats.php:38 -#, fuzzy -msgid "Active licenses" -msgstr "Licencias activas" - -#: admin/includes/partials/stats.php:48 -#, fuzzy -msgid "Pending licenses" -msgstr "Licencias pendientes" - -#: admin/includes/partials/stats.php:58 -#, fuzzy -msgid "Blocked licenses" -msgstr "Licencias bloqueadas" - -#: admin/includes/partials/stats.php:68 -#, fuzzy -msgid "Logs saved" -msgstr "Registros guardados" - -#: admin/includes/partials/stats.php:78 -#, fuzzy -msgid "Reminders sent" -msgstr "Recordatorios enviados" - -#: admin/includes/partials/stats.php:88 -#, fuzzy -msgid "Expired licenses" -msgstr "Licencias caducadas" - -#: admin/includes/partials/stats.php:98 -#, fuzzy -msgid "Licenses about to expire" -msgstr "Licencias a punto de caducar" - -#: admin/includes/wpestores/slm-wpestores.php:73 -#, fuzzy -msgid "Item Name: " -msgstr "Nombre del artículo: " - -#: admin/includes/wpestores/slm-wpestores.php:73 -#, fuzzy -msgid "License Key: " -msgstr "Clave de licencia: " - -#: admin/slm-add-licenses.php:18 -#, fuzzy -msgid "Security check failed" -msgstr "Error en la comprobación de seguridad" - -#: admin/slm-add-licenses.php:64 -#, fuzzy -msgid "Required fields are missing." -msgstr "Faltan los campos obligatorios." - -#: admin/slm-add-licenses.php:69 -#, fuzzy -msgid "License updated successfully." -msgstr "Licencia actualizada con éxito." - -#: admin/slm-add-licenses.php:72 -#, fuzzy -msgid "License created successfully." -msgstr "Licencia creada con éxito." - -#: admin/slm-add-licenses.php:127 -#, fuzzy -msgid "License Management" -msgstr "Gestión de licencias" - -#: admin/slm-add-licenses.php:138 woocommerce/includes/slm-meta-boxes.php:120 -#, fuzzy -msgid "License Info" -msgstr "Información de la licencia" - -#: admin/slm-add-licenses.php:143 woocommerce/includes/purchase.php:689 -#: woocommerce/includes/purchase.php:748 woocommerce/includes/purchase.php:825 -#: woocommerce/includes/wc_licenses_class.php:166 -msgid "License Key" -msgstr "许可 Key" - -#: admin/slm-add-licenses.php:147 -#, fuzzy -msgid "Max Allowed Domains" -msgstr "Dominio máximo permitido" - -#: admin/slm-add-licenses.php:151 -#, fuzzy -msgid "Max Allowed Devices" -msgstr "Máximo de dispositivos permitidos" - -#: admin/slm-add-licenses.php:155 woocommerce/includes/purchase.php:693 -#, fuzzy -msgid "License Status" -msgstr "Estado de la licencia" - -#: admin/slm-add-licenses.php:173 -msgid "Date Created" -msgstr "Fecha de creación" - -#: admin/slm-add-licenses.php:175 admin/slm-add-licenses.php:190 -#: admin/slm-add-licenses.php:200 admin/slm-add-licenses.php:206 -#: admin/slm-add-licenses.php:288 -#, fuzzy, php-format -msgid "Display Format: %s (input: YYYY-MM-DD)" -msgstr "Formato de visualización: %s (entrada: AAAA-MM-DD)" - -#: admin/slm-add-licenses.php:179 woocommerce/includes/purchase.php:691 -#: woocommerce/includes/slm-meta-boxes.php:184 -#, fuzzy -msgid "License Type" -msgstr "Tipo de licencia" - -#: admin/slm-add-licenses.php:182 woocommerce/includes/slm-meta-boxes.php:189 -msgid "Subscription" -msgstr "Suscripción" - -#: admin/slm-add-licenses.php:183 woocommerce/includes/slm-meta-boxes.php:190 -#: woocommerce/includes/wc_licenses_class.php:180 -#, fuzzy -msgid "Lifetime" -msgstr "Vida" - -#: admin/slm-add-licenses.php:188 -#, fuzzy -msgid "Date Expiry" -msgstr "Fecha de caducidad" - -#: admin/slm-add-licenses.php:194 -#, fuzzy -msgid "Subscription ID" -msgstr "ID de suscripción" - -#: admin/slm-add-licenses.php:198 -#, fuzzy -msgid "Date Renewed" -msgstr "Fecha de renovación" - -#: admin/slm-add-licenses.php:204 -#, fuzzy -msgid "Date Activated" -msgstr "Fecha de activación" - -#: admin/slm-add-licenses.php:212 -#, fuzzy -msgid "Subscriber Info" -msgstr "Información del suscriptor" - -#: admin/slm-add-licenses.php:217 admin/slm-subscribers.php:86 -msgid "First Name" -msgstr "Nombre" - -#: admin/slm-add-licenses.php:221 admin/slm-subscribers.php:87 -msgid "Last Name" -msgstr "Apellido" - -#: admin/slm-add-licenses.php:225 admin/slm-list-licenses-class.php:89 -msgid "Email" -msgstr "Correo electrónico" - -#: admin/slm-add-licenses.php:229 -msgid "Company Name" -msgstr "Nombre de la empresa" - -#: admin/slm-add-licenses.php:235 -#, fuzzy -msgid "Transaction" -msgstr "Transacción" - -#: admin/slm-add-licenses.php:239 woocommerce/includes/slm-meta-boxes.php:174 -#, fuzzy -msgid "Item Reference" -msgstr "Referencia del artículo" - -#: admin/slm-add-licenses.php:244 -msgid "Transaction ID" -msgstr "Id de transacción" - -#: admin/slm-add-licenses.php:249 -#, fuzzy -msgid "Purchase ID" -msgstr "ID de compra" - -#: admin/slm-add-licenses.php:254 -#, fuzzy -msgid "Product Reference" -msgstr "Referencia del producto" - -#: admin/slm-add-licenses.php:260 -msgid "Other" -msgstr "Otro" - -#: admin/slm-add-licenses.php:264 -msgid "Until" -msgstr "Hasta" - -#: admin/slm-add-licenses.php:268 woocommerce/includes/slm-meta-boxes.php:225 -#, fuzzy -msgid "Current Version" -msgstr "Versión actual" - -#: admin/slm-add-licenses.php:274 -#, fuzzy -msgid "Billing Length" -msgstr "Duración de la facturación" - -#: admin/slm-add-licenses.php:278 -#, fuzzy -msgid "Billing Interval" -msgstr "Intervalo de facturación" - -#: admin/slm-add-licenses.php:282 -#, fuzzy -msgid "Reminder Sent" -msgstr "Recordatorio enviado" - -#: admin/slm-add-licenses.php:286 -#, fuzzy -msgid "Reminder Sent Date" -msgstr "Fecha de envío del recordatorio" - -#: admin/slm-add-licenses.php:292 -#, fuzzy -msgid "Manual Reset Count" -msgstr "Recuento de restablecimiento manual" - -#: admin/slm-add-licenses.php:296 -#, fuzzy -msgid "Save License" -msgstr "Guardar licencia" - -#: admin/slm-admin-functions.php:14 -#, fuzzy -msgid "Admin Tools" -msgstr "Herramientas de administración" - -#: admin/slm-admin-functions.php:30 -#, fuzzy -msgid "Success message returned from the remote host." -msgstr "Mensaje de éxito devuelto por el host remoto." - -#: admin/slm-admin-functions.php:33 -#, fuzzy -msgid "Request sent to the specified URL!" -msgstr "¡Solicitud enviada a la URL especificada!" - -#: admin/slm-admin-functions.php:45 -#, fuzzy -msgid "Log was cleared successfully!" -msgstr "¡El registro se borró con éxito!" - -#: admin/slm-admin-functions.php:51 -#, fuzzy -msgid "Send Deactivation Message for a License" -msgstr "Enviar mensaje de desactivación de una licencia" - -#: admin/slm-admin-functions.php:56 -#, fuzzy -msgid "Send Request" -msgstr "Enviar solicitud" - -#: admin/slm-admin-functions.php:63 -#, fuzzy -msgid "Clean Activity Log" -msgstr "Limpiar registro de actividad" - -#: admin/slm-admin-functions.php:65 -#, fuzzy -msgid "This will clear/reset license keys activities" -msgstr "Esto borrará/restablecerá las actividades de las claves de licencia" - -#: admin/slm-admin-functions.php:68 -#, fuzzy -msgid "Clear Log" -msgstr "Borrar registro" - -#: admin/slm-admin-functions.php:75 -#, fuzzy -msgid "Backup Database" -msgstr "Base de datos de copia de seguridad" - -#: admin/slm-admin-functions.php:77 -#, fuzzy -msgid "" -"This will create a backup of the database tables related to this plugin and " -"save it to the uploads directory." -msgstr "" -"Esto creará una copia de seguridad de las tablas de la base de datos " -"relacionadas con este complemento y la guardará en el directorio de cargas." - -#: admin/slm-admin-functions.php:80 -#, fuzzy -msgid "Create Backup" -msgstr "Crear copia de seguridad" - -#: admin/slm-admin-functions.php:90 -#, fuzzy -msgid "Last backup created on: " -msgstr "Última copia de seguridad creada el: " - -#: admin/slm-admin-functions.php:90 -#, fuzzy -msgid "Download Backup" -msgstr "Descargar copia de seguridad" - -#: admin/slm-admin-functions.php:172 -#, fuzzy -msgid "Backup created successfully! Download from: " -msgstr "¡Copia de seguridad creada con éxito! Descargar desde: " - -#: admin/slm-admin-functions.php:174 -#, fuzzy -msgid "Error: Failed to create the backup file." -msgstr "Error: No se pudo crear el archivo de copia de seguridad." - -#: admin/slm-dashboard-widgets.php:30 admin/slm-dashboard-widgets.php:33 -#: admin/slm-list-licenses-class.php:479 -#, fuzzy -msgid "SLM" -msgstr "SLM" - -#: admin/slm-dashboard-widgets.php:42 -msgid "Overview" -msgstr "Visión general" - -#: admin/slm-dashboard-widgets.php:52 -#, fuzzy -msgid "Add new license" -msgstr "Agregar nueva licencia" - -#: admin/slm-dashboard-widgets.php:62 admin/slm-list-licenses-class.php:485 -#: includes/slm-plugin-core.php:39 -msgid "Settings" -msgstr "Configuración" - -#: admin/slm-integration-help-page.php:11 -#, fuzzy -msgid "License Manager Integration Help" -msgstr "Ayuda de integración de License Manager" - -#: admin/slm-integration-help-page.php:34 -#, fuzzy -msgid "API Settings" -msgstr "Configuración de la API" - -#: admin/slm-integration-help-page.php:42 -#, fuzzy -msgid "The License API Query POST URL For Your Installation" -msgstr "La URL POST de la consulta de la API de licencia para su instalación" - -#: admin/slm-integration-help-page.php:45 -#, fuzzy -msgid "The License Activation or Deactivation API Secret Key" -msgstr "La clave secreta de la API de activación o desactivación de licencias" - -#: admin/slm-integration-help-page.php:48 -#, fuzzy -msgid "The License Creation API Secret Key" -msgstr "La clave secreta de la API de creación de licencias" - -#: admin/slm-integration-help-page.php:54 -#, fuzzy -msgid "Documentation and guides:" -msgstr "Documentación y guías:" - -#: admin/slm-integration-help-page.php:55 -#, fuzzy -msgid "Check out Postman demos" -msgstr "Echa un vistazo a las demostraciones de Postman" - -#: admin/slm-integration-help-page.php:60 -#, fuzzy -msgid "Error Codes and Descriptions" -msgstr "Códigos de error y descripciones" - -#: admin/slm-integration-help-page.php:65 -#, fuzzy -msgid "Constant" -msgstr "Constante" - -#: admin/slm-integration-help-page.php:66 -#, fuzzy -msgid "Error Code" -msgstr "Código de error" - -#: admin/slm-integration-help-page.php:67 -msgid "Description" -msgstr "Descripción" - -#: admin/slm-integration-help-page.php:73 -#, fuzzy -msgid "The license creation failed due to an unknown error." -msgstr "La creación de la licencia falló debido a un error desconocido." - -#: admin/slm-integration-help-page.php:77 -#, fuzzy -msgid "The license key provided during creation is invalid." -msgstr "La clave de licencia proporcionada durante la creación no es válida." - -#: admin/slm-integration-help-page.php:81 -#, fuzzy -msgid "The domain associated with this license is already inactive." -msgstr "El dominio asociado a esta licencia ya está inactivo." - -#: admin/slm-integration-help-page.php:85 -#, fuzzy -msgid "The domain information is missing in the request." -msgstr "Falta la información del dominio en la solicitud." - -#: admin/slm-integration-help-page.php:89 -#, fuzzy -msgid "The license key has been canceled." -msgstr "La clave de licencia ha sido cancelada." - -#: admin/slm-integration-help-page.php:93 -#, fuzzy -msgid "Failed to cancel the license key." -msgstr "No se pudo cancelar la clave de licencia." - -#: admin/slm-integration-help-page.php:97 -#, fuzzy -msgid "Successfully deactivated the license key for the specified domain." -msgstr "" -"Se ha desactivado correctamente la clave de licencia para el dominio " -"especificado." - -#: admin/slm-integration-help-page.php:101 -#, fuzzy -msgid "The license key was successfully deactivated." -msgstr "La clave de licencia se ha desactivado correctamente." - -#: admin/slm-integration-help-page.php:105 -#, fuzzy -msgid "Failed to delete the license key." -msgstr "No se pudo eliminar la clave de licencia." - -#: admin/slm-integration-help-page.php:109 -#, fuzzy -msgid "The license key was successfully deleted." -msgstr "La clave de licencia se ha eliminado correctamente." - -#: admin/slm-integration-help-page.php:113 -#, fuzzy -msgid "The license key has been deleted." -msgstr "Se ha eliminado la clave de licencia." - -#: admin/slm-integration-help-page.php:117 -#, fuzzy -msgid "Failed to update the license key details." -msgstr "No se pudieron actualizar los detalles de la clave de licencia." - -#: admin/slm-integration-help-page.php:121 -#, fuzzy -msgid "The license key was successfully updated." -msgstr "La clave de licencia se actualizó correctamente." - -#: admin/slm-integration-help-page.php:125 -#, fuzzy -msgid "The license key was successfully activated." -msgstr "La clave de licencia se ha activado correctamente." - -#: admin/slm-integration-help-page.php:129 -#, fuzzy -msgid "The license key has been blocked from further use." -msgstr "Se ha bloqueado el uso posterior de la clave de licencia." - -#: admin/slm-integration-help-page.php:133 -#, fuzzy -msgid "The license key was successfully created." -msgstr "La clave de licencia se ha creado correctamente." - -#: admin/slm-integration-help-page.php:137 -#, fuzzy -msgid "The license key already exists in the system." -msgstr "La clave de licencia ya existe en el sistema." - -#: admin/slm-integration-help-page.php:141 -#, fuzzy -msgid "The license key has expired." -msgstr "La clave de licencia ha caducado." - -#: admin/slm-integration-help-page.php:145 -#, fuzzy -msgid "The license key is already in use on another domain or device." -msgstr "La clave de licencia ya está en uso en otro dominio o dispositivo." - -#: admin/slm-integration-help-page.php:149 -#, fuzzy -msgid "The license key is invalid." -msgstr "La clave de licencia no es válida." - -#: admin/slm-integration-help-page.php:153 -#, fuzzy -msgid "Failed to delete the license key because it was not found." -msgstr "No se pudo eliminar la clave de licencia porque no se encontró." - -#: admin/slm-integration-help-page.php:157 -#, fuzzy -msgid "Failed to update the license key because it was not found." -msgstr "No se pudo actualizar la clave de licencia porque no se encontró." - -#: admin/slm-integration-help-page.php:161 -#, fuzzy -msgid "The license key has reached its maximum allowable devices." -msgstr "" -"La clave de licencia ha alcanzado el máximo de dispositivos permitidos." - -#: admin/slm-integration-help-page.php:165 -#, fuzzy -msgid "The license key has reached its maximum allowable domains." -msgstr "La clave de licencia ha alcanzado sus dominios máximos permitidos." - -#: admin/slm-integration-help-page.php:169 -#, fuzzy -msgid "The key verification failed due to an invalid key." -msgstr "Error en la verificación de la clave debido a una clave no válida." - -#: admin/slm-lic-settings.php:22 -#, fuzzy -msgid "Debug log files have been reset!" -msgstr "¡Se han restablecido los archivos de registro de depuración!" - -#: admin/slm-lic-settings.php:53 -#, fuzzy -msgid "Options updated!" -msgstr "¡Opciones actualizadas!" - -#: admin/slm-lic-settings.php:63 -#, fuzzy -msgid "Settings - SLM Plus" -msgstr "Ajustes - SLM Plus" - -#: admin/slm-lic-settings.php:69 -msgid "General Settings" -msgstr "Ajustes generales" - -#: admin/slm-lic-settings.php:73 -#, fuzzy -msgid "Integrations" -msgstr "Integraciones" - -#: admin/slm-lic-settings.php:77 -#, fuzzy -msgid "Debugging settings" -msgstr "Configuración de depuración" - -#: admin/slm-lic-settings.php:81 -msgid "Emails" -msgstr "Correos electrónicos" - -#: admin/slm-lic-settings.php:107 -#, fuzzy -msgid "Secret Key for License Creation" -msgstr "Clave secreta para la creación de licencias" - -#: admin/slm-lic-settings.php:110 -#, fuzzy -msgid "" -"This secret key will be used to authenticate any license creation request. " -"You can change it with something random." -msgstr "" -"Esta clave secreta se utilizará para autenticar cualquier solicitud de " -"creación de licencia. Puedes cambiarlo con algo aleatorio." - -#: admin/slm-lic-settings.php:114 -#, fuzzy -msgid "Secret Key for License Verification Requests" -msgstr "Clave secreta para solicitudes de verificación de licencias" - -#: admin/slm-lic-settings.php:116 -#, fuzzy -msgid "" -"This secret key will be used to authenticate any license verification " -"request from customer's site. Important! Do not change this value once your " -"customers start to use your product(s)!" -msgstr "" -"Esta clave secreta se utilizará para autenticar cualquier solicitud de " -"verificación de licencia desde el sitio del cliente. ¡Importante! ¡No " -"cambies este valor una vez que tus clientes comiencen a usar tu(s) " -"producto(s)!" - -#: admin/slm-lic-settings.php:120 -#, fuzzy -msgid "License Key Prefix" -msgstr "Prefijo de clave de licencia" - -#: admin/slm-lic-settings.php:122 -#, fuzzy -msgid "" -"You can optionaly specify a prefix for the license keys. This prefix will be " -"added to the uniquely generated license keys." -msgstr "" -"Opcionalmente, puede especificar un prefijo para las claves de licencia. " -"Este prefijo se agregará a las claves de licencia generadas de forma única." - -#: admin/slm-lic-settings.php:126 -#, fuzzy -msgid "Maximum Allowed Domains" -msgstr "Dominios máximos permitidos" - -#: admin/slm-lic-settings.php:128 -#, fuzzy -msgid "" -"Maximum number of domains/installs which each license is valid for (default " -"value)." -msgstr "" -"Número máximo de dominios/instalaciones para los que es válida cada licencia " -"(valor predeterminado)." - -#: admin/slm-lic-settings.php:132 -#, fuzzy -msgid "Maximum Allowed Devices" -msgstr "Dispositivo máximo permitido" - -#: admin/slm-lic-settings.php:134 -#, fuzzy -msgid "" -"Maximum number of devices which each license is valid for (default value)." -msgstr "" -"Número máximo de dispositivos para los que es válida cada licencia (valor " -"predeterminado)." - -#: admin/slm-lic-settings.php:138 -#, fuzzy -msgid "Auto Expire License Keys" -msgstr "Caducidad automática de las claves de licencia" - -#: admin/slm-lic-settings.php:140 -#, fuzzy -msgid "Enable auto expiration " -msgstr "Habilitar la caducidad automática " - -#: admin/slm-lic-settings.php:141 -#, fuzzy -msgid "" -" When enabled, it will automatically set the status of a license key to " -"\"Expired\" when the expiry date value of the key is reached. It doesn't " -"remotely deactivate a key. It simply changes the status of the key in your " -"database to expired." -msgstr "" -" Cuando está habilitado, establecerá automáticamente el estado de una clave " -"de licencia en \"Caducado\" cuando se alcance el valor de la fecha de " -"caducidad de la clave. No desactiva una tecla de forma remota. Simplemente " -"cambia el estado de la clave en su base de datos a caducada." - -#: admin/slm-lic-settings.php:145 -#, fuzzy -msgid "General settings" -msgstr "Ajustes generales" - -#: admin/slm-lic-settings.php:148 -#, fuzzy -msgid "Enable stats in licenses overview page." -msgstr "" -"Habilite las estadísticas en la página de información general de licencias." - -#: admin/slm-lic-settings.php:156 -#, fuzzy -msgid "Enable admin bar shortcut link" -msgstr "Habilitar el enlace de acceso directo de la barra de administración" - -#: admin/slm-lic-settings.php:161 -#, fuzzy -msgid "Multiple items validation" -msgstr "Validación de varios elementos" - -#: admin/slm-lic-settings.php:164 -#, fuzzy -msgid "Enable verification of Item reference." -msgstr "Habilite la verificación de la referencia del artículo." - -#: admin/slm-lic-settings.php:165 -#, fuzzy -msgid "" -"When enabled, there will be another field in Licenced product - Item " -"reference. This field should correspond to the API parameter item_reference " -"of your software." -msgstr "" -"Cuando esté habilitado, habrá otro campo en Producto con licencia - " -"Referencia del artículo. Este campo debe corresponder al item_reference de " -"parámetros de API de su software." - -#: admin/slm-lic-settings.php:170 -#, fuzzy -msgid "User permissions" -msgstr "Permisos de usuario" - -#: admin/slm-lic-settings.php:173 -#, fuzzy -msgid "Allow users to remove domains/devices in My account." -msgstr "Permitir que los usuarios eliminen dominios/dispositivos en Mi cuenta." - -#: admin/slm-lic-settings.php:174 -#, fuzzy -msgid "" -"When enabled, users will be able to remove registered domains or devices in " -"their account." -msgstr "" -"Cuando esté habilitado, los usuarios podrán eliminar dominios o dispositivos " -"registrados en su cuenta." - -#: admin/slm-lic-settings.php:179 -#, fuzzy -msgid "Bootstrap library" -msgstr "Biblioteca de Bootstrap" - -#: admin/slm-lic-settings.php:182 -#, fuzzy -msgid "Enable Bootstrap javascript libray." -msgstr "Habilite la biblioteca javascript de Bootstrap." - -#: admin/slm-lic-settings.php:189 -#, fuzzy -msgid "" -"Enable Bootstrap javascript libray in front-end (woocommerce pages, etc)." -msgstr "" -"Habilite la biblioteca javascript de Bootstrap en el front-end (páginas de " -"woocommerce, etc.)." - -#: admin/slm-lic-settings.php:202 -#, fuzzy -msgid "Woocommerce Support" -msgstr "Soporte de Woocommerce" - -#: admin/slm-lic-settings.php:205 -#, fuzzy -msgid "" -"A fully customizable, open source eCommerce platform built for WordPress." -msgstr "" -"Una plataforma de comercio electrónico de código abierto totalmente " -"personalizable creada para WordPress." - -#: admin/slm-lic-settings.php:212 -#, fuzzy -msgid "" -"Disable woocommerce download page. Process downloads though license order " -"info page." -msgstr "" -"Desactiva la página de descarga de woocommerce. Procese las descargas a " -"través de la página de información del pedido de licencia." - -#: admin/slm-lic-settings.php:219 -#, fuzzy -msgid "" -"Expire WooCommerce downloads. Downloads will expire together with " -"corresponding license." -msgstr "" -"Caducar las descargas de WooCommerce. Las descargas caducarán junto con la " -"licencia correspondiente." - -#: admin/slm-lic-settings.php:223 -#, fuzzy -msgid "Download Manager Support" -msgstr "Soporte técnico de Download Manager" - -#: admin/slm-lic-settings.php:226 -#, fuzzy -msgid "" -"Download Manager Plugin – Adds a simple download manager to your WordPress " -"blog." -msgstr "" -"Plugin de administrador de descargas: agrega un administrador de descargas " -"simple a su blog de WordPress." - -#: admin/slm-lic-settings.php:230 -#, fuzzy -msgid "WP eStores Support" -msgstr "Soporte de WP eStores" - -#: admin/slm-lic-settings.php:233 -#, fuzzy -msgid "" -"WordPress eStore Plugin – Complete Solution to Sell Digital Products from " -"Your WordPress Blog Securely" -msgstr "" -"Plugin de WordPress eStore: solución completa para vender productos " -"digitales desde su blog de WordPress de forma segura" - -#: admin/slm-lic-settings.php:245 -#, fuzzy -msgid "Enable Debug Logging" -msgstr "Habilitar el registro de depuración" - -#: admin/slm-lic-settings.php:248 -#, fuzzy -msgid "If checked, debug output will be written to log files." -msgstr "" -"Si se selecciona, la salida de depuración se escribirá en los archivos de " -"registro." - -#: admin/slm-lic-settings.php:259 -#, fuzzy -msgid "Expiration reminder" -msgstr "Recordatorio de caducidad" - -#: admin/slm-lic-settings.php:269 -#, fuzzy -msgid "Update Options" -msgstr "Opciones de actualización" - -#: admin/slm-list-licenses-class.php:27 -#, fuzzy -msgid "No licenses avaliable." -msgstr "No hay licencias disponibles." - -#: admin/slm-list-licenses-class.php:43 -msgid "All" -msgstr "Todo" - -#: admin/slm-list-licenses-class.php:50 -msgid "active" -msgstr "activos" - -#: admin/slm-list-licenses-class.php:57 -msgid "pending" -msgstr "Pendiente" - -#: admin/slm-list-licenses-class.php:64 -msgid "expired" -msgstr "caducado" - -#: admin/slm-list-licenses-class.php:71 -#, fuzzy -msgid "blocked" -msgstr "bloqueado" - -#: admin/slm-list-licenses-class.php:84 admin/slm-subscribers.php:85 -#: admin/slm-subscribers.php:187 includes/slm-utility.php:789 -msgid "ID" -msgstr "ID" - -#: admin/slm-list-licenses-class.php:85 admin/slm-subscribers.php:189 -#: woocommerce/includes/wc_licenses_class.php:136 -#: woocommerce/includes/wc_licenses_class.php:149 -msgid "Status" -msgstr "Estado" - -#: admin/slm-list-licenses-class.php:86 -msgid "Key" -msgstr "Clave" - -#: admin/slm-list-licenses-class.php:87 -#, fuzzy -msgid "Item reference" -msgstr "Referencia del artículo" - -#: admin/slm-list-licenses-class.php:88 -#: woocommerce/includes/wc_licenses_class.php:241 -#, fuzzy -msgid "License type" -msgstr "Tipo de licencia" - -#: admin/slm-list-licenses-class.php:90 -#, fuzzy -msgid "Domains" -msgstr "Dominios" - -#: admin/slm-list-licenses-class.php:91 -#, fuzzy -msgid "Devices" -msgstr "Dispositivos" - -#: admin/slm-list-licenses-class.php:92 -#, fuzzy -msgid "Order #" -msgstr "Orden #" - -#: admin/slm-list-licenses-class.php:93 -msgid "Created on" -msgstr "Creado en" - -#: admin/slm-list-licenses-class.php:94 -#, fuzzy -msgid "Renewed on" -msgstr "Renovado el" - -#: admin/slm-list-licenses-class.php:95 -#, fuzzy -msgid "Activated on" -msgstr "Activado el" - -#: admin/slm-list-licenses-class.php:96 -#: woocommerce/includes/wc_licenses_class.php:238 -msgid "Expiration" -msgstr "Vencimiento" - -#: admin/slm-list-licenses-class.php:97 -#, fuzzy -msgid "Until Ver." -msgstr "Hasta la Ver." - -#: admin/slm-list-licenses-class.php:98 -#, fuzzy -msgid "Current Ver." -msgstr "La versión actual." - -#: admin/slm-list-licenses-class.php:120 -#, fuzzy -msgid " Lifetime " -msgstr " Vida " - -#: admin/slm-list-licenses-class.php:213 admin/slm-list-licenses-class.php:231 -#: admin/slm-list-licenses-class.php:249 admin/slm-list-licenses-class.php:267 -#: admin/slm-list-licenses-class.php:285 -#, fuzzy -msgid "Error - Please select some records using the checkboxes" -msgstr "" -"Error: seleccione algunos registros usando las casillas de verificación" - -#: admin/slm-list-licenses-class.php:480 -#, fuzzy -msgid "Manage Licenses" -msgstr "Administrar licencias" - -#: admin/slm-list-licenses-class.php:482 -#, fuzzy -msgid "Create license" -msgstr "Crear licencia" - -#: admin/slm-list-licenses-class.php:483 -#, fuzzy -msgid "Subscribers" -msgstr "Suscriptores" - -#: admin/slm-list-licenses-class.php:484 -msgid "Tools" -msgstr "Herramientas" - -#: admin/slm-list-licenses-class.php:486 -msgid "Help" -msgstr "Ayuda" - -#: admin/slm-list-licenses-class.php:488 -msgid "About" -msgstr "Acerca" - -#: admin/slm-manage-licenses.php:15 -#, fuzzy -msgid "You do not have permission to manage this license." -msgstr "No tiene permiso para administrar esta licencia." - -#: admin/slm-manage-licenses.php:36 -#, fuzzy -msgid "Overview - Manage licenses" -msgstr "Información general - Administrar licencias" - -#: admin/slm-manage-licenses.php:38 -msgid "Add New" -msgstr "Agregar nuevo" - -#: admin/slm-manage-licenses.php:62 admin/slm-subscribers.php:217 -msgid "Search" -msgstr "Buscar" - -#: admin/slm-subscribers.php:88 -msgid "Email Address" -msgstr "Correo electronico" - -#: admin/slm-subscribers.php:176 -#, fuzzy -msgid "Overview - Manage Subscribers" -msgstr "Descripción general - Administrar suscriptores" - -#: admin/slm-subscribers.php:178 -msgid "View all" -msgstr "Ver todo" - -#: admin/slm-subscribers.php:188 woocommerce/includes/wc_licenses_class.php:138 -#, fuzzy -msgid "License key" -msgstr "Clave de licencia" - -#: admin/slm-subscribers.php:206 -#, fuzzy -msgid "Overview - All Subscribers" -msgstr "Resumen - Todos los suscriptores" - -#: admin/slm_about_menu.php:15 -#, fuzzy -msgid "SLM Logo" -msgstr "Logotipo de SLM" - -#: admin/slm_about_menu.php:15 -#, fuzzy -msgid "SLM - About" -msgstr "SLM - Acerca de" - -#: admin/slm_about_menu.php:26 -#, fuzzy -msgid "Credits and authors" -msgstr "Créditos y autores" - -#: admin/slm_about_menu.php:28 -#, fuzzy -msgid "" -"Software license management solution for your web applications (WordPress " -"plugins, Themes, Applications, PHP based membership script, etc.). Supports " -"WooCommerce." -msgstr "" -"Solución de gestión de licencias de software para sus aplicaciones web " -"(plugins de WordPress, Temas, Aplicaciones, scripts de membresía basados en " -"PHP, etc.). Compatible con WooCommerce." - -#: admin/slm_about_menu.php:33 -#, fuzzy -msgid "Information" -msgstr "Información" - -#: admin/slm_about_menu.php:34 -msgid "Details" -msgstr "Detalles" - -#: admin/slm_about_menu.php:39 -#, fuzzy -msgid "Authors" -msgstr "Autores" - -#: admin/slm_about_menu.php:42 -msgid "and" -msgstr "y" - -#: admin/slm_about_menu.php:47 -#, fuzzy -msgid "Help and Support" -msgstr "Ayuda y soporte" - -#: admin/slm_about_menu.php:50 -#, fuzzy -msgid "Submit a request" -msgstr "Enviar una solicitud" - -#: admin/slm_about_menu.php:55 -#, fuzzy -msgid "API Demos" -msgstr "Demostraciones de API" - -#: admin/slm_about_menu.php:58 -#, fuzzy -msgid "Postman Demos" -msgstr "Demostraciones de cartero" - -#: includes/class-slm-installer.php:41 -msgid "Pending" -msgstr "Pendientes" - -#: includes/class-slm-installer.php:42 -msgid "Active" -msgstr "Activos" - -#: includes/class-slm-installer.php:43 -msgid "Blocked" -msgstr "Bloqueado" - -#: includes/class-slm-installer.php:44 -#: woocommerce/includes/wc_licenses_class.php:175 -msgid "Expired" -msgstr "Vencido" - -#: includes/slm-plugin-core.php:40 -msgid "GitHub" -msgstr "GitHub" - -#: includes/slm-utility.php:365 -#, fuzzy, php-format -msgid "%s days remaining until %s" -msgstr "%s días que faltan para %s" - -#: includes/slm-utility.php:777 -#, fuzzy -msgid " view" -msgstr " vista" - -#: includes/slm-utility.php:789 -msgid "Request" -msgstr "Solicitud" - -#: includes/slm-utility.php:797 -#, fuzzy -msgid "Source:" -msgstr "Fuente:" - -#: includes/slm-utility.php:798 -msgid "Time:" -msgstr "Hora:" - -#: includes/slm-utility.php:844 -#, fuzzy -msgid "Not registered yet" -msgstr "Aún no se ha registrado" - -#: includes/slm-utility.php:862 includes/slm-utility.php:874 -#: woocommerce/includes/wc_licenses_class.php:235 -#, fuzzy -msgid "License information" -msgstr "Información de la licencia" - -#: includes/slm-utility.php:875 -#, fuzzy -msgid "License type: " -msgstr "Tipo de licencia: " - -#: includes/slm-utility.php:876 -#, fuzzy -msgid "Domains allowed: " -msgstr "Dominios permitidos: " - -#: includes/slm-utility.php:877 -#, fuzzy -msgid "Devices allowed: " -msgstr "Dispositivos permitidos: " - -#: includes/slm-utility.php:878 -#, fuzzy -msgid "Renews every " -msgstr "Renueva cada " - -#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:54 -#, fuzzy -msgid "View details" -msgstr "Ver detalles" - -#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:77 -#, fuzzy, php-format -msgid "More information about %s" -msgstr "Más información sobre %s" - -#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:128 -#, fuzzy -msgid "Check for updates" -msgstr "Buscar actualizaciones" - -#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:213 -#, fuzzy, php-format -msgctxt "the plugin title" -msgid "The %s plugin is up to date." -msgstr "El plugin %s está actualizado." - -#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:215 -#, fuzzy, php-format -msgctxt "the plugin title" -msgid "A new version of the %s plugin is available." -msgstr "Está disponible una nueva versión del plugin %s." - -#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:217 -#, fuzzy, php-format -msgctxt "the plugin title" -msgid "Could not determine if updates are available for %s." -msgstr "No se pudo determinar si hay actualizaciones disponibles para %s." - -#: plugin-update-checker/Puc/v4p9/Plugin/Ui.php:223 -#, fuzzy, php-format -msgid "Unknown update checker status \"%s\"" -msgstr "Estado desconocido del comprobador de actualizaciones \"%s\"" - -#: plugin-update-checker/Puc/v4p9/Vcs/PluginUpdateChecker.php:98 -#, fuzzy -msgid "There is no changelog available." -msgstr "No hay registro de cambios disponible." - -#: woocommerce/includes/purchase.php:94 -#, fuzzy -msgid "License no longer exists" -msgstr "La licencia ya no existe" - -#: woocommerce/includes/purchase.php:99 -#: woocommerce/includes/wc_licenses_class.php:209 -msgid "License Key:" -msgstr "Clave de licencia:" - -#: woocommerce/includes/purchase.php:197 -#, fuzzy -msgid "License could not be created: Invalid sites allowed number." -msgstr "No se pudo crear la licencia: número de sitios permitidos no válidos." - -#: woocommerce/includes/purchase.php:343 -#, fuzzy -msgid "License Key(s) generated:" -msgstr "Clave(s) de licencia generada(s):" - -#: woocommerce/includes/purchase.php:372 -#, fuzzy -msgid "License Key(s) could not be created." -msgstr "No se han podido crear las claves de licencia." - -#: woocommerce/includes/purchase.php:626 -#, fuzzy, php-format -msgid "Order confirmation email sent to: %s" -msgstr "" -"Correo electrónico de confirmación del pedido enviado a: %s" - -#: woocommerce/includes/purchase.php:690 -#, fuzzy -msgid "License Expiration" -msgstr "Caducidad de la licencia" - -#: woocommerce/includes/purchase.php:692 -#, fuzzy -msgid "License Item Reference" -msgstr "Referencia de elementos de licencia" - -#: woocommerce/includes/purchase.php:694 -#, fuzzy -msgid "License Current Version" -msgstr "Licencia Versión actual" - -#: woocommerce/includes/purchase.php:695 -#, fuzzy -msgid "Supported Until Version" -msgstr "Compatible hasta la versión" - -#: woocommerce/includes/purchase.php:744 -#, fuzzy -msgid "License Details" -msgstr "Detalles de la licencia" - -#: woocommerce/includes/purchase.php:749 -msgid "Type" -msgstr "Tipo" - -#: woocommerce/includes/purchase.php:759 -#, fuzzy -msgid "View My Licenses" -msgstr "Ver mis licencias" - -#: woocommerce/includes/purchase.php:817 -msgid "License Keys" -msgstr "Claves de Licencia" - -#: woocommerce/includes/purchase.php:822 -#: woocommerce/includes/wc_licenses_class.php:137 -#: woocommerce/includes/wc_licenses_class.php:155 -msgid "Product" -msgstr "Producto" - -#: woocommerce/includes/slm-meta-boxes.php:51 -#, fuzzy -msgid "License product" -msgstr "Producto de licencia" - -#: woocommerce/includes/slm-meta-boxes.php:68 -msgid "License Manager" -msgstr "Administrador de Licencias" - -#: woocommerce/includes/slm-meta-boxes.php:70 -#, fuzzy -msgid "Enables the license creation API." -msgstr "Habilita la API de creación de licencias." - -#: woocommerce/includes/slm-meta-boxes.php:146 -#, fuzzy -msgid "Domain Licenses" -msgstr "Licencias de dominio" - -#: woocommerce/includes/slm-meta-boxes.php:152 -#, fuzzy -msgid "Enter the allowed number of domains this license can have (websites)." -msgstr "" -"Introduzca el número permitido de dominios que puede tener esta licencia " -"(sitios web)." - -#: woocommerce/includes/slm-meta-boxes.php:161 -#, fuzzy -msgid "Devices Licenses" -msgstr "Licencias de dispositivos" - -#: woocommerce/includes/slm-meta-boxes.php:167 -#, fuzzy -msgid "" -"Enter the allowed number of devices this license can have (computers, " -"mobile, etc)." -msgstr "" -"Introduzca el número permitido de dispositivos que puede tener esta licencia " -"(ordenadores, móviles, etc.)." - -#: woocommerce/includes/slm-meta-boxes.php:175 -#, fuzzy -msgid "Software's item reference" -msgstr "Referencia del artículo del software" - -#: woocommerce/includes/slm-meta-boxes.php:177 -#, fuzzy -msgid "" -"Enter the item reference of your application, theme, or plug-in. The license " -"will be then bound to this exact software." -msgstr "" -"Introduzca la referencia del elemento de la aplicación, el tema o el " -"complemento. A continuación, la licencia se vinculará a este software exacto." - -#: woocommerce/includes/slm-meta-boxes.php:186 -#, fuzzy -msgid "Type of license: subscription base or lifetime" -msgstr "Tipo de licencia: base de suscripción o de por vida" - -#: woocommerce/includes/slm-meta-boxes.php:188 -#, fuzzy -msgid "Select one" -msgstr "Seleccione uno" - -#: woocommerce/includes/slm-meta-boxes.php:197 -#, fuzzy -msgid "Renewal Period Length" -msgstr "Duración del período de renovación" - -#: woocommerce/includes/slm-meta-boxes.php:198 -#, fuzzy -msgid "Amount of days, months, or years." -msgstr "Cantidad de días, meses o años." - -#: woocommerce/includes/slm-meta-boxes.php:208 -#, fuzzy -msgid "Expiration Term" -msgstr "Plazo de caducidad" - -#: woocommerce/includes/slm-meta-boxes.php:210 -#, fuzzy -msgid "Choose between days, months, or years" -msgstr "Elige entre días, meses o años" - -#: woocommerce/includes/slm-meta-boxes.php:212 -#, fuzzy -msgid "Day(s)" -msgstr "Día(s)" - -#: woocommerce/includes/slm-meta-boxes.php:213 -#, fuzzy -msgid "Month(s)" -msgstr "Mes(es)" - -#: woocommerce/includes/slm-meta-boxes.php:214 -#, fuzzy -msgid "Year(s)" -msgstr "Año(s)" - -#: woocommerce/includes/slm-meta-boxes.php:215 -#, fuzzy -msgid "One Time" -msgstr "Una vez" - -#: woocommerce/includes/slm-meta-boxes.php:228 -#, fuzzy -msgid "Enter the current version of your application, theme, or plug-in" -msgstr "Introduce la versión actual de tu aplicación, tema o plug-in" - -#: woocommerce/includes/slm-meta-boxes.php:234 -#, fuzzy -msgid "Until Version" -msgstr "Hasta la versión" - -#: woocommerce/includes/slm-meta-boxes.php:237 -#, fuzzy -msgid "Enter the version until support expires." -msgstr "Introduzca la versión hasta que caduque el soporte." - -#: woocommerce/includes/wc_licenses_class.php:83 -#: woocommerce/includes/wc_licenses_class.php:95 -#, fuzzy -msgid "My Licenses" -msgstr "Mis Licencias" - -#: woocommerce/includes/wc_licenses_class.php:122 -#, fuzzy -msgid "Browse products" -msgstr "Ver productos" - -#: woocommerce/includes/wc_licenses_class.php:124 -#, fuzzy -msgid "No licenses available yet." -msgstr "Todavía no hay licencias disponibles." - -#: woocommerce/includes/wc_licenses_class.php:135 -#: woocommerce/includes/wc_licenses_class.php:147 -msgid "Order" -msgstr "Pedido" - -#: woocommerce/includes/wc_licenses_class.php:139 -#: woocommerce/includes/wc_licenses_class.php:168 -#, fuzzy -msgid "Renews on" -msgstr "Se renueva el" - -#: woocommerce/includes/wc_licenses_class.php:140 -msgid "Info" -msgstr "Información" - -#: woocommerce/includes/wc_licenses_class.php:184 -msgid "view" -msgstr "ver" - -#: woocommerce/includes/wc_licenses_class.php:218 -#, fuzzy -msgid "License Information" -msgstr "Información de la licencia" - -#: woocommerce/includes/wc_licenses_class.php:222 -#, fuzzy -msgid "Activations" -msgstr "Activaciones" - -#: woocommerce/includes/wc_licenses_class.php:226 -#, fuzzy -msgid "Copy License" -msgstr "Licencia de copia" - -#: woocommerce/includes/wc_licenses_class.php:239 -#, fuzzy -msgid "Allowed devices" -msgstr "Dispositivos permitidos" - -#: woocommerce/includes/wc_licenses_class.php:240 -#, fuzzy -msgid "Allowed Domains" -msgstr "Dominios permitidos" - -#: woocommerce/includes/wc_licenses_class.php:242 -#, fuzzy -msgid "Date renewed" -msgstr "Fecha de renovación" - -#: woocommerce/includes/wc_licenses_class.php:243 -#, fuzzy -msgid "Activation Date" -msgstr "Fecha de activación" - -#: woocommerce/includes/wc_licenses_class.php:315 -#, fuzzy -msgid "License key was deactivated!" -msgstr "¡La clave de licencia fue desactivada!" - -#: woocommerce/includes/wc_licenses_class.php:317 -#, fuzzy -msgid "License key was not deactivated!" -msgstr "¡La clave de licencia no se ha desactivado!" - -#. Plugin Name of the plugin/theme -#, fuzzy -msgid "SLM Plus" -msgstr "SLM Plus" - -#. Plugin URI of the plugin/theme -#, fuzzy -msgid "https://github.com/michelve/software-license-manager/" -msgstr "https://github.com/michelve/software-license-manager/" - -#. Description of the plugin/theme -#, fuzzy -msgid "" -"A comprehensive software license management solution for web applications " -"including WordPress plugins, themes, and PHP-based software. Seamlessly " -"integrates with WooCommerce to offer license key generation, management, and " -"validation. Ideal for developers managing software licenses across multiple " -"platforms with built-in multilingual support and performance optimization." -msgstr "" -"Una solución integral de gestión de licencias de software para aplicaciones " -"web, incluidos complementos de WordPress, temas y software basado en PHP. Se " -"integra a la perfección con WooCommerce para ofrecer generación, gestión y " -"validación de claves de licencia. Ideal para desarrolladores que administran " -"licencias de software en múltiples plataformas con soporte multilingüe " -"integrado y optimización del rendimiento." - -#. Author of the plugin/theme -#, fuzzy -msgid "Michel Velis" -msgstr "Michel Velis" - -#. Author URI of the plugin/theme -#, fuzzy -msgid "https://github.com/michelve/" -msgstr "https://github.com/michelve/" diff --git a/i18n/languages/slmplus.mo b/i18n/languages/slmplus.mo deleted file mode 100644 index 63d5c2a76b3dd2c8f278134934e287720b4cc6d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2756 zcmaKsU1(fI6vs!~`mwFnwtm&msamTwce~l9P;V?HO_L^=G)p&$g2i=m?{qWq?w#w* z+%&;H>8sKQ>q|ux3I(+vg5U>=R4O9);Dex`AR;Kz7ax66{GWSgvnhzfp8d_4IWyRsLH`8F{w*vfyR#tW z@d8M8pMiAlFTh*DZ@m5sxEcBtkmCFs#E(^Ayan6>()W&a(leI5vT_ zZX5n+pFR+#Y!68G`$5X{sMlve@_!VhxRlp5NPbU%wEsyze+s01PlI&MGa#M z9%}UcKMc7YLNQRgvjpo0cR=V3-w&a?p}gD;={C9-`c~+^so@C4nW#@WqWnDqq5N=2 z4e|iwF-R5CZFC=X$acuR-NB(bojW!ZIkhO+P#p8a@;Dnx5_TZb(epB9!@84+beSI( z9m$4`6i&umr|cj)-0SS1w2@JnQ#2u+P>E$D9iaT@*w{$x$ACp?mU%3e*~n6+j40L> zT{s+7#=6qoA(=`e65f=~skCj`A?3#MIW{JfjEx^;y#tt>E%qanbaXUvv9)&l1;P7zer;yDI-Wj=DnAp z7`-4P7mUZjtTYxog}ga2$s0*-D~+k(h+I@O8qlqTyk4sh1pT$3zL(eQVZ9dA25Pkm zB`GL^NrclT|OVL@Shg{m$K>y>F$??gNp2z-btum}rCsXW$Q-s{fCATX} zgh~f_G%t*mZr{xGXt1|uM~6QqO)!#1n$j8ay>rS{o({^(Edpt187s$kSNCANRDuJ- z%1pTVkXNg_s@2}aXd>D+SZX8v@E-CY5OEwty3;{icAq1M#Q|;DTl7?8ObXm_$ZgUI zGNi4V&1b#&rp`?yhsz^`ygb87Eclp?YZKcEW#O>Z8f?kIRvPyA)dyQkga{+uPP!Bh zM13@eN6`|_87x@o%3jwmps9J+NxW6jEv<^~%C@ak>#X#dE|tpe(od_E`fRM&tU6io zwKkB+poU!j*Tl$Dl;p9D$zW%-qtfbv{a?HOkRyd{l?Hhhg zjZk|cb@>CTFvUabDh@A5S`;c{B$gz2CFNBZqeErg_ zsS_0`m&fctZX;okp7fY%=f;ORVjW#b6O$%s" -msgstr "" - -#: woocommerce/includes/purchase.php:690 -msgid "License Expiration" -msgstr "" - -#: woocommerce/includes/purchase.php:692 -msgid "License Item Reference" -msgstr "" - -#: woocommerce/includes/purchase.php:694 -msgid "License Current Version" -msgstr "" - -#: woocommerce/includes/purchase.php:695 -msgid "Supported Until Version" -msgstr "" - -#: woocommerce/includes/purchase.php:744 -msgid "License Details" -msgstr "" - -#: woocommerce/includes/purchase.php:749 -msgid "Type" -msgstr "" - -#: woocommerce/includes/purchase.php:759 -msgid "View My Licenses" -msgstr "" - -#: woocommerce/includes/purchase.php:817 -msgid "License Keys" -msgstr "" - -#: woocommerce/includes/purchase.php:822 -#: woocommerce/includes/wc_licenses_class.php:137 -#: woocommerce/includes/wc_licenses_class.php:155 -msgid "Product" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:51 -msgid "License product" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:68 -msgid "License Manager" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:70 -msgid "Enables the license creation API." -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:146 -msgid "Domain Licenses" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:152 -msgid "Enter the allowed number of domains this license can have (websites)." -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:161 -msgid "Devices Licenses" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:167 -msgid "" -"Enter the allowed number of devices this license can have (computers, " -"mobile, etc)." -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:175 -msgid "Software's item reference" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:177 -msgid "" -"Enter the item reference of your application, theme, or plug-in. The license " -"will be then bound to this exact software." -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:186 -msgid "Type of license: subscription base or lifetime" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:188 -msgid "Select one" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:197 -msgid "Renewal Period Length" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:198 -msgid "Amount of days, months, or years." -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:208 -msgid "Expiration Term" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:210 -msgid "Choose between days, months, or years" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:212 -msgid "Day(s)" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:213 -msgid "Month(s)" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:214 -msgid "Year(s)" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:215 -msgid "One Time" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:228 -msgid "Enter the current version of your application, theme, or plug-in" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:234 -msgid "Until Version" -msgstr "" - -#: woocommerce/includes/slm-meta-boxes.php:237 -msgid "Enter the version until support expires." -msgstr "" - -#: woocommerce/includes/wc_licenses_class.php:83 -#: woocommerce/includes/wc_licenses_class.php:95 -msgid "My Licenses" -msgstr "" - -#: woocommerce/includes/wc_licenses_class.php:122 -msgid "Browse products" -msgstr "" - -#: woocommerce/includes/wc_licenses_class.php:124 -msgid "No licenses available yet." -msgstr "" - -#: woocommerce/includes/wc_licenses_class.php:135 -#: woocommerce/includes/wc_licenses_class.php:147 -msgid "Order" -msgstr "" - -#: woocommerce/includes/wc_licenses_class.php:139 -#: woocommerce/includes/wc_licenses_class.php:168 -msgid "Renews on" -msgstr "" - -#: woocommerce/includes/wc_licenses_class.php:140 -msgid "Info" -msgstr "" - -#: woocommerce/includes/wc_licenses_class.php:184 -msgid "view" -msgstr "" - -#: woocommerce/includes/wc_licenses_class.php:218 -msgid "License Information" -msgstr "" - -#: woocommerce/includes/wc_licenses_class.php:222 -msgid "Activations" -msgstr "" - -#: woocommerce/includes/wc_licenses_class.php:226 -msgid "Copy License" -msgstr "" - -#: woocommerce/includes/wc_licenses_class.php:239 -msgid "Allowed devices" -msgstr "" - -#: woocommerce/includes/wc_licenses_class.php:240 -msgid "Allowed Domains" -msgstr "" - -#: woocommerce/includes/wc_licenses_class.php:242 -msgid "Date renewed" -msgstr "" - -#: woocommerce/includes/wc_licenses_class.php:243 -msgid "Activation Date" -msgstr "" - -#: woocommerce/includes/wc_licenses_class.php:315 -msgid "License key was deactivated!" -msgstr "" - -#: woocommerce/includes/wc_licenses_class.php:317 -msgid "License key was not deactivated!" -msgstr "" - -#. Plugin Name of the plugin/theme -msgid "SLM Plus" -msgstr "" - -#. Plugin URI of the plugin/theme -msgid "https://github.com/michelve/software-license-manager/" -msgstr "" - -#. Description of the plugin/theme -msgid "" -"A comprehensive software license management solution for web applications " -"including WordPress plugins, themes, and PHP-based software. Seamlessly " -"integrates with WooCommerce to offer license key generation, management, and " -"validation. Ideal for developers managing software licenses across multiple " -"platforms with built-in multilingual support and performance optimization." -msgstr "" - -#. Author of the plugin/theme -msgid "Michel Velis" -msgstr "" - -#. Author URI of the plugin/theme -msgid "https://github.com/michelve/" -msgstr "" diff --git a/includes/class-slm-installer.php b/includes/class-slm-installer.php index 3402d26..1c149da 100755 --- a/includes/class-slm-installer.php +++ b/includes/class-slm-installer.php @@ -38,10 +38,10 @@ $status_count = $wpdb->get_var("SELECT COUNT(*) FROM $lic_status_table"); if ($status_count == 0) { $default_statuses = array( - array('status_key' => 'pending', 'status_label' => __('Pending', 'slmplus')), - array('status_key' => 'active', 'status_label' => __('Active', 'slmplus')), - array('status_key' => 'blocked', 'status_label' => __('Blocked', 'slmplus')), - array('status_key' => 'expired', 'status_label' => __('Expired', 'slmplus')) + array('status_key' => 'pending', 'status_label' => __('Pending', 'slm-plus')), + array('status_key' => 'active', 'status_label' => __('Active', 'slm-plus')), + array('status_key' => 'blocked', 'status_label' => __('Blocked', 'slm-plus')), + array('status_key' => 'expired', 'status_label' => __('Expired', 'slm-plus')) ); foreach ($default_statuses as $status) { diff --git a/includes/slm-api-listener.php b/includes/slm-api-listener.php index c99680e..f765940 100755 --- a/includes/slm-api-listener.php +++ b/includes/slm-api-listener.php @@ -33,8 +33,10 @@ */ -class SLM_API_Listener{ - function __construct(){ +class SLM_API_Listener +{ + function __construct() + { if (isset($_REQUEST['slm_action']) && isset($_REQUEST['secret_key'])) { do_action('slm_api_listener_init'); $this->creation_api_listener(); @@ -46,32 +48,33 @@ function __construct(){ } } - function creation_api_listener() { + function creation_api_listener() + { if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) === 'slm_create_new') { global $slm_debug_logger, $wpdb; $slm_lic_table = SLM_TBL_LICENSE_KEYS; $options = get_option('slm_plugin_options'); $lic_key_prefix = $options['lic_prefix'] ?? 'SLM-'; // Use default prefix if missing - + // Security check: Verify secret key SLM_API_Utility::verify_secret_key_for_creation(); - + // Logging for debugging $slm_debug_logger->log_debug("API - license creation (slm_create_new) request received."); - + // Trigger action hook for external integrations do_action('slm_api_listener_slm_create_new'); - + // Initialize fields array $fields = []; - + // License key handling if (!empty($_REQUEST['license_key'])) { $fields['license_key'] = sanitize_text_field($_REQUEST['license_key']); } else { $fields['license_key'] = slm_get_license($lic_key_prefix); // Generate if not provided } - + // Sanitize and prepare other fields $fields['lic_status'] = !empty($_REQUEST['lic_status']) ? sanitize_text_field($_REQUEST['lic_status']) : 'pending'; $fields['first_name'] = sanitize_text_field($_REQUEST['first_name']); @@ -92,7 +95,7 @@ function creation_api_listener() { $fields['lic_type'] = !empty($_REQUEST['lic_type']) ? sanitize_text_field($_REQUEST['lic_type']) : ''; $fields['slm_billing_length'] = !empty($_REQUEST['slm_billing_length']) ? sanitize_text_field($_REQUEST['slm_billing_length']) : ''; $fields['slm_billing_interval'] = !empty($_REQUEST['slm_billing_interval']) ? sanitize_text_field($_REQUEST['slm_billing_interval']) : ''; - + // Validation for subscription-type licenses if ($fields['lic_type'] === 'subscription') { if (empty($fields['slm_billing_length'])) { @@ -110,10 +113,10 @@ function creation_api_listener() { ]); } } - + // Insert the license into the database $result = $wpdb->insert($slm_lic_table, $fields); - + // Error handling for database insertion if ($result === false) { SLM_API_Utility::output_api_response([ @@ -129,28 +132,29 @@ function creation_api_listener() { 'key' => $fields['license_key'], 'code' => SLM_Error_Codes::LICENSE_CREATED ]; - + // Log license creation SLM_Utility::create_log($fields['license_key'], 'slm_create_new'); - + // Output API response SLM_API_Utility::output_api_response($response_args); } } } - - function activation_api_listener() { + + function activation_api_listener() + { if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) === 'slm_activate') { global $slm_debug_logger, $wpdb; $sql_prep1 = ""; $options = get_option('slm_plugin_options'); - + // Verify secret key first for security SLM_API_Utility::verify_secret_key(); - + // Trigger action hook for external integrations do_action('slm_api_listener_slm_activate'); - + // Initialize fields $fields = []; $fields['lic_key'] = sanitize_text_field($_REQUEST['license_key']); @@ -158,12 +162,12 @@ function activation_api_listener() { $registered_devices = isset($_REQUEST['registered_devices']) ? sanitize_text_field($_REQUEST['registered_devices']) : ''; $item_reference = isset($_REQUEST['item_reference']) ? sanitize_text_field($_REQUEST['item_reference']) : ''; - + // Table names $slm_lic_table = SLM_TBL_LICENSE_KEYS; $reg_domain_table = SLM_TBL_LIC_DOMAIN; $reg_table_devices = SLM_TBL_LIC_DEVICES; - + // Check if multiple items need verification if (!empty($item_reference) && $options['slm_multiple_items'] == 1) { $sql_prep1 = $wpdb->prepare("SELECT * FROM $slm_lic_table WHERE license_key = %s AND item_reference = %s", $fields['lic_key'], $item_reference); @@ -176,30 +180,30 @@ function activation_api_listener() { SLM_Helper_Class::write_log('User ID (subscr_id): ' . $sql_prep1); - + if (!$retLic) { $args = ['result' => 'error', 'message' => 'Invalid license key, key was not found.', 'error_code' => SLM_Error_Codes::LICENSE_INVALID]; SLM_API_Utility::output_api_response($args); } - + // Check if the license is blocked or expired if ($retLic->lic_status === 'blocked') { do_action('slm_api_listener_slm_activate_key_blocked', $fields['lic_key']); $args = ['result' => 'error', 'message' => 'Your license key is blocked', 'error_code' => SLM_Error_Codes::LICENSE_BLOCKED]; SLM_API_Utility::output_api_response($args); } - + if ($retLic->lic_status === 'expired') { do_action('slm_api_listener_slm_activate_key_expired', $fields['lic_key']); $args = ['result' => 'error', 'message' => 'Your license key has expired', 'error_code' => SLM_Error_Codes::LICENSE_EXPIRED]; SLM_API_Utility::output_api_response($args); } - + // Handling registered domains if (!empty($registered_domain)) { $sql_prep2 = $wpdb->prepare("SELECT * FROM $reg_domain_table WHERE lic_key = %s", $fields['lic_key']); $reg_domains = $wpdb->get_results($sql_prep2, OBJECT); - + if (count($reg_domains) < intval($retLic->max_allowed_domains)) { foreach ($reg_domains as $reg_domain) { @@ -233,19 +237,19 @@ function activation_api_listener() { // Insert into the registered domain table $wpdb->insert($reg_domain_table, $fields); - + // Update license status to active $current_date = wp_date('Y-m-d'); $wpdb->update($slm_lic_table, ['lic_status' => 'active', 'date_activated' => $current_date], ['id' => $retLic->id]); //SLM_Helper_Class::write_log('LOG: ' . $url); - + // Send activation email $lic_email = SLM_Utility::slm_get_lic_email($fields['lic_key']); $subject = 'Your license key was activated'; $message = 'Your license key: ' . $fields['lic_key'] . ' was activated successfully on ' . wp_date("F j, Y, g:i a") . '.'; SLM_Utility::slm_send_mail($lic_email, $subject, $message, 'success'); - + // Return success response $args = [ 'result' => 'success', @@ -257,25 +261,22 @@ function activation_api_listener() { ]; SLM_Utility::create_log($fields['lic_key'], 'License key activated for domain ' . $registered_domain); SLM_API_Utility::output_api_response($args); - - } - - else { + } else { $args = [ - 'result' => 'error', - 'message' => 'Reached maximum allowable domains', + 'result' => 'error', + 'message' => 'Reached maximum allowable domains', 'error_code' => SLM_Error_Codes::REACHED_MAX_DOMAINS ]; SLM_Utility::create_log($fields['lic_key'], 'Reached maximum allowable domains'); SLM_API_Utility::output_api_response($args); } } - + // Handling registered devices if (!empty($registered_devices)) { $sql_prep3 = $wpdb->prepare("SELECT * FROM $reg_table_devices WHERE lic_key = %s", $fields['lic_key']); $reg_devices = $wpdb->get_results($sql_prep3, OBJECT); - + if (count($reg_devices) < intval($retLic->max_allowed_devices)) { foreach ($reg_devices as $reg_device) { if (!empty($_REQUEST['migrate_from']) && $reg_device->registered_devices === sanitize_text_field($_REQUEST['migrate_from'])) { @@ -294,7 +295,7 @@ function activation_api_listener() { SLM_API_Utility::output_api_response($args); } } - + // Register new device // If the registered device is provided, add it to the fields $fields['registered_devices'] = $registered_devices; @@ -304,17 +305,17 @@ function activation_api_listener() { // Insert into the registered device table $wpdb->insert($reg_table_devices, $fields); - + // Update license status $current_date = wp_date('Y-m-d'); $wpdb->update($slm_lic_table, ['lic_status' => 'active', 'date_activated' => $current_date], ['id' => $retLic->id]); - + // Send activation email $lic_email = SLM_Utility::slm_get_lic_email($fields['lic_key']); $subject = 'Your license key was activated'; $message = 'Your license key: ' . $fields['lic_key'] . ' was activated successfully on ' . wp_date("F j, Y, g:i a") . '.'; SLM_Utility::slm_send_mail($lic_email, $subject, $message, 'success'); - + // Return success response $args = [ 'result' => 'success', @@ -325,9 +326,7 @@ function activation_api_listener() { ]; SLM_Utility::create_log($fields['lic_key'], 'License key activated for device ' . $registered_devices); SLM_API_Utility::output_api_response($args); - } - - else { + } else { $args = [ 'result' => 'error', 'icon_url' => SLM_Utility::slm_get_icon_url('1x', 'f-remove.png'), @@ -340,32 +339,33 @@ function activation_api_listener() { } } } - - function deactivation_api_listener() { + + function deactivation_api_listener() + { if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) === 'slm_deactivate') { global $slm_debug_logger, $wpdb; - + // Verify the secret key for security SLM_API_Utility::verify_secret_key(); $slm_debug_logger->log_debug("API - license deactivation (slm_deactivate) request received."); - + // Trigger deactivation hook for other integrations do_action('slm_api_listener_slm_deactivate'); - + // Sanitize inputs $license_key = sanitize_text_field($_REQUEST['license_key']); $registered_domain = isset($_REQUEST['registered_domain']) ? sanitize_text_field($_REQUEST['registered_domain']) : ''; $registered_devices = isset($_REQUEST['registered_devices']) ? sanitize_text_field($_REQUEST['registered_devices']) : ''; - + // Handle domain deactivation if domain info is provided if (!empty($registered_domain)) { $registered_dom_table = SLM_TBL_LIC_DOMAIN; - + // Prepare SQL query for domain deactivation $sql_prep = $wpdb->prepare("DELETE FROM $registered_dom_table WHERE lic_key = %s AND registered_domain = %s", $license_key, $registered_domain); $delete = $wpdb->query($sql_prep); - + // Check result of the deletion query if ($delete === false) { $slm_debug_logger->log_debug("Error - failed to delete the registered domain from the database."); @@ -390,15 +390,15 @@ function deactivation_api_listener() { SLM_API_Utility::output_api_response($args); } } - + // Handle device deactivation if device info is provided if (!empty($registered_devices)) { $registered_device_table = SLM_TBL_LIC_DEVICES; - + // Prepare SQL query for device deactivation $sql_prep2 = $wpdb->prepare("DELETE FROM $registered_device_table WHERE lic_key = %s AND registered_devices = %s", $license_key, $registered_devices); $delete2 = $wpdb->query($sql_prep2); - + // Check result of the deletion query if ($delete2 === false) { $slm_debug_logger->log_debug("Error - failed to delete the registered device from the database."); @@ -423,7 +423,7 @@ function deactivation_api_listener() { SLM_API_Utility::output_api_response($args); } } - + // If neither domain nor device info is provided, return an error response if (empty($registered_domain) && empty($registered_devices)) { $args = ['result' => 'error', 'message' => 'No deactivation target specified. Either a domain or device must be provided.', 'error_code' => SLM_Error_Codes::DOMAIN_MISSING]; @@ -431,19 +431,19 @@ function deactivation_api_listener() { } } } - - - function update_api_listener() { + + function update_api_listener() + { if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) === 'slm_update') { global $slm_debug_logger, $wpdb; - + // Verify secret key for security SLM_API_Utility::verify_secret_key_for_creation(); $slm_debug_logger->log_debug("API - license update (slm_update) request received."); - + // Trigger update hook for integrations do_action('slm_api_listener_slm_update'); - + // Sanitize inputs and build the update fields array $fields = array( 'license_key' => sanitize_text_field($_REQUEST['license_key']), @@ -456,7 +456,7 @@ function update_api_listener() { 'lic_status' => isset($_REQUEST['lic_status']) ? sanitize_text_field($_REQUEST['lic_status']) : 'active', 'item_reference' => isset($_REQUEST['item_reference']) ? sanitize_text_field($_REQUEST['item_reference']) : '', ); - + // Validate that the license key is provided if (empty($fields['license_key'])) { $args = array( @@ -468,12 +468,12 @@ function update_api_listener() { SLM_API_Utility::output_api_response($args); return; } - + // Update the license in the database $slm_lic_table = SLM_TBL_LICENSE_KEYS; $where_clause = array('license_key' => $fields['license_key']); $update_result = $wpdb->update($slm_lic_table, $fields, $where_clause); - + // Handle update result if ($update_result === false) { $args = array( @@ -504,41 +504,41 @@ function update_api_listener() { SLM_API_Utility::output_api_response($args); } } - + function check_api_listener() { if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) === 'slm_check') { global $slm_debug_logger, $wpdb; - + // Verify secret key for security SLM_API_Utility::verify_secret_key(); - + $slm_debug_logger->log_debug("API - license check (slm_check) request received."); - + // Sanitize input $license_key = sanitize_text_field($_REQUEST['license_key']); $slm_debug_logger->log_debug("Checking license key: " . $license_key); - + // Action hook for additional integrations do_action('slm_api_listener_slm_check'); - + // Query license key details $slm_lic_table = SLM_TBL_LICENSE_KEYS; $reg_domain_table = SLM_TBL_LIC_DOMAIN; $reg_table_devices = SLM_TBL_LIC_DEVICES; - + // Retrieve the license key details from the database $license_query = $wpdb->prepare("SELECT * FROM $slm_lic_table WHERE license_key = %s", $license_key); $retLic = $wpdb->get_row($license_query, OBJECT); - + if ($retLic) { // If the license exists, retrieve domain and device information $domain_query = $wpdb->prepare("SELECT * FROM $reg_domain_table WHERE lic_key = %s", $license_key); $device_query = $wpdb->prepare("SELECT * FROM $reg_table_devices WHERE lic_key = %s", $license_key); - + $registered_domains = $wpdb->get_results($domain_query, OBJECT); $registered_devices = $wpdb->get_results($device_query, OBJECT); - + // Prepare response with license and registration data $response_args = apply_filters('slm_check_response_args', array( 'result' => 'success', @@ -565,11 +565,10 @@ function check_api_listener() 'until' => $retLic->until, 'current_ver' => $retLic->current_ver, )); - + // Log and send the response SLM_Utility::create_log($license_key, 'License check successful'); SLM_API_Utility::output_api_response($response_args); - } else { // Invalid license key case $error_args = array( @@ -577,7 +576,7 @@ function check_api_listener() 'message' => 'Invalid license key', 'error_code' => SLM_Error_Codes::LICENSE_INVALID ); - + // Log the error and respond SLM_Utility::create_log($license_key, 'License check failed: Invalid license key'); SLM_API_Utility::output_api_response($error_args); @@ -589,36 +588,36 @@ function check_api_info() { if (isset($_REQUEST['slm_action']) && trim($_REQUEST['slm_action']) === 'slm_info') { global $slm_debug_logger, $wpdb; - + // Verify secret key for security - SLM_API_Utility::verify_secret_key(); - + SLM_API_Utility::verify_secret_key(); + // Log the API request $slm_debug_logger->log_debug("API - license info (slm_info) request received."); - + // Sanitize input data $license_key = sanitize_text_field($_REQUEST['license_key']); $slm_debug_logger->log_debug("License key: " . $license_key); - + // Action hook for additional integrations do_action('slm_api_listener_slm_info'); - + // Fetch license details from the database $slm_lic_table = SLM_TBL_LICENSE_KEYS; $reg_domain_table = SLM_TBL_LIC_DOMAIN; $reg_table_devices = SLM_TBL_LIC_DEVICES; - + $license_query = $wpdb->prepare("SELECT * FROM $slm_lic_table WHERE license_key = %s", $license_key); $retLic = $wpdb->get_row($license_query, OBJECT); - + if ($retLic) { // If the license exists, fetch associated domains and devices $domain_query = $wpdb->prepare("SELECT * FROM $reg_domain_table WHERE lic_key = %s", $license_key); $device_query = $wpdb->prepare("SELECT * FROM $reg_table_devices WHERE lic_key = %s", $license_key); - + $registered_domains = $wpdb->get_results($domain_query, OBJECT); $registered_devices = $wpdb->get_results($device_query, OBJECT); - + // Prepare the response with the license and registration data $response_args = apply_filters('slm_info_response_args', array( 'result' => 'success', @@ -643,7 +642,7 @@ function check_api_info() 'until' => $retLic->until, 'current_ver' => $retLic->current_ver, )); - + // Log the successful check SLM_Utility::create_log($license_key, 'info: valid license key'); SLM_API_Utility::output_api_response($response_args); @@ -654,7 +653,7 @@ function check_api_info() 'message' => 'Invalid license key', 'error_code' => SLM_Error_Codes::LICENSE_INVALID ); - + // Log the error SLM_Utility::create_log($license_key, 'info: invalid license key'); SLM_API_Utility::output_api_response($error_args); diff --git a/includes/slm-init-time-tasks.php b/includes/slm-init-time-tasks.php index 53ef443..6f64c1f 100755 --- a/includes/slm-init-time-tasks.php +++ b/includes/slm-init-time-tasks.php @@ -2,36 +2,37 @@ class SLM_Init_Time_Tasks { - public function __construct() { - $this->load_scripts(); - // Add other init time operations here - add_action('slm_daily_cron_event', array($this, 'slm_daily_cron_event_handler')); - } +public function __construct() { + $this->load_scripts(); + // Add other init time operations here + add_action('slm_daily_cron_event', array($this, 'slm_daily_cron_event_handler')); +} - // Load common and admin-specific scripts and styles - public function load_scripts() { - wp_enqueue_script('jquery'); // Common scripts +// Load common and admin-specific scripts and styles +public function load_scripts() { + $plugin_version = '1.0.0'; // Replace with your plugin version if available - if (is_admin()) { - wp_enqueue_script('jquery-ui-datepicker'); - wp_enqueue_script('wplm-custom-admin-js', SLM_ASSETS_URL . 'js/wplm-custom-admin.js', array('jquery-ui-dialog')); // Admin-only JS - if (isset($_GET['page']) && $_GET['page'] == 'slm_manage_license') { // Only include if in license management interface - wp_enqueue_style('jquery-ui-style', SLM_ASSETS_URL . 'css/jquery-ui.css'); - } + wp_enqueue_script('jquery'); // Common scripts + + if (is_admin()) { + wp_enqueue_script('jquery-ui-datepicker'); + // Enqueue admin-specific JS and add version and load in footer + wp_enqueue_script('wplm-custom-admin-js', SLM_ASSETS_URL . 'js/wplm-custom-admin.js', array('jquery-ui-dialog'), $plugin_version, true); // true loads in footer + if (isset($_GET['page']) && $_GET['page'] == 'slm_manage_license') { // Only include if in license management interface + wp_enqueue_style('jquery-ui-style', SLM_ASSETS_URL . 'css/jquery-ui.css', array(), $plugin_version); // Add version for caching } } +} - // Daily cron event handler - public function slm_daily_cron_event_handler() { - $options = get_option('slm_plugin_options'); - do_action('slm_daily_cron_event_triggered'); - - if (isset($options['enable_auto_key_expiry']) && $options['enable_auto_key_expiry'] == '1') { - // Perform auto key expiry task - SLM_Debug_Logger::log_debug_st("SLM daily cronjob - auto expiry of license key is enabled."); - SLM_Utility::do_auto_key_expiry(); - } +// Daily cron event handler +public function slm_daily_cron_event_handler() { + $options = get_option('slm_plugin_options'); + do_action('slm_daily_cron_event_triggered'); - // Add any other daily cron job tasks here + if (isset($options['enable_auto_key_expiry']) && $options['enable_auto_key_expiry'] == '1') { + // Perform auto key expiry task + SLM_Debug_Logger::log_debug_st("SLM daily cronjob - auto expiry of license key is enabled."); + SLM_Utility::do_auto_key_expiry(); } } +} diff --git a/includes/slm-plugin-core.php b/includes/slm-plugin-core.php index 4e4239d..f5e5cb5 100755 --- a/includes/slm-plugin-core.php +++ b/includes/slm-plugin-core.php @@ -8,7 +8,7 @@ * @link http://epikly.com */ - + //Includes - utilities and cron jobs include_once(ABSPATH . 'wp-admin/includes/plugin.php'); require_once(SLM_LIB . 'slm-utility.php'); @@ -27,7 +27,8 @@ } if (!function_exists('hyphenate')) { - function hyphenate($str) { + function hyphenate($str) + { return implode("-", str_split($str, 5)); } } @@ -35,31 +36,78 @@ function hyphenate($str) { // WP eStores integration if (SLM_Helper_Class::slm_get_option('slm_wpestores') == 1) { - require_once(SLM_ADMIN . 'includes/wpestores/slm-wpestores.php'); + // require_once(SLM_ADMIN . 'includes/wpestores/slm-wpestores.php'); } // Activation and deactivation hooks -function activate_slm_plus() { +function activate_slm_plus() +{ require_once SLM_LIB . 'class-slm-activator.php'; $slm_activator->activate(); } -function deactivate_slm_plus() { +function deactivate_slm_plus() +{ require_once SLM_LIB . 'class-slm-deactivator.php'; $slm_deactivator->deactivate(); } +register_activation_hook(__FILE__, 'activate_slm_plus'); +register_deactivation_hook(__FILE__, 'deactivate_slm_plus'); + +// Improved and Shortened License Key Generator Function function slm_get_license($lic_key_prefix = '') { - return strtoupper($lic_key_prefix . hyphenate(md5(uniqid(rand(4, 10), true) . date('Y-m-d H:i:s') . time()))); + global $wpdb; + $max_retries = 5; // Set the maximum number of retries + $retry_count = 0; + $license_key = ''; + + // Use the constant to define the license table + $license_table = SLM_TBL_LICENSE_KEYS; + + // Generate a unique license key + while ($retry_count < $max_retries) { + // Generate a strong, random base using random_int() and uniqid + $random_base = uniqid(random_int(1000, 9999), true); + + // Combine random base with the current GMT date and time and the Unix timestamp for additional uniqueness + $combined_string = $random_base . gmdate('Y-m-d H:i:s') . time(); + + // Create a sha256 hash of the combined string + $hashed_string = substr(hash('sha256', $combined_string), 0, 32); // Take first 32 characters of the sha256 hash + + // Ensure the prefix is added correctly + $license_key = strtoupper($hashed_string); + + // Add dashes every 4 characters + $license_key_with_dashes = implode('-', str_split($license_key, 4)); + + // Add the prefix to the formatted key + $license_key_with_prefix = $lic_key_prefix . $license_key_with_dashes; + + // Check if the generated license key already exists in the database + $existing_license = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $license_table WHERE license_key = %s", $license_key_with_prefix)); + + // If the license doesn't exist, break out of the loop and return the key + if ($existing_license == 0) { + return $license_key_with_prefix; + } + + // If the license already exists, increment the retry count and try again + $retry_count++; + } + + // If we exceed the retry limit, return false or handle the error as needed + error_log('Failed to generate a unique license key after ' . $max_retries . ' attempts.'); + return false; } -register_activation_hook(__FILE__, 'activate_slm_plus'); -register_deactivation_hook(__FILE__, 'deactivate_slm_plus'); -// License key generator function -function slmplus_get_license($lic_key_prefix = '') { - return strtoupper($lic_key_prefix . hyphenate(md5(uniqid(rand(4, 10), true) . date('Y-m-d H:i:s') . time()))); +// Example hyphenate function (assuming hyphenates every 4 characters) +function hyphenate($string) +{ + return implode('-', str_split($string, 4)); // This splits the string into chunks of 4 characters and adds hyphens } // Action hooks @@ -75,13 +123,15 @@ function slmplus_get_license($lic_key_prefix = '') { $slm_debug_logger = new SLM_Debug_Logger(); // Init-time tasks -function slmplus_init_handler() { +function slmplus_init_handler() +{ $init_task = new SLM_Init_Time_Tasks(); $api_listener = new SLM_API_Listener(); } // Plugins loaded tasks -function slmplus_plugins_loaded_handler() { +function slmplus_plugins_loaded_handler() +{ if (is_admin() && get_option('slm_db_version') != SLM_DB_VERSION) { require_once(SLM_LIB . 'class-slm-installer.php'); // TODO - Implement DB update logic here @@ -89,10 +139,12 @@ function slmplus_plugins_loaded_handler() { } // Singleton pattern for the plugin -class SLM_Tabbed_Plugin { +class SLM_Tabbed_Plugin +{ private static $classobj = NULL; - public static function get_object() { + public static function get_object() + { if (self::$classobj === NULL) { self::$classobj = new self(); } @@ -103,7 +155,8 @@ private function __construct() {} } // AJAX handlers -function slmplus_del_registered_domain() { +function slmplus_del_registered_domain() +{ global $wpdb; $id = strip_tags($_GET['id']); $ret = $wpdb->query($wpdb->prepare("DELETE FROM " . SLM_TBL_LIC_DOMAIN . " WHERE id = %d", $id)); @@ -111,7 +164,8 @@ function slmplus_del_registered_domain() { exit; } -function slmplus_del_registered_devices() { +function slmplus_del_registered_devices() +{ global $wpdb; $id = strip_tags($_GET['id']); $ret = $wpdb->query($wpdb->prepare("DELETE FROM " . SLM_TBL_LIC_DEVICES . " WHERE id = %d", $id)); @@ -119,7 +173,8 @@ function slmplus_del_registered_devices() { exit; } -function slmplus_remove_activation() { +function slmplus_remove_activation() +{ global $wpdb; $id = strip_tags($_GET['id']); $activation_type = strip_tags($_GET['activation_type']); @@ -131,13 +186,15 @@ function slmplus_remove_activation() { } // Debugging functions -function wc_print_pretty($args) { +function wc_print_pretty($args) +{ echo '
        ';
             print_r($args);
             echo '
        '; } -function wc_log($msg) { +function wc_log($msg) +{ $log = ABSPATH . DIRECTORY_SEPARATOR . 'slm_log.txt'; file_put_contents($log, $msg . '', FILE_APPEND); } @@ -148,7 +205,7 @@ function wc_log($msg) { require_once(SLM_WOO . 'includes/slm-meta-boxes.php'); require_once SLM_WOO . 'includes/register-template.php'; - require_once SLM_WOO . 'includes/purchase.php'; + require_once SLM_WOO . 'includes/purchase.php'; require_once SLM_WOO . 'includes/create-license-orders.php'; // Build WooCommerce tabs @@ -156,40 +213,43 @@ function wc_log($msg) { } add_action('wp_ajax_slm_user_search', 'slm_user_search'); -function slm_user_search() { +function slm_user_search() +{ + global $wpdb; + $value = sanitize_text_field($_POST['value']); - - // Meta query to search for user data - $meta_query = [ - 'relation' => 'OR', - ['key' => 'first_name', 'value' => $value, 'compare' => 'LIKE'], - ['key' => 'last_name', 'value' => $value, 'compare' => 'LIKE'], - ['key' => 'billing_first_name', 'value' => $value, 'compare' => 'LIKE'], - ['key' => 'billing_last_name', 'value' => $value, 'compare' => 'LIKE'], - ]; - - // Arguments to find users - $args = [ - 'meta_query' => $meta_query, - 'number' => 10, - ]; - - $users = get_users($args); + + // Direct SQL Query to improve performance + $query = $wpdb->prepare( + " + SELECT u.ID, u.display_name, u.user_email, + IFNULL(um_first_name.meta_value, um_billing_first_name.meta_value) AS first_name, + IFNULL(um_last_name.meta_value, um_billing_last_name.meta_value) AS last_name + FROM {$wpdb->users} u + LEFT JOIN {$wpdb->prefix}usermeta um_first_name ON um_first_name.user_id = u.ID AND um_first_name.meta_key = 'first_name' + LEFT JOIN {$wpdb->prefix}usermeta um_last_name ON um_last_name.user_id = u.ID AND um_last_name.meta_key = 'last_name' + LEFT JOIN {$wpdb->prefix}usermeta um_billing_first_name ON um_billing_first_name.user_id = u.ID AND um_billing_first_name.meta_key = 'billing_first_name' + LEFT JOIN {$wpdb->prefix}usermeta um_billing_last_name ON um_billing_last_name.user_id = u.ID AND um_billing_last_name.meta_key = 'billing_last_name' + WHERE (um_first_name.meta_value LIKE %s OR um_last_name.meta_value LIKE %s OR um_billing_first_name.meta_value LIKE %s OR um_billing_last_name.meta_value LIKE %s) + LIMIT 10 + ", + '%' . $wpdb->esc_like($value) . '%', + '%' . $wpdb->esc_like($value) . '%', + '%' . $wpdb->esc_like($value) . '%', + '%' . $wpdb->esc_like($value) . '%' + ); + + $users = $wpdb->get_results($query); $results = []; foreach ($users as $user) { - // Fallback to billing info if WooCommerce is active - $first_name = get_user_meta($user->ID, 'first_name', true) ?: get_user_meta($user->ID, 'billing_first_name', true); - $last_name = get_user_meta($user->ID, 'last_name', true) ?: get_user_meta($user->ID, 'billing_last_name', true); - $company_name = get_user_meta($user->ID, 'company_name', true); // Retrieve company name if available - $results[] = [ 'ID' => $user->ID, - 'display_name' => $user->display_name ?: "{$first_name} {$last_name}", - 'first_name' => $first_name, - 'last_name' => $last_name, + 'display_name' => $user->display_name ?: "{$user->first_name} {$user->last_name}", + 'first_name' => $user->first_name, + 'last_name' => $user->last_name, 'email' => $user->user_email, - 'company_name' => $company_name, + 'company_name' => get_user_meta($user->ID, 'company_name', true), 'subscr_id' => $user->ID, // Pass user ID as the subscription ID ]; } diff --git a/includes/slm-utility.php b/includes/slm-utility.php index e96fe46..9ed555d 100755 --- a/includes/slm-utility.php +++ b/includes/slm-utility.php @@ -38,7 +38,8 @@ public static function write_log($log) } } } - public static function get_license_logs($license_key) { + public static function get_license_logs($license_key) + { global $wpdb; $table_name = SLM_TBL_LIC_LOG; @@ -63,7 +64,7 @@ static function console($data) $output = implode(',', $output); // print the result into the JavaScript console - echo ""; + echo ""; } } @@ -99,7 +100,8 @@ public static function output_api_response($args) * Validate date format to ensure it's in 'YYYY-MM-DD' format. * Returns the sanitized date or an empty string if invalid. */ - public static function slm_validate_date($date) { + public static function slm_validate_date($date) + { $date = sanitize_text_field($date); $timestamp = strtotime($date); if ($timestamp && date('Y-m-d', $timestamp) === $date) { @@ -110,39 +112,65 @@ public static function slm_validate_date($date) { public static function verify_secret_key() { + // Get the stored secret key from plugin options $slm_options = get_option('slm_plugin_options'); $right_secret_key = $slm_options['lic_verification_secret'] ?? ''; + + // Sanitize and retrieve the received secret key $received_secret_key = sanitize_text_field($_REQUEST['secret_key'] ?? ''); + // Case-sensitive comparison for the secret keys if ($received_secret_key !== $right_secret_key) { + // Prepare the error response with case-sensitivity note $args = array( 'result' => 'error', - 'message' => 'Verification API secret key is invalid', + 'message' => 'Verification API secret key is invalid. Note: The key comparison is case-sensitive.', 'error_code' => SLM_Error_Codes::VERIFY_KEY_INVALID ); + // Output the API response with the error self::output_api_response($args); } } + public static function get_slm_option($option) { - $slm_options_func = get_option('slm_plugin_options', []); - $option = $slm_options_func[$option]; - return sanitize_text_field($option); + // Retrieve the option value from the database + $slm_options_func = get_option('slm_plugin_options', []); + + // Check if the option exists; if not, return an empty string + if (!isset($slm_options_func[$option])) { + return ''; + } + + // Get the option value and unslash it (removes slashes from the option value) + $option_value = wp_unslash($slm_options_func[$option]); + + // Sanitize the option value (text field sanitization) + $sanitized_option = sanitize_text_field($option_value); + + // Return the sanitized and unslashed option value + return $sanitized_option; } public static function verify_secret_key_for_creation() { + // Get the stored secret key from plugin options $slm_options = get_option('slm_plugin_options'); $right_secret_key = $slm_options['lic_creation_secret'] ?? ''; + + // Sanitize and retrieve the received secret key $received_secret_key = sanitize_text_field($_REQUEST['secret_key'] ?? ''); + // Case-sensitive comparison for the secret keys if ($received_secret_key !== $right_secret_key) { + // Prepare the error response with case-sensitivity note $args = array( 'result' => 'error', - 'message' => 'License Creation API secret key is invalid', + 'message' => 'Invalid License Creation API Secret Key provided. Note: The key comparison is case-sensitive.', 'error_code' => SLM_Error_Codes::CREATE_KEY_INVALID ); + // Output the API response with the error self::output_api_response($args); } } @@ -160,6 +188,88 @@ public static function insert_license_data_internal($fields) class SLM_Utility { + /** + * Saves a backup of the plugin's database tables in a secure folder. + */ + public static function slm_save_backup_to_uploads() + { + global $wpdb; + + // Get the upload directory + $upload_dir = wp_upload_dir(); + $unique_hash = slm_get_unique_hash(); // Generate or retrieve the unique hash + $slm_backup_dir = $upload_dir['basedir'] . $unique_hash; + + // Create the slm-plus folder with hash if it doesn't exist + if (!file_exists($slm_backup_dir)) { + wp_mkdir_p($slm_backup_dir); + } + + // Set backup file name and path + $backup_file = $slm_backup_dir . '/slm_plugin_backup_' . gmdate('Y-m-d H:i:s') . '.sql'; + + // Get plugin tables + $backup_tables = [ + SLM_TBL_LICENSE_KEYS, + SLM_TBL_LIC_DOMAIN, + SLM_TBL_LIC_DEVICES, + SLM_TBL_LIC_LOG, + SLM_TBL_EMAILS, + SLM_TBL_LICENSE_STATUS + ]; + + $sql = ""; + foreach ($backup_tables as $table) { + // Get table structure + $create_table_query = $wpdb->get_results("SHOW CREATE TABLE $table", ARRAY_N); + $sql .= "\n\n" . $create_table_query[0][1] . ";\n\n"; + + // Get table data + $rows = $wpdb->get_results("SELECT * FROM $table", ARRAY_A); + foreach ($rows as $row) { + $values = array_map('esc_sql', array_values($row)); // Use esc_sql to escape the values + $values = "'" . implode("','", $values) . "'"; + $sql .= "INSERT INTO $table VALUES ($values);\n"; + } + } + + // Include the WordPress Filesystem API + if (! function_exists('request_filesystem_credentials')) { + require_once ABSPATH . 'wp-admin/includes/file.php'; + } + + // Ensure the filesystem is ready + if (! WP_Filesystem()) { + request_filesystem_credentials(admin_url()); + } + + global $wp_filesystem; + + // Define the backup file path + $backup_path = $upload_dir['basedir'] . '/' . $unique_hash . '/' . basename($backup_file); + + // Create the backup directory if it doesn't exist + if (! is_dir(dirname($backup_path))) { + $wp_filesystem->mkdir(dirname($backup_path)); + } + + // Save the SQL to the backup file using the WP Filesystem + if ($wp_filesystem->put_contents($backup_path, $sql)) { + $backup_url = $upload_dir['baseurl'] . '/' . $unique_hash . '/' . basename($backup_file); + + // Save backup info in plugin options + $backup_info = [ + 'url' => $backup_url, + 'date' => gmdate('Y-m-d H:i:s'), + ]; + slm_update_option('slm_last_backup_info', $backup_info); + + echo '

        ' . esc_html__('Backup created successfully! Download from: ', 'slm-plus') . '' . esc_html(basename($backup_file)) . '

        '; + } else { + echo '

        ' . esc_html__('Error: Failed to create the backup file.', 'slm-plus') . '

        '; + } + } + // Function to export a single license as a JSON file public static function export_license_to_json($license_id_or_key) { @@ -211,57 +321,58 @@ public static function export_license_to_json($license_id_or_key) return false; // Return false if no data was found } - public static function check_for_expired_lic($lic_key = '') { + public static function check_for_expired_lic($lic_key = '') + { global $wpdb; - + // Set up email headers and subject line $headers = array('Content-Type: text/html; charset=UTF-8'); $subject = get_bloginfo('name') . ' - Your license has expired'; $expiration_reminder_text = SLM_Helper_Class::slm_get_option('expiration_reminder_text'); $expired_licenses_list = []; $reinstated_licenses_list = []; - + // Query licenses marked as expired but with future expiration dates to correct their status $incorrectly_expired_query = $wpdb->prepare( "SELECT * FROM " . SLM_TBL_LICENSE_KEYS . " WHERE lic_status = %s AND date_expiry > NOW()", 'expired' ); $incorrectly_expired_licenses = $wpdb->get_results($incorrectly_expired_query, ARRAY_A); - + // Reinstate incorrectly expired licenses foreach ($incorrectly_expired_licenses as $license) { $license_key = sanitize_text_field($license['license_key']); $id = intval($license['id']); - + // Update license status to 'active' $wpdb->update( SLM_TBL_LICENSE_KEYS, ['lic_status' => 'active'], ['id' => $id] ); - + self::create_log($license_key, 'status corrected to active'); $reinstated_licenses_list[] = $license_key; } - + // Log reinstated licenses if (!empty($reinstated_licenses_list)) { SLM_Helper_Class::write_log('Reinstated licenses set to active: ' . implode(', ', $reinstated_licenses_list)); } - + // Query expired licenses $expired_query = $wpdb->prepare( "SELECT * FROM " . SLM_TBL_LICENSE_KEYS . " WHERE date_expiry < NOW() AND date_expiry != %s ORDER BY date_expiry ASC;", '00000000' ); $expired_licenses = $wpdb->get_results($expired_query, ARRAY_A); - + // Check if any expired licenses were found if (empty($expired_licenses)) { SLM_Helper_Class::write_log('No expired licenses found'); return []; // Return an empty array if no licenses found } - + // Process each expired license foreach ($expired_licenses as $license) { $id = intval($license['id']); @@ -270,18 +381,18 @@ public static function check_for_expired_lic($lic_key = '') { // $last_name = sanitize_text_field($license['last_name']); $email = sanitize_email($license['email']); $date_expiry = sanitize_text_field($license['date_expiry']); - + // Include email template and generate the email body ob_start(); include SLM_LIB . 'mails/expired.php'; $body = ob_get_clean(); - + // Check if auto-expiration is enabled and update the license status if (SLM_Helper_Class::slm_get_option('enable_auto_key_expiration') == 1) { $update_data = ['lic_status' => 'expired']; $where_clause = ['id' => $id]; $wpdb->update(SLM_TBL_LICENSE_KEYS, $update_data, $where_clause); - + // Log and send expiration notification self::create_log($license_key, 'set to expired'); $email_result = self::slm_check_sent_emails($license_key, $email, $subject, $body, $headers); @@ -289,27 +400,28 @@ public static function check_for_expired_lic($lic_key = '') { self::create_log($license_key, 'sent expiration email notification'); } } - + // Add license to the expired list $expired_licenses_list[] = $license_key; } - + // Log the total count of expired licenses SLM_Helper_Class::write_log('Expired licenses found and processed: ' . implode(', ', $expired_licenses_list)); - + return [ 'expired_licenses' => $expired_licenses_list, 'reinstated_licenses' => $reinstated_licenses_list ]; // Return both expired and reinstated licenses } - + // Define return codes for clarity const EMAIL_SENT_FIRST_TIME = '200'; const EMAIL_ALREADY_SENT = '400'; const EMAIL_SENT_RECORD_NOT_FOUND = '300'; - public static function slm_check_sent_emails($license_key, $email, $subject, $body, $headers) { + public static function slm_check_sent_emails($license_key, $email, $subject, $body, $headers) + { global $wpdb; // Check if an email has already been sent for this license key @@ -336,37 +448,38 @@ public static function slm_check_sent_emails($license_key, $email, $subject, $bo return self::EMAIL_SENT_RECORD_NOT_FOUND; } } - - public static function do_auto_key_expiry() { + + public static function do_auto_key_expiry() + { global $wpdb; $current_date = current_time('Y-m-d'); $slm_lic_table = SLM_TBL_LICENSE_KEYS; - + // Query for active (non-expired) licenses $licenses = $wpdb->get_results( $wpdb->prepare("SELECT * FROM $slm_lic_table WHERE lic_status != %s", 'expired'), OBJECT ); - + // Log and return if no licenses are found if (empty($licenses)) { SLM_Debug_Logger::log_debug_st("do_auto_key_expiry() - No active license keys found."); return false; } - + $today_dt = new DateTime($current_date); - + foreach ($licenses as $license) { $license_key = sanitize_text_field($license->license_key); $expiry_date = sanitize_text_field($license->date_expiry); - + // Skip if expiration date is invalid or empty if (empty($expiry_date) || in_array($expiry_date, ['0000-00-00', '00000000'])) { SLM_Debug_Logger::log_debug_st("License key ($license_key) has no valid expiration date set. Skipping expiry check."); continue; } - + // Check if the license has expired $expire_dt = new DateTime($expiry_date); if ($today_dt > $expire_dt) { @@ -374,12 +487,12 @@ public static function do_auto_key_expiry() { $data = ['lic_status' => 'expired']; $where = ['id' => intval($license->id)]; $updated = $wpdb->update($slm_lic_table, $data, $where); - + // Log the expiry and trigger action if successfully updated if ($updated) { SLM_Debug_Logger::log_debug_st("License key ($license_key) expired on $expiry_date. Status set to 'expired'."); do_action('slm_license_key_expired', $license->id); - + // Optional: Send expiry reminder email self::check_for_expired_lic($license_key); } else { @@ -387,10 +500,10 @@ public static function do_auto_key_expiry() { } } } - + return true; } - + public static function get_user_info($by, $value) @@ -404,46 +517,42 @@ public static function get_user_info($by, $value) return $user; } - public static function get_days_remaining($date1) { + public static function get_days_remaining($date1) + { // Validate and sanitize the date input $date1 = sanitize_text_field($date1); - + // Retrieve the date format setting from WordPress settings $date_format = get_option('date_format'); - + try { // Create DateTime objects for future and current dates $future_date = new DateTime($date1); $current_date = new DateTime(); - + // Check if the future date is valid and in the future if ($future_date < $current_date) { - return __('0 days remaining', 'slmplus'); + return __('0 days remaining', 'slm-plus'); } - + // Calculate the difference in days $interval = $current_date->diff($future_date); $days_remaining = (int) $interval->days; - + // Format and return the result return sprintf( - __('%s days remaining until %s', 'slmplus'), + // Translators: %1$s is the number of days remaining, %2$s is the formatted future date + __('%1$s days remaining until %2$s', 'slm-plus'), $days_remaining, date_i18n($date_format, $future_date->getTimestamp()) ); - } catch (Exception $e) { // Return 0 days remaining if date parsing fails - return __('0 days remaining', 'slmplus'); + return __('0 days remaining', 'slm-plus'); } } - - - /* - * Deletes a license key from the licenses table - */ public static function delete_license_key_by_row_id($key_row_id) { global $wpdb; @@ -452,37 +561,133 @@ public static function delete_license_key_by_row_id($key_row_id) // Sanitize the input $key_row_id = intval($key_row_id); - // First delete the registered domains entry of this key (if any). + // Retrieve the license key associated with this row id + $license_key = $wpdb->get_var($wpdb->prepare("SELECT license_key FROM $license_table WHERE id = %d", $key_row_id)); + + // Debug: Log the retrieved license key + SLM_Helper_Class::write_log("License key retrieved: " . $license_key); + + // First, delete the registered domains entry of this key (if any) SLM_Utility::delete_registered_domains_of_key($key_row_id); + SLM_Helper_Class::write_log("Registered domains for key $license_key deleted."); - // Now, delete the key from the licenses table. + // Now, delete the key from the licenses table $wpdb->delete($license_table, array('id' => $key_row_id)); + SLM_Helper_Class::write_log("License with row ID $key_row_id deleted from the license table."); + + if ($license_key) { + + // Query to get WooCommerce orders using a custom WP_Query with meta_query + $args = array( + 'post_type' => 'shop_order', + 'posts_per_page' => -1, + 'meta_query' => array( + 'relation' => 'OR', + array( + 'key' => 'License Key', // License Key meta field + 'value' => $license_key, + 'compare' => '=' + ), + array( + 'key' => '_slm_lic_key', // Fallback License Key meta field + 'value' => $license_key, + 'compare' => '=' + ) + ) + ); + + $order_query = new WP_Query($args); + + if ($order_query->have_posts()) { + while ($order_query->have_posts()) { + $order_query->the_post(); + $order_id = get_the_ID(); + + // Get order object + $order = wc_get_order($order_id); + + // Debugging: Log the order ID + SLM_Helper_Class::write_log("Processing order ID: " . $order_id); + + // Meta keys to be removed + $meta_keys = [ + 'License Key', + 'License Type', + 'Current Version', + 'Until Version', + 'Max Devices', + 'Max Domains' + ]; + + // Remove order-level metadata + foreach ($meta_keys as $meta_key) { + $meta_value = $order->get_meta($meta_key, true); // Retrieve the metadata value + if ($meta_value) { + SLM_Helper_Class::write_log("Found meta key $meta_key with value: $meta_value. Deleting..."); + $order->delete_meta_data($meta_key); // Remove meta data from the order + } + } + + // Add a note to the order + $note_content = sprintf(__('License key %s was deleted on %s', 'slm-plus'), $license_key, date_i18n('F j, Y')); + $order->add_order_note($note_content); + + // Process and reset license-related metadata from order items + foreach ($order->get_items() as $item_id => $item) { + // Remove item-level metadata for the specified keys + foreach ($meta_keys as $meta_key) { + $meta_value = $item->get_meta($meta_key, true); // Retrieve the metadata value + if ($meta_value) { + SLM_Helper_Class::write_log("Found meta key $meta_key in order item $item_id with value: $meta_value. Deleting..."); + $item->delete_meta_data($meta_key); // Remove meta data from the order item + } + } + + // Save the updated order item + $item->save(); + } + + // Save the updated order + $order->save(); + } + + wp_reset_postdata(); // Reset the post data after custom query + } else { + // Debugging: Log if no orders were found + SLM_Helper_Class::write_log("No orders found for the license key: " . $license_key); + } + } } + + + + /* * Retrieves the email associated with a license key */ - public static function slm_get_lic_email($license) { + public static function slm_get_lic_email($license) + { global $wpdb; $lic_key_table = SLM_TBL_LICENSE_KEYS; - + // Sanitize the input $license = sanitize_text_field($license); - + // Prepare and execute the query to fetch the email $email = $wpdb->get_var( $wpdb->prepare("SELECT email FROM $lic_key_table WHERE license_key = %s", $license) ); - + // Check if an email was found and is valid if ($email && is_email($email)) { return $email; } else { // Return a WP_Error if the email was not found or invalid - return new WP_Error('license_not_found', __('License key not found or invalid email.', 'slmplus')); + return new WP_Error('license_not_found', __('License key not found or invalid email.', 'slm-plus')); } } - + /* * Sends an email with the specified parameters @@ -568,7 +773,6 @@ public static function slm_email_template($message, $bgcolor = '') font-family: "Open Sans", Helvetica, Arial, Sans-serif; } - ' . esc_html(get_bloginfo('name')) . ' @@ -738,36 +942,70 @@ public static function active_license_key_by_row_id($key_row_id) } /* - * Deletes any registered domains info from the domain table for the given key's row id. - */ + * Deletes any registered domains and related entries for the given license key's row id. + */ static function delete_registered_domains_of_key($key_row_id) { global $slm_debug_logger; global $wpdb; + + // Table constants $reg_domain_table = SLM_TBL_LIC_DOMAIN; - $sql_prep = $wpdb->prepare("SELECT * FROM $reg_domain_table WHERE lic_key_id = %s", $key_row_id); - $reg_domains = $wpdb->get_results($sql_prep, OBJECT); - foreach ($reg_domains as $domain) { - $row_to_delete = $domain->id; - $wpdb->delete($reg_domain_table, array('id' => $row_to_delete)); - $slm_debug_logger->log_debug("Registered domain with row id (" . $row_to_delete . ") deleted."); + $device_table = SLM_TBL_LIC_DEVICES; + $log_table = SLM_TBL_LIC_LOG; + $email_table = SLM_TBL_EMAILS; + + // Retrieve the license key associated with this row id + $license_key = $wpdb->get_var($wpdb->prepare("SELECT license_key FROM " . SLM_TBL_LICENSE_KEYS . " WHERE id = %d", $key_row_id)); + + if ($license_key) { + // Step 1: Delete from registered domains table + $reg_domains = $wpdb->get_results($wpdb->prepare("SELECT id FROM $reg_domain_table WHERE lic_key_id = %d", $key_row_id)); + foreach ($reg_domains as $domain) { + $wpdb->delete($reg_domain_table, array('id' => $domain->id)); + $slm_debug_logger->log_debug("Registered domain with row id (" . $domain->id . ") deleted."); + } + + // Step 2: Delete from devices table + $deleted_devices = $wpdb->delete($device_table, array('lic_key' => $license_key), array('%s')); + $slm_debug_logger->log_debug("$deleted_devices entries deleted from devices table for license key ($license_key)."); + + // Step 3: Delete from log table + $deleted_logs = $wpdb->delete($log_table, array('license_key' => $license_key), array('%s')); + $slm_debug_logger->log_debug("$deleted_logs entries deleted from log table for license key ($license_key)."); + + // Step 4: Delete from emails table + $deleted_emails = $wpdb->delete($email_table, array('lic_key' => $license_key), array('%s')); + $slm_debug_logger->log_debug("$deleted_emails entries deleted from emails table for license key ($license_key)."); + } else { + $slm_debug_logger->log_debug("No license key found for row id ($key_row_id). Deletion aborted."); } } + static function create_secret_keys() { - $key = strtoupper(implode('-', str_split(substr(strtolower(md5(microtime() . rand(1000, 9999))), 0, 32), 8))); - return hash('sha256', $key); + // Generate secure random bytes (32 bytes = 256 bits) + $random_bytes = openssl_random_pseudo_bytes(32); // 32 bytes (256 bits) + + // Convert the random bytes into a hexadecimal string (64 chars) + $random_string = bin2hex($random_bytes); + + // Make the entire string uppercase + $key = strtoupper($random_string); + + return $key; } - public static function create_log($license_key, $action) { + public static function create_log($license_key, $action) + { global $wpdb; $slm_log_table = SLM_TBL_LIC_LOG; - + // Sanitize inputs $license_key = sanitize_text_field($license_key); $action = sanitize_text_field($action); - + // Determine the request origin if (!empty($_SERVER['HTTP_ORIGIN'])) { $origin = sanitize_text_field($_SERVER['HTTP_ORIGIN']); @@ -776,7 +1014,7 @@ public static function create_log($license_key, $action) { } else { $origin = sanitize_text_field($_SERVER['REMOTE_ADDR']); } - + // Prepare log data $log_data = array( 'license_key' => $license_key, @@ -784,18 +1022,19 @@ public static function create_log($license_key, $action) { 'time' => current_time('mysql'), // Standardized date-time format 'source' => $origin, ); - + // Insert log data into the database $inserted = $wpdb->insert($slm_log_table, $log_data); - + // Check for insertion errors if ($inserted === false) { error_log("Failed to insert log for license key: $license_key, action: $action. Error: " . $wpdb->last_error); } } - - public static function create_email_log($lic_key, $sent_to, $status, $sent, $date_sent = null) { + + public static function create_email_log($lic_key, $sent_to, $status, $sent, $date_sent = null) + { global $wpdb; $slm_email_table = SLM_TBL_EMAILS; @@ -835,10 +1074,11 @@ static function slm_wp_dashboards_stats($amount) foreach ($result as $license) { echo '
        - - '; + + '; } } @@ -870,17 +1110,24 @@ static function get_subscriber_licenses() if (isset($email) && isset($manage_subscriber) && current_user_can('edit_pages')) { - echo '

        Listing all licenses related to ' . $email . '

        '; + echo '

        Listing all licenses related to ' . esc_html($email) . '

        '; + + $result_array = $wpdb->get_results( + $wpdb->prepare( + "SELECT * FROM " . SLM_TBL_LICENSE_KEYS . " WHERE email LIKE %s ORDER BY `email` DESC LIMIT 0,1000", + '%' . $wpdb->esc_like($email) . '%' + ), + ARRAY_A + ); - $result_array = $wpdb->get_results("SELECT * FROM " . SLM_TBL_LICENSE_KEYS . " WHERE email LIKE '%" . $email . "%' ORDER BY `email` DESC LIMIT 0,1000", ARRAY_A); foreach ($result_array as $slm_user) { echo ' - - - - - '; + + + + + '; } } } @@ -891,17 +1138,25 @@ static function get_lic_activity($license_key) $slm_log_table = SLM_TBL_LIC_LOG; echo ' -
        - ' . $license->first_name . ' ' . $license->last_name . '
        - ' . $license->license_key . '
        + ' . esc_html($license->first_name) . ' ' . esc_html($license->last_name) . '
        + ' . esc_html($license->license_key) . ' +
        ' . $slm_user["id"] . '' . $slm_user["license_key"] . '' . $slm_user["lic_status"] . ''. __(' view', 'slmplus'). '
        ' . esc_html($slm_user["id"]) . '' . esc_html($slm_user["license_key"]) . '' . esc_html($slm_user["lic_status"]) . '' . esc_html__('View', 'slm-plus') . '
        +
        +
        '. __('ID', 'slmplus'). ' '. __('Request', 'slmplus'). '
        + + + + + + + '; $activity = $wpdb->get_results("SELECT * FROM " . $slm_log_table . " WHERE license_key='" . $license_key . "';"); foreach ($activity as $log) { echo ' - ' . - '' . - ' - '; + ' . + '' . + ' + '; } echo ' @@ -913,7 +1168,7 @@ static function get_license_activation($license_key, $tablename, $item_name, $ac { ?>
        -
        +
        prepare("SELECT * FROM $tablename WHERE lic_key = %s", $license_key); @@ -921,22 +1176,22 @@ static function get_license_activation($license_key, $tablename, $item_name, $ac if (count($activations) > 0) : ?>
        -
        +
        ' . esc_html__('ID', 'slm-plus') . '' . esc_html__('Request', 'slm-plus') . '
        ' . $log->id . ' ' . $log->slm_action . '' . - '

        '. __('Source:', 'slmplus'). ' ' . $log->source . - '

        '. __('Time:', 'slmplus'). ' ' . $log->time . '

        ' . esc_html($log->id) . ' ' . esc_html($log->slm_action) . '' . + '

        ' . esc_html__('Source:', 'slm-plus') . ' ' . esc_html($log->source) . + '

        ' . esc_html__('Time:', 'slm-plus') . ' ' . esc_html($log->time) . '

        -
        +
        registered_devices . '" aria-label="' . $activation->registered_devices . '" aria-describedby="' . $activation->registered_devices . '" value="' . $activation->registered_devices . '" readonly>'; + echo ''; } else { - echo ''; + echo ''; } ?>
        - +
        @@ -946,7 +1201,7 @@ static function get_license_activation($license_key, $tablename, $item_name, $ac
        - '.__('Not registered yet', 'slmplus').'
        '; ?> + ' . esc_html__('Not registered yet', 'slm-plus') . '
        '; ?>
        is_type('slm_license')) { $tabs['shipping'] = array( - 'title' => __('License information', 'slmplus'), + 'title' => __('License information', 'slm-plus'), 'priority' => 50, 'callback' => 'slm_woo_tab_lic_info' ); @@ -976,11 +1231,11 @@ function slm_woo_tab_lic_info() { global $product; // The new tab content - echo '

        '.__('License information', 'slmplus') .'

        '; - echo __('License type: ', 'slmplus') . get_post_meta($product->get_id(), '_license_type', true) . '
        '; - echo __('Domains allowed: ', 'slmplus') . get_post_meta($product->get_id(), '_domain_licenses', true) . '
        '; - echo __('Devices allowed: ', 'slmplus') . get_post_meta($product->get_id(), '_devices_licenses', true) . '
        '; - echo __('Renews every ', 'slmplus') . get_post_meta($product->get_id(), '_license_renewal_period_lenght', true) . ' ' . get_post_meta($product->get_id(), '_license_renewal_period_term', true) . '
        '; + echo '

        ' . esc_html__('License information', 'slm-plus') . '

        '; + echo esc_html__('License type: ', 'slm-plus') . esc_html(get_post_meta($product->get_id(), '_license_type', true)) . '
        '; + echo esc_html__('Domains allowed: ', 'slm-plus') . esc_html(get_post_meta($product->get_id(), '_domain_licenses', true)) . '
        '; + echo esc_html__('Devices allowed: ', 'slm-plus') . esc_html(get_post_meta($product->get_id(), '_devices_licenses', true)) . '
        '; + echo esc_html__('Renews every ', 'slm-plus') . esc_html(get_post_meta($product->get_id(), '_license_renewal_period_lenght', true)) . ' ' . esc_html(get_post_meta($product->get_id(), '_license_renewal_period_term', true)) . '
        '; } } } diff --git a/includes/wp-mail-class.php b/includes/wp-mail-class.php index de69f02..9b9b91c 100644 --- a/includes/wp-mail-class.php +++ b/includes/wp-mail-class.php @@ -208,14 +208,14 @@ public function attach($path) $this->attachments = array(); foreach ($path as $path_) { if (!file_exists($path_)) { - throw new Exception("Attachment not found at $path"); + throw new Exception(sprintf('Attachment not found at %s', esc_html($path))); } else { $this->attachments[] = $path_; } } } else { if (!file_exists($path)) { - throw new Exception("Attachment not found at $path"); + throw new Exception(sprintf('Attachment not found at %s', esc_html($path))); } $this->attachments = array($path); } @@ -358,7 +358,7 @@ public function renderPart($part = 'main') return $this->parseAsMustache($template, $variables); } else { - throw new Exception("Unknown extension {$extension} in path '{$templateFile}'"); + throw new Exception(sprintf('Unknown extension %s in path %s', esc_html($extension), esc_html($templateFile))); } } diff --git a/logs/log-cron-job.txt b/logs/log-cron-job.txt index 8b13789..1f2085b 100644 --- a/logs/log-cron-job.txt +++ b/logs/log-cron-job.txt @@ -1 +1 @@ - +[11/14/2024 3:53 PM] - -------- Log File Reset -------- diff --git a/logs/log.txt b/logs/log.txt index e69de29..b42ef7d 100644 --- a/logs/log.txt +++ b/logs/log.txt @@ -0,0 +1,361 @@ +[11/14/2024 3:53 PM] - -------- Log File Reset -------- +[11/14/2024 4:25 PM] - SUCCESS : Registered domain with row id (34) deleted. +[11/14/2024 4:54 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/14/2024 4:54 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/14/2024 4:55 PM] - SUCCESS : No license key found for row id (79). Deletion aborted. +[11/14/2024 4:56 PM] - SUCCESS : API Response - Result: success Message: License key activated. +[11/14/2024 4:56 PM] - SUCCESS : API Response - Result: success Message: License key activated for device. +[11/14/2024 4:57 PM] - SUCCESS : Registered domain with row id (35) deleted. +[11/14/2024 4:57 PM] - SUCCESS : 1 entries deleted from devices table for license key (SLM-EE57-76EF-2405-522E-90F4-FD95-1244-67C9). +[11/14/2024 4:57 PM] - SUCCESS : 3 entries deleted from log table for license key (SLM-EE57-76EF-2405-522E-90F4-FD95-1244-67C9). +[11/14/2024 4:57 PM] - SUCCESS : entries deleted from emails table for license key (SLM-EE57-76EF-2405-522E-90F4-FD95-1244-67C9). +[11/14/2024 4:58 PM] - SUCCESS : No license key found for row id (80). Deletion aborted. +[11/14/2024 8:36 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/14/2024 8:36 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/14/2024 8:36 PM] - SUCCESS : API Response - Result: success Message: License key activated for device. +[11/14/2024 8:36 PM] - SUCCESS : API Response - Result: success Message: License key activated. +[11/14/2024 8:37 PM] - SUCCESS : Registered domain with row id (36) deleted. +[11/14/2024 8:37 PM] - SUCCESS : 1 entries deleted from devices table for license key (SLM-5778-E08F-C6C1-A077-28AE-64C3-EC83-AF8B). +[11/14/2024 8:37 PM] - SUCCESS : 3 entries deleted from log table for license key (SLM-5778-E08F-C6C1-A077-28AE-64C3-EC83-AF8B). +[11/14/2024 8:37 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-5778-E08F-C6C1-A077-28AE-64C3-EC83-AF8B). +[11/14/2024 8:43 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/14/2024 8:43 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/14/2024 8:43 PM] - SUCCESS : No license key found for row id (81). Deletion aborted. +[11/14/2024 8:43 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-517E-526A-1BE3-B441-45C9-210E-6510-1216). +[11/14/2024 8:43 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-517E-526A-1BE3-B441-45C9-210E-6510-1216). +[11/14/2024 8:43 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-517E-526A-1BE3-B441-45C9-210E-6510-1216). +[11/14/2024 8:47 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/14/2024 8:47 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/14/2024 8:47 PM] - SUCCESS : No license key found for row id (82). Deletion aborted. +[11/14/2024 8:48 PM] - SUCCESS : No license key found for row id (82). Deletion aborted. +[11/14/2024 8:48 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-B92A-33AD-70DD-1A9C-380D-9DEE-9A1A-FECE). +[11/14/2024 8:48 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-B92A-33AD-70DD-1A9C-380D-9DEE-9A1A-FECE). +[11/14/2024 8:48 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-B92A-33AD-70DD-1A9C-380D-9DEE-9A1A-FECE). +[11/14/2024 8:48 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/14/2024 8:48 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/14/2024 8:49 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-EC44-E7FB-4A4F-B3AC-5043-DE79-5152-5C00). +[11/14/2024 8:49 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-EC44-E7FB-4A4F-B3AC-5043-DE79-5152-5C00). +[11/14/2024 8:49 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-EC44-E7FB-4A4F-B3AC-5043-DE79-5152-5C00). +[11/14/2024 8:52 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/14/2024 8:52 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/14/2024 8:57 PM] - SUCCESS : No license key found for row id (84). Deletion aborted. +[11/14/2024 8:57 PM] - SUCCESS : No license key found for row id (84). Deletion aborted. +[11/14/2024 8:57 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-BA9D-1485-9B26-FC09-A65D-7982-AF9A-85A0). +[11/14/2024 8:57 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-BA9D-1485-9B26-FC09-A65D-7982-AF9A-85A0). +[11/14/2024 8:57 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-BA9D-1485-9B26-FC09-A65D-7982-AF9A-85A0). +[11/14/2024 9:00 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/14/2024 9:00 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/14/2024 9:00 PM] - SUCCESS : No license key found for row id (85). Deletion aborted. +[11/14/2024 9:00 PM] - SUCCESS : No license key found for row id (85). Deletion aborted. +[11/14/2024 9:00 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-6605-9268-E33C-AD4A-9DB2-997C-BB20-7D7C). +[11/14/2024 9:00 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-6605-9268-E33C-AD4A-9DB2-997C-BB20-7D7C). +[11/14/2024 9:00 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-6605-9268-E33C-AD4A-9DB2-997C-BB20-7D7C). +[11/14/2024 9:07 PM] - SUCCESS : No license key found for row id (86). Deletion aborted. +[11/14/2024 9:08 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/14/2024 9:08 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/14/2024 9:09 PM] - SUCCESS : No license key found for row id (86). Deletion aborted. +[11/14/2024 9:09 PM] - SUCCESS : No license key found for row id (86). Deletion aborted. +[11/14/2024 9:13 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/14/2024 9:13 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/14/2024 9:15 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/14/2024 9:15 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/14/2024 9:16 PM] - SUCCESS : No license key found for row id (86). Deletion aborted. +[11/14/2024 9:16 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-BFD7-241E-790D-BF31-312D-96B0-EBDD-E19C). +[11/14/2024 9:16 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-BFD7-241E-790D-BF31-312D-96B0-EBDD-E19C). +[11/14/2024 9:16 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-BFD7-241E-790D-BF31-312D-96B0-EBDD-E19C). +[11/14/2024 9:16 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-8771-12E4-AB7C-1521-037F-3A91-D537-0F64). +[11/14/2024 9:16 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-8771-12E4-AB7C-1521-037F-3A91-D537-0F64). +[11/14/2024 9:16 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-8771-12E4-AB7C-1521-037F-3A91-D537-0F64). +[11/14/2024 9:16 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-84C6-93BE-3840-E581-12FC-AB2F-8ACC-1A0C). +[11/14/2024 9:16 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-84C6-93BE-3840-E581-12FC-AB2F-8ACC-1A0C). +[11/14/2024 9:16 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-84C6-93BE-3840-E581-12FC-AB2F-8ACC-1A0C). +[11/14/2024 9:16 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/14/2024 9:16 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/14/2024 9:17 PM] - SUCCESS : No license key found for row id (87). Deletion aborted. +[11/14/2024 9:19 PM] - SUCCESS : No license key found for row id (87). Deletion aborted. +[11/14/2024 9:21 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-4554-A7F9-4A30-9A6C-A9FB-2702-1384-0988). +[11/14/2024 9:21 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-4554-A7F9-4A30-9A6C-A9FB-2702-1384-0988). +[11/14/2024 9:21 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-4554-A7F9-4A30-9A6C-A9FB-2702-1384-0988). +[11/14/2024 9:22 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/14/2024 9:22 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/14/2024 9:30 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-CADC-9C52-0BDC-7429-F7A6-C58D-5AC7-1A2C). +[11/14/2024 9:30 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-CADC-9C52-0BDC-7429-F7A6-C58D-5AC7-1A2C). +[11/14/2024 9:30 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-CADC-9C52-0BDC-7429-F7A6-C58D-5AC7-1A2C). +[11/14/2024 9:31 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/14/2024 9:31 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/14/2024 9:32 PM] - SUCCESS : No license key found for row id (91). Deletion aborted. +[11/14/2024 9:32 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-3BB9-9D7F-4F1F-DE50-FF7A-46E4-B81E-3FF0). +[11/14/2024 9:32 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-3BB9-9D7F-4F1F-DE50-FF7A-46E4-B81E-3FF0). +[11/14/2024 9:32 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-3BB9-9D7F-4F1F-DE50-FF7A-46E4-B81E-3FF0). +[11/14/2024 9:37 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/14/2024 9:37 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/15/2024 9:10 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-D44E-1DE7-3F8E-29C2-67C2-69CD-CD8E-EEFA). +[11/15/2024 9:10 PM] - SUCCESS : 0 entries deleted from log table for license key (SLM-D44E-1DE7-3F8E-29C2-67C2-69CD-CD8E-EEFA). +[11/15/2024 9:10 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-D44E-1DE7-3F8E-29C2-67C2-69CD-CD8E-EEFA). +[11/15/2024 9:10 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-1155-CB30-585F-C72C-3F02-7BF0-9B9D-F705). +[11/15/2024 9:10 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-1155-CB30-585F-C72C-3F02-7BF0-9B9D-F705). +[11/15/2024 9:10 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-1155-CB30-585F-C72C-3F02-7BF0-9B9D-F705). +[11/15/2024 9:24 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/15/2024 9:24 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/15/2024 9:24 PM] - SUCCESS : No license key found for row id (93). Deletion aborted. +[11/15/2024 9:24 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-4401-2724-A27F-3E82-4654-0E83-738D-1641). +[11/15/2024 9:24 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-4401-2724-A27F-3E82-4654-0E83-738D-1641). +[11/15/2024 9:24 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-4401-2724-A27F-3E82-4654-0E83-738D-1641). +[11/15/2024 9:25 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/15/2024 9:25 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/15/2024 9:25 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-4504-4439-ECED-1884-8425-CE8B-5500-E2CD). +[11/15/2024 9:25 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-4504-4439-ECED-1884-8425-CE8B-5500-E2CD). +[11/15/2024 9:25 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-4504-4439-ECED-1884-8425-CE8B-5500-E2CD). +[11/15/2024 9:27 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/15/2024 9:27 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/15/2024 9:27 PM] - SUCCESS : No license key found for row id (96). Deletion aborted. +[11/15/2024 9:27 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-309E-344F-2809-F0B8-5687-1C23-92D5-CAC1). +[11/15/2024 9:27 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-309E-344F-2809-F0B8-5687-1C23-92D5-CAC1). +[11/15/2024 9:27 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-309E-344F-2809-F0B8-5687-1C23-92D5-CAC1). +[11/15/2024 9:28 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/15/2024 9:28 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/15/2024 9:28 PM] - SUCCESS : No license key found for row id (97). Deletion aborted. +[11/15/2024 9:28 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-D8C9-95A1-49DE-FDB7-0FD0-E1C1-7418-9044). +[11/15/2024 9:28 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-D8C9-95A1-49DE-FDB7-0FD0-E1C1-7418-9044). +[11/15/2024 9:28 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-D8C9-95A1-49DE-FDB7-0FD0-E1C1-7418-9044). +[11/15/2024 9:29 PM] - SUCCESS : No license key found for row id (98). Deletion aborted. +[11/15/2024 9:29 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/15/2024 9:29 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/15/2024 9:30 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/15/2024 9:30 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/15/2024 9:32 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/15/2024 9:32 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/15/2024 9:32 PM] - SUCCESS : No license key found for row id (98). Deletion aborted. +[11/15/2024 9:32 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-7105-479C-85D4-56A7-3A08-AD0A-2723-3C36). +[11/15/2024 9:32 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-7105-479C-85D4-56A7-3A08-AD0A-2723-3C36). +[11/15/2024 9:32 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-7105-479C-85D4-56A7-3A08-AD0A-2723-3C36). +[11/15/2024 9:32 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-C7A8-30C6-2A87-D6C0-7D5A-EC8A-9562-02CF). +[11/15/2024 9:32 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-C7A8-30C6-2A87-D6C0-7D5A-EC8A-9562-02CF). +[11/15/2024 9:32 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-C7A8-30C6-2A87-D6C0-7D5A-EC8A-9562-02CF). +[11/15/2024 9:32 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-6988-E35E-574D-5263-B449-E53E-3D9C-BCBC). +[11/15/2024 9:32 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-6988-E35E-574D-5263-B449-E53E-3D9C-BCBC). +[11/15/2024 9:32 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-6988-E35E-574D-5263-B449-E53E-3D9C-BCBC). +[11/15/2024 9:33 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/15/2024 9:33 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/15/2024 9:33 PM] - SUCCESS : No license key found for row id (99). Deletion aborted. +[11/15/2024 9:33 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-E724-EC26-610E-EB10-D4B4-6BA1-FB1B-886D). +[11/15/2024 9:33 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-E724-EC26-610E-EB10-D4B4-6BA1-FB1B-886D). +[11/15/2024 9:33 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-E724-EC26-610E-EB10-D4B4-6BA1-FB1B-886D). +[11/16/2024 12:42 PM] - SUCCESS : No license key found for row id (102). Deletion aborted. +[11/16/2024 12:42 PM] - SUCCESS : No license key found for row id (102). Deletion aborted. +[11/16/2024 12:43 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 12:43 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 12:43 PM] - SUCCESS : No license key found for row id (102). Deletion aborted. +[11/16/2024 12:43 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-85A2-0795-DFC0-9E8E-414A-72C5-D8FC-5805). +[11/16/2024 12:43 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-85A2-0795-DFC0-9E8E-414A-72C5-D8FC-5805). +[11/16/2024 12:43 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-85A2-0795-DFC0-9E8E-414A-72C5-D8FC-5805). +[11/16/2024 12:44 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 12:44 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 12:44 PM] - SUCCESS : No license key found for row id (103). Deletion aborted. +[11/16/2024 12:44 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-E592-0B4C-C5CC-0444-565B-AE5B-9ECC-09E0). +[11/16/2024 12:44 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-E592-0B4C-C5CC-0444-565B-AE5B-9ECC-09E0). +[11/16/2024 12:44 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-E592-0B4C-C5CC-0444-565B-AE5B-9ECC-09E0). +[11/16/2024 12:45 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 12:45 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 12:45 PM] - SUCCESS : No license key found for row id (104). Deletion aborted. +[11/16/2024 12:45 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-7B4A-7FD5-05C4-69C4-8994-256D-DBE9-EDBA). +[11/16/2024 12:45 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-7B4A-7FD5-05C4-69C4-8994-256D-DBE9-EDBA). +[11/16/2024 12:45 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-7B4A-7FD5-05C4-69C4-8994-256D-DBE9-EDBA). +[11/16/2024 12:46 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 12:46 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 12:46 PM] - SUCCESS : No license key found for row id (105). Deletion aborted. +[11/16/2024 12:46 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-04CF-8A76-721C-CFF9-A998-D0C3-1B7C-2F5B). +[11/16/2024 12:46 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-04CF-8A76-721C-CFF9-A998-D0C3-1B7C-2F5B). +[11/16/2024 12:46 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-04CF-8A76-721C-CFF9-A998-D0C3-1B7C-2F5B). +[11/16/2024 12:47 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 12:47 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 12:47 PM] - SUCCESS : No license key found for row id (106). Deletion aborted. +[11/16/2024 12:47 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-E699-C8A8-761E-8E1A-860D-FB63-A4E9-1871). +[11/16/2024 12:47 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-E699-C8A8-761E-8E1A-860D-FB63-A4E9-1871). +[11/16/2024 12:47 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-E699-C8A8-761E-8E1A-860D-FB63-A4E9-1871). +[11/16/2024 12:48 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 12:48 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 12:48 PM] - SUCCESS : No license key found for row id (107). Deletion aborted. +[11/16/2024 12:48 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-9990-C635-DD8D-C077-092B-8B2F-2C80-19C0). +[11/16/2024 12:48 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-9990-C635-DD8D-C077-092B-8B2F-2C80-19C0). +[11/16/2024 12:48 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-9990-C635-DD8D-C077-092B-8B2F-2C80-19C0). +[11/16/2024 12:51 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 12:51 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 12:51 PM] - SUCCESS : No license key found for row id (108). Deletion aborted. +[11/16/2024 12:51 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-3AC5-D1F8-C29A-D502-F744-D6A2-2978-9F27). +[11/16/2024 12:51 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-3AC5-D1F8-C29A-D502-F744-D6A2-2978-9F27). +[11/16/2024 12:51 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-3AC5-D1F8-C29A-D502-F744-D6A2-2978-9F27). +[11/16/2024 12:56 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 12:56 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 12:56 PM] - SUCCESS : No license key found for row id (109). Deletion aborted. +[11/16/2024 12:56 PM] - SUCCESS : No license key found for row id (109). Deletion aborted. +[11/16/2024 12:56 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-2440-E86B-D53C-EA9C-05F1-DC1F-8AB0-99DD). +[11/16/2024 12:56 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-2440-E86B-D53C-EA9C-05F1-DC1F-8AB0-99DD). +[11/16/2024 12:56 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-2440-E86B-D53C-EA9C-05F1-DC1F-8AB0-99DD). +[11/16/2024 12:57 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 12:57 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 12:57 PM] - SUCCESS : No license key found for row id (110). Deletion aborted. +[11/16/2024 12:57 PM] - SUCCESS : No license key found for row id (110). Deletion aborted. +[11/16/2024 12:57 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-6530-1BB5-9EFB-499B-0E2F-5E30-1D91-CA84). +[11/16/2024 12:57 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-6530-1BB5-9EFB-499B-0E2F-5E30-1D91-CA84). +[11/16/2024 12:57 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-6530-1BB5-9EFB-499B-0E2F-5E30-1D91-CA84). +[11/16/2024 12:59 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 12:59 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 12:59 PM] - SUCCESS : No license key found for row id (111). Deletion aborted. +[11/16/2024 12:59 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-7E96-7D67-6081-002F-970F-3B4D-E0D4-D241). +[11/16/2024 12:59 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-7E96-7D67-6081-002F-970F-3B4D-E0D4-D241). +[11/16/2024 12:59 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-7E96-7D67-6081-002F-970F-3B4D-E0D4-D241). +[11/16/2024 1:00 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 1:00 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 1:00 PM] - SUCCESS : No license key found for row id (112). Deletion aborted. +[11/16/2024 1:00 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-A3A7-9E51-FE88-B3CF-2D32-03F9-754A-0C52). +[11/16/2024 1:00 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-A3A7-9E51-FE88-B3CF-2D32-03F9-754A-0C52). +[11/16/2024 1:00 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-A3A7-9E51-FE88-B3CF-2D32-03F9-754A-0C52). +[11/16/2024 1:12 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 1:12 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 1:23 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 1:23 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 1:23 PM] - SUCCESS : No license key found for row id (113). Deletion aborted. +[11/16/2024 1:23 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-0334-18CC-D8D3-4934-0BE8-3CDE-5027-8650). +[11/16/2024 1:23 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-0334-18CC-D8D3-4934-0BE8-3CDE-5027-8650). +[11/16/2024 1:23 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-0334-18CC-D8D3-4934-0BE8-3CDE-5027-8650). +[11/16/2024 1:23 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-5677-AF06-907B-08A5-B32E-9913-AFFB-F4F8). +[11/16/2024 1:23 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-5677-AF06-907B-08A5-B32E-9913-AFFB-F4F8). +[11/16/2024 1:23 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-5677-AF06-907B-08A5-B32E-9913-AFFB-F4F8). +[11/16/2024 1:23 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 1:23 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 1:25 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 1:25 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 1:25 PM] - SUCCESS : No license key found for row id (114). Deletion aborted. +[11/16/2024 1:25 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-CB2B-6D87-E702-594A-809F-6CC9-50D7-31A5). +[11/16/2024 1:25 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-CB2B-6D87-E702-594A-809F-6CC9-50D7-31A5). +[11/16/2024 1:25 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-CB2B-6D87-E702-594A-809F-6CC9-50D7-31A5). +[11/16/2024 1:25 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-3D21-3109-BC19-98F3-9EE8-8891-E33F-0F2A). +[11/16/2024 1:25 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-3D21-3109-BC19-98F3-9EE8-8891-E33F-0F2A). +[11/16/2024 1:25 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-3D21-3109-BC19-98F3-9EE8-8891-E33F-0F2A). +[11/16/2024 2:37 PM] - SUCCESS : No license key found for row id (117). Deletion aborted. +[11/16/2024 2:37 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 2:37 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 2:38 PM] - SUCCESS : No license key found for row id (117). Deletion aborted. +[11/16/2024 2:38 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-4AA8-C044-3F7D-A2D7-0C96-B028-3C0B-8DC6). +[11/16/2024 2:38 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-4AA8-C044-3F7D-A2D7-0C96-B028-3C0B-8DC6). +[11/16/2024 2:38 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-4AA8-C044-3F7D-A2D7-0C96-B028-3C0B-8DC6). +[11/16/2024 2:52 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 2:52 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 2:52 PM] - SUCCESS : No license key found for row id (118). Deletion aborted. +[11/16/2024 2:52 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-2F2D-0A50-589A-2218-FA9D-57CF-CDF1-AFDB). +[11/16/2024 2:52 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-2F2D-0A50-589A-2218-FA9D-57CF-CDF1-AFDB). +[11/16/2024 2:52 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-2F2D-0A50-589A-2218-FA9D-57CF-CDF1-AFDB). +[11/16/2024 2:53 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 2:53 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 2:53 PM] - SUCCESS : No license key found for row id (119). Deletion aborted. +[11/16/2024 2:53 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-5E7A-1E46-65B8-E0A9-20C8-3DCA-405D-0286). +[11/16/2024 2:53 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-5E7A-1E46-65B8-E0A9-20C8-3DCA-405D-0286). +[11/16/2024 2:53 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-5E7A-1E46-65B8-E0A9-20C8-3DCA-405D-0286). +[11/16/2024 2:54 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 2:54 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 2:55 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 2:55 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 2:59 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 2:59 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 3:00 PM] - SUCCESS : No license key found for row id (120). Deletion aborted. +[11/16/2024 3:01 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-CB3E-34BD-01A2-C01B-C6DA-FA9C-52D9-84E3). +[11/16/2024 3:01 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-CB3E-34BD-01A2-C01B-C6DA-FA9C-52D9-84E3). +[11/16/2024 3:01 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-CB3E-34BD-01A2-C01B-C6DA-FA9C-52D9-84E3). +[11/16/2024 3:02 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-16C2-D95B-90F5-E9B4-5B77-C4D7-17D2-EB74). +[11/16/2024 3:02 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-16C2-D95B-90F5-E9B4-5B77-C4D7-17D2-EB74). +[11/16/2024 3:02 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-16C2-D95B-90F5-E9B4-5B77-C4D7-17D2-EB74). +[11/16/2024 3:02 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-8265-D551-F989-EB4B-B5EF-F2AC-9CC2-E64F). +[11/16/2024 3:02 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-8265-D551-F989-EB4B-B5EF-F2AC-9CC2-E64F). +[11/16/2024 3:02 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-8265-D551-F989-EB4B-B5EF-F2AC-9CC2-E64F). +[11/16/2024 3:02 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 3:02 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 3:02 PM] - SUCCESS : No license key found for row id (122). Deletion aborted. +[11/16/2024 3:02 PM] - SUCCESS : No license key found for row id (121). Deletion aborted. +[11/16/2024 3:03 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-55AC-E91A-F0FA-61C8-9DF3-1A1F-38C8-82D1). +[11/16/2024 3:03 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-55AC-E91A-F0FA-61C8-9DF3-1A1F-38C8-82D1). +[11/16/2024 3:03 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-55AC-E91A-F0FA-61C8-9DF3-1A1F-38C8-82D1). +[11/16/2024 3:03 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 3:03 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 3:07 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 3:07 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 3:07 PM] - SUCCESS : No license key found for row id (124). Deletion aborted. +[11/16/2024 3:07 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-E488-1E7D-F14C-43D9-F1ED-B23D-EA38-60A9). +[11/16/2024 3:07 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-E488-1E7D-F14C-43D9-F1ED-B23D-EA38-60A9). +[11/16/2024 3:07 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-E488-1E7D-F14C-43D9-F1ED-B23D-EA38-60A9). +[11/16/2024 3:07 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-E4AC-924C-78A2-189D-2633-E4A6-39EE-1E99). +[11/16/2024 3:07 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-E4AC-924C-78A2-189D-2633-E4A6-39EE-1E99). +[11/16/2024 3:07 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-E4AC-924C-78A2-189D-2633-E4A6-39EE-1E99). +[11/16/2024 3:08 PM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/16/2024 3:08 PM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/16/2024 3:08 PM] - SUCCESS : No license key found for row id (125). Deletion aborted. +[11/16/2024 3:08 PM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-BD7C-BACD-412E-D268-61AC-DBF0-A557-B7AE). +[11/16/2024 3:08 PM] - SUCCESS : 1 entries deleted from log table for license key (SLM-BD7C-BACD-412E-D268-61AC-DBF0-A557-B7AE). +[11/16/2024 3:08 PM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-BD7C-BACD-412E-D268-61AC-DBF0-A557-B7AE). +[11/19/2024 1:32 AM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/19/2024 1:32 AM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/19/2024 1:33 AM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-D799-8DDC-3172-AF54-3A4C-C881-7A9E-C353). +[11/19/2024 1:33 AM] - SUCCESS : 1 entries deleted from log table for license key (SLM-D799-8DDC-3172-AF54-3A4C-C881-7A9E-C353). +[11/19/2024 1:33 AM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-D799-8DDC-3172-AF54-3A4C-C881-7A9E-C353). +[11/19/2024 1:33 AM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/19/2024 1:33 AM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/19/2024 1:36 AM] - SUCCESS : No license key found for row id (128). Deletion aborted. +[11/19/2024 1:36 AM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-6540-30EF-63A5-EF6E-3C37-A465-8846-192B). +[11/19/2024 1:36 AM] - SUCCESS : 1 entries deleted from log table for license key (SLM-6540-30EF-63A5-EF6E-3C37-A465-8846-192B). +[11/19/2024 1:36 AM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-6540-30EF-63A5-EF6E-3C37-A465-8846-192B). +[11/19/2024 1:43 AM] - SUCCESS : No license key found for row id (129). Deletion aborted. +[11/19/2024 1:43 AM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/19/2024 1:43 AM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/19/2024 1:43 AM] - SUCCESS : No license key found for row id (129). Deletion aborted. +[11/19/2024 1:44 AM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-AE29-5021-38EE-5C99-9982-72B2-14E2-64A1). +[11/19/2024 1:44 AM] - SUCCESS : 1 entries deleted from log table for license key (SLM-AE29-5021-38EE-5C99-9982-72B2-14E2-64A1). +[11/19/2024 1:44 AM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-AE29-5021-38EE-5C99-9982-72B2-14E2-64A1). +[11/19/2024 1:46 AM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/19/2024 1:46 AM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/19/2024 1:46 AM] - SUCCESS : No license key found for row id (130). Deletion aborted. +[11/19/2024 1:47 AM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-1CD0-1BA9-C29C-C09B-DCFF-19F6-E85C-7859). +[11/19/2024 1:47 AM] - SUCCESS : 1 entries deleted from log table for license key (SLM-1CD0-1BA9-C29C-C09B-DCFF-19F6-E85C-7859). +[11/19/2024 1:47 AM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-1CD0-1BA9-C29C-C09B-DCFF-19F6-E85C-7859). +[11/19/2024 1:50 AM] - SUCCESS : No license key found for row id (131). Deletion aborted. +[11/19/2024 1:50 AM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/19/2024 1:50 AM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/19/2024 1:51 AM] - SUCCESS : No license key found for row id (131). Deletion aborted. +[11/19/2024 1:52 AM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-6954-42D7-18A2-D4EA-E6B0-341E-1CB8-A6B1). +[11/19/2024 1:52 AM] - SUCCESS : 1 entries deleted from log table for license key (SLM-6954-42D7-18A2-D4EA-E6B0-341E-1CB8-A6B1). +[11/19/2024 1:52 AM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-6954-42D7-18A2-D4EA-E6B0-341E-1CB8-A6B1). +[11/19/2024 1:52 AM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/19/2024 1:52 AM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/19/2024 1:55 AM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/19/2024 1:55 AM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/19/2024 1:56 AM] - SUCCESS : No license key found for row id (132). Deletion aborted. +[11/19/2024 2:03 AM] - SUCCESS : No license key found for row id (132). Deletion aborted. +[11/19/2024 2:03 AM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-DFF3-16D6-C4D4-9AA1-65C6-3B48-F90F-ACA0). +[11/19/2024 2:03 AM] - SUCCESS : 1 entries deleted from log table for license key (SLM-DFF3-16D6-C4D4-9AA1-65C6-3B48-F90F-ACA0). +[11/19/2024 2:03 AM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-DFF3-16D6-C4D4-9AA1-65C6-3B48-F90F-ACA0). +[11/19/2024 2:03 AM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-57B7-0FAD-96D5-08A6-FD2E-6349-309C-E0CF). +[11/19/2024 2:03 AM] - SUCCESS : 1 entries deleted from log table for license key (SLM-57B7-0FAD-96D5-08A6-FD2E-6349-309C-E0CF). +[11/19/2024 2:03 AM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-57B7-0FAD-96D5-08A6-FD2E-6349-309C-E0CF). +[11/19/2024 2:03 AM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/19/2024 2:03 AM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/19/2024 2:06 AM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/19/2024 2:06 AM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/19/2024 2:26 AM] - SUCCESS : No license key found for row id (133). Deletion aborted. +[11/19/2024 2:27 AM] - SUCCESS : No license key found for row id (133). Deletion aborted. +[11/19/2024 2:28 AM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-6A1C-C6DC-F906-1A0A-81FD-F747-1F0A-8576). +[11/19/2024 2:28 AM] - SUCCESS : 1 entries deleted from log table for license key (SLM-6A1C-C6DC-F906-1A0A-81FD-F747-1F0A-8576). +[11/19/2024 2:28 AM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-6A1C-C6DC-F906-1A0A-81FD-F747-1F0A-8576). +[11/19/2024 2:28 AM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-89E4-8139-76B7-1003-C7C0-4BC4-6212-BD35). +[11/19/2024 2:28 AM] - SUCCESS : 1 entries deleted from log table for license key (SLM-89E4-8139-76B7-1003-C7C0-4BC4-6212-BD35). +[11/19/2024 2:28 AM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-89E4-8139-76B7-1003-C7C0-4BC4-6212-BD35). +[11/19/2024 2:29 AM] - SUCCESS : No license key found for row id (135). Deletion aborted. +[11/19/2024 2:32 AM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/19/2024 2:32 AM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/19/2024 2:32 AM] - SUCCESS : API - license creation (slm_create_new) request received. +[11/19/2024 2:32 AM] - SUCCESS : API Response - Result: success Message: License successfully created +[11/19/2024 2:33 AM] - SUCCESS : No license key found for row id (135). Deletion aborted. +[11/19/2024 2:33 AM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-C186-4990-98C2-901D-A226-3965-5D65-F806). +[11/19/2024 2:33 AM] - SUCCESS : 1 entries deleted from log table for license key (SLM-C186-4990-98C2-901D-A226-3965-5D65-F806). +[11/19/2024 2:33 AM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-C186-4990-98C2-901D-A226-3965-5D65-F806). +[11/19/2024 2:33 AM] - SUCCESS : 0 entries deleted from devices table for license key (SLM-DAB0-BF76-E594-2E3B-99CF-4EAA-AA48-502E). +[11/19/2024 2:33 AM] - SUCCESS : 1 entries deleted from log table for license key (SLM-DAB0-BF76-E594-2E3B-99CF-4EAA-AA48-502E). +[11/19/2024 2:33 AM] - SUCCESS : 0 entries deleted from emails table for license key (SLM-DAB0-BF76-E594-2E3B-99CF-4EAA-AA48-502E). diff --git a/readme.txt b/readme.txt index 0e5023c..d47e4e7 100644 --- a/readme.txt +++ b/readme.txt @@ -3,52 +3,10 @@ Contributors: Michel Velis, Tips and Tricks HQ Donate link: http://paypal.me/mvelis Tags: license, software license, woocommerce, license management Requires at least: 5.6 -Tested up to: 6.1.0 -Stable tag: 6.1.0 -Requires PHP: 7.4 +Tested up to: 6.7 +Stable tag: 6.1.9 +Tags: license manager, license key, license genrator, subscription +Requires PHP: 7.2 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html - -A comprehensive software license management solution for web applications including WordPress plugins, themes, and PHP-based software. Seamlessly integrates with WooCommerce to offer license key generation, management, and validation. Ideal for developers managing software licenses across multiple platforms with built-in multilingual support and performance optimization. - -== Description == - -SLM Plus provides a powerful solution for managing software licenses for WordPress plugins, themes, and other web applications. With WooCommerce integration, the plugin allows you to generate, activate, and manage licenses for your customers seamlessly. - -## 📦 Features: -- Generate and manage license keys for your products -- Remote license key validation and activation -- Track license key usage across different domains and devices -- Manually create licenses from the admin dashboard -- Bulk actions for managing licenses -- Export licenses for both users and admins (new) -- View licenses by subscribers (new) -- License info is now included inside WooCommerce order details (new) -- License activity logs to track key usage and activations (new) -- Admin stats widgets to visualize license usage (new) -- Automated emails for license expiration and activation reminders -- Multilingual support (English, Spanish) -- WooCommerce product type integration to manage licenses through orders -- Manage licenses directly from users' "My Account" page -- License expiration reminders and notification emails - -== Installation == - -This section describes how to install the plugin and get it working. - -1. Go to the Add New plugins screen in your WordPress admin area -2. Click the Upload tab -3. Browse for the plugin file (software-license-manager.zip) -4. Click Install Now and then activate the plugin - -== Changelog == -= 6.1.0 = -- Improved compatibility with WordPress 6.1 and WooCommerce -- Enhanced performance for large license databases -- Added multilingual support for Spanish -- New admin widgets for tracking licenses -- Improved license information in WooCommerce order details - -== Upgrade Notice == -= 6.1.0 = -- Please ensure your WordPress version is at least 5.6 and PHP version is 7.4 or higher before updating. +SLM Plus offers a powerful solution for managing licenses for WordPress plugins, themes, and web apps. With WooCommerce integration. diff --git a/samples/ActivateLicense.php b/samples/ActivateLicense.php deleted file mode 100644 index ef64a64..0000000 --- a/samples/ActivateLicense.php +++ /dev/null @@ -1,69 +0,0 @@ -licenseAPI = new LicenseAPI(); - } - - /** - * Activate a license on a specific domain or device. - * - * @param array $activationData Activation data, including license key, domain, and optionally device. - * @return void Outputs the result based on the activation response. - */ - public function activate($activationData) - { - $response = $this->licenseAPI->activateLicense($activationData); - - // Handle different scenarios based on the API response - if ($response['result'] === 'success') { - echo "License activated successfully for domain: " . $activationData['registered_domain']; - if (!empty($activationData['registered_devices'])) { - echo " and device: " . $activationData['registered_devices']; - } - } elseif (isset($response['error_code'])) { - // Specific error handling based on the API's error code - switch ($response['error_code']) { - case SLM_Error_Codes::LICENSE_EXPIRED: - echo "Error: The license has expired. Please renew your license."; - break; - case SLM_Error_Codes::LICENSE_BLOCKED: - echo "Error: The license is blocked. Contact support for assistance."; - break; - case SLM_Error_Codes::LICENSE_IN_USE: - echo "Error: This license is already in use on the specified domain or device."; - break; - case SLM_Error_Codes::REACHED_MAX_DOMAINS: - echo "Error: Maximum allowed domains reached. Upgrade your license for additional domains."; - break; - case SLM_Error_Codes::REACHED_MAX_DEVICES: - echo "Error: Maximum allowed devices reached. Upgrade your license for additional devices."; - break; - default: - echo "Error: Activation failed. " . ($response['message'] ?? 'Unknown error.'); - break; - } - } else { - // Generic error message for unexpected issues - echo "Error: Unable to activate license. " . ($response['message'] ?? 'Please try again later.'); - } - } -} - -// Usage example -$activateLicense = new ActivateLicense(); - -$activationData = [ - 'license_key' => 'YOUR_LICENSE_KEY', - 'registered_domain' => 'example.com', // Required: Domain for license activation - 'registered_devices' => 'Device12345' // Optional: Device identifier (if applicable) -]; - -$activateLicense->activate($activationData); - diff --git a/samples/CheckLicense.php b/samples/CheckLicense.php deleted file mode 100644 index 57426eb..0000000 --- a/samples/CheckLicense.php +++ /dev/null @@ -1,68 +0,0 @@ -licenseAPI = new LicenseAPI(); - } - - /** - * Check the status of a license. - * - * @param string $licenseKey The license key to check. - * @return void Outputs the result of the license status check. - */ - public function check($licenseKey) - { - $data = [ - 'license_key' => $licenseKey, - ]; - - $response = $this->licenseAPI->checkLicenseStatus($data); - - // Interpret the response based on license status and other indicators - if ($response['result'] === 'success') { - $status = $response['data']['status']; - switch ($status) { - case 'active': - echo "License is active and valid."; - break; - case 'expired': - echo "License has expired. Please renew to continue using the product."; - break; - case 'blocked': - echo "License is blocked. Contact support for further assistance."; - break; - default: - echo "License status: " . ucfirst($status) . "."; - break; - } - } elseif (isset($response['error_code'])) { - // Handle specific error codes for license check failure - switch ($response['error_code']) { - case SLM_Error_Codes::LICENSE_INVALID: - echo "Error: Invalid license key provided."; - break; - default: - echo "Error checking license status: " . ($response['message'] ?? 'Unknown error.'); - break; - } - } else { - // Fallback for unexpected issues - echo "Error: Unable to check license status. " . ($response['message'] ?? 'Please try again later.'); - } - } -} - -// Usage example -$checkLicense = new CheckLicense(); - -// License key to check -$licenseKey = 'YOUR_LICENSE_KEY'; -$checkLicense->check($licenseKey); - diff --git a/samples/CoreConfig.php b/samples/CoreConfig.php deleted file mode 100644 index c87d324..0000000 --- a/samples/CoreConfig.php +++ /dev/null @@ -1,114 +0,0 @@ - 'error', - 'message' => 'Invalid response format from the API.', - ]; - } - - // Handle success and error cases - if (isset($response['result']) && $response['result'] === 'success') { - return ['result' => 'success', 'data' => $response]; - } elseif (isset($response['result']) && $response['result'] === 'error') { - self::logError($response['message'] ?? 'Unknown error'); - return ['result' => 'error', 'message' => $response['message'] ?? 'An error occurred.']; - } - - // Fallback for unexpected response structures - return ['result' => 'error', 'message' => 'Unexpected response structure.']; - } - - /** - * Log errors for troubleshooting. - * - * @param string $message The error message to log. - */ - public static function logError($message) - { - error_log("[API ERROR] " . $message); - } - - /** - * Sanitize and validate input fields for security. - * - * @param array $fields Fields to be sanitized. - * @return array Sanitized fields. - */ - public static function sanitizeFields($fields) - { - foreach ($fields as $key => $value) { - switch ($key) { - case 'email': - $fields[$key] = filter_var($value, FILTER_SANITIZE_EMAIL); - break; - case 'max_allowed_domains': - case 'max_allowed_devices': - $fields[$key] = intval($value); - break; - default: - $fields[$key] = htmlspecialchars(strip_tags($value)); - } - } - return $fields; - } - - /** - * Send a secure API request with cURL. - * - * @param string $action API action name. - * @param array $data Data to send in the request. - * @return array Processed API response. - */ - public static function apiRequest($action, $data) - { - $data['secret_key'] = self::SECRET_KEY; - $data = self::sanitizeFields($data); - - $ch = curl_init(self::getApiUrl($action)); - curl_setopt($ch, CURLOPT_POST, true); - curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - - $response = curl_exec($ch); - - if (curl_errno($ch)) { - self::logError('cURL Error: ' . curl_error($ch)); - curl_close($ch); - return [ - 'result' => 'error', - 'message' => 'Network error during API request.', - ]; - } - - curl_close($ch); - - return self::processResponse(json_decode($response, true)); - } -} - diff --git a/samples/CreateLicense.php b/samples/CreateLicense.php deleted file mode 100644 index 70e9372..0000000 --- a/samples/CreateLicense.php +++ /dev/null @@ -1,47 +0,0 @@ -licenseAPI = new LicenseAPI(); - } - - /** - * Create a new license using provided data. - * - * @param array $licenseData Data for license creation. - * @return void Displays success or error message based on response. - */ - public function create($licenseData) - { - $response = $this->licenseAPI->createLicense($licenseData); - - if ($response['result'] === 'success') { - echo "License created successfully. Key: " . $response['data']['key']; - } else { - echo "Error creating license: " . $response['message']; - } - } -} - -// Usage example -$createLicense = new CreateLicense(); - -$licenseData = [ - 'first_name' => 'John', - 'last_name' => 'Doe', - 'email' => 'johndoe@example.com', - 'purchase_id_' => '12345', - 'max_allowed_domains' => 2, - 'max_allowed_devices' => 1, - 'date_created' => date('Y-m-d'), - 'product_ref' => 'ThemePro' -]; - -$createLicense->create($licenseData); - diff --git a/samples/DeactivateLicense.php b/samples/DeactivateLicense.php deleted file mode 100644 index 79a2ff1..0000000 --- a/samples/DeactivateLicense.php +++ /dev/null @@ -1,61 +0,0 @@ -licenseAPI = new LicenseAPI(); - } - - /** - * Deactivate a license on a specific domain or device. - * - * @param array $deactivationData Deactivation data, including license key, domain, and/or device. - * @return void Outputs the result based on the deactivation response. - */ - public function deactivate($deactivationData) - { - $response = $this->licenseAPI->deactivateLicense($deactivationData); - - // Handle response scenarios - if ($response['result'] === 'success') { - echo "License deactivated successfully for domain: " . ($deactivationData['registered_domain'] ?? 'N/A'); - if (!empty($deactivationData['registered_devices'])) { - echo " and device: " . $deactivationData['registered_devices']; - } - } elseif (isset($response['error_code'])) { - // Handle specific deactivation error codes - switch ($response['error_code']) { - case SLM_Error_Codes::DOMAIN_ALREADY_INACTIVE: - echo "Error: The license is already inactive on the specified domain or device."; - break; - case SLM_Error_Codes::DOMAIN_MISSING: - echo "Error: The specified domain or device was not found."; - break; - default: - echo "Error: Deactivation failed. " . ($response['message'] ?? 'Unknown error.'); - break; - } - } else { - // Fallback for unexpected issues - echo "Error: Unable to deactivate license. " . ($response['message'] ?? 'Please try again later.'); - } - } -} - -// Usage example -$deactivateLicense = new DeactivateLicense(); - -$deactivationData = [ - 'license_key' => 'YOUR_LICENSE_KEY', - 'registered_domain' => 'example.com', // Optional: Domain to deactivate the license on - 'registered_devices' => 'Device12345' // Optional: Device to deactivate (if applicable) -]; - -// If both domain and device are provided, only one needs to match for deactivation. -$deactivateLicense->deactivate($deactivationData); - diff --git a/samples/GetLicenseInfo.php b/samples/GetLicenseInfo.php deleted file mode 100644 index 215d7b7..0000000 --- a/samples/GetLicenseInfo.php +++ /dev/null @@ -1,83 +0,0 @@ -licenseAPI = new LicenseAPI(); - } - - /** - * Retrieve and display detailed information about a license. - * - * @param string $licenseKey The license key to retrieve information for. - * @return void Outputs detailed license information based on the response. - */ - public function retrieve($licenseKey) - { - $data = [ - 'license_key' => $licenseKey, - ]; - - $response = $this->licenseAPI->getLicenseInfo($data); - - // Interpret and display license information based on the API response - if ($response['result'] === 'success') { - $info = $response['data']; - - echo "License Information:\n"; - echo "-----------------------\n"; - echo "License Key: " . $info['license_key'] . "\n"; - echo "Status: " . ucfirst($info['status']) . "\n"; - echo "Registered User: " . $info['first_name'] . " " . $info['last_name'] . "\n"; - echo "Email: " . $info['email'] . "\n"; - echo "Company: " . ($info['company_name'] ?? 'N/A') . "\n"; - echo "Product: " . $info['product_ref'] . "\n"; - echo "Created Date: " . $info['date_created'] . "\n"; - echo "Expiry Date: " . ($info['date_expiry'] ?? 'N/A') . "\n"; - echo "Max Domains: " . $info['max_allowed_domains'] . "\n"; - echo "Max Devices: " . $info['max_allowed_devices'] . "\n"; - - if (!empty($info['registered_domains'])) { - echo "Registered Domains:\n"; - foreach ($info['registered_domains'] as $domain) { - echo " - " . $domain->registered_domain . "\n"; - } - } - - if (!empty($info['registered_devices'])) { - echo "Registered Devices:\n"; - foreach ($info['registered_devices'] as $device) { - echo " - " . $device->registered_devices . "\n"; - } - } - echo "-----------------------\n"; - - } elseif (isset($response['error_code'])) { - // Handle specific error codes for information retrieval - switch ($response['error_code']) { - case SLM_Error_Codes::LICENSE_INVALID: - echo "Error: Invalid license key provided."; - break; - default: - echo "Error retrieving license information: " . ($response['message'] ?? 'Unknown error.'); - break; - } - } else { - // Fallback for unexpected issues - echo "Error: Unable to retrieve license information. " . ($response['message'] ?? 'Please try again later.'); - } - } -} - -// Usage example -$getLicenseInfo = new GetLicenseInfo(); - -// License key to retrieve information for -$licenseKey = 'YOUR_LICENSE_KEY'; -$getLicenseInfo->retrieve($licenseKey); - diff --git a/samples/LicenseAPI.php b/samples/LicenseAPI.php deleted file mode 100644 index 8cb5cf9..0000000 --- a/samples/LicenseAPI.php +++ /dev/null @@ -1,73 +0,0 @@ -' . __('Settings') . ''; - // $github_link = '' . __('GitHub') . ''; +function slm_settings_link($links) +{ + $settings_link = '' . __('Settings', 'slm-plus') . ''; + // $github_link = '' . __('GitHub') . ''; $links[] = $settings_link; //$links[] = $github_link; return $links; } add_filter('plugin_action_links_' . plugin_basename(__FILE__), 'slm_settings_link'); + define('SLM_DEFAULT_MAX_DOMAINS', SLM_API_Utility::get_slm_option('default_max_domains')); define('SLM_DEFAULT_MAX_DEVICES', SLM_API_Utility::get_slm_option('default_max_devices')); diff --git a/uninstall.php b/uninstall.php index 46ff238..99c743e 100755 --- a/uninstall.php +++ b/uninstall.php @@ -34,7 +34,7 @@ delete_option($option); } -// Sanitize and list all tables related to the plugin +// List all tables related to the plugin $tables_to_drop = array( $wpdb->prefix . 'lic_key_tbl', $wpdb->prefix . 'lic_reg_domain_tbl', @@ -45,36 +45,45 @@ $wpdb->prefix . 'slm_activations_tbl', ); -// Drop custom database tables +// Drop custom database tables using the `prepare` method foreach ($tables_to_drop as $table) { - $wpdb->query("DROP TABLE IF EXISTS `$table`"); + // Check if the table exists before attempting to drop it + if ($wpdb->get_var($wpdb->prepare("SHOW TABLES LIKE %s", $table)) !== null) { + // Drop the table if it exists + $wpdb->query($wpdb->prepare("DROP TABLE IF EXISTS %s", $table)); + } } -// Delete Custom Post Type posts and related metadata +// Delete Custom Post Type posts and related metadata using the `delete` method $post_types = array('slm_manage_license', 'slm_license_product'); // Add any other custom post types if needed foreach ($post_types as $post_type) { - $wpdb->query( - $wpdb->prepare( - "DELETE posts, meta FROM {$wpdb->posts} posts - LEFT JOIN {$wpdb->postmeta} meta ON posts.ID = meta.post_id - WHERE posts.post_type = %s", - $post_type - ) - ); + // Check if post type data is cached + $cached_posts = wp_cache_get($post_type, 'slm_posts'); + if ($cached_posts) { + wp_cache_delete($post_type, 'slm_posts'); + } + + // Safely delete posts and metadata for this post type + $wpdb->delete($wpdb->posts, array('post_type' => $post_type)); + $wpdb->delete($wpdb->postmeta, array('post_id' => $post_type)); } -// Clean orphaned postmeta entries +// Clean orphaned postmeta entries using `DELETE` queries $wpdb->query( - "DELETE pm FROM {$wpdb->postmeta} pm - LEFT JOIN {$wpdb->posts} p ON pm.post_id = p.ID - WHERE p.ID IS NULL" + $wpdb->prepare( + "DELETE pm FROM {$wpdb->postmeta} pm + LEFT JOIN {$wpdb->posts} p ON pm.post_id = p.ID + WHERE p.ID IS NULL" + ) ); // Clean orphaned term relationships if there are custom taxonomies involved $wpdb->query( - "DELETE tr FROM {$wpdb->term_relationships} tr - LEFT JOIN {$wpdb->posts} p ON tr.object_id = p.ID - WHERE p.ID IS NULL" + $wpdb->prepare( + "DELETE tr FROM {$wpdb->term_relationships} tr + LEFT JOIN {$wpdb->posts} p ON tr.object_id = p.ID + WHERE p.ID IS NULL" + ) ); // Delete custom user meta related to the plugin (if applicable) @@ -84,10 +93,14 @@ ); foreach ($user_meta_keys as $meta_key) { - $wpdb->query( - $wpdb->prepare( - "DELETE FROM {$wpdb->usermeta} WHERE meta_key = %s", - $meta_key - ) - ); + // Check if user meta data is cached + $cached_meta = wp_cache_get($meta_key, 'slm_usermeta'); + if ($cached_meta) { + wp_cache_delete($meta_key, 'slm_usermeta'); + } + + $wpdb->delete($wpdb->usermeta, array('meta_key' => $meta_key)); } + +// Clear the relevant cache after heavy operations +wp_cache_flush(); diff --git a/woocommerce/includes/create-license-orders.php b/woocommerce/includes/create-license-orders.php index 2920a18..37a3fdc 100644 --- a/woocommerce/includes/create-license-orders.php +++ b/woocommerce/includes/create-license-orders.php @@ -13,7 +13,8 @@ add_action('wp_ajax_slm_generate_licenses', 'slm_generate_licenses_callback'); -function slm_generate_licenses_callback() { +function slm_generate_licenses_callback() +{ check_ajax_referer('slm_generate_licenses_nonce', 'security'); global $wpdb; @@ -30,16 +31,16 @@ function slm_generate_licenses_callback() { ? sanitize_text_field($_POST['subscription_type']) : 'subscription'; - SLM_Helper_Class::write_log("Starting license generation with Product ID: {$default_product_id} and License Type: {$slm_lic_type}."); + //SLM_Helper_Class::write_log("Starting license generation with Product ID: {$default_product_id} and License Type: {$slm_lic_type}."); // Check if Product ID is missing; if so, log an error, add an error response, and exit. if (empty($default_product_id)) { - SLM_Helper_Class::write_log('Error: Product ID is missing in the request.'); + //SLM_Helper_Class::write_log('Error: Product ID is missing in the request.'); // Track failure and skip reason for the response $failure_count++; $skipped_orders[] = 0; - $skipped_reasons[0] = __('Product ID is missing in the request.', 'slmplus'); + $skipped_reasons[0] = __('Product ID is missing in the request.', 'slm-plus'); // Return early with a JSON error response for AJAX display $response_data['html'] .= '
      • Error: Product ID is missing in the request. Please provide a valid product ID.
      • '; @@ -50,12 +51,12 @@ function slm_generate_licenses_callback() { // Check if the Product ID corresponds to an existing WooCommerce product $product = wc_get_product($default_product_id); if (!$product) { - SLM_Helper_Class::write_log("Error: Product with ID $default_product_id does not exist in WooCommerce."); + //SLM_Helper_Class::write_log("Error: Product with ID $default_product_id does not exist in WooCommerce."); // Track failure and skip reason for the response $failure_count++; $skipped_orders[] = 0; - $skipped_reasons[0] = __('The provided Product ID does not correspond to a valid WooCommerce product. Please check the ID and try again.', 'slmplus'); + $skipped_reasons[0] = __('The provided Product ID does not correspond to a valid WooCommerce product. Please check the ID and try again.', 'slm-plus'); // Return early with a JSON error response for AJAX display $response_data['html'] .= '
      • Error: The provided Product ID does not correspond to a valid WooCommerce product. Please check the ID and try again.
      • '; @@ -119,7 +120,7 @@ function slm_generate_licenses_callback() { } } - SLM_Helper_Class::write_log("Interval: {$slm_billing_interval} - Length: {$slm_billing_length}"); + //SLM_Helper_Class::write_log("Interval: {$slm_billing_interval} - Length: {$slm_billing_length}"); $order_items = $order->get_items(); @@ -128,7 +129,7 @@ function slm_generate_licenses_callback() { $product = wc_get_product($default_product_id); if (!$product) { - SLM_Helper_Class::write_log("Error: Product with ID {$default_product_id} does not exist."); + //SLM_Helper_Class::write_log("Error: Product with ID {$default_product_id} does not exist."); continue; } @@ -184,12 +185,13 @@ function slm_generate_licenses_callback() { $license_key = sanitize_text_field($api_response['key']); $success_count++; - $item->add_meta_data('_slm_lic_key', $license_key, true); - $item->add_meta_data('_slm_lic_type', $slm_lic_type, true); + $item->add_meta_data('License Key', $license_key, true); + $item->add_meta_data('License Type', $slm_lic_type, true); + $order->add_order_note( - sprintf(__('License Key generated: %s', 'slmplus'), $license_key) + // Translators: %s is the generated license key + sprintf(__('License Key generated: %s', 'slm-plus'), $license_key) ); - $generated_licenses[] = [ 'license_key' => $license_key, 'order_id' => $order_id, @@ -233,10 +235,12 @@ function slm_generate_licenses_callback() { $success_count++; $generated_licenses[] = ['license_key' => $license_key, 'order_id' => $order_id]; - $item->add_meta_data('_slm_lic_key', $license_key, true); - $item->add_meta_data('_slm_lic_type', $slm_lic_type, true); + $item->add_meta_data('License Key', $license_key, true); + $item->add_meta_data('License Type', $slm_lic_type, true); + $order->add_order_note( - sprintf(__('License Key generated: %s', 'slmplus'), $license_key) + // Translators: %s is the generated license key + sprintf(__('License Key generated: %s', 'slm-plus'), $license_key) ); } else { $failure_count++; @@ -251,17 +255,16 @@ function slm_generate_licenses_callback() { } if (!empty($skipped_orders)) { - foreach ($skipped_orders as $order_id) { - SLM_Helper_Class::write_log("Skipping Order ID {$order_id}: {$skipped_reasons[$order_id]}."); - } - } - - if (!empty($skipped_orders)) { - $response_data['html'] .= '
      • ' . sprintf(__('%d orders were skipped:', 'slmplus'), count($skipped_orders)) . '
          '; + $response_data['html'] .= '
        • ' . sprintf( + // Translators: %1$d is the number of orders skipped + __('%1$d orders were skipped:', 'slm-plus'), + count($skipped_orders) + ) . '
            '; foreach ($skipped_orders as $order_id) { if ($order_id !== 0) { $order_link = admin_url('post.php?post=' . $order_id . '&action=edit'); - $response_data['html'] .= '
          • ' . sprintf(__('Order ID %d was skipped due to: %s. View Order', 'slmplus'), $order_id, esc_html($skipped_reasons[$order_id]), esc_url($order_link)) . '
          • '; + // Translators: %1$d is the order ID, %2$s is the reason why the order was skipped, %3$s is the order view link + $response_data['html'] .= '
          • ' . sprintf(__('Order ID %1$d was skipped due to: %2$s. View Order', 'slm-plus'), $order_id, esc_html($skipped_reasons[$order_id]), esc_url($order_link)) . '
          • '; } else { $response_data['html'] .= '
          • ' . esc_html($skipped_reasons[0]) . '
          • '; } @@ -270,16 +273,25 @@ function slm_generate_licenses_callback() { } if ($success_count > 0) { - $response_data['html'] .= '
          • ' . sprintf(__('%d licenses generated successfully:', 'slmplus'), $success_count) . '
              '; + $response_data['html'] .= '
            • ' . sprintf( + // Translators: %1$d is the number of successfully generated licenses + __('%1$d licenses generated successfully:', 'slm-plus'), + $success_count + ) . '
                '; foreach ($generated_licenses as $license_data) { $order_link = admin_url('post.php?post=' . $license_data['order_id'] . '&action=edit'); - $response_data['html'] .= '
              • ' . sprintf(__('License Key: %s for Order ID %d - View Order', 'slmplus'), esc_html($license_data['license_key']), $license_data['order_id'], esc_url($order_link)) . '
              • '; + // Translators: %1$s is the license key, %2$d is the order ID, %3$s is the order view link + $response_data['html'] .= '
              • ' . sprintf(__('License Key: %1$s for Order ID %2$d - View Order', 'slm-plus'), esc_html($license_data['license_key']), $license_data['order_id'], esc_url($order_link)) . '
              • '; } $response_data['html'] .= '
            • '; } if ($failure_count > 0) { - $response_data['html'] .= '
            • ' . sprintf(__('%d licenses failed to generate.', 'slmplus'), $failure_count) . '
            • '; + $response_data['html'] .= '
            • ' . sprintf( + // Translators: %1$d is the number of licenses that failed to generate + __('%1$d licenses failed to generate.', 'slm-plus'), + $failure_count + ) . '
            • '; } wp_send_json_success($response_data); diff --git a/woocommerce/includes/purchase.php b/woocommerce/includes/purchase.php index f740b0e..a34b233 100755 --- a/woocommerce/includes/purchase.php +++ b/woocommerce/includes/purchase.php @@ -32,31 +32,9 @@ // Add additional license management after order completion add_action('woocommerce_order_status_completed', 'wc_slm_on_complete_purchase', 10); -// Hide license key metadata from order item meta table in the backend -add_filter('woocommerce_hidden_order_itemmeta', 'slm_hide_order_meta', 10, 1); - // Display license key information more nicely in the order item meta table add_action('woocommerce_after_order_itemmeta', 'slm_display_nice_item_meta', 10, 3); -// Uncomment the following if you want to display a message on the thank-you page -// add_action('woocommerce_thankyou', 'slm_show_msg', 80); - - - -/** - * Disable display of some metadata. - * - * @param array $hide_meta List of meta data to hide. - * @return array Modified list of meta data to hide. - * @since 4.5.5 - */ -function slm_hide_order_meta($hide_meta) { - // Adding metadata to hide from the order item meta table - $hide_meta[] = '_slm_lic_key'; - $hide_meta[] = '_slm_lic_type'; - return $hide_meta; -} - /** * Display order meta data in Order items table in a user-friendly way. * @@ -66,10 +44,11 @@ function slm_hide_order_meta($hide_meta) { * * @since 4.5.5 */ -function slm_display_nice_item_meta($item_id, $item, $product) { +function slm_display_nice_item_meta($item_id, $item, $product) +{ // Fetch the metadata associated with the license key if ($meta_data = wc_get_order_item_meta($item_id, '_slm_lic_key', false)) { - ?> +?>
              + ?> - - + +
              - get_id(); - SLM_Helper_Class::write_log('Purchase ID: ' . $purchase_id_); + //SLM_Helper_Class::write_log('Purchase ID: ' . $purchase_id_); global $user_id; $user_id = $order->get_user_id(); - SLM_Helper_Class::write_log('User ID: ' . $user_id); + //SLM_Helper_Class::write_log('User ID: ' . $user_id); if (!$user_id) { - SLM_Helper_Class::write_log('User ID not found for Order ID: ' . $order_id); + //SLM_Helper_Class::write_log('User ID not found for Order ID: ' . $order_id); return; // Stop if user ID cannot be found } @@ -183,17 +161,10 @@ function wc_slm_create_license_keys($order_id) } // Log renewal details - SLM_Helper_Class::write_log('Renewal Period: ' . $renewal_period); - SLM_Helper_Class::write_log('Expiration Date: ' . $expiration); - SLM_Helper_Class::write_log('Renewal Term: ' . $renewal_term); + //SLM_Helper_Class::write_log('Renewal Period: ' . $renewal_period); + //SLM_Helper_Class::write_log('Expiration Date: ' . $expiration); + //SLM_Helper_Class::write_log('Renewal Term: ' . $renewal_term); - // Get allowed sites/devices and verify them - $sites_allowed = wc_slm_get_sites_allowed($product_id); - if (!$sites_allowed) { - wc_insert_payment_note($purchase_id_, __('License could not be created: Invalid sites allowed number.', 'slmplus')); - SLM_Helper_Class::write_log('License could not be created: Invalid sites allowed number'); - break; - } // Collect product details $item_data = $values->get_data(); @@ -204,6 +175,7 @@ function wc_slm_create_license_keys($order_id) $license_type = get_post_meta($product_id, '_license_type', true); $lic_item_ref = get_post_meta($product_id, '_license_item_reference', true); $transaction_id = wc_get_payment_transaction_id($order_id); + $sites_allowed = wc_slm_get_sites_allowed($product_id); // Prepare API parameters for license creation $api_params = array( @@ -232,7 +204,7 @@ function wc_slm_create_license_keys($order_id) // Send the request to create a license key $url = esc_url_raw(SLM_SITE_HOME_URL) . '?' . http_build_query($api_params); - SLM_Helper_Class::write_log('URL: ' . $url); + //SLM_Helper_Class::write_log('URL: ' . $url); $response = wp_safe_remote_get($url, array('timeout' => 20, 'sslverify' => false)); $license_key = wc_slm_get_license_key($response); @@ -251,28 +223,35 @@ function wc_slm_create_license_keys($order_id) 'version' => $_license_current_version, 'until' => $_license_until_version ); + $item_id = $values->get_id(); - // Store license details for the product in the order item meta - wc_add_order_item_meta($item_id, '_slm_lic_key', sanitize_text_field($license_key)); - wc_add_order_item_meta($item_id, '_slm_lic_type', sanitize_text_field($license_type)); - wc_add_order_item_meta($item_id, 'Current Version: ', sanitize_text_field($_license_current_version)); - wc_add_order_item_meta($item_id, 'Until Version:', sanitize_text_field($_license_until_version)); - wc_add_order_item_meta($item_id, 'Max Devices', sanitize_text_field($amount_of_licenses_devices)); - wc_add_order_item_meta($item_id, 'Max Domains', sanitize_text_field($sites_allowed)); + + // Update order meta with license details + $order = wc_get_order($order_id); + if ($order) { + $order->update_meta_data('License Key', sanitize_text_field($license_key)); + $order->update_meta_data('License Type', sanitize_text_field($license_type)); // Save the license type + $order->save(); // Save changes to the order + } + + // Update order item meta with license details + $order_item = new WC_Order_Item_Product($item_id); + if ($order_item) { + $order_item->update_meta_data('License Key', sanitize_text_field($license_key)); + $order_item->update_meta_data('License Type', sanitize_text_field($license_type)); + $order_item->update_meta_data('Current Ver.', sanitize_text_field($_license_current_version)); + $order_item->update_meta_data('Until Ver.', sanitize_text_field($_license_until_version)); + $order_item->update_meta_data('Max Devices', sanitize_text_field($amount_of_licenses_devices)); + $order_item->update_meta_data('Max Domains', sanitize_text_field($sites_allowed)); + $order_item->save(); // Save changes to the order item + } } } } } - - // If licenses were successfully generated, add a payment note - if (count($licenses) > 0) { - wc_slm_payment_note($order_id, $licenses); - //slm_add_lic_key_meta_update($order_id, $licenses); - } } - -function wc_slm_get_license_key($response) +function wc_slm_get_license_key($response) { // Check for error in the response if (is_wp_error($response)) { @@ -291,7 +270,7 @@ function wc_slm_get_license_key($response) if (json_last_error() !== JSON_ERROR_NONE) { // Handle JSON decoding error appropriately, e.g., log the error - error_log('Failed to decode JSON response: ' . json_last_error_msg()); + //SLM_Helper_Class::write_log('Failed to decode JSON response: ' . json_last_error_msg()); return false; } @@ -300,7 +279,7 @@ function wc_slm_get_license_key($response) if ($cleaned_data === false) { // If the cleaning fails, return false - error_log('Failed to clean the JSON response body.'); + //SLM_Helper_Class::write_log('Failed to clean the JSON response body.'); return false; } @@ -315,8 +294,7 @@ function wc_slm_get_license_key($response) return $license_data->key; } - -function wc_slm_get_license_id($license) +function wc_slm_get_license_id($license) { global $wpdb; @@ -334,53 +312,6 @@ function wc_slm_get_license_id($license) return $license_id ? intval($license_id) : false; } -function wc_slm_payment_note($order_id, $licenses) -{ - // Get the order object - $order = wc_get_order($order_id); - - // Check if the order is valid and licenses are provided - if ($order && !empty($licenses) && is_array($licenses)) { - $message = __('License Key(s) generated:', 'slmplus'); - - foreach ($licenses as $license) { - // Check if required license information is available - if (!isset($license['key']) || !isset($license['item'])) { - continue; // Skip if data is incomplete - } - - $license_key = sanitize_text_field($license['key']); - $item_name = sanitize_text_field($license['item']); - - // Fetch the license ID securely - $license_id = wc_slm_get_license_id($license_key); - - // Construct the link to the license edit page - $license_link = esc_url( - add_query_arg( - array( - 'page' => 'slm_manage_license', - 'edit_record' => $license_id, - ), - admin_url('admin.php') - ) - ); - - // Add to the message - $message .= '
              ' . esc_html($item_name) . ': ' . esc_html($license_key) . ''; - } - } else { - $message = __('License Key(s) could not be created.', 'slmplus'); - } - - // Add the message as an order note using the correct method - if ($order) { - $order->add_order_note( wp_kses_post($message) ); - } -} - - - function wc_slm_access_expiration($order_id, $lic_expiry = '') { global $wpdb; @@ -432,7 +363,7 @@ function wc_slm_access_expiration($order_id, $lic_expiry = '') } // Optionally, log the query for debugging (commented out by default) - //SLM_Helper_Class::write_log('log:' . $query); + ////SLM_Helper_Class::write_log('log:' . $query); } @@ -464,20 +395,6 @@ function get_licence_by_key($licence_key) return $record ? $record : false; } -/** - * Assign Licenses to Order - * - * @param int $order_id WooCommerce Order ID to assign licenses to. - * @param array $licenses An array of licenses to be assigned. - * @return void - */ -function wc_slm_assign_licenses($order_id, $licenses) -{ - // Check if licenses are available and valid - if (!empty($licenses) && is_array($licenses)) { - add_post_meta($order_id, '_wc_slm_payment_licenses', $licenses); - } -} /** * Get Allowed Number of Sites for a Product @@ -494,17 +411,6 @@ function wc_slm_get_sites_allowed($product_id) return !empty($wc_slm_sites_allowed) ? $wc_slm_sites_allowed : false; } -/** - * Get License Type - * - * @param int $product_id Product ID. - * @return string|false License type or false if not found. - */ -function wc_slm_get_lic_type($product_id) -{ - $_license_type = get_post_meta($product_id, '_license_type', true); - return !empty($_license_type) ? sanitize_text_field($_license_type) : false; -} /** * Get Number of Allowed Devices @@ -518,17 +424,6 @@ function wc_slm_get_devices_allowed($product_id) return !empty($_devices_licenses) ? $_devices_licenses : false; } -/** - * Get Quantity of Licenses - * - * @param int $product_id Product ID. - * @return int|false Quantity of licenses or false if not set. - */ -function wc_slm_get_licenses_qty($product_id) -{ - $amount_of_licenses = absint(get_post_meta($product_id, '_amount_of_licenses', true)); - return !empty($amount_of_licenses) ? $amount_of_licenses : false; -} /** * Get Licensing Renewal Period @@ -554,35 +449,6 @@ function wc_slm_get_licensing_renewal_period_term($product_id) return !empty($term) ? sanitize_text_field($term) : ''; } -/** - * Check if Licensing is Enabled - * - * @param int $download_id Downloadable product ID. - * @return bool True if licensing is enabled, false otherwise. - */ -function wc_slm_is_licensing_enabled($download_id) -{ - $licensing_enabled = absint(get_post_meta($download_id, '_wc_slm_licensing_enabled', true)); - return $licensing_enabled === 1; -} - -/** - * Insert a Payment Note to Order - * - * @param int $order_id WooCommerce Order ID. - * @param string $msg Note to be added to the order. - * @return void - */ -function wc_insert_payment_note($order_id, $msg) -{ - if (!empty($order_id) && !empty($msg)) { - $order = wc_get_order($order_id); - if ($order) { - $order->add_order_note(esc_html($msg)); - } - } -} - /** * Get Payment Transaction ID * @@ -624,7 +490,8 @@ function slm_order_completed($order_id) // Create the note text if (!empty($order_billing_email)) { $note = sprintf( - __("Order confirmation email sent to: %s", 'slmplus'), + // Translators: %1$s is the mailto link, %2$s is the plain email address + __("Order confirmation email sent to: %2\$s", 'slm-plus'), esc_attr($order_billing_email), esc_html($order_billing_email) ); @@ -653,8 +520,8 @@ function slm_order_details($order) // Check if product is of type 'slm_license' if ($product->is_type('slm_license')) { // Retrieve license keys and types from the order item meta - $lic_keys = wc_get_order_item_meta($item_details->get_id(), '_slm_lic_key', false); - $lic_types = wc_get_order_item_meta($item_details->get_id(), '_slm_lic_type', false); + $lic_keys = wc_get_order_item_meta($item_details->get_id(), 'License Key', false); + $lic_types = wc_get_order_item_meta($item_details->get_id(), 'License Type', false); if ($lic_keys && $lic_types) { $licenses_data = array_map(function ($keys, $types) { @@ -672,12 +539,12 @@ function slm_order_details($order) // Display license details if available if (!empty($licences)) { echo ' -

              ' . esc_html__('License Details', 'slmplus') . '

              +

              ' . esc_html__('License Details', 'slm-plus') . '

              - - + + @@ -687,7 +554,7 @@ function slm_order_details($order)
              ' . esc_html__('License Key', 'slmplus') . '' . esc_html__('Type', 'slmplus') . '' . esc_html__('License Key', 'slm-plus') . '' . esc_html__('Type', 'slm-plus') . '
              ' . esc_html($lic_row['lic_key']) . ' - - ' . esc_html__('View My Licenses', 'slmplus') . ' + ' . esc_html__('View My Licenses', 'slm-plus') . ' ' . esc_html($lic_row['lic_type']) . ' @@ -744,16 +611,16 @@ function slm_add_license_to_order_confirmation($order, $sent_to_admin, $plain_te // If there are licenses, add them to the email if (!empty($licenses)) { - ?> -

              - + ?> +

              +
              @@ -771,6 +638,6 @@ function slm_add_license_to_order_confirmation($order, $sent_to_admin, $plain_te
              - + - +


              - version, '3.0.0', '>=' ) ) { - class WC_Product_SLM_License extends WC_Product_Simple { + if (version_compare(WC()->version, '3.0.0', '>=')) { + class WC_Product_SLM_License extends WC_Product_Simple + { protected $product_type = 'slm_license'; - public function __construct( $product = 0 ) { - parent::__construct( $product ); + public function __construct($product = 0) + { + parent::__construct($product); } - public function get_type() { + public function get_type() + { return 'slm_license'; } } } else { // Older versions use WC_Product as the base class - class WC_Product_SLM_License extends WC_Product { + class WC_Product_SLM_License extends WC_Product + { protected $product_type = 'slm_license'; - public function __construct( $product = 0 ) { - parent::__construct( $product ); + public function __construct($product = 0) + { + parent::__construct($product); } - public function get_type() { + public function get_type() + { return 'slm_license'; } } @@ -38,8 +45,9 @@ public function get_type() { add_action('init', 'slm_register_product_type'); -function slm_register_product_class($classname, $product_type) { - if ($product_type == 'slm_license') { +function slm_register_product_class($classname, $product_type) +{ + if ($product_type == 'slm_license') { $classname = 'WC_Product_SLM_License'; } return $classname; @@ -47,11 +55,11 @@ function slm_register_product_class($classname, $product_type) { add_filter('woocommerce_product_class', 'slm_register_product_class', 10, 2); -function slm_add_product_type($types) { - $types['slm_license'] = __('License product', 'slmplus'); +function slm_add_product_type($types) +{ + $types['slm_license'] = __('License product', 'slm-plus'); return $types; error_log("Saving product type for Product ID: " . $types); - } add_filter('product_type_selector', 'slm_add_product_type'); @@ -59,15 +67,16 @@ function slm_add_product_type($types) { /** * Add 'License Manager' product option. */ -function add_wc_slm_data_tab_enabled_product_option($product_type_options) { +function add_wc_slm_data_tab_enabled_product_option($product_type_options) +{ // Check if the current product type is the custom license product type if (isset($_GET['product_type']) && $_GET['product_type'] === 'slm_license') { $product_type_options['wc_slm_data_tab_enabled'] = array( 'id' => '_wc_slm_data_tab_enabled', 'wrapper_class' => 'show_if_slm_license', - 'label' => __('License Manager', 'slmplus'), + 'label' => __('License Manager', 'slm-plus'), 'default' => 'no', - 'description' => __('Enables the license creation API.', 'slmplus'), + 'description' => __('Enables the license creation API.', 'slm-plus'), 'type' => 'checkbox' ); } @@ -79,8 +88,9 @@ function add_wc_slm_data_tab_enabled_product_option($product_type_options) { /** * CSS To Add Custom tab Icon */ -function wcpp_custom_style() { - ?> +function wcpp_custom_style() +{ +?>
      • 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 z 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 diff --git a/public/assets/images/previews/overview.png b/public/assets/images/previews/overview.png deleted file mode 100644 index 601c9e58555491f49159749555eb4769f68d68c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 548150 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 z z?a2rw|8qYO@GErU7Vb#t(}^jDt?hb_@EJ%Jr^QXx4R(&1K%ifKJ@Fp0t>sDw!$PU% z98Q{`3vHv-$~xb3;hFh^M-V*=g93m_zYXWMt=+4Q>?`DsjLTNSoqHT)+yPPsI7FnJ z?=<5!93?kZGNb}yF`3IbQ;dn(3|cIG54o*0whG383B^itf|GU&d1>Lt{$91xjb-x% z4hZS@b8I*hl7O3B^-x!hvTt(r&%?3Tcq-k<=Y`wbf4Cr_t==qw9{ZxyS>5)%>lkP! z3x!R#v)DMCi*5&J%`C`_hH#DwyqrB2>0k$tt+F9R_nuB>v|yGwO_1s?S|e= zc0X&l(f)Cmr0QK2+LI@`$nYa)@N1LRg5cZ^f9C}Ux2f{;$;CoQR3Oc=sO8~w6^o_? z2W9fU?#;=Cvt4z23AM-^h3bqdm-*nm^9hS>tIq;MCXlIRiOo2M5`%U~Yxl%ef9P(X zpY5Ko>U~~=yO)Q0qjl1wk%$S3bPJFoY^Tn9&zf-hLd>b-S2+7GWI-En=HI8Gy6(gN zaO|7IJ`92l!{@Ba18|bF@kM*7WcbehHP>B+oU?p}mPWJElN*A%D3l&P!k;n+<^MYL zh(z=-kiKvIXpzzD7dM2oRJkRKA>i92?alc*RF`n_n{Y)`7;9}HFZ#%>)sVPDP%Mf zr8IASzEK$_Hm~3 z-;HtD{>BZXtGgB~F`V`(Iq{ZZZi~Swe7xLt$XXR6<>F;eW_8+%9V}9*BvddkHYOs}OdT0nmOqIZvkEG9+jL285aN%d z)U3cRhq7g%Ns_~HPH0BxIs zk{uVwLWyW7DAMKRw8L>*dwDoz&(CL~<#0DR#ztYvjH+c6VbVGWw&)(X$P5H8zK0-t zIG`}1M^o=~`SY7Mf#BchhWsID%OAaDhuH53c$fWs!Vb+a;+={0Z|!}fWi6^khU3W5 z{Dp;WXC17l3E4;nNj--XgusQYa-rEarpBX=$qaTAG9ET+DgIP%MDbnwLrUrLokFh- zlZlcvC`d3JrNmg?*IAA6sB0dq{Y+w)*stB>+_H7h3L{Guh>inMCEk zC7&1s%~l!70}G5AIuFS?qzMJE&ALb>x+?Wlw|j=rR(79rUK1U`h;Ib}{v8=yxyvhC zs`H?5EzU!bY^DUtZ;ZP9S-=0UMsI)&Q9ecRAH7M~@`<9#boaD@PcnZh>< zfF=70Gmi7)3OnAdA27}?!xc1_+ex7k)ctuKWTu-W&lZ(~<9dhG{RDVyu$GuH>&^=@ zY@)%?y5vCmv1nVct5AR$K!vWbm9CJ7+3WZ=d;BKYteF@aKKZ59pzbgQ=$Cu8);t$a zC8M~CM~f>OQPam2f0ile@f!)lGio%EQ85<7BdTwJ1cZMTx;*1OaHtF2-fOYzetibF z2a|f))KEymK!dE5Rrj@An3?Ee4wj@)YBq$fuiB77XB%?im&4ZmNh*m^s~`Y@w2-EoE%#{7g0ErsQ3~d^Li(gO zkkgC6P+>|#2uPIU#e=)rQKkLzz&>-Zr)~6I<|nG>@kp^HhCo>PQi+xLK8tbFx~l2k zXg4aw$?;+%KahkVjhI;2yMH;R^`rchFyw=+S|*MwF?TP z?|XFV++Iy1Q)t3oX@V;0Bxjr6FG3!jjlV);KIw;M3L`J^5|kN&3&@enM;dHxw;9-qq3mJJzR(V9@VV%E zQD`W!4MU<^VaK2h)r`3Yvn`Zq@yK1{znTssqn#`jBPm$&xjrMZ9Joe|zd8tW?y-Fe zlpd%76Su;B!|oVbLF~uoo7S#2RBrsSkn?*W5{r0t?z`_)e>l1IFc#yVKDOG4g`zjk zwS~+1qyznfX@z1tkF8O!kL(VJV;bZ;vfn9hdml-+$wV7dsS)8v@16FGnVjNJ1pB@f zODm``{OL!Flbd8`e@n^tRkv!q%E2;i7G3S_D&U}4s>mSvn1_R8wIc!I9+Wocax$OS z^TyB2k3nFc!s5}R^V^Xl7<`x4MBF=?0!$z$B5$BVL`0D6_kRPFtU^fLU5(5UX%S)M zjDKH%7^ft9h#3%VE8uEaKjM?!&vS6q__nst4AQipz1|}~x&8E=_MfI%AHaplf2o8B zkMb1qIjx)7NW29@Y!z+=SrR#(MBqN%SG(+!wB_~qiW8sn7Ou5QH#)Y%msGD^WylNb z5~=F2xCeOwjo)C|a&Xu0I{pNBSNz5O)2GXRN`JXL7A&N`YoX6PVp8llubFbC?_Orfk*%BYRse zf3rburo5UF0Li_Jw$NkY8**;HJ?_=<1jZ$WETtcAWI4-B4vC|?qU(Ts^}if4c>JxQ zJcf=_=9N{r@*{nobeqISyV-bB4AWZ)O{BFObWHb>Gyc`+YN1PRvsC#Q)3YS;F(Efl z@EevD-`nRYl9Z#~sXGBM9jlPCkjSdpsIbT$is8-)Lhmiab;aWtJo(d_*D2d$ECA{j!s8mPH`sLJ-Ai2tGnZ=V)CjKvHywU)52Y!qnz{tKoN#ZjdtS{28 z{!NyP^SHM*E(I5d>fZy+MQd<_P)gyOW@5%=an;zs1(hC#c>S-r_;aimY_U&V@*Bf5 zK-DX@u1OA&_Nbhp5Y_cMk)zokY^qna*ww1B>45O{Vpq5E9qtS0eLjY`+=IFV z{Z|MNxOB_kTdyH6RhM(5+D8UVueE;oW-QEYi}Jz~P4V0NA5y(`-SWP+s~H6)j=1#S z!PH*>u8D$yfvMhDif}K;zl}qcn$UP6ak$$mJzNF9&xeL2JEX4lO@6Z*?EG9Dd3rDm zw|6?eyFZaW!@JwfuC!q3YEKGqPPKNziHIiRQ5lH%+7M3AYrDEym7D0-0`0r$$5tT! zYBkgG76voCG~B?5L;d@k4+G|Ytohfc3NJB`m=qJ)VDR2iABIRCtjO@NMZNdcGm(A! zLRKsEo{-C0Hi1r&M`3S!+eEzykRXn^d6uldIs@y$UtsQq{A{-^+f#lBXZ%WE7&CiB z%GZE(7dMQbc1$wy=40Ba_%~?^5n@0Jd%YL}&c$3#r$Ge?MgneY92wfnob&Y|eF4|J z3%>_g9LuiD@kVkvBQp7;$)9duPC5v|&DKPwRkmXN_X&uM} z>AIpqnt8KL-8p`*N8%c%UwB-%%#6r-fkp>OCJfpc~^E;;Ru&!v&XM}|pi zia72X1F0i58cy3Ub}=fj94X0~$fch+YHv`G?enP05DOGf@IrEpg9t9;sJ}-=?h?%) zP(BP98pg!T94+3_l1=U#!=ku}^`Yb($jPhX{Sm5W-4uSbL^&jJII$*NWM^C zjC4zkM*gxtAS+I*`%RxgcAzE!CVJb}%)qx_?r$=A?KZyWdB_q-l3s$rpo^zLu5^dx z$%n1)v59Z8POI26kJT;4_aRgfKP`5?)#hpIZattAKhyi!*;AufFAXk!r`2Cyyuzc^ zLsXkOcO&FLc+%?rX{!!hJZo3z592=JO;1Bn7Uc0CSv;o&4Du>uhyPuH!;}QUhh%}htV(YRRec*js6e%IP{|YZd+3Qj@(f_-x@kbgOHO_d*@E5S> zRxc~19M1m1z5i>ISBGLb-oCHSfPDPMQgOO=|$>1BiJ8!7CIF-;UN=0G}%2~bN5O# zEK&2u@DFt~d>hD5cn%gG$x>2B6DHN@r>C+g-BDxQxxLL%jZ$1=CWw6dbM6&Z- z8{au`q4TzVN>I@Ls74&!>%dnmmVDNsp#CZ-b8%ZKYA)V!^sAN5>U5``tIkbVujT5a z;?pj%&}JcyCd-+OnXiDv#gu@Uv53}6qR&ga8KUnn(S1sO{sFcnW5Q>HBv9hF!A!Z2 zADqNZIb^EQ3e^VQsk_hPlD@wuxAP+dI5C8X^O;I%NHWtPLgLmuNU`?{P1QEkMucc$ z*2k&sU9*PlJ>w%{%B~|SKc#n@#G5h1Jx3XQy&s7*CVPcaZ-U@gMBs{WTTuUQ9Vij@ zN=Xn-s*)av2Z{27zV@;69LfR6(gAU?Z6?~IW*9=te~b{@rt4S#)N0B&&z-5#3y4vv zz)1oq(Bhna3=I@H8-Z&=yAlHo{iz=LLS*v`5e^#+5SOL(Im*e7ruXO)v6hou*Am|O z(nYg9q;pjFzIIFsUekUN8vGV`*B> zN$}YtAtga1cy)6}MH%4ULoB06d>|{oPtajS{KQP>hx}2J$`#)2d_8UPvciQ~E`Wx9)8~RDpUO|K!GdsMz^%P;5d>s(`w|!q8KmVJ%KR}_4#Ecxk{#1xnZsg2C$5pYcfZIgw+%d>p$b)u zXKi+)ko+rp13!*vTx$vo|68zRKX8t@8KnY$2%pnS3@0ui~oand`{ApgEwE^GiEv=@=hmwo7?Y8>Ayao*3G2_{Wu zyV=X3p`nbFXjJ>mF|oo3Tu_{DOMr8*oO)OX9K+-{G!#nBZ?q2qv<2@#_cS%=>o1C@v}pJ9OG$t(sF6H$B8R8H-ZZd9Wp1yfgSBY zPzKk!Sy&<*++YhUxn`I@jz0}Ec?&N^C^}i8dhuksndFVXKi3;msVxX3^}6CU$EU|+ zBP5#k%a_70xF!4|37J^AV8^XolCXV$vgZfEux;OdH99QUQ><{)-n=aZF4A>q5B^xc z=;R6{+Dnx>0vPbHu9IJ2GJ;vIQLUDA2j)ZyG#MV%y_bg7!p{r$w5Oh}rg&~5wo@ZiJjhGL`|icHnROZ2M$1SY*_ zGrjcnV#r*~u6Bv4lzzj0#S=B=P=B#X8s#R}*TaRY?N*z7F>}AR`dV94QWQKkMgA|f z6+|hi(#3zUt;TngN|ij;+^hah~jtn9Li=Ay`^)$aE=a(u+*;tDjs`RM1@_ecitfSp_rGY?=t+Aukdv+l+R+ z_6!|P;PUp5qw_l4{q(5TotWe}j7=iU<;fR1oYS;iU-%uo!~+1zh0u&x;|$G`m*h}# zeIV+fQe!7XUQ@$6816FyFb*AJf(vTt>0BSDzp6W{h&b0$puuNsc2JoinEs4>mi;@SkQes9kP*?EJr~>$tj8^`mWu-=gsGWiMqpQrz=&7 zX=b0Slq$GzxHlAfnZ+v&BWprD?mL+UvhM1WdV`gT?m^n_& z%rY}GGutu8%*+@wvkWmaj=HC(SHJhYp0C&FpR}}eb*t*0I2ZR6UEi3Kw7MFOV;PRqLu*C-%DX0&C-kVM z8B0D}>iUzO;9Kg)w`*<7%H`scwSkal^VTx7NRn75xa`Dckhugn%T)j0-w0w4X0k!^ zsjQEv0uI917BtMoC`sSN#69T>QUIzdCYF!v=!Lw}`VNxD>odZFj_`j2cJQfg?y2wW2^75U})9wD$39(S@+7m7t8g7Nc`O9FCdvup{q&}R5 z{>IvT#$T?QfI@qQITQ<*0`Fso3#SKbkf5XffP%tepNJ(@UNVvJ)#_XGm7SbaWO<65 z)<0*_&#-c$4=2|`SBonq5^xIM8N|t$K9k>TgtYQScY7H42tkCW)=NFRI-+8dm<8}> zX(dh?hNGWg{H0m_jfbvQotWYKQz-VjNFB6~LN?O{hZ*gb&v7ANzy(q?sDff4SA77IPL;i-W909#g}5fJN$QpyE&N&iGB z9{A)3(*|b_4<`d5w!sGfAl&UI6#H8LDgH>%09*J>x`)v0?e)Mqv92?rFF5_~3rjFx z7X8RmC{Vm6E0xmUKY8o$T4S)$B6ifixFdrfpKRV)xc2e`g>j^FzJ!ujh9_~h&P32K z(;|-Ss|g;y1P4StWl?J&L+Ul}w0zyUu*2+1`8ZUS5uinoAFT^|PFmw%=k4HP)KS$$ncIFo;B%o$KRHKaO3aEtw@JLZNWLYQN$*%$sOv z&JK->d1Q5%?Pp5k>#9zX>>*fM1U4P@sU0BzM!@rKCI^F;TBPlUimo^wXK0XWzS6g> z4boa8ghE??w|-kAx9M;s!7|C?+3bcvR8~Pkj+}&f$ZV+_K zqHMF0M~8cd#S8}1BOkcZ{6R*W3;H8ypryas!W425DJ-_Y7zCnb^NrZ&*p%xHK|yt+q$pv4R8rw2lKX zADkS1I_lAf2+|h*`=}F^t+(7Z6>(X13I#Y52&lX^N0Bx2Vgevpcg_=RN zALhXm2|Nm9GysRL=?ynTXe3L#~jl($4{``1dJ(9$4+z@`fb1q8TB$*T$;qdsI z`8(D^{AyAU#K-tr7dF5$A#Wn{O0V6#Npj`^PgNDHiDYK8G?(8Oq(Bf4D_!{9dBxTZ z^u7Zs$$P-ZqZx7)ju;3=@8f!{!rOe-AE3&4rx|7c&FgYKTf#e^d$@6XLvi{OUAg#F zl3@WNu7J+_pak!5i*VmLoB~;+-UxQ3U(o*$p37$KhhM9|4%#Rv702aqx}#;mN&3j# zlb%*Zd5t@yCVlnzB2WyMgt{|mKU17NY0fVUDbnDvW4P|y?YfS_=K%~?9a4h@@)wde zSzAyP@9>eaL#9r(5<>(knjcuiq8Yyu4h;^1s!FLt{c6N$j1^?$^2Ek?sAO@3!hVVN z5uB>eBM;&Jss%p0>cXkt`cS9hFVyqD@gF-Rs5gXXH8}n;(MleVS*{xG5WsB~=k!F34n^EislYg#F2tO#{B5f; zs4U}&css#$3Ic~V|tuNmt^o>ydSbe5QjVwTG9T)`O62qko1Ae!V- z?TEat@I+EljwB| z`^8WJ4~3b$k?U`ND&?$ySIvlWW?o?TsW4uasYQ#&yyM^9A6Lk zvb}EZJws_=QF|JZ{t9`92xYiOZe{ysmm=3nNkR(HRVNB}eX2myovu*uK|>8j(U;if z{mL2HCwyKdD)z!IWgxuoM}CB9VfiYQ5t+syp5|#MXf=o=v)>BFZ+kF ziL&k5RW>@7Oqtuw;nw^sD)aGxH_3JtCXK572RcLh;m=}(zCod36j-vy!KV*LM;jE$ ztWV-f9%&)SgO&U+ryWEQha@rBb}hl|3213PsKe?vNIFQp*#u|aP=gBj(*eV~C)S^i zhe?oTUs#@#tQZwo!uU{L$sM=!mI}GFI6Tm*YUVTdwe`)b{q9Bn001!R#~@7;{)mSlCJ_@weJBG{LbN*m z2q_4nyP6YCb~&hvs6&4n|5=Ksvq#~!h86jAhZ(yy7hA)at!%w&{CE2hCGyz|NwV_+ z16t@BtL?V>Dg1GZT-gl?=hY_KrMCA`>?%ByE#-ABPGCGZlTYwTlI!6Z`at(LpXYK@ zy;%bK^>7u|-3n$h2DU8Qw%>$AB*uYe7j;QCujKJXPuN@gqcMiGk=$CxGULxZ)qXeS z>h0DDP`z5=owzj)p|J>^qha^0p?ineWW*!q8=-D5xgsz55J333mW*7ZR&{|#Y~39w z;(R<=FcKzUH`hcI`~8I6?QJ4qoYT{% zJg3{F4rVtKBjaQ_x!CY=p6@i$oJQredCc|xu(P>8qKoh&I20=5alO~#50pZ+aFC6( zQ( zDYrBN)Ak)bC-;rLYo`qQ?xN#TJO^au^)Giqcdxycnf7=@bCBJU1H_4tFI*Af+FY?A8i5PEhrG_NDv%eQlJd zxW#VW+HW%WTcM}_P=eaQoUVjUOlYPZZt)8#6aDH*zg23nB)uX-)o|`kHnP>V7p$1M~ znQ!O*p&E2nXL?9)$VHI}Bm7d=26(+zBhC1Q8GeQs5gAcHw_xR%MUP+D2V#IARlo`R zAgWc~V*Hy9pJrnp z8g3qF;VKe&`ncm;n0nIvMY?OH$u;X)V6n>io`1OV9HHhgqZ;xCHW#s_={GWpfAR0o zi0@B~JbH3N-_nQ~{tuq?PmH!+;jrEa^|A{6jD}9eQ5(!Q2qx=k%&2&`#9JqdVUonG zzz23*`(9jlILr>7L@Qb1tm-W0Pc(&wF&4V{VX@2JRynATTg7|0!iW)4QaDNGd*?WBg2yVout8kfLIplK5geZ~elS>~Cg5zi~D zhyIN|hAY6A?Y`3^0Ar&wW?-J_Ye2K$EB{~1KuM8RFfWgvM(RQ>fFD@5#j|49E=>!V zO>X$Fq4cqZm2rZS;gm?CXO%9O({t01-=9fy>ohu%h&s;1>5ucozD9ZCi)%WS$Md~e_l{HBFk96~_;{US4pGes81!gDpgP&D`M`c0iP zFaj@ZW@K)U3H{{M)lH434(_$vbTqB#C$2PK%lq>CE>_ZMpCj!CZ7w`cfPj<-4_OGr zlh->ZfJri5__v)_)SgF#3+7llMSh)GxX+vTye71bJw%@|GuMLe);@jY42e4oUw|Mn zoJ^Rq(R@La6I!u&e3%&!VHe`K4$_w{it`V{$*6edpSYL0KA~})v&1mW`RvHQm`55z z=5j+2fiC#oAd-i(1~c-AAzzpo96nWy^t+nYyko3av2z{W{Y06;X&CXHV=VGR^t%?rhne;&Ll*G!uTS;w7(LISHm42+C=&ZW%}TAxgG3+$;SkDKEOx< zxMRq-Ug9WbI;=4f&R^?zA8ofH$B>oPCZB5QKI~(|!L5)mB?F1;4hJlE(Pz}K_=i}! zo@kQAdy1zF27Z{~YD_G(gyA&0g zP2GHnh~Sco)72>oe;&aJ&-|}1MY39H7ZQZNwN!MVVJh(qwPW$1k!`JCxMNPwNzCKqZ zJvG5YSOH1wJBUU`t(>W_V%!1v44cBBp+yZ7UVFTeubsUrlTPpMe7li{Dh!e-l0rU- zY1ztG7J3OjdV4C0$Y(R|1v_1x_~Hxhh0PGEI`!=uHMP!KW^)91kv4nU@q-v1y> z%I>cNF5N6+?Pi>39_Bn;LX0L!8eR0gw;rVrHCKp`kCoqgCU!-#hp`ko%8z5YMm5N* zDS`qkV#j;e>5ua83Cak6Au8!((+|MG)rddZL)&};tF}^R*u(>)GrW)Uvx^qr4v`imoX;|?~0tuP%NKufcc&G&)?_g z{TCLc+MQy|OwFQw<6YV1;D^})7Sb3E>>93ewho*1rX0;;(ZDe#NG3kmk3De0%?zy7 z+h!a7{C1{!$%4lTiz75kREDSSNVYugiXjaYd%SCp^2_e&<+*c2DU^KVZ@)_972^4t zz?|Kc{$;nEoyntXR#C5cz92(-(i!IQTbLVHgGec^?iE{#&WBEYBc+iu9E1X+FpDF= zOuVi1?OiiQ_6xa%TpA|_E31e~8wmNM27EA|5Bt8Q$SU?Q>HZl10uNtm=z}Vjz4;TF z;7>`+hPFNq$pkwaF!A@_)m;Q9;?qtn^f7sol&|-Jtca$PZL=!QHGuyc_$Kd{ZFvL5 z#VELO@3vkX3)0sWdbkaW1UFk9DHAhcp^NL$|&_Rx#ER|oaM0+<4}8Le|x`b9MCX8UB^|I^xpBdC*FoJ>DL^KsOi`Q-XIcI zkVnA&+}Sl3r9_+&BW^O)`H6t{&YgnNqcC<38PK>9w3#7U89MvRjBhRZ_G)>1IVrdN zSk#`9yLf6-8Y9Lxt~wx zF*6K?hwk+3P-*VkVX>WA7kT%$`JTktw*b!btbyT`97R_2lo5@;;)SS9bV^}74THV4 zDCrhre2b{1haJoWo5YIZz*@nyic724Df1e7i#K3USiiy+q;1q(eH8rNZg$d9r-uoP zR{_nd{nMJLVMiHZ7yCOd^7Bi6{d$?JYG&JB;Ml~4vWN(JWE{Wr2+PRav@@GaVC`FM z(C)#AL{uw-wM(cjO{+nq=dHP@A;j~}iF}j!U%wx#)hOFExx-}B?nrUIUWv6vUZ&7> zQ>YpLQ6A4`wI^v**yAc)TaSQ2WP{j*=^YK*p%+8tMzoVVPoOS_1r`Z#C5yL%ksfE8 z-xLe2^s?O6CTS&7=k|l#@cs`}lBJM?RZQR}=f_2KgswN<>YLw`M+!=F>!< zwqOqPG3{06s#82D1mn%v<*?}D_hWnGxw2DmnS&ZRdY+azIGM3Sh`}3BoR`b*r!jJO z8%{$_sFOB8$bel46g}XZ@YCs|j>71|uk9KZe=l9NmVKK%n2O1n=0$IOlQvd4@|`dS z{u_1J`|@uR+1JZ5Yf^zL?oNUpsBctEWC0s1vN0thdtWAt)DQtQjIN2pC<^i7>`8wn z5;BfTSO;*FSQ%|uJ=YZQpGL*82H!(%b~3hfIP6#A`!X^nxonrGbMAJ6e63IN01j}k zg_dohXoiJD*nNB+9-_lh-j;zlPn@~$m&fjZT_uUL2X&NZGIoZ(84myQIvN2#e&%a) zXSton)ajWywP{-OH(*rW{Q)Sk(XvhSS>5;A&4^wFX22VcgN*E+Yj$o2vY!c6r-Qt< zZJmcLwZa;kgj1Qz1Qn(|B4tG!-uf$0!t9j}5I%VZ?nmPMCn*zzmwP8p!KM{hdKRR7 z1q0TazDprzTqUTQn$`0BrFjW{*xTyfBF}UEgJ>mKNQUH*E_|sl-S6(BRK$94fKPKZ zucEWpPmkG?)8`7SLP9M}N|Hxqe|a~<2i)h|my}O^MI+E@KbTy-)d2C0Zat;>$aRc| z2g6OoC8o|X&kyQ5HyBn8)?KhIodaifykhT?GcQH-LY(RG= z1C_kIRxpE0MD?+wmthy=g{`Gzs6lpnf0=Jo1L zbzgDxZPn@HCP;|hcnlii8LBO^1`R;S;zC@BSs@wukAD-o8#HOsJx+0NkD4^U+NLF) zT-@6wV-O78O4+`<@3T1>o&^a+J|%2#!&(DB--joJJQ{;ILf#SlT#gGbH0mA4Y;3K{ zdQ~`TtnXg8a9_-`Xt0IaqQtZn3K0@u%WY)W(?2Vm6I?jUF>-9U{R;<97jEwp%bjDu zx|PzaQw)$Zj_o&_bMUWj=vT)wK%J$IMv2L=An&rN2%W+L+t0L%$wxz;;|8;JvsUe#sr3!UURnCT`9x9Qa;9X~uL6J_Zt) zC5d$lJY@F1Ch7NBrLCWQENPa@&WQ;m#H=Ux%S*t9G$`*@ehw$S8uIbHr`rvGw0bcM zX#%Z|0j`VGcUMR|R`RGq0(}JGXsru%VgCGJpF(y>Hat?9Hic1$bk>CvvZc}S41>)p zqIh#52CMP0X8JzoWaZLA;N`G~q*_FJa?}8WHUeV}`h-YhIec>K6>%IcRbKo+7X?R8{HnGvSoHVA6fBsYQ8u+3dv0(7}Ka??3kA?O@}nCC zsuY{x^`sn2d_X->IKIfc=PrE6?N+Z*J~v3;AzAHB%3jEQPG|Eg6Ro$nYK2UAlA<3Z zYk=>EWTWZDU*<&3d>ucOWCkhU$b~g#>LempCTsFm?`6-i1`UPI@ND;Uo!xrO|IC~V zbo|Ut&`6jIZG5Y);jkoP{5-SA6fGfVQFVTqY;3zn!M)+3iM*(nRBRh%bs3ijWVt#WN2g7Mrxi zqs7W)lI%_IA7iwUGdP9(&IPgYt_KHTk@27={A3QkS1BpQc6rjiW>gX$^76z#fXeguL}p8!R~-&1&n(#ZR+q8WcPcFIuvtrPvV9UOVjv<(2w$uuc*& z;X1kIS;~7;bHv%QT7z)O;AG%>mVqu-7S7_8B7%xy^6JauIM&x&16aN<5T4iO40(G) zbVoo*`m@W4Jb2VdS-FABKi!eZgwt=aXCZ_ zj+2ob)}@&N&BWXPOogF{w*O|9ma>Gcp)E8GcYzv#fSH#to>;?^#W6V0vnAW~inUIl zWg!X?;@Y4yB^Vi%)-4uwV9o+YDe3wdvosmW6jcN4n4!7}-@n>!wNI5uQQW=egTEWh zPbr-su(W^;r;krXh=@v7kD|l`=d9CtehS@OraXSfOUKSdSSq9vgEGt)6zl@klrFkO z1_lPK#}b8s7ad+aF(2^;!e2jMDEz~5J_O{2s=lMI{syjGV-hOvFtQZQa`G=`(Qkhd zC5_G5oQ@FY_9`pnQA11Bw%%-zELA1fw+0y2UN715Pu`YFeWAqGUUPUFRb8w9iJF8p z?W~bau2CiBYN*{P7a;lFp+vE==$|=2{{^RsCk9u}_0S9_>Ut*AfuN*OLqlI_jMPtH zGlfpg-0Jq_?*eId@5UKw(F#eelCveMM|IqW9jP_yiaPb+-Q~>4duQU_Wx=fqflH1# zv?)12c@jM(sw|u$t;^B$-X&@S@#d9UlSv5A z9!H23{fpt)<)0gelw!pZfJOy_#*~j0&-hDNz{rl(CK+qcE`5 zPah!xK?21lsJ;#`b+UMKX`FKw*c3829WwDw46Bq^79yKz|@oc?@BiRbO;If#D;p~W&afx*81l|+bhLWn4K9K;uo9Q z@N89W_xOaPw4pjJ%V6Zs==TZCy0>9nLyUuMW)P`V^tSoD;5I@QtJ8uA+90A3*D#i< zTa-iY>Z+u5!HOYPBKo4SZ_;^`sg*aVbynIL0S zJvFVd+9!fXe@Pys`+vp9DXciX*e$)Hd&?VA1ox z`{RU+$cO}Hb<4M%ie!x+!mUS&(^z}|5Xf2Yh}xUbD16E<)YxFkp#NZUnv z^@9X=3#k}^bE^Rh&gW@w8Rt{@L1utD7)FTmxE~U2y9bS(eGQEn;_b8F2<;=_3Oe5` zCHkHM)$La&M6tyI1?gXW#}E%vN@xx8l%jed;dBYP%lw)NxFUWiJ4OzKg+#Hyxx7_D zRC6E9xK%acb0Nc_itxGk6`iCD(m@3+M4MP|l=v;0^njX^WX;Zk*ngMr{i90QA&3-A zE#%sJgY@s5<=Z8N$|!7&K9%;4+_oC;9~+4-gYGL*%@tOcw$Yek+7H0frR2^wPEXI% zm1B|!jy@Q0ocE@H!P*C?^G#x$T#*M_W+ECu>MDi<5{|Y@6ce5{tfjoUcw@Oqs#N@D zo2RQF#14Q9a0Z&jDdLmv$nFoO9yC@42?UtMljl=-flXB+uA5@!Nar@b@PZcnC@+M^ zn1~KzHE-!nPmoCF{@hK^0?pruf2DN(&wTdZ@2@u|s#o|cGx8_Q8=+iftCzj;7(~ih z5Lh_4&UpViW{m;1HX4{#?>RNKrjGB6L)|zmbJ+(V+4<-brv~hFp#D#i<~tswi1~rA zzy7YqZ2Gwb2z5mF<&=ZN60;Ktk-^joE4EU=M57`agfA}0PR0hSlg`zYkRCUSdmtqm zamuYHv;xfuuQ-@VJ;L*|nyDIw{aAA5k9UEi$72fnEs>@8LM1+ zkQ~i?99Z#a*?2m}1O4Kq=FhUR!JW7AUe?;WSJqMkNzwg2`S!U)AV#hbK0`tX5$+E` z!}Rtk6NbVC{{prZL`Y%a@-z!9sQ%5o(v&McQz1iD&OTZaMgzit-%Tci->`t?DeMLmzw_+k^iN#;-5dv2SYOs)OP3c&g7P; zLQ?{Z-5m+LB=&YdsO!s%6S#tua6lqDFUad9xTAc5nm57WBcDxjIqxHi7mOXsy~2{f z@qw&|6tpHGv1DeA&k09AhX&IKL~vkE8Rwlp(7_LAKs(UARV4qccSEr-Cb0+>32^2; z5>JYAhI=u#jr$YO75P7%ivJo|Km)J!De(4*_Vh9I8Rz2wHrT`R23b6?joQcN0VY=3 z%gYshu8P7%r3`{c_y)&?d)uzyRlWo|R~Sv#&!`m}ry}T@%j~NdilFNOX=4uwpI20* zz(m7}8Dm4p`omyo&&f>J-Q4bLi=&VaWPI_?dcMiU{l5$^={DMqCZ(~w&m-RZ=aMn% z-tml13+PAd!+fPaL7Y{KAz=|bhR@!V7uDekIJ~}$#CTeB77=5XNfg3?R3Kas6p@&8 zLYx`UILS#3#uJUso_`|S8bVL!WuWBcFOKT@iQ)fnfBuJwzkvrggn>%EqT%@LNr40- z%AObwE6twx04&YK0>H9XuTk?U{)%N8FI424)kL~r#Po(nsssd&fn|u@m%+$2~2l!g_RE16i z;xtx>t|^r$+??pRDD1Ngj^IIo8L7BPumD+3ij--b!0Lhicpve2xWODIf3}4TZpLDq z!2jE|d7$*~KPS|P+O9v3VLwSZK7!OW^vSgR2mOb~V1mG)j#r8nFn$H1#>fb{sK9c? zQ&u0>F^G^EohFz8_298gF|D1lHQ(p84B?@|=>O{~{qHov|F~!PldFip9SnY=3imv{ zIUjr;JJnpFRtp4GKf(6Xff0U>QV&Qtmp}@H0uTBgtif!(LZPUGv=Zb%W=yK=l0Z#B z!Z!|LJ}1Hq{=oD!MQv`VGP+xEp+gg?DEz-<&i}X@|K~d_T!_6(oGt(CLjJs0<<)n zQf7PpUuGxX90*;L^ z2jK~Z;?00A25RIzZ!$O3hQ?m^*sxxAD*q1pPh`g7Lepf!rSIfxYIn7uz_;N57c9Uy z2XI<$3a_XU7}jq><}$!1W?*b+$+=FN`DpFmdN?HIeQu8v^vIn4XiX&7zAO#qNQ<_u zW$)8yvh}6kEF*f>q)n*34+#l59NPjFpl&sU%yt*6v==tooUISXQ(QjIb(0JVHRyh< zH#7a4dJ`lhPpOyb&XtyyR{#E;R#H;(nySU%ma`itFfb5!FqVXci<@41--mlHZ?Ik% zJO9>5@O|QNz(t5GaZep%VevS$*7(DXVb>@)mu@?U52q@N*+}_69%?%qsKi7Jx`dXe zC!U-8dx}pn@RM#>yYr>(^j`xE1l%)w({^ z-V-!puF?PN00J^0Fg|Pk`zPP83y^R5>jppw&ZAw|r;Q2_iVb1$7o6WEY~nwdKOt9i zImCTITj^(;51}CqAc$u^R3U-#2Fkq`LNW&=AB!ikSmfuGwC*JYlU3;OvBaPa%#(4h ztkGFRJ;>movj?w;@{*~-v57t4ouxIH5^$*sPn*DU&9Rgb9lz;MgnZZ2j)awKakiC1 z{6Itxx87WvJM-79nyjy~jt%sR?|~Z)_fdkwRHM%OmWZDx1G}9kd3;n|eDH_!29Z&s z1R)I9N?ug`e-u4S#i!xIu@<@M7>Pya;xiPVy+jW-i zh@%Qh_`W`LQ5#@BwUwk}KiTHv9uw{z98g9ohg;c|!g_jp5{M0zghyGj9JFWaEn?j8 zak+~UPU$7f5UqL58o0lxJ2~Oot|ZHl_$J5%y_BeArTWR$%&t?7zyTYXN8&f*q3`&% z;?pDvO8y}@IV6$iUoLZ>gmfrP4O6Opc?+N*@_za|lz~!)GF>m-y*R^iOlzhntqVki zhx9DP*b;YOcHPytp+F84oF`o=s?L@dlmXR42x%;sYdnsMF~tmf+cY4m%5jMTndWxI zi$I6x0J)%_=l#C>{1&w{-k8nRQrSIe5Zfg$g>f zLz2TPgC%e`v}(~-jV~BK=%@8;6wq>B?C^%pg+%YWeVau_u`#*pf_ggAGM?dc$M%19 z0$1}AZ3Q)tq#tGq=6TYc{ayP z20(;k$X3vCnm)EPkzK=;u=e$H^abtls7d{kh65`5Op1q#xEb%iAe>wC}7poL| zyP*6S&p9m#hvReHgIcUjb6&d1?eeArSun|6TTyd6-L0^RGgjh$NzK~xq)$pum#NaK zEoip=rj8}eHii%c(%#+{k*6Ru#E@!66Y?gmHCgWi7w%3LtcRoVjs%3qu)|mOhER-* zj7X#nxcB?+2N~(;GMEiJM=wRl4)&d$_fwO8`UBT>S40!7gjzMIk5t?Cj z|Ifv3lqb80s3;1A`rm8#U9{ZqqqXc$O5Gl8*?~cb9X`s^5)wDJe2W6Nh zxLcYJ#4?3#h?u}t6Td&@AB!_4XJ5LTu9kUTETxbZt9KlXNl}l?4T5@|P z&N5%ws@!%O!RW$)`nrprMP=KgGwr^wk6GKVDGZv0)ms^$#{iAkFG6^^?^!6@Xt50zUl+T{0_xceSQR2J0Fu}0_;$vD^CGgXP7YD{? zQ|W0FL<>?{SW#Y^dFEnXY;CEuViQxi;d(M6?}}_xMKehfs!zX;$}@QzfF>$^z1 z4bt!f&=qw?i$u=X>rpPPjHXR`=P;pG-Q1kg_kFQ^gWx$WSs{l%Zr;!%hL${(WZ^*? zKYN+W&43SUUf_8S14G0vuT%b_%d2!^;_ujpyQND1oU=wH4<_A8#D&phnk-hm%f&fw zC7M>B$Smk(d1!P0z+!3YH!eC290`SI&er?FVXmqeA??+&^807)%?v zMql-RTCL0$glfz+>2i48{%ZN&7YNM>`0$}0EXEjxHw-izhd^7V@0Cyx45O~99kl`o}{poa*>R%!#B>cu<7vD)o2zwsos^H~Fz+oevem@kJtKzK^PZCm;%3}S-#edbUw zH3q%EqRuYw)6BMDj##Ds<+MG$%Q*5bc+GL=S)8E1Z5fhBvNi$k$61sl+P=6qc9*g3 z&$o0boXm52A90phD1-Xpe0rV{6}i7XMKH2Gxn5s-+7&H?u5kP+MxcbxfH*)P(=oR! z^SnK}1G%PJrlv3>2TxjaSYm`H#_O&9F2Ttq5)DDbQ7Uui$id>YyuOC#JUVmayexx8 z(Yg4$kQFM(RxBc;6D!9E`xI;Ra_n@vd1fblit2o%cC6H5nD$dU9#=U>D5yJwXLXL{ ztgn;Aa$%239ynVtaF@4i_}fyoM;c~+KL}PW>S(Hbz_z6fMAF_8yevgmM&*z=2<*J1 zU=CB4b7GeqkxD2Fqw&0UZ;hv^6L!C-_AE8(bjgjxrc2m=9e%L^>{<|@kN~c72Trv0}WEbr7lu~D#H zlhY!$;l;paJiVG)UFVm{OyNIWRU}ONqu5#QRP(mB0?!?UJ*Wm%OKTtTJI3u%ubUmm z1`2%eZd1L;#UVerea9&)Rl484{^IK$+-uo>?d3U6SgjNFZGX(&`cvv!_0#1uB6u>_ zb-9rU`ng(MxcV{UZX#u73^cxY5D&LANXIiCN0$n1L1c>m)5?ZzB%4rD1e)sf_z2&&5SWs9`*>e0O-WDWm+=rpW{Ntr`sa)y1sCxFsTn`ydWnmr;qHc zFAhqtQy(*9P8lUhX=8*VTpx(rkf&vQ#)GN>ellVZC0$Q^bI>(ts&uUQ_5=wnB+gVf zlznLsQU|)r$tP|!>Rr9}<6RP$JaSe?pOV=0S{7;{f1Sa#jKLG-S|$6CD5mbTisP5uq`tSoY?N{%NvS zFG?~3pphMb7;X7b-7MxyOu35b5wV?bsX22aCnJqjF^$MAy82Fpf`->h?Z0#czoB<$ zsd);_#(4wKl>boI=nT8-5rq*R1yJ?1zotvUG_-5__h9T<)XN<-%v$cfATJ=J7`5`s`g- zD{Lp9Jcr=%eNGk2LIut@+0&>!I~}fAcZKD8Ut?G5b#VQ*Dm=fBzmiY;{x&Fk5{^yU z!DaUc*p9})erD!p;$xKOU4CpJsDMq8>z&Z<-VtQ?cXlfqmK7b;AXBcy(xXP!`)X3^ z4_ACNSyr=6iL&r(prt~N%`|#SN&e+)IdB4NWR4yJGH}v)aAYJ+O-;>H{^;_Hdt_wf z-X*rZ_=>nh@h#4bO2UrmhTWMm{(}B7;2hWgsl{(V>gB#=$VFP4pg>})s@{IN`4^d@ z{*f0VEHqvgDJ;{6FMQ0$9*48g$vWNLE68Cdt9FEyt&lzmiDeF!1RzFw8cV>j=0k%Y zSnw_ngpmH>d2@mu${KTqP2e3;3V0;ydi{_Nji!-z^SwVje$y)pEF$TCLrJplzl8QD zrRIx4fGy25^KrNGnZ#l4SM9;DdFK5^(6iXz-wy=N6@{9Id0UN|1v&jV3SAtr4+W1y zHo19)JX$Mr!eT;eHuU@}427XyZz}nD-E8$x{aQwlVl=~dB5fx`v*b=tpG5L%(D681 z&SrL!gu2bG$_m<6B!j{Ptl_vl%3h2T33mC~BaemO-!FdfYbyT(8nv?>CF0lp@6pA1 z*>0`bwj)SKRb|x72M-g~(EHGWSXr)k@#oTw#~7eOH;G!K5Na>Fibqr=8|~`TOhR^g z_cjfP-H+q%tZ-8=jpw$6_t_IqvXdPqbYp^g%(7t6Llvi~kiF|ee3D0~ zElT{9*tt|`Y^>4R~*j?9!f$Oy)XY~>( zfb=l^X-#JGB^|DRHul-8lME&}H1#V->7eZO9mh;Y1LBtth4hH9RSkA^%yfl4A-f~+ zyHZ7b_0Mip)x}E9=+(AcK%sq^0);Yh=f(CV*~@d9k*CzAj5tp(>FwvWKfeRr_(X;= z7fPYMvB+};`po=a1H1iI@5Yl~pPiPLB69rp2k)Q}xh3@?;6QX-z3C~x40_BulFNg+ z{XNX+5}beWx&s-k+Z+#{M4cr=(|XKhvmxX>ias5ph^;4X@pqRh9aS~w-@+U}c|$a47a^ z9UtD#pp;1=6X5^O>2Rx$VF6CAHvai7Z{^HJx1&lf|92n!Mz~JN&3;X)=`~czM-z z1?*9X{U;f1A;>&$6Njha+dJujh2QLVGzVdL(M?qeI6a-1GQ|w6l8{2tzG< ze|h3Al2Q!e4SkcoEJ{ZID=0pDgHkgO!AASUQF|tcn3xVt=g(A@5!%_)}}2-AS~zoyejz z5jcos&N6xAd);P5S1ks;u*|1W4rZtK3`?}7>oBw5g?PyT|JDuhg`b>m$8Yk9`F`&8 zGV@Zq>K0$Ax-3jkv@UDa>UcDv=ne@JrAEI^tn0$p-_Y-x_vI~Wu9S%)*EiSey81<$ z_+sSJe-+TISfKw#Clh^WDA6b~%rrP*ZT`UPwq!Ghx^t=4`3YiSN=Qm(6;5AxTQxUM z$jd3QLq%#(tM9ziv9XPvi`In4#uhR-YSYrPj;4;xU^ABC_?IoG#$43UJ_|?)H3{odeg0|D~hh!@s|4bBWC+cC{~|&rB$f#&{^PRp26DeNb``m~$phT~-n zC?}_uPndm6+>f79>lL}3oW(dJ;q1>IX}gd(&^?Q@us&ZddumaA-^R*96)+}d-mCp; z89^!I6On6bUJ((0b6HuakVz`b#QEz5@Y?KdAkH}klR(kyHs|rl-3Z(3>f<#Xm@4uP zi$osJf8}>`a%?pJ?V}50axR$IXGf^L%9|T&cia0UZ)ktSPg0mkUqZcfiuF0pNn)@X zN)_IL2v+DN+$`cNTE>-NYfRo>Qcm7i6zR>ax4qcQE8kbttLmH@&Z~rv;nGH@48g~1 zW`8_>+OXHVgs|6nkhZzTbIIiD)JslO=&YDT*H_6O(^BkxbS^xWZLX05AdLd}k*?eD zbG+%~&4%&diHN4T`clF5+zfV9oHG;gtpftxn>3s==rSQ<+sF38F=-UQY-HKMi%6bk zEUOt0OA|}-li+^$E?a-Ow-;>u#5>^4aO!e<=kvgo(|_&L{Og1Nxp){V=%^6g*K~9Z zC*aJAa<}u@=>EmQO>=}KZ*xjYMofSV?Yo$m2w0D%ArM1d z5JQ_mSniQnsQ6@J7<(O`&$*kPZLc?5>;H?h_Y7+?+}4B@P*JKNfznyfUs&oU_~3FKZA6W?ZGCJOpW`RkUymlxCsA^9Mq?pPjWyeG{0(a?Q{-R8Wx zYE}MrhV~RwZRrh))<<6pniLt2fy7zu_%7$rUDsnT%k0;%I-xYaBZC;)jF|5W;YnWx zqGJ4_Ru@Fkn2YC*4K*w}2PPqmb_!%Sn~|cIn6NxMIC3v;@#NK}+EA;bk;&z{i~I(B zmH(WPZ7M53eIxy`0Lb*DPE_Tn_Sp1We4Y4mT6@fEzvgO|JU|Qc=g%avqNuDu8MC)q zOwYPGwCL%*l_QuMwY3a%VJJfa=PZUWl~~jG_UWx*%@@%@)|MnZil?Id{>%XpXl`zqog;R?UWUN`@+;-5(GRt7$Q8`mVnTRSl(Swv#z2 zcGdZ~6imzb*%#nk1|2;=0YDNNj?uuQpZ4&55u32Ei|n*xG5vJUej7&1i`;ka?%}|>1ezAt)ite3PoGiZAo;dHFv?_!$xu~WN@EB}d341Cmk*-dxFNFX|1yypI ziwi)tBu{uf`b$jVvl!Zg-uf{(M~hIfRCk}!EBrt{?=r?GSQ717@r3;EE<-^WHC(kZ zE$u=FT{`D*PFq#=?&6(XPNvJs@ix2FV1@AZ)1+aqhRf5%DUNq)=_el$YxMVqGf}H$ zHl8dRSv?1io3jIbl&tiB3CV4+5ZU5TzZEre z=8e(jKPGvURSWVw&Qtg;Hm35@@Mo0xIT6$g9$QA+^j7>Gx7t0bv2&<{SQ6l@%3IR2 z>M3w>caMo}$9_=HU8KBh#`SQr?nxo5#)AS@D>B@ba10N#M*V8ePEymS2`%Us_j?R0 zCctiy!AwyUapURny2K|Q>I_Kdm;B*s=XaKQ$d2Nas@R;^(EHBVoso(_zBMtcVTVR?M)&C@2s-HOYvwyiQXq`zG6 znlh*j^}*)D!uXdbavWX#RBLEi-#BR!V2Z!``TC`nIND>`K`S|n6u#tKkj!1l!jLNt0D(gp8~CusT~Hz@*b#z>ES08Qsx#ka{!#$aJqSxbOlJDJkk+bR?(pgjyJe zJ3USZqr&v@%^>)gij7#S4O{c9GiRDz9To%H{(}kQ%uHl(5eqzQ+?4Uz*%p5$F$vz3 zATS~1Jb40@nS%!y3U4!cbf_G>o_QXrF`jShtMZ`ZQwU|@`p-b9Bk*KbQ>Ksr(94+C zBVq`>S+fp>#Gr)vb79d33yt)-EjpW$QT})&*agxY;oK&SCot=2KWI8&*wFbdPn5d% zlAQPox&5rV3L#b#W~@e1R8MVFkPiO+3nR%$UdABQeSPAgVcx}dQ*;WrE;@0)`O)91 z@XLpRSL}-XX2H=uM)9uLlap8l&7kNWzdMKzX%##r^>QuvghWVkyNQOGHJukB3h}7uML0y{*j3Adsm=Q z^VH)#7=N+jHlPBtK=v#d%*s3XokE*e?Op{Pan0x@fBKHO6sydaQ?X2RjIE=0!yW;; zzAGt7Ii%V*I!i#I8v=yU33^|c`||>DqSG+_gEQbM@h92raFGKRmQNOk8lH<6IY2A( z;MJ$BD#V&{5NdlC^1KDi(kq|2Lo%<&z_Vr*kt#^-#L;uzRc(#m>2F6%7iAb<{^1xp zu&z1zFvC&gW`8_l*5hmAcXg_gOygsmvVnHwWxr$cJ=B>q6YR~JSEZnpwF`JA4cTla z{SE#`EZ}|N^SYS1m@D_y0Zc3erA|0XZ%SjXj5VGQ*~|B_|8c2 zBd*|02^pDQ;1tbVlGg{EM%wQ88_l-u0JyO^Moh3Q2S{>aSQj6XZec@SS{PkZ84DdI zI(`{M`^7K^jb<;pC_$l@y@#dMbyw=JyEo+3fSXUl4eXd^y*^}uS;b#WfTywjuGNv_ z$zk%Jy6L8S2O;%I8?9kUxv@31X|-MYyBa^v22`9QIco?PRaeWW8D1SAR-ROpd^jP_F zrb83(c}hVO?x68>l#R)k#z*vF>-Zi<*LOr2E9uaS{Ih75OHPBG+R|HA)Uaz_GYwSx z>KYa=L{Yu9SHj<9E*P5-4M|TIERSuC$u^k=tZ=C-=dION!*Bmr94;&t}r~aH+L$ zJlPs8iEq|;-)^Fj%1?o?adpK2i1_Rsmc{X^pPSXSw3no>{$9zkJ)N2xJ2UlJzOT zm+KoZGP9+1T36Nv)HF$NuFf=`kr3Zviez}g-7vCx-R6Vdu@F0V7E-8=0(eZz_)VyX zK(AYW+xKIBa$+bN(q-H$*pgq^KV(pI8D}ym`6z_r^B8_iX~J9z(^udvoh< zrMC8*IrA!CPxq&WnKfQv3LPsiZz?)Ptxd;ny2@4o&GY9 zk^_V2qP6_o_NJtHs*6|lV`uyAEuvhxfT|6c((t9Eef{#)_O6Lrc={n~|8@M=W>LS! zIJq>bkD<|lV-W&D_roY+2z`@2x%BzI`EdXA!YT^wklqA>FV@hdy?1Bp8%cZb}B!wO6#2t=Wiz?y$1~4zTVe-yWGx`HhYQINxejoQEEF$ z0MAaxx*dZ~vb6`GrbxBRP8;$J^esurca^K8X5ZLt{uKNZSe8p^bWsNpp6mwwKRg^g9zaU9|g&3^B` zk|L=#C#UqfsC;s7_NsHz)-(V~n=5{>`SC|k$Sx0mgV=VLV9U|h+ZtC+Wy9eFiR=Tk zJE2bFX=(dw8+&IVR@6}owb4_^G#kuy+HEGkp)>dgIdImuMb zo%D|}xI8tyKU=$^{<6|7v?g&HpJ=6 z?Frk(efT#Hhh3=$1X$CO(2`E%CW0SCu;}$95J#-{c>1BHZ)>A${Tu4b{BbX0X@s6( zLCo2dfhb>G*YTtwe9tSh%opp`S+kuHYR#-r?u`vjq7r%GGudf9Qdyg`qP$qqYyNLV?b3DoL(a)9H$ zY(g<+5Tu z_FHK9`LS_?pss;?!aUxyrFue^0ha8Cq7`uh7jv3u;>2dQ4S=U_5F%t~`$=JMi)W!o z_wzG`x+*xy<_&ky1$5!`@KjcOxW|{$FAI9{?a{wEGgr~WBa)WYjDukYQL0YBxRdi8H9wph8Yk#uK6 zr*k6sYfX8FISd3L)7jERfs2N61sg%KDZCwR%IeJhq~Bj?6H}0?1L9yR3gTB?2u0+r zr#HM}(-B^=e|4>WcSgyEAA-#mGwf4d$Jcw|7HcC9MdS0VOYvlG;;-|CR&3Sa^p1;pQ_0$4a`+&PL4KYPqkf+z#*;L#~;YR~X9^!$1 z7$@-23xPTL@`WM!K33T+Wn0}Qv!E9e&GBq5M6oyAu5EH8A}k+9ASF)NHyhi%Ir69yPtg1XkA(vNQm|aetK59{f8Iyjm2ZZwajRB z^s!jQsKDA#9a1%hJA05ehlNt=g8Q-!33&Q}D|q{{fcpbJo4*Q|lDbRmPvpe5qC;*h z>=Hj#kkr>oS1wO%y-&Z1E_x4~&!E3PlJFMAnWiQQ=?7>` z+u5j=hYHiO34LXXYb8?bIX|nt=&+nCHnxYhIMzy^lnTU*wj#*qvS-6+T%*DgqtHfM zJ)d^BgDa3k=E1aQVebV^OuhT0yicu*&dNYxy07U|dqjr8DV$!dxr(eGl?*7T)$ zd${K2kAo0h-6uMy_Csk=k_Yt-jfZtei0eb1e2r8~B}T6`!^RSJ-JtfMO3+RHt&FNc zM(|~C$o>k&feTil<>t#$_j#&6{Y*=aF~SJ2dqeTJF#kmivz_HwI07hOWSf03vze&{ zO3>Nx4zz1^56qFmdv*`x36o*Q()IE;nq^z1v@g6&9cMwcVrZ1G%Y0iFrdkpzHsxaf zpxrCz_4wy7;%we!-W8q}S;BkyA`DPvkst4V_g?p$3F1B_*=QoJsH3Dg3=#%tC6Rw> z1Rnvfx7cu|n4Hr*Cd8;*2W>iMy0`cD{L@^?UQsZsoNJFOizM<5K=V;+)S^ufK5>DtRw^XqLJ%ALS>u}K>WRmoqh16ry_O>r*DI(PnMP5 ztVQA3d(+d7SyOc2_Ptt2k7e&@0cXRFDO&C%i35^tJ)NmSGtOP4BMbdY@Oufpe0JHL zG|KI%gKe(wiXT4dmbh+~7Pf%F_Kk3+%RVKD*5b@#!!}3ACuXS;>Xd^cHdy5z)ve@D zZRy~&q)R`JtzyfSLydXR%Asth=^t@l^P zk{2!aGX2(0Os14Xu(*o*4<_0HzM1xXueI+uKdA{70EBZDogiG(Dy4>bBH~RoOtwzV z6Dp%nuT|>U96jxFGW7RRxOAD5G;0UNLv($}#vKG>)4@)%2cLIKpu#N`K=zQ<)JHZW zE0$k^-A)vOPltJCHjDG5zqE(9DyZ>>B}>!7H`ZGBkW45~L4V?oX%>aDl^M4n0s5oF zIF;xPgnanb88GNZpbm82OkwhMbGZJ%42JoR6VTc5=s-#kxezfaJ&J8BotCDavL=3! zMtG5aQtXGi-$Nsmkj?DOz*LRHwz_qNx@Arl>1knRz;hx#Qs%f)z6ODdR+&ITbG&)q zKQ`b$J@B{qREhrknO3`e%RssEqo@b6;sQpib{JniR-om`c`_7csnc7#gD>{|yUJf% zUGQtQMeQ!bdse>Cc{Iu}>OBhb($3-?@z62ED-CLmPp+|B0~ugJnGJq-0ps6fn7oYD zix+_Hk=A7+w>k&1m;-$(q1@@FFzaENmv8m903L;CI+KFfYW#SfKva?639YD#Q^vax z3?Yj}4q%G-5**3Z*nFA;JUb?!G@8whf>bMhm+^Ym4Qm~RwF(+f+-M`eMtBf)PUu6l`x zGNDSSh^dnfXT~OhW^S^Q)ipuyV}!q%S?||O2^C1s;Gey@yp)UF1Kf_l^hH2=;4uI; zTi)Y9Cb03nCU}ShAvu>+Ehb#D-zg!NKx{i9?wt7&&SlLUJhJmkFFd&6h(WzJLm*fmbu;zYTv%EMIq8he(P8au>#u0P;y zUH5~k4*V#zuEYHxac;y)K6Qs$#96xXVhyP5cma77XmOe72QAeA)ZD%Y#Wd5XnuH5& z4I&O`rXr%6G}*{=Iu~1_3xBKlV#0HjO3p2sl9+}#E5bRx^37=(xQhGBhQvbK* z+XIr*t+5|&`M5^>b_NaI!a92L-xav1wf82qgI~D~+Pq$8VwB=CVUE9Shdws6>i3XZ zMN{H5CV{6%^J;hmS*I1|4gA5F=8ey+I>=|?sqaLgD2NNPoQ2;td4x$`Q;RC+IQSZT zZ>{(wcsX7_`g|k(+QE}hi!Vmp_tzNC|0Sztll{wsfP?s(URXO<>o9)1bf$e}9|t=b z@TiUO+)fMYuj(#OJykf_#F#WSMNomCY7FA;jAQkH;39i$!jHvmo4{>%U z(3gZM3uRJscu#^=avxBbA6%9emQLpAzZNR`U5GkcD=OB)+%+|{-E1f0+-z@hgjj^g9Wxj9}qR%D&S!0(r?AnGuev;w>`3AFj5X1JAj^Ig; z5H9KQvQ;f{OA49O&~ykY%>LDYm+d!p&d|N;iNw?bGy2LwW5${wc8&{r+;kZQZ-e{a z%@#L>fK9bbD~Wt?UuntT|3Wa<(`1~TaaeznSw2Ux*lu{3X0CB7x3a)jp;GcVj#7uaV-TcSx$x& zf#y>kYSTO9F2-_4J_y=_mu2YnR57G0JRll=CJxl@z{R3n#>VK51#4zSJ6mPB(rGuJu7d^?NMfss&tv%{=*-& z)4uOO-bZ|(*i|XcQ8y6;$)8dW%4x^evsyRUZNYrAf+(&Z3Mw@Js8`HSnwKuaW2&Hu{6joHPyb9*}RJMOeAotNa>2FWR8qkfKW+2IX*s zJk5F2P!1o}o%P97>^j;&djA&?&@)1%^wp}ysr-brr{{5SZkkWN$!>{R$TgN?dwMw| z*eA)?->LmDLr@$}6%)?B&a5w2{Oi>7*JeEm~m&- z>yH*#vA}5CPf1(;%fGYC|1i@?A%cYFoac~`c{fgOKln_w$C!>5EWTp)H&20eBqfjP zKYA^lU&M!t`9tu8~u`Vq=Uf_iOSRy$38!F}A?8NqG7^Wbu zgN|Jbk~rN8CzEnD;Z&xZe$X_!@u84^r&DBqt>T^a^)F67E;<{{7gTX(oLePDj47)dFTFa9;t!Zwv z<2EXhw4RiYuzn{cL*T%Pt{?rGmz_X0zj&&1|8*_I`B7Y|qeLBbLiEdKw~f40q#r!+ zgKqyuaS9n+v;(JpBye5UvV16h_CZfyoG-FnO+H)vh~0r$0D*5`Ied3(NBXm?oX>dR z=96@@(0(djef=aUp#2uT2XKTC4<)x4q7szz(1eI{BS$mYYi;zQMp}@-m705Y!4Yc+ zF>^GC`2*#OOh-FP4pxq6{%Wt*4y(BN@u9Z!(}!Ag@6R zYp+&B*wbg9UPYqw3}i5;Rcmxl*91^L7k{OAW7-aHg(&tu;xuqGI#<%RJ8^S`9kf_y zf<=51m3p0;aW}n>e9qW3YwUS|H+@=E{!41ml-3@HrkR(F1n^`j%-~CKZ@X*a_m8ea z-;!{DP6rA@h}+%}MJtm4rp7JYvq9o!@qhIz=CXA^7{sNO%)8ACZzy7{cjz!K-MR0T z9%T*ZM^*`ran2HgT36g#Nl9_d6n=AZcgYx%J6<7=V9>nPh;`zRs$qFQAKc#+I{Axf z>^|Y$t#ch({^7hnF?B^dYxeF@&R&C$1`syyvb(>1eLA5Rw>Q12^(wL0l(f6UE2zqQ zxq6SF z5^}Emzeupqk@TgbB9OEEkQU@^!}{I{-Y-O(7V?eM0b4hP?;3of6U&4>5uH6;R?^4p ze9GK?l)ByZJ>{izc7W3BmEC~8IL=14nPIeMbMnsqiO2qiTF7Zd9xbS~rn7(@!`!+) z@YdtUD#N;rV~cyp#*eVY3be6LuB+Il*@37ND%}HnhwF<`7BQ!S!;<5zm;l#%!#r!5 zo-05NVkNU4zZ6NF3nNFdpF!9OS^B5L(Nd|76nCeUAOXU^t<;k&A1?~Xu@9A6rbdm| zV|aFqMA6S?`c)qJ7<=L2)MJ(OzU>_qy)Si|z{2ch9s~SU>fX9fq%G|}{cuzS<;T3p z^t)+@rWHw(50Pl+TYyXA+lpPQT2d)&4(o>xh{&-Bic6tb-d*Pepw?q*Y!oH(qfo@| zOVGG$`erlL=8?{3mMOTfEEoA6id~zR$P@_d(J_HZV-*l?*amU}A+^K^CLjwSa7`R5 zR*QfiWxHwix??lURc|!w6Dh%oX5qH?wKX27h@;gFbG#7PISaitZ0lvM7!!l@xFB|7 zqKfMgFO!E9YRjwv>CO(-v%^8_1&B%2ZUCcP?m&eL)6(T@EXPF^W`QyCWC{a_ZbAc*#RT0WgG(a}j14QbIr2)V zaL`lEKi~@-7h5|$Gi*OG0;X{#%+nn8MRR&I`Mu{^GOv5Z%iEL|GR}9ObG#Pkh%GtU znU9L0kQ8LtCA@|irt>XHJ>-q$98@bxvF9*HX6Lj4PpU7r@gt}J9lP^3uB)!FGo#bJC4q$)1qz=i_ z5{;Zps{5?5Y#LQ%*z?$Ovfj7Oa5&Uh@Mbd4)g4glKs*5Y#b5CL*~^ZpD$aPBs0&Jd z1>c5V7v`qDYO~+QcDvzlZ}tvhY1%NgaYa>ocXYb7WdSeNit?_Ql> z^J#se01-26&eK5)TYoBkkASJo*nYZnH(J{(PJZe+@iUU`RTx9g;B_&Eb$@xOQ^kxakXkF0I3Fx8NWNCGa zIFS&I5eqn<_sJZGo%H3?Q)uP#O_E#PCv#9|Sp?klu*H(UD@6_0Roun{pbmZTEu*Uj z$nZELu7dw&NOSh{{ord0iDnNM(k|ca&TyMaXQl7yhg%^;cK+?>a}H(-Twm#2+PyY& z!5efP5b78%dY0$2twmf=tJdh&ogLdTy@5e$xdm+{hK&3{)a}oRzXZf;_pd7|_--OM z_8?z2;Tpc;l!<;})@0)}O_P5oneUJ)j(NOTu!Sw$q|Lu3HT4!d6+ORMZ0i#y?!m1> z1`j=!99=C!MO7H;uYI_7LQ3i!zEiz zzbM-*a5cUrV}8lxI{t8bp79O2bn$W;|0kC81GStf2M#N4X}wE2epu5w483Pa~AedMGEIUr&`UC`eW1ypjKu=%L-)qBj^R2tPv2h% zzapjs_;je)%y6BDE2~s!U2ZnsCVV=XwD9@n?C&*87Nwv6I=%Q~Xyw(8&30<}ji0g_ z-UD&Cl6~t{aEl`ov93?dMf$NRZy&y0%D}gh_FhaKI7<1-H=Uw*QVnyeRGa0QJNmg8 z(}gi1*)+;+NT?VnjhkKu;Jr@ceELp8dl@f*sAUzly=!0Tv_piHPF z*v@k}9_r^f4HJiFCC+;cs_~i|{4bE#KeLPKyZ-pDba5q072JTK5kZHdJ?35Bd4C&h zEm(gd*3xqnR=sv(Ihcv&^L6@$qg+mLpR=#6#Dj9A64d^YZt$Elh~oSBX_%W=Z&#r+ zRv5g~+Sn4U(cS}iWTEL??W&*m%q2~CcreL8ud(V8kCd1U14oYSP~F-gZ(%>x80imc zRByP)H_Ep@rmu%O(s$MGsZNQ{5B zu58FC9yQ0qhn`M9(HpS17QP-g;B*&7nx2IK>_s4znE~{}nT9hchD)1AxSbJiw~F5{ zwJN`ORMrMxA8r-d&r1)_6c>(_)Cp+GuO;|i_V#I{Uti?fuPL#WphwpCdT0+a%XFQ+ zmfHMX&%{3uJ*BVx=wo{b@}6vj?v%lN?d#xa(r1Wm)N%+Df~)$4$5vLz?AerYYVV`6 zR&1jYemx_2Ihgj-;66L20vWx?pu{Wwx%LD5&c^KP&GP+8zS>Mb zs_!(gy4mEk*0^*x)y+i4`SwMsy!;#N2u{aw_%aG>LO$kUU?qVe5m1wB$@8;f8(o71 z#7@)X>~LeLWeCO0?;82x3HbCOqhhNsyUP#=A4}?Y?N(lR+oCT@p{XgzJ;LO`4LMVS6O_VPKCW*Y9a+O>5u2a z@1DEQi;mS;zl75sK{qZr?b-rJX6l_+({sgUW-*Eht`qM$l_tGD@+ZD3JRW&ab+c%; z5`TZP#6SRZyu|Jb9mpme?7SNq%v1#Ycf-%W#Mz)EdCr?V1aBnpJN^SV7m`GdOHgW>|oWFo?l($jaZ1oOD!2R84yUX+1BeLQup+Z zJF%uX!`t}2s%1};K*HD1S(PfP^({5%RrFo-t(!LmAcS#*61^PL#a%%T8*Q#0wy=sl zgy56@)5!Zm_jexZ^q-m)C_mf@xD~^F4ZM2CbP@{4%YfM3q6(07Y-%W=FoJNJ9- z)6?QAL?y1}rq;e;LYMK&g*I--$IOG@eISKt#WvW(z1gb1lktg+uV-pBw+o@?H+ssT zc*?Q7XKrfS@pBtU#O&eYg+Uo#vk2*_b;6=dsi9ffjHS%s^*#ZR)+PDG{+QbS6@N|b zm;ImP_tN)h``4rNRm-LiW#C%a%a^mxU5{+#3&t;V-owj5ynJi7xbqEuwa(x0kBjaQ zmq6QtX$yAM3}U#;Tl%?+=!n7+iT!vUP9F1fh#mJkuhHx>oguqw&QrT0@+v=e=O>RW zKGxZ(i-SrFocdUYn@Ke>A)j^6IG>#C@qh~J-lzi5d^H1?^!J<-h8@=m*z9YS-X`xq zi&lw)*IqTwaJl^XdgtEsW{!;OCT35;9I%VeuJ@}(>QsM!hO%t0DOFjMhj{s$xSIXd z%>B*{TFmKZdpCZz>w~PTZ>s@5QMOjvK-dxtZ(g<0P;GA^1YyGBR{6w|T z)zY@qLxJMC9%`6u=xld1$1OJ=pVaEq@@(rpNZrGl54-*ko%7f>oSNO`6nI7ydL)_dFu+~f>ezDsa^>Y+RAm~O<{6Ze|Bacq`pDk zceHV;UuvQ#kZ?5r)d^?Xug(fw8m7R>q}|>zJF(kQ^Vy2|3+!&Uj8}OQf*ofwp}!f) zlj-J+6xRX0e_Z|CQk@b?<0-QI8GoLU^v~IaXolb zw!BLxmyn1FHkDek%4GtnRVwm4yrAD3o6D%aytb`AVC2hv z9Fhhj+;v&$D${xPbT-N4B+#EUJhhMa2_rM=?l}^)V$W97T$lNNv;%x^rH-1c;&n6K!71UikUdI=H-CC}+|9*A=|IB`R5phR;9Bo##xrQpW`SAwL zV!K4e2%QL+WtXOghsUB6==Uqe@12bTukHZ9x)4ihpTbj3)9@yzys2EryHA)8l0>6x9-6Ln1=Jv5yDgMm5iCY%{54WK45fLcUfa;FW zh(G4gu~TIF=N~oJM{|9X#!La9wFe>MXR?#8(FtWT)dp}+gz=Ay*2o`|N9e<;il&lj zd+j-I{}1+;m-jg0W@HNGaQFYIm~9@9{h9Th4mgH&$a8ui%L<@}T%S&q%+6|gm;km~ zEs~=uG}wp(tYVrx?7)!i(DY$5^E07L(>Og`d=Vk=K4h0dnLGnA~A zGKCCI{RyK>a?}lo?M;#zw|ela;=F@|93z!SJ0Az|i+opo{`kYuT~f1Gcf+LoOog_X zw-f+g&t|ujq|7U+*Fi2GAJ^fG|_#XUg~!GuOzqhz6xT)FelxRDkS}PAT#rw1_h^}k z8IJBO5x?&Mw#jtR4WT%Ge6W5+rEn)gsPD7WTk;Nh_1PjSo}gE=y<_);h;FK=sE4K$ zLjYEL({gnU$82`WlN{&I{^d0O3m7rIsQ^Pla#$P@nNWiJb_nj+rQN^F8E$_#gE9 z{~r|k-`wEFLjwIwi0w7b>CS8{^zH6><#nJhRvzLM+OXvRb0qD>E$_?jfM>FP(LBEf zV!5*yi(J(yPH(f=(ykE2DOpp@Rk%*~A%u&@<}aq>|L;fsAEdC4cx_~~@~*lYHyjbL z_Z7$FaO=$`4elo;zURlouU{!A$ajmlZzD%QGI=43S$-r0zXOu!R`dub)46FFrQI9A zrJZ;YOjCb#YAQs$QSDzL690mi_)kClYvq16N*JQWLC`!bG@q(DV2RrNl3@9ildPq7 zjp-GMq60aQN_{ zp*S`6|K$uOH#3Jq;Bbv=oXqAViXxfbwQrLtK8P?|-j(3eAJ4kYki`%v8{eB)MJ*cw zu~Sy(zY-ZouxPyQ;cnNRkje6<*QowY5~GW7%EblFP^*J;rwpM>Rja&oO*wbzlCgo=>pAD5Sd@)93P}7`9?U*hKuU+yqqr`_Eb7C!W*E zgd7KyxhC#*Q{#&VmT%N%C4GiEk|ar=VH2_iOFv# z2W~~8*3k9fZYaQH=>>yifV*3EhLkt4gnDR&DQXmUm25Y72e31}JgtH{l?@Sb>qxYU zd%@v7jt2|xT*TR(CJSo6=O+5kMIIn@nEsz!0RPL={l{Ccen{YlIlZrTfr=^CV#4`3 zk+Oaygg{XjXYx~3Tw33ka7xykOn!k-%K2OUb`jLI*)To!Fqc6>pVRg?MB=GH{+~2O^%{3^ z*|`ZS#K9S`w?$?GGGEJNLMhV-993Oe__#@D(}LQ04W9K>fRlU-G8bh9c%y`r`R>f3JudsQp9Y6il`VE?Iw{ND;ONJz9pzarrK4h!wR-}+kZ@?P)-1$#`Eyg0$= zZTu8x$gOsTiuUfcQ4%3}N|uqn2j1m!Th!pfPDVchr>o$Sa;ScqnzQHj|{hqE94LZt|qSDh=)Fm*?=+mo%9q$ z0PKiDGfLEd|Nd=vwA5ZZ?=qkd%aATnLLcwEHZNd$Ae8D+6f54j1Cn^fwY>`pSV0VShpfS{M7>eUv(mqDIHQdw9e z7!L$I9tljA6)$@Cp-+cd{u^n{2x8(5kUU)ur%5(?un86#D}4o_7GT^O#LnGjBWS!mu+RR zx7|1<2vkSp*~Puw>2MKzr6}-So0uTur8R}5wx#+N^Qrt+&*PKq(p)0{tau%DUbh#B zH_|qw2Q#l`MyyzgCH)n|Qwt)+qq}qE1!kWsN!s`zf0;4V-s-N>Xv-doG_9?s%rnJP zWz}||2IlrX<{eghw90984cm1;nkepW1bx@9vYh)R&|0pY^JXRzKY-HWeO8UH#{b2y zzozlotLSO1*rHiz6jm5c7IT){2I$zPvb0rTp ze$E%;XUvE>l<0C8;yycZFbsJ9Bvc;H>iI^#I>OmMlb#E>|KfR0xaKWQnH^M5kH~7s z2F1N`ug#|Czx`_*Fz-Tiy&x{V&Ymf-@e^*49~=5(kMQx$$l z?{Dp#LsPDhX;*0Rj#Qug?`eDVLhQb6S;M44X)@=F%?P<)boe3`h{{sm7Rku3<(wjD z_O0c7))tKPL+ht!dbaMyvWJI0LK)#~Z6N>E2lmsQ_4tJ4rK=8yWq)fTP%ZB${ znej451V^}gm;U#EYDu0yFJLB#bRSomsS@`w2?t+QDI)2RMX?&)U106|1ajJU96$f` zl_w1{;ZS~XYg!J*2S!w>+@n|C>ROY}6hWE5gd}c1vo|3G^ef-$y7)?ez7YX(K@Z)f zU`%8E@cQ>hli+pxmb1xD2kpWVdq*QYpU9IjtLaEwV;`geEwC4-C6iJx5I|Iz?PpI2 zB?`E+_8mXCn9OSbV#ZO(<&Cxz-dTf$R}Z~Yvm8^4$I)pu*O`x_(GYKX)5SmH#ERMOA4QC&nMA$x7iq;zrSsBvu$ zMVN1Hbu?o$=+-%1loer#Tn;9Q~r^+?BAyEN<#M$gXHA4~Fnyuhr7 zycUluoO?rGn)#yi*NMmLlvUHZbg0af`qlY>Q;J4Hjq($Ji z&|DIM*I6*F{R$`3r^E9PlX>!zK5NIEdwEmF9+UD3A8Lwfw%rf%%StuY-gawfCg z)>VjQX1|u(Bj%#Y4J(&b1#q3S8s57k#&9SYAjMqJeQF(C4oqw?N&K>+<#=Q6 zeEvirx6u!Jqh{c-H4FYTF*S=vCD4obPwYJ4b#~`TQs> z{j&}!Q{^&!$S%Er{_9A78c)J$CIqX8%9l-a0DE|6LmuL`9Gi z2_=S-lv3#!5fD&9Kndv*Y3Upq=@1Z5VvrPRkcJuQF6r)WhL~aMeZG62{hqV-I{Wwf zTkEW|*7N85G4sslbH{aG*L90bEtri}5{Ls_n*mn$|tN z@wa`l&@d(P67VwdVQ{cr^P33u=BMN<83Jc}CK3@vfBPxPQ2z{!KAuQ*_@i_*yM>3$ zq%e+5{d})l{cYU%Xq5lGsKT@34|G<2VjFl0Spw=1CrX3-wQ7U2u(4?8upx*IA-7=+Kz5H_bWI5D5k1({Z^npTcksx18Z?LF|*N#;aYI05+9!6VY-y6d$(>S+O-ts34a;oWj2xi|eGjOWv{B&n1 zR{jUH8`Q9r6|gG|sPO0Pp)HqvH3yAjaUOW1x_p0%Mc1Z-mMP|j+9QKaC4WN*K!y&L zat*lpYOQ^b636Voqd@=F?iDy!B6q!R*v3Xy>0VM1^Z7<|wYo-s*S+0V*%Qw-r>g<# z`01U(jD&GwyR)-33IoRIP~jZLJg8NQG4GeiP1e7>n@D{0H4ti5sskPYJ?VQTcuGSo zS!ngN?_8`h1M7gtSy!EmTTsjppbwL--^0`3N=oMa5%7JCD?X$28=uB_q_&2nEb7;B z*h+g0MPg)^@M^2?etZD3MVQ$Y-|eoeU-trjn3C>fi@$%eY$#eJey~oxAE^YYuu9c$ zRPlYarGNA);EhO^&<__~-?tO?3{O9r8JLf<*1j%ZtX;-rIz-;^ozu`U?2^=-GMIWd z1(g{5X{}cGQ=jNF_bV6=9?TfDOw*C3Ds=jhgm(o*6hOeB_%PzOB29Bp&{raZ3Tf%| zK82)gW+`FQ1I`xd*XTFG zUJ+yl0oVpr?e0@{xiV9I%BvLia_l9UfqCR7?CLEki>^COySsZ@UiVXe=-CZIIju3J zbz%y2+?K8**`WO0+thI0al>DSiKN4xZ2iA~h4#?s8d)qfdRF)2FQ$Gq6LWoSC&y;S zGKk6Y^PkM_;nn(6UQ-0E{l*4ZIHCVMx&`tGZ9y-hFYHYI^eJ651xjoLc;R%{nNFyj7cR#S;-!qUL5w8o`iO5Zw@(_#CcI-=oX^RYXOe5@4? zW;3eC`OWsa7FCN*C~iTMb^&J~`=+JTZ2f>1cZcc5J&ub7Rg=f>lU5iCE*xqX**-t1 zo%gGL!?{mg@3;NxT=_4%e*ZM$XX=5W2@6OTF(Uj!Tmd;U6X&6SD#qV3p6GE1)hO>- za%+ReRRLv#n*Ylb=9%}!{N}_>dxz)}>tW{FRT47IS=6y-D~@y;atTfz<4Hyx5TIv2 z?Uh?!${Z)GkgkPn0!LM#$m3Ajbww z*_%G$%G}jF!q4S3hq};W!vpE`Ne=j+@ z(iMR1zv;^n4yaOe-6G7|KjpWC8&;lA8ZbcmKl>i}{?;*Z|8ge3nRm7%w)m1OVF?}Y zRjnqb{)jh+(ht+iCE@z$i_5Vbx{#ZxxTIO@Y7~BnyCrJXmz<&QdSCrc$W2@iv)4A2 z6zbQLq^pi{&KXv?%x@h7E2}xHLZ(D^thLlZN)L10f^+J@ueD(ek>v$of>fBVEMDp1 zNjue1WN*~8R_6PS;Yw<1$p0U0QE&5m@3UJ1#7kn{xG=i0llDXwO3o@m ziC{STzICRhQ!^?ByH!+pz*SssD`gLlmBDNi`%VbnY@Ic*%BML9p#ZxiYF|e@u(GuBM=zrpQmVr3BAp1lasEboVNVR->v3h=FAyTCe0SZ7>PSbQY5_aArx91;gu%- zHb>2fGNo#yB=$#vYLH?E`f&iyXYdk>7;>YONI(;ewf6b%W~SM z{VpO>7A2{VwP)@chsH^^iFy`_ffxJBnr92tppGWUL{6cfwC_I1aiunYJxJ`D_URwg zW@@C6#ryy$n!Rdn-}vr4cq&vReaKaifQATA^3l3`=q$k?4jAO^$Tw660r;(0p8j4$ z4(U)0jf~F?Z?=al3KS^Wmzjc=$smUi(zZ~N2;QZ9tSmsLJt(v*apYnOh{^QDg*6m) zK4uPm*4LL4ax;I`$aBfATS}@z1G>nwKPq@BGve61@*sEV8kl^zX*tJU?7x`<{g2S3 zzbWy+HfD^lCNX1O96yxI6Dzgzh$T@<#Mq*E?-4OhHLz$OYas3Ni+iNA6+r?Q=Kfh~EJ?J< zCu?2$aDVJRb^O3T24IC7&scQ)u67D9@~L?^)ibtVy?*o|Bb_7bL!yR?F#w(>SqJVV~K->YZ-^D$v5^BJ|X*{Cq4q4uiA^ zX|CGN4vKu#>P5Wb(G|yJZHIFsGw|-D(aMXSJ8JG1M=hMi?lH&E|9D$8;c0N+C2eTr)P!$Qdy2j2W~=8Ikqp%`=ii2Q!5aGP6!|MR~@ zMgiK%|8-6=c*Ve;iyqtJl0B8NVMy=d$P2I) zFESvYX`f_n95`Tp;RmI27{nY9A8FJS$BMKIA1={Sp%7L8UZMUrrd?^TC#qi%sza0} z@kIP)k>uqPYdDjQb%sxlk>^By?MAKCrmW~Nk5|D%M8?74+5JPca_4fN%d2;GV4I(@ zK9>+QGR)e6EFLqOYe2U*)llqEyZKJ^bZmJ4WNNYM>x9Up8La?PU}ojjh9)^a0Es+V zxK+q9Yts&oC$b?NBKS{6(-0oylXn*HTyY-&wFO?s6M0_ye=wR}+p4#5Q}^yZ;n}S+ z*zQ^eW~K>+nVD9rW`Z7pF5^jE>fvg$qhvgGm`~Z9qxm*3Eu+5Zyqn1iz%{tNCjV#+ zxjbA*y6fNs$JX+1WM**-h!9E)gNi2jy1WKvTB9oL? z!+mqhAC4DUbpI-Mer~fPJGfZSF z&k@-T*RqTOYDitcJ1l=e4sX|VmP2YUY;yM@o11E;f>*HlI9TbacVSwe;ki@ud2RL7X5EG#nDwpwW54!1MB6LD;e0ft2sy4% zrBIya1Vg!Kf7(%6PyMIb`fMpq{zBR-KGSE_StXp5ew}m|8gP>T=5jqCOWi6$^vffW zB*{JS-!-E_pnHT0Yu!t3`@%{O`v2fJb$z9J&8>VdTQ0}^Q}&#E_73nfFBs~fE?ZEB zSMx_LTZd{N+olvlfm|~SE`4`gfJP)Z)XtgswloaUYZkGai+krR7Q`?)S%9y`cd=_2Be8{nN#`oX)Nc=p z-6 zqK)`m-(b9Z=vgo8T}4XXDhP}A>n>XCsF~j`J$Tpr(QIyj(OZGN8t-6)AM$wRA5#e5 z!x?LbbCJmks}%jNEU(quzJSv~Nr6#pDI9mj^XLv0@5hXQ)z37N4QpPNtn&L`t+OhD zzScmAi`{e&&EdJ|9`8^&!wHKUp>D7VK#nS-ul7FWtFs9G0vzx6?C3H)b*QQLoSMT9 ze3y^*|3nK`063GAtwn}B1>S8-E5`E*C8>7p5o&E&dsP08snZr?ll!)v~6G*?U&s z=O601WXd3NsJUtP;en+9O9UD=TZoOu9rrCL??15@#m|r9L~0dRe-z# zfIss}-D_R(b=AXC;F<{ueU6R^7s7_sQ@(QbVv1)t`iT#Gh09-`BL-@>wz~aJ!zMfq zEXTTI>&m&*ss-_vW#_viqdpXR9X~Ph+dE@>_N!YKB~F8WlQnyf=Ir_h9cIs@_G3Ti z+UuY?qNYi;FnE2izbeljf-62d9uIXPvdI>hJM82bzd?76sf&2=*?4X{?OHC~b7q{} zq^!gEAS&c_5|^2Dd7}yy`yIv*1?K#;JCekbno7)(qF0rEx2XFjZ+vI_of8||P-#ZN z8c%+A?R5b&!*@CekKnJacY6yGKC10Odm9ZzZ5^BG4)1jh-SZtPQM5K>8PNib+&lc0 z9d~Q77juP}bSIb%9(M`X_MdpGTl0|CWZtpqKy=Qoyk&o=>Cjf&{02ub7TJj15q|W6iP@2Hi~Xvu$wtnVwe>T%NQb(`Kce$)#R}Wm2Qyrt8U)^_(#W?R zT=i4!^kA+|3;%3rOScBNB< zG6#GngQliUag&SeZw8hsTa=EVj$@n}HMa5UqpjE!CR-`Jx0eEw{-doI<=xPlrYy(| z=U_>-nkciau95rOO4br5sO-fVb-eu!2?+HGFPpL-XiC*gkP-Uv26xh@u>^o-C!Nl& zXz4x@ONKVP4!Z_fxtTpo+Z^%(@slw%(Em&+UV5HzKT(iJ?hSW-sAf!f$F*@`A&ij|HIASWFoZaigBnp zd4yuM+b;+(vS;oy=+u>49@Wi+yCc!wuLZaPl7J}(Cw0gZeUCUm#;E?@Q~X(Uq=P&5?1-1+7_tf>6)hVyBb8nP${ zu+Q1eqs74jf8oIZWor9!nM>8YsBMFBF9wlyrHT*i)sM9a2p!aZ{xIDZeap1+s<`6c zprCwswtSAqO$juu@-_i1J=cVRZxa1O(tGoaqij>JUu?F9gU;i--~#g1kH0)e*bhC2 zG}!`9FSQp;lGFQ=TyN_cGOb>|pB%1z7oTS~aZu71NlV?OS{vssBYiaFeR-jgB|BK~ zCX5u;py_h3g6|Fh1qXoO0UwEfP>^5aY1HiMj&}sSO6z_pPvSutgu5gs6hJ$i8v^N~ zi1d&7Qp0edrj`7S`X;e_<&#mtKWR@l(pZw%KuNj$XEVYP)YJJ)O~T|>vpG&4syJJ- z@T=`;nOW{|wFny0r*-!t_SP+X5?Dq3kRQ`GHHnPQ82d8{Oam81jd1K@kzK0!nmp#2-~FU`>&OWE1>wz*Ga7sLv9K0Fmq0mxq)OfSIy=KYv}u`S#41kK0k! zRV-AfwJV;%x*T?8%l0Os=QVAH*4@7z{sKhQAdnCtFh8ob&hm15wbZHM*FH=UNyr+X zaI=>X3?@_xlyu>yFbHW7XDO9*4sYRe>(Q5yTBHh znED8YcAV`SO^y58Y3P5lRfF*5#BVn0NdS5#Fw0-M1!nO>>Hm?Rgi@4WD=k4@_(DZoOVfU3Bk?yA<=Vv_@#F^0$09{0Pe`w3Q^qoL?~80 z<~zZ!<62o>TK3OGX3GbNhSu8q{yf81nf~GGYWGNH*8t6iWVgz$$Ai|g`TlYs@qZI| zfv}6*mOsX`Bd^+*G^Cn?j*pTk;IaU3^s#hcge}#<=!=(N`xgv6&jH@(2I&81-lzi= z_a=V$rZ4f5Kdwg;B>I5@CI`cVjB3p>*RS5AZf(S9KojpK@#NnN4Ob2!mU}P|$MP~% zT}XMF)g#&CG^U#t+cOp}%5f!@O!7pn;_aS6!&*3h{@+qa{)>10Y>qu)kX`uMzOm)6rT{RQhZY_vC^j zRL1Bse{fL{5Xyx|3h5-U=a{G_y8J`*w0LCynSyC{Y+XKwiK)xf;`z*DkC1C}zA@CO>7XAJ>A*#J z_rb3#a!V*h8Ma}^A$d#T2A{aS}edM&-kkJ zizJxVi1!3P#_ERy{`vkDkZBS>^7c9cbxU7XZkAw*=f5#Vv(-sfSbt~pyIs#qGdzoS z!JJl$+K~EgS63p;o)qs*NVF*pgiA*L-Mjw}7--oy{+jxTq-Vr%n#f!MHS9SX5%04= zi}#!Rjc#{pI!CpQV$rgwZI!KmWDrkYe7pf9)HEd?fZLh_ZVvf%-Hn%XkoT#F0>#Z+ zUBUw#+}2$8ulu@_Kl=ZaQi=>>eQos?AkYgg1(-?|E_@9q9&pZCOL1x$`1Zw|>%Xx~ zgR|7@Zjx-O6?aieN2xobookVl?EJfBVRdRon>sp}+;E$CItfzkfm$lCM zo`n1F(x?Br9{(e#J9{(8 zp&t_eM~-P`;l|s4=WPAQS2AU03v`wByFwoKhHJnj02mDO)p&jD6fZU#@}FGOCu_7c zoPRPb$%N(l_LX(a!>@&WxcAH2eOrF%NBoC-no3}|1eO;H@9Z%ng&MAFx&JPAl!a)P zGH9ln+LKV=8K4lExi7MXhtgp}_K~g|{j54fa)b*b6t9JP^2Ty_Vh{A0W`kJ>B1UNg zwO)jir6*T&knZP1n{r*H%D_?xRi=0T5=Z*q10RRDXYTGUYk)990uT04j>h0)vD-^` zaRi2;%OIhhWsqrkUUF^^xmiYR(DW#as)83;`OCYeiZ87^%*o!7QFq*Q5DtITKqxa? zG5jLSp}>h4lBQd|X2(Ohdd^xdMT-DDN@qY<8s$Sx1VK)=z~Wv#O{*g zSK^4kzkQNrgF2&CHk8N+zO0_&Rj_iA2t2F5;iF3RA6+7@qoDe(Kzix20G1b@HwE7& zCq;7{y9X>K!#{*6T%+{_Z~p083Zus5eCPXChb5t!g%!Xf$}{h2E$d>gN_eRWs3`yL z;ZFQL4)Aj~TIKgArasLK=vPOb8GX4~sFv>7uGDN3FN?E$gwK$4Z>SXmhT~G_1Fri` zN8OKfGXi$jY0~k6M%bXe2T^ZnSl)0Cc{$T5)(eud_&*z!i~Jp=hdklvq$v}>y}$!9 zzuS(zpL=-nVNG7u1bVmqmI+`WaTOsYz4+&RCR3G2;o09kEPO!#@ZNnTb5$?mQ1uxr zV;yJY(>dYMWwTJaH>&hLvzqsg-|;B7)KS~3H6778H){0e+>v>UMmck>eEOt>!%6ip zyn;YO#-gRHfp-H8tP$=9N3u>7zI;!J(hU;YM)|y?<4@S)veQuUhhC=>0$TLquY>p;yq4wk@sIHQe`q6Ins1y3-=@wj zGR-Qb-a^aRM(|4l8@?uf7|V?P3TTek7NLCmYtGrXY4`M1iFs#~XaJ6I&)W#pbezby zpKpEZ9RNT_EpTxe`<>2g@qjnaTDIce_*&^Q`!~ZOxK7>ssS5=&Iv!_K;g*c(LP^98 z?)4q)2?hp=c%}k+aD8~M=~JM8=)IT*+91CGm$*H0=}&eygAHE33ItaQV}#;Wzz`VR zQhIlQ|Bv5uO?3e+Qz}|c?uXbPDiJH`#1rG3C!Qv|X-*M|D0+lU8C;o>7}TLCy&^c| z!~A6Gy#3zaU!Z54gaCmeej(kdR>c3QX4@M2dN#Ho_77H@5Tg}n? zfQM8p7O^>4jU|^HXZAsk>KXf3#ZQB;)-?8eESeMp`r=p+L zMY;?IG=QIf(Ys6ixyQkC(ZSbaept_Sc`Rgg8rTr>J~h0?9}jsskFS_ossI)@cU@_K z@pmDdxGMuc>x*`b)FDieM4TS84h%v<4-4no<7KJ3$)$c4lldHmiO0uRT6E_xZXlD? zYgpw?G-9oa8SC+~wOtSF?mZ}b=dNa9|F+s?!+aO4jf0jp>IC}Otm8*%y#`j#Zk6o7 z#*_BOpyND3SraZ)I`s)bECM;#NJvqBv>lYP^~AxlyD-gJBti&UKMpAi@d$XyY`!YL zph){rAFP@b`PX61lC1)8PBmC)bl>kdw4TONTvR*3(Tjblf=+Xe)itG>`BAKo#DS@- zLp#}Ioj>HLa&xe*rh2$Z=t9uAxr0+3GhyuKU6JW+>nR1S*~t00nx{Sd3s?g^%}%js zJy4vu1&`C`L9^8ym4QrF>C2D&qwU#Q2Qv7-qEK!e!h*#tEtF6NuWcJsoU2+;~ay)+UhezyGaTi5voI+>?Z za83zWLHdM*yOFWN#A~W8INIJ>M+Xd^GUemLANd65;jS&nsZ3c956F)_)6ZiCqO2kJ ziX23KAUB>2!SXieAefj=&TFpw*uC|JyTV;&shNT};ZF?|dr!Df!APBfBi95NbcFx! z6GD$dw*5?%=<-SU!3o#RjxpN9h9d$4rwMs@F!?me%$`7+1#3y_{obvPMNcqX413r zQ@n}yPUne2^g-={WLEIWWYdxUR7H2A`>q~}WWxdbi7baNn4}Kyz?tldV*uT_4}$}P z%NgxqX}blD{Y^)Yp_#&N@rXC#tZO0hFK!TY8{eGsMr z#=)2`uGWXS87nR4B07ae8)BOnz#SJoUzMDFarcBJS9TFd<#o( zf@z)VeqQqo-u*s9(zovy?6RAVSXQ53*X#zVIZVi1bf4=DvS6qCL$&bBffdwy8??MC z^DViB?!XOGzn13e_or8=7f*%*gka1Lx0ruE{@Vmj8DvlNQ@8kiVTRvxKYwB_iH|Ow z5?dzr?4QVMRgyRv%tJAJAoGaLIR}P*3D?c8s#c%9{O4<6_t~d&TY(|kkT;aKpZ+T7^sOMa-BVGXRg-<@E|_`$H}+TKgKqf@@vD0+I}ne%}a+yDjEvU*odP^>wY z8q~z(kT{7gd8BifJ=4=nR_g^Dndh=xbDn!l%y@W!HmxVO^xt2dCGWUT|D1$~#dT}b zxk23Ul}kV13rAo?9?zBl9FIP7*&nX=GCFQ6`Z11so1ldwUiW?BOFtosW-BNgXH`cM zzbMNBv3dJ2?`G{$OiXu$%RVK@!e7qA>b`FI%R+1I$hO-J*`LWsbX#y)yzcJaS`N`{ zG}-UD_za|E(?@|1#a=<-#OcRmE-pmDq)XQxrtIe)q!%7K`+-a37bbZ8A1Jy&y7Z?& zCUC9ob_#+|@?>xSjYK3FGztnZ2jd@4HZpoWW3;W(w2(RiThIOzHN;zE0D{ zyGmhy4AC5mVOTKa5}W1~tkfBmR~cQaChBN=Ie%i3E@7u5{dMi9ozF~{TKcr;3Q^SR zKsiy7UgdMW@|Vts_%m@-K!CL8kwn09;#46=>Jj0s;Vtb(&Y%W**mz`X5NVl8cE^&% zsyxVUY&gjfdhVyT$uX4!$}LxB_Y&x8gVEz~e_*Uj+=5{s=N;D*#UEX=FYkbivruVp z4lIssTzD0E<^N8x_WZtv36%cdIO=zZ#NAgL_nfN2L6Eir%t<&_)Fx5p?ASt6I`Eq5 zl#vJE6^)xatVb`3Uvx!$u3eG~pFPsX^-vD3eqkXNtiNkH`)lXKGU7UgL>mmZX)xzk zt+v`rRu`^^j3EsUqi%#UmrwT4mqZN3`5xF9G6d_bq&vZ*3l;p(3zr^~4Ri`-N`-Mu zTGcan2hVv2fQA}j2YI?{VF$2loHOj?#mz$KqiMarNjmMmPv1PcEc0EPV9Q7lKHib5 zH7SfMnx5fBYzbDBak<6gzVN-R?TQtRDXX@|e{p#E-M@@z24Ituo|nI5LYaU0@&)fn zrJ%LRR|jytAg_jA-ZSvAA&?(XMRO9`>iD-g(*72oj%FZy$H2^x;b`) zHWf(saK7Q1Bq%3sUQqxwr}|lRo~CqXNf7sMyyr(ml=OyPivjy6I+NPD!)7TThoyoq z3m+FmbaH*p0UgM0OF3L3N|5r&$46DO;vDf1yQh-BmfFdsP2tT8UwEk1JN3S?kq>_8MS9Dy_8P*P7l3W* zlexN1Qa|@@FFHs$E_FG!6ve;&QSnq}5RG~4XxN;1y}NAXWt^JWjQG$Dui?RHRi}q= z7fq_MWv1lem#DW5E>=zFU9uil@pcClxs6@^T^a}e<|V1ObptFPU-YX`FElb+crLm^ zfh?cG&AsEVRhOL2KGuxyhWQDTG(d*&XbMX4v(NBL=dKZA({+RlJpO&4f53B*A**>T z_t&Gn`m8`vY?)Cu2r(VgB#4E{<{y2=m23(oPp}63#x`5ZKU!vJjg=&AT5dznhbNMu z3v8(4ySsmI1vSRQIUYhvh9#xxA+qsHDL~abO``pt zoN-x<4$FhHDHUFGsk_8Q^KM(q%9g}a?D;~6E#|ib1(JS#GX6KhxDKKFq_NZ<{q=?@ z-s9NYmydEtx~e0^==qAAs}umoSZRpV*&x;I8M8=U z$0vFFT~%5RK_x$dQ310N!XFSE-SST!K+10X4i_;LTgD=fkypqD&CBZy(y|t34{IpS zXetatY3zT8REfJA6C(yID7#)97oL&%^uF+uKh$7^W#Zaoq0XyFd9bWBJ>mx%cXBDb zX*zIHV-YUDXzwlvQ@e(@!7nfTj8qKh{PZ+5X(XkI?0Geo~&WAY3zyFmw{Dfqa22K;R zBeu2a7;3(rsigMHX4n>!rpSUny1Fq1syDs{%|jWQ zK!sO1-EW);AEL7}NB@LayR?Oe-|%w|SXt-9JdBiMLeLcqF&Yb`#;!&aj7$}trSdvL z;%HkF_qNX0k7pX)`J~R1wM*U8MRm%JWf-1r&mc<-oQ&)i8r2r{j`iP`Ixa|hoYSOs zp+g=YRMwxUy6U`H0*Yl@-^0qeD3bE}|KnZ%-yh(M58OISYPh2Lj2Dc={k}{b2XUNJ z$Yy=HYaV7e5O(J<{hmbqF3~6v7O8cLyqS3X17Rwwo+-X)A`Cxt2z{WklvoBT*m@tq zdof=PX+GkbyK_j`c5BJ1vQFtvjpk9Ts>~5wWZu~S&}PmdH8b_0;dcp!5;)9#w?0+G z_LtdrVaX_lVR4%q?##0r&*nUj;`q25+oJxuKLldj`Y?k3>zGLv1}qu$XB_l~_#|TI zD#Q&dzkB0!Dfe~j`=}?uO$n?!r1!484Gmj^fAQSE#GT28Z)1tMwk@)T&*^e4AK4tP zA$auT{dX7Dp>&_B(xZ8^d~8iW@><*i`F(VgJ?&v9RrT2|Dtzv%LJ#J+2smyHztI(K zSJ4Y7O%0A19BXag7QdiU=%<~VIiE7Jpg8mGIE2+XIkP?$APgf`O%odZr$9ja4^W6Y zV!Vo5Cf`l|vY`gr6!tln=)vfFq%qi!W_NCas+F`D7MyGiCFvUqq-k9Ni zfO@8_T}kC9rivw5i5qB#KODXm9X;D~1#e&3&DU$HBXIoc7-qk#nXSnRx$AaQ9^uH@ zVua`R(y8l&@4tSXdDMF5K;VzO{pXCTMlqY4aJ?8Y;C^$_xHeH*RcMMPq3)7_bK6?t z>hT6XiQ(CPpdbYbNBd<^uI*NgGOY$GKDX1PY~{nbwxl8r95cQKNnX7cUD?{ zq-~#O*=!@uu3ymr=XZY$m}MTmToL?D@9q?C`!rtut07cUcz$Wk=ROzRd8Ll>^P|e{ ztWm3#U`3sR5+~1{l3`i&K<%QB9nhhF=GV`l`zB%WoXyu(IVPp!{m?fnQ0xPy!aJao z_m7|fjc}%b{m}~re4%|;%>5T_XU(odRp$(%72b%=nebNpYJXW33bDm-Ic_+G;GL7r z_@>$5vXP(+HPyXr9s-!p#p9wLAIAE8&g=jD)G->v;m}S^+kf~DT0)5})88As8!i^8 z-km6(%aCv_(STQ+)uPL!3_7D|){vQ=OV-!3nAh9Qu*GZ4Q--c&=|U&E zO@MO3p=YESbrkEj@FK=*WM5-DF|b?BOL6D^RihD5kJNXXg_!)Bt(kiFrOqIy<(w1@ zEW1I=4goI6gATb}vC)}$WYTq@?Y^Y|FBX6+v_(BNKWaw97Tk}pwOfZx1)(&+3E@6C zpSbrg!CfRBWkm1z$CuB-T&zm98rr-E0|*FPR$VBUrP@6U?UCePy6VE`-C^GTS@SKV zOopK4229>|EB0$#*|kyv+?nrd%)+)Oc&V{GgktTiTDJ0suS&C})KhJr8@r0%oC=f+ zg?b3>gKr@e5%0XyHDC#s+E>xqr-aSiFCMKPv-LK@)8NT|M`=yLk#IGnZ zI)*cO=mntyfU2GB{$q{{;ZGD@m7D|oWNW`jRvntuo)jAvB`&yFI2jZ=GWnYS*1qU1 zgfjG=Sj5Y+3And5Sl=3L7q|da82U@VqIUPmB0I6OLw!?*aAv;*>|>7-*7+Y=`B6q6 z7iVsCH8FXXV3~+$*q8jfdBe_qj3J5`Qm2fv`ZKn!$R1%*0RqF#-5l+ZzlC4R6QE&Xf1Ez%EKl*Uh0CCFW+qF8oO$H22zi z_7GZW^o4CA??X-@v5zvS@h4h2QH?9;Ki+uA!TuACYKu7O`EL#liZQ5711E#j_V_Ac zFh*}xL?`UF-BcM6D2VIcfW^ zk++gEq8^?Uir#%*nm+yWmwBdEYza~XuqR*oQ)8FDcZe`I-0Io?I)LKZ%Q_M)#o$kO zDW(lLvGSXBeMf^Eb$3p#r{`Ky#ncLZdd)VY?nngMJTZ-V*ll5rRBp43D_632^39Y0 zDE(gHXXlX2?S%gBD~1y2ghOla4bcxHEV%=gii3me(9)yga(JYCx?^)CAaA>MLKLL| zMz?XQWig^nAUpbV)<=N0@;cTYF(@h$_h!f0!6}_Vy_#Oy^22w&yAjS8-rnZn48A6I zQb*&WB#->CAb(6R0DIcmyR@`jzg)Dj&YD~pf+MTAf2K(~e5+aV#fuLW(HzCl+ggV@ zhtikdVZM8Tgq@_WOmD5^#q0slewOJ8E*#VeJE7*(+X_L1vKT6AS|8NJ65$)@4DWVR zfX_^&F88098-e;?WaEDq9;|7|Mki6dG5mNK&~}^i3ki|$O1|!XAM?~F?Y9M;+A7S= zM`g(oKLXcy=RYj`3?uX2Y49?-$@YC>LOg8s*C7`zQbsL6H&i|289U$opn!hQAC_;{ z`Tu1Re~ecSRPg%x@rH8P$KBuGX!`XJM0jV}o&4;dZ1Ml{j&3_=!N&{c1E%SO919Xf zgqk;&zW)5aE~OB_qkmeggaffRZ=vrii7lfbQ=kzI7$`T6{I^C;_F#y2ueAA98gMQ5 zIL>c*y^_zDhE-CY&I>PqTLTK#e66wQS^yLuqva1)5ReVzi!fsCHN7cIEAe`AA6A#Y3fQ;#?HVDBA&}(EXes z4N9voxDHJ<8I&>$xssA2s_Y*+um{BT-|stgq&s;}$f7aP+~d=?8Yg8Ru|OkGVmyX`j7`Iv}0@Fzgv?QsSBOjoxu^ zVHZ?_>)So+`IB?>k#@<8*xi$>Z>yNGZi(1jZoVD=sHk&|IMxhtQ#ho`F=z>EXn(TW zd0}0j6EXGy0OV5oleZB7#H&;NA~r)kX=RC*$hxNe?aPKA_Y1@M;&^p`8Y*M7$2T{J zGOere-yHl`6*OU;u{4)VtKSO2?VgSA2j>?9^e<@Pg)3WaXpXqfzIu1{tFI!iDWx=J zFdk_85xuUeSp%l|)dQ)un-e_$`l!WI5zmtF>DH<$$LUslveT{G4H&MLAf=sY>&(i* zcGnh!>6#I4w0nNiR<|wDpr4f%HI$<4Qx$p@O2~hwka6t(T(>udrSmKP!n?O%TG~N$S#VXbS3LcU z?COF2T@y^25*XHTLU$(eT=yxcu$A5+iv;!1xmn#1I(&thfpwEjd>trZ%Zo{bhWJA|v?w_nIZ{jUWj>Yurr3*Rdl)f!4XqxR` z>4^BpP(;5FYMbs*t0G>sY`?Y}A3`qkc;kuhg-MZQp+Vl<{!BHgTWhu<<(rSOw=Skk zUTuwKNja6hEluIdUj9jW_u|R(oU=k`ch?x@zGJ~XC4(s^D zhV;I>KvrG$IE`Fr{#H2;ND3Xs)I@9lnRsMvgM~==u4GQr7C>d6ZT{4MmSHTjQK@r+ zVTaVW{eAZRokyMln;_^`+!76(;MIZ01t^cX*|05a_czfQZko+lD)xh_;<8E)2hWO4 zV5P<7JpLIb>*K~i!uNLjvu^08qy3H@oA9|5`t6^{v@Ae=;(fqiW%c9i zO9$V>9b6HPMsvn-u9RKdUv?&xrkM{cALDtf?U;zZFXrF8;Cu-Yb(=nZBc}VqP3B5j zO45*Gjq4jr_A#}UG2}$Q2?ej~9{V6ZLu5CT(_rMX;{9ow*M{Q=b$G|i_H|Iw6XfOc zc#=lU)ZK?zv!%;c|C6h`p(6B4sTT2)Y+1Fg6Cy1+%6nJFQyhhgmDBCDD#qUa+W$;^3o{>QXQVy0s|+CrCtp!Gn4@0h>x(!P5xd=|6(Hi`hVa&pP;0L z7xnJ4reLY9fw8sASu}Tev*^GftlSABwuo*Z*&P_us047hvobw4pZ3cyEbm-l#LDFJ z0pL9kOl26+{fCi8rmQ0Wx)IgkA>>ePAjxx4ZY|ZW{#Huk;zcU&=;*Ba@d+<=kQ?Ev z68jzpM9WGZNvOnlf1cL<4z8gNfhSHE%(5epb~?(x)gI2_QU#Sw>^(~w=e!A#7Kq4( z8+sjox0JOw+(Ud=YYzcRD6w5wZR!~cwov|hCnx;*_4|^mH))StqJGCHc znVdVQoL6ufvihc&5qXN(1CuVCR(62?gY&&oJ0o&w7EWH36c4GxH00F4g1Rg}=at_fW5wYIuswkn0cEv-Ys##}$}T~PW-i&9Nv#IvTsK|R!RMah zFWZ@n?;kK$=RW6qb52Q|-4|KD`|sDfG%5f*maVoayaQJ|_q5-2=oq!&X<>e}$aMJ_ z&T9!s&U(4u_X-&q-6xJ=k`lN`{OCZbPR7%RL^1ijwr(oWg?hE!hDjY(K%`HC?F{{I zSN@^iE+^}6axqUYP0v@LiI5Ozs#3D$>7eCURZ#}HbO@giQHS26zim=h;1_>J zewGriqYw)1N-(2HV_?Ny-=k z$I&5LTr3}-w-;GsxN@_vR}#SIG{C5|xBYactdo*!C9c|VM28|v>t$H@5s7aagZg{r z*_sxoio#p`G$TT{;Hk#mBDgys$hLp6Nx8Ah%gS>@xIBy&96mNIJ0&2A&)|NCxbd<| z49|oFX3r&iw-?r=y!=*W82q!6+Tlf>iyqbCVja?SKpXROL7W&$naa|G{BYJSdK{_L z2JiGfibIlVCXm`k#IjaA>j}lnc;dt!mT{}>kKcSl^)H(hy@$8gv4Bs`b8~5q9{DP1 z#^;o{>;`+@%Ep(D@6xZjZzm|nhu`W*%)=&X^-gi((g4^%!pG&Z>^2Mh2<7|IPiPqL z%fKHvoSy+=z7p~?Qd-6#UvHh%{P2Z$U!F&Pfyv^|(3sbQ_NoJ&#|XMs=x-R+EWNCK zqW?>=%?A25F$K`3;I81FbISoDqON4GJ1h#_lbjdh8vN7FS(*HFyg#ug{mfv6$l7_Y z)S#}6$@h%P!@RD{13@-5Q>`I$Un6Q8(mtp;e(a32^WP6Wrt6NNzdCQ>A_19OBexe2 zyuLd#h4xG8Ok@N^0WCwfsTjXPiyiK7&b!a?10hDq0FFkKC2upR3;k9WnlkWQs6V6% zXEM*wd**^W@nh{uKAt)}Z>wP|3Ap0n>h=Woz-btJet?Ic?>bu{Uma^#85?Q7VT|Q} z_*;c@`sSXP;jF%b0~V7+ul(Be;q`#eM_j7Mspl$dO&un`Ezn1EJSoJEKIaX>lM!`^f= z`Mx<0knwk-ymj27Xqe>4fj4>+^uz3p*DaWxhV0erW{-%Yfq&X`S%;Ym+RUDr6WU@czi)J(9jq zhvWLVK%-J+tQ;ryy4`yb&U@B4!sbvo@v|S=r+>KBe>9=QWlLH^l-XuD%R)xGLC@b`DkkbAg4K0rGc#^|{O(O^JLD*N(D1MY;@-<>!8kSpO~SJAts z7Vf(x4%Qj7K=fbnnq%c~;0o_xm=f@MoDToVMKBLwT1|)FidRiW@fd`l_tQ2EsX)X0 zKT3aHV-M$hN^gn`XB?Y1YMaM6pSuXWlin>fbyrbNYch{mw?Z7$R%$mv>G4s`OYHH5 zcm3#$T@+OvofdiyuQ;@iNc&q?y*y{nniot??#Uuew0LHklGuI zcV=U=n!5RJ!>+F8ycU#C`zSYiUD$u`5b0qtaAQHoNlCeZHBlb?`seHIZ;7T~g_xXw z*GrVXw7cO!Iu&7xh5ATxdK4ucU%=zG#-r>)^gfBYzGz0#3fur}bcRILCx7Twnq&67 zH}|Vto3@|Wdo6l)b2ZDZ4(d77ZqSCQkA4L8B_0;K7t=aR_WG3-{(e7@VUsbva@4jc zVRel?a*%!!m{C<4j)DZzo;?dnV6!P-H^CCph4Ov{+6r6Eh_I0$YC-WLi-XykgFHtg z?L#mIsr~ct3qEwo*?%aa&^C-OJWd)jlDxf%76#WFs1C88Nup!4OXblrYc*_`xsYq0 zisdVgx-n^|0mmy!7MV~HUDz9P7=3V-fm5UGr`KZ7lPw$ukkmpEd?BkEf3NiO zyc~zZ3dN$FNGRoob-QKxz5iJ>u4INq~`go(D|M-6hY3Hd96L7!CW4y zghT3xv`s9pCnQ$0Ay#lufS+ZJaLB372b!0WRN%IsQK*y~`6q0m~y)bGc@@v3nm@?waB_qODf=_K_tk-9K)EjMUVYpF$ zn(DD-Xu~vlt*F84!wq4Nspj)eMiE|nv~;HEGv+rN>3A-~O6CrPP2;4B07`EipFn?i zlf-$8Mp^69T>lCstReoDqs^MV*_B#bc!OTR9X4v)tg?RjYj0JNH!t^=5cem9-;IH_ zYf$Ym=i9_|<#E>cSQ(rvSFYd`>F0gvO@{BWs0&f5hl@TA9b!NquclPp=-g6tDoS(V z#dR^>(i&TD#*?9Ia?VLERjOn_Ou%DOv{f4%7d&Jug^)whUOctF)x!MR?sKeHf1lFR z<_^|40oG*veyZOWrk#EN#O0CWYR0vJ|GPIk#|fyQY3=tcBKYl$H_MNG@9Ahih_oZ?bU}l<7?w z1w6Vs1IX-BsU5g6eyLXKe)+S8|0+z5eKV93Te(bBI1te51GR(!`X6XjLx(MM&8hK1mW);ydtu}vd+#-d z#8H4o_IBYcnP2??mVsCBhffYf!ImdiD!GC}Ij?6G&l3m2isuvb zAyM6LMkTsf`Q6hrWK$Hpj4LyviD54d&$Dt1WXrF|N#Hml3_e04gwMrg%y=)S$@G0p zK*pkJO};WRXGL>c@~0}=TwV)34jOkVc=)|d-{~%B_HndH7;_XR{&Iui3L=4BSUdll zC2?nN)OFY~grYf86e-T>u~Us(5;&|@SWs3JrfdpC#lQKPmvoxUEV%vsN$PY{i0%hv zgv2kPo$}QpQ+*0Y{}4sbWA`-QTbv7Hn(4@32?ErkA6S7j2S_=f5$Q2sgAxARVUI2f0)b5_OD_NHSrcDP$X<-((&nf@ zx8KUROsRbC*h4-uwBd9AWy`zmN5|cg(1gprFX;;nWF~S9!;&VK7HLB{twI~#EgR9q z6A*Cfvv{&vH0J&d=TU)kHL5BTH#wG(9Zq|gq z^)(}?yA-uy_ARnGGPe1qlKJ(ZBub6DO?eDF7;q|LwR3MS*PtZr39Hf|__6FvpKEoA z?_=!XXB0(gdCu?i82d*49~8ln#@AB9R3N;`EKc*kpVYj7=M> zKN2*@i;w4SHH}grsqY-TntES(CiC*q+FIzdRUzEMr*mGXUmXp#+xE!h32iIxic)-K z2rBqCeicohW6T&pWLg-1?R=tBUBWypfA*s;&}@RQGByGhKd)TWAbs(*?@C?6FY+ax z30}FU>_vy84p?TN#knx9@RIzP*K_pDp`0OMp=+vr%Dt?<)@jY>+r~=Qb2OtiY)AJY zgzpFfE=NRQ?mS~CqjI>qyfhTZcG|-U`wJVp!_^IpzqzLQ)$1C7h0bZnH~r**gVwpJ zIB6ZLvM7}V%-i1d63*4;&R0QWOA9+Lysc?}sQ|eEH($LG=PVt$x;!4c=2mmFrg6Pg zM?wm65ZXtc_ApspWf|{uQk0L#RtwqvEny9Lg*6+Dw~a8=Qxr_U8h=4@<3&PyOw8Hm z@-HtXc)ab3-4e~lLjE@0$p6kvWITqGC5ffj6$?BFCLU+OTr1(mK`7sURFH$z`Oki z$nPHNj&d|R$O=_W$PjW*Q_F4lK!qTU@i9-lY0pq@TNlpWWzoJM+hl*?)?nBHTJ6w+ zaSq;tziG}hXIHs91-Tc)8ub_i0%S$Tls?mW1sNdsNXeL~o_)#mNy+qOP`+%SNt9?VyK?bDm%<`+0 zg$S0;lB`uA&9>Sjm|FOWGB-&b_4OR9d|Z`e-#a_V&#w=odgQC;-gKmg>#PsEb__p2 z^tQuUlsS&%RkCa~UC%wP_Gv^MwNkMeO?r{fl=RUtGnJa>1+~b{Ah?MH`K9kI4B=O+ zY+H&F7y_kb;iZe%T)yU;3*2=owy;`aow(T3P zlOlWdT!pDx-;&Gh$8^6>Z!%BdH|{I)OtNjW#cc-*!+hQan6L^7aK33V$e6O@FyCi-nB<5p3M0T26=Gp1g+i zZa5J*>J-&IOEnJ^+uSGw@Lk@SN&J}uW;>LveH(Ep)UrD=B! z>g0shXr_0X`eG-3;5hX8VgAu5Af(rdDd++C_q8#A^KKWaW~Wdp?^Y}6*)wRctREhT zl5BVu&R49JAUr|EZIyoBY=l0GbC*0TV-G_%}guabvT-CDfcAsxSx}m2f(Cc4B zva622IF+JBOc*WzeOB~BZ{@g5`UPo^`67?wKsa9S-d)9nb#nisoQZ4X`W9-iiU^oi zstVj1lfYQ%`p#D~VxQAw^C!Z$cB8M>(3Nk0{Q5)5FQxfMPXSysTvbZ1d-e;{w_dr4 z8<8}upR5baDz`Gylvje+#0Up* zq5DpHGQGW@SlFVi44SphE2rL-#$jgWecd|v#yJ!fPC$GhIAltJKA>v*rSQ|#d)ok> zdb!rQU&SZNq+(|PazghVjkq3iLW4u}F~l2U9TcAm z@!HDC?q{;Xeryd7@t;`R!L#;bayAg)cE!${j@(ZC*&=sl#L=7j?p&5}kP>x-R@0TK z*lP6Cr2%`(!Mffh_$1~@AtquaBN;Vus9+q1(dj^s5lFH_Cj&l2rB4R1rVl zUHdQ*vOi@9*crIUo+=8P-tkKSqSu-7YE&@6qpj8A+e~~-VUs53Wl~YqPF7O(p8qeg zt+n%{UtNZ|{=S*<30xoCzPYT=SQB4Kze(LR5z`zt|ApR#$W_#1r6W+#O zyTQH|E^%JgnRQKU`=hz(Ssm^mk9cZxX-cL|Zl&fs=xxc}>vqSlrd2*lod&Vvj$u{m z*;p0dai9xq%>x%XE07%&^DQd3Ac>+4t^L?VcZ!!Nbv3C%*Qe!k)IQxY^#w$J|C!{{ z2-DW8xtesJz2uxv=iZ* znT73XM!Csn3O)}11+YM&adV`A&ASo8=H{*ADk0%>*{&V_v|=mMkw<*)?OLQ|l$Y@$ zmGCt2qrpdLC$?P|vtP>9`(Ea&MZh)QEz<_ShqROr>vNwp0f(gIiE&$U z7VT9E_x@MKo#)0ft{}{_w78^cq+DOEJa~ zX5_CE6ruIWR^({wq&rnBz@C^DJib|AA9G&JHiEs){O6uwR`2`L>zL>F=uDc2^U5k8 z7MfQleq6TDRfEMJXj%}1x8`FZVy@!IduI86L$KI-(ct7*;z+uPv-aN?z zb={#i(!|UC@b+8IEs0J|qEe`J&{zG)GS2F6LOSn8ff~r=F#6nF>+6bw#}!}NT!iVx zmU>ehc2^5h*e9QSC>Jle-e!RM`x;j@5OSr!xL_QSsVJ!INF}e@M8$PsB=B`0xJN%~ zD}>uTED++2(%+mpI+mhop9*7l2?U7YM9U^3j{_e@d|(egxA1O#A5CFLLhW+>?jCl> z1v7A)Mu#0Z55HvTWU6-Kc`dofi$}N_mi|~YU-C=wSOv#cTo70@ymM>LL&U;e%{-a* z_$zJP@9C?@cH~G|_Ptc&;xD6LDpAOIonKvVjekGoO}?7mzsze zUdZ&c|30xwz~tvTe-?3 zj{{)j*=m}pI8|;@rV3hmL8-kIpgdlvxmBTV68&o}K)gKxOyHE^R^~W=_cK|O{*!Zn&+F2HY?L6 zDqzHwF4x|99EJ{2Y7;%etXKq1Owd=bB*aaJ{Ay3y-s zTJP`xh5=FT%f}Ahq!>={Qm!o0WLzZ>F2JO;_oMj6!0uQ3Xxk~YthjPw!aX#@`A zGk99eLz~Q_{YbMKkc)JyV3Y#?Su51qS}oFGE$r!^dtOc&GtOI$UgX42Z^(CqXCI%& zuw8@6 z@PFVF018>{_l;Sa1`?{SNIL*#qI{!^4E!7jw{BZuF<+h~`IpJSF1{84p258_* z<=yVZzTn*_f3n8@`5gsz5i{8?W^-ZHrlK-k|Oq5n5)LUo1hdjoxF;3BRQ6F@?N$J5Cz5zD@xl#a-YK^qgsD#5q-@REII>AEdQ*sOEV_&D<@%M#-)hw=*LoXf(=K)B7Y`oh zyG)7}4kGA;Zt}4F17K#-UJ`;1b-=7gs!lQ`Ai}}{2 z4CjL%2>1L4sqUsp>B=vr-sW-uvA5lx&~Xs)I_*!JX**Ca_{}09D@IRK#5m^ zWb7U|h+XzN>`nl7m-`K0!W!?vrdRAA?Gd{nc_($zG6CFHpnvaA_S=7YGE_y+npVXZgNz=snyvLWE= z!hYrd^cRbmjTr9dnIpCEe56bl@&xja~ z!4fkE?p`-}cb{UwD$%qRHzZo8moln6TyGJ-n-IVt_@BLTV&RQlU1Z53QXo7__$~&- z5kZxy;qhuVsMmn~!pDs$!Nj|j3A{~V{>n*iealO`5}f)2{R?Ys6BCvW%nK3&vwVY? zeebQe|IxF~m!~KcvZi9zZ;U@cw*O%AL(J^b>?B}2azCD#y-%|=xYShl#L~0pNOYy+ zc#GPtHoeiC0oX8(fj#3~udw|E@vI@a4p`WHiJ!shw0&xr0$R|rarpsFddKsoTfep2 zKBt#2e&|#LudE3#=SloQ5%bR#a9^7eu#M!AoDay0HZ18A`c`8{D%1;wa(Da53*8C2 z$i~TRlEC}jWW($O`$$jErjYj%p&8HZ!We`mJ2)@bu}XHydyg#O{D+fUc$V<^$H{N6 zw0>btH^=OoUe)}Uz58!BdhIu=)t6d`m?fPq^=k?Z%7z5vm@cjejb_+kX zG!I+p*V0RCCXC)AIV_N_C#eI80Cu8d4a{W%MqzN6m48R77|-}xjL0p3b`*i&0KlX1 z?q=xHA3ou1w(pRVV9Rat;ucYW`tYvx3sO2es0UA;zRfV}CAu8eQ9(y|L7E}rGW%NO zZ%-Ympo{eLcXn|(Gs|Jm?7JVDHc^l+imwL|HN#)W?i+Tnw1hF0ymOmg{(()|t)JBZ zNv=z3r6~}kUc~}&GmiNYAY!5n8v(Xl3QDacrSdIliiZB`RWgTqs>3!sr%8;wp`4~tVxRYeQl z$kW*Ur1E;bMR*sOC;jsBiZ zJ*i5xt#P)4dsNJ-Td56eXTIZv@#K43sV7@X>yoJUi88=>t@d3Ydz56HN$+ulNTxhK zL#u+Cx9vBSjr;EG8t>)G77yf1+|gV&4-pI;w6-$9JMw*BurOq+ns8W?*gF4$b?IH? zPs^{BeBL_-xS}ZxE!{Zg74x;XRrDACgC#~TqU?GX<9Vuof5`pEnW9Bu-MArPq&~0J zHi@D6tZ-PoG>qqCtMUw%#2=;bo5Hac9LSE}g+mAf%O5BX;ny(N{i3B3$6yJ`ci!(E z&Udz%hH4UV@1JmyNb!k;Su8&27KDXJSkPE$ri%sD%qyexCl(II6O%{wRiqrM^E=yh zADGaVKbsmK|K`?Uj=S;bkM8ha>y#OXQm?ti;%h;5`+1ME$>7K3j;_7HY?T{{ z6>cNzV<)z-i2xAH5$;+C3;}UTdI+e?KDboar4IdSJmb8$Ry2MGi++j?Ju7kI`_g_M zM92c-zdVjxd~c5q5kX~uLib`{fD?iB>!Y&IfNMUYo;>1y;&ol9b0$5K%MJSZp;6M1 zT>2h;`15uw%6L6s@BCp!MXgI!Z&IzmN9@;`dyxy55QO>xLO*h;;JS-mQ#G1|EnDXN z@R9k??p+WWL~#&C#7-MZGSU z;flOviT88n zN2MwqZY6wvSw1w3+4x$j>6^}~<}<*2fT9gxY{mD*crUA$^ph{xPtn}$f2~wr64eLk z0HiMt8n4i#HXzjDfVs%;vvtg?1A+X9Sj_TB)1--XdLME;T! zuOTX`6WX^M@7AhE2{w`zszu@Yvn`pv(jw_ zVW4M*Btpw(H92V1BoW!i`*z`(hPAQ0f3yC3g447*@4*7c#3!vO&O-#2xSgXyAnE(S zQrg9y^HFjC%S!zp`|JPwf5IKQ%Xo4jx3$LNG1~*bX%u+-a8p0RKG0*EjBuhpKrYGX zDUZ`$2AaaU4R|7dl*baDV7}@KfMGq)I_btzVIgQymgokzfw!0IF0=4@wuDvh9LT%$ zOeC&TS*`Mb!I;xR%X5auhni@xApN*lQ5_JMbF9qCfD_p%}jDn}=8*UJq~!@ZKyybncj&*^WSjpDjiS>wGniZaake2Y_@3}kgZ zKG^=XuzUGT`imt=!; zEdDN`vc$cKMU?ag)Z6k}663u=Qe8`7*e8Qk;3r{bVUJqGtcqXn*F8P^nVfc^?{UM< zFUj=|h`qywJL^B-v$<9F_1&mgkB(47nPUDT1m}KB#l_KIMX+-dSkmzw=b59;*pjsF ziYtGP!)V8-k{$}Qn!P(FLq0(S=(>P>9pCSc)wE(szfW!5xvB2Xm5E{x3X!}U0fJh} zY&!Wv5F|esiucw0@uEE5A65Vel#Tn^wOG$k?|h>>E6nksMU?&0?db3vEspczHh_7K z^pr(;#~oI<0S~FbK3A>UgPKM+bGuE~1!Jzd^U=1`aZ9rB+gj-Vc0I|$a;ci5#(jx( zpjPJZxDHPoh8QyL7Jw=Fd3SYS$=%~_t`%R5icQd@-lbnwc-&gFg3lZSYOGv=!MR^| zq-4LHWaAc{Y(D!d7O|tEu{cmS_qc@I_YEl`m7eD@JHlkUUlNP7X5hv%6!sbHY|3So%}nW z!o8q(xRfUglr(pNb{V^3_QiLDL2?IhGf{niQdb z78nwqh5FBp#{iRu--;N^F3()it*pfc2rO(3=MCi}h%a6>HW%?c{aLD+f9bp9Xhx7O ziRgQBI4>N7>tBR^z2y@@JV_RU(@ITx0(psVzsd!5mMx7hH}nrCJkh3^`{>^FQRA2_+N>WxB|o>a&Je-ZBY6~^D+^Vg-&&(x3q-q3 z&_K!J?B>e_BW2rm-J^~A?Pf(7bfx0YtDlY?LWi!tLPEwyz8bXk&A`h>A+F;yvOBd} zvd<=sCMs4GOR#C~>TQL(Ywf#h4~uMDKF&hLcvTS3SpA1fyM7(ysQ)1xQ!E1@oZR^5 z>G>KgjWOJg6jIxJu8X?~>eLwC3~p;M-W=Jed~Cs>$_v4={7mEzsz}1(9Ba7*Cl2|e zaM}8fT(ST&!2f7`A!=|zvgtGJCjJqJ*W4NJ!(*ZP7zhhKLT73jki>i@QiZQb{<;_$ zpAQOIIxJ~AT$^CKbAe0$Rg#oVUCg=bS8i5#{_3jq*{Cqw;C$#0%&0E7mn^e4pAqCU zJQp^u0fZAC?v7NP2n}`iHvQk$@2neEy5+nELQK3)d~{jAZTGDFG2-_=9M=}i6bJDQ z`;+~=?|P8LR#iBBe_jeKK7Hicbx-MdZvR1!fimgG=qO}9YzA7b@v#o8U>k0~>(mYg z-zLTRKD#v`(Btm(?Z;rvzTMTL8MhRX^s1vY(E1eWJ-u{04I7oLbn3ewn+-)BGzL_! z8nf)>AAZzId$u<%i5y*13v5c4V9IfEf7TwRHqb=J!zWh+BJK+QS>sadNhkjJ*6Io1 zY@r|c3Mf7jg?@sH9hNemW{3~6UgdD0Y*x;7`+hVk#UgxncH!S94tm}S0cg5mMDFqv zCSKWc4Hn4cRij+%@T=*5Sq(rKz(CFO6vTl(P`^|hd#=62EJdPhQ!&GAew~UPn-d`?-NUbbAOU_%ZZ}^2vXb`MG#7a z^Ou2C)Hd!^C;W2%xB26R%kX0{TEa~M-k*i%3(2NWyuTWkmH zu%Yx)U3Ei}f{K7yB=(<2%SSVO@{!6mAH2JKD*Vb=5pK#}WCz&eH z3apflyS>eCK_Ru+RM5>L5njsMqn2}z*$XeI@stu@IZg0q#_aNJKNO!>{sz?m{S!0( z_ZMO@r^2WyFP+w#PNzPAt?pFo34D=ccfl@aP{|!`K?|KIl$j6D%pZgl#lCzN^uO{q zqx!j9xa*ALm+bc)YrE6OXz+JlSo+rE++#YjI}==*C@gRG z1CgaE-lI8X4-1VtM@*qiDIa`PIsrNG#_rsu{Kpl~Uj3#J>w-vr0h{if@xWnuk( zjVUi;=J^T2K-iT=JUM-0Ulu>vzdYnqa2lTEM42nR?6>~p|H)Lz>VQ~yXPaW*XG+pV zO802;kg{6wG@wH^t^4~2J-8&op}ExzG3qhop4jx>%5dk1xtA{BpTst6aq7QH;NQN* z*|YdNejno3V04SK4V#_OabhG0zZ(D1Yq?kK@|P`KTNHQBEzW6^#D=3>b2uF%!Ot94 z-IC&Ve^#j0c}l7hb?lda^HJ@WwDHOa;!U^ADX?dBuUYx1&xAboIc=!D@;AP!w1-!% z`qCM3RUbZ@rL=n>NOSB|w)m)sUtfo9iMd?7>KBEl{f*!0pCu_lnAUF-6@O!Hdx`vm zuF5!Y5c-0?^u`X2pz{rkpkM9%l_;+Bch|ObFMim{pcRFo_iI5yECZ9Vic9#sOVM|O zcNJQ_)M()4(t2MrHf}@kL=J{|HWXr&X`*~;w|XY$9^KFNN`r-%e0)&a#x5poOc(|G zFlBJ*;(hg##5FxS2l14nBx$H~)U`^}%Fc84*Ual$mn2M|JZxFv7;`>Mr7|vyB(K`x zuRekVzt)_St9tQkeeIpNtr`{>hH}+%&9K&0^;rVqXJ&=5WqDsFYmI1dyvQj$Zk^>N^TY^MV=re7OIYeU5zPGu)Y6@b+224!qu%Cpl?C*-g zV|N@X%uACfp=U{cQnGCqcc6&`_91QuFZ83;=%deYR~ZQ?_&tGV0f4?-qmM``uNta4 zM7~{?ST>Y-4-CrgR?e{evwQwmyAza8*_9}00m2_Hu5_*lzhq_{ywaerr3dojI|b)i zNZ*g;n`@!s%sWPsPD!7XAnnOIE8g?l16Zf9XI+CBZKfw*Sj**gtdiQ;ZWPBc2>pg$ z=kflwNWCJ=C7CqcAh5$Gc~1BSbON)lKv=9pB=fwx|DW;CgO~4DIw$f~=>^J|kx;28 zd`-*oqGB=--`sS_gD#(PJUSdEYVmK)qN%hYxJ*@t$1R)}o|n-wd}M5LEK8ESHATff zEG?Pvg>7G$*(BhyTtBQ`lqg6IR!$N#gpmnHJYG^ugz=I;K9~O5CqLa0AYWyri0=@# z!X6+G9RZ3_RsjaEvbXOvDj(uL{Ub5%V?XM+P@bh;^)GgDJ*W~ZY-H$EHA(?mC2&5K zxGmBpsuJE1?iL-$&`7mC9Nb?J9WBP~X zUXL6%JtV&gJO#r?4 zR92M_FTL8M_Iq}o?ojH4UWESt=*6!>K|qB#1_VeMcl(MJyboqc{Zk4`EczcoZ7(4A zGH>9?z~4czj9>d`W?hsBPUqAv6jmfe)re4JhMW=f^BfwspjAujtuAs4m%Tl4JuMMz zDLtILCOMzQw7%X26enCRTgFQ)wb^_Ey<>7Pst1P*-g@H)~ zn|%EXjMsud%yT$k>8f0Tp99DM52=PBInCr7GaS57L(+Wtqom6Hoc$kI58N*yAn4xf z+fZ?1 zL=EBz!&9tkRhEIU1_nV=$MmDXM~}Q+{IqoFFJ9!y2o$gu%)A&G6c{<2 zfS<^SEcS~T8Q~ehp)c>|-Ovs{KAOJ1w$(S+({nB<6E@POR6A05lo}DWn_Axq1;CAI z;%^P58k+v0C9q(M1EPxu9`DuB6^tfaq~F$JPU;D;;`)9?S*ZQg;<#-Qg%5MY&i&7dB5&jl zbX}@wQCEJ%VGC$32Ku?RO}Ma;Y+YK=g`G=O8E%P+?P`f{dJOHI`L`|G!)U~uNsHs2 zFMfahGYsu7wpdk*^=|udf`9Bjx5+WmZkHxMrXp_J`sL~sRz(hb#^(9EaO*DcIrWGq z3e~Kz-^&cRHvgFcj%#!YvZ&aS`gMQBflUggy*O|~e@M}Prh8eWt$G)DE}RT)Jye<2 zSE@N3i>)OEzL+QS_&+~|cuQl)-(z?v{rQ`}is-KC1ElKME@h!v#yUPg=_z`N5AXdw zr-}OxGHf1NVz6!bIV}v#9LnTxwcUu9wvb}`@&KBk|Jbwd2|sG*Ac2_phtSwxC5p%u z3Z3`u_mK$P32(|jp^q9{gENj>xW)04JKhUJh^OHRhat{OIr>3MQKH{FsaVo$Sc8Y( z@<}ARgG}Oz1!c9B{FfGRh{Y8R-X)@!Ho%)kKa^D->%&4tIsYdZ_s^o}|9K&Do8psB zN7>o<4?$0kA$g}8!%89fS-CiJ^A1gPaw@7crC)yxqiHc2sAQ*I#%AmXL4|5=NwJ+J zNS_NAtz)uUeY#I|V7ryccL}>|xxDZr9SGgg4=`AAxbUA5`_gB>tCR#Am}nk1Q~@tZ za*nDFJvY7QPJ&SUMOtn}KM2e*XPW2;g@y}CaqAQ8;cv3b4;JjO9ez7FkE#9+I$eX% zH%}4cf4ZCgwLseLS=aBHQ?pXh7oG-alcz6^XNp!$-w==|vPO-cK2`Irxksg?;K-Fkar}S!4>*={Qb=r2l z{e7xx5IS13{+r;SwKD%Wj8rNZ%d((Ii;XJk*NL>M-Wo9Z!#}2&nw3D@pTPt^bfhES zrnu=eV(vOIl%xNx+H3i7p_Fy?o_9f(QQiaNPuiScfiADaHO3>vzYY})0?c?gWONc3 z7XT>_sv^&Cwf0rJ5Tuwzmv9IS9l>-*jT=~4r?Zp#v1?6XiWrXj{Z)w;{j<=}FFo&o zo0|?+2)Q1i-%gpR#Re|+fNkyTULnH4FxVyWk?!(@j`);}*D_w#V2J{`JB|?>B_gTh_6sph7P(lv~U?p!u7&o@i9j znn}K6nv!>^xu))yJ2`!68-Rg))QW+m{ZsVPpTRQspHtX%zpEJhq@!bM@cj9z!7YmL ztM9}Go$Km69<()R8J#{&d70O(t|SHoL7TqhtZwG8-D_Qw#+<2=3eEtYGPg-~$L@;8 zF~q`T7LhGYiiH+GhqU|lp7KYb4s!Po@*GYqgI?NHFx^PrZ7&_>rG&T_a2XaxtE3!~ zo}I)Y;gz~yba(~?2>j#&IY1~B z`Y+eq_jVs_2oinr?gqhZP233=Vb(LOQChBD+-lnODN%y33y0O=%`e%~KlfwdaOd_X zh_2|CB#C+2v1TTr2ir7qGuE^sJnmnqnQT+O)w-$8gud)IE#-eJW>U(~r-Vs|Eh(JL z3R%y0%^3@B;2MSMgDpzWIz9iR)6;@V>ok)8Yn)w~DNxAYlN(N3r9>g0zrnKJH~gS-j?JBV8TQsY~f?3CRueTsHHrF$ArfGyTf zb>L*6)e=Dn9-<%2VwlrW!dm2eC-)MVu}?!KPoKZkqhzyRT}n2{Um-as=4RYs)>Qw5 z2v9dvZ{6=uR%X8P1mBo-jj^kEY+`>dI}!lyKPkqMNk^c3wUB}b-k-D!9JnopFFm}{ z;vp(G?FUV-Ii}C2wKMuQq+em?T6;a#?CZO0S-HVovk$~aRsuDgwMl&+3tg~ z=05fR5pu|M zUdi5+1J)=-=3k53zqu|Brc|!7l);hbe}bwCGw(kPQsQb2jj5e&!h_wFIWLyiHU_`o zr(|;_3`mL=yC-excRk(`ik(}4C!0SL!CTl)p8I^?c;*?#5oGAAH2?Oz&Q0U`L+bX?Q7W<$W^e3kJzU8?x_+n2$yjCBY6PF9 zOuG6{;pg99sLE1$7Ev^LYtEBz?O0qYz6z*fS^VPhVYc=Ql;O@ja_W(%nuRkV!8EeJ z&&JO$paprmhoP3(U)c@IQ?W8E@H(pp&P~VpFV9}DlN1GSf=b7DO`fNEc8TH+S@gcB z8mUR@ND1Ltegsrc?klxeblKo1y38VlceVUh94}6Vvh#lxcE#Q{ zM-kAN>giMUr-&=dhi710zSmCKVZ`r;Rr3cWlED0Sn2QAS%&V_|;g3wqh2dLfedb%m z<{DYe!k@b2nzDE%kFJX@HPdVlA6%)A2DEAC-q-DaV#aG8QS%JR0o+?w4~XX4?`{Ha z;iJ3_u;sk`ylFPzH&$7Hc*tAnhqFDxDmaWI()KFoe|1mP??V!E0;)ZK-|4aMNqRaI zObA{E>WlLJ1|C-kiIDL2nwe~2a)QJpkea$Y_G_>^z|z@w%BSq+)Mt+i_~nQO@#T;7 ze{}GkbXP$aC;+iRWLD%^J^7|hU^H~VRufGDwBz+it*=|kb%(wNenZ#%7Z2P1n-|O0 zOhaK}5RT{XGTaEIf0_JM1$N(xm6!`{QWiNSQY+A`$!fVL3j?fW{BJ^I)5H@x99t&C z4ptH-1<=1d*Dhoi2^(=c7u9WRH!%whcfAqO0P{TyD0gy-`R3}_K-{Z^gKnKgXj2Wn z=D#l6*Qa$BGv%k#^B%~lu5=w9Xpco%(_X4{neOo!tFB-=fBe)LdqEHVy?<{kKtF}h zeOYNS9GcY)%qw$Naz=Swz5S0m>TfpO|JDYRjVa0;`d^#54d)urH)V$LKLaFJQJ~Nq z&(+~PA2JXX1n4oIa9%Yk2EZr4HVwK!6xL67HlLGzvE%sFxZuM^<%H{PWVGo`P$5bh z`U=R3YbvbYdn^V5$Hn@El*o=+hxl!D2!>s-ovaHKT&kLn6my<$ji~(f&TL$|;{w#o zrQ)Hp8K0FWMl&_NN+s%Yx_-JMhK_Z)qi$W4=2{h?gMnL|on0Vkoz)@+eft4NS$*Wtww*H8mB3hyr216H~ztL)LyAul1zL16!0FZLO?WDAR17ZrV0xJ z%xw3XLhza+X`pUtF>l%CR`dIc@O|q zvTo4x@%c8i(YoM8$u(X0XKL4zC2f5!=!))#TP3XzO)TtyM15z%sbc^LpYoY-aUt$v z2R<8{AyAaF&k#O-*|?F2UOE=yxqM~+`?QYHv_vqska4nPJtlN z02|x$3{&XBZ3QaT>p4#AQ%&SH@7fh@7 zTJ==ZlA~~2ymum>xId@^)1th%5_0gAqx0aYgC!D1+RkK#=;d2aa#mh_c=b-j{h`mj z4^}~-eC?lCE6paR@`3Wp@~!uI?zgovh4>^OIg~&>HjoZTQRJy-j7@`hif-(K)`twpXZ*$-KUEL-KWr?Y@*}fb*;*Tqx{7bZx; z#&&F~Ea^|8s=%TpuyX3nv!&97*bkwp*8Z<0{o7|7sW6x0*pK(5ahb2H^OkWXE8Q@# zFx+v!I=3TNY=B3E7ax%vs0JU(PCAp-vzQ3Sb;g9QI->oS_R-O6@Z>OM(FG~$SEdvn zU+WHSdKoNR*MU~(%_b}+#$PK{eji1Ct1RD0Dk&)Lstj09=&)-DVeU5E++CVzUjRU9 z`H8O!r*XWIHNX%?f5Uqy_?*x}p4qq8y2&y(BgI(nS9z~`hC8?bB|<(ttk3xC$n8Bq zl0>;{bpN)6x62ocbAP^j*HL}}&Qyz9pBR=LU1i{X#nmwD70iyD>d`OQN=JBi1fD*# zKIJkp1sJTopGOFk1wXjr2&-wAYWyh+J;PsOgMdod4xz!RnH9j&j;$FlGvR@nvIfJu08 z=R?r}#kMys(;M}|GYK~0U7Bo(_31FrGtTjv)`Wp}KT>hk4jS#auhrM@XNtgIw>&&9 zX^DhA9j@|7cNGbrtejRP%kGPAa;Rz6VG1q2BQ2uKM{z28Ov z4)`)aD+)C3tgvZNRtV>%%RDOOLmr^UW zHqm!d9l+=|y94JX_4X}(Hc@I)qF-i)FBqlo5E_;`&AwoVenPnHi{psCwKoIq+HP%| znweW-*gs_#N2?wnNhdDp+`6Ay%TAxJo__lGW|YDJ8sy2kL=a)i5gbzte8pd&o!ro@ z_Szq&#r*q<(>_KqoUC#SwI}O8w*~S9jRMJ^ z+t*aa+t*z~E}d{a{CA*eRE^5Ae78rU`0O9d?m-K@DAF2tS{XaFF94HE`LF63 z73;Rp7j}D#-S=EEt&CC?)iZ$-om(vYJLHa-eZU8e`l+!uc@;yrGEReBa z((wxF=iR-H^12Ogz2&ZJBz%Ig9r~P zB;GC~6Fds!wU+}DCwqW04dJ+@iFC4oLN*5Bs(=^<9-Njfv25-w1G_Kr^`ff)=-2++s#dq{+!H|e#%^X!dCQj9Eim9ao7>PLbK8S?0v);d> zNn2WVatM4Ja2zcXoty{_UN3d%L#Qq9hV;N6Q2TcK5vA8H8DE3EYuuYRcIS7GcfEzH7irpX zd{gxwy6pHtK8dIk$C-wJBh8vip(4{SHum8Nd`@-2b*i6f6rnF-z+*H!HbGmJ92ZSI zgJH>%R))QR3vT+Cbz@+`UMG(SZ!xW4Nf*eeh+-U0*fK)#01TUW=0J1a0&dD%Z_*)A z$4($ag4Y}fP`m7OR}RN~GGooV8?BRC-t70wW=L|z#bxq2MjTp$cusU)LCX9^GE+sF z3+lth{L&`^>J=-T!pW|thurod5%CDc`eUtnA4F%>-PnhIM=rvy_<*4CFVrGquNj)g zc|^7{%tt@W`$Y4tyR)FMitxHaf1E|S%B#?kBEy!Vjj7=y_atxAPp{@yLyEMW0ja)l z!DvG#O}^A`YobH8>2VF+1_9fIlQd}lTkT;Z!ED=+r3Zh`S5@SQ4N>gBr<3V+Q~Xo8 z#gT`5kbIZ2Iwk_LJQ)%Q;~48Jjaqs*xu)vjyi(=Dg7)%mf*x&TG`V&X?9g>dMns$@U04FO@-6Gzx_;pyHto;PM2cbU|ZkW%qKtdm_+f$&p_pZ=6h{iCv|>| z@1v^A!e%1MN#?FA4J6~>(;rDv_MDrwz8R3y-gP*lEHgDkQWn{Sq(^5qFaLXYsdufQGGo zdVwS0-6L8y*M6S-y8PAlMCDH>BQfyrMqpCL+!V^N{vcr)xn(K!QQl4zxMBK~z5KKS z$U3&x3wWZ3dT9{ZCde?J9N`)>U%wM7t3q|cI*CeVC+8Tf#G{A)F`LZ!;!Do;Aoi`<@ZGaw7hqDA{X_9k1uo|Kj#h}G zsB+9cUfmGV;MAAG%HgX4vWuRmbU_(iZ-@)}Dr=>>ur;20`UXG0t%s~8Z~f`ACNzD~ znmhEUUpW0!N?2e?(KzVV+rk|)Ze?m!#cSX|%tA56@KWlu(Ngj`R?TDC?^~5cZiV)k zi6hfhLJ-TvX9SuL?U6Q4+@a=7f6kdQ=*Oqbk*#_8-;kxg{O*|;{%M=nwD(=c<}Yw0 zRGR_S3-=!P0yGaDpHD(S0C0~pxc(cUbeA|!$lyfB-8u4Wv}k( zz263hQyeEE$h>#iLA+Hk_SXj&zI__kWKXDgjBPvGn#{W+f%p1#A@n7C`p>jO^2}w& zHzC9}cjd3C)0b#C5N}>zcoAjOzKC-p3cvAc#o_|~@ z^4pJzr}L-pL`9|t7_lu#w%p09K^}a{`=--*{6Kjhr(BmbqQV%N*5WuhlXSa-s)sgY^pj)p^mpE~sDrynpEqNB1Wdi(a2V z8s9Zw;%|B!Kyz8!;O;fV%`C}Ru^oJ5CzoSDf{IQU27hH0jUqMwk-48$_ulm_our}X zE>-lE^R3@f+C}XCAoT}_=t5#NGIZx*`E3mlB=TACQy$D8L?HHlrXTJQ-q(%i`cUUJ zpQUq+YD1nf>^rQrKpfE5{E33_#SixGGd6c^Kg}=gUb6h1-Zo2tF;3QXN$P30DaE> z@Zfw{G@s(M!062%#>(`fpUn<;3h;F!qtz_9s$VWk8SWo4nw(jLhZzuIA#TIPnhAe? z2g2mWUxu@R&EM*E&HjGn%I;uU;Up}<0UtkP5^-qQ-%8?oJS&I0L)U2+0$kqu@sB>f z-e?0scth5%7N3VwGMW~6UhL|*Ot|&?b?K3t$Fb=7JEFou0gI8BcH0@+IXAOR$FN7f zKmPD?Ta7@|Q&!kRVOr9Gt=RpTArSpNDUA6fJoPZSk^f}bX{FNT#h3KOj9b4qHf**U zJ)=5VCp}(zoGViGFc3c1vsQ1FQs1$4`kAM5R$>jS^=i@QGZfQ#m-PcW!2EBa@?j1x zrNGaC<whPBQ4@v+Ti`5SfyCO>7uDu zJgTA@_)v}`jXMoq_mti(=8PVG3wb9XbmF1Zcy)U8ElzCKMG^d4P0}qnkjFfm=ftc@ zAZ;fa`X1Mm{&Izm^%LT`p>hK!D`V^z4K#^9&w3}*`Uok%k9{?}-<}#`z7j$A zG<_$to?ODWfRp;hOk;8kgA_BND5=kJL4*y&SDZQy%cYxkjivr|L=&KLp{I-|vo*aE zMgo!qz6rGhq!ULKCp)9i8@CmF0W$ylz)jj=nY{EtthXUxcc{;7+1PO`TCAzK;WSP! zvD%))^~Me*Xd*^$$Yj6SmKa~DhV4BFY(E`158DmQ4&Rwc~3oGb^wR< z^JE)%t#N^22a5sm*l9o;RO*cn%Ma6gUN19K__VyCrd14qUwO!^tK8g^v67M156F_l*{a+}vEQV{0z8Vtb!G$QHmh9pa9 z=MUa`J;#?yAPDp|D;dm3da6fT^n1#l`06@%cDXkSMIOL;4wZ6RWwI3%B2@sxT6qGtPQk;6F_x;=5>hzkG9o{bUJu+3})@ zJiTdI4ab3oEC0+&Bohlu&DDMD`*rsk^t@@s3iE>JMwBd<_PcQb?>L55Zsd%cdz3!* z{QGi0<5VZ@H2L)NWM;5UZb*~x>z0Y|W0t$NS396b0FOHpgdGPK#%{o}<~@2y8jQ*m zJc3?@LQk(dxc(DG{?|*ay}0aNh8$LQ?=KX)A;Ic%_gxVRhU=CgEM;N_ zv~Dr?>j|>w0{GX(FcC5k%rlzrDQx?@>R2)RMHk>P3N~1yKK^FL6}=ZrcrF$M3**4h!zw0K_pV2x7W_nbR-2jh`ajlI%@79CRR zu4|o%Xt>{WewOE#cLxW&|B)Bdo=Yns$;EI=iPE9fV}Ema^srGpci{M^jZ-?K_&uFe zzR72lHiciYIO?kLE17nG%5l}BN*Pby_^`+!zu?(pHbto4LSBgH)rTwxs{S#?|$Q`geRF zE*rG9%CDxEPI&8@c`Rmspgq7R!FaL|E!rib{7e=Ldn(}hf0#UdZ&@evf^7OGAC!NA z_ziQinsG7^@tF7{;3q!`>_%MmG>#qCl{X5@7yORdeXBaV*;8yfn)801RVGru12#() zXGSgTOd}?*81O>z!dRcgaLaYFnD0;nK=EwMA)x8mKR&)K{inF`fpO8T=i2nGb{okz z+-RIwZ`ZH}|1vA8u)0`uPB33htpYHmJZspaLQEKowpS+rc3OUF;~Lf zi(?~A-w!jlSQI`gS5Z*3RBbh88hWE2IwV`wbSTVosZ;wh0h74aEusG`lxr?hI4;sP z_i^gQyCO3n$>5J)HjJa%kQws5{9Jo)V2W-`(#!Bh@*kHC|+?@EkBOItA zhz@46S`lgZ3@x0z(K|06Z+c%xvcl$C1a-Rm#XH>P3mhDSA;-~t$9=yayMHEWw7;J_ z06_E?LEE)XY8PlftHCEwKkWJ$7&Fd6SDJT^)&}L6pj~UlF(vky+?Q~&*Gihcla+#2 zclfq8t1QNq8}D_xNCameH{P4cv@steB>XhxXKu{~b?QbheBwEQCqwgZ&cmWS*NQ^f zT&Fy|F*u2ZC}s;OHbjZ%3h{Ry|=7+BAA7v}?9iDE*>)*UR#V;E=a+2KrZU@NNa1fjHF$FD0ieuiuz$z|q+fs2;eBZjPAR#D<e?^o|O$?1o)HOd_D9w2<}lm?H68yc`uR~ zxfL^A>0)XTa+<+*MM)?GXauSnF|k-mb-8HdUqLgAUfs!BxT^@)%!_PszcC}Nt-r9#7Hysjck7^hU2~?S z5;pH*$}AYc^H)dZm$ZpbuzNh3*1G4EDs@hW^HyO@x{J@SB?4VN-GXny&tf8=G@r((F7x&HK$ZJk ze=Gb(M00Kl{62gq#q>d|Uf{*Ja>I%>-|^2cJnbBVypyt$%1!7O1`A3YD@$U0j6vYc z`XDWWTI73O*m19t9!?*L!R*Q)h-G!Nd6tm2HEF4E^yyKF#!O!Fs~2|05{pE!j}4j2 zz&){gs1>dobk#{Ooi?jo?tXO)Y}NEPF32l`0Gez$fzr88)3PBaH^vayi$QL8k#rbg)1LNazJNP~WUf!=u&{--#HC&LP^ZxS)r}^Jm0DlJe zW1?rDyG>MuxCG)IY97;=(1o(Lohy!WHucvHI|bC*5-Zr@NauSFcT2`H|J{Y8udN&E zcONttT%wnv7p*&7AL#`G-#@FIpWR4Y8`6WgrMuTTtHlaDMcBZtl{CYK#6D`C=3qBz zqknnT%9^NfTlM>z?chF&Ds&Zlcx5=io$(BE`^9%ngfm<}AkO59-HG_^>H3wGk3SHK z9+_6YBgRLwWRl{x`ba_-5oo3L1CH+dp^v|**jH_-Q*WjS$Scc5>eX1=zd7$HXKf`b zQNh|SxlT&;=|s?CA(+;SpE5>w_WK}PbIZPVH!xeC7B=;Q^ta-)>rI54aJF_eh23?3Q!932$n$a@+lxfLb2`3zd+Ssr@OUirwehECCY ztkK(t?;1G)dFzU7;oIAyZ#WK4Gh5VwE~B`|Y5jw(#L=ID|D&p7hNkztstlzJ8^6jv zWra>~hDc~WbH?l0zNG=o5)ZBJZ@00=pEYfd6j>2$go|Ex3>O$-v=2LWTV6PIiYPoo*m$Uj6u(T1GtU;QRU1Y1xpnM*RQpcMX2j+#v?bj{s8Q~`a7%BSDZMXf)Laf zJI@KuJ2^SVhP&YJ>mG^sV__*? zqPKH%%!IeKt9>-7zlA=&91&)neIS##1Pn^>J*_gmK)6l-;?e;u%~H;k%?dWa|~%^FO*Jo9lF63seKY2Sv&|9Nx=)??F^CA#Z9^#3BWveCun8A4`L%0_m?y z??v0Wr&bA6r#!S&oU{Kuw@Y#;p@5({=H8@G{d&DY`=Tv{4SMcyaknivGsBP-DXVWA z9?vMYb9mPPMKwkrU}!^sh`ePOqYz9nx1~{~mG$_^Z&X&MN*^I`9kwfi-Tyrhh_8Wd zdD?ZTs+0;PB>cKW5Bv(ab!Y>*+hR>~HRHBT#@VZ_ z2&Ew%qb#OIFK+pW!p!d2`hKd2m=Ar&s-8Oh1x=UzcEkfJzSq?Rd`!QV>S=zSl&{9Q z!x*hE=>+{FnP5p=cVZovpq`@!Eh3|%rquu1Gu}%Z;Zlc^USA*cKa%{Y2IFP}_Ypqe z`V;e}DGhS_S5|`I5$_OfyUJRh{xN!v>QLQKEG{*1Eu6piDRyP{g-fr?fk&`gh137| zL;J^p6e2}QbFSltEMD>N;|#ne5y7QiN^l^~VsJV5XZ&QGtT_etQI8mBkxnz(mu5R2 z6u^&&Za@?82lm#T4-w#y^~R8{=L#y%?KN1Vo4Lj~FG{p>{)1lJR*2_nz65r z1~E+*Rn!)133W6el20FgSWKxn_Q&s+FoWgRcz$3S@Pxqp#Q)3SzyI=a zvI_(55Bk}>c805bf0 z^+5xgulxRLSGgz-N0JQu8VltDgAFHA+EAczrD6crK}op6JO7t?q7U#|6^9b>gk=CNmU(nm#LU=c`+R_ z=ts_qUgG7abu)p;im;&TRy`O0H(=0C@wHnCUn0!ZcZ2teI0e3EYH_J`WgdJVfT_nr zI?ZHAi1fT^ko(sef(-w?sQ5vw#tQ~ZCzi6(X~G<$*ipFfnE+x;5gWY&D1q0NYQ=15 z#17ph!*`&oD?;ail(jUCCfs2ucjB>_9J75{F_j|!1Y-ridZ5|1l{D?inX~q25YqjN zW3}ks|Kfu*bE3cg^rG*D_7#SVM8o;ZR11V8ZD+mCPrGYm>6C~=Hpp$bl!c#D4NnEz%@RAo zFg~$Kw&4x~gSG&mXMa9I`i<9LCv_{@i;-QU&Qy$?lJc2AfIzyg{!^IL&Ah3k8y2HI z$x>iMtBEY^#3x<#)wasjzS}YX%@Ns7n%4j80Qs7}@Foqgh~~7HxylhC*m)~B3*cwD zQws-<0rLqi#zlOfC+()or4>(!n?=rdT(O{jeKOZb*r?v=Y76oQ>bfTW9`@9?qh zSkFWpvSLN8RN%Q^>`I?*AF_5R%=9oD7%gyCI(Wd|e7u~~&2I39O+tYyqQRLPVim&V8tMr_|saiCBr-* z7Pa)m+K$t72L&qb1>#ut8!ys~@HZ);@7mkc{%H4w22CXX>oeBe6hlEK50X!lD}c+? z_sO%*2;k$y29%!UHs)es#>u9}#A{7vJ!w1U#iIM|xJcB7_9;(<62!yZaDkxRLUX8w zPy8E)V3f{BMUsPNU^`CC>sF6$0T?Hy1+;%Wjoxs6bYfsVP!_v+yqLq(FMiZF(fWG#Y33za3_L7H~_)$#C50HaJRSNe75UmwVS zQjSf+D4;AI-%P0HRAz4Cw5r<=Pj~T1a3oOGCx5PpVP{MONiX*QQ3%Kx-KeW8cCIlh zeW;vF6&o9XLFhC78W0hdVVTo><#FFvq}lM5nE7b>@nIn#@oO(dDl!Qwb3&*=ei&mx zN=q&<%qs04ryLAEC(TtY^PuUT@dkLekOwMZM=w2QH z)iS9bxTfGf<pa&^$(b9;1#DCad?bmkGw3F@nB}wxaH(x%f1`&>``GLBy zNs#KIKs`Qe-*9rWcnGQBxc)?yxQel#uE#cd;AUYFU*J9DvkEy|9`r=lHN8~3SJU1h zuH<}=rX2>tq0#B5r$O}o0wG&Zck7xA8?SAUTnhRA-JbYgQ{;8w=6T8%{B2%Diuyew zLdA|`CQHHw0_V~&=27shFGZ2yv+HPHemFm?Z>4I&sIh6^gnEzrop?r*?Nw zI61H9phbGSHM8&Ne6#uE!?>Gh861B&+)hhF8z8s8Dt8L4gJkGmWC^KZ^gw1VDlI=EEFX^QzYK z*V=>a_O8e1$TCDj5ec!5m+q;DgLZ;TlTNe1@oxmMZU;~b4V!^4+{%YjmA4@ww!s<* ziP~J?M>d8HA=-L`yC{_u4CPvo;~}Mhqq$>mNnNT+lJKf(yxeIL1R=S~J@1Rjd-A(R zo?f~Hpd(R9Qr~-%w5OdHO{0j1XdA$%SCIrd9t?-^_j2MIrkK^9K~zt=+T2ilRn?zW zD@)L`{=G#_Yokd`vO)=0eiKeXh1!^37oY=!5IrXJaIn)CRlf&yg@1{!cTNqfET2yL zt|8ASx@mkt{8@o$j7>TAVwh6 zs$V~u<}S~&5YwzE=J*ZhF!D-QP{;{B1s`aGm_21ogZNnNyY>t_A2qkdcjTedJ%FI9 zLLWe9sd(S?xU5ly|5=`&>STC`vQTAc@jV#dKEZcJ(KzBktJ`wl(_Qfo$NMW5)!ub^ zK!JGB@0qP>6!5lmyujn?2qS<>vg0;hx=p^Kr;1tYJQOVRO>8a|$#lIjvH3Z$jyEu8 znr#L&6hgSMabXsUZdC9Z&R+!==hhxq6%y(&7TAM07cQk2C8my_27tcu8RopQ>*f`r zOXNA>_;EHp^>p##b*7DD|2ctr0+P-ZFzfwv4Qw|>gpdN1#>2tU9ZrMlxQq*z<@539 zh9CU7s*h+in0vkOu6op|yU+TpV`HD_>q^ z?rPeO*J(Zb^R44({I{*lQH{9YO<)!enhT{{2wKB7B}VXHPyd1&qXP#&gAtA@X@P)Q z7yY6u^!}TO3Z(@yO}nMUt#$j4b{$!eE^g;k=9b>x@ALp9aEDFuxqxFSQvXEt%KCUx zo6vWu!^LS{s{J6F&O@Z+fam-<`)6?TcY}KMgLnBbGT}I3tBuWSmYta#zb(8r9_Y}W zic>#{9Og$J`}q)UD+umxTm7asF`Co&VlU@TbO*}>zXduKTeoX5mx69&+=1e==qxrq ztB$`@my`>e(9<~i+K(XTSwRnd0jO`p|8i$Wt@nORR%@NsYXPEd1n&zG-dCfQb>cKZ$aniiME3Kix9$PLt2r@pHGxjHt-CZtlLxK_hD-YA<_k(8o-IHon9 z^m#EpsW8IA`Tm_pxEZoOZ^V!TOTj_SD)AG)Vmc*W>i`oEsVX1Tm;|8ZPddqk!2qtI zDq$7)iwI2}AuV3{SEobC9?h8*y?(DpLd&(loG5@b(o=UlTfuKt+YHdXW;L|*`E%C< z865EQNx?^T07vixv`CBI&o`3OGxVxOsOO1f9Pj`+1Godx3+ZCtK`crB`~9KCyYow! zh^w45nh$HsmI__RUA4+3nl?J3$yIlwIiJ4U2`r4_qS(!dmaLsZ@~95{Lt*Ckk|dhm z-@fNR|BiDL@cmb2$7`ry_>cA1_+Cxf0z6Q>Q0AElPqOjAa1v-vKhLdPzpU)Ndp0UB6R%nODTR3`j4EK2;U5fQ;bfQ% zEke?p!H{2^^9R%eifE{s^y-p6$40P5r%*iD{(~W^&Hq4H5Ab*#<_v#Wc0s-l=DV#W zJJIRD742m}<5(;*n1T$=!Bc@JxCX(Ol4sDITN>TR+@M|$c;_Po#Lp}d*=~AeMJXw! zw{B}7D9r9DwFWZ<)gnpi!GWc!6+L;%VPs%uyXy%fW;OtF3J^MRmO#II$B1H zqc2ba_UF<%Uxm_sg=zVy%PL!wE#bi`!~S|%lIj3Ux4Geg)N%XFW~4N}P(2%>H?ow> zeR9lM8bYR|-uIS)r^ex5=2*c320hJtQ1fp;j|T+bk2~qqRmQkZx(&iGX2nR-Jy)`5 z1Fjws0`2qO>#S6q;@!_^-WyBQ%j?9yTohGZtB|t~(Y4EJ3TX-^pMs!Lkx{xzYZa^e zvt+9jC%_dR@^ZyySgy)y4D+{Uba>7=H3;ml1RwN2{Mk4Yv;Igb`AO8R=UoYc^YKMx zqfH?LgKs~kJ;MBlIpmf~s1pJ<>NgYM6a=g;wgCG^C1AZnC5jQrn1W*9P3H;#ql7{r zsB>37^Z+V)wkY(&O~0B1eDmOR5uG##wT&>C@*Ypn$|>?_>lJ3fPvf$*=;u7$LDH4o zPfI&!8^+E48Sq#Tn3-PYPP}9BX8tj5MXT{XIOL;S>G5+D;Yco%Pl7<^VS!PwR8cj* z;BrIf`)MGwJ`xKAyu&A6Mu4h}Of8T4PTsaYQXyfb{NN|l^0bB2TB`a9q-OLwsnjS} zYP{xzC7IbuibdM7jFe0sVvYy@%s8V+y+=^ zFQj%gvxrH?^p+37zB6W3&SNH6b@^>#p{2gq$W%$VPNwY5k>tL5?BRP5WK5q7G<5!& zr1>m)DiZaQ#B{#uPc~}I0^7i&E2}J;aZ+N2*@;%Utn&|%hy@f(Vk_KmY- zfz0i_(G95x$f~%sRZlofM(w29`3tTh(kU~f`|pO~mnbngyY@(YV21aAvLEnrZ6A6G zm~wdUuYl;_0RUApa|Afw?|iodlD{{BPzr{ZW9N^~;E&C5WxLOSaajI`f&mNIe=an@ z1jTB`+vvB~J%5t&8_c8X=laBZCUE1|^8V6VPT0R*S(=-|D9CwJHBij3wc?~}x&MtW z$UJ$P;m2Oc2obD+$U()a?LF84@IDwIW}WTFzn^?K28f2uqe+i=q1Z|H`Wx_)gh1WG zn%z#GUjQj=Rao9A>+V{ zLGQF!(I^2_wSA0Rg$r7;Q#vwqPi5eO$e#Dh4&a@_H_O)j{(Zn^#gMLFGbLU7OWh|g zfEt}(?A23~Yau6Vc@h2-#o-Ar5_N#{vrUKQsvAJ*R}K)iIo@)>3TK;JM!y@;xzu}0 z5FEPnHz1yozGHG^e=F^x8>VBo`!bbaYdb91yvL6b!x(Z-`+>~*baENN5WAdboU=f# zy%3{mV|emM7h*UlXX?ebm>3@7Rpc<~bqu7NJdP<9P&~P+r~@E3oQvssUjX6;slWby z#;cF+_&|fAB{}c}(?%SwO%NK7Z=l9IH9k=oe(s!X>7^Z-sW|1S^`1;&M>(`_P*gcx z8~ep)VYgG8l1%gGZZuyt$W)DJ|7ylNB-5A8UzgMP3g2^w8iM$E5wT8duD~f%k-xgr zLa~gjI`1!4q~Bwp>x2kG`l^%0MD@EoSZ30TBP5)4)eBtMy*6hH>{^nY}5a_zs&N^a=y@B@ybR z;c^2rO`FXFBi)C5s)s1BTx&Ns^+Fx1-!l|%fImB|VhkGLzt9WOjQQyP%kQPF+RwHc z!cU-)VK<(l{UWc;NU1%lhFzC0RmJxuk$Uefn{H%lBHAWo8c0!y#?w)wlRa0ghH`bb zAmrot3t$a35^F8Mahn4VtI?#bC5dIZj+N6Sq1gE6=Q|u?4}1PC&7!#}v01Wy^CE;I zvV^kqPO)|40v(>-OfOyG#%*T+Dn1`amkI!N$c&OOGWrNalj*)b3~c_MY+WW%R3k(JE1}gI zfRL7>F5&nw{-8}(-QSsx!Ja!iZJ_v8CaRrRz{^cdI~$17v&jA2V3?XZU$Jf5))Zyx z;WOs_ibu|`L9k*h=cu#FYTxbrsr1G}oy=7=&n{_#M2RckTfPy+{7d$c@0TxjyH~r( zVZ?MXKT-hd?p_uX)fX|N+;-4Mp(*9VVWX|}pT%)o84p@qzPPum;ROnK&`tu#`J7J+ zvZJlOik#N|S-V-MXY^E2bxr4>JhMo9A-E{TdDfkC1GoE(@S<6y%7(?ORz+J?YTf4-R@*o>Xkbhd9y05|4{VEGbf+}YVRi&bdgFTO4~~Sf;qfk%`A*C| ztLGZ{!TbowIHDn1c?atKAv`(x5qF`qJ*7q}p*(AGAth3Q-$oinWEf9^Ft&s3d5MXq zqC?xjCIl0aJ0=B#+i0B-@tocM^NfK}@@5Q5i0M-zzTo6U@Wq5uaN+@v^zS&3DKB2? z>%|m9t)e9wmF@a?b8<_4w@WL+fM4UL8BzYkJ>LlspX`{| z8oJQ$Ht{4$xO7m&R@%EEAySn`XH2YC^^7yY_}Y&Y2w5-vl15Gcd*%!49;FX~H0TZ~ zSjHJH$tH$x7KMJ$VpeYVha7C6rRw&q=heFi5un&h4jK7gBgUp3=u^PhC)!on<(84s zN@x52%dQ~W*tXr{WkfpYhe?5Jd7HDKQLaw4TbtNUdjcHqydbX3eHDhNH4W9b%GeD- z)8(MZR`qj%lxVR2AaN$1J-f*T^gxWjwcTb$d$}jRwU2WV{&<0{?7_8bj)pd`J(wZu zqH@U|?TYv7(+LJg&~8F75L6Yj1cSj5Y~axaZ^MBe{fmzFaMLFW$gA^m-pkkP7uGi( z+P#Rajk}o7_awcDeae=w<+`HqYx8Sc95ecP@JqK>)5_Z_0dCBY1V*`{b*|l!F8{;u z_zwjj)4^v>r?`-Sv{?}PjgRVSlK)-pWzPeG2P|Qv0=b}9Z zuwhWA*aBd_DhGxijz#lAH{p9Qd++6e@?Y!dXrX8g7$mMWbK1|j^5KljT6#B-A&FPh zR07Ed5)nx%{9&(>WO~{UwblJsTA9|R!EKfFt2CBPb0^fxho!5SW#Hji-))09R}fS_ z9tP|wu|LP}NQdfe^XN*pDt7xX%FId!oRrkMUW$@BcME|SRx}?b`@#{Qo8*tV%%2_QYiiF<;H276u9xG{~OEoXJf`oCxLcs2y(2ffhs z4v2ZuAgwkIw^i~E3(t*}!PR;2-E(R`x+&*}BSYVuTjBQJwIi2)%u|UJP^cyWH=LEg zOxyW1Ufry&<>B|onwm8)=7m)EcC@y(RozQDGXq-TnfT}nd`AH@?{B|%xur1cYD92d zEm0fXMe){VctA}&RcJ$$b|UyqeLR6!bxktqbpP=_;9~pUb4Gsys97F7!0UQi^mWe# zPS~EL8nz3Z4FpB}gza^U?AEa^OW43uMLSND{{0?E45AlEnM;aFtwr~-4bK1@T49PJ z#67hZvXu8p+2mNMvWUVJh`_2_s-c~adkmn#o@I*!Wb*lqwOEzuDt|ie7C}@1);K9r z6CUs_XRItn7t)Eh%kW-$_T^|?E)XXFEWwxwyg8*z&vWT5+c!F7(QA@KpKnPF;MK|2gXm*#ZkKEO%;vJVOoSU>S$;Z!CZoRDKY?-|3>F)L*X@`}4Uw zutD{|d>$RT7{wUn9Tj7Ly0?+!Inwu5bZ-2+FC&52`$0iCSh`6&`&`v=Zm&i{dg=a; zf`b&etclIVUGle8Q1A`yQ%yti+}82M+l2|SwFxb-L?OCsPC|Fs0QtQK!}y?87z^QU zRDW`p^&MJR=HUsefzHV#-!qFwbJJ%Ev>g+$euBvm9|f&_LKm(qnWCD5^Wyjxqy%U# z7B`Ico(nlig|@b{=|L<+CF0oXHa{}DWvB5>03ulIdh>yyDwya81x%&&j=C`-d?l&5<$F87T1G6JE)JaeAxfpkdHi}6u{TH#}WQk8KZ z8l6uyvXi5oxCyA2QO-Y2Qqlbe=9YA_u45(sg(litI{!gzDCDETCxrm>;AT<%wybWV zz}G%8mPj!rhExef;6di>;3OiB8Upq==Oe((=r&uSo0)(6c#)Ti&WX9(Pk(AqTO&+Zg#(62Px3`$`r&O51r!0MK@jH`SnY7 z;9!9YAVp*M;ejif1ep3K&tgOh%Lk&+rJm<|+TXL4Z&~Nh0>4E*^jP-&crLPdg_exc z_4CEpWZ|YNfPpnfHR4LTjdCZ>?rYa76{{|(y7K5nNrgK{snI~&EFX0q{9!G8K}5hi z3LtZ4IG}RXikvWUYg^;2{FB#V`R@AsITTjZJ+{Abq-UZ%pF>E*dJkSbtK>3lT zn$E%>k<2og+1S{;hlQL)KSYhiozy4YCZ~!THZRs6SE(8WsU58fZ{qFa;!cg$o7?w} z=eO^NZm}*aZ>MB0z*&RjXX*^tW8|G1Dy02eJ6dAf zmZC>2i(a}>HP)&hCdni|aS-qyE&ODDDtZw~;MnuuYvXoWBsM9D82Dgk)O`<8z}d&E z$0-mQ3tevqRy_z-!xQqOecRhbt+`l$R&lqg^O4c;?{cO#0|F_wfE*<$ubnyo;_n>G zFl;$wjqyGjcgh>hfI=k7@CW5ND^hF=9BakcsJ{34VYsOq)l+srrW2Icu70bkd`MUI#-QhM|2zM1rSqM} z0@|1>>e{w@sbo->T8L8n6?^x;-2e7t{b5` zmu@NJzir*gV--zgQoUQ%_;Ul=v{|XxZ@L;Hyi3McGeiw6F&w_6am~`TSKq$l?%HuNhE`dhK}O0iN<4AzvM3lRiyR zn^=awOcw4tyLIN*IFJ_kY%?5Mz+WT9@mf^jj=e&Cy{-o<@szqOuu)S9kp7B}=ZOqw$C;Qq_cDwN7$uE}|wBjYsYKd&J zppmHIZgs05N3_0K2uTW}UR83f&t_^@RLOx&4{F`8Qd8CNbu64v^w@j~aQ}>c6#HCO zXR{GDYGKAB(*Q{Kehl!Yw-Ns8X_OU|i$g}7>iXEQXovOV-@N^_mts2J%)c?AprrF% z)Na&pu-7QC`KsO+gGi6xT2gZ+vG%CB7ck`e&Qntp<|4Vq^m8BZ-CEV^37&~af+Lj& zF^~AYUm!KH8(~qr#k?WQI5@r+uzyB95U?=NWR2*bP=^@MQakMTmVG6?yCFns9#n71 zmbRG~RNiO8EXLmKpL@dcGiOd{XySeh7i+wSmhmJ2IX#yA@$Xsxcuuw*m!^HK=1)8l zK!`8Q@JS0-uztx`kmV)E%mo%Fc1MllOJK?w@3P7;ic+FaDRnCynwq8UmCU=1b02p@ zh*OaSDW>=h?$r%sOlU2s`6jIf#F6;)krz_`@fzsG{_#g7-a+2xL1*XGLqvjnt(lEl zx}BzVCu$!_e_~g0b<*AuzmVRBh}d0i8?!zN&X3wklKCgVo{jI|p9sePhqCtoYO?Lx zMMaPz(nO>O5fBxmDxDypAc7#G6zPU4y@lSSDkVzqMVf^Uh7x)Uy$I3*1PDEZ&|84) z$N!uEoPGW?`}^KK!!SdeA({JL&sx{I%BS>}G~ORJW8c02K55=3jupxgwAv%-Wy)W3 zpVKEhcd&UbGVu;SbJy1W&&(0v9gQ48@I9pl;fpwFf{;hXfsf^P0;1()E-C!^AO_fn zoU@Fg8nP061ivffZ2DY2eOIcw-2@KQv)0$o$?L4g%k@!?594Fn#1yF>@8w0<6Qc>7A%Z-yM<>&!$`tB!YnLI6D^y?Jz z$LktPaO{g73kUz~-vlV}IqvJ<{BKDm-Mh#hyEKof2rMfqz58FT`13*o`aLKYG%uTt}h>3 zWK@If*Z}*rTP~e!hrPFd%zKPHVzZm1&RhO>VAy|iUlJ&TJ0e>Dr%8UtP}q%QZdd1A zQp;;xPp*$4^lw{06gubuu7=Y%v)U z>XgHh^YH4iUWTEitC$}QyKC7#b0D9{i0=vDr)E^QgBAj|X6ht>7*@OCoM1qB()Z)_ zg7qzf8)UWfsbK$lz-OihD4IzV6(8^=z)nlsQ#-om_UV#R(E0N-Z`~)7?{)seg}uo} z5;)>fx197-L{_6TS%TSvNGl`C6Kwt9rT!f5!LZq<`w;Xu8^Q}A!{?SKrG0Ic-6!2R z;^fJ!&Bw+psSDCA9r~}LI534H@yO4Q%!+xP7v+L#ULB$HkjI@z6z}KL?k}7ZY8w=$ z_asL8?uAL|dWA?mu%L~VlTnj-C_=w63@vP;i*((e^iyrPmQ#&XNj(~>zrR*n^|Vr` zeomO%N6P4>-tEikg26y9jp|Po&l3%tsdY)Kd&dwkdNx&gMiJ;^UzZQG9WJ`mR`74p z%(Qh~SwH(Z@7LBQ{D&jl68AXAakl<1H5Ql!Ap)DJ;Gv0%2g7=Wf*TjCL-=N5mUJ31ZI(5SDp z0VMge3PJQc7yfcED^{nSM5PHVvzHT7sP4PUOc+>j^q#KQRR8vcKW`^T2ITC%H%ihAKY zHrM`rtMd1!<<*Rz&kOBUAOCtkvJV>o`N}U|T-ss@rr{zq%j#K7AADElNe#GCs=5|S zzh<>D(nPpct3`qv;X0X9IIxMLahZL6AITrH6mJ2UqvAff2HKIrk&x|>d{vev<<~e| z$JGhhI>is~ab8RxZ}*vDyX2@zsQ6 zVlXTiHeoPlSSZKUb>_>alm=?znLvZ2%jOR0euf-h!2j^&{{1zxdv{(IJb#Em zG%94DbIIpx91_3!j0r~(Nt!6P0$Xxsi9v_1S4SaBjL^IFDL3xPQ0{)@?+cng1xGHm zd`f#p_gSp#af*BCvjx~zUX*n3X|quMUVV1EKmy$tpJ9hz{m%L#71%q^&MoTU(FCUx1cpJj6MJI2@&2C&1?HX!Jw+S18>1;i5#Qb& zJRyDTD!(D~a6_s*)W-+O+K}vXv5aCj-9PfIc^RJ;1yq_m>vC<|JlCmuY&&gi}2Zz5ISP6(6{wpKCU`~363w8*ajSuG z1GC*i>k|>WR_hqq_3$Ke)mP>_-erPkK!vj`*&Ut}*wq%zYLZOPIYBql%byu5-Kz<% zh<{VEfefD-&Q+MUwa&H%gquJ7NQK%XV`Uc0YlVR{awzNjpU;IZ6EFJAg&6*azUTk+ zW$cM6$`vW+_@%4Gx`FN399#U`nwYz3-dpT z^RHt_lq&Rzx-?G5r1h( zd&t1(VQLV8X`U`9FH}~*tj4po6y}fKn?YX+B-zk`ojMZv_oX~$tb^q`&KW4b<8fc0 zret^li%xh$pi|UtKCRE58h0!cnB_hqgp51JH%*g)e4|SBGjiUaKI>4X$<1U!F)uq5 zGsws-i+iH|ia4fNL;gw8W+J#Nx_5Wvqyyv7*70$CJzr;3xxNTXDq%gyA-h-};?Pbr zJw1WGR(UXPjC8D9m$Ca@Td}YVpv3J_12#KqXn-;Spop5B(DJ`g>EE>TaG^SyHH58( z0bK)2%k6gUc%_ zqILC3;m^OvJv~&9PMO@PnBtiv_P7O-C`t6raMN64Yd)%*bb{19gOV`eKcZ6c}z{VOK>pP{@t~$w|9bomq5MD0n+hB9RJ_f6L z^14iSKvQ}>R1B*C5ckLHJp>5v=O-lQfeebyVX*hJS&^pqx#yTzX|dR&J>e#?LtF+B zjl4Vy@@=yk%wWxY;M{amKWu{n!$?geEv_9SOHP0 zelg{Z2LhGlo5U^8dG4mm&kP7fU=O#egLEfk*5q8*a%IJbYklKCugY+E#cn09^f4Rm7sAA?( zzlMWB1oYsSWXHanmVA;>d+K6$J8gvv2FXs#({19r32G}CjKf1Z@W$E{i2LU;%krfP(MuBhldQXOId_$3sMAQ(${>9@#q7$1Fj!$K&cOHT{*7x*)PTEnxD|nwwU;XpZz@WtMQC>nuMOa zgQ^T_qv?z>qF5h_0)GI-t~vU;1J84CCt*}G`O?7SrNxg z&6``-zHCx+TBYZJl~{e25Tj%+q437Q?2_At#02X@E%qxtYub6#zugK%A;>4HBwEbZ zFQhh$zKs_S)bstA01{jPXYlLE)U6fo2028ELJjWHyBnxH-ts))w z%edRnw3?@!Wk{G+5B2l(%8^IUq<(M>t-m&%DPRN>>u3aOy;fuY1*B66>~pYXnWxIU zViasr=7|=_pL!?rH@`vrVKv&7x-a9`;&^&l4NPIv((ad|W%Jpop?kSa^PijRr@mWF zcF}Yv7ZL6zPoIYSDLj;r_v$`^_Oh;a;ELUZs|g@4DM8H6i`LmYnUB*RI@$xIwF+wC zx;E%^W1g}5I@3t-Qlv7SP_6vEf4^M(-!I8)&}Fw(6;Bd-0(JWZUXy<6jBfj$8OJj) zk@U#T`TTXsb+AipH~+(~c|SM*40gX;OWLuevPQ$w+cP72cEsG70^fDW<3RKloJ z+%ViRP%~pLiFS@@9Kl>c6k$Uo0?tg~MEWzOO%{?W={VI^Sj)*eAl^>5T`yk#qRh0cchF!8!UIz5?B?8iQ zVJm3s+7dvR^ldzyRHWFl2KF!2^1z=Sn&6NAR-|a$*&zXcKgt!lebF;8M**z}wT32Oyn&K?? zI&G!0k8iDYOJ?w|g$Db8NLAuUZx4-zR(H}`tyBp{;xlR(E8hW?1v{+SdQQPiHGMB} z{^6H(sga}hrf|qpHOqqca(9nT=9LjEr|FAvAm$8TsC#A0_r;?xJnix)`eG-PNmj@&NsvD zN-N*~vYSdYF0G+rcb87j1ZT+4TJfly+M zpuxq|%)ve9aEa0y1^>Jn-6XyI=Esv7Qb|olt12R7&-4}{@LTp~5igPSG$)X3*8YMb z;Ut_+8R$~6x7I1YM30J)7Kq~`YgZXm8=^@jDARpmFI7wq%5$Tt$ZYqgSlHQd+#Mr| z4P2h(IW!Y{_4$U56$i9VXVQ)w9?$u_{uueJ7gT7v|5%%-d3`|r#sqTkr`R$I@C+T! z1*Cb$*MB}}_G3(!hFE1Neti;lb2&473pm+L`nk3`VPura{d2x7B7 zQEonAT}Y+G!7<}>$@EfoZSd!ZN^*666ep9X@iI#%Du`+|>5I$YpI2;$)Zq-3qfKOE zd0?N8od=I6kSt&MqGazU7^U?VXtR0l(01oB(oIR@hYwgOz4PN`pUU@68X3W=Yt&~5 zJapXo56ZCTzS(OcH}UcAsRg$)@3V|;GbkV*OkApxHd^|jlVxe?@@@NKbs$}@|N95O z-6Zm&tJXO${{u|-|FnonuP;9p*EP#VhU20BHAKcZn=)Y^Tjdq z)vK&`>nSfa1}dSy`<)ZUKs^_>Wv^e2XfhSBMJN38Blsl8mC-pp;J2d=_Rn6v_A&1XYhtQCQ(afhW4m2$MmFbnbbjT%*^n_*Kj-wvKaAZfx3~@r zcb+`YP=qOMV6NxBd`L7fcT*tQBu*YTeg&#cj~g+BKE~nmkcw}@D6Q@Etw9yA?JmP< z5ht1H<Sk*Ve)aV#I|r4d=u{mbdU>>y7^w{J9{1yQ?GE%>YB$zT6YYp;2O>-H{w;gK5f zUuiy|H8kNb&K#Q*2b|NZX?_6_ueGe92h?Q<`?oO@+S4) zd?&b`Y2fG~x+V{h#dub*RFNA%FE=dhZ0-q9CK=j0{w%3~KE?iOpx{$WvMJ49U%n}; zbjOC*xTCo8Dohuw=3ab}KEOIJ)-ADQjxyf(vr1}c+nEH{#p*_NdOdo^aQ9;iU>~|U zP~$rdM^)E!#jqvje{FdBWIlwBU~s_pr{p}zQ1C0m4ZQAZ!=hZ=_fNH2-yd7mX7bvS#d zwFdQD6p~WR=~I#2qFf*+IV1U|+Jx1Pa6JRbX{KUBZ7MF*c*fKYImO-lZ*1r*u0E@D zL6aQqn(+@qB8)h$=GH8n<~Pc7Mc^-4cF1#n)o$QyvmkcZwjVSa(?Kl#BU^rJocSuKe5k@vJ8!KV}CfXkS_ zq@DE}UsM5IrBImE{VD8(C?0JS@;zrqxYtOy7T?wCW}3V?!J}~PTy$0$&~4ez{+fVe zV6xM1OX^f)0?k#({f{zdJ)HFHs^(t2W@Tk&^_z{Wh^QCFH{RKHtD`>PJNz=nfHVLNlHge zS!cXmkq{^7zg`EzmQa8y$sShXLVSnS|8jCJ_yc31*xcTa*}rg(1)_VlF3ak!Wh9?k ziNP3&O+t0sazL(?znno~x!jfxx!*>INJ@{ zB^s#>tK;F04imUW^NIkk@b)T>jqEX#!HmxN*NaaUmmO<{_&GUe z6j~fk)QTtoagLWhtc>Jz384@qs~=jNf(NF4(uo4l$-b6hhx`-%RN9{E=F2-7i?lS- ziAuSiK_C~jEn1s=h*mUArLY_`#+|QFro1Nm!WX2PEY+rYI_R6>hqhgeJi;H?CM${S2LVop1wKrzPp`nc%3|u!i6va1Ji~NPTO@}i@xK#3CAurs4vSLYEk%ES!eiX zdB_~zl{EwMCex=v$o;ML-0KDdI1b}y1BWt~r?Vv`c3}!%f}76`nU>M9aA5zKZ6i5@&>r*jmG_58{)X%+JW%cX+$kbw;a6r~j#p0B3 zz{j@~Vb+3iow1ixK$=Vax?iFp-0lQ0m^6RZ>5_ct?rrsV8jz!GR*56)mJ59S-=J=i zgS&fRwLGo#o(m;0T;S(T;qOtJAC94)w)EXdDZzzQc~*RhFJyJ% zRDW{mvN6}Dm6if(wqD-3%wZV*f~^+-8b3*HqueL|Y}a0V3w%$W(5l=dITv|)FoFJE zA77+VaZU%G@v`AF@S}3(CeD6S+bMCHyRg#z^g!2e&L^|3YPMDjF<*O7=HS)NF0lst zIL;&WzQpyU?{FEgX*Ro;O(_LU;!^f^_ve!lHSfMggGR3-Q)kH+uGB$ z7aQ<3uwp8X1!q|n=zyBtapXAGh8@+|p-;wz)^-w0yr$G$+Sl)RL#9@dqVSy;PF;|X zki`NK)JKaQp5c7Qfqj<+q-wkK*)2PxljmL`?@}BNn`lPeE6xv)NZK56W6MAJ?5Tlv;jn&Eua^k!)fub1*VpSbQ2J*{k=~rBh1z ziW8l}?!5obz)W9R{T(U8{zzG6FGA)~2bQi>eGswzie22w-bb~L+#6HkxtXss^su*V z)3xz@Z%6^!K2S3~i14h|89HlzH*wdf-N+L|d^c6W?+!1@@&{{RhaAc~vFSW8`PLL6 zP%f^ETbxHQw186~ zAaO&x++v}>t9~{7$ZZgD*DBL*+F+cB(HiYUlZ9ZZGPPi6Ni;D^_~=>k@&*MTC!OtU z>PM9`u6?Xdw2-@#{u9QVYdmz4TLvmIAc$YKAFRsiTvA|57JpbdSd`6#?Dp(x8~{YN z4iucw*K)9zA`<=f&I<*49hjiKZXyt@?60|-i2?V*>VWXanJUQSd1o@jaBSI2V{kAY zFXg?SsE5&)%68dOoAcz8U6|=+5w73tO&Rcx+2g4aliS%BKRk{f;{B66eLMj8c(BB3 zV*TO(?!&{T2hHt=sA&)5(nwAJz-TtkKm;F%0z!<|I1!SH1^MpULg1>&_Gq`VIegKO z=$X@YAvg}t(H6)o9y`pX8Sc~=Umt#W@%*ak*3R3p0$TFpGV*|UUBtqQ;bO{qHslND z7t*e*sE_Fc_L!UaXsVRU*?#d@F@-7t(pfN!uEG*dqV0G%G*UaG(EDZ0z_{17B6a87 zZ~Q3l0_t8Azv$vVUdNnYX1m5?=pXx{>->b-^yFo9y-{GDNc+82US4#?HG$G*DWMas z&UFX1&%MqW7P7RNPH=3BJ#yXnXwC@$hi~f+c@A`lH&Y8W2?mrAJzG1+S3~F^jrOZ@ zSKZFZdtC>kICXdF6f}=H30=jv1QBh&$eZ7U5*ejVJ?^jCZ>fX)jz_$jRx$<-!if0o zS?jr?ZG{ded&~p)$L2oU(IV9Bkvu(Np}}2if`W!ZBb1PJk?qHJK`|G(T5PUBlZ~G% z`b;P_I#Q|N@fQ>!$x3x69Pi!~cIv$rsu(tO|` zk4r2IgzXq{Wx|a{?`Wi3W?!741x?lzSUDcSo&Jn@If^@sbI7hwX<@`=vqm^hpDCoX zY}AT08T!yvyl8iu3tv^>I%w2bxXm3DGZ#kvM#7$Gzidk^yFM)tLsWbzJl;%@9HxaR zzoL8hYUjFwwosJRjSa#dM9s47f^CEfCl@{Getm~a*0#iV{Gx;JwDQoAMEB8!7~x3f zDlqEZzeh6n*a=mc>o2w095IsU{*7&1=~hcfZUmQiKWM`T=1{AMa)%iea|Q0&F5nv9 zLjMBQSNnvyoPK!Usy%#L;;`7EcBqI>2+nw(4eVHIM~JiIPE{uLG*53TTyEv>hf+JG zVrE)2$oh?fi^ppnjplNnzpS+?qbXT;?R%SklV)@LToV4K{kk$5mTJ#3hJ9c-yCq{I zZrHR{3EkKu-5e?>qpW)CJ}2`iY=#L@^GgTrz=`T;wexe%dUjQ3!rbWT;Mzr9BYl^P zvHpjpug23)v^HhY$;$e1dX~|c&+V^Xk6IHfzfD0%!%-_gB|f%uO0RQaeElx^OgA@i z6BQmGLR2OK6uN%h(r$Sc(4x%s7RUCdSY2v7EewJSEmEi;Y0kfvk?4~BsBn|adHlI! zY0rzZg4SFs)FZv}QMhrR4;`n2ou~H$8C9b?Rl{_K*z8dRarK+$bE#}O_PKAz&9vC* z6WJ1LVRGwq_V&}&BOV(qijG`y^NUDwcZIT7=EX0*M%R~Em{=3z}S zyVu@s8SScP?4qV`<^+F>-h1>&nn5)~$ENR@fm;UL zMA({<;<6u-iWZcyr>_|Vp@&eCGkQK$r@Qq;%Cy4oIsxU_PGf&AQsOyaY4>^plyP~BtUDc7h0 z+?H7oFf}B{8p zbsG~vI5?PP0kgHebZYzW%>TjI>*vk_8kRbbHY%o8fJ^33p&RHLX}f82fQ zJ*gfKjyA~&4-GiR9bjKcm@93Br5a6WG@pZiYszA0r1~cQEYv3x)Aoex1x>^)WmlI8 zGzo_pHBy|)XO3~~5VRGxq!^G)LEDLrQI=BSfh<`iAlG>kmkB9rh3#RU!!8tl(nXbv z)%xq==^`NGieBcMEpl!g`RXl>*w|HHtXz^(cFBy2w=IIiR!S-x4uOeE#b{vBHj1Y!$oT9+yRaZm!ewZ93?UsITNI7&SX z^dm94K(Ov+yk0w*Bd?pN)OcLGJD4G@7I zTiz+RiuV~Ot||!Z(LaKRJ)SS|^ic^Rl~e{)13nd?Y~01W2DSRV@$?cP3KYJ&g_th& z-C{>iA~qMP+p1@MJHOX^Z%6KX6GLjDf|8VRo#`z!=2lndXp!P+4kz2=C#kKM=DgF# zbsxxO%=w-(;gaT*?FW{V#S7;>y$NHq@b&vIir)`Q=gjtw@5V9bLC91_GshhrJ;|Lm zVsjmL6ogAYB|fK6&3K!xE_0I{-T?EXQf;#g|EOzzjR}1K4Ek* zF8PCa7u{jM3w5AcQ11(bD=fB#b26^2*npjERnuZfV!`NDb?KU<`OOSiIMKGubB4UT)&@_xqetIK} zPgm33h;KwyOA;Ha=G^SLjr>hIOo)-37CEc~fF7hTRv~0ZY(kp1-mBx5HPbEQbAIpR3Q~wh1(z0#hTyaUiw+q980dxp{+`$nh7{+JQ}oe zSuS8UXo94&G9G9911O0@qsK&Uofo(XpjwDF<@*cvV?w9CxN%0*l|sB2e&k~wp7_sy zj>n~aR}48l9D~rI-j*14?om0o6z~3K8ib^-%1sX(u-nwMk{5ti`H*i@F|aV=J9xf( z;L69f8R)VlGb%U&WUCcn$CPpR7~Sg9dxfITbIz-CBNW>kLN}u@nD)fb$TWf12r>V9 z!F8>bVwx&5mZrIGj0mdglRN9iK)Y-+^V+ws4mFwylvTev)i=Az&TNIfztkjvYW%Vl zoMCYiDo25XKH0cPV4fVL6wZ#$6q6qmoPjT|iKK6bz8kWn#w8|i#7^6L_)5v`H3A4L zrfRMT%*Bx1iEA=ZCpauB>?|k$Je+A6oCYsP4ytPzmhYV+ z!NX)a{3Gt}UD$=zwkr*J&JeB{T>lHpYnb)+PwAH3S=H$Itr4`&I|RnO_AN(2pbjZn zhb!!*FEGdVG}QG$@n(MR=07|^r;D$H=QV=2@9@)sL}It;k5Ojj zDQt5_TxaJ;#^e=l*6Zq7D`=Kd3v^ zwCW!AWa$X)mi@D>Z$MiDcn94}4p7xH_!0xPq4gU)Yv$oe}QsA8lretCRKBnHfEGzSX$@bq|t(q3MBYbhT|)OcfG2 zm8B$(1qDtvoGM*p+fPW8H?3P+Ke(Ahi70m_lQzRG+fEWh9d2-h2V9&aPriW@+tEOj z$YA){MEy4E?JG`!n=3AHc&UC5P7L~KDLrxw=mM+S?cp3+8PqNhF)8zJ>v?;Q*lm8- zsuk<5Ntfk=@7v7*U9L6ZhP31fOL~L>AN`iHv#XiaN1EwUCkoE;?4KRZdjk?NnoLznC0TUA5R0iTT$2H2~5dKsuxu2J0>&~JTQPK4yGDyE??nV~%i^4v0%%SPTlX|)r48E;;L zK77Llkd?w{T_o^PwX42_IR%{cAq;$CqVPmLX)L}it}m|6eO^`xIVa*RwB`kN*{64B zq4z(TZv>ry^|`2JmMYqt;yb>F&|0o}8FI6Qfk$|!1`uPyeKeyY;us3kU4@D(x_vs-1ih%C5nD-w_gHfnBev8s=B z6iewFa_VeX7ELRc==FcDyLLejX|a<#S`qi=n@(o$Xk{Ds-`etx(#|lT5Xr$;>+U&! zF&+Z<=>Ht@h|e|6@d6F92sPx!njcnZMMSKxt4xw|o!dy_5ZW0Z20d=*YF<{Q81gI> zTq0N)(912vzmk=5;49D^cKn!Nlx31Yp`m4?;yqH&-k@JGWTC^ zYPCTNmsK0bwDjsvjFUEBp&k@TDxKVsr&yG^|`GFB-+zKYE(sE$7)3hYCa|M>>n>{c{kn5Hzz z)8NwlrcG^-RisaC*H;M25xPebcP11m&Q5~VX~Ittwnfm=p{&r)X^$=lL*H)}j<1*? zcvB6luf5$RGBmzjAjY|+QX^eoc?B!IV)_3R2p$;;4Ps!|cYb!{iedz(W&9njkLnaJ zx6pQQ$Zym)157hs&U-el?7|0I%AO8TFUy@BPbM834&S%G{6uw*(!3O#qGVu=usU^_)PhcGBResdD1HFb-#q<5CcZkp0CIc^Cg>d zayF%&zyBiw83#07_S>KF@oy@-8evQLU-|z9!5OgYDe}IQHxj;(Fu$;7ZPwCQ7Ipin zUeZDI5JUGd^VILuos^{E#r9G`)kRFl~%{)~kqPNe&DBa+c;s{HpB6 z^4ciWidedOVl+$o#b>S=HroD@7ufxOD<<2z*p4{1_I@(5f12o#!KT;AXjVuSI>oQA zkg|TUowQ<=y8b>Dw0|t}>zC=0R@y`9^T%-tIKW3hUi02mv8@gYQj;0gIHk9fr$@)6 zX!bHCme>-ZaLsPt;kxz596A$MyP8*dYx<%-z18#jUt}Du`d5B)^J!gUab!V87>$qo z2)&vYLUF)}9}2{*Ft3iiOQJq?Gw-2f-ZU+y>HdAY_&g#w08KGRr$eOs0tr+8(ZQ|W znsL;d3=M4NYJV6e9=)s>xBJw23#0$dAf`{PDoa`AY1y&LFS`ytEAY8xhB4Zu-Ahm# z4Bd!!PW;)Yp)VLC1}r;(rQyoFzQ;R)E<-B-p6at{3qB&q@im-7i6OI#kEkYCE`nfF zmvv2SJG)7&spkNDew#a=ezz>pXlyiHJU=Q2x$NmDT0Y*G&>Bd1l?L~!l?PHgw^df5 zaGeMo4!_+srx?M-IUxqd?(3+JCb+9B-a?6f;OPVyvNsLeZgsw1-qH`|-v2F78msf8 z>RNj&CtRQc`A5(2kz90u0yy;0&df^k`*jXaFH-uR@xPsf^%p-8>L+kZnvFj%29i4B zZh^%Im`wu`-7+!^rL?wJgpX7x!^N$_yZx%F^TSPimj6i65SNpUSfWz-I{DBpA4cN# zz6>QO$rrAa8hT#vF&iYUvui|QwdRBAKHgQvY@AJvG4v`?@;i~sswqXr^1VI(#8HNQf956sA4m49 z^kwavm%w?nee@^&S4_6J(ZWb-bxHRbJ6K9gJB5mKh7T{b%B{U-^3pIPh5ocm*S0-; z(JjYAL~GkWv5Fm=J_QpO`&fi*xu^+JJ)WHDSedS5k_FjqOm#k<2la?C_Irc=K|dp` zV>LAJMT!~VO^5b-aV#y2b}~Dw-KlWQU2Qm#d8;Ar1^2?%JDaw;I6rJcW!5=}mZZ(2f`O(+zHf{WM8s|AHn|)er@O_Fx zjQXs`*yPAK6(`^Thk9w}9}SPVbdA?P6=rQ+-q|){GLV)Mzj43Ex;SiHZ6mY%Pa1UH zj?`gl<4y6?^XYNNPL+z30s{sUsOku3jI|`OAsXj&&|IxVp5%$-g9$jl|Dy zD!usmk_%lM70DGtz*1Z+-U%Z~o*Lb>Iw~1rWm;KIfLufsbonLk)E&z?kVD1t2KvBX zPSF@>BwiX&HpqJ=G+yAI`FR1t`HJFy2txiy-Q*13iyGgD3^*4i zqiQf&J1S}HYh2+MHjSr#W&p!OFGT`j>hoC^U#)Be**lO#(~jzFWenVU}-c=p9)kV*7Npzi_Np%$tq(QI|mY|eM z;vYqxk_oyz+#3IduU9lUYq&eJb!u_7`PJx?EvBR+v%)Bf_PX!L9P|U*yP3=&$}O)W zUpUgg5%Zhg^h{>1iB4yvWGrW!J$f=1e3L4eycLz1dZjb~o4!WU{Px`m1=q0S(cvfJ z3t%DXEf*UrnD*!EoN($hYamm(*op9$nXfvQkkm2ca_tZeUm!HN z4MyusLi*q778AAtyG^{-nF#ak0nn2_6I~S1#iYh>4LtrNLYT%wyUaX}8jm9Gjq1=< zK1bc`d$CzR(KNykDjCy!v4ZkCuU1OAWAG|~?5ebi#HjujO=w0L+BLPnst&^%~;!w+Umk&l1)8c7)g91@@G#I!!SXX@>dzGiWiPs88GJ} zc>|nOc`8kqrD0{-Xxhgx`4e~dO|PX2eg_!fv;&AzRFHU!1sM$ z>gPOLE^&z+xA(@VR}4^P>BvcDyLL(M_%37+0dH89qEDkA7N#e1hdL@};f6@ed>Ym% z_NdV`P`o>K-92vB1AVUjXyPdP!_ebhSLbSTssX=M`iy&CBe_^oI^-0uZ!PV_-f%oGX{!q4^sO%}P*UB7jI@osnDSNsW9tid*eCK zjcl4d4y$Ggg>ud=QS{vNR7I3qFBolpEP_r)$r_;j3;%Nfrd5|z&A zSX4_dY}?P7w`I-xrLS0rDTRh_&*!+vnA3;4FLDdndBx^n%9W~9nvPaO@@G&5FM97O zcNh6f>^>`+S-ik1SQL1q)LrI0J-lE|2S^!a4A;N06$-x~lI+>hy1p0reEUzEp{@qX z{V#E?_^ZN>eh#c4?vj(j_DUwTq^6{iTOubX=*BE`b=HMOYp%Q=a7)K6gUULo-3s$( zYA_}ye43d9G*hO5FUn~o^%XM9x);@hSjpzVB_YP=D>?hGXg6uFs~+<1d;77R&C6+r zD*AT#pa^jFge=}nHJsJigj!`tQ_G*jgZ3)(Dx^>YR%QIT^)!&+P#!1GCRCl8y4Vgd zM%pDz{(w){wGid18!?IvIjIGg7vv7R84RZkTGyI@RW9b_=lO=fq%nnET`J|bI6o0t zsyL~{eAOQ&*#LN`Vk9(~T2o4#3TT=Ytzo_a)2C6gh%dXOLF#3GP-pR0%_Nr_OkW?qE# zNtuF*aY2ldfh-zimRBz*V1LJ}(H+1y!Y%I{Y8{nye_*(~&$2Mk@UyJ3RS2=0Hpxv( zFKHSW^G7HRoZ3I@IVH^&et5O2lli}S=W9y)g6#46Uo7eb*4%w8 zUp&V`4M{>2J)1C^T9)}M9^8>Kdw&G1R{6)x4F>Gd;#UQ8TiAQf6htsR#x+FYRq0Tf z42V$EX0Md;rS-ph!Hqy^5v*uHhj|2>lL98Py=&($I2!?ZNBScI^H8qxfK+@XG@^0g z!J1KX>g`_z_wOz>-$5Ucws={&0?XYgAUDX)G+=t@Il*^OF5AT@E1x8d~3q8)LMgz`a&^+Cw}yqaiyuyjq=6=YVs5DA!#nA zzv@hkSZe_O&F{Z$T2A$9!=wuzv0F~luQu7p%cPcEpW7sAH#-!B?zD4iV#;ctgG?Cv zKYhL2Z0o9jd9Au?Fviv@>llB^<583$7r~FoAQh53;y_^M{ugC$9TZo?rg>uto!}w3 zOORj*5S+%{9fAdS3-0bN!6jG-?(XhRaCf)Ht@q@4XQ#fJ{bu&vf7+@Gs{8c0&u!QB zE3;d`E;AVCIY~&qv8$LFZq`!`m!-}y2R7*6-6gm|mv z{hw^d>YStuRXWwx=R2$8^L}tx^`xRtuE_0HeXZMuYlPHykKAsSbvy6z2o^h+#;!o2 zpQb@_|JWh)JHs^dQlnfhcajU|J_81UDC=|`qMm{Q|Jx7Y`oFV72o%`HB>C+uoVz{w zX4CAFXKa1K1TiH3j9Zw{jv8rm=7S6o^n*ManRMbLs_T9us=-CWQ82xx5u~)<+i|&J zhE>*3T=<*bJKQ@B==YN-+V?4L7Jz5sK^v>=xYWaZYX;H2*DF!>D4o$-&h{ern* zlBLY%V|j7*DGc90K_7#7Bsbl1t_9lZ`BVFKvRS)v-s6OLIdN>-HU#u!tkn@h9=EtJ z#cIQ;bLC&why#Tv##B4skur|xbfVl>=`pOw1(+Q+RFuc6v)CR+RJ@p97bRM?@()=A zT^eS@EvoA5klWgHWpy64 znY9}6N@auQbvwy|jRGj8n0x_4m%bxN(}q>aE3Cw@WW2KW_@LWYX7PnTWlNB zGivte*G>*?MekKn=53d3**bewMYW4p6!HVt@Z*x^Gv{Kb8?YX)o-*x;;scL2{AO># zmqf$#G9A~k1dlDNam1=uc8cPUzzkC zJx6a!Rn}g~puIaY8g&ttKZ>75V2Vugo{3TGuTjUyPTV_U`&#YHTkY^^=bDN>F7}c4 zoe^!*-N@(`0Z9wyb9ZO>*{lZZob=<$@v^A-g;{b*3!$-bnM+2qMmI=0$3M2IKAF$_ zHf8T|QYY@Zr{p17psu-gpTFx`w&@_EIEU{TI~zmukkHw6oxd*(X56$p%#O}{L~y|~ zvspUIjgGnDS`CU0zxloAD9Bp>{_^N2CKvyH2m3hniJh}8=_o14v;SZi5`PkSTvK)i zb0Qy22e#oBp7zWYBS^?Tdj2VgANt%Jtp8Ce>tFT@;oPv+UQ*wS?tonMMml*cww@b} z=i6GZC;OL|ccArw^`oO7@`N_$%uFSa70@RN(O;CU87#x%dvr{NQI|jkBQb5V&|8jL zgM;{jZ^A6WrD7QMu`$!o7!M77TRB!j#EesAANMz)4%V7$;}JiH$!SUdh#Q^$acE0Z zl5~x2 z;T~%&EW(D8ZT8}AY%EJ#E`yF^Lo;ek#|S{`Il#)H)&mR-KWhxEGMIXvQLI%0OKdw@ zj)iaO9yn<8o;~&gMz(4um_m*&v=sj{UTQt7?N-GRGDr;>keL7ZT9G9E{khL|Htnol z6FAa8?zuIT4GfIOzJw>r=)`>9c1LX{wNhe-G}@Hi03R`YOpvxaYJ3+Jsb@vEg9vXq z)(`fB(Odx;Jd(x-Dd6+9VIDW2&2wj~ zT+Wj%e$POU^v{jpdEK>(iU#H<@t_HN*oXVmzoTUTvtN{R^V!{deAIz;XtFOC$1~5{>#0U>O4Fw90*xFs8uQ=d?dFZ}+TXZk)8T zz=i(uXador{USQDc8Eb*lHgBs*>-G~Z(1S12XXLx?N@;rQV?%9gbSaIws_qVQImvu zDM{vf)xG;okhPDNBD!jVW>ix6+W}R@9wRsX3QW!IzfQjY>n)bxw^g2zyU9;-2=2UK z1c^t!8}}g(^4IA^;?2|WjuX@ld*SFZOVGhwa5XcEYs+kBUilpL9qB9 zmJMZ6j{EnYM-O07i&V_^rpJG}pPSaXpuEf1nggccMYQD z;EPa|A>jJqmx>DGnf1j_c7WOtu~kU$iUtz%{cIRA2^n3wZOW#Zl}l908h!j&W)}b33*i4ND*itoC$RYDz*r9#?{-ie7*1k8xx`qv+k8VKC|)OHF$&*rnKo_H}3 z@%%sk)&KBH0+Vl%O71~B!&lWd(FgbKPne!uL~d?nCBr)>B><+>XXyrz>Z} zpBPsM$TSYy*9YjG7o8cT0~Dw5A0oj7*Jeo#bB+^bas#4i`{>Tp;Zs*6MH2rhbo_T7 z45f7}H%_+e=`BE4vPciSebxlb9ueWM&&^0jXkD=ct(<|*@5-QWP%GG#gZqvZ?-W6R zlfVoOc-mu@)dU2Qzy10t5E&PYow`n9G4$uZZ58v+&x6JWZkQfZ`z?0jGYN^WG!)*c zu;jTJDkw{Tnj9lFNJNYq;_muWE_H#@V`4SCVDh>JJ#q{)0A$sai@>#t>e!0PB@v8t z7R?iIb(|AZ*P>$#%@+SB)cjvh(*Jma{3^oBGY+O_;}Xx|Fc6AF?^p24$W2F=*o~#iato>7+R7%`oDnd^Trq?u#P6lu z>Q;-FyMfI98m>|Lu6aFLg)TFlB>a1>GW@+5zg0&^FLxFZZ@kx*ozB?2k6-4m-&Edj zS*!zI8Yd5@@%&&vM!UstU9S$~sd~_W%M;IoQ#<@+h*Hu^i`-$%ndgURG(jgP+Jt21 zj!H`Rq#4VULlxMs8*yLQl#6J(+Tdn+nl)NVl)`O zAL96{jYks)o~LC0E&oSAeo5$ivDKesv87ThTFo7GHzi)lEAYmJ;ZaoVk1I`i2Yr9VI53U}jSV4LFTIZ+mWoOKgp`8*9A>Po-=7ym4NgrTIrzxM5DZEwAK zDCC}`!T&XP=ovpF5Cc^P4wMCi0!P#Z3>C&% zCuGZsKZ1;Au48z5GU!6wxohM+ZE_FWD`}Ohr2Yy(S40Uk{2#8X>2_#RSY4}7o(|~< z0H7!;1J=L!W&VvB9dRPxQjBsMv(S#OPQMA@|5qh{uSv1^5;Xj+Y4AK z4Rsw|6o6Nm1AK>UG`c?2d8zFYLq4(Q-W~if50!Yd#N7TcEX4fQ^%Thm)w5yEXD_#V z_c?b@a5;ms#dBy`qWgLmX^VI)Nt4GP*2Sc39Cc%6-9MLNXr3pUt1Zy6wJL?M~IMERLk3@Y4COA;AhX_wA$qhAN>;P2o=5o?e3`F8{6h}1{ z2NuPpb>>Y! z5*ajmTJ|#C=rhE&Cxg%G#~-}q>1_nw{k1WB?Qzw{`|QHreEsX_q_tkBx`4!e9-lSF zzt_)JMf>0Vj@7@up|6&9vkuIY`D^QU_a*^wV7ZC8Dt#8l-qM9op>@m+?xb5-lm3^A?{9~c7+ z&X6z2QLh0CY=u#h_N?30zTQz;b(DcX!+$3L(NiH9k7XFM?8%}m@v*tDj(jsp zw}8HcbIQWOBKHg@J&H-`pJio!SN4Khb;L&mCFGEDH&4ejmd z$=zT)+8FA7)99Ls$WNIb;3RV9&ANhZM~qh54c^|g{)Ca(q z=e0?gE&#*ryE$eVpP$GUIte^o0hBYLH^5@?Vhl;p{BZddP00m$DWEl~2O1-bs%bWf zW&Krz@zip4fbZ*~ai;>jhF;)KsjBVq{;dKuS;uC@5s&aC3SUo_HrqgbFx&(mQCYd4Cc2}qOq7J9$ zZ-@UBlXsb~z{TEOydT;N7NBn`Si>OzH_;US|<%7Ky@U$@q18 zKk0gFK%*a*Y7VAPhMC$Us#PQKd4~Z0s#P$FT|*@Pm!a1v_=ZR2?QKL3>%MHpGy8B~ z8OtuWDzc`ed~IV&Tc*Nhw`$pQyL*8j1=f$0Nw|ZHhcwj!St9rC&c_nFT+y2YpK(iJ z+c0&D(%GBs+(JC2%OC8P^BqNM<<@7{hnP#!UH~71ed$+s+08Y(|K*JmdqnP6KraI{ zX-m(GXOrK-i08~o6;mnqW zEs^52pKYzcfO4{MD4BILiJG|q$5|FkcpT`CdZ7dr~jJ;kY;46k>5pS*{f0M<=)bE_`HzXDUZWWm|-CruDpKuh#L9pQgDTvp^^CbQZn zL}tB6Ibf?#-PV%dpiv{;bt(V{Hs%Na)NWQpb8CCcF%;?0yJH>~iHsm_&IV2_*h7#4 zIckD{>Lg=>CRUmn(GT_7gA~kBP7szusi(O6JXu%3EBk6_MZn*4;CSs(p#Ga#)zhV2 zV>E_dN;KdQIQ<$8&vG=4t@>cvWd8f`A0%0<+|q-$GP!nbI>{Qa)ZxEm)My$!)jY~? zAM3o*u5*NXi;7G1In-K~w^WvXS`jQ6#z*EX{xx30(=$dgPUHZlft!}tN!km&tFHBG z^z8=^jCEV6OPXodvnaA~+`IJUy55cIdwUfL5{w5P`UUAHE-QPwE`!$XN2~jWog)}Z zzoaWEqGUM5Sk31r*ccWO=lU_Wdz56O2j_H7t^d;O;n6s!eo1GT3waY70~SVg8!(?~ zM;0-NnEt~v?vRDM7wmq9=j!TS{@Nto!lr?f3UIft;fMkzH)LGqF|M-*1%FLLh=<2f zcOZc6^$IufHz1>a`>6I|BxkZ;mTRM79TcaJhm~|5eG3*J^-!E$S$2KAF)A%``@bH{ z@Q{vWS9{B@k+p4k1=%NP=ChhQ*eK{rQDc=#sbWYy z*U$xl?PJ>`NlbJr30V}057Ul7D#}HSTg`z{rkpr9?uw7}8wp%&P!582%CyW%2J*ufb?(Fuu z+uMH0Ae#3$)BUt^Q794gWT)S1S!h$G zSAcmNELUKPCEPP1tb*IRLOq(FL?W>Y7j1sC9w!BzOB*j8At@%?sS5>(U6 zsPt3wtH)DR>V!2{xw!@m8*D;d8t>D>e(_)V5?i7NcT?{cO0?7Vdz4b2duey7eGAWi zvtCynToTPL^;#$)z%1xJOR{EwlC>>vzj)ohIMwR zJ+9;VcIxI~&}5_TDY+ClBxBi4=W2jYO3)P78{7eGo|B9_1`|0Yx85vT+yFs$5zi#O z^6t1pk!`9V(``ug%~%;gJ(USOkE6 z6SKume?;oyJ`M{H`!h0)@1X6+@(tY0)p&zo_pR-?diifD`lnJU3iW_tjoGKb%Y zFk|0fQq2QY6g|Q;0;`(X(uU2j1I4}vfXeb~ns~uwD{>3zYvvgCcWH=jQy;!Xp33f6 z2Enb()&Asco2R=4uFg!{d+L}YZUGiu&b1vNCm~L1+SL%hBou!3*x5J4S}9xAVi4wL;u{^+l@IBZqtp=I<;+)>bllBC0%)Nsw6jUTX$!?1lsAkH8nT<=rPqS6XxKB+AR+0OzqLP%&=M z-|rL+$Q&xjdQ5uNi&|*D(*GpBZbf+;N+ID5d)0zAw5-?l{E9|se>#IDBsbWFuTYs5 zY(|;Y;2#hST)X3qVE}jC_yiVllApJoq?01iZrgxruFZc{Y#?lNhmwY3v~QY6a1rqH zcJqALE6l4W$hm*DrBP~Rp%MITqE~*lOuM;(M+~sVwFIa;k*Mf@p>?dX_O>G#+~bR{ z`(G#J!1u*#2&KQJdPN;rTDRQwH6Wj*?b%v<#>fnrknZoQwu{ot<1?B8c-U-$Eee_O zG+91ZG}7fFwK&~~C5Fvv_WH0_aPjAf$Foa5r=CWnWt=)6b*Wz^Pnz-@G(;`)8FAjc zj8A&{i=lp17!+PnEY7Uv2~C5NH{(;3$K2GHaRC?dY);4X4xcaVwxE&)Nr@o##q&*H zX|gz1X)HzRBvkfc?z0wqo|~mQD+>UCU6*0o^~MPR@%EYHrrmjdt_HDtBpA3f0aQ`@ zFU3_KLihpjTB*fc*@adQXM_9gsol*_AdBGvm$)9}Cq+Q8`bB@O`}pWxB^yMA_G?rT zA_gCoH8X;7n*jW8ya=S1#Pdo4FgM`~<9)wBk?l|9b+@5#3!JWzQ6wBH>*xGgYTAw} ztOHa8LTBX_H8Y;KD{3PbeuyeF8y?{m(iq<-1Q0d)qll*4J)`e`|PvyMe~{BtIdvarv|JEE75}xcx^>H*zj3 znApu!d9G3!RNE`Im+94g94i;JG+)SK`2#R-+Ri&rt^SJD?AY!!TPZVK!p;10mNIM8 z(@?U5rSOS~u$pDhu>Dtg2pC5tEz9Flq6KUPxYe<8@LWv@Id#6m33zO)3pW=(tdD!w zG11{jx>4CrYyn_6l|B#^2Gv%)IcJ7t+M>*;`dVX(QGSLeRc7Hy*hk{=srI-yI?V#H z>_cO83_Tvgb-=Xa&d-4}UR9^t(p> ze<@LYDHwMEdO7^I8>r!Is~!}I#&0vW>Gs+Ws)iZE$3LX9+gS6uU4<}VJXA+|>@=?1 zTYiryYdS2t(CQDTQPXiX^4Jw`_1IZh9Q%9bkI$aQrDvUS45(%Pa}#d$uT#G6pFmJu z+nl#oZTU(TChn3NM(vL6_d?DSfi42WW%Iamv{EY6E!`$Kw965B{I;_Bdj^>X z^Bd(-eC^kt1e=(A_z z5M~uN6*(1l8r9!XAjxBmcB%(sku(y$!1{Y|3-Qje&#f5IW&%ZmEA)%tvR?Kc_o-)4 z$x|1O*Cj2r<_ec%?xl6}iLp{ap0VnH$8aNngok`l|J|7y2H#F>xMbO?(z5Tdw{okm zxojJOWWz$@=yJGm514vjLA>v;>no%O9%g|pixOymRv(XXGk=f=R7eX#%n7pz>laBOyYq%?6hQ5&>#ma7pt7FX5v~4r!5|sWD&@&7OssC z(UqznrVxZVHYHQp7In~Q@7sO-Jy{@6xO@x=>Mh9f!Z$W5Bv^x6)(a*&22fqmQSYMx zG&Z!_8GBt-MUH?Zobezi+(DfEt)ib_80>3(edjro9R2<^;R=`^=mPxsumUlsim}%3 zW9r(jHIq1x-5d6fg~FCo_73VVMeVTW&1|kxMXLBOC{L>zbO_U}*Q}kDwEFBH8L+YJGrDZ3_ zfg~2S0V~g6gCE7J8X5%#4R(15evHszo|?OjjO>ZaBAC2u?|%Xq+i-<`TokH=5;M@W zI=k;;+<4G56a8xNGU(jN7RZ0{4f>-BQ=^>A$65I2%CwcPx;5IYmg?R+s@~a9pr6$T zt!4fVbm~lv03@2n^$4K6LE1&?SKW%wJ%+38fe88Z5Jn!m4=FlCoCff`kD$<&kPf#I zAW?Pa{2u#t?&sAJ@z6HN9X*6M+r0KBqyAa%iM5J zczkPZ3h7b0Ymv-FU}p2tKSWYk8DXz_9K2*eGE02a5;_*T^#CM*=dsGR%X~mkgwqJw z_trb9JPy*n{d-4zcC9xjpzc2Jh(1ebia)W`~;4I!RA{44Jm@n*D7ve2;AjCV=jqnu4VR$jQ)y$`N z#(I8M49#R+FiTsGg6a-$*D}#6F#2i1?qK`|b8T}v&|iL)%eX|sP4c+9+gB=o)@F0e zHXzS||NI7_n+rpC$|Q!z7qV4MHf%Awily%X!B~t{WZiM0Sij{S^unMyzUUQJn#|$n{?;V!tz+Y0 zhI-D;etS8-jd~1U($8j>@84MTpN2EFpSCx=zCNR{VrrAeXE&z-T)r1D(Y=zHRj?bZ z#NJi!7u4lDaRBtq60^EOKBf_BEGQ zE$2~{%bBg{x7%;>_HbICU2hNX3)5Fh3V||=!7DA+qO6Jei+#T%(Hx|cFc|(l;RHvV z-tZO=)khIvOWq^d1Lc)O@(zH@xrZY4&A4IbOGkMls5|&#NCl9VDIp;C0c_sGqjv%@ zp%v$~6T3a`Q2Ei10ojJWA>#q>$s>o9jk@Wg031LIj zJ<8T^0o)}Lv>ucP#(whaBCzL~C|s{tuU0xudQ#3w z%+Yvrr*&UOF}{cABy%}2cs=AOPD0N2s{BLWZffBD_`H@kh3Ii}0dlkPLDsBceFa-3*@QP#$)Vw&i8_ zqMCz;jBWQTIMJ=CZj^a>t8`!4U zHj*MQyF%`nw|@n}>G@i*xyfpOtX8v0?BZmW%(6I?DA2RlMhG`l9BuicnYU^|(NfA) zj(Y2cVZhkU^ROs%Z+E!6rBsUVMQ69E5@Q$HSR6M> zhxU9gNoHv${kG37?T-%ON2Um^_0zR@tUAtPnN*qNxSj-oO%{*SD~kSCMEM^Y@ra_6i0u6UE|RvXrb6Y1Z3-rd3; zSKBUG669HUOs@QG3I$k4xFsp)9=-v!{SSouh#Ki9X6Uov`KTZ_%90hj{7dTNCNvAV z-fcTwEGMFXT6piig zXRa5o#zt~48u-%NtK<`R1sFpRwm)tL8|CGNJIX7e6lggtwTIdbidb#mn`9P2eXmZJkEf%DcTN~% zIU&2lN*S5ACpUZhq&_U54ZZXeFz8yn&QhcO6aRaZfZ!@-qoF%qURQVjdiOEj+vVpQ zpR1vpy#^st&xfm*#g2st_|#q@Vz^N3JS12>>QOL)-s;v8@oNj%4JVhNkmRYw-WwRexY4I3+hw5sU8-R@5&D|74+d-M2U9uEYm|J4MKLXMW}^> zxBEmO%w&tJz1+yU{mEQ;*4gkTm5qI6JC}{o#mx^!_3Vx>d2=XpUksjsR!HWzNdQhL zS0(=rFIK{|`ErOZU%S}}toUY5#C-1*v7QeD;V!}@JZcSZwT@1wr2(pScYF_3jHrcw z=rlzKvV|Xj`0-)9LcLNST=O|gji>pkO`yv6>1u!?`c6cot|2G$4E`7*ibLjnuQPcR zGp+=wER%S!iUyzI|91ms7XzrA8KPrYi<+X{n&|%f*VK6+H>@F5)P&VXV64S?))e(vmw2f+)lJ`la1rM z5tSo2?rW}6jZ?PuBr{%~u?X{EzQ-{;7{EA_y^}D<8E5ztww++(ExkHawuKY_{Op`0 zWic4|BYc1^7e^G_#5-nubld*`aVyuBX)L$XIN&u1t=-tPkJr{Iz4W z9*JVqOp(LGWm;EXJ-x$jE$8GEuz{PBK5RQyx=KPpPt z^hg+++wlzUIUCPG=eKz}j`F$gq_+>~tc_!miS&595kH{0pn&JubIVY8twGLos@qzg zB>vSP!%klP8p_KS{FPwlBi4|%WkF&S&MpXj*OyV2Hvu|jW_6A`#O#^2nK9$yx%mLA zfOgi+h11u4v4$|?bBMyc$-CJohE)VquU{OT9qMz8U5oyZH@gcuoV2vG>O1`k&3Y%a zT(95i&3UT3cPOV025BSeoxuDP%lhHCkGVh=(MIh5y1R8LTYH|13aEq8sCCPacyjvf z!EGI&*}m99Lb+6b;dkb8Z#+N8Y}1+kyjYmrZX0Ej#pM}CF?6yjXYw56xcU+@DP-7N zWb|0uUwn6;L}D}$;>+x{iFI#c6dwVBC?b@6=5q*KK$$H1(&Pgd*&iVs z%^3>rYioJ55OU6=p z#mr}T?c3c3Uw-Z;IoeJj1;CCvV99|<69!F10QZ`l`yfX5254Z0Qiewd`%*@E{ z7JDluKgLn)S^?yH_jP+tsB@@mj^i_;Y#UDJ5&r`#gflCUMVXQWYy_Wh(1tw zw|QjxV2s)Z3&R%X*=GAydGtztF*#5W<|paP@_I09H-bYF;>aB1KI4HJ3){wmG7hE- z9uZv#Gh24}9dP2eNMP$=@W37o$V6N-+@CqN?8i9!ZM-qQarM3O6QN2^Z*i4%crT6( zxI{e4|-UHolz0WCUjg>FbS?0sl_)EO|;FFlBRkx#3mtQ4TOmIV9z?b#r zV9}zSm(=pk`%lb@2V;wfm@w#4+}z1kGsP}cP%w;97$lDQQ8@m$ZhITkFVUD#M;T_4 zHnBUDnO>_}iJ@C~gUu2$Bj1c8>+OM93~JjF3pP_~hFua%MV+r|(q2+IXCphzrmNH>#ecj5Wnxd`^8kg4-ofs70^cvyJ@1DzQLCf-I ztgcUK+fer$xjepmO4sA#w=b|egVr?$Z=-%!Xtrrq3H;)l z5PWMizMsprzo)?H&8E@v;;eD|$msj~^E?KT`TNm>RHVVnH79XkRM&clCdEEj&V3_3 zUVJD~+g0$;^hMLT34}YGXMZ%*mcHMT)&S9dnQ^^LGLW^jLr8E^2_I@@d=Q}z4K$GV zj!Pp6i0C{yI?ZSoPw~(&+RJR`IoM3QFWw;&t7|BeeY3`35u~&|bc$)T(Nqfe8v1L! zgIt)i{f(uZi9U!14xPd7)8(_ZJ}55;W)5+UY?&bLQo3_CnMcjG9nYz}obAnzu~yLd z098LVT;cPq?Xxf@^1ST34Ni9K1@N)!k6NruD?i01hXYWfZvTYSDbw`_c+e1`u)=T_ zUpsX=fXjYdRe&SAm(P@Q{iUx16uVQ|(;h=#e0m;$BK2UnTI$MCSc7l6!f95>wy5}A z3r@k`LjKL~#lA0v7zEvm2BrN0{}iS#Ob$`~2KaxoH-Cx0*_-v;V5PUwiPMr#z~HtS zX8v3fFS)sY&`r|fmqUpqr1En|zAl6Ct$%vo2OQa10rW)I|X`iIwj1>(# zxt}El+ZSl@U*H4%J^LiCoYNUZT?AqsKa=y@qxG}~4PFFytcFD0?Z;xSWal9c-9a(H z9@uiUx#95VXwE;QCxTF|+_L3^f442>ptZmZ4WW^WICx~Ban0x{IXcqsu$Zj zRy|yItCIHX#N}5CK}+Z0+CP$rD{6}hj>-hZ|6xAaj$N0K7fbn!UMrT#X`5${$Q4n# zbwsG8a>%?CXj8V6ZXGOC;h6U!6@%515wbiDoHu=o-f3%Dc7$EbI_$ttc38+SjO~x~0*=6>fFM4sr2wxIp^eNCin!_!S$OI7( zK3SjIv_Idx&(NS$))!G!RLqMU4?Fu9aD;T@cSRmyaca_NVp^PD3r9;chFg7G z|AOK!V?e(^LLbC0xp~4__rvdJuZi#s;!D!ISW?$F1&B}^bS(9}D5In!s)y>iBat_1 z_`9EG3H7z(CHF)AL|1AIpz1hZrSN%sQIpAsu*Ik22IQQL=czN_+J+w()5)9PI$01xsB2cThM$RY1y&qa z&zR*o>Wiz`Qz0+Bkj8sYUPe2ZwTEs=Iud!t%0PFo-fv=s_?;8+HW%^HV~EX($3{qz z5y-nqmR`j7P2vVjUem(I3CTA^k@k`5owT@o@_M=xcNT2KtPHRaB)VA?PcivSS;9N( zhWxzwH`Z_^)g=6rV14^1!CG?seynRJtN_9kM=jyi@$5y3f^nIsUaL zd1J}BeMI)mQ<$UY-xuXF!QbR{SvQixCx!joz(17mky^9P`X(=orx7yrBT0u^Dv2r9 zOZWDBUZ7W|I;`(TH8|_e%%S1QZ7}siam&&*$^qZ+a^+&JX6eENBxqKt9{p56?1SEOpwC#?#4FH0Zv>XKFvYR=h4baxZ!x6nZF9 z5V}sZvZqc%a{NzPX3sS8{L11tQ`=pR;dthXmgizxv#-k-rt|ZhH+I~2h#lr)C{HkB=aZzn=XQqXBXpzrVFDel? zM>rUFG}fFdd>?__6FaB5GaE^E^}J1=(PBbpRu}#@=~MsF4|rZu$obXI&%RaQWm05f{Y$Z|4R%%n zWhY7=*PupT@(#!;Ah3@tod2q0a5#}t_;bhydMW|_F1u>W1!kyw_ss_mXAJUh4hK`c zfZvN=tx|z(r8H6fb-pa!M%PGlSM1?-7wBII-R1Cr65W3LHartbMtnwy_UZYIc`)$NBv2i?snmL z4fR5AvS}?}yEaGXtT5X?KQUbNvqR@sUqj#)|6Xr_>fo@BLhtCEVdrA0*Ae>VwCb@t zG41{UE(n8oXm9)!GOhNsD}jMWbic*FU1}F@)HkGS^rS75ubf#j<-Gg0@sFM@jpE(R zwn)`NF+2CA7;`q9;2@(I4_Vx6W`iB$!mTH1Z1ep27A((u9wXZ(5=l_e;?Qh zeVrY@lM~NDeiMfJ;r&u*N}d%$L-4vrfIH$qlK6S156$}+*R7SK>EK8BvicgAwekCc zSE1LM-Prb86w69+Vx(i=iFzp>0(r~dy@~#uDy?1b*v{8^BEEc7DEhe z-6tAx96|zF8U$DCgbvO#OHir$*p-YU1iQ94eKKSSaL3EBBG*z9#^HdBuy}HoWF!f3 zmau3pi3L|5I_Je)RdD>g|eWT9ET^rG}XMxB0YE7HK`*y?BC47cGVZX(EpJ4y|>8g4qwFrNrB9GER)L7A`2s3 zG3+UicFVI-qI(x(DVJzcf2HY*by`uRHN%&BcL}p_&Hho`%8V}l^sXip3tm^s71{%% zpA^x*1N7h)C=&xVh>F+RwY@)$bA-M`VZQNqR6?CCQ>Qao3A^^HYh~knLHGH+vn}kr zAC`Oxn}FLXNR6Z_Sr&40)J$~-Ey#N7`iJ8B1=<=p={9fTaX1*yOxu^M)327sCHKei zBOuSzd&k-b<0e18jWKEBj$^CvscXFWd1PXi;QZrX5qmE4gpn=4_OQs9M995`&sMDD4&;u>u{p&FOJ#} zN#6)yvoCmhrxPua3-vRhD954<&_*X^u7DX_%BE+lq7hE1Hz&pV&9C$AGe6oYWuy~V zm3ZOv0)#=K)2@pEkN$Kbt94EN(>lXv$FE(#jW*I<*Exb&JG&6Vm4$zNv-3xkstaBJ z_O#g>{y0F-g{D2R&a-f{F-V9^ zFG+_=|7j}mx2?8--#Wy|0tc9%iP^D?U%y_6`z_%CJ!kvqrl*)IiqbBBT^Zih{bixv zMiNAbxJ z^lJEHo`FT5CzHF4U=q=nz0HL{gb?ikU*XIR_ETR(Vve8Ve6wE$pGX&Nqu(e{J~T(2 ziMGi#oPr9(6G++!QsM_Y$zb}ZPa>5++n#>BpTa;w6I^IwKu*&2zW#U za7%RF@#6&y@l3y%qNR(SCbi-?p9gbJ{`RZnem#+wetaLcPnoKRgpMHCXDD{O&w9Kb zq79j|j=jl}O+Z<4dIY^6IrD9WWNjYLx*0XB;eU7@q<%{oU*E?NM+TX5@gRm8*KLoc zu8I_kQ-xA;-F6q=9u#CfK#f+%{;XNHEy*Cm0wE^L)Tq<{QN1oaG|J5=Bwq%hA$l*< zC&XphK4$MF?g$}ABl$DaT7u144Poe=4&4T{2b1LE;wZLu!F#tUjefHf8_TBOT( zapi;E=y%;g7UVfPCK`{cNii=vF2_U&&&W*x4?$%V1Q@8^xv#r0q4nTLyM+v*FD?*c z_m_g#guK`!yfA22|4C-D{YnEIniV}?CK=uW1(GLf$;Jg|CH7djVvMyqf!;Ixn}3=? zK*KxQ2xtbOHKTSdc2fP*9167gr|&&%{ja;z3$3$Fv|ip;CHw7!$5R*ORCaLx(aC(H zke61~JSOd19QwoAelN)N{pD_SNhCI{*797ba}PqEV&KPB(FNumPgkH(lqnvo+!DZK zGoMVD&t7QyJ!ME=B*U$-J*wsZd?d7g>e`Z+>WZ zFW&?wi?y^~#U}-!bP#4<38|?r3_lD!(JKV)0OihXyj0QXa?d|? zNAJiqzabL5CASKu=T28DZr1d%SuI&0TVjR};{PhL4(yIV6to>a`6tpJojfWlnUnFSEK@1&wJ#; zj=N$&t%Kc=ArQwF@ZIn1de0sWlEvpm#8!8u`wgTZu_8)`wj+Xz-*k-w>NoL%_X*5Y z-eS>{vg*)>#d-dUCqc8?f&fU4SW(l9p7AABX`JFX9MwgYcSx zb*S?~U)y~@A8RrgQRdmT*)K86LVF<=|CeOoUfV@p5QGjZE{p9HC7W;}R~LQB^r;97 ztir{u8I6+3a25fb6w7ZY^coab4w5RyiPvFC93E{g7$~+X8uW=W5tdHZ%>G7Mo&wd@ z(k?sXl=#}lEjpET>{Wc2MP(DEeVj(daMjk-rUlXX&ix}&a`y+$Sb6&LGt921SU2-! zD}}eRw^?#D;Dn?ax2A|7MBN0%z#26>Jc8dskA!C)EMnmHNC<12V~Z(vla3f^H@b%d zpfvd&^|wr=AJlG>Db<=GLSaoHoYrz{^d^*0H87kv>FuFSi}g`{_j!Atv%kcmsLvyh z*PegZE!`~~Ayp6zNXvES$EsP$ZOXD*)gNClb->CIWTbl&0_*@-_z(w!C@(c36GCYB zNeT`~sNw*01owR_&Lr!x>z8?UuJLLrVQrldfrft1%}{D`^O9lyqIIu?J(>V;sI^iz zq5o|Tj}isCKd18Dnh&~FT!c-_IOQ>me}$ZI8?bHE+dasOY{AI01k_nNv_JUJ=QSu? zA5ZEjvWS?34{n0=P70GFlmq`3Sr|fQG?;(8Il+Hh*_A(0|Ar}pg?#Wofy(63#WLJW zfMS*N^xh!41=4Ae`QGjti)iKc=1r`4*8L@=4TUf?y@1LlxW&qS=p@LLBCJRAto^Va z+iY%EvWT1wK$7kaKTST>t<^s?9k3J(%(l9I48xL%qr}SWCryl0b=f@kB*9b8(7t(wt`* z`z4d+;Q-E&t&jzx64-2t5?ZCivL|O0nZeMwP^3Ah&(yH)7m%w&VnuJ+A|&?htd-o$ zjRQ7sndeZDEBs@Egc%wmgINl=)9oQguIG&vg^GY$e~zq`QgDo7aLkn2Fc+#LSKE!f zN@2K@WUHfYX(sDKC+x&e6w-u|pKN&PT#JL#a*kTF@VNliO6Me3EYs_X&&Wo@@i(iUL@Z<_fgYu4L*+zRIW)?i(YrnU|O$L8HHEuz}Xxj2;~&Pjz!nQ#mB|f z3{9~H!PpF}$2_qM+1N*3W{^0vyyknox~;eIQHN&s=S$~qs46TrM~Dn63M}>~jpXB* z!uU1BA{uWXaCM|kB`nc|P0AH28q`CG? z#0Q!&14gtyb*+{pA}E9v)g>e?eAel!3MUfxE!0*jj1*Y$)rueCtX-3?l}RA#leHQv zGBDc&S*|vUeK(X&atX#wJv|ckTB+3h-e@I~6Il9b(VJP}SNX%Jm?KR*d-3r+B*{?H zIgV$cO0lMi$!0OLi9yA96>lZ8LD-Mu{r!p+ADkYA_%9B5cj5MleUinbdm|a||3%qX zKt;Lk{Ys}WlytX9BhuX<9U`fKf^>JIbhmU#N=Y|@w3HxS0y2Pf=iCSPKIiUxzjMw$ z-&!mOS+f?y`@HWze=*>5QnNRGR0!dq4JV!IhHxNa`mZ9v?cQ&wpi__@EiT)5eRdfZ zR8R$>$|X4~Kv9?%ms=McGl+C4wx~FK#r;jZ}nSqA^+Z zD++YW=*K3Rr40|B)vv6_n1iJL9XqM3{HpRa`(sVq@2uWc9tau>zCWIzU+R>1k5lg_ zZ=u?cvm&nT(B$HbrA*=G^^a^710|Cz>z|Kils)j=OdcI=s5+aky~~}rWlQr}z^|IjHl(%qwuQTSy6I`7x6JR*^|=1RT2}SE zNS3f&SiZN^h9K9paqyVGcZ z-kR-9FW21rky4FtZNlSJiBy&k-;c8@Fl_uuUAPoD(8|^9u{$x$N$#@@y{n}ZM%)jq zB=@jWJeDNRxVm32Gc!B$YzM0kvX26}zVvO7^oDsBIpvzIQ)CBbtB~>r2tbkgN!G^9 zI3p5Vur3jg%AwZG?BW{*;pQdLkqvQu0|bH4dqiD)!Es~()=KIp&Rha$tbzo-0r@qY zDC!wCTNb2d){JI}@d7<7#!3W-HJd`|wi<5I|Ih+Z8=|1#RR6NlIaUU`)9TkFY-CkI z!AJS|`Om&;XCXuS;^@QeuG4U3wv6qM%~7LPCepiPO@6JqW7_;O;qO?jef#2bC0PkZ60P`Xnkg0eV)?zt+YZB!XC^%!QB zIy>*|@SV^hX4Y*oEOn&w#%MMzbtG$I{k71xsmC$a&9LJ+n<2wi-GTK%CN1>d#fry| z1CZ-9v8Gx+z4EK@F~@yc((%0I!b~B#&tx;_Yrh96Jm{wEYH*epsTObG&Ik^6S))$9 ztXoX5;ZQMAXi=_ON@5pZM)qgUNa^$Nd!Pn+Gk}R3rUc#aGu-bKrIaI@2fyCc_Esx; zPdfuV+Q{j_?1TTC1nlnr|4HDDU}xjV?SW7C^lRy$g(r)i{njY8GHh+jT*Z2&;!+nA zWQCX4$g=OxH?rCnxOYRVz1G!@bU1u-LKbJ8ONEOA!l;S^9B#e()rgbXj1gH^lmZZ5mT;D$;<~BV{4Japn`Q?y6k+vKCP_E7E;zn^)R4IeX-C;cv!lLZb zh9u?fUS;K3K;--51#Vt=1@hjimOAam7Xh8`Rk?3HQE9cL@*KR9&TjYYah6AVjj)6L z97cUBZhg1THwu*oL~*=F85hpJR91*O*H9lz)|9z#@mChEYG?~vo1`xjB}mf854iT2eW%y~g3=3~BB9vgNeo7L%c)mmgQc`5jT36A7g#^fVanL*Tpp;~VJpIOb zcTmeq68By?1L!O4;|jL9ejVJ{M=`9TJZ4xS#2JUH$(Z#6ORPYExz4R|vtJ z2~Cyv6|YK(7@WhGKHGSCv;;@f!Ie+~tI318pGIb&XR**Wu!8 zp=_Nw>ZQ*O`V%=!(IL6_HNcZaW`+N@MM96tNROL_U{G9GI*ndJ?$^&yAz>k{A(OZmN&8kPw^P zTMu=5_T`OUOO-HRQMr`tOayQB*)a`x7e?$Y-zLzFUUW@ox;LAItZtKKgiT8AJ&1YqM&Z3d&; z>0HZ&Z1iyE{X@~_V#@T|mAM4sWKOM$Z8??mL+_J@w8Y9%*<6EqbJZehD6S>4zn!x! z(gKwX6Q1;mjT4M}^V*){Mq@i(*z@#zxle)M{!$kj)mw;oW&#(=HN4xs*&ad!DfEGf z_$imGW-hD+A|djfpSCm!RNa)Qi& zFd0A9uUcpvBk^ujKAvVeKWmn%AS%HFkZ5k09kHGR5N(@)h%>`GvG+0^AvhM7tM&0u z{)i-h29$sKA}5KuyoMeAJeG+pmCNiwlw@pr;ZK30UB+~~+_e!MDw`#z!u%r~-X9Oi zJ7w&6)xY2%PAkD)L-?3e-3nUZ>18|6#P;V(m#2E$E1UcYl<$7NJ-uer7DgPt%|A)_J zf#OfLiE+s)K0ZuL*~)E(0oex+9;Ux3;_U?r;mwOPn29EK1JV}kEU>Zq5Ly2;`vOJ$ z7Qy8ux*Gjw#LofB=v}Ds1}HHtuApb}VI?YylG{J+Zq@WZ5?*>_&2ih!)5LIlt6eysIn3Nlovxme zMW2R>m)z62%UjdfaMv)8qCG?J+w+@)?f4%@!Is$qY@{ocF@+T3$wIuS4Pw3n`TO@K zK73~u_2=D^+Z=QgVDK(diG(eem|z4l&P`FIqb+r3+01V?AxVFhwGu8c}jG0Ujrt+3U1^%mFpEQO(05Tfat0AJso71@h zmz`PWS&@r1JYvq5LG_(548-94d^-2*gWmN7jX2+jnck`lIXcuX4hT=gaQ?3>v&keB!>la+oVhp`cCdX?m zG{_}z`C%c|X1~j)e;Mt5{}3o7R=S_PnK|wKz~k5^yCpSq+eM>A#_aTUcTCE7wI?!; z%|O7HEXw|%(6m2pUH`RZq~J1&9TR7OP;RrDIdL^Yo9}>vPsh{<9Ew;dUcUHP^=W~q zw_Kv9p9n8bZQ&~Y)b1()G$o%C=}xPe6JxG9F>>T|p zxL>W}XcVs?(}zr)2I;i2Glk^KXEWN>F_jJ3)&PaY-+d@3F^FWcbt()coI(V58@fgg z!JV88hkz^x2;sEd0qwV!iVR9A%ksE+veC-oWmLF``C+F!b9WL#Es;Q`V&HCk39z~c zh{!a$VkK^Cv9kGI7l#r-5otC}^6#+7xBBsXVK?-n`4ZmG??7Z6mA~sr z{^9G*@q$b~xKI;dG&v4rEN2CvN1dcCXphSCf*+V*arO6*vi?@yG_if2FCe>Rg0Ao)S0+_XHA`NNP)Jh; z<+a0Xu+UC=StgOS2mJJyhq|yut-N5QZ&KOKdUZn$wwqMXYx$2*^r62>!zu4gi|Qr`A$6Do`M3gyx2ufs5&F{u2N*8hZJHmK3psXRmcV>$R zB32`<@}O8YK*aYD_3|9X zY#D>R6|hqdeJijIpWQ_?KsxH-#OLI7tl78fhCW*u*+g~b--I7f#qk1OAZ5!@g6Mlc zC&ZfUxh$oyK5y=be0H>XQIxUh<+t+SsEX5CqvLadVCcb^sQC&_kxqTNXzmi0hCu>vI*w%4OOpIr%H83@TgQld+#fRmJ5Bcy$);8vOC7J7>!=A2yh(0}k|mc2W8EoT-A;jW5R%6qilbq* zGCWO_8`f~VywxhvN>tlr{Ry~UlnKJyrhnWZ5K8}aen;RE-Li^?esgt}oNVYJzX*f^ z`@y^rnnVntd52B8ODkqIUD+x7#;>n~mkJa$i9m0rm&|l1g;OE{BLr6}+^_5akWjBU zDLsF2_Q%o&?|I&wOer=xtb1j$iUCSAl5U+<>e|;dokc(y$3LZXU&B!uQpH75qleT{ zUhFpSU7s>Y6&m|Q5aP=bOLe27n+5~&v)VBK2ARcdO|fmj{#diCZ99?zXilYURpt0Y zwqpA(K53zCR7mh(qSF0&B=m@J4)pPx$|47dD}8%3+C`>{zG2rpeI9>TY{&4ydm`X3 zXY~eG_;{bd;?;ZM&cq0pnO3J5wU*j(xr-zx-Z|hbqcQpVd#O@pWSbk2XYu|*c1M~R zD?iFkFX4EWVvM+onH$Khs~lC0)tw*6SeCun4b7YL9+j28GBHwlVDR(Z{Ywo>vT&El zNuP*l@1Rkd&3W-TxIy{hQ0)>^c?-u*Bnd;LfG_mPHHk((7t%7Al+@c#=z?vhTomvB z5x=mo;Al88NqL9x(5RlII}9+7=SpJ`a~S(6Wr-LJ3v55SE36WnmcCjM=Z*t30rBHE z35@J?^z{AUkiCLJTRq*~A6tnTH(VbMwz3{Oc}6|bt(FT!zAt3qUxW?ef%M@&gb+jO zei#eJuo*O&YtVhUEz|vU%}f5~3Y>599nJ9L(}z0cztHfdaz{TZhS-QBhH{Sxald@M zK9D$GtijlBhI*uRSHz7-Y@y-`Ho5MxftZ;nOX;l%sw*sV0k^V=@`Ar9hX2_Yk-b8k zfJMU$kzgV|zUvUx3bK3ZPPGxylm;IiXZpU=h=ZhoUZfc5n{6^qN&br^OMDyJ`%JvK zW{1&9S&E2mYM%VEOh zvSO0)jm9JM+RQ`id(VG_vwP9K17*%#2Vk}{TRUEEAgI#d=hQjYU~fYF#3r3lL*M=j zfynq5KBr-~Jl>=QDd-T7f2Zb~5dSW~g6%gcCOtYBV-Hb=BhCYzg~UXJ zis;QmJVg?_5nBu)SHluY+m%WG*^=+x2D-iY#`h*?OJ>6sH`8WZR08hT!x2`*<9V{! zw&gxImm&u3KCMC*Yw@4S_}S$M$*c(O5F_q8wNvV3L&bn1?*Qtst6PwC$}aR;|6|1Z z=h+a!qlAkszn#ifp%iTsn8lueskFP@`mUqX4Ty$d-NX6n>!**SlcJOY%|Fi9%94NR zFVTM=Q;wW@=Q*W8A=MkXYNvrKLl}l;73j{MI2~f1`J#m)@v~yJYu>dUoT~XEI?(H zz^cdlmYzlzlY~d^=SbFGTQo}_0=5v9ZQI4GZkclZMz4HydTo86?;zqKU2n4x#41Qc z$n~Xm%5ZzImByD9?Y z`@FV#_*$Zl;ekK|h=;CM)>1{wLU(BhgODvE;;FDyKvoKhFN#r>>x|%hSm- zl@cGX!-pg^j&yW|Li%k<}KULQS)>bCnf{kl8?iPT*Z z;jZ<%$H}&Qk0zktw^^q}z--b%v#3SF`-Tqba3h*1Z>QPbWWA8mH|`@_f;SD9&k$-q z#I6ko$K=a^mcxcHc7u}{4Fm2t^Yi@5WF5~6ppv!KJH*T*GilHHNw(ZTn zMAvRN;|_BX{did0n~onVy*uuDRoC75;K@2-Zp0`8#Ja{kt#W%BS+X+7NBG`nLZrZM z;lT9mavf#oLFEC!mbhnhZJN$CIu;s}{^(m2?hWXoNb;iD@O_5NMf=}Ht^F)XKj@0p z+w!>_$}O~IS$p9k1D_TXCvs`gGX^* zldoMg^QPE^bIz}kO*YVynsCXdNm2VOQOQ=@f+a@ko{>Tl+}(jza4Nv=HyWI9P=n2U zbG*hA&E_7&d+g-3Gk88x3_YJ^pZ*}g3A*Gow+-zI!`6JKO)m9MukNF@rKUetd|)wi zNVbQ11+M%amP0_SxxW{MJmJ%G~jwA>VZ{XXIi z3|hQ=wzPw_&ONH*T;#+_<5*!#xKdz z@y&#Zg{hxz24fYU+RyZb#=jo-2$)v8I)-~RfWqZtM>h3Xe;|RGmR!Ke4u^$HE}CM& z?B|fKgp*(PauH30P=5G`=+#iLQTxyLrEl9%9!fQ(a5~m0UB9Sq**~=8aypmmPoWM> zH!RMD5WgIE&0B|2xU05N3aYn}-$p($%JJeS=Bmt6y6`Ex=D5|{ys+1yq%rC(*C_oE zLBiWtA5G3L^`2KmG0jV$!Pm%rrLjN?5@umg7KRf>04D zrIM}TFi51q7w$~NPN5+W9_K^~d~GhP$RlHgs#mOjW9JibXKl86DIs?Xa;UAI*-eGN+; z=dnlOFKn*Q;$|kjr`O3TXMN&mO)Bq8rE(P%T*(^bJEzsf346M@AJry%U14i{xZF{& zX)HDggZpGQ_&y*++{8mRp)Z!Uc`C4PY%4vf+WqJiF_%?P`s6-l<5~Hf*+jib{>Db@ z8gK|thDSOa?9Dn&u;6~B@bUfRde3%6;ujmz1a^(SCZ9WKXHeg3`q2kP}MPcPj2 z)i*Eg&$7ctz%Jn(kLA31`=#+0U~5oCLvTQh474*=$~Obzk2Yc0US~>w8iNVoXM2 zJKP^^_$4TWrF!Mr$UBT8fl}R$M_zTQ84~j`%mFTIq0!C!PMA z$MMf9pAp{ZloHyH#+vpdHZsj8aS8}YX}YL=8%&-fe0$TImE0hA|48G!H7<-Wv6rId z30EShD+XC?+i2fn5JXIn_YaM)vzT6lX*p5^4E~51*!NB=JTii&=LVUxRM^9q-x4it&6e5hL5j^Jy)H!1;dQ$;8T0A%&Pgv`$(NIyYyIqZ!T4tu`p+-R`_y7i$FH7}$fu4MTq`!ZFDQOG zZ<$#7B4>qtD4kW2uQmAduq(kLwlj1$lmDoVFrqz+N4MJSE6ut-VyJniOqLIVY5CkO z?Wa#h&DtmU4+Gy}CKG@9i7Hb0M(d&cw&U}@&tF6bbd0c*f_GcL$&M_uo)H>(YYe-p z%~Nv^rSR)1BtD|voL3x0)eFG1zvZYqVbZRt)c5LikK^7bj$?FXQ}Ht1j-6%u>>&gf zU4ep~xH-%laNEfG9{9tt6wLJsdo6H}v_IOY7m-cjKJ=+q$$xcHA`%x|Q7H<76NJ#e z6^CWCb0#vHVyV>u{*!y2e_Z%iqsxCeQ(oSu?MPcK)G1r0EnwF_&ZAX5KDx{G5~h{5y-~>##N$`2>@_^@8-iIyUV9H%@AZQh5mDdk+4x<4b%^EGvoB@?<@t+ z55HJHAJl!#yYGH=*D9=_7LCkUFo0uR#u#8x&Gb7&B|4Tn#I7X&Dr!8GA`#57LdQ{p za(Pc8RWna3MrX{$i6{^u+P5;o04dCcT=ocx0;icaVUfvGd*EE2-14&^vP3d8 zMOt5$JUmMGEqPV@P<`p*!`An5W@pRE5NM+F7+0p-n$HW%Sem!!7v^{vgscw?AG~67 zoPR*q_p9+J->LW;U2CZp7iR#;H<*cAX_NUdVhu>8wN)+BuAKmQ`@*Vbe z9_g!~(D=28%ai=xUW0XvCp~6S($9L{x@_(Kq7El-jyavPX&ZZMK?2=yT$m)kE1pcd zi);--@*P_j4+&Vj-uV9aDe{&a@nHfx3t9V3o$lhzGA-bxrip?|h-*LXh5BI)9kXGX z`B13%E2#!>nj;#&09znv)4*1Bxm z5gWFgRDU&+n)R|d66{q5WBJErFZBTn{Ll<0&gH)4v`0$2C6yC^M#|*nzVMR5keN`y|aAKGjSDieU&764k83|^aFo9 zSrl(!dG*PugV8a(7uC-{WC-C3p=~iS?&(yGP718Kr8b-ldwTnTDhJE;rcR6Mmi>vyI0fC{%B-d%^syGW&t|B>?g?p@c4} zPppq*8HGJyeMrh{6$1vQ^y5jivUi((%^{TFklew$J$@3K0ZG}R9<5eUC3_1+q?aqZ zVaqe8;n^2pr<1z`doKGNfBUQSLW{*>M&1RZJNVf4EE=K5xw{XJLt`NYb`?IbDfGxVuVfca8Rer zY0jnQz**zN*L{nxTUs;%W2pg1M}u3FmIc*E!qjV8Jxw7*L#sJgy9vK$s@-1(*Cn!Q zD7Z8-Z6Ez)PuLN3k!!3jsFimx9bss{ZL+#e_S3G7VVz#D69o z4ZIzo&Axw%f0K6uD+$JOcSD}WxZB`V3=bB&dnVMjN6G7z0E(|BDMF&sgE2Jq?`@b8 zx*ASQ+&E4t=5{n|{59=^G6S9QWAPnHvr`9E#dVt%CfUJQKm5-b)s@PXcG#6$B#JPcO{e@*O&Dp!}LG7SV8dnHIzD{#QmJcR$QtCB6l@;s1=jo`D#?8(BJ}Ykt!JeLe*OM)}+5J|l?feIZ#aQm! z8r!8s*WlxQu)0%the@oSaMMW*w~S5ujZ3kC=hEp@pe1$UsBI?qUlppjJ(IPiP?J1r;i#t$VQgTj@G9J)f`sT1c zcosv^M*gI;HQnWXy4&Z_!`3+gDYN<`{;F2lOQ%h<-4>+G8nt}8Lq)q5I-N1;ap*T& zzXWz2hA%``2-Ws`gO1JV?7zOcHut%2)a=i_#kXVc`-mR%WVBS<)TkSiTu|WSv$pgI z5^iOM4DHWXeInZnQ|l`6GOxc!Yo7pr2w#U--jK?wGuCU(ld^G8%$-vE`Oct;cwV1` z-0@8Pu_KB8XBhd>+NAkJ7^4~rnVonxDxTP^l zy_37Uoo(5VlI(%>>5V@gD^BOiWBVUczA>WDt6y~WG)R7YUMpa8RiS44MwX?EDNHub z_$oGgAAwXww8+x^_Yu9M9tF#-yA7Gp?fEK@P_gheSt?YaRMGaM6I(;cRaj( z3NpX%y5O8_Yq(O!-~muBrV~YKK$Mm1+xrll`gsRMbalzm2l-)OadZCADa&)0e{-tB zh^Y#mM($5-QgKJ-!x;KIutz@$gfpN!%yr58$=h8p<|qINCiPq?G$T>4onFGm>|iG9 zH|dL^7Ws^Vh)1DtZtVf~0}HnSr1bT3uSfsHmHgY=Ya9zc298Z=PygaFEr-kH`Ye-7 zwZs(7Vy6yHJU36M@&q}SrrNas*WBxoRK}KcJup=;iaIGQnL{@1DdQjCS*7ra5U4F_ z-q|j6Kal~GN9<-_1{LA6T+^>{(qV+GKei@WnbcdK6Ql~ew#_}DGn2xsV@%~ZK(VEj ze0ThN8j`CbO8FwNk2JZyxvzd@aJJGu9-mcxIyn!P4kWY})#SV<2MPz%-H+BY*eE?} zacu_UJe)11T|*N_oMJ_&lFA%!8(attAjS0&U>iagbPon48$hFqrlh1Upr}Uh@u4eH z%-DKE;f-i>&wVSA@g7Xf`i>U`+d`LQ$#oBye+?ozq;Xf$&ugoPs?fji`<^Sy{| zG|tpz`C=^QlZOiLP%|Uqm=cI`n7#S&>2^x%s`}3ph$)5X?HjCK!gInGPJ(52fqXo} zqCa5;6<0Jd^COnYLt; zmr}e7!a?;u-S_q)7L{nZYY(qoG={6Z@#lLv!pdR*iwK%AC{m?f>ak70VWHvB?fH+r zlpHszrX3D7A8&Kfwl3G}!?6LAjBA7Xg@oK{9`I1H%^if`(d=EtOOoyVBR3y<_3 z*1L?+#{i7cK-byA`W%&<)Zl|B>@<=IPHJ=k>YqHch>|KV`VyPt3?a-oN-{+uJkt^V_u*EOMfMJWB_wQ?Iz!d9mEoD4QJFoSe?KUe zRIzTfvI5nazjy?*yMHxSfY~e`wN-J{pa=O*A!AMuN=CM_;mIa;kpTNI^XPfsn8@|EdnTc}ComA?R9ur!Hno{W*!u>MRF` z5h{z1UWe~5_IbWHnv$JWuWo*X&V&owTCdHk5g-7>NglshtCxQfjz6pyN)HykN4yW% z^r5Gm`m6{jSjVf#y^FSx(!XiS{8uU9Xw=9o&~Pbodlf!@oJzhi`w;GAuR9k`W0^jS zJuX@5IGltO?xQ6BKBVp_Z>}V-_M0H&g=L)7+YmxPYy>zKB6!amg7f`@Nftt}L93e% zQGB!OOH{LK*wz{2x|q3SG`{Doj6$l99XgS0FKxxn8`;6>Tx>yfx0czq8A~sf5Lf6RtSCo+rSh!nMFT32s9iw0hJI-`?prQXcb| z7NCKpUSmGi_njyP(&VzU6^awX5k|;PQ6=Av5k&ffG1KjH{My~h+^XvUh@)QeqTWB2 zokkA|!JVn57xjYZnhdA&w>^bbTFd_&N)=u~;OYU2nybA%Y;z&TX{;Z>2=r$tMT`Vd zJJ{4`n&+&c)%KoCl^Sp3O6*fh74-p#9l(V>yQ3aWX97rNrL=pdBpl{P+-XCP z1olyaz39Fv_9T6-^kR#9t$Fd^u7hRo`#0Hy$2#iqIL7kC)l-C0G{{VxQjP5-2|v3Kn_(y}$Y4l5&Z0 zb~KxS$LF+_XFM>FOS9O4A>IkQfcB7>QU2 zhgzj^XNrM<%P;6$0@M!pm7vX8+TpWk57mqFjxrGny6z^NEqbaLdTi3G*!d~#1C4~s z9Zq8v+%bQ1VgzK&keHubjr-2FttUzKNNO*;LvY&kt4-zQH;BGM=mQRcl&9NEX|Ney zpa|0SqC=mpXgz(t3D}R144O2-dYB%ML1}-X?cygX<%KywkBXopNue$@At2EhaUf^Z}l_vrMl8Io)d3iK33;;7#(F6Hr{{V~p z`vQ>fIVwno=jQj#R__qh?ScP>6+`F;%M!}HMwqRVok7vHV|FHc?lKc1Tq`ZOY7Y=F zOIq$}17-mI0(dc#J*|nD_|_r*DLi;|NcXIAdUF^zstr*{L$;u6T3Nh@Z=$&b(CMt- zAdnA)z;~bfm7bnPj{L$>i%_)>x%b@lcOfJJ>B|tTkKXFwRRaDp;pUPYR5a2c%oG3w z0~aW&`ct_JmlP1_b2+=?L8Xk|9bob8gZoRk{JenaKD)kG*Sj{k0#2|&1V zRM~pTf^%CHj9Q2AK0Ym{`Ft(`L1RkOshuE9L z>9D}tKA^kg<%EWMCq_9zeX3|7dzRt4h*NjD>?H!bc2rsPGxu)=Rv-g+TI9Xz2v(0J z)(3R3hFslz#j)XEDx3$$koA09`tfZ8nuKbNsMPz^gR$p08o&N&Xc*}v7z zwB1c52@Q>*nVyKxjbPo9E1t3=U)xkkbsTj`Ua$Bgo@E_`=XgDv#xGL@AcWhro@npvZe-t#F!?j0HMZXi#Zx&!yA~T$enCWY8-zG_}f(Q=YR1+*Wi9 z?v4RA+V6lHk`%9ab<5Qt6HPU;mWo)MH2Lm(GXp!6YFe9o2S88MkKaunRd$*^#q`gM?)Z%c$+j}_TXi4F6#o1jjp1F#LCC!_nOwm;;WJyu*jav{ zCy{k0gVUcS>Khak^WLzf2^`R6AFdUv1K&D;SS152>IDH8H#xyeZ`7tPUdW`$=V#mgidVNCA+Xj}L41>{i)U?Yp}e!6O= z*5@(th~fcqJjPPe5H;}t{_rpyouQ^J5*Gu}pM z1OoH0{HgEp&a-fDnTf+|!`9}NWz7@+pM56 z@ectkY;ShSDe{Nr7zelbfS`qVXYXxX00h7#-kXSli2V_iwZ2#vTiUhI8uI#c1B6QVP z42seOjg^VJSVUg$u8RNYJrd0badJSH8AqgDL?by8ShJ4{T5~TH-eFWCfy>0;y+JJ6 za2a(LgsL*mhvY_p?BjLtsz10zK}t$Gr*`uw zj)@f_+Um-DN5jOV|HV9nnU4)JoG9Ehw$O{OrsXLe?tk(D~L;djH zPMvuT^f?Bjo#9e1kyBJ|1Pf}YMyVz%H#@%FR(ofR-9IUE5>`*i0*(IftjYhd0~VXX zJqK1&Y#sBrOPsJhWk};S_C9kqrQCa%{}q3OkNC$&zV=aacoAd#qWY8@$a|>n33=OC zggjV6u1-|S?p#ZMxM)L%i4)YOx*(B1h6(8Au}+Kkcpu)xzIgXu>fhg||MULME<@EU zf)rj|bP2TzK8ty!oHe=uLreW8+vjR9Uar`Npg5W6gXWMor|+GS?rxF%3#4O8`F(F@9n)bVxxxUj+qXwA=viLkI; z+Rl!5y&^b#E$)f?-JtDNZ#2#00z#gj(AV=*XRCUe_yGN!=zsoaN)rq;$^r5 zZo2-}jx#?ViTCc_5?LJfy_koP`js}+Ay_jk;EJ-L{homQLDQm$+4R#(f*9Gxvp^?p zWVW;eva><@6zMEB3U6T%IDo z`(i~2^~c3t`Ww$8XSfF}N{*=$HeXomxXA3`^f z`7jLvRI(~^muc!#^Iy|dF2I+L#4!3k2~QE5R^YSw@dT19E(b?~;{A5%DuC#yn*8cl{0fG)FxAzh%x;NH5LhKC#T&z8Et4Qo%L6v3h4l)rR z_?bFn`6N77Q3O|?Y%KSX-l|^z(WonAH*yI?N_f|feG%huFT#p=;DD<5_G0+wDASMo zV@&tYLsg?#_oyz&e7MTD86`-lzxLDkjCWrk7Kc;t!pTFy30nM^e(~Ya%!iHOU)9Oz z1Z2|w)(kE5e|%!!%#JQ>Q8FD*CYw!gTh)OQeHI{&Er4tYm`lH#`B=aB2J9DV@AFP~ z+@Yp29!7~=ngdR&URjh$mn62Z>F%-^gEC&(D}R$OU@mpP8F*_3XSmE-R4KRn+*koJ z-<^xzGa#*g9nOnS_p#)Jvy#X7oni!l<>FF<$XFGoBAbA=wQM|LG*)8(sv2v{M& zw{y-1QJ9Q{sjF%g7zuJ|x7iU3xm7yv&d&f#xExwHYnj(k-I4D~AL4_!{-3}66T|K~ z(usTBX1RO17Evv2oOgs05cS!#OU0=qYCukC6WiZGrd8BEi}H<977RV)pNqrfejLMMkQQ|0|6 z4^WPytfyHav-@sr85@Wtz?9Z>_-_l$eZR?pXu$67sINd=sW7JxZqPYG_afs3w_YRVH^!-*_@#}D57 zohY0>pjnv%`#_5<@6*%;z;M&uaeoDB?!0fvCtzZ~kpebRmh8hMckcsPrD%u~B%(48 z)9P8|QcWSyevZ8e^!aqt+u@I}`jC{LrR1NNO(LxEg$O3mdtl9DQ=B zJ`c;58s`(pM^nakih``7TG(RBhMEe@;5Zfa`nzqk*og1qvf~``w+LH#&aO`6%#-uX z&wa7>AYIfs){)z6F!OBQ`9S*Xh`p_*D~j*K(B*WsG{&6wRL0J_xTKYXo1(x|EWu;r zG%%@;HAHJo}Ec%yvru%$Ju|iAUk?l$R?QI81sl!KB<)yl#hI<1Daox#xz1~DB!0n)H)&T^LB3GbnM^Y+V*1X$f|2X_^e%Af* zeNptPpZ~zd`AIj z%`8`7g0cfV&uaewFk zTPGV1KSU1?J_Oawsz@2fGv*ybj1Sn3-9&Bzk#Un92FtO7-T$>5+YRi`bXhnD{)2#! zUPBx6)6;_8bvJ{)4^d21oaZ9?E%7>Kx`XQ&w4p%;Uut$o0FxtFUN<17OYioZP?ulr zMgNa4uV}vVVBg>6Bq+zmy>Gz$4j8 zZkH>lt<<#=QHq(@Ef##>C{7702EdbUp+rct--F)kI%3fk*PPXg znz7>bW5UdY4craoUYrru34ocLKG|Dw0w&N2kT@KGp0;%Y6)Ae* zZD1jTYb#cF4COUA4)nQnqC?L0YgBZ=oA}EKJ~5c`a25nGJAv-c?G|~BgPa zck0ZSD#sQ3KRhx2da0F2K5utzWHqZ9Hp+=O{p)1#8&i17^hcvIXoL@RMaSyQB$@0) z#CK1L@cxF1K9Qzvt#6Z-=~ei{p6h;?oZW_J7b)gt93@qzB=wg^j^Xfu(t`uEANxI9 z;{89YYBPj=l&b#7T9?3pQwa1}|D1PbS|(t}JP1`UJKEQnM89CxP1ji>hUvhXP9I3UQD1XPgQA(2Ei8+0RkqKMjP^K&S|}gwrnUkIy<^TXBQsuunjgfw6Fd%OI*wRkb|2J9pXLiVj5|6~y6&p>SzhoK z&y1FvcijIeCSD$ni$4NJjtx>b(6@C8bIWA;t!La*Dmy#cx-Mu`*~}nwVetDXI6W*K z5(|t1kiP`_j%m47E)H@r)lN0j9Qol9c!m+>j|uU^vq5E)9!-yPhY%Do42Ps^WJ^qg znDl%h0%8_ru=_N==089*$_2@li~kIQA@l@Fic{Ft)C^l7{}S=240h2{7#(0NuUpSd zA~%V^7&9>})2Fa@N-rP-&Zi#E%bcwST#^p*ol5Bb3C$(A(`YVBR-C_b+BvN7=d(if zTK2L3YJhDs|3+dD;knA)LSl)O&nw{hC35Fx-}SdJi$X66 z*u}NJEyPmu*UX`3M4Q5zr_Q90s-^c^rM+L2U2dZrcPcW&Bf6^pjv~Q<6?X>4gz_EZ z+JUj7-te2Zwu{Q3HQq>(1D>s6r^YEX2$Vry;WJgt<1^7XEv>#Zf=K^N&?z;V=7Vnc z|JG$G%<>F(nzJkV-Z1=*ZVD`s+D;lMi!sb-I_x)tJC0fhi= z!xbt9rXeRVWV$I5W!;Z)nH&R~-x~olg#?)_!t@=1UJSP@bb3M4Z`5g1+G!Giv<}#= zh*Ag5mOIz2$d~5#Ler(s`?Y|vx?w60;RsKEsC_RAbK%6u0@$UAbJJ zc|S$SYG(Hjyyrj4&o+;W6%TCC9VFz%hLe25Kd{Jq7`>j7sgj2$-_)S&O>Yy&Rsw+~ zuR9O_n0GAe-Y1z4NS8iX&951p$c|}ZU`QpxNL^Wl6p^KkEm*C@$ALX%gw0s6mXELc z?wPg>`oD`B9*B5n<*EO8C2u~+;w;*Xt|zv(J?%cpLWqxR-NqaKrW37adSw4}{|?xW zWB@2g{+ji$i2*taMxfW7KiUVLlkZE0W{*hdq>SMeIfBW@NQ07HPAlWzVOp)v6+`{D znSZaGV-v_AP*+$f>_M1oQvt}cPopQd6 zEPfmJBgLe|Zuc8avXI?3fsO9iB~`0rz!h?FNS%d#&{bMCZd@Pz=Bpd5=bcc`*~(_) zfbli&wXf7&!rUrsYqbl(svP+d5w^EC7Whlu!}2=;vE|eqmtj)ApW||2`|6?T7ZHy{F+RUBqwmgd@f2a?L@@Y6EQK#vnA(Q1_B8JH zV1+|0A|i(JfsztJy1{l+x>u_QnG_|x`64&M-+2I;^bEhR=u%dYgXkeIs)f$EJlH7b zs!I=VdhExjU{6Pa3|Z~jhKDa|jIUDuCbzQZyp03=vyy1z;g^FujqH6mB(gSM_LC4| zVAKrx_I`8KETKdNy;bisrb0D8eLP=h(e;%&+m@5wr<%d5bIE(}CgNGpVQItm{eYzm zPAAx$&tu)iDc}4%D}EOeh{=L`U5fwbf#Sc-XZ?*n9jJv`Z|fp?M}2_cWnL2)XG`$ewSm)0s6d_Z$s z1&Ye|5iu*__u%3x#S|=d9gI&}IvuFPsjQ-etZqRHIz4+8j@y(NtIm$}YK!<o*l z?W!d}TkHKQH)LwBhu)5yL!+_^*79KD6eW&;|2C-FZa)~Rfjc*}*}p1to}7109?TNw zPWxX|@xN_yz#nLRC>QD%m^*4)nOO(>TR4b0&yvlPf{tB;e3lNp+24<8Jy&ZKXK#S4 z^6)-zRq)IqPVy$WNvoR09vTLbe3}T+8s&I*YeF zLOn`(nur}EbC8vF`F9Snp*F42h|G=-D9}!4Wc+35(!$NCKIv$Y9GsQa$GPA3eR#rr z3mLNtI+B51inEhs&3wyem9D#qliTBy^W`(n!miB{#5$vr7HMs-?IV7j)Q z0mq}@8ae0Xo5t3hOGhS3MUqNu2Ar?@otyAmS*Himb3c0TCZVZ3 zLq|CLv4_xnz^hktBA=ChXLpg|a0qZPVVjrxyb6C-^62-_&C-XiznQbgew2T4x_S3Z z@0-@_kNcT>mXJ+Le1`HCATaN{^0|zkezp9ZN=zq(4Ww@O8A!<%ziVUp&$%RhF9HC= z7j9&9a4th{E(Vo8}^xv9rba`EGr^V-bL!ErLA!;ggFa$`L9)$;MtRnY;S3PR^(cwPKO*L z(pBsuDKB{mGPxOCYwXL6-?OA-=Tj`V{Ti@Sf zQ69nw6>4VicZOEs*!lS95ubsFku96`fr5o4%b~DeXCJ~f$f92jraFepHd&4 zyQSy+mY>pWTbQu*n49$ejg;bK&kf}nP6#7<7Ox=(^|_WT=8KbVk*i$Kmhjft*YnUH z+J$}wL*?=}Q6^#iOd)?R|72*bQ;$uUl09I4WWV}HP_fOc9yrbG7zRLh^YUAbwc5YO z7O(42-UazbnV<#$&p&3g_NoDrnmO(%S|;KP9M|GSvynM!d*&RYX6)uwIdNi=om)?4 zof4x;w-z-+eGLodr~na(_TRA$mGwe#$(?w^o)xj z{v2_lLh8fd=#LmyBA8>e^ZWx6?8!Wvh}|O5Zl%n*mMZ6cCQ;!=%MgmL0o6>?Cg{k2 z{*l~&VM0jZe6#)UX`uAy^IMN#uwrSJgLCNXNJ;e<@1W;Qc?e>fRn`rEdOGLPAYx_K zjXFka`W=BqWMe4;KlQ$ULHb?UjITs7*1q_EdZxpky-5s2-S8_Q9A@2N;Y2w3$@m8+ zrWeyCWmLnz%HY@Z4%A-eJ^at__G`@40sF0C*vV`Q3?+ntWd)CDwtCIlhE}$WVDbvk z%_Q@|(fSu`&$Ze=v}H5Cp>ZLV-{0eCdzT*dCXO7t%PX3-fJ}aqbk9t{&@fAK>r>kKA>(Ub%YM-$IFW{=V})9wnt`fo#LGBP>$ zP&-emaIrd(!?T-#Zk8+}@tu@<1ObG^v2Q8+Mvl)|HcJykQqR{IKVAk&=5986{#S!) zdZv)LL8l|kZ1S8z=uio_pBxJ)?gU8?#Y2Kr+qZ0j7^M=$LR9-CR1^0j;I}QlV)Qbw*%UMlBSBaqC(>?eiS@ zPIs7md?qa4bJ5AgsUePUM>5PlC`X?;#_lOyOIK+jO){*~?$ew!Q&{?c$8p9HzWUxO ze6=8gK?UP8E^~*1J|*m&pF+QHZ<2xBoubFl$2X64XH5>vPU`9Gy>_}o;f5UQFT;M} zq`-Yf{$<7c`U62-(1nAC>TPcLMjUA8hU zmhH+apUJusi?cKJ5Ybb)+9+?jW3Se)L`W+C0o?oQXQlUxQvb!h>oWa|d*5c6hi+*D zL3HV)Ptd0Fe``qo=P&znLSdKWXGV3LB0l9UMlS3tdoV$c$-~ux{SO7B*k_(; zkh6zm1r=}eaX1m>u9dEccUFcQyq{mJ)u}gC-~^WaNTm7S?uj%ij7l*5m0Xv$&ztr86;6U!~rBdSjouJh#RAd>ps_ zaAA+LNI)X@X35Ayx01Y#_l;eX9tdJg^+WF*%jPjkjCmNlB%|NwD@bvzdaSb3Xpp0D z@0^Am;KtYG$iL$q5lK<0(`kx+e zRVB}&Yr}gn7(23l9g}f@(LTU@4zA301m#BVoS>n=SUKRl^RhMS^V2@tE+TryCIMQO z9YgoTZvrmw>m-#)m88`C7qej(t>qsZN>E zKrAIdv8`BM)KL4-cK%a(;1THOtN_2ig_96iY|K@U;pXMhbl+1N)MB@vX zu-%SXT4n4|Bu7p0%U2{DsSlj1+1OovdtE%;xN*l{x#xjGuY#C4ir%SS0r%*EDz;m5 zVs?eikUvsO+9`gxp6&8<+^zx&}Z);G2ViWe2kfKz-El}FyM5YYhNwqYMH+^I||>T!&|+ z5F$i$vG@S|43yayJm79%LfI;d!KVJ;lhTy=TZ($GZMN#ETE&s)?;x1OA?E7jlJ~5DCE?Kvcc{>P&fH? zmZU#vS;9H}(KNI$c2afbg%PeU7d8Xj$>Qz6?rPBdHJY22KI?sAcJiErjc!bP3S(J zG!pU{vFw374*oc4V4JO$qx1*SU^iKs4OFXxRYFU^T|>J?)v_)~#Bv>?Gz0uQ$p!*I zL+=4F{a+Rr;PuK6tV*<(+kZYsyj+)Wq2@b0j|iUyiUBy-j=ueHSO)1>zm}%^VMXxJGYl+_O6$j=}L6 zeOq7uvbP4z{-rAH(?XjnfAbhbe4WNH{v>ss1Z51*NVKqWNb!zjhKz&kPk>TDsuSxgH6 zEJc8i^F+F;o7SPT5@6m_0Kd!{J|KX}89Mz+<)lo*!M1C8Y^1;xeDZnEvDelVL|EOo zl?EK&IiScLujygnL$T`rt`H283yZ-AqFd`6teTpBSgdL)3zl1`(J^ve8Eu_*DU{ls z)dBd_CT1!m6RPn^_#b`A(bgm^g-h#6UI7d@zSww_vWHI!R3!deC(!Oe_IF$J}@?0v&y}k2a zWIU(JdqBpA@!@;Vl7)+f%icKZ^#RxpWFex5%OjhVcRAzl;HrNS6kt>2sE+eHtEW>65o2# zB%tIH7+{BL3ICR?;$8=YHlD6$uHcAA$Ra#K}KRed8gN;v0edBhVM>2Vp-ipFaf`}`FI{qEPeQ5 z<=Z|W3uBVGZ^w71*tYCCcvbV@^y9H!b*04={WWi(Ys1?09 z;-A#qx3PA}fd_b2Ou%dGrPA~ec%<47)fo(+xV{;owy_1;RFE04K+Sra1~LIk7IeJW zKuE)17ErEx1|JcY^xZCv$eR0{t<5;cNm3*#{rF+k3$!L;^?=-7iNzCJ-`_rM!CbO`vF!%ig$T|D4%2gzP$w=Iy9 z?78`19`Cqftb;2;C8#t2H-Os6RW9y8u#GiA%Hou@r7SOXEnt=T6xIbULpCp4*s$Mz_6h%EKiP9Ee8{mP6Yw?#zr6a4iWWZ%^ zKP%Upp&+%;7~gJ1zJlu(B;`| z^8-o9=q@2=7AeZ0E@3G+t->=npKUGqiG_0~zHCOLty$J-fP5!nKUssMR8#y4@3#DB zO_{UzlKP~a3jj}f(!{WwlB{_?b$^Eio%A>H_X#&C|I0^UKOfG<-Q#35xfd+)%g&FR zY2sv?q$4?#DmlXFq#N&9vkG#Xdisu&IUv60CJFx>>V(*0I*+)FX?tRx9?3GS-7)4E z@GHs{<)cyF0NM4~!0fr;Z#|L$6$~B3l~^laU(39KBM+Px@!aCO^&Z)k;T@EE zM&=z+B(+Ypb0YjVfRL(P3qlEsTYu3`2#3PFA(W?o41amniSpRVyN!SOT%~?@5ou=f(2P_(Q|e?f z!c9I&#Wj*plfFD-*Kw}l*UKD=LszQw6eeu;%ZXjM2VkV90aNXAEfMsbw=jy7h>XA| zfxz3=yl{N=DzWY>Kac>okj zw9|#D2nm$iO1ENR%rya8D%jsC&Hq%OyJs`x|9wmx|L>7i5stK5VqX7Sa0;;;=gC#)gp`W zD`}lhI?!( zo59`9#0FR0{F1EmJ&|LcndKRo#FHK|F|Ltd!C-ktEfNO#GV(7Oc`fnN0s!}au9s~V5#f-a^qD6P<4vE92!Z5Qm{qf=^1W z>1k7&FR*Y;QgNY9i<8~_p1*9UTb#JRRi-+RYgV2`=}Sugj)rvY%z_ddPt`Af`0W<9 zlF*FV3kqAI?aGv|Y}q#;`hlgpl7NRr0{7kfRM%Gzq1bmdjHLe5x8|VeZDk#&9`VNz zn@n$ic?5)4b(Oa#?>IH6Lq+S>eQ%{E!ctKZ%Yiv|ldE?`XGzQSN)NTEpB{*LE79XDHOtzU$!vqM-*oPdoeowc1@N}aGEqVuXxtOI9wAs8XayLQq zE9%&*EZ8Q~^i;n37iP|7y63Y~q)f+cl@*%QyCKl*t0JWDLE@V#Va_%_Z}_s!-NI&Y{=KYAKHnYM-9AtRnB}7Rl3`n5**dShL?xWNW=-Y8fuf@wfjl z-k&59Q`Ug{F%s=`N8jmZ-LBMcx>Y_X(oDp7N3@<=>|(dW*m&u=1~anuovmVym;ccw zB`ihf{?x~)xXb)Y|!L}Syay2e!V{bZj5+o?eHi2 zhF7htn>^O=6wkHxTg*ZUY1jq#h)!FPTL#7iP(-Hoe*lR&JugD~dBfUY=K6wA>c2p9Ss8P}l&EpW^g=WfgXJ&&wmVI+Nqg+L@M-ND=aOC2v+Qs(C_Cf*lqKb` zgGe~f3CXQ{aSm7o6FA8!jGJQVWkGJJ*hO+MA7w%~p*=Bn!x85jv!>q=) z{|B+Zk)P0A%cDOhuXRP}s_t0PMdenRLHGub#E)S1O@6!}4wfB-ekI){=v-v-``JX2 zzd{GqzA>}68&ZqOpWNWUQF$+kO=f!ot1YABZ5T6$=|!vI{M%F^8dtLb61*P$oJZ=u zqjye0ksp0E5G2m6^Qcwds5hTS-L=x3G%59^{!co5>a?Dt+EQ1Owt5HP){RfzGEy~) zy}I`$76;dGusoc=Fz7nzy23!lWgd6=%xsN(etjQ{o5EK=Po~{V-4Lt?@S1&%$0?Y_ zLldgxI-ggpnJeSn%M#UDOI`o2Dm$P!Pxc=6MfdIm-2!{@1E7c5I;r2C779hiHDjOk zjWg5Sw(6phQAktmt_Xt_u{B;mm#jJ>2?p*R$PO(EoZgnO%x(J_avWAtQ*HHeduA7rwTZ6S^hVoI~;&TT~ELWnCH&3Ibd z?AM~zS3RD;RLu8VEM2{)>g<3uc*^-*M5{G_e6)8ro>CMJDhS?CYv;(H^=GcexbQOr zx>d4f_c&bXBehJ9S(MM~9uYz>x8GuCAI!Z`GNn_;`5Y3%|JDX*5YeCoZFze_G`Fx9yD zB8386S4CgqAX4?9AFa~2D>CN17j@BdnjVg2lBO^*6E>$y2Djkc1hM7!zqPgkTN3ES z1*`nW7l!eFRVul0g%kp2D$H5N3*`Er%oI#QrcFW|Tz#X9%`P7HSr3)9OznO^ zO~sboF4vUBh#90rhoHN9DlRTbqVSdK!)<%i%-^eJi?GiyUCgM81TWWFy|ll`L_urP z@nl_4w*xwChF<4_i==h`y`3EKa#oNv0INB_Nb6bo0k)M^@aB*aFg>O4P))Bd#J zX7b8x;5!KPk}6&NO=a`@mYZ@vCswy)#K~;XTT;y-47tyqU$ADt#;J2e;IU|HNN8Q* z@LJx>-1nact>#8*n0}`7^dF8=s(`U?K( zK}0)-pIe?(sd9SF$y(+BsB*dAZ7dVKJRv39I{G`>11vaqSElK$+>MhDqfmT90}SQ_n6z8TQ;OwYp_Z7*6lhGm;CjsS=5P9vw0zE0S@ebt{Z73$PsCg z1pFbQs&&3{q^SOA&MoUgmzI}fPOodfW!I|0X=E+7yh>1i%8->WI0H-IgvK*d;y6TE z_w<9lyk2|mz2uzvy6c7S-<`~9q5P2Y$%y<;4LXr{Vsh&320Kp?Uyp5y^OITW5`*SX zZaVlFDUsJzr9tA>HDF$cxsK6L&@EFC){$*I^CEm zgdE7lF>BM5zna6zT8ER)WuXh8gNeT}iNC-yOLuoZ1asLPV*@n#noSF` zR<#S8whDqc?ACUd4tBS?{XU@gVyoRv*mf(VHmjcBTw$$_@9@#8;|S{NuHH9V5f~eo zFrE3#QzA8qQLM~e<0U395EIS0bDA~U|0DCdLTyQeEywU4w2Ls?3GPRjqn~1;gzWj7 zE{dJT&FLh~78ES!HD%Rnw_KVZ8u6>@?m09L+e{Q5Ckdo0oz1y0K}`0yPo}gaUGm17I7i&B%Q~p1s7xwE{rmIY=?5h19NMS|7g-OtnVhD zt_mPDWezT;m=kae2~LfqHb}K{1t*XE3;vade9O%RuCU*(yFhOnPC_2 z#ph8^8cENIo5uT>1tDMpaI&y z-wKDnZ<%{S-$OKCY>oZkul{vbLr=YaokXcA0Ggc#^=NJ*`;6Za0aGr>nwW)jUdFuDiRW19xnbIn?87lbr#o zc7IKb8~Aq`lymN~lPeRyJ~#YUOxlLP+5#z!(D&C!8_$Yp=P<9~m z;yJfC>Dm#&@BzDlTlLbX_WB5R|N8EaAAQUvX;p%8eN_`+s1N1Xz1J3%P^Kc8MWfV& z@>dnN7H%~Scfr5i)BA2(HB5T850c7@Pb=X3t9?x*xCXeBi3TMgdAQ^ixZ z*ZpDTP^`-b=$T0qX0tGfvV=>qg10A_7^$c zi?)b?r@b9NaPCPSQA-9Ed2J&rv@IKgVzCPe?;1}!Ww{mS@fH{_XVn-tntPs^Igqn0 z1g~_uZEB<7+~!}2JMVQqO_Qw`AR|R&~@d5juUeG*Euri;>raR!1H)Cdx(Np z+zzd8a_hG4EqI^`+jY`!9Dgr<)Y`A72Jzs3PipV#I^N6|lPkVJH=BNvc_tR%zA&U~ zCUt&=3c$^yT5`u!;ffmny;6>*AtsQ8~vsF()`lW_jy0aZv|kSM3ygooDdA&wGCdI)1m1(5DiLW$zuWtel~Ik-}zU9?0GNr;>^P^r1=gK zFQgY^Ptw?tZcF?z9j*VD7OHEd~^lj*(jNe_#XA#&Uvj`Uf01B33S zI8{uiEg2Nq4DD3V0*x^sd8(2j(sNKc(TN{z}k zE|h`V!)L6Q%)#f^J3Yxs|0>|tyv)+1SN2lMr%RK6>z{$nEpK%`O5j!Z<~>c@E)kVe z)>eekgWIkGO0e0WHfF=N3n&o6Q{4`yOwk@5?QG^_Iq#}BcdTa$+saqS>VV(hIbD63 z>tC%39Qzx|s3Qg8#?>wTr8~ofwB8-T_w|)}4x*{!9#MEk5)Y^O%x`@_WgkKF6mn|c z@-C0bMG1P&>b`#lL|4P0^dV(=NV7yw z^R%PUME=qtX%m}cqu>aTykSNL@q zCwyBK*}h7%pbBkJ;cF~@c)fVedRr^kzxZSF#h^#ybi2`H!4?OjvK03_qbkSDr+)hl ztfrNYxEh2SH+gl-tWAyUY9AYwG%%b`?bf-=+m$>nG3?lkOr?glSS{>M^B6ZCNW^c) z_EjMliA%oBpYq4mXp~HpQ_E&si5WDV{C&C#eM0tMSpXeUK&dTe3kIc>_Ysn2(s$Dhp%^l11r>yb6^FCH8b zvO5H|Qs?bBCChF3{F|T%ldcNfK*6z?xK5fdq@$9i&NUNCms} zdOSF8yGX0J%ebJ^)s@};+?7Vda#$ObYI7j{rr-7X`>1Km7^SY*t&rHQ zm0R*e+NzkcCp*N9-vl!_)$q4eA&n1C#o>D-SyRa{=IWJ6`|Hy2@gFuJXY3)G^Lj4A z*SqH9O1G@KS~jToO#D?LR%O#yUu;|*&Az_7Gr1r}}B*KQ}TZT{NnX$EWy#__Zj_ z0dA979qY$1<78b-B;fxWzvf8SILY|oU8bvfNr7hIWE8A1y#=At{&qoQ(x1r~oH;?z z5@eqGe)F+lO)Sj=76I#-)eR}FU(X*0$cQD>6$rFVv!xg84e7Y}A@~P`G@t+ob`o;# zkF_+CZKCL_qg=UkFV>&Wy)YexE=1vN{a$136AyaUH`~+7iN_r!wLELq;QZcZlic=- z>2p@yWS2{*6j*R3jPF*v<|VI7p&1}suEgNz%lJ2IIlJ!%DN$0ko29T?)*sDJb+PIB z3Uu_I4>Gz-7oxRykiN5;tp{@)b_wJ*4!PbJ1TX*TM%Y?AWC!vpv!q>i4$^o@&eiOZ zbt{kx2ZeXHD?koecP$r9=ouKhR$k6p2KnVg&0K8}?21qqiSK$ph={*U^kMzLHgEW* zEg>Gx#iIJiax&z$mVXdBkUPG7fiB|X_PtCBJjg~5xu%r)_DvO8{k8D5)1VtHKXT)Q zn9-o8=pN_MPZ}pF4brtyK{FW-IUQ~cyXnMVU7q(iv0SJ}6wK-HLRZjpf)TJj58KcW zm4R=!h&Tyk9Mbx&cR!&XIIq{w>pzZKQ^_co0SNFHlTSzpgJgFb3;@uQ(7E4U?Z>l~ zy&`Z&%fKC;uRU#79Ioc*|eR`UX3Ci+xrBDghd(rK4 z7pK6;r#Kie`LIqD$r+o02==4WS9Mxl9+utk(;up&2N!pag@>@MjuHRBLxweth{&f^dcI z_oza67eA!0)}E|cGbGCzf9||S{n9$v^J88}AvHS0svN%aGtA8)#Xgmrw#Z@jup1$= zn~ZIn%8a}MoC+bU>=g@oFs(RH}OJNEc>NWe|2qGdTm*x##SN~+xIcm8#FA4O2eFk(b9-&_o;$w7`Oi9+dmhe z7`Xmw8z=_4LQZBa(N#vxCPC-0mZ4wS{uCD^ux!yu=oPwXLwUH^?iR2(+Z0dLy-bc9 zH94>;v6vrQ{1{q2=X>zRGU7-y=I?59j-$vEd5clmchp4`Ki zZ)7LReoij>@o*x~EmDfs?a78eeg!hyBM6na^;z}asY!ROG+GR}FN-3@B&NQaRPr^< z^Rf6B_oy0Qmm8udHRhsJN)GGAh9dVxcQE#ZEb_k|C0 zB_m?4PK7>>T^k(xHf{nPh+tqwUFycEd{LORI2ExW^qc zM!(e$Zu|SDm@~a%c?@6k;fU3dFRLjVE1Q0FL@MdU>*IZ7?Sc$(;+}U@nPcln2?0s# z?S>KEk&4c((iroqU!P`FdYGIdOoLc?M8!nzn|&q9diY>Kk4D)dFEi{3H0q);N=FVN zvH4wWvGb{D?!5>Cs5>q?d6JaGiH|3sU*r*R)xI%$8|frphZiJ1Ti`6Xb3{0YmcwVD zV35-HPu&W)_A!9!C28b=?sHER&*U~^>YL5%7f*NBcUwt1MW1f5<625D7-jFe)^R^O=5TY;LT^ z9cfVqXH!jXBZlhnUY6_A^pngG(HMRkgTlFN!b8mZM!F+bIv#wE|eM#oN- z6>UxF$2n5RsUVxv+r~ZfTysb1BuJ^wcB#a4M~N)Qk0#KD^tIL%!Rmpb$Gjh68f45d zp_Eu!g&x8k*t$@PQmc~hc_s93wucP31}=(=sE_1$W#D%GSWZ&qi-x_NTKRNDsXMYg z+OyjH0K!fHX`|=6aM|T3>Rd*=JMb(8j1%m3RFLlK!T8gB;*^q$IP z{x>O}kXuxInkp&NtPuT z#?nt6lDk`X*6Amb@2VbPGG(Y50i(RuEOE3jD384K!+v`l zD6;^&(I6=eR3RaeZItUMmGdS{JE;=LKx60+WPT^rc{E4mMKi^!t}M>7j7*NoQ(zP^ zo`k!H;K4{9PItxI^7Hm8_S`w`8zIF%Wn4aKjSh&C7tRUIrSKP1WL`b(GmnrUju2b6 z<1dtPVuK&n5V#dAcG^V<_k7Bh@Ch;BthNKV^tF8Q`v--A>X*S;89cASirmLepD<6C zfd~^$Y+M^XkaVs9=$ALK-tU@DOOa6RW8tHw0Rt7Y*C)BFP7J1J!l-^NBX)vvTHFYA z?#&T+u}v%H*-E!6BY|!-i4D7~N+}md|2=&WfuUpM6{)hj-0s6PX;xFY+|V`ZyE+0P z(WT^vab9CO_T>zB+UcGhW~_C44X!DaKZ&Y6tPCQS>fE!@QE@@OOeaiqY)P-*9(fpX z^J~5Ha}V_qL{hMj0Xn0m>PS4qe#8^IsvS*tWWW1n55X3gJr!5q(uI_cF|^>0i`eml z&yyIsl;7#bi{F~cTA=D0=j5AXJ&$bH^r(cp!w(yurS`X-hAWj=r<=Ch(}_8Q-IXbFMKiyRAe=}RNor6yFKYAp)$!kVt=wFw{)qiP}ruj6j z7X~j}e~j~2WiN!^Y?hmJk# zXcxH;BJb;*YMn^n0mqlyF%JCYxi%Lm72|%H&J!L9Cf=|JpDA0@K*t_NH?3K3+_&e9 zP;O^U_uoq()WoWMT>0yBN~i3Jt*$fE;G>K=FHA{|ADnl)JR+gr4o(-~vEd+MW)`wF zevnwl9)mzwEU!(=cU!$KgDTd1NtJ=sP7ETR&bG0MKkJgl<q~^f!eUD;PFC zB(}gCKl&PRK*E1(=iVVlWQ2GC?gCaWoHIcmGy%g)MzIYoRWX|K|@K0QY{)eWoHbByAZx^;g@VF;^q{h24aWI4F`O3vV@ ze7_T@Wvfghgt~T7-=>wwZD*dTZyGeN-{daN(>9_V>u-(|ZLl6k&5Z9^V?2O~5Zi(M zsLW=3HGe7B!SL6$JJw8*rL|d3DNGGm*h3-P#P_;Ec6+`~t{-yZfkgWL4_{saP5_G!K{>woUpep+6G-jsmNp5z$?M?j0)+FcpoEjj^>c+%VY7Wnw=@}{5t>UaKxxxo85AP zELD{4Yz(?15@qQ(%Hd#r$f21*k^Qh&Swbh#d8BS}?GGyCB*!WR)e}P9@i>zrB|Grq zp84Ylc8`L`KPThX)D^@bl(KOcnH7CGdb`=WXn|?j<;%|#<#PFPmWpc+Z^EkH!hzZV zKCBFpWf$ms$!^op*z{Zk(PV`9UQqsQ<|14qaozSJTf)8(mc&nQDU%jm1!2*09vIPe$FN+P|a-%jG+W z>5A_qNEIoo|Nl4;wFqDR&>svo&4O2im+(2)9X+(Pj(O)GTxlQ+s|KVi6VkcCP13N) zPH2mQp7&isU=L&9A)`a%-a6Vye-6tWe#ff6y6-Kw4o_vg$QwG{WEygk{s!-P83`%j z?+dNnm%Al*f|2Y+WV#mqm<}?x#zgN-r|3`PLlwL|HRfwEEG|uVA?Y2lpN`sNXjeMY z{vX!fIx5Py-5*5+=@#h{6$vQ?k(3Znk(7{-5&>zYnW0l+P>_(4P(Zptx#W6E%IF_6&pgj{U)S|1F1eW>b~R;VTVpUc9<}3EW!OoJ zFIj=(J<0-`FOl}uk6VAz)Y;>REc@mkzZ(7ytO1%aPDTG-FG@5C=k5i5@CtmpMOyCT z=*boN~eTVn5Tv$M{V z+~4L=vi`{PCyn#QLT4Hm&??VHw6SqZ3(Pl7xXn!FK!+z=ze%|SuV=(5Q?N{p&)Bn} z)`}TWwP)k97sr-havIOL`+fR)DJyX)0ZgbpUgO~F*g*F;SDfU<%!{U_;s>Bw{wg@p zuKFd;*+j3J&-cXZ>-ADmlQ@2Q12?^Y@C7Mx+S9+7Srs}Jt$H{~m=Fl4j*1@mG5F_*rMbrx{?@%k>NTVCb0 zE9}93N9`D}ZFowR$o6B$BE>0Tfzb?kNBF>edFLwC(jB1QNW+_vCNxiH&%jddN33a_ZgRi{e9Eu(!*u!1wJQ{y~4-tzFa*x4O(G+*N+st%pZFdB&A(Ut-Xy zPIt|503^oCC_NRTU=gdFZ=|X)Y>n)<0*;U3HiP`Ya?EBx`!@aqoEPLh>#6dqi`y+? zwPvmOfFx{|UkKSIXFc?mee=N0eIehcUzGme%Bcz^2v&tYTgJWi)4Ih57^&*ULs^fr z#fmH@DQ#Z7>iV70mcY?G!%V^4bw}%Q!WQ>t0lg+7MtP@~CT#I*(7RXVIB<~leP z$b`Sc+EWC2PN%UzlGzS<+m*G68gnYHxS(%x=A;Hm_Ij!+8(k2tp0{P-xj^mXZ%f?F zA&CY=VhbS4ZhOU)<_bkbd9;nl-;|W4)>h^qZX79Iv&v~qEqx==lg&ms?aHN|jOJ$S zwBN9*8q=$g^EG8f+ddh84ch|PZu|I4A2uJC#fK^P{d~&}TxblqNP0vpLe30EdH-Ib z{)zG5?RWTU`vBiGj404snX&2nTonZ$P(2@G5zsjTVOoZ9U3LiuHE%wBcL|B6{dCc$ zAn_}IS%^Sjgr6dyGcvggMt7i;RMH*B`2ag`CS%oPgC9eeLy~-u`UZukB-Q#=Ww(;j9VD2bN0WOzA zVwwku`ZYTvV8W4gf0mYiqb$a#x&|HAXhk(Qao^+x^M53jjwK547W=%CdGnLpQ&6J> zZP5)g zxJGcVdzwt=`j)>`?Rwh=w3`)I+n&%jop)Ey*c)ZNdo=cDtgt*OhrI2G#keNHBo(B~{Pc3C$Md$F_Vsb%~c zD?P&wtoJ~r)k9{bZh*)N!}`Aa6}cH~W|-ZIM7D8^*_O}1Inz1L_{^74ZeFiI_m?;o zzcnWZL}FT9c4xty<9nz3#RF@@+!&+jFZ!kxFEK}zZ_KGuAIJGt!qufaL2E&Kv^84n zP_qCDDgsuJE(705=y;}(JZTm>x$2RB!Z_T+*<4#L%ry$Gh+D3z`Is;MazAkJ=n&m@ z8nNY1VMI+#RqotEE#(bm?&iDyv0~_Uw;TIzJ6T_WXhi*7e!g$S zFBuJ-mN@IzhxsiZ_z6m4?Ppvt>@LmeC*~}lj1cQ~FtiU}f>Xm#sQVnYxbzBe$ijIv zom0tHj`T}Nb=|#k^*{LrRd1Fm7hS7fM0;74-&B2LS&)QpoNZoym=vcp5so#t9po z$=)@@4WquBmG~-wvHef0N&2tKc)JQ^Ngd8*qL3<<32%#&WTYf?334NoTSYSO1uC}t zsbdm%YG+=KqfthM%14{k7+H+98aeZEYEhGSzVTvprutERUsii-ic_N{&Q4_A zf3WK5+IquYYgl%nyK|NSuvZ$Ax5%AC#ki;YY$6v|N?*Hb8eHABr`MZEVoH^BpNDc- zvV6o@rF3Z|nUyqNBmlG8P7uZIDC5IMd*JNcB1=h$pyV(wA@?2=pL3;?a>ha(j(gDC zU~69^<32O?{dti^TKx{=O!mOhR*9orUy?b3obB~o^_D%bbBJD(c(+=(PF{{quU8?8 zzu)HNO69QJQ$90~nJQ`SFPk8uh*~>1WpN5A(ls8Grrl@}Nmdo$-a3lS9Fc2Mjow0M=cQn2=zzuC%z z!J&m05ZT3bicsbPjUeCt#$;KxZhqT9(Z7)Ro9P1If#pZye9SOw@mF(W(rh`{}yBq3>=;$S2RVU2z*c(pWf9(A!vV)?H{!x|>u-|2X9amE(dWimKo+ z)ouKRo{YrjG17t~Y1E{p`)abaAqKSr?==M(fk>&)KRM3A3ggD_`tsVJJRt5@$xWrz z+a)PjE36tf94|3#USDwr*4xTN%h$6t9JSD-ys`QPJs0HVRyqN`i zcLirP=t+$QeD|F|GQn_44~clQ0=tP~ci_3I&H88D$f@f70%XLn#?b+&;f%L2IKEu7 zsfkMFKetP3`3|NI>^HaZnvHk9rBltHb|0{<7Du&EZ45|5rCq6L@>n%MsmwLba(Y1KeCj+{jY@J?~eD_I>Hlg^7h%De?C%)fE zwfux;gmfWY7L~^>s!qLr&dPd!Hb3wX!x8nDr`R}8G`Z(eXQ1jaX8Bi8mL;K)hk${m z@J6j}HzmroStXlt#)DHrPx{nT4*txRmD{k&9+>%!hsVW$VizHKW?n_=@tyO0!#ZQ8 zdd9UprMUT)q{DIbZ3<=q^G+0}y>1}nWNgBPwh}BBS{3v4QYU@n?5&sE#(6R9&Z=tj zF2AsydkeW2za*&jns4tpey7*33{U>+?sFvh%MX;0G?l`+@;VNFD|A|DN(LzcsDAv} zpB6swr$1P367W8HNSH%tt3+TgJQQg#X}rZ}u~l{8TV*v3>&@5RMc&pLv;g)3&)U5(P~H{R4HFsFlc>@Acr|n!&IUL2BK> zu((^mtDTX6Y$R8s<_ZOKute&zGti&ju<-uogWm0ecL`kr2`v@C5zte&dV?oJDfd(< z>pgB`Kg98&>rTzA1&O`MKLi z6Q(uX*%|l4@0e);pY+n#!8|yzGmf_30av0>pLzHk2^dy0xW|Q9R}iGfE{5SL-umah z@ugd|56LwPHEoTmU#F{=OhzSM%6%TsYuNjqUZ9bwaqJO+yDvT~BXu$Yt79gY@eE$8 z?ho~ilDY6~Bok?%kURZxs|8+59Mm+wFtg55f)=si8AvT>S=egFzn;N*N7tP2vW2X$ z*R8JWOu@ai8u1iXx0Gc1GA}V)&xV)?|~z6?4M2(ApE8Br=94 zQq1WZuS+7t7iMb{2qHPA%5Tv63Ya#{nrs7AH|d0@>+a;dW8H?gQH^676x$9H_vtsD zu|&_&`MwJ0s3{=2=%z%t7=)wY8qJJlG;$r$o-PNBgrqs=6-6fXx8_rOFg!ojRB}CQ zy<`_0r?5t~8QNeO%$9+-AO%#8BMj8KW{o~*$~J$T$`_=1rI~+#G#4Ay6q^A1QgO2u zJeCJr{)%21$SNw_QL<3muVm zmRbK26zGpjWnKFI5y%XJ-MGKENRVU$yM3gBUMA2h!M1PC?R_(u^fj&b z_uSKc>%lWRKV8q+y1jFdy zsZpy8j%RpOUJF~W^2{hIw{3XbX~flIpJdN` z9!;g*aX|B}xf>F9;Tb^6M^6-zf;D2}xbYV0I6If!;-UL1GBE>TE~BOwFJJ+ZpS=lbK+;4!wJw%Y*s}vV*;l}wg4ty39)I|43Bn*d z%`<|VtG&Ee9l@YXsvr70P3r!07rrZ&9Te%Q7F^&R0w1jK3xkLYQG+t~AQ>?vkYn`Xo}LKq~DeP#3QXxAf`o~ARh);{$6nRD!;R$^(t>6OR*RS15P zbeK8coyDFlsL!p*w|e<5o;-9YC+Tw5@5T7uxGn}-`k<2)rUeY`1V)t7OM996^1%pS zp5;&_#$faTBSPi#N0&1nh$2kgNjdAiQ}f9!T5X7BbII`>3b6V1@+}we)Oek5<$7br zDKc*RLMIP~UN5yNZ5;?vR=?|)Y`<{Z>?JWLjBbAkoqFl%Ra)ibQ>t5}J=K&hDmE1M zn?BLR-e)48EhY@XOd>APYO&o7526YrP){-o+KcQpoqDvEMhCU{k;>+NEFylFR)2fq zOVjyQyll1TzElx{mudO6zCo>Xrf%``UT=5AYoA9GKB=w>i0#?8g)DOBS!}bXoIV#D z-8+A{N~TB}VG*(}O)wes@-I|J<%W524Hm8Jv)!AUU7$8T(<~%Ca7`tpNCx(EM&g0` zLkdt3X6{^4vSZ`{6?4n~>|VMjR2sHtrgi%13DR4=1!t#P1jnEyeik*5&T7ryW*+D#aSYvHNR)qImP+Z5I&M5hkq< zl?I6x?jZ5JKBW=ZHY{~ejz=A5y<6*F@{v%uw+{$T>Jp!bFA=^AhD9RGdLYYP(|X0m zOy7OakM!Y~S{D7UuP*A=9G?7zby(kWhQgG`y%v6s`(`{rElxV^EUORB7zwo zUq^%KK-6m!B5m;@H|98J6nT8SVtasWOpliwX1zmiP8b)d(Zi!^8aUE*Bd;6svFWxp zIR}Gs@cVVL^L(_|-~`VzIrg8958u`Lz9)3(Xi4;xZNAOI8Mpcd*xzS}*$i?94diI> z5Nd_!<1!YyD!#gVFX$)|2VZqjJoBH-)N*|jG~+asn=o}%3Y%J?IF?#>u)X}N5xS`40{XV-jEG3Q8#dVwSo!@pzA)scdl}i)QJ)uuMxoC<%hy0I< z89kp#@Lrbht_mt9P6-gA@a=pJIdIr(LN?b-`3atTP(L4}TIzkVW*lpKjSrYSZATH* zZsIGlE_yXlaSGnnxrNrCc;}#brbN1o3ygL@=(}$O((~x_gEe7dPV=*Zbt@%^PqtNl z&_9*e)eF|g3KHoBQ{9hfivZ={-gSELEEtYU0svVQWD8O>F0li>2A6rXj6Ih^mI%m$ z0pQY_uZl#Z{PqI&A;fNl=8J%b-SM7sh+a20_3e}6WMTL1NoR*AAdn_nhj09wDGA|y zhP-3x+lhR-d{^rPZ~A%@{s!Hag@-O5uGgw34=|*E5?pnyrzQpYoKN>&8EW_u=_4Ma zSLZSkOJAb?$^8T@x*lG`-(FK%#T;FQz%m+r=A9LF7I!K`D77}TNT!F#H4z%|&$hAk z9K7cd5ga0oYMax9n<5jGi-@LC%yEva%I3R!4EI*nsl}+H9v{P-)ZWYIb*mz8exvGN zft0Vwz!Mz0zc{{dTImqYgz1 z#*7~xtoC9hWfaGztG2fDUh*iXL|J9o-Mgs#^DEKXCfE6NYAr-VNIzUX>!Byj{SMkR z%AMrN_!UXY`%2g5VAA7HJ_*>eWb;c(Xv;b#o>`kUFz&;#_lG1|-x?f7tiNBneGZ}x zr^Y7clJ=xlO1Wvh1}dd%v#lK*DqozGj0{j_bj>$fga{n4p~i{fORr)G$ruQiRI@5X z!DW^byQH4>u&*bddMumHr4%^chsMWoy)9?D`(Yf z?q?=hh^KROhMqj(gy$=35D`SFAITZJ`2JSSgsGnl#L0@%Sien-W8;0_V%w40111-0 z(|93M+3-_py}gQjum%~g_n79Djhd)&S_pO~Q0G>TBF-YuAhLXGLK-Rr`wv_`t8WDy zLP^9QPv%-{WI+9XZg0eC-_rP*F00&#(RMf8oHN$^Fp1T0;=BTVyrCj>t|~KNfb@!m zv0Na_mK|Q~6FhsJO!WF;2OW8v5>!Er5!8<*Pnj|UvsLeyb53@sj5=tuITkQ0wr6wN z*5)kPI@}-<%nIjCA$yZ8Hmb2b_vfxMl27mat zd#Qh%q?JwW|1blw9!TcbdgQ*S%Y!c^a*2QlfQ%#yeh)$dw)okBr8}ppvpL?cwVzbQ zl@B$MfUp;0Cq^w^X+I@8xTHj)?zQ-ythm1=kw;LCyL!Usb8!wi&qf1qqmggWEHztI zOen_^E#4q0zP#j3Q#@@J6V8W=b&y*0zpTKc#2keLMhP>+>!V-5d?XsqDIwPOh+5+9 z`_ApDigxx^{2QbK^dytl2=@Pwm0zA9iCwM44%|Aswu4nUhr?gx%9)XOb?-$xo#~*E zy_ld-E`3GL55K9UkIl#x*sX|_lUpI2`+~8YFfV5P=vq0K$-4I%=@*r8r;6kdPhtIU z$7e{i_^H_;vP|)jy6MaC7)Xh3#kcd*UqaQlr#q(Ew~sQNrpxWs^Y-c*F&AM&SLUw^ z@zLWLCv530xLAbZU$u*YmHhs-)5{j#S- zC@C%Le|6p@(vQYvX^<$Za6nxxDB1P%afNRCJHZ)@K;zvqHABOnm2B^Se*FWQiI0g4 zvYAmxFS33#)+K8jgN>hRS9!OH!K@RntH?Cv9Ct@c`Zc8ct`jax5|p%u9mhjuM^6}& zkEo9SydikpxlFbfp|y6IHYh?1_2@JZ`gRxLKMO0zC{Gc*%3#?!UT&}3h`RK}(+?f- zozCH~WWM}aSSDGP2K6tc#SG59KRHMvH-ngqwK!y|w)WR2pNg1`T9wRvxLP788@kYw zmarYGC%gkeBYcywimD&dkba)Pj$N<86B*2TU8;F@Q{of8@+UsspU%@E=%qx4t~`UX zEP7t;j)G7BK7r>UXNxSpe!`l&gV#$<7mG)|A8*3KPtUH&Y_D<0w+vp>M0FEht^8n} zv7k}2C+T|WqE9Im_PQ3k!+-&rs%L(MEv~3zcy-bT%cWKSj9Rs_P_iu|L^(mZ?DY6 z`XjK}OwN{mpy(YE2%0%l_#=*dro^rs=2BW>GaAre`^5-HMZTrL5SH37s&kWpMYrQ0 z*8+dA_VIkoR`k9c)WxGHmk}$(&P8x^{Bi%dZFYj;Pg#S^+h@dLJ>2hGy3hTuq5HOu zwLJc9%E4c5nA?&BzNU4<7suR9HFZ1VO>d6gq=>qmUZX07oRDIWxf$=G@4B6m8!@Co zQses4?@qk#OOMle7mAD9m|iK#oje0(;-dxNv&TvXOdkC}%0OKSnieu9&izguo}J6D zUgi|t;-J=Fd6S=N(3)e?Lrrz%DuZTiZJS1-vu@Y~oT21h_{#wg*Udc_xvrzI>e@OO zn#W3ZG!FfC)mJO-KR8RkIOP5kU+(-YlETX&>5gH8guuT4`Q}V7&td=D#yv8jW(!lb zi|H82hWe@pd0(OEa~Nt5u3>d)#*9 zs8kt>*{w`^?Ca}n=Vtg-rH8rojjzG6&nlk{js501l$4xtFIhQVWx4RF*Ui(M_f{%H zO+r0<5J6h*n!i?us;=CeeFiGPLt6X|e8CC&Ql|kDI>)9Ogby~S38pdMr;)TL}h)6ubF-S%P**GE|m?mLF{fBJojrqgxl z+-5`%MueKD2b#}bpI?meOqf${%nms=V|?uvs;fQ;l%3#**Bz{e#R&;YqYIt;M1z{- z-nw=a7YEbVU6AEz5s1?EBo5T<-UUtFVC&JPrbG?~nGW>95X%>_7P(>~=K#VWZG^AO zd4Pt$`{ocOb!0>CamOz$5fRh${wRA$4VCC1AONU%m(g-@! zd&p(H9!r5?287opbZA8cv;-pQ|KUBwi_dc3u~HGZ9;idjD&E27_^%*4hOK_lvL3sh z8~|iO<#7Eqo$SdyEtns2*^lH-S9FHi*QcK6VONcOj-u~74EhO@w^iX7x*N_Ui#dB* zP_Mzp|6JJN*9U(2d2dXkbCF7Pd^LDBVeP+ZYy&}X~P;Q>RC(fTq(v!J)}K+8olhW7Hi^MEa4h}zF$+i;i)2Ra(Y zfbQfm%2pI@54-f(r1W8O1hVw@&n8CG*xbYRuu+WCR7YEH1)eFVi?l4%|I-8#4p*A9 z`e*g=|9HLhfUYM)u31dd%+ILVxA9p9(&5GzM%rt0c}o`&oqiIV-28f#;Z=@f*R>KK zR0wX$d2e^S8%zi$rzkKDb&PH-1aC=5y4l!qtH7QebA3rVoMLeQ8PPoj6asc|9<_1~ z-?ORB(eJju5=+91k;gZWFHUC!jDFbHjTM{Rjb{)vd_~XyTonXoCNmUzSIO*rjO-^{ zrdGPCBb3}rI$7{(-V2WbY{DbyTF&aW({f_(|HGwcnY`pyDYdl=P(kKk6&7P|6;HGzs{q2%76@RWXrFi zPn^bULn|%HdYpdK)rkV6wuCCbyk$c0{2geB*^L>{7)=pk4R7bh(eNUus_|`DRe`SuCqS z_1k2V8@jqJgfzrA@|sZDWfn1VFKk;cqbw}4%YR_Kpy(x@R($+0$# zxuk0m^54`_u0=N|>V|hPr4DP=4YOz3fjC%2!%T=5KYiLLZeOMvjh8#1bZw!2jfIj& z-)vtyKq-@RU(YSJ)}{A&V7zKbGre%v!|OIa9Oq zq37&v{=aSO{>QlfAM$(xOoCc2Fk|=AZ$3?!KBtm-jqnu~O`U9UW58^i%)A+&@@Rdv5#A6rsYz!A>r>T>AlCCiAs_ZO8Y8HiOJ7+n#TM{%S2mEg_HVRRcl%+S5j% z_o7}=jPWA-zqy(?5h_w-d&qUgboVH64i2W2_O=0rT}x$M(Z8DBfSt4!@R47cf)PiP z_`dCM$9LU=1oNM_3*=5#=u+-GrH_?xoNJY0O;skKV9!x~Tk=+abQ4h999d{uX@Kl3 zEtFb_>X>n^I-3z-?4N__=%s_zuY@X`sZX~Y^Q;RKcpa zPy9P0>&!7IhnZls;jd5pb`(@LW_O#CnTi_gp_maW~vn!ZQuu-BI8pm=9uK3Md($dH59@4+j5XT(I9!faTvo68BHnlZTzux zKFzC>JM&YwpiurCN(VkE*CT^II~YKPmhThif#VVdYas-`hy9?1c!I5}`t<**HpgU>u=T zbQS`jW6hrD*?QL+CV6c;@`eTn#HPL5^3jx8R0PLS&VPO7Y~d~8G~77gH6kW~pVoKE z58263^tl~hckH;Ad<)APS(5w|C% zS`L-kt!-Cj0K5-?s3+13gs&ro?54`Urh$-E)JASbC~^a47J%Gq+%ErBXx<*BGH^aN zvki;^OIw48x(gH*8d1}~9GlPGjVfM0V?=|5I8udJ`JgL=rkewjTZO_JkYqW9*cr$A zJ5j%cxENk~np1z!)R0nufs973aG8%s1HxSN|6uw4_sAS~Cj8E9w1f(bjid2?-S`jJ zT{Gh$+-|OM+Z+^+vo`#I&a+nLad1|+G7*d$e?HPpI^3^b4=PK9b)pY# zS5heRImTO>u8=k_yf?i|xe9USkj9U({fAdrmQTrI}G z4KFRICwL$5vfhKBuPH(XW9s0`xXf1>;3%CLWBN)C_>($+?|`D`tm#1~fHU%z1>4QY z-PQu?gmGZRqo~Vr2j?Iz&<1R(TX1(#66ycZ==`sP z8oXXleyIbm5hmLCVF<+CR8olt$|;asW0slbI%|r! zW4%@&398RMeB$!!aJdJVqwNEXpFC=-7w#|I)=ZZvmcX7q5g=eV{1oxm3}nAXaK;x6+>%8z)n&oGgHx!3Y}AYwfYW6U z!cyG_<%tNj2!G+|SzJ#T?>nZl0VC)adf~AFad&FJTfU1bc!={i=kPmoN&n#o*e2fZ@!k&Oh_3V>`+w8JupXh?05~XHjZnSh!MDrxOh;}s#N$^Ov-j__v za?acfsN>Eaxmo(;6RNbJr1oAVS8R_xXl99X84z@7*J*J5{qzjN*98Zb&W#IXjLO?AQXSnC(k4OZ%q8p~(g5EsOAweDHXGaNPnP@a?QU2l(8}3f&P>hej=@+su zYEPtiSK&HgONwcBqU>Mt}LoG_s}6kUjLHk3X7W zVKAZKUhic0eFF&1s21vAMuy!tsxK%OpQ8(fgi>mK`rG7Y=5y1(1rHt{@mb6+^sMkj zg@UBt#aZmzPbzEuX^QDWw_|8DJf++sv$&UQKVL?+f&fKaVxT*){T_@LR)^ryyR#bB z(tQk1Ttme5!v`~Tc!0g8EutCQlm^-FC0TgI)IllKc=(YG2miwG&xC%gXW7@6T~i;a z-T0PL__EPk-1qEQn5u)7k>_QH10Wb=uH#3(I)_6)G5o`>@UIsq#Yp1s#GzV?9O_PM z7r723rm7l+k99HEB{#ALBD$^W-drAP{}AR;V|%wrESTOg8UFk1f=G&QAH;qLcIa8W z>B0<1gEKW?l(N zajh7kE(Uo47y?c=VmY$V-9p77;D3BqORZp3|G)Y;*h3&|1e>ons17;}MtsuvXdDcX ztAET(1z2Tb#hc+Qe?VQn@m=C1a7+I967Uah2K#K1u-gZqXX8=t{BjYmqyCs!oLX;? z1I`!wafrsv*MdN#8EnP}S4}}ufhqsXhFS((gf~U5Zb!+L$M;_UELASP!F6lGpYzI6 zeB>d#T+|cbB{*=Ep4&Jw@a7gwl`z4vFdKw3ynOx_4)xC}EtWVye2AVKH^bkwKooWH z3`>t3aU#VBGTeVYPRC(brEJuyawMU^Vtq?w;xbq?%0N(96XOqFrWvx^SnF~6T8?}& zuD!l(703j6?KgkVD3wN-hMWb`Y&S*k=O6yok1wQ?s1!DjkkY~si}dn`QDy6JvaEid z?WTA(VqTu-#}ZoNWvXWe_Z$RUoc(?pgfngQ4nH~l+uJUkqkVV+C^Hk&fFosvXhf%j zn1}vT)DFu}dcNnx2g*tT2GT52OzF9J9+AoooIJl-MXy4V4r)Npvz0CeaU*StZEqlrXOmVU|0p)!vb zuWo1x%W2XAEqj<$u#OPp^RQk;-lzG-)^%56!I?Sa9-AgLQZO-dYaX z@~?kU;lO_RMydYM8|=y+vk?#j&Cr^?OYauDv@+G*t(uRHyO|e>DMurk(z`hnS*TIi zk%P)?xxJ)$m?tBztgI{)DgSg)GUztTbR*Tp14F(xQv8#a;>Eqko@S=haS=j4dE}oo zrbKc{Q=S_uEwvGA+=U^aGU6gk8KN%X8`oq0KEX}SlQ=VX08dQTj;pD(0eygzK}-eg zp=rQESHBvh+J)+{CR!Jh_mow&@M7$M0XoEPLLk z%ZTgbm3YUsTBx$TgUM0z9Po2^BnlPDDCvGu(6>||bSrFCbBC^D;v7oN%Gd+j?%7sM z(TMH!@iV<)1@R1j%#;@|vV6K60YBGaH`NdD*ZOO{FmwNs5_$MF2@?zCa_3SVXn~?f z_%IBpGyF#-GV5GVlM<)1HIC+eVbOf?hnLD}Q92@*w1KwwYBW9a-Rlx2rl^vqoP zeg|{qfp9-)*%*o`Z08&5>R+Y2mFxnY_!~ePs}3X_BDqxq4$B#E)fkH}nHv*u;`oFK zcZ@>&ap^Asmx)5Rq$E9dQ7NeLYaMuwl!4y+NO8{EW{vBzA}|^!OUh&FU*>QX zHiu(xDcj6L$*v`rJuUH}g*6(&o7)LS7x;vQCNu890DEl;#7tL9f4Tm*&Fc+fXZoHH zhL<)T3(y)6#vnJ!{T-KnLMuze<{AqH2)_GPQBA012V>$(?|gdLTziLIEG5u!D-Z=W{U0ED=jzqt1LD3|lzMTgU9-Ukz)vDX8jE;&?`0pMB81oUBS z?gp#hl#<21VJ&DjYs*)9c`_=&wVl>{dkx?(lJ46{NeB==Zoe~KC2rXj)p2yobww!( z$H5%^GcG4mirWzUo1an&68q^6ao@=#p7x6-j&F+?Y)<7#ADwRtKCjQkp}A$oD3x1y zdBnNjrcHaBnbxM&W{=JQ+?#M&%U#YXTUPeUpPYpEaa1d<29@Z8h}xC_QHMhpxlO#Q z2*s&8>>1L&lrToY;=S6Obijj?xj>p(cxK2LvCl5`5t3b7u9*tW%kn6BsaNmrfaB)x zEQPUGcRsy14L*2Hq}QF6-jW#CY5yW-V*p=Cag_o*7Ea_`_x4YD z8cnXEfMI3NcfF#|@_DgE2b7u-c@`iSXbF37IkI6o0X4AYx&JRt^1tnXCd)`bqEI&g z9vUY4bS;oJyq3H*7m3l6>v;$67UnN+ zSqUD0?A}8*MLouPHs>X^9oGqFP}dn5KMz>Lt@4gGb?ZE)+s5ZSN^B-fWCr;SC*I?&8=MsW7|5DK&&k%!-=$48WVcc!Q$~>@Iamc0CEoE2ldU&J!LDu`Cp$x{q zP40hxdj8?cYtk6MjIRE^H5QvO%<(GMuZKn+RAfmhyt4-sft@1MM}q!)gmKF%DY?Wq zAOa=b100|lXMY=%n^*T^x6sPiJpN!e561M+@nUHG;6@%djGRYT)8N{i9d@>2VCwU_ z4eCxAtQ%sM@r*IWQ}%p81$7$B01yYC&{7}W634lEw<^#82Ja{MKByXaJpNUO2vqOw zgivk2e_s#&`xB{Bt2UE%piz&Z*bJHTTJ;vF@!f|r)uS9M;!Ojs-5P~F_2lZkJ-f*W9zXzKIWyTj1=|KE=KHy#99b`-eb%e{XjbayWrID`&rmJlWpG< z2kh^3#ADKNSusUst(7y602?`yv(TW*+l^WmuyO@x3T!@P>18RA7}ef((vKFN%J4fG zbNul~oL{>(yh^6Fip|TD$_H7;Q)H5>NQbP^`-WgTFH+kW2ArhfB6@9?e|6gaeJ}A} z|A#ZRpUvFaJuVW+J5jZSR71?~a?hdx8Hz7Uod@qJ?MX}kc9B!xQIn5VF zJY&88b8~!-XH+-exHq&>d{W}X0^-Wt)q*vC%gJs=|Ct1uzD00 zDhAfA;mXY%rwwuzNn>-?2&J>Tr{}-s*)EiAeAbF4iqK^$Jk#<2iIVK^HxN&$3%3#0 zZ|0(Ti)4_x_QL;O$?4@)HMx5fIdz8GVR`ohgsC>K6P0j(r7R07cxpiIb-JgC8pY_S zq#qx;(S!mFK2WPm6?rMVeZP9P3pT4$^L=B&#gnRo-e;`P92v()t$X<3tA+%jMa`Uh zMfsoVv-cEoT-@i6*4mAl&Q5{`vtPN2h8mSwbQV4gz#p<@2vHmxfyr6u7Cf&`zS~?; z(v;4u-kfKgukCuIQaAYWn;H{8`%&wYt3vFjD4C;IDQ9C7s10jVgQ;>W`xe5rPonibcV3i_vU?tD0q7;jM07E5k&gB7(Ld5=|G)0CzyCT+QfkdUwNQnHDRWj_m_6OPKIHFH_mcgj~O(VmR?&5yH_Ujj!3L)FI zFS`wLDR=Avi$fgRMJ`q90*|*8b9D9p6dBCM5yk4DZ|wGL-D7)5Wg17jD;AmeMMLX% zyRcU>5;Od!Q41yVJ@+LS{bT2SCuEkCqFYNE*!zka{|pdm{|6n~e?zWkj}`~yrhX1M zYvTXFL!Ci0z*r&p-i%`bjfFZb{Bn^)Xvj@4YlaOC9N{5l*=M@jGNfhayD=Yrn8x=_ zY18OY|MnPz$9?T*XuAOk49NnW{Bm5>cTq4F_r{?mWI4LHG+3klhtvI_>yjJ+V@F>c z{T<^QMt%(XXZs@q5hEPby5wwkU&E6q_^FbX~V3X)Fh;?oW3`dqq~62HlhI z*sEE1+`%ln%vOK)@lwQF_vB0`N{#1!GFIQm@=f^T!x~VbKyZ+cnpDJEH}`$Evh0qA zsTX?+NY+_E+f14MKa|^W8Z+zy$3i_?#!s#^;D3>lA?>WD`yGodgcCPnmk}b!%$TzL zwFuaNr|d20vZWSGE3rT%;`whPcM(FmgNWgUOIibqfZmP_Q5tK7>_;J>$%SYu*8Q9g zt}Cm#y2r;jPBM+qJPcLzTCms?to91!gU;On-%KEuJQ=MIa!Z*NhK-Wp(x2KW(`uEZxyUNs` zM9Na23!8e(!)o0KlbM$EkeUUX%0G^Ok!%0{9Q>OC-Ljv%W6JHj2f)|8soIHPKkiB67W4%w=Yo>ish*u~%meP7^8Z*1_{NraR>7|1ShuM=?cXkzKe83aGyv zwSEJX9{6p_ez?~Kdhj5PAb|JPsIy6Vj^FZ=xw%r$F+QgJNdJ==sKM;ReJ9#DR8Frj z&&2o7SfiyU1Ie$IirF;tUVz$v|rQ%vH2cvuL!4ZR%IE}h^6 zffp8Zx712$Z$7~(HH*NA6)_0{>%D5Vd9`S)o+Jn`kt_|Xqm~%IgNbaqX2F-`RIlWv z%r5gj4weV2+tJPOB0GTm^bM!i1sZ_)tIya0tRyM`pcHxvNR6RM#1jTOKy+AsT%hpp zE0_Co{Oywep`A`#^^|hRRE+;&gWngxk@Ya81_J=_55pPW5Mzyp$=(x!ny@-|e|PlP zd7#u_%^w&t9*oUa9DOK!YYB!C<-L;0&fS@qBr6ej(EBlWj%No7cdgcw??YbTq z|734x*cI8wGKC%p^5)dj@Od1>@ykA85M9}Av??-g6_Jx1%5q2vDl}ctaRA%{!)}xV zoqVo(3j6d7+iX{8<7v4IZ6}aPrP&PFeVZs#dC}~bW+BvYZ&H@=fh5=P@lnmfKJ$|c zTt6Sn^H&}uP9jCjOl=?y+7Wl~NEialOCc4M$2|7!LXB#S$5hpX4D~EfoPMrqWSOK(Qj#z?DrX--vG-4mT-Af z?b9K3IqiYFdJy&%c!F1#Qlf_mtbOG*5AV`f7ylEyi1QLh&r=HT2|KAamD2K64LhFhfs{wV;vej;Y(CM7gt_T zuf~~kMnx=YY|AKIE~lZRa-aNpA}%D^ zXrXf>K71yk8%;X#UM=bPab7V?nt{tpY=ymx>nmCJKVuUi@j}EmL?drFHgCOzyKIf1 z$>E)*wy-&e{#mb=MbB~9rJCsyfn6%+P@~VZt}-!mZJXtErEP==O(^b`j}Sfi^Gk=W z4)|I6j)U_j*s~vAXi#>YtMC|X<=Q=oxh1NW0d}cMe1kUVRxe0;BU@trfCITb-)_dj z9)*}veLTT*xJET#C&AyZR_-$==6HLe!UKUp~IXVKM%` z#q^wRGV<{ht3FsHVD4oygl|zd#He@VZXaa!ckfYnKziVb1$Dw)_jx#eLm^yh{_@gR znx@2VjAW=@kp!~q>ncX9;h0Bb5w$B&X;W6-vW5~sVH^&t(^R*D9vhvI{!#py$gA^h z669Zex*a#gF5dc<_CclX*s!`(6%4w+VO?ztzh(Ennv zp!}0skSZ}xMls!u(z%Hv{^I!VFbpkhgwL?j#vCkG#MMjo;&^6xY7T4Gf93$W#BW@X zLa-5HzHukrXP0E+GnkjVz|OSMxlI|Y!02TEdKCX&j{dvn`#=8D5~Id>-a(35n`%cx zp$k}WY7^~TvWhAvV*xN%2vf3U?X`e&zX_pO7zR#P^BX>*JX>4rFL?%GkFThD9!x~Q zB@uMIsFu*Fg$hV=g|t%k@hEdN?*_>_&M&lT!Gzv%UpZ%s#|-b9HE_V`IN&xP6owRy zo``S6JqGNaOGZCjZI9#2O`|_(ulY@GG+auYe6*Hf_l(Nko{)^bQp>Vy`ap<6{UmM{ zyLTw|SJi#R>Hi(%r8$xFtg+(IQt@DtRQ5xV{6&N`$k+ZVntCMw4$@!g*b%P7k9k72 z6dTUKl_oOp0ujT7Ku@~#lcsqWXtHEW-FK!#T%_E$Z9vdpZjo`_@RRu4G``|zVDZm> z>zK1CoMplnIKvL$gok;`lL0ob046728DO*Hf0^^m(7b9x-#OGl*j2%=U3`yR)V z;d=q>B;uqT!`MLuuCOa^wv|dv{&oZRZoRnu^LBvUw5Yn@!%59bn;~j{9X@dPJdgrb z(nY{C1;o1hP2y~{anZdpKr0x*FRLz%?C9WSa6P<`jRX(I7$Y1z?Er8nWy0u{_+Tw)*#hv1mr?>=)7pErzrxlu|-}4sI{YRU@U@pxpe_ue{=mzj-^v`!D|4L6u*vk7K6gU6AlJ`t7 z-R1`^FrQ*R+S_nuc+iDJ-E4i%K%;)XckHbQtYO!|0Gp@bGLl4|b89ykC&gS0Y<`q$ zxuPv2kMr!1cTXT*^e{8+uSM79<#wtiXUYj(gY2ChsmXll0vN9^ZU$T@ybXNxFkRQ1 z`1X+_~M`>QRK z*RX!3P%9UI6oXyf#GnkoKq?5Rg$C}?qTj$0+=2my99+iGMqglbvW#v(X|ZnE2N}5) zUlIjJT3mL0M@d`_^{ywZ2EuLUO!m!pCsCgT6adt)-RGyn_>Y*fE+DUb5ma)i^*>@q z|9Ge3Q~_s1e{PVV+Y8=86OR96^%9T-?_$jyx-(*W4xHmmG|>B6DPAsn&H=UVM@oo* z0_18YTcCzdDq_KB6@AU~upd(o(*ojun;=F;?q3J;yfn+M1P-;;<7Z|E8n47Rk5`eO zn_uwx-tU8eGNbq*gZdRP_Ah#zmYC%Z@N-yUdC0auZPR$K2lR>!!K1hz$4pZ^Tc}s@ zam>{hAls~*;i{)BizVD6HLIOb`^!N@gzUPGZxyGD4T}JIeni+f-^bxhJLk=TUO^r^W5%vmcG ze(XwFxdI1}OQc1iGawi=ZXEPY{)dXdwg3|#Ae!9^9#afgonoVe6LonhTg;~Wjp*|`BN z4Zv$&dl6kbSz-)I|IqrAk{#mX)W{)=yf=*ij%C=VsXyPcp-Mno3doME6D?tBNV$y`EeR_&x15FeHNy%i1Sh}k0$~~ z6^wTf*>ThIvvNyjp41-*H|0UYq!i7cc;;O^oMp~>KYqi#BgKTKzwrA_*guKslL!Wy zz;iy@}1ixK*cub4CC2uv3?S+NUZbUsgM7!S{Fe1TC5lE zPu}6FRGjHrKq2@`k<7;ajNy+X0&NbRLb$YGc+FKys8S1#%-cJ4E|issBlq`9wZT|D zE_4UqEp+c121)O@MhDSvTEFK=D=9we`N1*G3Be7ze$Zpa>v7cDv`7&J(MT8SJ7d&n zg6G;6=BCdck--2y!;c@YLDa9mD#;ZK06t&=Lxm;EoLLjw}{V8Xnw_9EjZ6ZY=~BUpOSvY zwp%}L_ernRri0#?JMFGMc&Op)I5t4)N)KTnHOs!bVR<@!n@~VxmwKtem4BW)M86Z! z*-Q2_R)hXuX)cAg=&;3uz#~$nV8|j8Y=Ge(cZl%z1wt%on@HDC0D&%be7v?wFjuY% z6g!9OQRa^&@H^1LS;B)-+vbn*Gu)E8evz&;~FSCFTuVOkqKNbrp(622m34+ zax$hc9FD9aNR%~)WhIXzWM5I6dE7mt?m9;%AD>?=bg@JKIc>zhzY%I;Aft11YXjQ6 z!y?5Lj)<2==Qy+5^iHg@VQ=uWF*cJ}hSyV{J@-hJ@Z+j`4I#}lI*iKB0Pf7fbaysS`&9#LCAC)6 zzjo>R#50KqFznRQD08?RMPHRoBF$A=b%rAae`Y?^B?oXnh)MGXUaoH9eIQ9!knvs! zlR7*10>!lLZiNwT0^|f|Di~rr$=1i`Uktj0mado;3Cv0~ec<0hw8{}EyKGQ+9E24T zS=xs6_^Q5HmXRTe@avDfnr>e!=KxINrojO1uCTDw0tr7g?Mat9x;WSsqH7peODc0jbm&|_;WslpFd;yRgyr$ zB!)w`TDRI86Jtw$OSiE83qcrAq+v47R(%o_>aPl1d@Yh;_!gyg$FFOf4yw*Ife4_ZrdYze15F)U299noujqZxX%V6GP9-%fHnm%74e!oX4T*x z_Wtha^WiTjwXcsMICN<#=MAPC(}UgV5?F*zZvKBRyMIq@{@Z8vFfnHiy8#YX6Pm>Z zibVSg3Ub}sZ2)ojT3MnX5}P*|a}kP9127e6)Q_}2FT@YQl2 zrUgIUO#>4P)Wl~&xbI_X>GZAK8s3G3?@{i6?9y$gOx;nN#=sHQ+8R>J?euR9xY}@D z4#>mB=Mz~~Y&QqKMTlAav+oZQ`Yul!4v#{mQZTIWG8}v_p1?UbDn;LILd_# z4|eC+SJ>@LYy;$RJQXk_rF*+7M98;dZKKKzz>oLtoQJA+CNC<1jCdYEjpojU7ZY)v z+pB{9ybg1_@1p`JY>1)jAc4?Il5)0h+f0JcM?jJW2tfgL^ygg2!{$%bUDQqV)x?Gp6s zn%@$T6$xe$I>(@0d(g-2o2_Wj(I2jfJ`rYD7DR=-2CU|TtZfIw?Mg}S5y=wZ$<$4Oeh1_)d2-ZUQ##oX}|unj%y?yW;V4u7+8XugHs>%b41 zc7?cJ|4_A3v>gRV8~W8gAq2k8wMBXjQ$UBD&_=U4v+2e9TW{uH^WbJ|xBW?sQ<1;w zqW;H?_rC<1H1-4NrAEEr1#0wRtxn51#ujFHj2!_&=6znX3$D>nB9p38C$U;>YAgFL zX@0Y;lU8s$Q$FAM`XbE(pw?W~)|l;l%DcdDk0cVu9b0!p1c;7lcrE5?dXU0Mu+VjX zFXKHzR`X29NbD=uJE3&B=R5oE`w;~Y0z+|kTZiVsOwyBkehL7n>6MV)1fKw=npHT5 z4f8`{O(lz7-HX`=zzo!TFOg6Qo!Wam!Xy9@ zd3~6^dZW&+?ecuK-4X;U{ws^tj2_~3aXyP;*PumOVS8*1%bM);ni;WaWW*_QpG=TM zC5zFmj>bvYNkONRv=zVS<}>{hZLBDsiF zoh<19N3qUbS)&2ss*f>Ek2lKJy4X+5?^U_se@W4u2B>`#5PWPaVM)s7m)NR^^-t`C z0U2>Eb4semw>Kd&nq{X&_Pa&63B8a}^0oRHiQhRbc!4cB=Gl=tERXf>>*DgqGqnl( zHywVGSg>x(!zDp1C`3bli#VV6yR`Fi*t3z%eJJYCFYl~?j((a{^T$#Z-h^2(ZPudi z&&&Tm&NV)}DwDNRYd|i3Po8A0Pyc+gEp)IJ$DAN9WwZFBD*w0LAAqQ><6F{X+Y`@N zZJnecILb3U@MDYGsq-Emod{nwwV5u$vyNl-o~=U+SE|#_;mBa-gsYU)_CasFURfDe ze2f{43nsT;XIHj|u+k_tqVQHA@Lwx&K7BF}!6+ z-ek63wA!hCHN!>=y!MG$_m6%>-zze12a8AVuBjELG?_}xh?n!e_FT0|NqXPdj=lcK zoRJKWt}f1=?<{^Tztuk642hWj&2200cy>h&2l*@<#l<~w=ugy;*KKW~ zBz4L)_8Fb<_67t<9&HU{gBoW7^K09a|u1j%lIHeKoUfTB~ zlq~>XOFpoRfE-}sT0x)%C=SKf$UBd+J^<- z)c~9upv9*DrSHog5{HhE{p}u|;o9-kuIygr>)RQQf{dqfq<|S*IbbxUbXHR1V5ncq zzwZ(wXW_+W4E51z&{3ln^@=9&wvns-Xuie8_w-$)l5WDcsiAjB6VosTfSTn|IGC|tZ`?|JC9x(JxwO-9w%OmCo^P=b%Im~7d zI%W$L2vGe=lEY5f1sNhp%{U^W%|0>+2)U#{ zA1x*2R@k$ThnfMfMGbr2+3LyP#=`)>vM8}Ad45(gJb%yPDk1V4U80d{^Gg$)k3ICY z73uuYSGoOn8-2<3)4VhAM%4>y+3O$VSwwwYsf@lpr3m))xw!s1)u>0>fI67puiBc3 zFzTkU;Q20C)n80$p4;VfoGDVLycM>%HdpTI38_?R%18rwppdmj6_4NjQ|s;UD+0b=k3ar@!U+I z$MW*Kib%dCAXoha^Sw0mAOKuaCsM}&`gn%p+BpCgdcOzyu#a8MMdYpek}F9=RteO; zzfewh>(J6oV%Mm?H>d`DxtIeCXM?$Rmxv7oLq3a*0iS1vMRah5z`SGtpjQezbY)L> z3~T}I0UcUbOKkUo4_RRc7SE$nxkm1Pvd#YXYcWW1$N> zL;Rj4K?x($ZM~`;)&<fvz?rBxx;zAk z4wT4ESI8UWlq+mc+i3ibdt=U`W&tVW1~HTz+=pQb_0C;Oom#uZ2(r_h8Y$g*6C;wU z){>I0ccU*A?g`pbEfl~MJG#plcv90rQdPIvKIgT0Ns#$|uMtk~oby`xo@@Lc$%2`G z{219#F|G2Z>>L#$+Vr6KNz_N*60hC3i%WUc4Tto`I~w?_FWch<^8lr|eHh;!BYwXT zbFAcnX~5oE1rQufhx17{NN_TN_Z6>CR`fqG+fI-@^pYNiDxmj5*S=G3;_V9+)x5aY zgqxX9ftLR(V2dt^70VYa7L9eaPT7w|a+b?O*n!B|kux}v%H)ep)?J$JzI?vDhSL1` zhY0+eG6T0v)FJf=pUwb4^SH!+=M?N;=i_NMqrY+%zUD=1#-8D5(B|AF44VtV;3cp) zF&H0RE0x{<*-a;46g@%ExOp?;H~Zz?Y%bA~L(%(c+~NAIoA_3MjVSY`%sL6>EVs;D zhRy!k!0lMx4JGN0$=K7lMPU<6S#B7FM%{sxL#jI#x2jxk<+prXKl{E*!3nS)2FzV8 z+*;6aX6`5b6ezyizc)iP4F^;kbAUY5gs<@^FvDXt;sTicYFCu~#1e;*-|x=Ddn-Gv zjefoHy8W$6I{pi*kt~K69)Pgsk7oAEm8v99#yMTZ)!)?x5#smq#Qy+D) zn#GSASipxpZiEkd{idR+g@^7PqmN`Tg6m2ePhMT6RRahgy0ja(X3P1@HK9@^It-mR}E>+7M_MDHCLS!#(fC`x;6i}~~}qaTNOW}vW9Dt{Z?3cYG}9+z;^n``HXDu^*n&ae9knCmVC(}$gKQgLHBfSUGSdybkr1k zsa9OK`TZ!98If28CljCDmD2N8|Lneb^M3@fS=#>-#LfsDCbZcpcC>d_2i((vN2p8~ zt&;N%H9H@un}opl-ciwA&o6ET;p^ADe2G6hq|AV5Uj&#JVTTSZ#|qC}0SC-1$s=JU zj*1eE9d8uxKo;RCBvnU=&2v)TKUac1I|M~4R#Tenq?f)KT? zM;rYX)(&&O?6AR)n3p{HBsOw1luC@6=B5;=-OCNb&`LfF<)1SBnfdNAlebAqPRg#1 z&#ryM(E^NKnDK;XPzVj{1DO#r{BYvu_!Ny!8Q`MTs1=?X3ZRyYM`9ZQy~e&_kWKBo zIRMeUvStMoQEud>oxu2p*E>=4&dXIjyDushy>^Ral)9fRvh|WJzt(_aO2sXL7M!2pMT;O1MgvuTPTJX^dfvQXC&$X4|Q$2cnz6T@w7A} z74;9@8i&;4;|G-2F_QBI`BlYwt&cV}ZpSyPdYflGOML7rfIJ%|GV5>(P&ct)>FgjZgLkJlVi_>7qd@9x1mQNiy8seGs6s^L5q`aLgYb)!1)p{P=NF^V#jWdw#t+imi8!#N%^0I}9YE6+!yMlg9?mB zEsAQzy%BRU&D7I6J=L`6SL7U;W0C88b^F-YX-owt!stQ;kR>x)Zn=6j5R_G2oVi^(GnQ4K%*#a3%QRq2zw ze8M}g?3d!oRzEjM%I=W%YJO7-kXcJQmcL%c53ctYfaXa^p+g!qhRi&@*Qv-?&cm5{ zyq{WqHvTZKuyf=LbgSl((I5e6LllA5zk31PctysbU>)2!kyo~VMRBg$0qx;oreEPT zmS2q@(>n739+Bp52Vz3MgyFMPZ?1weH5Ri{;8a*fHGtqtQ-lqY%P?EG`63FKKJp2} z(*_NOZgzwqX61hHfC5z-&}vQaGxCv$R-iB;F;ngF&!fvFZ@&Jr8vK>v9#$+sArR~|`G#!Szf4?6t0Kbmx7*cIb^M>P(*T5Vl(n#FU@YV>{MmplJ#}Nv` z>bfhxaJxi+Y0&qgdPZJFy}m?J>F~~Bsw+d^^T`W<=oYFTp6$`jXYcbN7PPf6Q@RWr zngySr_A+qN-^ibIt2klzJ|&k=W>8Md!hC|RrGdY|k&3hw`7$ov{%y!{^_%n12W%2_ zERtjlR+S-Try-g06&NhD=y-o`piwWeRR8?Caa(h8aP@-%$4-D(4^#ME|}~3wRdPn(t?W<)QN5^v`3@WIRYwbX^I>dhQk2b zYT?CWx1nE#>aW}nT<7;C&+>^ma)!V-%9FP^eIO8oN&G_Y;LvUVR^EO`ymx-$YM5fI zeWPYC(nk^HzGZu@4~cMUO@pb_c}snD<0JeULhY9rwM51G1-WQE*L(;1*7(7hY{+4= zC;>Z;;J7+Z7LHU;q-*jBk`S`3_Hp&K2`Ft5qNZ0jU>bjCm(a)hsITB%2B&0m<~EbA zoRVOLj>DJNkf)ozf?%)0nkct*f#}?JF6KLt)NwmRLC*oCj+L}`rxrr{T;sdMb=BoL z+`YR;by~PBwH5zi`zSS*6uH9!V}=p!wyzKnE)o}mG!#{=AC8jRk@XsWM_@chOxRm} zcdYmHOWdfhjgsSa&X%y}&9eZ1?jq`Sm^;hVd_pXmgY_}>;Gu_3jlRSf{NtLqBPN5+ zRtos|0IwDaCvbX_qsMS;%c$qX;|Pod{#lo=DEh#(S zpkH>4{Ay<0o-md(MQ!;QlbkapI1avoz#(A27prLN;JFd(gqepk zA2*gnG7tBRC@zE_jt3D9PkUI)Q51>rd8D)=4!evtF{P!e!FA5?c%NI>y!gHoW(t@Yl6&OQ5m)6WT+|zB)GrPA> zkAOnX^C;0U&0JynQ!E>%i(Pk&XsvWxV0iJRr7HsB);opz!X*t}uY$-SNV6ENDEh(v z1_^H%*n%SnIj6o6CVH_7YldkMp1eOSA1$Pq!FV~sr|}oF2FkByJR)J0T|~zxZ?5?- zg0GYITALZ}OKwDYVSPX)V9|a1o)6 zzoZt|8{LkN+26OGnYOiavWf@K=D>Mg1eX@#IvkHsM5V{`&g_H|2Xg}Fi+!l1nx|Q? zu)7Nv$sSOo?ohn)#EZbuY{enpVK4Y0_iGv5?2l#`uPVdr(I%*Qp14jo_@fQeQpZb% zQh!l6S}@%Z>yZ4ChjeKO+9*&xYYdqDj`Ks@c+wIHd#3#cjCqko+)PPZ7+m&xiZl-qGO8rD}!Qftg^PthhGNxnjPY8b&2b44;m2H?c@(8DntUo zP@I|7M{S{*VRw>(kgfDQ0yy)!04{Z~Dt@L4cctUdiR1&0=&-aVuk({&zRlFV^tbp< z@B4T?=iLsIrWN?&6^CsYG}2+xUK&Q67?#Cnnm`QMKCN>sI@_5tSb|o5laAdIlscg$ zYR!RFZj4pF=h*grtD?70j?xz^m)(EVnLj*Pgc;bvENkfr0*U3cTO7uG5fbe0gM;l@ z3#Oj&yz>=Nzd*F@M@2EgZ+4ensO{8N6aQ6whzL6SUaBi5=G4KJOYy2=CqG~7OX5j0 zmQ52v5TZ(4z3PD&R?AmGaGp#Y)j>1knug$YB{65GUR5@vbw!I2W0rkRp3A?#EwOQ} zA>EMgJ#WCL>&BK-DSX8?JmNGY8<~6s-k=5pzxG(%UKV^s7y}|m)ZNc6_z%juhF{7D z1aivs;eQ^;wf@EQbh-yYyW4k4Aw;f3X}EMF^{Nr~MvTUjyyS{tT65Q@xdJ9ZQl*NI zF7JQn?#En9zMk3DK^!jcfBPVl>ocgu{ZXEgVOCd)ybV;pmXOs6orE)dpG!1M&)Klw_u=}!++~r3WvjxWxK)jl#X1$c5?g`PGl>Ej zk8SyoPN!fvL}{j}SUB?9Br|?k$&B@j_u7n*=ueuzcZw$t4{%UFxSbqfS@4&sQY1?@ zi`8S+*49ra&T{?Q&z@3YKQe{;rb;bycAK{k1@TKthh*TG-pHAR{r%u~|C}#V^K6~p zFrWDAxd-MOzn+{7qC$I6Q0h%T#cK0F^KOlKi-lkk#XJ4aUF@mP7oOaiz^~6l{-7V5#q`#1{*cRM*T_U*|(wxU`=+Ip2=Q zLUQo9WvKh9AB0LfVV-?VKT4vJp!~41-FP~5>Yy+qo3nnkLB^x+4+zoTgyKJ4rGFvd zaDm3kV(-75N=8U0P}b9%2A5L|Fqc`!!F|NZEyVdWP;5yc*gEYkqZ}tuU0Yi-?!b?6T4#&fsO$#op{+vNhZ->X{O=ims+I)qorb8N(9J&b{vZ`gdD; zAknKzsfHi*2*t*0*744{3X~}PNt>(`@0OlK*j5{iQ~(1`4X4#2yb>?dj4Lh0E_<*& zk{uLhB9qztbijtdwg0-K{mk5H(RJE$jM(8N>D!R7-K$Nt7uDV)zH`^}%>d=H*Wep3 zExJXsY>tU(pl@FV6Y+-^=E7hKrbuFvK#9l0d=6aWd|FCMWg)oe)-OY>9^dgXAL9x{ z3@LZDqeNkXH;($gi7zp;HOOt07)>3Q?tKA9<(K8)wj&zq1E}5TIVbzY9{tC@1-wao zmPLupFN)cST>ij`dLHS!?scyW`2l$i!|rzM4!_H&jlsTjGGI>usua^UXd> zb36D#R3h@0>aEn&bkS0EzkG`>XIv)rwVjIVf@SSBFJNnX-T9ooTI|8A>Cm?uIur<| z1eUhvR-mC6qL*D+_B>Sav}UU=DKuU@mGJ(uu-!wBnr;kr(5aL*+D0OEzcsj} z`M1(@aI2U3QZzrLFmP<87bV-h#g#?NVa-#7!qo5sJa8TTj%eGe7&)?MW~olUyfZqU zPHQx1aedajVE{gn_ysifzZsBlX4oW@+R+FIRz~Jx2Y56Krh{ZoB$HMw$bxSdJTPfo z2EPlQ%F!^Dy6(-4I*dxck;KelAgZgYdD!=mJ$<=(xNuzR&G30XRE^55MBH+S23+*V z&Xc+dXi>da{mxb|tUmWFjY||KUJjhZFKJij9w8a`Y!~)I6|!}W0nd7@xs9`uJ`o-R zY%0TMZ9}*GzB#C<9^4AJ<%}os51cQhrwpnN@ZJQl{r=~9|KQ$WWwZQCOM1CMD9xDh z_Y9|B24fon#xnVUttNJgwa;gz>#sHvsW;g8H>zF+;IubI27~WnGLD*} zX#@=>N6$8?55nixqow6lZ3Y(^4E|~WOx+517V0-wH zxml&nmm)uru@#-T!5W!SBwA5648?+g-RgsY@Yoy2BMecFY{b;b$ho=g7HF3_mo{ijVe*3tn&xlb!kjp znwR%RZ*_nzoDUN43rqp{8`FGfPs`e56W2hx66URGK{&z~ID}^%;Xt=up5kG<^oLtw zawgN3#}EA-6N1}`q@+LmCXUhe2i;6InYG{HoG+L-J=ZNZ5H&8sD}S}R>|@!Q!L0O$ z;SI_k9pmmLV978U#EZc2x@ebg@voWiB%aSzBx*ha0d6yelGzjCv8IWFn1Nc#A~nQJ za?)sPhYzP@Rv5D%bB&FS<#5um9TU^6+yzRLHZuAr(6Y42QP<wQ+EhC5dHD)@yA zvXaUorz0{yjcJ}x5O-jEqH-+rtaXY_>DO9l$LHVkR2HdG69Lb#p~P@zl31D7w8oBi z1f24lIrK*vW5wU1a09vB=d$ z%UYu4?*h6MHL|}YI7yVw^xK;Pj1+e|Tt?p?3RX#_jvZu&(VbkzL3}U1H7kS+5F|93 z_a;guQo;2!!)t#eJg+5c#c7+lQXhAkX*#$!xQWq~zK!CofA&hLAYCbOk(&Ke66sDm zlFihMKQI}+m+@J;Vk2f?@V4hM!_q0v&_l!0cd+C-3fZ=^h|KO0-dRt2K=-+x_hL^1 zcRc9r{k~Ciy50j?3(p~Di>Iljt2-&Tp#}LCPc9j&KL_Z8~@v)a6jX(Y^ zN23Kzcl^A~XC>N|N?M*9gYZ1mSKoXs1lxfT*K?8pE3$ablZ}2pVZ&Puy+)U8A7p32 zNw4K$Kdmrq*LP=*78<1e1n+9!$_&g8iM- zIP(mgV-0KGo9=M{HehixZY%?^E=MI|6GMpWo$mqersr1v?(Kr=Yn>%DH{6?^_UFcD zyQtvSR>GBlj5!7S9x$AKgfQbm`Kh-L_N{a0GZe#&@d$ZZZ4O4nZ`G0sLgk>K$yV8q zCei@9a4Lp7$0Wu$srZSRG)tZ6ZWJ3fp*7Xmuh75#P1Y7QN91*1aa{$GjL5UnN&PA% z?udEkWyMfb{UVG>TIrUAS>ejp&~w}$2lUR!GauY@1z>)8s((xps6JpPaC(Hd$YSJ( zVMaWW=umad7Mz7(u<_++F?Yq%?sgYJgQ7Ba!otadcfyFXqe^~7skQp|;0(|+M)NDG zfBD`$>1c`t@63>@e-nZu8m~=E(3_r;vWaq&c)`$z3)j-YJZT5Udmsn`s|{-%P0wV^ ze?dJo`!JY$XsF)PIK?aP-~z5h3L?1ZeHa@+H8({1^9mf?*fuC2JV>1TfgZPyG2WmNR1UEOgsyN_b2-Q$~OPsOHQB%`AZ3IHVK z7{9r?vvU}VG%p-&%h8K6{$AoF<6`JESP!|rbc=n=7bwLbHK5;MSTFQzXP=Hn;Pv-< zD>B*5KO{=z!1t7672&=#d-2EByfT}AW;bgH89~<9huIojVglGNgTv-FqHgcjH_{|I zav206H0OCpIE*GA>|#+I=JCM7%6aW%^m5R=W3r$Y{Zg`T&b1 zbBiG6C6j@;G*m8d8dEOYf1qC{*0L!hHnQXrwS=2B(Mld?Pq|(_TJs572y#R+-f*+;8M%Xp#{Vo( z-?px25s`OXH?ZEM1#bsLS~4!EJZ{2VNoT5W0nVj^{`;(eUW7edfT|H^voS2- z#kfDskZqossaj3%34R*aWFI1vLkEKki2-s~BKe>?9wCRU-vUvt&vo?Fel9djJg0N6 z>i441Tk52L-W&RP9cCoG3vXuQ%`%>9iiUW0os3J!}`(Y5>*y zfe$`wBWU5*qQh#UwNfkjN}2k{jcG+ks^vTnTEo7@Q^zmgfNl&9M$Uat>WhcHKrg@H z=u=I;JpaXCO@mz|;^3UOAQt9*kiKlYAlQ^&T`KnR)1Vtveln=t_(e05AP3JnOO?ps$qlJpd zYx1hI{kwJ$=kBr6OaGcW547I-Yzf=-Y+{S*_GOveM-IA2{L(~AEHQ>I>x}u;mcunc ztP(RhFaX274VgnCZf|+0b#WDIMa=uLFQV5Lkbq0y-G_w8hdqDLhhqq zrA4@iBOz)cE)Q9`8e+|~^zYR+&hO7woQW~$_;Xa=ij*+O9JvF&rEz!dHqhMKRJhMA z!1M_@%H!5O72BIZDmW=cp01~}lZEHEY0C8$y6Du2S| z27GQ&gIDw$jEPdXp_;8R)I>2j1XL^lmx25xaaSMU(y$IN0WQJqfFgN*Uij05QsOnM z0HGhuYnR8}tXbzOrU5`k%Fiw}T+{`mpvK{a542b=8e$I>=;EE0NYoRafqY8%*^&^l zXwl9EiodQtY`(f4Ai=v(d@Q-RS`hZAPv-d!lm8taFQ-j=+gb^TelPD( z0uJyUCQR5qTPPatQQGi4tTkv?w>l~!#>*mnLlsjOf8)DhSrdASyqzo2G}->V5N^fJJ>_YX!A_!S@OCXW<7NNR1N z&Po?ge@EODvEKDkEH6^7?YhU6^^!lmq%rGgNc`}sXv?KcV$Vo8;ZW}U=K_#1r2R+6 zpxLVPa$(v@GWQa60|>MsxR#kK$M`|FZ;g@zUE1rqbiOI2N+rNbPo-2LJq~WgMB+qk zXC|a>biv!CE7X5KToc?s7jgFy?nME9wtW`Mqor+sdn-8xHDq_Fah_J!E46~MYriSh zos^`X-vg=*9(vY&z<_CSy2!Z$GtVdkd#O93>eKDX$rlyL1g0V{0%N0Q(;|)WUkZI> zzux{l*qzF|Jqi(_x0zO)(i>)d8W;468*so5l8wRO{9D^ zD`85)ay=ukTxL_GP-sw;^v!9%!4TK(RoO1e5&exzhH?M*Pfa&jnG%m1ka0YUOh|OQ zz`LL~Hw9|i55<(t3xjdg&;wg{rF)shl+XB;js}HmE?U=J#@@&A_>n!^Z-48lC5h#d zEb4(3PX_v40JhUWEeIAGe-(U=i5~!Z9007Dce<5hVd!$dm%Cy|e#oqZX0)?dGNQdc zr$=3dfeU-6g>Z?I0Pnt43b`i)l$G~(=H$M87zJ6x$AM854@ueNl%MK}mYm&nVPy?4R}^S`3q^Yz`04zt9Kg3xesx0P>2m1YeEjNk~D z;Uv+l($eSC1G{?sF7oivQ>j&Ny`wcI5FXQ8>0i=ce>vJ8Wu=8p`w%Sx`~xUQf?{#) z>LXNB$4lW+t`=ivMH4a!_FC)LjAL?uN)!>)4E3F8fB6s3g8$J-babDSfG#rmqa^!8P3 z6dceupWb4fW+e9TLG^q>7FwjX(_hIW(Cz!wU=Gtm z^>KOB$!LbegGG1rt&)QfSo1mk5jpQDzI)*t$n>KmYoN@6s>xy~+C60g`1EfUJmI`B zO~RQ`-f%nalo(EWt~fE{OTzEGd~xrWbF~d%Cs$T)LP5gCY)u8+NzLciGMUh<1pL~~ z%EBn;9l0gd7@gVyJPN@SE-4yzTH~jT*Qe_#yYK1PhvU)@)fjlr>dNyC&b8z;EYjBc z`^@0emtJfIr@2hCwWy`~l<3dvaa|fd`^-iLOD_f;I9@gw1las_Uchl<0+L$;q$^Il z>h$?Jhm%F?kwjez-LNt@th$xT@6cHrus!EHKYsOMms8na^|%zi#kNoC2_l50FzJJ{ z=)_zKFYns$_{_HgP=ZiuRVSeb-0EEiJj0h<(+_%Ip22M=oR;<)+z$^PPI_hZx^CFj zERq{8Y~Db2N&H|W#d@_4BT60%r$b<}s^6TnR0dI% zzG)?C5`ai8C9@#s{p1T}XA<7(28zRYf&BifP33HV&Y= zH1D}g=~-UG;kLblI*T{l7aHK3*L|ZuiG<0gU;)hW$c11<1qlgD0^{j@!AbQ}Qv#5# z2CWTpqGBkHXh-BIM02?PsjZTAoVr~Vt%a=!@!nDHOQYMVWHH*BIg3|8>H-|&ToZMK zfuBxr#jyXdJlc7qXatckrI`P!o?6}daMWo2=g?dEhg4TGC2o}#VDy$zF}2@94wG&z zVwY}>5sXKQ4Ez>tTS0R?pdoJZ{lx}h71M~Y7)lb!jnRQ>xAip9*3$*~Z5?xVtji*ge&3O1LQ}|VabKePC5>67} zoJ>Z(EIO=<8TSNw`*{0_IhsKq(2!Yx7C^QN9;9VbvBs@~7~@H*tRO zB}j<>Q+b1CwordY6I^o&%vz!4`p0c9j#_%~Zda^JNn$S5`v&BZ)1&EpJyv@X&p@Hx zYQl(V`h;5#!sIPz`+@6Pwwu*%+kK6HAgW8ue52HOm<{y)W;6%-jRTd6K9r#ns}dD|2_J;;lr-Naz9^hl zsz+_09^Xt2Da6w8V&M3)Q5ZY^ggutuB{j{t@!%LX=X_F3t>HQ`y**X`Q&sLETdU<8 z1KFbo-xboBKgT%ChtG7sB{n99|WX8@;>aZRW z6>aXWHVdcwgblg^TF-y?V4UuHTBWJN+I2Z2TD=Sr}WYWXg9jin$UE^=Xuy%gXMa<4RA#=mQ2S zKsgCZkE^P@7v*|r>Tmwu-JR4n`o547@~c7$886@T-i2CouY>JC-$A0cNZ@zZz?Wp+R9SS${ZL`Cvde3_^Zk#7SuA{YPrb4rO zx=U-l3e+F2m$h}~vyrUO;t$ub8i+xK+ZXn?S-6Ru&%W|eMD*2~&pwVcO5rx%8-KLH zTu(O*JIHxj>PM9ji1p}NRlXohx6JlB@mX1*gm$rkr)e4Zu45GFJIy{TW71gaL2!$) zBsi3)9wp!>VXFBEdRV@TP#jWu@h;P>^U*Z1!mn_7R__!HFscV+YTg7%dP%fFxdoCW z3hp^2%G*WpQnQN1TO#OXG>qoksIy|LuL=fajC`%B-)+eEixC37Bl`D>qS<*Tm|P;1 zuH-cF>Qv&0P3btEFv3Xm>}jWwOtFl@ow9CsThyn5^G0>-@XB$dYx;MwFZT2YuP zBgO~b1=K_^#*dRIu?v>@mB?XD9gu9`wa}ZW(NhPPI}y4djCWUX_f)2F5Lv~SOKvvjuWHG@gx43LRYaF(S*2?ZaYz4lN^6x zLC$g!vV!djz2vRcGoPCCW@Ku!itg`<2qtc8o@uH!I?L~ipI0xafo32-Ch{4kiH@-C z%u(EqlnSDpAlx1+F+cR9&l^U^7a2*4PfCS!|9%}l`v3C~e^-Ym{-HBASZQzOIEnqO z2^#S6pyZVvCaaKftwcProh?ewvUY=+Y#V3SN9&XP*! zgchD&%_;E+?I^LUDAG*WJUR}D*!4G<(s<7vlHvDSyW4+K*p3YUBs`^T)Nh-4rr<*U zQ9@wEIF3c^qe1;Dgwx{9Ij_wJTpB;jAF7nTn&KgQr4BHuW;p9DlSNu)I9#a;R9sl%J&tY{PX5Uo^>{B`*gmap@KR$%k-%^3UsIO9B* zp91#!Bq`V0q}7ai4faK3E-W#tovRMd)$=0GcOx3L6d3I9NVI<}e~uk^JlnM%w*|X- zfq8-R|8e%#VNs@i-#95lNC<*R%uv#xfJhIWN+Tr=(t@OPr$~cJm(mRb(kMzPEnNyo zcjx@had+S6xqt6--@DKI*B-Nb96Q5#Ue`B25df;9dgNR0tMSaEN_(A8F8ZqJ>ucKe zLHE6|w*1RBH2~`y#~(|9WU(+zBg<0&+iND1_Dy}RGJhuc-%N?8_{Qc>4DL^W^pyajmS|UKqoP!#No+*a2 z*63S|;GNfr+}d>3Q{Eo?rw}TISA^L&(q3skhoJM1$z8|rppUcC`DEElt0v}ugF&ap z^3o`Rq;mbN#som3*cQJ>kCY?x+08b0%A2tECgGQA<(I`OH2IT435$UVcX5SsF+~e3 zcfx<|=9duB!1!0t1Np}D&(!sM))F+=Z{9i>iBr!<;GVs)c95J5=t=0l_lE!nSd)Kn}4$?4h5*zNKVJ7!`4hUsgv%P&<6!9y4})K(N9< z9FM>)V^tSPVj8{<*#X%I;*sZ8e0UdX?`inMF>OcF|&BTz7UJ{vK!XXypXUOb%DAsv@q6(OVpg|Be z2IsEG{5+{_* zlD>-cRf?tNTl&PWg+N0$LajBzVX^G5jlPT>0#3T$M(m{?FkY8Czx)AhlTp1w4|;rs zeie^5ru z1AfK6f#>zIe7s;Rf{K6ww~0>x2-F-naqj^+Sj86a(>&m$gK|$^87Q2qe{NO-s5%yf zI`{TJuLA+mrc6NhQHr?1ln4Cz#J-0D%5WSQZ(0xL%e*8{0y?7I$21#Kuaw13%~^rs z89DDeiA=zRN(O^WMIeXGGmhd&>81{zktz$&3Gsj7d;0a3Zlhc2-3MRNTex*cG6a9% zAOV;$*(^E&Df|HJ@F!Y)8b`{FjP{oMq4o}x|5w!h*O<~J2ub{Eq{Y9fd&kRnBF_1a zPq-ysA;yzO;IEx`$MU^Qvbb3B6tg|O{V>4Qt0(VP`*m13I=Q^=erG5)k^1$u`KrM~ zzqJ9n7T(u3Z-w?ooLP({PO)wBh1P<6I*hEI%StGGmKPp!d#E`zDCo%~peieuKB)jeY`>_dqlJ3R~OI zNmNH2*qQIAl`n1iL(wV&gARSKkBDc~8S1Vx#~AEn5q=DELhmXjTC32aGO!wKVJR-p z^0Utu!Mree3BCEvw&;*@2-Z#)M6YU$Hu>T4@V)3-4YW22H);Y1l{B-2q5V!_P$w;& zmS19JyWu&rOvNDoBFUL0c9duI+_{R7kEQjWLB>%UHUKPQbQ@d>nX!mJ2VB;RT^?wh z?)7rN1I7vJfRPIC(@++adG=w6Jd@e;Q}gjGJ3wia0$>bw%N7a-Dvb%j*^-+kC5KU< z^x^i_ipymc@M5V^w1awQq9c+qn8drYVCj3F2UZ?{6eU6uxN>6(VZUE$_~HjPt9qXN z9iq$g?3-4FszQS)17GYs0KogpXBOM z@`WQ%pJBOIx9^Lz(-&1l{Y{iw)WL#bl67flBDM`22HB4mIADr0gWeW-;#)cAgOe$@ zFeab@Z7)k23{{G}(ML~pYnd&4jB;gItTAYg@>VJ}Fs>a!5GmSJ8%fStPcZC82x)NK z!jH-kdNEv9a)JrQv5_li6=56V%r5fHg#JQ3dE;?oiQU#ldNJv=BiK_7rZpwL*8Kt8 zYwDYGZ^767uEMFiAs2v*m_a=VWCa5>1Bk!>05(e`@`S)=DMI)H=$grg;N8seM6~Jv zhhk=3FjvK+;Np-D@t>{$q|$m{LN_J~;@dP*oyu5*SnAk=mZsQ0u}HXJTCiB=aPxaW zrq1Xot#nNmEuA{fAUERK%v$f+y%#&iDg*Vv2CKG5{m&;ltgWvZuJkReC2?8y>%KJ# zfX<#vu9(T%yOi$s%sSE2nD%G>TUeRadSA zldV*WrtK^bVLULGB2uPzwEVaUTB`Db#CC~-ImXtExa#x|SES`hm>v}nsjtcJ=4ZpZ zhBJ7aRhxUCu4Oi0lD9}t^j-meUXqy;4Fj*`*8>M!XoZ>cpQ(I4mlq9_F)~YBbzp@| zul4zY>{}t%qK)Yf8o;WM32ds80X1#3IKntUd;p>dR?yz&FO6xY!Z#*s+4W@V*=KSv zZ*&0p!kh*XkG&T|QZ@7vq2W|fukL|#GMWGdoXxe;h`RwuAR5~<{lVEMBb;)k(f#-V z7b>HCeo0}uLqHN-DiI5`-p|c|<#`5-2Z$%Dln8(aJlB5ZH47AQa($)?ZmCK2{yyed zOp=rDGZJ=F%_^RcbU4ag?dciF%Mx%}Qs_`%yk%}14*W6XV((0f=IhBNhQ%goNW!Cu z|EXey;lN_y?sRguSrRdy+Gy~BRl=tb@v}3$^)tvc8ohEGuDH&Wwuu2;-dwc>-5Y&! zSosvE=9A$Ew8Y9`&)2W^NLF4Rt;O&lP83I4&m^HW&p&^S$EyrfrsT-M!lm&~UL`Zh zBBot=BXq4iXrKx)*ln$kefu0HpqSzKUG0WU)0K5l=`*Y#BbvJ2tyb}(6+jA9FZFcY z4!+#%d_`4B;GG1=E0}pI%w~j(_Y<4|}=%TONyGc`^X0PXe)u>2SE#RvTB=i$yg{d?cfbvNDcG^#)Ur zZ=lohjJsUKO%TyZb5vomB0&E@%mWZz-^s<$4i#y!LlvZ!0bEY&EuVFK6cla9L5oY} z<*1zeyIp|^GsHe-lML-$$QgK^=uX0}8M)NY-uh*tOyMy3_WvB_eg|yS{XWHlXwG9P zqpcs2>GU&07jY~4Vk*8sOSI`j*D7*LoiIjX;_q4&Z)(X+88;sVh;{L{DZ93N!qF2W z7`05XY3L{Kd0cyMcSA^v$|W%fivU}tJ*Na`Q-BPzSA@xdEq)%<7NB~E46=DZB-IMB zz@FBo?&`GOdS#4?AQmt!$9O)w@wR4N5t&Ev??s_aDnd1I-t2Gq+^uZQvq+X~v4_up zQQ9vx^`%GYkX%b#1$Q+cE|~>NGqItLjtJ7FlIp(5=<7~xAlCg-z>)R~PXfA5XDbB6 zWTU0}%s{F1;7+2j>l)d8knyJ+S~;cP`49LLhtMZ=k*hItX_V;P^SC@53(~^f2Oi`H z3s+#z)Aa4)bU(z33dQEAxjuLwCJF-@6nh=9aKXK}2a+>v6ekbB)Z(H~uUW|WfI!qvW<*rx}cqQMffA!PL zo6|9>e+lJDLsNexAJCj^o$ogCT=j7ox`nhL#$u5Di2DGJhh5Eeen{cuX{0o?keJ<3 z7DwK(Vq{hNRxn{~7YSMxCQK&KHPLlv@q0{km~YqcwLvSg_N&3+a@t8hU+pj&aADsq zj*a$~a?iulTpxS2R$#|rsAJ>111n^Ow>rB&d&|51xvzOxZce6gQ5d}l5ZN86uCnS@ zH>xxK5wj|)`@8lM?~{OOmp$>_MFJ#OVgM$NA}ES{I&g9xh~I+U2<`z1MFckhYK_=1 z7QUXNk;th(nu=1imh*sl%76{6MRz*yZto(YOk52C z>JaCZl{dRU7P?HPL9KN4=(UJ-F(q*pA-}LEFsg7cP8W7Np|64Ww8ZTP&o=7PKK=qq z&y8a!4sQQTdl^*Uqg(Ho4bq(~&_h@_eEos5n5$_=GIJTzj|hHIG3`2Lpbm)6R?Qaw zU_SCki-rZMxGE1Tn^{kRuV0m{CsZYuW8oO|Gixbh*pt|GF9iAH*W^EpY(5(iI(wf1 zM(2}5nMVp#Yqi{KBx~__(ds0dZwMWW67I;5!FpVj--=i}(wD8s;HV%c$y+CreY+BV z;y}Y?i?gB?a>rTmI#R?&M^rs|YT>WD+d->-~UCg78BsCRQ#k;DUv&>`z_<(H8B zW$~dR?fun*x7FrAUSF)g({HO)yU%J$PX~+f>!nh86Ib*3(aSaNwLRw3^H*c|4mQ;< zj$7mAdVPqFz7i`)z0%K|RrH*8Y}PDQ*LB+%U$tvZK#E)x6mi~1^``UT5?N-Q(Y{nM zVm@aOoOl4QW4KGqDjBlLwN<}BXav0C3g!$K(wzI$YNx&TzxjH_qJVT`5}^g_2p7}y zr~_5a7Fr%T`fMTyu7t-%WoMrHJH_^*haTZDYKS?}uROqM5qUl+L!kgP<(B}zYnLCW z2!zXy`f~(aQaLoyakpMnjY%b1P1Y3lyKhZTBruIfngha9#-cTSxXVs}5lv_0VO}95xi>T4*n=*TB8wIth_^UR6H!Rip8t3`{>gH(l-#_WIkOF+wIyRWe!z zw5?`~Heat-iF-TR^T-#*zss9int2Djy(rg$LbzK_B*89(yhM@JuUp1oFMnpHJGHvt4n`^^QSKq z&G>RLrHp%m2XTJE-rsjv*`BKFC$-Vx09cMH28`CLvtr;c{Ka8d4G@wpGw6}*CkjkM z9lq{W(Cer0r&B}-I@TM@bs?vu=@_Q686p=VPst{W#W(_Gza&5A`TNP+?;C>MI81qc z5hVP8nuY7x%!0_W*#}{mWJQ@uWE+iYOTZp}!En%_k32=mp)HLYHKZ_}eWdOz`_<%7 z80|HD)3!dUdsihCl|>nmNebw?+U}i!W=o%X@4?P$vj$PICfAIsnK0y%^q%aS)~Uu$@1e?pL=fd_?#UCpOvr)xmt0@ zvQ4@R%{^E$rxi7QbKpqA275g1G<^MIj^5PK^2uk{s2180Baq~JN!bH0lQ=v|7Qdxx zhZ51!J2anXXs1t}-eBj)*uBXX`&5G42k)B3)5N7I;F=2M8xsu$fudA@*s#_TnHTaRA1*7FtE5(~u%NnMs1G+LZ})pdfA?C=WI z1k!5xGM5SwS$2-}wp68pb4)QXdQ_>W+emSXmN8 zHThy{yyx8vZ@R(Q#gKAMm%%0mia1i;sS)+OSdkFrrw-@QaJd*Sj^>Bh*Ekr(_2Bpc zfhRG2kkiuI(=IpY)a+)fCgcMAcf=RNgIJpkUWv~`dbUIx-^mYlJ!Xt@=+B6PlU=CN z?Ml|VTn&GAT9_+K;+;g002HS>YR|Wl+dpnrN9pCfyCeEw-mpb&A<$>8DZtBC#drHY123+ZVV!UPF z#&_Xe<~lE{=9LV5Fyc;47VNZKoP9cPuGx% zt|BAW(8>#(jrhnLr16y2mNvPhCTK1Nte8?^s=#5EhT4afF3@cy(7zzPIQopK{Bm_s ze)pYyt>0z>|5=!#h3~i*t4>zdlNW;_>VW%tkRt!l_xSS6XUo@{|11)qI?M;4B_Dr% z(+_S*;Xh3u`62bOG4`Z*tmJS8Oc5tS{L5h@W-s~dog({z4?PRelTVJk+0%>9-OSeC zyi-NI`SYc(&*B<;163tGBys6?ukt@U)c@zo{<=9?i1#QGUqyLk{EC2L#yde||0BD4 ztD!-mk9z3}2gOBwmyFFDPB4&(9DS!%&USpYK5F&$er0}!pDvrW(9ULRu5yBTGKW4_ zZ*qAed&4DDL{dFPq<(KTcMDs7oeiDLwCDI$PfG2&_u@;cvSvM}ONl&K5m7P>_+&vgaYO`{0P5xO<050DZhyPw1-q~1Tur0W+lm2vLmTa+^?J&(Klzj Av?cLbS-P*^q5Bu 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

        +VR&KwkFpl$8BH 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�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 )%q>85oh*uZr?^E!!NV~;aI|Xpn-0O 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­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�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ï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