Skip to content
wiki.fftac.org

Foundation - Source Excerpt 27

Back to Foundation

Summary

This source excerpt preserves a bounded section of Anti-Christ.org/wp-content/plugins/fftac-foundation-core/inc/foundation.php so readers can inspect the evidence without opening the full source file.

**Source path:** Anti-Christ.org/wp-content/plugins/fftac-foundation-core/inc/foundation.php

* @param int   $max_length Maximum allowed character length.
 * @return string
 */
function antichrist_engine_security_sanitize_text_field($value, $max_length = 160)
{
    $value = is_scalar($value) ? (string) $value : '';

    return antichrist_engine_security_limit_string(sanitize_text_field($value), $max_length);
}

/**
 * Sanitizes a multi-line text input and applies a length cap.
 *
 * @param mixed $value      Raw input value.
 * @param int   $max_length Maximum allowed character length.
 * @return string
 */
function antichrist_engine_security_sanitize_textarea_field($value, $max_length = 1500)
{
    $value = is_scalar($value) ? (string) $value : '';

    return antichrist_engine_security_limit_string(sanitize_textarea_field($value), $max_length);
}

/**
 * Sanitizes an email input, lowercases it, and applies a conservative length cap.
 *
 * @param mixed $value      Raw input value.
 * @param int   $max_length Maximum allowed character length.
 * @return string
 */
function antichrist_engine_security_sanitize_email_field($value, $max_length = 190)
{
    $value = is_scalar($value) ? (string) $value : '';

    return strtolower(antichrist_engine_security_limit_string(sanitize_email($value), $max_length));
}

/**
 * Returns a privacy-preserving request fingerprint for lightweight throttling.
 *
 * @param string $action Rate-limit action name.
 * @return string
 */
function antichrist_engine_security_get_rate_limit_fingerprint($action)
{
    $parts = array(
        sanitize_key((string) $action),
        antichrist_engine_security_limit_string((string) ($_SERVER['REMOTE_ADDR'] ?? ''), 80),
        antichrist_engine_security_limit_string((string) ($_SERVER['HTTP_USER_AGENT'] ?? ''), 180),
    );

    if (function_exists('get_current_user_id')) {
        $parts[] = (string) get_current_user_id();
    }

    return hash('sha256', implode('|', $parts));
}

/**
 * Applies a transient-backed rate limit for public form submissions.
 *
 * @param string $action Action being limited.
 * @param int    $limit  Maximum attempts in the window.
 * @param int    $window Window length in seconds.
 * @return bool
 */
function antichrist_engine_security_check_rate_limit($action, $limit = 5, $window = 900)
{
    $action = sanitize_key((string) $action);
    $limit  = max(1, (int) $limit);
    $window = max(60, (int) $window);
    $key    = 'antichrist_engine_rate_' . $action . '_' . substr(antichrist_engine_security_get_rate_limit_fingerprint($action), 0, 32);
    $bucket = get_transient($key);

    if (!is_array($bucket)) {
        $bucket = array('count' => 0);
    }

    $count = (int) ($bucket['count'] ?? 0);

    if ($count >= $limit) {
        return false;
    }

    $bucket['count'] = $count + 1;
    set_transient($key, $bucket, $window);

    return true;
}

/**
 * Prints shared anti-automation fields for public forms.
 *
 * @param string $context Form context used to keep generated IDs unique.
 * @return void
 */
function antichrist_engine_security_print_form_fields($context = 'form')
{
    $context  = sanitize_html_class(sanitize_key((string) $context), 'form');
    $field_id = 'antichrist-engine-' . $context . '-confirmation';

    echo '<input type="hidden" name="antichrist_engine_form_started_at" value="' . esc_attr((string) time()) . '">';
    echo '<div class="antichrist-engine-honeypot" aria-hidden="true">';
    echo '<label for="' . esc_attr($field_id) . '">' . esc_html__('Leave this field empty', 'antichrist-engine') . '</label>';
    echo '<input id="' . esc_attr($field_id) . '" type="text" name="antichrist_engine_confirm_email" value="" autocomplete="off" tabindex="-1">';
    echo '</div>';
}

/**
 * Validates shared anti-automation fields on public forms.
 *
 * @param int $minimum_seconds Minimum plausible submit time.
 * @param int $maximum_seconds Maximum age accepted before the form is stale.
 * @return string Empty string on success; otherwise a safe notice code.
 */
function antichrist_engine_security_validate_form_submission($minimum_seconds = 1, $maximum_seconds = 0)
{
    $maximum_seconds = $maximum_seconds ?: 6 * (defined('HOUR_IN_SECONDS') ? HOUR_IN_SECONDS : 3600);
    $honeypot        = trim(antichrist_engine_security_get_post_value('antichrist_engine_confirm_email'));

    if ('' !== $honeypot) {
        return 'invalid_submission';
    }

    $started_at = absint(antichrist_engine_security_get_post_value('antichrist_engine_form_started_at'));

    if (!$started_at) {
        return 'invalid_submission';
    }

    $age = time() - $started_at;

    if ($age < (int) $minimum_seconds || $age > (int) $maximum_seconds) {
        return 'invalid_submission';
    }

    return '';
}

/**
 * Registers the private post type used for public signals-briefing signups.
 *
 * @return void
 */
function antichrist_engine_foundation_register_signal_signup_post_type()
{
    register_post_type('fftac_signal_signup', array(
        'labels' => array(
            'name'          => __('Signals Signups', 'antichrist-engine'),
            'singular_name' => __('Signals Signup', 'antichrist-engine'),
        ),
        'public'              => false,
        'show_ui'             => true,
        'show_in_menu'        => true,
        'exclude_from_search' => true,
        'show_in_nav_menus'   => false,
        'show_in_admin_bar'   => false,
        'supports'            => array('title'),
        'menu_icon'           => 'dashicons-email-alt',
    ));
}
add_action('init', 'antichrist_engine_foundation_register_signal_signup_post_type', 14);

/**
 * Finds an existing signals signup by email.
 *
 * @param string $email Email address.
 * @return int
 */
function antichrist_engine_foundation_find_signal_signup_by_email($email)
{
    $email = strtolower(trim((string) $email));

    $matches = get_posts(array(
        'post_type'      => 'fftac_signal_signup',
        'post_status'    => 'any',
        'posts_per_page' => 1,
        'fields'         => 'ids',
        'meta_key'       => '_antichrist_signals_email',
        'meta_value'     => $email,
    ));

    if (!$matches) {
        return 0;
    }

    return (int) $matches[0];
}

/**
 * Counts stored signals signups.
 *
 * @return int
 */
function antichrist_engine_foundation_signals_count()
{
    $counts = wp_count_posts('fftac_signal_signup');

    return isset($counts->private) ? (int) $counts->private : 0;
}

/**
 * Handles public signals-briefing signup submissions.
 *
 * @return void
 */
function antichrist_engine_foundation_handle_signals_signup()
{
    check_admin_referer('antichrist_engine_signals_signup');

    $redirect_to = antichrist_engine_security_get_post_value('redirect_to');
    $redirect_to = wp_validate_redirect($redirect_to, home_url('/'));

    $submission_error = antichrist_engine_security_validate_form_submission();

    if ($submission_error) {
        wp_safe_redirect(add_query_arg('signals_status', $submission_error, $redirect_to));
        exit;
    }

    if (!antichrist_engine_security_check_rate_limit('signals_signup', 8, HOUR_IN_SECONDS)) {
        wp_safe_redirect(add_query_arg('signals_status', 'rate_limited', $redirect_to));
        exit;
    }

    $name              = antichrist_engine_security_sanitize_text_field(antichrist_engine_security_get_post_value('signals_name'), 120);
    $email             = antichrist_engine_security_sanitize_email_field(antichrist_engine_security_get_post_value('signals_email'), 190);
    $interest          = sanitize_key(antichrist_engine_security_get_post_value('signals_interest'));
    $allowed_interests = array('verified-research', 'history-of-the-spirit', 'algorithmic-eschatology', 'signals-and-symbols');

    if (!in_array($interest, $allowed_interests, true)) {
        $interest = '';
    }

    if (!$email) {
        wp_safe_redirect(add_query_arg('signals_status', 'empty_email', $redirect_to));
        exit;
    }

    if (!is_email($email)) {
        wp_safe_redirect(add_query_arg('signals_status', 'invalid_email', $redirect_to));
        exit;
    }

    $existing_id = antichrist_engine_foundation_find_signal_signup_by_email($email);

    if ($existing_id) {
        update_post_meta($existing_id, '_antichrist_signals_name', $name);
        update_post_meta($existing_id, '_antichrist_signals_interest', $interest);
        if (function_exists('antichrist_engine_foundation_participants_database_sync_intake_post')) {
            antichrist_engine_foundation_participants_database_sync_intake_post($existing_id, 'signals');
        }
        wp_safe_redirect(add_query_arg('signals_status', 'already_subscribed', $redirect_to));
        exit;
    }

    $signup_id = wp_insert_post(array(
        'post_type'   => 'fftac_signal_signup',