Skip to content
Derek Jones edited this page Jul 5, 2012 · 4 revisions

Para quem trabalha no Brasil, agora pode ter um ajudante que retorna valores comuns como os meses do ano ou mesmo os estados.

<?php
<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');
class Ajudante {
  /**
   * Cria um array associativo com base em um array não associativo
   *
   * @param array $return O Array que será retornado
   * @param bool $assoc   Se o retorno será associativo ou não
   * @return array
   */
  function _assoc ($return, $assoc = false)
    {
      if (!$assoc) return $return;
      $assoc = array ();
      foreach ($return as $item) $assoc[$item] = $item;
      return $assoc;
    }
  /**
   * Retorna um array com os estados brasileiros
   *
   * @param bool $assoc Diz à função se o retorno deve ser associativo ou não
   * @param bool $empty Caso o retorno seja associativo, ele poderá retornar mais
   *                    um item em branco com o dizer "estado", muito útil para
   *                    montar selects com o form_helper
   * @return array
   */
  function estados ($assoc = false, $empty = false)
    {
      $estados = array (
        array ('Acre','AC'),
        array ('Alagoas','AL'),
        array ('Amapá','AP'),
        array ('Amazonas','AM'),
        array ('Bahia','BA'),
        array ('Ceará','CE'),
        array ('Distrito Federal','DF'),
        array ('Goiás','GO'),
        array ('Espírito Santo','ES'),
        array ('Maranhão','MA'),
        array ('Mato Grosso','MT'),
        array ('Mato Grosso do Sul','MS'),
        array ('Minas Gerais','MG'),
        array ('Pará','PA'),
        array ('Paraiba','PB'),
        array ('Paraná','PR'),
        array ('Pernambuco','PE'),
        array ('Piauí','PI'),
        array ('Rio de Janeiro','RJ'),
        array ('Rio Grande do Norte','RN'),
        array ('Rio Grande do Sul','RS'),
        array ('Rondônia','RO'),
        array ('Rorâima','RR'),
        array ('São Paulo','SP'),
        array ('Santa Catarina','SC'),
        array ('Sergipe','SE'),
        array ('Tocantins','TO')
      );
      if (!$assoc) return $estados;
      $return = array ();
      foreach ($estados as $value) {
        $return[$value[1]] = $value[1];
      }
      if ($empty) { array_unshift ($return, 'Estado'); }
      return $return;
    }
  /**
   * Retorna um array com os meses do ano
   *
   * @param bool $assoc Diz se o retorno será ou não associativo
   * @return array
   */
  function meses ($assoc = false)
    {
      $meses = array (
          'Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'
        );
      return $this->_assoc ($meses, $assoc);
    }
  /**
   * Cria um box de aviso na página, simples e direto
   *
   * @param string $titulo O titulo do box
   * @param string $string Texto que será escrito no box
   * @param string $element O elemento que será usado para fazer esse box.
   *                        Se você quiser, pode usar o p para criar um parágrafo
   *                        como caixa de aviso
   * @param string $extraClass Coloque mais classes a esse box. Ex: sussesso
   * @return string
   */
  function aviso ($titulo='',$string,$element='div',$extraClass='')
    {
      $titulo=($titulo?"<h2>".htmlentities($titulo)."</h2>\n":'');
      return "<$element class=\"aviso $extraClass\">".$titulo."$string\n</$element>";
    }
  /**
   * Retorna uma string com caracteres aleatórios
   *
   * @param int  $totalContador Quantidade de caracteres que serão retornados
   * @param bool $numero Indica se numeros podem ser alocados na string gerada
   * @return string
   */
  function randChr($totalContador,$numeros=false)
    {
      $caracteres = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
      if ($numeros) $caracteres.='0123456789';
      $totalCaracteres = strlen($caracteres);
      $contador = 0;
      $return = '';
      while ($contador < $totalContador)
        {
          $numeroRandomico = mt_rand(0,$totalCaracteres - 1);
          $return .= $caracteres[$numeroRandomico];
          $contador++;
        }
      return $return;
    }
?&gt;
Clone this wiki locally