/** * Opciones de primer nivel * Si no se indica el perfil de usuario, se muestran todas las posibles * en caso contrario se muestran sólo las asignadas a dicho perfil */ public function getOpciones($idPerfil = '') { $apps = new Aplicaciones(); $tablaApps = $apps->getDataBaseName() . "." . $apps->getTableName(); unset($apps); $permisos = new Permisos(); $tablaPermisos = $permisos->getDataBaseName() . "." . $permisos->getTableName(); $conexion = $permisos->getConectionName(); unset($permisos); $modulos = new Modulos(); $tablaModulos = $modulos->getDataBaseName() . "." . $modulos->getTableName(); unset($modulos); $em = new EntityManager($conexion); if (is_resource($em->getDbLink())) { if ($idPerfil != '') { $query = "select DISTINCT t1.NombreModulo as Id,t2.Titulo as Value \r\n from {$tablaPermisos} as t1, {$tablaModulos} as t2 \r\n where (t1.IDPerfil='{$idPerfil}' and t1.NombreModulo=t2.NombreModulo and Nivel='0') \r\n order by t2.SortOrder"; } else { $query = "select CodigoApp as Id,NombreApp as Value from {$tablaApps} order by SortOrder"; } $em->query($query); $rows = $em->fetchResult(); $em->desConecta(); } else { echo $em->getError(); } if ($idPerfil == '') { $rows[] = array_push($rows, array('Id' => '0', 'Value' => ':: Indique una Opción')); } unset($em); return $rows; }