PHPePub\Core\Structure\NCX\NavPoint::finalize PHP Method

finalize() public method

..
public finalize ( string &$nav = "", integer &$playOrder, integer $level ) : integer
$nav string
$playOrder integer
$level integer
return integer
    function finalize(&$nav = "", &$playOrder = 0, $level = 0)
    {
        $maxLevel = $level;
        $levelAdjust = 0;
        if ($this->isNavHidden) {
            return $maxLevel;
        }
        if (isset($this->contentSrc)) {
            $playOrder++;
            if ($this->id == null) {
                $this->id = "navpoint-" . $playOrder;
            }
            $nav .= str_repeat("\t", $level) . "\t\t<navPoint id=\"" . $this->id . "\" playOrder=\"" . $playOrder . "\">\n" . str_repeat("\t", $level) . "\t\t\t<navLabel>\n" . str_repeat("\t", $level) . "\t\t\t\t<text>" . $this->label . "</text>\n" . str_repeat("\t", $level) . "\t\t\t</navLabel>\n" . str_repeat("\t", $level) . "\t\t\t<content src=\"" . $this->contentSrc . "\" />\n";
        } else {
            $levelAdjust++;
        }
        if (sizeof($this->navPoints) > 0) {
            $maxLevel++;
            foreach ($this->navPoints as $navPoint) {
                /** @var $navPoint NavPoint */
                $retLevel = $navPoint->finalize($nav, $playOrder, $level + 1 + $levelAdjust);
                if ($retLevel > $maxLevel) {
                    $maxLevel = $retLevel;
                }
            }
        }
        if (isset($this->contentSrc)) {
            $nav .= str_repeat("\t", $level) . "\t\t</navPoint>\n";
        }
        return $maxLevel;
    }