Limpando tabela de dados MySQL

Recentemente tive que limpar o banco de dados de uma aplicação de um cliente e usei um TRUNCATE em todas as tabelas, tipo isso

TRUNCATE TABLE `atividades`;

e não sobrou nada 🙂

Mas no caso da tabela usuários eu tive problema, pois tinha manter os registros do tipo administrador. Então fiz assim

delete from usuarios where tipo='redator' or tipo = 'visitante' or tipo = '';

Remove usuários do tipo redador, ou visitante e ou vazio (deixando vazio entre aspas simples)… e assim administrador era poupado.

Outra forma de remover todos, exceto administrador é assim

delete from usuarios where tipo !='administrador';

 

Padrão

Feito em Drupal

Depois de anos brigando com o Drupal, rejeitando mesmo, tive que fazer as pazes com ele. Acabei pegando um freelance e desenvolvi o novo portal da Fundação Perseu Abramo, isso em 2015. Foi um mês de trabalho, entendo como funciona a customização de tema e módulos. Depois que a gente conhece a ferramenta fica mais fácil de gostar dela, né?

Alguns outros sites que rodam sob Drupal, aproveitando que está rolando Olimpiadas no Brasil, o site do evento é feito em Drupal, o Jogos Olímpicos Rio 2016. O site foi feito pelo pessoal da Chuva-Inc, que tem um portfolio bem legal, além de devolverem bastante código para comunidade. Outro portal que eles desenvolverem em Drupal é o da Unicamp.

Outros websites feito em Drupal (só para vê o quando deu para criar tema personalizado):

Na página do projeto Drupal há vários outros estudos de casos.

Padrão

PHP Fatal error: Unsupported operand types in block.admin.inc on line 38

Tenho fechado alguns freelance para atualizar Drupal 6 para 7, pois em 24 de fevereiro de 2016 encerrou o suporte para o release 6.x e daí em diante não terá qualquer atualização e o aconselhado é atualizar para o release 7 ou 8.

Vou documentar por aqui os problemas que tive e como fiz para resolver, de repente ajudar alguém 🙂

Nesse caso restaurei o projeto localmente e fui estudar como estava organizando os Blocos, mas a página abrir /admin/build/block aparecia toda branca. Olhando o log havia o erro:

[Wed Aug 17 21:52:54.703125 2016] [:error] [pid 20047] [client ::1:39508] PHP Fatal error:  Unsupported operand types in /var/www/html/drupal/modules/block/block.admin.inc on line 38, referer: http://localhost/drupal/?q=admin/build

e olhando a linha do arquivo em questão temos:

$block_regions = system_region_list($theme_key) + array(BLOCK_REGION_NONE => '<'. t('none') .'>');

O projeto estava rodando em Drupal 6.26 e tentei atualizar para versões acima, mas do mesmo release para não quebrar módulos sem antes eu estudar melhor o que foi desenvolvido. Mas não adiantou nada.

Buscando solução pela web acabei achando um post do fórum alemão e ajudou indiretamente no problema: nele sugerem que há um problema na configuração das regiões na configuração do tema. Resolvi então trocar o tema padrão e deu certo! Consegui acessar a página administrativa de Blocos, embora tenha que trabalhar com o tema do projeto desabilitado.

Padrão

Adicionando localização de menu em WordPress

Se você precisa adicionar uma nova localização do WordPress é só acrescentar no arquivo functions.php algo como

if (function_exists('add_theme_support')) {
    add_theme_support('loja');
}

e depois no template você coloca

<?php     wp_nav_menu( array('menu' => 'loja',
    ));
?>

Depois você cria um novo menu em Aparência > Menu e em Gerenciar Posições você vincula o novo menu a localização Loja.

Mais informações em https://codex.wordpress.org/Navigation_Menus

Padrão

Limitando visualização do conteúdo só na home do WordPress e Woocommerce

Sempre aparece a necessidade de determinado conteúdo ser apresentado somente na home do site em WordPress. Esses dias precisei fazer isso num projeto em Woocommerce (uma solução para loja virtual em WordPres), e duas soluções são:

<?php if ( is_home() || is_front_page() ) : ?>
<h2>Aparece só na Home</h2>
<?php endif ?>
<?php wp_reset_query(); ?>

e para Woocommerce

<?php if ( is_shop() || is_front_page() ) : ?>
<h2>Aparece só na Home</h2>
<?php endif ?>
<?php wp_reset_query(); ?>
Padrão