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

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

ajoute la possibilite de declancher soit meme les remplacements des divs + regle probleme avec sites multilingues.

File size: 2.3 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
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
38function 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
56function 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 &eacute;t&eacute; enregistr&eacute;e. ');
83}
84
85?>
Note: See TracBrowser for help on using the repository browser.