PageRenderTime 41ms CodeModel.GetById 13ms RepoModel.GetById 0ms app.codeStats 0ms

/application/helpers/funcoes_helper.php

https://bitbucket.org/everlon/teste-netsar
PHP | 249 lines | 171 code | 39 blank | 39 comment | 25 complexity | f4bc0d9ef8b342465cea1b0aea9d0e07 MD5 | raw file
  1. <?php
  2. /**
  3. * @author Everlon Passos <dev@everlon.com.br>
  4. * @link http://www.everlon.com.br Página pessoal do Autor
  5. * @version 1.0 (em desenvolvimento)
  6. * @copyright 2012-2013 Grupo MG Contábil
  7. *
  8. */
  9. function e($texto)
  10. {
  11. echo $texto; # Não você não esta vendo demais... é a função mais ridícula que vi, tinha que postar aqui :o)
  12. }
  13. # Limpa formato
  14. function limpaString($var) { return preg_replace('/[^0-9]/', '', $var); }
  15. function data_to_db($date)
  16. {
  17. return preg_replace(
  18. "/([0-9]{2})\/([0-9]{2})\/([0-9]{4})/i",
  19. "$3/$2/$1",
  20. $date
  21. );
  22. }
  23. /*
  24. function date2br($date)
  25. {
  26. return preg_replace(
  27. "/([0-9]{4})\/([0-9]{2})\/([0-9]{2})/i",
  28. "$3/$2/$1",
  29. $date
  30. );
  31. } */
  32. function data_br($data)
  33. {
  34. if(strpos($data, '-')){ return implode('/', array_reverse(explode('-', $data))); }
  35. else{ return $data; }
  36. }
  37. function formata_CNPJ($numero)
  38. {
  39. $numero = preg_replace('/[^0-9]/', '', $numero);
  40. $valor = str_pad(preg_replace('[^0-9]', '', $numero), 14, '0', STR_PAD_LEFT);
  41. return preg_replace('/^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/', '$1.$2.$3/$4-$5', $valor);
  42. }
  43. function detalhes_CNPJ( $cnpj )
  44. {
  45. $cnpj_limpo = limpaString( $cnpj ); # Limpar primeiro
  46. $cnpj_numr = substr($cnpj_limpo, 0 , 8); # Numero da empresa
  47. $cnpj_fili = substr($cnpj_limpo, 8 , 4); # Numero da filial
  48. $cnpj_vald = substr($cnpj_limpo, 12 , 2); # Validador
  49. return array( $cnpj_numr, $cnpj_fili, $cnpj_vald );
  50. }
  51. function formata_CEP($numero)
  52. {
  53. $numero = preg_replace('/[^0-9]/', '', $numero);
  54. $valor = str_pad(preg_replace('[^0-9]', '', $numero), 7, '0', STR_PAD_LEFT);
  55. return preg_replace('/^(\d{2})(\d{3})(\d{3})$/', '$1.$2-$3', $valor);
  56. }
  57. function valida_Email($email)
  58. {
  59. $string = strtolower($email);
  60. if (preg_match( '/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/', $string))
  61. {
  62. return $string;
  63. }
  64. }
  65. function formata_TEL($numero)
  66. {
  67. $numero = preg_replace('/[^0-9]/', '', $numero);
  68. $valor = str_pad(preg_replace('[^0-9]', '', $numero), 10, '0', STR_PAD_LEFT);
  69. return preg_replace('/^(\d{2})(\d{4})(\d{4})$/', '($1) $2-$3', $valor);
  70. }
  71. function formatarCPF_CNPJ($campo, $formatado=TRUE)
  72. {
  73. # retira formato
  74. $codigoLimpo = preg_replace("[' '-./ t]", '', $campo);
  75. # pega o tamanho da string menos os digitos verificadores
  76. $tamanho = (strlen($codigoLimpo) -2);
  77. # verifica se o tamanho do código informado é válido
  78. if ($tamanho != 9 && $tamanho != 12)
  79. {
  80. return FALSE;
  81. }
  82. if ($formatado)
  83. {
  84. # seleciona a máscara para cpf ou cnpj
  85. $mascara = ($tamanho == 9) ? '###.###.###-##' : '##.###.###/####-##';
  86. $indice = -1;
  87. for ($i=0; $i < strlen($mascara); $i++)
  88. {
  89. if ($mascara[$i]=='#') $mascara[$i] = $codigoLimpo[++$indice];
  90. }
  91. #retorna o campo formatado
  92. $retorno = $mascara;
  93. }
  94. else
  95. {
  96. //se não quer formatado, retorna o campo limpo
  97. $retorno = $codigoLimpo;
  98. }
  99. return $retorno;
  100. } # formatarCPF_CNPJ
  101. function moeda_br($campo=NULL, $mask=NULL)
  102. {
  103. if(isset($campo))
  104. {
  105. $campo_n = 'R$ ' . number_format($campo, 2, ',', '.'); # retorna no formato R$ 100.000,50
  106. //$mask = 'decimal';
  107. return $campo_n;
  108. }
  109. else{ return FALSE; }
  110. }
  111. function cria_senha()
  112. {
  113. $pwd = sha1(uniqid(time(), true));
  114. $pwd = substr($pwd, 0, 8);
  115. return $pwd;
  116. }
  117. function objeto2Array($objeto)
  118. {
  119. $arr = array();
  120. for($i = 0; $i < count($objeto); $i++) { $arr[] = get_object_vars( $objeto[$i] ); }
  121. return $arr;
  122. }
  123. function objeto2Array_limpo($objeto)
  124. { # Deixa um array simples, sem multi-level
  125. $arr = array();
  126. for($i = 0; $i < count($objeto); $i++)
  127. {
  128. $arr[] = get_object_vars( $objeto[$i] );
  129. }
  130. foreach ($arr as $value)
  131. {
  132. foreach ($value as $key => $valor) { $arr_final[$key] = $valor; }
  133. }
  134. return $arr_final;
  135. }
  136. function zeroAleft($campo=NULL, $zeros=1)
  137. {
  138. # Define a quantidade de números preenchendo a esquerda com zeros
  139. if ( isset($campo) ) { return str_pad( $campo, (int)$zeros, "0", STR_PAD_LEFT ); }
  140. else { return FALSE; }
  141. }
  142. function Debug($value)
  143. {
  144. /*
  145. * Formas de uso
  146. * @ Debug($_POST);
  147. * @ Debug($_GET);
  148. * @ Debug($_REQUEST);
  149. */
  150. echo "<pre>";
  151. print_r($value);
  152. echo "<pre>";
  153. exit(); # You shall not pass!
  154. }
  155. # Acrescentando a função para servidores anteriores ao PHP 5.3
  156. # (PHP 5 >= 5.3.0)
  157. # array_replace Replaces elements from passed arrays into the first array
  158. if (!function_exists('array_replace'))
  159. {
  160. function array_replace( array &$array, array &$array1 )
  161. {
  162. $args = func_get_args();
  163. $count = func_num_args();
  164. for ($i = 0; $i < $count; ++$i) {
  165. if (is_array($args[$i])) {
  166. foreach ($args[$i] as $key => $val) {
  167. $array[$key] = $val;
  168. }
  169. }
  170. else {
  171. trigger_error(
  172. __FUNCTION__ . '(): Argumento #' . ($i+1) . ' não é um array',
  173. E_USER_WARNING
  174. );
  175. return NULL;
  176. }
  177. }
  178. return $array;
  179. }
  180. }
  181. function voltar($i=1) { echo '<script type="text/javascript">history.go(-'.$i.')</script>'; }
  182. # Verifica se numero é Negativo
  183. function isNegative($num)
  184. {
  185. if ($num < 0){ return FALSE; }
  186. else { return TRUE; }
  187. }
  188. # Função para somatória de um array tratando valores com vírgula
  189. function somarArray( $valores=array() )
  190. {
  191. if( !empty($valores) )
  192. {
  193. $total = array_sum( str_replace( ',', '.', $valores ) );
  194. return str_replace( '.', ',', $total );
  195. }
  196. else { return FALSE; }
  197. }
  198. # Colocar campos em branco no inicio do Array
  199. function add_field_Array($array, $qnt)
  200. {
  201. $qnt_array = count($array); # Pegar quantos itens tem no array
  202. if ($qnt_array < $qnt )
  203. {
  204. $qnt_array = $qnt - $qnt_array;
  205. for ($i=1; $i < $qnt_array; $i++) { array_unshift($array, NULL); }
  206. }
  207. return $array;
  208. }
  209. /* End of file funcoes_helper.php */
  210. /* Location: helpers/funcoes_helper.php */