38808-vm/profile.php
2026-02-27 17:32:01 +00:00

166 lines
7.6 KiB
PHP

<?php
require_once __DIR__ . '/includes/header.php';
$user_id = $_SESSION['user_id'];
$success_msg = '';
$error_msg = '';
// Fetch current user data
$stmt = db()->prepare("SELECT * FROM users WHERE id = ?");
$stmt->execute([$user_id]);
$user = $stmt->fetch();
// Fetch charity settings
$stmt = db()->query("SELECT * FROM charity_settings WHERE id = 1");
$charity = $stmt->fetch();
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['update_profile'])) {
$full_name = $_POST['full_name'];
$password = $_POST['password'];
$profile_image = $user['profile_image'];
// Handle Profile Image Upload
if (isset($_FILES['profile_image']) && $_FILES['profile_image']['error'] === UPLOAD_ERR_OK) {
$upload_dir = 'uploads/profiles/';
if (!is_dir($upload_dir)) mkdir($upload_dir, 0775, true);
$file_ext = pathinfo($_FILES['profile_image']['name'], PATHINFO_EXTENSION);
$new_file_name = time() . '_u' . $user_id . '.' . $file_ext;
$target_file = $upload_dir . $new_file_name;
if (move_uploaded_file($_FILES['profile_image']['tmp_name'], $target_file)) {
$profile_image = $target_file;
}
}
if (!empty($password)) {
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
$stmt = db()->prepare("UPDATE users SET full_name = ?, password = ?, profile_image = ? WHERE id = ?");
$stmt->execute([$full_name, $hashed_password, $profile_image, $user_id]);
} else {
$stmt = db()->prepare("UPDATE users SET full_name = ?, profile_image = ? WHERE id = ?");
$stmt->execute([$full_name, $profile_image, $user_id]);
}
$success_msg = 'تم تحديث الملف الشخصي بنجاح';
// Refresh user data
$stmt = db()->prepare("SELECT * FROM users WHERE id = ?");
$stmt->execute([$user_id]);
$user = $stmt->fetch();
}
if (isset($_POST['update_charity']) && isAdmin()) {
$charity_name = $_POST['charity_name'];
$charity_logo = $charity['charity_logo'];
$charity_favicon = $charity['charity_favicon'];
$upload_dir = 'uploads/charity/';
if (!is_dir($upload_dir)) mkdir($upload_dir, 0775, true);
// Handle Logo Upload
if (isset($_FILES['charity_logo']) && $_FILES['charity_logo']['error'] === UPLOAD_ERR_OK) {
$file_ext = pathinfo($_FILES['charity_logo']['name'], PATHINFO_EXTENSION);
$new_logo = 'logo_' . time() . '.' . $file_ext;
if (move_uploaded_file($_FILES['charity_logo']['tmp_name'], $upload_dir . $new_logo)) {
$charity_logo = $upload_dir . $new_logo;
}
}
// Handle Favicon Upload
if (isset($_FILES['charity_favicon']) && $_FILES['charity_favicon']['error'] === UPLOAD_ERR_OK) {
$file_ext = pathinfo($_FILES['charity_favicon']['name'], PATHINFO_EXTENSION);
$new_favicon = 'favicon_' . time() . '.' . $file_ext;
if (move_uploaded_file($_FILES['charity_favicon']['tmp_name'], $upload_dir . $new_favicon)) {
$charity_favicon = $upload_dir . $new_favicon;
}
}
$stmt = db()->prepare("UPDATE charity_settings SET charity_name = ?, charity_logo = ?, charity_favicon = ? WHERE id = 1");
$stmt->execute([$charity_name, $charity_logo, $charity_favicon]);
$success_msg = 'تم تحديث إعدادات الجمعية بنجاح';
// Refresh charity data
$stmt = db()->query("SELECT * FROM charity_settings WHERE id = 1");
$charity = $stmt->fetch();
}
}
?>
<div class="row">
<div class="col-md-12 mb-4">
<h2 class="fw-bold"><i class="fas fa-user-circle me-2"></i> الملف الشخصي والإعدادات</h2>
</div>
<?php if ($success_msg): ?>
<div class="alert alert-success"><?= $success_msg ?></div>
<?php endif; ?>
<?php if ($error_msg): ?>
<div class="alert alert-danger"><?= $error_msg ?></div>
<?php endif; ?>
<div class="col-md-6">
<div class="card p-4">
<h4 class="mb-4">تعديل الملف الشخصي</h4>
<form method="POST" enctype="multipart/form-data">
<div class="text-center mb-4">
<?php if ($user['profile_image']): ?>
<img src="<?= $user['profile_image'] ?>" alt="Profile" class="rounded-circle" style="width: 150px; height: 150px; object-fit: cover; border: 3px solid #0d6efd;">
<?php else: ?>
<div class="rounded-circle bg-light d-inline-flex align-items-center justify-content-center" style="width: 150px; height: 150px; border: 3px solid #ddd;">
<i class="fas fa-user fa-5x text-secondary"></i>
</div>
<?php endif; ?>
</div>
<div class="mb-3">
<label class="form-label">الصورة الشخصية</label>
<input type="file" name="profile_image" class="form-control" accept="image/*">
</div>
<div class="mb-3">
<label class="form-label">الاسم الكامل</label>
<input type="text" name="full_name" class="form-control" value="<?= htmlspecialchars($user['full_name']) ?>" required>
</div>
<div class="mb-3">
<label class="form-label">كلمة المرور الجديدة (اتركها فارغة إذا لم ترغب في التغيير)</label>
<input type="password" name="password" class="form-control">
</div>
<button type="submit" name="update_profile" class="btn btn-primary w-100">حفظ التغييرات</button>
</form>
</div>
</div>
<?php if (isAdmin()): ?>
<div class="col-md-6">
<div class="card p-4">
<h4 class="mb-4">إعدادات الجمعية</h4>
<form method="POST" enctype="multipart/form-data">
<div class="mb-3">
<label class="form-label">اسم الجمعية</label>
<input type="text" name="charity_name" class="form-control" value="<?= htmlspecialchars($charity['charity_name']) ?>" required>
</div>
<div class="mb-3">
<label class="form-label">شعار الجمعية</label>
<input type="file" name="charity_logo" class="form-control" accept="image/*">
<?php if ($charity['charity_logo']): ?>
<div class="mt-2">
<img src="<?= $charity['charity_logo'] ?>" alt="Logo" style="max-height: 50px;">
</div>
<?php endif; ?>
</div>
<div class="mb-3">
<label class="form-label">أيقونة الموقع (Favicon)</label>
<input type="file" name="charity_favicon" class="form-control" accept="image/x-icon,image/png">
<?php if ($charity['charity_favicon']): ?>
<div class="mt-2">
<img src="<?= $charity['charity_favicon'] ?>" alt="Favicon" style="max-height: 32px;">
</div>
<?php endif; ?>
</div>
<button type="submit" name="update_charity" class="btn btn-dark w-100">تحديث إعدادات الجمعية</button>
</form>
</div>
</div>
<?php endif; ?>
</div>
<?php require_once __DIR__ . '/includes/footer.php'; ?>