[SPIP] +spip v3.0.17
[lhc/web/clavette_www.git] / www / plugins-dist / mediabox / formulaires / configurer_mediabox.php
1 <?php
2 /*
3 * Plugin xxx
4 * (c) 2009 xxx
5 * Distribue sous licence GPL
6 *
7 */
8
9 if (!defined('_ECRIRE_INC_VERSION')) return;
10
11 include_spip('mediabox_pipelines');
12
13 function box_lister_skins(){
14 $skins = array('none'=>array('nom'=>_T('mediabox:label_aucun_style')));
15
16 $maxfiles = 1000;
17 $liste_fichiers = array();
18 $recurs = array();
19 foreach (creer_chemin() as $d) {
20 $f = $d."colorbox/";
21 if (@is_dir($f)){
22 $liste = preg_files($f,"colorbox[.]css$",$maxfiles-count($liste_fichiers),$recurs);
23 foreach($liste as $chemin){
24 $nom = substr(dirname($chemin),strlen($f));
25 // ne prendre que les fichiers pas deja trouves
26 // car find_in_path prend le premier qu'il trouve,
27 // les autres sont donc masques
28 if (!isset($liste_fichiers[$nom]))
29 $liste_fichiers[$nom] = $chemin;
30 }
31 }
32 }
33 foreach($liste_fichiers as $short=>$fullpath){
34 $skins[$short] = array('nom'=>basename($short));
35 if (file_exists($f = dirname($fullpath)."/vignette.jpg"))
36 $skins[$short]['img'] = $f;
37 }
38 return $skins;
39 }
40
41 function box_choisir_skin($skins,$selected,$name='skin'){
42 $out = "";
43 if (!is_array($skins) OR !count($skins))
44 return $out;
45 foreach($skins as $k=>$skin){
46 $id = "${name}_".preg_replace(",[^a-z0-9_],i", "_", $k);
47 $sel = ($selected=="$k" ?" checked='checked'":'');
48 $balise_img = chercher_filtre('balise_img');
49 $label = isset($skin['img'])?
50 '<a href="'.$skin['img'].'" class="mediabox" rel="habillage">'.$balise_img($skin['img'],$skin['nom'])."</a>"
51 :$skin['nom'];
52
53 $out .= "<div class='choix'>";
54 $out .= "<input type='radio' name='$name' id='$id' value='$k'$sel />";
55 $out .= "<label for='$id'>$label</label>";
56 $out .= "</div>\n";
57 }
58 return $out;
59 }
60
61
62 function formulaires_configurer_mediabox_charger_dist(){
63 $valeurs = mediabox_config(true);
64 $valeurs['_skins'] = box_lister_skins();
65
66 return $valeurs;
67 }
68
69 function formulaires_configurer_mediabox_traiter_dist(){
70 $config = mediabox_config(true);
71
72 include_spip('inc/meta');
73 if (_request('reinit')){
74 foreach ($config as $k=>$v){
75 set_request($k);
76 }
77 effacer_meta('mediabox');
78 }
79 else {
80 // cas particulier de la checkbox :
81 if (!_request('active'))
82 set_request('active','non');
83 foreach ($config as $k=>$v){
84 if (!is_null(_request($k)))
85 $config[$k] = _request($k);
86 }
87 ecrire_meta('mediabox',serialize($config));
88 }
89
90 return array('message_ok'=>_T('config_info_enregistree'),'editable'=>true);
91 }
92
93 ?>