Changeset 41076 in spip-zone for _plugins_/inclure-ajaxload


Ignore:
Timestamp:
Sep 24, 2010, 9:23:26 AM (9 years ago)
Author:
arno@…
Message:

Modernisation du plugin (ne fonctionnait pas chez moi).

Location:
_plugins_/inclure-ajaxload
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/inclure-ajaxload/inclure-ajaxload.php

    r33773 r41076  
    1919        $args = func_get_args();
    2020
     21        $args[1]["fond"] = $args[0];
     22
    2123        if (_request('var_no_ajax')
    2224        OR _request('var_mode') == 'inclure')
     
    2527        $cle = md5(serialize($args));
    2628        $ajax = entites_html(encoder_contexte_ajax($args[1]));
     29
    2730        $alt = entites_html(sinon($args[1]['ajaxloadalt'],$args[1]['fond']));
    2831        $message = $args[1]['ajaxload'];
     
    3437
    3538        return
    36         "<div class='includeajax'>
    37         <a href='$url' rel=\"$ajax\">$searching</a>
    38         $message
    39         </div>
    40 ";
     39                "<div class='includeajax'><a href=\"$url\" rel=\"$ajax\">$searching</a></div>";
     40}
     41
     42function remettre_fond_ajax($matches) {
     43        $url = $matches[2];
     44        $c = $matches[3];
     45        $c = decoder_contexte_ajax($c);
     46        $page = evaluer_fond($c["fond"], $c);
     47       
     48        return $page["texte"];
    4149}
    4250
    4351function INCLUREAJAXLOAD_affichage_final($page) {
    44         if ($GLOBALS['html']
    45         AND strpos($page, "class='includeajax'")
    46         AND $a = strpos($page, "</head>")) {
    47                 $script = "
    48 <script type='text/javascript'>
    49         $(function() {
    50                 $('.includeajax').each(function() {
    51                         var me = $(this);
    52                         var env = $('a', this).attr('rel');
    53                         if (env) {
    54                                 $('a', this).attr('href','#');
    55                                 $.post(
    56                                         window.location.href,
    57                                         { var_ajax: 'recuperer', var_ajax_env: env },
    58                                         function(c) { me.html(c); }
    59                                 );
    60                         }
    61                 });
    62         });
    63 </script>
    64 ";
    65                 $page = substr_replace($page, $script, $a, 0);
     52
     53        // Si le visiteur est un robot de moteur de recherche,
     54        // reconstituer les pages completes
     55        if(_IS_BOT) {
     56                include_spip("inc/filtres");
     57                include_spip("public/assembler");
     58                $page = preg_replace_callback(",(<div class='includeajax'><a href=\"(.*)\" rel=\"(.*)\">.*</a></div>),msU", "remettre_fond_ajax", $page);
    6659        }
     60
    6761        return $page;
    6862}
    6963
     64function INCLUREAJAXLOAD_insert_head($flux) {
     65        $flux .= "\n<script src=\"".find_in_path('javascript/inclure-ajaxload.js')."\" type=\"text/javascript\"></script>";
     66
     67        return $flux;
     68}
     69
     70
     71
    7072?>
  • _plugins_/inclure-ajaxload/plugin.xml

    r33087 r41076  
    55        </auteur>
    66        <version>
    7         0.1
     7        0.2
    88        </version>
    99        <etat>
    10         experimental
     10        test
    1111        </etat>
    1212        <description>
     
    2222                <nom>affichage_final</nom>
    2323        </pipeline>
     24        <pipeline>
     25                <nom>insert_head</nom>
     26        </pipeline>
    2427        <chemin dir='' />
    2528        <necessite id="SPIP" version="[2.0.0;]" />
Note: See TracChangeset for help on using the changeset viewer.