begin process at 2012 05 31 03:36:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

POO

 > 

Classes & Objets

 > 

menu php avec sécurité et gestion de doirts


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

menu php avec sécurité et gestion de doirts

vendredi 16 avril 2010 à 18:40:33 | menu php avec sécurité et gestion de doirts

patric1014

bonjour, SVP j'ai besoin d'aide d'urgence je suis débutant en php POO et je travail sur une application et je devais faire un systeme t'authentification j'ai trouvé un générateur de code php du quel j'ai pu avoir un gestionnaire d'utilisateur tres bien fais avec gestion de droits d'utilisateur mais malheureusement je suis incapable de l'adapté ds mon application es que qlq'a peu m'aidé a comprendre ce script j'en serai tres reconnaissant et merci d'avance. voila mon code:
Code PHP :
<?php

// Menu
define("EW_MENUBAR_VERTICAL_CLASSNAME", "ewMenuBarVertical", TRUE);
define("EW_MENUBAR_SUBMENU_CLASSNAME", "", TRUE);
define("EW_MENUBAR_RIGHTHOVER_IMAGE", "", TRUE);
?>
<?php
define("EW_SESSION_MENU_AR_USER_LEVEL_PRIV", "project1_arUserLevelPriv", TRUE); // User Level Privilege Array
define("EW_SESSION_MENU_USER_LEVEL", "project1_status_UserLevelValue", TRUE); // User level value
define("EW_MENU_ALLOW_ADMIN", 16, TRUE);

// Restore user level privilege
if (is_array(@$_SESSION[EW_SESSION_MENU_AR_USER_LEVEL_PRIV]))
	$arMenuUserLevelPriv = $_SESSION[EW_SESSION_MENU_AR_USER_LEVEL_PRIV];

// Check if menu item is allowed for current user level
function AllowListMenu($TableName) {
	global $arMenuUserLevelPriv;
	$userlevellist = "";
	if (function_exists("CurrentUserLevelList"))
		$userlevellist = CurrentUserLevelList(); // Get user level id list
	if (strval($userlevellist) == "") // Not defined, just get user level
		$userlevellist = CurrentUserLevel();
	if (IsLoggedIn()) {
		if (IsListItem($userlevellist, "-1")) {
			return TRUE;
		} else {
			$priv = 0;
			if (is_array($arMenuUserLevelPriv)) {
				foreach ($arMenuUserLevelPriv as $row) {
					if (strval($row[0]) == strval($TableName) &&
						IsListItem($userlevellist, $row[1])) {
						$thispriv = $row[2];
						if (is_null($thispriv)) $thispriv = 0;
						$thispriv = intval($thispriv);
						$priv = $priv | $thispriv;
					}
				}
			}
			return ($priv & 8);
		}
	} else {
		return FALSE;
	}
}

// Is list item
function IsListItem($list, $item) {
	if ($list == "") {
		return FALSE;
	} else {
		$ar = explode(",", $list);
		foreach ($ar as $level) {
			if (trim(strval($item)) == trim(strval($level)))
				return TRUE;
		}
		return FALSE;
	}
}

/**
 * Menu class
 */

class cMenu {
	var $Id;
	var $IsRoot = FALSE;
	var $NoItem = NULL;
	var $ItemData = array();

	function cMenu($id) {
		$this->Id = $id;
	}

	// Add a menu item
	function AddMenuItem($id, $url, $parentid, $src, $allowed = TRUE) {
		$item = new cMenuItem($id, $url, $parentid, $src, $allowed);
		if (!MenuItem_Adding($item)) return;
		if ($item->ParentId < 0) {
			$this->AddItem($item);
		} else {
			if ($oParentMenu =& $this->FindItem($item->ParentId))
				$oParentMenu->AddItem($item);
		}
	}

	// Add item to internal array
	function AddItem($item) {
		$this->ItemData[] = $item;
	}

	// Find item
	function &FindItem($id) {
		$cnt = count($this->ItemData);
		for ($i = 0; $i < $cnt; $i++) {
			$item =& $this->ItemData[$i];
			if ($item->Id == $id) {
				return $item;
			} elseif (!is_null($item->SubMenu)) {
				if ($subitem =& $item->SubMenu->FindItem($id))
					return $subitem;
			}
		}
		return $this->NoItem;
	}

	// Check if a menu item should be shown
	function RenderItem($item) {
		if (!is_null($item->SubMenu)) {
			foreach ($item->SubMenu->ItemData as $subitem) {
				if ($item->SubMenu->RenderItem($subitem))
					return TRUE;
			}
		}
		return ($item->Allowed && $item->Url <> "");
	}

	// Check if this menu should be rendered
	function RenderMenu() {
		foreach ($this->ItemData as $item) {
			if ($this->RenderItem($item))
				return TRUE;
		}
		return FALSE;
	}

	// Render the menu
	function Render() {
		if (!$this->RenderMenu())
			return;
		echo "<ul";
		if ($this->Id <> "") {
			if (is_numeric($this->Id)) {
				echo " id=\"menu_" . $this->Id . "\"";
			} else {
				echo " id=\"" . $this->Id . "\"";
			}
		}
		if ($this->IsRoot)
			echo " class=\"" . EW_MENUBAR_VERTICAL_CLASSNAME . "\"";
		echo ">\n";
		foreach ($this->ItemData as $item) {
			if ($this->RenderItem($item)) {
				echo "<li><a";
				if (!is_null($item->SubMenu) && $item->SubMenu->RenderMenu())
					echo " class=\"" . EW_MENUBAR_SUBMENU_CLASSNAME . "\"";
				if ($item->Url <> "")
					echo " href=\"" . htmlspecialchars(strval($item->Url)) . "\"";
				if (!is_null($item->SubMenu))
					$item->SubMenu->Render();
				echo "</li>\n";
			}
		}
		echo "</ul>\n";
	}
}

// Menu item class
class cMenuItem {
	var $Id;
	var $Url;
	var $ParentId; 
	var $SubMenu = NULL; // Data type = cMenu
	var $Source;
	var $Allowed = TRUE;

	function cMenuItem($id, $url, $parentid, $src, $allowed) {
		$this->Id = $id;
		$this->Url = $url;
		$this->ParentId = $parentid;
		$this->Source = $src;
		$this->Allowed = $allowed;
	}

	function AddItem($item) { // Add submenu item
		if (is_null($this->SubMenu))
			$this->SubMenu = new cMenu($this->Id);
		$this->SubMenu->AddItem($item);
	}
}

// MenuItem Adding event
function MenuItem_Adding(&$Item) {

	//var_dump($Item);
	// Return FALSE if menu item not allowed

	return TRUE;
}
?>

<!-- Begin Main Menu -->
<div class="phpmaker">
<?php

// Generate all menu items
$RootMenu = new cMenu("RootMenu");
$RootMenu->IsRoot = TRUE;?>
<link rel='stylesheet' type='text/css' href='style.css'>
<script type="text/javascript" src="style/sdmenu.js"></script>
<script type="text/javascript">
	// <![CDATA[
	var myMenu;
	window.onload = function() {
		myMenu = new SDMenu("my_menu");
		myMenu.init();
	};
	// ]]>
</script>
 <div style="float: left" id="my_menu" class="sdmenu">
  <div>
        <span>Bien</span>
		
<a target="content" href="<?php $RootMenu->AddMenuItem(1, "add_bien1.php", -1, "", AllowListMenu('agence'));?>"> ajouter un bien</a>
<a target="content" href="<?php $RootMenu->AddMenuItem(2, "bienlist.php?cmd=resetall", -1, "", AllowListMenu('bien'));?>"> Bien </a>
<a target="content" href="<?php $RootMenu->AddMenuItem(3, "categorieplist.php", -1, "", AllowListMenu('categoriep'));?>"> Categoriep </a>
<a target="content" href="<?php $RootMenu->AddMenuItem(4, "civilitelist.php", -1, "", AllowListMenu('civilite'));?> "> Civilite</a>
<a target="content" href="<?php $RootMenu->AddMenuItem(5, "clientlist.php?cmd=resetall", -1, "", AllowListMenu('client'));?>">Client </a>
<a target="content" href="<?php $RootMenu->AddMenuItem(6, "localisationlist.php?cmd=resetall", -1, "", AllowListMenu('localisation'));?>"> Localisation</a>
<a target="content" href="<?php $RootMenu->AddMenuItem(7, "naturebienlist.php", -1, "", AllowListMenu('naturebien'));?>">Naturebien </a>
<a target="content" href="<?php $RootMenu->AddMenuItem(8, "originelist.php", -1, "", AllowListMenu('origine'));?>">Origine </a>
<a target="content" href="<?php $RootMenu->AddMenuItem(9, "payslist.php", -1, "", AllowListMenu('pays'));?>"> Pays</a>
<a target="content" href="<?php $RootMenu->AddMenuItem(10, "personnelist.php?cmd=resetall", -1, "", AllowListMenu('personne'));?>">Personne </a>
<a target="content" href="<?php $RootMenu->AddMenuItem(11, "photolist.php?cmd=resetall", -1, "", AllowListMenu('photo'));?>"> Photo</a>
<a target="content" href="<?php $RootMenu->AddMenuItem(12, "publist.php?cmd=resetall", -1, "", AllowListMenu('pub'));?>">Pub </a>
<a target="content" href="<?php $RootMenu->AddMenuItem(13, "quatierlist.php", -1, "", AllowListMenu('quatier'));?>">Quatier </a>
<a target="content" href="<?php $RootMenu->AddMenuItem(14, "typebienlist.php", -1, "", AllowListMenu('typebien'));?>">Typebien </a>

<a target="content" href="<?php $RootMenu->AddMenuItem(15, "userlist.php?cmd=resetall", -1, "", AllowListMenu('user'));?>">User </a>
<a target="content" href=" <?php $RootMenu->AddMenuItem(16, "userlevelpermissionslist.php?cmd=resetall", -1, "", (@$_SESSION[EW_SESSION_MENU_USER_LEVEL] & EW_MENU_ALLOW_ADMIN) == EW_MENU_ALLOW_ADMIN);?>">Userlevelpermissions</a>
<a target="content" href="<?php $RootMenu->AddMenuItem(17, "userlevelslist.php", -1, "", (@$_SESSION[EW_SESSION_MENU_USER_LEVEL] & EW_MENU_ALLOW_ADMIN) == EW_MENU_ALLOW_ADMIN); ?>"> Userlevels</a>
<a target="content" href="<?php $RootMenu->AddMenuItem(0xFFFFFFFF, "logout.php", -1, "", IsLoggedIn());?>">Déconnexion </a>
<a target="content" href="<?php $RootMenu->AddMenuItem(0xFFFFFFFF, "login.php", -1, "", !IsLoggedIn() && substr(@$_SERVER["URL"], -1 * strlen("login.php")) <> "login.php");?>">Connnexion</a>
<?php $RootMenu->Render(); ?>
      </div>
      
</div>

Normalement il affiche le menu a partir de la base de donnée donc il affiche les nom des table moi je veux mettre des nom propre a moi et des liens de page que j'ai cree moi mm et je sais pa comment le faire j'espere que qlq aie une idée comment faire. merci.



Cette discussion est classée dans : php, item, id, addmenuitem, if


Répondre à ce message

Sujets en rapport avec ce message

Problème avec un "if" [ par taxitat ] Bonjour à tous,J'espère avoir posté dans la bonne section (si non, dsl, les modos)Sur mon site, j'ai une page index.php où à l'intérieur je fais un in un code PHP pour Consulter la liste des Emails [ par saif1982 ] J'ai créé  un code PHP pour Consulter la liste des Emails C PHP : une requete de selection(besoin d'aide) [ par info3licen ] Bonjour tout le monde;j'ai fait un formulaire et je travaille avec php le formulaire c'est pour un enseignant il fait entrer son matricule et son suje utilisation de session pour la gestion des acces à une application [ par cyrilherve ] je travail sur une application ou j'ai prevu une page de connexion ou l'on s'identifie avec un indifiant et un mot de passe; ensuite en fonction de so ordre des fichiers "image" dans une galerie en php [ par philclimb ] Bonjour à tous, J'ai fais un script php pour faire une galerie photo assez simple.Tout fonctionne bien sauf que les fichiers sont affichés dans le $_GET [ par errahmouninawal ] Salut tout le monde ;Vraiment je sais pas pourquoi ça marche pas !!!!!!Voila mon code: page1.php qui peut corriger mon code php [ par hwm86 ] Posté le 31/03/2009 à 16:46 <a href="http://www.vulgarisation- Problème de boucle [ par jonas03 ] Bonjour à tous,Mon problème est le suivant : j'ai une requête qui permet de rechercher une personne si elle a un papier , et dans ma  liste déroulante problème incompréhensible... [ par keithsize ] bonjour,alors voila sur une page php j'ai un script qui génére un fichier avec un ID://La fonction génère un id aléatoirefunction ID() {    srand(time Passer de javascript à php [ par heepsound ] Bonjour, j'utilise actuellement un script pour réglementer l'accès à certaines pages. Il fonctionne bien mais les codes d'accès sont visibles avec la


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales