source: spip-zone/_plugins_/zotspip/trunk/zotspip_pipelines.php @ 92526

Last change on this file since 92526 was 92526, checked in by joseph@…, 5 years ago

Intervenir avant typo pour éviter un conflit avec le stylage des mots en majuscules de orthotypo

File size: 3.4 KB
Line 
1<?php
2
3// Sécurité
4if (!defined("_ECRIRE_INC_VERSION")) return;
5
6function zotspip_insert_head($flux){
7        $flux .= '<link rel="stylesheet" href="'.find_in_path('css/zotspip.css').'" type="text/css" />';
8        $flux .= '<link rel="unapi-server" type="application/xml" title="unAPI" href="'.url_absolue(generer_url_public('zotspip_unapi','source=zotspip')).'" />';
9        return $flux;
10}
11
12function zotspip_header_prive($flux){
13        $flux .= '<link rel="stylesheet" href="'.find_in_path('css/zotspip.css').'" type="text/css" />';
14        $flux .= '<link rel="unapi-server" type="application/xml" title="unAPI" href="'.url_absolue(generer_url_public('zotspip_unapi','source=zotspip')).'" />';
15        return $flux;
16}
17
18function zotspip_jqueryui_forcer($scripts){
19        $scripts[] = "jquery.ui.resizable";
20        $scripts[] = "jquery.ui.sortable";
21        return $scripts;
22}
23
24function zotspip_autoriser(){}
25
26function autoriser_zotspip_menu_dist($faire, $type, $id, $qui, $opt) {
27        return autoriser('webmestre');
28}
29
30function autoriser_zitems_menu_dist($faire, $type, $id, $qui, $opt) {
31        return true;
32}
33
34function autoriser_zotero_modifier_dist($faire, $type, $id, $qui, $opt) {
35        include_spip('inc/config');
36        $config = lire_config('zotspip/autoriser_modif_zotero');
37        if (!$config)
38                return false;
39        if ($config=='webmestre')
40                return autoriser('webmestre');
41        if ($config=='admin')
42                return $qui['statut'] == '0minirezo' AND !$qui['restreint'];
43        if ($config=='admin_restreint')
44                return $qui['statut'] == '0minirezo' AND !$qui['restreint'];
45        if ($config=='redacteur')
46                return $qui['statut'] == '0minirezo' OR $qui['statut'] == '1comite';
47        return false;
48}
49
50// Pour passer automatiquement les [ref=...] en notes de bas de page
51function zotspip_pre_typo($texte) {
52        $texte = preg_replace('#\[ref=(.*)\]#U','[[&#32;<ref|id=$1>]]',$texte);
53        return $texte;
54}
55
56// Insertion du raccourci [ref=XXX] dans le porte-plume
57function zotspip_porte_plume_barre_pre_charger($barres) {
58        $barre = &$barres['edition'];
59       
60        $barre->ajouterApres('notes', array(
61                "id"             => 'inserer_ref',
62                "name"           => _T('zotspip:outil_inserer_ref'),
63                "className"      => 'outil_inserer_ref',
64                "selectionType"  => '',
65                "closeWith"      => "[ref=[!["._T('zotspip:outil_explication_inserer_ref').' '._T('zotspip:outil_explication_inserer_ref_exemple')."]!]]",
66                "display"        => true
67         ));
68       
69        return $barres;
70}
71
72// Icone pour le porte-plume
73function zotspip_porte_plume_lien_classe_vers_icone($flux) {
74        $icones = array();
75        $icones['outil_inserer_ref'] = 'inserer_ref.png';
76        return array_merge($flux, $icones);
77}
78
79// Pipeline post-boucle, utilise pour le champs annee de zitems, cf. http://core.spip.org/issues/2912
80
81function zotspip_post_boucle ($boucle) {
82        if ($boucle->id_table == 'zitems') {
83                $boucle->where = replaceTree ('YEAR(zitems.date)','zitems.annee',$boucle->where);
84        }
85        return $boucle;
86}
87
88// Source: http://kvz.io/blog/2008/09/05/php-recursive-str-replace-replacetree/
89function replaceTree($search="", $replace="", $array=false, $keys_too=false)
90{
91    if (!is_array($array)) {
92        // Regular replace
93        return str_replace($search, $replace, $array);
94    }
95
96    $newArr = array();
97    foreach ($array as $k=>$v) {
98        // Replace keys as well?
99        $add_key = $k;
100        if ($keys_too) {
101            $add_key = str_replace($search, $replace, $k);
102        }
103
104        // Recurse
105        $newArr[$add_key] = replaceTree($search, $replace, $v, $keys_too);
106    }
107    return $newArr;
108}
109
110?>
Note: See TracBrowser for help on using the repository browser.