1: <?php
2:
3: /**
4: * Class BodyCompositeNode
5: *
6: * @version 1.0.1
7: * @author v.raskin
8: * @package vsword.node
9: */
10: class BodyCompositeNode extends EmptyCompositeNode implements INodeTextAdded {
11:
12: /**
13: *
14: * @return \PCompositeNode
15: */
16: public function addPNode() {
17: $node = new PCompositeNode();
18: $this->addNode($node);
19: return $node;
20: }
21:
22:
23: /**
24: * Add some text to last node PCompositeNode
25: * @param string $text
26: * @return INode
27: */
28: public function addText($text) {
29: return $this->getLastPCompositeNode()->addText($text);
30: }
31:
32:
33: /**
34: * Gel last node PCompositeNode if exists or create PCompositeNode
35: * @return \PCompositeNode
36: */
37: public function getLastPCompositeNode() {
38: $node = $this->getLastNode();
39: if(is_null($node) || !($node instanceof PCompositeNode)) {
40: $node = $this->addPNode();
41: }
42: return $node;
43: }
44:
45:
46: protected function beforeRenderChildrensWord() {
47: return '<w:body>';
48: }
49:
50: protected function afterRenderChildrensWord() {
51: return '</w:body>';
52: }
53: }