Contar descargas e impresiones

Sencillo contador de descargas de los archivos que spip coloca de forma automática al subirlos, y de los clics sobre un enlace a una versión imprimir de artículos y/o breves.

Estos scripts y esqueletos en realidad recogen en una tabla los clics que se hacen sobre archivos que se van a descargar, y los clics que se hacen sobre un enlace a una versión imprimir de un artículo o una breve. Permiten ver todos los documentos imprimidos y las descargas realizadas.

Ejemplo de como se muestran las descargas: descargas (el archivo que subo sólo tiene la tabla de las descargas sin el resto del esqueleto)

Ejemplo de como se muestran los documentos imprimidos: impresiones

Recogen el número del documento (id_document, id_article o id_breve), la fecha y hora, la persona que lo realiza si está registrada en el sitio, la dirección y la IP desde la que se realiza la descarga o la impresión, y el navegador empleado. Yo sólo utilizo el id_document, id_article o id_breve para contabilizar las descargas e impresiones, pero los otros campos de la tabla quedan ahí para un posible aprovechamiento posterior.

Inconvenientes :(

-  sólo guardan los clics que se realizan sobre los archivos colocados por spip automáticamente, NO sobre los que incluimos nosotras en sitios concretos dentro del artículo.

-  guardan cuando se hace clic en el enlace, se termine la descarga o no.

-  no se realizan las descargas con el botón derecho pues el enlace no es estándar.

-  no diferencia si se imprime o no, sólo si se cliquea sobre el enlace para ver la versión imprimir

Ventajas :)

-  no se hackea spip con lo que no presenta problemas de actualización de los esqueletos originales

-  no es necesario indicarle expresamente los archivos que tiene que contabilizar (uno a uno) por lo que funciona por los procedimientos normales de spip a la hora de escribir artículos o subir archivos sin tener que hacer nada especial.

PARA INSTALARLO

1. Abrir el archivo conectar.php de la carpeta contar y completar los datos de conexión

2. Subir la carpeta contar y todos los archivos [1] al directorio raíz del sitio.

3. Lanzar el archivo instalar.php de la carpeta contar con http://tu_sitio/contar/instalar.php

MODIFICACIONES SI QUIERES CONTAR LAS DESCARGAS

Al comienzo del esqueleto artículo:

<?
$persona=$GLOBALS['auteur_session']['id_auteur'];
?>

para coger la persona si está registrada

En el enlace al documento a descargar:

cambiar

<a href="#URL_DOCUMENT">

por

<a href="contar/contar.php?id_doc=#ID_DOCUMENT&url_doc=#URL_DOCUMENT&persona=<? echo $persona; ?>">

MODIFICACIONES SI QUIERES CONTAR LAS VECES QUE SE CLIQUEA SOBRE UN ENLACE VERSIÓN IMPRIMIR [2]

En mes_fonctions.php3 o al comienzo de article.html, breve.html, o en el esqueleto donde se vaya a colocar el enlace de versión imprimir:

<script type="text/javascript">
function ventanaImprimir(URL){ 
window.open(URL,"","left=48, top=0, width=700, height=475, scrollbars=yes, menubar=yes, location=no, resizable=yes") 
}
/ -->
</script>

En el enlace para versión imprimir si es un artículo:

<a href="javascript:ventanaImprimir ('imprimir.php3?id_article=#ID_ARTICLE')" title="Abre una ventana con el art&iacute;culo y los comentarios para imprimirlos mejor desde men&uacute; Archivo>Imprimir">versi&oacute;n imprimir</a>

En el enlace para versión imprimir si es una breve:

<a href="javascript:ventanaImprimir ('imprimirbre.php3?id_breve=#ID_BREVE')" title="Abre una ventana con el art&iacute;culo y los comentarios para imprimirlos mejor desde men&uacute; Archivo>Imprimir">versi&oacute;n imprimir</a>

Notas

[1Si ya tienes esqueletos diferenciados para imprimir artículos y breves no hace falta que subas los esqueletos de imprimir. Sólo tienes que añadir al comienzo de tus esqueletos:

<?
// ----- cuenta las veces que se entra en esta página -------
include('contar/conectar.php');

// -----------PREPARAMOS LOS DATOS A INSERTAR ------------------
$id_articulo = $HTTP_GET_VARS['id_article'];
$tipo = "a";
$direccion = gethostbyaddr("$REMOTE_ADDR");
$ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
$navegador = $HTTP_SERVER_VARS['HTTP_USER_AGENT'];
$persona= $HTTP_GET_VARS['persona'];

// -----------INSERTAMOS UN REGISTRO ----------------
$insertar = "INSERT INTO $tabla (id_doc, tipo, fecha, id_persona, ip, direccion, navegador)";
$insertar .= "VALUES ('$id_articulo', '$tipo', NOW(), '$persona', '$ip', '$direccion', '$navegador')";
@mysql_db_query($base, $insertar, $conexion);

// --------------------------- CERRAMOS LA CONEXIÓN ----------------
@mysql_close();

?>

en el de los artículos y

<?
// ----- cuenta las veces que se entra en esta página -------
include('contar/conectar.php');

// -----------PREPARAMOS LOS DATOS A INSERTAR ------------------
$id_breve = $HTTP_GET_VARS['id_article'];
$tipo = "b";
$direccion = gethostbyaddr("$REMOTE_ADDR");
$ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
$navegador = $HTTP_SERVER_VARS['HTTP_USER_AGENT'];
$persona= $HTTP_GET_VARS['persona'];

// -----------INSERTAMOS UN REGISTRO ----------------
$insertar = "INSERT INTO $tabla (id_doc, tipo, fecha, id_persona, ip, direccion, navegador)";
$insertar .= "VALUES ('$id_breve', '$tipo', NOW(), '$persona', '$ip', '$direccion', '$navegador')";
@mysql_db_query($base, $insertar, $conexion);

// --------------------------- CERRAMOS LA CONEXIÓN ----------------
@mysql_close();

?>

para el de breves.

[2Este código abre una ventana nueva con javascript. Si no se quiere abrir esa ventana no hace falta colocar el script de javascript con la función ventanaImprimir, y los enlaces se pueden escribir normales (sin el javascript:ventanaImprimir ni los paréntesis)

Dernière modification de cette page le 14 de junio de 2005

Discussion

Aucune discussion

Comentar este artículo

¿Quién es usted?
  • [Conectarse]

Para mostrar su avatar con su mensaje, guárdelo en gravatar.com (gratuit et indolore) y no olvide indicar su dirección de correo electrónico aquí.

Añada aquí su comentario

Este formulario acepta los atajos de SPIP, [->url] {{negrita}} {cursiva} <quote> <code> y el código HTML. Para crear párrafos, deje simplemente una línea vacía entre ellos.

Añadir un documento

Seguir los comentarios: RSS 2.0 | Atom