v1.0.0
This commit is contained in:
parent
3a653a7bf3
commit
e7a4a45a74
9 changed files with 170 additions and 89 deletions
|
|
@ -2,10 +2,10 @@
|
|||
/**
|
||||
* Admin page view: ROBOTSTXT Plugins catalog.
|
||||
*
|
||||
* Available variables:
|
||||
* $catalog list<array<string,mixed>> Catalog entries from Core.
|
||||
* $local array<string, array{installed:bool, active:bool, version:string}>
|
||||
* Local install state, keyed by slug.
|
||||
* Catalog table (Plugin · Version · Requires WP · Requires PHP · Price ·
|
||||
* Action · Status) with an always-open detail row under each plugin
|
||||
* (website link + description), an intro paragraph, and Support /
|
||||
* Payments sections below the table.
|
||||
*
|
||||
* @package Robotstxt_Manager
|
||||
*/
|
||||
|
|
@ -57,6 +57,10 @@ $compat_warnings = 0;
|
|||
<div class="wrap">
|
||||
<h1><?php esc_html_e( 'Manager (by ROBOTSTXT) — Plugins', 'robotstxt-manager' ); ?></h1>
|
||||
|
||||
<p class="description">
|
||||
<?php esc_html_e( 'This is the ROBOTSTXT plugin store: the catalog of plugins published by ROBOTSTXT, installable and updatable straight from your own wp-admin. Free plugins install with one click; premium plugins require an annual subscription that you purchase on our website.', 'robotstxt-manager' ); ?>
|
||||
</p>
|
||||
|
||||
<?php if ( $refreshed ) : ?>
|
||||
<div class="notice notice-success is-dismissible"><p><?php esc_html_e( 'Catalog refreshed.', 'robotstxt-manager' ); ?></p></div>
|
||||
<?php endif; ?>
|
||||
|
|
@ -95,12 +99,12 @@ $compat_warnings = 0;
|
|||
<thead>
|
||||
<tr>
|
||||
<th scope="col"><?php esc_html_e( 'Plugin', 'robotstxt-manager' ); ?></th>
|
||||
<th scope="col"><?php esc_html_e( 'Type', 'robotstxt-manager' ); ?></th>
|
||||
<th scope="col"><?php esc_html_e( 'Price', 'robotstxt-manager' ); ?></th>
|
||||
<th scope="col"><?php esc_html_e( 'Version', 'robotstxt-manager' ); ?></th>
|
||||
<th scope="col"><?php esc_html_e( 'Requires WP', 'robotstxt-manager' ); ?></th>
|
||||
<th scope="col"><?php esc_html_e( 'Requires PHP', 'robotstxt-manager' ); ?></th>
|
||||
<th scope="col"><?php esc_html_e( 'Local state', 'robotstxt-manager' ); ?></th>
|
||||
<th scope="col"><?php esc_html_e( 'Price', 'robotstxt-manager' ); ?></th>
|
||||
<th scope="col"><?php esc_html_e( 'Action', 'robotstxt-manager' ); ?></th>
|
||||
<th scope="col"><?php esc_html_e( 'Status', 'robotstxt-manager' ); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
@ -129,8 +133,7 @@ $compat_warnings = 0;
|
|||
$req_php = is_string( $raw_rphp ) ? $raw_rphp : '';
|
||||
|
||||
$website_url = '' !== $page_url ? $page_url : $homepage;
|
||||
$expandable = ( '' !== $desc || '' !== $website_url );
|
||||
$toggle_id = 'robotstxt-manager-toggle-' . esc_attr( $slug );
|
||||
$has_detail = ( '' !== $website_url || '' !== $desc );
|
||||
|
||||
// Compatibility checks.
|
||||
$wp_ok = '' === $req_wp || version_compare( $local_wp_version, $req_wp, '>=' );
|
||||
|
|
@ -157,25 +160,9 @@ $compat_warnings = 0;
|
|||
?>
|
||||
<tr class="<?php echo esc_attr( ltrim( $row_class ) ); ?>">
|
||||
<td class="robotstxt-manager-name-cell">
|
||||
<?php if ( $expandable ) : ?>
|
||||
<input type="checkbox" class="robotstxt-manager-toggle" id="<?php echo esc_attr( $toggle_id ); ?>" aria-label="<?php esc_attr_e( 'Show more information', 'robotstxt-manager' ); ?>" />
|
||||
<label class="robotstxt-manager-toggle-label" for="<?php echo esc_attr( $toggle_id ); ?>"><span class="robotstxt-manager-toggle-arrow"></span></label>
|
||||
<?php endif; ?>
|
||||
<strong><?php echo esc_html( $name ); ?></strong>
|
||||
<?php if ( '' !== $remote_v ) : ?>
|
||||
<br /><span class="description"><?php echo esc_html( sprintf( 'v%s', $remote_v ) ); ?></span>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
<td><?php echo esc_html( 'premium' === $kind ? __( 'Premium', 'robotstxt-manager' ) : __( 'Free', 'robotstxt-manager' ) ); ?></td>
|
||||
<td>
|
||||
<?php
|
||||
if ( $cost > 0.0 ) {
|
||||
echo esc_html( sprintf( '€%s / year', number_format_i18n( $cost, 0 ) ) );
|
||||
} else {
|
||||
echo '—';
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
<td><?php echo '' !== $remote_v ? esc_html( $remote_v ) : '—'; ?></td>
|
||||
<td>
|
||||
<?php if ( '' !== $req_wp ) : ?>
|
||||
<span class="<?php echo $wp_ok ? 'robotstxt-manager-compat--ok' : 'robotstxt-manager-compat--fail'; ?>">
|
||||
|
|
@ -200,6 +187,40 @@ $compat_warnings = 0;
|
|||
—
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php
|
||||
if ( $cost > 0.0 || 'premium' === $kind ) {
|
||||
echo esc_html(
|
||||
sprintf(
|
||||
/* translators: %s: formatted price number. */
|
||||
__( '€%s / year', 'robotstxt-manager' ),
|
||||
number_format_i18n( $cost, 0 )
|
||||
)
|
||||
);
|
||||
} else {
|
||||
echo esc_html__( 'Free', 'robotstxt-manager' );
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
<td>
|
||||
<?php if ( ! $l_installed ) : ?>
|
||||
<?php if ( ! $wp_ok || ! $php_ok ) : ?>
|
||||
<span class="description"><?php esc_html_e( 'Incompatible', 'robotstxt-manager' ); ?></span>
|
||||
<?php else : ?>
|
||||
<?php if ( $cost > 0.0 && '' !== $page_url ) : ?>
|
||||
<a class="button button-secondary" href="<?php echo esc_url( $page_url ); ?>" target="_blank" rel="noopener noreferrer"><?php esc_html_e( 'Buy', 'robotstxt-manager' ); ?></a>
|
||||
<?php endif; ?>
|
||||
<?php
|
||||
$install_class = ( $cost > 0.0 && '' !== $page_url ) ? 'button-secondary' : 'button-primary';
|
||||
?>
|
||||
<a class="button <?php echo esc_attr( $install_class ); ?>" href="<?php echo esc_url( Robotstxt_Manager_Admin::action_url( 'install', $slug ) ); ?>"><?php esc_html_e( 'Install', 'robotstxt-manager' ); ?></a>
|
||||
<?php endif; ?>
|
||||
<?php elseif ( ! $l_active ) : ?>
|
||||
<a class="button button-primary" href="<?php echo esc_url( Robotstxt_Manager_Admin::action_url( 'activate', $slug ) ); ?>"><?php esc_html_e( 'Activate', 'robotstxt-manager' ); ?></a>
|
||||
<?php elseif ( $update_available ) : ?>
|
||||
<a class="button button-secondary" href="<?php echo esc_url( Robotstxt_Manager_Admin::action_url( 'update', $slug ) ); ?>"><?php esc_html_e( 'Update', 'robotstxt-manager' ); ?></a>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php
|
||||
if ( ! $l_installed ) {
|
||||
|
|
@ -220,35 +241,16 @@ $compat_warnings = 0;
|
|||
}
|
||||
?>
|
||||
</td>
|
||||
<td>
|
||||
<?php if ( ! $l_installed ) : ?>
|
||||
<?php if ( ! $wp_ok || ! $php_ok ) : ?>
|
||||
<span class="description"><?php esc_html_e( 'Incompatible', 'robotstxt-manager' ); ?></span>
|
||||
<?php else : ?>
|
||||
<?php if ( $cost > 0.0 && '' !== $page_url ) : ?>
|
||||
<a class="button button-secondary" href="<?php echo esc_url( $page_url ); ?>" target="_blank" rel="noopener noreferrer"><?php esc_html_e( 'Buy', 'robotstxt-manager' ); ?></a>
|
||||
<?php endif; ?>
|
||||
<?php
|
||||
$install_class = ( $cost > 0.0 && '' !== $page_url ) ? 'button-secondary' : 'button-primary';
|
||||
?>
|
||||
<a class="button <?php echo esc_attr( $install_class ); ?>" href="<?php echo esc_url( Robotstxt_Manager_Admin::action_url( 'install', $slug ) ); ?>"><?php esc_html_e( 'Install', 'robotstxt-manager' ); ?></a>
|
||||
<?php endif; ?>
|
||||
<?php elseif ( ! $l_active ) : ?>
|
||||
<a class="button button-primary" href="<?php echo esc_url( Robotstxt_Manager_Admin::action_url( 'activate', $slug ) ); ?>"><?php esc_html_e( 'Activate', 'robotstxt-manager' ); ?></a>
|
||||
<?php elseif ( $update_available ) : ?>
|
||||
<a class="button button-secondary" href="<?php echo esc_url( Robotstxt_Manager_Admin::action_url( 'update', $slug ) ); ?>"><?php esc_html_e( 'Update', 'robotstxt-manager' ); ?></a>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php if ( $expandable ) : ?>
|
||||
<?php if ( $has_detail ) : ?>
|
||||
<tr class="robotstxt-manager-detail-row">
|
||||
<td colspan="7">
|
||||
<?php if ( '' !== $desc ) : ?>
|
||||
<p class="robotstxt-manager-detail-description"><?php echo esc_html( $desc ); ?></p>
|
||||
<?php endif; ?>
|
||||
<?php if ( '' !== $website_url ) : ?>
|
||||
<a href="<?php echo esc_url( $website_url ); ?>" target="_blank" rel="noopener noreferrer"><?php esc_html_e( 'Visit website', 'robotstxt-manager' ); ?> <span class="screen-reader-text"><?php echo esc_html( sprintf( /* translators: %s: plugin name. */ __( '(about %s)', 'robotstxt-manager' ), $name ) ); ?></span></a>
|
||||
<?php endif; ?>
|
||||
<?php if ( '' !== $desc ) : ?>
|
||||
<span class="robotstxt-manager-detail-description"><?php echo esc_html( $desc ); ?></span>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
|
|
@ -256,6 +258,16 @@ $compat_warnings = 0;
|
|||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2><?php esc_html_e( 'Support', 'robotstxt-manager' ); ?></h2>
|
||||
<p class="description">
|
||||
<?php esc_html_e( 'Need help with a ROBOTSTXT plugin? Visit the plugin\'s website (the link in its row above) for documentation and guides, or contact us through our website — we are happy to help.', 'robotstxt-manager' ); ?>
|
||||
</p>
|
||||
|
||||
<h2><?php esc_html_e( 'Payments, and how it works', 'robotstxt-manager' ); ?></h2>
|
||||
<p class="description">
|
||||
<?php esc_html_e( 'Free plugins install instantly at no cost. Premium plugins are annual subscriptions: you pay once on our website and the subscription renews automatically every year until you cancel. You can cancel at any time from your ROBOTSTXT account page — access keeps working until the end of the paid period. All payments are processed securely by Mollie; we never see or store your card details.', 'robotstxt-manager' ); ?>
|
||||
</p>
|
||||
|
||||
<?php if ( $compat_warnings > 0 ) : ?>
|
||||
<div class="notice notice-warning inline" style="margin-top:1em">
|
||||
<p>
|
||||
|
|
@ -290,12 +302,7 @@ $compat_warnings = 0;
|
|||
.robotstxt-manager-compat-warning { cursor: help; }
|
||||
.robotstxt-manager-row--incompatible { background-color: #fef7f0 !important; }
|
||||
|
||||
/* Expandable detail rows (CSS-only toggle). */
|
||||
.robotstxt-manager-toggle { display: none; }
|
||||
.robotstxt-manager-toggle-label { cursor: pointer; display: inline-block; width: 1.4em; }
|
||||
.robotstxt-manager-toggle-arrow::before { content: "\25B8"; /* ▸ */ }
|
||||
.robotstxt-manager-detail-row { display: none; }
|
||||
.robotstxt-manager-detail-row td { border-top: none !important; }
|
||||
tr:has(.robotstxt-manager-toggle:checked) + tr.robotstxt-manager-detail-row { display: table-row; }
|
||||
tr:has(.robotstxt-manager-toggle:checked) .robotstxt-manager-toggle-arrow::before { content: "\25BE"; /* ▾ */ }
|
||||
/* Detail rows (always open): muted, attached to the row above. */
|
||||
.robotstxt-manager-detail-row td { border-top: none !important; padding-top: 0; }
|
||||
.robotstxt-manager-detail-description { color: #50575e; }
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,22 @@
|
|||
== Changelog ==
|
||||
|
||||
= 1.0.0 =
|
||||
|
||||
_Release date: 2026-08-15_
|
||||
|
||||
**Highlights**
|
||||
|
||||
* Catalog page redesign. The table columns are now Plugin · Version · Requires WP · Requires PHP · Price · Action · Status: the Type column is merged into Price ("Free" for cost-0 plugins, the annual price for premium), the version moved into its own column, the action buttons sit before the status, and "Local state" is renamed "Status". Each plugin's detail row — website link first, then its description — is now **always open** (the click-to-expand toggle is gone). An intro paragraph after the page title explains the store, and Support + Payments sections below the table describe how to get help and how the annual-subscription model works (automatic renewal, cancellation from the account page, Mollie processing).
|
||||
|
||||
**Changed**
|
||||
|
||||
* Plugin version 0.6.0 → 1.0.0 — first stable release. No database schema changes (no custom tables).
|
||||
|
||||
**Compatibility**
|
||||
|
||||
* WordPress: 4.4 - 7.1 (scan-verified: wp-compat clean from 4.4)
|
||||
* PHP: 8.0 - 8.5 (scan-verified: PHPCompatibility + manual feature audit)
|
||||
|
||||
= 0.6.0 =
|
||||
|
||||
_Release date: 2026-08-15_
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -129,8 +129,6 @@ msgstr "Instal·lat (inactiu)"
|
|||
msgid "Insufficient permissions."
|
||||
msgstr "Permisos insuficients."
|
||||
|
||||
msgid "Local state"
|
||||
msgstr "Estat local"
|
||||
|
||||
msgid "Manager (by ROBOTSTXT) — Plugins"
|
||||
msgstr "Manager (by ROBOTSTXT) — Plugins"
|
||||
|
|
@ -153,8 +151,6 @@ msgstr "El plugin no està instal·lat."
|
|||
msgid "Plugin not found in catalog."
|
||||
msgstr "Plugin no trobat al catàleg."
|
||||
|
||||
msgid "Premium"
|
||||
msgstr "Premium"
|
||||
|
||||
msgid "Price"
|
||||
msgstr "Preu"
|
||||
|
|
@ -177,8 +173,6 @@ msgstr "Requereix WP"
|
|||
msgid "Settings"
|
||||
msgstr "Paràmetres"
|
||||
|
||||
msgid "Show more information"
|
||||
msgstr "Mostra més informació"
|
||||
|
||||
msgid "Store URL"
|
||||
msgstr "URL de la botiga"
|
||||
|
|
@ -210,8 +204,6 @@ msgstr "Aquest lloc funciona amb WordPress %1$s i PHP %2$s."
|
|||
msgid "Too many refreshes. Please wait a minute before refreshing again."
|
||||
msgstr "Massa actualitzacions. Espera un minut abans de tornar a actualitzar."
|
||||
|
||||
msgid "Type"
|
||||
msgstr "Tipus"
|
||||
|
||||
msgid "Up to date"
|
||||
msgstr "Actualitzat"
|
||||
|
|
@ -233,3 +225,27 @@ msgstr "El teu servidor funciona amb PHP"
|
|||
|
||||
msgid "Your site runs WordPress"
|
||||
msgstr "El teu lloc funciona amb WordPress"
|
||||
|
||||
msgid "This is the ROBOTSTXT plugin store: the catalog of plugins published by ROBOTSTXT, installable and updatable straight from your own wp-admin. Free plugins install with one click; premium plugins require an annual subscription that you purchase on our website."
|
||||
msgstr "Aquesta és la botiga de plugins de ROBOTSTXT: el catàleg de plugins publicats per ROBOTSTXT, instal·lables i actualitzables directament des del teu propi wp-admin. Els plugins gratuïts s'instal·len amb un clic; els plugins premium requereixen una subscripció anual que es compra al nostre lloc web."
|
||||
|
||||
msgid "Version"
|
||||
msgstr "Versió"
|
||||
|
||||
msgid "Status"
|
||||
msgstr "Estat"
|
||||
|
||||
msgid "€%s / year"
|
||||
msgstr "%s €/any"
|
||||
|
||||
msgid "Support"
|
||||
msgstr "Suport"
|
||||
|
||||
msgid "Need help with a ROBOTSTXT plugin? Visit the plugin's website (the link in its row above) for documentation and guides, or contact us through our website — we are happy to help."
|
||||
msgstr "Necessites ajuda amb un plugin de ROBOTSTXT? Visita el lloc web del plugin (l'enllaç a la seva fila de dalt) per veure la documentació i les guies, o contacta amb nosaltres a través del nostre lloc web: estarem encantats d'ajudar-te."
|
||||
|
||||
msgid "Payments, and how it works"
|
||||
msgstr "Pagaments, i com funciona"
|
||||
|
||||
msgid "Free plugins install instantly at no cost. Premium plugins are annual subscriptions: you pay once on our website and the subscription renews automatically every year until you cancel. You can cancel at any time from your ROBOTSTXT account page — access keeps working until the end of the paid period. All payments are processed securely by Mollie; we never see or store your card details."
|
||||
msgstr "Els plugins gratuïts s'instal·len a l'instant i sense cost. Els plugins premium són subscripcions anuals: pagues una vegada al nostre lloc web i la subscripció es renova automàticament cada any fins que la cancellis. Pots cancel·lar-la en qualsevol moment des de la teva pàgina de compte de ROBOTSTXT; l'accés segueix funcionant fins al final del període pagat. Tots els pagaments els processa de manera segura Mollie; nosaltres mai no veiem ni desem les dades de la teva targeta."
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -129,8 +129,6 @@ msgstr "Instalado (inactivo)"
|
|||
msgid "Insufficient permissions."
|
||||
msgstr "Permisos insuficientes."
|
||||
|
||||
msgid "Local state"
|
||||
msgstr "Estado local"
|
||||
|
||||
msgid "Manager (by ROBOTSTXT) — Plugins"
|
||||
msgstr "Manager (by ROBOTSTXT) — Plugins"
|
||||
|
|
@ -153,8 +151,6 @@ msgstr "El plugin no está instalado."
|
|||
msgid "Plugin not found in catalog."
|
||||
msgstr "Plugin no encontrado en el catálogo."
|
||||
|
||||
msgid "Premium"
|
||||
msgstr "Premium"
|
||||
|
||||
msgid "Price"
|
||||
msgstr "Precio"
|
||||
|
|
@ -177,8 +173,6 @@ msgstr "Requiere WP"
|
|||
msgid "Settings"
|
||||
msgstr "Ajustes"
|
||||
|
||||
msgid "Show more information"
|
||||
msgstr "Mostrar más información"
|
||||
|
||||
msgid "Store URL"
|
||||
msgstr "URL de la tienda"
|
||||
|
|
@ -210,8 +204,6 @@ msgstr "Este sitio funciona con WordPress %1$s y PHP %2$s."
|
|||
msgid "Too many refreshes. Please wait a minute before refreshing again."
|
||||
msgstr "Demasiadas actualizaciones. Espera un minuto antes de volver a actualizar."
|
||||
|
||||
msgid "Type"
|
||||
msgstr "Tipo"
|
||||
|
||||
msgid "Up to date"
|
||||
msgstr "Actualizado"
|
||||
|
|
@ -233,3 +225,27 @@ msgstr "Tu servidor funciona con PHP"
|
|||
|
||||
msgid "Your site runs WordPress"
|
||||
msgstr "Tu sitio funciona con WordPress"
|
||||
|
||||
msgid "This is the ROBOTSTXT plugin store: the catalog of plugins published by ROBOTSTXT, installable and updatable straight from your own wp-admin. Free plugins install with one click; premium plugins require an annual subscription that you purchase on our website."
|
||||
msgstr "Esta es la tienda de plugins de ROBOTSTXT: el catálogo de plugins publicados por ROBOTSTXT, instalables y actualizables directamente desde tu propio wp-admin. Los plugins gratis se instalan con un clic; los plugins premium requieren una suscripción anual que se compra en nuestro sitio web."
|
||||
|
||||
msgid "Version"
|
||||
msgstr "Versión"
|
||||
|
||||
msgid "Status"
|
||||
msgstr "Estado"
|
||||
|
||||
msgid "€%s / year"
|
||||
msgstr "%s €/año"
|
||||
|
||||
msgid "Support"
|
||||
msgstr "Soporte"
|
||||
|
||||
msgid "Need help with a ROBOTSTXT plugin? Visit the plugin's website (the link in its row above) for documentation and guides, or contact us through our website — we are happy to help."
|
||||
msgstr "¿Necesitas ayuda con un plugin de ROBOTSTXT? Visita el sitio web del plugin (el enlace en su fila de arriba) para ver la documentación y las guías, o contáctanos a través de nuestro sitio web: estaremos encantados de ayudarte."
|
||||
|
||||
msgid "Payments, and how it works"
|
||||
msgstr "Pagos, y cómo funciona"
|
||||
|
||||
msgid "Free plugins install instantly at no cost. Premium plugins are annual subscriptions: you pay once on our website and the subscription renews automatically every year until you cancel. You can cancel at any time from your ROBOTSTXT account page — access keeps working until the end of the paid period. All payments are processed securely by Mollie; we never see or store your card details."
|
||||
msgstr "Los plugins gratis se instalan al instante y sin coste. Los plugins premium son suscripciones anuales: pagas una vez en nuestro sitio web y la suscripción se renueva automáticamente cada año hasta que la canceles. Puedes cancelarla en cualquier momento desde tu página de cuenta de ROBOTSTXT; el acceso sigue funcionando hasta el final del periodo pagado. Todos los pagos los procesa de forma segura Mollie; nosotros nunca vemos ni guardamos los datos de tu tarjeta."
|
||||
|
|
|
|||
|
|
@ -128,8 +128,6 @@ msgstr ""
|
|||
msgid "Insufficient permissions."
|
||||
msgstr ""
|
||||
|
||||
msgid "Local state"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manager (by ROBOTSTXT) — Plugins"
|
||||
msgstr ""
|
||||
|
|
@ -152,8 +150,6 @@ msgstr ""
|
|||
msgid "Plugin not found in catalog."
|
||||
msgstr ""
|
||||
|
||||
msgid "Premium"
|
||||
msgstr ""
|
||||
|
||||
msgid "Price"
|
||||
msgstr ""
|
||||
|
|
@ -176,8 +172,6 @@ msgstr ""
|
|||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show more information"
|
||||
msgstr ""
|
||||
|
||||
msgid "Store URL"
|
||||
msgstr ""
|
||||
|
|
@ -209,8 +203,6 @@ msgstr ""
|
|||
msgid "Too many refreshes. Please wait a minute before refreshing again."
|
||||
msgstr ""
|
||||
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
msgid "Up to date"
|
||||
msgstr ""
|
||||
|
|
@ -232,3 +224,27 @@ msgstr ""
|
|||
|
||||
msgid "Your site runs WordPress"
|
||||
msgstr ""
|
||||
|
||||
msgid "This is the ROBOTSTXT plugin store: the catalog of plugins published by ROBOTSTXT, installable and updatable straight from your own wp-admin. Free plugins install with one click; premium plugins require an annual subscription that you purchase on our website."
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "€%s / year"
|
||||
msgstr ""
|
||||
|
||||
msgid "Support"
|
||||
msgstr ""
|
||||
|
||||
msgid "Need help with a ROBOTSTXT plugin? Visit the plugin's website (the link in its row above) for documentation and guides, or contact us through our website — we are happy to help."
|
||||
msgstr ""
|
||||
|
||||
msgid "Payments, and how it works"
|
||||
msgstr ""
|
||||
|
||||
msgid "Free plugins install instantly at no cost. Premium plugins are annual subscriptions: you pay once on our website and the subscription renews automatically every year until you cancel. You can cancel at any time from your ROBOTSTXT account page — access keeps working until the end of the paid period. All payments are processed securely by Mollie; we never see or store your card details."
|
||||
msgstr ""
|
||||
|
|
|
|||
21
readme.txt
21
readme.txt
|
|
@ -3,9 +3,9 @@ Contributors: javiercasares, robotstxt
|
|||
Tags: dashboard, catalog, updates, subscriptions, management
|
||||
Requires at least: 4.4
|
||||
Tested up to: 7.1
|
||||
Stable tag: 0.6.0
|
||||
Stable tag: 1.0.0
|
||||
Requires PHP: 8.0
|
||||
Version: 0.6.0
|
||||
Version: 1.0.0
|
||||
License: GPL-3.0-or-later
|
||||
License URI: https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
|
||||
|
|
@ -42,11 +42,14 @@ Configure at **ROBOTSTXT → Settings**:
|
|||
|
||||
| Column | Description |
|
||||
|---|---|
|
||||
| Plugin | Name and current version from the store. Click ▸ to expand the description and website link. |
|
||||
| Type | Free or Premium. |
|
||||
| Price | Annual price in EUR, or — for free plugins. |
|
||||
| Local state | Not installed / Installed (inactive) / Up to date / Update available (vX → vY). |
|
||||
| Plugin | Name from the store. The row below each plugin carries its website link and description (always visible). |
|
||||
| Version | Current version in the store. |
|
||||
| Requires WP / Requires PHP | Minimum requirements, checked against this site (warning icon when not met). |
|
||||
| Price | "Free", or the annual price for premium plugins. |
|
||||
| Action | Install / Activate / Update / Buy, depending on local state. |
|
||||
| Status | Not installed / Installed (inactive) / Up to date / Update available (vX → vY). |
|
||||
|
||||
Below the table: a Support section and an explanation of Payments (annual subscriptions, automatic renewal, cancellation, Mollie processing).
|
||||
|
||||
Click "Refresh catalog" to force a fresh fetch from Core. Install, Activate, and Update run on a classic page load (no JavaScript) and report the result as a standard admin notice.
|
||||
|
||||
|
|
@ -89,6 +92,12 @@ Encrypted at rest using AES-256-CBC with a key derived from your site's WordPres
|
|||
|
||||
== Changelog ==
|
||||
|
||||
= 1.0.0 =
|
||||
|
||||
_Release date: 2026-08-15_
|
||||
|
||||
* Catalog redesign: columns Plugin · Version · Requires WP · Requires PHP · Price · Action · Status; Type merged into Price ("Free" or the annual price); per-plugin website link + description always open under each row; intro text after the title; Support and Payments sections below the table. First stable release.
|
||||
|
||||
= 0.6.0 =
|
||||
|
||||
_Release date: 2026-08-15_
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
* Plugin Name: Manager (by ROBOTSTXT)
|
||||
* Plugin URI: https://git.robotstxt.es/ROBOTSTXT/robotstxt-manager
|
||||
* Description: Client-side dashboard for the ROBOTSTXT plugin ecosystem. Lists the catalog from a remote Plugins Core install, resolves local install/update state, and installs, activates, and updates plugins directly from the store.
|
||||
* Version: 0.6.0
|
||||
* Version: 1.0.0
|
||||
* Requires at least: 4.4
|
||||
* Requires PHP: 8.0
|
||||
* Author: ROBOTSTXT
|
||||
|
|
@ -21,7 +21,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|||
}
|
||||
|
||||
/** Plugin version. */
|
||||
define( 'ROBOTSTXT_MANAGER_VERSION', '0.6.0' );
|
||||
define( 'ROBOTSTXT_MANAGER_VERSION', '1.0.0' );
|
||||
|
||||
/** Absolute path to the plugin directory, with trailing slash. */
|
||||
define( 'ROBOTSTXT_MANAGER_DIR', plugin_dir_path( __FILE__ ) );
|
||||
|
|
|
|||
Loading…
Reference in a new issue