I am building a recursive Menu object. Inside each menu item there is an array which
should allow me to add submenu items and so on. I am having trouble, though, with
getting the submenus to stay. They are disappearing as I go along.
Here is the menu class: (part of it anyway)
class Menu {
var $iMenuId;
var $iParentId;
var $iMasterId;
var $sMenuName;
var $sMenuType;
var $bStatus;
var $vecMenu; // <- This is the array of submenus which
// will each have their own submenus
function Menu ($iMI, $iPI, $iMstI, $sMN, $sMT, $bS){
$this->iMenuId = $iMI;
$this->iParentId = $iPI;
$this->iMasterId = $iMstI;
$this->sMenuName = $sMN;
$this->sMenuType = $sMT;
$this->bStatus = $bS;
$this->vecMenu = array();
// Used as static variable since PHP4 doesn't support them.
global $menuCount;
$menuCount++;
}
function bIsMaster(){
return ($this->iMasterId == $this->iMenuId);
}
function bIsParent(){
return ($this->iParentId == $this->iMenuId);
}
function bAddMenu(&$m) {
if ($m->bIsParent() && $m->bIsMaster())
return false;
if ($this->iMenuId == $m->iParentId){
$this->vecMenu[] = &$m; // <- This is a guess.
// Added into vector by reference?
return true;
}
for ($i=0; $i < count($this->vecMenu); $i++){
$tmpMenu = $this->vecMenu[$i];
if ($tmpMenu->bAddMenu (&$m))
return true;
}
return false;
}
} //END Menu Class
Should this work? Am I just doing something completely wrong? I know someone out
there knows, please let me know if you have any ideas. I really appreciate any help I
can get.
Thanks in advance.
--
Joshua Groboski
Programmer Analyst
SAVVIS Communications Inc.
http://www.savvis.net