Exemplo n.º 1
0
 public function getElementsByTagNameNS($ns, $tagName)
 {
     $result = array();
     for ($i = 0; $i < count($this->children); $i++) {
         if (!$this->children[$i] instanceof XmlElement) {
             continue;
         }
         if (strtolower($this->children[$i]->getNs()) == strtolower($ns) && strtolower($this->children[$i]->getTag()) == strtolower($tagName)) {
             $result[] = $this->children[$i];
         }
         ArrayUtil::append($result, $this->children[$i]->getElementsByTagNameNS($ns, $tagName));
     }
     return $result;
 }
Exemplo n.º 2
0
 public function getCssFiles()
 {
     krsort($this->cssFiles);
     $files = array();
     foreach ($this->cssFiles as $jsfiles) {
         ArrayUtil::append($files, $jsfiles);
     }
     return array_unique($files);
 }
Exemplo n.º 3
0
 protected function readClasses($file, $contents, $classTypes, $methodTypes)
 {
     //echo "RGX:$this->RGX_CLASS<br/>";
     preg_match_all($this->RGX_CLASS, $contents, $matches, PREG_OFFSET_CAPTURE);
     $lastClass = null;
     $classes = array();
     foreach ($matches[0] as $i => $match) {
         $class = new $classTypes();
         $class->reader = $this;
         $class->file = $file;
         $class->offset = intval($match[1]);
         $class->isAbstract = $matches[2][$i][1] != -1;
         $class->name = $matches[3][$i][0];
         $class->extends = $matches[4][$i][0];
         $class->interfaces = !empty($matches[5][$i][0]) ? ArrayUtil::trimValues(explode(',', $matches[5][$i][0])) : array();
         if ($lastClass != null) {
             $lastClass->limit = $class->offset - 1;
         }
         $doc = $matches[1][$i][0];
         $class->doc = $this->readDoc($doc);
         $classes[] = $class;
         $lastClass = $class;
     }
     if ($lastClass != null) {
         $lastClass->limit = strlen(trim($contents));
     }
     foreach ($classes as $class) {
         $class->source = substr($contents, $class->offset, $class->limit - $class->offset);
         $this->readMethods($class, $methodTypes);
         $class->source = '';
         foreach ($class->methods as $m) {
             //$m->source = substr($contents,$m->offset,$m->limit-$m->offset);
         }
     }
     ArrayUtil::append($this->classes, $classes);
 }