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.
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
*/
function AI_GrupoSecciones($grupo = 0) // ~X2C
{
- parent::AI_DBTreeObject($grupo, dirname(__FILE__) . '/GrupoSecciones.ini');
+ parent::AI_DBTreeObject($grupo, AI_GRUPOSECCIONES_CONFFILE);
}
// -X2C
}
// -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 <em>array</em> 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