1: <?php
2:
3: /**
4: * Class ListItemCompositeNodeNodeAddeded
5: *
6: * @version 1.0.2
7: * @author v.raskin
8: * @package vsword.parser.addesed
9: */
10: class ListItemCompositeNodeNodeAddeded extends NodeAddeded {
11: function addNode( $node, $target) {
12: if($target instanceof ListCompositeNode) {
13: $target->addNode($node);
14: $node->setLevel($this->getLevel());
15: return true;
16: }
17: if($target instanceof BodyCompositeNode) {
18: $list = $this->initNode('ul');
19: $list->addNode($node );
20: $target->addNode($list);
21: $node->setLevel($this->getLevel());
22: return true;
23: }
24: return false;
25: }
26:
27: /**
28: * @return int
29: */
30: protected function getLevel() {
31: $level = 0;
32: $html = $this->getParser()->getCurrentHTMLNode();
33: if($html->getName() == 'li') {
34: while(!is_null($html = $html->getParent())) {
35: if($html->getName() == 'li') {
36: $level ++;
37: }
38: }
39:
40: }
41: return $level;
42: }
43: }