<?php
//la generacion de borradores esta deshabilitada hasta encontrar una solucion
//para generar las copias sin borrar el formulario
//actualmente se borra con cada envio (existen 2 formularios)
//verificar solucion mediante ajax
// *****************************configuracion de la base de datos y conexion de la misma************************************/
include_once("conexion.php");
//*************************************************funciones utilizadas**************************************************/
include("top.php");
//******************************************************nivel de usuario**************************************************/
if($_SESSION['nivel'] != 2){
oiError("Usted no tiene acceso a este recurso");
?>
<td width="100%">
<tr>
<td colspan="2"><div class="heading1">Sin acceso, solicite información con su administrador</div></td>
</tr>
<tr>
<td width="1"><img src="imagenes/pixel.gif" width="1" height="0" border="0"></td>
<td width="100%" valign="top">
<?php
include ("pie.php");
exit();
}
//*************************************inicializamos variables que se utilizaran en la forma*********************************/
$ar_datos = misDatos();// mete en la variable la lista de los datos obtenidos
$ar_areas = misAreas();
//*************************************************************motor de envio*************************************************************/
if($_GET[cert]=="salida"){
// verifica datos en null
if( empty($_POST['no_oficio']) ||
empty($_POST[destinatario]) ||
empty($_POST[contenido]) ){
oiError("Hay espacios necesarios que no se han completado");
}else{
if(($HTTP_POST_FILES['userfile']['name']) != ""){
//cuando se envia un archivo este codigo lo procesa
//datos del arhivo
$mi_nombre1 = $_POST[no_oficio];
$mi_nombre = str_replace ("/", "-", "$mi_nombre1");
$tipo_archivo = $HTTP_POST_FILES['userfile']['type'];
if(strpos($tipo_archivo, "zip")){
$extension = "zip";
}elseif(strpos($tipo_archivo, "rar")){
$extension = "rar";
}elseif(strpos($tipo_archivo, "7z")){
$extension = "rar";
}elseif(strpos($tipo_archivo, "gzip")){
$extension = "rar";
}elseif(strpos($tipo_archivo, "tar")){
$extension = "rar";
}elseif(strpos($tipo_archivo, "lzh")){
$extension = "rar";
}elseif(strpos($tipo_archivo, "ace")){
$extension = "rar";
}
$nombre_original = $HTTP_POST_FILES['userfile']['name'];
$nombre_archivo = "$mi_nombre"."."."$extension";
$tamano_archivo = $HTTP_POST_FILES['userfile']['size'];
//comprobar la extension del archivo
if (!((
strpos($tipo_archivo, "zip") ||
strpos($tipo_archivo, "rar") ||
strpos($tipo_archivo, "7z") ||
strpos($tipo_archivo, "gzip") ||
strpos($tipo_archivo, "tar") ||
strpos($tipo_archivo, "lzh") ||
strpos($tipo_archivo, "ace")) && ($tamano_archivo < 10000000))) {//<--100 MB
oiError("La extensión o el tamaño de los archivos no es correcta. <br><br>
Se permiten archivos con extensiones: zip, rar, 7z, gzip, tar, lzh y ace. solamente<br>
Se permiten archivos con un tamaño máximo de 100 MB.");
}else{
if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], "documentos/".$nombre_archivo)){
oiNotify("Se adjuntó el archivo $nombre_original correctamente");
}else{
oiError("Ocurrió algún error al subir el fichero $nombre_original, ¡no pudo guardarse! verificar upload_max_filesize");
}
}
}else{
$nombre_archivo = "0";
}
//remplazando caracteres invalidos en el contenido del oficio
$contenido1 = $_POST['contenido'];
$contenido2 = str_replace ("'", "´", "$contenido1");
$contenido3 = str_replace ("\"", "´", "$contenido2");
$contenido = str_replace ("\\", "´", "$contenido3");
$fecha_oficio = date( "Y:m:d", mktime (date("H"),date("i"),0,date("m"), date("d"), date("Y")) );
$ident = $_POST[area];
$tipo = datosArea($ident,"tipo");
$sub1 = datosArea($ident,"sub1");
$sub2 = datosArea($ident,"sub2");
$sub3 = datosArea($ident,"sub3");
$sub4 = datosArea($ident,"sub4");
$sub5 = datosArea($ident,"sub5");
$sub6 = datosArea($ident,"sub6");
$sub7 = datosArea($ident,"sub7");
$sub8 = datosArea($ident,"sub8");
$sub9 = datosArea($ident,"sub9");
$hash = md5($contenido);
$quien = $_SESSION['id_usuario'];
$pass = md5(datosUsuario($quien,"password"));
$firmx = mhash(MHASH_HAVAL256,$_POST[contenido],$pass);
$firma = bin2hex($firmx);
/*** ***************digitaldoc_env********************** ************/
//se forma la query que inserta los datos en la tabla oficios que será la primera en la relacion uno a varios
$q = "UPDATE `digitaldoc_env` SET
`fecha_oficio` = '$fecha_oficio',
`descripcion` = '$_POST[descripcion]',
`id_usr_de` = '$_POST[idcaptura]',
`id_usr_para` = '$_POST[destinatario]',
`hash` = '$hash',
`firma` = '$firma',
`contenido` = '$contenido',
`id_area` = '$_POST[area]',
`tipo` = '$tipo',
`sub1` = '$sub1',
`sub2` = '$sub2',
`sub3` = '$sub3',
`sub4` = '$sub4',
`sub5` = '$sub5',
`sub6` = '$sub6',
`sub7` = '$sub7',
`sub8` = '$sub8',
`sub9` = '$sub9',
`borrador` = '$_POST[borrador]',
`doc_anexo` = '$nombre_archivo',
`id_captura` = '$_POST[idcaptura]'
WHERE `id_digital` = '$_POST[id_digital]' LIMIT 1";
// ejecuta la actualizacion de la query
mysql_query($q,$sql_link);
if( mysql_affected_rows($sql_link) <= 0 ){
oiError("No se ingreso el oficio correspondiente"." ".mysql_error($sql_link));
}
/*****************digitaldoc_rec**********************/
if($_POST['borrador'] != 1){
$idenv = datosUsuario($_POST[destinatario],"id_area");
$tipo = datosArea($idenv,"tipo");
$sub1 = datosArea($idenv,"sub1");
$sub2 = datosArea($idenv,"sub2");
$sub3 = datosArea($idenv,"sub3");
$sub4 = datosArea($idenv,"sub4");
$sub5 = datosArea($idenv,"sub5");
$sub6 = datosArea($idenv,"sub6");
$sub7 = datosArea($idenv,"sub7");
$sub8 = datosArea($idenv,"sub8");
$sub9 = datosArea($idenv,"sub9");
//se forma la query que inserta los datos en la tabla oficios que será la primera en la relacion uno a varios
$q2 = "INSERT INTO `digitaldoc_rec` (no_oficio,fecha_oficio,fecha_acuse,descripcion,id_usr_de,id_usr_para,hash,firma,contenido,id_area,tipo,sub1,sub2,sub3,sub4,sub5,sub6,sub7,sub8,sub9,leido,acuse,doc_anexo,id_captura) VALUES(
'$_POST[no_oficio]',
'$fecha_oficio',
'$_POST[fecha_acuse]',
'$_POST[descripcion]',
'$_POST[idcaptura]',
'$_POST[destinatario]',
'$hash',
'$firma',
'$contenido',
'$_POST[area]',
'$tipo',
'$sub1',
'$sub2',
'$sub3',
'$sub4',
'$sub5',
'$sub6',
'$sub7',
'$sub8',
'$sub9',
'$_POST[leido]',
'$_POST[acuse]',
'$nombre_archivo',
'$_POST[idcaptura]')";
// ejecuta la actualizacion de la query
mysql_query($q2,$sql_link);
if( mysql_affected_rows($sql_link) <= 0 ){
oiError("No se ingreso el oficio correspondiente"." ".mysql_error($sql_link));
}
else
{ // script para el envio de las copias tanto internas como externas
if(isset($_POST['datos'])){
//para cada entrada de datos num es igual a item
foreach( $_POST['datos'] as $num => $item )//<-- envio de copias internas
{
if( $item != NULL && !empty($item) )
{
$iden_ar = (datosUsuario($_POST['datos'][$num],"id_area"));
$tipo = datosArea($iden_ar,"tipo");
$sub1 = datosArea($iden_ar,"sub1");
$sub2 = datosArea($iden_ar,"sub2");
$sub3 = datosArea($iden_ar,"sub3");
$sub4 = datosArea($iden_ar,"sub4");
$sub5 = datosArea($iden_ar,"sub5");
$sub6 = datosArea($iden_ar,"sub6");
$sub7 = datosArea($iden_ar,"sub7");
$sub8 = datosArea($iden_ar,"sub8");
$sub9 = datosArea($iden_ar,"sub9");
// construyendo la query
$q = "INSERT INTO `digitaldoc_cc` (int_ext,ccp,dest_ext,no_oficio,fecha_acuse,hash,id_area,tipo,sub1,sub2,sub3,sub4,sub5,sub6,sub7,sub8,sub9,leido,acuse,id_captura) VALUES(
'".'int'."',
'".$_POST['datos'][$num]."',
'".'int'."',
'".$_POST[no_oficio]."',
'".$_POST[fecha_acuse]."',
'$hash',
'".$iden_ar."',
'$tipo',
'$sub1',
'$sub2',
'$sub3',
'$sub4',
'$sub5',
'$sub6',
'$sub7',
'$sub8',
'$sub9',
'$_POST[leido]',
'$_POST[acuse]',
'".$_POST[idcaptura]."')";
mysql_query($q,$sql_link);
if( mysql_affected_rows($sql_link) <= 0 ){
oiError("No se enviaron las copias internas"." ".mysql_error($sql_link)." ".mysql_affected_rows($sql_link));
}else{
oiNotify("Las copias locales se enviaron satisfactoriamente");
}
}
}
}
if(isset($_POST['datos_ext'])){
//para cada entrada de datos num es igual a item
foreach( $_POST['datos_ext'] as $num => $item )//<-- envio de copias externas
{
if( $item != NULL && !empty($item) )
{
$iden_ar = (datosUsuario($_POST['datos_ext'][$num],"id_area"));
$tipo = datosArea($iden_ar,"tipo");
$sub1 = datosArea($iden_ar,"sub1");
$sub2 = datosArea($iden_ar,"sub2");
$sub3 = datosArea($iden_ar,"sub3");
$sub4 = datosArea($iden_ar,"sub4");
$sub5 = datosArea($iden_ar,"sub5");
$sub6 = datosArea($iden_ar,"sub6");
$sub7 = datosArea($iden_ar,"sub7");
$sub8 = datosArea($iden_ar,"sub8");
$sub9 = datosArea($iden_ar,"sub9");
// construyendo la query
$q = "INSERT INTO `digitaldoc_cc` (int_ext,ccp,dest_ext,no_oficio,fecha_acuse,hash,id_area,tipo,sub1,sub2,sub3,sub4,sub5,sub6,sub7,sub8,sub9,leido,acuse,id_captura) VALUES(
'".'ext'."',
'".'ext'."',
'".$_POST['datos_ext'][$num]."',
'".$_POST[no_oficio]."',
'".$_POST[fecha_acuse]."',
'$hash',
'".$iden_ar."',
'".'ext'."',
'".'ext'."',
'".'ext'."',
'".'ext'."',
'".'ext'."',
'".'ext'."',
'".'ext'."',
'".'ext'."',
'".'ext'."',
'".'ext'."',
'".'ext'."',
'".'ext'."',
'".$_POST[idcaptura]."')";
mysql_query($q,$sql_link);
if( mysql_affected_rows($sql_link) <= 0 )
oiError("No se registraron las copias externas"." ".mysql_error($sql_link)." ".mysql_affected_rows($sql_link));
}
}
oiNotify("El envio de copias externas resultó exitoso");
}
}
}
oiNotify("Se ingreso el oficio de forma correcta");
}
}
//******************************************Inicio de la forma de envio y el diseño****************************************
?>
<td width="100%">
<tr>
<td colspan="2"><div class="heading1">Documentación digital -editar borrador</div></td>
</tr>
<tr>
<td width="1"><img src="imagenes/pixel.gif" width="1" height="0" border="0"></td>
<td width="100%" valign="top">
<script language="JavaScript">
function popupwin(url,x,y,title,resize,scroll){
var left = Math.floor( (screen.width-x) / 2);
var top = Math.floor( (screen.height-y) / 2);
var winParms = "top=" + top + ",left=" + left + ",height="+y+",width="+x+",scrollbars="+scroll+",toolbar=no,menubar=no,resizable="+resize+",location=no,directories=no,status=no";
mywin=open(url,title,winParms);
}
</script>
<?php
menu_digital("2");
?>
<br><br>
<?php
$quien = $_SESSION['id_usuario'];
$esta_area = datosUsuario($quien,"id_area");
$id = $_GET['id'];
$numero_oficio = datosDigitalenv($id,"no_oficio");
$resumen = datosDigitalenv($id,"descripcion");
$contenido = datosDigitalenv($id,"contenido");
?>
<table width="100%">
<tr>
<td class="titulo3">Enviar documento oficial (solo intranet)</td>
</tr>
</table>
<!--*******************barra de ingreso para el numero de copias****************************-->
<tr>
<td>
<div align="right" class="titulo7">
<form name="changedatos" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data">
Número de copias:
<INPUT type="text" class="upload" size=3 name="num_datos" value="<?php if (isset($_POST['num_datos'])){ echo $_POST['num_datos'];}else{echo "X";} ?>" maxlength="2"> internas y
<INPUT type="text" class="upload" size=3 name="num_datos_ext" value="<?php if (isset($_POST['num_datos_ext'])){ echo $_POST['num_datos_ext'];}else{echo "X";} ?>" maxlength="2"> externas
<INPUT class="upload" type="submit" name="SUBMIT" value="-->" onClick="document.changedatos.submit()">
<a href='#' onClick="popupwin('ayuda_ccp.php',500 ,350,'','yes','yes')"><img src="imagenes/ayuda.gif" title="mostrar ayuda"border="0"></a>
</form></div>
</td>
</tr>
<!--********************formulario del contenido del oficio***************************-->
<form action="editar_digital.php?cert=salida" method="post" enctype="multipart/form-data" name="forma_envio" >
<table width="100%">
<tr>
<input name="no_oficio" type="hidden" value="<?php echo $numero_oficio?>"/>
<input name="id_digital" type="hidden" value="<?php echo $id?>"/>
<td class="contenido3"><div>Número de oficio: <?php echo $numero_oficio?></div><div align="right"> Destinatario
<select name="destinatario" size='1' class="Text220">
<option></option>
<?php
lista_usuarios();
?>
</select>
</div></td>
</tr>
<tr>
<td class="contenido3">
Resumen:<br><input name="descripcion" style='WIDTH: 100%; HEIGHT: 20px' rows=4 cols=30 value="<?php if (isset($_POST['descripcion'])){ echo $_POST['descripcion'];}else{echo $resumen;} ?>">
Contenido:<br><textarea name="contenido" style='WIDTH: 100%; HEIGHT: 200px' rows=4 cols=30><?php if (isset($_POST['contenido'])){ echo $_POST['contenido'];}else{echo $contenido;} ?></textarea>
</td>
</tr>
<input name="idcaptura" type="hidden" value="<?php echo $quien ?>"/>
<input name="acuse" type="hidden" value="0"/>
<input name="leido" type="hidden" value="0"/>
<input name="area" type="hidden" value="<?php echo $esta_area ?>"/>
<!--********************envio de archivos************************-->
<tr>
<td class="titulo6">
<input type="hidden" name="MAX_FILE_SIZE" value="10000000">
<b>Anexar archivo: </b>
<input class="upload" name="userfile" type="file">Archivos válidos: zip, rar, 7z, gzip, tar, lzh y ace, con un tamaño maximo de 10 MB.
</td>
</tr>
<tr>
<td class="contenido3">
<input name="borrador" type="checkbox" value="1"/>Guardar como borrador
</td>
</tr>
<tr><td colspan="3" align="center"><hr>
<?php
/*************************************************formulario duplicativo para envio de copias*********************************/
if( ($_POST['num_datos'] == "X" or !isset($_POST['num_datos'])) and
(($_POST['num_datos_ext'] == "X" or !isset($_POST['num_datos_ext']))))
{
?>
<tr>
<td class="contenido3">
No se enviarán copias
</td>
<?php
}
else
{
// duplicar las copias internas de acuerdo a la variable $num_datos
if( is_array($ar_datos) && $ar_datos != "-1" )
{
$num_datos = $_POST['num_datos'];
if($num_datos == 0){$num_datos = "X";}
if (ctype_alpha($num_datos) && $num_datos != "X") {
?>
<tr>
<td class="contenido3">
No se debieran ingresar letras en el campo destinado a números 1
</td>
<?php
}
for( $i=0; $i<$num_datos; $i++ )
{
echo "<table width='100%' border='0'>";
echo "<tr class=\"row2\">";
echo "<td><table width='50%' border='0'>";
echo "<tr>";
echo "<td><font size='2' color='#000000' face='Tahoma'>CC.</font> ";
echo "<select class=\"Text290\" name=\"datos[]\" size='1'>";
lista_usuarios();
echo "</select></td>";
echo "</tr>";
echo "</table> </td>";
echo "</tr>";
echo "</table>\n";
}
echo "</tr>\n";
}else{echo "<tr><td colspan=\"3\">"."No se pueden asignar copias internas"."</td></tr>";}
// duplicar las copias externas de acuerdo a la variable $num_datos_ext
$num_datos_ext = $_POST['num_datos_ext'];
if($num_datos_ext == 0){$num_datos_ext = "X";}
if($num_datos_ext == "X" )
{
echo "";
}else{
if (ctype_alpha($num_datos_ext) && $num_datos_ext != "X" ) {
?>
<tr>
<td class="contenido3">
No se debieran ingresar letras en el campo destinado a números 2
</td>
<?php
}
for( $i=0; $i<$num_datos_ext; $i++ )
{
echo "<table width='100%' border='0'>";
echo "<tr class=\"row2\">";
echo "<td><table width='50%' border='0'>";
echo "<tr>";
echo "<td><font size='2' color='#000000' face='Tahoma'>CC.</font> ";
echo "<input class=\"Text290\" name=\"datos_ext[]\" size='1' value=''>";
echo "</td>";
echo "</tr>";
echo "</table></td>";
echo "</tr>";
echo "</table>\n";
}
}
}
?>
<tr align="center"><td colspan="3"><hr>
<center><input class="boton" type="submit" name="envia_datos" value="Agregar registro">
<input class="boton" type="reset" name="reset" value="Resetear registro"></center>
<hr></td></tr>
</form>
<?php
include ("pie.php");
?>