Código PHP:
<?php
if(isset($_GET['libroid'])){
if((isset($_SESSION['user_usernamever']))&&($_SESSION['user_usernamever'] != "Anonymous")){
// corroboramos si el usuario ya descargo o no comprovando si existe un registro del mismo
if($totalRows_descargas_datos == "1"){ // si ya hay registro del usuario corroboramos cuanto gasto de su transferencia
// SI LA TRANSFERENCIA PERMITIDA ES MAYOR QUE LA UTILIZADA PERMITIMOS LA DESCARGA
if($row_descargas_datos['transferencia_utilizada'] < $row_descargas_datos['transferencia_permitida']){
////////////////////////////////////////////////////////////////////////////////////////
// PERMITIMOS LA DESCARGA //////////////////////////////////////////////////////////////
$descargado_nveces = $row_libro_descargar['descargas_libro']+1;
// ACTUALIZACION DE LOS DATOS DEL LIBRO
$updateSQL = sprintf("UPDATE libros SET nombre_libro=%s, autor_libro=%s, descripcion_libro=%s, biblioteca_libro=%s, usuario_libro=%s, fecha_publicacion_libro=%s, descargas_libro=%s, ruta_libro=%s, disponibilidad_libro=%s WHERE id=%s",
GetSQLValueString($row_libro_descargar['nombre_libro'], "text"),
GetSQLValueString($row_libro_descargar['autor_libro'], "text"),
GetSQLValueString($row_libro_descargar['descripcion_libro'], "text"),
GetSQLValueString($row_libro_descargar['biblioteca_libro'], "text"),
GetSQLValueString($row_libro_descargar['usuario_libro'], "text"),
GetSQLValueString($row_libro_descargar['fecha_publicacion_libro'], "text"),
GetSQLValueString($descargado_nveces, "text"),
GetSQLValueString($row_libro_descargar['ruta_libro'], "text"),
GetSQLValueString($row_libro_descargar['disponibilidad_libro'], "text"),
GetSQLValueString($row_libro_descargar['id'], "int"));
mysql_select_db($database_nombredelsitio_libros, $nombredelsitio_libros);
$Result1 = mysql_query($updateSQL, $nombredelsitio_libros) or die(mysql_error());
// ACTUALIZACION DE LOS DATOS DE DESCARGA DEL USUARIO
$descargas_realizadas_por_el_usuario = $row_descargas_datos['descargas_totales']+1;
// CORROBORACION DE MES Y AÑO PARA BORRADO DE TRANSFERENCIA UTILIZADA AL CAMBIAR DE MES
// Si el mes que corre y el año que corre son identicos al mes y el año de la ultima descarga, sumamos la transferencia utilizada al peso del archivo, para actualizar el valor de la transferencia ya utilizada en el mes.
if(($row_descargas_datos['mes_ultimadescarga'] == date("n"))&&($row_descargas_datos['anyo_ultimadescarga'] == date("Y"))){
$transferencia_utilizada_por_el_usuario = $row_descargas_datos['transferencia_utilizada'] + filesize($row_libro_descargar['ruta_libro']);
} else if(($row_descargas_datos['mes_ultimadescarga'] != date("n"))||($row_descargas_datos['anyo_ultimadescarga'] != date("Y"))){ // Si el mes o el año de la ultima descarga difiere de el mes o el año corriente boramos la transferencia utilizada, y damos como primer valor del mes el peso del archivo solicitado.
$transferencia_utilizada_por_el_usuario = filesize($row_libro_descargar['ruta_libro']);
}
//////////// FIN DE CORROBORACION DE MES Y AÑO PARA BORRADO DE TRANSFERENCIA MENSUAL UTILIZADA ///////////
$mes_deultimadescarga = date("n");
$anyo_deultimadescarga = date("Y");
$updateSQL = sprintf("UPDATE descargas SET usuario=%s, descargas_totales=%s, transferencia_permitida=%s, transferencia_utilizada=%s, mes_ultimadescarga=%s, anyo_ultimadescarga=%s, pago_donacion=%s, monto_donado=%s, dia_que_dono=%s, mes_que_dono=%s, anyo_que_dono=%s WHERE id=%s",
GetSQLValueString($_SESSION['user_usernamever'], "text"),
GetSQLValueString($descargas_realizadas_por_el_usuario, "text"),
GetSQLValueString($row_descargas_datos['transferencia_permitida'], "text"),
GetSQLValueString($transferencia_utilizada_por_el_usuario, "text"),
GetSQLValueString($mes_deultimadescarga, "text"),
GetSQLValueString($anyo_deultimadescarga, "text"),
GetSQLValueString($row_descargas_datos['pago_donacion'], "text"),
GetSQLValueString($row_descargas_datos['monto_donado'], "text"),
GetSQLValueString($row_descargas_datos['dia_que_dono'], "text"),
GetSQLValueString($row_descargas_datos['mes_que_dono'], "text"),
GetSQLValueString($row_descargas_datos['anyo_que_dono'], "text"),
GetSQLValueString($row_descargas_datos['id'], "int"));
mysql_select_db($database_nombredelsitio_libros, $nombredelsitio_libros);
$Result1 = mysql_query($updateSQL, $nombredelsitio_libros) or die(mysql_error());
// header("Location: libros.php?libroid=" .$row_libro_descargar['id']. "&descargarlibro=ok");
echo "<script language=\"javascript\">location.href = \"libros.php?libroid=" .$row_libro_descargar['id']. "&descargarlibro=ok\";</script>";
//echo "ERROR 1";
}
if(($row_descargas_datos['transferencia_utilizada'] > $row_descargas_datos['transferencia_permitida'])||($row_descargas_datos['transferencia_utilizada'] == $row_descargas_datos['transferencia_permitida'])){
// si la transferencia utilizada supero la transferencia permitida redirigimos a una pagina dando aviso y negando la descarga
// header("Location: libros.php?transferencia=excedida");
echo "<script language=\"javascript\">location.href = \"transferencia_excedida.php\";</script>";
// echo "ERROR 2";
}
/////////////////////////////////////////////////////////////////////////////////////////
// AQUI TERMINA LA ACTUALIZACION DE LOS DATOS DEL LIBRO /////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////
// SI EL USUARIO AUN NO DESCARGO LIBROS
// CREAMOS UN REGISTRO PARA EL MISMO EN LA TABLA DE DESCARGAS
} else if($totalRows_descargas_datos != "1"){
$nuevo_usuario_descargas = $_SESSION['user_usernamever']; // nombre de usuario levantado de la base del foro
$descargas_realizadas = "1"; // la del libro que esta siendo solisitado
$transferencia_permitida = "31457280"; // el balor es en Bites y son 30 MB
$transferencia_utilizada = filesize($row_libro_descargar['ruta_libro']); //damos como primer valor el peso del libro solicitado
$mes_deultimadescarga2 = date("n");
$anyo_deultimadescarga2 = date("Y");
$pago_donacion = "no";
$monto_donado = "0";
$dia_que_dono = "0";
$mes_que_dono = "0";
$anyo_que_dono = "0";
$insertSQL = sprintf("INSERT INTO descargas (usuario, descargas_totales, transferencia_permitida, transferencia_utilizada, mes_ultimadescarga, anyo_ultimadescarga, pago_donacion, monto_donado, dia_que_dono, mes_que_dono, anyo_que_dono) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($nuevo_usuario_descargas, "text"),
GetSQLValueString($descargas_realizadas, "text"),
GetSQLValueString($transferencia_permitida, "text"),
GetSQLValueString($transferencia_utilizada, "text"),
GetSQLValueString($mes_deultimadescarga2, "text"),
GetSQLValueString($anyo_deultimadescarga2, "text"),
GetSQLValueString($pago_donacion, "text"),
GetSQLValueString($monto_donado, "text"),
GetSQLValueString($dia_que_dono, "text"),
GetSQLValueString($mes_que_dono, "text"),
GetSQLValueString($anyo_que_dono, "text"));
mysql_select_db($database_nombredelsitio_libros, $nombredelsitio_libros);
$Result1 = mysql_query($insertSQL, $nombredelsitio_libros) or die(mysql_error());
// TERMINA LA INSERCION DE NUEVO USUARIO DE DESCARGA
// PERMITIMOS LA DESCARGA //////////////////////////////////////////////////////////////
$descargado_nveces = $row_libro_descargar['descargas_libro']+1;
$updateSQL = sprintf("UPDATE libros SET nombre_libro=%s, autor_libro=%s, descripcion_libro=%s, biblioteca_libro=%s, usuario_libro=%s, fecha_publicacion_libro=%s, descargas_libro=%s, ruta_libro=%s, disponibilidad_libro=%s WHERE id=%s",
GetSQLValueString($row_libro_descargar['nombre_libro'], "text"),
GetSQLValueString($row_libro_descargar['autor_libro'], "text"),
GetSQLValueString($row_libro_descargar['descripcion_libro'], "text"),
GetSQLValueString($row_libro_descargar['biblioteca_libro'], "text"),
GetSQLValueString($row_libro_descargar['usuario_libro'], "text"),
GetSQLValueString($row_libro_descargar['fecha_publicacion_libro'], "text"),
GetSQLValueString($descargado_nveces, "text"),
GetSQLValueString($row_libro_descargar['ruta_libro'], "text"),
GetSQLValueString($row_libro_descargar['disponibilidad_libro'], "text"),
GetSQLValueString($row_libro_descargar['id'], "int"));
mysql_select_db($database_nombredelsitio_libros, $nombredelsitio_libros);
$Result1 = mysql_query($updateSQL, $nombredelsitio_libros) or die(mysql_error());
// header("Location:" .$row_libro_descargar['ruta_libro']);
header("Location: libros.php?libroid=" .$row_libro_descargar['id']. "&descargarlibro=ok");
echo "<script language=\"javascript\">location.href = \"libros.php?libroid=" .$row_libro_descargar['id']. "&descargarlibro=ok\";</script>";
// echo "ERROR 3";
///////////////////////////////////////////////////////////////////////////////////
}
}
}
?>