/** * * @param Criterio $filtro * @param string $order * @param integer $limitOffset * @param integer $limitCount * @param string $group * @return mixed Proyecto */ function findBy($filtro = null, $order = null, $limitOffset = null, $limitCount = null, $group = null) { $dir = new DirectoryIterator(DIR_PROYECTOS); while ($dir->valid()) { if ($dir->isFile() && stripos($dir->getFilename(), '.json')) { $proyFilename = DIR_PROYECTOS . $dir->getFilename(); $p = new Proyecto(); $fp = fopen($proyFilename, 'r'); $strJsonProy = fread($fp, filesize($proyFilename)); fclose($fp); $jsonProy = json_decode($strJsonProy); $p->setNombre($jsonProy->nombre); $p->setRuta($jsonProy->ruta); $p->setTieneProyectoEcplipse(file_exists("{$jsonProy->ruta}/.project")); if ($p->getTieneProyectoEclipse()) { $eclipseProy = simplexml_load_file("{$jsonProy->ruta}/.project"); $p->setNombre((string) $eclipseProy->name); } $p->setId($jsonProy->id); $p->setDbConfig($jsonProy->dbConfig); $lista[] = $p; } $dir->next(); } return $lista; }