diff --git a/Puc/v4p1/Plugin/UpdateChecker.php b/Puc/v4p1/Plugin/UpdateChecker.php index e51906b..9a61930 100644 --- a/Puc/v4p1/Plugin/UpdateChecker.php +++ b/Puc/v4p1/Plugin/UpdateChecker.php @@ -82,6 +82,7 @@ if ( !class_exists('Puc_v4p2_Plugin_UpdateChecker', false) ): //Override requests for plugin information add_filter('plugins_api', array($this, 'injectInfo'), 20, 3); + add_filter('plugin_row_meta', array($this, 'addDetailsUpdatesLink'), 10, 2); 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')); @@ -327,9 +328,49 @@ if ( !class_exists('Puc_v4p2_Plugin_UpdateChecker', false) ): } /** - * Add a "Check for updates" link to the plugin row in the "Plugins" page. By default, + * Add a "Show details" link to the plugin row in the "Plugins" page. By default, * the new link will appear after the "Visit plugin site" link. * + * You can change the link text by using the "puc_manual_details_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 addDetailsUpdatesLink($pluginMeta, $pluginFile) { + $isRelevant = ($pluginFile == $this->pluginFile) + || (!empty($this->muPluginFile) && $pluginFile == $this->muPluginFile); + + if ( $isRelevant && $this->userCanInstallUpdates() ) { + $linkUrl = add_query_arg( + array( + 'tab' => 'plugin-information', + 'plugin' => $this->slug, + 'TB_iframe' => 'true', + 'width' => 850, + 'height' => 620 + ), + admin_url('plugin-install.php') + ); + + $linkText = apply_filters( + $this->getUniqueName('manual_details_link'), + _x( 'Show details', 'the plugin row meta', 'plugin-update-checker' ) + ); + + if ( !empty($linkText) && !$this->getUpdate() ) { + /** @noinspection HtmlUnknownTarget */ + $pluginMeta[] = sprintf( '%s', esc_attr($linkUrl), $linkText ); + } + } + 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 "Show 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. * diff --git a/languages/plugin-update-checker-pt_BR.mo b/languages/plugin-update-checker-pt_BR.mo index d1c0f28..d111b30 100644 Binary files a/languages/plugin-update-checker-pt_BR.mo and b/languages/plugin-update-checker-pt_BR.mo differ diff --git a/languages/plugin-update-checker-pt_BR.po b/languages/plugin-update-checker-pt_BR.po index 70a0f62..3baa598 100644 --- a/languages/plugin-update-checker-pt_BR.po +++ b/languages/plugin-update-checker-pt_BR.po @@ -1,11 +1,9 @@ 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" +"POT-Creation-Date: 2017-05-20 22:07-0300\n" +"PO-Revision-Date: 2017-05-20 22:08-0300\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" @@ -13,26 +11,33 @@ msgstr "" "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-KeywordsList: __;_e;_x:1,2c;_x\n" +"Last-Translator: \n" +"Language: pt_BR\n" "X-Poedit-SearchPath-0: .\n" -#: Puc/v4p1/Plugin/UpdateChecker.php:358 +#: Puc/v4p1/Plugin/UpdateChecker.php:359 +msgctxt "the plugin row meta" +msgid "Show details" +msgstr "Ver detalhes" + +#: Puc/v4p1/Plugin/UpdateChecker.php:399 msgid "Check for updates" msgstr "Verificar Atualizações" -#: Puc/v4p1/Plugin/UpdateChecker.php:401 Puc/v4p1/Plugin/UpdateChecker.php:406 +#: Puc/v4p1/Plugin/UpdateChecker.php:446 #, 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 +#: Puc/v4p1/Plugin/UpdateChecker.php:448 #, 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 +#: Puc/v4p1/Plugin/UpdateChecker.php:450 #, php-format msgid "Unknown update checker status \"%s\"" msgstr "Status \"%s\" desconhecido." @@ -40,9 +45,3 @@ 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/languages/plugin-update-checker.pot b/languages/plugin-update-checker.pot index 7e12d05..2e535e0 100644 --- a/languages/plugin-update-checker.pot +++ b/languages/plugin-update-checker.pot @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: plugin-update-checker\n" -"POT-Creation-Date: 2017-05-20 10:53+0300\n" +"POT-Creation-Date: 2017-05-20 22:07-0300\n" "PO-Revision-Date: 2016-01-10 20:59+0100\n" "Last-Translator: Tamás András Horváth \n" "Language-Team: \n" @@ -10,30 +10,35 @@ msgstr "" "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-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:1,2c;_x\n" "X-Poedit-SearchPath-0: .\n" -#: Puc/v4p1/Plugin/UpdateChecker.php:358 +#: Puc/v4p1/Plugin/UpdateChecker.php:359 +msgctxt "the plugin row meta" +msgid "Show details" +msgstr "" + +#: Puc/v4p1/Plugin/UpdateChecker.php:399 msgid "Check for updates" msgstr "" -#: Puc/v4p1/Plugin/UpdateChecker.php:405 +#: Puc/v4p1/Plugin/UpdateChecker.php:446 #, php-format msgctxt "the plugin title" msgid "The %s plugin is up to date." msgstr "" -#: Puc/v4p1/Plugin/UpdateChecker.php:407 +#: Puc/v4p1/Plugin/UpdateChecker.php:448 #, php-format msgctxt "the plugin title" msgid "A new version of the %s plugin is available." msgstr "" -#: Puc/v4p1/Plugin/UpdateChecker.php:409 +#: Puc/v4p1/Plugin/UpdateChecker.php:450 #, php-format msgid "Unknown update checker status \"%s\"" msgstr "" diff --git a/vendor/readme-parser.php b/vendor/readme-parser.php index d89a06e..159abed 100644 --- a/vendor/readme-parser.php +++ b/vendor/readme-parser.php @@ -124,25 +124,26 @@ class PucReadmeParser { 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]); - } + $title = $this->sanitize_text( $_sections[$i-1] ); + $sectionSlug = str_replace(' ', '_', strtolower($title)); + $sections[ $sectionSlug ] = 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 ) { + foreach ( apply_filters('puc_readme_section_allowed', array('description', 'installation', 'frequently_asked_questions', 'faq', '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); @@ -180,7 +181,6 @@ class PucReadmeParser { } $remaining_content = trim($remaining_content); - // All done! // $r['tags'] and $r['contributors'] are simple arrays // $r['sections'] is an array with named elements