sábado, 15 de novembro de 2014

Configurando Apache no OS Yosemite para funcionar LOCALHOST na pasta Sites

Abra o arquivo /etc/apache2/httpd.conf com o editor de sua preferencia:

sudo nano /etc/apache2/httpd.conf


E deixe como a seguir, configurando o caminho para seu suarios

DocumentRoot "/Users/myusername/Sites"

<Directory "/Users/myusername/Sites">

    Options Indexes FollowSymLinks Multiviews

    MultiviewsMatch Any

    AllowOverride All

</Directory>

Salve e reinicie o apache

sudo apachectl restart

Depois basta abrir o navegador e digitar http://localhost

hasta!

terça-feira, 22 de abril de 2014

Como adicionar ou atualizar algum parametro da querystring via javascript

Surgiu a seguinte necessidade: Tinha uns filtros que utilizavam o método GET para enviar os valores. Como tinha mais que um e precisava deles de forma cumulativa, como fazer para pegar os filtros pré enviados e mantê-los num novo filtro?

Precisei verificar se o parâmetro já estava enviado e atualizá-lo se sim, ou incluí-lo se não.


O CÓDIGO:


function UpdateQueryString(key, value, url) {
    if (!url) url = window.location.href;
    var re = new RegExp("([?&])" + key + "=.*?(&|#|$)(.*)", "gi");

    if (re.test(url)) {
        if (typeof value !== 'undefined' && value !== null)
            return url.replace(re, '$1' + key + "=" + value + '$2$3');
        else {
            var hash = url.split('#');
            url = hash[0].replace(re, '$1$3').replace(/(&|\?)$/, '');
            if (typeof hash[1] !== 'undefined' && hash[1] !== null)
                url += '#' + hash[1];
            return url;
        }
    }
    else {
        if (typeof value !== 'undefined' && value !== null) {
            var separator = url.indexOf('?') !== -1 ? '&' : '?',
                hash = url.split('#');
            url = hash[0] + separator + key + '=' + value;
            if (typeof hash[1] !== 'undefined' && hash[1] !== null)
                url += '#' + hash[1];
            return url;
        }
        else
            return url;
    }
}


O USO:

location.href = UpdateQueryString('seu_parametro',SEU_VALOR);


hasta!

terça-feira, 7 de janeiro de 2014

App de cidades e estados brasileiros

Vez ou outra é necessário cadastrar a cidade e o estado em um formulário de algum projeto, seja para cadastro de perfis, pedidos, etc.

Quando tem endereço envolvido ainda é mais fácil, pois existem diversos webservices que fornecem o nome da forma correta, como consta nos correios. O problema acontece quando desejamos apenas cidade e estado.

Sempre aparece alguns "espertinhos" (pra não dizer outra coisa), que escrevem sua cidade cada hora de um jeito, abreviando das mais diversas maneiras, e com isso, o banco fica uma bagunça quando precisa-se filtrar ou tirar um relatório baseado em cidades.

Por isso, resolvi montar um banco com base nas informações dispostas no site do IBGE (http://www.cidades.ibge.gov.br/xtras/home.php - atualizado em 2010) para ajudar com esta tarefa.

Espero que ajude outros programadores.

Segue o link: https://github.com/zejuniortdr/cidades-br

hasta!

Compartilhar um link com uma imagem específica no Facebook

Por que quando se compartilha um link no Facebook, este pega uma imagem aleatória do site? Bom, li em vários lugares dizendo que não é bem assim. Ele tem uma premissas que fazem a escolha das imagens.

Algumas que vi, envolvem passar alguns parâmetros por metatags. Contudo, não deu muito certo.

Então tem alguma forma de fazer isso de maneira direta? Como a antiga url sharer? Tem. Bom, mais ou menos.

Aqui vão os passos:

  • Em https://developers.facebook.com/apps, crie uma aplicação com nome e namespace.
  • Nos detalhes da APP pode colocar como Page Tab e preencher os dados. Mas acho que não tem necessidade. Eu usei pagetab, pois já serviu para outro propósito.
  • No seu site, adicione a classe 'fb-share' ao elemento que será seu botão para a ação de compartilhar o link no Facebook
  • Em algum lugar, junto com seus JS, coloque o código abaixo:
$('.fb-share').click(function(event) {
 /* Act on the event */
 var app_id = 'SUA_APP_ID_AQUI'
 var title = "SEU TITULO AQUI";
 var summary = "SUA DESCRICAO AQUI";
 var link = "http://www.LINK-DO-SEU-SITE-AQUI.com.br/";
 var image = link+"CAMINHO/DA/IMAGEM.png";
 var caption = "ASSINATURA DO SITE AQUI"
 var fb_share = 'https://www.facebook.com/dialog/feed?'+
      'app_id='+app_id+'&'+
      'link='+link+'&'+
      'picture='+image+'&'+
      'name='+title+'&'+
      'caption='+caption +'&'+
      'description='+summary+'&'+
      'redirect_uri='+link;
 window.open(fb_share);
});


  • Lembre-se de ao criar como pagetab, colocar os links iguais com relação a ter ou não a barra no fim, isso pode ocasionar um erro informando que a redirect_uri não pertente a aplicação.


terça-feira, 10 de setembro de 2013

Verificar se um elemento está na tela

Para verificar se um elemento já está em tela:

O Código:

function isScrolledIntoView(elem)

{

    var docViewTop = $(window).scrollTop();

    var docViewBottom = docViewTop + $(window).height();



    var elemTop = $(elem).offset().top;

    var elemBottom = elemTop + $(elem).height();



    return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));

}

Outra solução seria alterar o elemBottom para desconsiderar a altura e tratar o início da exibição do elemento em tela.

sexta-feira, 30 de agosto de 2013

Verificar um charset/mimetype de um arquivo

As vezes se faz necessário saber em qual charset e/ou mimetype está um determinado arquivo. Dentre os mais comuns charsets estão o UTF-8 e o Windows-1252.

Para verificar, basta executar o comando abaixo.

O Código:

file -bi arquivo.txt ou
file -i arquivo.txt


hasta!

quarta-feira, 7 de agosto de 2013

Executar algo depois do de uma imagem ter carregado

Imagine assim: 2 elementos na tela. Um sendo uma div com uma imagem de background e outro sendo outra div apenas com uma cor setada via css.

Quem carrega primeiro? A div de cor chapada lógico. Ela não precisa de uma imagem externa.

E se, por alguma razão, precisar que ela apareça depois do load da imagem na primeira div?

O CÓDIGO:

$('< img / >').attr('src', '/static/site/css/img/SUA_IMAGEM.png').load(function() {
    $('div.bg').css('background-image', 'url(/static/site/css/img/SUA_IMAGEM.png)');
    $('div.bg').show();
    // o que mais tiver que fazer
});

LEMBRE DE REMOVER OS ESPAÇOS DESNECESSÁRIOS NO PRIMEIRO SELETOR DA PRIMEIRA LINHA. 

 Coloquei com espaços pois senão o editor do blog some com os caracteres.