production/Modele/Menuvueutilisateur.php
2025-12-01 16:12:12 +00:00

107 lines
4.1 KiB
PHP
Executable File

<?php
require_once 'Framework/Modele.php';
require_once 'Framework/Session.php';
class Menuvueutilisateur extends Modele
{
public function getMenuVue($vue)
{
if (!isset($_SESSION['menu'.$vue]))
{
if (est_anglophone())
{
$sql = "CALL sp_get_menus_vue_eng(?, ?, ?);";
}
else
{
$sql = "CALL sp_get_menus_vue(?, ?, ?);";
}
$menuvue = $this->executerRequete($sql, array($_SESSION['codeSociete'], $_SESSION['codeProfil'], $vue));
$_SESSION['menu'.$vue] = $menuvue->fetchAll(PDO::FETCH_ASSOC);
}
// ajouté le 30/07/2019
$_SESSION['vue'] = $vue;
}
public function getMenuGestionnaire()
{
if (!isset($_SESSION['menuGestionnairetables']))
{
$sql = "SELECT '0' as id, 'modifier' as codeMenu, CAST('3' as UNSIGNED) as ordre, 'Afficher' as libeleMenu,
'Modifier' as descriptionMenu, 'javascript:afficher_Tb();' as lienMenu, 'btn' as typeLien
UNION SELECT '0' as id, 'retour' as codeMenu, CAST('1' as UNSIGNED) as ordre, 'Retour' as libeleMenu,
'Retour' as descriptionMenu, 'Utilitaires/' as lienMenu, 'link' as typeLien";
$menuvue = $this->executerRequete($sql);
$_SESSION['menuGestionnairetables'] = $menuvue->fetchAll(PDO::FETCH_ASSOC);
}
}
public function getMenuGestionTatbles($nomTable)
{
$sql = "SELECT A.id, A.codeMenu, CAST(B.ordre as UNSIGNED) as ordre, B.libeleMenu, B.descriptionMenu, case when B.codeMenu='tb_modifier' then B.lienMenu else concat('Tbajouter',?,'/') end as lienMenu, B.typeLien
FROM menuvueutilisateur A join menuvue B on (B.codeMenu=A.codeMenu AND B.vue=A.vue)
WHERE (A.codeSociete=?) AND (A.codeProfil=?) AND (A.vue='Tbliste')
UNION SELECT '0' as id, 'retour' as codeMenu, CAST('2' as UNSIGNED) as ordre, 'Retour' as libeleMenu,
'Retour' as descriptionMenu, 'Gestionnairetables/' as lienMenu, 'link' as typeLien";
$menuvue = $this->executerRequete($sql, array($nomTable, $_SESSION['codeSociete'], $_SESSION['codeProfil']));
$_SESSION['menuTbliste'] = $menuvue->fetchAll(PDO::FETCH_ASSOC);
}
public function getMenuTbajout($nomTable)
{
$sql = "SELECT '0' as id, 'retour' as codeMenu, CAST('2' as UNSIGNED) as ordre, 'Retour' as libeleMenu,
'Retour' as descriptionMenu, concat('Tbliste',?,'/') as lienMenu, 'link' as typeLien";
$menuvue = $this->executerRequete($sql, array($nomTable));
$_SESSION['menuTbajout'] = $menuvue->fetchAll(PDO::FETCH_ASSOC);
$_SESSION['menuTbmodif'] = $_SESSION['menuTbajout'];
}
public function getMenusvueProfil($codeProfil, $vue) {
$codeProfil = contruireParam($codeProfil);
$vue = contruireParam($vue);
$sql = "SELECT case when ISNULL(B.codeProfil) then '0' else '1' end as choix,
IFNULL(B.id,0) as id_menuvueutilisateur, A.codeMenu, A.libeleMenu, A.vue, CAST(A.ordre as UNSIGNED) as ordre
FROM menuvue A left join menuvueutilisateur B on
(B.vue=A.vue and B.codeMenu=A.codeMenu and B.codeSociete=? and B.codeProfil=?)
where (A.vue=?) and (?>' ') order by 1 DESC, CAST(A.ordre as UNSIGNED), libeleMenu";
$menusutilisateur = $this->executerRequete($sql, array($_SESSION['codeSociete'],$codeProfil, $vue, $codeProfil));
return $menusutilisateur;
}
public function ajouterMenu($id_menuvueutilisateur,$codeProfil,$codeMenu,$vue,$choix) {
$id_menuvueutilisateur = contruireParam($id_menuvueutilisateur);
$codeProfil = contruireParam($codeProfil);
$vue = contruireParam($vue);
$codeMenu = contruireParam($codeMenu);
$choix = contruireParam($choix);
if ($choix=='0')
{
$sql = 'DELETE FROM menuvueutilisateur WHERE (id=?)';
$this->executerRequete($sql, array($id_menuvueutilisateur));
} else
{
$sql = 'INSERT INTO menuvueutilisateur (codeSociete, codeProfil, vue, codeMenu) VALUES (?, ?, ?, ?)';
$this->executerRequete($sql, array($_SESSION['codeSociete'], $codeProfil, $vue, $codeMenu));
}
}
public function getChemin($vue) {
$sql = "SELECT fn_get_chemin_vue(?) AS chemin;";
$resultat = $this->executerRequete($sql, array($vue))->fetch(PDO::FETCH_ASSOC);
return $resultat['chemin'];
}
}