Subversion-Projekte lars-tiefland.content-management

Revision

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

<?
    function show_dir( $root, $Father_name )
    {
        global $dirs;
        global $webs;

        if ( $dirs[$root] )
        {
            $query_artikel_count = "SELECT * FROM artikel where Father = $root and Language = '" .
                $_SESSION[language] . "' order by " . $_SESSION["tree.php"]["output"]["artikel_sort"];
            $result_artikel_count = mysql_query( $query_artikel_count ) or die( mysql_errno
                () . ": " . mysql_error() . "<hr>$query_artikel_count<hr>" );

            if ( mysql_num_rows( $result_artikel_count ) > 0 )
            {
?>
<tr><td bgcolor="#<? echo $webs[bgcolor_links]
?>" colspan="<? echo count( $_SESSION["quick_edit_config.php"][artikel_properties] ) +
                2
?>"><font color="#<? echo $webs[font_color_links]
?>"><b><? echo $dirs[$root]
?></b></font></td></tr>
<?
            }
            show_artikel( $root );
            /*if ( ( $flag == true ) or ( func_num_args() > 2 ) )
            {
            show_dir( $zeile["ID"], $title, "override" );
            }*/
            //else

            {
                // :ME fix für die Wiederholung der formulare
                if ( $_SESSION['quick_edit_config.php']['nav_status_overide'] !=
                    'off' )
                {
                    //show_dir( $zeile["ID"], $title );
                }
            }
        }
        $query = "SELECT * FROM directory where Father = $root and Language='" .
            $_SESSION[language] . "' order by " . $_SESSION["tree.php"]["output"]["directory_sort"];
        $result = mysql_query( $query ) or die( mysql_errno() . ": " .
            mysql_error() );
        $i = 0;
        //print_r($_SESSION['quick_edit_config.php']);
        while ( $zeile = mysql_fetch_array( $result ) )
        {
            if ( ( $_SESSION["quick_edit_config.php"]["nav_status_overide"] ==
                "select" ) and ( $root = -1 ) and ( $_SESSION["quick_edit_config.php"]["nav_status_overide_selected"][$zeile["ID"]] ) )
            {
                $flag = true;

            }
            else
            {
                $flag = false;

            }
            $flag = true;
            if ( $zeile[$_SESSION["tree.php"]["output"]["directory_show_primary"]] )
            {
                $title = $Father_name . "/" . $zeile[$_SESSION["tree.php"]["output"]["directory_show_primary"]];
            }
            else
            {
                $title = $Father_name . "/" . $zeile[$_SESSION["tree.php"]["output"]["directory_show_fallback"]];
            }
            if ( ( $dirs[$zeile["ID"]] ) or ( $_SESSION["quick_edit_config.php"]["nav_status_overide"] ==
                -1 ) or ( func_num_args() > 2 ) or ( $flag == true ) )
            {
                $query_artikel_count = "SELECT * FROM artikel where Father = $zeile[ID] and Language = '" .
                    $_SESSION[language] . "' order by " . $_SESSION["tree.php"]["output"]["artikel_sort"];
                $result_artikel_count = mysql_query( $query_artikel_count ) or
                    die( mysql_errno() . ": " . mysql_error() . "<hr>$query_artikel_count<hr>" );

                if ( mysql_num_rows( $result_artikel_count ) > 0 )
                {
?>
<tr><td bgcolor="#<? echo $webs[bgcolor_links]
?>" colspan="<? echo count( $_SESSION["quick_edit_config.php"][artikel_properties] ) +
                    2
?>"><font color="#<? echo $webs[font_color_links]
?>"><b><? echo $title
?></b></font></td></tr>
<?
                }
                show_artikel( $zeile["ID"] );
                /*if ( ( $flag == true ) or ( func_num_args() > 2 ) )
                {
                show_dir( $zeile["ID"], $title, "override" );
                }*/
                //else

                {
                    // :ME fix für die Wiederholung der formulare
                    if ( $_SESSION['quick_edit_config.php']['nav_status_overide'] !=
                        'off' )
                    {
                        show_dir( $zeile["ID"], $title );
                    }
                }
            }
        }
    }
    /* ende von show_dir(); */

    function table_show_colums( $table )
    {
        static $buffer = array();

        if ( !$buffer[$table] )
        {
            $query = "SHOW COLUMNS FROM $table";
            $result = mysql_query( $query ) or die( mysql_errno() . ": " .
                mysql_error() . "<hr>$query<hr>" );
            while ( $zeile = mysql_fetch_assoc( $result ) )
            {
                $x = preg_split( "/[\(\)]/", $zeile["Type"] );
                $x[1] = explode( "','", trim( $x[1], "'" ) );
                if ( count( $x[1] ) == 1 )
                {
                    $x[1] = $x[1][0];
                }


                $buffer[$table][$zeile["Field"]] = array( "Type" => $x[0],
                    "values" => $x[1] );
            }
        }
        return $buffer[$table];
    }

    function artikelFilter()
    {
        $cond = array( '' );
        foreach ( $_SESSION["quick_edit_config.php"]["artikelFilter"] as $key =>
            $value )
        {
            if ( $value != "" )
            {
                $cond[] = "$key = '" . $value . "'";
            }
        }
        return implode( " AND ", $cond );
    }

    function show_artikel( $Father )
    {
        global $user_rechte;
        global $web_rechte;
        global $webs;
        $zubehoer = array();
        $properties = $_SESSION["quick_edit_config.php"][artikel_properties];
        if ( $ret = isset( $_SESSION["quick_edit_config.php"][artikel_properties]["zubehoer_anzeigen_artikel"] ) )
        {
            unset( $properties["zubehoer_anzeigen_artikel"] );
        }
        foreach ( $properties as $f_id => $feld )
        {
            if ( $f_id == "beschreibung_simpel" )
            {
                $felder[] = "beschreibung";
            }
            else
            {
                $felder[] = $f_id;
            }
        }
        $query = "SELECT
                ID,
                " . implode( ", ", $felder ) . "
            FROM
                artikel
            WHERE
                Father = $Father
            AND
                Language='" . $_SESSION[language] . "'
                " . artikelFilter() . "
            ORDER BY
                " . $_SESSION["tree.php"]["output"]["artikel_sort"];

        $result = mysql_query( $query ) or die( mysql_errno() . ": " .
            mysql_error() . "<hr>$query<hr>" );
        $meta = mysql_fetch_field( $result );

        $typen = table_show_colums( "artikel" );

        $j = 0;
        while ( $zeile = mysql_fetch_assoc( $result ) )
        {
            $id = $zeile["ID"];
            $query2 = "SELECT * FROM shop_link_table WHERE Father=$id AND Verwendung='a2a'";
            $res2 = mysql_query( $query2 );
            $zubehoer = "";
            while ( $row2 = mysql_fetch_assoc( $res2 ) )
            {
                $zubehoer .= $row2["ID"] . ", ";
            }
            $zubehoer = rtrim( $zubehoer, ", " );
            $zeile["zubehoer_anzeigen_artikel"] = $zubehoer;
?><tr bgcolor="#<? echo ( $j % 2 ) ? $webs[bgcolor_links] : $webs[bgcolor_rechts]
?>" id="artikel_<?= $zeile["ID"];
?>">
        <td>
            <input type="image" src="../images/navigation/trashcan.gif" onclick="del_item(<?= $zeile["ID"];
?>);return false;" title="Artikel <?= $zeile["ID"];
?> löschen" alt="Artikel <?= $zeile["ID"];
?> löschen">
        </td>
        <td>
            <?= $zeile["ID"];
?>
        </td>
        <?

            $i = 0;
            foreach ( array_keys( $_SESSION["quick_edit_config.php"][artikel_properties] ) as
                $Feld )
            {
                $i++;
?><td align="left"><?
                $fname = $web_rechte[modul_name][tool_name][$Feld];
                if ( $fname[0] != "!" )
                {
                    switch ( $typen[$Feld]["Type"] )
                    {
                        case "decimal":
                            if ( $zeile[$Feld] < 0 )
                            {
                                $zeile[$Feld] = abs( $zeile[$Feld] ) . "%";
                            }
?><input type="text" name="<?= $Feld;
?>[<? echo $zeile[ID]
?>]" value="<? echo $zeile[$Feld];
?>" size="5" onChange="this.value=killkomma(this.value)" class="button"><?
                            break;
                        case "enum":
?><select name="<? echo $Feld
?>[<? echo $zeile[ID]
?>]"><?
                            foreach ( $typen[$Feld]["values"] as $option )
                            {
?><option value="<?= $option;
?>" <? if ( $zeile[$Feld] == $option )
                                {
                                    echo "selected";
                                }
?>><?= $option;
?></option><?
                            }
?></select><?

                            break;
                        case "int":
                            if ( strrpos( $web_rechte[modul_name][tool_name][$Feld],
                                ";" ) )
                            {
                                if ( stristr( $Feld, "eigenschaft" ) )
                                {
?>
                                        <input type="hidden"   name="<?= $Feld;
?>[<? echo $zeile[ID]
?>]" value="0" />
                                        <input type="checkbox" name="<?= $Feld;
?>[<? echo $zeile[ID]
?>]" value="1"<? if ( $zeile[$Feld] == 1 )
                                    {
                                        echo " checked";
                                    }
?> />
                                        <?
                                }
                                else
                                {
?><select name="<? echo $Feld
?>[<? echo $zeile[ID]
?>]"><?

                                    $option_counter = 0;
                                    $x = explode( "~", $web_rechte[modul_name][tool_name][$Feld] );
                                    foreach ( explode( ";", $x[0] ) as $option )
                                    {
?><option value="<?= $option_counter;
?>" <? if ( $zeile[$Feld] == $option_counter )
                                        {
                                            echo "selected";
                                        }
?>><?= $option;
?></option><?
                                        $option_counter++;
                                    }
?></select><?
                                }
                            }
                            else
                            {
                                switch ( $Feld )
                                {
                                    case ( preg_match( "/Eigenschaft_(\d+)/i", $Feld,
                                            $matches ) ? $Feld : !$Feld ):
?>
                                        <input type="hidden"   name="<?= $Feld;
?>[<? echo $zeile[ID]
?>]" value="0" />
                                        <input type="checkbox" name="<?= $Feld;
?>[<? echo $zeile[ID]
?>]" value="1"<? if ( $zeile[$Feld] == 1 )
                                        {
                                            echo " checked";
                                        }
?> />
                                        <?
                                        break;

                                    default:
?><input type="text" name="<? echo $Feld
?>[<? echo $zeile[ID]
?>]" value="<? echo $zeile[$Feld];
?>" size="5" class="button"><?
                                        break;
                                }
                            }
                            break;
                        default:
                            if ( !stristr( $Feld, "beschreibung" ) )
                            {
?><input type="text" name="<? echo $Feld
?>[<? echo $zeile[ID]
?>]" value="<? echo $zeile[$Feld];
?>" size="5" class="button"><?
                            }
                            else
                            {
                                $f_name = explode( "_", $Feld );
                                $f_name = $f_name[0];
                                $wert = strip_tags( $zeile[$f_name] );
                                $wert = substr( $wert, 0, 20 ) . " ...";
                                $wert .=
                                    '<button class="edit_desc" id="edit_desc_' .
                                    $zeile["ID"] . '"></button>';
                                echo $wert;
                            }
                            break;
                    }
                }
                else
                {
                    echo $zeile[$Feld];
                }
?>
</td>
<?
            }
?>
  </tr>
<?
            $j++;
        }
    }
?>