| Current Path : /home/azimutno/www/demo/modules/mod_swmenupro/helpers/ |
| Current File : /home/azimutno/www/demo/modules/mod_swmenupro/helpers/tree.php |
<?php
/**
* swmenupro v6.0
* http://swmenupro.com
* Copyright 2006 Sean White
* */
defined('_JEXEC') or die('Restricted access');
function mygosuTreeMenu($ordered, $swmenupro) {
$live_site = JURI::base();
if (substr($live_site, (strlen($live_site) - 1), 1) == "/") {
$live_site = substr($live_site, 0, (strlen($live_site) - 1));
}
if (substr($live_site, (strlen($live_site) - 13), 13) == "administrator") {
$live_site = substr($live_site, 0, (strlen($live_site) - 14));
}
if (substr($live_site, (strlen($live_site) - 1), 1) != "/") {
$live_site =$live_site."/" ;
}
$name = "";
$counter = 0;
$doMenu = 1;
$uniqueID = $swmenupro['id'];
$number = count($ordered);
$activesub = -1;
$activesub2 = -1;
$topcount = 0;
$subcounter = 0;
$str="<div id=\"tree-outer" . $uniqueID . "\" align=\"".$swmenupro['position']."\">\n";
$str .= "<ul id=\"menu" . $uniqueID . "\" class=\"tree-menu" . $uniqueID . "\" >\n";
if($swmenupro['tree_top_icon']){
$str.="<li class='tree-top" . $uniqueID . "'> </li> \n";
}
while ($doMenu) {
if ($ordered[$counter]['indent'] == 0) {
$ordered[$counter]['URL'] = str_replace('&', '&', $ordered[$counter]['URL']);
$name = swmenu_getname($ordered[$counter]);
$act = 0;
if ($counter + 1 == $number) {
if (($ordered[$counter]['ID'] == $swmenupro['active_menu'])) {
$str .= "<li id='tree".$uniqueID.$ordered[$counter]['ID']."' class='selected '><span class='file'> \n";
} else {
$str .= "<li id='tree".$uniqueID.$ordered[$counter]['ID']."' class=''><span class='file'> \n";
}
} elseif ($ordered[$counter + 1]['indent'] == 0) {
if (($ordered[$counter + 1]['indent'] < $ordered[$counter]['indent'])) {
if (($ordered[$counter]['ID'] == $swmenupro['active_menu'])) {
$str .= "<li id='tree".$uniqueID.$ordered[$counter]['ID']."' class='selected '><span class='file'> \n";
} else {
$str .= "<li id='tree".$uniqueID.$ordered[$counter]['ID']."' class=''><span class='file'> \n";
}
} else {
if (($ordered[$counter]['ID'] == $swmenupro['active_menu'])) {
$str .= "<li id='tree".$uniqueID.$ordered[$counter]['ID']."' class='selected '><span class='file'> \n";
} else {
$str .= "<li id='tree".$uniqueID.$ordered[$counter]['ID']."' class=''><span class='file'> \n";
}
}
} else {
if (($ordered[$counter]['ID'] == $swmenupro['active_menu'])) {
$str .= "<li id='tree".$uniqueID.$ordered[$counter]['ID']."' class='selected '><span class='folder'> \n";
} else {
$str .= "<li id='tree".$uniqueID.$ordered[$counter]['ID']."' class=''><span class='folder'> \n";
}
if($swmenupro['disable_parent']){
$ordered[$counter]['URL']="javascript:void(0);";
}
}
$topcount++;
if ($ordered[$counter]['TARGETLEVEL'] == "0") {
$str .= "<a href=\"javascript:void(0);\" >" . $name . "</a></span> \n";
} else {
switch ($ordered[$counter]['TARGET']) {
case 1:
$str .= '<a href="' . $ordered[$counter]['URL'] . '" target="_blank" >' . $name . '</a></span>';
break;
case 2:
$str .= "<a href=\"#\" onclick=\"javascript: window.open('" . $ordered[$counter]['URL'] . "', '', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=780,height=550'); return false\" >" . $name . "</a></span>\n";
break;
case 3:
$str .= '<a>' . $name . '</a></span>';
break;
default:
$str .= "<a href='" . $ordered[$counter]['URL'] . "' >" . $name . "</a></span>\n";
break;
}
}
if ($counter + 1 == $number) {
$doSubMenu = 0;
$doMenu = 0;
} elseif ($ordered[$counter + 1]['indent'] == 0) {
$doSubMenu = 0;
} else {
$doSubMenu = 1;
}
$counter++;
if ($activesub2 == -1) {
$subcounter = 0;
}
while ($doSubMenu) {
if ($ordered[$counter]['indent'] != 0) {
if ($ordered[$counter]['indent'] > $ordered[$counter - 1]['indent']) {
$str .= "<ul>\n";
}
$ordered[$counter]['URL'] = str_replace('&', '&', $ordered[$counter]['URL']);
$name = swmenu_getname($ordered[$counter]);
if (($counter + 1 == $number) || ($ordered[$counter + 1]['indent'] == 0)) {
$doSubMenu = 0;
}
if ($counter + 1 == $number) {
if (($ordered[$counter]['ID'] == $swmenupro['active_menu'])) {
$str .= "<li id='tree".$uniqueID.$ordered[$counter]['ID']."' class='selected '><span class='file'> \n";
} else {
$str .= "<li id='tree".$uniqueID.$ordered[$counter]['ID']."' class=''><span class='file'> \n";
}
} elseif (($ordered[$counter + 1]['indent'] == 0)||($ordered[$counter + 1]['indent'] <= $ordered[$counter]['indent'])) {
if (($ordered[$counter + 1]['indent'] < $ordered[$counter]['indent'])) {
if (($ordered[$counter]['ID'] == $swmenupro['active_menu'])) {
$str .= "<li id='tree".$uniqueID.$ordered[$counter]['ID']."' class='selected '><span class='file'> \n";
} else {
$str .= "<li id='tree".$uniqueID.$ordered[$counter]['ID']."' class=''><span class='file'> \n";
}
} else {
if (($ordered[$counter]['ID'] == $swmenupro['active_menu'])) {
$str .= "<li id='tree".$uniqueID.$ordered[$counter]['ID']."' class='selected '><span class='file'> \n";
} else {
$str .= "<li id='tree".$uniqueID.$ordered[$counter]['ID']."' class=''><span class='file'> \n";
}
}
} else {
if (($ordered[$counter]['ID'] == $swmenupro['active_menu'])) {
$str .= "<li id='tree".$uniqueID.$ordered[$counter]['ID']."' class='selected '><span class='folder'> \n";
} else {
$str .= "<li id='tree".$uniqueID.$ordered[$counter]['ID']."' class=''><span class='folder'> \n";
}
if($swmenupro['disable_parent']){
$ordered[$counter]['URL']="javascript:void(0);";
}
}
if ($ordered[$counter]['TARGETLEVEL'] == "0") {
$str .= "<a href=\"javascript:void(0);\" >" . $name . "</a></span> ";
} else {
switch ($ordered[$counter]['TARGET']) {
case 1:
$str .= '<a href="' . $ordered[$counter]['URL'] . '" target="_blank" >' . $name . '</a></span>';
break;
case 2:
$str .= "<a href=\"#\" onclick=\"javascript: window.open('" . $ordered[$counter]['URL'] . "', '', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=780,height=550'); return false\" >" . $name . "</a></span>\n";
break;
case 3:
$str .= '<a>' . $name . '</a>';
break;
default:
$str .= "<a href=\"" . $ordered[$counter]['URL'] . "\" >" . $name . "</a></span>\n";
break;
}
}
if (($counter + 1 == $number) || ($ordered[$counter + 1]['indent'] < $ordered[$counter]['indent'])) {
$str .= str_repeat("</li></ul>\n", (($ordered[$counter]['indent']) - (@$ordered[$counter + 1]['indent'])));
if ((@$ordered[$counter + 1]['indent'] > 0)) {
$str .= "</li> \n";
}
} else if (($ordered[$counter + 1]['indent'] <= $ordered[$counter]['indent'])) {
$str .= "</li> \n";
}
$counter++;
}
}
$str .= "</li> \n";
}
if ($counter == ($number)) {
$doMenu = 0;
}
}
$str.="</ul>\n";
$str.="</div>\n";
$str.="<script type=\"text/javascript\">\n<!--\n";
$str.="jQuery(function() {\n";
$str.="jQuery('#menu" . $swmenupro['id'] . "').treeview({\n";
//echo $active_menu;
if (!$swmenupro['expand_all']) {
$str.="collapsed: true,\n";
}
if ($swmenupro['use_cookie']) {
$str.= "persist: 'cookie',\n";
// $str.= "cookieId: 'swtree',\n";
} else if ($swmenupro['active_menu']) {
$str.= "persist: 'location',\n";
}
//$str.="collapsed: true\n";
$str.=" });\n})\n";
// $str.="new TreeMenu(\"menu". $uniqueID."\");\n";
if (($swmenupro['c_corner_style'] != 'none') && ($swmenupro['c_corner_style'])&& ($swmenupro['c_corner_style'] != 'curvycorner')){
if (($swmenupro['main_border_width'] > 0) && ($swmenupro['main_border_style'] != 'none')) {
$str .= "if (jQuery.browser.msie && jQuery.browser.version < 9 ) {\n";
$str .= "jQuery('#menu" . $swmenupro['id'] . "').css('z-index','-1');\n";
$str .= "jQuery('#menu" . $swmenupro['id'] . "').wrap('<div></div>');\n";
$str .= "jQuery('#menu" . $swmenupro['id'] . "').parent().css('padding', '" . $swmenupro['main_border_width'] . "px');\n";
$str .= "jQuery('#menu" . $swmenupro['id'] . "').parent().css('background-color', '" . $swmenupro['main_border_color'] . "');\n";
$str .= "jQuery('#menu" . $swmenupro['id'] . "').corner('" . $swmenupro['c_corner_style'] . " " . (@$swmenupro['ctl_corner'] ? 'tl' : '') . " " . (@$swmenupro['ctr_corner'] ? 'tr' : '') . " " . (@$swmenupro['cbl_corner'] ? 'bl' : '') . " " . (@$swmenupro['cbr_corner'] ? 'br' : '') . " " . ($swmenupro['c_corner_size']) . "px');\n";
$str .= "jQuery('#menu" . $swmenupro['id'] . "').parent().corner('" . $swmenupro['c_corner_style'] . " " . (@$swmenupro['ctl_corner'] ? 'tl' : '') . " " . (@$swmenupro['ctr_corner'] ? 'tr' : '') . " " . (@$swmenupro['cbl_corner'] ? 'bl' : '') . " " . (@$swmenupro['cbr_corner'] ? 'br' : '') . " " . ($swmenupro['c_corner_size'] + $swmenupro['main_border_width']) . "px');\n";
// $str .= "jQuery('#outerwrap').css('z-index','1');\n";
$str .= "}else{\n";
$str .= "jQuery('#menu" . $swmenupro['id'] . "').corner('keep " . $swmenupro['c_corner_style'] . " " . (@$swmenupro['ctl_corner'] ? 'tl' : '') . " " . (@$swmenupro['ctr_corner'] ? 'tr' : '') . " " . (@$swmenupro['cbl_corner'] ? 'bl' : '') . " " . (@$swmenupro['cbr_corner'] ? 'br' : '') . " " . ($swmenupro['c_corner_size']) . "px');\n";
$str .= "}\n";
}else{
$str .= "jQuery('#menu" . $swmenupro['id'] . "').corner('" . $swmenupro['c_corner_style'] . " " . (@$swmenupro['ctl_corner'] ? 'tl' : '') . " " . (@$swmenupro['ctr_corner'] ? 'tr' : '') . " " . (@$swmenupro['cbl_corner'] ? 'bl' : '') . " " . (@$swmenupro['cbr_corner'] ? 'br' : '') . " " . ($swmenupro['c_corner_size']) . "px');\n";
}
}
if ($swmenupro['top_ttf']) {
$str .= "Cufon.replace('#menu" . $swmenupro['id'] . " span.folder a',{hover: true, fontFamily: '" . $swmenupro['top_font_face'] . "' });\n";
}
if ($swmenupro['sub_ttf']) {
$str .= "Cufon.replace('#menu" . $swmenupro['id'] . " span.file a',{hover: true, fontFamily: '" . $swmenupro['sub_font_face'] . "' });\n";
}
$str.="-->\n</script>\n";
return $str;
}
function TreeMenu($ordered, $swmenupro) {
$live_site = JURI::base();
if (substr($live_site, (strlen($live_site) - 1), 1) == "/") {
$live_site = substr($live_site, 0, (strlen($live_site) - 1));
}
if (substr($live_site, (strlen($live_site) - 13), 13) == "administrator") {
$live_site = substr($live_site, 0, (strlen($live_site) - 14));
}
if (substr($live_site, (strlen($live_site) - 1), 1) != "/") {
$live_site =$live_site."/" ;
}
$str = "<script type=\"text/javascript\">\n";
$str .= "<!--\n";
$str .= "d" . $swmenupro['id'] . "= new dTree('d" . $swmenupro['id'] . "');\n";
$str .= "d" . $swmenupro['id'] . ".add(0,-1,'');\n";
for ($i = 0; $i < count($ordered); $i++) {
$menu = $ordered[$i];
if (($menu['TARGET'] == 1) || ($menu['TARGET'] == 2)) {
$menu['TARGET'] = "_blank";
} else {
$menu['TARGET'] = "_self";
}
if ($menu["SHOWNAME"] == 0 && $menu["SHOWNAME"] != null) {
$menu["TITLE"] = "";
}
if ($menu["TARGETLEVEL"] == 0 && $menu["TARGETLEVEL"] != null) {
$menu["URL"] = "javascript:void(0);";
}
$image1 = explode(",", $menu['IMAGE']);
$image2 = explode(",", $menu['IMAGEOVER']);
$image1 = @$image1[0] ? $live_site . "/" . $image1[0] : "";
$image2 = @$image2[0] ? $live_site . "/" . $image2[0] : "";
if ($menu['indent'] == 0) {
$menu['PARENT'] = 0;
}
$str .= "d" . $swmenupro['id'] . ".add(" . $menu['ID'] . "," . $menu['PARENT'] . ",'" . addslashes($menu['TITLE']) . "','" . $menu['URL'] . "','" . addslashes($menu['TITLE']) . "','" . $menu['TARGET'] . "','" . $image1 . "','" . $image2 . "');\n";
}
$str .= "d" . $swmenupro['id'] . ".menuid=" . $swmenupro['id'] . ";\n";
$str .= "d" . $swmenupro['id'] . ".config.target=null;\n";
$str .= "d" . $swmenupro['id'] . ".config.folderLinks=" . ($swmenupro['disable_parent'] ? "false" : "true") . ";\n";
$str .= "d" . $swmenupro['id'] . ".config.useSelection=" . ($swmenupro['active_menu'] ? "true" : "false") . ";\n";
$str .= "d" . $swmenupro['id'] . ".config.useCookies=" . ($swmenupro['use_cookie'] ? "true" : "false") . ";\n";
$str .= "d" . $swmenupro['id'] . ".config.useLines=" . ($swmenupro['tree_lines'] ? "true" : "false") . ";\n";
//$str .= "d" . $swmenupro['id'] . ".config.useIcons=" . ($swmenupro['level1_sub_top'] ? "true" : "false") . ";\n";
$str .= "d" . $swmenupro['id'] . ".config.useStatusText=false;\n";
$str .= "d" . $swmenupro['id'] . ".config.closeSameLevel=false;\n";
$str .= "d" . $swmenupro['id'] . ".config.inOrder=true;\n";
$str .= "d" . $swmenupro['id'] . ".icon.root='" . $live_site . "/" . $swmenupro['tree_top_icon'] . "';\n";
$str .= "d" . $swmenupro['id'] . ".icon.folder='" . $live_site . "/" . $swmenupro['tree_folder_icon'] . "';\n";
$str .= "d" . $swmenupro['id'] . ".icon.folderOpen='" . $live_site . "/" . $swmenupro['tree_folder_open_icon'] . "';\n";
$str .= "d" . $swmenupro['id'] . ".icon.node='" . $live_site . "/" . $swmenupro['tree_file_icon'] . "';\n";
$str .= "d" . $swmenupro['id'] . ".icon.empty='" . $live_site . "/modules/mod_swmenupro/images/tree_icons/empty.gif';\n";
$str .= "d" . $swmenupro['id'] . ".icon.line='" . $live_site . "/modules/mod_swmenupro/images/tree_icons/line.gif';\n";
$str .= "d" . $swmenupro['id'] . ".icon.join='" . $live_site . "/modules/mod_swmenupro/images/tree_icons/join.gif';\n";
$str .= "d" . $swmenupro['id'] . ".icon.joinBottom='" . $live_site . "/modules/mod_swmenupro/images/tree_icons/joinbottom.gif';\n";
$str .= "d" . $swmenupro['id'] . ".icon.plus='" . $live_site . "/modules/mod_swmenupro/images/tree_icons/plus.gif';\n";
$str .= "d" . $swmenupro['id'] . ".icon.plusBottom='" . $live_site . "/modules/mod_swmenupro/images/tree_icons/plusbottom.gif';\n";
$str .= "d" . $swmenupro['id'] . ".icon.minus='" . $live_site . "/modules/mod_swmenupro/images/tree_icons/minus.gif';\n";
$str .= "d" . $swmenupro['id'] . ".icon.minusBottom='" . $live_site . "/modules/mod_swmenupro/images/tree_icons/minusbottom.gif';\n";
$str .= "d" . $swmenupro['id'] . ".icon.nlPlus='" . $live_site . "/modules/mod_swmenupro/images/tree_icons/nolines_plus.gif';\n";
$str .= "d" . $swmenupro['id'] . ".icon.nlMinus='" . $live_site . "/modules/mod_swmenupro/images/tree_icons/nolines_minus.gif';\n";
$str .= "document.write(d" . $swmenupro['id'] . ");\n";
if ($swmenupro['active_menu'] && !$swmenupro['use_cookie'] ) {
$str .= "d" . $swmenupro['id'] . ".openTo(" . ($swmenupro['active_menu'] ? $swmenupro['active_menu'] : 0) . " , true);\n";
}
if ($swmenupro['expand_all']) {
$str .= "d" . $swmenupro['id'] . ".openAll('true');\n";
}
$str .= "//-->\n";
$str .= "</script>\n";
return $str;
}
?>