35570-vm/apply_writer.php
Flatlogic Bot 9671081d9c 1
2025-11-08 12:20:22 +00:00

80 lines
3.3 KiB
PHP

<?php
session_start();
if (!isset($_SESSION["user_id"])) {
header("Location: login.php");
exit();
}
require_once 'db/config.php';
require_once 'header.php';
$user_id = $_SESSION["user_id"];
$message = '';
// Check if user is already a writer or has a pending application
$stmt = db()->prepare("SELECT is_writer FROM users WHERE id = :user_id");
$stmt->execute(['user_id' => $user_id]);
$is_writer = $stmt->fetchColumn();
$stmt = db()->prepare("SELECT status FROM writer_applications WHERE user_id = :user_id");
$stmt->execute(['user_id' => $user_id]);
$application = $stmt->fetch();
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['apply'])) {
if (!$is_writer && (!$application || $application['status'] == 'rejected')) {
$bio = trim($_POST['bio']);
if (!empty($bio)) {
try {
$stmt = db()->prepare("INSERT INTO writer_applications (user_id, bio, status) VALUES (:user_id, :bio, 'pending') ON DUPLICATE KEY UPDATE bio = :bio, status = 'pending'");
$stmt->execute(['user_id' => $user_id, 'bio' => $bio]);
$message = '<div class="alert alert-success">Your application has been submitted for review.</div>';
// Refresh application status
$stmt = db()->prepare("SELECT status FROM writer_applications WHERE user_id = :user_id");
$stmt->execute(['user_id' => $user_id]);
$application = $stmt->fetch();
} catch (PDOException $e) {
$message = '<div class="alert alert-danger">Error: ' . $e->getMessage() . '</div>';
}
} else {
$message = '<div class="alert alert-danger">Please provide a short bio or reason for your application.</div>';
}
}
}
?>
<div class="container mt-5">
<h2>Become a Writer</h2>
<?php echo $message; ?>
<?php if ($is_writer): ?>
<div class="alert alert-info">You are already a writer.</div>
<?php elseif ($application && $application['status'] == 'pending'): ?>
<div class="alert alert-info">You have a pending application. Please wait for an admin to review it.</div>
<?php elseif ($application && $application['status'] == 'approved'): ?>
<div class="alert alert-success">Your application was approved! You are now a writer.</div>
<?php else: ?>
<?php if ($application && $application['status'] == 'rejected'): ?>
<div class="alert alert-warning">Your previous application was rejected. You may reapply with more information.</div>
<?php endif; ?>
<div class="card">
<div class="card-header">
Writer Application
</div>
<div class="card-body">
<p>Tell us a bit about yourself and why you'd like to be a writer on our platform.</p>
<form action="apply_writer.php" method="post">
<div class="mb-3">
<label for="bio" class="form-label">Your Bio & Motivation</label>
<textarea class="form-control" id="bio" name="bio" rows="5" required></textarea>
</div>
<button type="submit" name="apply" class="btn btn-primary">Submit Application</button>
</form>
</div>
</div>
<?php endif; ?>
</div>
<?php require_once 'footer.php'; ?>