//--------------------------------------------------------------------------
//--------------------------------------------------------------------
// 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
Example #2
0
// 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) {
Example #4
0
} 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);
Example #13
0
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;"');
Example #14
0
    }
    $_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) {