+ /**
+ * 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);
+ }
+