setCategory($str); } public function __get($var) { return $this->$var; } public function __toString() { return $this->name; } protected function setCategory($str) { $tree =& PortageTree::singleton(); $str = basename($str); $dir = $tree->getTree()."/".$str; $this->cache_dir = $tree->getTree()."/metadata/cache/".$str; $this->metadata = $dir."/metadata.xml"; if(is_dir($dir)) { $this->name = $str; $this->dir = $dir; $scandir = scandir($this->dir); $scandir = preg_grep('/^\.{1,2}$/', $scandir, PREG_GREP_INVERT); foreach($scandir as $name) if(is_dir($this->dir."/".$name)) $arr[] = $name; sort($arr); $this->arr_packages = $arr; // Get metadata $xml = simplexml_load_file($this->metadata); foreach($xml->longdescription as $obj) { $str = trim(preg_replace('/\s+/', ' ', (string)$obj)); $lang = (string)$obj['lang']; $this->description[$lang] = $str; } } } public function getPackages() { return $this->arr_packages; } } ?>