| // +--------------------------------------------------------------------+ // // $Id$ // require_once 'AI/Error.php'; // +X2C Class 416 :AI_Sistema /** * Sistema. * * @package AI * @access public */ class AI_Sistema { /** * ID del sistema (ID en SAMURAI). * * @var int $sistema * @access public */ var $sistema = 0; /** * ?ono del sistema. * * @var HTML_Imagen $icono * @access public */ var $icono = null; /** * Enlace a donde se encuentra el sistema. * * @var string $link * @access public */ var $link = ''; /** * Enlace a la ayuda del sistema. * * @var string $link_ayuda * @access public */ var $link_ayuda = ''; /** * Indica si esta habilitado. * * @var bool $habilitado * @access public */ var $habilitado = true; // ~X2C // +X2C Operation 466 /** * @param int $sistema ID del sistema. * * @return void * @access public */ function AI_Sistema($sistema = 0) // ~X2C { $this->sistema = $sistema; } // -X2C // +X2C Operation 460 /** * @param mixed $db Base de datos o Resultado a utilizar. * * @return PEAR_Error * @access public */ function cargar($db) // ~X2C { $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 AI_Error(AI_ERROR_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->link_ayuda = $link_ayuda; $this->habilitado = $habilitado; return true; } // -X2C // +X2C Operation 459 /** * @param DB $db DB donde guardar. * * @return PEAR_Error * @access public */ function guardar($db) // ~X2C { $sistema = intval($this->sistema); $where = ''; $datos = array( 'icono' => $this->icono, 'link' => $this->link, 'link_ayuda' => $this->link_ayuda, 'habilitado' => $this->habilitado ? 1 : 0, ); // FIXME - buscar otra forma de distinguir entre INSERT y UPDATE. 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 461 /** * @param DB $db DB de donde borrar. * * @return PEAR_Error * @access public */ function borrar($db) // ~X2C { $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 // +X2C Operation 502 /** * @return Sistema * @access public */ function __clone() // ~X2C { return $this; } // -X2C } // -X2C Class :AI_Sistema ?>