Changeset 118189 in spip-zone for _plugins_/noizetier_layout/trunk/saisies/medias_selection.php
- Timestamp:
- Oct 17, 2019, 11:31:10 PM (15 months ago)
- Location:
- _plugins_/noizetier_layout/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/noizetier_layout/trunk
- Property subgit:lock:a9a242b1e7b5b7eb008acaa911e0ec9118c48857 deleted
-
Property
subgit:lock:225580721580a21740a8afb4161b391682a5bcd4
set to
2019-10-18T01:33:52.257
-
_plugins_/noizetier_layout/trunk/saisies/medias_selection.php
r118170 r118189 1 1 <?php 2 3 2 /** 4 3 * Fonctions spécifiques à une saisie 5 4 * 6 5 * @package SPIP\Saisies\checkbox 7 **/6 */ 8 7 9 8 … … 17 16 * Vérifie que la valeur postée 18 17 * correspond aux valeurs proposées lors de la config de valeur 19 * @param string $valeur la valeur postée18 * @param string|array $valeur la valeur postée 20 19 * @param array $description la description de la saisie 21 20 * @return bool true si valeur ok, false sinon, 22 21 */ 23 22 function medias_selection_valeurs_acceptables($valeur, $description) { 24 include_spip('saisies/selection'); 25 return selection_valeurs_acceptables($valeur, $description); 23 24 $acceptable = false; 25 $options = $description['options']; 26 27 // La valeur peut être un tableau avec les valeurs pour chaque média. 28 $valeurs = is_array($valeur) ? array_filter($valeur) : array($valeur); 29 30 foreach ($valeurs as $k => $valeur) { 31 if ($valeur == '' and !isset($options['obligatoire'])) { 32 $acceptable = true; 33 } 34 if (saisies_verifier_gel_saisie($description) and isset($options['defaut'])) { 35 $acceptable = ($valeur == $options['defaut']); 36 } else { 37 $data = saisies_trouver_data($description, true); 38 $data = saisies_aplatir_tableau($data); 39 $data = array_keys($data); 40 // Ajouter les variantes médias aux datas 41 if (!empty($description['options']['medias'])) { 42 include_spip('inc/noizetier_layout'); 43 $medias = array_filter(array_keys(noizetier_layout_decrire_grille('medias'))); 44 foreach ($data as $classe) { 45 foreach ($medias as $media) { 46 $data[] = noizetier_layout_creer_classe_media($classe, $media); 47 } 48 } 49 } 50 if (isset($options['disable_choix'])) { 51 $disable_choix = explode(',', $options['disable_choix']); 52 $data = array_diff($data, $disable_choix); 53 } 54 $acceptable = (in_array($valeur, $data)); 55 } 56 if (!$acceptable) { 57 break; 58 } 59 } 60 61 return $acceptable; 26 62 }
Note: See TracChangeset
for help on using the changeset viewer.