function ARRAYverDatosTermino($tema_id) { global $DBCFG; $tema_id = secure_data($tema_id, "sql"); $sql = SQL("select", "tema.tema_id as idTema,\r\n\t tema.code,\r\n\t\ttema.tema,\r\n\t\tif(relaciones.id is null,'TT','PT') as tipo_termino,\r\n\t\ttema.cuando,\r\n\t\ttema.uid,\r\n\t\ttema.cuando_final,\r\n\t\tuid_final,\r\n\t\trelaciones.id_mayor,\r\n\t\ttema.estado_id,\r\n\t\tv.value_code as estado_code,\r\n\t\ttema.cuando_estado\r\n\t\tfrom {$DBCFG['DBprefix']}values v,{$DBCFG['DBprefix']}tema as tema\r\n\t\tleft join {$DBCFG['DBprefix']}tabla_rel as relaciones on tema.tema_id=relaciones.id_menor\r\n\t\tand relaciones.t_relacion='3'\r\n\t\twhere\r\n\t\ttema.tema_id='{$tema_id}'\r\n\t\tand v.value_type='t_estado'\r\n\t\tand v.value_id=tema.estado_id"); while ($array = mysqli_fetch_array($sql[datos])) { $i = ++$i; $arrayDatos["idTema"] = $array[idTema]; $arrayDatos["tema_id"] = $array[idTema]; $arrayDatos["code"] = $array[code]; $arrayDatos["titTema"] = $array[tema]; $arrayDatos["descTema"] = $array[desc_tema]; $arrayDatos["tipoTema"] = $array[tipo_termino]; $arrayDatos["supraTema"] = $array[id_mayor]; $arrayDatos["estado_id"] = $array[estado_id]; $arrayDatos["estado_code"] = $array[estado_code]; $arrayDatos["cuando_estado"] = $array[cuando_estado]; $arrayDatos["cuando"] = $array[cuando]; $arrayDatos["uid"] = $array[uid]; $arrayDatos["cuando_final"] = $array[cuando_final]; $arrayDatos["uid_final"] = $array[uid_final]; $arrayDatos["last"] = $array[last]; } $arrayNotas = array(); $sqlNotas = SQLdatosTerminoNotas($tema_id); while ($array = mysqli_fetch_array($sqlNotas[datos])) { if ($array[nota_id]) { array_push($arrayNotas, array("id" => $array[nota_id], "tipoNota" => $array[tipo_nota], "lang_nota" => $array[lang_nota], "nota" => $array[nota])); } } $arrayDatos["notas"] = $arrayNotas; return $arrayDatos; }
function fetchTermNotes($tema_id) { $sql = SQLdatosTerminoNotas($tema_id); while ($array = $sql->FetchRow()) { $i = ++$i; $result["result"][$array[nota_id]] = array("term_id" => $array[tema_id], "string" => $array[tema], "note_id" => $array[nota_id], "note_type" => $array[ntype_code] ? $array[ntype_code] : $array[tipo_nota], "note_lang" => $array[lang_nota], "note_text" => $array[nota]); } return $result; }
function doTerminosXTM($tema_id = "") { global $CFG; $_URI_BASE_ID = $CFG["_URI_BASE_ID"] ? $CFG["_URI_BASE_ID"] : $_SESSION["CFGURL"]; $_URI_SEPARATOR_ID = $CFG["_URI_SEPARATOR_ID"] ? $CFG["_URI_SEPARATOR_ID"] : '?tema='; /* $sql=SQLTerminosValidos($tema_id); */ $sql = SQLTerminosPreferidos($tema_id); while ($array = $sql->FetchRow()) { $row .= '<topic id="' . $_URI_BASE_ID . $_URI_SEPARATOR_ID . $array[id] . '">'; $row .= '<instanceOf>'; $row .= '<topicRef xlink:href="#term"/>'; $row .= '</instanceOf>'; $row .= '<baseName>'; $row .= '<baseNameString>' . xmlentities($array[tema]) . '</baseNameString>'; $row .= '</baseName>'; $sqlNotas = SQLdatosTerminoNotas($array[id], array("NA")); while ($arrayNotas = $sqlNotas->FetchRow()) { $row .= ' <occurrence>'; $row .= ' <instanceOf>'; $row .= ' <topicRef xlink:href="#scope-note"/>'; $row .= ' </instanceOf>'; $row .= '<baseName>'; $row .= '<baseNameString>' . xmlentities($arrayNotas[nota], true) . '</baseNameString>'; $row .= '</baseName>'; $row .= ' </occurrence>'; } $row .= '</topic>'; } //Esta pidiendo el vocabulario completo -> incluir topic de términos no preferidos. if (!isset($tema_id)) { //Sql de términos no prereridos (UF) $sql = SQLterminosValidosUF(); while ($array = $sql->FetchRow()) { $row .= '<topic id="' . $_URI_BASE_ID . $_URI_SEPARATOR_ID . $array[tema_id] . '">'; $row .= '<instanceOf>'; $row .= '<topicRef xlink:href="#term"/>'; $row .= '</instanceOf>'; $row .= '<baseName>'; $row .= '<baseNameString>' . xmlentities($array[tema]) . '</baseNameString>'; $row .= '</baseName>'; $row .= '</topic>'; } } return $row; }
function ARRAYverDatosTermino($tema_id) { global $DBCFG; $tema_id = secure_data($tema_id, "int"); $sql = SQL("select", "tema.tema_id as idTema,\r\n\ttema.code,\r\n\ttema.tema,\r\n\tif(relaciones.id is null,'TT','PT') as tipo_termino,\r\n\ttema.cuando,\r\n\ttema.uid,\r\n\ttema.cuando_final,\r\n\ttema.uid_final,\r\n\ttema.isMetaTerm,\r\n\trelaciones.id_mayor,\r\n\ttema.estado_id,\r\n\tv.value_code as estado_code,\r\n\ttema.cuando_estado,\r\n\tc.idioma\r\n\tfrom {$DBCFG['DBprefix']}values v,{$DBCFG['DBprefix']}config c, {$DBCFG['DBprefix']}tema as tema\r\n\tleft join {$DBCFG['DBprefix']}tabla_rel as relaciones on tema.tema_id=relaciones.id_menor\r\n\tand relaciones.t_relacion='3'\r\n\twhere\r\n\ttema.tema_id='{$tema_id}'\r\n\tand v.value_type='t_estado'\r\n\tand tema.tesauro_id=c.id\r\n\tand v.value_id=tema.estado_id"); while ($array = $sql->FetchRow()) { $i = ++$i; $arrayDatos["idTema"] = $array["idTema"]; $arrayDatos["tema_id"] = $array["idTema"]; $arrayDatos["code"] = $array["code"]; $arrayDatos["titTema"] = $array["tema"]; $arrayDatos["descTema"] = $array["desc_tema"]; $arrayDatos["tipoTema"] = $array["tipo_termino"]; $arrayDatos["supraTema"] = $array["id_mayor"]; $arrayDatos["estado_id"] = $array["estado_id"]; $arrayDatos["estado_code"] = $array["estado_code"]; $arrayDatos["cuando_estado"] = $array["cuando_estado"]; $arrayDatos["cuando"] = $array["cuando"]; $arrayDatos["idioma"] = $array["idioma"]; $arrayDatos["uid"] = $array["uid"]; $arrayDatos["cuando_final"] = $array["cuando_final"]; $arrayDatos["uid_final"] = $array["uid_final"]; $arrayDatos["last"] = $array["last"]; $arrayDatos["isMetaTerm"] = $array["isMetaTerm"]; } $arrayNotas = array(); $sqlNotas = SQLdatosTerminoNotas($tema_id); while ($array = $sqlNotas->FetchRow()) { if ($array[nota_id]) { array_push($arrayNotas, array("id" => $array[nota_id], "tipoNota" => $array[ntype_code], "tipoNotaLabel" => $array[ntype], "tipoNota_id" => $array[ntype_id], "lang_nota" => $array[lang_nota], "cuando_nota" => $array[cuando], "nota" => $array[nota])); } } $arrayDatos["notas"] = $arrayNotas; return $arrayDatos; }
function txtAlfabetico() { $txt = ucfirst(LABEL_Titulo) . ': ' . $_SESSION["CFGTitulo"] . "\r\n"; $txt .= ucfirst(LABEL_Autor) . ': ' . $_SESSION["CFGAutor"] . "\r\n"; $txt .= ucfirst(LABEL_Keywords) . ': ' . $_SESSION["CFGKeywords"] . "\r\n"; $txt .= ucfirst(LABEL_Cobertura) . ': ' . $_SESSION["CFGCobertura"] . "\r\n"; $txt .= LABEL_URI . ': ' . $_SESSION["CFGURL"] . "\r\n"; $txt .= ucfirst(LABEL_Version) . ': ' . $_SESSION["CFGVersion"] . "\r\n"; $txt .= "__________________________________________________________________________\r\n"; //Lista de todos los términos $sql = SQLlistaTemas(); while ($arrayTema = mysqli_fetch_array($sql[datos])) { #Mantener vivo el navegador $time_now = time(); if ($time_start >= $time_now + 10) { $time_start = $time_now; header('X-pmaPing: Pong'); } // Diferenciar entre términos preferidos y términos no preferidos o referencias if ($arrayTema[t_relacion]) { //Remisiones de equivalencias y no preferidos $sqlNoPreferidos = SQLterminosValidosUF($arrayTema[id]); while ($arrayNoPreferidos = mysqli_fetch_array($sqlNoPreferidos[datos])) { $acronimo = arrayReplace(array("4", "5", "7", "8"), array(USE_termino, EQ_acronimo, EQP_acronimo, NEQ_acronimo), $arrayNoPreferidos[t_relacion]); $referencia_mapeo = $arrayNoPreferidos[vocabulario_id] !== '1' ? ' (' . $arrayNoPreferidos[titulo] . ' / ' . $arrayNoPreferidos[idioma] . ')' : '' . "\r\n"; $txt .= "\n" . $arrayTema[tema] . $referencia_mapeo; $txt .= ' ' . $acronimo . ': ' . $arrayNoPreferidos[tema_pref] . "\r\n"; } } else { // Si es preferido: mostar notas y relaciones $txt .= "\n" . $arrayTema[tema] . "\r\n"; $txt .= LABEL_fecha_creacion . ': ' . $arrayTema[cuando] . "\r\n"; if ($arrayTema[cuando_final] > $arrayTema[cuando]) { $txt .= LABEL_fecha_modificacion . ': ' . $arrayTema[cuando_final] . "\r\n"; } //Notas $sqlNotas = SQLdatosTerminoNotas($arrayTema[id], array("NB", "NH", "NA", "NC")); while ($arrayNotas = mysqli_fetch_array($sqlNotas[datos])) { $acronimo = arrayReplace(array("NB", "NH", "NA", "NC"), array(NB_acronimo, NH_acronimo, NA_acronimo, NC_acronimo), $arrayNotas[tipo_nota]); $txt .= ' ' . $acronimo . ': ' . html2txt($arrayNotas[nota]) . "\r\n"; } //Relaciones $sqlRelaciones = SQLverTerminoRelaciones($arrayTema[id]); $arrayRelacionesVisibles = array("2", "3", "4"); // TG/TE/UP /TR while ($arrayRelaciones = mysqli_fetch_array($sqlRelaciones[datos])) { if (in_array($arrayRelaciones[t_relacion], $arrayRelacionesVisibles)) { $acronimo = arrayReplace($arrayRelacionesVisibles, array(TR_acronimo, TG_acronimo, UP_acronimo), $arrayRelaciones[t_relacion]); $txt .= ' ' . $acronimo . ': ' . $arrayRelaciones[tema] . "\r\n"; } } //Terminos especificos $SQLTerminosE = SQLverTerminosE($arrayTema[id]); while ($arrayTE = mysqli_fetch_array($SQLTerminosE[datos])) { $txt .= ' ' . TE_acronimo . ': ' . $arrayTE[tema] . "\r\n"; } } } $filname = string2url($_SESSION[CFGTitulo] . ' ' . MENU_ListaAbc) . '.txt'; return sendFile("{$txt}", "{$filname}"); }
function txt4term($tema_id, $params = array()) { $arrayTema = ARRAYverTerminoBasico($tema_id); $txt .= "\n" . $arrayTema[tema] . "\r\n"; $label_target_vocabulary = ''; $txt .= $params["includeCreatedDate"] == 1 ? LABEL_fecha_creacion . ': ' . $arrayTema[cuando] . "\r\n" : ''; if ($arrayTema[cuando_final] > $arrayTema[cuando] && $params["includeModDate"] == 1) { $txt .= LABEL_fecha_modificacion . ': ' . $arrayTema[cuando_final] . "\r\n"; } //Notas $sqlNotas = SQLdatosTerminoNotas($arrayTema[tema_id]); while ($arrayNotas = $sqlNotas->FetchRow()) { $arrayNotas[label_tipo_nota] = in_array($arrayNotas[ntype_id], array(8, 9, 10, 11, 15)) ? arrayReplace(array(8, 9, 10, 11, 15), array(LABEL_NA, LABEL_NH, LABEL_NB, LABEL_NP, LABEL_NC), $arrayNotas[ntype_id]) : $arrayNotas[ntype_code]; if ($arrayNotas[tipo_nota] !== 'NP' && in_array($arrayNotas[tipo_nota], $params["includeNote"])) { $txt .= ' ' . $arrayNotas[label_tipo_nota] . ': ' . html2txt($arrayNotas[nota]) . "\r\n"; } } //Relaciones $sqlRelaciones = SQLverTerminoRelaciones($arrayTema[tema_id]); $arrayRelacionesVisibles = array(2, 3, 4, 5, 6, 7); // TG/TE/UP/TR while ($arrayRelaciones = $sqlRelaciones->FetchRow()) { if (in_array($arrayRelaciones[t_relacion], $arrayRelacionesVisibles)) { $acronimo = arrayReplace($arrayRelacionesVisibles, array(TR_acronimo, TG_acronimo, UP_acronimo, EQP_acronimo, EQ_acronimo, NEQ_acronimo), $arrayRelaciones[t_relacion]); if (in_array($arrayRelaciones[t_relacion], array(5, 6, 7))) { //términos equivalentes .. se concatenan después de los TE/NT $label_target_vocabulary .= ' ' . $acronimo . ': ' . $arrayRelaciones[tema] . ' (' . $arrayRelaciones[titulo] . ')' . "\r\n"; } else { $txt .= ' ' . $acronimo . $arrayRelaciones[rr_code] . ': ' . $arrayRelaciones[tema] . "\r\n"; } } } //Terminos especificos $SQLTerminosE = SQLverTerminosE($arrayTema[tema_id]); while ($arrayTE = $SQLTerminosE->FetchRow()) { $txt .= ' ' . TE_acronimo . $arrayTE[rr_code] . ': ' . $arrayTE[tema] . "\r\n"; } $txt .= $label_target_vocabulary; //Terminos equivalentes web services $SQLtargetTerms = SQLtargetTerms($arrayTema[tema_id]); while ($arrayTT = $SQLtargetTerms->FetchRow()) { $txt .= ' ' . FixEncoding(ucfirst($arrayTT[tvocab_label])) . ': ' . FixEncoding($arrayTT[tterm_string]) . "\r\n"; } return $txt; }
function fetchTermNotes($tema_id) { $sql = SQLdatosTerminoNotas($tema_id); while ($array = mysqli_fetch_array($sql[datos])) { $i = ++$i; $result["result"][$array[nota_id]] = array("term_id" => $array[tema_id], "string" => $array[tema], "note_id" => $array[nota_id], "note_type" => $array[tipo_nota], "note_lang" => $array[lang_nota], "note_text" => $array[nota]); } return $result; }