Skip to content

Instantly share code, notes, and snippets.

@thiagosf
Created December 7, 2010 15:58
Show Gist options
  • Save thiagosf/731949 to your computer and use it in GitHub Desktop.
Save thiagosf/731949 to your computer and use it in GitHub Desktop.
Helper Functions 1.0
<?php
/**
* Helper com funcoes diversas
*/
class FunctionsHelper extends AppHelper
{
var $helpers = array('Html', 'Form', 'Session');
// Data do perfil: 10 de novembro de 1970
function dataCompleta ($data) {
$meses = array('Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro');
$dia = date('d', strtotime($data));
$mes = date('m', strtotime($data));
$mes = $meses[$mes - 1];
$ano = date('Y', strtotime($data));
return sprintf('%s de %s de %s', $dia, $mes, $ano);
}
// Data do perfil: 10 de novembro de 1970
function dataSimples ($data) {
return date('d/m/Y', strtotime($data));
}
// Retorna data em segundos, minutos, horas ou data completa
function dataTempo ($data) {
$data_timestamp = strtotime($data);
$atual = strtotime(date('Y-m-d H:i:s'));
$subtracao = $atual - $data_timestamp;
if ($subtracao <= 60) {
$retorno = sprintf('à %.0f %s', $subtracao, (($subtracao == 1) ? 'segundo' : 'segundos'));
}
else if ($subtracao <= (60 * 60)) {
$retorno = sprintf('à %.0f %s', ($subtracao / 60), (($subtracao == (60)) ? 'minuto' : 'minutos'));
}
else if ($subtracao <= ((60 * 60) * 12)) {
$retorno = sprintf('à %.0f %s', (($subtracao / 60) / 60), (($subtracao == (60 * 60)) ? 'hora' : 'horas'));
}
else {
$meses = array('Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro');
$dia = date('d', strtotime($data));
$mes = date('m', strtotime($data));
$mes = $meses[$mes - 1];
$ano = date('Y', strtotime($data));
$retorno = sprintf('%s de %s de %s', $dia, $mes, $ano);
}
return $retorno;
}
// Corta palabra
function cortaPalavra ($palavra, $max = 45, $final = '...') {
$total = strlen($palavra);
if ($total > $max) {
$palavra = substr($palavra, 0, $max).$final;
}
return $palavra;
}
/**
* Moeda
*/
function moeda ($value) {
return number_format($value, 2, ',', '.');
}
/**
* Porcentagem desconto
*/
function porcentagemDesconto ($de, $por) {
$desconto = ($por * 100) / $de;
$desconto = 100 - $desconto;
$desconto = ceil($desconto);
return $desconto.'%';
}
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment