refactor: rename the theme brand and every identifier from AKSRT to Jio

Full-project rename. `git grep -i aksrt` is now empty apart from the
DBMigrator 3.3.0 changelog note that documents the rename itself.

Code identifiers
- PHP namespace AKSRT\ -> Jio\ (composer PSR-4 + 378 declarations)
- global constants AKSRT_* -> JIO_* (VERSION/DIR/URI, PAY_TYPE_*, CAPTCHA_*)
- procedural functions, hooks, options, meta keys, table names,
  cookies, query vars, ajax actions and nonces: aksrt_ -> jio_
- text domain aksrt -> jio; Theme Name -> Jio
- JS globals: aksrtData/aksrtAdminData/... -> jioData/jioAdminData/...,
  window.AKSRTCaptcha & friends -> window.JioCaptcha, Aksrt* -> Jio*
- Vue components Aks*.vue -> Jio*.vue (15 files renamed + imports)
- CSS classes/data-attrs/custom properties: aksrt- -> jio-
- REST namespace aksrt/v1 -> jio/v1 (incl. payment gateway callbacks)

Storage layer
- DB tables {prefix}aksrt_* -> {prefix}jio_*; SCHEMA_VERSION 3.2.0 -> 3.3.0
  so dbDelta creates the new names on install
- widget id_base aksrt_widget_* -> jio_widget_*
- uninstall.php drop list rebuilt from the actual migrator tables
  (dropped 3 stale entries, added the 17 missing ones)

Removed
- hardcoded https://api.aksrt.com/version.json default update endpoint;
  get_endpoint() now reads the 「更新端点」 setting and do_check() no-ops
  when it is empty

Files renamed: inc/helpers/aksrt-*.php -> jio-*.php (54),
assets/admin/src/components/form/Aks*.vue -> Jio*.vue (15).
Build artifacts regenerated: assets/css/build, assets/js/runtime,
assets/admin/build.

Verified: audit-psr4-paths errors=0, audit-admin-contracts errors=0
(warnings=56, unchanged baseline), 813/813 widget-system tests,
44/44 phpunit, php -l clean across all PHP.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
kate522andClaude Opus 5 committed 2026-11-01 20:05:04 +08:00
1 parent 5b16bc6e15
commit 35bb96e82f
997 files changed
+28216 -28188

No files matched your search

+17 -17
View File
@@ -2,21 +2,21 @@
(function () {
'use strict';
var root = document.querySelector('.aksrt-products-page');
var dialog = document.getElementById('aksrt-product-editor');
var root = document.querySelector('.jio-products-page');
var dialog = document.getElementById('jio-product-editor');
if (!root || !dialog || typeof dialog.showModal !== 'function') return;
var form = dialog.querySelector('[data-aksrt-product-form]');
var submit = form.querySelector('[data-aksrt-product-submit]');
var subject = form.querySelector('[data-aksrt-product-subject]');
var editLink = form.querySelector('[data-aksrt-product-edit-link]');
var form = dialog.querySelector('[data-jio-product-form]');
var submit = form.querySelector('[data-jio-product-submit]');
var subject = form.querySelector('[data-jio-product-subject]');
var editLink = form.querySelector('[data-jio-product-edit-link]');
var submitLabel = submit.textContent;
var opener = null;
var snapshot = '';
var pointerStartedOutside = false;
function field(key) {
return form.querySelectorAll('[name="aksrt_pay[' + key + ']"]');
return form.querySelectorAll('[name="jio_pay[' + key + ']"]');
}
function value(key) {
@@ -47,8 +47,8 @@
/** 隐藏的分区连同其中的控件一起禁用:既不提交,也不参与必填校验。 */
function syncPanes() {
form.querySelectorAll('[data-aksrt-product-pane]').forEach(function (pane) {
var active = paneActive(pane.getAttribute('data-aksrt-product-pane'));
form.querySelectorAll('[data-jio-product-pane]').forEach(function (pane) {
var active = paneActive(pane.getAttribute('data-jio-product-pane'));
pane.hidden = !active;
if (pane.tagName === 'FIELDSET') pane.disabled = !active;
});
@@ -56,7 +56,7 @@
var node = control.parentElement;
var disabled = false;
while (node && node !== form) {
if (node.hasAttribute('data-aksrt-product-pane') && node.hidden) {
if (node.hasAttribute('data-jio-product-pane') && node.hidden) {
disabled = true;
break;
}
@@ -77,9 +77,9 @@
function syncVip() {
['cash', 'points'].forEach(function (mode) {
var base = form.querySelector('[data-aksrt-product-base="' + mode + '"]');
var base = form.querySelector('[data-jio-product-base="' + mode + '"]');
var message = form.getAttribute(mode === 'points' ? 'data-vip-points-error' : 'data-vip-error');
form.querySelectorAll('[data-aksrt-product-vip="' + mode + '"]').forEach(function (input) {
form.querySelectorAll('[data-jio-product-vip="' + mode + '"]').forEach(function (input) {
var vip = amount(input.value, mode);
var limit = amount(base && base.value, mode);
input.setCustomValidity(!input.disabled && vip > limit ? message : '');
@@ -114,7 +114,7 @@
}
function lockScroll() {
document.documentElement.classList.toggle('aksrt-products-modal-open', dialog.open);
document.documentElement.classList.toggle('jio-products-modal-open', dialog.open);
}
function requestClose() {
@@ -124,11 +124,11 @@
}
root.addEventListener('click', function (event) {
var button = event.target.closest('[data-aksrt-product-edit]');
var button = event.target.closest('[data-jio-product-edit]');
if (!button || dialog.open) return;
var payload;
try {
payload = JSON.parse(button.getAttribute('data-aksrt-product-edit'));
payload = JSON.parse(button.getAttribute('data-jio-product-edit'));
} catch (error) {
return;
}
@@ -151,7 +151,7 @@
pointerStartedOutside = event.target === dialog && isOutside(event);
});
dialog.addEventListener('click', function (event) {
if (event.target.closest('[data-aksrt-dialog-close]')
if (event.target.closest('[data-jio-dialog-close]')
|| (pointerStartedOutside && event.target === dialog && isOutside(event))) {
event.preventDefault();
requestClose();
@@ -189,7 +189,7 @@
lockScroll();
});
var highlighted = root.querySelector('.aksrt-products-table tr.is-highlight');
var highlighted = root.querySelector('.jio-products-table tr.is-highlight');
if (highlighted && typeof highlighted.scrollIntoView === 'function') {
highlighted.scrollIntoView({ block: 'center' });
}