From 2f4b4d674e677d26de736d30402fa9efd790d095 Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Tue, 24 Jun 2003 23:09:02 +0000 Subject: [PATCH] =?utf8?q?-=20Se=20crean=20las=20versiones=20iniciales=20d?= =?utf8?q?e=20las=20clases=20del=20modelo.=20-=20Se=20implementa=20la=20ca?= =?utf8?q?rga,=20alta=20y=20modificaci=C3=B3n=20de=20grupos=20de=20seccion?= =?utf8?q?es.=20-=20Se=20hace=20una=20prueba=20para=20los=20grupos=20de=20?= =?utf8?q?secciones.=20-=20Se=20actualiza=20el=20diagrama=20UML.=20-=20Se?= =?utf8?q?=20corrige=20la=20template=20del=20xmi2code.=20-=20Se=20agrega?= =?utf8?q?=20una=20regla=20al=20Makefile=20para=20'limpiar'=20los=20backup?= =?utf8?q?s=20del=20c=C3=B3digo=20=20=20generado.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Makefile | 3 + doc/uml.xmi | 130 +++++++++------ doc/xmi2code.tpl.php | 4 +- sistema/local_lib/GrupoSecciones.php | 236 +++++++++++++++++++++++++++ sistema/local_lib/README | 7 - sistema/local_lib/Servicio.php | 164 +++++++++++++++++++ sistema/local_lib/Sistema.php | 121 ++++++++++++++ test/grupo_secciones.php | 35 ++++ 8 files changed, 639 insertions(+), 61 deletions(-) create mode 100644 sistema/local_lib/GrupoSecciones.php delete mode 100644 sistema/local_lib/README create mode 100644 sistema/local_lib/Servicio.php create mode 100644 sistema/local_lib/Sistema.php create mode 100644 test/grupo_secciones.php diff --git a/Makefile b/Makefile index 129f678..a9ef497 100644 --- a/Makefile +++ b/Makefile @@ -6,5 +6,8 @@ code: @cd doc && xmi2code +code-clean: + @find sistema/local_lib -name '*.bak' | xargs rm -fv + clean-readme: find -name README | xargs svn rm diff --git a/doc/uml.xmi b/doc/uml.xmi index 1ff98e1..bcc38d2 100644 --- a/doc/uml.xmi +++ b/doc/uml.xmi @@ -9,61 +9,77 @@ - + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - + + + + + + + + + + + + + + - - - + + + @@ -73,34 +89,44 @@ x2c:get" name="linkAyuda" static="0" scope="202" /> - + - + + + + + - + - + + + + + - - + + - + + + + - - + diff --git a/doc/xmi2code.tpl.php b/doc/xmi2code.tpl.php index 23d841b..eea3564 100644 --- a/doc/xmi2code.tpl.php +++ b/doc/xmi2code.tpl.php @@ -20,9 +20,9 @@ // | along with Hooks; if not, write to the Free Software Foundation, | // | Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | // +--------------------------------------------------------------------+ -// | Creado: @@date | +// | Creado: @@date | // | Autor: Leandro Lucarella | // +--------------------------------------------------------------------+ // // $Id$ -// \ No newline at end of file +// diff --git a/sistema/local_lib/GrupoSecciones.php b/sistema/local_lib/GrupoSecciones.php new file mode 100644 index 0000000..1e8e63c --- /dev/null +++ b/sistema/local_lib/GrupoSecciones.php @@ -0,0 +1,236 @@ + | +// +--------------------------------------------------------------------+ +// +// $Id$ +// + +// +X2C Class 414 :GrupoSecciones +/** + * Grupo de secciones. + * + * @access public + */ +class GrupoSecciones { + /** + * ID del grupo de secciones. + * + * @var int $groupo + * @access public + */ + var $groupo = 0; + + /** + * Nombre. + * + * @var string $nombre + * @access public + */ + var $nombre = ''; + + /** + * @var int $padre + * @access public + */ + var $padre = 0; + + /** + * Grupos de secciones que tiene este grupo. + * + * @var array $hijos + * @access protected + */ + var $_hijos = array(); + + /** + * Secciones que pertenecen a este grupo. + * + * @var array $secciones + * @access public + */ + var $secciones = array(); + + /** + * Antigedad (en d?s) de las noticias a mostrar. + * + * @var int $antiguedad + * @access public + */ + var $antiguedad = 0; + + /** + * True si hay que mostrar los grupos hijos (?? FIXME). + * + * @var bool $mostrarHijos + * @access public + */ + var $mostrarHijos = false; + + /** + * Indica si esta habilitado. + * + * @var bool $habilitado + * @access public + */ + var $habilitado = true; + + /** + * Gets Hijos. + * + * @return array + * @access public + */ + function getHijos() + { + return $this->_hijos; + } + + // ~X2C + + + // +X2C Operation 453 + /** + * @param DB &$db Base de datos a utilizar. + * + * @return bool + * @access public + */ + function cargar(&$db)// ~X2C + { + $data = $db->getRow( + "SELECT * + FROM grupo_secciones + WHERE grupo = {$this->grupo}", + array(), + DB_FETCHMODE_ASSOC + ); + if (DB::isError($data)) { + return $data; + } elseif (!$data) { + return PEAR::raiseError("No existe el grupo {$this->grupo} en la DB"); + } else { + extract($data); + $this->grupo = $grupo; + $this->nombre = $nombre; + $this->padre = $grupo_padre; + $this->antiguedad = $antiguedad; + $this->mostrarHijos = $mostrar_hijos; + $data = $db->getCol( + "SELECT seccion + FROM grupo_secciones_seccion + WHERE grupo = {$this->grupo}" + ); + if (DB::isError($data)) { + return $data; + } else { + if ($data) { + $this->secciones = $data; + } else { + $this->secciones = array(); + } + } + return true; + } + } + // -X2C + + // +X2C Operation 454 + /** + * @param DB &$db DB donde guardar. + * + * @return bool + * @access public + */ + function guardar(&$db)// ~X2C + { + $grupo = intval($this->grupo); + $where = ''; + $datos = array( + 'grupo_padre' => intval($this->padre), + 'nombre' => $this->nombre, + 'habilitado' => $this->habilitado ? 1 : 0, + 'antiguedad' => intval($this->antiguedad), + 'mostrar_hijos' => $this->mostrar_hijos ? 1 : 0, + ); + if ($grupo) { + $accion = DB_AUTOQUERY_UPDATE; + $where = "grupo = $grupo"; + } else { + $accion = DB_AUTOQUERY_INSERT; + $grupo = $db->nextId('grupo_secciones'); + $datos['grupo'] = $grupo; + echo "$group\n"; + } + $res = $db->autoExecute('grupo_secciones', $datos, $accion, $where); + if (DB::isError($res)) { + return $res; + } + // Falta actualización de secciones. + $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 + (grupo, seccion) VALUES ($grupo, ?)"); + if (DB::isError($prepare)) { + return $prepare; + } + $res = $db->executeMultiple($prepare, $this->secciones); + if (DB::isError($res)) { + return $res; + } + return true; + } + // -X2C + + // +X2C Operation 455 + /** + * @param int $db DB de donde borrar. + * + * @return bool + * @access public + */ + function borrar($db)// ~X2C + { + trigger_error('Not implemented!', E_USER_WARNING); + } + // -X2C + + // +X2C Operation 462 + /** + * @param DB &$db DB de donde cargar los hijos. + * + * @return bool + * @access public + */ + function cargarHijos(&$db)// ~X2C + { + trigger_error('Not implemented!', E_USER_WARNING); + } + // -X2C + +} // -X2C Class :GrupoSecciones + +?> \ No newline at end of file diff --git a/sistema/local_lib/README b/sistema/local_lib/README deleted file mode 100644 index 929b89c..0000000 --- a/sistema/local_lib/README +++ /dev/null @@ -1,7 +0,0 @@ -Descripción de los directorios: -=============================== - -$Id$ - -Librerías locales del sistema (sólo para uso interno). - diff --git a/sistema/local_lib/Servicio.php b/sistema/local_lib/Servicio.php new file mode 100644 index 0000000..8df6c9e --- /dev/null +++ b/sistema/local_lib/Servicio.php @@ -0,0 +1,164 @@ + | +// +--------------------------------------------------------------------+ +// +// $Id$ +// + + + + +// +X2C Class 413 :Servicio +/** + * @access public + */ +class Servicio { + /** + * ID del servicio. + * + * @var int $servicio + * @access public + */ + var $servicio = 0; + + /** + * @var int $padre + * @access public + */ + var $padre = 0; + + /** + * Nombre del servicio. + * + * @var string $nombre + * @access public + */ + var $nombre = ''; + + /** + * Descripcin del servicio. + * + * @var string $descripcion + * @access public + */ + var $descripcion = ''; + + /** + * ?ono del servicio. + * + * @var HTML_Imagen $icono + * @access public + */ + var $icono = null; + + /** + * Enlace a donde el este servicio. + * + * @var string $link + * @access public + */ + var $link = ''; + + /** + * Enlace a donde se encuentra la ayuda del servicio. + * + * @var string $linkAyuda + * @access public + */ + var $linkAyuda = ''; + + /** + * True si es necesario que el usuario se loguee para usar el servicio. + * + * @var bool $necesitaLogueo + * @access public + */ + var $necesitaLogueo = false; + + /** + * Indica si esta habilitado. + * + * @var bool $habilitado + * @access public + */ + var $habilitado = true; + + // ~X2C + + + // +X2C Operation 456 + /** + * @param int $db DB de donde borrar. + * + * @return bool + * @access public + */ + function borrar($db)// ~X2C + { + trigger_error('Not implemented!', E_USER_WARNING); + } + // -X2C + + // +X2C Operation 457 + /** + * @param DB &$db Base de datos a utilizar. + * + * @return bool + * @access public + */ + function cargar(&$db)// ~X2C + { + trigger_error('Not implemented!', E_USER_WARNING); + } + // -X2C + + // +X2C Operation 458 + /** + * @param DB &$db DB donde guardar. + * + * @return bool + * @access public + */ + function guardar(&$db)// ~X2C + { + trigger_error('Not implemented!', E_USER_WARNING); + } + // -X2C + + // +X2C Operation 463 + /** + * @param DB &$db DB de donde cargar los hijos. + * + * @return bool + * @access public + */ + function cargarHijos(&$db)// ~X2C + { + trigger_error('Not implemented!', E_USER_WARNING); + } + // -X2C + +} // -X2C Class :Servicio +?> \ No newline at end of file diff --git a/sistema/local_lib/Sistema.php b/sistema/local_lib/Sistema.php new file mode 100644 index 0000000..552d5f3 --- /dev/null +++ b/sistema/local_lib/Sistema.php @@ -0,0 +1,121 @@ + | +// +--------------------------------------------------------------------+ +// +// $Id$ +// + + + + +// +X2C Class 416 :Sistema +/** + * @access public + */ +class 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 $linkAyuda + * @access public + */ + var $linkAyuda = ''; + + /** + * Indica si esta habilitado. + * + * @var bool $habilitado + * @access public + */ + var $habilitado = true; + + // ~X2C + + + // +X2C Operation 459 + /** + * @param DB &$db DB donde guardar. + * + * @return bool + * @access public + */ + function guardar(&$db)// ~X2C + { + trigger_error('Not implemented!', E_USER_WARNING); + } + // -X2C + + // +X2C Operation 460 + /** + * @param DB &$db Base de datos a utilizar. + * + * @return bool + * @access public + */ + function cargar(&$db)// ~X2C + { + trigger_error('Not implemented!', E_USER_WARNING); + } + // -X2C + + // +X2C Operation 461 + /** + * @param int $db DB de donde borrar. + * + * @return bool + * @access public + */ + function borrar($db)// ~X2C + { + trigger_error('Not implemented!', E_USER_WARNING); + } + // -X2C + +} // -X2C Class :Sistema +?> \ No newline at end of file diff --git a/test/grupo_secciones.php b/test/grupo_secciones.php new file mode 100644 index 0000000..b788713 --- /dev/null +++ b/test/grupo_secciones.php @@ -0,0 +1,35 @@ +grupo = 3; +$err =& $grupo->cargar($db); +if (PEAR::isError($err)) { + var_dump($err); +} else { + var_dump($grupo); +} + +echo "\n\n\nAlta:\n"; + +// Alta. +$grupo->grupo = 0; +$grupo->secciones = array(1, 4, 6, 8); +$err = $grupo->guardar($db); +if (PEAR::isError($err)) { + var_dump($err); +} else { + var_dump($err); +} + +?> -- 2.43.0