util.php 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <?php
  2. /*
  3. * Funciones de utilidad
  4. */
  5. function fechaGuion($fechaTxt, $showDay = true){//convierte fecha a guiones
  6. $fechaTxt = trim($fechaTxt);
  7. if(substr($fechaTxt,2,1) == "/" && substr($fechaTxt,5,1) == "/"){// dd/mm/aaaa
  8. $fechaArr = explode("/", $fechaTxt);
  9. if($showDay)
  10. return $fechaArr[2]."-".$fechaArr[1]."-".$fechaArr[0];
  11. else
  12. return $fechaArr[2]."-".$fechaArr[1]."-01";
  13. }
  14. if(substr($fechaTxt,4,1) == "-" && substr($fechaTxt,7,1) == "-"){// aaaa-mm-dd
  15. if($showDay)
  16. return $fechaTxt;
  17. $fechaArr = explode("-", $fechaTxt);
  18. return $fechaArr[0]."-".$fechaArr[1]."-01";
  19. }
  20. return "";
  21. }
  22. function fechaSlash($fechaTxt, $showDay = true){//convierte fecha a /
  23. $fechaTxt = trim($fechaTxt);
  24. if(substr($fechaTxt,2,1) == "/" && substr($fechaTxt,5,1) == "/"){// dd/mm/aaaa
  25. if($showDay)
  26. return $fechaTxt;
  27. $fechaArr = explode("/", $fechaTxt);
  28. return "01/".$fechaTxt[1]."/".$fechaTxt[2];
  29. }
  30. if(substr($fechaTxt,4,1) == "-" && substr($fechaTxt,7,1) == "-"){// aaaa-mm-dd
  31. $fechaArr = explode("-", $fechaTxt);
  32. if($showDay)
  33. return $fechaArr[2]."/".$fechaArr[1]."/".$fechaArr[0];
  34. else
  35. return "01/".$fechaArr[1]."/".$fechaArr[0];
  36. }
  37. return "";
  38. }
  39. function fechaTexto($fechaTxt, $showYear = true){//convierte fecha a cadena de texto
  40. $fechaTxt = trim($fechaTxt);
  41. if(substr($fechaTxt,2,1) == "/" && substr($fechaTxt,5,1) == "/"){// dd/mm/aaaa
  42. $fechaArr = explode("/", $fechaTxt);
  43. if($showYear)
  44. return intval($fechaArr[0])." de ".mesNombre($fechaArr[1])." de ".$fechaArr[2];
  45. else
  46. return intval($fechaArr[0])." de ".mesNombre($fechaArr[1]);
  47. }
  48. if(substr($fechaTxt,4,1) == "-" && substr($fechaTxt,7,1) == "-"){// aaaa-mm-dd
  49. $fechaArr = explode("-", $fechaTxt);
  50. if($showYear)
  51. return intval($fechaArr[2])." de ".mesNombre($fechaArr[1])." de ".$fechaArr[0];
  52. else
  53. return intval($fechaArr[2])." de ".mesNombre($fechaArr[1]);
  54. }
  55. return "";
  56. }
  57. function fechaMonthPicker($fechaTxt){
  58. $meses=array(1=>"ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic");
  59. $fechaTxt = trim($fechaTxt);
  60. if(substr($fechaTxt,2,1) == "/" && substr($fechaTxt,5,1) == "/"){// dd/mm/aaaa
  61. $fechaArr = explode("/", $fechaTxt);
  62. return $meses[intval($fechaArr[1])].", ".$fechaArr[2];
  63. }
  64. if(substr($fechaTxt,4,1) == "-" && substr($fechaTxt,7,1) == "-"){// aaaa-mm-dd
  65. $fechaArr = explode("-", $fechaTxt);
  66. return $meses[intval($fechaArr[1])].", ".$fechaArr[0];
  67. }
  68. return "";
  69. }
  70. function fechaMes($fechaTxt){
  71. $fechaTxt = trim($fechaTxt);
  72. if(substr($fechaTxt,2,1) == "/" && substr($fechaTxt,5,1) == "/"){// dd/mm/aaaa
  73. $fechaArr = explode("/", $fechaTxt);
  74. return intval(mesNombre($fechaArr[1])." ".$fechaArr[2]);
  75. }
  76. if(substr($fechaTxt,4,1) == "-" && substr($fechaTxt,7,1) == "-"){// aaaa-mm-dd
  77. $fechaArr = explode("-", $fechaTxt);
  78. return intval(mesNombre($fechaArr[2])." ".$fechaArr[1]);
  79. }
  80. return "";
  81. }
  82. function mesNombre($num){
  83. $meses=array(1=>"enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre");
  84. return $meses[intval($num)];
  85. }
  86. function diaNombre($num){
  87. $dias=array("domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado");
  88. return $dias[intval($num)];
  89. }
  90. function horaMin($arr, $campo = "Horario_hora"){
  91. $min = "";
  92. foreach($arr as $horario){
  93. if($min == "" || date('H:i', strtotime($horario[$campo])) < date('H:i', strtotime($min))){
  94. $min = $horario[$campo];
  95. }
  96. }
  97. return date('H:i', strtotime($min));
  98. }
  99. function horaMax($arr, $campo = "Horario_hora_final"){
  100. $max = "";
  101. foreach($arr as $horario){
  102. if($max == "" || date('H:i', strtotime($horario[$campo])) > date('H:i', strtotime($max))){
  103. $max = $horario[$campo];
  104. }
  105. }
  106. return date('H:i', strtotime($max));
  107. }
  108. function duracionMinutos($fechahora_i, $fechahora_f){
  109. return round((strtotime($fechahora_f) - strtotime($fechahora_i)) / 60,2);
  110. }
  111. function validaPassword($pass){
  112. $expr = '/^\S*(?=\S{5,})(?=\S*[a-zA-Z])(?=\S*[\d])(?=\S*[\W])\S*$/';
  113. return preg_match($expr, $pass);
  114. }
  115. function getIniciales($materia){
  116. $ret = '';
  117. $materia = str_ireplace( array("Á","É","Í","Ó","Ú","Ñ","Ä","Ë","Ï","Ö","Ü","Â","Ê","Î","Ô","Û","Ã"), array("A","E","I","O","U","N","A","E","I","O","U","A","E","I","O","U","A"), utf8_encode($materia));
  118. foreach (explode(' ', $materia) as $word){
  119. if(ctype_alpha($word[0]))
  120. $ret .= $word[0];
  121. }
  122. return strtoupper($ret);
  123. }