0; $geistm_place_choice = get_option( 'geistm_adnet_placement_choice', '' ); $geistm_network = class_exists( 'Geistm_Network' ) ? Geistm_Network::cached() : null; $geistm_matches = ( $geistm_network && ! empty( $geistm_network['exchange']['registered'] ) ) ? intval( $geistm_network['exchange']['matches'] ) : 0; // Creating the wallet is a real step (nothing is minted at activation); // only a host without GMP is excused from it. $geistm_wallet_req_done = $geistm_has_gmp ? $geistm_has_wallet : true; $geistm_adnet_req_done = $geistm_declined || ( $geistm_adnet_on && $geistm_placed ); $geistm_all_done = $geistm_has_desc && $geistm_wallet_req_done && $geistm_signed_ok && $geistm_adnet_req_done; // Read by settings-viewer.php after this include: when the setup flow renders // (guide or status line), it owns the signing call-to-action. $geistm_setup_rendered = false; // First actionable step; everything after it renders locked. if ( ! $geistm_has_desc ) { $geistm_active = 1; } elseif ( ! $geistm_has_wallet && $geistm_has_gmp ) { $geistm_active = 2; } elseif ( ! $geistm_signed_ok ) { $geistm_active = 3; } elseif ( ! $geistm_adnet_on && ! $geistm_declined ) { $geistm_active = 4; } elseif ( $geistm_adnet_on && ! $geistm_placed ) { $geistm_active = 5; } else { $geistm_active = 0; } $geistm_sign_url = wp_nonce_url( add_query_arg( array( 'page' => 'geistm-adnet', 'tab' => 'viewer', 'geistm_sign_manifest' => '1' ), admin_url( 'options-general.php' ) ), 'geistm_sign_manifest' ); $geistm_tab_url = function ( $tab ) { return add_query_arg( array( 'page' => 'geistm-adnet', 'tab' => $tab ), admin_url( 'options-general.php' ) ); }; // ── FLASHES ─────────────────────────────────────────────────────────── // if ( isset( $_GET['signed'] ) && '1' === $_GET['signed'] ) : ?>
is_available(); $geistm_ai_error = get_transient( 'geistm_proxy_error' ); if ( ! empty( $geistm_ai_error ) ) : ?>
' . esc_html__( 'full details', 'geistm-adnet' ) . '' ); ?>

⚠

✓

✓

is_available(); ?>

>



✓

✓

✓ 0 ) : ?>
○

✓
array( 'label' => __( 'Banner', 'geistm-adnet' ), 'hint' => __( 'Wide strip', 'geistm-adnet' ), 'snippet' => '
', ), 'square' => array( 'label' => __( 'Square', 'geistm-adnet' ), 'hint' => __( '1:1 tile', 'geistm-adnet' ), 'snippet' => '
', ), 'card' => array( 'label' => __( 'Card', 'geistm-adnet' ), 'hint' => __( 'Image + text', 'geistm-adnet' ), 'snippet' => '
', ), 'qr' => array( 'label' => __( 'QR', 'geistm-adnet' ), 'hint' => __( 'Scannable code', 'geistm-adnet' ), 'snippet' => '
', ), ); if ( ! isset( $geistm_formats[ $geistm_cur_format ] ) ) { $geistm_cur_format = 'banner'; } ?>

$geistm_fmt ) : ?>

  1. /.well-known/ai' ); ?>
  2. /llms.txt' ); ?>