source: spip-zone/_plugins_/multilang/trunk/javascript/multilang_crayons.php @ 118848

Last change on this file since 118848 was 118848, checked in by Charles Razack, 7 weeks ago

Rétablir le fonctionnement avec crayons v1 + ajouter compat avec crayons v2 qui utilise produire_fond_statique() pour charger son js. Du coup on fait une fonction mutualisée pour le js multilang/crayons, je la mets dans le dossier javascript/ pour avoir tout le js au même endroit. Pour le coup, pas de séparation html/php pour celui là, ça économise un récupérer_fond.

  • Property svn:eol-style set to native
File size: 1.8 KB
Line 
1<?php
2
3if (!defined('_ECRIRE_INC_VERSION')) {
4        return;
5}
6
7/**
8 * Renvoie le code javascript pour utiliser multilang avec les crayons
9 *
10 * Uniquement si plusieurs langues, espace public activé, ainsi que les crayons.
11 *
12 * @param Array $config
13 * @return void
14 */
15function multilang_javascript_crayons($config) {
16
17        $javascript = '';
18        $root = array();
19        $formulaires = is_array($config['formulaires']) ? array_filter($config['formulaires']) : array();
20        if (isset($formulaires['siteconfig']) && $formulaires['siteconfig']) {
21                $root[] = 'input[type=hidden][name*=name_][value|=meta-valeur]';
22        }
23        foreach ($formulaires as $formulaire) {
24                if ($formulaire == 'gis') {
25                        // Les points gis sont traités bizarrement dans les crayons qui enlèvent
26                        // purement et simplement leur 's'
27                        // TODO : c'est sans doute dû à objet_type, qu'il faudrait appliquer partout ici aussi
28                        $formulaire = 'gi';
29                }
30                $root[] = 'input[type=hidden][name*=name_][value|='.$formulaire.']:not(input[value|='.$formulaire.'-logo]):not(input[value|='.$formulaire.'-vignette]):not(input[value|='.$formulaire.'-fichier])';
31        }
32        $javascript = '
33                var crayons_multilang_init = function(){
34                        if(typeof(multilang_init_lang) == "function"){
35                                var crayons_root = ".formulaire_spip:has('.implode(',', $root).')",
36                                        fields_selector = "textarea,input:text:not(input.date,input.heure,*.nomulti)",
37                                        forms_selector = "form[class!=\'form_upload\'][class!=\'form_upload_icon\']",
38                                        root_opt = "form:has(.multilang)",
39                                        fields_selector_opt = ".multilang";
40                                multilang_init_lang({fields:fields_selector,fields_opt:fields_selector_opt,root:crayons_root,root_opt:root_opt,forms:forms_selector,init_done:false});
41                        }
42                }
43
44                cQuery(document).ready(function(){
45                        if(typeof onAjaxLoad == "function") onAjaxLoad(crayons_multilang_init);
46                        crayons_multilang_init();
47                });';
48
49        return $javascript;
50}
Note: See TracBrowser for help on using the repository browser.