![]() |
Documentación GVHIDRA 3.1.5
|
Métodos públicos | |
PHPTreeMenu () | |
setDirroot ($dirroot) | |
setPHPTreeMenuSeparator ($phpTreeMenuSeparator) | |
setPHPTreeMenuDefaultExpansion ($phpTreeMenuDefaultExpansion) | |
setPHPTreeMenuImagesType ($phpTreeMenuImagesType) | |
setPHPTreeMenuTheme ($phpTreeMenuTheme) | |
newPHPTreeMenu ($menu_name= '') | |
getPHPTreeMenu ($menu_name) | |
printPHPTreeMenu ($menu_name) | |
Campos de datos | |
$phpTreeMenuSeparator | |
$phpTreeMenuDefaultExpansion | |
$phpTreeMenuImagesType | |
$phpTreeMenuTheme | |
$_phpTreeMenu |
Definición en la línea 17 del archivo phptreemenu.inc.php.
getPHPTreeMenu | ( | $ | menu_name | ) |
Method that returns the code of the requested PHP Tree Menu public
string | $menu_name | the name of the menu whose PHP Tree Menu code has to be returned |
Definición en la línea 429 del archivo phptreemenu.inc.php.
{
return $this->_phpTreeMenu[$menu_name];
}
newPHPTreeMenu | ( | $ | menu_name = '' | ) |
Method to prepare a new PHP Tree Menu.
This method processes items of a menu and parameters submitted through GET (i.e. nodes to be expanded) to prepare and return the corresponding Tree Menu code.
public
string | $menu_name | the name of the menu whose items have to be processed |
Definición en la línea 127 del archivo phptreemenu.inc.php.
{ $protocol = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://'; $this_host = (isset($_SERVER['HTTP_HOST'])) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME']; if (isset($_SERVER['SCRIPT_NAME'])) { $me = $_SERVER['SCRIPT_NAME']; } elseif (isset($_SERVER['REQUEST_URI'])) { $me = $_SERVER['REQUEST_URI']; } elseif (isset($_SERVER['PHP_SELF'])) { $me = $_SERVER['PHP_SELF']; } elseif (isset($_SERVER['PATH_INFO'])) { $me = $_SERVER['PATH_INFO']; } $url = $protocol . $this_host . $me; $query = ''; reset($_GET); while (list($key, $value) = each($_GET)) { if ($key != 'p' && $value != '') { $query .= '&' . $key . '=' . $value; } } if ($query != '') { $query = '?' . substr($query, 5) . '&p='; } else { $query = '?p='; } $p = (isset($_GET['p'])) ? $_GET['p'] : $this->phpTreeMenuDefaultExpansion; /* ********************************************************* */ /* Based on TreeMenu 1.1 by Bjorge Dijkstra (bjorge@gmx.net) */ /* ********************************************************* */ $this->_phpTreeMenu[$menu_name] = ''; $img_collapse = $this->imgwww . $this->phpTreeMenuTheme . 'tree_collapse.' . $this->phpTreeMenuImagesType; $alt_collapse = '--'; $img_collapse_corner = $this->imgwww . $this->phpTreeMenuTheme . 'tree_collapse_corner.' . $this->phpTreeMenuImagesType; $alt_collapse_corner = '--'; $img_collapse_corner_first = $this->imgwww . $this->phpTreeMenuTheme . 'tree_collapse_corner_first.' . $this->phpTreeMenuImagesType; $alt_collapse_corner_first = '--'; $img_collapse_first = $this->imgwww . $this->phpTreeMenuTheme . 'tree_collapse_first.' . $this->phpTreeMenuImagesType; $alt_collapse_first = '--'; $img_corner = $this->imgwww . $this->phpTreeMenuTheme . 'tree_corner.' . $this->phpTreeMenuImagesType; $alt_corner = '`-'; $img_expand = $this->imgwww . $this->phpTreeMenuTheme . 'tree_expand.' . $this->phpTreeMenuImagesType; $alt_expand = '+-'; $img_expand_corner = $this->imgwww . $this->phpTreeMenuTheme . 'tree_expand_corner.' . $this->phpTreeMenuImagesType; $alt_expand_corner = '+-'; $img_expand_corner_first = $this->imgwww . $this->phpTreeMenuTheme . 'tree_expand_corner_first.' . $this->phpTreeMenuImagesType; $alt_expand_corner_first = '+-'; $img_expand_first = $this->imgwww . $this->phpTreeMenuTheme . 'tree_expand_first.' . $this->phpTreeMenuImagesType; $alt_expand_first = '+-'; $img_folder_closed = $this->imgwww . $this->phpTreeMenuTheme . 'tree_folder_closed.' . $this->phpTreeMenuImagesType; $alt_folder_closed = '->'; $img_folder_open = $this->imgwww . $this->phpTreeMenuTheme . 'tree_folder_open.' . $this->phpTreeMenuImagesType; $alt_folder_open = '->'; $img_leaf = $this->imgwww . $this->phpTreeMenuTheme . 'tree_leaf.' . $this->phpTreeMenuImagesType; $alt_leaf = '->'; $img_space = $this->imgwww . $this->phpTreeMenuTheme . 'tree_space.' . $this->phpTreeMenuImagesType; $alt_space = ' '; $img_split = $this->imgwww . $this->phpTreeMenuTheme . 'tree_split.' . $this->phpTreeMenuImagesType; $alt_split = '|-'; $img_split_first = $this->imgwww . $this->phpTreeMenuTheme . 'tree_split_first.' . $this->phpTreeMenuImagesType; $alt_split_first = '|-'; $img_vertline = $this->imgwww . $this->phpTreeMenuTheme . 'tree_vertline.' . $this->phpTreeMenuImagesType; $alt_vertline = '| '; for ($i=$this->_firstItem[$menu_name]; $i<=$this->_lastItem[$menu_name]; $i++) { $expand[$i] = 0; $visible[$i] = 0; $this->tree[$i]['last_item'] = 0; } for ($i=0; $i<=$this->_maxLevel[$menu_name]; $i++) { $levels[$i] = 0; } // Get numbers of nodes to be expanded if ($p != '') { $explevels = explode($this->phpTreeMenuSeparator, $p); $explevels_count = count($explevels); for ($i=0; $i<$explevels_count; $i++) { $expand[$explevels[$i]] = 1; } } // Find last nodes of subtrees $last_level = $this->_maxLevel[$menu_name]; for ($i=$this->_lastItem[$menu_name]; $i>=$this->_firstItem[$menu_name]; $i--) { if ($this->tree[$i]['level'] < $last_level) { for ($j=$this->tree[$i]['level']+1; $j<=$this->_maxLevel[$menu_name]; $j++) { $levels[$j] = 0; } } if ($levels[$this->tree[$i]['level']] == 0) { $levels[$this->tree[$i]['level']] = 1; $this->tree[$i]['last_item'] = 1; } else { $this->tree[$i]['last_item'] = 0; } $last_level = $this->tree[$i]['level']; } // Determine visible nodes // all root nodes are always visible for ($i=$this->_firstItem[$menu_name]; $i<=$this->_lastItem[$menu_name]; $i++) { if ($this->tree[$i]['level'] == 1) { $visible[$i] = 1; } } if (isset($explevels)) { for ($i=0; $i<$explevels_count; $i++) { $n = $explevels[$i]; if ($n >= $this->_firstItem[$menu_name] && $n <= $this->_lastItem[$menu_name] && $visible[$n] == 1 && $expand[$n] == 1) { $j = $n + 1; while ($j<=$this->_lastItem[$menu_name] && $this->tree[$j]['level']>$this->tree[$n]['level']) { if ($this->tree[$j]['level'] == $this->tree[$n]['level']+1) { $visible[$j] = 1; } $j++; } } } } // Output nicely formatted tree for ($i=0; $i<$this->_maxLevel[$menu_name]; $i++) { $levels[$i] = 1; } $max_visible_level = 0; for ($cnt=$this->_firstItem[$menu_name]; $cnt<=$this->_lastItem[$menu_name]; $cnt++) { if ($visible[$cnt]) { $max_visible_level = max($max_visible_level, $this->tree[$cnt]['level']); } } for ($cnt=$this->_firstItem[$menu_name]; $cnt<=$this->_lastItem[$menu_name]; $cnt++) { if ($this->tree[$cnt]['text'] == '---') { continue; // separators are significant only for layers-based menus } if (isset($this->tree[$cnt]['selected']) && $this->tree[$cnt]['selected']) { $linkstyle = 'phplmselected'; } else { $linkstyle = 'phplm'; } if ($visible[$cnt]) { $this->_phpTreeMenu[$menu_name] .= '<div class="treemenudiv">' . "\n"; // vertical lines from higher levels for ($i=0; $i<$this->tree[$cnt]['level']-1; $i++) { if ($levels[$i] == 1) { $img = $img_vertline; $alt = $alt_vertline; } else { $img = $img_space; $alt = $alt_space; } $this->_phpTreeMenu[$menu_name] .= '<img align="top" border="0" class="imgs" src="' . $img . '" alt="' . $alt . '" />'; } $not_a_leaf = $cnt<$this->_lastItem[$menu_name] && $this->tree[$cnt+1]['level']>$this->tree[$cnt]['level']; if ($not_a_leaf) { // Create expand/collapse parameters $params = ''; for ($i=$this->_firstItem[$menu_name]; $i<=$this->_lastItem[$menu_name]; $i++) { if ($expand[$i] == 1 && $cnt!= $i || ($expand[$i] == 0 && $cnt == $i)) { $params .= $this->phpTreeMenuSeparator . $i; } } if ($params != '') { $params = substr($params, 1); } } if ($this->tree[$cnt]['last_item'] == 1) { // corner at end of subtree or t-split if ($not_a_leaf) { if ($expand[$cnt] == 0) { if ($cnt == $this->_firstItem[$menu_name]) { $img = $img_expand_corner_first; $alt = $alt_expand_corner_first; } else { $img = $img_expand_corner; $alt = $alt_expand_corner; } } else { if ($cnt == $this->_firstItem[$menu_name]) { $img = $img_collapse_corner_first; $alt = $alt_collapse_corner_first; } else { $img = $img_collapse_corner; $alt = $alt_collapse_corner; } } $this->_phpTreeMenu[$menu_name] .= '<a name="' . $cnt . '" class="' . $linkstyle . '" href="' . $url . $query . $params . '#' . $cnt . '"><img align="top" border="0" class="imgs" src="' . $img . '" alt="' . $alt . '" /></a>'; } else { $this->_phpTreeMenu[$menu_name] .= '<img align="top" border="0" class="imgs" src="' . $img_corner . '" alt="' . $alt_corner . '" />'; } $levels[$this->tree[$cnt]['level']-1] = 0; } else { if ($not_a_leaf) { if ($expand[$cnt] == 0) { if ($cnt == $this->_firstItem[$menu_name]) { $img = $img_expand_first; $alt = $alt_expand_first; } else { $img = $img_expand; $alt = $alt_expand; } } else { if ($cnt == $this->_firstItem[$menu_name]) { $img = $img_collapse_first; $alt = $alt_collapse_first; } else { $img = $img_collapse; $alt = $alt_collapse; } } $this->_phpTreeMenu[$menu_name] .= '<a name="' . $cnt . '" class="' . $linkstyle . '" href="' . $url . $query . $params . '#' . $cnt . '"><img align="top" border="0" class="imgs" src="' . $img . '" alt="' . $alt . '" /></a>'; } else { if ($cnt == $this->_firstItem[$menu_name]) { $img = $img_split_first; $alt = $alt_split_first; } else { $img = $img_split; $alt = $alt_split; } $this->_phpTreeMenu[$menu_name] .= '<img align="top" border="0" class="imgs" src="' . $img . '" alt="' . $alt . '" />'; } $levels[$this->tree[$cnt]['level']-1] = 1; } if ($this->tree[$cnt]['parsed_href'] == '' || $this->tree[$cnt]['parsed_href'] == '#') { $a_href_open_img = ''; $a_href_close_img = ''; $a_href_open = '<a class="phplmnormal">'; $a_href_close = '</a>'; } else { $a_href_open_img = '<a href="' . $this->tree[$cnt]['parsed_href'] . '"' . $this->tree[$cnt]['parsed_title'] . $this->tree[$cnt]['parsed_target'] . '>'; $a_href_close_img = '</a>'; $a_href_open = '<a href="' . $this->tree[$cnt]['parsed_href'] . '"' . $this->tree[$cnt]['parsed_title'] . $this->tree[$cnt]['parsed_target'] . ' class="' . $linkstyle . '">'; $a_href_close = '</a>'; } if ($not_a_leaf) { if ($expand[$cnt] == 1) { $img = $img_folder_open; $alt = $alt_folder_open; } else { $img = $img_folder_closed; $alt = $alt_folder_closed; } $this->_phpTreeMenu[$menu_name] .= $a_href_open_img . '<img align="top" border="0" class="imgs" src="' . $img . '" alt="' . $alt . '" />' . $a_href_close_img; } else { if ($this->tree[$cnt]['parsed_icon'] != '') { $this->_phpTreeMenu[$menu_name] .= $a_href_open_img . '<img align="top" border="0" src="' . $this->tree[$cnt]['parsed_icon'] . '" width="' . $this->tree[$cnt]['iconwidth'] . '" height="' . $this->tree[$cnt]['iconheight'] . '" alt="' . $alt_leaf . '" />' . $a_href_close_img; } else { $this->_phpTreeMenu[$menu_name] .= $a_href_open_img . '<img align="top" border="0" class="imgs" src="' . $img_leaf . '" alt="' . $alt_leaf . '" />' . $a_href_close_img; } } // output item text $foobar = $max_visible_level - $this->tree[$cnt]['level'] + 1; if ($foobar > 1) { $colspan = ' colspan="' . $foobar . '"'; } else { $colspan = ''; } $this->_phpTreeMenu[$menu_name] .= ' ' . $a_href_open . $this->tree[$cnt]['parsed_text'] . $a_href_close . "\n"; $this->_phpTreeMenu[$menu_name] .= '</div>' . "\n"; } } /* ********************************************************* */ /* $this->_phpTreeMenu[$menu_name] = '<div class="phplmnormal">' . "\n" . $this->_phpTreeMenu[$menu_name] . '</div>' . "\n"; */ // Some (old) browsers do not support the "white-space: nowrap;" CSS property... $this->_phpTreeMenu[$menu_name] = '<table cellspacing="0" cellpadding="0" border="0">' . "\n" . '<tr>' . "\n" . '<td class="phplmnormal" nowrap="nowrap">' . "\n" . $this->_phpTreeMenu[$menu_name] . '</td>' . "\n" . '</tr>' . "\n" . '</table>' . "\n"; return $this->_phpTreeMenu[$menu_name]; }
PHPTreeMenu | ( | ) |
The constructor method; it initializates some variables
Definición en la línea 55 del archivo phptreemenu.inc.php.
{ $this->LayersMenuCommon(); $this->phpTreeMenuSeparator = '|'; $this->phpTreeMenuDefaultExpansion = ''; $this->phpTreeMenuImagesType = 'png'; $this->phpTreeMenuTheme = ''; $this->_phpTreeMenu = array(); }
printPHPTreeMenu | ( | $ | menu_name | ) |
Method that prints the code of the requested PHP Tree Menu public
string | $menu_name | the name of the menu whose PHP Tree Menu code has to be printed |
Definición en la línea 441 del archivo phptreemenu.inc.php.
{ print $this->_phpTreeMenu[$menu_name]; }
setDirroot | ( | $ | dirroot | ) |
The method to set the dirroot directory public
Definición en la línea 71 del archivo phptreemenu.inc.php.
{ return $this->setDirrootCommon($dirroot); }
setPHPTreeMenuDefaultExpansion | ( | $ | phpTreeMenuDefaultExpansion | ) |
The method to set the default value of the expansion string for the PHP Tree Menu public
Definición en la línea 91 del archivo phptreemenu.inc.php.
{ $this->phpTreeMenuDefaultExpansion = $phpTreeMenuDefaultExpansion; }
setPHPTreeMenuImagesType | ( | $ | phpTreeMenuImagesType | ) |
The method to set the type of images used for the Tree Menu public
Definición en la línea 101 del archivo phptreemenu.inc.php.
{ $this->phpTreeMenuImagesType = $phpTreeMenuImagesType; }
setPHPTreeMenuSeparator | ( | $ | phpTreeMenuSeparator | ) |
The method to set the value of separator for the Tree Menu query string public
Definición en la línea 81 del archivo phptreemenu.inc.php.
{ $this->phpTreeMenuSeparator = $phpTreeMenuSeparator; }
setPHPTreeMenuTheme | ( | $ | phpTreeMenuTheme | ) |
The method to set the prefix for filenames of images of a theme public
Definición en la línea 111 del archivo phptreemenu.inc.php.
{ $this->phpTreeMenuTheme = $phpTreeMenuTheme; }
$_phpTreeMenu |
Definición en la línea 49 del archivo phptreemenu.inc.php.
$phpTreeMenuDefaultExpansion |
Definición en la línea 31 del archivo phptreemenu.inc.php.
$phpTreeMenuImagesType |
Definición en la línea 37 del archivo phptreemenu.inc.php.
$phpTreeMenuSeparator |
Definición en la línea 25 del archivo phptreemenu.inc.php.
$phpTreeMenuTheme |
Definición en la línea 43 del archivo phptreemenu.inc.php.