Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
1001#110001#00110#11001 // das mit explode trennen.
0 = mdl1, 1 = mdl2, 2 = mdl3 // Das aus einer mysql spalte auslesen, wo sich das skript merkt welcher bereich zu welchem modul gehört
110001 // Modul 1 rauspicken
110001 & 001000 // Bitoperatoren
// Am schluss mit ner for schleife die rechte für das modul wieder an die richtige stelle rücken.
01000100101011011100
\ /\ /\ /\ /\ /
\/ \/ \/ \/ \/
| | | | |
| | | | usw...
| | | Modul 4
| | Modul 3
| Rechte für Modul 2
Rechte für Modul 1
01000100101011011100
\ /\ /\ /\ /\ /
\/ \/ \/ \/ \/
| | | | |
| | | | usw...
| | | Modul 4
| | Modul 3
| Rechte für Modul 2
Rechte für Modul 1
Hm, so schwer ist das (zumindest in meiner Theorie ) gar nicht.*überleg*
//module23.php:
$iModuleId = 12;
$sRighrs = getRights($iModuleId);
[...]
function getRights( $a_iModuleId )
{
//Hier kriegst du von irgendwo den langen eins-null String her:
$sRightData = "1011010100101010101111010101010110110";
return substr($sRightData, ($a_iModuleId - 1) * 4, 4);
}
<?PHP
/*
$modul - gibt die ID des Moduls an
getrights() - holt Rechte für dieses Modul
check() - überprüft die Rechte des Users
0 - nichts
1 - lesen
2 - schreiben
4 - ändern
16 - löschen
*/
$modul=1;
if(check(getrights($modul),1))
{
echo"Du darfst lesen<br>";
}
else
{
echo"Du darfst nicht lesen<br>";
}
if(check(getrights($modul),2))
{
echo"Du darfst schreiben<br>";
}
else
{
echo"Du darfst nicht schreiben<br>";
}
if(check(getrights($modul),4))
{
echo"Du darfst ändern<br>";
}
else
{
echo"Du darfst nicht ändern<br>";
}
if(check(getrights($modul),16))
{
echo"Du darfst löschen<br>";
}
else
{
echo"Du darfst nicht löschen<br>";
}
function check($user,$check)
{
if(($user & $check)==$check)
{
return true;
}
else
{
return false;
}
}
function getrights($modul_id)
{
$rights = "111101110000";
return substr($rights, $modul_id * 4, 4);
}
?>
define("PR_READ", 0);
define("PR_WRITE", 1);
define("PR_CHANGE", 2);
define("PR_DELETE", 3);
function getRights( $a_mRights, $a_iModuleId )
{
// Hier irgendwo dein eins-null String herbekommen
$sPrivileges = "0100101011011010110101";
if (!is_array($a_mRights)) {
$aRights = array( $a_mRights );
} else {
$aRights = $a_mRights;
}
$sModuledata = substr($sPrivileges, $a_iModuleId - 1, 4);
$aRetArray = array();
foreach( $aRights as $iOneRight) {
if ($sModuleData{$iOneRight} == "1") {
$aRetArray[$iOneRight] = "Y";
} else {
$aRetArray[$iOneRight] = "N";
}
}
return $aRetArray;
}
// Modul 4:
$iModuleId = 4;
$aModuleRights = GetRights( array( PR_READ, PR_WRITE, PR_DELETE),
$iModuleId );
if (in_array("Y", $aModuleRights)) {
if ($aModuleRights[PR_WRITE] == "Y") {
echo "Schreibrechte";
} elseif ($aModuleRights[PR_DELETE]) {
echo "Du darfst löschen";
} //Und so weiter;
} else {
echo "Keine Rechte!";
}