//Neu auslesen $data = allRowsFromQuery('SELECT m.*, (ISNULL(mr.mid)+1)%2 AS hasright FROM `prefix_modules` m LEFT JOIN `prefix_modulerights` mr ON m.id = mr.mid AND mr.uid = ' . $id . ' WHERE m.fright = 1 ORDER BY hasright DESC, m.name', 'id'); $smarty->assign('info', 'Änderungen wurden gespeichert.'); } $smarty->assign('data', $data); $smarty->display('modulrechte.tpl'); $design->footer(1); exit; } $design = new design('Ilch Admin-Control-Panel :: Grundrechte', '', 2); $design->header(); $arb = array(-9 => 'Dieser User hat alle Rechte :-)', -8 => 'Dieser User darf alles mit einer paar Ausnahmen: er darf User über ihm nicht löschen, ' . 'diesen Bereich nicht ändern, kein Backup machen, die Konfiguration nicht verändern.', -7 => 'Der User darf alles auf der Seite administrieren. Also z.B. alle Foren Moderieren in die er rein kommt, ' . 'Kommentare löschen, Userbilder verwalten, War zu oder Absagen löschen... ' . 'Im Adminbereich hat er allerdings nur über Modulrechte etwas zu sagen.', -6 => 'Der User hat keine speziellen Rechte ausser die Ihm zugeteilten.', -5 => 'Der User hat keine speziellen Rechte ausser die Ihm zugeteilten.', -4 => 'Der User hat keine speziellen Rechte ausser die Ihm zugeteilten.', -3 => 'Der User hat keine speziellen Rechte ausser die Ihm zugeteilten.', -2 => 'Der User hat keine speziellen Rechte ausser die Ihm zugeteilten.', -1 => 'Der User hat keine speziellen Rechte ausser die Ihm zugeteilten.', 0 => 'Dieses Recht bekommen alle Gäste, also Besucher die nicht registriert sind'); //Änderung von Grundrechten if (isset($_POST['subchange'])) { $erg = db_query("SELECT * FROM `prefix_grundrechte` ORDER BY `id` ASC"); while ($r = db_fetch_assoc($erg)) { if ($r['name'] != $_POST['gr'][$r['id']]) { db_query("UPDATE `prefix_grundrechte` SET `name` = '" . escape($_POST['gr'][$r['id']], 'string') . "' WHERE `id` = " . $r['id']); } } echo 'Die Änderungen wurden gespeichert<br /><br />'; } //Templateausgabe $smarty = new iSmarty(); $smarty->assign('grundrechte', allRowsFromQuery('SELECT * FROM `prefix_grundrechte` ORDER BY `id` ASC')); $smarty->assign('descs', $arb); $smarty->display('grundrechte.tpl'); $design->footer();
} //Prüfe auf geloeschte Rechte foreach ($data as $row) { if ($row['hasright'] == 1) { if (isset($_POST['mid']) and !in_array($row['id'], $_POST['mid'])) { //Recht entfernen if ($row['rightfrom'] == 1) { //Entfernen, wenn vom Grundrecht gegeben (einfuegen als Modulrecht) db_query('INSERT INTO `prefix_modulerights` (`uid`, `mid`) VALUE (' . $id . ',' . $mid . ')'); } else { //Entfernen, wenn als Modulrecht db_query('DELETE FROM `prefix_modulerights` WHERE `mid` = ' . $row['id'] . ' AND `uid` = ' . $id); } } } else { break; } } //Neu auslesen $data = allRowsFromQuery('SELECT m.*, (ISNULL(grmr.mid)+ISNULL(umr.mid))%2 AS hasright FROM `prefix_modules` m LEFT JOIN `prefix_modulerights` grmr ON m.id = grmr.mid AND grmr.uid = ' . $recht . ' LEFT JOIN `prefix_modulerights` umr ON m.id = umr.mid AND umr.uid = ' . $id . ' WHERE m.fright = 1 ORDER BY hasright DESC, m.name', 'id'); $smarty->assign('info', 'Änderungen wurden gespeichert.'); } $smarty->assign('data', $data); $smarty->display('modulrechte.tpl'); $design->footer(1); break; }