source: spip-zone/_plugins_/panolens_pipelines.php @ 107249

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

Panolens le portage de la bibliothèque du même nom en un plugin SPIP permettant de naviguer dans l’espace (d’une image anamorphosée) grâce à sa souris sur un ordinateur et grâce au gyroscope de son téléphone s’il en est munit. D’autres options sont à venir

File size: 3.0 KB
Line 
1<?php
2/**
3 * Utilisations de pipelines par Panolens
4 *
5 * @plugin     Panolens
6 * @copyright  2017
7 * @author     Charles Stephan
8 * @licence    GNU/GPL
9 * @package    SPIP\Panolens\Pipelines
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) {
13        return;
14}
15
16function panolens_instantiation(){
17
18        $config = lire_config("panolens");
19
20        $js = 'var panolens_options = {};';
21
22        $controlButtons = "'".implode("','",$config["controlButtons"])."'";
23
24        if (empty($config["controlBar"]))
25                $js .= 'panolens_options.controlBar = false;';
26
27        if (!empty($controlButtons))
28                $js .= 'panolens_options.controlButtons = ['.$controlButtons.'];';
29
30        if (!empty($config["autoHideControlBar"]))
31                $js .= 'panolens_options.autoHideControlBar = true;';
32
33        if (!empty($config["autoHideInfospot"]))
34                $js .= 'panolens_options.autoHideInfospot = true;';
35
36        if (!empty($config["cameraFov"]))
37                $js .= 'panolens_options.cameraFov = '.$config["cameraFov"].';';
38
39        if (!empty($config["reverseDragging"]))
40                $js .= 'panolens_options.reverseDragging = true;';
41
42        if (!empty($config["enableReticle"]))
43                $js .= 'panolens_options.enableReticle = true;';
44
45        if (!empty($config["dwellTime"]))
46                $js .= 'panolens_options.dwellTime = '.$config["dwellTime"].';';
47
48        if (!empty($config["autoReticleSelect"]))
49                $js .= 'panolens_options.autoReticleSelect = true;';
50
51        if (!empty($config["viewIndicator"]))
52                $js .= 'panolens_options.viewIndicator = true;';
53
54        if (!empty($config["indicatorSize"]))
55                $js .= 'panolens_options.indicatorSize = '.$config["indicatorSize"].';';
56
57        $js .= 'panolens_options.output = '.$config["output"].';';
58
59        $js .=  '$(document).ready(function(){';
60        $js .=  '$(".panorama-panolens").each(function(index,el){';
61        $js .=  '       panolens_options.container=el;console.log(panolens_options);';
62        $js .=  ' var image = $(el).data("src"), panorama = new PANOLENS.ImagePanorama(image), viewer = new PANOLENS.Viewer(panolens_options);';
63        $js .=  ' viewer.add(panorama);';
64        $js .=  '})';
65        $js .=  '})';
66
67        return $js;
68
69}
70
71
72function panolens_insert_head($flux) {
73
74        $panolens = find_in_path('lib/Panolens/build/panolens.min.js');
75        $three = find_in_path('lib/three.min.js');
76        $flux .='<script src="'.$three.'"       type="text/javascript"></script>';
77        $flux .='<script src="'.$panolens.'"    type="text/javascript"></script>';
78
79        $flux .='<script type="text/javascript">'.panolens_instantiation().'</script>';
80
81        return $flux;
82
83}
84
85function panolens_insert_head_css($flux) {
86
87        $panolens_spip_css = find_in_path('panolens_spip.css');
88        $flux .='<link rel="stylesheet" type="text/css" href="'.$panolens_spip_css.'">';
89
90        return $flux;
91}
92
93function panolens_header_prive($flux) {
94
95        $panolens = find_in_path('lib/Panolens/build/panolens.min.js');
96        $three = find_in_path('lib/three.min.js');
97        $flux .='<script src="'.$three.'"       type="text/javascript"></script>';
98        $flux .='<script src="'.$panolens.'"    type="text/javascript"></script>';
99
100        $flux .='<script type="text/javascript">'.panolens_instantiation().'</script>';
101
102        $panolens_spip_css = find_in_path('panolens_spip.css');
103        $flux .='<link rel="stylesheet" type="text/css" href="'.$panolens_spip_css.'">';
104
105        return $flux;
106}
Note: See TracBrowser for help on using the repository browser.