Ver Mensaje Individual
  #10 (permalink)  
Antiguo 30/03/2008, 20:13
Artefio
 
Fecha de Ingreso: junio-2007
Mensajes: 76
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: ¿Como controlar transferencia utilizada en descargas?

El Código

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";        
            
        ///////////////////////////////////////////////////////////////////////////////////
            
        
}
    }
}
?>