1:1 replicate the reference theme user-ban flow on the frontend: - Ban/unban modal rendered by inc/helpers/user-ban.php, opened via AksrtModalRuntime.openRemote (600px desktop dialog, 360px initial height, mobile bottom drawer, c-yellow colorful unban header). - Three entry points wired: user homepage cover three-dot menu, comment section menu, article author card menu (ban item takes priority over report, matching the reference hook order). - REST endpoints /user-ban/modal and /user-ban/set under aksrt/v1, guarded by check_permission, persisted through User\Restriction. - Submit semantics match zib_ajax_set_user_ban: ban reloads the page, unban only closes the modal. Cleanup (no dual-track): the backend ban-restrictions tab, its form handlers and flash keys are removed; ticket processing links to the frontend user homepage as the reference theme does; admin/report and appeal notification URLs move to type/status query args. Verification: 337/337 widget-system contract tests, 41/41 admin and front-submit tests, php -l clean on all changed PHP files.
91 lines
4.5 KiB
PHP
91 lines
4.5 KiB
PHP
<?php
|
|
/**
|
|
* AKSRT Theme Bootstrap Loader
|
|
*
|
|
* Helpers + procedural modules + core hooks.
|
|
* Domain classes load via Composer PSR-4 (src/).
|
|
*
|
|
* @package AKSRT
|
|
* @version 3.4.0
|
|
*/
|
|
|
|
defined('ABSPATH') || exit;
|
|
|
|
// Stage 1: helpers
|
|
require_once AKSRT_DIR . '/inc/aksrt-ajax-debug.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-icons.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-icon-picker.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-avatar.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-domain-model.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-template-tags.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-frontend-tags.php';
|
|
// Shared comment kernel.
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-ip-geo.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/comments/content.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/comments/actions.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/comments/geo.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/comments/icons.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/comments/form-parts.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/comments/item.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-flow.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-homepage.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/homepage/content.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/homepage/header-components.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/homepage/layout.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-single-components.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-single.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-yiyan.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-single-render.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-single-aside.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-archive.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-archive-filters.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-comments.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-page-template.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-slider.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-vip.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-auth-ui.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-i18n-header.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-posts-renderer.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-resource.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-pay.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-coupon-order.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-credits.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-null.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/user-ban.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-ajax-list.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-links.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/search/aksrt-search-posts.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/search/aksrt-search-box.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-header-userbox.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-header-menu-buttons.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/header/aksrt-header-render.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/header/aksrt-header-navbar.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/header/aksrt-header-mobile.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/header/aksrt-header-menu-search.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-runtime-win.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-identity.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-graphic-card.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-widgets-markup.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-icon-cards.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-user-card.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-rewards.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/menu-decoration.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-transactions.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-user-dashboard.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-user-center.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-user-home.php';
|
|
require_once AKSRT_DIR . '/inc/helpers/aksrt-shortcodes.php';
|
|
|
|
// Stage 2: procedural modules
|
|
require_once AKSRT_DIR . '/inc/modules/captcha.php';
|
|
require_once AKSRT_DIR . '/inc/modules/user-hub.php';
|
|
require_once AKSRT_DIR . '/inc/modules/user-notifications.php';
|
|
require_once AKSRT_DIR . '/inc/modules/message-center.php';
|
|
require_once AKSRT_DIR . '/inc/modules/creator-revenue.php';
|
|
|
|
// Stage 3: core hooks
|
|
require_once AKSRT_DIR . '/inc/core-hooks.php';
|
|
|
|
add_action('admin_init', function () {
|
|
}, 5);
|