238 lines
17 KiB
PHP
Executable File
238 lines
17 KiB
PHP
Executable File
<?php
|
|
//$this->titre = "INTER SANTE - Paramètres Généraux";
|
|
$codeLangueSociete = $this->nettoyer($societeuser['codeLangueSociete']);
|
|
?>
|
|
|
|
<div class="page-content">
|
|
<input class="sr-only" type="text" id="idSocieteuser" name="idSocieteuser" value="<?= $this->nettoyer($societeuser['idSocieteuser']) ?>">
|
|
|
|
<div class="d-flex align-items-center justify-content-between mb-4 bg-white p-3 shadow-sm border-edit sticky-top" style="z-index: 1000; top: 10px;">
|
|
<div class="d-flex align-items-center">
|
|
<div class="icon-shape bg-primary-ghost text-primary rounded-circle me-3">
|
|
<i class="fas fa-sliders-h-square fs-4"></i>
|
|
</div>
|
|
<div>
|
|
<h4 class="mb-0 fw-bold" style="color: var(--color-primary); letter-spacing: -0.5px;"><?= _("Configuration Système") ?></h4>
|
|
<div class="d-flex align-items-center text-dark small">
|
|
<span class="badge bg-warning-ghost text-warning me-2 fw-bold text-uppercase" style="font-size: 0.6rem;"><?= _("Mode Édition") ?></span>
|
|
<?= _("Ajustez les paramètres opérationnels du centre") ?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="d-flex gap-2">
|
|
<button class="btn btn-outline-secondary btn-sm px-4 fw-bold" onclick="afficher_parametresgeneraux();">
|
|
<i class="fas fa-undo me-2"></i><?= _("Annuler") ?>
|
|
</button>
|
|
<button class="btn btn-primary btn-sm px-4 fw-bold shadow-primary" id="btn_enreg" onclick="enregistrer_modif_parametresgeneraux();">
|
|
<i class="fas fa-check-circle me-2"></i><?= _("Enregistrer les modifications") ?>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<form id="formParametres">
|
|
<div class="row g-4">
|
|
|
|
<div class="col-xl-7">
|
|
<div class="card border-0 shadow-sm h-100" style="border-radius: var(--radius-md);">
|
|
<div class="card-header bg-white py-3 border-bottom border-light">
|
|
<h6 class="mb-0 fw-bold text-primary"><i class="fas fa-fingerprint me-2"></i><?= _("Identité Institutionnelle") ?></h6>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row g-3">
|
|
<div class="col-md-3">
|
|
<label class="form-label small fw-bold text-dark"><?= _("Code Interne") ?></label>
|
|
<input class="form-control bg-light border-0 fw-bold" type="text" id="codeSociete" name="codeSociete" value="<?=$this->nettoyer($societeuser['codeSociete'])?>" readonly>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<label class="form-label small fw-bold text-dark required"><?= _("Type de Structure") ?></label>
|
|
<select class="selectpicker w-100"
|
|
data-live-search="true"
|
|
id="codeTypeSociete"
|
|
name="codeTypeSociete"
|
|
required>
|
|
<?php liste_options($typeSociete, $this->nettoyer($societeuser['typeSociete'])); ?>
|
|
</select>
|
|
</div>
|
|
<div class="col-md-5">
|
|
<label class="form-label small fw-bold text-dark required"><?= _("Nom Complet") ?></label>
|
|
<input class="form-control text-uppercase fw-medium" type="text" id="nomCentreGestion" name="nomCentreGestion" value="<?=$this->nettoyer($societeuser['nomSociete'])?>" required>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<label class="form-label small fw-bold text-dark"><?= _("Sigle / Label") ?></label>
|
|
<input class="form-control" type="text" id="sigleSociete" name="sigleSociete" value="<?=$this->nettoyer($societeuser['sigleSociete'])?>">
|
|
</div>
|
|
<div class="col-md-6">
|
|
<label class="form-label small fw-bold text-dark"><?= _("Directeur / Responsable") ?></label>
|
|
<div class="input-group">
|
|
<span class="input-group-text bg-white"><i class="fas fa-user-tie text-dark opacity-50"></i></span>
|
|
<input class="form-control border-start-0" type="text" id="nomResponsable" name="nomResponsable" value="<?=$this->nettoyer($societeuser['nomResponsable'])?>">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="mt-4 p-3 rounded bg-primary-ghost border border-white">
|
|
<h6 class="small fw-bold text-primary text-uppercase mb-3" style="letter-spacing: 0.5px;"><?= _("Siège & Adresses") ?></h6>
|
|
<div class="row g-3">
|
|
<div class="col-md-6">
|
|
<label class="form-label small fw-bold text-dark required"><?= _("Pays de Résidence") ?></label>
|
|
<select onchange="liste_villes();"
|
|
class="selectpicker w-100"
|
|
data-live-search="true"
|
|
id="codePays"
|
|
name="codePays"
|
|
required>
|
|
<?php liste_options($pays, $this->nettoyer($societeuser['codePays'])); ?>
|
|
</select>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<label class="form-label small fw-bold text-dark required"><?= _("Ville / Commune") ?></label>
|
|
<div id="div_ville">
|
|
<select class="selectpicker w-100"
|
|
data-live-search="true"
|
|
id="ville"
|
|
name="ville"
|
|
required>
|
|
<?php liste_options($villes, $this->nettoyer($societeuser['ville'])); ?>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-12">
|
|
<label class="form-label small fw-bold text-dark"><?= _("Adresse Physique") ?></label>
|
|
<input class="form-control form-control-sm" type="text" id="adresseGeoSociete" name="adresseGeoSociete" value="<?=$this->nettoyer($societeuser['adresseGeoSociete'])?>" placeholder="Rue, Quartier, Porte...">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-xl-5">
|
|
<div class="card border-0 shadow-sm mb-4" style="border-radius: var(--radius-md);">
|
|
<div class="card-header bg-white py-3 border-bottom border-light">
|
|
<h6 class="mb-0 fw-bold text-primary"><i class="fas fa-address-book me-2"></i><?= _("Canaux de Communication") ?></h6>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row g-3">
|
|
<div class="col-md-6">
|
|
<label class="form-label small fw-bold text-dark"><?= _("Tél. Fixe") ?></label>
|
|
<input class="form-control" type="text" id="telephoneSociete" name="telephoneSociete" value="<?=$this->nettoyer($societeuser['telephoneSociete'])?>">
|
|
</div>
|
|
<div class="col-md-6">
|
|
<label class="form-label small fw-bold text-dark"><?= _("Tél. Mobile") ?></label>
|
|
<input class="form-control fw-bold" type="text" id="portable" name="portable" value="<?=$this->nettoyer($societeuser['portable'])?>">
|
|
</div>
|
|
<div class="col-12">
|
|
<label class="form-label small fw-bold text-dark required"><?= _("E-mail Officiel du Centre") ?></label>
|
|
<div class="input-group">
|
|
<span class="input-group-text bg-white"><i class="fas fa-envelope text-primary opacity-50"></i></span>
|
|
<input class="form-control border-start-0" type="email" id="emailSociete" name="emailSociete" value="<?=$this->nettoyer($societeuser['emailSociete'])?>" required>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card border-0 shadow-sm" style="border-radius: var(--radius-md); background: linear-gradient(145deg, #ffffff, #f8f9fa);">
|
|
<div class="card-body">
|
|
<div class="row g-3">
|
|
<div class="col-md-6">
|
|
<label class="form-label small fw-bold text-dark"><?= _("Langue Système") ?></label>
|
|
<select class="form-select bg-white" id="codeLangueUser" name="codeLangueUser">
|
|
<?php liste_options($langue, $codeLangueSociete, true); ?>
|
|
</select>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<label class="form-label small fw-bold text-dark"><?= _("Logs de Navigation") ?></label>
|
|
<select class="form-select bg-white" id="activerLogVisitePages" name="activerLogVisitePages">
|
|
<?php liste_options($visitePage, $this->nettoyer($societeuser['activerLogVisitePages']), true); ?>
|
|
</select>
|
|
</div>
|
|
<div class="col-12">
|
|
<div class="p-2 border rounded bg-white mt-2">
|
|
<label class="form-label small fw-bold text-dark d-block mb-2"><?= _("Indicateurs (Lecture Seule)") ?></label>
|
|
<div class="d-flex justify-content-between text-center">
|
|
<div class="px-2 border-end flex-fill">
|
|
<div class="small text-dark mb-0"><?= _("S/P Max") ?></div>
|
|
<span class="fw-bold text-danger"><?= $this->nettoyer($societeuser['spMax']) ?>%</span>
|
|
</div>
|
|
<div class="px-2 border-end flex-fill">
|
|
<div class="small text-dark mb-0"><?= _("Indicatif") ?></div>
|
|
<span class="fw-bold text-dark">+<?= $this->nettoyer($societeuser['indicatifTelephone']) ?></span>
|
|
</div>
|
|
<div class="px-2 flex-fill">
|
|
<div class="small text-dark mb-0"><?= _("Carte") ?></div>
|
|
<span class="fw-bold text-dark"><?= format_N($this->nettoyer($societeuser['fraisCarteAN'])) ?></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-12 mb-5">
|
|
<div class="card border-0 shadow-sm" style="border-radius: var(--radius-md);">
|
|
<div class="card-header bg-white py-3 border-bottom border-light">
|
|
<h6 class="mb-0 fw-bold text-primary"><i class="fas fa-microchip me-2"></i><?= _("Configuration des Passerelles (Emails & SMS)") ?></h6>
|
|
</div>
|
|
<div class="card-body p-4">
|
|
<div class="row g-3 mb-4 p-3 border rounded" style="border-style: dashed !important; border-color: var(--color-warning) !important;">
|
|
<div class="col-md-2">
|
|
<label class="form-label small fw-bold text-warning text-uppercase" style="font-size: 0.6rem;"><?= _("Seuil Alerte Conso") ?></label>
|
|
<div class="input-group">
|
|
<input class="form-control fw-bold border-warning" type="number" id="alertLimiteConsommation" name="alertLimiteConsommation" value="<?=$this->nettoyer($societeuser['alertLimiteConsommation'])?>">
|
|
<span class="input-group-text bg-warning text-white border-warning">%</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-10">
|
|
<label class="form-label small fw-bold text-dark"><?= _("Email de Notification pour Alerte Consommation") ?></label>
|
|
<input class="form-control border-warning" type="email" id="emailAlertLimiteConsommation" name="emailAlertLimiteConsommation" value="<?=$this->nettoyer($societeuser['emailAlertLimiteConsommation'])?>">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row g-4">
|
|
<?php
|
|
$emails = [
|
|
['id' => 'emailMedecinConseil', 'label' => 'Médécin Conseil', 'icon' => 'fa-user-md', 'sms' => 'smsMedecinConseil'],
|
|
['id' => 'emailGestionBon', 'label' => 'Gestion des Bons', 'icon' => 'fa-ticket-alt', 'sms' => 'smsGestionBon'],
|
|
['id' => 'emailCcomptabilite', 'label' => 'Comptabilité', 'icon' => 'fa-calculator', 'sms' => null],
|
|
['id' => 'emailDerogation', 'label' => 'Dérogation', 'icon' => 'fa-exclamation-circle', 'sms' => 'smsDerogation'],
|
|
['id' => 'emailAccordPrealable', 'label' => 'Accord Préalable', 'icon' => 'fa-check-double', 'sms' => 'smsAccordPrealable'],
|
|
['id' => 'emailFraudeFinger', 'label' => 'Fraude & Biométrie', 'icon' => 'fa-fingerprint', 'sms' => null],
|
|
['id' => 'emailRd', 'label' => 'Remboursement (RD)', 'icon' => 'fa-hand-holding-usd', 'sms' => 'smsRd'],
|
|
];
|
|
foreach($emails as $e): ?>
|
|
<div class="col-md-6 col-lg-4 col-xl-3">
|
|
<div class="p-3 border border-light rounded bg-white shadow-xs">
|
|
<label class="form-label small fw-bold text-primary mb-2">
|
|
<i class="fas <?= $e['icon'] ?> me-2 opacity-50"></i><?= _($e['label']) ?>
|
|
</label>
|
|
<input class="form-control form-control-sm mb-2" type="email" id="<?= $e['id'] ?>" name="<?= $e['id'] ?>" value="<?=$this->nettoyer($societeuser[$e['id']])?>">
|
|
<?php if($e['sms']): ?>
|
|
<div class="input-group input-group-sm">
|
|
<span class="input-group-text bg-light text-dark" style="font-size: 0.65rem;">SMS</span>
|
|
<input class="form-control" type="text" id="<?= $e['sms'] ?>" name="<?= $e['sms'] ?>" value="<?=$this->nettoyer($societeuser[$e['sms']])?>">
|
|
</div>
|
|
<?php endif; ?>
|
|
</div>
|
|
</div>
|
|
<?php endforeach; ?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
<style>
|
|
|
|
/* --- THEME & LAYOUT --- */
|
|
.border-edit { border-top: 4px solid var(--color-warning) !important; }
|
|
.sticky-top { backdrop-filter: blur(8px); background: rgba(255, 255, 255, 0.95) !important; }
|
|
.form-control, .form-select { font-size: 0.82rem !important; border-color: #e2e8f0; }
|
|
.required::after { content: " *"; color: var(--color-urgent); font-weight: bold; }
|
|
.bg-warning-ghost { background: rgba(243, 156, 18, 0.12); }
|
|
.bg-primary-ghost { background: rgba(33, 46, 83, 0.05); }
|
|
</style>
|