//-------------------------------------------------------------------------- //-------------------------------------------------------------------- // VERIFICA SI TIENE QUE INSERTAR/ACTUALIZAR REGISTRO TRAS AUTOLLAMADA //-------------------------------------------------------------------- // le hemos dado a actualizar al formulario, modificando valores if (isset($_POST['modificado']) && $_POST['modificado'] == 1) { // llama a la funcion de insertar/actualizar $id_software = software_insertar($conexion, $_POST); } elseif (isset($_POST['ids']) && strlen($_POST['ids']) > 0) { $id_software = $_POST['ids']; } else { $id_software = $_GET['ids']; } // verifica que tras identificacion, tenemos un identificado valido if (strlen($id_software) == 0) { ERR_muestra_pagina_error("Software desconocido", ""); exit; } // Seleccionamos el idioma en que se esta mostrando el if (isset($_POST['idioma']) && strlen($_POST['idioma']) && array_key_exists($_POST['idioma'], $gen_idiomas_disp)) { $idioma = $_POST['idioma']; } else { $idioma = $_lang; } //-------------------------------------------------------------------- // OBTIENE LOS VALORES DEL SOFTWARE DE LA BASE DE DATOS //-------------------------------------------------------------------- if ($id_software > 0) { // crea la consulta del software $consulta_software = ' SELECT sistema_operativo, licencia, link_licencia, id_sw_bibtex, ' . ' email_soporte, link_homepage, publico ' . ' FROM software WHERE software.id_software=' . $id_software; // ejecuta la consulta para obtener datos
// de error if (!isset($_POST['id_ref']) or strlen($_POST['id_ref']) == 0) { ERR_muestra_pagina_error("Identificador de referencia no v�lido", ""); exit; } //-------------------------------------------------------------- // REALIZA EL BACKUP DE LAS REFERENCIAS //--------------------------------------------------------------- //-------------------------------------------------------------- // EJECUTA CONSULTAS DE BORRADO //--------------------------------------------------------------- // consulta los campos que son responsabilidad directa $consulta_campos = 'SELECT id_campos FROM ref_relacion ' . 'WHERE referencia_cruzada=0 AND id_ref=' . $_POST['id_ref']; $resultado = mysql_query($consulta_campos, $conexion); $id_campos = mysql_fetch_row($resultado); // define consultas de borrado $consultas_borrar = array("DELETE FROM ref_campos WHERE id_campo_ref=" . $id_campos[0], "DELETE FROM ref_relacion WHERE id_ref=" . $_POST['id_ref'] . " OR " . "id_ref_cruzada=" . $_POST['id_ref'], "DELETE FROM referencias WHERE id_referencia=" . $_POST['id_ref']); // ejecuta todas las consultas foreach ($consultas_borrar as $consulta) { // ejecuta consulta $resultado = mysql_query($consulta, $conexion); // chequea si ha habido error if (!$resultado) { ERR_muestra_pagina_error("No se pudo borrar registro." . " Error de consulta: " . $consulta, ""); exit; } } // cierra descriptor mysql_close($conexion); // muestra mensaje de todo OK ERR_muestra_pagina_mensaje("Se ha eliminado la referencia.", "");
// Parametros de entrada // idp : Identidad del proyecto //-------------------------------------------------------------------------- //-------------------------------------------------------------------- // OBTIENE/VERIFICA ID DE PROYECTO //-------------------------------------------------------------------- // le hemos dado a actualizar al formulario, sin modificar valores if (isset($_POST['idp']) && strlen($_POST['idp']) > 0) { $id_proyecto = $_POST['idp']; } else { // para el caso de un enlace a la página de editar $id_proyecto = $_GET['idp']; } // verifica que tras identificacion, tenemos un identificado valido if (strlen($id_proyecto) == 0 || $id_proyecto == 0) { ERR_muestra_pagina_error($pry_proyecto_desc, ""); exit; } //-------------------------------------------------------------------- // VERIFICA SI TIENE QUE INSERTAR/ACTUALIZAR REGISTRO TRAS AUTOLLAMADA //-------------------------------------------------------------------- if (isset($_POST['modificado']) && $_POST['modificado']) { // verifica si tenemos que borrar algun miembro for ($i = 1; $i <= $_POST['numero_col']; $i++) { if ($_POST["id_proy_b_{$i}"] == 1 && $_POST["id_proy_i_{$i}"] > 0) { // prepara consulta de borrado $consulta_borrar = "DELETE FROM colaborador_proyectos " . "WHERE id_proyecto=" . $id_proyecto . " AND id_colaborador=" . $_POST["id_proy_i_{$i}"]; // ejecuta consulta $resultado = mysql_query($consulta_borrar, $conexion); // pon mensaje de aviso si no fue bien if (!$resultado) {
} else { // Si no los hay, mostramos la página de la memoria de grupo // Mostramos los miembros de los que queremos la bibliografia $consulta_miembros = "SELECT id_miembro, nombre, apellidos " . "FROM miembros " . "ORDER BY apellidos ASC"; if (!($resultado_miembros = mysql_query($consulta_miembros))) { ERR_muestra_pagina_error("Error en consulta: {$consulta_miembros}"); } else { // Los mostramos for ($i = 0; $miembro = mysql_fetch_array($resultado_miembros); $i++) { $_content->assign("MIEMBRO", array_change_key_case($miembro, CASE_UPPER)); $_content->assign("NUMERO", $i); $_content->parse("content.miembro"); } } $consulta_proyectos = "SELECT id_proyecto,id_pr_bibtex " . "FROM proyectos "; if (!($resultado_proyectos = mysql_query($consulta_proyectos))) { ERR_muestra_pagina_error("Error en consulta: {$consulta_proyectos}"); } else { // Los mostramos for ($i = 0; $proyecto = mysql_fetch_array($resultado_proyectos); $i++) { $_content->assign("PROYECTO", $proyecto); $_content->assign("NUMERO", $i); $_content->parse("content.proyecto"); } } // Mostramos las fechas de inicio y fin } // Cierra la conexion con mysql mysql_close($conexion); $_content->parse("content"); require_once __DIR__ . '/includes/layout.php';
//-------------------------------------------------------------------------- //-------------------------------------------------------------------- // BORRA DE LAS TABLAS DEL PROYECTO //-------------------------------------------------------------------- $set_autocommit = "SET AUTOCOMMIT="; $consultas[1] = "DELETE FROM proyecto_miembros WHERE id_proyecto=" . $_GET['idp']; $consultas[2] = "DELETE FROM colaborador_proyectos WHERE id_proyecto=" . $_GET['idp']; $consultas[3] = "DELETE FROM software_proyectos WHERE id_proyecto=" . $_GET['idp']; $consultas[4] = "DELETE FROM proyecto_idiomas WHERE id_proyecto=" . $_GET['idp']; $consultas[5] = "DELETE FROM proyectos WHERE id_proyecto=" . $_GET['idp']; $consultas[6] = "COMMIT"; // los cambios solo se hacen al final, si no hubo error // desactiva autocommit $resultado = mysql_query($set_autocommit . "0", $conexion); if (!$resultado) { ERR_muestra_pagina_error("No se pudo eliminar el proyecto." & mysql_error(), ""); exit; } // realiza las consultas de borrado de miembro for ($i = 1; $i < 7; $i++) { $resultado = mysql_query($consultas[$i], $conexion); if (!$resultado) { ERR_muestra_pagina_error("No se pudo eliminar el proyecto." & mysql_error(), ""); exit; } } // vuelve a activar el autocommit (�Realmente es necesario?) $resultado = mysql_query($set_autocommit . "1", $conexion); ERR_muestra_pagina_mensaje("Se ha eliminado el proyecto del grupo.", ""); // cierra descriptor mysql_close($conexion);
} else { $consulta_mod = 'UPDATE ref_cadenas SET valor="' . $_POST["t_{$i}"] . '" WHERE cadena="' . $_POST["i_{$i}"] . '"'; } // ejecuta consulta $resultado = mysql_query($consulta_mod, $conexion); if (!$resultado) { echo "No se pudo ejecutar la consulta " . $consulta_mod; } } // verifica si hay un nuevo campo if (isset($_POST['nuevo_campo']) && strlen($_POST['nuevo_campo']) > 0) { $consulta_mod = 'INSERT INTO ref_cadenas(cadena,valor) VALUES("' . $_POST['nuevo_campo'] . '","' . $_POST['nuevo_texto'] . '")'; // ejecuta consulta $resultado = mysql_query($consulta_mod, $conexion); if (!$resultado) { ERR_muestra_pagina_error("Sinónimo ya definido", ""); return; } } } //-------------------------------------------------------------------- // OBTIENE LOS VALORES DE CADENAS DE LA BASE DE DATOS // E INSERTALOS EN LA PÁGINA //-------------------------------------------------------------------- $numero_cadenas = 0; $consulta_cadenas = 'SELECT cadena, valor FROM ref_cadenas ORDER BY cadena ASC'; $resultado = mysql_query($consulta_cadenas, $conexion); while ($fila = mysql_fetch_row($resultado)) { $numero_cadenas = $numero_cadenas + 1; $lista_valores = array('SINONIMO' => $fila[0], 'ID_SIN' => "i_{$numero_cadenas}", 'T_SIN' => "t_{$numero_cadenas}", 'B_SIN' => "b_{$numero_cadenas}", 'TEXTO_SIN' => $fila[1]); $_content->assign('LISTA', $lista_valores);
} } } else { if (isset($_POST['texto_bib']) && strlen($_POST['texto_bib']) > 0) { $registros_importados = TRUE; // lee el texto bibtex $leido = lectura_texto_bibtex($_POST['texto_bib'], $bibliografia, $error_log); // si se ha leido algun registro, insertalo en la base de datos if ($leido) { inserta_BD_referencias($bibliografia, $log_insercion); } } } // si no se importo bien el Bibtex, indicalo if (isset($leido) && $leido == FALSE && $registros_importados) { ERR_muestra_pagina_error($error_log, ""); exit; } if ($registros_importados) { // inicia contadores $contador_insercion = 0; $contador_actualizacion = 0; $contador_error = 0; $contador_avisos = 0; // inserta todos los registros de inserción foreach ($log_insercion as $entrada) { switch ($entrada[0]) { case 0: $_content->assign("ENTRADA", '<font color="#AA1111">' . $entrada[1] . '</font>'); $contador_error++; break;
} // Realizamos el bucle para mostrar los proyectos while ($proyecto = mysql_fetch_array($resultado_proyectos)) { print_r($proyecto); echo "<br /><br />"; } echo "<br />"; // CONSULTA MIEMBROS $consulta_gen = "SELECT miembros.id_miembro, miembros.nombre, responsable " . "FROM linea_miembros LEFT JOIN miembros " . "ON linea_miembros.id_miembro = miembros.id_miembro " . "WHERE id_linea = {$_GET['idl']} AND categoria ="; // Para cada una de las categorias busca los miembros foreach ($mbr_rel_grupos as $grupo => $grupo_web) { // Construye consulta $consulta_miembros = "{$consulta_gen} '{$grupo}'"; // Realiza consulta de miembro if (!($resultado_miembros = mysql_query($consulta_miembros))) { ERR_muestra_pagina_error("Error en consulta: {$consulta_miembros}"); } // Comprueba si hay miembros en el proyecto if (mysql_num_rows($resultado_miembros) > 0) { while ($miembro = mysql_fetch_array($resultado_miembros)) { // Si es el responsable lo mostramos como tal if ($miembro['responsable'] == 1) { $_content->parse("content.lista_miembros.fila.responsable"); } // Crea el array de valores $lista_valores = array('IDM' => $miembro['id_miembro'], 'NOMBRE' => $miembro['nombre'], 'CATEGORIA' => $grupo_web); // asigna valores a la pagina $_content->assign("LISTAM", $lista_valores); $_content->parse("content.lista_miembros.fila"); } }
// VERIFICA SI TIENE QUE INSERTAR/ACTUALIZAR REGISTRO TRAS AUTOLLAMADA //-------------------------------------------------------------------- // le hemos dado a actualizar al formulario, modificando valores if (isset($_POST['modificado']) && $_POST['modificado'] == 1) { // llama a la funcion de insertar/actualizar $id_grupo = colaborador_insertar($conexion, $_POST); } else { if (isset($_POST['idc'])) { $id_grupo = $_POST['idc']; } else { $id_grupo = $_GET['idc']; } } // verifica que tras identificacion, tenemos un identificado valido if (strlen($id_grupo) === 0) { ERR_muestra_pagina_error("Grupo desconocido", ""); exit; } //-------------------------------------------------------------------- // RELLENA FORMULARIO DE BORRADO SI NO ES NUEVO //-------------------------------------------------------------------- if ($id_grupo !== 0) { $_content->assign("IDC", $id_grupo); $_content->parse("content.form_borrar"); } //-------------------------------------------------------------------- // CONSULTA DE COLABORADORES //-------------------------------------------------------------------- if ($id_grupo !== 0) { // definicion de consultas de la base de datos $consulta_grupos = 'SELECT id_grupo, nombre_grupo, descripcion, link_grupo,' . 'publico FROM grupos_colaboradores WHERE id_grupo=' . $id_grupo;
} // si tiene un campo crossref, obtiene sus campos if (strlen($campos_public['crossref']) > 0) { // construye consulta $consulta_crossref = "SELECT campo, valor " . "FROM ref_relacion " . "LEFT JOIN ref_campos " . "ON ref_relacion.id_campos = ref_campos.id_campo_ref " . "WHERE referencia_cruzada = 1 AND id_ref = {$id_referencia['id_referencia']}"; // ejecutala y obtiene campos nuevos if ($resul_campos = mysql_query($consulta_crossref, $conexion)) { while ($campos_fila = mysql_fetch_array($resul_campos)) { // asigna solo si no hay ya un campo del hijo if (strlen($campos_public[$campos_fila['campo']]) == 0) { $campos_public[$campos_fila['campo']] = $campos_fila['valor']; AUX_sustitucion_sinonimos($lista_sinonimos, $campos_public[$campos_fila['valor']]); } } } else { ERR_muestra_pagina_error("Error en consulta: {$consulta_crossref}"); } } // si el año a cambiado respecto al anterior, // inserta nueva cabecera de año if ($id_referencia['anyo'] != $anyo_publicacion) { // cierra la lista anterior $_content->parse("content.publicaciones.lista"); // asigna nuevo año $anyo_publicacion = $id_referencia['anyo']; $anyo_public_str = str_replace("9999", "---", $anyo_publicacion); // inserta cabecera de año y cierra lista $_content->assign("ANYO_PUBLICACION", $anyo_public_str); $_content->parse("content.publicaciones.lista.cabecera_anyo"); } // inserta la cadena formateada en la pagina
// borrar directorio rmdir($software_dir_paquetes . 'paq_' . $_GET['ids']); //-------------------------------------------------------------------- // BORRA DE LAS TABLAS DEL PROYECTO //-------------------------------------------------------------------- $set_autocommit = "SET AUTOCOMMIT="; $consultas[1] = "DELETE FROM software_proyectos WHERE id_software=" . $_GET['ids']; $consultas[2] = "DELETE FROM paquetes_software WHERE id_software=" . $_GET['ids']; $consultas[3] = "DELETE FROM software_idiomas WHERE id_software=" . $_GET['ids']; $consultas[4] = "DELETE FROM software WHERE id_software=" . $_GET['ids']; $consultas[5] = "COMMIT"; // los cambios solo se hacen al final, si no hubo error // desactiva autocommit $resultado = mysql_query($set_autocommit . "0", $conexion); if (!$resultado) { ERR_muestra_pagina_error("No se pudo eliminar el software." & mysql_error(), ""); exit; } // realiza las consultas de borrado de miembro for ($i = 1; $i < 6; $i++) { $resultado = mysql_query($consultas[$i], $conexion); if (!$resultado) { ERR_muestra_pagina_error("No se pudo eliminar el software." & mysql_error(), ""); exit; } } // vuelve a activar el autocommit (¿Realmente es necesario?) $resultado = mysql_query($set_autocommit . "1", $conexion); ERR_muestra_pagina_mensaje("Se ha eliminado el software del grupo.", ""); // cierra descriptor mysql_close($conexion);
return; } // selecciona base de datos mysql_select_db($BASE_DATOS, $conexion); //-------------------------------------------------------------------- // BORRA DE LAS TABLAS DEL PROYECTO //-------------------------------------------------------------------- $set_autocommit = "SET AUTOCOMMIT="; $consultas[1] = 'DELETE FROM colaborador_proyectos, colaboradores USING ' . 'colaborador_proyectos, colaboradores WHERE ' . 'colaborador_proyectos.id_colaborador=colaboradores.id_colaborador ' . 'AND grupo_pertenece=' . $_GET['idc']; $consultas[2] = "DELETE FROM grupos_colaboradores WHERE id_grupo=" . $_GET['idc']; $consultas[3] = "COMMIT"; // los cambios solo se hacen al final, si no hubo error // desactiva autocommit $resultado = mysql_query($set_autocommit . "0", $conexion); if (!$resultado) { ERR_muestra_pagina_error("No se pudo eliminar el colaborador." & mysql_error(), ""); exit; } // realiza las consultas de borrado de miembro for ($i = 1; $i < 4; $i++) { $resultado = mysql_query($consultas[$i], $conexion); if (!$resultado) { ERR_muestra_pagina_error("No se pudo eliminar el colaborador." & mysql_error(), ""); exit; } } // vuelve a activar el autocommit (¿Realmente es necesario?) $resultado = mysql_query($set_autocommit . "1", $conexion); ERR_muestra_pagina_mensaje("Se ha eliminado el grupo colaborador.", ""); // cierra descriptor mysql_close($conexion);
require_once __DIR__ . '/common/init.php'; //-------------------------------------------------------------------------- // lineas_investigacion.php // // Genera la página principal de lineas de investigacion y los exporta al template // lineas_investigacion.html. Se genera una lista con el enlace a su página de // información. //-------------------------------------------------------------------------- // CONSULTA DE PROYECTOS //------------------------------------------------------------------------------ // Cremos la consulta SQL $consulta_lineas = "SELECT lineas.id_linea, titulo, descrip_corta, publico " . "FROM lineas LEFT JOIN linea_idiomas " . "ON lineas.id_linea = linea_idiomas.id_linea " . "WHERE idioma = '{$idioma}' " . "ORDER BY publico DESC"; // Realiza consulta para ver campos distintos if (!($resultado_lineas = mysql_query($consulta_lineas))) { ERR_muestra_pagina_error("Error en consulta: {$consulta_lineas}"); } // Variable para controlar los proyectos no publicos // Imprime para cada linea de investigacion una entrada while ($linea = mysql_fetch_array($resultado_lineas)) { //echo "id: {$linea['id_linea']}; titulo: {$linea['titulo']}; corta: {$linea['descrip_corta']}"; // PUBLICOS?? $_content->assign("LINEA", $linea); $_content->assign("STYLE", ''); // Solo si se es el admin (IDM=0) if (isset($_SESSION['privilegios']) == ADMIN) { // Mostramos el boton para poder editar $_content->assign("IDL", $linea['id_linea']); $_content->parse("content.lineas.fila.editar"); // Lo colocamos en el lado derecho $_content->assign("STYLE", 'style="float: left;"');
} $_content->parse('content.estado_public'); } //-------------------------------------------------------------------- // CONSULTA DE CAMPOS DE BUSQUEDA //-------------------------------------------------------------------- // inicializacion de variables $valores_lista = array(); $valores_prv_lista = array(); $num_campos = 0; $num_campos_pv = 0; // definicion de consultas de la base de datos $consulta_campos = "SELECT DISTINCT campo " . "FROM ref_campos " . "ORDER BY campo ASC"; // realiza consulta para ver campos distintos if (!($resultado_campos = mysql_query($consulta_campos))) { ERR_muestra_pagina_error("Error en consulta: {$consulta_campos}"); } // obtiene resultados de los distintos campos de la BD while ($campo = mysql_fetch_array($resultado_campos)) { // si el campo está en la lista de traducidos, inserta su traducción if (array_key_exists($campo['campo'], $public_traduc_campos)) { // inserta campo en array $valores_lista[$num_campos]['VAL1'] = $campo['campo']; // incrementa el número de campos $num_campos++; } else { $valores_prv_lista[$num_campos_pv]['VAL1'] = $campo['campo']; // incrementa el número de campos $num_campos_pv++; } }
<?php /** * */ // Carga los includes de la cabecera require_once 'common/init.php'; require_once "common/common_pub.php"; require_once 'model/includes/miembros.php'; if (isset($_GET['id_miembro'])) { $id_miembro = $_GET['id_miembro']; } else { ERR_muestra_pagina_error($mbr_usuario_desc, ""); exit; } if (isset($_POST['modificado']) && $_POST['modificado'] == 1) { $sql = "UPDATE formato_bibtex " . "SET author = '" . $_POST['author'] . "', " . "title = '" . $_POST['title'] . "', " . "other = '" . $_POST['other'] . "' " . "WHERE id_miembro = '" . $id_miembro . "'"; mysql_query($sql); if (mysql_affected_rows == 0) { $sql = "INSERT INTO formato_bibtex " . "VALUES (" . $id_miembro . ", 'Predeterminado', " . "'" . $_POST['author'] . "', '" . $_POST['title'] . "', " . "'" . $_POST['other'] . "')"; mysql_query($sql); } } $miembro = getMiembroDatos($id_miembro); // Asigna la variable miembro a la plantilla $_content->assign('MIEMBRO', arrayUpper($miembro)); // Si es el miembro o si es el ADMIN, carga el submenu $isAdmin = $_SESSION['privilegios'] == ADMIN; if ($_SESSION['id_miembro'] == $id_miembro || $isAdmin) { // Si es Administrador, muestra el menu de borrar if ($isAdmin) {