forked from k0a1a/hotglue2
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodule_responsive.inc.php
More file actions
55 lines (43 loc) · 1.59 KB
/
module_responsive.inc.php
File metadata and controls
55 lines (43 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
/*
* module_responsive.inc.php
* Module for adding responsive modes
*
* Copyright Gottfried Haider, Danja Vasiliev 2010.
* This source code is licensed under the GNU General Public License.
* See the file COPYING for more details.
*/
@require_once('config.inc.php');
require_once('common.inc.php');
require_once('html.inc.php');
require_once('util.inc.php');
function responsive_render_page_early($args) {
if ($args['edit']) {
if (USE_MIN_FILES) {
html_add_js(base_url() . 'modules/responsive/responsive-edit.min.js');
} else {
html_add_js(base_url() . 'modules/responsive/responsive-edit.js');
}
html_add_css(base_url() . 'modules/responsive/responsive-edit.css');
}
html_add_css(base_url() . 'modules/responsive/responsive.css');
// set reponsive mode
load_modules('glue');
$obj = load_object(array('name' => $args['page'] . '.page'));
if (isset($obj['#data']['page-responsive-mode']) && $obj['#data']['page-responsive-mode'] != 'default') {
html_add_data('responsive-mode', $obj['#data']['page-responsive-mode']);
if (isset($obj['#data']['page-container-width'])) {
html_css('--container-width', $obj['#data']['page-container-width']);
}
$responsive_script = "
const addSize = () => document.documentElement.style.setProperty('--vw', window.outerWidth);
let cancel;
window.onresize = function(){
clearTimeout(cancel);
cancel = setTimeout(addSize, 100);
};
";
html_add_js_inline(preg_replace('/\s+/', ' ', $responsive_script), 0, "Responsive mode sizing");
html_add_body_inline("<script>addSize();</script>", 9, "Responsive mode sizing");
}
}