The theme was renamed Zibll/子比 → AKSRT → Jio, but upstream branding survived the sweeps in CSS classes, the SVG sprite prefix, a persisted widget field ID, JS events, admin Vue class names, test infrastructure and docblocks. Renames: - zib-widget / zib-widget-wrap / zib-slider → jio-widget-box / jio-widget-box-wrap / jio-slider-box (jio-widget is taken by the modern widget shell, jio-box-* by the card primitives) - zib-partners-scroll + zps-* → jio-partners-scroll + jps-* - zib-combo-info-card + zci-* → jio-combo-info-card + jci-* - zibsvg- → jiosvg-, including the exported picker helpers and the fa-zibsvg- family-prefix guard - zibpay_type → pay_type; the dual-read fallback in PostQuery collapses to a single key - [zibajax="submit"] dropped (no PHP emitter); zib_ajax.success → jio_ajax.success - aks-* admin Vue classes → jio-* - zib_palette() → palette() User-facing vendor traces are gone: the floating "more" button default no longer ships a zibll.com link or 子比主题 marketing copy, the notice widget ships no preset promo entries, and the four 官网教程 links are removed from the post-list admin schema. Test infrastructure renamed to neutral names (docker-compose.reference.yml, Caddyfile, article-baseline.json, modern-widgets-contract.test.cjs) with their DB/volume/env/slug identifiers following. Kept intentionally, documented in tests/fixtures/README.md: the golden fixture reference fingerprint (a SHA-256 record of an external directory, read by validate-widget-golden / generate-widget-golden-fixture / audit-widget-system), the doesNotMatch guards that prove the old tokens are gone, and the reference theme's own meta key in the visual fixtures. No backward-compat or data migration: saved widget configs holding old icon keys or the old field ID silently lose them, per the project's rewrite-over-compatibility rule. Verified: 132/132 node contract tests, php tests/widget-system/run.php (146 assertions), audit-admin-contracts, audit-psr4-paths and validate-widget-golden all green; tracked bundles regenerated and in sync. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
36 lines
1.8 KiB
PHP
36 lines
1.8 KiB
PHP
<?php
|
|
/**
|
|
* Affiliate poster preview modal.
|
|
*
|
|
* Poster-share modal: a borderless 360px Bootstrap-style dialog
|
|
* centred by `.modal.flex.jc`, a `.loading-mask` overlay while the canvas renders,
|
|
* and circular download/close buttons on a `.hover-show-con` layer that only fades
|
|
* in on hover. The 推广海报 button lives in the revenue detail link row; the QR code
|
|
* is no longer rendered on its own — it exists only inside the generated poster.
|
|
*
|
|
* @package Jio
|
|
*/
|
|
|
|
defined('ABSPATH') || exit;
|
|
|
|
if (!empty($GLOBALS['jio_affiliate_poster_modal_rendered'])) {
|
|
return;
|
|
}
|
|
$GLOBALS['jio_affiliate_poster_modal_rendered'] = true;
|
|
?>
|
|
<div class="modal fade flex jc" id="jio-affiliate-poster-modal" data-jio-affiliate-poster-modal tabindex="-1" role="dialog" aria-hidden="true">
|
|
<div class="modal-dialog poster-share hover-show" role="document">
|
|
<div class="modal-content" style="height:220px;overflow:hidden">
|
|
<div class="poster-imgbox hover-show" data-affiliate-poster-stage></div>
|
|
<div class="flex jc loading-mask absolute main-bg radius8" data-affiliate-poster-loading>
|
|
<div class="loading zts fa-2x"></div>
|
|
<div class="muted-2-color box-body"><?php esc_html_e('正在生成图片,请稍候...', 'jio'); ?></div>
|
|
</div>
|
|
</div>
|
|
<div class="padding-6 abs-center hover-show-con text-center" style="top:auto">
|
|
<a href="javascript:;" class="but cir jb-blue poster-download hide" data-affiliate-poster-download aria-label="<?php esc_attr_e('保存海报', 'jio'); ?>"><i class="fas fa-download" aria-hidden="true"></i></a>
|
|
<button type="button" data-dismiss="modal" class="but cir jb-yellow ml10" aria-label="<?php esc_attr_e('关闭', 'jio'); ?>"><svg aria-hidden="true" class="icon em12"><use xlink:href="#icon-close"></use></svg></button>
|
|
</div>
|
|
</div>
|
|
</div>
|