source: spip-zone/_plugins_/photoswipe/trunk/photoswipe_pipelines.php @ 98737

Last change on this file since 98737 was 98737, checked in by rastapopoulos@…, 3 years ago

Permettre de modifier le sélecteur des choses à chercher, mais sinon laisse le truc par défaut. Donc ne change rien par défaut. Cela dit ça n'a pas beaucoup d'intérêt vu toutes les restrictions qu'il y a ensuite dans l'initialisation… pourra peut-être servir plus tard si ça devient plus souple.

File size: 2.1 KB
Line 
1<?php
2
3function photoswipe_insert_head_css($flux) {
4
5        $flux .= "\n<link rel='stylesheet' type='text/css' media='all' href='".find_in_path("lib/photoswipe/photoswipe.css")."'>\n";
6        $flux .= "\n<link rel='stylesheet' type='text/css' media='all' href='".find_in_path("lib/photoswipe/default-skin/default-skin.css")."'>\n";
7
8        return $flux . "<style type='text/css'>
9        img[data-photo].photoshow { cursor: zoom-in; }
10        </style>
11        ";
12}
13
14function photoswipe_insert_head($flux) {
15        if ((include_spip('inc/config') or function_exists('lire_config')) and lire_config('photoswipe/selecteur')) {
16                $selecteur = addslashes(lire_config('photoswipe/selecteur'));
17        }
18        else {
19                $selecteur = 'img[data-photo], a[type]';
20        }
21       
22        $flux = photoswipe_insert_head_css($flux); // au cas ou il n'est pas implemente
23
24        $flux .='
25<script src="'.(find_in_path('lib/photoswipe/photoswipe.min.js')).'" type="text/javascript"></script>
26<script src="'.(find_in_path('lib/photoswipe/photoswipe-ui-default.min.js')).'" type="text/javascript"></script>
27<script src="'.(find_in_path('photoswipe_insert.js')).'" type="text/javascript"></script>
28<script type="text/javascript">
29// configuration
30photoswipe = {
31  path: "' . find_in_path('lib/photoswipe/'). '/",
32  selector: "' . $selecteur . '",
33  gallery: true, // galerie
34  debug: false, // debug
35};
36</script>
37';
38        return $flux;
39}
40
41function photoswipe_post_propre($texte) {
42        return filtre_photoswipe_preparer($texte);
43}
44
45function filtre_photoswipe_preparer($texte) {
46        foreach (extraire_balises($texte, 'img') as $img) {
47                if ($src = extraire_attribut($img, 'src')
48                AND !extraire_attribut($img, 'data-photo')
49                ) {
50                        $l = largeur($img);
51                        $h = hauteur($img);
52
53                        if ($l > 500 OR $h > 300) {
54
55        // pour echapper à la ligne de filtres_images_lib_mini qui remplace tout:
56        // `$tag = str_replace($src,$surcharge['src'],$tag);`
57
58                                $photo_src = str_replace('.', '__.__', $src);
59                                $img2 = inserer_attribut($img, 'data-photo', $photo_src);
60                                $img2 = inserer_attribut($img2, 'data-photo-w', $l);
61                                $img2 = inserer_attribut($img2, 'data-photo-h', $h);
62                                $texte = str_replace($img, $img2, $texte);
63                        }
64                }
65        }
66        return $texte;
67}
68
69?>
Note: See TracBrowser for help on using the repository browser.