Skip to content
wiki.fftac.org

Virtual Pages - Source Excerpt 43

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

<section class="section section--compact twoia-ia-section" aria-labelledby="twoia-latest-research-title">
		<header class="section-header">
			<p class="eyebrow"><?php esc_html_e( 'Latest research', 'two-identities-anonymous' ); ?></p>
			<h2 id="twoia-latest-research-title"><?php esc_html_e( 'Published research', 'two-identities-anonymous' ); ?></h2>
			<p><?php esc_html_e( 'Each published card gives the title, date, format, issue tags, confidence status, and correction context available for that article.', 'two-identities-anonymous' ); ?></p>
		</header>
		<?php if ( $recent_posts ) : ?>
			<div class="grid grid--cards">
				<?php
				foreach ( $recent_posts as $post ) :
					setup_postdata( $post );
					get_template_part( 'template-parts/content', 'card' );
				endforeach;
				wp_reset_postdata();
				?>
			</div>
		<?php else : ?>
			<?php
			twoia_render_ia_cards(
				array(
					array( 'title' => __( 'No published briefings yet', 'two-identities-anonymous' ), 'body' => __( 'The issue map, source-class guide, system-failure cards, and practical packets below are ready while full articles move through review.', 'two-identities-anonymous' ) ),
				)
			);
			?>
		<?php endif; ?>
	</section>

	<?php twoia_render_source_class_matrix(); ?>
	<?php twoia_render_issue_hub_blueprints(); ?>
	<?php twoia_render_archive_toolkits_and_planning(); ?>

	<section class="section section--compact twoia-page-cta" aria-labelledby="twoia-research-corrections-title">
		<h2 id="twoia-research-corrections-title"><?php esc_html_e( 'Corrections and right of reply are part of the research system', 'two-identities-anonymous' ); ?></h2>
		<p><?php esc_html_e( 'Material claims remain challengeable. Corrections cover factual error, missing context, attribution problems, stale sources, privacy exposure, or a reply that changes the public record.', 'two-identities-anonymous' ); ?></p>
		<p><a class="button button--primary" href="<?php echo esc_url( home_url( '/corrections-and-right-of-reply/' ) ); ?>"><?php esc_html_e( 'Read Corrections and Right of Reply', 'two-identities-anonymous' ); ?></a> <a class="button button--secondary" href="<?php echo esc_url( home_url( '/newsletter/' ) ); ?>"><?php esc_html_e( 'Follow without tracking bloat', 'two-identities-anonymous' ); ?></a></p>
		<p class="metadata-label"><?php esc_html_e( 'Legacy research links still work: older /research-archive/ links now open the canonical /research/ index or the preserved dossier page.', 'two-identities-anonymous' ); ?></p>
	</section>
	<?php
}

/**
 * Render the Resources page.
 */
function twoia_render_resources_portal() {
	?>
	<section class="section section--compact twoia-ia-section" aria-labelledby="twoia-resources-actions-title">
		<header class="section-header">
			<p class="eyebrow"><?php esc_html_e( 'Practical resources', 'two-identities-anonymous' ); ?></p>
			<h2 id="twoia-resources-actions-title"><?php esc_html_e( 'Do something useful with the record in front of you', 'two-identities-anonymous' ); ?></h2>
			<p><?php esc_html_e( 'Resources are practical, lawful, freedom-forward tools for public-interest research: records requests, copy-ready templates, checklists, OSINT basics, glossary language, and defensive privacy habits.', 'two-identities-anonymous' ); ?></p>
		</header>
		<?php
		twoia_render_ia_cards(
			array(
				array( 'title' => __( 'Start a public records request', 'two-identities-anonymous' ), 'body' => __( 'Ask for the contract, policy, budget, audit, retention schedule, training material, complaint log, appeal letter, or correction record.', 'two-identities-anonymous' ), 'url' => home_url( '/public-records-and-foia/' ) ),
				array( 'title' => __( 'Browse the glossary', 'two-identities-anonymous' ), 'body' => __( 'Define selectors, metadata, OSINT, SIGINT, provenance, confidence, minimization, right of reply, and domain-spoofing risks.', 'two-identities-anonymous' ), 'url' => home_url( '/lexicon/' ) ),
				array( 'title' => __( 'Read the research standards', 'two-identities-anonymous' ), 'body' => __( 'Use the evidence ladder, confidence labels, source classes, AI disclosure, corrections, and minimization posture.', 'two-identities-anonymous' ), 'url' => home_url( '/methodology/' ) ),
				array( 'title' => __( 'Use copy-ready templates', 'two-identities-anonymous' ), 'body' => __( 'Start with narrowly framed requests, correction notes, appeal language, vendor-claim questions, and public-comment prompts.', 'two-identities-anonymous' ) ),
				array( 'title' => __( 'Understand surveillance terms', 'two-identities-anonymous' ), 'body' => __( 'Translate vague claims into concrete questions about data sources, retention, access, audit, deletion, sharing, and human review.', 'two-identities-anonymous' ), 'url' => home_url( '/issues/' ) ),
				array( 'title' => __( 'Find organizations', 'two-identities-anonymous' ), 'body' => __( 'Match the problem to the role: litigation, policy, local coalition, records platform, digital-rights guide, investigative lab, or historical context.', 'two-identities-anonymous' ), 'url' => home_url( '/organizations/' ) ),
				array( 'title' => __( 'Learn OSINT basics', 'two-identities-anonymous' ), 'body' => __( 'Use public information with purpose, source context, minimization, corroboration, redaction, confidence labels, and correction.', 'two-identities-anonymous' ), 'url' => home_url( '/open-source-intelligence/' ) ),
				array( 'title' => __( 'Understand domain and identity threats', 'two-identities-anonymous' ), 'body' => __( 'Check official domains, punycode, homoglyphs, redirects, copied wordmarks, and contact-route authenticity before trusting a page.', 'two-identities-anonymous' ), 'url' => home_url( '/lexicon/' ) ),
			),
			'twoia-resource-actions'
		);
		?>
	</section>

	<section class="section section--compact twoia-ia-section" aria-labelledby="twoia-glossary-module-title">
		<header class="section-header">
			<p class="eyebrow"><?php esc_html_e( 'Glossary module', 'two-identities-anonymous' ); ?></p>
			<h2 id="twoia-glossary-module-title"><?php esc_html_e( 'Terms that turn vague concern into a sharper request', 'two-identities-anonymous' ); ?></h2>
			<p><?php esc_html_e( 'Use these short definitions to name the system, ask for the right records, and keep OSINT work analytical instead of invasive.', 'two-identities-anonymous' ); ?></p>
		</header>
		<?php
		twoia_render_ia_cards(
			array(
				array( 'title' => __( 'Selector', 'two-identities-anonymous' ), 'body' => __( 'A name, account, device, number, location, term, or other handle used to find or filter records. Ask who chose it, what rule governs it, and when it expires.', 'two-identities-anonymous' ) ),
				array( 'title' => __( 'Metadata', 'two-identities-anonymous' ), 'body' => __( 'The records around content: time, place, device, account, routing, relationship, payment, or access. It can identify a life without exposing the message body.', 'two-identities-anonymous' ) ),
				array( 'title' => __( 'Provenance', 'two-identities-anonymous' ), 'body' => __( 'Where a claim or file came from, how it moved, what changed, and what record would let a reader check it.', 'two-identities-anonymous' ) ),
				array( 'title' => __( 'Confidence label', 'two-identities-anonymous' ), 'body' => __( 'A public signal that separates confirmed, corroborated, likely, inferred, disputed, stale, unknown, and unverified claims.', 'two-identities-anonymous' ) ),
				array( 'title' => __( 'Minimization', 'two-identities-anonymous' ), 'body' => __( 'Publishing only the detail needed for public accountability while withholding unrelated private-person data, bystander exposure, and operational harm detail.', 'two-identities-anonymous' ) ),
				array( 'title' => __( 'OSINT', 'two-identities-anonymous' ), 'body' => __( 'Open-source intelligence: lawful public-source research with source notes, purpose, corroboration, minimization, and correction paths.', 'two-identities-anonymous' ) ),
				array( 'title' => __( 'SIGINT', 'two-identities-anonymous' ), 'body' => __( 'Signals intelligence, discussed here at the level of law, infrastructure, history, oversight, and civil-liberties impact rather than interception instructions.', 'two-identities-anonymous' ) ),
				array( 'title' => __( 'Right of reply', 'two-identities-anonymous' ), 'body' => __( 'A route for a materially named institution or person to add evidence, dispute a claim, correct context, or sharpen the record without gaining a veto.', 'two-identities-anonymous' ) ),
			)
		);
		?>
	</section>