diff --git a/opentools-update-checker.php b/opentools-update-checker.php index c585fa866f16862278bd77bd788b7b7f1b63b77f..c14931614456e2b484161afbfcfce2f6feb19fdf 100644 --- a/opentools-update-checker.php +++ b/opentools-update-checker.php @@ -27,15 +27,15 @@ class OpenToolsPluginUpdateChecker extends PluginUpdateChecker_2_1 { } public function declareCredentials($credential_def) { $this->credvars = $credential_def; + // Append the update credentials to the update server link + $this->addQueryArgFilter(array($this, 'appendQueryArgsCredentials')); + } protected function installOTHooks() { $this->ajaxurl = is_network_admin()?network_admin_url( 'admin-ajax.php' ): admin_url( 'admin-ajax.php' ); - // Append the update credentials to the update server link - $this->addQueryArgFilter(array($this, 'appendQueryArgsCredentials')); - add_action('admin_print_scripts-plugins.php', array($this, 'addCredentialCheckScripts')); add_action('admin_print_styles-plugins.php', array($this, 'addCredentialCheckStyles')); @@ -99,6 +99,7 @@ class OpenToolsPluginUpdateChecker extends PluginUpdateChecker_2_1 { public function displayUpdateCredentialsLink($links, $pluginFile) { $isRelevant = ($pluginFile == $this->pluginFile) || (!empty($this->muPluginFile) && $pluginFile == $this->muPluginFile); + $isRelevant = $isRelevant && !empty($this->credvars); if ( $isRelevant && current_user_can('update_plugins') ) { $credentials = $this->getCredentials($this->slug); @@ -127,6 +128,7 @@ class OpenToolsPluginUpdateChecker extends PluginUpdateChecker_2_1 { && $_REQUEST['slug'] == $this->slug && current_user_can('update_plugins') && check_ajax_referer('otup_enter_update_credentials'); + $showCredentials = $showCredentials && !empty($this->credvars); if ( $showCredentials && (is_network_admin() || !is_multisite() )) { $slug = $this->slug; @@ -179,7 +181,7 @@ class OpenToolsPluginUpdateChecker extends PluginUpdateChecker_2_1 { $submitCredentials = $slug == $this->slug && current_user_can('update_plugins') && check_ajax_referer('otup_enter_update_credentials_'.$slug); - + $submitCredentials = $submitCredentials && !empty($this->credvars); if ( $submitCredentials ) { $credentials = array(); @@ -219,7 +221,7 @@ class OpenToolsPluginUpdateChecker extends PluginUpdateChecker_2_1 { $updateinfo = $this->requestInfo(array()); if ($updateinfo && isset($updateinfo->download_url)) { $downloadurl = $updateinfo->download_url; - $downloadurl .= (parse_url($downloadurl, PHP_URL_QUERY) ? '&' : '?') . 'check_access=1'; + $downloadurl = apply_filters('puc_check_download_query_args-'.$this->slug, $downloadurl); $headers = get_headers($downloadurl); list($version, $status_code, $msg) = explode(' ',$headers[0], 3); @@ -232,6 +234,10 @@ class OpenToolsPluginUpdateChecker extends PluginUpdateChecker_2_1 { } return $success; } + + public function addAccessCheckQueryArgFilter($callback){ + add_filter('puc_check_download_query_args-'.$this->slug, $callback); + } }; diff --git a/releases/opentools-woocommerce-ordernumbers-advanced_v1.2.1.zip b/releases/opentools-woocommerce-ordernumbers-advanced_v1.2.1.zip index 33e53b337474afa5269ba455c27bdec287b46014..964474778eea386f29561ade58c02ba8d86d9101 100644 Binary files a/releases/opentools-woocommerce-ordernumbers-advanced_v1.2.1.zip and b/releases/opentools-woocommerce-ordernumbers-advanced_v1.2.1.zip differ diff --git a/woocommerce-advanced-ordernumbers.php b/woocommerce-advanced-ordernumbers.php index d473fa33c314efa9e4c073c18e4ba61bff26c5bd..d46fda0e3dc438995d7661bdb5ee48b5ee916e1d 100644 --- a/woocommerce-advanced-ordernumbers.php +++ b/woocommerce-advanced-ordernumbers.php @@ -35,6 +35,11 @@ $myUpdateChecker->declareCredentials(array( 'order_number' => __('Order Number:'), 'order_pass' => __('Order Password:'), )); +$myUpdateChecker->addAccessCheckQueryArgFilter('oton_addAccessCheckArg'); +function oton_addAccessCheckArg($downloadurl) { + return $downloadurl . (parse_url($downloadurl, PHP_URL_QUERY) ? '&' : '?') . 'check_access=1'; +} + // $myUpdateChecker->checkForUpdates(); // *****************************************************************