00001 <?php
00015 class NavXMLModule
00016 {
00017 protected $levels = '';
00018 protected $links = '';
00019 protected $tablevels = '';
00020 protected $tablinks = '';
00021
00022 protected $baseURL = '';
00023 protected $baseURLName = '';
00024
00028 public function __construct() {
00029 $this->baseURL = SConfig::getOption('spath.baseURL');
00030 $this->baseURLName = SConfig::getOption('pr2.baseURLName');
00031 }
00032
00039 public function generateBasePathXML() {
00040 return <<<END
00041 <level>
00042 <link>
00043 <name>$this->baseURLName</name>
00044 <value>$this->baseURL/</value>
00045 </link>
00046 </level>
00047 END;
00048 }
00049
00059 public function generateXML() {
00060 $browse = $this->generateBrowseXML();
00061 if ($browse != ""){ $browse = "<browse>\n" . $browse . "\n</browse>";}
00062 $jumpTo = $this->generateJumpToXML();
00063 if ($jumpTo != ""){ $jumpTo = "<jumpTo>\n" . $jumpTo . "\n</jumpTo>";}
00064 $search= $this->generateSearchXML();
00065 if ($search != ""){ $search = "<search>\n" . $search. "\n</search>";}
00066
00067 $basePathXML = $this->generateBasePathXML();
00068
00069 $output = <<<END_OUTPUT
00070 <navigation>
00071 <path>
00072 $basePathXML
00073 $this->levels
00074 </path>
00075 $jumpTo
00076 $browse
00077 $search
00078 <tabs>
00079 $this->tablevels
00080 </tabs>
00081 </navigation>
00082 END_OUTPUT;
00083 return $output;
00084 }
00085
00090 public function addLevel() {
00091 $output = <<<END_OUTPUT
00092 <level>
00093 $this->links
00094 </level>
00095 END_OUTPUT;
00096 $this->levels .= $output;
00097 $this->links = "";
00098 }
00099
00107 public function addLink($name, $link) {
00108 $output = <<<END_OUTPUT
00109 <link>
00110 <name>$name</name>
00111 <value>$link</value>
00112 </link>
00113 END_OUTPUT;
00114 $this->links .= $output;
00115 }
00116
00122 public function addLinkLevel($name, $link) {
00123 $this->addLink($name, $link);
00124 $this->addLevel();
00125 }
00126
00133 public function addTabRow() {
00134 $output = <<<END_OUTPUT
00135 <level>
00136 $this->tablinks
00137 </level>
00138 END_OUTPUT;
00139 $this->tablevels .= $output;
00140 $this->tablinks = "";
00141 }
00142
00148 public function addTab($name, $link) {
00149 $output = <<<END_OUTPUT
00150 <link>
00151 <name>$name</name>
00152 <value>$link</value>
00153 </link>
00154 END_OUTPUT;
00155 $this->tablinks .= $output;
00156 }
00157
00166 public function generateBrowseXML() {
00167 $output = <<<END_OUTPUT
00168 END_OUTPUT;
00169 return $output;
00170 }
00171
00180 public function generateJumpToXML() {
00181 $output = <<<END_OUTPUT
00182 END_OUTPUT;
00183 return $output;
00184 }
00185
00194 public function generateSearchXML() {
00195 $output = <<<END_OUTPUT
00196 END_OUTPUT;
00197 return $output;
00198 }
00199 }
00200 ?>