// +X2C Operation 526
/**
* @param int $id Identificador del objecto.
- * @param string $confFile Configuracin del objeto.
+ * @param string $confFile Configuración del objeto.
*
* @return void
* @access public
// +X2C Operation 527
/**
+ * Carga hijos de un objeto. Si hubo error devuelve un PEAR_Error, si no hubo error, devuleve un array de objetos (los hijos).
+ *
* @param mixed $db Base de datos o resultado de donde cargar los hijos.
+ * @param bool $soloHabilitados Si es true, se cargan solo los hijos con el flag habilitado.
+ * @param string $orden Indica cómo ordenar los hijos cargados.
*
- * @return PEAR_Error
+ * @return mixed
* @access public
*/
- function cargarHijos($db) // ~X2C
+ function cargarHijos($db, $soloHabilitados = true, $orden = 'nombre') // ~X2C
{
$id_field = $this->conf['id'];
$id_padre = $this->conf['padre'];
$db = $result->dbh;
// Si no es un resultado, hago el query.
} else {
- $result = $db->query("SELECT * FROM $tabla WHERE $id_padre = $id");
+ $query = "SELECT * FROM $tabla WHERE $id_padre = $id";
+ if ($soloHabilitados) {
+ $query .= ' AND ' . $this->conf['habilitado'] . ' = 1';
+ }
+ if ($orden) {
+ $query .= ' ORDER BY ' . $orden;
+ }
+ $result = $db->query($query);
if (DB::isError($result)) {
return $result;
}
}
// Si no hay mas resultados, entonces terminó bien.
if (AI_Error::isError($err)
- and $err->getCode() == AIERROR_NO_RESULTADOS) {
- return true;
+ and $err->getCode() == AI_ERROR_NO_RESULTADOS) {
+ return $this->_hijos;
}
// Si no, se devuelve el error.
return $err;