Member System - Source Excerpt 03
Summary
This source excerpt preserves a bounded section of Anti-Christ.net/wp-content/themes/anti-christ-thin-veil/inc/member-system.php so readers can inspect the evidence without opening the full source file.
**Source path:** Anti-Christ.net/wp-content/themes/anti-christ-thin-veil/inc/member-system.php
ob_start();
?>
<section class="member-auth-grid">
<div class="member-auth-panel">
<?php if ( is_user_logged_in() ) : ?>
<h2><?php esc_html_e( 'Already signed in', 'anti-christ-thin-veil' ); ?></h2>
<p><?php esc_html_e( 'Your WordPress account can submit dispatches for editorial review.', 'anti-christ-thin-veil' ); ?></p>
<a class="button button-primary" href="<?php echo esc_url( actv_page_url( 'submit-dispatch' ) ); ?>"><?php esc_html_e( 'Submit dispatch', 'anti-christ-thin-veil' ); ?></a>
<a class="button button-ghost" href="<?php echo esc_url( wp_logout_url( actv_page_url( 'members' ) ) ); ?>"><?php esc_html_e( 'Log out', 'anti-christ-thin-veil' ); ?></a>
<?php else : ?>
<h2><?php esc_html_e( 'WordPress member login', 'anti-christ-thin-veil' ); ?></h2>
<?php
echo wp_login_form(
array(
'echo' => false,
'redirect' => actv_page_url( 'members' ),
'remember' => true,
)
);
?>
<p class="member-form-note"><a href="<?php echo esc_url( wp_lostpassword_url( actv_page_url( 'member-login' ) ) ); ?>"><?php esc_html_e( 'Lost your WordPress password?', 'anti-christ-thin-veil' ); ?></a></p>
<?php endif; ?>
</div>
<aside class="member-side-panel">
<h2><?php esc_html_e( 'Access notes', 'anti-christ-thin-veil' ); ?></h2>
<ul class="protocol-list">
<li><?php esc_html_e( 'Loginizer is active for brute-force protection on the WordPress login endpoint.', 'anti-christ-thin-veil' ); ?></li>
<li><?php esc_html_e( 'Roster signup and WordPress posting accounts are different systems.', 'anti-christ-thin-veil' ); ?></li>
<li><?php esc_html_e( 'Submitted dispatches save as pending posts until an editor reviews them.', 'anti-christ-thin-veil' ); ?></li>
</ul>
<?php if ( actv_wordpress_registration_open() ) : ?>
<a class="button button-ghost" href="<?php echo esc_url( wp_registration_url() ); ?>"><?php esc_html_e( 'Create WordPress account', 'anti-christ-thin-veil' ); ?></a>
<?php else : ?>
<a class="button button-ghost" href="<?php echo esc_url( actv_page_url( 'join' ) ); ?>"><?php esc_html_e( 'Request posting access', 'anti-christ-thin-veil' ); ?></a>
<?php endif; ?>
</aside>
</section>
<?php
return ob_get_clean();
}
/**
* Render Participants Database roster intake.
*
* @return string
*/
function actv_render_member_join_panel() {
if ( ! actv_is_age_verified() ) {
return actv_render_age_gate( __( 'member roster intake', 'anti-christ-thin-veil' ) );
}
ob_start();
?>
<section class="member-auth-grid">
<div class="member-auth-panel">
<h2><?php esc_html_e( 'Member roster intake', 'anti-christ-thin-veil' ); ?></h2>
<p><?php esc_html_e( 'Participants Database stores the roster request and emails a private edit link when configured. This does not automatically create a WordPress login account, publication right, or promise of anonymity.', 'anti-christ-thin-veil' ); ?></p>
<?php if ( actv_participants_database_available() ) : ?>
<div class="pdb-member-panel">
<?php echo do_shortcode( '[pdb_signup]' ); ?>
</div>
<?php else : ?>
<div class="member-alert"><?php esc_html_e( 'Participants Database is not active, so roster intake is unavailable.', 'anti-christ-thin-veil' ); ?></div>
<?php endif; ?>
</div>
<aside class="member-side-panel">
<h2><?php esc_html_e( 'Private record link', 'anti-christ-thin-veil' ); ?></h2>
<p><?php esc_html_e( 'Already on the roster? Use your private link to update your record, or request the link again if Participants Database email is configured.', 'anti-christ-thin-veil' ); ?></p>
<a class="button button-ghost" href="<?php echo esc_url( add_query_arg( 'm', 'r', actv_page_url( 'join' ) ) ); ?>"><?php esc_html_e( 'Recover private link', 'anti-christ-thin-veil' ); ?></a>
<a class="button button-ghost" href="<?php echo esc_url( actv_page_url( 'member-record' ) ); ?>"><?php esc_html_e( 'Open record page', 'anti-christ-thin-veil' ); ?></a>
</aside>
</section>
<?php
return ob_get_clean();
}
/**
* Render Participants Database private record form.
*
* @return string
*/
function actv_render_member_record_panel() {
if ( ! actv_is_age_verified() ) {
return actv_render_age_gate( __( 'private roster record', 'anti-christ-thin-veil' ) );
}
ob_start();
?>
<section class="member-auth-grid">
<div class="member-auth-panel">
<h2><?php esc_html_e( 'Private roster record', 'anti-christ-thin-veil' ); ?></h2>
<p><?php esc_html_e( 'This page expects a valid Participants Database private link. If the form is empty, return through your emailed link or recover it from the roster intake page.', 'anti-christ-thin-veil' ); ?></p>
<?php if ( actv_participants_database_available() ) : ?>
<div class="pdb-member-panel">
<?php echo do_shortcode( '[pdb_record]' ); ?>
</div>
<?php else : ?>
<div class="member-alert"><?php esc_html_e( 'Participants Database is not active, so private record editing is unavailable.', 'anti-christ-thin-veil' ); ?></div>
<?php endif; ?>
</div>
<aside class="member-side-panel">
<h2><?php esc_html_e( 'Need the link again?', 'anti-christ-thin-veil' ); ?></h2>
<p><?php esc_html_e( 'The private edit link is managed by Participants Database and depends on its email configuration.', 'anti-christ-thin-veil' ); ?></p>
<a class="button button-ghost" href="<?php echo esc_url( add_query_arg( 'm', 'r', actv_page_url( 'join' ) ) ); ?>"><?php esc_html_e( 'Recover private link', 'anti-christ-thin-veil' ); ?></a>
</aside>
</section>
<?php
return ob_get_clean();
}
/**
* Render the front-end pending-post submission form.
*
* @return string
*/
function actv_render_submit_dispatch_panel() {
if ( ! actv_is_age_verified() ) {
return actv_render_age_gate( __( 'dispatch submission', 'anti-christ-thin-veil' ) );
}
if ( ! is_user_logged_in() ) {
ob_start();
?>
<section class="member-system-grid" aria-label="<?php esc_attr_e( 'Submission access', 'anti-christ-thin-veil' ); ?>">
<article class="member-card">
<p class="section-label"><?php esc_html_e( 'Login required', 'anti-christ-thin-veil' ); ?></p>
<h2><?php esc_html_e( 'Sign in to submit', 'anti-christ-thin-veil' ); ?></h2>
<p><?php esc_html_e( 'Dispatches are stored as pending WordPress posts under the signed-in account that submitted them.', 'anti-christ-thin-veil' ); ?></p>
<a class="button button-primary" href="<?php echo esc_url( actv_page_url( 'member-login' ) ); ?>"><?php esc_html_e( 'Open login', 'anti-christ-thin-veil' ); ?></a>
</article>
<article class="member-card">
<p class="section-label"><?php esc_html_e( 'No account?', 'anti-christ-thin-veil' ); ?></p>
<h2><?php esc_html_e( 'Request posting access', 'anti-christ-thin-veil' ); ?></h2>
<p><?php esc_html_e( 'Public WordPress registration is closed unless an admin enables it. Use roster intake to request access; approval is narrow, manual, and review-first.', 'anti-christ-thin-veil' ); ?></p>
<a class="button button-ghost" href="<?php echo esc_url( actv_page_url( 'join' ) ); ?>"><?php esc_html_e( 'Open roster intake', 'anti-christ-thin-veil' ); ?></a>
</article>
</section>
<?php
return ob_get_clean();
}
$choices = actv_member_submission_category_choices();