forked from BroadcastVision/webCG
-
Notifications
You must be signed in to change notification settings - Fork 0
/
preview.php
104 lines (91 loc) · 2.22 KB
/
preview.php
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<?php
// Get layer id.
include("logic/config.php");
if ( isset($_GET['id']) ){
// Sanitize input.
$id = sanitize($mysqli, $_GET['id']);
$result = $mysqli->query("
SELECT
name, css, html_php, js
FROM
layers
WHERE
id = '".$id."'
");
$count_layers = mysqli_num_rows($result);
if($count_layers == 0)
header("Location: ./");
$layer = $result->fetch_assoc(); // Get layer details.
}
else
header("Location: ./");
?>
<!DOCTYPE html>
<html>
<head>
<title>Preview: <?php echo $layer['name']; ?></title>
<meta charset="utf-8">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Expires" content="0"/>
<style>
* {
-webkit-box-sizing: border-box;
Box-Sizing:border-box;
-webkit-backface-visibility: hidden;
-webkit-transition: translate3d(0,0,0);
}
html, body {
width: <?php echo $width; ?>px;
height: <?php echo $height; ?>px;
margin: 0;
padding: 0;
background: <?php if(isset($_GET['mode'])) { echo "black"; } else { echo "transparent"; } ?>;
overflow: hidden;
-webkit-font-smoothing: antialiased !important;
}
<?php
// Load Layer CSS.
echo $layer['css'];
?>
</style>
</head>
<body>
<?php
// Load Layer HTML+PHP.
$html_php = $layer['html_php'];
// Allow PHP code execution.
eval("?> $html_php <?php ");
?>
<!-- JQquery -->
<script src="assets/jquery-2.1.4.min.js"></script>
<?php
// Load Dynamic Fields if they exist.
if(count(detect_f($mysqli, $id)) > 0){
$fnc_elements = null;
foreach ( detect_f($mysqli, $id) as $value ){
$fnc_elements .= $value.", ".$value."_value, ";
}
$fnc_elements = rtrim($fnc_elements,', ');
?>
<script>
// Update dynamic fields if a change is detected.
function DynamicFields(<?php echo $fnc_elements; ?>) {
<?php
foreach ( detect_f($mysqli, $id) as $value ){
?>
$('#<?php echo $value; ?>').html(unescape(<?php echo $value."_value"; ?>));
<?php
}
?>
}
</script>
<?php
}
?>
<?php
// Load Layer JavaScript.
echo $layer['js'];
?>
</body>
</html>