Habs endlich!
Hier ein demo_left.php
Beispiel:
www.anlagen-planung.de/contenido/front_frame/
wird aber nicht immer funzen, da ich noch am Basteln mit de Knöpche bin. Die sind zu groß, und meine Farben wollen die auch nicht annehmen.
Also jetzt das Frame:
<?php
include("config.php");
include($ContenidoPath."inc/config.php");
page_open(
array("sess" => "Contenido_Session",
"auth" => "Contenido_Frontend_Challenge_Crypt_Auth",
"perm" => "Contenido_Perm"));
include($ContenidoPath.$cfgPathInc."cfg_sql.inc.php");
$db = new DB_Contenido;
?>
<html>
<head>
<script language="JavaScript">
function moveit(place1, place2) {
if (parent.frames[1].location.href != place1) {
parent.frames[1].location.href = place1;
}
if (parent.frames[2].location.href != place2) {
parent.frames[2].location.href = place2;
}
}
</script>
<style>
<!--
a {font-size: 11px; color: black; font-family: Verdana; text-decoration: none}
-->
</style>
</head>
<body BACKGROUND="img_site/bg.gif" bgproperties="FIXED">
<?php
// Gruppen einlesen //
$sql = "SELECT A.idcat, A.parentid, A.preid, A.postid, B.name, B.public, B.visible, C.level FROM $cfgTab_cat AS A, $cfgTab_cat_lang AS B, $cfgTab_cat_tree AS C WHERE A.idcat=B.idcat AND B.idcat=C.idcat AND A.idclient='$client' AND B.idlang='$lang'";
$db->query($sql);
while($db->next_record()){
$con_tree[$db->f("idcat")][parent] = $db->f("parentid");
$con_tree[$db->f("idcat")][preid] = $db->f("preid");
$con_tree[$db->f("idcat")][postid] = $db->f("postid");
$con_tree[$db->f("idcat")][titel] = $db->f("name");
$con_tree[$db->f("idcat")][public] = $db->f("public");
$con_tree[$db->f("idcat")][visible] = $db->f("visible");
$con_tree[$db->f("idcat")][level] = $db->f("level");
$con_tree[$db->f("idcat")][link] = $sess->url("front_content.php?client=".$client."&lang=".$lang."&parent=".$db->f("parentid")."&idcat=".$db->f("idcat")."");
if($db->f("idcat") > $con_tree_max){$con_tree_max = $db->f("idcat");}
};
//-----------------------------------------------------------------------------//
$nav_start = "1"; // Startbaum festlegen
$nav_col_out = "#6699FF"; // Zellfarbe normal
$nav_col_over = "#9999FF"; // Zellfarbe Mouse-Over
$nav_col_back = "#6600FF"; // Hintergrundfarbe (Einzug)
//$nav_col_on = "font13"; // Farbmarkierung aktiv
//$nav_col_off = "font11"; // Farbmarkierung passiv
$nav_col_on = "FF5A00"; // Farbmarkierung aktiv
$nav_col_on_hover = "#3FF200"; // Farbmarkierung aktiv hover
$nav_col_off = "9C9C9C"; // Farbmarkierung passiv
$nav_col_off_hover = "#0005E0"; // Farbmarkierung passiv hover
$nav_button_folder = "img_site/menubuttons/"; // Ort der Buttons
$nav_button_img_ext = ".png"; // Art der Buttons
$bg = "#BEBCF0"; // Hintergrundfarbe Buttons
//-----------------------------------------------------------------------------//
// offenen Pfad finden //
$nav_path = array(); $nav_tree = array();
$tmp_idcat = $idcat;
while($tmp_idcat > 0){
array_push($nav_path, $tmp_idcat);
$tmp_idcat = $con_tree[$tmp_idcat][parent];
};
$nav_path = array_reverse($nav_path);
// gegen Verlassen des Baumes schützen:
if($nav_path[0] != $nav_start){$nav_path = array($nav_start);};
// Baum sortieren //
for($i = 0;$i < sizeof($nav_path);$i++){
$tmp_found=0;
for($nr = 0; $nr <= $con_tree_max; $nr++){
if($con_tree[$nr][parent] == $nav_path[$i] && $con_tree[$nr][preid] == '0'){$tmp_found=1;break;}
}
unset($tmp_level);$tmp_level = array();
do{
array_push($tmp_level , $nr);
$nr = $con_tree[$nr][postid];
} while($nr != '0' && $tmp_found==1);
if($i == 0){$nav_tree = $tmp_level;}
else {
$x = array_search("$nav_path[$i]", $nav_tree);
array_splice($nav_tree, $x+1, 0, $tmp_level);
};
};
// Baum ausgeben //
echo "<table width=\"160\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\n";
foreach($nav_tree as $nr){
if(($con_tree[$nr][public] == '1' or $auth->auth["uid"] != "nobody") and $con_tree[$nr][visible] == '1'){
unset($mod_space);$mod_space = array();
$mod_space = array_pad($mod_space,($con_tree[$nr][level] - 1)," ");
echo "<tr><td valign=\"top\" nowrap>".implode("",$mod_space);
echo "<a href=\"".$con_tree[$nr][link]."\" target=\"main\" onClick=\"moveit('demo_left.php?idcat=$nr')\"";
if($nr == $idcat){
$nav_button_image = $nav_button_folder.urlencode ($con_tree[$nr][titel]).$nav_col_on.$nav_button_img_ext;
if (!file_exists ($nav_button_image)) {
MakeImage ($bg, $nav_col_on, $con_tree[$nr][titel], $nav_button_image, $nav_button_img_ext);
}
$nav_button_img_hover = $nav_button_folder.urlencode ($con_tree[$nr][titel]).$nav_col_on_hover.$nav_button_img_ext;
if (!file_exists ($nav_button_img_hover)) {
MakeImage ($bg, $nav_col_on_hover, $con_tree[$nr][titel], $nav_button_img_hover, $nav_button_img_ext);
}
} else {
$nav_button_image = $nav_button_folder.urlencode ($con_tree[$nr][titel]).$nav_col_off.$nav_button_img_ext;
if (!file_exists ($nav_button_image)) {
MakeImage ($bg, $nav_col_off, $con_tree[$nr][titel], $nav_button_image, $nav_button_img_ext);
}
$nav_button_img_hover = $nav_button_folder.urlencode ($con_tree[$nr][titel]).$nav_col_off_hover.$nav_button_img_ext;
if (!file_exists ($nav_button_img_hover)) {
MakeImage ($bg, $nav_col_off_hover, $con_tree[$nr][titel], $nav_button_img_hover, $nav_button_img_ext);
}
};
echo " onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('".$nav_button_image."','','".$nav_button_img_hover."',1)\"";
echo ">";
echo "<img name=\"".$nav_button_image."\" src=\"".$nav_button_image."\" border=\"0\"alt=\"".$con_tree[$nr][titel]."\"></a>";
echo "</td></tr>\n";
};
};
unset($nav_tree);unset($nav_path);
echo "</table>";
function ConvertColor($hexVal){
$ColorVal = array(3);
for($i = 0; $i < 3; $i++)
$ColorVal[$i] = HexDec(substr($hexVal, $i * 2, 2));
return $ColorVal;
}
function MakeImage($bg, $fg, $txt, $image, $nav_button_img_ext){
$width = 140;
$offset = 20;
$imgFRAME = ImageCreate($width, $offset);
list($red, $green, $blue) = ConvertColor($bg);
$bgCOLOR = ImageColorAllocate($imgFRAME, $red, $green, $blue);
list($red, $green, $blue) = ConvertColor($fg);
$fgCOLOR = ImageColorAllocate($imgFRAME, $red, $green, $blue);
imagettftext($imgFRAME, 10,0,2,15,$fgCOLOR,"ttf/verdana.ttf",$txt);
if ($nav_button_img_ext == ".png") {
ImagePng($imgFRAME, $image);
}
if ($nav_button_img_ext == ".gif") {
ImageGif($imgFRAME, $image);
}
if ($nav_button_img_ext == ".jpg") {
ImageJPG($imgFRAME, $image);
}
ImageDestroy($imgFRAME);
}
?>
</body>
</html>