X-Git-Url: https://git.llucax.com/mecon/ai.git/blobdiff_plain/df9d0deaca85d998cd966a75db730202e0f7c993..ebcac5bed3516264f417de12f9255f22df215f0b:/lib/AI/GrupoSecciones.php diff --git a/lib/AI/GrupoSecciones.php b/lib/AI/GrupoSecciones.php index b842671..df21dc6 100644 --- a/lib/AI/GrupoSecciones.php +++ b/lib/AI/GrupoSecciones.php @@ -33,6 +33,11 @@ require_once 'AI/DBTreeObject.php'; require_once 'AI/Error.php'; +/** + * Archivo de configuración. + */ +define('AI_GRUPOSECCIONES_CONFFILE', dirname(__FILE__).'/GrupoSecciones.ini'); + // +X2C Class 486 :AI_GrupoSecciones /** * Grupo de secciones. @@ -72,7 +77,7 @@ class AI_GrupoSecciones extends AI_DBTreeObject { var $secciones = array(); /** - * Antigedad (en d?s) de las noticias a mostrar. + * Antigüedad (en días) de las noticias a mostrar. * * @var int $antiguedad * @access public @@ -106,7 +111,7 @@ class AI_GrupoSecciones extends AI_DBTreeObject { */ function AI_GrupoSecciones($grupo = 0) // ~X2C { - parent::AI_DBTreeObject($grupo, dirname(__FILE__) . '/GrupoSecciones.ini'); + parent::AI_DBTreeObject($grupo, AI_GRUPOSECCIONES_CONFFILE); } // -X2C @@ -213,30 +218,61 @@ class AI_GrupoSecciones extends AI_DBTreeObject { } // -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. * * @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_dav, $conf_sec; + if (!$conf_dav or !$conf_sec) { + $conf = parse_ini_file(AI_GRUPOSECCIONES_CONFFILE, true); + $conf_dav = $conf['mecondav']; + $conf_sec = $conf['secciones']; + } + extract($conf_dav, EXTR_PREFIX_ALL, 'dav'); + extract($conf_sec, EXTR_PREFIX_ALL, 'sec'); + return $db->getAssoc(" + 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 + + // +X2C Operation 537 + /** + * Obtiene el grupo al que pertenece una sección. + * + * @param int $seccion Sección a buscar. + * @param DB $db DB a usar. + * + * @return AI_GrupoSecciones + * @access public + * @static + */ + function getGrupo($seccion, $db = null) // ~X2C { - if ($db === null) { - $db =& DB::connect('mysql://mark:mark@intranet-db.mecon.ar/MEconDAV', - array('persistent' => true)); - } - if (DB::isError($db)) { - return $db; - } - return $db->getAssoc(' - SELECT S.section_id, S.description - FROM MEconDAV.Sections as S - ORDER BY description'); + static $conf; + if (!$conf) { + $conf = parse_ini_file(AI_GRUPOSECCIONES_CONFFILE, true); + $conf = $conf['secciones']; + } + extract($conf); + return $db->getOne(" + SELECT $id + FROM $base.$tabla + WHERE $campo = " . $db->quote($seccion)); } // -X2C