openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 84c4c9551d3832e40f30ac5a36204d678120846f
parent 00ac9f8ab1db2011e880b66a9ac05ff2ca762442
Author: dankert <devnull@localhost>
Date:   Thu,  2 Oct 2003 22:56:43 +0200

Gruppe entfernen

Diffstat:
group.php | 230+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 230 insertions(+), 0 deletions(-)

diff --git a/group.php b/group.php @@ -0,0 +1,229 @@ +<?php +# +# DaCMS Content Management System +# Copyright (C) 2002 Jan Dankert, jandankert@jandankert.de +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# + +$conf = parse_ini_file( 'config.ini.php',true ); + +require_once( $conf['directories']['incldir']. + '/config.inc.'. + $conf['global']['ext'] ); + +session_start(); + + +include( "DB.php" ); + +include( "$conf_incldir/language.inc.$conf_php" ); +include( "$conf_incldir/db.inc.$conf_php" ); +include( "$conf_incldir/theme.inc.$conf_php" ); +include( "$conf_incldir/request.inc.$conf_php" ); + +request_into_session('groupaction'); +request_into_session('groupid'); + +$db = db_connection(); + +// Zugriff nur für Administratoren gestattet +if ( $SESS['user']['is_admin'] != '1' ) + die('access denied'); + +$var = array(); + +if ( !isset($SESS['groupaction'])) + $SESS['groupaction'] = 'show'; + +if ( $SESS['groupaction'] == 'save' ) +{ + if ( $REQ['delete'] == '1' ) + { + // Alle Gruppenzugehörigkeiten zu dieser Gruppe löschen + $sql = new Sql( 'DELETE FROM {t_usergroup} '. + 'WHERE groupid={groupid}' ); + $sql->setInt ('groupid',$SESS['groupid'] ); + $res = $db->query($sql->query); + + // Gruppe löschen + $sql = new Sql( 'DELETE FROM {t_group} '. + 'WHERE id={groupid}' ); + $sql->setInt ('groupid',$SESS['groupid'] ); + $res = $db->query($sql->query); + + unset( $SESS['groupid'] ); + $SESS['groupaction'] = 'list'; + + $var['tree_refresh'] = true; + } + else + { + // Gruppe speichern + $sql = new Sql( 'UPDATE {t_group} '. + 'SET name = {name} '. + 'WHERE id={groupid}' ); + $sql->setString('name' ,$REQ['name'] ); + $sql->setInt ('groupid',$SESS['groupid'] ); + $res = $db->query($sql->query); + + $SESS['groupaction'] = 'edit'; + } + +} + +if ( $SESS['groupaction'] == 'add' ) +{ + // Gruppe hinzufügen + $sql = new Sql( 'INSERT INTO {t_group} '. + '(name) VALUES( {name} )'); + $sql->setString('name' ,$REQ['name'] ); + $res = $db->query($sql->query); + + $var['tree_refresh'] = true; + + $SESS['groupaction'] = 'list'; +} + +if ( $SESS['groupaction'] == 'adduser' ) +{ + // Benutzer der Gruppe hinzufügen + $t_usergroup = $conf_db_prefix.'usergroup'; + $sql = "INSERT INTO $t_usergroup ". + "(userid,groupid) VALUES(". + "'".$REQ['userid']."',". + "'".$SESS['groupid']."'". + ")"; + echo "$sql"; + $res = $db->query($sql); + + $SESS['groupaction'] = 'users'; +} + +if ( $SESS['groupaction'] == 'deluser' ) +{ + // Benutzer aus Gruppe entfernen + $t_usergroup = $conf_db_prefix.'usergroup'; + $sql = "DELETE FROM $t_usergroup ". + "WHERE id=".$REQ['usergroupid']; + $res = $db->query($sql); + + $SESS['groupaction'] = 'users'; +} + + + + + +if ( $SESS['groupaction'] == 'list' ) +{ + $t_group = $conf_db_prefix.'group'; + $sql = 'SELECT * FROM `'.$t_group.'` ORDER BY name'; + $res = $db->query($sql); + + $var['action'] = 'group.'.$conf_php; + $var['el'] = array(); + + while( $row = $res->fetchRow(DB_FETCHMODE_ASSOC) ) + { + $id = $row['id' ]; + $var['el'][$id] = array(); + $var['el'][$id]['url' ] = 'group.'.$conf_php.'?groupaction=edit&groupid='.$id; + $var['el'][$id]['name'] = $row['name']; + } + $res->free(); + + output('group_list',$var); +} + + +if ( $SESS['groupaction'] == 'edit' ) +{ + $t_group = $conf_db_prefix.'group'; + $sql = "SELECT * FROM `$t_group` WHERE id=".$SESS['groupid']; + $res = $db->query($sql); + //echo $sql; + $row = $res->fetchRow(DB_FETCHMODE_ASSOC); + + $id = $row['id' ]; + $var['id'] = $row['id']; + $var['name'] = $row['name']; + + $res->free(); + + output('group_edit',$var); +} + +if ( $SESS['groupaction'] == 'acls' ) +{ + $t_group = $conf_db_prefix.'group'; + $sql = "SELECT * FROM `$t_group` WHERE id=".$SESS['groupid']; + $res = $db->query($sql); + //echo $sql; + $row = $res->fetchRow(DB_FETCHMODE_ASSOC); + + $id = $row['id' ]; + $var['id'] = $row['id']; + $var['name'] = $row['name']; + + $res->free(); + + output('group_acls',$var); +} + +if ( $SESS['groupaction'] == 'users' ) +{ + // Alle Benutzer ermitteln + // + $var['users'] = array(); + $t_user = $conf_db_prefix.'user'; + $sql = "SELECT * FROM `$t_user`"; + $res = $db->query($sql); + while( $row = $res->fetchRow(DB_FETCHMODE_ASSOC) ) + { + $var['users'][$row['id']] = $row['name']; + } + + // Mitgliedschaften ermitteln + // + $var['memberships'] = array(); + $t_usergroup = $conf_db_prefix.'usergroup'; + $sql = "SELECT * FROM $t_usergroup ". + "WHERE groupid=".$SESS['groupid']; + $res = $db->query($sql); + while( $row = $res->fetchRow(DB_FETCHMODE_ASSOC) ) + { + $var['memberships'][$row['id']] = $var['users'][$row['userid']]; + } + + output('group_users',$var); +} + +if ( $SESS['groupaction'] == 'show' ) +{ + $t_group = $conf_db_prefix.'group'; + $sql = "SELECT * FROM `$t_group` WHERE id=".$SESS['groupid']; + $res = $db->query($sql); + //echo $sql; + $row = $res->fetchRow(DB_FETCHMODE_ASSOC); + + $id = $row['id' ]; + $var['id'] = $row['id']; + $var['name'] = $row['name']; + + $res->free(); + + output('group_show',$var); +}+ \ No newline at end of file