# PHP-Nuke

PHP-Nuke es un sistema automatizado de noticias basado en la web y sistema de gestión de contenido (o CMS, por sus siglas en inglés) basado en tecnologías PHP y MySQL. Originalmente PHP-Nuke fue una bifurcación realizada por el Venezolano Francisco Burzí del sistema de portales Thatware. Para su instalación necesita un servidor web con soporte para PHP (por ejemplo Servidor HTTP Apache) así como una base de datos MySQL. Es considerado como uno de los pioneros de la web2.0 y alcanzó gran popularidad entre los distribuidores de contenidos.
El sistema es liberado como software libre bajo la licencia GNU GPL. Hasta la versión 7.5 se podía descargar gratuitamente desde la web oficial de PHP-Nuke; la versión 7.5 es la primera que requirió un pago de 10 dólares. La penúltima versión, la 8.1 requería un pago de 12 dólares para ser bajada desde dicha web. Esto está permitido según la licencia GNU GPL (con la condición de que el código fuente también sea entregado), y el comprador tiene a su vez el derecho de distribuir el código fuente gratuitamente. No obstante Php-Nuke ha lanzado su nueva versión 8.2 totalmente gratuita.

## Características

El PHP-Nuke logró popularidad debido a la versatilidad de sus herramientas que permiten a un usuario registrado contar con un blog, un servicio de mensajes internos usuario a usuario, colaborar con artículos para su publicación y distribución, previa autorización de un webmaster, personalización de algunos de los elementos de la página principal del sitio, lector de RSS y un modelo de perfil con una gran cantidad de campos.

## Módulos

El sistema funciona alrededor de módulos que se despliegan en una columna central, cada módulo es una herramienta especializada como un manejador de contenidos (news), foro de debates manejador de descargas, enlaces, contenidos fijos, etc. Cada Módulo puede funcionar como página de inicio, el módulo de inicio por defecto es News.
Php-Nuke incluye los módulos estándar siguientes:
* Publicidad-Maneja anuncios en la página. Soporta imágenes, JavaScript/HTML y flash
* Avantgo-Proporciona versiones móviles de los 10 artículos del módulo de noticias.
* Contenido-Maneja y muestra contenidos fijos.
* Descargas- un manejador de descargas de archivos binarios, tanto hospedados en el sitio como en servidores externos.
* Enciclopedia-Maneja frases, palabras y definiciones
* FAQ-Maneja las preguntas con frecuencia hechas (las FAQ)
* Retroalimentación-contacto- Un formulario en línea para entrar en contacto con el webmaster.
* Foros-Maneja los foros de discusión para el sitio. Se basa en bb2nuke, que es una adaptación de PHP-Nuke del popular foro phpBB de código abierto.
* Diario-Ofrece un blog a cada usuario registrado con entradas públicas o privadas.
* Lista de miembros- muestra el listado de usuarios registrados, así como un resumen de su perfil.
* Noticia-Maneja noticias, incluyendo las noticias futuras que se publicarán en una fecha y una hora específicas programadas. Cada artículo se puede asignar a una sola categoría.
* Mensajes privados-Permite a miembros enviar mensajes privados a otros en el sitio.
* Recomendar-Envían un correo electrónico que recomienda el sitio a otros.
* Buscar-Permite a usuarios buscar su sitio.
* Estadística-Exhibe estadísticas sumarias y detalladas del sitio, incluyendo opiniones de la página.
* Archivo histórico- -Proporcionan el acceso a artículos anteriores organizados por mes de publicación.
* Enviar una noticia- permite a los usuarios enviar un artículo a la página principal, previa autorización del webmaster.
* Encuestas- organiza encuestas poll para usuarios publicadas en el sitio.
* Top- muestra los artículos, descargas, contenidos y enlaces más populares.
* Tópicos- muestra los artículos por tópicos pre asignados.
* Enlaces- organiza y muestra enlaces a sitios externos por temas.
* Tu cuenta- muestra opciones de usuario, como información personal, contraseña, personalización de la página principal, mensajes internos, fuentes RSS, elección de la plantilla de diseño para desplegar en el sitio, etc.
Además de los módulos estándares, por tratarse de un proyecto de código abierto, existen un sinnúmero de módulos desarrollados por terceros con una amplia gama de temas.

## Bloques

Además de los módulos, PHP-Nuke cuenta con la herramienta bloques, que son cajas que se ubican en las columnas laterales (una o dos, según el diseño de la plantilla) y en las partes superior e inferior de las páginas; en dichas cajas se despliega información variada; como menús de navegación, formularios de acceso, calendarios, información sobre el sitio mismo, encuestas, publicidad, etc. Existen, asimismo, bloques desarrollados por terceros, además de que en la sección de administración, el webmaster puede crear bloques personales con contenidos multimedia.

## Administrador

La sección de administración permite a los webmasters colocar artículos, administrar las diversas opciones de despliegue del sitio, administrar módulos y bloques, enviar boletines masivos a los correos electrónicos de los usuarios registrados, crear y eliminar usuarios, obtener respaldos de la base de datos SQL así como optimizarla, crear administradores con privilegios específicos, entre otras opciones.

## Idiomas, sindicación y adaptabilidad

El PHP-nuke soporta múltiples idiomas y su diseño y estructura se pueden modificar para requisitos particulares usando el sistema de temas, pero los cambios importantes requieren el conocimiento del PHP, del HTML y del CSS.
Los módulos y bloques, así como las opciones de usuario y del sitio mismo como la plantilla de diseño por defecto o pies de página y modos de censura pueden ser habilitados y deshabilitados de forma muy sencilla, además de que se pueden programar las fechas de publicación y caducidad de los artículos y encuestas, permitiendo que el sitio pueda ser actualizado sin la necesidad de administrarlo en tiempo real.
Genera, además, servicios de sindicación RSS basados en los artículos publicados en código PHP o TXT. Así como un boletín de distribución por correo electrónico, además de como una versión ultraligera para dispositivos móviles.

## Sistema de usuarios

El sistema permite distinguir entre visitantes anónimos, usuarios registrados, usuarios abonados y administradores; en cada caso, determina qué módulos y bloques son visibles o invisibles, por ejemplo, se puede seleccionar que un usuario abonado (que haya pagado una suscripción) no vea la publicidad del sitio y que tenga acceso a secciones que otros usuarios no puedan ver.
Asimismo, cuenta con un sistema de calificación de comportamiento de los usuarios registrados llamado Karma que registra el número de participaciones en los foros de debates, o en el envío de artículos, descargas, etc. asimismo, puede calificar negativamente a un participante agresivo impidiéndole colocar comentarios en las encuestas, noticias, entre otras restricciones.

## Seguridad

Aunque PHP-Nuke cuenta con algunas herramientas de seguridad como bloqueo de usuarios, bloqueo de IPs y restricciones de acceso, son conocidos sus fallas en la seguridad, como inyecciones en la base de datos, ataques de robots que colocan múltiples mensajes en las noticias, foros y encuestas con enlaces a sitios de venta de artículos sexuales, lo que puede llevar a colapsar al sitio mismo y, aunque dichos ataques se evitan bloqueando la opción de colocar comentarios en los módulos de noticias y encuestas y deshabilitando el foro phpBB, ha desanimado a muchos usuarios y desarrolladores a utilizarlo.

## Bifurcaciones

El núcleo de Php-nuke ha dado origen a diferentes bifurcaciones:
* Dragonfly CMS - basado en el PHP-nuke 6.5 con la galería de fotos de Coppermine incluida.
* LGNuke - 7.6 y con AJAX.
* Nuke-evolution - con múltiples arreglos de la seguridad.
* Clean nuke - basada en PHP-Nuke 7.6, un sencillo manejador de contenidos.
* RavenNuke CMS - Basada en la versión 7.6, con muchos arreglos de la seguridad, modificaciones, agregados.
* phpWebSite
* Postnuke - basado en la versión 5.0
* XOOPS - basado en PHP-nuke y myPHPNuke
* PNC - Dirigido a jugadores en línea.
* Mega-nuke - con agregados y correcciones de seguridad
* NPDS (sistema dinámico de portales Net)

## Estado actual

Aunque llegó a estar bastante extendido, hoy en día este CMS es muy poco usado y su versión gratuita se encuentra en desuso. Se habla del lanzamiento de una versión totalmente nueva. Una empresa española compró la marca y se haría cargo de un lanzamiento mejorado, liberado del maquetado tradicional sobre la base de tablas y con más variedad en las plantillas. En enero de 2014, se encontró disponible para descarga gratuita la versión 8.3.2, compatible con SQL 5.3, un rediseño de la página principal, integración de seguridad incluyen mejoras de seguridad, integrado en foros BB2Nuke 2.0.238, cambios significativos en la estructura del sistema y rediseño de muchos de sus módulos y bloques, así como una depuración del código para hacerlo más ligero.