/** * Devuelve un array con los atributos de cada columna del módulo $modulo * * Los atributos son: caption, visible, updatable, default, permission, help * * Los valores de los atributos se obtienen de las variables de entorno del módulo, * y si no existen, se cargan del config.yml correspondiente * * @param string $modulo El nombre del módulo * @return array Array de atributos */ public function getAtributos($modulo) { $atributos = array(); // PRIMERO LEO LOS ATRIBUTOS DE LAS COLUMNAS QUE ESTÁN EN CONFIG.YML $columnasConfig = $this->getNode('columns'); foreach ($columnasConfig as $keyColumna => $valueColumna) { foreach (VariablesEnv::$varEnvMod as $keyVar => $keyColumnaConfig) { $atributos[$keyColumna][$keyVar] = isset($valueColumna[$keyColumnaConfig]) ? $valueColumna[$keyColumnaConfig] : ""; } } return $atributos; // LUEGO LOS SUSTITUYO POR LOS ESPECIFICOS QUE ESTAN EN LAS VAR DE ENTORNO DE PROYECTO // DE TAL MANERA QUE PREVALECEN LOS DEFINIDOS EN LAS VARIABLES DE ENTORNO, PERO // SI NO EXISTIERA LA VARIABLE DE ENTORNO CORRESPONDIENTE ENTONCES PONGO LA DEL CONFIG. $variables = new Variables('Mod', 'Env', $modulo); if (is_array($variables->getDatosYml())) { $arrayColumnas = $variables->getNode('columns'); foreach ($arrayColumnas as $key => $value) { $atributos[$key] = $value; if (is_array($columnasConfig[$key])) { foreach ($columnasConfig[$key] as $keyConfig => $valueConfig) { if (!isset($atributos[$key][$keyConfig])) { $atributos[$key][$keyConfig] = $valueConfig; } } } } } else { // Aún no se han definido las variables, por lo tanto cargo los atributos // en base al array de correspondencia de atributos predeterminados foreach ($columnasConfig as $keyColumna => $valueColumna) { foreach (VariablesEnv::$varEnvMod as $keyVar => $keyColumnaConfig) { $atributos[$keyColumna][$keyVar] = isset($valueColumna[$keyColumnaConfig]) ? $valueColumna[$keyColumnaConfig] : ""; } } } unset($variables); // Si el usuario es super pongo la visibilidad a TRUE //if ($_SESSION['usuarioPortal']['Id'] == '1') // foreach ($atributos as $key => $value) // ++$atributos[$key]['visible']; /** if (!$atributos[$key]['visible']) { $atributos[$key]['visible'] = '1'; $atributos[$key]['caption'] .= " (oculta)"; } */ return $atributos; }