active_all(); $aisiteark_rest = \AtoZ\SiteArk\Jobs\Restore_Runner::current(); $aisiteark_has_active = ! empty( $aisiteark_jobs ) || null !== $aisiteark_rest; $aisiteark_log = get_option( 'aisiteark_activity', array() ); $aisiteark_log = is_array( $aisiteark_log ) ? $aisiteark_log : array(); // The WordPress.org (free) edition shows no Pro badges or upgrade prompts. $aisiteark_dotorg = defined( 'AISITEARK_DOTORG' ) && AISITEARK_DOTORG; // Free build: a short recent activity log. The full audit trail (300 events + user IP) is Pro. $aisiteark_audit = false; $aisiteark_show_ip = false; if ( ! $aisiteark_audit ) { $aisiteark_log = array_slice( $aisiteark_log, 0, 20 ); } /** * Cancel/pause/resume form (ADMIN only). * * @param string $post admin-post URL. * @param string $type backup|upload|restore. * @param int $job Job id (0 for restore). * @param string $op cancel|pause|resume. * @param string $label Button text. * @param string $cls Extra button class. * @param string $conf Optional confirm message. * @return void */ if ( ! function_exists( 'aisiteark_task_btn' ) ) : function aisiteark_task_btn( $post, $type, $job, $op, $label, $cls = '', $conf = '' ) { ?>

page_header( __( 'Activity & tasks', 'ai-siteark' ), __( 'What’s running right now, and a log of who did what.', 'ai-siteark' ) ); ?>

· ' . esc_html( $aisiteark_j['step'] ) . '' : ''; ?>
%
· —