Cómo añadir la posibilidad de mostrar el MD5 (función HASH criptográfica) de un fichero en la sección Descargas (Downloads) de la web, utilizando PHP-Nuke como gestor de contenidos web. Muchos sitios web suelen mostrar el MD5 de la descarga como una forma eficaz de saber si el fichero descargado es el fichero original. Con esta opción daremos mayor credibilidad a nuestras descargas y una forma eficaz de que un usuario pueda saber si el fichero que ha obtenido (de otras webs o mediante P2P) es el original.

En primer lugar accederemos a la base de datos MySQL (o en la que se haya creado) de PHP-Nuke, mediante cualquier software cliente de MySQL, como por ejemplo AjpdSoft Administración Bases de Datos (aplicación freeware, gratuita, con código fuente (open source) disponible en Delphi 6), pondremos el nombre del servidor (o la IP), el usuario y la contraseña con permisos suficientes para modificar tablas y nos conectaremos a MySQL:

Añadir opción de mostrar MD5 en descargas en la sección Download de PHP-Nuke

Ejecutaremos la siguiente consulta SQL para agregar el campo «hash» a la tabla nuke_downloads_downloads:

ALTER TABLE nuke_downloads_downloads ADD COLUMN
hash VARCHAR(200) AFTER homepage

Consulta SQL - AjpdSoft Administración Bases de Datos

Al añadir este campo a la tabla nuke_downloads_downloads afectará al funcionamiento de la administración de las descargas, el efecto colateral es que si se intenta añadir una descarga desde la administración de PHP-Nuke no dará error pero tampoco la añadirá. Esto se puede solucionar modificando la línea 1034:

del fichero /admin/modules/download.php, por este otro código PHP:

Haciendo esta modificación, de momento servirá para salir del paso y que la inserción de una nueva descarga funcione. Lógicamente explicaremos más adelante cómo modificar el código PHP de este fichero (download.php) para poder añadir el MD5 desde el propio formulario de alta de descarga.

A continuación modificaremos el fichero /modules/Downloads/index.php para que este nuevo dato (MD5) aparezca en la página de los detalles de cada descarga:

Sección Descargas

Modificaremos la línea 379 de la función NewDownloadsDate:

por esta otra:

Añadiremos esta línea a partir de la línea 395, en la función NewDownloadsDate:

Añadiremos esta línea a partir de la línea 412:

Haremos lo mismo en la función TopRated, modificaremos la línea 487:

por:

Añadiremos esta línea a partir de la línea 505, en la función TopRated:

Añadiremos esta línea a partir de la línea 522:

Haremos exactamente lo mismo en la función MostPopular, modificando también la línea 596:

por:

Modificaremos la línea a partir de la línea 732, en la función viewdownload:

por

Añadiremos esta línea a partir de la línea 753:

Lo mismo para la función viewsdownload, cambiaremos la línea 897:

por:

La línea 902:

por

Añadiremos esta línea a partir de la línea 921:

Para la función search, línea 1154:

cambiaremos por:

Añadiremos a partir de la línea 1176:

Más de lo mismo para la función viewdownloaddetails, cambiaremos estas dos líneas:

por:

Nota: puede que el número de línea varíe, lo importante es buscar en qué sección del código se muestra la información de la descarga (fecha, autor, votos, etc) y añadir ahí el hash (MD5). Normalmente habrá que añadir el campo en la consulta SQL, salvo que lleve un * y añadir el correspondiente «echo» para que aparezca.

Al final quedará algo así:

Sección Descargas (downloads) con campo MD5

A continuación explicaremos cómo añadir el campo MD5 en el formulario de alta y modificación de descarga (administración), para poder añadir este dato y permitir que aparezca.

Administración - Nueva descarga

Modificaremos la línea 57 del fichero /admin/modules/download.php

por

Modificaremos la línea 62 del fichero /admin/modules/download.php

por

Accederemos a este fichero, en la función downloads a partir de la línea 75 añadiremos esta nueva línea:

Accederemos a este fichero, en la función downloads a partir de la línea 168 añadiremos esta nueva línea:

En la función DownloadsModDownload, modificaremos la línea 269:

por

Modificaremos la línea 276:

por

Tras la línea 285 añadiremos la línea:

Modificaremos la línea 674 de la función DownloadsModDownloadS:

por

Modificaremos la línea 685 de la función DownloadsModDownloadS

por

Modificaremos la línea 1037:

por

Al final del fichero, en la cláusula switch modificaremos la línea 1073:

por

y la línea 1141:

por

El formulario de alta de nueva descarga quedará así:

Administración - Nueva descarga con campo MD5

y el de modificación de descarga:

Administración - Modificación de descarga con campo MD5

Lógicamente, para obtener el MD5 y poder insertarlo en la descarga deberemos utilizar algún programa que lo obtenga, por ejemplo AjpdSoft Hash, software completamente gratuito (freeware) desarrollado por ProyectoA y con código fuente (open source) disponible en Delphi 6:

AjpdSoft Hash

Por supuesto, también hay otras formas de mostrar el MD5, incluso automáticas (sin necesidad de utilizar software de terceros para obtener el HASH MD5), por ejemplo utilizando PHP para obtener directamente el MD5 de la descarga del servidor antes de mostrar los detalles de la misma.

Este artículo también se puede emplear para añadir cualquier otro campo a la sección Descargas de PHP-Nuke, por ejemplo: Tipo de licencia, Requerimientos (sistema operativo), etc.

Para realizar este artículo hemos usado:

  • PHP-Nuke 6.0.
  • AjpdSoft Administración Bases de Datos.
  • AjpdSoft Hash.