source: spip-zone/_plugins_/ajax_nav/ajax_nav_insert_head.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.0 KB
Line 
1<?php
2function ajax_nav_insert_head($flux) {
3
4  $res = sql_select('valeur', 'spip_meta', 'nom="ajax_nav_config"');
5  $options = array();
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
16  function prepare($option) {
17    $option = preg_replace("/[^a-zA-Z0-9\-\_]+/", "', ", $option);
18    $option = preg_replace("/([a-zA-Z0-9\-\_]+)/", "'$1", $option);
19    $option = preg_replace("/([^'])$/", "$1'", $option);
20    return $option;
21  }
22
23  $ajaxNavFile = ($options['html4Fallback'] == 'on') ?
24    find_in_path('ajax_nav.js') : '';
25
26  $historyLibFile = ($options['html4Fallback'] == 'on') ?
27    find_in_path('lib/balupton-history.js/scripts/bundled/html4+html5/jquery.history.js') : '';
28
29  if ($options['useModernLib'] == "on") {
30    $flux .= "<script type='text/javascript' src='" . find_in_path("lib/modernizr.js") . "'></script>";
31  }
32
33  $auto_replace_divs = ($options["autoReplaceDivs"] == "on") ? 'true' : 'false';
34
35  $flux .= "<script type='text/javascript'>
36Modernizr.load([";
37
38  if ($options['useHistoryLib'] == "on") {
39    $flux .= "    {
40        test : Modernizr.history,
41        yep : ['" . find_in_path("lib/balupton-history.js/scripts/bundled/html5/jquery.history.js") . "'],
42        nope : ['" . $historyLibFile . "']
43    },";
44  }
45
46  $flux .= "
47    {
48        test : Modernizr.history,
49        yep : ['" . find_in_path("ajax_nav.js") . "'],
50        nope: ['" . $ajaxNavFile . "'],
51        complete : function () {
52            if (typeof AjaxNav !== 'undefined') {
53                AjaxNav.options = {
54                    pagesToAjaxify: ["  . prepare($options["pagesToAjaxify"]) . "],
55                    ajaxDivs: ["        . prepare($options["ajaxDivs"]) . "],
56                    localizedDivs: ["   . prepare($options["localizedDivs"]) . "],
57                    autoReplaceDivs: "  . $auto_replace_divs . "
58                };
59                AjaxNav();
60            }
61        }
62    }
63]);
64</script>
65";
66
67  return $flux;
68}
69?>
Note: See TracBrowser for help on using the repository browser.