quinta-feira, 18 de setembro de 2014

PHP Caminhos do Dominio

// Retorna o domínio do servidor
echo $_SERVER['SERVER_NAME'] . "<br />";
// Retorna o path do arquivo onde está sendo executado
echo $_SERVER['PHP_SELF'] . "<br />";
// Retorna o path do pasta onde está sendo executado
echo $_SERVER['DOCUMENT_ROOT'] . "<br />";
// Retorna o path do arquivo onde está sendo executado o script
echo $_SERVER['SCRIPT_FILENAME'] . "<br />";
// Retorna o path e nome do arquivo que está executando
echo $_SERVER['SCRIPT_NAME'] . "<br />";
 
echo "<hr >";
$path = $_SERVER['SCRIPT_FILENAME'];
$path_parts = pathinfo($path);
// retorna o path absoluto do diretório no servidor
echo $path_parts['dirname'] . "<br />";
// retorna o nome do arquivo com extensão
echo $path_parts['basename'] . "<br />";
// retorna a extensão do arquivo
echo $path_parts['extension'] . "<br />";
// retorna o nome do arquivo sem extensão
echo $path_parts['filename'] . "<br />";

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/>";
}

?>

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...