80 lines
3.3 KiB
PHP
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'; ?>
|