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.", "");
//-------------------------------------------------------------------------- //-------------------------------------------------------------------- // 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);
// 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);
// imprime el campo OPTidioma, OPTestado y OPTenlace fwrite($desc, ",\n OPTidioma = " . $referencia[3]); fwrite($desc, ",\n OPTestado = " . $referencia[4]); if ($referencia[6] != 'N') { fwrite($desc, ",\n OPTenlace = " . $referencia[5]); } // escribe una llave y dos saltos de linea para cerrar registro fwrite($desc, "\n}\n\n"); } // cierra fichero fclose($desc); //-------------------------------------------------------------- // EJECUTA CONSULTAS DE BORRADO //-------------------------------------------------------------- // define consultas de borrado $consultas_borrar = array("DELETE FROM ref_cadenas ", "DELETE FROM ref_campos ", "DELETE FROM ref_relacion", "DELETE FROM referencias "); // 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 tabla." . " Error de consulta: " . $consulta, ""); exit; } } // cierra descriptor mysql_close($conexion); // muestra mensaje de todo OK ERR_muestra_pagina_mensaje("Se han eliminado todas las referencias de las tablas.", "");
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);