| Current Path : /home/azimutno/www/demo/modules/mod_swmenupro/helpers/ |
| Current File : /home/azimutno/www/demo/modules/mod_swmenupro/helpers/multi_accordion.php |
<?php
/**
* swmenupro v6.0
* http://swmenupro.com
* Copyright 2006 Sean White
* */
defined('_JEXEC') or die('Restricted access');
function MultiAccordionMenu($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);
$topcount = 0;
// echo $swmenupro['active_menu'];
$str = "<div class='".($swmenupro['menu_id']?$swmenupro['menu_id']:'swmenu')."-wrap' id='".($swmenupro['menu_id']?$swmenupro['menu_id']:'swmenu')."-id' align=\"" . $swmenupro['position'] . "\" >\n";
$str .= "<ul class=\"".($swmenupro['menu_id']?$swmenupro['menu_id']:'swmenu')."\" > \n";
while ($doMenu) {
if ($ordered[$counter]['indent'] == 0) {
$ordered[$counter]['URL'] = str_replace('&', '&', $ordered[$counter]['URL']);
$name = swmenu_getname($ordered[$counter]);
if (($counter + 1 != $number) && ($ordered[$counter + 1]['indent'] > $ordered[$counter]['indent']) && $swmenupro['top_sub_indicator']) {
$indicator = "<div class='sw_indicator' style='float:" . $swmenupro['top_sub_indicator_align'] . "'><img src='" . $live_site . $swmenupro['top_sub_indicator'] . "' style='position:relative;left:" . $swmenupro['top_sub_indicator_left'] . "px;top:" . $swmenupro['top_sub_indicator_top'] . "px;float:left;' alt='' border='0' class='seq1' />";
$indicator .="<img src='" . $live_site . $swmenupro['top_sub_hover_indicator'] . "' style='position:relative;left:" . $swmenupro['top_sub_indicator_left'] . "px;top:" . $swmenupro['top_sub_indicator_top'] . "px;float:left;' alt='' border='0' class='seq2' /></div>";
$name=$indicator.$name;
}
if (($ordered[$counter]['ID'] == $swmenupro['active_menu'])) {
$str .= "<li class='sw_active'> \n";
}else{
$str .= "<li> \n";
}
if (($counter + 1 != $number) && ($ordered[$counter + 1]['indent'] > $ordered[$counter]['indent']) ) {
$parent=1;
$p_id=($swmenupro['menu_id']?$swmenupro['menu_id'].$ordered[$counter]['ID']:'swmenu'.$ordered[$counter]['ID']);
}else{
$parent=0;
}
$topcount++;
if ($ordered[$counter]['TARGETLEVEL'] == "0") {
$str .= "<a ".($parent?"class='sw_parent'":"")." id='".($swmenupro['menu_id']?$swmenupro['menu_id'].$ordered[$counter]['ID']:'swmenu'.$ordered[$counter]['ID'])."' href=\"javascript:void(0);\" >" . $name . "</a> \n";
} else {
switch ($ordered[$counter]['TARGET']) {
case 1:
$str .= '<a id="'.($swmenupro['menu_id']?$swmenupro['menu_id'].$ordered[$counter]['ID']:'swmenu'.$ordered[$counter]['ID']).'" href="' . $ordered[$counter]['URL'] . '" target="_blank" >' . $name . '</a>';
break;
case 2:
$str .= "<a id='".($swmenupro['menu_id']?$swmenupro['menu_id'].$ordered[$counter]['ID']:'swmenu'.$ordered[$counter]['ID'])."' 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>\n";
break;
case 3:
$str .= '<a id="'.($swmenupro['menu_id']?$swmenupro['menu_id'].$ordered[$counter]['ID']:'swmenu'.$ordered[$counter]['ID']).'">' . $name . '</a>';
break;
default:
$str .= "<a ".($parent?"class='sw_parent'":"")." id='".($swmenupro['menu_id']?$swmenupro['menu_id'].$ordered[$counter]['ID']:'swmenu'.$ordered[$counter]['ID'])."' href='" . $ordered[$counter]['URL'] . "'>" . $name . "</a>\n";
break;
}
}
if ($counter + 1 == $number) {
$doSubMenu = 0;
$doMenu = 0;
} elseif ($ordered[$counter + 1]['indent'] == 0) {
$doSubMenu = 0;
} else {
$doSubMenu = 1;
}
$counter++;
while ($doSubMenu) {
if ($ordered[$counter]['indent'] != 0) {
if ($ordered[$counter]['indent'] > $ordered[$counter - 1]['indent']) {
$str .= "<ul id='".$p_id."-sub"."'>\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;
}
$classname = "";
if ($ordered[$counter]['indent'] > $ordered[$counter - 1]['indent']) {
// $classname .= " sw_first";
}
if (($counter + 1 == $number) || islast($ordered, $counter)) {
// $classname .= " sw_last";
}
// $classname=trim($classname);
if (($counter + 1 != $number) && ($ordered[$counter + 1]['indent'] > $ordered[$counter]['indent']) && $swmenupro['sub_sub_indicator']) {
$indicator = "<div class='sw_indicator' style='float:" . $swmenupro['sub_sub_indicator_align'] . "'><img src='" . $live_site . $swmenupro['sub_sub_indicator'] . "' style='position:relative;left:" . $swmenupro['sub_sub_indicator_left'] . "px;top:" . $swmenupro['sub_sub_indicator_top'] . "px;float:left;' alt='' border='0' class='seq1' />";
$indicator .="<img src='" . $live_site . $swmenupro['sub_sub_hover_indicator'] . "' style='position:relative;left:" . $swmenupro['sub_sub_indicator_left'] . "px;top:" . $swmenupro['sub_sub_indicator_top'] . "px;float:left;' alt='' border='0' class='seq2' /></div>";
$name=$indicator.$name;
}
if (($counter + 1 != $number) && ($ordered[$counter + 1]['indent'] > $ordered[$counter]['indent']) ) {
$parent=1;
$p_id=($swmenupro['menu_id']?$swmenupro['menu_id'].$ordered[$counter]['ID']:'swmenu'.$ordered[$counter]['ID']);
}else{
$parent=0;
}
if (!$swmenupro['preview']){
$sub_itemid=sw_getsubactive($ordered);
}else{
$sub_itemid=0;
}
if ($sub_itemid == $ordered[$counter]['ID']) {
$classname .= 'sw_active';
}
$str .= "<li".($classname?" class='".$classname."'":"").">\n";
if ($ordered[$counter]['TARGETLEVEL'] == "0") {
$str .= "<a ".($parent?" class='sw_parent'":"")." id='".($swmenupro['menu_id']?$swmenupro['menu_id'].$ordered[$counter]['ID']:'swmenu'.$ordered[$counter]['ID'])."' href=\"javascript:void(0);\" >" . $name . "</a>\n";
} else {
switch ($ordered[$counter]['TARGET']) {
case 1:
$str .= '<a id="'.($swmenupro['menu_id']?$swmenupro['menu_id'].$ordered[$counter]['ID']:'swmenu'.$ordered[$counter]['ID']).'" href="' . $ordered[$counter]['URL'] . '" target="_blank" >' . $name . '</a>';
break;
case 2:
$str .= "<a id='".($swmenupro['menu_id']?$swmenupro['menu_id'].$ordered[$counter]['ID']:'swmenu'.$ordered[$counter]['ID'])."' 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\" class=\"" . $classname . "\">" . $name . "</a>\n";
break;
case 3:
$str .= '<a id="'.($swmenupro['menu_id']?$swmenupro['menu_id'].$ordered[$counter]['ID']:'swmenu'.$ordered[$counter]['ID']).'" >' . $name . '</a>';
break;
default:
$str .= "<a".($parent?" class='sw_parent'":"")." id='".($swmenupro['menu_id']?$swmenupro['menu_id'].$ordered[$counter]['ID']:'swmenu'.$ordered[$counter]['ID'])."' href=\"" . $ordered[$counter]['URL'] . "\">" . $name . "</a>\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></div> \n";
$str .= "<script type=\"text/javascript\">\n";
$str .= "<!--\n";
if($swmenupro['disable_parent']){
$str.="jQuery('.sw_parent').attr( 'href','javascript:void(0)');\n";
}
$str.="jQuery('#".($swmenupro['menu_id']?$swmenupro['menu_id']:'swmenu')."-id' ).accordion({\n";
$str.="container:false,\n";
$str.="iconTrigger:false,\n";
$str.="event:'".($swmenupro['revealtype']?'click':'hover')."',\n";
$str.="initShow:'".($swmenupro['expand_all']?'.sw_parent':'.sw_active')."',\n";
$str.="objClass:'.".($swmenupro['menu_id']?$swmenupro['menu_id']:'swmenu')."'\n";
$str.="});\n";
// $str.="alert(jQuery(window).width());\n";
if($swmenupro['open_close_button']){
$str .= "if(jQuery(window).width() <= ".$swmenupro['responsive_width']."){\n";
$str .= "jQuery('.".($swmenupro['menu_id']?$swmenupro['menu_id']:'swmenu')."').css('width','90%');\n";
$str .= "jQuery('.".($swmenupro['menu_id']?$swmenupro['menu_id']:'swmenu')."').css('display','none');\n";
$str .= "jQuery('.".($swmenupro['menu_id']?$swmenupro['menu_id']:'swmenu')."-wrap').prepend(\"<div class='".($swmenupro['menu_id']?$swmenupro['menu_id']:'swmenu')."-trig'>".$indicator . $swmenupro['open_close_text'] . "</div>\");\n";
$str .= "jQuery('.".($swmenupro['menu_id']?$swmenupro['menu_id']:'swmenu')."-trig').click( function(){\n";
$str .= "jQuery('.".($swmenupro['menu_id']?$swmenupro['menu_id']:'swmenu')." ' ).slideToggle(200,function(){\n";
$str .= "if(jQuery(this).css('display')=='block'){jQuery(\".".($swmenupro['menu_id']?$swmenupro['menu_id']:'swmenu')."-trig\").addClass('sw_opened')}else{jQuery(\".".($swmenupro['menu_id']?$swmenupro['menu_id']:'swmenu')."-trig\").removeClass('sw_opened')}\n";
$str .= "});\n";
$str .= "});}\n";
}
if (($swmenupro['c_corner_style'] != 'none') && ($swmenupro['c_corner_style'])&& ($swmenupro['c_corner_style'] != 'curvycorner')){
$str .= "jQuery('.".($swmenupro['menu_id']?$swmenupro['menu_id']:'swmenu')."').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['t_corner_style'] != 'none') && ($swmenupro['t_corner_style'])&& ($swmenupro['t_corner_style'] != 'curvycorner')){
$str .= "jQuery('.".($swmenupro['menu_id']?$swmenupro['menu_id']:'swmenu')." li a').corner('" . $swmenupro['t_corner_style'] . " " . (@$swmenupro['ttl_corner'] ? 'tl' : '') . " " . (@$swmenupro['ttr_corner'] ? 'tr' : '') . " " . (@$swmenupro['tbl_corner'] ? 'bl' : '') . " " . (@$swmenupro['tbr_corner'] ? 'br' : '') . " " . ($swmenupro['t_corner_size']) . "px');\n";
}
if (($swmenupro['s_corner_style'] != 'none') && ($swmenupro['s_corner_style'])&& ($swmenupro['s_corner_style'] != 'curvycorner')){
$str .= "jQuery('.".($swmenupro['menu_id']?$swmenupro['menu_id']:'swmenu')." ul ').corner('" . $swmenupro['s_corner_style'] . " " . (@$swmenupro['stl_corner'] ? 'tl' : '') . " " . (@$swmenupro['str_corner'] ? 'tr' : '') . " " . (@$swmenupro['sbl_corner'] ? 'bl' : '') . " " . (@$swmenupro['sbr_corner'] ? 'br' : '') . " " . ($swmenupro['s_corner_size']) . "px');\n";
}
if (($swmenupro['si_corner_style'] != 'none') && ($swmenupro['si_corner_style'])&& ($swmenupro['si_corner_style'] != 'curvycorner')){
if($swmenupro['sfl_corner']=="all"){
$str .= "jQuery('.".($swmenupro['menu_id']?$swmenupro['menu_id']:'swmenu')." ul a').corner('" . $swmenupro['si_corner_style'] . " " . (@$swmenupro['sitl_corner'] ? 'tl' : '') . " " . (@$swmenupro['sitr_corner'] ? 'tr' : '') . " " . (@$swmenupro['sibl_corner'] ? 'bl' : '') . " " . (@$swmenupro['sibr_corner'] ? 'br' : '') . " " . ($swmenupro['si_corner_size']) . "px');\n";
} else{
$str .= "jQuery('.".($swmenupro['menu_id']?$swmenupro['menu_id']:'swmenu')." ul .sw_first a').corner('" . $swmenupro['si_corner_style'] . " " . (@$swmenupro['sitl_corner'] ? 'tl' : '') . " " . (@$swmenupro['sitr_corner'] ? 'tr' : '') . " " . ($swmenupro['si_corner_size']) . "px');\n";
$str .= "jQuery('.".($swmenupro['menu_id']?$swmenupro['menu_id']:'swmenu')." ul .sw_last a').corner('" . $swmenupro['si_corner_style'] . " " . (@$swmenupro['sibl_corner'] ? 'bl' : '') . " " . (@$swmenupro['sibr_corner'] ? 'br' : '') . " " . ($swmenupro['si_corner_size']) . "px');\n";
}
}
//$str.="jQuery('.".($swmenupro['menu_id']?$swmenupro['menu_id']:'swmenu')."').flexNav();\n";
$str .= "//-->\n";
$str .= "</script>\n";
return $str;
}
?>