Skip to content
wiki.fftac.org

Virtual Pages - Source Excerpt 42

Back to Virtual Pages

Summary

This source excerpt preserves a bounded section of 2IA.org/wp-content/themes/twoia-intelligence/inc/virtual-pages.php so readers can inspect the evidence without opening the full source file.

**Source path:** 2IA.org/wp-content/themes/twoia-intelligence/inc/virtual-pages.php

/**
 * Render the Issues page.
 */
function twoia_render_issues_portal() {
	?>
	<section class="section section--compact twoia-ia-section" aria-labelledby="twoia-issues-title">
		<header class="section-header">
			<p class="eyebrow"><?php esc_html_e( 'Issue map', 'two-identities-anonymous' ); ?></p>
			<h2 id="twoia-issues-title"><?php esc_html_e( 'Freedom problems, not neutral glossary terms', 'two-identities-anonymous' ); ?></h2>
			<p><?php esc_html_e( 'These issue beats explain where institutional power touches ordinary life. Each card names why the system matters, who gets hit, where to read next, which resources help, and what record or question should move first.', 'two-identities-anonymous' ); ?></p>
		</header>
		<div class="twoia-issue-map">
			<?php foreach ( twoia_issue_map_items() as $issue ) : ?>
				<article class="briefing-panel briefing-panel--compact twoia-issue-card">
					<span class="metadata-label"><?php esc_html_e( 'Core issue', 'two-identities-anonymous' ); ?></span>
					<h3><?php echo esc_html( $issue['title'] ); ?></h3>
					<p><?php echo esc_html( $issue['summary'] ); ?></p>
					<dl class="twoia-card-facts">
						<div>
							<dt><?php esc_html_e( 'Why it matters', 'two-identities-anonymous' ); ?></dt>
							<dd><?php echo esc_html( $issue['why'] ); ?></dd>
						</div>
						<div>
							<dt><?php esc_html_e( 'Who is affected', 'two-identities-anonymous' ); ?></dt>
							<dd><?php echo esc_html( $issue['affected'] ); ?></dd>
						</div>
						<div>
							<dt><?php esc_html_e( 'Related research', 'two-identities-anonymous' ); ?></dt>
							<dd><?php echo esc_html( $issue['research'] ); ?></dd>
						</div>
						<div>
							<dt><?php esc_html_e( 'Related resources', 'two-identities-anonymous' ); ?></dt>
							<dd><?php echo esc_html( $issue['resources'] ); ?></dd>
						</div>
						<div>
							<dt><?php esc_html_e( 'Organizations to check', 'two-identities-anonymous' ); ?></dt>
							<dd><?php echo esc_html( $issue['orgs'] ); ?></dd>
						</div>
						<div>
							<dt><?php esc_html_e( 'Suggested next step', 'two-identities-anonymous' ); ?></dt>
							<dd><?php echo esc_html( $issue['next'] ); ?></dd>
						</div>
					</dl>
				</article>
			<?php endforeach; ?>
		</div>
	</section>
	<?php
}

/**
 * Render topic chips.
 *
 * @param array $groups Chip groups.
 */
function twoia_render_filter_chips( $groups ) {
	?>
	<div class="twoia-filter-panel" aria-label="<?php esc_attr_e( 'Research filters', 'two-identities-anonymous' ); ?>">
		<?php foreach ( $groups as $label => $chips ) : ?>
			<section>
				<h3><?php echo esc_html( $label ); ?></h3>
				<ul class="twoia-chip-list">
					<?php foreach ( $chips as $chip ) : ?>
						<li><span><?php echo esc_html( $chip ); ?></span></li>
					<?php endforeach; ?>
				</ul>
			</section>
		<?php endforeach; ?>
	</div>
	<?php
}

/**
 * Render the Research page.
 */
function twoia_render_research_portal() {
	global $post;

	$recent_posts = get_posts(
		array(
			'post_type'           => function_exists( 'twoia_public_search_post_types' ) ? twoia_public_search_post_types() : array( 'post' ),
			'post_status'         => 'publish',
			'posts_per_page'      => 6,
			'ignore_sticky_posts' => true,
		)
	);
	$recent_posts = array_values(
		array_filter(
			$recent_posts,
			static function ( $candidate_post ) {
				return ! ( function_exists( 'twoia_is_default_placeholder_post' ) && twoia_is_default_placeholder_post( $candidate_post ) );
			}
		)
	);
	?>
	<section class="section section--compact twoia-ia-section" aria-labelledby="twoia-research-filters-title">
		<header class="section-header">
			<p class="eyebrow"><?php esc_html_e( 'Living research index', 'two-identities-anonymous' ); ?></p>
			<h2 id="twoia-research-filters-title"><?php esc_html_e( 'Investigations, case studies, history, policy, and public records', 'two-identities-anonymous' ); ?></h2>
			<p><?php esc_html_e( 'Research covers intelligence history, international intelligence apparatuses, proxy networks, soft power, OSINT, SIGINT infrastructure, surveillance systems, domestic weaponization, cyber conflict, information operations, anonymity, public records, civil liberties, and state or non-state power.', 'two-identities-anonymous' ); ?></p>
		</header>
		<?php
		twoia_render_filter_chips(
			array(
				__( 'Topic', 'two-identities-anonymous' )      => array( __( 'Surveillance', 'two-identities-anonymous' ), __( 'Metadata', 'two-identities-anonymous' ), __( 'AI scoring', 'two-identities-anonymous' ), __( 'Public records', 'two-identities-anonymous' ), __( 'Anonymity', 'two-identities-anonymous' ), __( 'Intelligence power', 'two-identities-anonymous' ), __( 'Cyber conflict', 'two-identities-anonymous' ) ),
				__( 'Format', 'two-identities-anonymous' )     => array( __( 'Investigation', 'two-identities-anonymous' ), __( 'Case study', 'two-identities-anonymous' ), __( 'Explainer', 'two-identities-anonymous' ), __( 'Historical analysis', 'two-identities-anonymous' ), __( 'Policy analysis', 'two-identities-anonymous' ), __( 'Toolkit', 'two-identities-anonymous' ) ),
				__( 'Date', 'two-identities-anonymous' )       => array( __( 'Latest', 'two-identities-anonymous' ), __( 'Updated', 'two-identities-anonymous' ), __( 'Historical file', 'two-identities-anonymous' ) ),
				__( 'Status', 'two-identities-anonymous' )     => array( __( 'Published', 'two-identities-anonymous' ), __( 'Updated', 'two-identities-anonymous' ), __( 'Correction noted', 'two-identities-anonymous' ), __( 'Right of reply open', 'two-identities-anonymous' ) ),
				__( 'Confidence', 'two-identities-anonymous' ) => array( __( 'Confirmed', 'two-identities-anonymous' ), __( 'Corroborated', 'two-identities-anonymous' ), __( 'Inferred', 'two-identities-anonymous' ), __( 'Disputed', 'two-identities-anonymous' ), __( 'Unverified', 'two-identities-anonymous' ) ),
			)
		);
		?>
	</section>

	<?php if ( function_exists( 'twoia_render_publication_lanes' ) ) : ?>
		<?php twoia_render_publication_lanes(); ?>
	<?php endif; ?>

	<section class="section section--compact twoia-ia-section" aria-labelledby="twoia-research-depth-title">
		<header class="section-header">
			<p class="eyebrow"><?php esc_html_e( 'Intelligence-apparatus layer', 'two-identities-anonymous' ); ?></p>
			<h2 id="twoia-research-depth-title"><?php esc_html_e( 'Serious subjects stay on the table', 'two-identities-anonymous' ); ?></h2>
		</header>
		<?php
		twoia_render_ia_cards(
			array(
				array( 'title' => __( 'Historical statecraft and proxy networks', 'two-identities-anonymous' ), 'body' => __( 'Higher Police doctrine, Okhrana, Cheka, GPU, NKVD, KGB lineage, Cold War intelligence coalitions, Safari Club, World Commerce Corporation, soft power, and intelligence agencies as institutions of state continuity.', 'two-identities-anonymous' ) ),
				array( 'title' => __( 'Asymmetric threats and cyber conflict', 'two-identities-anonymous' ), 'body' => __( 'Decentralized non-state actors, propaganda networks, historical cyber-disruption cases, state responses to digital radicalization, information warfare, and narrative conflict without operational terrorist or intrusion instructions.', 'two-identities-anonymous' ) ),
				array( 'title' => __( 'OSINT and SIGINT frameworks', 'two-identities-anonymous' ), 'body' => __( 'Public records, source verification, social media as evidence, satellite and signals infrastructure at a high analytical level, metadata awareness, domain authenticity, provenance, and confidence labeling.', 'two-identities-anonymous' ) ),
				array( 'title' => __( 'Domestic weaponization and civil liberties', 'two-identities-anonymous' ), 'body' => __( 'Surveillance abuse, legal process, chilling effects, watchlists, political targeting allegations, automated suspicion, due process, records access, press freedom, dissent, and anonymity.', 'two-identities-anonymous' ) ),
			)
		);
		?>
	</section>