// $Id$
//
-
-
+require_once 'AIError.php';
// +X2C Class 413 :Servicio
/**
*/
var $habilitado = true;
- // ~X2C
+ /**
+ * Gets Hijos.
+ *
+ * @return array
+ * @access public
+ */
+ function getHijos()
+ {
+ return $this->_hijos;
+ }
+ // ~X2C
- // +X2C Operation 456
+ // +X2C Operation 465
/**
- * @param DB $db DB de donde borrar.
+ * @param int $servicio ID del servicio.
*
- * @return PEAR_Error
+ * @return void
* @access public
*/
- function borrar($db)// ~X2C
+ function Servicio($servicio = 0)// ~X2C
{
- trigger_error('Not implemented!', E_USER_WARNING);
+ $this->servicio = $servicio;
}
// -X2C
*/
function cargar($db)// ~X2C
{
- trigger_error('Not implemented!', E_USER_WARNING);
+ $servicio = intval($this->servicio);
+ if (is_a($db, 'db_result')) {
+ $result = $db;
+ // Si no es un resultado, hago el query.
+ } else {
+ $result = $db->query(
+ "SELECT *
+ FROM servicio
+ WHERE servicio = $servicio"
+ );
+ if (DB::isError($result)) {
+ return $result;
+ }
+ }
+ // Obtengo la fila.
+ $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
+ if (!$row) {
+ return new AIError(AIERROR_NO_RESULTADOS,
+ "No hay más resultados en la DB [servicio=$servicio]");
+ }
+ // Asigno valores al objeto.
+ extract($row);
+ $this->servicio = $servicio;
+ $this->padre = $servicio_padre;
+ $this->nombre = $nombre;
+ $this->descripcion = $descripcion;
+ $this->icono = $icono; # FIXME - new HTML_Icono (o no?)
+ $this->link = $link;
+ $this->linkAyuda = $link_ayuda;
+ $this->necesitaLogueo = $necesita_logueo;
+ $this->habilitado = $habilitado;
+ return true;
}
// -X2C
*/
function guardar($db)// ~X2C
{
- trigger_error('Not implemented!', E_USER_WARNING);
+ $servicio = intval($this->servicio);
+ $where = '';
+ $datos = array(
+ 'servicio_padre' => intval($this->padre),
+ 'nombre' => $this->nombre,
+ 'descripcion' => $this->descripcion,
+ 'icono' => $this->icono,
+ 'link' => $this->link,
+ 'link_ayuda' => $this->linkAyuda,
+ 'necesita_logueo' => $this->necesitaLogueo ? 1 : 0,
+ 'habilitado' => $this->habilitado ? 1 : 0,
+ );
+ if ($servicio) {
+ $accion = DB_AUTOQUERY_UPDATE;
+ $where = "servicio = $servicio";
+ } else {
+ $accion = DB_AUTOQUERY_INSERT;
+ $servicio = $db->nextId('servicio');
+ if (DB::isError($servicio)) {
+ return $servicio;
+ }
+ // Asigno el nuevo id de servicio.
+ $this->servicio = $servicio;
+ $datos['servicio'] = $servicio;
+ }
+ $res = $db->autoExecute('servicio', $datos, $accion, $where);
+ if (DB::isError($res)) {
+ return $res;
+ }
+ return true;
}
// -X2C
- // +X2C Operation 463
+ // +X2C Operation 456
/**
- * @param DB $db DB de donde cargar los hijos.
+ * @param DB $db DB de donde borrar.
*
* @return PEAR_Error
* @access public
*/
- function cargarHijos($db)// ~X2C
+ function borrar($db)// ~X2C
{
- trigger_error('Not implemented!', E_USER_WARNING);
+ $servicio = intval($this->servicio);
+ if ($servicio) {
+ $res = $db->query(
+ "DELETE FROM servicio WHERE servicio = $servicio");
+ if (DB::isError($res)) {
+ return $res;
+ }
+ return true;
+ }
+ return PEAR::raiseError("No hay un servicio válido para borrar");
}
// -X2C
- // +X2C Operation 465
+ // +X2C Operation 463
/**
- * @param int $servicio ID del servicio.
+ * @param DB $db DB de donde cargar los hijos.
*
- * @return void
+ * @return PEAR_Error
* @access public
*/
- function Servicio($servicio = 0)// ~X2C
+ function cargarHijos($db)// ~X2C
{
- trigger_error('Not implemented!', E_USER_WARNING);
+ $servicio = intval($this->servicio);
+ $result = $db->query("SELECT * FROM servicio WHERE servicio_padre = $servicio");
+ if (DB::isError($result)) {
+ return $result;
+ }
+ $this->_hijos = array();
+ $hijo = new Servicio;
+ $err = $hijo->cargar($result);
+ while (!PEAR::isError($err)) {
+ $this->_hijos[] = $hijo->__clone();
+ $err = $hijo->cargar($result);
+ }
+ // Si no hay mas resultados, entonces terminó bien.
+ if (is_a($err, 'aierror')
+ and $err->getCode() == AIERROR_NO_RESULTADOS) {
+ return true;
+ }
+ // Si no, se devuelve el error.
+ return $err;
}
// -X2C
*/
function __clone()// ~X2C
{
- trigger_error('Not implemented!', E_USER_WARNING);
+ return $this;
}
// -X2C
} // -X2C Class :Servicio
-?>
\ No newline at end of file
+
+?>
// $Id$
//
-
-
+require_once 'AIError.php';
// +X2C Class 416 :Sistema
/**
// ~X2C
-
- // +X2C Operation 459
+ // +X2C Operation 466
/**
- * @param DB $db DB donde guardar.
+ * @param int $sistema ID del sistema.
*
- * @return PEAR_Error
+ * @return void
* @access public
*/
- function guardar($db)// ~X2C
+ function Sistema($sistema = 0)// ~X2C
{
- trigger_error('Not implemented!', E_USER_WARNING);
+ $this->sistema = $sistema;
}
// -X2C
*/
function cargar($db)// ~X2C
{
- trigger_error('Not implemented!', E_USER_WARNING);
+ $sistema = intval($this->sistema);
+ if (is_a($db, 'db_result')) {
+ $result = $db;
+ // Si no es un resultado, hago el query.
+ } else {
+ $result = $db->query(
+ "SELECT *
+ FROM sistema
+ WHERE sistema = $sistema"
+ );
+ if (DB::isError($result)) {
+ return $result;
+ }
+ }
+ // Obtengo la fila.
+ $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
+ if (!$row) {
+ return new AIError(AIERROR_NO_RESULTADOS,
+ "No hay más resultados en la DB [sistema=$sistema]");
+ }
+ // Asigno valores al objeto.
+ extract($row);
+ $this->sistema = $sistema;
+ $this->icono = $icono; # FIXME - new HTML_Icono (o no?)
+ $this->link = $link;
+ $this->linkAyuda = $link_ayuda;
+ $this->habilitado = $habilitado;
+ return true;
}
// -X2C
- // +X2C Operation 461
+ // +X2C Operation 459
/**
- * @param DB $db DB de donde borrar.
+ * @param DB $db DB donde guardar.
*
* @return PEAR_Error
* @access public
*/
- function borrar($db)// ~X2C
+ function guardar($db)// ~X2C
{
- trigger_error('Not implemented!', E_USER_WARNING);
+ $sistema = intval($this->sistema);
+ $where = '';
+ $datos = array(
+ 'icono' => $this->icono,
+ 'link' => $this->link,
+ 'link_ayuda' => $this->linkAyuda,
+ 'habilitado' => $this->habilitado ? 1 : 0,
+ );
+ if ($sistema) {
+ $accion = DB_AUTOQUERY_UPDATE;
+ $where = "sistema = $sistema";
+ } else {
+ $accion = DB_AUTOQUERY_INSERT;
+ $sistema = $db->nextId('sistema');
+ if (DB::isError($sistema)) {
+ return $sistema;
+ }
+ // Asigno el nuevo id de sistema.
+ $this->sistema = $sistema;
+ $datos['sistema'] = $sistema;
+ }
+ $res = $db->autoExecute('sistema', $datos, $accion, $where);
+ if (DB::isError($res)) {
+ return $res;
+ }
+ return true;
}
// -X2C
- // +X2C Operation 466
+ // +X2C Operation 461
/**
- * @param int $sistema ID del sistema.
+ * @param DB $db DB de donde borrar.
*
- * @return void
+ * @return PEAR_Error
* @access public
*/
- function Sistema($sistema = 0)// ~X2C
+ function borrar($db)// ~X2C
{
- trigger_error('Not implemented!', E_USER_WARNING);
+ $sistema = intval($this->sistema);
+ if ($sistema) {
+ $res = $db->query(
+ "DELETE FROM sistema WHERE sistema = $sistema");
+ if (DB::isError($res)) {
+ return $res;
+ }
+ return true;
+ }
+ return PEAR::raiseError("No hay un sistema válido para borrar");
}
// -X2C
*/
function __clone()// ~X2C
{
- trigger_error('Not implemented!', E_USER_WARNING);
+ return $this;
}
// -X2C
} // -X2C Class :Sistema
-?>
\ No newline at end of file
+
+?>