Subversion-Projekte lars-tiefland.content-management

Revision

Blame | Letzte Änderung | Log anzeigen | RSS feed

<?php

    /**
     * @package   Content-management
     * @author    Lars Tiefland <tiefland@weban.de>
     * @copyright 2010 Webagentur Niewerth
     * @license   propietary http://www.weban.de
     * @version   $Rev: 3916 $
     * @filesource
     * 
     */

    /**
     * 
     * @package   Content-management
     * @author    Lars Tiefland <tiefland@weban.de>
     * @copyright 2010 Webagentur Niewerth
     */

    // SVN: $Id: admin_user.php 3916 2011-09-08 11:37:11Z tiefland $

    require_once "Weban_Smarty.class.php";
    $self = basename( $PHP_SELF );
    $DB = "Access";
    require_once "connect2.php";
    require_once "webs.php";
    $GLOBALS["ui"] = new Weban_Smarty();
    $GLOBALS["ui"]->compile_dir = $_SERVER["DOCUMENT_ROOT"] .
        "/templates_c/";
    $GLOBALS["ui"]->use_sub_dirs = true;
    unset( $_POST["pwdcheck"] );
    if ( $MySQL_Host_write )
    {
        //echo "schreibe in Haupt-DB";
        $w_conn = @mysql_connect( $MySQL_Host_write, $MySQL_User, $MySQL_Passwd );
        if ( !$w_conn )
        {
            $error = true;
            $meld =
                "Leider können keine Bentzer bearbeitet werden, da keine Verbindung zur Datenbank möglich ist.";
        }
        $r = @mysql_select_db( $database_name );
        if ( !$r )
        {
            $meld =
                "Leider können keine Bentzer bearbeitet werden, da keine Verbindung zur Datenbank möglich ist.";
            $error = true;
        }
    }
    else
    {
        $w_conn = $localhost_dbh;
    }
    if ( $w_conn )
    {
        if ( $action == "update" )
        {
            unset( $_POST["action"] );
            unset( $_POST["ID"] );
            $_POST["user"] = $_POST["user"] . '@' . $site;
            if ( $_POST["passwd"] )
            {
                $_POST["passwd"] = crypt( $_POST["passwd"] );
            }
            else
            {
                unset( $_POST["passwd"] );
            }

            foreach ( array_keys( $_POST ) as $elem )
            {
                if ( $elem[0] == "_" )
                {
                    unset( $_POST[$elem] );
                    $button = $$elem;
                    $elem = substr( $elem, 1 );
                    $Pfad = $_POST[$elem . "_Pfad"];
                    unset( $_POST[$elem . "_Pfad"] );
                    $image = $$elem;
                    $image_name = $elem . "_name";
                    $image_name = urlencode( $$image_name );
                    switch ( $button )
                    {
                        case 0:
                            break;
                        case 1:
                            $_POST[$elem] = '';
                            break;
                        case 2:
                            //$image_name=$ID."_".$image_name;
                            $image_name = $ID . strrchr( $image_name, "." );
                            $_POST[$elem] = $image_name;
                            copy( $image, $Pfad . $image_name );
                            break;
                        default:
                            break;
                    }
                }
            }
            $names = array();
            foreach ( array_keys( $_POST ) as $elem )
            {
                array_push( $names, "$elem='$_POST[$elem]'" );
            }
            if ( !$ID )
            {
                $query = "
                    INSERT INTO
                ";
            }
            else
            {
                $query = "
                UPDATE 
            ";
            }
            $query .= " 
                    $DB
                SET " . join( ', ', $names );
            if ( $ID )
            {
                $query .= ", 
                        letzte_Aenderung_am=NOW(), 
                        letzte_Aenderung_von='" . $_SERVER["PHP_AUTH_USER"] .
                    "' 
                    WHERE 
                        ID = $ID
                ";
            }
            else
            {
                $query .= ",
                        erstellt_am=NOW(),
                        erstellt_von='" . $_SERVER["PHP_AUTH_USER"] . "'
                ";
            }
            $result = mysql_query( $query, $w_conn ) or die( mysql_errno() .
                ": " . mysql_error() );
            //echo $query;
            //header( "Location: " . $self );
            $action = "select_edit";
            unset( $ID, $_GET["ID"] );
        }

        if ( $action == "delete" )
        {
            if ( $ID )
            {
                $condition = array();
                foreach ( $ID as $elem )
                {
                    array_push( $condition, " ID = '$elem'" );
                    $query = "
                        DELETE FROM 
                            user_properties 
                        WHERE 
                            Access = $elem
                    ";
                    mysql_query( $query, $w_conn ) or die( mysql_errno() .
                        ": " . mysql_error() );
                }
                $cond = join( " OR ", $condition );
                $query = "
                    DELETE FROM 
                        $DB 
                    WHERE 
                        $cond
                ";
                $result = mysql_query( "$query" ) or die( mysql_errno() .
                    ": " . mysql_error() );
                //header( "Location: " . $self );
            }
        }
        if ( !$action )
        {
            $action = "select_edit";
        }
        if ( !$sort )
        {
            $sort = 'Name';
        }
        $sort = 'user';
        $GLOBALS["ui"]->assign( "action", $action );
        if ( $action == "select_edit" || $action == "delete" || ( $action ==
            "edit" && $_GET["ID"] ) )
        {
            $query = "
                SELECT 
                    * 
                FROM 
                    $DB 
                WHERE 
            ";
            if ( $_GET["ID"] )
            {
                $query .= "
                    ID=" . $_GET["ID"] . "
                ";
            }
            else
            {
                $query .= "
                    ID > 0 
                ";
            }
            $query .= "
                AND
                    user LIKE '%@$site' 
                ORDER BY 
                    $sort
            ";
            $result = mysql_query( $query, $w_conn ) or die( mysql_errno() .
                ": " . mysql_error() );
            while ( $row = mysql_fetch_assoc( $result ) )
            {
                $row["user"] = preg_split( "/@/", $row["user"] );
                $users[] = $row;
            }
        }
    }
    $GLOBALS["ui"]->assign( "users", $users );
    $GLOBALS["ui"]->assign( "webs", $webs );
    $GLOBALS["ui"]->assign( "meld", $meld );
    $GLOBALS["ui"]->assign( "error", $error );
    $GLOBALS["ui"]->assign( "web_rechte", $web_rechte );
    $GLOBALS["ui"]->assign( "user_rechte", $user_rechte );
    $GLOBALS["ui"]->display( "admin_users.tpl" );
?>