Файловый менеджер - Редактировать - C:/xampp/php/PEAR/PHPDoc/accessor/PhpdocIndexAccessor.php
Назад
<?php /** * Provides a API to access Index xml documents. */ class PhpdocIndexAccessor extends PhpdocAccessor { /** * Ordered list of all chapternames. * * @var array */ var $chapternames = array(); /** * Ordered list of all chapters. * * @var array */ var $chapters = array(); /** * List of all packages. * * @var array */ var $packages = array(); /** * Data of a classtree * * @var array */ var $classtree = array(); /** * Data of a modulegroup * * @var array */ var $modulegroup = array(); /** * Some container withing the packagelist. * * @var array * @see buildPackagelist() */ var $packageFields = array("class", "module"); /** * Flag indicating that certain internal datafield have been filled. * * @var array */ var $flagBuild = array( "chapter" => false, "package" => false ); /** * Returns a modulegroup * * @access public */ function getModulegroup() { $this->buildModulegroup(); if ($this->freeOnGet) { $data = $this->modulegroup; $this->modulegroup = array(); return $data; } else { return $this->modulegroup; } } // end func getModulegroup /** * Returns a classtree. * * @return array * @access public */ function getClasstree() { $this->buildClasstree(); if ($this->freeOnGet) { $data = $this->classtree; $this->classtree = array(); return $data; } else { return $this->classtree; } } // end func getClasstree /** * Returns an ordered list of all chapternames. * * @return array * @access public * @see getChapters() */ function getChapternames() { $this->buildChapterlist(); if ($this->freeOnGet) { $data = $this->chapternames; $this->chapternames = array(); return $data; } else { return $this->chapternames; } } // end func getChapternames /** * Returns an ordered list of all chapters. * * @return array * @access public * @see getChapternames() */ function getChapters() { $this->buildChapterlist(); if ($this->freeOnGet) { $data = $this->chapters; $this->chapters = array(); return $data; } else { return $this->chapters; } } // end func getChapters /** * Returns a list of all packages * * @return array * @access public */ function getPackagelist() { $this->buildPackagelist(); if ($this->freeOnGet) { $data = $this->packages; $this->packages = array(); return $data; } else { return $this->packages; } } // end func getPackagelist /** * Builds the internal packagelist. */ function buildPackagelist() { if ($this->flagBuild["package"]) return; $data = $this->xml["packagelist"]; $this->xml = array(); $this->flagBuild["package"] = true; $this->packages = array(); if (!isset($data["package"][0])) $data["package"] = array($data["package"]); reset($data["package"]); while (list($k, $package) = each($data["package"])) { $packagename = $package["name"]; reset($this->packageFields); while (list($k, $field) = each($this->packageFields)) { if (isset($package[$field][0])) { reset($package[$field]); while (list($k, $element)=each($package[$field])) $this->packages[$packagename][$field][] = $element["name"]; } else if (isset($package[$field])) { $this->packages[$packagename][$field][] = $package[$field]["name"]; } } } } // end func buildPackagelist /** * Builds the internal chapterlists. */ function buildChapterlist() { if ($this->flagBuild["chapter"]) return; $data = $this->xml["index"]; $this->xml = array(); $this->flagBuild["chapter"] = true; $this->chapternames = array(); $this->chapters = array(); if (isset($data["chapter"][0])) { $chapterlist = array(); reset($data["chapter"]); while (list($k, $chapter) = each($data["chapter"])) $chapterlist[strtoupper($chapter["char"])][$chapter["char"]] = $k; ksort($chapterlist, SORT_STRING); reset($chapterlist); while (list($k, $chapters) = each($chapterlist)) { reset($chapters); while (list($chapter, $index)=each($chapters)) { $this->chapternames[] = $chapter; $this->chapters[$chapter] = $data["chapter"][$index]; } } } else { $this->chapternames[] = $data["chapter"]["char"]; $this->chapters[$data["chapter"]["char"]] = $data["chapter"]["char"]; } } // end func buildChapterlist /** * Extracts the modulegroup data of the xml file. * * @see getModulegroup() */ function buildModulegroup() { if ($this->flagBuild["modulegroup"]) return; $this->flagBuild["modulegroup"] = true; $data = $this->xml["modulegroup"]; $this->xml = ""; $this->modulegroup = array( "group" => $data["name"], "modules" => array() ); if (!isset($data["module"][0])) $data["module"] = array( $data["module"] ); reset($data["module"]); while (list($k, $module) = each($data["module"])) $this->modulegroup["modules"][] = $module["name"]; } // end func buildModulegroup /** * Extracts the classtree data of the xml file. * * @see getClasstree() */ function buildClasstree() { if ($this->flagBuild["classtree"]) return; $this->flagBuild["classtree"] = true; $data = $this->xml["classtree"]; $this->xml = ""; $this->classtree = array( "baseclass" => $data["baseclass"], "classes" => array() ); if (!isset($data["class"][0])) $data["class"] = array( $data["class"] ); reset($data["class"]); while (list($k, $class)=each($data["class"])) { if (!isset($class["subclass"])) { $this->classtree["classes"][$class["name"]] = array(); } else { if (!isset($class["subclass"][0])) { $this->classtree["classes"][$class["name"]][] = $class["subclass"]["value"]; } else { reset($class["subclass"]); while (list($k, $subclass)=each($class["subclass"])) $this->classtree["classes"][$class["name"]][] = $subclass["value"]; } } } } // end func buildClasstree /** * Resets the build flags. * * @see $flagBuild */ function init() { reset($this->flagBuild); while (list($k, $v) = each($this->flagBuild)) $this->flagBuild[$k] = false; } // end func init } // end class PhpdocIndexAccessor ?>
| ver. 1.4 |
Github
|
.
| PHP 5.3.8 | Генерация страницы: 0.12 |
proxy
|
phpinfo
|
Настройка