From 081419607ac4d7f58e871a8b74cdc94001fd6899 Mon Sep 17 00:00:00 2001 From: Reinhold Kainhofer <reinhold@kainhofer.com> Date: Tue, 5 Jan 2016 19:38:25 +0100 Subject: [PATCH] Add dashicons to the credentials link --- assets/js/opentools-updatecheck.js | 3 +++ opentools-update-checker.php | 14 ++++++++++---- ordernumbers_woocommerce_basic.php | 4 +++- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/assets/js/opentools-updatecheck.js b/assets/js/opentools-updatecheck.js index 865e437..e342102 100644 --- a/assets/js/opentools-updatecheck.js +++ b/assets/js/opentools-updatecheck.js @@ -42,10 +42,13 @@ var submitUpdateCredentials = function(btn) { jQuery(tr).find('div.update-credentials-message').html(json['message']); jQuery(tr).find('div.update-credentials').removeClass('message-fail').addClass('message-success') jQuery(tr).find('div.update-credentials-form').fadeOut( 500, function() { jQuery(this).remove(); }); + jQuery(tr).closest('table').find('a.otup_credentials_link_'+slug).removeClass('dashicons-no').addClass('dashicons-yes'); jQuery(tr).delay(5000).fadeOut(1000, function() { jQuery(this).remove(); }); + } else { jQuery(tr).find('div.update-credentials-message').html(json['message']); jQuery(tr).find('div.update-credentials').addClass('message-fail').removeClass('message-success'); + jQuery(tr).closest('table').find('a.otup_credentials_link_'+slug).removeClass('dashicons-yes').addClass('dashicons-no'); } }, error: function() { diff --git a/opentools-update-checker.php b/opentools-update-checker.php index 00952e0..ef027af 100644 --- a/opentools-update-checker.php +++ b/opentools-update-checker.php @@ -26,7 +26,9 @@ class OpenToolsPluginUpdateChecker extends PluginUpdateChecker_2_1 { add_action('admin_print_styles-plugins.php', array($this, 'addCredentialCheckStyles')); - add_filter('plugin_row_meta', array($this, 'displayUpdateCredentialsLink'), 10, 2); +// add_filter('plugin_row_meta', array($this, 'displayUpdateCredentialsLink'), 9, 2); + add_filter('plugin_action_links_'.$this->pluginFile, array($this, 'displayUpdateCredentialsLink'), 9, 2); + add_action( 'wp_ajax_getUpdateCredentialsRow', array( &$this, 'getUpdateCredentialsRow') ); add_action( 'wp_ajax_submitUpdateCredentials', array( &$this, 'submitUpdateCredentials') ); @@ -99,17 +101,21 @@ class OpenToolsPluginUpdateChecker extends PluginUpdateChecker_2_1 { * @param string $pluginFile * @return array */ - public function displayUpdateCredentialsLink($pluginMeta, $pluginFile) { + public function displayUpdateCredentialsLink($links, $pluginFile) { $isRelevant = ($pluginFile == $this->pluginFile) || (!empty($this->muPluginFile) && $pluginFile == $this->muPluginFile); + if ( $isRelevant && current_user_can('update_plugins') ) { + $credentials = $this->getCredentials($this->slug); $linkText = apply_filters('otup_enter_update_credentials-' . $this->slug, __('Update Credentials', 'oton-updates')); if ( !empty($linkText) ) { - $pluginMeta[] = sprintf('<a href="#" onClick=\'return showUpdateCredentialsRow(this, "%s", "%s");\' >%s</a>', esc_attr($this->slug), esc_attr(wp_create_nonce( 'otup_enter_update_credentials' )), $linkText); + $iconyesno = $credentials['validated']?'yes':'no'; + $link = sprintf('<a href="#" onClick=\'return showUpdateCredentialsRow(this, "%s", "%s");\' class="dashicons-before dashicons-'.$iconyesno.' otup_credentials_link_'.$this->slug.'">%s</a>', esc_attr($this->slug), esc_attr(wp_create_nonce( 'otup_enter_update_credentials' )), $linkText); + array_unshift($links, $link); } } - return $pluginMeta; + return $links; } diff --git a/ordernumbers_woocommerce_basic.php b/ordernumbers_woocommerce_basic.php index f262b40..0189c4c 100644 --- a/ordernumbers_woocommerce_basic.php +++ b/ordernumbers_woocommerce_basic.php @@ -172,7 +172,9 @@ class OpenToolsOrdernumbersBasic { */ public function ordernumber_add_settings_link( $links ) { $link = '<a href="admin.php?page=wc-settings&tab=checkout§ion=ordernumber">'. $this->helper->__( 'Settings' ) . '</a>'; - array_push( $links, $link ); + // Prepend the settings link: + array_unshift( $links, $link ); +// $links['settings'] = $link; return $links; } public function ordernumber_plugin_row_meta( $links, $file ) { -- GitLab