Skip to content
wiki.fftac.org

Virtual Pages - Source Excerpt 97

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 report-backed starter profiles on the organizations route.
 */
function twoia_render_report_pack_directory_profiles() {
	?>
	<section class="section section--compact twoia-blueprint-section" aria-labelledby="twoia-report-directory-profiles-title">
		<header class="section-header">
			<p class="eyebrow"><?php esc_html_e( 'Report-backed profile backlog', 'two-identities-anonymous' ); ?></p>
			<h2 id="twoia-report-directory-profiles-title"><?php esc_html_e( 'First Profile Sets To Normalize', 'two-identities-anonymous' ); ?></h2>
			<p><?php esc_html_e( 'These are seed profile sets for a verified directory. They are not endorsements, active-service guarantees, or operational guides. Each future profile should carry a last-reviewed date, official-source link, scope note, risk label, and correction path.', 'two-identities-anonymous' ); ?></p>
		</header>
		<div class="twoia-dossier-grid">
			<?php foreach ( twoia_report_pack_directory_profile_sets() as $group ) : ?>
				<article class="briefing-panel briefing-panel--compact twoia-dossier-card">
					<span class="metadata-label"><?php esc_html_e( 'Profile set', 'two-identities-anonymous' ); ?></span>
					<h3><?php echo esc_html( $group['title'] ); ?></h3>
					<p><?php echo esc_html( $group['why'] ); ?></p>
					<ul>
						<?php foreach ( $group['entries'] as $entry ) : ?>
							<li>
								<strong>
									<?php if ( ! empty( $entry['url'] ) ) : ?>
										<a href="<?php echo esc_url( $entry['url'] ); ?>" rel="noopener noreferrer" target="_blank"><?php echo esc_html( $entry['name'] ); ?></a>
									<?php else : ?>
										<?php echo esc_html( $entry['name'] ); ?>
									<?php endif; ?>
								</strong>
								<span><?php echo esc_html( $entry['role'] ); ?></span>
								<span><?php echo esc_html( $entry['policy'] ); ?></span>
							</li>
						<?php endforeach; ?>
					</ul>
				</article>
			<?php endforeach; ?>
		</div>
	</section>
	<?php
}

/**
 * Return report-backed archive roadmap items.
 *
 * @return array
 */
function twoia_report_pack_content_roadmap_items() {
	return array(
		array(
			'lane'    => __( 'Directory spine', 'two-identities-anonymous' ),
			'title'   => __( 'First fifty organization profiles', 'two-identities-anonymous' ),
			'output'  => __( 'Normalize civil-liberties, digital-rights, OSINT, AI-governance, internet-freedom, and context-only historical entries with stable URLs and review dates.', 'two-identities-anonymous' ),
			'records' => __( 'Official page, current program page, contact route, jurisdiction, issue tags, source priority, risk label, correction route.', 'two-identities-anonymous' ),
		),
		array(
			'lane'    => __( 'Civil-liberties geography', 'two-identities-anonymous' ),
			'title'   => __( 'State and country directory buildout', 'two-identities-anonymous' ),
			'output'  => __( 'Turn the U.S. state and international civil-liberties mapping reports into jurisdiction pages that distinguish affiliates, specialized groups, commissions, and transnational networks.', 'two-identities-anonymous' ),
			'records' => __( 'Official site, legal entity record, affiliate page, issue scope, live contact page, last-checked date, language coverage.', 'two-identities-anonymous' ),
		),
		array(
			'lane'    => __( 'OSINT workflow', 'two-identities-anonymous' ),
			'title'   => __( 'Ethical investigation operating system', 'two-identities-anonymous' ),
			'output'  => __( 'Create reader workflows for requirements, collection limits, preservation, source notes, verification, minimization, AI assistance, and correction.', 'two-identities-anonymous' ),
			'records' => __( 'Source class, date seen, archive status, transformation, uncertainty, redaction choice, reviewer, correction path.', 'two-identities-anonymous' ),
		),
		array(
			'lane'    => __( 'Public-records engine', 'two-identities-anonymous' ),
			'title'   => __( 'Procurement and surveillance records library', 'two-identities-anonymous' ),
			'output'  => __( 'Publish templates for surveillance procurement, AI model governance, retention, audits, complaints, vendor terms, and appeal follow-up.', 'two-identities-anonymous' ),
			'records' => __( 'RFP, bid, scoring sheet, contract, amendment, invoice, SOW, training, privacy review, audit right, renewal notice, termination term.', 'two-identities-anonymous' ),
		),
		array(
			'lane'    => __( 'Grey-hat boundary', 'two-identities-anonymous' ),
			'title'   => __( 'Authorization and responsible-disclosure explainer', 'two-identities-anonymous' ),
			'output'  => __( 'Explain white-hat, grey-hat, and black-hat distinctions, why intent is not permission, and how organizations should use safe-harbor and disclosure policies.', 'two-identities-anonymous' ),
			'records' => __( 'Disclosure policy, bug-bounty scope, authorization language, legal-safe-harbor terms, incident-response route, no-extortion rule.', 'two-identities-anonymous' ),
		),
		array(
			'lane'    => __( 'Hacktivism context', 'two-identities-anonymous' ),
			'title'   => __( 'Anonymous, leak culture, and attribution files', 'two-identities-anonymous' ),
			'output'  => __( 'Build context-heavy pages that separate symbol, claim, evidence, action, motive, attribution confidence, and legal risk without operational content.', 'two-identities-anonymous' ),
			'records' => __( 'Claim label, source note, corroboration state, legal record, media effect, attribution confidence, public-interest reason, harm boundary.', 'two-identities-anonymous' ),
		),
		array(
			'lane'    => __( 'Trust and disambiguation', 'two-identities-anonymous' ),
			'title'   => __( '2IA namespace and privacy trust pages', 'two-identities-anonymous' ),
			'output'  => __( 'Make clear that 2IA means Two Identities Of Anonymous, not Type 2 Initial Attack firefighting, chemistry, robotics, graphics palettes, or an org.ai confusion point.', 'two-identities-anonymous' ),
			'records' => __( 'About language, metadata, schema, footer note, privacy defaults, plugin review, secure-drop caveat, support and newsletter provider notes.', 'two-identities-anonymous' ),
		),
	);
}

/**
 * Render report-backed roadmap cards in the archive route.
 */
function twoia_render_report_pack_content_roadmap() {
	?>
	<section class="section section--compact twoia-blueprint-section" aria-labelledby="twoia-report-roadmap-title">
		<header class="section-header">
			<p class="eyebrow"><?php esc_html_e( 'Report synthesis', 'two-identities-anonymous' ); ?></p>
			<h2 id="twoia-report-roadmap-title"><?php esc_html_e( 'Archive Build Priorities', 'two-identities-anonymous' ); ?></h2>
			<p><?php esc_html_e( '2IA is strongest as a working public-intelligence library, not a thin posture site. These lanes turn research priorities into concrete archive outputs.', 'two-identities-anonymous' ); ?></p>
		</header>
		<div class="twoia-dossier-grid">
			<?php foreach ( twoia_report_pack_content_roadmap_items() as $item ) : ?>
				<article class="briefing-panel briefing-panel--compact twoia-dossier-card">
					<span class="metadata-label"><?php echo esc_html( $item['lane'] ); ?></span>
					<h3><?php echo esc_html( $item['title'] ); ?></h3>
					<p><strong><?php esc_html_e( 'Output:', 'two-identities-anonymous' ); ?></strong> <?php echo esc_html( $item['output'] ); ?></p>
					<p><strong><?php esc_html_e( 'Records or fields:', 'two-identities-anonymous' ); ?></strong> <?php echo esc_html( $item['records'] ); ?></p>
				</article>
			<?php endforeach; ?>
		</div>
	</section>
	<?php
}

/**
 * Render recent posts and category links for the virtual archive route.
 */
function twoia_render_virtual_research_archive() {
	global $post;

	$recent_posts = get_posts(
		array(
			'post_type'           => function_exists( 'twoia_article_post_types' ) ? twoia_article_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 ) );
			}
		)
	);
	?>
	<?php if ( function_exists( 'twoia_render_publication_lanes' ) ) : ?>
		<?php twoia_render_publication_lanes(); ?>
	<?php endif; ?>

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