1 | <?php |
---|
2 | |
---|
3 | function formulaires_ajax_nav_config_charger_dist() { |
---|
4 | |
---|
5 | $res = sql_select('valeur', 'spip_meta', 'nom="ajax_nav_config"'); |
---|
6 | if (sql_count($res) == 1) { |
---|
7 | $options = sql_fetch($res); |
---|
8 | $options = unserialize($options['valeur']); |
---|
9 | |
---|
10 | /* evite les problemes lors de mises a jour du plugin */ |
---|
11 | if ( ! $options['autoReplaceDivs'] ) { |
---|
12 | $options['autoReplaceDivs'] = 'on'; |
---|
13 | } |
---|
14 | |
---|
15 | return $options; |
---|
16 | } |
---|
17 | |
---|
18 | // Valeurs par defaut : |
---|
19 | $options = array( |
---|
20 | /* les types de page qui seront chargees en ajax. */ |
---|
21 | "pagesToAjaxify" => "sommaire article rubrique", |
---|
22 | /* les id des div a charger en ajax. */ |
---|
23 | "ajaxDivs" => "contenu spip-admin", |
---|
24 | /* les id des div a recharger en cas de changement de langue. */ |
---|
25 | "localizedDivs" => "navigation", |
---|
26 | /* Active les urls hashbang pour les navigateurs html4 */ |
---|
27 | "html4Fallback" => "", |
---|
28 | /* Utilise la lib modernizr fournie avec le plug */ |
---|
29 | "useModernLib" => "on", |
---|
30 | /* Utilise la lib history.js fournie avec le plug */ |
---|
31 | "useHistoryLib" => "on", |
---|
32 | /* Remplace les divs automatiquement */ |
---|
33 | "autoReplaceDivs" => "on", |
---|
34 | ); |
---|
35 | return $options; |
---|
36 | } |
---|
37 | |
---|
38 | function formulaires_ajax_nav_config_verifier_dist() { |
---|
39 | |
---|
40 | $erreurs = array(); |
---|
41 | |
---|
42 | foreach(array('pagesToAjaxify', 'ajaxDivs', 'localizedDivs') as $i => $key) { |
---|
43 | if (filter_var(_request($key), FILTER_VALIDATE_REGEXP, |
---|
44 | array( |
---|
45 | 'options' => array( |
---|
46 | 'regexp' => "/^([a-zA-Z0-9\-\_]*[\s\t]*)*$/") |
---|
47 | ) |
---|
48 | ) === FALSE) { |
---|
49 | $erreurs[$key] = "saisie non-valide."; |
---|
50 | } |
---|
51 | } |
---|
52 | |
---|
53 | return $erreurs; |
---|
54 | } |
---|
55 | |
---|
56 | function formulaires_ajax_nav_config_traiter_dist() { |
---|
57 | |
---|
58 | $options = |
---|
59 | array( |
---|
60 | 'pagesToAjaxify' => _request('pagesToAjaxify'), |
---|
61 | 'ajaxDivs' => _request('ajaxDivs'), |
---|
62 | 'localizedDivs' => _request('localizedDivs'), |
---|
63 | 'html4Fallback' => _request('html4Fallback'), |
---|
64 | 'useModernLib' => _request('useModernLib'), |
---|
65 | 'useHistoryLib' => _request('useHistoryLib'), |
---|
66 | 'autoReplaceDivs' => _request('autoReplaceDivs'), |
---|
67 | ); |
---|
68 | |
---|
69 | $options = array( |
---|
70 | 'nom' => 'ajax_nav_config', |
---|
71 | 'valeur' => serialize($options), |
---|
72 | ); |
---|
73 | |
---|
74 | $result = sql_count(sql_select('*', 'spip_meta', 'nom="ajax_nav_config"')); |
---|
75 | |
---|
76 | if ($result != 0) { |
---|
77 | sql_updateq('spip_meta', $options, 'nom = "ajax_nav_config"'); |
---|
78 | } else { |
---|
79 | sql_insertq('spip_meta', $options); |
---|
80 | } |
---|
81 | |
---|
82 | return array('message_ok'=>'La configuration a été enregistrée. '); |
---|
83 | } |
---|
84 | |
---|
85 | ?> |
---|