// $Id$
//
-// +X2C Class 414 :GrupoSecciones
+require_once 'AIError.php';
+
+// +X2C Class 486 :GrupoSecciones
/**
* Grupo de secciones.
*
// ~X2C
- // +X2C Operation 464
+ // +X2C Operation 495
/**
* @param int $grupo ID del grupo.
*
}
// -X2C
-
- // +X2C Operation 453
+ // +X2C Operation 496
/**
- * @param mixed &$db Base de datos o Resultado a utilizar.
+ * @param mixed $db Base de datos o Resultado a utilizar.
*
- * @return bool
+ * @return PEAR_Error
* @access public
*/
- function cargar(&$db)// ~X2C
+ function cargar($db)// ~X2C
{
$grupo = intval($this->grupo);
if (is_a($db, 'db_result')) {
- $dbh =& $db->dbh;
- $result =& $db;
+ $result = $db;
+ $db = $result->dbh;
// Si no es un resultado, hago el query.
} else {
- $dbh =& $db;
- $result =& $dbh->query(
+ $result = $db->query(
"SELECT *
FROM grupo_secciones
WHERE grupo = $grupo"
// Obtengo la fila.
$row = $result->fetchRow(DB_FETCHMODE_ASSOC);
if (!$row) {
- return PEAR::raiseError("No hay más resultados en la DB [grupo=$grupo]", CODIGO DE ERROR);
+ return new AIError(AIERROR_NO_RESULTADOS,
+ "No hay más resultados en la DB [grupo=$grupo]");
}
// Asigno valores al objeto.
extract($row);
$this->antiguedad = $antiguedad;
$this->mostrarHijos = $mostrar_hijos;
// Obtengo secciones.
- $secciones =& $dbh->getCol(
+ $secciones = $db->getCol(
"SELECT seccion
FROM grupo_secciones_seccion
WHERE grupo = $grupo"
}
// -X2C
- // +X2C Operation 454
+ // +X2C Operation 497
/**
- * @param DB &$db DB donde guardar.
+ * @param DB $db DB donde guardar.
*
- * @return bool
+ * @return PEAR_Error
* @access public
*/
- function guardar(&$db)// ~X2C
+ function guardar($db)// ~X2C
{
$grupo = intval($this->grupo);
$where = '';
$this->grupo = $grupo;
$datos['grupo'] = $grupo;
}
- $res =& $db->autoExecute('grupo_secciones', $datos, $accion, $where);
+ $res = $db->autoExecute('grupo_secciones', $datos, $accion, $where);
if (DB::isError($res)) {
return $res;
}
- $res =& $db->query("DELETE FROM grupo_secciones_seccion WHERE grupo = $grupo");
+ $res = $db->query("DELETE FROM grupo_secciones_seccion WHERE grupo = $grupo");
if (DB::isError($res)) {
return $res;
}
- $prepare =& $db->prepare("INSERT INTO grupo_secciones_seccion
+ $prepare = $db->prepare("INSERT INTO grupo_secciones_seccion
(grupo, seccion) VALUES ($grupo, ?)");
if (DB::isError($prepare)) {
return $prepare;
}
- $res =& $db->executeMultiple($prepare, $this->secciones);
+ $res = $db->executeMultiple($prepare, $this->secciones);
if (DB::isError($res)) {
return $res;
}
}
// -X2C
- // +X2C Operation 455
+ // +X2C Operation 498
/**
- * @param int $db DB de donde borrar.
+ * @param DB $db DB de donde borrar.
*
- * @return bool
+ * @return PEAR_Error
* @access public
*/
function borrar($db)// ~X2C
{
$grupo = intval($this->grupo);
if ($grupo) {
- $res =& $db->query(
+ $res = $db->query(
"DELETE FROM grupo_secciones WHERE grupo = $grupo");
if (DB::isError($res)) {
return $res;
}
- $res =& $db->query(
+ $res = $db->query(
"DELETE FROM grupo_secciones_seccion WHERE grupo = $grupo");
if (DB::isError($res)) {
return $res;
}
// -X2C
- // +X2C Operation 462
+ // +X2C Operation 499
/**
- * @param DB &$db DB de donde cargar los hijos.
+ * @param DB $db DB de donde cargar los hijos.
*
- * @return bool
+ * @return PEAR_Error
* @access public
*/
- function cargarHijos(&$db)// ~X2C
+ function cargarHijos($db)// ~X2C
{
- $grupo = intval($this->grupo);
- $hijos = array();
- $result =& $db->query("SELECT * FROM grupo_secciones WHERE grupo_padre = $grupo");
+ $grupo = intval($this->grupo);
+ $result = $db->query("SELECT * FROM grupo_secciones WHERE grupo_padre = $grupo");
if (DB::isError($result)) {
return $result;
}
- $hijo =& new GrupoSecciones;
- $err =& $hijo->cargar($result);
+ $this->_hijos = array();
+ $hijo = new GrupoSecciones;
+ $err = $hijo->cargar($result);
while (!PEAR::isError($err)) {
- $hijos[] =& $hijo;
+ $this->_hijos[] = $hijo->__clone();
$err = $hijo->cargar($result);
}
- if (!$err->getCode() == CODIGO DE ERROR DE NO HAY MAS ELEMENTOS) {
- return $err;
+ // Si no hay mas resultados, entonces terminó bien.
+ if (is_a($err, 'aierror')
+ and $err->getCode() == AIERROR_NO_RESULTADOS) {
+ return true;
}
- return true;
+ // Si no, se devuelve el error.
+ return $err;
+ }
+ // -X2C
+
+ // +X2C Operation 500
+ /**
+ * @return GrupoSecciones
+ * @access public
+ */
+ function __clone()// ~X2C
+ {
+ return $this;
}
// -X2C