107 lines
4.1 KiB
PHP
Executable File
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'];
|
|
}
|
|
} |