source: spip-zone/_plugins_/ajax_nav/formulaires/ajax_nav_config.php @ 58261

Last change on this file since 58261 was 58261, checked in by bystrano@…, 9 years ago

v0.9.0 - gere tous les types d'urls, et utilise le mecanisme de cache de spip

File size: 2.1 KB
Line 
1<?php
2
3function 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    return $options;
10  }
11
12  // Valeurs par defaut :
13  $options = array(
14                   /* les types de page qui seront chargees en ajax. */
15                   "pagesToAjaxify"     => "sommaire article rubrique",
16                   /* les id des div a charger en ajax. */
17                   "ajaxDivs"           => "contenu spip-admin",
18                   /* les id des div a recharger en cas de changement de langue. */
19                   "localizedDivs"      => "navigation",
20                   /* Active les urls hashbang pour les navigateurs html4 */
21                   "html4Fallback"      => "",
22                   /* Utilise la lib modernizr fournie avec le plug */
23                   "useModernLib"       => "on",
24                   /* Utilise la lib history.js fournie avec le plug */
25                   "useHistoryLib"      => "on",                   
26                   );
27  return $options;
28}
29
30function formulaires_ajax_nav_config_verifier_dist() {
31
32  $erreurs = array();
33
34  foreach(array('pagesToAjaxify', 'ajaxDivs', 'localizedDivs') as $i => $key) {
35    if (filter_var(_request($key), FILTER_VALIDATE_REGEXP,
36                   array(
37                         'options' => array(
38                                            'regexp' => "/^([a-zA-Z0-9\-\_]*[\s\t]*)*$/")
39                         )
40                   ) === FALSE) {
41      $erreurs[$key] = "saisie non-valide.";
42    }
43  }
44
45  return $erreurs;
46}
47
48function formulaires_ajax_nav_config_traiter_dist() {
49
50  $options =
51    array(
52          'pagesToAjaxify'      => _request('pagesToAjaxify'),
53          'ajaxDivs'            => _request('ajaxDivs'),
54          'localizedDivs'       => _request('localizedDivs'),
55          'html4Fallback'       => _request('html4Fallback'),
56          'useModernLib'        => _request('useModernLib'),
57          'useHistoryLib'       => _request('useHistoryLib'),
58          );
59
60  $options = array(
61                   'nom' => 'ajax_nav_config',
62                   'valeur' => serialize($options),
63                   );
64
65  $result = sql_count(sql_select('*', 'spip_meta', 'nom="ajax_nav_config"'));
66
67  if ($result != 0) {
68    sql_updateq('spip_meta', $options, 'nom = "ajax_nav_config"');
69  } else {
70    sql_insertq('spip_meta', $options);
71  }
72
73  return array('message_ok'=>'La configuration a &eacute;t&eacute; enregistr&eacute;e. ');
74}
75
76?>
Note: See TracBrowser for help on using the repository browser.