2 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
3 // +--------------------------------------------------------------------+
4 // | Ministerio de EconomÃa |
5 // | AI (Administrador de Intranet) |
6 // +--------------------------------------------------------------------+
7 // | This file is part of AI. |
9 // | AI is free software; you can redistribute it and/or modify |
10 // | it under the terms of the GNU General Public License as published |
11 // | by the Free Software Foundation; either version 2 of the License, |
12 // | or (at your option) any later version. |
14 // | AI is distributed in the hope that it will be useful, but |
15 // | WITHOUT ANY WARRANTY; without even the implied warranty of |
16 // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
17 // | General Public License for more details. |
19 // | You should have received a copy of the GNU General Public License |
20 // | along with Hooks; if not, write to the Free Software Foundation, |
21 // | Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
22 // +--------------------------------------------------------------------+
23 // | Creado: Tue Jun 24 16:22:07 2003 |
24 // | Autor: Leandro Lucarella <llucar@mecon.gov.ar> |
25 // +--------------------------------------------------------------------+
30 // +X2C Class 414 :GrupoSecciones
36 class GrupoSecciones {
38 * ID del grupo de secciones.
60 * Grupos de secciones que tiene este grupo.
65 var $_hijos = array();
68 * Secciones que pertenecen a este grupo.
70 * @var array $secciones
73 var $secciones = array();
76 * Antigedad (en d?s) de las noticias a mostrar.
78 * @var int $antiguedad
84 * True si hay que mostrar los grupos hijos (?? FIXME).
86 * @var bool $mostrarHijos
89 var $mostrarHijos = false;
92 * Indica si esta habilitado.
94 * @var bool $habilitado
97 var $habilitado = true;
107 return $this->_hijos;
113 // +X2C Operation 453
115 * @param DB &$db Base de datos a utilizar.
120 function cargar(&$db)// ~X2C
125 WHERE grupo = {$this->grupo}",
129 if (DB::isError($data)) {
132 return PEAR::raiseError("No existe el grupo {$this->grupo} en la DB");
135 $this->grupo = $grupo;
136 $this->nombre = $nombre;
137 $this->padre = $grupo_padre;
138 $this->antiguedad = $antiguedad;
139 $this->mostrarHijos = $mostrar_hijos;
142 FROM grupo_secciones_seccion
143 WHERE grupo = {$this->grupo}"
145 if (DB::isError($data)) {
149 $this->secciones = $data;
151 $this->secciones = array();
159 // +X2C Operation 454
161 * @param DB &$db DB donde guardar.
166 function guardar(&$db)// ~X2C
168 $grupo = intval($this->grupo);
171 'grupo_padre' => intval($this->padre),
172 'nombre' => $this->nombre,
173 'habilitado' => $this->habilitado ? 1 : 0,
174 'antiguedad' => intval($this->antiguedad),
175 'mostrar_hijos' => $this->mostrar_hijos ? 1 : 0,
178 $accion = DB_AUTOQUERY_UPDATE;
179 $where = "grupo = $grupo";
181 $accion = DB_AUTOQUERY_INSERT;
182 $grupo = $db->nextId('grupo_secciones');
183 $datos['grupo'] = $grupo;
186 $res = $db->autoExecute('grupo_secciones', $datos, $accion, $where);
187 if (DB::isError($res)) {
190 // Falta actualización de secciones.
191 $res = $db->query("DELETE FROM grupo_secciones_seccion WHERE grupo = $grupo");
192 if (DB::isError($res)) {
195 $prepare = $db->prepare("INSERT INTO grupo_secciones_seccion
196 (grupo, seccion) VALUES ($grupo, ?)");
197 if (DB::isError($prepare)) {
200 $res = $db->executeMultiple($prepare, $this->secciones);
201 if (DB::isError($res)) {
208 // +X2C Operation 455
210 * @param int $db DB de donde borrar.
215 function borrar($db)// ~X2C
217 trigger_error('Not implemented!', E_USER_WARNING);
221 // +X2C Operation 462
223 * @param DB &$db DB de donde cargar los hijos.
228 function cargarHijos(&$db)// ~X2C
230 trigger_error('Not implemented!', E_USER_WARNING);
234 } // -X2C Class :GrupoSecciones