# PHP-Nuke

PHP-Nuke é um sistema para publicação automatizada de notícias para a web e um Sistema de Gerenciamento de Conteúdo (um 'nuke') baseado em PHP e MySQL. O Sistema é totalmente controlado através de uma interface web. PHP-Nuke é originalmente uma adaptação do Sistema de Portais de Notícias Thatware.
A partir da versão 5.6, a exibição de uma mensagem copyright nas páginas da web é necessária de acordo com a seção 2 (c) da GPL.
O Sistema é liberado como "Software Livre" sob a Licença Pública Geral GNU. O software é liberado de duas maneiras: A primeira é a versão estável e gratuita (hoje 8.0) e uma onde o usuário contribui para o desenvolvimento do software e paga USD 10 para fazer o download. Isso é permitido pela Licença GNU GPL (desde que o código do software esteja incluído), mas o comprador do software tem total liberdade para distribuir o código do produto.
Para que ele funcione, é necessário um Servidor de páginas que suporte a extensão PHP (como o Apache HTTP Server), assim como um Banco de Dados SQL (como o MySQL, mSQL, PostgreSQL, ODBC, Adabas, Sybase ou InterBase).
PHP-Nuke é um SGC (Sistema de Gerenciamento de Conteúdo), termo advindo do Inglês Content Management System reconhecido facilmente pela popular sigla, o CMS. O sistema recebe este nome porque integra, todas as ferramentas necessárias para criar e gerenciar um portal, seja ele comercial ou institucional. É caracterizado pela grande quantidade de funções presentes na instalação padrão e/ou nos Módulos adicionais. Já o nome PHP-Nuke vem do inglês nuke, que possui vários significados, sendo o mais comum um dispositivo ou arma nuclear. Portanto, deve-se entender que o nome PHP-Nuke significa grande poder em PHP.

## Características do PHP-Nuke

O principal objetivo do PHP-Nuke é de permitir ao webmaster a criação de um portal de Comunidade, semelhante ao utilizado pela Slashdot), que é um website automatizado permitindo que usuários e editores publiquem notícias (notícias contribuídas por usuários são selecionadas pelos Editores). Usuário podem comentar estas notícias utilizando um sistema de comentários.
Módulos podem ser adicionados ao sistema do PHP-Nuke, permitindo ao webmaster adicionar mais serviços (como uma Galeria de Fotos ou um Calendário de Eventos) ao seu PHP-Nuke em complementação aos Módulos padrão (que acompanham a distribuição original do sistema) como Notícias, FAQ e Mensagens Privadas. Todo o sistema é mantido por administradores que utilizam uma interface web para gerenciar todo o portal. É possível ter administradores diferentes para áreas diferentes do portal.
O PHP-Nuke possui suporte a muitos idiomas, inclusive o inglês, francês, português e tailandês. Seu visual e interface (look and feel) pode ser customizado por ter suporte a Temas, entretanto algumas pessoas têm dificuldades em tornar seus sites únicos e cerca de 2/3 dos sites possui pequenas modificações do Tema padrão de 3 colunas.
Houve um período onde o PHP-Nuke foi tachado como um software inseguro e cheio de bugs. Injeções SQL é o principal problema de segurança do PHP-Nuke e também tinham sido descobertos métodos de se conseguir a senha de administrador em menos de 5 minutos. Mas isso é passado e, como consequência, hoje existem métodos de evitar este e outros problemas de maneira bastante satisfatória.
A grande vantagem em utilizar um Sistema de Gerenciamento de Conteúdo é que existem ainda inúmeros Módulos que podem ser agregados ao Sistema os quais são desenvolvidos por programadores e disponibilizados sob licença GNU/GPL. Todo esse gerenciamento é feito através de uma área de administração. O PHP-Nuke é recomendado para:
* intranets;
* sistemas de comércio eletrônico (e-commerce);
* portais corporativos;
* agências públicas;
* agência de notícias;
* campanhas on-line;
* site de informações;
* portais de ensino à distância (e-learning);
O PHP-Nuke possui uma estrutura muito flexível e todo o processamento é realizado em uma máquina servidora. Uma das melhores características do sistema é a utilização das funções de tradução do PHP que proporciona um ambiente multi-idioma, contando hoje com suporte a 25 idiomas. Quase todos os módulos integram mais de 25 idiomas. Além dessas vantagens, existem outras:
* Utilização de JavaScript;
* Programação PHP;
* Programação HTML;
* Programação SHTML;
* Inserção de animações utilizando a tecnologia Flash®;
* Conteúdo multimédia (sons, filmes e rádio);
* Conteúdo no modo streaming (multimédia sob demanda).

### Outras características

Administração do portal via Menu de Administração, Pesquisas (Enquetes), Fóruns, Estatísticas detalhadas de acesso, Gerenciamento de usuários, Gerenciamento de Temas para usuários, integração de usuários através de sistemas de Mensagens Privadas, envio de notícias periódicas aos usuários registrados (newsletter), gerenciamento de Grupos de usuários, toda administração do portal é feita de forma muito amigável, de fácil aprendizado com opção para editar ou apagar histórias, opção para apagar comentários, Sistema de moderação, Sistema de referências HTML (para saber quem está enviando tráfego para seu portal), customização de Blocos em HTML, Ferramenta de Busca, geração de backend/headlines (RSS/RDF), e muitas outras funções amigáveis.
Além disso é extremamente amigável com os sistemas de busca mais utilizados na rede (Yahoo! e Google possuem afinidades pelo Sistema de geração de Meta Tags).

### Desenvolvimento

O PHP-Nuke é desenvolvido com uma visão particular nas sugestões dos usuários e seguindo as normas da W3C, no qual foi validado seu código e as folhas de estilo. Isso possibilita que até mesmo um usuário que não detenha conhecimento técnico ou experiências anteriores na criação e manutenção de um portal dinâmico possa administrar facilmente seu portal.
Trajetória do PHP-Nuke (mês/ano e versão)
* Junho de 2000: Versão 1.0
* Julho de 2000: Versão 2.02
* Agosto de 2000: Versão 2.5
* Agosto de v2000: Versão 3.0
* Setembro de 2000: Versão 3.5
* Setembro de 2000: Versão 3.6
* Outubro de 2000: Versão 4.0
* Outubro de 2000: Versão 4.1
* Outubro de 2000: Versão 4.2
* Dezembro de 2000: Versão 4.3
* Janeiro de 2001: Versão 4.4
* Fevereiro de 2001: Versão 4.4.1
* Junho de 2001: Versão 5.0
* Julho de 2001: Versão 5.0.1
* Agosto de 2001: Versão 5.1
* Agosto de 2001: Versão 5.2
* Novembro de 2001: Versão 5.3
* Novembro de 2001: Versão 5.3.1
* Janeiro de 2002: Versão 5.4
* Fevereiro de 2002: Versão 5.5
* Junho de 2002: Versão 5.6
* Setembro de 2002: Versão 6.0
* Março de 2003: Versão 6.5
* Maio de 2003: Versão 6.6
* Junho de 2003: Versão 6.7
* Julho de 2003: Versão 6.8
* Agosto de 2003: Versão 6.9
* Dezembro de 2003: Versão 7.0
* Janeiro de 2004: Versão 7.1
* Março de 2004: Versão 7.2
* Maio de 2004: Versão 7.3
* Julho de 2004: Versão 7.4
* Setembro de 2004: Versão 7.5
* Novembro de 2004: Versão 7.6
* Abril de 2005: Versão 7.7
* Junho de 2005: Versão 7.8
* Setembro de 2005: Versão 7.9
* Agosto de 2007: Versão 8.0
* Março de 2009: Versão 8.1

### Personalização

A personalização do sistema, no que diz respeito aos gráficos, ao design e à programação adicional, possui apenas dois limites: a imaginação e capacidade do web designer. Ao visitar vários portais desenvolvidos utilizando o PHP-Nuke fica claro que há uma característica peculiar na sua aparência. Isto deve-se a falta de tempo que os administradores do portal tem para a criação de novos Temas (templates/skins) fazendo com que os já existentes sejam amplamente utilizados. Portanto, um portal bem planejado e concebido pode contar com um visual muito agradável e personalizado.

### Requisitos necessários

PHP-Nuke é escrito 100% em PHP, o que significa portabilidade, podendo ser executado em quase todos os sistemas Operacionais existentes. Dentre eles, os mais utilizados são: UNIX, Microsoft Windows® e Apple® Mac OS.
Para ter um portal construído em PHP-Nuke rodando é necessário:
* Servidor de páginas (preferencialmente Apache);
* PHP;
* Banco de dados SQL (MySQL, mSQL, PostgreSQL, ODBC, ODBC_Adabas, Sybase ou Interbase).

### Comunidade PHP-Nuke

Graças ao trabalho voluntário das pessoas envolvidas em comunidades especializadas em PHP-Nuke, esse sistema tornou-se famoso, passando a ser utilizado em mais de 25 idiomas. Além disso, encontra-se em constante processo de atualização.
Há grupos que são dedicados somente à criação de novos temas de PHP-Nuke, para apoio técnico, desenvolvimento de módulos, bem como uma grande quantidade de comunidades multilingues que levam aos seus usuários a tradução do PHP-Nuke para o seu idioma local, enquanto criando termos pessoais novos e projetos mais focalizados ao seu público.
* Suporte Técnico ao PHP-Nuke;
* Espelhos (mirrors) para downloads;
* Temas e Gráficos.
* Módulos e Adicionais (add-ons).
Graças ao trabalho das pessoas que gerenciam estes portais, hoje temos mais de 500 Módulos diferentes que podem ser utilizados para personalizar o seu portal. Os módulos variam desde Previsão do Tempo passando pelo e-commerce, galeria de imagens, web chat, foros, jogos, e muito mais.
O Brasil foi o segundo pais a ter documentação completa referente ao PHP-Nuke assim como o Brasileiro Antonio D. Andrade foi o primeiro a publicar livro referente ao CMS em língua portuguesa infelizmente por divergências internas o projeto que erá de autoria de Francisco Burzi foi vendido e hoje encontra-se descontinuado.

### Por que usar PHP-Nuke ao invés de páginas HTML estáticas?

Porque é muito melhor utilizar conteúdo dinâmico do que páginas estáticas. Eis os motivos:
* Porque administrar grandes portais que utilizam páginas HTML estáticas é extremamente demorado e cansativo;
* Porque com páginas dinâmicas, os usuários podem interagir (Fóruns, Comentários);
* Porque com páginas dinâmicas podemos oferecer novos serviços (áreas restritas, vários serviços baseados no nível hierárquico de cada usuário);
* Porque a informação é catalogada facilmente;
* Porque, com as ferramentas já desenvolvidas para PHP-Nuke, as informações são gerenciadas e organizadas mais facilmente, reduzindo o número de cliques para obter-se a informação desejada;
* Porque facilita a tarefa de manter em dia o conteúdo do portal, não exigindo conhecimentos técnicos específicos além de poder ser administrado por qualquer pessoa com um mínimo de conhecimento;
* Porque é a maneira mais simples para criar um portal completo, graças ao modo em que é licenciado, GNU/GPL, ou seja, seu código é aberto. Isso permite que qualquer desenvolvedor possa implementar módulos novos ou modificar e personalizar módulos existentes;
* Porque é intuitivo e fácil de lidar;
* Porque apresenta baixo custo de implementação;
* Porque apresenta baixo custo de manutenção;
* Porque é um sistema em constante desenvolvimento;
* Porque apresenta alto desempenho.

## Forks

O Projeto foi dividido em vários módulos ou divisões, muitas vezes e por muitas pessoas e por motivos diferentes. Os mais conhecidos são:
* eNvolution — baseado no Postnuke
* myPHPNuke — baseado no PHP-Nuke 4.4.1a
* NPDS — baseado no PHP-Nuke 4.3
* openPHPnuke — baseado no myPHPNuke
* phpWebSite — Projeto gerenciado pelo Grupo de Tecnologia Web na Appalachian State University
* Postnuke — baseado no PHP-Nuke 5.0
* XOOPS — baseado no PHP-Nuke e myPHPNuke
* Xaraya — baseado no Postnuke
* NUKE Platinum - baseado no PHP-Nuke 7.6 sendo disponibilizado nas versões 7.6.b4.v2 e 7.6.b5
* NukePlatinumBrasil - baseado no Nuke Platinum 7.6.b4.v2 e 7.6.b5, versões traduzidas para o Português do Brasil
* PHPKIQhmw - baseado no PHP-Nuke 8
Estas distribuições, como muitos outros, possuem suas próprias idéias e linhas de desenvolvimento, e todos tentaram solucionar os mesmos problemas e tornar seus sistemas melhores e mais seguros. No entanto, a maioria, senão todos os sistemas, podem ser utilizados para gerenciar um portal de comunidade muito similar ao PHP-Nuke, entretanto é possível que ests sistemas sejam melhores que o PHP-Nuke em algumas coisas, e vice-versa.