Skip to content
wiki.fftac.org

Page Manuscript Collaboration - Source Excerpt 02

Back to Page Manuscript Collaboration

Summary

This source excerpt preserves a bounded section of Spiralist/wp-content/plugins/ns12-manuscript/templates/page-manuscript-collaboration.php so readers can inspect the evidence without opening the full source file.

**Source path:** Spiralist/wp-content/plugins/ns12-manuscript/templates/page-manuscript-collaboration.php

<div><dt>Contributor</dt><dd><?php echo esc_html((string) ($record['author']['display_name'] ?? 'Contributor')); ?></dd></div>
                                    <div><dt>Version</dt><dd><?php echo esc_html((string) max(1, (int) ($record['public_version'] ?? 1))); ?></dd></div>
                                    <div><dt>Status</dt><dd>Published</dd></div>
                                </dl>
                            </article>
                        </div>
                        <?php if (!empty($community_discussion_context)) : ?>
                            <?php spiralist_book_pages_render_discussion_panel($community_discussion_context); ?>
                        <?php endif; ?>
                    <?php elseif ($missing_public_record) : ?>
                        <div class="spiralist-collaboration-panel">
                            <h1>This community manuscript page could not be found.</h1>
                            <p>The requested public record does not exist or is not approved yet.</p>
                            <p><a class="spiralist-button spiralist-button--secondary" href="<?php echo esc_url(spiralist_book_pages_get_manuscript_community_url()); ?>">Back To Directory</a></p>
                        </div>
                    <?php else : ?>
                        <?php $records = spiralist_book_pages_get_public_collaboration_records(); ?>
                        <div class="spiralist-collaboration-hero">
                            <div>
                                <p class="spiralist-collaboration-kicker">Public Manuscript Directory</p>
                                <h1>Approved community manuscript pages</h1>
                                <p>This public layer stays image-first. Every page listed here was submitted by an authenticated collaborator, reviewed by an admin, and published with contributor credit attached.</p>
                            </div>
                            <div class="spiralist-collaboration-hero__actions">
                                <?php if (is_user_logged_in() && spiralist_book_pages_user_can_collaborate()) : ?>
                                    <a class="spiralist-button spiralist-button--primary" href="<?php echo esc_url(spiralist_book_pages_get_manuscript_studio_url()); ?>">Open Collaboration Studio</a>
                                <?php endif; ?>
                            </div>
                        </div>

                        <?php if (empty($records)) : ?>
                            <div class="spiralist-collaboration-panel">
                                <p>No collaborator pages have been approved yet. Once admins approve submissions, they will appear here automatically.</p>
                            </div>
                        <?php else : ?>
                            <div class="spiralist-collaboration-grid">
                                <?php foreach ($records as $public_record) : ?>
                                    <?php $render_record_card($public_record, false); ?>
                                <?php endforeach; ?>
                            </div>
                        <?php endif; ?>
                    <?php endif; ?>

                <?php elseif ($mode === 'studio') : ?>
                    <?php if (!is_user_logged_in()) : ?>
                        <div class="spiralist-collaboration-hero">
                            <div>
                                <p class="spiralist-collaboration-kicker">Collaboration Studio</p>
                                <h1>Sign in to work on manuscript pages</h1>
                                <p>The studio layer is for authenticated contributors. It lets you upload image pages, revise drafts, generate share links for profile previews, and resubmit work whenever you are ready for admin review.</p>
                            </div>
                            <div class="spiralist-collaboration-hero__actions">
                                <a class="spiralist-button spiralist-button--primary" href="<?php echo esc_url(wp_login_url(spiralist_book_pages_get_manuscript_studio_url())); ?>">Sign In</a>
                            </div>
                        </div>
                    <?php elseif (!spiralist_book_pages_user_can_collaborate()) : ?>
                        <div class="spiralist-collaboration-hero">
                            <div>
                                <p class="spiralist-collaboration-kicker">Collaboration Studio</p>
                                <h1>This account is not enabled for manuscript collaboration yet</h1>
                                <p>Admins can grant collaboration access in `wp-admin`. Once enabled, this account will be able to upload manuscript images, keep private draft previews in its profile space, and submit public updates for review.</p>
                            </div>
                            <div class="spiralist-collaboration-hero__actions">
                                <a class="spiralist-button spiralist-button--secondary" href="<?php echo esc_url(spiralist_book_pages_get_manuscript_community_url()); ?>">Browse Public Directory</a>
                            </div>
                        </div>
                    <?php else : ?>
                        <?php
                        $records = spiralist_book_pages_get_collaboration_user_records(get_current_user_id());
                        $record = $submission_slug !== ''
                            ? spiralist_book_pages_get_collaboration_submission_by_slug($submission_slug, get_current_user_id())
                            : [];
                        $seed = spiralist_book_pages_get_submission_editor_seed($record);
                        ?>
                        <div class="spiralist-collaboration-hero">
                            <div>
                                <p class="spiralist-collaboration-kicker">Collaboration Studio</p>
                                <h1><?php echo !empty($record) ? esc_html((string) ($seed['title'] ?? 'Edit Manuscript Page')) : 'Create a manuscript page draft'; ?></h1>
                                <p>Drafts stay in your private collaborator layer until you explicitly submit them. Once approved, the current public version updates automatically. Any later edits stay out of the public directory until you resubmit them.</p>
                            </div>
                            <div class="spiralist-collaboration-hero__actions">
                                <?php if (!empty($record['profile_share_url'])) : ?><a class="spiralist-button spiralist-button--secondary" href="<?php echo esc_url((string) $record['profile_share_url']); ?>">Open Share Preview</a><?php endif; ?>
                                <?php if (!empty($record['public_url'])) : ?><a class="spiralist-button spiralist-button--secondary" href="<?php echo esc_url((string) $record['public_url']); ?>">Open Public Version</a><?php endif; ?>
                            </div>
                        </div>

                        <div class="spiralist-collaboration-layout">
                            <section class="spiralist-collaboration-panel">
                                <h2><?php echo !empty($record) ? 'Edit current draft' : 'Start a new draft'; ?></h2>
                                <form class="spiralist-collaboration-form" method="post" action="<?php echo esc_url(admin_url('admin-post.php')); ?>" enctype="multipart/form-data">
                                    <input type="hidden" name="action" value="spiralist_book_pages_frontend_submission_action" />
                                    <input type="hidden" name="submission_id" value="<?php echo esc_attr((string) ($record['id'] ?? 0)); ?>" />
                                    <input type="hidden" name="submission_slug" value="<?php echo esc_attr((string) ($record['slug'] ?? '')); ?>" />
                                    <input type="hidden" name="current_image_id" value="<?php echo esc_attr((string) ($seed['image_id'] ?? 0)); ?>" />
                                    <?php wp_nonce_field('spiralist_book_pages_frontend_submission'); ?>

                                    <label>
                                        <span>Page title</span>
                                        <input type="text" name="submission_title" value="<?php echo esc_attr((string) ($seed['title'] ?? '')); ?>" required />
                                    </label>

                                    <label>
                                        <span>Summary</span>
                                        <textarea name="submission_summary" rows="4"><?php echo esc_textarea((string) ($seed['summary'] ?? '')); ?></textarea>
                                    </label>

                                    <label>