Skip to content
wiki.fftac.org

Virtual Pages - Source Excerpt 71

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

__( 'Proud and loud means liberty is not a decorative footer phrase. It means the site is willing to say that anonymity can be lawful, that surveillance needs oversight, that automated certainty can harm people, and that public records belong to the public.', 'two-identities-anonymous' ),
				__( 'Direct does not mean reckless. The page can have teeth because it also has boundaries: no doxxing, no harassment, no operational abuse, no secret-authority theater, and no claims that cannot be corrected when better evidence arrives.', 'two-identities-anonymous' ),
			),
		),
	);

	foreach ( $lenses[ $parent_slug ] ?? array() as $pattern => $items ) {
		if ( preg_match( '/' . $pattern . '/i', $topic_key ) ) {
			return $items;
		}
	}

	return array(
		sprintf(
			/* translators: 1: dossier title, 2: parent route title. */
			__( '%1$s takes one part of %2$s and makes it concrete. The card is the doorway; the detail page shows the stakes, record trail, and accountability question a reader can carry forward.', 'two-identities-anonymous' ),
			$title,
			$page['parent_page']['title'] ?? ''
		),
		$body,
		__( 'The most useful version of the topic is specific enough to check and bounded enough to avoid needless exposure. It should name the institution, policy, record category, right, uncertainty, or correction path that gives the page public value.', 'two-identities-anonymous' ),
	);
}

/**
 * Return practical reader-payoff paragraphs for a detail page.
 *
 * @param array $page    Section-backed child route definition.
 * @param array $section Section definition.
 * @param array $dossier Dossier payload.
 * @return array
 */
function twoia_get_virtual_dossier_reader_payoff( $page, $section, $dossier ) {
	$title        = isset( $section['title'] ) ? wp_strip_all_tags( $section['title'] ) : $page['title'];
	$parent_title = isset( $page['parent_page']['title'] ) ? wp_strip_all_tags( $page['parent_page']['title'] ) : '';
	$use_items    = twoia_virtual_text_items( $dossier['use'] ?? array() );
	$evidence     = twoia_virtual_text_items( $dossier['evidence'] ?? array() );
	$first_use    = ! empty( $use_items ) ? $use_items[0] : __( 'turn the issue into a public question that can be answered with records, policy, correction, or oversight.', 'two-identities-anonymous' );
	$first_record = ! empty( $evidence ) ? $evidence[0] : __( 'public records, policies, source notes, correction logs, and reviewable claims.', 'two-identities-anonymous' );

	return array(
		sprintf(
			/* translators: 1: dossier title, 2: parent route title. */
			__( 'The payoff for reading %1$s is a sharper way to use the larger %2$s route. The reader should be able to say what is being claimed, what kind of record would support it, what uncertainty remains, and what public step would improve the evidence.', 'two-identities-anonymous' ),
			$title,
			$parent_title
		),
		sprintf(
			/* translators: %s: first use item. */
			__( 'The first useful move is this: %s That move keeps the page from becoming passive worry. It turns the topic into a record request, correction question, oversight question, public comment, or reading path that someone can actually follow.', 'two-identities-anonymous' ),
			lcfirst( $first_use )
		),
		sprintf(
			/* translators: %s: first evidence item. */
			__( 'The first evidence layer to look for is %s A page that names its evidence layer lets readers check the claim without treating tone as proof. It also shows what is missing when the public record is still incomplete.', 'two-identities-anonymous' ),
			lcfirst( $first_record )
		),
		__( 'A reader should not have to dig through disclaimers to find the story. The story should lead, the verification path should arrive early, and the boundaries should be available when needed. That order respects the reader and still protects the work.', 'two-identities-anonymous' ),
	);
}

/**
 * Return the sharp first claim a reader should see in the fast brief.
 *
 * @param array $page    Section-backed child route definition.
 * @param array $section Section definition.
 * @return string
 */
function twoia_get_virtual_dossier_core_issue( $page, $section ) {
	$title        = isset( $section['title'] ) ? wp_strip_all_tags( $section['title'] ) : $page['title'];
	$body         = isset( $section['body'] ) ? wp_strip_all_tags( $section['body'] ) : '';
	$parent_slug  = isset( $page['parent_slug'] ) ? sanitize_title( $page['parent_slug'] ) : '';

	$core = array(
		'start-here'              => __( 'The system is built to exhaust people. Power hides in paperwork, vendor terms, risk labels, court pressure, credit files, public-records delays, and polite institutional language. %s should point the reader at the first pressure point, not ask them to admire the map.', 'two-identities-anonymous' ),
		'methodology'             => __( 'Bad institutions win when claims become fog. %s is about forcing every claim to name its evidence, its uncertainty, its missing records, and the correction that would change the page.', 'two-identities-anonymous' ),
		'public-records-and-foia' => __( 'The public is told to trust systems it is not allowed to inspect. %s turns that trust demand into a request for contracts, emails, retention rules, budgets, audits, and denial letters.', 'two-identities-anonymous' ),
		'two-identities'          => __( 'Modern power does not need your legal name first. It can link devices, accounts, locations, faces, purchases, contacts, and mistakes. %s is about when identity linking becomes control.', 'two-identities-anonymous' ),
		'surveillance-systems'    => __( 'Surveillance is usually bought before it is debated. %s follows the money, the data source, the access rule, the retention schedule, the vendor promise, and the missing audit.', 'two-identities-anonymous' ),
		'ai-surveillance'         => __( 'Automated suspicion turns messy human life into a score, flag, queue, or denial. %s asks who is judged, who can appeal, and what proof exists outside the machine.', 'two-identities-anonymous' ),
		'false-positives'         => __( 'An error is not harmless when it travels. %s tracks where the bad signal entered, who copied it, who acted on it, and what proof shows the correction reached every downstream file.', 'two-identities-anonymous' ),
		'research-archive'        => __( 'Archives become useless when they store content without consequences. %s should show what broke, what record proves it, what changed, and what demand comes next.', 'two-identities-anonymous' ),
		'organizations'           => __( 'A directory fails when it gives readers names without fit, currency, source proof, or risk context. %s should tell the reader what kind of help this is, how to verify it, and what boundary keeps the listing honest.', 'two-identities-anonymous' ),
		'support'                 => __( 'Movements rot when the support system copies the same surveillance habits it criticizes. %s tests money, mailing lists, volunteer labor, analytics, and incentives against the privacy promise.', 'two-identities-anonymous' ),
		'about'                   => __( 'About pages are usually where projects inflate themselves. %s makes the claim falsifiable: who funds it, what it covers, what it refuses, and how it corrects itself.', 'two-identities-anonymous' ),
	);

	if ( isset( $core[ $parent_slug ] ) ) {
		return sprintf( $core[ $parent_slug ], $title );
	}

	if ( $body ) {
		return sprintf(
			/* translators: 1: dossier title, 2: card body. */
			__( '%1$s matters because it names a real pressure point: %2$s', 'two-identities-anonymous' ),
			$title,
			$body
		);
	}

	return sprintf(
		/* translators: %s: dossier title. */
		__( '%s should name the failure, the beneficiary, the harm, the record that proves it, and the demand that follows.', 'two-identities-anonymous' ),
		$title
	);
}

/**
 * Return direct problem/demand copy for the fast brief.
 *
 * @param array  $page         Section-backed child route definition.
 * @param array  $section      Section definition.
 * @param array  $dossier      Dossier payload.
 * @param string $first_record First evidence sentence.
 * @return array
 */
function twoia_get_virtual_dossier_failure_brief( $page, $section, $dossier, $first_record ) {
	$title       = isset( $section['title'] ) ? wp_strip_all_tags( $section['title'] ) : $page['title'];
	$parent_slug = isset( $page['parent_slug'] ) ? sanitize_title( $page['parent_slug'] ) : '';
	$body        = isset( $section['body'] ) ? wp_strip_all_tags( $section['body'] ) : '';