MyHelperHelper.php
5.1 KB
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?php
/* src/View/Helper/ButtonHelper.php */
namespace App\View\Helper;
use Cake\View\Helper;
use phpDocumentor\Reflection\Types\Void_;
//class MyButtonHelper extends Helper {
class MyHelperHelper extends Helper {
// On a besoin du HtmlHelper
public $helpers = ['Html'];
public function initialize(array $config) {
//debug($config);
}
public function getActionButton($icon_class, $buttonStyle, $title, $controller, $action, $id, $other_args=[], $tip='', $confirmMessage='', $moreButtonStyle='') {
if ($controller=='') $controller='materiels';
$controllerArgs = [];
$controllerArgs['controller'] = $controller;
$controllerArgs['action'] = $action;
$controllerArgs[] = $id;
foreach ($other_args as $other_arg) $controllerArgs[] = $other_arg;
return $this->Html->link(
__("<i class=$icon_class></i>$title"),
$controllerArgs,
/*
[
'controller' => $controller,
'action' => $action,
$id,
$other_args
],
*/
[
'title' => $tip,
'escape' => false,
'onclick' => 'return true;',
//'style' => 'margin-right: 10px'.$moreButtonStyle,
'style' => $buttonStyle,
'confirm' => $confirmMessage
]
);
}
public function displayElement($nom, $valeur, $params = "") {
$TD = ($params=="") ? 'TD' : "TD $params";
//$TD = ($params=="") ? '<TD>' : '<TD '.$params.'>';
//$tdstyle = $params!="" ? $params : '';
// Ca c'est parce que sinon y'a au moins deux tests qui passent pas, a cause de l'espace dans la balise ...
//if ($valeur != "") echo '<tr> <td><strong>'.$nom.' </strong></td>' . $TD.$valeur.'</td></tr>';
//if ($valeur != "") echo '<tr><td><strong>' . $nom . ' </strong></td>' . $balise . $valeur . '</td></tr>';
//if ($valeur!="") echo "<TR> <TD><strong>".__($nom)."</strong></TD> <$TD>".h($valeur)."</TD> </TR>";
//if ($valeur!="") echo "<TR> <TD><strong>".__($nom)."</strong></TD> <$TD>".$valeur."</TD> </TR>";
if ($valeur!==null && $valeur!=='') {
$val = $valeur;
if ($valeur === true) $val = 'Oui';
if ($valeur === false) $val = 'Non';
echo "<TR> <TD><strong>".__($nom)."</strong></TD> <$TD>".$val."</TD> </TR>";
}
//if ($valeur!="") echo "<TR> <TD><strong>$nom</strong></TD> <$TD>$valeur</TD> </TR>";
}
//function displaySectionShowHide($controller_name, $entity_type_name, $title, $id_name, $is_masculine, $name_field_name, $entities) {
//function displaySectionShowHide($controller_name, $entity_type_name, $title, $is_masculine, $name_field_name, $entities) {
function displayAssociatedEntitiesAsSectionShowHide($controller_name, $entity_type_name, $title, $is_masculin, $name_field_name, $entities) {
$id_name = $controller_name;
$id_h3 = 't_'.$id_name;
$id_i = 'i_'.$id_name;
$title = ucfirst($title).' associé'. ($is_masculin ? 's' : 'es');
echo "<h3 id='$id_h3' class='toggle' style='cursor: pointer;'>";
echo "<i class='icon-chevron-down' style='font-size: 14px;' id='$id_i'></i>";
//echo " <span style='text-decoration: underline;'>$title (".$entities->count().")</span>";
echo " <span style='text-decoration: underline;'>$title (".count($entities).")</span>";
echo "</h3>";
echo "<div id='$id_name' style='margin-bottom: 20px;'>";
//if (true) {
$shift3 = ' ';
$shift5 = ' ';
//if ($entities->isEmpty()) {
if (empty($entities)) {
//echo "Aucune $entity_name liée à ce domaine.";
echo $shift5.($is_masculin ? "Aucun $entity_type_name associé" : "Aucune $entity_type_name associée");
}
else {
echo "<table>";
/*
<tr>
<th><= __('Nom') ?></th>
<th style="width: 50px;"><= __('Détail') ?></th>
</tr>
*/
foreach ($entities as $entity) {
echo "<tr>";
echo "<td>";
// Nom de l'entité (ou numéro de l'entité si nom vide, comme pour les emprunts par exemple...)
$name = $entity->$name_field_name ? $entity->$name_field_name : "$entity_type_name #".$entity->id;
echo $shift3.$this->Html->link(h($name), ['controller' => $controller_name, 'action' => 'view', h($entity->id)]);
echo "</td>";
/*
<td class="actions">
<= $this->Html->link(__('<i class="icon-search"></i>'), ['controller' => $controller, 'action' => 'view', $entity->id], ['escape' => false, 'style' => 'margin:0']) ?>
</td>
*/
echo "</tr>";
}
echo "</table>";
}
echo "</div>";
} // displaySectionShowHide()
}