Subversion-Projekte lars-tiefland.content-management

Revision

Revision 1 | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
    require_once  "../toolbox/common.php";
3
    require_once "../Online-Shop/language_pack.php";
4
    require_once  "Weban_Smarty.class.php";
5
    require_once  "Translation2/Admin.php";
6
    require_once  "Translation2.php";
7
 
8
    // set the parameters to connect to your db
9
    $driver = "MDB2";
10
    $dbinfo = array( "hostspec" => $webs["db_server"], "database" => $webs["datenbank"],
11
        "phptype" => "mysqli", "username" => $webs["db_username"],
12
        "password" => $webs["db_password"], );
13
 
14
    // tell Translation2 about your db-tables structure,
15
    // if it's different from the default one.
16
    $params = array( 'langs_avail_table' => 'i18n_langs', 'lang_id_col' =>
17
        'id', 'lang_name_col' => 'name', 'lang_meta_col' => 'meta',
18
        'lang_errmsg_col' => 'error_text', 'lang_encoding_col' => 'encoding',
19
        'strings_default_table' => 'i18n_%s',
20
        //'%s' will be replaced by the lang code
21
        'string_id_col' => 'id', 'string_page_id_col' => 'page_id',
22
        'string_page_id_col_length' => 255, // db field size
23
        'string_text_col' => 'string' );
24
    $tr_a = &Translation2_Admin::factory( $driver, $dbinfo, $params );
25
    $tr = &Translation2::factory( $driver, $dbinfo, $params );
26
    $pages = $tr_a->getPageNames();
27
    $languages = $tr->getLangs( 'array' );
28
    $l_id = 0;
29
    $langs = array();
30
    foreach ( $languages as $lang )
31
    {
2 lars 32
var_dump($lang);
1 lars 33
        $lang["lang_id"] = $l_id++;
34
        $langs[] = $lang;
35
    }
36
    if ( isset($_POST["mode"]) )
37
    {
38
        $id = $_POST["id"];
39
        $page = $_POST["page"];
40
        $old_page=$_POST["old_page"];
41
 
42
        foreach ( $langs as $l_id => $lang )
43
        {
44
            $lang = $lang["id"];
45
            //$entry[$lang] = ( ($_POST[$lang]) ) ? $_POST[$lang] : "[$id]";
46
            $entry[$lang] = $_POST[$lang];
47
        }
48
        $lang = $_POST["lang"];
49
        switch ( $_POST["mode"] )
50
        {
51
            case "add":
52
                $tr_a->add( $id, $page, $entry );
53
                break;
54
            case "upd":
55
                $tr_a->update( $id, $page, $entry );
56
                break;
57
            case "del_lang":
58
                $tr_a->removeLang( $lang, true );
59
                break;
60
            case "del":
61
                $tr_a->remove( $id, $page );
62
                break;
63
            default:
64
                break;
65
        }
66
    }
67
    switch ( $_GET["action"] )
68
    {
69
        case "edit":
70
            if ( isset($_GET["id"]) )
71
            {
72
                $GLOBALS["ui"]->assign( "mode", "upd" );
73
                $GLOBALS["ui"]->assign( "action", "aktualisieren" );
74
                $id = filter_var( $_GET["id"], FILTER_SANITIZE_STRING );
75
                $page = filter_var( $_GET["page"], FILTER_SANITIZE_STRING );
76
                foreach ( $langs as $l_id => $lang )
77
                {
78
                    $lang = $lang["id"];
79
                    $entry = $tr->get( $id, $page, $lang );
80
                    $eintrag["id"] = $id;
81
                    $eintrag["page"] = $page;
82
                    $eintrag[$l_id] = array( "string" => $entry );
83
                }
84
            }
85
            else
86
            {
87
                $GLOBALS["ui"]->assign( "mode", "add" );
88
                $GLOBALS["ui"]->assign( "action", "hinuf&uuml;gen" );
89
            }
90
            $GLOBALS["ui"]->assign( "eintrag", $eintrag );
91
            $GLOBALS["ui"]->assign( "file", "common/lang_admin_eintrag.tpl" );
92
            break;
93
        default:
94
            $langs = array();
95
            $pages = $tr_a->getPageNames();
96
            $languages = $tr->getLangs( 'array' );
97
            $l_id = 0;
98
            foreach ( $languages as $lang )
99
            {
100
                $lang["lang_id"] = $l_id++;
101
                $langs[] = $lang;
102
            }
103
            foreach ( $pages as $p_id => $page )
104
            {
105
                foreach ( $langs as $l_id => $lang )
106
                {
107
                    $lang = $lang["id"];
108
                    $entry = $tr->getPage( $page, $lang );
109
                    foreach ( $entry as $id => $wert )
110
                    {
111
                        $eintrag = array( "string" => $wert, );
112
                        $entries[$id]["id"] = $id;
113
                        $entries[$id]["page"] = $page;
114
                        $entries[$id][$l_id] = $eintrag;
115
                    }
116
                }
117
            }
118
            $GLOBALS["ui"]->assign( "title", "Sprachadministration" );
119
            $GLOBALS["ui"]->assign( "entries", $entries );
120
            $GLOBALS["ui"]->assign( "file", "common/lang_admin_index.tpl" );
121
            break;
122
    }
123
 
124
    $GLOBALS["ui"]->assign( "languages", $langs );
125
    $GLOBALS["ui"]->assign( "pages", $pages );
126
    $GLOBALS["ui"]->assign( "charset", "UTF-8" );
127
    $GLOBALS["ui"]->display( "common/page.tpl" );
2 lars 128
?>