Documentación GVHIDRA 3.1.5
Referencia de la Clase LayersMenu
Diagrama de herencias de LayersMenu
LayersMenuCommon

Métodos públicos

 LayersMenu ($menuTopShift=6, $menuRightShift=7, $menuLeftShift=2, $thresholdY=5, $abscissaStep=140)
 setMenuTopShift ($menuTopShift)
 setMenuRightShift ($menuRightShift)
 setMenuLeftShift ($menuLeftShift)
 setThresholdY ($thresholdY)
 setAbscissaStep ($abscissaStep)
 setDirroot ($dirroot)
 setTpldir ($tpldir)
 updateTpldir ($oldtpldir)
 setHorizontalMenuTpl ($horizontalMenuTpl)
 setVerticalMenuTpl ($verticalMenuTpl)
 setSubMenuTpl ($subMenuTpl)
 setTransparentIcon ($transparentIcon)
 setForwardArrowImg ($forwardArrowImg)
 setDownArrowImg ($downArrowImg)
 parseCommon ($menu_name= '')
 _updateFooter ($menu_name= '')
 newHorizontalMenu ($menu_name= '')
 newVerticalMenu ($menu_name= '')
 makeHeader ()
 getHeader ()
 printHeader ()
 getMenu ($menu_name)
 printMenu ($menu_name)
 makeFooter ()
 getFooter ()
 printFooter ()

Campos de datos

 $horizontalMenuTpl
 $verticalMenuTpl
 $subMenuTpl
 $header
 $_headerHasBeenMade = false
 $listl
 $father_keys
 $father_vals
 $moveLayers
 $_firstLevelMenu
 $footer
 $_footerHasBeenMade = false
 $forwardArrowImg
 $downArrowImg
 $transparentIcon
 $_hasIcons
 $menuTopShift
 $menuRightShift
 $menuLeftShift
 $thresholdY
 $abscissaStep

Descripción detallada

Definición en la línea 17 del archivo layersmenu.inc.php.


Documentación de las funciones miembro

_updateFooter ( menu_name = '')

A method needed to update the footer both for horizontal and vertical menus private

Parámetros:
string$menu_namethe name of the menu for which the updating has to be performed
Devuelve:
void

Definición en la línea 460 del archivo layersmenu.inc.php.

{
        $t = new Template_PHPLIB();
        $t->setFile('tplfile', $this->subMenuTpl);
        $t->setBlock('tplfile', 'template', 'template_blck');
        $t->setBlock('template', 'sub_menu_cell', 'sub_menu_cell_blck');
        $t->setVar('sub_menu_cell_blck', '');
        $t->setBlock('template', 'separator', 'separator_blck');
        $t->setVar('separator_blck', '');
        $t->setVar('abscissaStep', $this->abscissaStep);

        for ($cnt=$this->_firstItem[$menu_name]; $cnt<=$this->_lastItem[$menu_name]; $cnt++) {
                if ($this->tree[$cnt]['not_a_leaf']) {
                        $t->setVar(array(
                                'layer_label'           => $this->tree[$cnt]['layer_label'],
                                'layer_title'           => $this->tree[$cnt]['text'],
                                'sub_menu_cell_blck'    => $this->tree[$cnt]['layer_content']
                        ));
                        $this->footer .= $t->parse('template_blck', 'template');
                }
        }
}
getFooter ( )

Method that returns the code of the footer public

Devuelve:
string

Definición en la línea 922 del archivo layersmenu.inc.php.

{
        if (!$this->_footerHasBeenMade) {
                $this->makeFooter();
        }
        return $this->footer;
}
getHeader ( )

Method that returns the code of the header public

Devuelve:
string

Definición en la línea 849 del archivo layersmenu.inc.php.

{
        if (!$this->_headerHasBeenMade) {
                $this->makeHeader();
        }
        return $this->header;
}
getMenu ( menu_name)

Method that returns the code of the requested _firstLevelMenu public

Parámetros:
string$menu_namethe name of the menu whose _firstLevelMenu has to be returned
Devuelve:
string

Definición en la línea 874 del archivo layersmenu.inc.php.

{
        return $this->_firstLevelMenu[$menu_name];
}
LayersMenu ( menuTopShift = 6,
menuRightShift = 7,
menuLeftShift = 2,
thresholdY = 5,
abscissaStep = 140 
)

The constructor method; it initializates the menu system

Devuelve:
void

Definición en la línea 161 del archivo layersmenu.inc.php.

{
        $this->LayersMenuCommon();

        $this->horizontalMenuTpl = $this->tpldir . 'layersmenu-horizontal_menu.ihtml';
        $this->verticalMenuTpl = $this->tpldir . 'layersmenu-vertical_menu.ihtml';
        $this->subMenuTpl = $this->tpldir . 'layersmenu-sub_menu.ihtml';

        $this->header = '';
        $this->listl = '';
        $this->father_keys = '';
        $this->father_vals = '';
        $this->moveLayers = '';
        $this->_firstLevelMenu = array();
        $this->footer = '';

        $this->transparentIcon = 'transparent.png';
        $this->_hasIcons = array();
        $this->forwardArrowImg['src'] = 'forward-arrow.png';
        $this->forwardArrowImg['width'] = 4;
        $this->forwardArrowImg['height'] = 7;
        $this->downArrowImg['src'] = 'down-arrow.png';
        $this->downArrowImg['width'] = 9;
        $this->downArrowImg['height'] = 5;
        $this->menuTopShift = $menuTopShift;
        $this->menuRightShift = $menuRightShift;
        $this->menuLeftShift = $menuLeftShift;
        $this->thresholdY = $thresholdY;
        $this->abscissaStep = $abscissaStep;
}
makeFooter ( )

Method to prepare the footer.

This method obtains the footer using collected informations and the suited JavaScript template; it returns the code of the footer

public

Devuelve:
string

Definición en la línea 900 del archivo layersmenu.inc.php.

{
        $t = new Template_PHPLIB();
        $t->setFile('tplfile', $this->libjsdir . 'layersmenu-footer.ijs');
        $t->setVar(array(
                'packageName'   => $this->_packageName,
                'version'       => $this->version,
                'copyright'     => $this->copyright,
                'author'        => $this->author,
                'footer'        => $this->footer
                
        ));
        $this->footer = $t->parse('out', 'tplfile');
        $this->_footerHasBeenMade = true;
        return $this->footer;
}
makeHeader ( )

Method to prepare the header.

This method obtains the header using collected informations and the suited JavaScript template; it returns the code of the header

public

Devuelve:
string

Definición en la línea 816 del archivo layersmenu.inc.php.

{
        $t = new Template_PHPLIB();
        $this->listl = 'listl = [' . substr($this->listl, 1) . '];';
        $this->father_keys = 'father_keys = [' . substr($this->father_keys, 1) . '];';
        $this->father_vals = 'father_vals = [' . substr($this->father_vals, 1) . '];';
        $t->setFile('tplfile', $this->libjsdir . 'layersmenu-header.ijs');
        $t->setVar(array(
                'packageName'   => $this->_packageName,
                'version'       => $this->version,
                'copyright'     => $this->copyright,
                'author'        => $this->author,
                'menuTopShift'  => $this->menuTopShift,
                'menuRightShift'=> $this->menuRightShift,
                'menuLeftShift' => $this->menuLeftShift,
                'thresholdY'    => $this->thresholdY,
                'abscissaStep'  => $this->abscissaStep,
                'listl'         => $this->listl,
                'nodesCount'    => $this->_nodesCount,
                'father_keys'   => $this->father_keys,
                'father_vals'   => $this->father_vals,
                'moveLayers'    => $this->moveLayers
        ));
        $this->header = $t->parse('out', 'tplfile');
        $this->_headerHasBeenMade = true;
        return $this->header;
}
newHorizontalMenu ( menu_name = '')

Method to preparare a horizontal menu.

This method processes items of a menu to prepare the corresponding horizontal menu code updating many variables; it returns the code of the corresponding _firstLevelMenu

public

Parámetros:
string$menu_namethe name of the menu whose items have to be processed
Devuelve:
string

Definición en la línea 496 del archivo layersmenu.inc.php.

{
        if (!isset($this->_firstItem[$menu_name]) || !isset($this->_lastItem[$menu_name])) {
                $this->error("newHorizontalMenu: the first/last item of the menu '$menu_name' is not defined; please check if you have parsed its menu data.");
                return 0;
        }

        $this->parseCommon($menu_name);

        $t = new Template_PHPLIB();
        $t->setFile('tplfile', $this->horizontalMenuTpl);
        $t->setBlock('tplfile', 'template', 'template_blck');
        $t->setBlock('template', 'horizontal_menu_cell', 'horizontal_menu_cell_blck');
        $t->setVar('horizontal_menu_cell_blck', '');
        $t->setBlock('horizontal_menu_cell', 'cell_link', 'cell_link_blck');
        $t->setVar('cell_link_blck', '');
        $t->setBlock('cell_link', 'cell_icon', 'cell_icon_blck');
        $t->setVar('cell_icon_blck', '');
        $t->setBlock('cell_link', 'cell_arrow', 'cell_arrow_blck');
        $t->setVar('cell_arrow_blck', '');

        $t_sub = new Template_PHPLIB();
        $t_sub->setFile('tplfile', $this->subMenuTpl);
        $t_sub->setBlock('tplfile', 'sub_menu_cell', 'sub_menu_cell_blck');
        $t_sub->setVar('sub_menu_cell_blck', '');
        $t_sub->setBlock('sub_menu_cell', 'cell_icon', 'cell_icon_blck');
        $t_sub->setVar('cell_icon_blck', '');
        $t_sub->setBlock('sub_menu_cell', 'cell_arrow', 'cell_arrow_blck');
        $t_sub->setVar('cell_arrow_blck', '');
        $t_sub->setBlock('tplfile', 'separator', 'separator_blck');
        $t_sub->setVar('separator_blck', '');

        $this->_firstLevelMenu[$menu_name] = '';

        $foobar = $this->_firstItem[$menu_name];
        $this->moveLayers .= "\tvar " . $menu_name . "TOP = getOffsetTop('" . $menu_name . "L" . $foobar . "');\n";
        $this->moveLayers .= "\tvar " . $menu_name . "HEIGHT = getOffsetHeight('" . $menu_name . "L" . $foobar . "');\n";

        for ($cnt=$this->_firstItem[$menu_name]; $cnt<=$this->_lastItem[$menu_name]; $cnt++) {  // this counter scans all nodes of the new menu
                if ($this->tree[$cnt]['not_a_leaf']) {
                        // geometrical parameters are assigned to the new layer, related to the above mentioned children
                        if ($this->tree[$cnt]['child_of_root_node']) {
                                $this->moveLayers .= "\tsetTop('" . $this->tree[$cnt]['layer_label'] . "', "  . $menu_name . "TOP + " . $menu_name . "HEIGHT);\n";
                                $this->moveLayers .= "\tmoveLayerX1('" . $this->tree[$cnt]['layer_label'] . "', '" . $menu_name . "');\n";
                        }
                }

                if ($this->tree[$cnt]['child_of_root_node']) {
                        if ($this->tree[$cnt]['text'] == '---') {
                                continue;
                        }
                        if ($this->tree[$cnt]['not_a_leaf']) {
                                $this->tree[$cnt]['onmouseover'] = ' onmouseover="moveLayerX1(' . "'" . $this->tree[$cnt]['layer_label'] . "', '" . $menu_name . "') ; LMPopUp('" . $this->tree[$cnt]['layer_label'] . "'" . ', false);"';
                        } else {
                                $this->tree[$cnt]['onmouseover'] = ' onmouseover="shutdown();"';
                        }
                        $t->setVar(array(
                                'menu_layer_label'      => $menu_name . $this->tree[$cnt]['layer_label'],
                                'imgwww'                => $this->imgwww,
                                'transparent'           => $this->transparentIcon,
                                'href'                  => $this->tree[$cnt]['parsed_href'],
                                'onmouseover'           => $this->tree[$cnt]['onmouseover'],
                                'title'                 => $this->tree[$cnt]['parsed_title'],
                                'target'                => $this->tree[$cnt]['parsed_target'],
                                'text'                  => $this->tree[$cnt]['text'],
                                'downsrc'               => $this->downArrowImg['src'],
                                'downwidth'             => $this->downArrowImg['width'],
                                'downheight'            => $this->downArrowImg['height']
                        ));
                        if ($this->tree[$cnt]['parsed_icon'] != '') {
                                $t->setVar(array(
                                        'iconsrc'       => $this->tree[$cnt]['iconsrc'],
                                        'iconwidth'     => $this->tree[$cnt]['iconwidth'],
                                        'iconheight'    => $this->tree[$cnt]['iconheight'],
                                        'iconalt'       => $this->tree[$cnt]['iconalt'],
                                ));
                                $t->parse('cell_icon_blck', 'cell_icon');
                        } else {
                                $t->setVar('cell_icon_blck', '');
                        }
                        if ($this->tree[$cnt]['not_a_leaf']) {
                                $t->parse('cell_arrow_blck', 'cell_arrow');
                        } else {
                                $t->setVar('cell_arrow_blck', '');
                        }
                        $foobar = $t->parse('cell_link_blck', 'cell_link');
                        $t->setVar(array(
                                'cellwidth'             => $this->abscissaStep,
                                'cell_link_blck'        => $foobar
                        ));
                        $t->parse('horizontal_menu_cell_blck', 'horizontal_menu_cell', true);
                } else {
                        if ($this->tree[$cnt]['text'] == '---') {
                                $this->tree[$this->tree[$cnt]['father_node']]['layer_content'] .= $t_sub->parse('separator_blck', 'separator');
                                continue;
                        }
                        if ($this->tree[$cnt]['not_a_leaf']) {
                                $this->tree[$cnt]['onmouseover'] = ' onmouseover="moveLayerX(' . "'" . $this->tree[$cnt]['layer_label'] . "') ; moveLayerY('" . $this->tree[$cnt]['layer_label'] . "') ; LMPopUp('" . $this->tree[$cnt]['layer_label'] . "'". ', false);"';
                        } else {
                                $this->tree[$cnt]['onmouseover'] = ' onmouseover="LMPopUp(' . "'" . $this->tree[$this->tree[$cnt]['father_node']]['layer_label'] . "'" . ', true);"';
                        }
                        $t_sub->setVar(array(
                                'imgwww'        => $this->imgwww,
                                'transparent'   => $this->transparentIcon,
                                'href'          => $this->tree[$cnt]['parsed_href'],
                                'refid'         => 'ref' . $this->tree[$cnt]['layer_label'],
                                'onmouseover'   => $this->tree[$cnt]['onmouseover'],
                                'title'         => $this->tree[$cnt]['parsed_title'],
                                'target'        => $this->tree[$cnt]['parsed_target'],
                                'text'          => $this->tree[$cnt]['text'],
                                'arrowsrc'      => $this->forwardArrowImg['src'],
                                'arrowwidth'    => $this->forwardArrowImg['width'],
                                'arrowheight'   => $this->forwardArrowImg['height']
                        ));
                        if ($this->_hasIcons[$this->tree[$cnt]['father_node']]) {
                                $t_sub->setVar(array(
                                        'iconsrc'       => $this->tree[$cnt]['iconsrc'],
                                        'iconwidth'     => $this->tree[$cnt]['iconwidth'],
                                        'iconheight'    => $this->tree[$cnt]['iconheight'],
                                        'iconalt'       => $this->tree[$cnt]['iconalt']
                                ));
                                $t_sub->parse('cell_icon_blck', 'cell_icon');
                        } else {
                                $t_sub->setVar('cell_icon_blck', '');
                        }
                        if ($this->tree[$cnt]['not_a_leaf']) {
                                $t_sub->parse('cell_arrow_blck', 'cell_arrow');
                        } else {
                                $t_sub->setVar('cell_arrow_blck', '');
                        }
                        $this->tree[$this->tree[$cnt]['father_node']]['layer_content'] .= $t_sub->parse('sub_menu_cell_blck', 'sub_menu_cell');
                }
        }       // end of the "for" cycle scanning all nodes

        $foobar = $this->_firstLevelCnt[$menu_name] * $this->abscissaStep;
        $t->setVar('menuwidth', $foobar);
        $t->setVar(array(
                'layer_label'   => $menu_name,
                'menubody'      => $this->_firstLevelMenu[$menu_name]
        ));
        $this->_firstLevelMenu[$menu_name] = $t->parse('template_blck', 'template');

        $this->_updateFooter($menu_name);

        return $this->_firstLevelMenu[$menu_name];
}
newVerticalMenu ( menu_name = '')

Method to preparare a vertical menu.

This method processes items of a menu to prepare the corresponding vertical menu code updating many variables; it returns the code of the corresponding _firstLevelMenu

public

Parámetros:
string$menu_namethe name of the menu whose items have to be processed
Devuelve:
string

Definición en la línea 656 del archivo layersmenu.inc.php.

{
        if (!isset($this->_firstItem[$menu_name]) || !isset($this->_lastItem[$menu_name])) {
                $this->error("newVerticalMenu: the first/last item of the menu '$menu_name' is not defined; please check if you have parsed its menu data.");
                return 0;
        }

        $this->parseCommon($menu_name);

        $t = new Template_PHPLIB();
        $t->setFile('tplfile', $this->verticalMenuTpl);
        $t->setBlock('tplfile', 'template', 'template_blck');
        $t->setBlock('template', 'vertical_menu_box', 'vertical_menu_box_blck');
        $t->setVar('vertical_menu_box_blck', '');
        $t->setBlock('vertical_menu_box', 'vertical_menu_cell', 'vertical_menu_cell_blck');
        $t->setVar('vertical_menu_cell_blck', '');
        $t->setBlock('vertical_menu_cell', 'cell_icon', 'cell_icon_blck');
        $t->setVar('cell_icon_blck', '');
        $t->setBlock('vertical_menu_cell', 'cell_arrow', 'cell_arrow_blck');
        $t->setVar('cell_arrow_blck', '');
        $t->setBlock('vertical_menu_box', 'separator', 'separator_blck');
        $t->setVar('separator_blck', '');

        $t_sub = new Template_PHPLIB();
        $t_sub->setFile('tplfile', $this->subMenuTpl);
        $t_sub->setBlock('tplfile', 'sub_menu_cell', 'sub_menu_cell_blck');
        $t_sub->setVar('sub_menu_cell_blck', '');
        $t_sub->setBlock('sub_menu_cell', 'cell_icon', 'cell_icon_blck');
        $t_sub->setVar('cell_icon_blck', '');
        $t_sub->setBlock('sub_menu_cell', 'cell_arrow', 'cell_arrow_blck');
        $t_sub->setVar('cell_arrow_blck', '');
        $t_sub->setBlock('tplfile', 'separator', 'separator_blck');
        $t_sub->setVar('separator_blck', '');

        $this->_firstLevelMenu[$menu_name] = '';

        $this->moveLayers .= "\tvar " . $menu_name . "TOP = getOffsetTop('" . $menu_name . "');\n";
        $this->moveLayers .= "\tvar " . $menu_name . "LEFT = getOffsetLeft('" . $menu_name . "');\n";
        $this->moveLayers .= "\tvar " . $menu_name . "WIDTH = getOffsetWidth('" . $menu_name . "');\n";

        for ($cnt=$this->_firstItem[$menu_name]; $cnt<=$this->_lastItem[$menu_name]; $cnt++) {  // this counter scans all nodes of the new menu
                if ($this->tree[$cnt]['not_a_leaf']) {
                        // geometrical parameters are assigned to the new layer, related to the above mentioned children
                        if ($this->tree[$cnt]['child_of_root_node']) {
                                $this->moveLayers .= "\tsetLeft('" . $this->tree[$cnt]['layer_label'] . "', " . $menu_name . "LEFT + " . $menu_name . "WIDTH - menuRightShift);\n";
                        }
                }

                if ($this->tree[$cnt]['child_of_root_node']) {
                        if ($this->tree[$cnt]['text'] == '---') {
                                $this->_firstLevelMenu[$menu_name] .= $t->parse('separator_blck', 'separator');
                                continue;
                        }
                        if ($this->tree[$cnt]['not_a_leaf']) {
                                $this->tree[$cnt]['onmouseover'] = ' onmouseover="moveLayerX(' . "'" . $this->tree[$cnt]['layer_label'] . "') ; moveLayerY('" . $this->tree[$cnt]['layer_label'] . "') ; LMPopUp('" . $this->tree[$cnt]['layer_label'] . "'" . ', false);"';
                        } else {
                                $this->tree[$cnt]['onmouseover'] = ' onmouseover="shutdown();"';
                        }
                        $t->setVar(array(
                                'imgwww'        => $this->imgwww,
                                'transparent'   => $this->transparentIcon,
                                'href'          => $this->tree[$cnt]['parsed_href'],
                                'refid'         => 'ref' . $this->tree[$cnt]['layer_label'],
                                'onmouseover'   => $this->tree[$cnt]['onmouseover'],
                                'title'         => $this->tree[$cnt]['parsed_title'],
                                'target'        => $this->tree[$cnt]['parsed_target'],
                                'text'          => $this->tree[$cnt]['text'],
                                'arrowsrc'      => $this->forwardArrowImg['src'],
                                'arrowwidth'    => $this->forwardArrowImg['width'],
                                'arrowheight'   => $this->forwardArrowImg['height']
                        ));
                        if ($this->_hasIcons[$menu_name]) {
                                $t->setVar(array(
                                        'iconsrc'       => $this->tree[$cnt]['iconsrc'],
                                        'iconwidth'     => $this->tree[$cnt]['iconwidth'],
                                        'iconheight'    => $this->tree[$cnt]['iconheight'],
                                        'iconalt'       => $this->tree[$cnt]['iconalt']
                                ));
                                $t->parse('cell_icon_blck', 'cell_icon');
                        } else {
                                $t->setVar('cell_icon_blck', '');
                        }
                        if ($this->tree[$cnt]['not_a_leaf']) {
                                $t->parse('cell_arrow_blck', 'cell_arrow');
                        } else {
                                $t->setVar('cell_arrow_blck', '');
                        }
                        $this->_firstLevelMenu[$menu_name] .= $t->parse('vertical_menu_cell_blck', 'vertical_menu_cell');
                } else {
                        if ($this->tree[$cnt]['text'] == '---') {
                                $this->tree[$this->tree[$cnt]['father_node']]['layer_content'] .= $t_sub->parse('separator_blck', 'separator');
                                continue;
                        }
                        if ($this->tree[$cnt]['not_a_leaf']) {
                                $this->tree[$cnt]['onmouseover'] = ' onmouseover="moveLayerX(' . "'" . $this->tree[$cnt]['layer_label'] . "') ; moveLayerY('" . $this->tree[$cnt]['layer_label'] . "') ; LMPopUp('" . $this->tree[$cnt]['layer_label'] . "'" . ', false);"';
                        } else {
                                $this->tree[$cnt]['onmouseover'] = ' onmouseover="LMPopUp(' . "'" . $this->tree[$this->tree[$cnt]['father_node']]['layer_label'] . "'" . ', true);"';
                        }
                        $t_sub->setVar(array(
                                'imgwww'        => $this->imgwww,
                                'transparent'   => $this->transparentIcon,
                                'href'          => $this->tree[$cnt]['parsed_href'],
                                'refid'         => 'ref' . $this->tree[$cnt]['layer_label'],
                                'onmouseover'   => $this->tree[$cnt]['onmouseover'],
                                'title'         => $this->tree[$cnt]['parsed_title'],
                                'target'        => $this->tree[$cnt]['parsed_target'],
                                'text'          => $this->tree[$cnt]['text'],
                                'arrowsrc'      => $this->forwardArrowImg['src'],
                                'arrowwidth'    => $this->forwardArrowImg['width'],
                                'arrowheight'   => $this->forwardArrowImg['height']
                        ));
                        if ($this->_hasIcons[$this->tree[$cnt]['father_node']]) {
                                $t_sub->setVar(array(
                                        'iconsrc'       => $this->tree[$cnt]['iconsrc'],
                                        'iconwidth'     => $this->tree[$cnt]['iconwidth'],
                                        'iconheight'    => $this->tree[$cnt]['iconheight'],
                                        'iconalt'       => $this->tree[$cnt]['iconalt']
                                ));
                                $t_sub->parse('cell_icon_blck', 'cell_icon');
                        } else {
                                $t_sub->setVar('cell_icon_blck', '');
                        }
                        if ($this->tree[$cnt]['not_a_leaf']) {
                                $t_sub->parse('cell_arrow_blck', 'cell_arrow');
                        } else {
                                $t_sub->setVar('cell_arrow_blck', '');
                        }
                        $this->tree[$this->tree[$cnt]['father_node']]['layer_content'] .= $t_sub->parse('sub_menu_cell_blck', 'sub_menu_cell');
                }
        }       // end of the "for" cycle scanning all nodes

        $t->setVar(array(
                'menu_name'                     => $menu_name,
                'vertical_menu_cell_blck'       => $this->_firstLevelMenu[$menu_name],
                'separator_blck'                => ''
        ));
        $this->_firstLevelMenu[$menu_name] = $t->parse('vertical_menu_box_blck', 'vertical_menu_box');
        $t->setVar('abscissaStep', $this->abscissaStep);
        $t->setVar(array(
                'layer_label'                   => $menu_name,
                'vertical_menu_box_blck'        => $this->_firstLevelMenu[$menu_name]
        ));
        $this->_firstLevelMenu[$menu_name] = $t->parse('template_blck', 'template');

        $this->_updateFooter($menu_name);

        return $this->_firstLevelMenu[$menu_name];
}
parseCommon ( menu_name = '')

A method providing parsing needed both for horizontal and vertical menus; it can be useful also with the ProcessLayersMenu extended class public

Parámetros:
string$menu_namethe name of the menu for which the parsing has to be performed
Devuelve:
void

Definición en la línea 408 del archivo layersmenu.inc.php.

{
        $this->_hasIcons[$menu_name] = false;
        for ($cnt=$this->_firstItem[$menu_name]; $cnt<=$this->_lastItem[$menu_name]; $cnt++) {  // this counter scans all nodes of the new menu
                $this->_hasIcons[$cnt] = false;
                $this->tree[$cnt]['layer_label'] = "L$cnt";
                $current_node[$this->tree[$cnt]['level']] = $cnt;
                if (!$this->tree[$cnt]['child_of_root_node']) {
                        $this->tree[$cnt]['father_node'] = $current_node[$this->tree[$cnt]['level']-1];
                        $this->father_keys .= ",'L$cnt'";
                        $this->father_vals .= ",'" . $this->tree[$this->tree[$cnt]['father_node']]['layer_label'] . "'";
                }
                $this->tree[$cnt]['not_a_leaf'] = ($this->tree[$cnt+1]['level']>$this->tree[$cnt]['level'] && $cnt<$this->_lastItem[$menu_name]);
                // if the above condition is true, the node is not a leaf,
                // hence it has at least a child; if it is false, the node is a leaf
                if ($this->tree[$cnt]['not_a_leaf']) {
                        // initialize the corresponding layer content trought a void string
                        $this->tree[$cnt]['layer_content'] = '';
                        // the new layer is accounted for in the layers list
                        $this->listl .= ",'" . $this->tree[$cnt]['layer_label'] . "'";
                }
/*
                if ($this->tree[$cnt]['not_a_leaf']) {
                        $this->tree[$cnt]['parsed_href'] = '#';
                }
*/
                if ($this->tree[$cnt]['parsed_icon'] == '') {
                        $this->tree[$cnt]['iconsrc'] = $this->imgwww . $this->transparentIcon;
                        $this->tree[$cnt]['iconwidth'] = 16;
                        $this->tree[$cnt]['iconheight'] = 16;
                        $this->tree[$cnt]['iconalt'] = ' ';
                } else {
                        if ($this->tree[$cnt]['level'] > 1) {
                                $this->_hasIcons[$this->tree[$cnt]['father_node']] = true;
                        } else {
                                $this->_hasIcons[$menu_name] = true;
                        }
                        $this->tree[$cnt]['iconsrc'] = $this->tree[$cnt]['parsed_icon'];
                        $this->tree[$cnt]['iconalt'] = 'O';
                }
        }
}
printFooter ( )

Method that prints the code of the footer public

Devuelve:
void

Definición en la línea 935 del archivo layersmenu.inc.php.

{
        print $this->getFooter();
}
printHeader ( )

Method that prints the code of the header public

Devuelve:
void

Definición en la línea 862 del archivo layersmenu.inc.php.

{
        print $this->getHeader();
}
printMenu ( menu_name)

Method that prints the code of the requested _firstLevelMenu public

Parámetros:
string$menu_namethe name of the menu whose _firstLevelMenu has to be printed
Devuelve:
void

Definición en la línea 886 del archivo layersmenu.inc.php.

{
        print $this->_firstLevelMenu[$menu_name];
}
setAbscissaStep ( abscissaStep)

The method to set the value of abscissaStep public

Devuelve:
void

Definición en la línea 243 del archivo layersmenu.inc.php.

{
        $this->abscissaStep = $abscissaStep;
}
setDirroot ( dirroot)

The method to set the dirroot directory public

Devuelve:
boolean

Definición en la línea 253 del archivo layersmenu.inc.php.

{
        $oldtpldir = $this->tpldir;
        if ($foobar = $this->setDirrootCommon($dirroot)) {
                $this->updateTpldir($oldtpldir);
        }
        return $foobar;
}
setDownArrowImg ( downArrowImg)

The method to set an image to be used for the down arrow public

Parámetros:
string$downArrowImgthe down arrow image filename
Devuelve:
boolean

Definición en la línea 388 del archivo layersmenu.inc.php.

{
        if (!file_exists($this->imgdir . $downArrowImg)) {
                $this->error('setDownArrowImg: file ' . $this->imgdir . $downArrowImg . ' does not exist.');
                return false;
        }
        $foobar = getimagesize($this->imgdir . $downArrowImg);
        $this->downArrowImg['src'] = $downArrowImg;
        $this->downArrowImg['width'] = $foobar[0];
        $this->downArrowImg['height'] = $foobar[1];
        return true;
}
setForwardArrowImg ( forwardArrowImg)

The method to set an image to be used for the forward arrow public

Parámetros:
string$forwardArrowImgthe forward arrow image filename
Devuelve:
boolean

Definición en la línea 369 del archivo layersmenu.inc.php.

{
        if (!file_exists($this->imgdir . $forwardArrowImg)) {
                $this->error('setForwardArrowImg: file ' . $this->imgdir . $forwardArrowImg . ' does not exist.');
                return false;
        }
        $foobar = getimagesize($this->imgdir . $forwardArrowImg);
        $this->forwardArrowImg['src'] = $forwardArrowImg;
        $this->forwardArrowImg['width'] = $foobar[0];
        $this->forwardArrowImg['height'] = $foobar[1];
        return true;
}
setHorizontalMenuTpl ( horizontalMenuTpl)

The method to set horizontalMenuTpl public

Devuelve:
boolean

Definición en la línea 303 del archivo layersmenu.inc.php.

{
        if (str_replace('/', '', $horizontalMenuTpl) == $horizontalMenuTpl) {
                $horizontalMenuTpl = $this->tpldir . $horizontalMenuTpl;
        }
        if (!file_exists($horizontalMenuTpl)) {
                $this->error("setHorizontalMenuTpl: file $horizontalMenuTpl does not exist.");
                return false;
        }
        $this->horizontalMenuTpl = $horizontalMenuTpl;
        return true;
}
setMenuLeftShift ( menuLeftShift)

The method to set the value of menuLeftShift public

Devuelve:
void

Definición en la línea 223 del archivo layersmenu.inc.php.

{
        $this->menuLeftShift = $menuLeftShift;
}
setMenuRightShift ( menuRightShift)

The method to set the value of menuRightShift public

Devuelve:
void

Definición en la línea 213 del archivo layersmenu.inc.php.

{
        $this->menuRightShift = $menuRightShift;
}
setMenuTopShift ( menuTopShift)

The method to set the value of menuTopShift public

Devuelve:
void

Definición en la línea 203 del archivo layersmenu.inc.php.

{
        $this->menuTopShift = $menuTopShift;
}
setSubMenuTpl ( subMenuTpl)

The method to set subMenuTpl public

Devuelve:
boolean

Definición en la línea 339 del archivo layersmenu.inc.php.

{
        if (str_replace('/', '', $subMenuTpl) == $subMenuTpl) {
                $subMenuTpl = $this->tpldir . $subMenuTpl;
        }
        if (!file_exists($subMenuTpl)) {
                $this->error("setSubMenuTpl: file $subMenuTpl does not exist.");
                return false;
        }
        $this->subMenuTpl = $subMenuTpl;
        return true;
}
setThresholdY ( thresholdY)

The method to set the value of thresholdY public

Devuelve:
void

Definición en la línea 233 del archivo layersmenu.inc.php.

{
        $this->thresholdY = $thresholdY;
}
setTpldir ( tpldir)

The method to set the tpldir directory public

Devuelve:
boolean

Definición en la línea 267 del archivo layersmenu.inc.php.

{
        $oldtpldir = $this->tpldir;
        if ($foobar = $this->setTpldirCommon($tpldir)) {
                $this->updateTpldir($oldtpldir);
        }
        return $foobar;
}
setTransparentIcon ( transparentIcon)

A method to set transparentIcon public

Parámetros:
string$transparentIcona transparentIcon filename (without the path)
Devuelve:
void

Definición en la línea 358 del archivo layersmenu.inc.php.

{
        $this->transparentIcon = $transparentIcon;
}
setVerticalMenuTpl ( verticalMenuTpl)

The method to set verticalMenuTpl public

Devuelve:
boolean

Definición en la línea 321 del archivo layersmenu.inc.php.

{
        if (str_replace('/', '', $verticalMenuTpl) == $verticalMenuTpl) {
                $verticalMenuTpl = $this->tpldir . $verticalMenuTpl;
        }
        if (!file_exists($verticalMenuTpl)) {
                $this->error("setVerticalMenuTpl: file $verticalMenuTpl does not exist.");
                return false;
        }
        $this->verticalMenuTpl = $verticalMenuTpl;
        return true;
}
updateTpldir ( oldtpldir)

The method to update the templates directory path to the new tpldir private

Devuelve:
void

Definición en la línea 281 del archivo layersmenu.inc.php.

{
        $oldlength = strlen($oldtpldir);
        $foobar = strpos($this->horizontalMenuTpl, $oldtpldir);
        if (!($foobar === false || $foobar != 0)) {
                $this->horizontalMenuTpl = $this->tpldir . substr($this->horizontalMenuTpl, $oldlength);
        }
        $foobar = strpos($this->verticalMenuTpl, $oldtpldir);
        if (!($foobar === false || $foobar != 0)) {
                $this->verticalMenuTpl = $this->tpldir . substr($this->verticalMenuTpl, $oldlength);
        }
        $foobar = strpos($this->subMenuTpl, $oldtpldir);
        if (!($foobar === false || $foobar != 0)) {
                $this->subMenuTpl = $this->tpldir . substr($this->subMenuTpl, $oldlength);
        }
}

Documentación de los campos

$_firstLevelMenu

Definición en la línea 88 del archivo layersmenu.inc.php.

$_footerHasBeenMade = false

Definición en la línea 100 del archivo layersmenu.inc.php.

$_hasIcons

Definición en la línea 125 del archivo layersmenu.inc.php.

$_headerHasBeenMade = false

Definición en la línea 58 del archivo layersmenu.inc.php.

$abscissaStep

Definición en la línea 155 del archivo layersmenu.inc.php.

$downArrowImg

Definición en la línea 113 del archivo layersmenu.inc.php.

$father_keys

Definición en la línea 70 del archivo layersmenu.inc.php.

$father_vals

Definición en la línea 76 del archivo layersmenu.inc.php.

$footer

Definición en la línea 94 del archivo layersmenu.inc.php.

$forwardArrowImg

Definición en la línea 107 del archivo layersmenu.inc.php.

$header

Definición en la línea 52 del archivo layersmenu.inc.php.

$horizontalMenuTpl

Definición en la línea 29 del archivo layersmenu.inc.php.

$listl

Definición en la línea 64 del archivo layersmenu.inc.php.

$menuLeftShift

Definición en la línea 143 del archivo layersmenu.inc.php.

$menuRightShift

Definición en la línea 137 del archivo layersmenu.inc.php.

$menuTopShift

Definición en la línea 131 del archivo layersmenu.inc.php.

$moveLayers

Definición en la línea 82 del archivo layersmenu.inc.php.

$subMenuTpl

Definición en la línea 45 del archivo layersmenu.inc.php.

$thresholdY

Definición en la línea 149 del archivo layersmenu.inc.php.

$transparentIcon

Definición en la línea 119 del archivo layersmenu.inc.php.

$verticalMenuTpl

Definición en la línea 39 del archivo layersmenu.inc.php.


La documentación para esta clase fue generada a partir del siguiente fichero: