terça-feira, 15 de julho de 2014

segunda-feira, 16 de junho de 2014

PHP diferença entre duas datas em anos, meses, dias, horas, minutos, segundos


Marcar quanto tempo falta para começar um evento:

date_default_timezone_set('America/Sao_Paulo');
$data_hoje = date("Y-m-d H:i:s");
$data_evento = strtotime("2014-09-03 9:00:00");
$start_date = new DateTime("$data_hoje");
$since_start = $start_date->diff(new DateTime("$data_evento"));
echo $since_start->y.' anos<br>';
echo $since_start->m.' meses<br>';
echo $since_start->days.' dias<br>';
echo $since_start->h.' horas<br>';
echo $since_start->i.' minutos<br>';
echo $since_start->s.' segundos<br>';

terça-feira, 3 de junho de 2014

MySQL - update when case

Exemplo prático de When Case no UPDATE, quando a data de hoje é menor que a data do final da assinatura (pagamento antecipado) o programa assume a data do final do pagamento + um ano:

UPDATE assinaturas set
inicio_assinatura= IF(inicio_assinatura='0000-00-00', CURDATE(), inicio_assinatura),
fim_assinatura=
   CASE
    WHEN CURDATE( ) <  `fim_assinatura` THEN DATE_ADD( fim_assinatura, INTERVAL 365 DAY )
    ELSE DATE_ADD( CURDATE( ) , INTERVAL 365 DAY )
   END
where id_da_empresa='$id_empresa' and id_do_contato='$id_contato'


terça-feira, 13 de maio de 2014

PHP mascara - PHP mask

Usar para qualquer tipo de mascara que deseje exemplos abaixo com data, cep, cnpj e cpf
Use with any kind of mask you wish like zip code and dates. 

<?php

function mask($val, $mask)
{
 $maskared = '';
 $k = 0;
 for($i = 0; $i<=strlen($mask)-1; $i++)
 {
   if($mask[$i] == '#')
   {
      if(isset($val[$k]))
       $maskared .= $val[$k++];
   }
   else
 {
     if(isset($mask[$i]))
     $maskared .= $mask[$i];
     }
 }
 return $maskared;
}

?>
Forma de Adicionar a máscara
<?php
$cnpj = "11222333000199";
$cpf = "00100200300";
$cep = "08665110";
$data = "10102010";

echo mask($cnpj,'##.###.###/####-##');
echo mask($cpf,'###.###.###-##');
echo mask($cep,'#####-###');
echo mask($data,'##/##/####');

?>
Retirado de http://blog.clares.com.br/php-mascara-cnpj-cpf-data-e-qualquer-outra-coisa/

sábado, 1 de fevereiro de 2014

WordPress WP-Pool - Editor pode ver pesquisa

Thank's in advance to http://familypress.net/2009/02/27/wp-polls-for-non-admins/


Em wp-pool.php dentro da função 'add_submenu_page' adicone o seguinte:

// começo
global $current_user;

    if (!current_user_can('administrator')) {
        add_submenu_page('wp-polls/polls-manager.php', __('Manage Polls', 'wp-polls'), __('Manage Polls', 'wp-polls'), 'manage_polls', 'wp-polls/polls-manager.php');
        add_submenu_page('wp-polls/polls-manager.php', __('Add Poll', 'wp-polls'), __('Add Poll', 'wp-polls'), 'manage_polls', 'wp-polls/polls-add.php');
}
    else {
add_submenu_page('wp-polls/polls-manager.php', __('Manage Polls', 'wp-polls'), __('Manage Polls', 'wp-polls'), 'manage_polls', 'wp-polls/polls-manager.php');
add_submenu_page('wp-polls/polls-manager.php', __('Add Poll', 'wp-polls'), __('Add Poll', 'wp-polls'), 'manage_polls', 'wp-polls/polls-add.php');
add_submenu_page('wp-polls/polls-manager.php', __('Poll Options', 'wp-polls'), __('Poll Options', 'wp-polls'), 'manage_polls', 'wp-polls/polls-options.php');
add_submenu_page('wp-polls/polls-manager.php', __('Poll Templates', 'wp-polls'), __('Poll Templates', 'wp-polls'), 'manage_polls', 'wp-polls/polls-templates.php');
add_submenu_page('wp-polls/polls-manager.php', __('Uninstall WP-Polls', 'wp-polls'), __('Uninstall WP-Polls', 'wp-polls'), 'manage_polls', 'wp-polls/polls-uninstall.php');

  }
//final

E depois no final da pagina em:

// Set 'manage_polls' Capabilities To Administrator
$role = get_role('editor');



quarta-feira, 6 de novembro de 2013

PHP arredondar dizima centavos - round fractional cents

Para dividir um valor em X vezes nem sempre dá um numero inteiro, sendo assim criei uma fórmula para calcular o valor e cobrar a diferença (a maior ou a menor) na ultima parcela:

Exemplo prático 1:

Total: 4128
Parcelas=7
Valor quebrado antes do programa= 589,7142857142

Depois de rodar o programa teremos:

Parcela 1:  589.71
Parcela 2:  589.71
Parcela 3:  589.71
Parcela 4:  589.71
Parcela 5:  589.71
Parcela 6:  589.71
Parcela 7:  589.74

Ou seja na parcela 7 há 0,03 centavos a mais para fechar o valor quebrado (589,7142857142).

Exemplo prático 2:

Total: 56000
Parcelas= 12
Valor quebrado antes do programa= 4666,66666666666667

Depois de rodar o programa teremos:

Parcela 1:   4666.67
Parcela 2:   4666.67
Parcela 3:   4666.67
Parcela 4:   4666.67
Parcela 5:   4666.67
Parcela 6:   4666.67
Parcela 7:   4666.67
Parcela 8:   4666.67
Parcela 9:   4666.67
Parcela 10:  4666.67
Parcela 11: 4666.67
Parcela 12: 4666.63

Ou seja na parcela 12 há 0,04 centavos a menos para fechar o valor quebrado (4666,66666666666667).

<?php

$total_pagamento="4128.00";
$parcelas="7";
$valor_quebrado=round(($total_pagamento/$parcelas),2);
$valor_quebrado_total=round($total_pagamento-($valor_quebrado*$parcelas),2);

for ($i=1;$i<=$parcelas;$i++) {
            if ($i==$parcelas) $valor_quebrado=$valor_quebrado+$valor_quebrado_total;
            echo "Parcelamento $i:  $valor_quebrado<br/>";
}

?>

quarta-feira, 9 de outubro de 2013

Gmail - não enviar para caixa de SPAM

Para que isso não ocorra tem um procedimento simples no Gmail:
  1. Entre no Webmail/Gmail;
  2. Clique no icone roda de engrenagem (fica a direita) e escolha configurações;
  3. No menu horizontal clique em Filtros;
  4. Clique em Criar novo filtro;
  5. Vai abrir uma janela, no campo de: coloque e-mail *@empresa_que_quer_liberar.com.br (o asterisco significa todos os emails dessa empresa);
  6. Clique em Criar Filtro com esta pesquisa;
  7. Na proxima tela clique em nunca enviar para SPAM;
  8. Clique em Criar Filtro.

segunda-feira, 19 de agosto de 2013

MySQL pesquisar as mesmas colunas em tabelas diferentes sem duplicar

A idéia aki é puxar valores de uma mesma coluna que está em duas tabelas diferentes sem duplicar.
Por exemplo: eu tenho SANTOS na TABELA1 e na TABELA2  e tenho MANAUS na TABELA1 e tenho SUAPE na TABELA2.

O resultado será:
  • Manaus
  • Santos
  • Suape

<select name='Porto' id='Porto'>
<?php
  $sql='';$err='';$linha='';
  $sql=mysql_query("
(select DISTINCT PORTO from TABELA1 where O_Q_VC_QUISER='REPOSTA Q PRECISAR')
                    UNION
 (select DISTINCT PORTO from TABELA2 where O_Q_VC_QUISER='REPOSTA Q PRECISAR')
                    order by PORTO // notem q o order by fica fora do select
                    ");
 
  $err=mysql_error();
  if ($err) echo "<option>$err</option>";
  while ($linha=mysql_fetch_array($sql)):
    $porto=$linha['PORTO'];
    echo "<option value='$porto'>$porto</option>\n";
  endwhile;
?>
</select>

quarta-feira, 1 de maio de 2013

Webmail e Google Docs

Tutorial do Google Docs:

http://www.youtube.com/watch?v=zcCyxJG0o6g

Na video-aula acima de apenas 7 minutos vcs aprendem a criar e manter os documentos na "nuvem", ensina até o recurso para verificar as revisões que foram feitas no arquivo original.

O Google Docs faz pesquisa tanto pelo nome do documento quanto pelo texto dentro do documento.

Tutorial Webmail

Criar Marcadores

Adicionar Cores aos marcadores:

Criar uma regra para sempre que receber um e-mail ele apareça com o Marcador/Cor escolhido:
  • Clicar no botão de Engrenagem no canto superior Direito da tela;
  • Escolher Configurações;
  • No menu horizontal escolher Filtros;
  • Clicar em Criar Filtro;
  • No primeiro campo coloque *@email da empresa -> exemplo: *@laweb.com.br (o asterisco é muito importante) apenas uma dica se o e-mail for gmail ou hotmail o melhor é colocar assim luis@gmail.com(pq o asterisco indica TODOS e vc não qr todos os emails @gmail com a mesma cor/marcador)
  • Clique em Criar filtro com esta pesquisa;
  • Na próxima tela marque -> Aplicar o marcador (e escolha o marcador), marque também Nunca enviar para SPAM;
  • Marque Também aplicar o filtro a XX correspondentes...
  • Clique em criar filtro.

Linux bash file returns unexpected token `$'do\r''

open file in vi edit with   vi filename.sh   command; type in vi  :set ff=unix  command; save file with  :wq It will save the file with unix...