v1.9.1
This commit is contained in:
parent
27ce69c2d2
commit
bb3beaa353
12 changed files with 465 additions and 147 deletions
|
|
@ -25,6 +25,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|||
* @var array<string, array{installed:bool, active:bool, version:string}> $local
|
||||
* @var array<string, array<string,mixed>> $manager_subscriptions
|
||||
* @var list<array{type:string, message:string}> $manager_notices
|
||||
* @var list<array{slug:string, name:string, installed:string, patch:string}> $manager_security_updates
|
||||
* @var bool $manager_has_api_key
|
||||
* @var string $manager_store_url
|
||||
*/
|
||||
|
|
@ -79,6 +80,25 @@ $compat_warnings = 0;
|
|||
</div>
|
||||
<?php endforeach; ?>
|
||||
|
||||
<?php foreach ( ( $manager_security_updates ?? array() ) as $manager_security ) : ?>
|
||||
<div class="notice notice-error">
|
||||
<p>
|
||||
<?php
|
||||
echo wp_kses_post(
|
||||
sprintf(
|
||||
/* translators: 1: plugin name, 2: installed version, 3: patch version, 4: update URL. */
|
||||
__( '<strong>Security update available:</strong> %1$s (v%2$s → v%3$s). <a href="%4$s">Update now</a> — this is a security patch for the version this site runs, not a feature update.', 'robotstxt-manager' ),
|
||||
esc_html( $manager_security['name'] ),
|
||||
esc_html( $manager_security['installed'] ),
|
||||
esc_html( $manager_security['patch'] ),
|
||||
esc_url( Robotstxt_Manager_Admin::action_url( 'update', $manager_security['slug'] ) )
|
||||
)
|
||||
);
|
||||
?>
|
||||
</p>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
|
||||
<?php if ( empty( $manager_has_api_key ) && '' !== ( $manager_store_url ?? '' ) ) : ?>
|
||||
<div class="notice notice-info">
|
||||
<p>
|
||||
|
|
@ -217,7 +237,15 @@ $compat_warnings = 0;
|
|||
$l_version = is_string( $raw_lv ) ? $raw_lv : '';
|
||||
|
||||
$update_available = $l_installed && '' !== $remote_v && '' !== $l_version
|
||||
&& version_compare( $l_version, $remote_v, '<' );
|
||||
&& version_compare( $l_version, $remote_v, '<' );
|
||||
|
||||
// Security patch declared for exactly the installed version:
|
||||
// the Update action installs the patch, not the mainline.
|
||||
$security_patch = Robotstxt_Manager_Updater::security_patch_for( $entry, $l_version );
|
||||
|
||||
if ( '' !== $security_patch ) {
|
||||
$update_available = true;
|
||||
}
|
||||
|
||||
$row_class = ( ! $wp_ok || ! $php_ok ) ? ' robotstxt-manager-row--incompatible' : '';
|
||||
?>
|
||||
|
|
@ -346,6 +374,15 @@ $compat_warnings = 0;
|
|||
echo '<span class="robotstxt-manager-state robotstxt-manager-state--not-installed">' . esc_html__( 'Not installed', 'robotstxt-manager' ) . '</span>';
|
||||
} elseif ( ! $l_active ) {
|
||||
echo '<span class="robotstxt-manager-state robotstxt-manager-state--inactive">' . esc_html__( 'Installed (inactive)', 'robotstxt-manager' ) . '</span>';
|
||||
} elseif ( '' !== $security_patch ) {
|
||||
echo '<span class="robotstxt-manager-state robotstxt-manager-state--security">' . esc_html(
|
||||
sprintf(
|
||||
/* translators: 1: installed version, 2: security patch version. */
|
||||
__( 'Security update available (v%1$s → v%2$s)', 'robotstxt-manager' ),
|
||||
$l_version,
|
||||
$security_patch
|
||||
)
|
||||
) . '</span>';
|
||||
} elseif ( $update_available ) {
|
||||
echo '<span class="robotstxt-manager-state robotstxt-manager-state--update">' . esc_html(
|
||||
sprintf(
|
||||
|
|
@ -433,6 +470,7 @@ $compat_warnings = 0;
|
|||
.robotstxt-manager-compat--fail { color: #d63638; font-weight: 600; }
|
||||
.robotstxt-manager-compat-warning { cursor: help; }
|
||||
.robotstxt-manager-row--incompatible { background-color: #fef7f0 !important; }
|
||||
.robotstxt-manager-state--security { color: #d63638; font-weight: 600; }
|
||||
|
||||
/* Detail rows (always open): muted, attached to the row above. */
|
||||
.robotstxt-manager-detail-row td { border-top: none !important; padding-top: 0; }
|
||||
|
|
|
|||
Loading…
Reference in a new issue