29 de ago. de 2014

Alinhamento Vertical Absoluto usando CSS Cross Browser


Sempre perco tempo procurando resolver o problema de alinhamento de conteúdo na vertical e que seja cross browser de conteúdo dentro de DIV.



Depois de testar vários métodos, o modo mais simples de alinhar conteúdo na vertical foi criando dois DIVs, um DIV externo usando a propriedade display:table e um segundo DIV usando o display:table-cell com a propriedade vertical-align:middle.

Espero que seja útil para mais pessoas!

 <style>  
   .ContainerExt {  
     display: table;  
     width: 330px;  
     height: 180px;  
     background-color: #333333;  
     overflow: hidden;  
   }  
   .ContainerExt:hover {  
     background-color: #000000;  
   }  
   .ContainerExt .ContainerInt {  
     display: table-cell;  
     margin: 0 auto;  
     text-align: center;  
     vertical-align: middle;  
     width: 100%;  
   }  
 </style>  
 <div class="ContainerExt">  
   <div class="ContainerInt">  
     <div class="boxQualquer">  
       Conteúdo Centralizado  
       <br />Multi-linha.  
     </div>  
   </div>  
 </div>  


Fonte: Andy Howard

23 de ago. de 2014

Wordpress e mqtranslate: get_permalink não retorna o link com o idioma ativo (resolvido)

WordPress + mQtranslate


Prestes a finalizar a tradução de um site bilingue (português/inglês) utilizando o WordPress + mqTranslate (um fork do qTranslate) e tudo funcionava perfeito se não fosse o get_permalink insistia em retornar a url sempre sem o idioma ativo.

A função the_permalink funcionava perfeito. Retorna corretamente todos os links já traduzidos.

Eu selecionava o idioma inglês e o get_permalink insistia em retornar o link sem o /en/ na url.

Em lugar de retornar http://site/en/post, retorna sempre http://site/post

Pesquisando pela web descobri um hook simples e eficiente que resolveu o meu problema.

Adicione a linha abaixo no functions.php do teu tema:

add_filter('post_type_link', 'qtrans_convertURL');

Espero que ajude outras pessoas que também estejam com o mesmo problema com o get_permalink.

18 de fev. de 2013

WordPress erro "pluggable.php on line 934" resolvido

Após remover alguns plugins do WordPress na mão pelo FTP, o site todo começou a retornar essa mensagem de erro pluggable.php on line 934.

Foi quando após algumas tentativas, acabei encontrando um post no fórum da comunidade WordPress, que sugeria que o wp-config.php fosse removido (ou renomeado) para refazer a instalação para que o WordPress verificasse a instalação e resolvesse o problema.

Pra mim funcionou e espero que ajude outras pessoas.




7 de fev. de 2013

403 forbidden após enviar formulário RESOLVIDO

403 Forbidden - resolvido
Se a sua aplicacação está apresentando o erro 403 forbidden, espero que essa dica ajude.

No meu caso o arquivo /login.php carregava normalmente.

Mas quando inseria os dados de usuário e senha o mesmo e faz um post para esse mesmo arquivo /login.php retornava um erro 403 forbidden.

Segundo a Wikipedia403 Forbidden (403 Proibido) é um código de erro HTTP retornado pelo servidor web quando o utilizador ou programa tenta obter acesso um recurso que o servidor não permite.
O erro também é obtido quando tenta ver a listagem de directórios em um servidor web com Apache ou Microsoft IIS com o recurso desabilitado.

Fiz vários testes de permissão de arquivos, 777, 755, etc. E nada funcionava até que através do São Google, achei uma informação que apontou como uma das soluções a desativação do mod_security.

Primeiro tentei por conta própria seguindo as orientações que achei em um fórum da Hostgator para tentar desativar o mod_security via .htaccess para resolver esse problema do 403 Forbidden.


Disable mod_security in .htaccess file
  1. If you do not have one yet, an .htaccess file in the folder of your web application
  2. To disable mod_security COMPLETELY, add the following line to the .htaccess file:
    • SecFilterEngine Off
    • OR, to disable HTTP POST scanning only, use the following instead:
    • SecFilterScanPOST Off
  3. Save the file and test your web application to check whether disabling mod_security has solved your problem.

I recommend you to try SecFilterScanPOST Off first, instead of disabling mod_security completely.


Mas não funcionou. E tive que recorrer ao suporte da hospedagem para solicitar a desativação do mod_security para a minha conta. Após a desativação tudo supimpa.


14 de jan. de 2013

Resolvido: Wordpress + WP e-Commerce + Carrinho Vazio no PagSeguro

Estava implementando o módulo do pagseguro com o wordpress e o wp e-commerce e o módulo retornava um warning:

Warning: Invalid argument supplied for foreach() in /home/storage/9/36/ca/bannerscontrol2/public_html/wp-content/plugins/wp-e-commerce/wpsc-merchants/pagseguro.php on line 68


Na linha 68 o código era:    foreach($cart->cart_items as $item) {

Então seguindo orientações de outros usuários de vários fóruns que passaram pelo mesmo problema, alterei o arquivo do pagseguro.php com as informações abaixo mas ainda assim não funcionou.

linha 19, alterada de:
$cart = unserialize($_SESSION['wpsc_cart']);

para:
$cart = $_SESSION['wpsc_cart'];

e ainda assim não funcionou.

Então debugando o código do módulo do pagseguro.php, percebi que a linha 68 não estava recebendo os dados em $cart

Nas variáveis globais tbem não tinha nenhuma referência para $cart, mas tinha para $wpsc_cart

Então fiz o teste de

        foreach($cart->cart_items as $item) {


para

        foreach($wpsc_cart->cart_items as $item) {


e deu gol!



Os testes foram feitos com sucesso usando:

wordpress 3.5
wp e-commerce 3.8.9.5
pagseguro wp-e-commerce_v3.2.4.zip
recomendado pela página
http://pagseguro.vis.../wp-e-commerce/



Espero que essa dica possa ajudar outras pessoas.

30 de jun. de 2012

Remove write-protected arquivo comum - RESOLVIDO

Como profissional não especializado em servidores, quebrei a cabeça para apagar alguns arquivos no sistema e que não conseguia remover de jeito algum:
root@vps [/home/itcpfgvo/public_html]# rm br0k3n.html rm: remove write-protected arquivo comum `br0k3n.html'? s
Eu executei diversas tentativas e nenhuma delas funcionava até que encontrei a documentação do comando chattr em um post na comunidade viva o linux e utilizando o comando
chattr -ias br0k3n.html
Restaurou os atributos do arquivo com as opções: - para remover os atributos a - Append Only, arquivo pode somente ser gravado em modo incrementado, ou seja, pode ser adicionado conteúdo somente no final do arquivo, não pode ser removido ou renomeado. i - Imutáveis. Arquivos Imutáveis não podem ser modificados, gravados, removidos, renomeados. Até mesmo o usuário root com pode máximo não pode alterar. s - É chamado de apagamento seguro, quando eliminado o arquivo é zerado sem possibilidade de recuperação. Feito isso, só foi dar um rm -f nomedoarquivo e pronto! Resolvido, o arquivo foi removido.

9 de jan. de 2012

ZTE ZXDSL 831 2 series + D-LINK DIR-615

Depois de uma chuva que resultou na queima do modem e do roteador, passei 2 dias tentando fazer o meu novo modem ZTE ZXDSL 831 2 series fornecido pela Telefônica funcionar com o meu novo roteador D-LINK DIR-615, mas finalmente consegui!

Testei várias configurações, li vários posts, como este post aqui do Liberar Modem ZTE ZXDSL 831 II para ser roteado do Clube do Hardware.

Mas o que acabou resolvendo foi zerar a configuração dos dois equipamentos e começar tudo de novo.

Comecei configurando o modem ZTE ZXDSL 831 com VPI=8 e VCI=35 (configurações para o Speedy da Telefônica - SP), coloquei o modem como PPP over Ethernet (PPPoE), Encapsulação "LLC/SNAP", IP automático, NAT Habilitado, informei os dados de acesso do meu provedor, IP Primário 192.168.1.1, DHCP Habilitado, e acho que foi isso.

Depois configurei o meu D-LINK DIR-615 para funcionar com o IP 192.168.2.1 e em Setup / Internet / Manual Internet Connection Setup e no campo My Internet Connection is selecione a opção Dynamic IP (DHCP)

Talvez esse link também ajude!

E boa sorte para quem encontrar esse post!