| Após um bom tempo sem escrever artigos para o PHP-Fusion Brasil trago neste artigo dicas que poderão ser úteis para quem precisa adequar o painel de administração de seu PHP-Fusion utilizando apenas procedimentos simples.
Obs.: Todas as modificações estão relacionadas ao arquivo administration/index.php, exceto quando for citado outro arquivo.
Desativando as imagens
Esta é a modificação mais simples do artigo. Esta dica é para quem considera as imagens nos links do painel de administração inúteis, que servem apenas para baixar mais tranqueira no navegador ou porque o painel pode ficar mais rápido. Para desativar as imagens basta alterar o valor booleano da variável $admin_images para false, ou seja, a linha 19 ficará:
$admin_images = false;
Página/aba padrão
Quando você acessa a página inicial do painel de administração sempre cai na página/aba “Administração de Conteúdo”, porém você pode ser um daqueles que utiliza o painel mais para banir seus usuários (existe administrador assim, eu juro :) ou mexer nas configurações do PHP-Fusion e quer iniciar na página certa! Pois então apenas altere o valor padrão da variável $pagenum, na linha 17, para uma das seguintes opções:
- 1
- Administração de Conteúdo
- 2
- Administração de Usuários
- 3
- Administração de Sistema
- 4
- Administração de Infusions
A coluna lateral
A coluna ao lado esquerdo da administração é simplesmente o script administration/navigation.php. Abrindo ele você pode ver que ele dá um include no painel de usuário (user_info_panel.php) e adiciona um painel com os links da administração, de acordo com os direitos do administrador. Não há mistério, você pode adicionar/editar/remover os painéis da forma que bem entender.
As estatísticas
As estatísticas estão localizadas em um painel central das linhas 84 a 101. Você pode fazer o que quiser, mas acredito que as melhores opções sejam removê-lo (se você não precisa acompanhar estas informações) ou adicionar mais estatísticas como, por exemplo, adicionando umas das seguintes linhas após a linha 88:
Número de tópicos no fórum:
Tópicos no forum: ".dbcount("(thread_id)", "threads")."<br>
Usuários que nunca fizeram login:
Membros vadios: ".dbcount("(user_id)", "users", "user_lastvisit='0'")."<br>
"vadio" foi a palavra mais curta que encontrei :)
Os links
Os links do painel de administração são armazenados no banco de dados, mais precisamente na tabela prefixo_admin. Você pode editá-los executando consultas (queries) na administração de páginas personalizadas ou de painéis (por isso apenas dê acesso à essas áreas para pessoas de confiança), ou navegando pela interface do phpMyAdmin (bom para usuários leigos). Antes de tudo você deve entender a estrutura desta tabela:
- admin_id
- Valor único usado com identificação, referência ou chave primária da tabela.
- admin_rights
- Alguma combinação de 2 caracteres única. Esses 2 caracteres são utilizados para podermos dar diferentes privilégios para os administradores, podendo checar se o administrador x tem acesso à área y.
- admin_image
- O nome da imagem a ser exibida junto ao link no painel de administração. A imagem deve estar na pasta administration/images.
- admin_title
- O nome do link.
- admin_link
- O link em si. Apenas o nome do script que está na pasta administration/.
- admin_page
- A página/aba na quak será exibido o link. Pode ser 1 (Administração de Conteúdo), 2 (Administração de Sistema) , 3 (Administração de Sistema) ou 4 (Administração de Infusions).
Sabendo os dados que precisamos, vamos prever uma query na administração de página presonalizadas para inserir um novo link:
<?php
dbquery("INSERT INTO ".DB_PREFIX."admin (admin_rights, admin_image, admin_title, admin_link, admin_page) VALUES ('XZ', 'imagem.gif', 'meu link', 'script.php', '3')");
?>
Atualizar o link com a ID 36:
<?php
dbquery("UPDATE ".DB_PREFIX."admin SET admin_rights='XZ', admin_image='imagem.gif', admin_title='meu link', admin_link='script.php', admin_page='3' WHERE admin_id='36'");
?>
Ou remover o link com a ID 36:
<?php
dbquery("DELETE FROM ".DB_PREFIX."admin WHERE admin_id='36'");
?>
Obs: Após adicionar link, para que os mesmos sejam exibidos é necessário atualizar a coluna user_rights, da tabela prefixo_users, para os super administradores. Isto pode ser feito executando um simples script:
<?php
$result = dbquery("SELECT admin_rights FROM ".DB_PREFIX."admin");
$rows = dbrows($result);
$admin_rights = false;
for ($i = 0; $data = dbarray($result); $i++)
{
$admin_rights .= $data['admin_rights'];
if ($i+1 != $rows) $admin_rights .= ".";
}
dbquery("UPDATE ".DB_PREFIX."users SET user_rights='".$admin_rights."' WHERE user_level='103'");
?>
Artigo encerrado por aqui. |
ótimo tutorial...
bem explicado... valews