You've already forked joomla_test
first commit
This commit is contained in:
179
modules/mod_roknavmenu/lib/librokmenu/RokMenuNodeBase.php
Normal file
179
modules/mod_roknavmenu/lib/librokmenu/RokMenuNodeBase.php
Normal file
@ -0,0 +1,179 @@
|
||||
<?php
|
||||
/**
|
||||
* @version $Id: RokMenuNodeBase.php 4585 2012-10-27 01:44:54Z btowles $
|
||||
* @author RocketTheme http://www.rockettheme.com
|
||||
* @copyright Copyright (C) 2007 - 2013 RocketTheme, LLC
|
||||
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
|
||||
*/
|
||||
|
||||
require_once(dirname(__FILE__) . '/RokMenuIterator.php');
|
||||
|
||||
if (!class_exists('RokMenuNodeBase')) {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
class RokMenuNodeBase implements IteratorAggregate {
|
||||
|
||||
function getIterator() {
|
||||
return new RokMenuIterator($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
protected $id = 0;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
protected $parent = 0;
|
||||
|
||||
/**
|
||||
* @var RokMenuNodeBase
|
||||
*/
|
||||
protected $parentRef = null;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
protected $level = -1;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $children = array();
|
||||
|
||||
|
||||
/**
|
||||
* Gets the id
|
||||
* @access public
|
||||
* @return integer
|
||||
*/
|
||||
public function getId() {
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the id
|
||||
* @access public
|
||||
* @param integer $id
|
||||
*/
|
||||
public function setId($id) {
|
||||
$this->id = $id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the level
|
||||
* @access public
|
||||
* @return integer
|
||||
*/
|
||||
public function getLevel() {
|
||||
return $this->level;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the level
|
||||
* @access public
|
||||
* @param integer $level
|
||||
*/
|
||||
public function setLevel($level) {
|
||||
$this->level = $level;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets the parent
|
||||
* @access public
|
||||
* @return integer
|
||||
*/
|
||||
public function getParent() {
|
||||
return $this->parent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the parent
|
||||
* @access public
|
||||
* @param integer $parent
|
||||
*/
|
||||
public function setParent($parent) {
|
||||
$this->parent = $parent;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return RokMenuNodeBase
|
||||
*/
|
||||
public function getParentRef() {
|
||||
return $this->parentRef;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param RokmenuNodeBase $parentRef
|
||||
* @return void
|
||||
*/
|
||||
public function setParentRef(RokmenuNodeBase & $parentRef) {
|
||||
$this->parentRef = &$parentRef;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $children
|
||||
* @return void
|
||||
*/
|
||||
public function setChildren(array $children) {
|
||||
$this->children = $children;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param RokMenuNodeBase $node
|
||||
* @return void
|
||||
*/
|
||||
public function addChild(RokMenuNodeBase &$node) {
|
||||
if (null == $this->children) {
|
||||
$this->children = array();
|
||||
}
|
||||
$node->setParentRef($this);
|
||||
$node->setLevel($this->getLevel()+1);
|
||||
$this->children[$node->getId()] = $node;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function hasChildren() {
|
||||
return !empty($this->children);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function &getChildren() {
|
||||
return $this->children;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $node_id
|
||||
* @return bool
|
||||
*/
|
||||
public function removeChild($node_id) {
|
||||
if (array_key_exists($node_id, $this->children)) {
|
||||
unset($this->children[$node_id]);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $menuId
|
||||
*/
|
||||
public function setMenuId($menuId){
|
||||
$this->menuId = $menuId;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return null
|
||||
*/
|
||||
public function getMenuId(){
|
||||
return $this->menuId;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user