forked from Juanlu1995/distro-ada
-
Notifications
You must be signed in to change notification settings - Fork 0
/
helpers.php
74 lines (63 loc) · 2.47 KB
/
helpers.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php
function dameDato($dato){
echo '<pre>';
print_r($dato);
echo '</pre>';
die();
}
function convierteCadena($array){
return implode(", ", $array);
}
function convierteArray($string){
return explode(", ", $string);
}
/**
* Este helper sirve para generar los selects dinámicamente.
*
* @param $listaValores Array con los valores que debe mostrar el select
* @param $seleccionados Array con los valores que debe seleccionar el select
* @param $name String nombre de la clave que se pasará en el array $_POST
* @param bool $multiple Bool Si el select va a admitir selección múltiple o no.
*
* @return string Código HTML del select
*/
function generarSelect($listaValores, $seleccionados, $name, $multiple = false){
$salida = '<select class="form-control" name="'.$name.($multiple?"[]":""). '"' . ($multiple?"multiple":"") .'>';
if( !is_array($seleccionados) ){
$seleccionados = (array) $seleccionados;
}
foreach ($listaValores as $valor){
$selected = "";
if( in_array($valor, $seleccionados) ) $selected = " selected";
$salida .= "<option value=\"{$valor}\"{$selected}>{$valor}</option>";
}
$salida .= '</select>';
return $salida;
}
/**
* Esta función genera un bloque de alerta para mostrar cuando se producen errores de validación.
*
* @param $errors Array con la información de los errores
* @param $field String con el nombre del campo a evaluar
* @return null|string Código HTML del error
*/
function generarAlert($errors, $field){
// Si hay errores en ese campo:
if( isset($errors[$field]) ){
// Se crea un string con la lista de errores
$errorList = '';
foreach ($errors[$field] as $error) {
$errorList .= "{$error}<br>";
}
// Y se inserta dicha lista en un bloque alert (ver documentación bootstrap 3.3.7)
$alert = <<<ALERT
<div class="alert alert-danger alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<strong>{$errorList}</strong>
</div>
ALERT;
}else{
$alert = null;
}
return $alert;
}