Arabic default
This commit is contained in:
parent
506cba22cd
commit
f1eb13ccae
@ -137,19 +137,19 @@ $items = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Name (EN)</label>
|
<label class="form-label"><?= h(t('Name (EN)', 'الاسم (إنجليزي)')) ?></label>
|
||||||
<input type="text" name="name_en" class="form-control" value="<?= h($row['name_en']) ?>" required>
|
<input type="text" name="name_en" class="form-control" value="<?= h($row['name_en']) ?>" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Name (AR)</label>
|
<label class="form-label"><?= h(t('Name (AR)', 'الاسم (عربي)')) ?></label>
|
||||||
<input type="text" name="name_ar" class="form-control" value="<?= h($row['name_ar']) ?>" required>
|
<input type="text" name="name_ar" class="form-control" value="<?= h($row['name_ar']) ?>" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Description (EN)</label>
|
<label class="form-label"><?= h(t('Description (EN)', 'الوصف (إنجليزي)')) ?></label>
|
||||||
<textarea name="description_en" class="form-control"><?= h($row['description_en']) ?></textarea>
|
<textarea name="description_en" class="form-control"><?= h($row['description_en']) ?></textarea>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Description (AR)</label>
|
<label class="form-label"><?= h(t('Description (AR)', 'الوصف (عربي)')) ?></label>
|
||||||
<textarea name="description_ar" class="form-control"><?= h($row['description_ar']) ?></textarea>
|
<textarea name="description_ar" class="form-control"><?= h($row['description_ar']) ?></textarea>
|
||||||
</div>
|
</div>
|
||||||
<div class="d-flex justify-content-end gap-2 mt-4">
|
<div class="d-flex justify-content-end gap-2 mt-4">
|
||||||
@ -203,19 +203,19 @@ $items = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Name (EN)</label>
|
<label class="form-label"><?= h(t('Name (EN)', 'الاسم (إنجليزي)')) ?></label>
|
||||||
<input type="text" name="name_en" class="form-control" required>
|
<input type="text" name="name_en" class="form-control" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Name (AR)</label>
|
<label class="form-label"><?= h(t('Name (AR)', 'الاسم (عربي)')) ?></label>
|
||||||
<input type="text" name="name_ar" class="form-control" required>
|
<input type="text" name="name_ar" class="form-control" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Description (EN)</label>
|
<label class="form-label"><?= h(t('Description (EN)', 'الوصف (إنجليزي)')) ?></label>
|
||||||
<textarea name="description_en" class="form-control"></textarea>
|
<textarea name="description_en" class="form-control"></textarea>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Description (AR)</label>
|
<label class="form-label"><?= h(t('Description (AR)', 'الوصف (عربي)')) ?></label>
|
||||||
<textarea name="description_ar" class="form-control"></textarea>
|
<textarea name="description_ar" class="form-control"></textarea>
|
||||||
</div>
|
</div>
|
||||||
<div class="d-flex justify-content-end gap-2 mt-4">
|
<div class="d-flex justify-content-end gap-2 mt-4">
|
||||||
|
|||||||
@ -286,19 +286,19 @@ $items = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|||||||
<input type="hidden" name="id" value="<?= $row['id'] ?>">
|
<input type="hidden" name="id" value="<?= $row['id'] ?>">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6 mb-3">
|
<div class="col-md-6 mb-3">
|
||||||
<label class="form-label">Name (EN)</label>
|
<label class="form-label"><?= h(t('Name (EN)', 'الاسم (إنجليزي)')) ?></label>
|
||||||
<input type="text" name="name_en" class="form-control" value="<?= h($row['name_en']) ?>" required>
|
<input type="text" name="name_en" class="form-control" value="<?= h($row['name_en']) ?>" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 mb-3">
|
<div class="col-md-6 mb-3">
|
||||||
<label class="form-label">Name (AR)</label>
|
<label class="form-label"><?= h(t('Name (AR)', 'الاسم (عربي)')) ?></label>
|
||||||
<input type="text" name="name_ar" class="form-control" value="<?= h($row['name_ar']) ?>" required>
|
<input type="text" name="name_ar" class="form-control" value="<?= h($row['name_ar']) ?>" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 mb-3">
|
<div class="col-md-6 mb-3">
|
||||||
<label class="form-label">Description (EN)</label>
|
<label class="form-label"><?= h(t('Description (EN)', 'الوصف (إنجليزي)')) ?></label>
|
||||||
<textarea name="description_en" class="form-control"><?= h($row['description_en']) ?></textarea>
|
<textarea name="description_en" class="form-control"><?= h($row['description_en']) ?></textarea>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 mb-3">
|
<div class="col-md-6 mb-3">
|
||||||
<label class="form-label">Description (AR)</label>
|
<label class="form-label"><?= h(t('Description (AR)', 'الوصف (عربي)')) ?></label>
|
||||||
<textarea name="description_ar" class="form-control"><?= h($row['description_ar']) ?></textarea>
|
<textarea name="description_ar" class="form-control"><?= h($row['description_ar']) ?></textarea>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 mb-3">
|
<div class="col-md-6 mb-3">
|
||||||
@ -375,19 +375,19 @@ $items = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|||||||
<input type="hidden" name="action" value="add">
|
<input type="hidden" name="action" value="add">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6 mb-3">
|
<div class="col-md-6 mb-3">
|
||||||
<label class="form-label">Name (EN)</label>
|
<label class="form-label"><?= h(t('Name (EN)', 'الاسم (إنجليزي)')) ?></label>
|
||||||
<input type="text" name="name_en" class="form-control" required>
|
<input type="text" name="name_en" class="form-control" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 mb-3">
|
<div class="col-md-6 mb-3">
|
||||||
<label class="form-label">Name (AR)</label>
|
<label class="form-label"><?= h(t('Name (AR)', 'الاسم (عربي)')) ?></label>
|
||||||
<input type="text" name="name_ar" class="form-control" required>
|
<input type="text" name="name_ar" class="form-control" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 mb-3">
|
<div class="col-md-6 mb-3">
|
||||||
<label class="form-label">Description (EN)</label>
|
<label class="form-label"><?= h(t('Description (EN)', 'الوصف (إنجليزي)')) ?></label>
|
||||||
<textarea name="description_en" class="form-control"></textarea>
|
<textarea name="description_en" class="form-control"></textarea>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 mb-3">
|
<div class="col-md-6 mb-3">
|
||||||
<label class="form-label">Description (AR)</label>
|
<label class="form-label"><?= h(t('Description (AR)', 'الوصف (عربي)')) ?></label>
|
||||||
<textarea name="description_ar" class="form-control"></textarea>
|
<textarea name="description_ar" class="form-control"></textarea>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 mb-3">
|
<div class="col-md-6 mb-3">
|
||||||
|
|||||||
@ -148,11 +148,11 @@ $items = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|||||||
<input type="text" name="plan_key" class="form-control" value="<?= h($row['plan_key']) ?>" required>
|
<input type="text" name="plan_key" class="form-control" value="<?= h($row['plan_key']) ?>" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 mb-3">
|
<div class="col-md-6 mb-3">
|
||||||
<label class="form-label">Name (EN)</label>
|
<label class="form-label"><?= h(t('Name (EN)', 'الاسم (إنجليزي)')) ?></label>
|
||||||
<input type="text" name="name_en" class="form-control" value="<?= h($row['name_en']) ?>" required>
|
<input type="text" name="name_en" class="form-control" value="<?= h($row['name_en']) ?>" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 mb-3">
|
<div class="col-md-6 mb-3">
|
||||||
<label class="form-label">Name (AR)</label>
|
<label class="form-label"><?= h(t('Name (AR)', 'الاسم (عربي)')) ?></label>
|
||||||
<input type="text" name="name_ar" class="form-control" value="<?= h($row['name_ar']) ?>" required>
|
<input type="text" name="name_ar" class="form-control" value="<?= h($row['name_ar']) ?>" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4 mb-3">
|
<div class="col-md-4 mb-3">
|
||||||
@ -227,11 +227,11 @@ $items = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|||||||
<input type="text" name="plan_key" class="form-control" required>
|
<input type="text" name="plan_key" class="form-control" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 mb-3">
|
<div class="col-md-6 mb-3">
|
||||||
<label class="form-label">Name (EN)</label>
|
<label class="form-label"><?= h(t('Name (EN)', 'الاسم (إنجليزي)')) ?></label>
|
||||||
<input type="text" name="name_en" class="form-control" required>
|
<input type="text" name="name_en" class="form-control" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 mb-3">
|
<div class="col-md-6 mb-3">
|
||||||
<label class="form-label">Name (AR)</label>
|
<label class="form-label"><?= h(t('Name (AR)', 'الاسم (عربي)')) ?></label>
|
||||||
<input type="text" name="name_ar" class="form-control" required>
|
<input type="text" name="name_ar" class="form-control" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4 mb-3">
|
<div class="col-md-4 mb-3">
|
||||||
|
|||||||
@ -82,7 +82,7 @@ render_nav('dashboard.php');
|
|||||||
<div class="mt-2 p-2 bg-light rounded border border-light-subtle">
|
<div class="mt-2 p-2 bg-light rounded border border-light-subtle">
|
||||||
<p class="small fw-bold mb-1">
|
<p class="small fw-bold mb-1">
|
||||||
<?php if ($next_lesson['status'] === 'live'): ?>
|
<?php if ($next_lesson['status'] === 'live'): ?>
|
||||||
<span class="badge bg-danger animate-pulse me-1">LIVE</span>
|
<span class="badge bg-danger animate-pulse me-1"><?= h(t('LIVE', 'مباشر')) ?></span>
|
||||||
<?php else: ?>
|
<?php else: ?>
|
||||||
<span class="badge bg-warning text-dark me-1"><?= h(t('Upcoming', 'قادم')) ?></span>
|
<span class="badge bg-warning text-dark me-1"><?= h(t('Upcoming', 'قادم')) ?></span>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|||||||
@ -66,8 +66,8 @@ function landing_setting(string $key, string $default_en, string $default_ar = "
|
|||||||
}
|
}
|
||||||
function current_lang(): string
|
function current_lang(): string
|
||||||
{
|
{
|
||||||
$lang = $_GET['lang'] ?? $_SESSION['lang'] ?? 'en';
|
$lang = $_GET['lang'] ?? $_SESSION['lang'] ?? 'ar';
|
||||||
$lang = in_array($lang, ['en', 'ar'], true) ? $lang : 'en';
|
$lang = in_array($lang, ['en', 'ar'], true) ? $lang : 'ar';
|
||||||
$_SESSION['lang'] = $lang;
|
$_SESSION['lang'] = $lang;
|
||||||
return $lang;
|
return $lang;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -92,7 +92,7 @@ render_head(
|
|||||||
<div class="lesson-header">
|
<div class="lesson-header">
|
||||||
<div class="d-flex align-items-center gap-3">
|
<div class="d-flex align-items-center gap-3">
|
||||||
<h1 class="lesson-title">
|
<h1 class="lesson-title">
|
||||||
<span class="badge bg-danger animate-pulse me-2">LIVE</span>
|
<span class="badge bg-danger animate-pulse me-2"><?= h(t('LIVE', 'مباشر')) ?></span>
|
||||||
<?= h(t($lesson['name_en'], $lesson['name_ar'])) ?> - <?= h($lesson['title']) ?>
|
<?= h(t($lesson['name_en'], $lesson['name_ar'])) ?> - <?= h($lesson['title']) ?>
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -27,7 +27,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
|
|
||||||
$resetUrl = app_url('reset_password.php', ['action' => 'reset', 'token' => $newToken]);
|
$resetUrl = app_url('reset_password.php', ['action' => 'reset', 'token' => $newToken]);
|
||||||
$fullResetUrl = 'http://' . $_SERVER['HTTP_HOST'] . '/' . ltrim($resetUrl, '/');
|
$fullResetUrl = 'http://' . $_SERVER['HTTP_HOST'] . '/' . ltrim($resetUrl, '/');
|
||||||
$htmlBody = "<p>You requested a password reset. Click the link below to reset it:</p><p><a href='{$fullResetUrl}'>{$fullResetUrl}</a></p><p>Link expires in 1 hour.</p>";
|
$htmlBody = current_lang() === 'ar' ? "<p>لقد طلبت إعادة تعيين كلمة المرور. انقر على الرابط أدناه لإعادة تعيينها:</p><p><a href='{$fullResetUrl}'>{$fullResetUrl}</a></p><p>ينتهي الرابط خلال ساعة واحدة.</p>" : "<p>You requested a password reset. Click the link below to reset it:</p><p><a href='{$fullResetUrl}'>{$fullResetUrl}</a></p><p>Link expires in 1 hour.</p>";
|
||||||
|
|
||||||
MailService::sendMail($email, "Password Reset", $htmlBody);
|
MailService::sendMail($email, "Password Reset", $htmlBody);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -272,19 +272,19 @@ render_nav('teacher.php');
|
|||||||
<input type="hidden" name="activity_id" id="modal_activity_id" value="">
|
<input type="hidden" name="activity_id" id="modal_activity_id" value="">
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Title (EN)</label>
|
<label class="form-label"><?= h(t('Title (EN)', 'العنوان (إنجليزي)')) ?></label>
|
||||||
<input type="text" name="title_en" id="modal_title_en" class="form-control" required>
|
<input type="text" name="title_en" id="modal_title_en" class="form-control" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Title (AR)</label>
|
<label class="form-label"><?= h(t('Title (AR)', 'العنوان (عربي)')) ?></label>
|
||||||
<input type="text" name="title_ar" id="modal_title_ar" class="form-control" required dir="rtl">
|
<input type="text" name="title_ar" id="modal_title_ar" class="form-control" required dir="rtl">
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Description (EN)</label>
|
<label class="form-label"><?= h(t('Description (EN)', 'الوصف (إنجليزي)')) ?></label>
|
||||||
<textarea name="description_en" id="modal_desc_en" class="form-control" rows="3"></textarea>
|
<textarea name="description_en" id="modal_desc_en" class="form-control" rows="3"></textarea>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Description (AR)</label>
|
<label class="form-label"><?= h(t('Description (AR)', 'الوصف (عربي)')) ?></label>
|
||||||
<textarea name="description_ar" id="modal_desc_ar" class="form-control" rows="3" dir="rtl"></textarea>
|
<textarea name="description_ar" id="modal_desc_ar" class="form-control" rows="3" dir="rtl"></textarea>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user