X-Git-Url: https://git.llucax.com/mecon/ai.git/blobdiff_plain/bfe3892532ac5e8ef2828b9e5c7a645ec3d77976..429b500520d01da865ae07369feec31f37fbda24:/lib/AI/GrupoSecciones.php diff --git a/lib/AI/GrupoSecciones.php b/lib/AI/GrupoSecciones.php index f5527b7..df21dc6 100644 --- a/lib/AI/GrupoSecciones.php +++ b/lib/AI/GrupoSecciones.php @@ -221,25 +221,32 @@ class AI_GrupoSecciones extends AI_DBTreeObject { // +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. * * @param DB $db Base de datos a usar para obtener los datos. + * @param int $grupo Grupo del cual obtener las secciones. * * @return array * @access public * @static */ - function getSeccionesArray($db = null) // ~X2C + function getSeccionesArray($db = null, $grupo = 0) // ~X2C { - static $conf; - if (!$conf) { + static $conf_dav, $conf_sec; + if (!$conf_dav or !$conf_sec) { $conf = parse_ini_file(AI_GRUPOSECCIONES_CONFFILE, true); - $conf = $conf['mecondav']; + $conf_dav = $conf['mecondav']; + $conf_sec = $conf['secciones']; } - extract($conf); + extract($conf_dav, EXTR_PREFIX_ALL, 'dav'); + extract($conf_sec, EXTR_PREFIX_ALL, 'sec'); return $db->getAssoc(" - SELECT $id, $campo - FROM $base.$tabla - ORDER BY $campo ASC"); + SELECT d.$dav_id, d.$dav_campo + FROM $dav_base.$dav_tabla as d + LEFT JOIN $sec_base.$sec_tabla AS s + ON s.$sec_campo = d.$dav_id + WHERE s.$sec_campo IS NULL OR s.$sec_id = $grupo + ORDER BY d.$dav_campo ASC"); } // -X2C @@ -252,6 +259,7 @@ class AI_GrupoSecciones extends AI_DBTreeObject { * * @return AI_GrupoSecciones * @access public + * @static */ function getGrupo($seccion, $db = null) // ~X2C {