Overview
Comment: | Fonction de template permettant de générer des champs de formulaire, plus simple, moinds de code |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | dev |
Files: | files | file ages | folders |
SHA1: |
f76ab717adac41e87e3f66700401046d |
User & Date: | bohwaz on 2020-01-29 15:27:50 |
Other Links: | branch diff | manifest | tags |
Context
2020-01-29
| ||
15:28 | Association de la base de données à EntityManager check-in: e97dae8c26 user: bohwaz tags: dev | |
15:27 | Fonction de template permettant de générer des champs de formulaire, plus simple, moinds de code check-in: f76ab717ad user: bohwaz tags: dev | |
2020-01-27
| ||
00:43 | * Gérer les fichiers CSV provenant des vieilles versions d'Excel pour Mac OS. * Ajouter la mention de la taille limite du fichier check-in: 738039429a user: bohwaz tags: dev | |
Changes
Modified src/include/lib/Garradin/Template.php from [1753fedcdf] to [dcc3b0aa03].
︙ | ︙ | |||
56 57 58 59 60 61 62 63 64 65 66 67 68 69 | }); $this->register_function('form_errors', [$this, 'formErrors']); $this->register_function('show_error', [$this, 'showError']); $this->register_function('form_field', [$this, 'formField']); $this->register_function('select_compte', [$this, 'formSelectCompte']); $this->register_function('html_champ_membre', [$this, 'formChampMembre']); $this->register_function('custom_colors', [$this, 'customColors']); $this->register_function('plugin_url', ['Garradin\Utils', 'plugin_url']); $this->register_function('diff', [$this, 'diff']); $this->register_function('pagination', [$this, 'pagination']); $this->register_function('format_droits', [$this, 'formatDroits']); | > | 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | }); $this->register_function('form_errors', [$this, 'formErrors']); $this->register_function('show_error', [$this, 'showError']); $this->register_function('form_field', [$this, 'formField']); $this->register_function('select_compte', [$this, 'formSelectCompte']); $this->register_function('html_champ_membre', [$this, 'formChampMembre']); $this->register_function('input', [$this, 'formInput']); $this->register_function('custom_colors', [$this, 'customColors']); $this->register_function('plugin_url', ['Garradin\Utils', 'plugin_url']); $this->register_function('diff', [$this, 'diff']); $this->register_function('pagination', [$this, 'pagination']); $this->register_function('format_droits', [$this, 'formatDroits']); |
︙ | ︙ | |||
146 147 148 149 150 151 152 153 154 155 156 157 158 159 | if (!$params['if']) { return ''; } return '<p class="error">' . $this->escape($params['message']) . '</p>'; } protected function formField(array $params, $escape = true) { if (!isset($params['name'])) { throw new \BadFunctionCallException('name argument is mandatory'); } | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | if (!$params['if']) { return ''; } return '<p class="error">' . $this->escape($params['message']) . '</p>'; } protected function formInput(array $params) { static $keep_attributes = ['pattern', 'max', 'min', 'step', 'title', 'name', 'cols', 'rows']; extract($params); if (!isset($name, $type)) { throw new \InvalidArgumentException('Missing name or type'); } $current_value = null; if (isset($_POST[$name])) { $current_value = $_POST[$name]; } $required_label = array_key_exists('required', $params) ? ' <b title="Champ obligatoire">(obligatoire)</b>' : ''; $out .= sprintf('<dt><label for="f_%s">%s</label>%s</dt>', $name, $this->escape($label), $required_label); if (isset($help)) { $out .= sprintf('<dd class="help">%s</dd>', $this->escape($help)); } $attributes = array_intersect_key($params, $keep_attributes); $attributes['id'] = 'f_' . $name; if (array_key_exists('required', $params)) { $attributes['required'] = 'required'; } $out .= '<dd>'; if ($type == 'select') { $out .= sprintf('<select %s>', $attributes); foreach ($options as $_key => $_value) { $out .= sprintf('<option value="%s"%s>%s</option>', $_key, $current_value == $_key ? ' selected="selected"' : '', $this->escape($_value)); } $out .= '</select>'; } elseif ($type == 'textarea') { $out .= sprintf('<textarea %s>%s</textarea>', $attributes, $this->escape($value)); } else { $out .= sprintf('<input type="%s" %s value="%s" />', $type, $attributes, $this->escape($value)); } $out .= '</dd>'; return $out; } protected function formField(array $params, $escape = true) { if (!isset($params['name'])) { throw new \BadFunctionCallException('name argument is mandatory'); } |
︙ | ︙ |