Subversion-Projekte lars-tiefland.content-management

Revision

Zur aktuellen Revision | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

<?php
    require_once  "../toolbox/common.php";
    require_once "../Online-Shop/language_pack.php";
    require_once  "Weban_Smarty.class.php";
    require_once  "Translation2/Admin.php";
    require_once  "Translation2.php";

    // set the parameters to connect to your db
    $driver = "MDB2";
    $dbinfo = array( "hostspec" => $webs["db_server"], "database" => $webs["datenbank"],
        "phptype" => "mysqli", "username" => $webs["db_username"],
        "password" => $webs["db_password"], );

    // tell Translation2 about your db-tables structure,
    // if it's different from the default one.
    $params = array( 'langs_avail_table' => 'i18n_langs', 'lang_id_col' =>
        'id', 'lang_name_col' => 'name', 'lang_meta_col' => 'meta',
        'lang_errmsg_col' => 'error_text', 'lang_encoding_col' => 'encoding',
        'strings_default_table' => 'i18n_%s',
        //'%s' will be replaced by the lang code
        'string_id_col' => 'id', 'string_page_id_col' => 'page_id',
        'string_page_id_col_length' => 255, // db field size
        'string_text_col' => 'string' );
    $tr_a = &Translation2_Admin::factory( $driver, $dbinfo, $params );
    $tr = &Translation2::factory( $driver, $dbinfo, $params );
    $pages = $tr_a->getPageNames();
    $languages = $tr->getLangs( 'array' );
    $l_id = 0;
    $langs = array();
    foreach ( $languages as $lang )
    {
        $lang["lang_id"] = $l_id++;
        $langs[] = $lang;
    }
    if ( isset($_POST["mode"]) )
    {
        $id = $_POST["id"];
        $page = $_POST["page"];
        $old_page=$_POST["old_page"];

        foreach ( $langs as $l_id => $lang )
        {
            $lang = $lang["id"];
            //$entry[$lang] = ( ($_POST[$lang]) ) ? $_POST[$lang] : "[$id]";
            $entry[$lang] = $_POST[$lang];
        }
        $lang = $_POST["lang"];
        switch ( $_POST["mode"] )
        {
            case "add":
                $tr_a->add( $id, $page, $entry );
                break;
            case "upd":
                $tr_a->update( $id, $page, $entry );
                break;
            case "del_lang":
                $tr_a->removeLang( $lang, true );
                break;
            case "del":
                $tr_a->remove( $id, $page );
                break;
            default:
                break;
        }
    }
    switch ( $_GET["action"] )
    {
        case "edit":
            if ( isset($_GET["id"]) )
            {
                $GLOBALS["ui"]->assign( "mode", "upd" );
                $GLOBALS["ui"]->assign( "action", "aktualisieren" );
                $id = filter_var( $_GET["id"], FILTER_SANITIZE_STRING );
                $page = filter_var( $_GET["page"], FILTER_SANITIZE_STRING );
                foreach ( $langs as $l_id => $lang )
                {
                    $lang = $lang["id"];
                    $entry = $tr->get( $id, $page, $lang );
                    $eintrag["id"] = $id;
                    $eintrag["page"] = $page;
                    $eintrag[$l_id] = array( "string" => $entry );
                }
            }
            else
            {
                $GLOBALS["ui"]->assign( "mode", "add" );
                $GLOBALS["ui"]->assign( "action", "hinuf&uuml;gen" );
            }
            $GLOBALS["ui"]->assign( "eintrag", $eintrag );
            $GLOBALS["ui"]->assign( "file", "common/lang_admin_eintrag.tpl" );
            break;
        default:
            $langs = array();
            $pages = $tr_a->getPageNames();
            $languages = $tr->getLangs( 'array' );
            $l_id = 0;
            foreach ( $languages as $lang )
            {
                $lang["lang_id"] = $l_id++;
                $langs[] = $lang;
            }
            foreach ( $pages as $p_id => $page )
            {
                foreach ( $langs as $l_id => $lang )
                {
                    $lang = $lang["id"];
                    $entry = $tr->getPage( $page, $lang );
                    foreach ( $entry as $id => $wert )
                    {
                        $eintrag = array( "string" => $wert, );
                        $entries[$id]["id"] = $id;
                        $entries[$id]["page"] = $page;
                        $entries[$id][$l_id] = $eintrag;
                    }
                }
            }
            $GLOBALS["ui"]->assign( "title", "Sprachadministration" );
            $GLOBALS["ui"]->assign( "entries", $entries );
            $GLOBALS["ui"]->assign( "file", "common/lang_admin_index.tpl" );
            break;
    }

    $GLOBALS["ui"]->assign( "languages", $langs );
    $GLOBALS["ui"]->assign( "pages", $pages );
    $GLOBALS["ui"]->assign( "charset", "UTF-8" );
    $GLOBALS["ui"]->display( "common/page.tpl" );
?>