X-Git-Url: https://git.llucax.com/mecon/ai.git/blobdiff_plain/beb4f27c0f38e10c639f5ec2000a0ac57719221c..5a7d316bd32d92dfdd72f118cd544e13a27b98cd:/lib/AI/GrupoSecciones.php?ds=inline
diff --git a/lib/AI/GrupoSecciones.php b/lib/AI/GrupoSecciones.php
index a9c3839..b7dc567 100644
--- a/lib/AI/GrupoSecciones.php
+++ b/lib/AI/GrupoSecciones.php
@@ -27,10 +27,7 @@
// $Id$
//
-// +X2C includes
require_once 'AI/DBTreeObject.php';
-// ~X2C
-
require_once 'AI/Error.php';
/**
@@ -38,7 +35,6 @@ require_once 'AI/Error.php';
*/
define('AI_GRUPOSECCIONES_CONFFILE', dirname(__FILE__).'/GrupoSecciones.ini');
-// +X2C Class 486 :AI_GrupoSecciones
/**
* Grupo de secciones.
*
@@ -85,7 +81,7 @@ class AI_GrupoSecciones extends AI_DBTreeObject {
var $antiguedad = 0;
/**
- * True si hay que mostrar los grupos hijos (?? FIXME).
+ * True si hay que mostrar los grupos hijos.
*
* @var bool $mostrar_hijos
* @access public
@@ -100,29 +96,24 @@ class AI_GrupoSecciones extends AI_DBTreeObject {
*/
var $habilitado = true;
- // ~X2C
-
- // +X2C Operation 495
/**
* @param int $grupo ID del grupo.
*
* @return void
* @access public
*/
- function AI_GrupoSecciones($grupo = 0) // ~X2C
+ function AI_GrupoSecciones($grupo = 0)
{
parent::AI_DBTreeObject($grupo, AI_GRUPOSECCIONES_CONFFILE);
}
- // -X2C
- // +X2C Operation 496
/**
* @param mixed $db Base de datos o Resultado a utilizar.
*
* @return PEAR_Error
* @access public
*/
- function cargar($db) // ~X2C
+ function cargar($db)
{
// Obtengo campos comunes.
$err = parent::cargar($db);
@@ -174,17 +165,16 @@ class AI_GrupoSecciones extends AI_DBTreeObject {
}
return true;
}
- // -X2C
- // +X2C Operation 497
/**
* @param DB $db DB donde guardar.
- * @param bool $nuevo Si es true, se fuerza a guardar el Grupo de Secciones como nuevo.
+ * @param bool $nuevo Si es true, se fuerza a guardar el Grupo de
+ * Secciones como nuevo.
*
* @return PEAR_Error
* @access public
*/
- function guardar($db, $nuevo = false) // ~X2C
+ function guardar($db, $nuevo = false)
{
// Guardo datos generales.
$datos = array(
@@ -217,16 +207,14 @@ class AI_GrupoSecciones extends AI_DBTreeObject {
}
return true;
}
- // -X2C
- // +X2C Operation 498
/**
* @param DB $db DB de donde borrar.
*
* @return PEAR_Error
* @access public
*/
- function borrar($db) // ~X2C
+ function borrar($db)
{
// Obtengo campos comunes.
$err = parent::borrar($db);
@@ -243,12 +231,12 @@ class AI_GrupoSecciones extends AI_DBTreeObject {
}
return true;
}
- // -X2C
- // +X2C Operation 512
/**
* Obtiene un array con una lista de secciones.
-Sólo se obtienen las secciones que todavía no pertenecen a ningún grupo. Si se especifica un grupo, se agregan las secciones de ese grupo al array resultante.
+ * Sólo se obtienen las secciones que todavía no pertenecen a ningún
+ * grupo. Si se especifica un grupo, se agregan las secciones de ese grupo
+ * al array resultante.
*
* @param DB $db Base de datos a usar para obtener los datos.
* @param int $grupo Grupo del cual obtener las secciones.
@@ -257,7 +245,7 @@ S
* @access public
* @static
*/
- function getSeccionesArray($db = null, $grupo = 0) // ~X2C
+ function getSeccionesArray($db = null, $grupo = 0)
{
static $conf_dav, $conf_sec;
if (!$conf_dav or !$conf_sec) {
@@ -276,9 +264,82 @@ S
OR s.$sec_id = $grupo
ORDER BY d.$dav_campo ASC");
}
- // -X2C
- // +X2C Operation 537
+ /**
+ * Obtiene un array con una lista de todas las secciones.
+ *
+ * @param DB $db Base de datos a usar para obtener los datos.
+ *
+ * @return array
+ * @access public
+ * @static
+ */
+ function getAllSeccionesArray($db = null)
+ {
+ static $conf;
+ if (!$conf) {
+ $conf = parse_ini_file(AI_GRUPOSECCIONES_CONFFILE, true);
+ $conf = $conf['mecondav'];
+ }
+ extract($conf, EXTR_PREFIX_ALL, 'dav');
+ return $db->getAssoc(
+ "SELECT d.$dav_id, d.$dav_campo
+ FROM $dav_base.$dav_tabla as d
+ ORDER BY d.$dav_campo ASC");
+ }
+
+ /**
+ * Obtiene un array con una lista de las secciones ocultas.
+ *
+ * @param DB $db Base de datos a usar para obtener los datos.
+ *
+ * @return array
+ * @access public
+ * @static
+ */
+ function getSeccionesOcultasArray($db = null)
+ {
+ static $conf;
+ if (!$conf) {
+ $conf = parse_ini_file(AI_GRUPOSECCIONES_CONFFILE, true);
+ $conf = $conf['ocultas'];
+ }
+ extract($conf, EXTR_PREFIX_ALL, 'ocu');
+ return $db->getCol("SELECT d.$ocu_id FROM $ocu_base.$ocu_tabla as d");
+ }
+
+ /**
+ * Establece las secciones ocultas.
+ *
+ * @param DB $db Base de datos a usar para grabar los datos.
+ *
+ * @return Cantidad de secciones insertadas o PEAR_Error.
+ * @access public
+ * @static
+ */
+ function setSeccionesOcultas($db = null, $secciones)
+ {
+ static $conf;
+ if (!$conf) {
+ $conf = parse_ini_file(AI_GRUPOSECCIONES_CONFFILE, true);
+ $conf = $conf['ocultas'];
+ }
+ extract($conf, EXTR_PREFIX_ALL, 'ocu');
+ $res = $db->query("DELETE FROM $ocu_base.$ocu_tabla");
+ if (DB::isError($res)) {
+ return $res;
+ }
+ foreach ($secciones as $seccion) {
+ $res = $db->query(
+ "INSERT INTO $ocu_base.$ocu_tabla VALUES ("
+ . $db->quote($seccion) . ")");
+ if (DB::isError($res)) {
+ return $res;
+ }
+ }
+ return count($secciones);
+ }
+
/**
* Obtiene el grupo al que pertenece una sección.
*
@@ -289,7 +350,7 @@ S
* @access public
* @static
*/
- function getGrupo($seccion, $db = null) // ~X2C
+ function getGrupo($seccion, $db = null)
{
static $conf;
if (!$conf) {
@@ -302,8 +363,7 @@ S
FROM $base.$tabla
WHERE $campo = " . $db->quote($seccion));
}
- // -X2C
-} // -X2C Class :AI_GrupoSecciones
+}
?>
\ No newline at end of file