Changeset 3407178
- Timestamp:
- 12/01/2025 07:44:09 PM (3 months ago)
- Location:
- commandify
- Files:
-
- 265 added
- 14 edited
-
assets/icon-128x128.png (modified) (previous)
-
assets/icon-256x256.png (modified) (previous)
-
tags/1.0.1 (added)
-
tags/1.0.1/README.md (added)
-
tags/1.0.1/assets (added)
-
tags/1.0.1/assets/build (added)
-
tags/1.0.1/assets/build/index.asset.php (added)
-
tags/1.0.1/assets/build/index.css (added)
-
tags/1.0.1/assets/build/index.js (added)
-
tags/1.0.1/commandify.php (added)
-
tags/1.0.1/includes (added)
-
tags/1.0.1/includes/Assets.php (added)
-
tags/1.0.1/includes/Cache.php (added)
-
tags/1.0.1/includes/Registry.php (added)
-
tags/1.0.1/includes/RestApi.php (added)
-
tags/1.0.1/includes/Settings.php (added)
-
tags/1.0.1/includes/core-commands (added)
-
tags/1.0.1/includes/core-commands/action-commands.php (added)
-
tags/1.0.1/includes/core-commands/installation-commands.php (added)
-
tags/1.0.1/includes/core-commands/navigation-commands.php (added)
-
tags/1.0.1/includes/core-commands/plugin-theme-commands.php (added)
-
tags/1.0.1/includes/core-commands/search-commands.php (added)
-
tags/1.0.1/includes/core-commands/user-commands.php (added)
-
tags/1.0.1/includes/functions.php (added)
-
tags/1.0.1/languages (added)
-
tags/1.0.1/languages/commandify.pot (added)
-
tags/1.0.1/package.json (added)
-
tags/1.0.1/readme.txt (added)
-
tags/1.0.1/vendor (added)
-
tags/1.0.1/vendor/autoload.php (added)
-
tags/1.0.1/vendor/composer (added)
-
tags/1.0.1/vendor/composer/ClassLoader.php (added)
-
tags/1.0.1/vendor/composer/InstalledVersions.php (added)
-
tags/1.0.1/vendor/composer/LICENSE (added)
-
tags/1.0.1/vendor/composer/autoload_classmap.php (added)
-
tags/1.0.1/vendor/composer/autoload_files.php (added)
-
tags/1.0.1/vendor/composer/autoload_namespaces.php (added)
-
tags/1.0.1/vendor/composer/autoload_psr4.php (added)
-
tags/1.0.1/vendor/composer/autoload_real.php (added)
-
tags/1.0.1/vendor/composer/autoload_static.php (added)
-
tags/1.0.1/vendor/composer/installed.json (added)
-
tags/1.0.1/vendor/composer/installed.php (added)
-
tags/1.0.1/vendor/composer/platform_check.php (added)
-
tags/1.0.1/vendor/freemius (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/LICENSE.txt (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/css (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/css/admin (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/css/admin/account.css (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/css/admin/add-ons.css (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/css/admin/affiliation.css (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/css/admin/checkout.css (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/css/admin/clone-resolution.css (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/css/admin/common.css (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/css/admin/connect.css (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/css/admin/debug.css (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/css/admin/dialog-boxes.css (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/css/admin/gdpr-optin-notice.css (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/css/admin/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/css/admin/optout.css (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/css/admin/plugins.css (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/css/customizer.css (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/css/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/img (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/img/commandify.png (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/img/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/img/plugin-icon.png (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/img/theme-icon.png (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/js (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/js/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/js/jquery.form.js (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/js/nojquery.ba-postmessage.js (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/js/postmessage.js (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/js/pricing (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/js/pricing/14fb1bd5b7c41648488b06147f50a0dc.svg (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/js/pricing/178afa6030e76635dbe835e111d2c507.png (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/js/pricing/27b5a722a5553d9de0170325267fccec.png (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/js/pricing/4375c4a3ddc6f637c2ab9a2d7220f91e.png (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/js/pricing/45da596e2b512ffc3bb638baaf0fdc4e.png (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/js/pricing/a34e046aee1702a5690679750a7f4d0f.svg (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/js/pricing/b09d0b38b627c2fa564d050f79f2f064.svg (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/js/pricing/c03f665db27af43971565560adfba594.png (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/js/pricing/cb5fc4f6ec7ada72e986f6e7dde365bf.png (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/js/pricing/d65812c447b4523b42d59018e1c0bb53.png (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/js/pricing/f3aac72a8e63997d6bb888f816457e9b.png (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/js/pricing/fde48e4609a6ddc11d639fc2421f2afd.png (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/js/pricing/freemius-pricing.js (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/assets/js/pricing/freemius-pricing.js.LICENSE.txt (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/config.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/class-freemius-abstract.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/class-freemius.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/class-fs-admin-notices.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/class-fs-api.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/class-fs-garbage-collector.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/class-fs-hook-snapshot.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/class-fs-lock.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/class-fs-logger.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/class-fs-options.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/class-fs-plugin-updater.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/class-fs-security.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/class-fs-storage.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/class-fs-user-lock.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/customizer (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/customizer/class-fs-customizer-support-section.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/customizer/class-fs-customizer-upsell-control.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/customizer/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/debug (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/debug/class-fs-debug-bar-panel.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/debug/debug-bar-start.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/debug/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/entities (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/entities/class-fs-affiliate-terms.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/entities/class-fs-affiliate.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/entities/class-fs-billing.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/entities/class-fs-entity.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/entities/class-fs-payment.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/entities/class-fs-plugin-info.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/entities/class-fs-plugin-license.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/entities/class-fs-plugin-plan.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/entities/class-fs-plugin-tag.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/entities/class-fs-plugin.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/entities/class-fs-pricing.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/entities/class-fs-scope-entity.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/entities/class-fs-site.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/entities/class-fs-subscription.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/entities/class-fs-user.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/entities/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/fs-core-functions.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/fs-essential-functions.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/fs-html-escaping-functions.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/fs-plugin-info-dialog.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/l10n.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/managers (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/managers/class-fs-admin-menu-manager.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/managers/class-fs-admin-notice-manager.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/managers/class-fs-cache-manager.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/managers/class-fs-checkout-manager.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/managers/class-fs-clone-manager.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/managers/class-fs-contact-form-manager.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/managers/class-fs-debug-manager.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/managers/class-fs-gdpr-manager.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/managers/class-fs-key-value-storage.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/managers/class-fs-license-manager.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/managers/class-fs-option-manager.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/managers/class-fs-permission-manager.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/managers/class-fs-plan-manager.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/managers/class-fs-plugin-manager.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/managers/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/sdk (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions/ArgumentNotExistException.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions/EmptyArgumentException.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions/Exception.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions/InvalidArgumentException.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions/OAuthException.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/sdk/Exceptions/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/sdk/FreemiusBase.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/sdk/FreemiusWordPress.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/sdk/LICENSE.txt (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/sdk/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/supplements (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/supplements/fs-essential-functions-1.1.7.1.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/supplements/fs-essential-functions-2.2.1.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/supplements/fs-migration-2.5.1.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/includes/supplements/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/languages (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/languages/freemius-cs_CZ.mo (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/languages/freemius-da_DK.mo (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/languages/freemius-de_DE.mo (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/languages/freemius-es_ES.mo (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/languages/freemius-fr_FR.mo (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/languages/freemius-he_IL.mo (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/languages/freemius-hu_HU.mo (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/languages/freemius-it_IT.mo (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/languages/freemius-ja.mo (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/languages/freemius-nl_NL.mo (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/languages/freemius-ru_RU.mo (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/languages/freemius-ta.mo (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/languages/freemius-zh_CN.mo (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/languages/freemius.pot (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/languages/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/require.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/start.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/account (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/account.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/account/billing.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/account/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/account/partials (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/account/partials/activate-license-button.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/account/partials/addon.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/account/partials/deactivate-license-button.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/account/partials/disconnect-button.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/account/partials/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/account/partials/site.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/account/payments.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/add-ons.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/add-trial-to-pricing.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/admin-notice.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/ajax-loader.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/api-connectivity-message-js.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/auto-installation.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/checkout (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/checkout.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/checkout/frame.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/checkout/process-redirect.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/checkout/redirect.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/clone-resolution-js.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/connect (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/connect.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/connect/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/connect/permission.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/connect/permissions-group.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/contact.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/debug (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/debug.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/debug/api-calls.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/debug/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/debug/logger.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/debug/plugins-themes-sync.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/debug/scheduled-crons.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/email.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/forms (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/forms/affiliation.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/forms/data-debug-mode.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/forms/deactivation (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/forms/deactivation/contact.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/forms/deactivation/form.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/forms/deactivation/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/forms/deactivation/retry-skip.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/forms/email-address-update.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/forms/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/forms/license-activation.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/forms/optout.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/forms/premium-versions-upgrade-handler.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/forms/premium-versions-upgrade-metadata.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/forms/resend-key.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/forms/subscription-cancellation.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/forms/trial-start.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/forms/user-change.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/gdpr-optin-js.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/js (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/js/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/js/jquery.content-change.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/js/open-license-activation.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/js/permissions.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/js/style-premium-theme.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/partials (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/partials/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/partials/network-activation.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/plugin-icon.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/plugin-info (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/plugin-info/description.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/plugin-info/features.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/plugin-info/index.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/plugin-info/screenshots.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/pricing.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/secure-https-header.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/sticky-admin-notice-js.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/tabs-capture-js.php (added)
-
tags/1.0.1/vendor/freemius/wordpress-sdk/templates/tabs.php (added)
-
trunk/assets/build/index.asset.php (modified) (1 diff)
-
trunk/assets/build/index.css (modified) (1 diff)
-
trunk/assets/build/index.js (modified) (1 diff)
-
trunk/commandify.php (modified) (2 diffs)
-
trunk/includes/RestApi.php (modified) (2 diffs)
-
trunk/includes/core-commands/action-commands.php (modified) (4 diffs)
-
trunk/includes/core-commands/navigation-commands.php (modified) (3 diffs)
-
trunk/includes/core-commands/search-commands.php (modified) (13 diffs)
-
trunk/includes/functions.php (modified) (1 diff)
-
trunk/languages/commandify.pot (modified) (25 diffs)
-
trunk/package.json (modified) (1 diff)
-
trunk/readme.txt (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
commandify/trunk/assets/build/index.asset.php
r3405278 r3407178 1 <?php return array('dependencies' => array('react', 'react-dom', 'wp-components', 'wp-element', 'wp-hooks', 'wp-i18n'), 'version' => ' 99e2104e3b32f25a0b73');1 <?php return array('dependencies' => array('react', 'react-dom', 'wp-components', 'wp-element', 'wp-hooks', 'wp-i18n'), 'version' => '2c4993e7f5b81935d690'); -
commandify/trunk/assets/build/index.css
r3405278 r3407178 1 .commandify-toast-container{bottom:20px;display:flex;flex-direction:column;gap:12px;pointer-events:none;position:fixed;right:20px;z-index:100002}.commandify-toast{align-items:center;animation:slideInRight .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;max-width:400px;min-width:320px;padding:16px;pointer-events:auto}.commandify-toast-icon{align-items:center;display:flex;flex-shrink:0;height:24px;justify-content:center;margin-right:12px;width:24px}.commandify-toast-icon .dashicons{font-size:24px;height:24px;width:24px}.commandify-toast-message{color:#1d2327;flex:1;font-size:14px;line-height:1.5}.commandify-toast-close{align-items:center;background:transparent;border:none;cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;margin-left:12px;opacity:.5;padding:0;transition:opacity .2s;width:24px}.commandify-toast-close:hover{opacity:1}.commandify-toast-close .dashicons{color:#50575e;font-size:20px;height:20px;width:20px}.commandify-toast-success{border-left:4px solid #00a32a}.commandify-toast-success .commandify-toast-icon .dashicons{color:#00a32a}.commandify-toast-error{border-left:4px solid #d63638}.commandify-toast-error .commandify-toast-icon .dashicons{color:#d63638}.commandify-toast-info{border-left:4px solid #2271b1}.commandify-toast-info .commandify-toast-icon .dashicons{color:#2271b1}@keyframes slideInRight{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}@media(max-width:480px){.commandify-toast-container{bottom:10px;left:10px;right:10px}.commandify-toast{max-width:none;min-width:auto}}.commandify-confirm-overlay{align-items:center;animation:fadeIn .2s ease-out;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999999}.commandify-confirm-dialog{animation:slideInScale .2s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 24px rgba(0,0,0,.2);max-width:calc(100vw - 40px);width:480px}@keyframes slideInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.commandify-confirm-header{border-bottom:1px solid #dcdcde;padding:20px 24px}.commandify-confirm-header h3{color:#1d2327;font-size:18px;font-weight:600;margin:0}.commandify-confirm-body{padding:24px}.commandify-confirm-body p{color:#50575e;font-size:14px;line-height:1.6;margin:0}.commandify-confirm-footer{border-top:1px solid #dcdcde;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.commandify-confirm-button,.commandify-confirm-cancel{border:1px solid #dcdcde;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.commandify-confirm-button:focus,.commandify-confirm-cancel:focus{outline:2px solid #2271b1;outline-offset:2px}.commandify-confirm-cancel{background:#fff;color:#1d2327}.commandify-confirm-cancel:hover{background:#f6f7f7}.commandify-confirm-button{background:#2271b1;border-color:#2271b1;color:#fff}.commandify-confirm-button:hover{background:#1e639c}.commandify-confirm-button.is-destructive{background:#d63638;border-color:#d63638}.commandify-confirm-button.is-destructive:hover{background:#c9292b}@media(max-width:480px){.commandify-confirm-dialog{width:calc(100vw - 40px)}}.commandify-overlay{align-items:flex-start;animation:fadeIn .2s ease-out;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;padding-top:20vh;position:fixed;right:0;top:0;z-index:100000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.commandify-palette{animation:slideIn .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.15);display:flex;flex-direction:column;max-height:60vh;max-width:calc(100vw - 40px);overflow:hidden;position:relative;width:600px}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.commandify-progress-bar{background:rgba(0,0,0,.05);border-radius:12px 12px 0 0;height:3px;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:1000}.commandify-progress-bar-fill{background:#2271b1;height:100%;transition:width .25s ease;width:0}.commandify-progress-bar-fill.is-loading{transition:width .8s ease;width:70%}.commandify-progress-bar-fill.is-complete{transition:width .2s ease;width:100%}@keyframes progressSlide{0%{transform:translateX(-100%)}50%{transform:translateX(0)}to{transform:translateX(100%)}}.commandify-breadcrumb{align-items:center;background:#f6f7f7;border-bottom:1px solid #dcdcde;display:flex; gap:8px;padding:12px 16px}.commandify-back-button{align-items:center;background:transparent;border:none;border-radius:4px;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:background .2s;width:28px}.commandify-back-button:hover{background:rgba(0,0,0,.05)}.commandify-back-button .dashicons{color:#50575e;font-size:20px;height:20px;width:20px}.commandify-breadcrumb-text{color:#1d2327;font-size:14px;font-weight:500}.commandify-search{align-items:center;border-bottom:1px solid #dcdcde;box-sizing:border-box;display:flex;gap:12px;height:60px;padding:8px 20px}.commandify-search .dashicons{color:#50575e;font-size:20px}.commandify-search-input{background:transparent;border:none!important;box-shadow:none!important;caret-color:#1d2327;color:#1d2327;flex:1;font-size:16px;outline:none!important;padding-bottom:4px!important;padding-top:4px!important}.commandify-search-input::-moz-placeholder{color:#50575e}.commandify-search-input::placeholder{color:#50575e}.commandify-search-input:disabled{cursor:not-allowed;opacity:.6}.commandify-search-input:focus{border-color:none;box-shadow:none}.commandify-search-time{color:#50575e;font-size:12px;font-variant-numeric:tabular-nums;min-width:48px;text-align:right}.commandify-results{box-sizing:border-box;margin:8px 0;max-height:calc(60vh - 60px);overflow-y:auto;padding:8px}.commandify-command{align-items:center;border-radius:6px;cursor:pointer;display:flex;padding:12px}.commandify-command.is-selected{background:#2271b1;color:#fff}.commandify-command.is-selected .commandify-command-badge,.commandify-command.is-selected .commandify-command-description{color:hsla(0,0%,100%,.8)}.commandify-command.is-selected .dashicons{color:#fff}.commandify-command.is-disabled{cursor:not-allowed;opacity:.7;pointer-events:none}.commandify-command.is-executing{cursor:default;pointer-events:none;transition:opacity .2s ease,background .2s ease}.commandify-command.is-executing .commandify-command-description,.commandify-command.is-executing .commandify-command-title,.commandify-command.is-executing .dashicons{opacity:.85}.commandify-command-icon{align-items:center;display:flex;flex-shrink:0;height:32px;justify-content:center;margin-right:12px;width:32px}.commandify-command-icon .dashicons{color:#50575e;font-size:20px;height:20px;width:20px}.commandify-command-icon-img{border-radius:4px;height:32px;-o-object-fit:contain;object-fit:contain;width:32px}.commandify-command-content{flex:1;min-width:0}.commandify-command-title{color:#1d2327;font-size:14px;font-weight:500;margin-bottom:2px}.commandify-command-description{color:#50575e;display:-webkit-box;font-size:12px;-webkit-line-clamp:2;line-height:1.4;max-height:2.8em;overflow:hidden;white-space:normal;-webkit-box-orient:vertical}.commandify-command-badge{background:#f0f0f1;border-radius:4px;color:#50575e;font-size:11px;margin-left:12px;padding:4px 8px;text-transform:capitalize;white-space:nowrap}.commandify-command.is-selected .commandify-command-title{color:#fff}.commandify-command.is-selected .commandify-command-badge{background:#f0f0f1;color:#50575e}.commandify-command.is-selected .commandify-favorite-btn,.commandify-command:hover .commandify-favorite-btn{opacity:1}.commandify-favorite-btn{align-items:center;background:transparent;border:none;color:#d1d5db;cursor:pointer;display:flex;flex-shrink:0;font-size:22px;height:32px;justify-content:center;line-height:1;margin-left:8px;opacity:0;padding:0;transition:opacity .2s;width:32px}.commandify-favorite-btn:hover{color:#f0c000}.commandify-favorite-btn.is-favorite{color:#f0c000;opacity:1}.commandify-loading{align-items:center;color:#50575e;display:flex;flex-direction:column;justify-content:center;padding:40px}.commandify-loading .dashicons{font-size:32px;height:32px;margin-bottom:12px;width:32px}.commandify-loading .dashicons.spin{animation:spin 1s linear infinite}.commandify-loading span:last-child{font-size:14px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.commandify-empty{align-items:center;color:#50575e;display:flex;flex-direction:column;justify-content:center;padding:40px}.commandify-empty .dashicons{font-size:48px;height:48px;margin-bottom:12px;opacity:.5;width:48px}.commandify-empty p{font-size:14px;margin:0}.commandify-preview-custom{font-size:13px;line-height:1.5;width:100%}.commandify-preview-custom *{box-sizing:border-box}.commandify-preview-custom .dashicons{font-family:dashicons;font-size:16px;height:16px;line-height:1;vertical-align:middle;width:16px}.commandify-preview-custom .preview-header{align-items:center;display:flex;font-weight:600;justify-content:space-between;margin-bottom:8px}.commandify-preview-custom .preview-meta{color:#50575e;display:flex;flex-wrap:wrap;font-size:12px;gap:12px;margin:8px 0}.commandify-preview-custom .preview-badge{border-radius:3px;display:inline-block;font-size:11px;font-weight:500;padding:2px 8px}.commandify-footer{align-items:center;background:#f9fafb;border-top:1px solid #dcdcde;color:#50575e;display:flex;flex-shrink:0;font-size:12px;justify-content:space-between;padding:10px 16px}.commandify-footer kbd{background:#fff;border:1px solid #c3c4c7;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.08);color:#1d2327;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:11px;font-weight:500;line-height:1.4;margin:0 2px;padding:2px 6px}.commandify-footer-hints{align-items:center;display:flex;gap:16px}.commandify-footer-hint{align-items:center;display:flex;gap:4px;white-space:nowrap}.commandify-footer-count{color:#8c8f94;font-size:11px;font-weight:500}.commandify-empty{text-align:center}.commandify-empty .commandify-empty-title{color:#1d2327;font-size:14px;font-weight:500;margin:8px 0 16px}.commandify-empty .commandify-empty-hint{color:#50575e;font-size:13px;margin:8px 0 0}.commandify-empty-suggestions{margin-left:auto;margin-right:auto;margin-top:16px;max-width:400px;padding:0 20px;text-align:left}.commandify-empty-suggestions-title{color:#1d2327;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.commandify-empty-suggestions-list{list-style:none;margin:0;padding:0}.commandify-empty-suggestions-list li{color:#50575e;font-size:13px;padding:6px 0 6px 20px;position:relative}.commandify-empty-suggestions-list li:before{content:"💡";left:0;position:absolute;top:6px}@media(max-width:768px){.commandify-overlay{padding-top:10vh}.commandify-palette{max-height:80vh}.commandify-footer{align-items:flex-start;flex-direction:column;gap:8px}.commandify-footer-hints{flex-wrap:wrap;gap:8px}.commandify-footer-count{text-align:center;width:100%}}.commandify-form-modal .components-modal__frame,.components-modal__screen-overlay.commandify-form-modal{z-index:100001}.commandify-form-modal .commandify-form-description{color:#50575e;font-size:14px;margin-bottom:20px}.commandify-form-modal .commandify-form-field-group{margin-bottom:20px}.commandify-form-modal .commandify-form-field-group:last-child{margin-bottom:0}.commandify-form-modal .commandify-form-field-label{color:#1d2327;display:block;font-size:13px;font-weight:500;margin-bottom:8px}.commandify-form-modal .commandify-form-required{color:#d63638}.commandify-form-modal .commandify-form-field-error{color:#d63638;font-size:12px;margin-top:6px}.commandify-form-modal .commandify-form-field-help{color:#50575e;font-size:12px;font-style:italic;margin-top:6px}.commandify-form-modal .commandify-form-actions{border-top:1px solid #dcdcde;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.commandify-form-modal .components-select-control__input.has-error,.commandify-form-modal .components-text-control__input.has-error,.commandify-form-modal .components-textarea-control__input.has-error{border-color:#d63638}1 .commandify-toast-container{bottom:20px;display:flex;flex-direction:column;gap:12px;pointer-events:none;position:fixed;right:20px;z-index:100002}.commandify-toast{align-items:center;animation:slideInRight .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;max-width:400px;min-width:320px;padding:16px;pointer-events:auto}.commandify-toast-icon{align-items:center;display:flex;flex-shrink:0;height:24px;justify-content:center;margin-right:12px;width:24px}.commandify-toast-icon .dashicons{font-size:24px;height:24px;width:24px}.commandify-toast-message{color:#1d2327;flex:1;font-size:14px;line-height:1.5}.commandify-toast-close{align-items:center;background:transparent;border:none;cursor:pointer;display:flex;flex-shrink:0;height:24px;justify-content:center;margin-left:12px;opacity:.5;padding:0;transition:opacity .2s;width:24px}.commandify-toast-close:hover{opacity:1}.commandify-toast-close .dashicons{color:#50575e;font-size:20px;height:20px;width:20px}.commandify-toast-success{border-left:4px solid #00a32a}.commandify-toast-success .commandify-toast-icon .dashicons{color:#00a32a}.commandify-toast-error{border-left:4px solid #d63638}.commandify-toast-error .commandify-toast-icon .dashicons{color:#d63638}.commandify-toast-info{border-left:4px solid #2271b1}.commandify-toast-info .commandify-toast-icon .dashicons{color:#2271b1}@keyframes slideInRight{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}@media(max-width:480px){.commandify-toast-container{bottom:10px;left:10px;right:10px}.commandify-toast{max-width:none;min-width:auto}}.commandify-confirm-overlay{align-items:center;animation:fadeIn .2s ease-out;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999999}.commandify-confirm-dialog{animation:slideInScale .2s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 24px rgba(0,0,0,.2);max-width:calc(100vw - 40px);width:480px}@keyframes slideInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.commandify-confirm-header{border-bottom:1px solid #dcdcde;padding:20px 24px}.commandify-confirm-header h3{color:#1d2327;font-size:18px;font-weight:600;margin:0}.commandify-confirm-body{padding:24px}.commandify-confirm-body p{color:#50575e;font-size:14px;line-height:1.6;margin:0}.commandify-confirm-footer{border-top:1px solid #dcdcde;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.commandify-confirm-button,.commandify-confirm-cancel{border:1px solid #dcdcde;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.commandify-confirm-button:focus,.commandify-confirm-cancel:focus{outline:2px solid #2271b1;outline-offset:2px}.commandify-confirm-cancel{background:#fff;color:#1d2327}.commandify-confirm-cancel:hover{background:#f6f7f7}.commandify-confirm-button{background:#2271b1;border-color:#2271b1;color:#fff}.commandify-confirm-button:hover{background:#1e639c}.commandify-confirm-button.is-destructive{background:#d63638;border-color:#d63638}.commandify-confirm-button.is-destructive:hover{background:#c9292b}@media(max-width:480px){.commandify-confirm-dialog{width:calc(100vw - 40px)}}.commandify-overlay{align-items:flex-start;animation:fadeIn .2s ease-out;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;padding-top:20vh;position:fixed;right:0;top:0;z-index:100000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.commandify-palette{animation:slideIn .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.15);display:flex;flex-direction:column;max-height:60vh;max-width:calc(100vw - 40px);overflow:hidden;position:relative;width:600px}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.commandify-progress-bar{background:rgba(0,0,0,.05);border-radius:12px 12px 0 0;height:3px;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:1000}.commandify-progress-bar-fill{background:#2271b1;height:100%;transition:width .25s ease;width:0}.commandify-progress-bar-fill.is-loading{transition:width .8s ease;width:70%}.commandify-progress-bar-fill.is-complete{transition:width .2s ease;width:100%}@keyframes progressSlide{0%{transform:translateX(-100%)}50%{transform:translateX(0)}to{transform:translateX(100%)}}.commandify-breadcrumb{align-items:center;background:#f6f7f7;border-bottom:1px solid #dcdcde;display:flex;flex-shrink:0;gap:8px;padding:12px 16px}.commandify-back-button{align-items:center;background:transparent;border:none;border-radius:4px;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:background .2s;width:28px}.commandify-back-button:hover{background:rgba(0,0,0,.05)}.commandify-back-button .dashicons{color:#50575e;font-size:20px;height:20px;width:20px}.commandify-breadcrumb-text{color:#1d2327;font-size:14px;font-weight:500}.commandify-search{align-items:center;border-bottom:1px solid #dcdcde;box-sizing:border-box;display:flex;flex-shrink:0;gap:12px;height:60px;padding:8px 20px}.commandify-search .dashicons{color:#50575e;font-size:20px}.commandify-search-input{background:transparent;border:none!important;box-shadow:none!important;caret-color:#1d2327;color:#1d2327;flex:1;font-size:16px;height:auto!important;line-height:1.5!important;margin:0!important;outline:none!important;padding:4px 0!important}.commandify-search-input::-moz-placeholder{color:#50575e}.commandify-search-input::placeholder{color:#50575e}.commandify-search-input:disabled{cursor:not-allowed;opacity:.6}.commandify-search-input:focus{border-color:none;box-shadow:none}.commandify-search-time{color:#50575e;font-size:12px;font-variant-numeric:tabular-nums;min-width:48px;text-align:right}.commandify-results{box-sizing:border-box;flex:1 1 auto;margin:8px 0;max-height:calc(60vh - 60px);min-height:100px;overflow-y:auto;padding:8px}.commandify-command{align-items:center;border-radius:6px;cursor:pointer;display:flex;padding:12px}.commandify-command.is-selected{background:#2271b1;color:#fff}.commandify-command.is-selected .commandify-command-badge,.commandify-command.is-selected .commandify-command-description{color:hsla(0,0%,100%,.8)}.commandify-command.is-selected .dashicons{color:#fff}.commandify-command.is-disabled{cursor:not-allowed;opacity:.7;pointer-events:none}.commandify-command.is-executing{cursor:default;pointer-events:none;transition:opacity .2s ease,background .2s ease}.commandify-command.is-executing .commandify-command-description,.commandify-command.is-executing .commandify-command-title,.commandify-command.is-executing .dashicons{opacity:.85}.commandify-command-icon{align-items:center;display:flex;flex-shrink:0;height:32px;justify-content:center;margin-right:12px;width:32px}.commandify-command-icon .dashicons{color:#50575e;font-size:20px;height:20px;width:20px}.commandify-command-icon-img{border-radius:4px;height:32px;-o-object-fit:contain;object-fit:contain;width:32px}.commandify-command-content{flex:1;min-width:0}.commandify-command-title{color:#1d2327;font-size:14px;font-weight:500;margin-bottom:2px}.commandify-command-description{color:#50575e;display:-webkit-box;font-size:12px;-webkit-line-clamp:2;line-height:1.4;max-height:2.8em;overflow:hidden;white-space:normal;-webkit-box-orient:vertical}.commandify-command-badge{background:#f0f0f1;border-radius:4px;color:#50575e;font-size:11px;margin-left:12px;padding:4px 8px;text-transform:capitalize;white-space:nowrap}.commandify-command.is-selected .commandify-command-title{color:#fff}.commandify-command.is-selected .commandify-command-badge{background:#f0f0f1;color:#50575e}.commandify-command.is-selected .commandify-favorite-btn,.commandify-command:hover .commandify-favorite-btn{opacity:1}.commandify-favorite-btn{align-items:center;background:transparent;border:none;color:#d1d5db;cursor:pointer;display:flex;flex-shrink:0;font-size:22px;height:32px;justify-content:center;line-height:1;margin-left:8px;opacity:0;padding:0;transition:opacity .2s;width:32px}.commandify-favorite-btn:hover{color:#f0c000}.commandify-favorite-btn.is-favorite{color:#f0c000;opacity:1}.commandify-loading{align-items:center;color:#50575e;display:flex;flex-direction:column;justify-content:center;padding:40px}.commandify-loading .dashicons{font-size:32px;height:32px;margin-bottom:12px;width:32px}.commandify-loading .dashicons.spin{animation:spin 1s linear infinite}.commandify-loading span:last-child{font-size:14px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.commandify-empty{align-items:center;color:#50575e;display:flex;flex-direction:column;justify-content:center;padding:40px}.commandify-empty .dashicons{font-size:48px;height:48px;margin-bottom:12px;opacity:.5;width:48px}.commandify-empty p{font-size:14px;margin:0}.commandify-preview-custom{font-size:13px;line-height:1.5;width:100%}.commandify-preview-custom *{box-sizing:border-box}.commandify-preview-custom .dashicons{font-family:dashicons;font-size:16px;height:16px;line-height:1;vertical-align:middle;width:16px}.commandify-preview-custom .preview-header{align-items:center;display:flex;font-weight:600;justify-content:space-between;margin-bottom:8px}.commandify-preview-custom .preview-meta{color:#50575e;display:flex;flex-wrap:wrap;font-size:12px;gap:12px;margin:8px 0}.commandify-preview-custom .preview-badge{border-radius:3px;display:inline-block;font-size:11px;font-weight:500;padding:2px 8px}.commandify-footer{align-items:center;background:#f9fafb;border-top:1px solid #dcdcde;color:#50575e;display:flex;flex-shrink:0;font-size:12px;justify-content:space-between;padding:10px 16px}.commandify-footer kbd{background:#fff;border:1px solid #c3c4c7;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.08);color:#1d2327;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:11px;font-weight:500;line-height:1.4;margin:0 2px;padding:2px 6px}.commandify-footer-hints{align-items:center;display:flex;gap:16px}.commandify-footer-hint{align-items:center;display:flex;gap:4px;white-space:nowrap}.commandify-footer-count{color:#8c8f94;font-size:11px;font-weight:500}.commandify-empty{text-align:center}.commandify-empty .commandify-empty-title{color:#1d2327;font-size:14px;font-weight:500;margin:8px 0 16px}.commandify-empty .commandify-empty-hint{color:#50575e;font-size:13px;margin:8px 0 0}.commandify-empty-suggestions{margin-left:auto;margin-right:auto;margin-top:16px;max-width:400px;padding:0 20px;text-align:left}.commandify-empty-suggestions-title{color:#1d2327;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.commandify-empty-suggestions-list{list-style:none;margin:0;padding:0}.commandify-empty-suggestions-list li{color:#50575e;font-size:13px;padding:6px 0 6px 20px;position:relative}.commandify-empty-suggestions-list li:before{content:"💡";left:0;position:absolute;top:6px}@media(max-width:768px){.commandify-overlay{padding-top:10vh}.commandify-palette{max-height:80vh}.commandify-footer{align-items:flex-start;flex-direction:column;gap:8px}.commandify-footer-hints{flex-wrap:wrap;gap:8px}.commandify-footer-count{text-align:center;width:100%}}.commandify-form-modal .components-modal__frame,.components-modal__screen-overlay.commandify-form-modal{z-index:100001}.commandify-form-modal .commandify-form-description{color:#50575e;font-size:14px;margin-bottom:20px}.commandify-form-modal .commandify-form-field-group{margin-bottom:20px}.commandify-form-modal .commandify-form-field-group:last-child{margin-bottom:0}.commandify-form-modal .commandify-form-field-label{color:#1d2327;display:block;font-size:13px;font-weight:500;margin-bottom:8px}.commandify-form-modal .commandify-form-required{color:#d63638}.commandify-form-modal .commandify-form-field-error{color:#d63638;font-size:12px;margin-top:6px}.commandify-form-modal .commandify-form-field-help{color:#50575e;font-size:12px;font-style:italic;margin-top:6px}.commandify-form-modal .commandify-form-actions{border-top:1px solid #dcdcde;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.commandify-form-modal .components-select-control__input.has-error,.commandify-form-modal .components-text-control__input.has-error,.commandify-form-modal .components-textarea-control__input.has-error{border-color:#d63638} -
commandify/trunk/assets/build/index.js
r3405278 r3407178 3 3 e[t.name]=(0,n.sprintf)((0,n.__)("Minimum value is %s","commandify"),t.min)),void 0!==t.max&&o>t.max&&( 4 4 /* translators: %s: Maximum value */ 5 e[t.name]=(0,n.sprintf)((0,n.__)("Maximum value is %s","commandify"),t.max))}}),y(e),0===Object.keys(e).length})()&&s(l)}},r.map(t=>v(t)?(0,e.createElement)("div",{key:t.name,className:"commandify-form-field-group"},(0,e.createElement)("label",{className:"commandify-form-field-label"},t.label,t.required&&(0,e.createElement)("span",{className:"commandify-form-required"}," *")),(t=>{var a,n,o;const s=null!==(a=null!==(n=t.value)&&void 0!==n?n:t.default)&&void 0!==a?a:"",c=null!==(o=l[t.name])&&void 0!==o?o:s,m=!!f[t.name];switch(t.type){case"textarea":case"checkbox":return(0,e.createElement)(u.CheckboxControl,{checked:!!c,onChange:e=>p(t.name,e),disabled:i});case"number":return(0,e.createElement)(u.TextControl,{type:"number",value:c,onChange:e=>p(t.name,e),placeholder:t.placeholder||"",min:t.min,max:t.max,step:t.step,disabled:i,className:m?"has-error":""});case"email":return(0,e.createElement)(u.TextControl,{type:"email",value:c,onChange:e=>p(t.name,e),placeholder:t.placeholder||"",disabled:i,className:m?"has-error":""});case"select":{let a=[];Array.isArray(t.options)?a=t.options.map(e=>{var t,a,n,o;return"object"==typeof e&&null!==e?{label:null!==(t=null!==(a=e.label)&&void 0!==a?a:e.value)&&void 0!==t?t:"",value:null!==(n=null!==(o=e.value)&&void 0!==o?o:e.label)&&void 0!==n?n:""}:{label:e,value:e}}):t.options&&"object"==typeof t.options&&(a=Object.entries(t.options).map(([e,t])=>({label:t,value:e})));const n=t.placeholder?[{label:t.placeholder,value:""}]:[];return(0,e.createElement)(u.SelectControl,{value:c,options:[...n,...a],onChange:e=>p(t.name,e),disabled:i,className:m?"has-error":""})}default:return(0,e.createElement)(u.TextControl,{type:"url"===t.type?"url":"text",value:c,onChange:e=>p(t.name,e),placeholder:t.placeholder||"",disabled:i,className:m?"has-error":""})}})(t),f[t.name]&&(0,e.createElement)("div",{className:"commandify-form-field-error"},f[t.name]),t.help&&(0,e.createElement)("div",{className:"commandify-form-field-help"},t.help)):null),(0,e.createElement)("div",{className:"commandify-form-actions"},(0,e.createElement)(u.Button,{variant:"secondary",onClick:c,disabled:i},(0,n.__)("Cancel","commandify")),(0,e.createElement)(u.Button,{variant:"primary",type:"submit",disabled:i,isBusy:i},a.submit_text||(0,n.__)("Submit","commandify")))))},y=function(e,a,n=150){const[o,s]=(0,t.useState)(a),[c,i]=(0,t.useState)(0),m=function(e,a=150){const[n,o]=(0,t.useState)(e);return(0,t.useEffect)(()=>{const t=setTimeout(()=>{o(e)},a);return()=>clearTimeout(t)},[e,a]),n}(e,n),r=(0,t.useMemo)(()=>Array.isArray(a)?[...a].sort((e,t)=>{const a="number"==typeof e.priority?e.priority:0,n="number"==typeof t.priority?t.priority:0;return a===n?(e.title||"").localeCompare(t.title||""):n-a}):[],[a]);return(0,t.useEffect)(()=>{if(!m)return s(r),void i(0);if([m.trim().startsWith(">"),m.trim().toLowerCase().startsWith("toggle")].some(Boolean))return s(r),void i(0);const e=performance.now(),t=function(e,t){const a=t.toLowerCase().trim(),n=a.split(/\s+/).filter(e=>e.length>0),o="go to"===a||"navigate"===a;return e.map(e=>{let t=0;const s=(e.title||"").toLowerCase(),c=Array.isArray(e.keywords)?e.keywords.map(e=>e.toLowerCase()):[],i=(e.category||"").toLowerCase();if(o){if("navigation"!==i)return{cmd:e,score:0};t+=2e3}const m=s.split(/[\s\-→]+/).filter(e=>e.length>0);if(s===a&&(t+=1e3),s.startsWith(a)&&(t+=800),!n.every(e=>{const t=m.some(t=>t===e||t.startsWith(e)||s.includes(e)),a=c.some(t=>t===e||t.startsWith(e)||t.includes(e));return t||a})&&!o)return{cmd:e,score:0};let r=0;n.forEach(e=>{m.some(t=>t.startsWith(e))&&(r++,t+=300)}),n.forEach(e=>{m.some(t=>t===e)&&(t+=250)}),s.includes(a)&&(t+=150),c.some(e=>e===a)&&(t+=120),c.some(e=>e.startsWith(a))&&(t+=80),n.forEach(e=>{c.some(t=>t.includes(e))&&(t+=30)}),i===a&&(t+=60),r===n.length&&(t+=100);const l="number"==typeof e.priority?5*e.priority:0;return t+=l,{cmd:e,score:t}}).filter(e=>e.score>0).sort((e,t)=>t.score-e.score).map(e=>e.cmd)}(r,m),a=performance.now()-e;s(t),i(a)},[m,r]),{results:o,searching:!1,searchTime:c}};let p=0;const v=function({isOpen:a,onClose:c,preferences:i,setPreferences:r}){const[u,v]=(0,t.useState)(""),[w,h]=(0,t.useState)(0),[g,E]=(0,t.useState)(null),[b,_]=(0,t.useState)(!1),[N,C]=(0,t.useState)(null),[x,S]=(0,t.useState)(!1),[k,T]=(0,t.useState)(!1),[D,P]=(0,t.useState)(null),[O,F]=(0,t.useState)([]),[L,j]=(0,t.useState)(!1),[I,A]=(0,t.useState)([]),[M,q]=(0,t.useState)(!0),[W,R]=(0,t.useState)(!1),[B,U]=(0,t.useState)([]),[$,X]=(0,t.useState)(0),[K,H]=(0,t.useState)([]),[J,V]=(0,t.useState)(null),[G,z]=(0,t.useState)({}),{commands:Q,loading:Y}=function(){const[e,a]=(0,t.useState)([]),[n,o]=(0,t.useState)(!1),[s,c]=(0,t.useState)(null),i=(0,t.useCallback)(()=>{window.commandifyData&&window.commandifyData.commands?(a([...window.commandifyData.commands]),o(!1)):(c("Commands not available"),o(!1))},[]);return(0,t.useEffect)(()=>{i();const e=e=>{if(e.detail&&e.detail.command_id&&window.commandifyData?.commands){const t=window.commandifyData.commands.findIndex(t=>t.id===e.detail.command_id);-1!==t&&(window.commandifyData.commands[t].toggle_state=e.detail.new_state,window.commandifyData.commands[t].state_label=e.detail.new_state?"ON":"OFF")}i()};window.addEventListener("commandify-toggle-updated",e);const t=e=>{if(e.detail&&e.detail.setting_id&&window.commandifyData?.commands){const t=window.commandifyData.commands.findIndex(t=>t.id===e.detail.setting_id);-1!==t&&window.commandifyData.commands[t].setting&&(window.commandifyData.commands[t].setting.current_value=e.detail.new_value,"toggle"===window.commandifyData.commands[t].setting.field_type&&(window.commandifyData.commands[t].toggle_state=e.detail.new_value,window.commandifyData.commands[t].state_label=e.detail.new_value?"ON":"OFF"))}i()};return window.addEventListener("commandify-setting-updated",t),()=>{window.removeEventListener("commandify-toggle-updated",e),window.removeEventListener("commandify-setting-updated",t)}},[i]),{commands:e,loading:n,error:s}}(),Z=(0,t.useRef)(null),ee=(0,t.useCallback)(async()=>{if(window.commandifyPro&&window.commandifyPro.features&&window.commandifyPro.features.favorites)try{const e=await fetch(commandifyData.apiUrl+"/default-view",{headers:{"X-WP-Nonce":commandifyData.nonce}}),t=await e.json();if(t.favorites){const e=t.favorites.map(e=>e.id);U(e)}}catch(e){console.error("Failed to load favorites:",e)}},[]);(0,t.useEffect)(()=>{const e=()=>{R(!0),ee()};return window.addEventListener("commandify-pro-loaded",e),window.commandifyPro&&window.commandifyPro.features&&window.commandifyPro.features.favorites&&ee(),()=>{window.removeEventListener("commandify-pro-loaded",e),Z.current&&(clearTimeout(Z.current),Z.current=null)}},[ee]),(0,t.useEffect)(()=>{const e=()=>{X(e=>e+1)};return window.addEventListener("commandify-pattern-updated",e),()=>window.removeEventListener("commandify-pattern-updated",e)},[]);const te=i?.debounce_delay||150,ae=i?.results_per_page||50,ne=i?.hidden_commands||[],{results:oe,searching:se,searchTime:ce}=y(u,Q,0),ie=commandifyData.currentScreen||"",me=(0,t.useMemo)(()=>{let e=oe.filter(e=>!ne.includes(e.id));if(ie){const t=[],a=[];e.forEach(e=>{e.context&&0!==e.context.length?"navigation"!==e.type&&"search"!==e.type?e.context.includes(ie)&&t.push(e):e.context.includes(ie)?t.push(e):a.push(e):a.push(e)}),e=[...t,...a]}e=e.slice(0,ae);const t=(0,o.applyFilters)("commandify.commands",e,{query:u,searchMode:D,isOpen:a,proReady:W,currentScreen:ie,patternUpdate:$});return Array.isArray(t)?t:e},[oe,ne,ie,ae,u,D,a,W,$]),re="undefined"!=typeof window&&!!window.commandifyPro&&!W&&a&&!D&&!u,{toasts:le,success:de,error:ue,removeToast:fe}=function(){const[e,a]=(0,t.useState)([]),n=(0,t.useCallback)((e,t="success",n=4e3)=>{const s=++p,c={id:s,message:e,type:t};return a(e=>[...e,c]),n>0&&setTimeout(()=>{o(s)},n),s},[]),o=(0,t.useCallback)(e=>{a(t=>t.filter(t=>t.id!==e))},[]),s=(0,t.useCallback)((e,t)=>n(e,"success",t),[n]),c=(0,t.useCallback)((e,t)=>n(e,"error",t),[n]),i=(0,t.useCallback)((e,t)=>n(e,"info",t),[n]);return{toasts:e,addToast:n,removeToast:o,success:s,error:c,info:i}}(),ye=(0,t.useRef)(null);(0,t.useEffect)(()=>{a&&(v(""),h(0),P(null),F([]),A([]),H([]))},[a]),(0,t.useEffect)(()=>{h(0)},[u]);const pe=(0,t.useCallback)(()=>{if(I.length>0){const e=I[I.length-1];A(e=>e.slice(0,-1)),P(e.searchMode),F(e.searchResults),v(e.query),h(e.selectedIndex)}else P(null),v(""),F([]),h(0)},[I]);(0,t.useEffect)(()=>{if(!D||D.isSubmenu)return;const e=D.min_chars||0;if(u.length<e&&e>0)return void F([]);const t= D.debounce||te,a=setTimeout(async()=>{j(!0);try{const e=await fetch(commandifyData.apiUrl+"/execute",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":commandifyData.nonce},body:JSON.stringify({command_id:D.id,search_query:u})}),t=await e.json();t.success&&t.results&&F(t.results)}catch(e){console.error("Search error:",e)}finally{j(!1)}},0===u.length?0:t);return()=>clearTimeout(a)},[u,D,te]),(0,t.useEffect)(()=>{if(!D||!D.isSubmenu)return;if(!u||""===u.trim())return void F(K);const e=u.toLowerCase().trim(),t=K.filter(t=>{const a=(t.title||"").toLowerCase(),n=(t.description||"").toLowerCase();return a.includes(e)||n.includes(e)});F(t)},[u,D,K]);const ve=(0,t.useCallback)(async e=>{const t=J;_(!0),C(t.id),S(!1),T(!1);const a=!t?.instant;Z.current&&clearTimeout(Z.current),a&&(Z.current=setTimeout(()=>{T(!0)},120));try{const a=new URLSearchParams(window.location.search).get("post")||window.wp&&window.wp.data&&window.wp.data.select("core/editor")?.getCurrentPostId(),o={command_id:t.id,context:{},post_id:a||null,...e};t.params&&Object.assign(o,t.params);const s=await fetch(commandifyData.apiUrl+"/execute",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":commandifyData.nonce},body:JSON.stringify(o)}),c=await s.json();_(!1),C(null),V(null),q(!0),c.success?(z(a=>({...a,[t.id]:e})),de(c.message||(0,n.__)("Command executed successfully","commandify")),S(!0),setTimeout(()=>S(!1),300)):ue(c.message||(0,n.__)("Command execution failed","commandify"))}catch(e){_(!1),C(null),V(null),q(!0),ue(e.message||(0,n.__)("An error occurred","commandify"))}finally{Z.current&&(clearTimeout(Z.current),Z.current=null),T(!1)}},[J,de,ue]),we=(0,t.useCallback)(()=>{b||(V(null),q(!0))},[b]),he=(0,t.useCallback)(async e=>{let t=!1;S(!1),T(!1);const a=!e?.instant;if(Z.current&&clearTimeout(Z.current),a&&(Z.current=setTimeout(()=>{T(!0)},120)),e.setting_id&&void 0!==e.value)window.commandifyExecuteSettingOption?window.commandifyExecuteSettingOption(e.setting_id,e.value,{setIsExecuting:_,setExecutingCommandId:C,success:de,error:ue,onClose:c,handleBack:pe}):ue((0,n.__)("Settings handler not loaded","commandify"));else{_(!0),C(e.id);try{const a=new URLSearchParams(window.location.search).get("post")||window.wp&&window.wp.data&&window.wp.data.select("core/editor")?.getCurrentPostId(),o={command_id:e.id,context:{},post_id:a||null};e.params&&Object.assign(o,e.params);const s=await fetch(commandifyData.apiUrl+"/execute",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":commandifyData.nonce},body:JSON.stringify(o)}),i=await s.json();if(i.success){if(i.data&&!0===i.data.continue&&void 0!==i.data.offset){const e=async t=>{const a={...o,offset:t},s=await fetch(commandifyData.apiUrl+"/execute",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":commandifyData.nonce},body:JSON.stringify(a)}),i=await s.json();if(!i.success)return ue(i.message||(0,n.__)("Command execution failed","commandify")),_(!1),void C(null);i.data&&!0===i.data.continue&&void 0!==i.data.offset?(await new Promise(e=>setTimeout(e,100)),await e(i.data.offset)):(i.silent||de(i.message||(0,n.__)("Command executed successfully","commandify")),_(!1),C(null),setTimeout(()=>{c()},500))};return void await e(i.data.offset)}if(i.silent||de(i.message||(0,n.__)("Command executed successfully","commandify")),i.js_action){t=!0,S(!0);const e=async e=>{if("string"!=typeof e)return;const t=e.split(":"),a=t[0],n=t.slice(1).join(":");if("click"===a){const e=document.querySelector(n);if(e)return e.click(),!0}else if("doubleclick"===a||"dblclick"===a){const e=document.querySelector(n);if(e){const t=new MouseEvent("dblclick",{bubbles:!0,cancelable:!0});return e.dispatchEvent(t),!0}}else if("focus"===a){const e=document.querySelector(n);if(e)return setTimeout(()=>{e.focus(),e.scrollIntoView({behavior:"smooth",block:"center"})},100),!0}else{if("open"===a)return window.open(n,"_blank"),!0;if("copy"===a){if(navigator.clipboard&&navigator.clipboard.writeText)try{return await navigator.clipboard.writeText(n),!0}catch(e){return console.error("Failed to copy:",e),!1}return!1}}return!1},a=Array.isArray(i.js_action)?i.js_action.filter(Boolean):"string"==typeof i.js_action&&i.js_action?[i.js_action]:[],n=async()=>{let t=!1,n=!1;for(let o=0;o<a.length;o++){const s=a[o];s&&"string"==typeof s&&(s.startsWith("copy:")&&(n=!0),await e(s)&&(t=!0,o<a.length-1&&await new Promise(e=>setTimeout(e,350))))}t&&!n&&setTimeout(()=>{c()},100)};return void(a.length>0&&n())}if(i.reload)return void setTimeout(()=>{window.location.reload()},1e3);if(i.redirect)return void(window.location.href=i.redirect);if(i.data&&e.id&&e.id.startsWith("set-"))try{const e=await fetch(commandifyData.apiUrl+"/preferences",{method:"GET",headers:{"X-WP-Nonce":commandifyData.nonce}}),t=await e.json();t.success&&r(t.data)}catch(e){console.error("Failed to reload preferences:",e)}i.updated_actions&&i.updated_actions.length>0?(F(i.updated_actions),h(0)):"navigation"===e.type?c():e.has_dynamic_callback?D&&D.isSubmenu?pe():D&&!D.isSubmenu&&"install-plugin"!==D.id&&"install-theme"!==D.id&&setTimeout(async()=>{try{const e=await fetch(commandifyData.apiUrl+"/execute",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":commandifyData.nonce},body:JSON.stringify({command_id:D.id,search_query:u})}),t=await e.json();t.success&&t.results&&F(t.results)}catch(e){console.error("Search refresh error:",e)}},100):c()}else ue(i.message||(0,n.__)("Command execution failed","commandify"))}catch(e){ue((0,n.__)("An error occurred while executing the command","commandify"))}finally{Z.current&&(clearTimeout(Z.current),Z.current=null),t?(_(!1),C(null),S(!1),T(!1)):(S(!0),setTimeout(()=>{_(!1),C(null),S(!1),T(!1)},400))}}},[D,u,de,ue,c,pe]),ge=(0,t.useCallback)(e=>{if((0,o.doAction)("commandify.beforeExecute",e),e.form&&e.form.fields)return q(!1),void V(e);if("navigation"!==e.type){if("search"===e.type)return A(e=>[...e,{searchMode:D,searchResults:O,query:u,selectedIndex:w}]),P(e),v(""),void h(0);if("submenu"===e.type&&e.actions)return A(e=>[...e,{searchMode:D,searchResults:O,query:u,selectedIndex:w}]),P({...e,isSubmenu:!0}),H(e.actions),F(e.actions),v(""),void h(0);if("setting"===e.type)return e.form&&e.form.fields?(q(!1),void V(e)):void(e.actions&&e.actions.length>0?(A(e=>[...e,{searchMode:D,searchResults:O,query:u,selectedIndex:w}]),P({...e,isSubmenu:!0}),H(e.actions),F(e.actions),v(""),h(0)):window.commandifyExecuteSetting?window.commandifyExecuteSetting(e,{setIsExecuting:_,setExecutingCommandId:C,success:de,error:ue,onClose:c}):ue((0,n.__)("Settings handler not loaded","commandify")));if("toggle"!==e.type)if("action"!==e.type)he(e);else if(e.confirm){const t="object"==typeof e.confirm?e.confirm:{};E({title:t.title||(0,n.__)("Confirm Action","commandify"),message:t.message||(0,n.__)("Are you sure you want to proceed?","commandify"),confirmText:t.confirm_text||(0,n.__)("Confirm","commandify"),cancelText:t.cancel_text||(0,n.__)("Cancel","commandify"),destructive:t.destructive||!1,command:e})}else he(e);else window.commandifyExecuteToggle?window.commandifyExecuteToggle(e,{setIsExecuting:_,setExecutingCommandId:C,success:de,error:ue,onClose:c}):ue((0,n.__)("Toggle handler not loaded","commandify"))}else"_blank"===e.target?window.open(e.callback,"_blank"):window.location.href=e.callback},[D,O,u,w,I,K,de,ue,c,he]),Ee=(0,t.useMemo)(()=>D?O:me,[D,O,me]);(0,t.useEffect)(()=>{if(!a||J)return;const e=e=>{const t=Ee.length;"Escape"===e.key?(e.preventDefault(),D?pe():c()):"ArrowDown"===e.key?(e.preventDefault(),q(!1),h(e=>{const a=e+1;return a>=t?0:a})):"ArrowUp"===e.key?(e.preventDefault(),q(!1),h(e=>{const a=e-1;return a<0?t-1:a})):"Enter"===e.key?(e.preventDefault(),Ee&&Ee[w]&&ge(Ee[w])):"Backspace"===e.key&&""===u&&D&&(e.preventDefault(),pe())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[a,J,D,Ee,w,u,c,ge,pe]);const be=!!window.commandifyPro?.features?.favorites;return(0,e.createElement)(e.Fragment,null,J&&(0,e.createElement)(f,{form:J.form,command:J,onSubmit:ve,onClose:we,isExecuting:b,updatedFieldValues:G[J.id]}),a&&(0,e.createElement)("div",{className:"commandify-overlay",ref:ye,onClick:e=>{e.target===ye.current&&c()}},(0,e.createElement)("div",{className:"commandify-palette",onMouseMove:()=>{M||q(!0)}},b&&k&&(0,e.createElement)("div",{className:"commandify-progress-bar"},(0,e.createElement)("div",{className:`commandify-progress-bar-fill ${b?"is-loading":""} ${x?"is-complete":""}`})),D&&(0,e.createElement)("div",{className:"commandify-breadcrumb"},(0,e.createElement)("button",{onClick:pe,className:"commandify-back-button"},(0,e.createElement)("span",{className:"dashicons dashicons-arrow-left-alt2"})),(0,e.createElement)("span",{className:"commandify-breadcrumb-text"},D.title)),(0,e.createElement)(s,{value:u,onChange:v,placeholder:D?D.placeholder:(0,n.__)("Type a command or search...","commandify"),disabled:b||!!J,searchTime:D?0:ce}),(0,e.createElement)(m,{commands:D?O:me,selectedIndex:w,onSelect:ge,onHover:e=>{M&&h(e)},loading:re||(D?L:Y||se),isExecuting:b,executingCommandId:N,onFavoriteToggle:async e=>{if(window.commandifyPro&&window.commandifyPro.features&&window.commandifyPro.features.favorites)try{const t=await fetch(commandifyData.apiUrl+"/favorites/"+e,{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":commandifyData.nonce}}),a=await t.json();a.success&&(a.is_favorite?U(t=>[...t,e]):U(t=>t.filter(t=>t!==e)),window.dispatchEvent(new CustomEvent("commandify-reload-pro")))}catch(e){console.error("Failed to toggle favorite:",e)}},favoriteIds:B,showFavoriteButton:be,query:u}),(0,e.createElement)("div",{className:"commandify-footer"},(0,e.createElement)("div",{className:"commandify-footer-hints"},(0,e.createElement)("span",{className:"commandify-footer-hint"},(0,e.createElement)("kbd",null,"↑"),(0,e.createElement)("kbd",null,"↓")," ",(0,n.__)("Navigate","commandify")),(0,e.createElement)("span",{className:"commandify-footer-hint"},(0,e.createElement)("kbd",null,"↵")," ",(0,n.__)("Select","commandify")),(D||K.length>0)&&(0,e.createElement)("span",{className:"commandify-footer-hint"},(0,e.createElement)("kbd",null,"←")," ",(0,n.__)("Back","commandify")),(0,e.createElement)("span",{className:"commandify-footer-hint"},(0,e.createElement)("kbd",null,"Esc")," ",(0,n.__)("Close","commandify"))),!Y&&!se&&(0,e.createElement)("div",{className:"commandify-footer-count"},(D?O:me).length," ",(0,n.__)("commands","commandify"))))),(0,e.createElement)(d,{isOpen:null!==g,onConfirm:()=>{g&&g.command&&he(g.command),E(null)},onCancel:()=>{E(null)},title:g?.title,message:g?.message,confirmText:g?.confirmText,cancelText:g?.cancelText,destructive:g?.destructive}),(0,e.createElement)(l,{toasts:le,onClose:fe}))},w=document.getElementById("commandify-root");w&&(0,t.render)((0,e.createElement)(function(){const[n,o]=(0,t.useState)(!1),[s,c]=(0,t.useState)(window.commandifyData?.preferences||{}),i=s.keyboard_shortcut||"mod+k";return function(e,a=!0){(0,t.useEffect)(()=>{if(!a)return;const t=t=>{const a=navigator.platform.toUpperCase().indexOf("MAC")>=0;for(const[n,o]of Object.entries(e)){const e=n.toLowerCase().split("+").map(e=>e.trim()),s=e.filter(e=>"mod"===e||"ctrl"===e||"alt"===e||"shift"===e),c=e.find(e=>"mod"!==e&&"ctrl"!==e&&"alt"!==e&&"shift"!==e);let i=!0;if(s.includes("mod")&&(i=i&&(a?t.metaKey:t.ctrlKey)),s.includes("ctrl")&&(i=i&&t.ctrlKey),s.includes("alt")){const e=t.getModifierState&&t.getModifierState("Alt")||t.altKey;i=i&&e}s.includes("shift")&&(i=i&&t.shiftKey);let m=!0;if(c){let e="";t.code&&(e=t.code.toLowerCase().replace(/^key/,"").replace(/^digit/,"").replace(/^numpad/,""));const n=t.key?t.key.toLowerCase():"";m="space"===c?"space"===e||" "===n||"space"===n:a&&t.altKey?e===c:e===c||n===c}if(i&&m){o(t);break}}};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[e,a])}({[i]:e=>{e.preventDefault(),o(e=>!e)}},!0),(0,a.createPortal)((0,e.createElement)(v,{isOpen:n,onClose:()=>o(!1),preferences:s,setPreferences:c}),document.body)},null),w)})();5 e[t.name]=(0,n.sprintf)((0,n.__)("Maximum value is %s","commandify"),t.max))}}),y(e),0===Object.keys(e).length})()&&s(l)}},r.map(t=>v(t)?(0,e.createElement)("div",{key:t.name,className:"commandify-form-field-group"},(0,e.createElement)("label",{className:"commandify-form-field-label"},t.label,t.required&&(0,e.createElement)("span",{className:"commandify-form-required"}," *")),(t=>{var a,n,o;const s=null!==(a=null!==(n=t.value)&&void 0!==n?n:t.default)&&void 0!==a?a:"",c=null!==(o=l[t.name])&&void 0!==o?o:s,m=!!f[t.name];switch(t.type){case"textarea":case"checkbox":return(0,e.createElement)(u.CheckboxControl,{checked:!!c,onChange:e=>p(t.name,e),disabled:i});case"number":return(0,e.createElement)(u.TextControl,{type:"number",value:c,onChange:e=>p(t.name,e),placeholder:t.placeholder||"",min:t.min,max:t.max,step:t.step,disabled:i,className:m?"has-error":""});case"email":return(0,e.createElement)(u.TextControl,{type:"email",value:c,onChange:e=>p(t.name,e),placeholder:t.placeholder||"",disabled:i,className:m?"has-error":""});case"select":{let a=[];Array.isArray(t.options)?a=t.options.map(e=>{var t,a,n,o;return"object"==typeof e&&null!==e?{label:null!==(t=null!==(a=e.label)&&void 0!==a?a:e.value)&&void 0!==t?t:"",value:null!==(n=null!==(o=e.value)&&void 0!==o?o:e.label)&&void 0!==n?n:""}:{label:e,value:e}}):t.options&&"object"==typeof t.options&&(a=Object.entries(t.options).map(([e,t])=>({label:t,value:e})));const n=t.placeholder?[{label:t.placeholder,value:""}]:[];return(0,e.createElement)(u.SelectControl,{value:c,options:[...n,...a],onChange:e=>p(t.name,e),disabled:i,className:m?"has-error":""})}default:return(0,e.createElement)(u.TextControl,{type:"url"===t.type?"url":"text",value:c,onChange:e=>p(t.name,e),placeholder:t.placeholder||"",disabled:i,className:m?"has-error":""})}})(t),f[t.name]&&(0,e.createElement)("div",{className:"commandify-form-field-error"},f[t.name]),t.help&&(0,e.createElement)("div",{className:"commandify-form-field-help"},t.help)):null),(0,e.createElement)("div",{className:"commandify-form-actions"},(0,e.createElement)(u.Button,{variant:"secondary",onClick:c,disabled:i},(0,n.__)("Cancel","commandify")),(0,e.createElement)(u.Button,{variant:"primary",type:"submit",disabled:i,isBusy:i},a.submit_text||(0,n.__)("Submit","commandify")))))},y=function(e,a,n=150){const[o,s]=(0,t.useState)(a),[c,i]=(0,t.useState)(0),m=function(e,a=150){const[n,o]=(0,t.useState)(e);return(0,t.useEffect)(()=>{const t=setTimeout(()=>{o(e)},a);return()=>clearTimeout(t)},[e,a]),n}(e,n),r=(0,t.useMemo)(()=>Array.isArray(a)?[...a].sort((e,t)=>{const a="number"==typeof e.priority?e.priority:0,n="number"==typeof t.priority?t.priority:0;return a===n?(e.title||"").localeCompare(t.title||""):n-a}):[],[a]);return(0,t.useEffect)(()=>{if(!m)return s(r),void i(0);if([m.trim().startsWith(">"),m.trim().toLowerCase().startsWith("toggle")].some(Boolean))return s(r),void i(0);const e=performance.now(),t=function(e,t){const a=t.toLowerCase().trim(),n=a.split(/\s+/).filter(e=>e.length>0),o="go to"===a||"navigate"===a;return e.map(e=>{let t=0;const s=(e.title||"").toLowerCase(),c=Array.isArray(e.keywords)?e.keywords.map(e=>e.toLowerCase()):[],i=(e.category||"").toLowerCase();if(o){if("navigation"!==i)return{cmd:e,score:0};t+=2e3}const m=s.split(/[\s\-→]+/).filter(e=>e.length>0);if(s===a&&(t+=1e3),s.startsWith(a)&&(t+=800),!n.every(e=>{const t=m.some(t=>t===e||t.startsWith(e)||s.includes(e)),a=c.some(t=>t===e||t.startsWith(e)||t.includes(e));return t||a})&&!o)return{cmd:e,score:0};let r=0;n.forEach(e=>{m.some(t=>t.startsWith(e))&&(r++,t+=300)}),n.forEach(e=>{m.some(t=>t===e)&&(t+=250)}),s.includes(a)&&(t+=150),c.some(e=>e===a)&&(t+=120),c.some(e=>e.startsWith(a))&&(t+=80),n.forEach(e=>{c.some(t=>t.includes(e))&&(t+=30)}),i===a&&(t+=60),r===n.length&&(t+=100);const l="number"==typeof e.priority?5*e.priority:0;return t+=l,{cmd:e,score:t}}).filter(e=>e.score>0).sort((e,t)=>t.score-e.score).map(e=>e.cmd)}(r,m),a=performance.now()-e;s(t),i(a)},[m,r]),{results:o,searching:!1,searchTime:c}};let p=0;const v=function({isOpen:a,onClose:c,preferences:i,setPreferences:r}){const[u,v]=(0,t.useState)(""),[w,h]=(0,t.useState)(0),[g,E]=(0,t.useState)(null),[b,_]=(0,t.useState)(!1),[N,C]=(0,t.useState)(null),[x,S]=(0,t.useState)(!1),[k,T]=(0,t.useState)(!1),[D,P]=(0,t.useState)(null),[O,F]=(0,t.useState)([]),[L,j]=(0,t.useState)(!1),[I,A]=(0,t.useState)([]),[M,q]=(0,t.useState)(!0),[W,R]=(0,t.useState)(!1),[B,U]=(0,t.useState)([]),[$,X]=(0,t.useState)(0),[K,H]=(0,t.useState)([]),[J,V]=(0,t.useState)(null),[G,z]=(0,t.useState)({}),{commands:Q,loading:Y}=function(){const[e,a]=(0,t.useState)([]),[n,o]=(0,t.useState)(!1),[s,c]=(0,t.useState)(null),i=(0,t.useCallback)(()=>{window.commandifyData&&window.commandifyData.commands?(a([...window.commandifyData.commands]),o(!1)):(c("Commands not available"),o(!1))},[]);return(0,t.useEffect)(()=>{i();const e=e=>{if(e.detail&&e.detail.command_id&&window.commandifyData?.commands){const t=window.commandifyData.commands.findIndex(t=>t.id===e.detail.command_id);-1!==t&&(window.commandifyData.commands[t].toggle_state=e.detail.new_state,window.commandifyData.commands[t].state_label=e.detail.new_state?"ON":"OFF")}i()};window.addEventListener("commandify-toggle-updated",e);const t=e=>{if(e.detail&&e.detail.setting_id&&window.commandifyData?.commands){const t=window.commandifyData.commands.findIndex(t=>t.id===e.detail.setting_id);-1!==t&&window.commandifyData.commands[t].setting&&(window.commandifyData.commands[t].setting.current_value=e.detail.new_value,"toggle"===window.commandifyData.commands[t].setting.field_type&&(window.commandifyData.commands[t].toggle_state=e.detail.new_value,window.commandifyData.commands[t].state_label=e.detail.new_value?"ON":"OFF"))}i()};return window.addEventListener("commandify-setting-updated",t),()=>{window.removeEventListener("commandify-toggle-updated",e),window.removeEventListener("commandify-setting-updated",t)}},[i]),{commands:e,loading:n,error:s}}(),Z=(0,t.useRef)(null),ee=(0,t.useCallback)(async()=>{if(window.commandifyPro&&window.commandifyPro.features&&window.commandifyPro.features.favorites)try{const e=await fetch(commandifyData.apiUrl+"/default-view",{headers:{"X-WP-Nonce":commandifyData.nonce}}),t=await e.json();if(t.favorites){const e=t.favorites.map(e=>e.id);U(e)}}catch(e){console.error("Failed to load favorites:",e)}},[]);(0,t.useEffect)(()=>{const e=()=>{R(!0),ee()};return window.addEventListener("commandify-pro-loaded",e),window.commandifyPro&&window.commandifyPro.features&&window.commandifyPro.features.favorites&&ee(),()=>{window.removeEventListener("commandify-pro-loaded",e),Z.current&&(clearTimeout(Z.current),Z.current=null)}},[ee]),(0,t.useEffect)(()=>{const e=()=>{X(e=>e+1)};return window.addEventListener("commandify-pattern-updated",e),()=>window.removeEventListener("commandify-pattern-updated",e)},[]);const te=i?.debounce_delay||150,ae=i?.results_per_page||50,ne=i?.hidden_commands||[],{results:oe,searching:se,searchTime:ce}=y(u,Q,0),ie=commandifyData.currentScreen||"",me=(0,t.useMemo)(()=>{let e=oe.filter(e=>!ne.includes(e.id));if(ie){const t=[],a=[];e.forEach(e=>{e.context&&0!==e.context.length?"navigation"!==e.type&&"search"!==e.type?e.context.includes(ie)&&t.push(e):e.context.includes(ie)?t.push(e):a.push(e):a.push(e)}),e=[...t,...a]}e=e.slice(0,ae);const t=(0,o.applyFilters)("commandify.commands",e,{query:u,searchMode:D,isOpen:a,proReady:W,currentScreen:ie,patternUpdate:$});return Array.isArray(t)?t:e},[oe,ne,ie,ae,u,D,a,W,$]),re="undefined"!=typeof window&&!!window.commandifyPro&&!W&&a&&!D&&!u,{toasts:le,success:de,error:ue,removeToast:fe}=function(){const[e,a]=(0,t.useState)([]),n=(0,t.useCallback)((e,t="success",n=4e3)=>{const s=++p,c={id:s,message:e,type:t};return a(e=>[...e,c]),n>0&&setTimeout(()=>{o(s)},n),s},[]),o=(0,t.useCallback)(e=>{a(t=>t.filter(t=>t.id!==e))},[]),s=(0,t.useCallback)((e,t)=>n(e,"success",t),[n]),c=(0,t.useCallback)((e,t)=>n(e,"error",t),[n]),i=(0,t.useCallback)((e,t)=>n(e,"info",t),[n]);return{toasts:e,addToast:n,removeToast:o,success:s,error:c,info:i}}(),ye=(0,t.useRef)(null);(0,t.useEffect)(()=>{a&&(v(""),h(0),P(null),F([]),A([]),H([]))},[a]),(0,t.useEffect)(()=>{h(0)},[u]);const pe=(0,t.useCallback)(()=>{if(I.length>0){const e=I[I.length-1];A(e=>e.slice(0,-1)),P(e.searchMode),F(e.searchResults),v(e.query),h(e.selectedIndex)}else P(null),v(""),F([]),h(0)},[I]);(0,t.useEffect)(()=>{if(!D||D.isSubmenu)return;const e=D.min_chars||0;if(u.length<e&&e>0)return void F([]);const t="number"==typeof D.debounce?D.debounce:te,a=0===u.length?0:t,n=setTimeout(async()=>{j(!0);try{const e=await fetch(commandifyData.apiUrl+"/execute",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":commandifyData.nonce},body:JSON.stringify({command_id:D.id,search_query:u})}),t=await e.json();t.success&&t.results&&F(t.results)}catch(e){console.error("Search error:",e)}finally{j(!1)}},a);return()=>clearTimeout(n)},[u,D,te]),(0,t.useEffect)(()=>{if(!D||!D.isSubmenu)return;if(!u||""===u.trim())return void F(K);const e=u.toLowerCase().trim(),t=K.filter(t=>{const a=(t.title||"").toLowerCase(),n=(t.description||"").toLowerCase();return a.includes(e)||n.includes(e)});F(t)},[u,D,K]);const ve=(0,t.useCallback)(async e=>{const t=J;_(!0),C(t.id),S(!1),T(!1);const a=!t?.instant;Z.current&&clearTimeout(Z.current),a&&(Z.current=setTimeout(()=>{T(!0)},120));try{const a=new URLSearchParams(window.location.search).get("post")||window.wp&&window.wp.data&&window.wp.data.select("core/editor")?.getCurrentPostId(),o={command_id:t.id,context:{},post_id:a||null,...e};t.params&&Object.assign(o,t.params);const s=await fetch(commandifyData.apiUrl+"/execute",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":commandifyData.nonce},body:JSON.stringify(o)}),c=await s.json();_(!1),C(null),V(null),q(!0),c.success?(z(a=>({...a,[t.id]:e})),de(c.message||(0,n.__)("Command executed successfully","commandify")),S(!0),setTimeout(()=>S(!1),300)):ue(c.message||(0,n.__)("Command execution failed","commandify"))}catch(e){_(!1),C(null),V(null),q(!0),ue(e.message||(0,n.__)("An error occurred","commandify"))}finally{Z.current&&(clearTimeout(Z.current),Z.current=null),T(!1)}},[J,de,ue]),we=(0,t.useCallback)(()=>{b||(V(null),q(!0))},[b]),he=(0,t.useCallback)(async e=>{let t=!1,a=!1;S(!1),T(!1);const o=!e?.instant;if(Z.current&&clearTimeout(Z.current),o&&(Z.current=setTimeout(()=>{T(!0)},120)),e.setting_id&&void 0!==e.value)window.commandifyExecuteSettingOption?window.commandifyExecuteSettingOption(e.setting_id,e.value,{setIsExecuting:_,setExecutingCommandId:C,success:de,error:ue,onClose:c,handleBack:pe}):ue((0,n.__)("Settings handler not loaded","commandify"));else{_(!0),C(e.id);try{const o=new URLSearchParams(window.location.search).get("post")||window.wp&&window.wp.data&&window.wp.data.select("core/editor")?.getCurrentPostId(),s={command_id:e.id,context:{},post_id:o||null};e.params&&Object.assign(s,e.params);const i=await fetch(commandifyData.apiUrl+"/execute",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":commandifyData.nonce},body:JSON.stringify(s)}),m=await i.json();if(m.success){if(m.data&&!0===m.data.continue&&void 0!==m.data.offset){const e=async t=>{const a={...s,offset:t},o=await fetch(commandifyData.apiUrl+"/execute",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":commandifyData.nonce},body:JSON.stringify(a)}),i=await o.json();if(!i.success)return ue(i.message||(0,n.__)("Command execution failed","commandify")),_(!1),void C(null);i.data&&!0===i.data.continue&&void 0!==i.data.offset?(await new Promise(e=>setTimeout(e,100)),await e(i.data.offset)):(i.silent||de(i.message||(0,n.__)("Command executed successfully","commandify")),_(!1),C(null),setTimeout(()=>{c()},500))};return void await e(m.data.offset)}if(m.keep_open&&(a=!0),m.silent||de(m.message||(0,n.__)("Command executed successfully","commandify")),m.js_action){t=!0,S(!0);const e=async e=>{if("string"!=typeof e)return;const t=e.split(":"),a=t[0],n=t.slice(1).join(":");if("click"===a){const e=document.querySelector(n);if(e)return e.click(),!0}else if("doubleclick"===a||"dblclick"===a){const e=document.querySelector(n);if(e){const t=new MouseEvent("dblclick",{bubbles:!0,cancelable:!0});return e.dispatchEvent(t),!0}}else if("focus"===a){const e=document.querySelector(n);if(e)return setTimeout(()=>{e.focus(),e.scrollIntoView({behavior:"smooth",block:"center"})},100),!0}else{if("open"===a)return window.open(n,"_blank"),!0;if("copy"===a){if(navigator.clipboard&&navigator.clipboard.writeText)try{return await navigator.clipboard.writeText(n),!0}catch(e){return console.error("Failed to copy:",e),!1}return!1}}return!1},n=Array.isArray(m.js_action)?m.js_action.filter(Boolean):"string"==typeof m.js_action&&m.js_action?[m.js_action]:[],o=async()=>{let t=!1,o=a;for(let a=0;a<n.length;a++){const s=n[a];s&&"string"==typeof s&&(s.startsWith("copy:")&&(o=!0),await e(s)&&(t=!0,a<n.length-1&&await new Promise(e=>setTimeout(e,350))))}t&&!o&&setTimeout(()=>{c()},100)};return void(n.length>0&&o())}if(m.reload)return void setTimeout(()=>{window.location.reload()},1e3);if(m.redirect)return void(window.location.href=m.redirect);if(m.data&&e.id&&e.id.startsWith("set-"))try{const e=await fetch(commandifyData.apiUrl+"/preferences",{method:"GET",headers:{"X-WP-Nonce":commandifyData.nonce}}),t=await e.json();t.success&&r(t.data)}catch(e){console.error("Failed to reload preferences:",e)}m.updated_actions&&m.updated_actions.length>0?(F(m.updated_actions),h(0)):"navigation"===e.type?c():e.has_dynamic_callback?D&&D.isSubmenu?pe():D&&!D.isSubmenu&&"install-plugin"!==D.id&&"install-theme"!==D.id&&setTimeout(async()=>{try{const e=await fetch(commandifyData.apiUrl+"/execute",{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":commandifyData.nonce},body:JSON.stringify({command_id:D.id,search_query:u})}),t=await e.json();t.success&&t.results&&F(t.results)}catch(e){console.error("Search refresh error:",e)}},100):a||c()}else ue(m.message||(0,n.__)("Command execution failed","commandify"))}catch(e){ue((0,n.__)("An error occurred while executing the command","commandify"))}finally{Z.current&&(clearTimeout(Z.current),Z.current=null),t?(_(!1),C(null),S(!1),T(!1)):(S(!0),setTimeout(()=>{_(!1),C(null),S(!1),T(!1)},400))}}},[D,u,de,ue,c,pe]),ge=(0,t.useCallback)(e=>{if((0,o.doAction)("commandify.beforeExecute",e),e.form&&e.form.fields)return q(!1),void V(e);if("navigation"!==e.type){if("search"===e.type)return A(e=>[...e,{searchMode:D,searchResults:O,query:u,selectedIndex:w}]),P(e),v(""),void h(0);if("submenu"===e.type&&e.actions)return A(e=>[...e,{searchMode:D,searchResults:O,query:u,selectedIndex:w}]),P({...e,isSubmenu:!0}),H(e.actions),F(e.actions),v(""),void h(0);if("setting"===e.type)return e.form&&e.form.fields?(q(!1),void V(e)):void(e.actions&&e.actions.length>0?(A(e=>[...e,{searchMode:D,searchResults:O,query:u,selectedIndex:w}]),P({...e,isSubmenu:!0}),H(e.actions),F(e.actions),v(""),h(0)):window.commandifyExecuteSetting?window.commandifyExecuteSetting(e,{setIsExecuting:_,setExecutingCommandId:C,success:de,error:ue,onClose:c}):ue((0,n.__)("Settings handler not loaded","commandify")));if("toggle"!==e.type)if("action"!==e.type)he(e);else if(e.confirm){const t="object"==typeof e.confirm?e.confirm:{};E({title:t.title||(0,n.__)("Confirm Action","commandify"),message:t.message||(0,n.__)("Are you sure you want to proceed?","commandify"),confirmText:t.confirm_text||(0,n.__)("Confirm","commandify"),cancelText:t.cancel_text||(0,n.__)("Cancel","commandify"),destructive:t.destructive||!1,command:e})}else he(e);else window.commandifyExecuteToggle?window.commandifyExecuteToggle(e,{setIsExecuting:_,setExecutingCommandId:C,success:de,error:ue,onClose:c}):ue((0,n.__)("Toggle handler not loaded","commandify"))}else"_blank"===e.target?window.open(e.callback,"_blank"):window.location.href=e.callback},[D,O,u,w,I,K,de,ue,c,he]),Ee=(0,t.useMemo)(()=>D?O:me,[D,O,me]);(0,t.useEffect)(()=>{if(!a||J)return;const e=e=>{const t=Ee.length;"Escape"===e.key?(e.preventDefault(),D?pe():c()):"ArrowDown"===e.key?(e.preventDefault(),q(!1),h(e=>{const a=e+1;return a>=t?0:a})):"ArrowUp"===e.key?(e.preventDefault(),q(!1),h(e=>{const a=e-1;return a<0?t-1:a})):"Enter"===e.key?(e.preventDefault(),Ee&&Ee[w]&&ge(Ee[w])):"Backspace"===e.key&&""===u&&D&&(e.preventDefault(),pe())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[a,J,D,Ee,w,u,c,ge,pe]);const be=!!window.commandifyPro?.features?.favorites;return(0,e.createElement)(e.Fragment,null,J&&(0,e.createElement)(f,{form:J.form,command:J,onSubmit:ve,onClose:we,isExecuting:b,updatedFieldValues:G[J.id]}),a&&(0,e.createElement)("div",{className:"commandify-overlay",ref:ye,onClick:e=>{e.target===ye.current&&c()}},(0,e.createElement)("div",{className:"commandify-palette",onMouseMove:()=>{M||q(!0)}},b&&k&&(0,e.createElement)("div",{className:"commandify-progress-bar"},(0,e.createElement)("div",{className:`commandify-progress-bar-fill ${b?"is-loading":""} ${x?"is-complete":""}`})),D&&(0,e.createElement)("div",{className:"commandify-breadcrumb"},(0,e.createElement)("button",{onClick:pe,className:"commandify-back-button"},(0,e.createElement)("span",{className:"dashicons dashicons-arrow-left-alt2"})),(0,e.createElement)("span",{className:"commandify-breadcrumb-text"},D.title)),(0,e.createElement)(s,{value:u,onChange:v,placeholder:D?D.placeholder:(0,n.__)("Type a command or search...","commandify"),disabled:b||!!J,searchTime:D?0:ce}),(0,e.createElement)(m,{commands:D?O:me,selectedIndex:w,onSelect:ge,onHover:e=>{M&&h(e)},loading:re||(D?L:Y||se),isExecuting:b,executingCommandId:N,onFavoriteToggle:async e=>{if(window.commandifyPro&&window.commandifyPro.features&&window.commandifyPro.features.favorites)try{const t=await fetch(commandifyData.apiUrl+"/favorites/"+e,{method:"POST",headers:{"Content-Type":"application/json","X-WP-Nonce":commandifyData.nonce}}),a=await t.json();a.success&&(a.is_favorite?U(t=>[...t,e]):U(t=>t.filter(t=>t!==e)),window.dispatchEvent(new CustomEvent("commandify-reload-pro")))}catch(e){console.error("Failed to toggle favorite:",e)}},favoriteIds:B,showFavoriteButton:be,query:u}),(0,e.createElement)("div",{className:"commandify-footer"},(0,e.createElement)("div",{className:"commandify-footer-hints"},(0,e.createElement)("span",{className:"commandify-footer-hint"},(0,e.createElement)("kbd",null,"↑"),(0,e.createElement)("kbd",null,"↓")," ",(0,n.__)("Navigate","commandify")),(0,e.createElement)("span",{className:"commandify-footer-hint"},(0,e.createElement)("kbd",null,"↵")," ",(0,n.__)("Select","commandify")),(D||K.length>0)&&(0,e.createElement)("span",{className:"commandify-footer-hint"},(0,e.createElement)("kbd",null,"←")," ",(0,n.__)("Back","commandify")),(0,e.createElement)("span",{className:"commandify-footer-hint"},(0,e.createElement)("kbd",null,"Esc")," ",(0,n.__)("Close","commandify"))),!Y&&!se&&(0,e.createElement)("div",{className:"commandify-footer-count"},(D?O:me).length," ",(0,n.__)("commands","commandify"))))),(0,e.createElement)(d,{isOpen:null!==g,onConfirm:()=>{g&&g.command&&he(g.command),E(null)},onCancel:()=>{E(null)},title:g?.title,message:g?.message,confirmText:g?.confirmText,cancelText:g?.cancelText,destructive:g?.destructive}),(0,e.createElement)(l,{toasts:le,onClose:fe}))},w=document.getElementById("commandify-root");w&&(0,t.render)((0,e.createElement)(function(){const[n,o]=(0,t.useState)(!1),[s,c]=(0,t.useState)(window.commandifyData?.preferences||{}),i=s.keyboard_shortcut||"mod+k";return function(e,a=!0){(0,t.useEffect)(()=>{if(!a)return;const t=t=>{const a=navigator.platform.toUpperCase().indexOf("MAC")>=0;for(const[n,o]of Object.entries(e)){const e=n.toLowerCase().split("+").map(e=>e.trim()),s=e.filter(e=>"mod"===e||"ctrl"===e||"alt"===e||"shift"===e),c=e.find(e=>"mod"!==e&&"ctrl"!==e&&"alt"!==e&&"shift"!==e);let i=!0;if(s.includes("mod")&&(i=i&&(a?t.metaKey:t.ctrlKey)),s.includes("ctrl")&&(i=i&&t.ctrlKey),s.includes("alt")){const e=t.getModifierState&&t.getModifierState("Alt")||t.altKey;i=i&&e}s.includes("shift")&&(i=i&&t.shiftKey);let m=!0;if(c){let e="";t.code&&(e=t.code.toLowerCase().replace(/^key/,"").replace(/^digit/,"").replace(/^numpad/,""));const n=t.key?t.key.toLowerCase():"";m="space"===c?"space"===e||" "===n||"space"===n:a&&t.altKey?e===c:e===c||n===c}if(i&&m){o(t);break}}};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[e,a])}({[i]:e=>{e.preventDefault(),o(e=>!e)}},!0),(0,a.createPortal)((0,e.createElement)(v,{isOpen:n,onClose:()=>o(!1),preferences:s,setPreferences:c}),document.body)},null),w)})(); -
commandify/trunk/commandify.php
r3405278 r3407178 5 5 * Plugin URI: https://wprigel.com/commandify 6 6 * Description: Command palette for WordPress admin - keyboard-first navigation and actions 7 * Version: 1.0. 07 * Version: 1.0.1 8 8 * Requires at least: 6.2 9 9 * Requires PHP: 7.4 … … 21 21 22 22 defined( 'ABSPATH' ) || exit; 23 define( 'COMMANDIFY_VERSION', '1.0. 0' );23 define( 'COMMANDIFY_VERSION', '1.0.1' ); 24 24 define( 'COMMANDIFY_FILE', __FILE__ ); 25 25 define( 'COMMANDIFY_PATH', plugin_dir_path( __FILE__ ) ); -
commandify/trunk/includes/RestApi.php
r3405278 r3407178 190 190 strpos( $command_id, 'deactivate-plugin-' ) === 0 || 191 191 strpos( $command_id, 'install-theme-' ) === 0 || 192 strpos( $command_id, 'activate-theme-' ) === 0; 192 strpos( $command_id, 'activate-theme-' ) === 0 || 193 strpos( $command_id, 'change-status-' ) === 0; 193 194 } 194 195 … … 276 277 } 277 278 279 // Handle change status for any post type. 280 // Pattern: change-status-{post_type}-{id}. 281 if ( strpos( $command_id, 'change-status-' ) === 0 ) { 282 // Call the callback function from functions.php. 283 $result = \WpRigel\Commandify\change_post_status_callback( $request ); 284 return rest_ensure_response( $result ); 285 } 286 278 287 // Handle plugin installation. 279 288 if ( strpos( $command_id, 'install-plugin-' ) === 0 ) { -
commandify/trunk/includes/core-commands/action-commands.php
r3405278 r3407178 22 22 23 23 return array( 24 'success' => true, 25 'message' => __( 'All caches cleared successfully! Object cache, transients, and opcache flushed.', 'commandify' ), 26 'data' => array( 24 'success' => true, 25 'message' => __( 'All caches cleared successfully! Object cache, transients, and opcache flushed.', 'commandify' ), 26 'keep_open' => true, 27 'data' => array( 27 28 'timestamp' => current_time( 'mysql' ), 28 29 ), … … 80 81 81 82 return array( 82 'success' => true, 83 'message' => $message, 84 'data' => array( 83 'success' => true, 84 'message' => $message, 85 'keep_open' => true, 86 'data' => array( 85 87 'total' => $total, 86 88 'plugin_updates' => $plugin_updates, … … 141 143 142 144 return array( 143 'success' => true, 144 'message' => __( 'Rewrite rules flushed successfully! Permalink structure has been regenerated.', 'commandify' ), 145 'data' => array( 145 'success' => true, 146 'message' => __( 'Rewrite rules flushed successfully! Permalink structure has been regenerated.', 'commandify' ), 147 'keep_open' => true, 148 'data' => array( 146 149 'timestamp' => current_time( 'mysql' ), 147 150 ), … … 154 157 'priority' => 15, 155 158 'loading_message' => __( 'Flushing rewrite rules...', 'commandify' ), 159 ) 160 ); 161 162 // Logout. 163 commandify_register_command( 164 array( 165 'id' => 'logout', 166 'title' => __( 'Logout', 'commandify' ), 167 'description' => __( 'Log out from WordPress', 'commandify' ), 168 'type' => 'action', 169 'callback' => function () { 170 // Get current user info before logout 171 $user_id = get_current_user_id(); 172 $user_locale = get_user_locale( $user_id ); 173 174 // Perform logout (destroys session and clears auth cookies) 175 wp_logout(); 176 177 // Build redirect URL to login page with logged out message 178 $redirect_to = add_query_arg( 179 array( 180 'loggedout' => 'true', 181 'wp_lang' => $user_locale, 182 ), 183 wp_login_url() 184 ); 185 186 // Return redirect response (frontend will handle the redirect) 187 // Note: wp_logout() has already been called, so user is logged out 188 return array( 189 'success' => true, 190 'message' => __( 'Logged out successfully', 'commandify' ), 191 'redirect' => $redirect_to, 192 ); 193 }, 194 'category' => 'tools', 195 'icon' => 'dashicons-exit', 196 'keywords' => array( 'logout', 'log out', 'sign out', 'exit' ), 197 'capability' => 'read', 198 'priority' => 5, 199 'confirm' => array( 200 'message' => __( 'Are you sure you want to log out?', 'commandify' ), 201 'destructive' => false, 202 ), 156 203 ) 157 204 ); -
commandify/trunk/includes/core-commands/navigation-commands.php
r3405278 r3407178 15 15 // Dashboard. 16 16 $menu[2] = array( 'Dashboard', 'read', 'index.php', 'Dashboard', 'menu-dashboard', 'menu-top menu-icon-dashboard', 'dashicons-dashboard' ); 17 18 // Visit Site (added to minimal menu). 19 $menu[4] = array( 'Visit Site', 'read', home_url(), 'Visit Site', 'menu-visit-site', 'menu-top', 'dashicons-admin-home' ); 17 20 18 21 // Posts. … … 200 203 201 204 $registered = true; 205 206 // Register Visit Site command (always available, not dependent on menu). 207 commandify_register_command( 208 array( 209 'id' => 'visit-site', 210 'title' => __( 'Visit Site', 'commandify' ), 211 'description' => __( 'Open your website in a new tab', 'commandify' ), 212 'type' => 'navigation', 213 'callback' => home_url(), 214 'category' => 'navigation', 215 'icon' => 'dashicons-admin-home', 216 'keywords' => array( 'visit', 'site', 'home', 'frontend', 'view site' ), 217 'capability' => 'read', 218 'priority' => 200, 219 'target' => '_blank', 220 ) 221 ); 202 222 203 223 global $menu, $submenu; … … 256 276 } 257 277 258 // Check if has capab lities for the menu item.278 // Check if has capabilities for the menu item. 259 279 if ( ! empty( $menu_item[1] ) && ! current_user_can( $menu_item[1] ) ) { 260 280 continue; -
commandify/trunk/includes/core-commands/search-commands.php
r3405278 r3407178 21 21 ); 22 22 23 /** 24 * Filter to allow third-party plugins to add custom post types to search commands. 25 * 26 * This filter allows plugins to add post types that might not meet the default 27 * criteria (show_ui, show_in_menu, public) but should still have search commands. 28 * 29 * @since 1.0.0 30 * 31 * @param array $additional_post_types Array of post type names (strings) or post type objects to add. 32 * If strings, the post type objects will be fetched. 33 * @param array $existing_post_types Array of existing post type objects. 34 * @return array Array of post type names or objects to add. 35 * 36 * @example 37 * ```php 38 * add_filter( 'commandify_search_post_types', function( $additional, $existing ) { 39 * // Add a custom post type by name 40 * $additional[] = 'my_custom_post_type'; 41 * 42 * // Or add a post type object directly 43 * $additional[] = get_post_type_object( 'another_post_type' ); 44 * 45 * return $additional; 46 * }, 10, 2 ); 47 * ``` 48 */ 49 $additional_post_types = apply_filters( 'commandify_search_post_types', array(), $post_types ); 50 51 // Process additional post types from filter. 52 if ( ! empty( $additional_post_types ) && is_array( $additional_post_types ) ) { 53 foreach ( $additional_post_types as $additional_post_type ) { 54 $post_type_obj = null; 55 56 // If it's a string, get the post type object. 57 if ( is_string( $additional_post_type ) ) { 58 $post_type_obj = get_post_type_object( $additional_post_type ); 59 } elseif ( is_object( $additional_post_type ) && isset( $additional_post_type->name ) ) { 60 // If it's already a post type object, use it. 61 $post_type_obj = $additional_post_type; 62 } 63 64 // Add to post types array if valid and not already included. 65 if ( $post_type_obj && ! isset( $post_types[ $post_type_obj->name ] ) ) { 66 $post_types[ $post_type_obj->name ] = $post_type_obj; 67 } 68 } 69 } 70 23 71 foreach ( $post_types as $post_type ) { 24 72 // Skip attachments as we handle them separately. … … 27 75 } 28 76 29 // Allow other integrations to exclude post types from auto-registration. 77 /** 78 * Filter to exclude post types from auto-registration. 79 * 80 * @since 1.0.0 81 * 82 * @param array $excluded_post_types Array of post type names to exclude. 83 */ 30 84 $excluded_post_types = apply_filters( 'commandify_excluded_post_types', array() ); 31 85 if ( in_array( $post_type->name, $excluded_post_types, true ) ) { … … 76 130 commandify_register_command( 77 131 array( 78 'id' => 'search-' . $post_type->name,132 'id' => 'search-' . $post_type->name, 79 133 /* translators: %s: Post type label (Posts, Pages, etc.) */ 80 'title' => sprintf( __( 'Search %s', 'commandify' ), $label ),134 'title' => sprintf( __( 'Search %s', 'commandify' ), $label ), 81 135 /* translators: %s: Post type label in lowercase */ 82 'description' => sprintf( __( 'Find %s by title or content', 'commandify' ), strtolower( $label ) ),83 'type' => 'search',84 'callback' => function ( $query, $context ) use ( $post_type ) {136 'description' => sprintf( __( 'Find %s by title or content', 'commandify' ), strtolower( $label ) ), 137 'type' => 'search', 138 'callback' => function ( $query, $context ) use ( $post_type ) { 85 139 return search_post_type_callback( $query, $context, $post_type->name ); 86 140 }, 87 'category' => 'content',88 'icon' => $icon,89 'keywords' => $keywords,90 'capability' => $capability,91 'priority' => $priority,141 'category' => 'content', 142 'icon' => $icon, 143 'keywords' => $keywords, 144 'capability' => $capability, 145 'priority' => $priority, 92 146 /* translators: %s: Post type label in lowercase */ 93 'placeholder' => sprintf( __( 'Search %s...', 'commandify' ), strtolower( $label ) ), 94 'min_chars' => 2, 95 'context' => $search_context, 147 'placeholder' => sprintf( __( 'Search %s...', 'commandify' ), strtolower( $label ) ), 148 'min_chars' => 0, 149 // Allow empty query to show recent posts. 150 'debounce' => 400, 151 // Debounce delay in milliseconds. 152 'context' => $search_context, 96 153 ) 97 154 ); … … 101 158 commandify_register_command( 102 159 array( 103 'id' => 'search-users', 104 'title' => __( 'Search Users', 'commandify' ), 105 'description' => __( 'Find users by name or email', 'commandify' ), 106 'type' => 'search', 107 'callback' => 'WpRigel\Commandify\search_users_callback', 108 'category' => 'users', 109 'icon' => 'dashicons-admin-users', 110 'keywords' => array( 'search', 'users', 'find', 'people' ), 111 'capability' => 'list_users', 112 'priority' => 60, 113 'placeholder' => __( 'Search users...', 'commandify' ), 114 'min_chars' => 2, 115 'context' => array( 'users', 'user-edit', 'user-new' ), 160 'id' => 'search-users', 161 'title' => __( 'Search Users', 'commandify' ), 162 'description' => __( 'Find users by name or email', 'commandify' ), 163 'type' => 'search', 164 'callback' => 'WpRigel\Commandify\search_users_callback', 165 'category' => 'users', 166 'icon' => 'dashicons-admin-users', 167 'keywords' => array( 'search', 'users', 'find', 'people' ), 168 'capability' => 'list_users', 169 'priority' => 60, 170 'placeholder' => __( 'Search users...', 'commandify' ), 171 'min_chars' => 0, 172 // Allow empty query to show recent posts. 173 'debounce' => 400, 174 // Debounce delay in milliseconds. 175 'context' => array( 'users', 'user-edit', 'user-new' ), 116 176 ) 117 177 ); … … 120 180 commandify_register_command( 121 181 array( 122 'id' => 'search-media', 123 'title' => __( 'Search Media', 'commandify' ), 124 'description' => __( 'Find media files by name', 'commandify' ), 125 'type' => 'search', 126 'callback' => 'WpRigel\Commandify\search_media_callback', 127 'category' => 'content', 128 'icon' => 'dashicons-admin-media', 129 'keywords' => array( 'search', 'media', 'find', 'images', 'files' ), 130 'capability' => 'upload_files', 131 'priority' => 55, 132 'placeholder' => __( 'Search media...', 'commandify' ), 133 'min_chars' => 2, 134 'context' => array( 'upload', 'attachment' ), 182 'id' => 'search-media', 183 'title' => __( 'Search Media', 'commandify' ), 184 'description' => __( 'Find media files by name', 'commandify' ), 185 'type' => 'search', 186 'callback' => 'WpRigel\Commandify\search_media_callback', 187 'category' => 'content', 188 'icon' => 'dashicons-admin-media', 189 'keywords' => array( 'search', 'media', 'find', 'images', 'files' ), 190 'capability' => 'upload_files', 191 'priority' => 55, 192 'placeholder' => __( 'Search media...', 'commandify' ), 193 'min_chars' => 0, 194 // Allow empty query to show recent posts. 195 'debounce' => 400, 196 // Debounce delay in milliseconds. 197 'context' => array( 'upload', 'attachment' ), 135 198 ) 136 199 ); … … 146 209 } 147 210 148 $args = array( 149 's' => sanitize_text_field( $query ), 150 'post_type' => $post_type_name, 151 'post_status' => 'any', 152 'posts_per_page' => 10, 153 'orderby' => 'relevance', 154 ); 211 // If query is empty, return 10 recent published posts. 212 $query = trim( $query ); 213 if ( empty( $query ) ) { 214 $args = array( 215 'post_type' => $post_type_name, 216 'post_status' => 'publish', 217 'posts_per_page' => 10, 218 'orderby' => 'date', 219 'order' => 'DESC', 220 ); 221 } else { 222 $args = array( 223 's' => sanitize_text_field( $query ), 224 'post_type' => $post_type_name, 225 'post_status' => 'any', 226 'posts_per_page' => 10, 227 'orderby' => 'relevance', 228 ); 229 } 155 230 156 231 $posts = get_posts( $args ); … … 210 285 } 211 286 287 // Add change status action with form. 288 $available_statuses = get_available_post_statuses_for_command( $post_type_name, $post->post_status ); 289 if ( ! empty( $available_statuses ) ) { 290 // Get all statuses including current one for the form dropdown 291 $all_statuses = array( 292 'publish' => __( 'Published', 'commandify' ), 293 'draft' => __( 'Draft', 'commandify' ), 294 'pending' => __( 'Pending Review', 'commandify' ), 295 'private' => __( 'Private', 'commandify' ), 296 ); 297 298 $actions[] = array( 299 'id' => 'change-status-' . $post_type_name . '-' . $post->ID, 300 'title' => __( 'Change Status', 'commandify' ), 301 'type' => 'action', 302 'icon' => 'dashicons-update', 303 'has_dynamic_callback' => true, 304 'loading_message' => __( 'Changing status...', 'commandify' ), 305 'form' => array( 306 'title' => __( 'Change Post Status', 'commandify' ), 307 'description' => __( 'Select a new status for this post.', 'commandify' ), 308 'fields' => array( 309 array( 310 'name' => 'new_status', 311 'label' => __( 'New Status', 'commandify' ), 312 'type' => 'select', 313 'required' => true, 314 'options' => $all_statuses, 315 'value' => $post->post_status, 316 // Set current status as selected 317 ), 318 ), 319 'submit_text' => __( 'Change Status', 'commandify' ), 320 ), 321 ); 322 }//end if 323 212 324 // Add trash/delete action 213 325 $actions[] = array( … … 239 351 240 352 function search_users_callback( $query ) { 241 $args = array( 242 'search' => '*' . sanitize_text_field( $query ) . '*', 243 'number' => 10, 244 'orderby' => 'display_name', 245 ); 353 // If query is empty, return 10 recent users ordered by registration date 354 $query = trim( $query ); 355 if ( empty( $query ) ) { 356 $args = array( 357 'number' => 10, 358 'orderby' => 'registered', 359 'order' => 'DESC', 360 ); 361 } else { 362 $args = array( 363 'search' => '*' . sanitize_text_field( $query ) . '*', 364 'number' => 10, 365 'orderby' => 'display_name', 366 ); 367 } 246 368 247 369 $users = get_users( $args ); … … 250 372 foreach ( $users as $user ) { 251 373 $roles_text = ! empty( $user->roles ) ? ucfirst( $user->roles[0] ) : __( 'No role', 'commandify' ); 374 375 // Get user avatar URL 376 $user_avatar = get_avatar_url( $user->ID, array( 'size' => 32 ) ); 252 377 253 378 $results[] = array( … … 257 382 'description' => sprintf( __( '%1$s • %2$s', 'commandify' ), $user->user_email, $roles_text ), 258 383 'type' => 'submenu', 259 'icon' => 'dashicons-admin-users',384 'icon' => $user_avatar ? $user_avatar : 'dashicons-admin-users', 260 385 'category' => 'users', 261 386 'actions' => array( … … 292 417 293 418 function search_media_callback( $query ) { 294 $args = array( 295 's' => sanitize_text_field( $query ), 296 'post_type' => 'attachment', 297 'post_status' => 'any', 298 'posts_per_page' => 10, 299 ); 419 // If query is empty, return 10 recent media files 420 $query = trim( $query ); 421 if ( empty( $query ) ) { 422 $args = array( 423 'post_type' => 'attachment', 424 'post_status' => 'any', 425 'posts_per_page' => 10, 426 'orderby' => 'date', 427 'order' => 'DESC', 428 ); 429 } else { 430 $args = array( 431 's' => sanitize_text_field( $query ), 432 'post_type' => 'attachment', 433 'post_status' => 'any', 434 'posts_per_page' => 10, 435 'orderby' => 'relevance', 436 ); 437 } 300 438 301 439 $attachments = get_posts( $args ); … … 306 444 $filename = basename( $file ); 307 445 $filesize = file_exists( $file ) ? size_format( filesize( $file ) ) : ''; 446 447 // Determine icon based on mime type 448 $mime_type = get_post_mime_type( $attachment->ID ); 449 $icon = 'dashicons-admin-media'; 450 // Default icon 451 452 if ( $mime_type ) { 453 if ( strpos( $mime_type, 'image/' ) === 0 ) { 454 // Use the actual image thumbnail URL for images 455 $thumbnail_url = wp_get_attachment_image_url( $attachment->ID, 'thumbnail' ); 456 if ( $thumbnail_url ) { 457 $icon = $thumbnail_url; 458 } else { 459 $icon = 'dashicons-format-image'; 460 } 461 } elseif ( strpos( $mime_type, 'video/' ) === 0 ) { 462 $icon = 'dashicons-format-video'; 463 } elseif ( strpos( $mime_type, 'audio/' ) === 0 ) { 464 $icon = 'dashicons-format-audio'; 465 } elseif ( strpos( $mime_type, 'application/pdf' ) === 0 ) { 466 $icon = 'dashicons-media-document'; 467 } elseif ( strpos( $mime_type, 'text/' ) === 0 ) { 468 $icon = 'dashicons-media-text'; 469 } elseif ( strpos( $mime_type, 'application/zip' ) === 0 || strpos( $mime_type, 'application/x-rar' ) === 0 ) { 470 $icon = 'dashicons-media-archive'; 471 } 472 }//end if 308 473 309 474 $results[] = array( … … 313 478 'description' => sprintf( __( '%1$s • %2$s', 'commandify' ), $filename, $filesize ), 314 479 'type' => 'submenu', 315 'icon' => 'dashicons-admin-media',480 'icon' => $icon, 316 481 'category' => 'media', 317 482 'actions' => array( -
commandify/trunk/includes/functions.php
r3405278 r3407178 82 82 return $plugins_dir; 83 83 } 84 85 /** 86 * Get available post statuses for change status command 87 * Returns statuses that can be changed to from the current status 88 * 89 * @param string $post_type Post type name. 90 * @param string $current_status Current post status. 91 * @return array Array of available statuses (key => label). 92 */ 93 function get_available_post_statuses_for_command( $post_type, $current_status ) { 94 $statuses = array( 95 'publish' => __( 'Published', 'commandify' ), 96 'draft' => __( 'Draft', 'commandify' ), 97 'pending' => __( 'Pending Review', 'commandify' ), 98 'private' => __( 'Private', 'commandify' ), 99 ); 100 101 // Remove current status from options (can't change to same status). 102 if ( isset( $statuses[ $current_status ] ) ) { 103 unset( $statuses[ $current_status ] ); 104 } 105 106 // Don't show publish/private for trash posts. 107 if ( 'trash' === $current_status ) { 108 return array(); 109 } 110 111 return $statuses; 112 } 113 114 /** 115 * Change post status callback 116 * Handles the form submission for changing post status 117 * 118 * @param \WP_REST_Request|array $request Request object or params array. 119 * @return array Response array with success status and message. 120 */ 121 function change_post_status_callback( $request = array() ) { 122 // Extract params from request object or use array directly. 123 if ( $request instanceof \WP_REST_Request ) { 124 $params = $request->get_params(); 125 } else { 126 $params = is_array( $request ) ? $request : array(); 127 } 128 129 // Extract post ID and new status from command_id (format: change-status-{post_type}-{id}). 130 $command_id = isset( $params['command_id'] ) ? $params['command_id'] : ''; 131 preg_match( '/^change\-status\-([a-z_\-]+)\-(\d+)$/', $command_id, $matches ); 132 133 if ( empty( $matches ) || count( $matches ) < 3 ) { 134 return array( 135 'success' => false, 136 'message' => __( 'Invalid command format', 'commandify' ), 137 ); 138 } 139 140 $post_type = $matches[1]; 141 $post_id = intval( $matches[2] ); 142 $new_status = isset( $params['new_status'] ) ? sanitize_text_field( $params['new_status'] ) : ''; 143 144 if ( empty( $new_status ) ) { 145 return array( 146 'success' => false, 147 'message' => __( 'New status is required', 'commandify' ), 148 ); 149 } 150 151 // Get the post. 152 $post = get_post( $post_id ); 153 if ( ! $post || $post->post_type !== $post_type ) { 154 return array( 155 'success' => false, 156 'message' => __( 'Post not found', 'commandify' ), 157 ); 158 } 159 160 // Check permissions. 161 if ( ! current_user_can( 'edit_post', $post_id ) ) { 162 return array( 163 'success' => false, 164 'message' => __( 'You do not have permission to edit this post', 'commandify' ), 165 ); 166 } 167 168 // Validate new status. 169 $valid_statuses = array( 'publish', 'draft', 'pending', 'private' ); 170 if ( ! in_array( $new_status, $valid_statuses, true ) ) { 171 return array( 172 'success' => false, 173 'message' => __( 'Invalid status', 'commandify' ), 174 ); 175 } 176 177 // Update post status. 178 $result = wp_update_post( 179 array( 180 'ID' => $post_id, 181 'post_status' => $new_status, 182 ), 183 true 184 ); 185 186 if ( is_wp_error( $result ) ) { 187 return array( 188 'success' => false, 189 'message' => $result->get_error_message(), 190 ); 191 } 192 193 // Get status label. 194 $status_labels = array( 195 'publish' => __( 'Published', 'commandify' ), 196 'draft' => __( 'Draft', 'commandify' ), 197 'pending' => __( 'Pending Review', 'commandify' ), 198 'private' => __( 'Private', 'commandify' ), 199 ); 200 201 return array( 202 'success' => true, 203 /* translators: %s: New status label */ 204 'message' => sprintf( __( 'Status changed to %s', 'commandify' ), $status_labels[ $new_status ] ), 205 ); 206 } -
commandify/trunk/languages/commandify.pot
r3405278 r3407178 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2025-1 1-19T08:17:52+00:00\n"12 "POT-Creation-Date: 2025-12-01T18:45:13+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.9.0\n" … … 36 36 37 37 #: includes/core-commands/action-commands.php:17 38 #: includes/Settings.php: 22838 #: includes/Settings.php:425 39 39 msgid "Clear Cache" 40 40 msgstr "" … … 48 48 msgstr "" 49 49 50 #: includes/core-commands/action-commands.php:3 650 #: includes/core-commands/action-commands.php:37 51 51 msgid "Clearing cache..." 52 52 msgstr "" 53 53 54 #: includes/core-commands/action-commands.php:4 454 #: includes/core-commands/action-commands.php:45 55 55 msgid "Check for Updates" 56 56 msgstr "" 57 57 58 #: includes/core-commands/action-commands.php:4 558 #: includes/core-commands/action-commands.php:46 59 59 msgid "Check for WordPress, plugin, and theme updates" 60 60 msgstr "" 61 61 62 62 #. translators: %d: Number of WordPress updates 63 #: includes/core-commands/action-commands.php:6 563 #: includes/core-commands/action-commands.php:66 64 64 msgid "%d WordPress update" 65 65 msgstr "" 66 66 67 67 #. translators: %d: Number of plugin updates 68 #: includes/core-commands/action-commands.php: 6968 #: includes/core-commands/action-commands.php:70 69 69 msgid "%d plugin update(s)" 70 70 msgstr "" 71 71 72 72 #. translators: %d: Number of theme updates 73 #: includes/core-commands/action-commands.php:7 373 #: includes/core-commands/action-commands.php:74 74 74 msgid "%d theme update(s)" 75 75 msgstr "" 76 76 77 77 #. translators: %s: List of available updates 78 #: includes/core-commands/action-commands.php:7 878 #: includes/core-commands/action-commands.php:79 79 79 msgid "Found: %s" 80 80 msgstr "" 81 81 82 #: includes/core-commands/action-commands.php: 7982 #: includes/core-commands/action-commands.php:80 83 83 msgid "Everything is up to date!" 84 84 msgstr "" 85 85 86 #: includes/core-commands/action-commands.php:9 786 #: includes/core-commands/action-commands.php:99 87 87 msgid "Checking for updates..." 88 88 msgstr "" 89 89 90 #: includes/core-commands/action-commands.php:105 90 #: includes/core-commands/action-commands.php:107 91 #: includes/core-commands/action-commands.php:118 92 #: includes/core-commands/action-commands.php:129 93 msgid "Empty Trash" 94 msgstr "" 95 96 #: includes/core-commands/action-commands.php:108 97 msgid "Permanently delete all trashed items by post type" 98 msgstr "" 99 91 100 #: includes/core-commands/action-commands.php:116 92 #: includes/core-commands/action-commands.php:12793 msgid "Empty Trash"94 msgstr ""95 96 #: includes/core-commands/action-commands.php:10697 msgid "Permanently delete all trashed items by post type"98 msgstr ""99 100 #: includes/core-commands/action-commands.php:114101 101 msgid "Emptying trash..." 102 102 msgstr "" 103 103 104 #: includes/core-commands/action-commands.php:11 7104 #: includes/core-commands/action-commands.php:119 105 105 msgid "Select a post type to permanently delete all trashed items. This action cannot be undone." 106 106 msgstr "" 107 107 108 #: includes/core-commands/action-commands.php:12 1108 #: includes/core-commands/action-commands.php:123 109 109 msgid "Post Type" 110 110 msgstr "" 111 111 112 #: includes/core-commands/action-commands.php:13 6112 #: includes/core-commands/action-commands.php:138 113 113 msgid "Flush Rewrite Rules" 114 114 msgstr "" 115 115 116 #: includes/core-commands/action-commands.php:13 7116 #: includes/core-commands/action-commands.php:139 117 117 msgid "Regenerate permalink rewrite rules" 118 118 msgstr "" 119 119 120 #: includes/core-commands/action-commands.php:14 4120 #: includes/core-commands/action-commands.php:146 121 121 msgid "Rewrite rules flushed successfully! Permalink structure has been regenerated." 122 122 msgstr "" 123 123 124 #: includes/core-commands/action-commands.php:15 5124 #: includes/core-commands/action-commands.php:158 125 125 msgid "Flushing rewrite rules..." 126 126 msgstr "" 127 127 128 #: includes/core-commands/action-commands.php:217 128 #: includes/core-commands/action-commands.php:166 129 msgid "Logout" 130 msgstr "" 131 132 #: includes/core-commands/action-commands.php:167 133 msgid "Log out from WordPress" 134 msgstr "" 135 136 #: includes/core-commands/action-commands.php:190 137 msgid "Logged out successfully" 138 msgstr "" 139 140 #: includes/core-commands/action-commands.php:200 141 msgid "Are you sure you want to log out?" 142 msgstr "" 143 144 #: includes/core-commands/action-commands.php:264 129 145 msgid "Post type is required" 130 146 msgstr "" 131 147 132 #: includes/core-commands/action-commands.php:2 26148 #: includes/core-commands/action-commands.php:273 133 149 msgid "Invalid post type" 134 150 msgstr "" 135 151 136 #: includes/core-commands/action-commands.php:2 34152 #: includes/core-commands/action-commands.php:281 137 153 msgid "You do not have permission to delete posts of this type" 138 154 msgstr "" 139 155 140 156 #. translators: %s: Post type label 141 #: includes/core-commands/action-commands.php: 250142 #: includes/core-commands/action-commands.php: 295143 #: includes/core-commands/action-commands.php: 363157 #: includes/core-commands/action-commands.php:301 158 #: includes/core-commands/action-commands.php:348 159 #: includes/core-commands/action-commands.php:417 144 160 msgid "No trashed %s found" 145 161 msgstr "" 146 162 147 163 #. translators: %1$d: Number deleted, %2$s: Post type label 148 #: includes/core-commands/action-commands.php: 293164 #: includes/core-commands/action-commands.php:346 149 165 msgid "Successfully deleted %1$d trashed %2$s" 150 166 msgstr "" 151 167 152 168 #. translators: %1$d: Number deleted, %3$s: Post type label 153 #: includes/core-commands/action-commands.php: 357169 #: includes/core-commands/action-commands.php:411 154 170 msgid "Deleted %1$d trashed %3$s" 155 171 msgstr "" 156 172 157 173 #. translators: %d: Number remaining 158 #: includes/core-commands/action-commands.php: 357159 #: pro/src/Features/ActionCommands.php:2 51160 #: pro/src/Features/ActionCommands.php:4 65161 #: pro/src/Features/ActionCommands.php:6 48174 #: includes/core-commands/action-commands.php:411 175 #: pro/src/Features/ActionCommands.php:222 176 #: pro/src/Features/ActionCommands.php:442 177 #: pro/src/Features/ActionCommands.php:633 162 178 msgid "%d remaining" 163 179 msgstr "" … … 223 239 #: includes/core-commands/installation-commands.php:136 224 240 #: includes/core-commands/installation-commands.php:261 225 #: includes/RestApi.php: 390226 #: includes/RestApi.php:5 05241 #: includes/RestApi.php:404 242 #: includes/RestApi.php:528 227 243 msgid "Activate" 228 244 msgstr "" … … 251 267 msgstr "" 252 268 269 #: includes/core-commands/navigation-commands.php:210 270 msgid "Visit Site" 271 msgstr "" 272 273 #: includes/core-commands/navigation-commands.php:211 274 msgid "Open your website in a new tab" 275 msgstr "" 276 253 277 #. translators: %s: Menu item title 254 #: includes/core-commands/navigation-commands.php: 348255 #: includes/core-commands/navigation-commands.php: 387278 #: includes/core-commands/navigation-commands.php:428 279 #: includes/core-commands/navigation-commands.php:467 256 280 msgid "Navigate to %s" 257 281 msgstr "" … … 305 329 #: includes/core-commands/plugin-theme-commands.php:123 306 330 #: includes/core-commands/plugin-theme-commands.php:239 307 #: includes/RestApi.php: 395308 #: includes/RestApi.php:5 10331 #: includes/RestApi.php:409 332 #: includes/RestApi.php:533 309 333 msgid "Activating %s..." 310 334 msgstr "" … … 320 344 321 345 #. translators: %s: Post type label (Posts, Pages, etc.) 322 #: includes/core-commands/search-commands.php: 79346 #: includes/core-commands/search-commands.php:134 323 347 msgid "Search %s" 324 348 msgstr "" 325 349 326 350 #. translators: %s: Post type label in lowercase 327 #: includes/core-commands/search-commands.php: 81351 #: includes/core-commands/search-commands.php:136 328 352 msgid "Find %s by title or content" 329 353 msgstr "" 330 354 331 355 #. translators: %s: Post type label in lowercase 332 #: includes/core-commands/search-commands.php: 92356 #: includes/core-commands/search-commands.php:147 333 357 msgid "Search %s..." 334 358 msgstr "" 335 359 336 #: includes/core-commands/search-commands.php:1 03360 #: includes/core-commands/search-commands.php:161 337 361 msgid "Search Users" 338 362 msgstr "" 339 363 340 #: includes/core-commands/search-commands.php:1 04364 #: includes/core-commands/search-commands.php:162 341 365 msgid "Find users by name or email" 342 366 msgstr "" 343 367 344 #: includes/core-commands/search-commands.php:1 12368 #: includes/core-commands/search-commands.php:170 345 369 msgid "Search users..." 346 370 msgstr "" 347 371 348 #: includes/core-commands/search-commands.php:1 22372 #: includes/core-commands/search-commands.php:183 349 373 msgid "Search Media" 350 374 msgstr "" 351 375 352 #: includes/core-commands/search-commands.php:1 23376 #: includes/core-commands/search-commands.php:184 353 377 msgid "Find media files by name" 354 378 msgstr "" 355 379 356 #: includes/core-commands/search-commands.php:1 31380 #: includes/core-commands/search-commands.php:192 357 381 msgid "Search media..." 358 382 msgstr "" 359 383 360 #: includes/core-commands/search-commands.php:178 361 #: includes/core-commands/search-commands.php:319 362 #: PATTERN_REGISTRATION_EXAMPLE.php:251 384 #: includes/core-commands/search-commands.php:254 385 #: includes/core-commands/search-commands.php:485 363 386 #: pro/src/Features/DynamicPatterns.php:395 364 387 msgid "Edit" 365 388 msgstr "" 366 389 367 #: includes/core-commands/search-commands.php: 191390 #: includes/core-commands/search-commands.php:267 368 391 msgid "Preview" 369 392 msgstr "" 370 393 371 #: includes/core-commands/search-commands.php:2 03372 #: includes/core-commands/search-commands.php: 327394 #: includes/core-commands/search-commands.php:279 395 #: includes/core-commands/search-commands.php:493 373 396 #: pro/src/Features/DynamicPatterns.php:406 374 397 msgid "View" 375 398 msgstr "" 376 399 377 #: includes/core-commands/search-commands.php:214 378 #: includes/core-commands/search-commands.php:335 400 #: includes/core-commands/search-commands.php:292 401 #: includes/functions.php:95 402 #: includes/functions.php:195 403 msgid "Published" 404 msgstr "" 405 406 #: includes/core-commands/search-commands.php:293 407 #: includes/functions.php:96 408 #: includes/functions.php:196 409 msgid "Draft" 410 msgstr "" 411 412 #: includes/core-commands/search-commands.php:294 413 #: includes/functions.php:97 414 #: includes/functions.php:197 415 msgid "Pending Review" 416 msgstr "" 417 418 #: includes/core-commands/search-commands.php:295 419 #: includes/functions.php:98 420 #: includes/functions.php:198 421 msgid "Private" 422 msgstr "" 423 424 #: includes/core-commands/search-commands.php:300 425 #: includes/core-commands/search-commands.php:319 426 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:363 427 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:382 428 msgid "Change Status" 429 msgstr "" 430 431 #: includes/core-commands/search-commands.php:304 432 msgid "Changing status..." 433 msgstr "" 434 435 #: includes/core-commands/search-commands.php:306 436 msgid "Change Post Status" 437 msgstr "" 438 439 #: includes/core-commands/search-commands.php:307 440 msgid "Select a new status for this post." 441 msgstr "" 442 443 #: includes/core-commands/search-commands.php:311 444 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:374 445 msgid "New Status" 446 msgstr "" 447 448 #: includes/core-commands/search-commands.php:327 449 #: includes/core-commands/search-commands.php:501 379 450 msgid "Delete Permanently" 380 451 msgstr "" 381 452 382 #: includes/core-commands/search-commands.php: 214383 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:4 22384 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:4 30453 #: includes/core-commands/search-commands.php:327 454 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:448 455 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:456 385 456 msgid "Move to Trash" 386 457 msgstr "" 387 458 388 459 #. translators: %s: Post type singular label in lowercase 389 #: includes/core-commands/search-commands.php: 220460 #: includes/core-commands/search-commands.php:333 390 461 msgid "Permanently delete this %s?" 391 462 msgstr "" 392 463 393 #: includes/core-commands/search-commands.php: 227464 #: includes/core-commands/search-commands.php:340 394 465 #: pro/src/Features/DynamicPatterns.php:420 395 466 msgid "(No title)" 396 467 msgstr "" 397 468 398 #: includes/core-commands/search-commands.php: 250469 #: includes/core-commands/search-commands.php:373 399 470 #: pro/src/Features/DynamicPatterns.php:238 400 471 #: pro/src/Features/DynamicPatterns.php:461 … … 403 474 404 475 #. translators: 1: Email address or filename, 2: Role or file size 405 #: includes/core-commands/search-commands.php: 256406 #: includes/core-commands/search-commands.php: 312476 #: includes/core-commands/search-commands.php:382 477 #: includes/core-commands/search-commands.php:478 407 478 msgid "%1$s • %2$s" 408 479 msgstr "" 409 480 410 #: includes/core-commands/search-commands.php: 263481 #: includes/core-commands/search-commands.php:389 411 482 #: pro/src/Features/DynamicPatterns.php:260 412 483 #: pro/src/Features/DynamicPatterns.php:483 … … 414 485 msgstr "" 415 486 416 #: includes/core-commands/search-commands.php: 271487 #: includes/core-commands/search-commands.php:397 417 488 #: pro/src/Features/DynamicPatterns.php:314 418 489 #: pro/src/Features/DynamicPatterns.php:537 … … 420 491 msgstr "" 421 492 422 #: includes/core-commands/search-commands.php: 279493 #: includes/core-commands/search-commands.php:405 423 494 #: pro/src/Features/DynamicPatterns.php:321 424 495 #: pro/src/Features/DynamicPatterns.php:544 425 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:18 5426 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:3 24427 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php: 399428 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:5 02496 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:189 497 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:334 498 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:413 499 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:528 429 500 msgid "Send Email" 430 501 msgstr "" 431 502 432 #: includes/core-commands/search-commands.php: 340503 #: includes/core-commands/search-commands.php:506 433 504 msgid "Permanently delete this media file?" 434 505 msgstr "" 435 506 436 507 #: includes/core-commands/user-commands.php:16 437 #: includes/Settings.php: 234508 #: includes/Settings.php:431 438 509 msgid "User Preferences" 439 510 msgstr "" … … 527 598 msgstr "" 528 599 600 #: includes/functions.php:136 601 msgid "Invalid command format" 602 msgstr "" 603 604 #: includes/functions.php:147 605 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:762 606 msgid "New status is required" 607 msgstr "" 608 609 #: includes/functions.php:156 610 msgid "Post not found" 611 msgstr "" 612 613 #: includes/functions.php:164 614 msgid "You do not have permission to edit this post" 615 msgstr "" 616 617 #: includes/functions.php:173 618 msgid "Invalid status" 619 msgstr "" 620 621 #. translators: %s: New status label 622 #: includes/functions.php:204 623 msgid "Status changed to %s" 624 msgstr "" 625 529 626 #. translators: %s: Post type label 530 #: includes/RestApi.php:24 6627 #: includes/RestApi.php:249 531 628 msgid "%s deleted permanently" 532 629 msgstr "" 533 630 534 631 #. translators: %s: Post type label 535 #: includes/RestApi.php:25 5632 #: includes/RestApi.php:258 536 633 msgid "%s moved to trash" 537 634 msgstr "" 538 635 539 #: includes/RestApi.php:27 1636 #: includes/RestApi.php:274 540 637 msgid "Media deleted permanently" 541 638 msgstr "" 542 639 543 #: includes/RestApi.php: 399640 #: includes/RestApi.php:413 544 641 msgid "View in Plugins" 545 642 msgstr "" 546 643 547 644 #. translators: %s: Plugin name 548 #: includes/RestApi.php:4 10645 #: includes/RestApi.php:424 549 646 msgid "Plugin \"%s\" installed successfully!" 550 647 msgstr "" 551 648 552 #: includes/RestApi.php:4 35649 #: includes/RestApi.php:452 553 650 msgid "Plugin activated successfully!" 554 651 msgstr "" 555 652 556 #: includes/RestApi.php:4 54653 #: includes/RestApi.php:474 557 654 msgid "Plugin deactivated successfully!" 558 655 msgstr "" 559 656 560 #: includes/RestApi.php:5 14657 #: includes/RestApi.php:537 561 658 msgid "Customize" 562 659 msgstr "" 563 660 564 #: includes/RestApi.php:5 21661 #: includes/RestApi.php:544 565 662 msgid "View in Themes" 566 663 msgstr "" 567 664 568 665 #. translators: %s: Theme name 569 #: includes/RestApi.php:5 32666 #: includes/RestApi.php:555 570 667 msgid "Theme \"%s\" installed successfully!" 571 668 msgstr "" 572 669 573 670 #. translators: %s: Theme name 574 #: includes/RestApi.php:5 54671 #: includes/RestApi.php:580 575 672 msgid "Theme \"%s\" activated successfully!" 576 673 msgstr "" 577 674 578 #: includes/RestApi.php:6 09675 #: includes/RestApi.php:636 579 676 msgid "Preferences updated successfully" 580 677 msgstr "" … … 593 690 594 691 #: includes/Settings.php:60 595 msgid "Enable or disablethe command palette for all users"692 msgid "Enable the command palette for all users" 596 693 msgstr "" 597 694 … … 640 737 msgstr "" 641 738 642 #: includes/Settings.php:174 643 msgid "Use \"mod\" for Cmd/Ctrl, \"shift\", \"alt\", or specific keys like \"k\", \"p\", etc." 644 msgstr "" 645 646 #: includes/Settings.php:206 739 #: includes/Settings.php:167 740 msgid "⌘ + K" 741 msgstr "" 742 743 #: includes/Settings.php:168 744 msgid "Ctrl+K" 745 msgstr "" 746 747 #: includes/Settings.php:171 748 msgid "⌘ + P" 749 msgstr "" 750 751 #: includes/Settings.php:172 752 msgid "Ctrl+P" 753 msgstr "" 754 755 #: includes/Settings.php:175 756 msgid "⌘ + E" 757 msgstr "" 758 759 #: includes/Settings.php:176 760 msgid "Ctrl+E" 761 msgstr "" 762 763 #: includes/Settings.php:179 764 msgid "⌘ + ⇧ + K" 765 msgstr "" 766 767 #: includes/Settings.php:180 768 msgid "Ctrl+Shift+K" 769 msgstr "" 770 771 #: includes/Settings.php:183 772 msgid "⌥Space" 773 msgstr "" 774 775 #: includes/Settings.php:184 776 msgid "Alt+Space" 777 msgstr "" 778 779 #: includes/Settings.php:187 780 msgid "⌘ + ⇧ + P" 781 msgstr "" 782 783 #: includes/Settings.php:188 784 msgid "Ctrl+Shift+P" 785 msgstr "" 786 787 #: includes/Settings.php:191 788 msgid "⌘ + ⇧ + E" 789 msgstr "" 790 791 #: includes/Settings.php:192 792 msgid "Ctrl+Shift+E" 793 msgstr "" 794 795 #: includes/Settings.php:195 796 msgid "⌘ + ⌥ + K" 797 msgstr "" 798 799 #: includes/Settings.php:196 800 msgid "Ctrl+Alt+K" 801 msgstr "" 802 803 #: includes/Settings.php:199 804 msgid "⌘ + ⌥ + P" 805 msgstr "" 806 807 #: includes/Settings.php:200 808 msgid "Ctrl+Alt+P" 809 msgstr "" 810 811 #: includes/Settings.php:240 812 msgid "Click the field and press your keys, or use the preset buttons above." 813 msgstr "" 814 815 #: includes/Settings.php:403 647 816 msgid "Cache cleared successfully!" 648 817 msgstr "" 649 818 650 #: includes/Settings.php: 217819 #: includes/Settings.php:414 651 820 msgid "Save Settings" 652 821 msgstr "" 653 822 654 #: includes/Settings.php: 223823 #: includes/Settings.php:420 655 824 msgid "Cache Management" 656 825 msgstr "" 657 826 658 #: includes/Settings.php: 224827 #: includes/Settings.php:421 659 828 msgid "Clear all cached commands and search results." 660 829 msgstr "" 661 830 662 #: includes/Settings.php: 235831 #: includes/Settings.php:432 663 832 msgid "Users can customize their own preferences by clicking their profile in the command palette." 664 833 msgstr "" 665 834 666 #: includes/Settings.php: 236835 #: includes/Settings.php:433 667 836 msgid "Available user preferences:" 668 837 msgstr "" 669 838 670 #: includes/Settings.php: 238839 #: includes/Settings.php:435 671 840 msgid "Keyboard shortcut override" 672 841 msgstr "" 673 842 674 #: includes/Settings.php: 239843 #: includes/Settings.php:436 675 844 msgid "Results per page" 676 845 msgstr "" 677 846 678 #: includes/Settings.php: 240847 #: includes/Settings.php:437 679 848 msgid "Search debounce delay" 680 849 msgstr "" 681 850 682 #: includes/Settings.php: 241851 #: includes/Settings.php:438 683 852 msgid "Hidden commands list" 684 msgstr ""685 686 #: PATTERN_REGISTRATION_EXAMPLE.php:23687 msgid "Product ID Pattern"688 msgstr ""689 690 #: PATTERN_REGISTRATION_EXAMPLE.php:29691 #: PATTERN_REGISTRATION_EXAMPLE.php:48692 #: PATTERN_REGISTRATION_EXAMPLE.php:67693 msgid "PRODUCT FOUND"694 msgstr ""695 696 #: PATTERN_REGISTRATION_EXAMPLE.php:42697 msgid "Product ID Pattern (Simple)"698 msgstr ""699 700 #: PATTERN_REGISTRATION_EXAMPLE.php:61701 msgid "Product Slug Pattern"702 msgstr ""703 704 #: PATTERN_REGISTRATION_EXAMPLE.php:139705 #: PATTERN_REGISTRATION_EXAMPLE.php:195706 #: PATTERN_REGISTRATION_EXAMPLE.php:219707 #: PATTERN_REGISTRATION_EXAMPLE.php:277708 #: PATTERN_REGISTRATION_EXAMPLE.php:464709 #: PATTERN_REGISTRATION_EXAMPLE.php:510710 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:678711 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:733712 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:785713 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:820714 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:880715 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:921716 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:971717 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:1011718 msgid "Product not found"719 msgstr ""720 721 #: PATTERN_REGISTRATION_EXAMPLE.php:159722 #: PATTERN_REGISTRATION_EXAMPLE.php:298723 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:440724 msgid "Edit Product"725 msgstr ""726 727 #: PATTERN_REGISTRATION_EXAMPLE.php:166728 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:449729 msgid "View Product"730 msgstr ""731 732 #: PATTERN_REGISTRATION_EXAMPLE.php:245733 msgid "Custom product preview"734 msgstr ""735 736 #: PATTERN_REGISTRATION_EXAMPLE.php:306737 #: PATTERN_REGISTRATION_EXAMPLE.php:336738 msgid "Update Price"739 msgstr ""740 741 #: PATTERN_REGISTRATION_EXAMPLE.php:311742 msgid "Update Product Price"743 msgstr ""744 745 #. translators: %s: Product title746 #: PATTERN_REGISTRATION_EXAMPLE.php:313747 msgid "Update price for: %s"748 msgstr ""749 750 #: PATTERN_REGISTRATION_EXAMPLE.php:317751 msgid "Price"752 msgstr ""753 754 #: PATTERN_REGISTRATION_EXAMPLE.php:321755 msgid "Enter new price"756 msgstr ""757 758 #: PATTERN_REGISTRATION_EXAMPLE.php:327759 msgid "Sale Price (optional)"760 msgstr ""761 762 #: PATTERN_REGISTRATION_EXAMPLE.php:331763 msgid "Enter sale price"764 msgstr ""765 766 #: PATTERN_REGISTRATION_EXAMPLE.php:344767 msgid "Bulk Update"768 msgstr ""769 770 #: PATTERN_REGISTRATION_EXAMPLE.php:348771 msgid "Bulk Update Product"772 msgstr ""773 774 #. translators: %s: Product title775 #: PATTERN_REGISTRATION_EXAMPLE.php:350776 msgid "Update multiple fields for: %s"777 msgstr ""778 779 #: PATTERN_REGISTRATION_EXAMPLE.php:354780 msgid "Title"781 msgstr ""782 783 #: PATTERN_REGISTRATION_EXAMPLE.php:361784 msgid "Status"785 msgstr ""786 787 #: PATTERN_REGISTRATION_EXAMPLE.php:366788 msgid "Published"789 msgstr ""790 791 #: PATTERN_REGISTRATION_EXAMPLE.php:367792 msgid "Draft"793 msgstr ""794 795 #: PATTERN_REGISTRATION_EXAMPLE.php:368796 msgid "Pending Review"797 msgstr ""798 799 #: PATTERN_REGISTRATION_EXAMPLE.php:373800 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:503801 msgid "Stock Quantity"802 msgstr ""803 804 #: PATTERN_REGISTRATION_EXAMPLE.php:377805 msgid "Enter stock quantity"806 msgstr ""807 808 #: PATTERN_REGISTRATION_EXAMPLE.php:381809 msgid "Update Product"810 msgstr ""811 812 #: PATTERN_REGISTRATION_EXAMPLE.php:472813 msgid "Price must be greater than 0"814 msgstr ""815 816 #: PATTERN_REGISTRATION_EXAMPLE.php:486817 msgid "Product price updated successfully"818 msgstr ""819 820 #: PATTERN_REGISTRATION_EXAMPLE.php:541821 msgid "Product updated successfully"822 853 msgstr "" 823 854 … … 929 960 930 961 #: pro/src/Features/ActionCommands.php:85 931 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:4 31932 #: assets/src/components/CommandPalette.jsx:7 80962 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:457 963 #: assets/src/components/CommandPalette.jsx:791 933 964 #: assets/src/components/ConfirmDialog.jsx:43 934 965 #: assets/src/components/FormModal.jsx:302 … … 936 967 msgstr "" 937 968 938 #: pro/src/Features/ActionCommands.php:95 939 msgid "Enable Maintenance Mode" 940 msgstr "" 941 942 #: pro/src/Features/ActionCommands.php:96 943 msgid "Put the site in maintenance mode" 944 msgstr "" 945 946 #: pro/src/Features/ActionCommands.php:105 947 msgid "Enabling maintenance mode..." 948 msgstr "" 949 950 #: pro/src/Features/ActionCommands.php:113 951 msgid "Disable Maintenance Mode" 952 msgstr "" 953 954 #: pro/src/Features/ActionCommands.php:114 955 msgid "Remove maintenance mode and make site live" 956 msgstr "" 957 958 #: pro/src/Features/ActionCommands.php:123 959 msgid "Disabling maintenance mode..." 960 msgstr "" 961 962 #: pro/src/Features/ActionCommands.php:158 963 #: pro/src/Features/ActionCommands.php:185 964 #: pro/src/Features/ActionCommands.php:255 969 #: pro/src/Features/ActionCommands.php:125 970 #: pro/src/Features/ActionCommands.php:153 971 #: pro/src/Features/ActionCommands.php:226 965 972 msgid "No transients found to delete" 966 973 msgstr "" 967 974 968 975 #. translators: %d: Number of transients deleted 969 #: pro/src/Features/ActionCommands.php:1 84976 #: pro/src/Features/ActionCommands.php:152 970 977 msgid "Successfully deleted %d transients" 971 978 msgstr "" 972 979 973 980 #. translators: %1$d: Number deleted 974 #: pro/src/Features/ActionCommands.php:2 51981 #: pro/src/Features/ActionCommands.php:222 975 982 msgid "Deleted %1$d transients" 976 983 msgstr "" 977 984 978 #: pro/src/Features/ActionCommands.php: 321979 #: pro/src/Features/ActionCommands.php:3 96985 #: pro/src/Features/ActionCommands.php:297 986 #: pro/src/Features/ActionCommands.php:372 980 987 msgid "No images found to regenerate" 981 988 msgstr "" 982 989 983 990 #. translators: %d: Number of thumbnails regenerated 984 #: pro/src/Features/ActionCommands.php:3 54985 #: pro/src/Features/ActionCommands.php:4 57991 #: pro/src/Features/ActionCommands.php:330 992 #: pro/src/Features/ActionCommands.php:434 986 993 msgid "%d thumbnails regenerated" 987 994 msgstr "" 988 995 989 996 #. translators: %d: Number of errors 990 #: pro/src/Features/ActionCommands.php:3 58991 #: pro/src/Features/ActionCommands.php:4 61997 #: pro/src/Features/ActionCommands.php:334 998 #: pro/src/Features/ActionCommands.php:438 992 999 msgid "%d errors" 993 1000 msgstr "" 994 1001 995 #: pro/src/Features/ActionCommands.php:3 63996 #: pro/src/Features/ActionCommands.php: 406997 #: pro/src/Features/ActionCommands.php:4 701002 #: pro/src/Features/ActionCommands.php:339 1003 #: pro/src/Features/ActionCommands.php:382 1004 #: pro/src/Features/ActionCommands.php:447 998 1005 msgid "Thumbnail regeneration completed" 999 1006 msgstr "" 1000 1007 1001 #: pro/src/Features/ActionCommands.php:5 191002 #: pro/src/Features/ActionCommands.php:5 461003 #: pro/src/Features/ActionCommands.php:5 981008 #: pro/src/Features/ActionCommands.php:502 1009 #: pro/src/Features/ActionCommands.php:530 1010 #: pro/src/Features/ActionCommands.php:582 1004 1011 msgid "No spam comments found" 1005 1012 msgstr "" 1006 1013 1007 1014 #. translators: %d: Number of spam comments deleted 1008 #: pro/src/Features/ActionCommands.php:5 631015 #: pro/src/Features/ActionCommands.php:547 1009 1016 msgid "Successfully deleted %d spam comment(s)" 1010 1017 msgstr "" 1011 1018 1012 #: pro/src/Features/ActionCommands.php:5 641013 #: pro/src/Features/ActionCommands.php:6 521019 #: pro/src/Features/ActionCommands.php:548 1020 #: pro/src/Features/ActionCommands.php:637 1014 1021 msgid "Failed to delete spam comments" 1015 1022 msgstr "" 1016 1023 1017 #: pro/src/Features/ActionCommands.php: 6081024 #: pro/src/Features/ActionCommands.php:592 1018 1025 msgid "All spam comments deleted successfully" 1019 1026 msgstr "" 1020 1027 1021 1028 #. translators: %1$d: Number deleted 1022 #: pro/src/Features/ActionCommands.php:6 481029 #: pro/src/Features/ActionCommands.php:633 1023 1030 msgid "Deleted %1$d spam comment(s)" 1024 msgstr ""1025 1026 #: pro/src/Features/ActionCommands.php:6981027 msgid "Failed to enable maintenance mode. Check file permissions."1028 msgstr ""1029 1030 #: pro/src/Features/ActionCommands.php:7041031 msgid "Maintenance mode enabled. Site is now offline."1032 msgstr ""1033 1034 #: pro/src/Features/ActionCommands.php:7201035 msgid "Failed to disable maintenance mode. Check file permissions."1036 msgstr ""1037 1038 #: pro/src/Features/ActionCommands.php:7271039 msgid "Maintenance mode disabled. Site is now live."1040 1031 msgstr "" 1041 1032 … … 1046 1037 #: pro/src/Features/DynamicPatterns.php:45 1047 1038 #: pro/src/Features/DynamicPatterns.php:81 1048 #: pro/assets/src/js/dynamic-patterns.js:1 961039 #: pro/assets/src/js/dynamic-patterns.js:188 1049 1040 msgid "USER FOUND" 1050 1041 msgstr "" … … 1063 1054 1064 1055 #: pro/src/Features/DynamicPatterns.php:137 1065 #: pro/assets/src/js/dynamic-patterns.js: 351066 #: pro/assets/src/js/dynamic-patterns.js:1 711067 #: pro/assets/src/js/dynamic-patterns.js:2 221068 #: pro/assets/src/js/dynamic-patterns.js:2 361056 #: pro/assets/src/js/dynamic-patterns.js:27 1057 #: pro/assets/src/js/dynamic-patterns.js:163 1058 #: pro/assets/src/js/dynamic-patterns.js:214 1059 #: pro/assets/src/js/dynamic-patterns.js:228 1069 1060 msgid "FOUND" 1070 1061 msgstr "" … … 1218 1209 #: pro/src/Features/SettingsCommands.php:210 1219 1210 #: pro/src/Features/SettingsCommands.php:270 1220 #: pro/assets/src/js/settings-commands.js:2 431221 #: pro/assets/src/js/settings-commands.js: 2991222 #: pro/assets/src/js/settings-commands.js:3 591211 #: pro/assets/src/js/settings-commands.js:237 1212 #: pro/assets/src/js/settings-commands.js:301 1213 #: pro/assets/src/js/settings-commands.js:361 1223 1214 msgid "Setting updated successfully" 1224 1215 msgstr "" … … 1242 1233 msgstr "" 1243 1234 1244 #: pro/src/Features/SettingsCommands.php:41 91235 #: pro/src/Features/SettingsCommands.php:418 1245 1236 msgid "Invalid option selected" 1246 1237 msgstr "" 1247 1238 1248 #: pro/src/Features/SettingsCommands.php:46 11239 #: pro/src/Features/SettingsCommands.php:460 1249 1240 msgid "Enabled successfully" 1250 1241 msgstr "" 1251 1242 1252 #: pro/src/Features/SettingsCommands.php:46 11243 #: pro/src/Features/SettingsCommands.php:460 1253 1244 msgid "Disabled successfully" 1254 1245 msgstr "" 1255 1246 1256 #: pro/src/Features/SettingsCommands.php:46 81247 #: pro/src/Features/SettingsCommands.php:467 1257 1248 msgid "Toggle setting has no callback" 1258 1249 msgstr "" 1259 1250 1260 1251 #. translators: %s: Setting title 1261 #: pro/src/Features/SettingsCommands.php:49 21252 #: pro/src/Features/SettingsCommands.php:491 1262 1253 msgid "%s updated successfully" 1263 1254 msgstr "" 1264 1255 1265 #: pro/src/Features/SettingsCommands.php:49 51266 #: pro/assets/src/js/settings-commands.js:25 31267 #: pro/assets/src/js/settings-commands.js:2 581268 #: pro/assets/src/js/settings-commands.js:3 091269 #: pro/assets/src/js/settings-commands.js:31 41270 #: pro/assets/src/js/settings-commands.js:37 61271 #: pro/assets/src/js/settings-commands.js:38 11256 #: pro/src/Features/SettingsCommands.php:494 1257 #: pro/assets/src/js/settings-commands.js:255 1258 #: pro/assets/src/js/settings-commands.js:260 1259 #: pro/assets/src/js/settings-commands.js:311 1260 #: pro/assets/src/js/settings-commands.js:316 1261 #: pro/assets/src/js/settings-commands.js:378 1262 #: pro/assets/src/js/settings-commands.js:383 1272 1263 msgid "Failed to update setting" 1273 1264 msgstr "" 1274 1265 1275 #: pro/src/Features/SettingsCommands.php:49 81266 #: pro/src/Features/SettingsCommands.php:497 1276 1267 msgid "No save method configured. Provide either option_name or save_callback." 1277 1268 msgstr "" 1278 1269 1270 #: pro/src/Features/SettingsCommands.php:506 1271 msgid "5 posts" 1272 msgstr "" 1273 1279 1274 #: pro/src/Features/SettingsCommands.php:507 1280 msgid " 5posts"1275 msgid "10 posts" 1281 1276 msgstr "" 1282 1277 1283 1278 #: pro/src/Features/SettingsCommands.php:508 1284 msgid "1 0posts"1279 msgid "15 posts" 1285 1280 msgstr "" 1286 1281 1287 1282 #: pro/src/Features/SettingsCommands.php:509 1288 msgid " 15posts"1283 msgid "20 posts" 1289 1284 msgstr "" 1290 1285 1291 1286 #: pro/src/Features/SettingsCommands.php:510 1292 msgid "2 0posts"1287 msgid "25 posts" 1293 1288 msgstr "" 1294 1289 1295 1290 #: pro/src/Features/SettingsCommands.php:511 1296 msgid " 25posts"1291 msgid "50 posts" 1297 1292 msgstr "" 1298 1293 1299 1294 #: pro/src/Features/SettingsCommands.php:512 1300 msgid "50 posts"1301 msgstr ""1302 1303 #: pro/src/Features/SettingsCommands.php:5131304 1295 msgid "100 posts" 1305 1296 msgstr "" 1306 1297 1307 #: pro/src/Features/SettingsCommands.php:527 1298 #: pro/src/Features/SettingsCommands.php:530 1299 #: pro/src/Features/SettingsCommands.php:544 1300 msgid "Posts Per Page" 1301 msgstr "" 1302 1303 #: pro/src/Features/SettingsCommands.php:531 1304 msgid "Number of posts to show per page" 1305 msgstr "" 1306 1307 #: pro/src/Features/SettingsCommands.php:539 1308 msgid "Update Posts Per Page" 1309 msgstr "" 1310 1311 #. translators: %d: Number of posts 1308 1312 #: pro/src/Features/SettingsCommands.php:540 1309 msgid "Posts Per Page"1310 msgstr ""1311 1312 #: pro/src/Features/SettingsCommands.php:5281313 msgid "Number of posts to show per page"1314 msgstr ""1315 1316 #: pro/src/Features/SettingsCommands.php:5351317 msgid "Update Posts Per Page"1318 msgstr ""1319 1320 #. translators: %d: Number of posts1321 #: pro/src/Features/SettingsCommands.php:5361322 1313 msgid "Current: %d posts" 1323 1314 msgstr "" 1324 1315 1325 #: pro/src/Features/SettingsCommands.php:547 1326 #: pro/src/Features/SettingsCommands.php:594 1316 #: pro/src/Features/SettingsCommands.php:551 1317 #: pro/src/Features/SettingsCommands.php:602 1318 #: pro/src/Features/SettingsCommands.php:651 1319 #: pro/src/Features/SettingsCommands.php:703 1320 #: pro/src/Features/SettingsCommands.php:749 1321 #: pro/src/Features/SettingsCommands.php:781 1322 #: pro/src/Features/SettingsCommands.php:813 1323 #: pro/src/Features/SettingsCommands.php:845 1324 #: pro/src/Features/SettingsCommands.php:877 1325 #: pro/src/Features/SettingsCommands.php:927 1326 #: pro/src/Features/SettingsCommands.php:959 1327 #: pro/src/Features/SettingsCommands.php:1010 1328 #: pro/src/Features/SettingsCommands.php:1131 1329 #: pro/src/Features/SettingsCommands.php:1200 1330 #: pro/src/Features/SettingsCommands.php:1248 1331 #: pro/src/Features/SettingsCommands.php:1282 1332 #: pro/src/Features/SettingsCommands.php:1330 1333 #: pro/src/Features/SettingsCommands.php:1380 1334 #: pro/src/Features/SettingsCommands.php:1442 1335 msgid "Update" 1336 msgstr "" 1337 1338 #: pro/src/Features/SettingsCommands.php:582 1339 #: pro/src/Features/SettingsCommands.php:595 1340 msgid "Date Format" 1341 msgstr "" 1342 1343 #: pro/src/Features/SettingsCommands.php:583 1344 msgid "How dates are displayed" 1345 msgstr "" 1346 1347 #: pro/src/Features/SettingsCommands.php:590 1348 msgid "Update Date Format" 1349 msgstr "" 1350 1351 #. translators: %s: Current value 1352 #: pro/src/Features/SettingsCommands.php:591 1353 #: pro/src/Features/SettingsCommands.php:640 1354 #: pro/src/Features/SettingsCommands.php:692 1355 #: pro/src/Features/SettingsCommands.php:738 1356 #: pro/src/Features/SettingsCommands.php:771 1357 #: pro/src/Features/SettingsCommands.php:803 1358 #: pro/src/Features/SettingsCommands.php:835 1359 #: pro/src/Features/SettingsCommands.php:867 1360 #: pro/src/Features/SettingsCommands.php:916 1361 #: pro/src/Features/SettingsCommands.php:949 1362 #: pro/src/Features/SettingsCommands.php:999 1363 #: pro/src/Features/SettingsCommands.php:1094 1364 #: pro/src/Features/SettingsCommands.php:1189 1365 #: pro/src/Features/SettingsCommands.php:1237 1366 #: pro/src/Features/SettingsCommands.php:1319 1367 #: pro/src/Features/SettingsCommands.php:1369 1368 #: pro/src/Features/SettingsCommands.php:1431 1369 #: pro/assets/src/js/settings-commands.js:62 1370 msgid "Current: %s" 1371 msgstr "" 1372 1373 #: pro/src/Features/SettingsCommands.php:631 1374 #: pro/src/Features/SettingsCommands.php:644 1375 msgid "Time Format" 1376 msgstr "" 1377 1378 #: pro/src/Features/SettingsCommands.php:632 1379 msgid "How times are displayed" 1380 msgstr "" 1381 1327 1382 #: pro/src/Features/SettingsCommands.php:639 1328 #: pro/src/Features/SettingsCommands.php:687 1329 #: pro/src/Features/SettingsCommands.php:729 1330 #: pro/src/Features/SettingsCommands.php:761 1331 #: pro/src/Features/SettingsCommands.php:793 1332 #: pro/src/Features/SettingsCommands.php:825 1333 #: pro/src/Features/SettingsCommands.php:857 1334 #: pro/src/Features/SettingsCommands.php:903 1335 #: pro/src/Features/SettingsCommands.php:935 1336 #: pro/src/Features/SettingsCommands.php:982 1337 #: pro/src/Features/SettingsCommands.php:1094 1338 #: pro/src/Features/SettingsCommands.php:1159 1339 #: pro/src/Features/SettingsCommands.php:1203 1383 msgid "Update Time Format" 1384 msgstr "" 1385 1386 #. translators: %s: Current value 1387 #: pro/src/Features/SettingsCommands.php:660 1388 #: pro/src/Features/SettingsCommands.php:692 1389 msgid "Sunday" 1390 msgstr "" 1391 1392 #: pro/src/Features/SettingsCommands.php:661 1393 msgid "Monday" 1394 msgstr "" 1395 1396 #: pro/src/Features/SettingsCommands.php:662 1397 msgid "Tuesday" 1398 msgstr "" 1399 1400 #: pro/src/Features/SettingsCommands.php:663 1401 msgid "Wednesday" 1402 msgstr "" 1403 1404 #: pro/src/Features/SettingsCommands.php:664 1405 msgid "Thursday" 1406 msgstr "" 1407 1408 #: pro/src/Features/SettingsCommands.php:665 1409 msgid "Friday" 1410 msgstr "" 1411 1412 #: pro/src/Features/SettingsCommands.php:666 1413 msgid "Saturday" 1414 msgstr "" 1415 1416 #: pro/src/Features/SettingsCommands.php:684 1417 #: pro/src/Features/SettingsCommands.php:696 1418 msgid "Week Starts On" 1419 msgstr "" 1420 1421 #: pro/src/Features/SettingsCommands.php:685 1422 msgid "First day of the week" 1423 msgstr "" 1424 1425 #: pro/src/Features/SettingsCommands.php:691 1426 msgid "Update Week Starts On" 1427 msgstr "" 1428 1429 #: pro/src/Features/SettingsCommands.php:725 1430 msgid "Uncategorized" 1431 msgstr "" 1432 1433 #: pro/src/Features/SettingsCommands.php:730 1434 msgid "Default Post Category" 1435 msgstr "" 1436 1437 #: pro/src/Features/SettingsCommands.php:731 1438 msgid "Category for new posts" 1439 msgstr "" 1440 1441 #: pro/src/Features/SettingsCommands.php:737 1442 msgid "Update Default Post Category" 1443 msgstr "" 1444 1445 #: pro/src/Features/SettingsCommands.php:742 1446 msgid "Default Category" 1447 msgstr "" 1448 1449 #: pro/src/Features/SettingsCommands.php:763 1450 #: pro/src/Features/SettingsCommands.php:775 1451 msgid "Site Tagline" 1452 msgstr "" 1453 1454 #: pro/src/Features/SettingsCommands.php:764 1455 msgid "Brief description of your site" 1456 msgstr "" 1457 1458 #: pro/src/Features/SettingsCommands.php:770 1459 msgid "Update Site Tagline" 1460 msgstr "" 1461 1462 #. translators: %s: Current value 1463 #: pro/src/Features/SettingsCommands.php:771 1464 #: pro/src/Features/SettingsCommands.php:949 1465 msgid "(empty)" 1466 msgstr "" 1467 1468 #: pro/src/Features/SettingsCommands.php:795 1469 msgid "Admin Email Address" 1470 msgstr "" 1471 1472 #: pro/src/Features/SettingsCommands.php:796 1473 msgid "Email address for admin notifications" 1474 msgstr "" 1475 1476 #: pro/src/Features/SettingsCommands.php:802 1477 msgid "Update Admin Email Address" 1478 msgstr "" 1479 1480 #: pro/src/Features/SettingsCommands.php:807 1481 msgid "Email Address" 1482 msgstr "" 1483 1484 #: pro/src/Features/SettingsCommands.php:827 1485 #: pro/src/Features/SettingsCommands.php:839 1486 msgid "WordPress Address (URL)" 1487 msgstr "" 1488 1489 #: pro/src/Features/SettingsCommands.php:828 1490 msgid "Where your WordPress core files live" 1491 msgstr "" 1492 1493 #: pro/src/Features/SettingsCommands.php:834 1494 msgid "Update WordPress Address" 1495 msgstr "" 1496 1497 #: pro/src/Features/SettingsCommands.php:859 1498 #: pro/src/Features/SettingsCommands.php:871 1499 msgid "Site Address (URL)" 1500 msgstr "" 1501 1502 #: pro/src/Features/SettingsCommands.php:860 1503 msgid "Public URL visitors use to reach your site" 1504 msgstr "" 1505 1506 #: pro/src/Features/SettingsCommands.php:866 1507 msgid "Update Site Address" 1508 msgstr "" 1509 1510 #. translators: %s: Current value 1511 #: pro/src/Features/SettingsCommands.php:887 1512 #: pro/src/Features/SettingsCommands.php:916 1513 msgid "Subscriber" 1514 msgstr "" 1515 1516 #: pro/src/Features/SettingsCommands.php:888 1517 msgid "Contributor" 1518 msgstr "" 1519 1520 #: pro/src/Features/SettingsCommands.php:889 1521 msgid "Author" 1522 msgstr "" 1523 1524 #: pro/src/Features/SettingsCommands.php:890 1525 msgid "Editor" 1526 msgstr "" 1527 1528 #: pro/src/Features/SettingsCommands.php:908 1529 msgid "Default User Role" 1530 msgstr "" 1531 1532 #: pro/src/Features/SettingsCommands.php:909 1533 msgid "Role assigned to new users" 1534 msgstr "" 1535 1536 #: pro/src/Features/SettingsCommands.php:915 1537 msgid "Update Default User Role" 1538 msgstr "" 1539 1540 #: pro/src/Features/SettingsCommands.php:920 1541 msgid "Default Role" 1542 msgstr "" 1543 1544 #: pro/src/Features/SettingsCommands.php:941 1545 #: pro/src/Features/SettingsCommands.php:953 1546 msgid "Site Title" 1547 msgstr "" 1548 1549 #: pro/src/Features/SettingsCommands.php:942 1550 msgid "The name of your site" 1551 msgstr "" 1552 1553 #: pro/src/Features/SettingsCommands.php:948 1554 msgid "Update Site Title" 1555 msgstr "" 1556 1557 #: pro/src/Features/SettingsCommands.php:991 1558 #: pro/src/Features/SettingsCommands.php:1003 1559 msgid "Timezone" 1560 msgstr "" 1561 1562 #: pro/src/Features/SettingsCommands.php:992 1563 msgid "Choose a city in the same timezone as you" 1564 msgstr "" 1565 1566 #: pro/src/Features/SettingsCommands.php:998 1567 msgid "Update Timezone" 1568 msgstr "" 1569 1570 #: pro/src/Features/SettingsCommands.php:1032 1571 msgid "Timezone updated successfully" 1572 msgstr "" 1573 1574 #: pro/src/Features/SettingsCommands.php:1046 1575 #: pro/src/Features/SettingsCommands.php:1061 1576 msgid "Your latest posts" 1577 msgstr "" 1578 1579 #: pro/src/Features/SettingsCommands.php:1047 1580 msgid "A static page" 1581 msgstr "" 1582 1583 #: pro/src/Features/SettingsCommands.php:1073 1584 msgid "— Select —" 1585 msgstr "" 1586 1587 #: pro/src/Features/SettingsCommands.php:1086 1588 #: pro/src/Features/SettingsCommands.php:1098 1589 msgid "Front Page Display" 1590 msgstr "" 1591 1592 #: pro/src/Features/SettingsCommands.php:1087 1593 msgid "What to show on the front page" 1594 msgstr "" 1595 1596 #: pro/src/Features/SettingsCommands.php:1093 1597 msgid "Update Front Page Display" 1598 msgstr "" 1599 1600 #: pro/src/Features/SettingsCommands.php:1106 1601 msgid "Homepage" 1602 msgstr "" 1603 1604 #: pro/src/Features/SettingsCommands.php:1119 1605 msgid "Posts Page" 1606 msgstr "" 1607 1608 #: pro/src/Features/SettingsCommands.php:1152 1609 msgid "Front page display updated successfully" 1610 msgstr "" 1611 1612 #. translators: %s: Current value 1613 #: pro/src/Features/SettingsCommands.php:1163 1614 #: pro/src/Features/SettingsCommands.php:1189 1615 msgid "Open" 1616 msgstr "" 1617 1618 #: pro/src/Features/SettingsCommands.php:1164 1619 msgid "Closed" 1620 msgstr "" 1621 1622 #: pro/src/Features/SettingsCommands.php:1181 1623 msgid "Default Comment Status" 1624 msgstr "" 1625 1626 #: pro/src/Features/SettingsCommands.php:1182 1627 msgid "Allow comments on new articles" 1628 msgstr "" 1629 1630 #: pro/src/Features/SettingsCommands.php:1188 1631 msgid "Update Default Comment Status" 1632 msgstr "" 1633 1634 #: pro/src/Features/SettingsCommands.php:1193 1635 msgid "Comment Status" 1636 msgstr "" 1637 1638 #. translators: %s: Current value 1639 #: pro/src/Features/SettingsCommands.php:1211 1340 1640 #: pro/src/Features/SettingsCommands.php:1237 1341 #: pro/src/Features/SettingsCommands.php:1281 1342 #: pro/src/Features/SettingsCommands.php:1327 1343 #: pro/src/Features/SettingsCommands.php:1385 1344 msgid "Update" 1345 msgstr "" 1346 1347 #: pro/src/Features/SettingsCommands.php:574 1348 #: pro/src/Features/SettingsCommands.php:587 1349 msgid "Date Format" 1350 msgstr "" 1351 1352 #: pro/src/Features/SettingsCommands.php:575 1353 msgid "How dates are displayed" 1354 msgstr "" 1355 1356 #: pro/src/Features/SettingsCommands.php:582 1357 msgid "Update Date Format" 1641 msgid "Standard" 1642 msgstr "" 1643 1644 #: pro/src/Features/SettingsCommands.php:1229 1645 msgid "Default Post Format" 1646 msgstr "" 1647 1648 #: pro/src/Features/SettingsCommands.php:1230 1649 msgid "Format assigned to new posts" 1650 msgstr "" 1651 1652 #: pro/src/Features/SettingsCommands.php:1236 1653 msgid "Update Default Post Format" 1654 msgstr "" 1655 1656 #: pro/src/Features/SettingsCommands.php:1241 1657 msgid "Post Format" 1658 msgstr "" 1659 1660 #: pro/src/Features/SettingsCommands.php:1262 1661 msgid "Feed Items to Display" 1662 msgstr "" 1663 1664 #: pro/src/Features/SettingsCommands.php:1263 1665 msgid "Number of items shown in each feed" 1666 msgstr "" 1667 1668 #: pro/src/Features/SettingsCommands.php:1269 1669 msgid "Update Feed Item Count" 1670 msgstr "" 1671 1672 #. translators: %d: Number of items 1673 #: pro/src/Features/SettingsCommands.php:1270 1674 msgid "Current: %d items" 1675 msgstr "" 1676 1677 #: pro/src/Features/SettingsCommands.php:1274 1678 msgid "Number of items" 1358 1679 msgstr "" 1359 1680 1360 1681 #. translators: %s: Current value 1361 #: pro/src/Features/SettingsCommands.php:583 1362 #: pro/src/Features/SettingsCommands.php:628 1363 #: pro/src/Features/SettingsCommands.php:676 1364 #: pro/src/Features/SettingsCommands.php:718 1365 #: pro/src/Features/SettingsCommands.php:751 1366 #: pro/src/Features/SettingsCommands.php:783 1367 #: pro/src/Features/SettingsCommands.php:815 1368 #: pro/src/Features/SettingsCommands.php:847 1369 #: pro/src/Features/SettingsCommands.php:892 1370 #: pro/src/Features/SettingsCommands.php:925 1371 #: pro/src/Features/SettingsCommands.php:971 1372 #: pro/src/Features/SettingsCommands.php:1057 1373 #: pro/src/Features/SettingsCommands.php:1148 1374 #: pro/src/Features/SettingsCommands.php:1192 1375 #: pro/src/Features/SettingsCommands.php:1270 1376 #: pro/src/Features/SettingsCommands.php:1316 1377 #: pro/src/Features/SettingsCommands.php:1374 1378 #: pro/assets/src/js/settings-commands.js:70 1379 msgid "Current: %s" 1380 msgstr "" 1381 1382 #: pro/src/Features/SettingsCommands.php:619 1383 #: pro/src/Features/SettingsCommands.php:632 1384 msgid "Time Format" 1385 msgstr "" 1386 1387 #: pro/src/Features/SettingsCommands.php:620 1388 msgid "How times are displayed" 1389 msgstr "" 1390 1391 #: pro/src/Features/SettingsCommands.php:627 1392 msgid "Update Time Format" 1682 #: pro/src/Features/SettingsCommands.php:1293 1683 #: pro/src/Features/SettingsCommands.php:1319 1684 msgid "Full text" 1685 msgstr "" 1686 1687 #: pro/src/Features/SettingsCommands.php:1294 1688 msgid "Summary (excerpt)" 1689 msgstr "" 1690 1691 #: pro/src/Features/SettingsCommands.php:1311 1692 #: pro/src/Features/SettingsCommands.php:1323 1693 msgid "Feed Content" 1694 msgstr "" 1695 1696 #: pro/src/Features/SettingsCommands.php:1312 1697 msgid "Choose how much of each post to show in feeds" 1698 msgstr "" 1699 1700 #: pro/src/Features/SettingsCommands.php:1318 1701 msgid "Update Feed Content" 1393 1702 msgstr "" 1394 1703 1395 1704 #. translators: %s: Current value 1396 #: pro/src/Features/SettingsCommands.php:648 1397 #: pro/src/Features/SettingsCommands.php:676 1398 msgid "Sunday" 1399 msgstr "" 1400 1401 #: pro/src/Features/SettingsCommands.php:649 1402 msgid "Monday" 1403 msgstr "" 1404 1405 #: pro/src/Features/SettingsCommands.php:650 1406 msgid "Tuesday" 1407 msgstr "" 1408 1409 #: pro/src/Features/SettingsCommands.php:651 1410 msgid "Wednesday" 1411 msgstr "" 1412 1413 #: pro/src/Features/SettingsCommands.php:652 1414 msgid "Thursday" 1415 msgstr "" 1416 1417 #: pro/src/Features/SettingsCommands.php:653 1418 msgid "Friday" 1419 msgstr "" 1420 1421 #: pro/src/Features/SettingsCommands.php:654 1422 msgid "Saturday" 1423 msgstr "" 1424 1425 #: pro/src/Features/SettingsCommands.php:668 1426 #: pro/src/Features/SettingsCommands.php:680 1427 msgid "Week Starts On" 1428 msgstr "" 1429 1430 #: pro/src/Features/SettingsCommands.php:669 1431 msgid "First day of the week" 1432 msgstr "" 1433 1434 #: pro/src/Features/SettingsCommands.php:675 1435 msgid "Update Week Starts On" 1436 msgstr "" 1437 1438 #: pro/src/Features/SettingsCommands.php:705 1439 msgid "Uncategorized" 1440 msgstr "" 1441 1442 #: pro/src/Features/SettingsCommands.php:710 1443 msgid "Default Post Category" 1444 msgstr "" 1445 1446 #: pro/src/Features/SettingsCommands.php:711 1447 msgid "Category for new posts" 1448 msgstr "" 1449 1450 #: pro/src/Features/SettingsCommands.php:717 1451 msgid "Update Default Post Category" 1452 msgstr "" 1453 1454 #: pro/src/Features/SettingsCommands.php:722 1455 msgid "Default Category" 1456 msgstr "" 1457 1458 #: pro/src/Features/SettingsCommands.php:743 1459 #: pro/src/Features/SettingsCommands.php:755 1460 msgid "Site Tagline" 1461 msgstr "" 1462 1463 #: pro/src/Features/SettingsCommands.php:744 1464 msgid "Brief description of your site" 1465 msgstr "" 1466 1467 #: pro/src/Features/SettingsCommands.php:750 1468 msgid "Update Site Tagline" 1469 msgstr "" 1470 1471 #. translators: %s: Current value 1472 #: pro/src/Features/SettingsCommands.php:751 1473 #: pro/src/Features/SettingsCommands.php:925 1474 msgid "(empty)" 1475 msgstr "" 1476 1477 #: pro/src/Features/SettingsCommands.php:775 1478 msgid "Admin Email Address" 1479 msgstr "" 1480 1481 #: pro/src/Features/SettingsCommands.php:776 1482 msgid "Email address for admin notifications" 1483 msgstr "" 1484 1485 #: pro/src/Features/SettingsCommands.php:782 1486 msgid "Update Admin Email Address" 1487 msgstr "" 1488 1489 #: pro/src/Features/SettingsCommands.php:787 1490 msgid "Email Address" 1491 msgstr "" 1492 1493 #: pro/src/Features/SettingsCommands.php:807 1494 #: pro/src/Features/SettingsCommands.php:819 1495 msgid "WordPress Address (URL)" 1496 msgstr "" 1497 1498 #: pro/src/Features/SettingsCommands.php:808 1499 msgid "Where your WordPress core files live" 1500 msgstr "" 1501 1502 #: pro/src/Features/SettingsCommands.php:814 1503 msgid "Update WordPress Address" 1504 msgstr "" 1505 1506 #: pro/src/Features/SettingsCommands.php:839 1507 #: pro/src/Features/SettingsCommands.php:851 1508 msgid "Site Address (URL)" 1509 msgstr "" 1510 1511 #: pro/src/Features/SettingsCommands.php:840 1512 msgid "Public URL visitors use to reach your site" 1513 msgstr "" 1514 1515 #: pro/src/Features/SettingsCommands.php:846 1516 msgid "Update Site Address" 1517 msgstr "" 1518 1519 #. translators: %s: Current value 1520 #: pro/src/Features/SettingsCommands.php:867 1521 #: pro/src/Features/SettingsCommands.php:892 1522 msgid "Subscriber" 1523 msgstr "" 1524 1525 #: pro/src/Features/SettingsCommands.php:868 1526 msgid "Contributor" 1527 msgstr "" 1528 1529 #: pro/src/Features/SettingsCommands.php:869 1530 msgid "Author" 1531 msgstr "" 1532 1533 #: pro/src/Features/SettingsCommands.php:870 1534 msgid "Editor" 1535 msgstr "" 1536 1537 #: pro/src/Features/SettingsCommands.php:884 1538 msgid "Default User Role" 1539 msgstr "" 1540 1541 #: pro/src/Features/SettingsCommands.php:885 1542 msgid "Role assigned to new users" 1543 msgstr "" 1544 1545 #: pro/src/Features/SettingsCommands.php:891 1546 msgid "Update Default User Role" 1547 msgstr "" 1548 1549 #: pro/src/Features/SettingsCommands.php:896 1550 msgid "Default Role" 1551 msgstr "" 1552 1553 #: pro/src/Features/SettingsCommands.php:917 1554 #: pro/src/Features/SettingsCommands.php:929 1555 msgid "Site Title" 1556 msgstr "" 1557 1558 #: pro/src/Features/SettingsCommands.php:918 1559 msgid "The name of your site" 1560 msgstr "" 1561 1562 #: pro/src/Features/SettingsCommands.php:924 1563 msgid "Update Site Title" 1564 msgstr "" 1565 1566 #: pro/src/Features/SettingsCommands.php:963 1567 #: pro/src/Features/SettingsCommands.php:975 1568 msgid "Timezone" 1569 msgstr "" 1570 1571 #: pro/src/Features/SettingsCommands.php:964 1572 msgid "Choose a city in the same timezone as you" 1573 msgstr "" 1574 1575 #: pro/src/Features/SettingsCommands.php:970 1576 msgid "Update Timezone" 1577 msgstr "" 1578 1579 #: pro/src/Features/SettingsCommands.php:1004 1580 msgid "Timezone updated successfully" 1581 msgstr "" 1582 1583 #: pro/src/Features/SettingsCommands.php:1018 1584 #: pro/src/Features/SettingsCommands.php:1029 1585 msgid "Your latest posts" 1586 msgstr "" 1587 1588 #: pro/src/Features/SettingsCommands.php:1019 1589 msgid "A static page" 1590 msgstr "" 1591 1592 #: pro/src/Features/SettingsCommands.php:1036 1593 msgid "— Select —" 1594 msgstr "" 1595 1596 #: pro/src/Features/SettingsCommands.php:1049 1597 #: pro/src/Features/SettingsCommands.php:1061 1598 msgid "Front Page Display" 1599 msgstr "" 1600 1601 #: pro/src/Features/SettingsCommands.php:1050 1602 msgid "What to show on the front page" 1603 msgstr "" 1604 1605 #: pro/src/Features/SettingsCommands.php:1056 1606 msgid "Update Front Page Display" 1607 msgstr "" 1608 1609 #: pro/src/Features/SettingsCommands.php:1069 1610 msgid "Homepage" 1611 msgstr "" 1612 1613 #: pro/src/Features/SettingsCommands.php:1082 1614 msgid "Posts Page" 1615 msgstr "" 1616 1617 #: pro/src/Features/SettingsCommands.php:1115 1618 msgid "Front page display updated successfully" 1619 msgstr "" 1620 1621 #. translators: %s: Current value 1622 #: pro/src/Features/SettingsCommands.php:1126 1623 #: pro/src/Features/SettingsCommands.php:1148 1624 msgid "Open" 1625 msgstr "" 1626 1627 #: pro/src/Features/SettingsCommands.php:1127 1628 msgid "Closed" 1629 msgstr "" 1630 1631 #: pro/src/Features/SettingsCommands.php:1140 1632 msgid "Default Comment Status" 1633 msgstr "" 1634 1635 #: pro/src/Features/SettingsCommands.php:1141 1636 msgid "Allow comments on new articles" 1637 msgstr "" 1638 1639 #: pro/src/Features/SettingsCommands.php:1147 1640 msgid "Update Default Comment Status" 1641 msgstr "" 1642 1643 #: pro/src/Features/SettingsCommands.php:1152 1644 msgid "Comment Status" 1645 msgstr "" 1646 1647 #. translators: %s: Current value 1648 #: pro/src/Features/SettingsCommands.php:1170 1649 #: pro/src/Features/SettingsCommands.php:1192 1650 msgid "Standard" 1651 msgstr "" 1652 1653 #: pro/src/Features/SettingsCommands.php:1184 1654 msgid "Default Post Format" 1655 msgstr "" 1656 1657 #: pro/src/Features/SettingsCommands.php:1185 1658 msgid "Format assigned to new posts" 1659 msgstr "" 1660 1661 #: pro/src/Features/SettingsCommands.php:1191 1662 msgid "Update Default Post Format" 1663 msgstr "" 1664 1665 #: pro/src/Features/SettingsCommands.php:1196 1666 msgid "Post Format" 1667 msgstr "" 1668 1669 #: pro/src/Features/SettingsCommands.php:1217 1670 msgid "Feed Items to Display" 1671 msgstr "" 1672 1673 #: pro/src/Features/SettingsCommands.php:1218 1674 msgid "Number of items shown in each feed" 1675 msgstr "" 1676 1677 #: pro/src/Features/SettingsCommands.php:1224 1678 msgid "Update Feed Item Count" 1679 msgstr "" 1680 1681 #. translators: %d: Number of items 1682 #: pro/src/Features/SettingsCommands.php:1225 1683 msgid "Current: %d items" 1684 msgstr "" 1685 1686 #: pro/src/Features/SettingsCommands.php:1229 1687 msgid "Number of items" 1688 msgstr "" 1689 1690 #. translators: %s: Current value 1691 #: pro/src/Features/SettingsCommands.php:1248 1692 #: pro/src/Features/SettingsCommands.php:1270 1693 msgid "Full text" 1694 msgstr "" 1695 1696 #: pro/src/Features/SettingsCommands.php:1249 1697 msgid "Summary (excerpt)" 1698 msgstr "" 1699 1700 #: pro/src/Features/SettingsCommands.php:1262 1701 #: pro/src/Features/SettingsCommands.php:1274 1702 msgid "Feed Content" 1703 msgstr "" 1704 1705 #: pro/src/Features/SettingsCommands.php:1263 1706 msgid "Choose how much of each post to show in feeds" 1707 msgstr "" 1708 1709 #: pro/src/Features/SettingsCommands.php:1269 1710 msgid "Update Feed Content" 1711 msgstr "" 1712 1713 #. translators: %s: Current value 1714 #: pro/src/Features/SettingsCommands.php:1292 1715 #: pro/src/Features/SettingsCommands.php:1316 1705 #: pro/src/Features/SettingsCommands.php:1341 1706 #: pro/src/Features/SettingsCommands.php:1369 1716 1707 msgid "G — Suitable for all audiences" 1717 1708 msgstr "" 1718 1709 1719 #: pro/src/Features/SettingsCommands.php:1 2931710 #: pro/src/Features/SettingsCommands.php:1342 1720 1711 msgid "PG — Possibly offensive, but suitable for most audiences" 1721 1712 msgstr "" 1722 1713 1723 #: pro/src/Features/SettingsCommands.php:1 2941714 #: pro/src/Features/SettingsCommands.php:1343 1724 1715 msgid "R — Intended for adult audiences above 17" 1725 1716 msgstr "" 1726 1717 1727 #: pro/src/Features/SettingsCommands.php:1 2951718 #: pro/src/Features/SettingsCommands.php:1344 1728 1719 msgid "X — Even more mature than above" 1729 1720 msgstr "" 1730 1721 1731 #: pro/src/Features/SettingsCommands.php:13 081732 #: pro/src/Features/SettingsCommands.php:13 201722 #: pro/src/Features/SettingsCommands.php:1361 1723 #: pro/src/Features/SettingsCommands.php:1373 1733 1724 msgid "Avatar Rating" 1734 1725 msgstr "" 1735 1726 1736 #: pro/src/Features/SettingsCommands.php:13 091727 #: pro/src/Features/SettingsCommands.php:1362 1737 1728 msgid "Maximum allowed rating for avatars" 1738 1729 msgstr "" 1739 1730 1740 #: pro/src/Features/SettingsCommands.php:13 151731 #: pro/src/Features/SettingsCommands.php:1368 1741 1732 msgid "Update Avatar Rating" 1742 1733 msgstr "" 1743 1734 1744 #: pro/src/Features/SettingsCommands.php:13 381735 #: pro/src/Features/SettingsCommands.php:1391 1745 1736 msgid "Plain" 1746 1737 msgstr "" 1747 1738 1748 #: pro/src/Features/SettingsCommands.php:13 391739 #: pro/src/Features/SettingsCommands.php:1392 1749 1740 msgid "Day and name" 1750 1741 msgstr "" 1751 1742 1752 #: pro/src/Features/SettingsCommands.php:13 401743 #: pro/src/Features/SettingsCommands.php:1393 1753 1744 msgid "Month and name" 1754 1745 msgstr "" 1755 1746 1756 #: pro/src/Features/SettingsCommands.php:13 411747 #: pro/src/Features/SettingsCommands.php:1394 1757 1748 msgid "Year and name" 1758 1749 msgstr "" 1759 1750 1760 #: pro/src/Features/SettingsCommands.php:13 421751 #: pro/src/Features/SettingsCommands.php:1395 1761 1752 msgid "Post name" 1762 1753 msgstr "" 1763 1754 1764 #: pro/src/Features/SettingsCommands.php:1 3601755 #: pro/src/Features/SettingsCommands.php:1417 1765 1756 msgid "Custom" 1766 1757 msgstr "" 1767 1758 1768 #: pro/src/Features/SettingsCommands.php:1 3661769 #: pro/src/Features/SettingsCommands.php:1 3781759 #: pro/src/Features/SettingsCommands.php:1423 1760 #: pro/src/Features/SettingsCommands.php:1435 1770 1761 msgid "Permalink Structure" 1771 1762 msgstr "" 1772 1763 1773 #: pro/src/Features/SettingsCommands.php:1 3671764 #: pro/src/Features/SettingsCommands.php:1424 1774 1765 msgid "How permalinks are structured" 1775 1766 msgstr "" 1776 1767 1777 #: pro/src/Features/SettingsCommands.php:1 3731768 #: pro/src/Features/SettingsCommands.php:1430 1778 1769 msgid "Update Permalink Structure" 1779 1770 msgstr "" 1780 1771 1781 #: pro/src/Features/SettingsCommands.php:1 3931772 #: pro/src/Features/SettingsCommands.php:1450 1782 1773 msgid "Permalink structure updated successfully. Please note that changing permalinks may affect existing URLs." 1783 1774 msgstr "" 1784 1775 1785 #: pro/src/Features/SettingsCommands.php:14 151776 #: pro/src/Features/SettingsCommands.php:1472 1786 1777 msgid "Image Sizes" 1787 1778 msgstr "" 1788 1779 1789 #: pro/src/Features/SettingsCommands.php:14 161780 #: pro/src/Features/SettingsCommands.php:1473 1790 1781 msgid "Control thumbnail, medium, and large dimensions" 1791 1782 msgstr "" 1792 1783 1793 #: pro/src/Features/SettingsCommands.php:14 221784 #: pro/src/Features/SettingsCommands.php:1479 1794 1785 msgid "Update Image Sizes" 1795 1786 msgstr "" 1796 1787 1797 #: pro/src/Features/SettingsCommands.php:14 231788 #: pro/src/Features/SettingsCommands.php:1480 1798 1789 msgid "Adjust the dimensions WordPress uses when generating images." 1799 1790 msgstr "" 1800 1791 1801 #: pro/src/Features/SettingsCommands.php:14 271792 #: pro/src/Features/SettingsCommands.php:1484 1802 1793 msgid "Thumbnail Width (px)" 1803 1794 msgstr "" 1804 1795 1805 #: pro/src/Features/SettingsCommands.php:14 341796 #: pro/src/Features/SettingsCommands.php:1491 1806 1797 msgid "Thumbnail Height (px)" 1807 1798 msgstr "" 1808 1799 1809 #: pro/src/Features/SettingsCommands.php:14 411800 #: pro/src/Features/SettingsCommands.php:1498 1810 1801 msgid "Crop thumbnail to exact dimensions" 1811 1802 msgstr "" 1812 1803 1813 #: pro/src/Features/SettingsCommands.php:1 4471804 #: pro/src/Features/SettingsCommands.php:1504 1814 1805 msgid "Medium Width (px)" 1815 1806 msgstr "" 1816 1807 1817 #: pro/src/Features/SettingsCommands.php:1 4541808 #: pro/src/Features/SettingsCommands.php:1511 1818 1809 msgid "Medium Height (px)" 1819 1810 msgstr "" 1820 1811 1821 #: pro/src/Features/SettingsCommands.php:1 4611812 #: pro/src/Features/SettingsCommands.php:1518 1822 1813 msgid "Medium Large Width (px)" 1823 1814 msgstr "" 1824 1815 1825 #: pro/src/Features/SettingsCommands.php:1 4681816 #: pro/src/Features/SettingsCommands.php:1525 1826 1817 msgid "Medium Large Height (px)" 1827 1818 msgstr "" 1828 1819 1829 #: pro/src/Features/SettingsCommands.php:1 4751820 #: pro/src/Features/SettingsCommands.php:1532 1830 1821 msgid "Large Width (px)" 1831 1822 msgstr "" 1832 1823 1833 #: pro/src/Features/SettingsCommands.php:1 4821824 #: pro/src/Features/SettingsCommands.php:1539 1834 1825 msgid "Large Height (px)" 1835 1826 msgstr "" 1836 1827 1837 #: pro/src/Features/SettingsCommands.php:1 4881828 #: pro/src/Features/SettingsCommands.php:1545 1838 1829 msgid "Save Sizes" 1839 1830 msgstr "" 1840 1831 1841 #: pro/src/Features/SettingsCommands.php:1 4921832 #: pro/src/Features/SettingsCommands.php:1549 1842 1833 msgid "Invalid form submission" 1843 1834 msgstr "" 1844 1835 1845 #: pro/src/Features/SettingsCommands.php:15 171836 #: pro/src/Features/SettingsCommands.php:1574 1846 1837 msgid "Image sizes updated successfully" 1847 1838 msgstr "" 1848 1839 1849 #: pro/src/Features/SmartDefaultView.php:2 601840 #: pro/src/Features/SmartDefaultView.php:257 1850 1841 msgid "Enable Favorites" 1851 1842 msgstr "" 1852 1843 1853 #: pro/src/Features/SmartDefaultView.php:26 61844 #: pro/src/Features/SmartDefaultView.php:263 1854 1845 msgid "Allow users to star their favorite commands for quick access" 1855 1846 msgstr "" … … 1878 1869 1879 1870 #: pro/src/Features/ToggleCommands.php:238 1880 #: pro/assets/src/js/settings-commands.js: 631881 #: pro/assets/src/js/settings-commands.js:23 91882 #: pro/assets/src/js/smart-default-view.js:4 731883 #: pro/assets/src/js/toggle-commands.js:1 511871 #: pro/assets/src/js/settings-commands.js:55 1872 #: pro/assets/src/js/settings-commands.js:233 1873 #: pro/assets/src/js/smart-default-view.js:465 1874 #: pro/assets/src/js/toggle-commands.js:143 1884 1875 msgid "ON" 1885 1876 msgstr "" 1886 1877 1887 1878 #: pro/src/Features/ToggleCommands.php:238 1888 #: pro/assets/src/js/settings-commands.js: 631889 #: pro/assets/src/js/settings-commands.js:23 91890 #: pro/assets/src/js/smart-default-view.js:4 731891 #: pro/assets/src/js/toggle-commands.js:1 511879 #: pro/assets/src/js/settings-commands.js:55 1880 #: pro/assets/src/js/settings-commands.js:233 1881 #: pro/assets/src/js/smart-default-view.js:465 1882 #: pro/assets/src/js/toggle-commands.js:143 1892 1883 msgid "OFF" 1893 1884 msgstr "" … … 2042 2033 2043 2034 #. translators: %d: Number of orders 2044 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:14 32035 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:147 2045 2036 msgid "%d orders" 2046 2037 msgstr "" 2047 2038 2048 2039 #. translators: %s: Total amount spent 2049 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:14 52040 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:149 2050 2041 msgid "Total: %s" 2051 2042 msgstr "" 2052 2043 2053 2044 #. translators: %s: Last order date 2054 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:1 492045 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:153 2055 2046 msgid "Last order: %s" 2056 2047 msgstr "" 2057 2048 2058 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:15 12049 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:155 2059 2050 msgid "No orders yet" 2060 2051 msgstr "" 2061 2052 2062 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:1 682063 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:3 102064 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:4 072053 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:172 2054 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:320 2055 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:421 2065 2056 msgid "Edit Customer" 2066 2057 msgstr "" 2067 2058 2068 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:1 692059 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:173 2069 2060 msgid "Edit customer profile" 2070 2061 msgstr "" 2071 2062 2072 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:1 762073 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:3 172063 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:180 2064 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:327 2074 2065 msgid "View Orders" 2075 2066 msgstr "" 2076 2067 2077 2068 #. translators: %d: Number of orders 2078 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:1 782069 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:182 2079 2070 msgid "View all %d orders" 2080 2071 msgstr "" 2081 2072 2082 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:1 862073 #: pro/src/Integration/WooCommerce/commands/CustomerCommands.php:190 2083 2074 msgid "Send an email to this customer" 2084 2075 msgstr "" … … 2133 2124 2134 2125 #. translators: %d: Number of items in the order 2135 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:3 032126 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:329 2136 2127 msgid "%d items" 2137 2128 msgstr "" 2138 2129 2139 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:3 202130 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:346 2140 2131 msgid "View Order Details" 2141 2132 msgstr "" 2142 2133 2143 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:3372144 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:3562145 msgid "Change Status"2146 msgstr ""2147 2148 2134 #. translators: %s: Order number 2149 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:3 422135 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:368 2150 2136 msgid "Change Status for Order #%s" 2151 2137 msgstr "" 2152 2138 2153 2139 #. translators: %s: Current order status 2154 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:3 442140 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:370 2155 2141 msgid "Current status: %s" 2156 2142 msgstr "" 2157 2143 2158 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:348 2159 msgid "New Status" 2160 msgstr "" 2161 2162 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:352 2144 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:378 2163 2145 msgid "Select the new order status" 2164 2146 msgstr "" 2165 2147 2166 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:3 642167 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php: 3822148 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:390 2149 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:408 2168 2150 msgid "Add Note" 2169 2151 msgstr "" 2170 2152 2171 2153 #. translators: %s: Order number 2172 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:3 692154 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:395 2173 2155 msgid "Add Note to Order #%s" 2174 2156 msgstr "" 2175 2157 2176 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:3 702158 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:396 2177 2159 msgid "Add a private note to this order. This note will be visible to administrators only." 2178 2160 msgstr "" 2179 2161 2180 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php: 3742162 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:400 2181 2163 msgid "Order Note" 2182 2164 msgstr "" 2183 2165 2184 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php: 3762166 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:402 2185 2167 msgid "Enter your note here..." 2186 2168 msgstr "" 2187 2169 2188 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php: 3792170 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:405 2189 2171 msgid "This note will be added to the order activity log." 2190 2172 msgstr "" 2191 2173 2192 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php: 3902174 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:416 2193 2175 msgid "Send Order Details" 2194 2176 msgstr "" 2195 2177 2196 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php: 3992178 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:425 2197 2179 msgid "Resend New Order Notification" 2198 2180 msgstr "" 2199 2181 2200 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:4 112182 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:437 2201 2183 msgid "View Customer" 2202 2184 msgstr "" 2203 2185 2204 2186 #. translators: %s: Order number 2205 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:4 282187 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:454 2206 2188 msgid "Move Order #%s to Trash?" 2207 2189 msgstr "" 2208 2190 2209 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:4 292191 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:455 2210 2192 msgid "This order will be moved to trash. You can restore it later from the trash." 2211 2193 msgstr "" 2212 2194 2213 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:4 382195 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:464 2214 2196 msgid "Recalculate Totals" 2215 2197 msgstr "" 2216 2198 2217 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:4 472199 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:473 2218 2200 msgid "Copy Order Number" 2219 2201 msgstr "" 2220 2202 2221 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:4 622203 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:488 2222 2204 msgid "Copy Customer Email" 2223 2205 msgstr "" 2224 2206 2225 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php: 4772207 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:503 2226 2208 msgid "Send Custom Email" 2227 2209 msgstr "" 2228 2210 2229 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php: 4822211 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:508 2230 2212 msgid "Send Email to Customer" 2231 2213 msgstr "" 2232 2214 2233 2215 #. translators: %s: Customer email address 2234 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php: 4842216 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:510 2235 2217 msgid "Send to: %s" 2236 2218 msgstr "" 2237 2219 2238 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php: 4882220 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:514 2239 2221 msgid "Subject" 2240 2222 msgstr "" 2241 2223 2242 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php: 4902224 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:516 2243 2225 msgid "Email subject..." 2244 2226 msgstr "" 2245 2227 2246 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php: 4952228 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:521 2247 2229 msgid "Message" 2248 2230 msgstr "" 2249 2231 2250 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php: 4972232 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:523 2251 2233 msgid "Your message..." 2252 2234 msgstr "" 2253 2235 2254 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:5 102255 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:5 282236 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:536 2237 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:554 2256 2238 msgid "Apply Coupon" 2257 2239 msgstr "" 2258 2240 2259 2241 #. translators: %s: Order number 2260 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:5 162242 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:542 2261 2243 msgid "Apply Coupon to Order #%s" 2262 2244 msgstr "" 2263 2245 2264 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:5 172246 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:543 2265 2247 msgid "Enter a coupon code to apply discount to this order." 2266 2248 msgstr "" 2267 2249 2268 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:5 212250 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:547 2269 2251 msgid "Coupon Code" 2270 2252 msgstr "" 2271 2253 2272 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:5 232254 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:549 2273 2255 msgid "Enter coupon code..." 2274 2256 msgstr "" 2275 2257 2276 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:5 252258 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:551 2277 2259 msgid "The coupon must be valid and active." 2278 2260 msgstr "" 2279 2261 2280 2262 #. translators: %s: Order number 2281 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:5 352263 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:561 2282 2264 msgid "Order #%s" 2283 2265 msgstr "" 2284 2266 2285 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:5 532286 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php: 5812287 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:6 162288 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:6 432289 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:7 292290 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:7 692291 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:8 062292 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:8 572293 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:9 142267 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:579 2268 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:607 2269 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:642 2270 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:669 2271 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:755 2272 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:795 2273 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:832 2274 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:883 2275 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:940 2294 2276 msgid "Order ID is required" 2295 2277 msgstr "" 2296 2278 2297 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:561 2279 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:587 2280 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:622 2281 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:650 2282 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:678 2283 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:770 2284 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:803 2285 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:840 2286 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:891 2287 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:955 2288 msgid "Order not found" 2289 msgstr "" 2290 2291 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:591 2292 msgid "Order marked as complete via Commandify" 2293 msgstr "" 2294 2295 #. translators: %s: Order number 2298 2296 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:596 2299 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:624 2300 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:652 2301 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:744 2302 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:777 2303 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:814 2304 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:865 2305 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:929 2306 msgid "Order not found" 2307 msgstr "" 2308 2309 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:565 2310 msgid "Order marked as complete via Commandify" 2297 msgid "Order #%s marked as complete" 2298 msgstr "" 2299 2300 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:614 2301 msgid "Note text is required" 2311 2302 msgstr "" 2312 2303 2313 2304 #. translators: %s: Order number 2314 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:570 2315 msgid "Order #%s marked as complete" 2316 msgstr "" 2317 2318 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:588 2319 msgid "Note text is required" 2305 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:632 2306 msgid "Note added to order #%s" 2307 msgstr "" 2308 2309 #. translators: %s: Customer email address 2310 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:659 2311 msgid "Order details sent to %s" 2320 2312 msgstr "" 2321 2313 2322 2314 #. translators: %s: Order number 2323 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:606 2324 msgid "Note added to order #%s" 2315 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:700 2316 msgid "New order notification sent for order #%s" 2317 msgstr "" 2318 2319 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:775 2320 msgid "Status changed via Commandify" 2321 msgstr "" 2322 2323 #. translators: %1$s: Order number, %2$s: Old status, %3$s: New status 2324 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:781 2325 msgid "Order #%1$s status changed from %2$s to %3$s" 2326 msgstr "" 2327 2328 #. translators: %s: Order number 2329 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:815 2330 msgid "Failed to trash order #%s" 2331 msgstr "" 2332 2333 #. translators: %s: Order number 2334 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:822 2335 msgid "Order #%s moved to trash" 2336 msgstr "" 2337 2338 #. translators: %1$s: Order number, %2$s: New total 2339 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:851 2340 msgid "Order #%1$s totals recalculated. New total: %2$s" 2341 msgstr "" 2342 2343 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:864 2344 msgid "Nothing to copy" 2345 msgstr "" 2346 2347 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:870 2348 msgid "Copied to clipboard!" 2349 msgstr "" 2350 2351 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:899 2352 msgid "Customer email not found" 2353 msgstr "" 2354 2355 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:911 2356 msgid "Failed to send email" 2357 msgstr "" 2358 2359 #. translators: %s: Email subject 2360 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:918 2361 msgid "Custom email sent: \"%s\"" 2325 2362 msgstr "" 2326 2363 2327 2364 #. translators: %s: Customer email address 2328 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:633 2329 msgid "Order details sent to %s" 2330 msgstr "" 2331 2332 #. translators: %s: Order number 2333 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:674 2334 msgid "New order notification sent for order #%s" 2335 msgstr "" 2336 2337 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:736 2338 msgid "New status is required" 2339 msgstr "" 2340 2341 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:749 2342 msgid "Status changed via Commandify" 2343 msgstr "" 2344 2345 #. translators: %1$s: Order number, %2$s: Old status, %3$s: New status 2346 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:755 2347 msgid "Order #%1$s status changed from %2$s to %3$s" 2348 msgstr "" 2349 2350 #. translators: %s: Order number 2351 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:789 2352 msgid "Failed to trash order #%s" 2353 msgstr "" 2354 2355 #. translators: %s: Order number 2356 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:796 2357 msgid "Order #%s moved to trash" 2358 msgstr "" 2359 2360 #. translators: %1$s: Order number, %2$s: New total 2361 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:825 2362 msgid "Order #%1$s totals recalculated. New total: %2$s" 2363 msgstr "" 2364 2365 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:838 2366 msgid "Nothing to copy" 2367 msgstr "" 2368 2369 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:844 2370 msgid "Copied to clipboard!" 2371 msgstr "" 2372 2373 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:873 2374 msgid "Customer email not found" 2375 msgstr "" 2376 2377 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:885 2378 msgid "Failed to send email" 2379 msgstr "" 2380 2381 #. translators: %s: Email subject 2382 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:892 2383 msgid "Custom email sent: \"%s\"" 2384 msgstr "" 2385 2386 #. translators: %s: Customer email address 2387 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:901 2365 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:927 2388 2366 msgid "Email sent to %s" 2389 2367 msgstr "" 2390 2368 2391 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:9 212369 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:947 2392 2370 msgid "Coupon code is required" 2393 2371 msgstr "" 2394 2372 2395 2373 #. translators: %s: Coupon code 2396 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:9 402374 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:966 2397 2375 msgid "Coupon \"%s\" does not exist" 2398 2376 msgstr "" 2399 2377 2400 2378 #. translators: %s: Coupon code 2401 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:9 492379 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:975 2402 2380 msgid "Coupon \"%s\" has already been applied to this order" 2403 2381 msgstr "" 2404 2382 2405 2383 #. translators: %1$s: Coupon code, %2$s: Discount, %3$s: New total 2406 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php: 9742384 #: pro/src/Integration/WooCommerce/commands/OrderCommands.php:1000 2407 2385 msgid "Coupon \"%1$s\" applied successfully. Discount: %2$s. New total: %3$s" 2408 2386 msgstr "" … … 2444 2422 msgstr "" 2445 2423 2446 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:3 442447 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:3 612424 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:357 2425 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:374 2448 2426 msgid "N/A" 2449 2427 msgstr "" 2450 2428 2451 2429 #. translators: %d: Stock quantity 2452 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:3 532430 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:366 2453 2431 msgid "Stock: %d" 2454 2432 msgstr "" 2455 2433 2456 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:3 572457 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:5 742458 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php: 8882434 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:370 2435 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:587 2436 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:901 2459 2437 msgid "In Stock" 2460 2438 msgstr "" 2461 2439 2462 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:3 582463 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:5 782464 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php: 8892440 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:371 2441 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:591 2442 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:902 2465 2443 msgid "Out of Stock" 2466 2444 msgstr "" 2467 2445 2468 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:3 592469 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:5 822470 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php: 8902446 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:372 2447 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:595 2448 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:903 2471 2449 msgid "On Backorder" 2472 2450 msgstr "" 2473 2451 2474 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:3 662452 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:379 2475 2453 msgid "(No SKU)" 2476 2454 msgstr "" 2477 2455 2478 2456 #. translators: %s: Product SKU 2479 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:3 692457 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:382 2480 2458 msgid "SKU: %s" 2481 2459 msgstr "" 2482 2460 2483 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:442 2461 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:453 2462 msgid "Edit Product" 2463 msgstr "" 2464 2465 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:455 2484 2466 msgid "Edit this product" 2485 2467 msgstr "" 2486 2468 2487 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:451 2469 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:462 2470 msgid "View Product" 2471 msgstr "" 2472 2473 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:464 2488 2474 msgid "View this product on the frontend" 2489 2475 msgstr "" 2490 2476 2491 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:4 592477 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:472 2492 2478 msgid "Trash/Delete Product" 2493 2479 msgstr "" 2494 2480 2495 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:4 612481 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:474 2496 2482 msgid "Move product to trash or delete permanently" 2497 2483 msgstr "" 2498 2484 2499 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:4 662485 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:479 2500 2486 msgid "Confirm Deletion" 2501 2487 msgstr "" 2502 2488 2503 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:4 682489 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:481 2504 2490 msgid "Are you sure you want to delete this variation?" 2505 2491 msgstr "" 2506 2492 2507 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:4 692493 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:482 2508 2494 msgid "Are you sure you want to delete this product? All variations will also be deleted." 2509 2495 msgstr "" 2510 2496 2511 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:4 742497 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:487 2512 2498 msgid "Copy Product Link" 2513 2499 msgstr "" 2514 2500 2515 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:4 762501 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:489 2516 2502 msgid "Copy product URL to clipboard" 2517 2503 msgstr "" 2518 2504 2519 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:4 832505 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:496 2520 2506 msgid "Copy SKU" 2521 2507 msgstr "" 2522 2508 2523 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:4 852509 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:498 2524 2510 msgid "Copy product SKU to clipboard" 2525 2511 msgstr "" 2526 2512 2527 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php: 4922513 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:505 2528 2514 msgid "Update Stock" 2529 2515 msgstr "" 2530 2516 2531 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php: 4942517 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:507 2532 2518 msgid "Update stock quantity" 2533 2519 msgstr "" 2534 2520 2535 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php: 4992521 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:512 2536 2522 msgid "Update Stock Quantity" 2537 2523 msgstr "" 2538 2524 2539 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:513 2540 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:520 2525 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:516 2526 msgid "Stock Quantity" 2527 msgstr "" 2528 2529 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:526 2530 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:533 2541 2531 msgid "Update Regular Price" 2542 2532 msgstr "" 2543 2533 2544 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:5 152534 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:528 2545 2535 msgid "Update regular price" 2546 2536 msgstr "" 2547 2537 2548 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:5 242538 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:537 2549 2539 msgid "Regular Price" 2550 2540 msgstr "" 2551 2541 2552 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:5 352553 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:5 422542 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:548 2543 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:555 2554 2544 msgid "Update Sale Price" 2555 2545 msgstr "" 2556 2546 2557 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:5 372547 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:550 2558 2548 msgid "Update sale price" 2559 2549 msgstr "" 2560 2550 2561 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:5 462551 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:559 2562 2552 msgid "Sale Price" 2563 2553 msgstr "" 2564 2554 2565 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:5 572566 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:5 642555 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:570 2556 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:577 2567 2557 msgid "Update Stock Status" 2568 2558 msgstr "" 2569 2559 2570 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:5 592560 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:572 2571 2561 msgid "Update stock status" 2572 2562 msgstr "" 2573 2563 2574 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:5 682564 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:581 2575 2565 msgid "Stock Status" 2576 2566 msgstr "" 2577 2567 2578 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php: 5922579 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php: 5992568 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:605 2569 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:612 2580 2570 msgid "Update SKU" 2581 2571 msgstr "" 2582 2572 2583 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php: 5942573 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:607 2584 2574 msgid "Update product SKU" 2585 2575 msgstr "" 2586 2576 2587 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:6 032577 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:616 2588 2578 msgid "SKU" 2589 2579 msgstr "" 2590 2580 2591 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:6 702592 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:7 182593 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:7 622594 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:8 122595 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:8 652596 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:9 132597 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:9 632598 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:10 032581 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:683 2582 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:731 2583 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:775 2584 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:825 2585 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:878 2586 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:926 2587 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:976 2588 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:1016 2599 2589 msgid "Product ID is required" 2600 2590 msgstr "" 2601 2591 2602 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:690 2592 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:691 2593 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:746 2594 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:798 2595 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:833 2596 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:893 2597 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:934 2598 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:984 2599 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:1024 2600 msgid "Product not found" 2601 msgstr "" 2602 2603 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:703 2603 2604 msgid "Failed to delete product" 2604 2605 msgstr "" 2605 2606 2606 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php: 6962607 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:709 2607 2608 msgid "Variation deleted permanently" 2608 2609 msgstr "" 2609 2610 2610 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php: 6972611 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:710 2611 2612 msgid "Variation moved to trash" 2612 2613 msgstr "" 2613 2614 2614 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php: 6992615 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:712 2615 2616 msgid "Product and all variations deleted permanently" 2616 2617 msgstr "" 2617 2618 2618 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:7 002619 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:713 2619 2620 msgid "Product and all variations moved to trash" 2620 2621 msgstr "" 2621 2622 2622 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:7 252623 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:738 2623 2624 msgid "Stock quantity is required" 2624 2625 msgstr "" 2625 2626 2626 2627 #. translators: %d: stock quantity 2627 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:7 462628 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:759 2628 2629 msgid "Stock updated to %d" 2629 2630 msgstr "" 2630 2631 2631 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:7 692632 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:7 772632 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:782 2633 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:790 2633 2634 msgid "Valid regular price is required" 2634 2635 msgstr "" 2635 2636 2636 2637 #. translators: %s: formatted price 2637 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php: 7962638 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:809 2638 2639 msgid "Regular price updated to %s" 2639 2640 msgstr "" 2640 2641 2641 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:8 302642 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:843 2642 2643 msgid "Sale price removed" 2643 2644 msgstr "" 2644 2645 2645 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:8 382646 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:851 2646 2647 msgid "Sale price cannot be negative" 2647 2648 msgstr "" 2648 2649 2649 2650 #. translators: %s: formatted price 2650 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:8 492651 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:862 2651 2652 msgid "Sale price updated to %s" 2652 2653 msgstr "" 2653 2654 2654 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:8 722655 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:885 2655 2656 msgid "Invalid stock status" 2656 2657 msgstr "" 2657 2658 2658 2659 #. translators: %s: stock status label 2659 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php: 8972660 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:910 2660 2661 msgid "Stock status updated to %s" 2661 2662 msgstr "" 2662 2663 2663 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:9 322664 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:945 2664 2665 msgid "SKU already exists for another product" 2665 2666 msgstr "" 2666 2667 2667 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:9 412668 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:954 2668 2669 msgid "SKU removed" 2669 2670 msgstr "" 2670 2671 2671 2672 #. translators: %s: SKU value 2672 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:9 442673 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:957 2673 2674 msgid "SKU updated to %s" 2674 2675 msgstr "" 2675 2676 2676 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:9 832677 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:996 2677 2678 msgid "Unable to determine product link" 2678 2679 msgstr "" 2679 2680 2680 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php: 9892681 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:1002 2681 2682 msgid "Product link copied to clipboard" 2682 2683 msgstr "" 2683 2684 2684 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:10 192685 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:1032 2685 2686 msgid "Product does not have a SKU to copy" 2686 2687 msgstr "" 2687 2688 2688 2689 #. translators: %s: SKU value 2689 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:10 272690 #: pro/src/Integration/WooCommerce/commands/ProductCommands.php:1040 2690 2691 msgid "SKU %s copied to clipboard" 2691 2692 msgstr "" … … 2723 2724 msgstr "" 2724 2725 2725 #: assets/src/components/CommandPalette.jsx:33 22726 #: assets/src/components/CommandPalette.jsx:4 592727 #: assets/src/components/CommandPalette.jsx:4 762726 #: assets/src/components/CommandPalette.jsx:335 2727 #: assets/src/components/CommandPalette.jsx:463 2728 #: assets/src/components/CommandPalette.jsx:485 2728 2729 msgid "Command executed successfully" 2729 2730 msgstr "" 2730 2731 2731 #: assets/src/components/CommandPalette.jsx:33 62732 #: assets/src/components/CommandPalette.jsx:44 42733 #: assets/src/components/CommandPalette.jsx:6 522732 #: assets/src/components/CommandPalette.jsx:339 2733 #: assets/src/components/CommandPalette.jsx:448 2734 #: assets/src/components/CommandPalette.jsx:663 2734 2735 msgid "Command execution failed" 2735 2736 msgstr "" 2736 2737 2737 #: assets/src/components/CommandPalette.jsx:34 32738 #: assets/src/components/CommandPalette.jsx:346 2738 2739 msgid "An error occurred" 2739 2740 msgstr "" 2740 2741 2741 #: assets/src/components/CommandPalette.jsx:3 882742 #: assets/src/components/CommandPalette.jsx:7 532742 #: assets/src/components/CommandPalette.jsx:392 2743 #: assets/src/components/CommandPalette.jsx:764 2743 2744 msgid "Settings handler not loaded" 2744 2745 msgstr "" 2745 2746 2746 #: assets/src/components/CommandPalette.jsx:6 552747 #: assets/src/components/CommandPalette.jsx:666 2747 2748 msgid "An error occurred while executing the command" 2748 2749 msgstr "" 2749 2750 2750 #: assets/src/components/CommandPalette.jsx:7 682751 #: assets/src/components/CommandPalette.jsx:779 2751 2752 msgid "Toggle handler not loaded" 2752 2753 msgstr "" 2753 2754 2754 #: assets/src/components/CommandPalette.jsx:7 772755 #: assets/src/components/CommandPalette.jsx:788 2755 2756 #: assets/src/components/ConfirmDialog.jsx:32 2756 2757 msgid "Confirm Action" 2757 2758 msgstr "" 2758 2759 2759 #: assets/src/components/CommandPalette.jsx:7 782760 #: assets/src/components/CommandPalette.jsx:789 2760 2761 msgid "Are you sure you want to proceed?" 2761 2762 msgstr "" 2762 2763 2763 #: assets/src/components/CommandPalette.jsx:7 792764 #: assets/src/components/CommandPalette.jsx:790 2764 2765 #: assets/src/components/ConfirmDialog.jsx:51 2765 2766 msgid "Confirm" 2766 2767 msgstr "" 2767 2768 2768 #: assets/src/components/CommandPalette.jsx:9 302769 #: assets/src/components/CommandPalette.jsx:941 2769 2770 msgid "Type a command or search..." 2770 2771 msgstr "" 2771 2772 2772 #: assets/src/components/CommandPalette.jsx:9 512773 #: assets/src/components/CommandPalette.jsx:962 2773 2774 msgid "Navigate" 2774 2775 msgstr "" 2775 2776 2776 #: assets/src/components/CommandPalette.jsx:9 542777 #: assets/src/components/CommandPalette.jsx:965 2777 2778 msgid "Select" 2778 2779 msgstr "" 2779 2780 2780 #: assets/src/components/CommandPalette.jsx:9 582781 #: assets/src/components/CommandPalette.jsx:969 2781 2782 msgid "Back" 2782 2783 msgstr "" 2783 2784 2784 #: assets/src/components/CommandPalette.jsx:9 622785 #: assets/src/components/CommandPalette.jsx:973 2785 2786 msgid "Close" 2786 2787 msgstr "" 2787 2788 2788 #: assets/src/components/CommandPalette.jsx:9 672789 #: assets/src/components/CommandPalette.jsx:978 2789 2790 msgid "commands" 2790 2791 msgstr "" … … 2812 2813 msgstr "" 2813 2814 2814 #: pro/assets/src/js/dynamic-patterns.js:1 462815 #: pro/assets/src/js/dynamic-patterns.js:138 2815 2816 msgid "No results found" 2816 2817 msgstr "" 2817 2818 2818 #: pro/assets/src/js/dynamic-patterns.js:1 472819 #: pro/assets/src/js/dynamic-patterns.js:139 2819 2820 msgid "Pattern detected but no matching data" 2820 2821 msgstr "" 2821 2822 2822 #: pro/assets/src/js/dynamic-patterns.js:1 502823 #: pro/assets/src/js/dynamic-patterns.js:26 92823 #: pro/assets/src/js/dynamic-patterns.js:142 2824 #: pro/assets/src/js/dynamic-patterns.js:261 2824 2825 msgid "PATTERN DETECTED" 2825 2826 msgstr "" 2826 2827 2827 #: pro/assets/src/js/dynamic-patterns.js:1 612828 #: pro/assets/src/js/dynamic-patterns.js:2 302828 #: pro/assets/src/js/dynamic-patterns.js:153 2829 #: pro/assets/src/js/dynamic-patterns.js:222 2829 2830 msgid "Item Found" 2830 2831 msgstr "" 2831 2832 2832 #: pro/assets/src/js/dynamic-patterns.js:2 652833 #: pro/assets/src/js/dynamic-patterns.js:257 2833 2834 msgid "Detecting pattern..." 2834 2835 msgstr "" 2835 2836 2836 #: pro/assets/src/js/dynamic-patterns.js:2 662837 #: pro/assets/src/js/dynamic-patterns.js:258 2837 2838 msgid "Searching for matches" 2838 2839 msgstr "" 2839 2840 2840 #: pro/assets/src/js/settings-commands.js: 2022841 #: pro/assets/src/js/settings-commands.js:194 2841 2842 msgid "Invalid setting command" 2842 2843 msgstr "" 2843 2844 2844 2845 #. translators: %s: Setting name 2845 #: pro/assets/src/js/settings-commands.js:26 72846 #: pro/assets/src/js/settings-commands.js:269 2846 2847 msgid "Enter value for %s:" 2847 2848 msgstr "" 2848 2849 2849 #: pro/assets/src/js/settings-commands.js:32 02850 #: pro/assets/src/js/settings-commands.js:322 2850 2851 msgid "This setting type is not yet implemented" 2851 2852 msgstr "" 2852 2853 2853 #: pro/assets/src/js/smart-default-view.js: 562854 #: pro/assets/src/js/smart-default-view.js:49 2854 2855 msgid "FAVORITES" 2855 2856 msgstr "" 2856 2857 2857 #: pro/assets/src/js/smart-default-view.js: 722858 #: pro/assets/src/js/smart-default-view.js:65 2858 2859 msgid "RECENT" 2859 2860 msgstr "" 2860 2861 2861 #: pro/assets/src/js/smart-default-view.js: 902862 #: pro/assets/src/js/smart-default-view.js:83 2862 2863 msgid "MOST USED" 2863 2864 msgstr "" 2864 2865 2865 #: pro/assets/src/js/smart-default-view.js:1 212866 #: pro/assets/src/js/smart-default-view.js:114 2866 2867 msgid "ACTIONS" 2867 2868 msgstr "" 2868 2869 2869 #: pro/assets/src/js/smart-default-view.js:1 452870 #: pro/assets/src/js/smart-default-view.js:138 2870 2871 msgid "ALL COMMANDS" 2871 2872 msgstr "" 2872 2873 2873 #: pro/assets/src/js/smart-default-view.js: 4002874 #: pro/assets/src/js/smart-default-view.js:4 252874 #: pro/assets/src/js/smart-default-view.js:392 2875 #: pro/assets/src/js/smart-default-view.js:417 2875 2876 msgid "CONTEXTUAL" 2876 2877 msgstr "" 2877 2878 2878 #: pro/assets/src/js/smart-default-view.js:4 262879 #: pro/assets/src/js/smart-default-view.js:4 322879 #: pro/assets/src/js/smart-default-view.js:418 2880 #: pro/assets/src/js/smart-default-view.js:424 2880 2881 msgid "GLOBAL" 2881 2882 msgstr "" 2882 2883 2883 #: pro/assets/src/js/toggle-commands.js:8 92884 #: pro/assets/src/js/toggle-commands.js:81 2884 2885 msgid "SETTINGS" 2885 2886 msgstr "" 2886 2887 2887 #: pro/assets/src/js/toggle-commands.js:1 162888 #: pro/assets/src/js/toggle-commands.js:108 2888 2889 msgid "TOGGLES" 2889 2890 msgstr "" 2890 2891 2891 #: pro/assets/src/js/toggle-commands.js:1 662892 #: pro/assets/src/js/toggle-commands.js:158 2892 2893 msgid "Setting toggled successfully" 2893 2894 msgstr "" 2894 2895 2895 #: pro/assets/src/js/toggle-commands.js:16 82896 #: pro/assets/src/js/toggle-commands.js:1 732896 #: pro/assets/src/js/toggle-commands.js:160 2897 #: pro/assets/src/js/toggle-commands.js:165 2897 2898 msgid "Failed to toggle setting" 2898 2899 msgstr "" -
commandify/trunk/package.json
r3405278 r3407178 1 1 { 2 2 "name": "commandify", 3 "version": "1.0. 0",3 "version": "1.0.1", 4 4 "private": true, 5 5 "scripts": { -
commandify/trunk/readme.txt
r3405360 r3407178 5 5 Tested up to: 6.8 6 6 Requires PHP: 7.4 7 Stable tag: 1.0. 07 Stable tag: 1.0.1 8 8 License: GPLv2 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 160 160 These tools replace multiple plugins and keep your site running efficiently. 161 161 162 ### Check more plugins 163 164 #### [Pollify](https://wordpress.org/plugins/poll-creator/) – Feedback Polls, Anonymous Polls, Up/down Voting, NPS Surveys, Export data 165 166 Pollify lets you create a poll website in WordPress with awesome polling/online voting capabilities and unlock a series of advanced features to engage your audience like never before. 167 168 162 169 == Installation == 163 170 … … 216 223 217 224 == Changelog == 225 226 = 1.0.1 – December 01, 2025 = 227 * [New] Visit Site command lets you quickly open your site in a new tab. 228 * [New] Added the ability to log out instantly using the palette. 229 * [New] You can now change post status directly from post action options. 230 * [Fix] Search users command now displays a user icon. 231 * [Fix] Media search now shows thumbnail images for each file. 232 * [Fix] By default, search commands for posts, users, and media display the latest 10 results. 233 * [Fix] The palette now stays open after running cache clear, rewrite flush, or update checks. 234 * [Fix] Improved the search experience with debounced (delayed) API requests in JavaScript. 218 235 219 236 = 1.0.0 – November 28, 2025 =
Note: See TracChangeset
for help on using the changeset viewer.